计算机网络原理第四篇 网络层

第四章. 网络层

4.1、网络层提供额两种服务

1、网络层的任务:以分组为单位将数据信息从源点传输到目的点。通过路由选择算法,为分组选择合适的路径。
2、问题提出:网络层应向传输层提供怎样的服务?面向连接还是无连接?
问题实质:是网络还是终端应当负责计算机通信的可靠性?

电信网的成功经验显示——该让网络负责可靠交付,即面向连接的通信方式;通讯前先建立虚电路,以保证双方通信所需的一切网络资源,再使用可靠传输的网络协议,使所发送的分组无差错地按序到达终点,也就是面向连接的虚电路服务。图示如下:

在这里插入图片描述

虚电路交换——建立连接、通信、拆除连接;与电路交换有相似,不同在于一个“虚”字,即虚电路仅仅表示一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正象电话一样建立了一条物理连接。
网络采用这种虚电路交换成本太大,终端设备具有很好的智能,所以没必要。
互联网实际的设计思路——网络层向上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务网络层不提供服务质量的承诺。图示如下:
在这里插入图片描述

表4-1:虚电路服务和数据报服务的对比

在这里插入图片描述

4.2 网际协议IP

4.2.0、网际协议IP简介

1、网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:

①.地址解析协议ARP (Address Resolution Protocol)

②.逆地址解析协议RARP (Reverse Address Resolution Protocol)

③.网际控制报文协议ICMP (Internet Control Message Protocol)

④.网际组管理协议IGMP (Internet Group Management Protocol)

2、网际层的 IP 协议及配套协议
4.2.1.png

4.2.1、虚拟互联网络

1、没有一种单一的网络能够适应所有用户需求,各种网络新技术也层出不穷,各网络之间互相通信需要解决许多问题,比如:
l 不同的寻址方案;
l 不同的最大分组长度;
l 不同的网络接入机制;
l 不同的超时控制;
l 不同的差错恢复方法;
l 不同的状态报告方法;
l 不同的路由选择技术;
l 不同的用户接入控制;
l 不同的服务类型(无连接和面向连接);
l 不同的管理与控制方法。

2、网络互连使用的中间设备(又称为中间系统或中继系统)主要有:

⑴、物理层中继系统------转发器(repeater)
⑵、数据链路层中继系统-------网桥(桥接器)、二层交换机
⑶、网络层中继系统-------路由器(router)
⑷、网桥和路由器的混合物------桥路器(brouter)
⑸、网络层以上的中继系统------网关(gateway连接两个不兼容的系统)

注意:
①.中间设备是转发器或网桥时,仅把网络扩大,但我们仍视之为一个网络,并不称为网络互连。只有经路由器互联,才称作网络互连。由于历史原因,常把网络层使用的路由器称网关,而工作在网络层以上的真正的网关目前使用较少。
②.虚拟互联网络-----是指逻辑互联网络,使结构、性能各异的网络在网络层看起来好像是一个统一的网络。
③.互联网可以是由多种异构网络互联组成。
④.如果我们只从网络层考虑问题,那么 IP 数据报就可以想象是在网络层中传送。

4.2.2.png

直接交付------指原站或路由器将IP数据报直接交给目的站,否则称间接交付。

以下介绍的IPV4协议定义的IP地址是一个**4字节(32位)**的标识符,标示连接在Internet上的每台主机或路由器的接口。

IP 地址的编址方法
①.分类的 IP 地址è这是最基本的编址方法;1981 年通过相应的标准协议。
②.子网的划分------这是对最基本的编址方法的改进;1985 年通过相应的协议。
③.构成超网------这是新的无分类编址方法;1993 年提出后很快被推广应用。
注意:
①.一个IP地址在英特网上必须唯一,标识了一台主机或路由器接口。
②.IPV6协议的IP地址是一个**16字节(128位)**的标识符。

4.2.2、分类的IP地址

1、IP地址的分类
分类的IP地址将IP地址分为若干固定的类,每类地址都有两个固定长度字段组成:网络号+主机号。
主机号全0的ip地址表示本网络地址主机号全1的ip地址表示本网络的广播地址,这两个ip地址都不分配给任何主机或路由器接口

⑴、A类地址------第一位必须是0,前8位是网络号,后24位是主机号。
网络号是从0~127,可指派(28-2=126)个网络,因为0.0.0.0和127.0.0.0不指派,127的网络号用作本地软件环回测试,这种地址的数据报不会在网络上出现。每个网络上最大主机数为(224-2=16777214),占整个地址空间的50%,共231个。
【例如】若IP地址5.6.7.8,则网络地址是5.0.0.0,网络号为5,主机号为6.7.8。

⑵、B类地址------前二位必须是10,前16位是网络号,后****16位是主机号。
网络号是从128~191,可指派(214-1=16383)个网络,因为128.0.0.0不指派。每个网络上最大主机数为(216-2=65534),占整个地址空间的25%,共230个。

⑶、C类地址------前三位必须是110,前24位是网络号,后****8位是主机号。
网络号是从192~223,可指派(221-1=2097151)个网络,因为192.0.0.0不指派。每个网络上最大主机数为(28-2=254),占整个地址空间的12.5%,共229个。

⑷、D类地址------前四位1110开头,用于多播
⑸、E类地址------前4位是1111开头,保留地址
在这里插入图片描述

2、三类专用IP地址:只用于机构内部通信,又称“本地地址”或“私有地址”;不能作“全球地址”(又称“公有地址”;),目的地址为专用地址的数据报路由器一律不转发。
⑴、10.0.0.0~10.255.255.255 1段连续的A类地址(共256256256个)
⑵、172.16.0.0~172.31.255.255 16段连续的B类网络地址(共16256256个)
⑶、192.168.0.0~192.168.255.255 256段连续的C类网络地址(共256*256个)

3、IP地址重要特点
⑴、网络号由地址管理机构分配,主机号由单位自行分配。
⑵、IP地址标识一个主机和路由器接口,若主机连接在两个网络上,则必须有两个IP地址,其网络号不同。路由器用于连接网络,所以至少有两个IP地址。
⑶、具有不同网络号的局域网必须使用路由器相连。
⑷、所有网络是平等的。
⑸、当两个路由器直接相连时,互连接口可以分配IP地址,也可以不分配IP地址。
⑹、一根线相连的两个路由接口需要分配IP地址时,它们的网络号必须相同。

4、IPV6协议的IP地址------是一个16字节(128位)的标识符
在IPv6的分层地址分配方式中,高级网络管理部门可为下级网络管理部门划分地址分配区域,下级网络管理部门则可为更下层的管理部门进一步划分地址分配区域。

⑴、IPv6将用户划分成3种类型。
①.使用企业内部网络和Internet;
②.目前使用企业内部网络,将来可能会用到Internet;
③.通过家庭、飞机场、旅馆以及其他地方的电话线和Internet网络互联。

⑵、IPv6协议为这些用户提供了不同地址分配方式。

①.4种类型的点到点通信/单播地址------用于标识单一网络设备接口,单播通信传播的分组可传送到地址标识的接口。
②.改进的多播地址格式-------用于标识归属于不同节点的设备接口集合,多播通信传送的分组可发送到地址标识的所有接口,这种地址方式是非常有用的。例如,可将网络中发送的新消息传送给所有登记的用户。特殊的多播地址可限制在特定网络链路或特定的系统组中进行通信。IPv6协议没有定义广播地址,但可使用多播地址替代。
③.新的任意播(Anycast)地址格式-------IPV6协议中引入了任意播地址,用于标识属于不同节点的设备接口集合,任意播传送的分组可发送到地址标识的某一接口,接收到信息的接口通常是最近距离的网络节点,这种方式可提高路由选择的效率,网络节点可通过地址表示通信过程传输路由可经过的中间跳数,即信息传输路由可不必由路由器决定。

4.2.3、IP地址与硬件MAC地址

1**、IP地址与MAC地址的区别------MAC地址是数据链路层和物理层使用的地址,是物理地址**(硬件实现),而IP地址是网络层和以上各层使用的地址,是逻辑地址(软件实现)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、特别注意事项:
⑴、在IP层抽象的互联网上只能看到IP数据报;
⑵、路由器只根据目的IP地址的网络号进行路由选择;
⑶、在局域网的链路层,只能看见MAC帧;
⑷、虽然互连网络的硬件地址体系不同,但IP层抽象的互联网屏蔽了这些下层细节。

3、没解决的两个问题
⑴、主机和路由器怎么知道应当在MAC帧的首部填入什么样的硬件地址?
⑵、路由器的路由表是如何形成的?

4.2.4、地址解析协议ARP和逆地址解析协议RARP
⑴、不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用MAC地址。路由器如何知道在MAC帧中填入什么样的MAC地址?
在这里插入图片描述
RARP------现已不用,包含在DHCP(DynamicHostConfigurationProtocol,动态主机配置协议应用层协议)协议中。

⑵、ARP的工作原理即:主机如何知道IP地址和MAC地址对应关系呢?
ARP在主机ARP高速缓存中存放一个IP地址到硬件地址的映射表,里面有本局域网上各种主机和路由器的IP地址到硬件地址的MAC地址映射表,这个表要动态更新。当主机A要向本局域网上的某个主机B发送IP数据报时,先查找自己的MAC地址映射表中是否有主机B对应表项。若有,查出相应的硬件地址,填入MAC帧,然后发送;若没有,A运行ARP协议找出B的MAC地址。具体步骤如下:

①.A向本局域网广播一个ARP请求分组(广播帧)。注明A的IP地址和MAC地址以及B的IP地址。
②.主机B及所有本局域网主机都收到该分组
③.只有B向A发送ARP响应分组(单播帧),并注明自己的MAC地址,同时B将A的一对地址记入ARP缓存的MAC地址映射表中。
④.A收到响应后在其MAC地址映射表中添加记录,并使用该地址。

注意:
①.每个映射地址项目都有生存时间,设想B更换网卡情况。
②.ARP是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题的。目的主机和源主机不在同一局域网时解决的方法是è源主机通过 ARP 找到一个位于本局域网上的某个路由器的MAC地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
在这里插入图片描述
⑶、归纳总结→使用ARP的四种情况:
4.2.11.png

⑷、为什么我们不直接使用硬件地址进行通信?→不同网络的硬件地址不同,直接利用硬件地址通信,硬件地址转换非常复杂。

连接到互联网的主机都拥有统一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用ARP来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的,使用方便。

4.2.5、IP数据报的格式

4.2.12.png

首部总长------20B~60B;其中:固定部分长20B;可变部分长0~40B;
⑴、版本4b,标示IPv4或IPv6
⑵、首部长度 4b,最大长度15,以4字节为单位,故首部最长60B,若不使用任何选项,则首部长最小为20B。
⑶、区分服务 8b,实际上一直未被使用。
⑷、总长度 16b,以字节为单位,最大长度65535B,包括首部。
⑸、标识 16b,用来产生数据报标识,若数据报被分为若干片,每片的标识都一样。相同标识的分片将被重装成原来的数据报。
⑹、标志 3b,只有后2b有意义,最低位MF=1表示还有分片,若MF=0,表示本片是最后一片,DF=0时才允许分片。
⑺、片位移 占13b,标示该片在原数据中相对位置,以8字节为片移单位。

【例题4.1】一个数据报总长度为3820B,其数据部分为3800B,需要分成片长不超过1420B的数据报片,则如何分片?

解:∵每个分片首部都要占20字节,故每片数据部分长度不超过1400B。于是,原始数据报被分成3片,数据部分长度分别为1400B、1400B、1000B。

原始数据报:总长度3820B,标识12345,MF=0 DF=0 片位移 0。
分片1:总长度1420B,标识12345,MF=1 DF=0 片位移 0。
分片2:总长度1420B,标识12345,MF=1 DF=0 片位移 175。
分片3:总长度1020B,标识12345,MF=0 DF=0 片位移 350。
若分片2又被分成两片,分别携带800B和600B,则这俩片的上述数据分别为:

820,12345,1,0,175; 620,12345,1,0,275

⑻、生存时间 : 8位(TTL:Time To Live) 表明数据在网络上的寿命,防止数据报在网络中丢兜圈子。以跳数为单位(最大值为255),而不是秒。指最多可经过多少个路由器,每经过一个路由器递减1。若数据报转发前TTL为0,则被丢弃。
⑼、协议 : 8b,指明上层协议,即指明携带的数据是使用何种协议。
4.2.13.png
⑽、首部检验和 16b,只检验数据报首部,不包括数据部分。发送方将IP首部划分为许多16位字序列,并把检验和字段置零,用反码算术运算把所有16位字相加后,将所得和的反码写入检验和字段,接收方用同样的方法计算,若结果为0,则认为正确,否则错误。
⑾、源地址32b
⑿、目的地址 32b
⒀、首部的可变部分 即:可选字段及填充,可变部分若有则长度是4B的整数倍。

可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从 1B~40B不等,取决于所选择的项目。
增加首部的可变部分是为了增加 IP 数据报的功能,但使IP 数据报的首部长度可变,这样就增加了每一个路由器处理数据报的开销。实际上这些选项很少使用。

4.2.6、IP层转发分组的流程

1、路由表结构
路由器的路由表按网络地址来构造,每条路由最主要的是以下两个信息è
4.2.14.png++
有时也允许对特定主机指明一个路由,称为“特定主机路由”,即路由表中的目的网络号为目的主机IP。还可以采用“默认路由”(路由表的目的网络为:0.0.0.0)以减少路由表所占用的空间和搜索路由表所用的时间。
若目的网络是路由器直接相连的网络,路由表的下一跳è直接交付,即把目的主机IP地址转换为目的MAC地址,把数据报封装为MAC帧后交付给目的主机。

2、分组转发算法:
⑴、从数据报首部提取目的主机IP地址D,得目的网络地址N;
⑵、若N就是与路由器直接相连的网络,则进行直接交付,否则间接交付执行⑶;
⑶、若路由表中有目的地址为D的特定主机路由,则把数据报传给路由表指定的下一条路由,否则转⑷;
⑷、若路由表中有到达网络N的路由,则把数据报传送给路由表中所指定的下一跳路由,否则转⑸;
⑸、若路由器中有一默认路由,则将其转发给默认路由器,否则执行⑹;
⑹、报告转发分组出错。

4.3 划分子网和构成超网

4.3.1、划分子网

1、从二级IP地址到三级IP地址
⑴、IP 地址设计不合理的地方:
①.IP地址空间的利用率有时很低,浪费严重;
②.为每个物理网络分配一个网络号会使路由表太大;
③.二级IP地址不够灵活,要增加一个新网络必须申请IP地址。
为解决以上问题,将二级地址中又增加一个“子网号字段”,变成三级地址,该方法称为划分子网。该方法已成标准。

⑵、划分子网的思路:
①.划分子网是一个单位内部事情,对外仍表现为一个网络。
②.划分子网是从主机号中借用若干位作子网号。
4.3.1.png
③.外部网络发来的数据报根据网络号找到目的主机所在网络的路由器,目的主机所在网络的路由器根据目的网络号和子网号找到目的子网,把数据报交给目的主机。

**【例题4.2】**某单位拥有一个B类地址:145.13.0.0
**4.3.2.png**
该结构中,所有机器均在同一网络中,不利于管理,且一个局域网所接主机数量也是有限的。

4.3.3.png

划分子网后,整个网络对外仍表现为一个网络,R3、R2上的路由表不必因划分子网而变动,R1根据子网转发。

2、子网掩码

源主机并不知目的网络是否划分了子网,目的网络的路由器如何把数据报转发到子网?借助于子网掩码。

⑴、子网掩码的定义:
①.子网掩码中的1对应于IP地址中原来的网络号和子网号,0对应主机号;
网络地址 =(IP 地址) AND (子网掩码)
②.子网掩码中子网号对应部分的1可以不连续,但是推荐子网号的1连续;
【例题4.3】IP地址如下图所示,求子网地址?
4.3.4.png

⑵、子网掩码的特征

①.为了方便查找路由,即使网络没有划分子网,也要使用子网掩码。这时的子网掩码称为默认的子网掩码。1对应网络号,0对应主机号,无子网号对应。
A类的默认子网掩码——255.0.0.0
B类的默认子网掩码——255.255.0.0
C类的默认子网掩码——255.255.255.0

②.不论有没有划分子网,子网掩码与目的IP地址逐位相与得到网络地址。
③.相邻路由器交换路由信息时必须把自己所在的网络的子网掩码告诉相邻的路由器。
④.划分子网时可以采用固定长度表示子网号,此时所有子网的子网掩码相同。也可采用变长子网划分方法。 RFC(Request for Comments请求注解,介绍internet最重要的文献资源) 规定子网号全0或全1不用。但随着无分类域间路由协议CIDR的广泛使用,全0或全1的子网号也可用了。使用时看你的路由器是否支持全0和全1的子网。

⑤.划分子网的方法增加了灵活性,但也减少了能够连接网络的主机总数。

⑥.主机号全0全1分别表示子网地址广播地址,不分配给设备。

⑦. B类地址的子网位数为0、1、15、16无意义。

【例题4.4】已知IP地址141.14.72.24 子网掩码是255.255.192.0试求其网络地址,若子网掩码是255.255.224.0呢?
4.3.5.png
结论:不同的子网掩码可能得出相同的网络地址,但效果是不同的。

【例题4.5】某单位获得一C类地址192.168.12.0 现该单位的网络拓扑图如下所示,试为该单位划分子网。
4.3.6.png

解:第一步:确定子网数和子网主机数。
第二步:确定用多少位标识子网号、多少位标识主机号。

本例中有5个子网,至少需3位表示网络号,主机号5位,可表示每位子网中最多可接30台主机。
子网掩码位:255.255.255.224;可以如下分配网络号:
LAN1 192.168.12.32LAN2 192.168.12.64
LAN3 192.168.12.96LAN4 192.168.12.128
LAN5 192.168.12.160
可再建一个子网,共6个子网,每个子网可用地址数30个,损失地址数254-6*30=74个。

4.3.2、使用子网时分组的转发过程

划分子网后,路由表必须包含3项内容:目的网络、子网掩码和下一跳地址。
1**、路由转发分组的算法:**
⑴、从收到的数据报首部提取目的IP地址D;
⑵、先判断是否为直接交付。若是,则进行直接交付;
⑶、若路由表中有目的地址为D的特定主机路由,则按路由表中指明的下一跳路由作为转发对象;
⑷、对路由表中的每一行,用其中的子网掩码和D逐位相与,其结果为网络地址N,若N与该行目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器,否则执行⑸;
⑸、若表中有一默认路由,则把数据报传送给路由表中所指明的默认路由器,否则执行⑹;
⑹、报告转发分组出错。

【例题4.6】已知互联网和路由器 R1 中的路由表。主机 H1 向 H2 发送分组。试讨论 R1 收到 H1向 H2 发送的分组后查找路由表的过程。
4.3.7.png
解:现讨论H1向H2发送分组的过程:

H1把本子网掩码与H2的IP 地址逐位相与得128.30.33.128 它不等于H1的网络地址,这说明H2与H1不在同一子网上,故H1把分组交给子网默认的路由器R1;

R1收到分组后,先找路由表第一行,取其目的网路地址和子网掩码相与后得到目的子网地址,看它是否和收到分组的子网地址匹配,若匹配则转发到下一跳接口,否则再找第二行,进行类似操作,最后R1把分组从接口1直接交付给主机H2。

4.3.3、无类别域间路由CIDR(Classless InterDomain Routing)è构造超网

1、网路前缀:
⑴、互联网仍面临着三个必须尽早解决的问题
尽管划分子网在一定程度上缓解了互联网发展中遇到的困难,但互联网仍面临着三个必须尽早解决的问题:
①.B类地址很快全部分配完毕;
②.主干网上路由表的表项急剧增大;
③.IPV4地址空间最终将消耗尽。
在变长子网掩码基础上发展起来的CIDR技术已成为互联网建议的标准协议。
⑵、CIDR最主要的特点è
①.CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。CIDR编址方法如下:
4.3.8.png
②.CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。使用“斜线记法”,即在IP地址后加上斜线“/”,然后写上网络前缀所占位数,故斜线表示法中,斜线后面的数字就是掩码中1 的个数 IP 地址从三级编址(使用子网掩码)又回到了两级编址。
③.把网络前缀都相同的连续IP地址组成一个“CIDR地址块”。

⑶、CIDR地址块è已知CIDR地址块中任一地址,就可以知道这个地址块的起始地址、最大地址以及该地址块中地址总数。

【例题4.7】128.14.35.7/20
128.14.35.7=1000 0000 0000 1110 0010 0011 0000 0111
可知最小地址为128.14.32.0
最大地址为128.14.47.255
该地址块共有212个地址。

⑷、CIDR 记法的其他形式
①.10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
②.IP地址为10.0.0.0/10,掩码为255.192.0.0
③.网络前缀的后面加一个星号 * 的表示方法è
在星号 * 之前是网络前缀,星号 * 表示 IP 地址中的主机号,可以是任意值。如 00001010 00* 。

⑸、路由聚合(route aggregation)

①.一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。
②.路由聚合也称为构成超网(supernetting)。
③.CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
④. 为便于路由选择,CIDR使用32位的地址掩码,1对应网络前缀位,0对应主机位。如:/20地址块,它的掩码是 20 个连续的 1。

【例题4.8】某组织分配到地址块/20,可以再从主机号中借3位来划分8个子网,每个子网网络前缀为/23.
路由器利用CIDR地址块查找目的网络,使用路由聚合技术可减少路由表项目。

【例题4.9】如192.168.4.0/24、192.168.5.0/24、192.168.6.0/24,可聚合成一条路由192.168.4.0/22,当然前提是这三个网络在该路由器上的路由相同。

若有192.168.7.0/24与它们路由不同,则不能合并成192.168.4.0/22,而只能把192.168.4.0/24与192.168.5.0/24合并成192.168.4.0/23,而192.168.6.0/24与192.168.7.0/24各自为一个单独的表项。

⑹、CIDR地址块的子网划分
分配到CIDR地址块的组织,仍可以在本组织内根据需要划分子网。子网也只有网络前缀和主机号,只是子网前缀比整个组织网络前缀要长一些。
【例题4.10】某ISP(Internet Service Provider互联网服务提供商)已拥有地址块206.0.64.0/18,现某大学需要800个IP地址,ISP可给该大学一个地址块206.0.68.0/22,含1024个IP 地址。这个大学可自由对本校的各系分配地址块,各系还可在划分本系的地址块。
4.3.9.png
解 :①.一系向学校申请512个地址,需9位表示主机号,故从206.0.68.0/23开始,到2060.0.69.255/23,都作为一系地址。②.二系向学校申请256个地址,需8位表示主机号,只能从206.0.70.0/24开始分配,此时206.0.71.0/24没有分出去,这有256个地址。③.三系和四系分别申请128个地址,需再拿一位区别三系和四系。

注意 : 这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

2、最长前缀匹配(又称为最长匹配或最佳匹配)
⑴、使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果;
⑵、应当从匹配结果中选择具有最长网络前缀的路由è最长前缀匹配;
⑶、网络前缀越长,其地址块就越小,因而路由就越具体。
说明 :如果IP地址分配一开始就采用CIDR,那么我们可以按网络所在地理位置来分配地址块,这样可大大减少路由表中项目。但现在要收回已发地址已十分困难。

【例题4.11】如下图所示
4.3.10.png
显然:选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。

3、使用二叉线索树查找路由表

⑴、为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索。
⑵、IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。
⑶、为了提高二叉线索的查找速度,广泛使用了各种压缩技术。
⑷、唯一前缀------即表中所有的IP地址中,该前缀是唯一的;利用唯一前缀构造二叉线索。
4.3.11.png
匹配时只需匹配唯一前缀(表中所有的IP地址中,该前缀是唯一的),而不必匹配全部32位。当网络唯一前缀匹配后,在进行一次32位的匹配,在每个叶结点中包含对应的网络前缀和子网掩码,搜索到叶结点后,将目的地址与子网掩码相与,再看与网络前缀是否匹配。

4.4 网际控制报文协议ICMP

4.4.1、ICMP(Internet Control Message Protocol)简介

1、ICMP的作用 : ⑴、更有效地转发IP数据报; ⑵、提高成功交付的机会。
2**、ICMP的特点** :
⑴、ICMP是网络层协议è它的报文不是直接传送给数据链路层,而是要封装成IP数据报后传送给数据链路层,目的是解决IP协议中可能出现的不可靠问题。
⑵、ICMP差错报告采用“路由器—源主机”模式è即一旦路由器发现数据报传输错误,将通知源主机,通知报文独立选路。引入控制报文后,该模式被打破。

3、ICMP报文的格式
4.4.1.png

4.4.2、ICMP报文的种类 ①.ICMP差错报告报文;②.查询报文。

1、ICMP差错报告报文
⑴、ICMP的5种差错报告报文
①.终点不可达报文——当路由器或者主机不能交付数据报时,就向源点发送终点不可达报文。
②.源点抑制报文——当路由器或主机由于阻塞而丢弃数据时,就向源点发送源点抑制报文,使源点减慢数据发送速率。
③.超时报文——当路由器收到生存时间为零的数据报时,丢弃该数据报,向源点发送时间超过报文。当终点在预先规定的时间内不能收到数据报全部数据报片时,就将已收到的数据报片丢弃,并向源点发送超时数据报文。
④.参数问题报文——当路由器或者目的主机收到的数据报首部有字段值不正确时,丢弃该数据报,并向源点发送参数问题报文。

⑤.改变路由(重定向)报文——路由器把改变路由报文发送给主机,通知主机下次将数据报发送给别的路由器。

⑵、ICMP差错报告报文的形成方法—— 所有ICMP首部包括类型、代码与检验和三部分共4个字节的信息字段。ICMP差错报文的数据字段格式相同,由收到的需要差错报告的数据报首部及其数据部分前8个字节组成。
4.4.2.png

⑶、不应发送ICMP差错报文的几种情况:
①.对ICMP差错报告报文不再发送ICMP差错报告报文;
②.对第一分片以后的所有数据报分片不发送ICMP差错报告报文;
③.对多播地址的数据报都不发送ICMP差错报告报文;
④.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报文。

2、ICMP的2种查询报文
⑴、回送请求和回答报文èICMP回送请求报文是主机或者路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或者路由器发送ICMP回答报文,目的是测试目的站是否可达以及了解其有关状态。
⑵、时间戳请求与回答报文èICMP时间戳请求报文是请某个主机或者路由器回答当前日期和时间,目的是进行时钟同步和测量时间。

4.4.3、ICMP应用举例

【例题4.12】PING程序è使用ICMP回送请求与回送回答报文测试主机之间的连通性。
4.4.3.png
【例题4.13】traceroute程序è源主机依次发送TTL为1,2,…,的数据报,直到有一个数据报刚刚到达目的主机时,TTL为1,主机不转发数据报,TTL值也不减1。因为数据报封装着无法交付的UDP用户数据报,故目的主机向源主机发送目的不可达的差错控制报文。这其间的每个路由器都因数据报TTL为0发送超时控制报文。对于每个TTL值源主机发送三次同样数据报。
4.4.4.png

4.5 互联网的路由选择协议

4.5.1、路由选择协议的基本概念

1、理想的路由算法

①.算法必须是正确的和完整的è分组能到达目的主机;
②.算法在设计上应简单è网络通讯量尽可能小;
③.算法应具有自适应性è应能适应通信量和网络拓扑的变化;
④.算法应具有稳定性è算法收敛性好;
⑤.算法应该是公平的è除优先级高的用户外,算法对所有用户都是公平的;
⑥.算法应是最佳的è所谓“最佳”只是对于某一特定要求较为合理。

路由选择的复杂性高是因为
①.它是使网络中的所有结点共同协调工作的结果。
②.路由选择的环境往往不断变化。

依据算法能否随网络的通信量和拓扑自适应调整变化划分:
①.静态路由:非自适应路由选择,简单,适合小型网络。
②.动态路由:自适应路由选择,复杂,开销大,适合大型网络。

2、分层次的路由选择协议
互联网主要采用动态的分布式路由选择协议,由于以下两个原因,互联网采用分层次的路由选择协议。

①.互联网规模太大—有几百万个路由器互连。如果让所有路由器知道所有网络怎么样到达,则这种路由表将非常大,处理起来太花时间。所有路由器之间交换信息所需带宽,就会使互联网通信链路饱和。
②.许多单位不愿意外界了解自己单位网路的布局细节,但同时希望连接Internetè为此,将整个互联网划分为许多小的自治系统,记为AS ;AS是单一技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量,以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议,用以确定分组在AS之间的路由;即:一个AS内部可使用多种路由协议和度量,但对其它AS表现出的是一个单一的和一致的路由选择策略。

内部网关协议IGP (Interior Gateway Protocol) è一个AS内使用的路由选择协议,如RIP(Routing information Protocol路由信息协议)、OSPF(Open Shortest Path First开放式最短路径优先)等;

外部网关协议EGP (External Gateway Protocol) è不同自治系统之间使用的路由选择协议,如BGP(Border Gateway Protocol,边界网关协议)等。
4.5.1.png
对于大的AS,还可将所有网络再划分成区域网和主干网。

4.5.2、内部网关协议之一 路由信息协议(RIP)

1、RIP的工作原理
⑴、分布式路由选择协议è就是每一个路由器都要不断地和其它路由器交换信息,交换信息的三个要点:①.和哪些路由器交换信息;②.交换什么信息;③.什么时候交换信息。
⑵、RIP的距离概念è从一个路由器到直连网络的距离定义为1(也可定义为0,不常用),从一路由器到非直连网络的距离定义为所经过的路由器数加1,从网络A经N个路由器到达网络B的距离为N+1。
RIP协议的距离也称为跳数,RIP允许一条路径最多只能包含15个路由器。因此距离为16即表示不可达。故RIP只适用于小型互联网。
⑶、RIP的工作原理简述è最大的优点就是简单;
RIP是一种分布式距离向量路由选择协议,RIP协议要求网络中每一个路由器都要维护从它自己到每一个目标网络的距离记录,形成距离向量,距离向量的集合称之为“路由表”(路由表的最主要信息:目的网络、最短距离、下一跳);
路由器开始工作时,只知道自己直连的网络距离。通过与相邻路由器的不断交换信息,最终都会知道到达本AS中任何一个网络的最短距离和下一跳路由器地址。
RIP选择一条具有最短距离的路由,且不能在两个网络之间同时使用多条路由。

⑵、RIP协议的三个要点

①.仅和相邻路由器交换信息;
②.交换的信息是当前路由器所知道的全部信息,即路由表;
③.按固定时间间隔交换信息,例如30秒一次。

2、距离向量算法:
对每一个相邻路由器发过来的RIP报文,进行以下步骤:
⑴、对地址X的相邻路由器发过来的RIP报文,先修改此报文中所有项目è把下一跳字段中地址都改为X,并把所有距离字段值加1;
⑵、针对修改后的RIP报文中每一表项进行以下操作è
若:原来的路由表中没有目的网络N,则把该项目添加到路由表中;
否则:查看原表项的下一跳路由地址是否为X:
若:下一跳是X,则把收到的表项替换原表项(取用最新消息);
否则:比较距离大小:
若收到的表项距离小于原表项的距离,则更新,
否则什么也不做;
⑶、若3分钟还没收到相邻路由器更新的路由表,则视该路由器不可达,把以此路由器为下一跳的表项距离置16;
⑷、返回。

【例题4.14】已知路由器R1,有表Ra所示的路由表。现收到相邻路由器R4发来的更新信息如表Rb所示,试写出R1更新后的路由表R1a.
****

RIP协议让一个自治系统中的所有路由器都和自己相邻路由器定期交换路由信息,并不断更新其路由表,使得从每一个路由器到每一目的网络的路由都最短。

3、RIP协议报文格式:
RIP2较RIP1协议本身并无多大变化,但性能上有改进;RIP2使用运输层的用户数据报UDP进行传送
4.5.3.png

命令字段——指出报文的意义,比如:1表示请求路由信息,2表示对请求路由信息的响应或更新报文;
必为0字段 为凑足4字节。
地址族标记(地址类别)字段è标示所用的地址协议,比如:2表示IP地址。
路由标记字段è填入自治系统号ASN;其后便是路由表项(如下所示)
在这里插入图片描述
RIP2报文中的路由部分由若干条路由信息组成,每一条路由信息长20B,最多路由信息不超过25条,RIP报文的最大长度=4+20*25=504B,一个RIP报文不够可再用一个或多个RIP报文;

RIP2还具有简单鉴别功能。若使用该功能,则将原来的第一个路由的20字节用作鉴别,此时地址族标识符全置1,路由标记写入鉴别类型,剩下16B鉴别数据。

4、RIP 协议的优缺点
⑴、最大的优点——实现简单,开销较小。
⑵、缺点之一----好消息传播快,坏消息传播慢(典型特点),即:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器;
⑶、缺点之二——RIP 限制了网络的规模:可使用的最大距离为15(16表示不可达);
⑷、缺点之三——网络规模大,开销就大:路由器之间交换的信息是完整路由表。

【例题4.14】好消息传播快,坏消息传播慢的实例分析:
下图说明:[1 16 -] 表示达到网络1的距离为16,直接到达;
[1 3 R2]表示达到网络1的距离为3,下一跳为R2。
4.5.5.png

4.5.3、内部网关协议之二è开放式最短路径优先(OSPF)

1、OSPF协议的特点

事实上,所有自治系统内部使用的路由选择协议都是要寻找一条最短的路径;
OSPF最主要的特征就是使用分布式链路状态路由选择协议,其特点是:
①.使用洪泛法向本自治系统中的所有路由器发信息è即:每个路由器向所有相邻路由器发送信息,而每一个相邻路由器又将此信息发送给与他所有相邻路由器(除刚发来信息的路由器)。
②.发送的信息就是与该路由器相邻的所有路由器的链路状态。

链路状态——就是说明本路由器和哪些路由器相邻,以及该链路的“度量”或者说“代价”(表示费用、距离、时延带宽等等)。
③.只有链路状态发生变化时,路由器才对外用洪泛法发送此信息。

2、OSPF协议的原理

所有路由器通过洪泛法发送链路状态信息,最终都能建立一个链路状态数据库(数据库实质上就是全网络拓扑结构图),每个路由器根据链路状态数据库中的数据,利用一定的算法(比如Dijkstra算法)构建一个到达每个网络的单源最短路径树,最后构造路由表。

说明:⑴、OSPF的链路状态数据库更新较快,收效也快。
⑵、为使OSPF能适用于大规模网络,OSPF将一个AS划分成若干个更小范围,称作“域”。每一个域都有一个32位的区域标识符。一个区域不能太大,最好不超过200个路由器。
划分区域的好处就是将洪泛法范围局限于一个区域内,而不是整个AS,这样可减少整个网络通信量。因而每个区域内的路由器仅知道本区域内完整网络拓扑。
⑶、为使每一区域能与本AS内其他区域通信,OSPF使用层次结构的区域划分。上层区域叫主干区域,标识符是0.0.0.0,主干区域的作用是用来联通其它在下层的区域。每个区域至少有一个区域边界路由器。主干区域中的路由器叫主干路由器。主干路由器中还要有个路由器专门和其它AS交换路由信息,这样的路由器称作自治系统边界路由器。
**4.5.6.png**

3、OSPF的分组格式:
OSPF直接用IP数据报传送,不用UDP,OSPF数据报很短,可减少通信量,不必分片。
4.5.7.png

⑴、OSPF的分组结构

①.版本——当前版本号为2;
②.类型—— 5种类型中的一种;
③.分组长度——包括OSPF首部在内的分组长度,以字节为单位;
④.区域标识符——分组所属区域的标识符;
⑤.路由器标识符——发送该分组的路由器接口的IP地址;
⑥.检验和——检验分组中错;
⑦.鉴别类型—— 1口令,0不用;
⑧.鉴别——鉴别类型为0时填入0,为1时填入8字符口令。

⑵、OSPF的五种分组类型:

①.问候分组——发现和维持邻站的可达性;
②.数据库描述分组——向邻站给出自己链路状态数据库中所有链路状态项目的摘要信息;
③.链路状态请求分组——请求对方发送某些链路状态项目的详细信息;
④.链路状态更新分组——用洪泛法对全网更新链路状态;
⑤.链路状态确认分组——对链路更新分组的确认。

相邻路由器每10秒交换一次问候分组,若40秒没有收到邻站问候分组,则认为邻站不可达,修改链路状态数据库,重新计算路由表。当路由器刚开始工作时,通过问候分组知晓邻站。
OSPF还规定每隔一段时间,如30分钟更新一次数据库。

⑶、OSPF的基本操作:
4.5.8.png

###4.5.4、外部网关协议èBGP(Border Gateway Protocol)边界网关协议

⑴、外部网关协议和内部网关协议的区别:
BGP是不同AS的路由器之间交换路由信息的协议,内部网关协议主要是设法使数据报在一个AS中尽可能有效的从源站传送到目的站,在AS内部不需要考虑其他方面策略。然而BGP使用的环境却不同,主要原因是:
①.互联网规模太大,AS之间路由选择困难;
②.AS之间路由选择必须考虑有关策略,因此路由选择协议应当允许使用多种路由选择策略,使这些策略是为了找出“较好的路径”,而不是最佳路径。

⑵、BGP采用了路径向量路由选择协议

配置BGP时,每一个AS的管理员要选择至少一个路由器作为该AS的“BGP发言人”。BGP发言人往往就是BGP边界路由器,但也可以不是。
①.BGP发言人要交换路由信息,要先建立TCP连接,然后在此连接上交换BGP会话。每一个BGP发言人除了必须运行BGP协议外,还必须运行其所在AS使用的内部网关协议。
②.BGP所交换的网络可达性信息就是要到达某个网络所要经过的一系列AS。各BGP发言人根据采用的策略从收到的路由信息中找出到达各AS的较好路由。
③.BGP路由表结构è(目的网络前缀、下一跳路由、到达该目的网络所经过的AS序列)。因为BGP发言人收到其他BGP发言人发来的路径通知,要检查自己是否在路径序列中,如果在则不采用这个路径序列,以避免兜圈子。
④.BGP邻站刚开始工作时交换整个BGP路由表,以后只需在发生变化时更新有变化的部分,以减少路由器处理开销及带宽。

⑶、四种BGP报文:

①.OPEN(打开)报文——与相邻BGP发言人建立关系,初始化通信;
②.**UPDATE(更新)**报文——用来通告某一路由信息以及要撤销的多条路由;
③.KEEPALIVE(保活)报文——周期性证实邻站连通性;
④.**NOTIFICATION(通知)**报文——用来发送检测到的差错。

4.5.5、路由器的构成

路由器结构可划分为两个部分:路由选择部分+分组转发部分
⑴、路由部分——也称控制部分,核心部件是路由选择处理机。它是根据所选定的路由协议构造出路由表。
⑵、分组转发部分——由三个部分组成:交换结构、一组输入端口、一组输出端口。
交换结构根据转发表对分组进行处理
4.5.9.png

⑶、转发表和路由表的区别——路由表根据网络拓扑计算,转发表则由路由表得到。转发表每行必须包括到目的网络的输出端口及某些MAC信息,以后不加区分。

4.6 IPv6

4.6.1、IPv6的基本首部

IPv6 所引进的主要变化如下:
更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
扩展的地址层次结构。
灵活的首部格式。 IPv6 定义了许多可选的扩展首部。
改进的选项。 IPv6 允许数据报包含有选项的控制信息,其选项放在有效载荷中。
允许协议继续扩充。
支持即插即用(即自动配置)。因此 IPv6 不需要使用 DHCP。
支持资源的预分配。 IPv6 支持实时视像等要求,保证一定的带宽和时延的应用。
IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。原来的 IPv4 首部是 4 字节对齐。
IPv6数据报由两大部分组成:
基本首部 (base header)。
有效载荷 (payload)。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部(extension header),再后面是数据部分。
4.6.1.png

IPv6 将首部长度变为固定的 40 字节,称为基本首部
把首部中不必要的功能取消了,使得 IPv6 首部的字段数减少到只有 8 个。
4.6.2.png
IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。
数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。
这样就大大提高了路由器的处理效率。
在 RFC 2460 中定义了六种扩展首部:
(1) 逐跳选项
(2) 路由选择
(3) 分片
(4) 鉴别
(5) 封装安全有效载荷
(6) 目的站选项

4.6.2、IPv6的地址

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:
(1) 单播 (unicast):传统的点对点通信。
(2) 多播 (multicast):一点对多点的通信。
(3) 任播 (anycast):这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。
在IPv6中,每个地址占 128 位,地址空间大于 3.4´1038 。
为了使地址再稍简洁些,IPv6 使用冒号十六进制记法(colon hexadecimal notation, 简写为colon hex)。
每个 16 位的值用十六进制值表示,各值之间用冒号分隔。例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
在十六进制记法中,允许把数字前面的0省略。例如把0000中的前三个0省略,写成1个0。
冒号十六进制记法可以允许
零压缩 (zero compression)
,即一连串连续的零可以为一对冒号所取代。
FF05:0:0:0:0:0:0:B3 可压缩为:
FF05::B3
注意:在任一地址中只能使用一次零压缩。
冒号十六进制记法可结合使用点分十进制记法的后缀,这种结合在 IPv4 向 IPv6 的转换阶段特别有用。 例如:0:0:0:0:0:0:128.10.2.1
再使用零压缩即可得出: ::128.10.2.1

  CIDR 的斜线表示法仍然可用。

n 例如:60 位的前缀 12AB00000000CD3 可记为:
12AB:0000:0000:CD30:0000:0000:0000:0000/60
或 12AB::CD30:0:0:0:0/60 (零压缩)
或 12AB:0:0:CD30::/60 (零压缩)

4.6.3、从 IPv4 向 IPv6 过渡

向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容:IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。
两种向 IPv6 过渡的策略;
使用双协议栈
使用隧道技术

**双协议栈(dual stack)**是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个 IPv4 和一个 IPv6。
双协议栈的主机(或路由器)记为 IPv6/IPv4,表明它同时具有两种 IP 地址:一个 IPv6 地址和一个 IPv4 地址。
双协议栈主机在和 IPv6 主机通信时是采用 IPv6 地址,而和 IPv4 主机通信时就采用 IPv4 地址。
根据 DNS 返回的地址类型可以确定使用 IPv4 地址还是 IPv6 地址。
**4.6.3.png**
隧道技术在 IPv6 数据报要进入IPv4网络时,把 IPv6 数据报封装成为 IPv4 数据报,整个的 IPv6 数据报变成了 IPv4 数据报的数据部分。
当 IPv4 数据报离开 IPv4 网络中的隧道时,再把数据部分(即原来的 IPv6 数据报)交给主机的 IPv6 协议栈。
**4.6.4.png**

4.7 IP多播

4.7.1、IP多播的基本概念

与单播相比,多播可大大节约网络资源
例如:视频服务器向90个主机传送同样的视频节目,若用单播方式,服务器需要发送90个单播,即同一视频分组需要发送90个副本。若采用多播方式,只需发送1次分组,当分组到达目的局域网时,因为网络有硬件多播功能,不需要复制分组,在中途的路由器上只需要复制少量副本。如下图所示:
4.7.1.png
互联网范围的多播要靠运行多播协议的多播路由器来实现。多播路由器当然也可以转发普通的IP数据报。在互联网上进行多播称**“IP多播**”。

说明 : ⑴、多播数据报的目的地址不能写入某个主机的IP地址,原因是同一时间可能有成千上万的主机加入同一多播组。IP多播需要使用多播IP地址,即目的地址应写入多播组的标识符,即IP地址中的D类地址。
⑵、D类地址以1110开头,从224.0.0.0到239.255.255.255 。显然D类地址不能用于源地址,对多播数据报不产生ICMP差错报文,故PING命令后加多播地址,不会收到响应。D类地址中有些地址已经被IANA指派为永久组地址,只有224.0.1.0至238.255.255.255范围内IP地址可用作全球范围内的多播地址。
⑶、IP多播分两种
①.一种只是在局域网上进行硬件多播;
②.另一种则在互联网范围内进行多播。

4.7.2、在局域网上进行硬件多播

IANA(英特网号码指派管理局)拥有的以太网地址块的高24位为 00–00–5E ,因此TCP/IP协议使用的以太网多播地址块的范围是00–00–5E-00-00-00到00-00-5E-FF-FF-FF 。

IANA拥有的以太网多播地址范围从01-00-5E-00-00-00到01-00-5E-7F-FF-FF;每一个地址中,只有23位可用作多播地址。D类地址的低23位与其构成一一对应关系。故不同的IP多播地址,有可能对应的硬件多播地址相同。
收到多播数据报的主机,要在IP层利用软件进行过滤。
**4.7.2.png**

4.7.3、网际组管理协议IGMP和多播路由选择协议

1、IP多播需要的两种协议——IGMP协议 和多播路由选择协议

⑴、为了使路由器知道多播组成员的信息,这就需要利用网际组管理协议 IGMP (Internet Group Management Protocol)。
⑵、连接在局域网上的多播路由器还必须和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员,这就需要使用多播路由选择协议。
注意 ; ①.IGMP并非对互联网范围内所有多播组成员进行管理的协议。IGMP不知道IP多播组有多少成员,分布在哪些网络。除IGMP外,局域网上多播路由器还要与Internet上其他多播路由器协同工作,这就需要多播路由选择协议;
②.多播转发必须动态适应多播组成员变化;
③.没有参加任何多播组的主机,可以向任意多播组发送多播数据;
④.多播数据报也可通过没有组成员接入的网络。

2**、网际组管理协议IGMP**
IGMP不是一个单独的协议,而是整个IP一个组成部分。

⑴、IGMP工作分两个阶段
①.第一阶段——当某主机想加入一个新多播组时,该主机向多播组的多播地址发送一个IGMP报文,声称自己想要成为该组成员。本地多播路由器收到该IGMP报文后,利用多播路由选择协议把这种组成员关系转发给互联网上其他多播路由器。
②.第二阶段——本地多播路由器要周期性地探寻本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一个主机响应,那么多播路由器就认为该组是活跃的。若几次探寻均无回应,则认为本网络主机已全部离开该组。则不再将该组成员关系转给其他多播路由器。

⑵、IGMP采用以下措施
①.在主机和多播路由器之间所有通信均使用IP多播。
②.多播路由器探寻组成员关系时,只需要对所有组发送一个询问报告,不必对每组发送一个询问报文。询问频率每125秒发送一次。
③.当同一网络上有几个多播路由器时,它们迅速选择其中一个来探寻主机的成员关系。
④.在IGMP的询问报文中有一个数值N,它指明一个最长响应时间(默认为10秒),收到询问时,主机在0到N之间随机选择发送响应所需时延。若一个主机同时参加了几个多播组,则主机对每一个多播组选择不同的随机数。

⑤.同一组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了。若一个主机上有很多进程加入了某个多播组,那么这个主机对发给这个多播组的每个多播数据报只接收一个副本,然后主机的每一个进程发送一个本地复制的副本。

3、多播路由选择协议
⑴、多播路由选择实际上就是要找出以源主机为根节点的多播转发树,该树上的叶子节点就是要收到多播数据报的主机。
注意 : 不同多播组有不同多播转发树,同一多播组对不同的源点,也会有不同的多播转发树。

⑵、多播路由选择协议在转发多播数据报时使用三种方法

①.洪泛与剪除(适合小多播组,且各成员所在的局域网相邻)
反向路径广播RPB策略——每个路由器在收到一个多播数据报时,先检查数据报是否从源点经最短路径传来的?若是,则向所有其它方向转发刚才收到的多播数据报(进入的方向除外),否则,丢弃该数据报。
如果转发树上某个路由器发现它的下游树枝已没有该多播组的成员,就把它和下游树枝一起剪除。

②**.隧道技术**(适合地理位置分散的多播组)
**4.7.3.png**
若R1和R2中间的网络不支持多播,可使用隧道技术,转成单播数据报,从R1发送到R2 。

③**.基于核心的发现技术**(大小范围都适合)

对于每个多播组G,指定一个核心路由器,给出它的IP单播地址。核心路由器创建出对应于多播组G的转发树,如果有R1向核心路由器发送数据报,途中每个路由器都要检查其内容。当数据报到达该组中路由器R2时,R2处理该数据报。若该数据报是多播数据报,则R2向G中成员转发该数据报,若是请求加入G的数据报,则R2将该信息加入路由中,并用隧道技术向R1发送每个数据报副本。

⑶、几种多播路由选择协议

①.距离向量多播路由选择协议 DVMRP (Distance Vector Multicast Routing Protocol)
②.基于核心的转发树 CBT (Core Based Tree)
③.开放最短通路优先的多播扩展 MOSPF (Multicast Extensions to OSPF)
④.协议无关多播-稀疏方式 PIM-SM(Protocol Independent Multicast-Sparse Mode)
⑤.协议无关多播-密集方式 PIM-DM(Protocol Independent Multicast-Dense Mode)

4.8 虚拟专网VPN和网络地址转换NAT

4.8.1、虚拟专网VPN

1、基本概念:
①.本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。
②.全球地址——全球唯一的IP地址,必须向互联网的管理机构申请。
③.专用地址——RFC 1918 指明的只能用于某个机构内部通讯,而不能用于英特网通讯的地址(即:只能作为本地地址的地址,因特网路由器过滤所有目的地址是专用地址的数据报)。

RFC 1918 指明的专用地址:
10.0.0.0到10.255.255.255(记为10/8,即1个A类24位地址块)
172.16.0.0到172.31.255.255(记为172.16/12,即16个B类20位地址块)
192.168.0.0到192.168.255.255(记为192.168/16,即256个C类16位地址块)

2、用隧道技术实现虚拟专用网VPN
4.8.1.png

3、基于 TCP/IP 协议的内联网 intranet 和外联网 extranet

由部门A和B的内部网络所构成的虚拟专用网 VPN 又称为内联网(intranet),表示部门A和B都是在同一个机构的内部。一个机构和某些外部机构共同建立的虚拟专用网 VPN 又称为外联网(extranet)。

4、远程接入VPN

有的公司可能没有分布在不同场所的部门,但有很多流动员工在外地工作。公司需要和他们保持联系,远程接入VPN可满足这种需求。

在外地工作的员工拨号接入互联网,而驻留在员工 PC 机中的 VPN 软件可在员工的PC机和公司的主机之间建立VPN 隧道,因而外地员工与公司通信的内容是保密的,员工们感到好像就是使用公司内部的本地网络。

4.8.2、网络地址转换NAT(Network Address Translation)

1、网络地址转换NAT简介:
网络地址转换 NAT 方法于1994年提出。
需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。
所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成IPG才能和互联网连接。

2、网络地址转换的过程:
⑴、内部主机 X 用本地地址 IPX 和互联网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。
⑵、NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到互联网。
⑶、NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG。
⑷、根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机 X。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值