导图社区 《计网》第四章-网络层
这是一篇关于《计网》第四章-网络层的思维导图,主要内容有网路层的功能、路由算法、lPv4lPv6、网络层设备等。
编辑于2022-08-28 10:15:31 上海网络层

网路层的功能
目的
向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务(不可靠服务)
 
链路层已实现差错检测,故网络层不再检错
异构网络互联
网络互联
定义
将两个以上的计算机网络,通过一定的方法和中间设备(中继系统)相互连接起来,以构成更大的网络系统
中继系统
1)物理层中继系统:转发器,集线器。
2)数据链路层中继系统:网桥或交换机。
只是将一个网络扩大
3)网络层中继系统:路由器。
4)网络层以上的中继系统:网关。
虚拟互联网络(逻辑互联网络/IP网络)
互联起来的各种物理网络的异构性是客观存在的,但通过IP协议使其在网络层上看起来像是统一的网络;当互联网上的主机进行通信时,就像在单个网络上通信一样,忽略了各网络的具体异构细节(如具体的编址方案、路由选择协议等)
异构
计网的每一层协议都向上层次隐藏下层的具体实现。故路由器向传输层及以上层隐藏物理层、数据链路层和网络层协议,在路由器互联的多个局域网中,这三层协议可以不同,但高层协议必须相同。
网络的异构性是指传输介质、数据编码方式、链路控制协议及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层协议中定义
路由与转发
路由选择(控制层面)
指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由
直接交付
发送站与目的站处于同一网段,报文不经过路由器
判断一个IP分组的交付方式是直接还是间接交付,路由器需根据分组的目的IP地址和该路由器接收端口的IP地址是否属于同一个子网来进行判断。具体来说,将该分组的源IP地址和目的IP地址分别与子网掩码进行“与”操作,若得到的子网地址相同,那么该分组就采用直接交付方式,否则采用间接交付方式。
间接交付
发送站与目的站不在同一网段
间接交付的最后一个路由器肯定是直接交付
分组转发(数据层面)
指路由器根据转发表将用户的IP数据报从合适的端口转发出去
SDN的基本概念
定义
软件定义网络(SDN)是一种创新网络架构,采用集中式的控制层面和分布式的数据层面,将分布式的互联网转为集中控制
控制层面利用远程控制器对数据层面上的路由器进行集中式控制(路由器间不再交换路由信息,仅保留控制层面),通过Overflow协议将转发表(流表)下发给路由器
优点
①全局集中式控制和分布式高速转发,既利于控制层面的全局优化,又利于高性能的网络转发。
②灵活可编程与性能的平衡,控制和转发功能分离后,使得网络可以由专有的自动化工具以编程方式配置。
③降低成本,控制和数据层面分离后,尤其是在使用开放的接口协议后,就实现了网络设备的制造与功能软件的开发相分离,从而有效降低了成本。
缺点
①安全风险,集中管理容易受攻击,如果崩溃,整个网络会受到影响
②瓶颈问题,原本分布式的控制层面集中化后,随着网络规模扩大,控制器可能成为网络性能的瓶颈。
拥塞控制
拥塞
定义
在通信子网中,因出现过量的分组而引起网络性能下降的现象
判断方法
观察网络的吞吐量与网络负载的关系
1)如果随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,那么网络就可能已进入“轻度拥塞”状态
2)如果网络的吞吐量随着网络负载的增大而下降,那么网络就可能已进入拥塞状态
3)如果网络的负载继续增大,而网络的吞吐量下降到零,那么网络就可能已进入死锁状态
拥塞控制
流量控制和拥塞控制的区别: 流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。 拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。
功能
获取网络中发生拥塞的信息,从而利用信息进行控制,以避免由于拥塞而出现分组的丢失,以及严重拥塞而产生网络死锁的现象
方法
开环控制
静态预防,在设计网络时预先设置,系统启动后不再修改
手段包括确定何时可接收新流量、何时可丢弃分组及哪些分组、确定何种调度策略;这些手段都不需考虑当前网络状态
闭环控制
基于反馈环路的概念,采用监测网络系统去动态检测拥塞情况
路由算法
静态路由与动态路由
静态路由算法(非自适应路由算法)
由网络管理员手动配置路由信息,不能及时适应网络状态的变化,适用于简单的小型网络
特点
简便、开销小,在拓扑变化不大的小网络中运行效果很好
动态路由算法(自适应路由算法)
路由器上的路由表项是通过相互连接的路由器之间彼此之间交换信息,按照一定的算法优化出来的
特点
能改善网络性能并有助于流量控制;但算法复杂,会增加网络负担;对动态变化的反应太快会引起振荡,反应太慢会影响网络路由的一致性
距离-向量路由算法
路由选择表
每条路径的目的地(另一结点)
路径的代价(也称距离)
此处的距离是一种抽象概念,如RIP算法就将距离定义为“跳数”,指从源端口到达目的端口所经过的路由器个数。
工作原理
所有结点定期将其路由选择表传送给所有相邻结点
所有结点都监听其他结点传来的路由选择更新信息,并在如下情况中更新其路由选择表
1)被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由。
2)发来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离(较小的代价)。此种情况下,就用经过发送路由信息的结点的新路由替换路由表中到达那个目的地的现有路由。
路由回路
在距离-向量路由协议中,“好消息传得快,而坏消息传得慢”,这就导致了当路径信息发生发化时,该变化未能及时地被所有路由器知道,而仍然可能在路由器之间进行传递,这就是“慢收敛”现象。慢收敛是导致发生路由回路的根本原因。
链路状态路由算法
工作原理
1)每个结点都具有完整的网络拓扑信息,并定期检测相邻链路的结点状态
2)当链路状态变化时,向相邻结点发生信息,相邻路由器再将此信息转发出去,直至系统中所有路由器收到信息(洪泛法)
发送的信息是与路由器相邻的所有路由器的链路状态,即本路由器与哪些路由器相邻及链路的“度量”
3)接收到链路状态报文的路由结点使用Dijkstra最短路径算法计算并更新路由
优点

1)每个路由结点使用同样的原始数据独立计算路径,不依赖中间结点的计算
2)链路状态报文不加改变地传播,易于查找故障
3)链路状态报文仅携带来自单个结点关于直接链路的信息,其大小与网路中的路由结点数无关,故比其距离-向量算法有更好的规模可伸展性
层次路由
内部网关协议(IGP):一个自治系统内部所使用的路由选择协议,也称为域内路由选择,具体协议有RIP、OSPF等
外部网关协议(EGP):自治系统之间所使用的路由选择协议,也称为域间路由选择,用在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优的路径,具体协议有BGP
使用层次路由时,OSPF将一个自治系统再划分为若干区域(Area),每个路由器都知道在本区域内如何把分组路由到目的地的细节,但不用知道其他区域的内部结构。
采用分层次划分区域的方法虽然会使交换信息的种类增多,也会使OSPF协议更加复杂。但这样做却能使每个区域内部交换路由信息的通信量大大减小,因而使OSPF协议能够用于规模很大的自治系统中。
IPv4
IPv4分组
IPv4分组的格式
首部(前20B固定,后面可变)

1)版本:指IP协议的版本(目前最广泛的是4)
2)首部长度:占4位,单位为32位(4B),可以表示的最大十进制数为15,最大值为60B(15×4B),最常用的首部长度是20B(无任何可选字段)
3)总长度:占16位。指首部和数据之和的长度,单位为字节,因此数据报的最大长度为2^16-1= 65535B。以太网帧的最大传送单元(MTU)为1500B,因此当一个P数据报封装成帧时,数据报的总长度(首部加数据)一定不能超过下面的数据链路层的MTU值。
4)标识:占16位。它是一个计数器,每产生一个数据报就加1,并赋值给标识字段。但它并不是“序号”(因为IP是无连接服务)。当一个数据报的长度超过网络的MTU时,必须分片,此时每个数据报片都复制一次标识号,以便能正确重装成原来的数据报。
5)标志:占3位。标志字段的最低位为MF,MF= 1表示后面还有分片,MF=0表示最后一个分片。标志字段中间的一位是DF,只有当DF=0时才允许分片。
6)片偏移:占13位。它指出较长的分组在分片后,某片在原分组中的相对位置。片偏移以8B为偏移单位。除最后一个分片外,每个分片的长度一定是8B的整数倍。
 
7)生存时间(TTL):占8位。数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。路由器在转发分组前,先把TTL减1,若TTL被减为0,则该分组必须丢弃。
8)协议:占8位。指出此分组携带的数据使用何种协议,即分组的数据部分应上交给哪个协议进行处理,如TCP、UDP等。其中值为6表示TCP,值为17表示UDP。
9)首部校验和:占16位。首部校验和只校验分组的首部,而不校验数据部分。
10)源地址字段:占4B,标识发送方的IP地址。
11)目的地址字段:占4B,标识接收方的P地址。
数据部分
IP数据报分片
分片
当IP数据报的总长度大于链路MTU时,就需要将IP数据报中的数据分装在多个较小的IP数据报(片)中。
由于每个网络的MUT不同,除源结点之外,传输过程中的中间结点也可能发生分片
重组
片在目的地网络层被重新组装。目的主机使用IP首部中的标识、标志和片偏移字段来完成对片的重组
标识:同一数据报的分片有相同的标识
标志:DF=0代表允许分片,MF=1代表还有后续分片
片偏移地址:计算片应放在原始数据报的哪个位置
IPv4地址与NAT
IPv4地址
定义
连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符,及IP地址,它由互联网名字和数字地址分配机构ICANN分配
组成
网络号:标识主机所连接到的网络,网络号在整个因特网范围内唯一
主机号:标志该主机,在网络号指明的网络范围内唯一
分类
A类地址可用的网络数为2^7-2,减2的原因是: 网络号字段全为0的IP地址是保留地址,意思是“本网络”。 网络号为127的IP地址是环回自检地址。
特殊IP(不用做主机的IP地址)
1)主机号全为0表示本网络本身,如202.98.174.0。
2)主机号全为1表示本网络的广播地址,又称直接广播地址,如202.98.174.255。
 
3)127.×.××保留为环回自检(Loopback Test)地址,此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上。
4)32位全为0,即0.0.0.0表示本网络上的本主机,可以作为源IP地址,但不能作为目的IP地址
5)32位全为1,即255.255.255.255表示整个TCP/P网络的广播地址,又称受限广播地址。(实际使用时,由于路由器对广播域的隔离,255.255.255.255等效于本网络的广播地址)
特点
①路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目标主机号),从而减小了路由表所占的存储空间
②IP地址是标志一台主机(或路由器)和一条链路的接口,当一台主机同时连接到两个网络时,它就同时具有两个IP地址;因此IP网络上的一个路由器必然至少有两个IP地址(每个端口至少分配一个)
③用转发器或桥接器(网桥)连接的若干LAN仍然是同一个网络(同一广播域),因此LAN中的所有主机具有相同的网络号,不同的主机号
网络地址转换(NAT)
数据报在网络上传递时,只有NAT能改变其中的IP地址信息(源IP地址)
定义
通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址,使得整个专用网只需一个全球IP地址就可以连通因特网
注意:普通路由器在转发IP数据报时,不改变其源IP地址和目的IP地址。而NAT路由器在转发P数据报时,一定要更换其IP地址(转换源IP地址或目的IP地址)。普通路由器仅工作在网络层,而NAT路由器转发数据报时需要查看和转换传输层的端口号。
由于专用本地IP地址可重用,NAT大大节省了IP地址消耗
隐藏了内部网络结构,从而降低了内部网络收到攻击的风险
私有IP地址
只能用于LAN,不用于WAN连接(必须通过网关利用NAT把私有IP地址转换为全球IP地址后才能用于Internet),私有IP地址可被LAN重用,解决了IP地址不足的问题
路由器对目的地址时私有地址的数据报一律不进行转发,采用私有IP地址的互联网络称为专用互联网或本地互联网,私有IP地址称为可重用地址
A类:1个A类网段,即10.0.0.0~10.255.255.255
B类:16个B类网段,即172.16.0.0~172.31.255.255
C类:256个C类网段,即192.168.0.0~192.168.255.255
NAT表项仅管理员能添加,若主机发送的分组再NAT表项中找不到(包括源IP和源端口),则将直接丢弃该分组,不予转发。
工作原理
①假设用户主机10.0.0.1(随机端口3345)向Web服务器128.119.40.186(端口80)发送请求。
②NAT路由器收到IP分组后,为该IP分组生成一个新端口号5001,将IP分组的源地址更改为138.76.29.7(即NAT的全球IP地址),将源端口号更改为5001。NAT 路由器在NAT转换表中增加一个表项。
③Web服务器不知道刚抵达的IP分组已被NAT 路由器进行了改装,更不知道用户的专用地址,它响应的IP分组的目的地址是NAT 路由器的全球P地址,目的端口号是5001。
④响应分组到达NAT路由器后,通过NAT转换表将IP分组的目的IP地址更改为10.0.0.1,将目的端口号更改为3345。
子网划分与子网掩码、CIDR
子网划分
   55. 答:划分成3个子网,如果是等长子网,那么题目已给出的子网号是10,还剩下3个子网号分别是: 00 01 11 如果是按照不等长子网划分,已给的子网号是10,那么有如下的划分方法: 0 10 11 10 110 111 以上的划分需要注意,前面的子网号不能与后面的子网号的前缀 然后观察题目,如果按照等长子网划分的话,那么还剩下一个01子网号是没有使用的,那么IP地址上不连续,并且浪费了一个子网,所以这里最优方案就是不等长子网划分,所有子网号都使用到,那么应该排除子网号为00的。
在IP地址中增加一个“子网号字段”,使两级IP地址变为三级IP地址,结构:{<网络号>,<子网号>,<主机号>}
子网划分对外不可见,IP数据报仍先根据目的网络号转发给本单位网络上的路由器,在根据目的网络号和子网号找到对应子网,再交付给目的主机
子网划分解决了两级IP地址不够灵活、IP地址空间利用率低和路由表过大的问题
子网掩码
1)子网掩码是一个32位的二进制串,其中“1”对应于IP地址中的网络号及子网号,“0”对应主机号;计算机只需将IP地址和其对应的子网掩码逐位“与”,即可得到相应子网的网络地址
2)所有网络必须使用子网掩码,若其未划分子网,则采用默认子网掩码
A类地址的默认子网掩码:255.0.0.0
A类地址的默认子网掩码:255.255.0.0
C类地址的默认子网掩码:255.255.255.0
3)使用场景
①一台主机在设置IP地址信息的同时,必须设置子网掩码。
②同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码。
③路由器的路由表中,所包含信息的主要内容有目的网络地址、子网掩码、下一跳地址。
无分类编址CIDR

定义
使用不定长的“网络前缀”,IP={<网络前缀>,<主机号>}
使用”斜线记法“(CIDR记法)标识前缀所占比特数,如128.14.32.5/20标识20位网络前缀,按位与即得其网络前缀
CIDR地址块
将网络前缀都相同的连续IP地址组成”CIDR“地址块,这种地址聚合的方式称为路由聚合(或构成超网),有利于减少路由器之间的信息交换,提高网络性能

最长前缀匹配(最佳匹配)
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止-一个匹配结果。此时,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体。
CIDR查找路由表的方法:为了更加有效地查找最长前缀匹配,通常将无分类编址的路由表存放在一种层次式数据结构中,然后自上而下地按层次进行查找。这里最常用的数据结构就是二叉线索。(或按长度降序排列,先尝试匹配最长的前缀)
网络层转发分组的过程
路由表项结构
目的网络
下一跳地址
特殊路由
1)主机路由:对特定目的主机的IP地址专门指明一个路由,以方便网络管理员控制和测试网络。若特定主机的IP地址是a.b.c.d, 则转发表中对应项的目的网络是ab.c.d/32. /32,表示的子网掩码没有意义,但这个特殊的前缀可以用在转发表中。
2)默认路由:用特殊前缀0.0.0.0/0表示默认路由,全0掩码和任何目的地址进行按位与运算,结果必然为全0,即必然和转发表中的0.0.0.0/0相匹配。只要目的网络是其他网络(不在转发表中),就一律选择默认路由。
分组转发算法
1)从收到的IP分组的首部提取目的主机的IP地址D(即目的地址)。
2)若查找到特定主机路由(目的地址为D),就按照这条路由的下一跳转发分组;否则从转发表中的下一条(即按前缀长度的顺序)开始检查,执行步骤3)。
注意:得到下一跳路由器的IP地址后,并不是直接将该地址填入待发送的数据报,而是将该IP地址转换成MAC地址(通过ARP),将此MAC地址放到MAC帧首部中,然后根据这个MAC地址找到下一跳路由器。在不同网络中传送时,MAC帧中的源地址和目的地址要发生变化,但是网桥在转发帧时,不改变帧的源地址,请注意区分。
3)将这一行的子网掩码与目的地址D进行按位与运算。若运算结果与本行的前缀匹配,则查找结束,按照“下一跳”指出的进行处理(或者直接交付本网络上的目的主机,或通过指定接口发送到下一跳路由器)。否则,若转发表还有下一行,则对下一行进行检查,重新执行步骤3)。否则,执行步骤4)。
4)若转发表中有一个默认路由,则把分组传送给默认路由,否则,报告转发分组出错。
ARP、DHCP与ICMP
IP地址与硬件地址
网络层——IP地址
数据链路层——硬件地址(MAC地址)
1)在IP层抽象的互联网上只能看到IP数据报。
2)虽然在IP数据报首部中有源IP地址,但路由器只根据目的IP地址进行转发。
3)在局域网的链路层,只能看见MAC帧。IP数据报被封装在MAC帧中,通过路由器转发IP分组时,IP分组在每个网络中都被路由器解封装和重新封装,其MAC帧首部中的源地址和目的地址会不断改变。这也决定了无法使用MAC地址跨网络通信。
4)尽管互联在一起的网络的硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、 抽象的IP地址研究主机与主机或路由器之间的通信。
地址解析协议(ARP)
ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主句和源主机不再同一个局域网上,那么就要通过ARP找到一个本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让该路由转发该分组给下一个网络;尽管ARP请求分组是广播发送的,但ARP响应分组是普通单播,即从一个源地址发送到一个目的地址。
定义
地址解析协议用于将IP地址映射为MAC地址,ARP动态维护每台主机上的ARP动态缓存(ARP表),其用于存放本局域网上各主机和路由器的IP地址到MAC地址的映射表
工作原理
1)主机A欲向本局域网上的某台主机B发送IP数据报时,先在其ARP高速缓存中查看有无主机B的IP地址。
如果有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
如果没有,那么就通过使用目的MAC地址为FF-FF-FF-FF-FF-FF 的帧来封装并广播ARP请求分组(广播发送),使同一个局域网里的所有主机都收到此ARP请求。
2)主机B收到该ARP请求后,向主机A发出ARP响应分组(单播发送),分组中包含主机B的IP与MAC地址的映射关系,主机A收到ARP响应分组后就将此映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧。
ARP由于“看到了” IP地址,所以它工作在网络层, 而NAT路由器由于“看到了”端口,所以它工作在传输层。对于某个协议工作在哪个层次,读者应该能通过协议的工作原理进行猜测。
使用场景
 
1)发送方是主机(如H1),要把IP数据报发送到本网络上的另一台主机(如H2)。 这时H1在网1用ARP找到目的主机H2的硬件地址。
2)发送方是主机(如H1),要把IP数据报发送到另一个网络上的一台主机(如H3)。这时H1用ARP找到与网1连接的路由器R1的硬件地址,剩下的工作由R1来完成。
3)发送方是路由器(如R1),要把IP数据报转发到与R1连接的网络(网2), 上的一台主机(如H3)。这时R1在网2用ARP找到目的主机H3的硬件地址。
4)发送方是路由器(如R1),要把IP数据报转发到网3上的一台主机(如H4)。这时R1在网2用ARP找到与网2连接的路由器R2的硬件地址,剩下的工作由R2来完成。
动态主机配置协议(DHCP)
定义
基于UDP的应用层协议,通过客户/服务器模式工作,用于给主机动态地分配IP地址
工作原理

使用客户/服务器模式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文称为提供报文。
工作过程
1)DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,以便从DHCP服务器获得一个IP地址。源地址为0.0.0.0,目的地址为255.255.255.255.
2)DHCP服务器收到“DHCP发现“消息后,广播“DHCP提供”消息,其中包括提供给DHCP客户机的IP地址。源地址为DHCP服务器地址,目的地址为255.255.255.255。
3)DHCP客户机收到“DHCP提供”消息,如果接受该IP地址,那么就广播“DHCP请求”消息向DHCP服务器请求提供IP地址。源地址为0.0.0.0,目的地址为255.255.255.255。
4)DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机。源地址为DHCP服务器地址,目的地址为255.255.255.255
网际控制报文协议(ICMP)
功能
ICMP报文作为IP层数据报的数据部分,用于让主机或路由器报告差错和异常情况
分类

ICMP差错报告报文
1)终点不可达
当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。
2)源点抑制
当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
3)时间超过
当路由器收到生存时间(TTL)为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
4)参数问题
当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
5)改变路由(重定向)
路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
不应该发送ICMP差错报告报文的情况
1)对ICMP差错报告报文不再发送ICMP差错报告报文。
2)对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3)对具有组播地址的数据报都不发送ICMP差错报告报文。
4)对具有特殊地址(如127.0.0.0 或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP询问报文
1)回送请求和回答报文
2)时间戳请求和回答报文
3)地址掩码请求和回答报文
4)路由器询问和通告报文
IPv6
解决“IP地址耗尽“的措施
①采用无类别编址CIDR,使IP地址的分配更加合理;
②采用网络地址转换(NAT)方法以节省全球IP地址;
③采用具有更大地址空间的新版本的Pv6(根本上解决问题)
IPv6的主要特点
1)更大的地址空间。IPv6 将地址从IPv4的32位增大到了128位。IPv6 的字节数(16B)是IPv4字节数(4B)的平方。
2)扩展的地址层次结构。
3)灵活的首部格式。(首部长度固定,不需要首部长度字段)
4)改进的选项。
5)允许协议继续扩充。
6)支持即插即用(即自动配置)。
7)支持资源的预分配。
8)IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不能分片,所以从一般意义上说, IPv6 不允许分片(不允许类似IPv4的路由分片)。
9)IPv6首部长度必须是8B的整数倍,而IPv4首部是4B的整数倍。
10)增大了安全性。身份验证和保密功能是IPv6的关键特征。
11)减少了头部字段数目,仅含8各字段
12)支持Qos,以满足实时、多媒体通信的需求。
13)取消了首部校验和字段,加快了路由器处理数据报的速度。
IPv6地址
目的地址
1)单播:传统的点对点通信
2)多播:一点对多点的通信,分组被交付到一组计算机的每台计算机
3)任播:Ipv6新增的类型,任播的目的站是一组计算机,但数据报在交付时只交付其中一台,通常是距离最近的一台
地址表示
1)将每四位用一个十六进制数表示,并用冒号分隔每16位,如:4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
2)当16位域的开头为0时,可以缩写,如把地址4BF5:0000:0000:0000:BA5F:039A:000A:2176缩写为4BF5:0:0:0:BA5F:39A:A:2176
3)当有相继的0值域时,可继续用双冒号缩写:4BF5::BA5F:39A:A:2176(双冒号表示法在一个地址中仅能出现一次)
分级
1)顶级:指明全球都知道的公共拓扑
2)场点级:指明单个场点
3)指明单个网络接口
多级体系有利于快速查找路由
IPv4过渡到IPv6
双协议栈
在一台设备(主机或路由)上同时装有Ipv4和IPv6协议栈,同时具有两种地址,能和这两种网络进行通信
隧道技术
将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在IPv4网络的隧道中传输
网络层设备
冲突域和广播域
冲突域
指连接到同一物理介质上的所有结点的集合,其间存在介质争用的现象
广播域
指接收同样广播消息的结点集合,即其中任何一个结点发送一个广播帧,其他结点都能收到该帧
路由器的组成和功能

概念
路由器是一种具有多个输入/输出端口的专用计算机,用于连接不同的网络(连接异构网络)并完成路由转发
交付
直接交付:源主机和目标主机在同一个网络上,无须通过路由器
间接交付:源主机和目标主机不在同一网络上,路由器按照转发表(路由表)指出的路由将数据报转发给下一个路由器
路由选择(控制部分)
路由选择处理机根据所选的的路由选择协议构造路由表,定期和相邻路由器交换路由信息而不断更新和维护路由表
分组转发
交换结构
根据转发表处理分组,将某个输入端口进入的分组从某个输出端口转发出去
交换方法
1)通过存储器进行交换
2)通过总线进行交换
3)通过互联网络进行交换
输入端口
在从物理层接收到比特流中提取出数据链路层帧,进而从帧中提取出网络层数据报
输出端口
路由表与路由转发
路由表项组成
目的网络IP地址
子网掩码
下一跳IP地址
接口
转发表
路由表总是用软件来实现;转发表可以用软件实现,也可以用特殊的硬件实现。
默认路由:为减少转发表的重复项目,使用一个优先级最低的默认路由代替所有具有相同“下一跳”的项目
默认路由的目的地址和子网掩码都是0.0.0.0
移动IP
概念
定义
移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变
功能实体
1)移动结点
具有永久IP地址的移动结点
2)本地代理(归属代理)
一个移动结点的永久“居所”称为归属网络,归属网络中代表移动结点执行移动管理功能的实体称为归属代理,它根据移动用户的转交地址,采用隧道技术转交移动结点的数据包
3)外部代理
在外部网络中帮助移动结点完成移动管理功能的实体
移动通信过程
移动绑定
移动结点的本地地址与当前转交地址(当前所在位置)的联合;当移动结点得到一个新的转交地址时,通过绑定向本地代理进行注册
基本通信流程
1)移动结点在本地网时,按传统的TCP/IP方式进行通信(在本地网中有固有的地址)。
2)移动结点漫游到一个外地网络时,仍然使用固定的IP地址进行通信。为了能够收到通信对端发给它的IP分组,移动结点需要向本地代理注册当前的位置地址,这个位置地址就是转交地址(它可以是外部代理的地址或动态配置的一个地址)。
3)本地代理接收来自转交地址的注册后,会构建一条通向转交地址的隧道,将截获的发给移动结点的IP分组通过隧道送到转交地址处。
4)在转交地址处解除隧道封装,恢复原始的IP分组,最后送到移动结点,这样移动结点在外网就能够收到这些发送给它的IP分组。
5)移动结点在外网通过外网的路由器或外部代理向通信对端发送IP数据包。
6)移动结点来到另一个外网时,只需向本地代理更新注册的转交地址,就可继续通信。
7)移动结点回到本地网时,移动结点向本地代理注销转交地址,这时移动结点又将使用传统的TCP/IP方式进行通信。
IP组播
概念
1)组播是让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收(组播仅应用于UDP,因为TCP时面向连接的协议,支持一对一发送)
2)IP组播中的每个组有独立的组播地址,作为发送方的目标地址,在D类地址空间中分配
3)主机使用IGMP(因特网组管理协议)协议加入组播组,通过本地网络上的路由器关于要接收发送给某个组播组的分组的愿望,通过扩展路由器的路由选择和转发功能,可以在路由器互联的支持硬件组播的网络上实现因特网组播
4)主机组播时仅发送一份数据,仅在传送路径出现分岔时才复制分组;能够允许组播协议的路由器称为组播路由器
IP组播地址
IP组播使用D类地址格式(即224.0.0.0~239.255.255.255),前四位是1110,后继五位不作映射,即有23位用于组播,每个地址标志一个组播组,首部协议字段为2,表明使用IGMP
分类
1)在本局域网上进行的硬件组播
2)在因特网范围内进行的组播
特点
1)组播数据报“尽最大努力交付”,不提供 可靠交付
2)组播地址只能用于目的地址,不能用于源地址
3)对组播数据报不产生ICMP差错报文
硬件组播
1)IANA的以太网组播地址范围为01-00-5E-00-00-00到01-00-5E-FF-FF-FF,供23为可用作组播,与D类IP地址的23位一一对应,故每32个组播地址映射成一个MAC地址
 
2)收到组播数据报的主机,还需要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃
IGMP与组播路由算法
IGMP
功能
让连接到本地局域网上的组播路由器知道本局域网上是否有主机参加或退出了某个组播组
工作过程
1)当某台主机加入新的组播组时,该主机应向组播组的组播地址发送一个IGMP报 文,声明自己要成为该组的成员。本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器。
2)因为组成员关系是动态的,本地组播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台 主机响应时,则不再将该组的成员关系转发给其他的组播路由器。
组播路由选择
组播路由选择实质上就是找出以源主机为根结点的组播转发树,其中每个分组在每条链路上只传送一次,不同的多播组,同一多播组的不同转发书,都会有不同的多播转发树
路由算法
1)基于链路状态的路由选择
2)基于距离-向量的路由选择
3)协议无关的组播(PIM)
路由协议
自治系统(AS)
单一技术管理下的一组路由器,它们使用一种AS内部的路由选择协议和共同的度量来确定分组在AS内部的路由,并使用一种AS之间的路由选择协议来确定分组在AS之间的路由
域内路由/域间路由
内部网关协议(IGP)
一个自治系统内部使用的路由选择协议,也称域内路由选择,与其他自治系统选用的协议无关;常用的有RIP和OSPF
外部网关协议(EGP)
自治系统之间的路由选择协议,也称域间路由选择;常用的有BGP-4
内部网关协议
路由信息协议(RIP)
RIP是应用层协议,使用UDP传送数据(端口520)。RIP选择的路径不一定是时间最短的,但一定是具有最少路由器的路径。因为它是根据最少跳数进行路径选择的。
原理
1)RIP基于距离向量的路由选择协议,网络中的每个路由器需维护从它本身到其他每个网络的距离(跳数)
2)RIP允许一条路径最多包含15个路由器,故跳数=16时,代表网络不可达,因此RIP适合小型网络(规定最大跳数是为防止环路)
3)路由器每30秒广播一次RIP路由更新信息,以实现动态维护
RIP中的每个路由器仅和相邻路由器交换信息,每隔30s广播一次自己的路由表,那么再经过30s,相邻路由器的相邻路由器也将获得其路由器,如此循环直到收敛。
4)RIP不支持子网掩码的RIP广播,故RIP中每个网络的子网掩码必须相同
距离向量算法
假设R1、R2、R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是()。  A.2 B.3 C.16 D.17 【分析】 1.R3检测到一个不可达网络,说明该网络是和R3相连的(在RIP协议中,检测到网络不可达是由相邻结点检测到的),假设记为R4,也就是说这整个网络由R1、R2、R3、R4组成; 2.题中说到开始的时候“均已收敛”,即在R3检测到R4不可达之前,网络中各个网络已经互相知道了到彼此的距离,通过网络结构可知R1的距离向量为(0,1,1,2),R2的距离向量为(1,0,1,2),R3的距离向量为(1,1,0,1) 3.现在R3检测到R4不可达,即R3的距离向量变为(1,1,0,16),并且现在只向R2通报了自己新的距离向量 4.R2收到R3传过来的距离向量时,对于R2→R4的路径长度,它会比较R2→R3→R4(距离17)和R2→R1→R3→R4(R1传来的消息,距离为3,此处R1→R3→R4的距离是2,因为R1还不知道R3到R4的代价变为16了(坏消息传得慢)),R2比较17和3选择较小的3,因此选B
每个路由表表项组成为:<目的网络N,距离d,下一跳路由器地址X>,对于每个相邻路由器发送来的RIP报文,执行如下步骤:
1)对地址为X的相邻路由器发来的RIP报文,先修改报文中的所有项目:把“下一跳地址”改为X,“距离”字段加1
2)对修改后的每个项目,依次检查:
①当原路由表中无目的网络N时,添加该项
②当原路由表中有目的网络N,且下一条地址为X时,更新该项目
③当原路由表中有目的网络N,且下一跳地址不为X,且距离较大时,替换该项目
3)若超过180秒(默认超时时间)未收到相邻路由器的更新路由表,则记其为不可达路由器,距离设置为16
优点
实现简单、开销小、收敛过程快
缺点
1)限制了网络规模,最大距离为15
2)交换信息是完整路由表,开销较大
3)网络出现故障时会出现慢收敛现象
开放最短路径优先(OSPF)协议
原理
基于链路状态路由算法,使用每个路由器使用洪泛法向所有路由器发送自己的相邻链路状态,最终收敛得到全网的拓扑结构图,每个结点使用Dijkstra算法计算到其他所有结点的最短路径
虽然使用Dijkstra算法可以计算完整的最优路径,但路由表中仅保存“下一跳”的地址(只有到下一跳才知道再下一跳应该怎么走)。
特点(与RIP相比)

1)向本自治系统中的所有路由器发送信息,而非仅是相邻路由器
2)发送的信息是与本路由器相邻的路由器的链路状态(与哪些路由器相邻及链路度量),而非发送整个路由表
3)仅当链路状态变化后才发送信息,且更新很快,不会出现慢收敛现象
4)OSPF是网络层协议,直接使用IP数据报传送(首部的协议字段为89),而RIP是应用层协议,在传输层使用UDP
5)为适应大规模网络,OSPF将一个自治系统划分为更小的范围(区域),信息交互局限于区域范围内,减少了网络通信量。处于上层的域称为主干区域,负责连通下层区域,且连接其他自治域
分组类型
1)问候(Hello)分组,用来发现和维持邻站的可达性。
2)数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
3)链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。
4)链路状态更新分组,用洪泛法对全网更新链路状态。
5)链路状态确认分组,对链路更新分组的确认。
基本操作
1)每个10秒,相邻路由器交换一次问候分组,以便知道哪些站可达
2)路由器刚开始工作时,每个路由器使用数据块描述分组和相邻路由器交换信息,然后路由器使用链路状态请求分组请求自己缺少的项目信息,最终建立全网同步的链路数据库
3)网络运行中,当路由器的链路状态改变时,使用链路状态更新分组,向全网更新链路状态,更新后其他路由器发送链路状态确认分组进行确认
4)每个一段时间(30min)刷新一次数据库中的链路状态
外部网关协议
边界网关协议(BGP)
定义
边界网关协议是基于TCP的,用于在不同自治系统的路由器之间交换信息的协议,采用路径向量路由选择协议,力求寻找一条能够达到目的网络的较优路由(而非最佳路由)
工作原理
1)每个自治系统至少有一个路由器作为“BGP发言人”,与其他系统的发言人交换路由信息(通过TCP连接建立BGP会话)
2)BGP发言人还需允许该AS所用的内部网关协议(如OSPF或RIP),BGP交换的网络可达性信息就是要到达某个网络所要经过的一系列AS
特点
1)BGP交换路由信息的结点数量级是自治系统的数量级,远少于其中的网络数
2)BGP支持CIDR,因此BGP的路由表应包含目的网络前缀、下一跳路由器以及到达目的网络所要经过的各个自治系统序列
3)启动时,BGP的邻站交换整个BGP路由器;以后只需在发生变化时更新有变化的部分即可
报文类型
1)打开(Open)报文:用来与相邻的另一个BGP发言人建立关系
2)更新(Update)报文:用来发送某一路由的信息,以及列出要撤销的多条路由
3)保活(Keepalive)报文:用来确认打开报文并周期性地证实邻站关系
4)通知(Notification)报文:用来发送检测到的差错
例题
 49.从题图可知,R2转发出去的封装HTTP请求报文的IP分组的源IP地址应该是NAT路由器R2接口L0的IP地址,目的IP地址应该是Web服务器S的IP地址130.18.10.1。 题目给定连接R1、R2和R3之间的点对点链路使用201.1.3.x/30地址,也就是网络前缀为30比特,剩余2比特用于指明主机,这2比特为全0时表示网络地址,2为全1时表示该网络的广播地址,其他组合(01和10)用于分配给主机或路由器。 在R1与R2互连的这段链路上,R1接口的IP地址为201.1.3.9,将该地址的前30比特固定不变,剩余2比特有以下四种组合: 00:这段链路的网络地址,点分十进制形式为201.1.3.8; 11:这段链路的广播地址,点分十进制形式为201.1.3.11; 01:R1在该段链路上的接口的IP地址,点分十进制形式为201.1.3.9; 10:R2在该段链路上的接口L0的IP地址,点分十进制形式为201.1.3.10; 综上所述,选项D正确。