一、网络层的功能
互联网在网络层设计思路:向上只提供简单灵活、无连接、尽最大努力交付的数据报服务。
网络层要完成的任务之一就是使各种异构的网络实现互联,通过一些方法,使用一些中间设备(路由器)相互连接起来。
路由器主要完成两个功能:路由选择和分组转发。而转发和路由选择则是网络层的主要任务。
此外还有拥塞控制功能,防止因出现过量的分组而引起网络性能下降的现象。
二、路由算法
路由算法分静态路由算法(网络管理员手工配置路由信息,非自适应路由算法)和动态路由算法(路由器上的路由表项由相互连接的路由器之间彼此交换信息,由一定算法优化出来的,自适应路由算法)。
距离-向量路由算法
所有结点定期将自己的整个路由选择表传送给所有与之直接相邻的结点,这种路由选择表包含:每条路径的目的地(另一结点)和路径的代价(也称距离,这个距离只是一个抽象概念,也可以具体为跳数等)
如下情况更新自己的路由选择表:
1)被通告一条新的路由,该路由在本结点路由表中不存在,此时本地本地系统加入这条新的路由
2)发来的信息中有一条到达某个目的地的路由,该路由与当前使用的路由比,有更小的代价,则替换。
RIP协议就是使用这种算法的。
链路状态路由算法
该算法要求每个参与该算法的结点都具有完全的网络拓扑信息,这些结点主要执行两项任务:
1)主动测试所有邻接结点的状态。两个共享一条链路的结点是相邻结点,它们连接到同一条链路,或者连接到同意广播型物理网络。
2)定期将链路状态传播给其他所有结点。
在一个链路状态路由选择中,一个结点检查所有直接链路状态,并将所所得状态信息发送给网上的所有其他结点。每个结点都用这种方法从网上所有其他结点接收包含直接链路状态的路由选择信息。每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网络拓扑和状态“视野图”,一旦链路状态变化,就用Dijkstra最短路径算法重新计算路由。
OSPF协议使用的就是这种算法。
网络规模太大时,路由表记录所有路由信息是不切实际的,故须分层。因特网将整个互联网划分为许多小的自治系统(包含很多局域网),每个局域网有权自己决定本系统内应采用何种路由选择协议。如果两个自治系统需要通信,就需要一种在两个自治系统之间的协议来屏蔽这些差异,所以因特网把路由选择协议分为两大类:
1)内部网关协议(IGP):自治系统内使用的路由选择协议,如RIP、OSPF.
2)外部网关协议(EGP):不同自治系统间的路由选择协议,如BGP.
三、IPv4
IPv4即现在普遍使用的IP协议(版本4)。IP协议定义数据传送的基本单元——IP分组及其确切的数据格式。IP协议也包含一套规则,指明分组如何处理、错误怎样控制。
特殊IP地址,不用做主机的IP地址:
1)主机号全为0表示本网络本身
2)主机号全为1表示本网络的广播地址
3)127.x.x.x保留为环回自检地址,表示任意主机本身,不会出现在任何网络上
4)32位全为0,即0.0.0.0表示本网络本主机
5)32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址,实际使用时,由于路由器对广播域的隔离,等效于本网络的广播地址。
6)网络号全0的地址为保留地址
IP数据报分片
链路层数据报能承载的最大数据量称最大传送单元(MTU),因为IP数据报封装在帧内,所以过长的IP数据报需要分片后封装。
网络地址转换(NAT,工作在传输层)
是指通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。NAT
子网划分和子网掩码、CIDR
网络层转发分组的过程(转发表的每条路由必须有目的网络和下一跳地址)
1)从收到的IP分组的首部提取目的主机的IP地址D(目的地址)
2)若查找到特定主机路由(目的地址为D),就按照这个路由的下一跳转发分组;否则从转发表中的下一条开始检查,执行步骤3
3)将这一行的子网掩码与目的地址D进行按位与运算。若运算结果与本行的前缀匹配,则查找结束,按照下一跳地址进行处理。否则,若转发表有下一行,继续步骤3。否则,执行步骤4
4)若转发表有一个默认路由,则把分组传送给默认路由;否则,报告转发分组报错。
PS:得到下一条路由器的IP地址后通过ARP协议将该IP地址转换成MAC地址,将其放到MAC首部中,然后根据这个MAC地址来找到下一跳路由器。在不同网络中传送时,IP分组中的源IP地址和目的IP地址均不发生变化,MAC帧首部的源地址和目的地址要发生变化,但网桥在转发帧时,不改变帧的源地址。
ARP、DHCP、ICMP
不管网络层用什么协议,到了链路上传送数据帧的时候,都是用硬件地址(MAC地址),所以就需要地址解析协议(网络层)ARP协议完成IP地址到MAC地址的映射。
DHCP协议基于UDP的一种应用层协议,常用于给主机动态分配IP地址。
使用ICMP协议让主机或者路由器报告差错和异常情况,提高IP数据报交付成功的机会。
四、IPv6
解决“IP地址耗尽”问题的措施有一下三种:采用无类别编址CIDR;采用网路地址转换(NAT);采用更大地址空间的新版本的IPv6。只有IPv6能从根本上解决IP地址耗尽问题。
IPv6主要特点:
1)更大的地址空间。IPv6将地址从IPv4的32位增大到了128位。
2)扩展的地址层次结构
3)灵活的首部格式
4)改进的选项
5)允许协议继续扩充
6)支持即插即用
7)支持资源的预分配
8)IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不能分片。
9)IPv6首部长度必须是8B的整数倍。
10)增大了安全性。
五、路由协议
协议 | RIP | OSPF | BGP |
类型 | 内部 | 内部 | 外部 |
路由算法 | 距离-向量 | 链路状态 | 距离-向量 |
传递协议 | UDP | IP | TCP |
路径选择 | 跳数最少 | 代价最低 | 较好,不一定是最佳 |
交换结点 | 和本结点相邻的路由器 | 网络中的所有路由器 | 和本结点相邻的路由器 |
交换内容 | 自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次:整个路由表 非首次:有变化的部分 |
六、IP组播
IP组播概念、IP组播地址和以太网组播地址的映射、IGMP和组播路由算法
七、移动IP
移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变。使用移动IP,一个移动结点可以在不改变其IP地址的情况下改变其驻留位置。
基于IPv4的移动IP定义三种功能实体:移动结点、归属代理(也称本地代理)、外埠代理(也称外部代理)。归属代理和外埠代理统称移动代理。
1)移动结点:具有永久IP地址的移动结点。
2)本地代理:在一个网络环境中,一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体称为归属代理,它根据移动用户的转交地址,采用隧道技术转交移动结点的数据包。
3)外部代理。在外部网络中帮助移动结点完成移动管理功能的实体称为外部代理。
八、网络层设备
冲突域和广播域
冲突域指连接到同一物理介质上的所有结点集合,这些结点之间存在介质争用的现象
广播域是指接收同样广播信息的结点集合。
设备名称 | 能否隔离冲突域 | 能否隔离广播域 |
集线器 | 否 | 否 |
中继器 | 否 | 否 |
交换机 | 能 | 否 |
网桥 | 能 | 否 |
路由器 | 能 | 能 |
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同网络(异构网络)并完成路由转发。路由表由路由选择和分组转发两部分构成。
路由选择部分也称为控制部分,其核心构件是路由选择处理机,任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断更新和维护路由表。
分组转发部分由三部分组成:交换结构、一组输入端口和一组输出端口。输入端口在从物理层收到的比特流中提取出数据链路层帧,进而从帧中提取出网络层数据报,输出端口则是相反操作。交换结构会根据转发表让分组从合适的输出端口转发出去。
路由表是根据路由选择算法得出的,主要用途是路由选择,一般包含:目的网络IP地址、子网掩码、下一跳IP地址、接口。
转发表由路由表得出,其表项和路由表有着直接的对应关系,其结构应使查找过程最优化。