生物医学工程-计算机网络-网络层-II_第1页
生物医学工程-计算机网络-网络层-II_第2页
生物医学工程-计算机网络-网络层-II_第3页
生物医学工程-计算机网络-网络层-II_第4页
生物医学工程-计算机网络-网络层-II_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章网络层,4.1网络层提供的两种服务4.2网际协议IP4.3划分子网和构造超网4.4网际控制报文协议ICMP4.5因特网的路由选择协议4.6IP多播(自读)4.7虚拟专用网VPN和NAT(自读)4.8IPv6(简单介绍),4.3划分子网和构造超网4.3.1划分子网,1.从两级IP地址到三级IP地址分类的IP地址的设计仍然不够合理。IP地址空间的利用率有时很低。(如一网络有600台主机,分配一个B类网络)给每一个物理网络分配一个网络号使得路由表变得太大。(如一单位有三个网络,每个网络600台主机,需分配3个B类网络)两级的IP地址不够灵活。(分类IP地址空间相差8位),提出新的思路-划分子网:把一个网络通过某种方式划分成若干个子网,使得网络在单位内有区别,但对外仍表现为一个网络。如何划分子网?从主机号借用若干个位作为子网号subnet-id。划分子网只是把IP地址的主机号部分进行再划分,而不改变IP地址原来的网络号net-id。,三级IP地址的由来,IP地址:=,(4-2),划分子网是一个单位内部的事情。单位对外仍然表现为没有划分子网的网络(体现在路由寻址)。凡是从其他网络发送给本单位某主机的数据报,仍然根据数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网。最后将IP数据报直接交付目的主机。从主机号借位作为子网号,主机号位数相应减少。,划分子网的基本思路,145.13.3.10,145.13.3.11,145.13.3.101,145.13.7.34,145.13.7.35,145.13.7.56,145.13.21.23,145.13.21.9,145.13.21.8,所有到网络145.13.0.0的分组均到达此路由器,我的网络地址是145.13.0.0,R1,R3,R2,一个未划分子网的B类网络145.13.0.0,划分为三个子网后对外仍是一个网络,145.13.3.10,145.13.3.11,145.13.3.101,145.13.7.34,145.13.7.35,145.13.7.56,145.13.21.23,145.13.21.9,145.13.21.8,子网145.13.21.0,子网145.13.3.0,子网145.13.7.0,所有到达网络145.13.0.0的分组均到达此路由器,网络145.13.0.0,R1,R3,R2,问题:本单位网络上的路由器收到数据报后如何区分该数据报属于哪一个子网并交付给相应的主机?从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。方法:引入子网掩码(subnetmask)找出IP地址中的子网部分,即通过子网掩码可以找到划分子网后的新的网络号(网络号+子网号)。,2.子网掩码,子网掩码的组成:32位,由一串1跟随一串0组成,1的个数对应于“网络号+子网号”,0对应于主机号。(先有网络,再有与这个网络相对应的子网掩码)如子网号为3的B类网络145.13.3.0。那么它的子网掩码是255.255.255.0。如何通过子网掩码找到划分子网后某IP地址的“新的网络号”呢?,2.子网掩码,IP地址的各字段和子网掩码,145.13.,3.10,两级IP地址,子网号为3的网络的网络号,三级IP地址,主机号,子网掩码,net-id,host-id,子网的网络地址,0,net-id,subnet-id,host-id,145.13.,145.13.3,3.10,(IP地址)AND(子网掩码)=网络地址,网络号net-id,主机号host-id,两级IP地址,网络号,三级IP地址,主机号,子网号,子网掩码,子网的网络地址,net-id,subnet-id,0,逐位进行AND运算,111111111111111111111111,00000000,0000000000000000,1111111111111111,11111111,000000000000000000000000,net-id,net-id,host-id为全0,net-id,网络地址,A类地址,默认子网掩码255.0.0.0,网络地址,B类地址,默认子网掩码255.255.0.0,网络地址,C类地址,默认子网掩码255.255.255.0,host-id为全0,host-id为全0,默认子网掩码,子网掩码,子网掩码是一个网络或一个子网的重要属性。路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。,141.14.01000000,111111111111111111000000,【例4-2】已知IP地址是141.14.72.24,子网掩码是255.255.192.0。试求网络地址。,(a)点分十进制表示的IP地址,(c)子网掩码是255.255.192.0,00000000,141.14.,72.24,141.14.,64.0,.0,01001000,141.14.,.24,(b)IP地址的第3字节是二进制,(d)IP地址与子网掩码逐位相与,(e)网络地址(点分十进制表示),141.14.01000000,111111111111111111100000,【例4-3】在上例中,若子网掩码改为255.255.224.0。试求网络地址,讨论所得结果。,(a)点分十进制表示的IP地址,(c)子网掩码是255.255.224.0,00000000,141.14.,72.24,141.14.,64.0,.0,01001000,141.14.,.24,(b)IP地址的第3字节是二进制,(d)IP地址与子网掩码逐位相与,(e)网络地址(点分十进制表示),不同的子网掩码得出相同的网络地址。但不同的掩码的效果是不同的。,在不划分子网的两级IP地址下,从IP地址能够得出网络地址。划分子网的情况下,从IP地址却不能唯一地得出网络地址来,必须借助子网掩码获得该IP地址的网络地址,而数据报的首部并没有提供子网掩码的信息。因此分组转发的算法也必须做相应的改动。,4.3.2使用子网掩码的分组转发过程,在划分子网的情况下路由器转发分组的算法,(1)从收到的分组的首部提取目的IP地址D。(2)先用各网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。(3)若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。(4)对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。(5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。(6)报告转发分组出错。,128.30.33.1,0,128.30.33.13,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,【例】已知互联网和路由器R1中的路由表。主机H1向H2发送分组。试讨论R1收到H1向H2发送的分组后查找路由表的过程。,主机H1要发送分组给H2,128.30.33.1,0,R1的路由表(未给出默认路由器),128.30.33.13,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,要发送的分组的目的IP地址:128.30.33.138,请注意:H1并不知道H2连接在哪一个网络上。H1仅仅知道H2的IP地址是128.30.33.138,因此H1首先检查主机128.30.33.138是否连接在本网络上如果是,则直接交付;否则,就送交路由器R1,并逐项查找路由表。,128.30.33.1,0,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.13,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,主机H1首先将本子网的子网掩码255.255.255.128与IP地址128.30.33.138相“与”(AND操作),255.255.255.128AND128.30.33.138的计算,255就是二进制的全1,因此255ANDxyz=xyz,这里只需计算最后的128AND138即可。,1281000000013810001010,逐比特AND操作后:10000000128,H1的网络地址,因此H1必须把分组传送到路由器R1然后逐项查找路由表,128.30.33.1,0,R1的路由表(未给出默认路由器),128.30.33.13,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,路由器R1收到分组后就用路由表中第1个项目的子网掩码和128.30.33.138逐比特AND操作,128.30.33.1,0,R1的路由表(未给出默认路由器),128.30.33.13,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,255.255.255.128AND128.30.33.138=128.30.33.128不匹配!(因为128.30.33.128与路由表中的128.30.33.0不一致),R1收到的分组的目的IP地址:128.30.33.138,不一致,路由器R1再用路由表中第2个项目的子网掩码和128.30.33.138逐比特AND操作,128.30.33.1,0,R1的路由表(未给出默认路由器),128.30.33.13,H1,子网1:网络地址128.30.33.0子网掩码255.255.255.128,128.30.33.130,R1,1,R2,子网2:网络地址128.30.33.128子网掩码255.255.255.128,H2,128.30.33.138,0,1,128.30.33.129,H3,128.30.36.2,子网3:网络地址128.30.36.0子网掩码255.255.255.0,128.30.36.12,255.255.255.128AND128.30.33.138=128.30.33.128匹配!这表明子网2就是收到的分组所要寻找的目的网络,R1收到的分组的目的IP地址:128.30.33.138,划分子网在一定程度上缓解了困难。然而在1992年因特网仍然面临三个必须尽早解决的问题:B类地址在1992年已分配了近一半。(IP地址利用率低)因特网主干网上的路由表中的项目数急剧增长。整个IPv4的地址空间最终将全部耗尽。,4.3.3无分类编址CIDR1.网络前缀,归根结底,使用基于“分类IP地址”的编址方法不能更大程度提高IP地址的使用率,也不能更好的减少路由表信息。采用新的思维,使IP地址不进行分类。无分类编址方法:正式名字是无分类域间路由选择CIDR(ClasslessInter-DomainRouting)。,IP编址问题的演进,CIDR消除了传统的A、B、C类地址以及划分子网的概念,可以更加有效地分配地址空间(分类网络间网络位数相差8位;划分子网会浪费些子网及IP地址)。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。,CIDR最主要的特点,无分类的两级编址的记法是:IP地址:=,(4-3)CIDR常使用“斜线记法”:即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(数值对应于三级编址中子网掩码中1的个数,在CIDR寻址时,地址掩码连续1的个数就是网络前缀的个数)。CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”。,无分类的两级编址,CIDR地址块,128.14.32.0/20表示的地址块为212个地址(斜线后面的20是网络前缀的位数)。这个地址块的起始地址是128.14.32.0(最小地址)。斜线记法好处:便于得到可用的地址块、最小地址、最大地址。128.14.32.0/20地址块的最小地址:128.14.32.0128.14.32.0/20地址块的最大地址:128.14.47.255全0和全1的主机号地址一般不使用。,128.14.32.0/20表示的地址,最小、最大地址,1000000000001110001000000000000010000000000011100010000000000001100000000000111000100000000000101000000000001110001000000000001110000000000011100010000000000100100000000000111000100000000001011000000000001110001011111111101110000000000011100010111111111100100000000000111000101111111111011000000000001110001011111111111010000000000011100010111111111111,所有地址的20位前缀都是一样的,CIDR记法的其他形式,10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。10.0.0.0/10隐含地指出IP地址10.0.0.0的掩码是255.192.0.0。此掩码可表示为11111111110000000000000000000000,一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合(为何)因为它使得路由表中的一个项目可以表示很多个原来分类地址的路由.(如:128.14.32.0/20地址块是212=24*28)路由聚合也称为构成超网(supernetting)。CIDR虽然不使用子网了,但仍然使用“掩码”这一名词(地址掩码)。对于/20地址块,它的掩码是20个连续的1。,路由聚合(routeaggregation)与构造超网(supernetting)的概念,构成超网,前缀长度不超过23位的CIDR地址块都包含了多个C类地址,这些C类地址合起来就构成了超网。网络前缀越短,其地址块所包含的地址数就越多。而划分子网是使网络前缀变长。路由聚合与构造超网最大好处:大大减少了路由表信息提高了IP地址的利用率。,CIDR地址块划分举例,因特网,206.0.68.0/22,206.0.64.0/18,ISP,大学X:需要800ip,一系,二系,三系,四系,206.0.71.128/26206.0.71.192/26,206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25,206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26,206.0.70.0/24,206.0.71.0/25,206.0.71.0/26206.0.71.64/26,206.0.71.128/25,206.0.68.0/23,单位地址块二进制表示地址数ISP206.0.64.0/1811001110.00000000.01*16384大学206.0.68.0/2211001110.00000000.010001*1024一系206.0.68.0/2311001110.00000000.0100010*512二系206.0.70.0/2411001110.00000000.01000110.*256三系206.0.71.0/2511001110.00000000.01000111.0*128四系206.0.71.128/2511001110.00000000.01000111.1*128,CIDR地址块划分举例,因特网,206.0.68.0/22,206.0.64.0/18,ISP,大学X,一系,二系,三系,四系,206.0.71.128/26206.0.71.192/26,206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25,206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26,206.0.70.0/24,206.0.71.0/25,206.0.71.0/26206.0.71.64/26,206.0.71.128/25,206.0.68.0/23,这个ISP共有64个C类网络。如果不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目。但采用地址聚合后,只需用路由聚合后的1个项目206.0.64.0/18就能找到该ISP。,2.最长前缀匹配,使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefixmatching)。网络前缀越长,其地址块就越小,因而路由就越具体(morespecific)。最长前缀匹配又称为最长匹配或最佳匹配。,最长前缀匹配举例,收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)206.0.71.128/25(四系),查找路由表中的第1个项目,ANDD=206.0.01000100.0,第1个项目206.0.68.0/22的掩码M有22个连续的1。,M=11111111111111111111110000000000,因此只需把D的第3个字节转换成二进制。,M=11111111111111111111110000000000,206.0.01000100.0,与206.0.68.0/22匹配,最长前缀匹配举例,收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)206.0.71.128/25(四系),再查找路由表中的第2个项目,ANDD=206.0.71.10000000,第2个项目206.0.71.128/25的掩码M有25个连续的1。,M=11111111111111111111111110000000,因此只需把D的第4个字节转换成二进制。,M=11111111111111111111111110000000,206.0.71.10000000,与206.0.71.128/25匹配,最长前缀匹配,DAND(11111111111111111111110000000000)=206.0.68.0/22匹配DAND(11111111111111111111111110000000)=206.0.71.128/25匹配选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。,4.4网际控制报文协议ICMP(InternetControlMessageProtocol),用于IP数据报在传输的过程中出错。使用ICMP提高IP数据报交付成功的机会。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。,ICMP报文的格式,首部,ICMP报文,0,数据部分,检验和,类型,代码,(取决于ICMP报文的类型,如标识符、序列号),8,16,31,IP数据报,前4个字节都是一样的,ICMP的数据部分(长度取决于类型),ICMP报文的前4个字节是统一的格式,共有三个字段:即类型、代码(区分类型种类)和检验和(检验整个ICMP报文)。接着的4个字节的内容与ICMP的类型有关。,4.4.1ICMP报文的种类,总体类型分两种:即ICMP差错报告报文、ICMP询问报文。根据差错报告报文的内容,ICMP差错报告报文又分5种。常用的ICMP询问报文有2种。,5种ICMP差错报告报文,终点不可达-不能交付数据时源点抑制-拥塞而丢弃数据时时间超过-收到TTL为零的数据报时参数问题-数据报首部有字段错误时改变路由(重定向)(Redirect)-当默认路由器发现主机发往某目的地址的数据报的最佳路由不应经过该路由器时。,ICMP差错报告报文数据字段的内容,首部,IP数据报,ICMP的前8字节,装入ICMP报文的IP数据报,IP数据报首部,ICMP差错报告报文,8字节,收到的IP数据报,IP数据报首部,8字节,ICMP差错报告报文,IP数据报的数据字段,常用的2种ICMP询问报文,回送请求和回答报文-用于测试目的站的可达性及有关状态。时间戳请求和回答报文-用于时钟同步和测量时间。,4.4.2ICMP的应用举例PING(PacketInterNetGroper),1PING命令的作用PING用来测试两个主机之间的连通性。2PING命令原理PING使用了回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP或UDP。,PING的应用举例,Traceroute(Tracert)的应用举例,1Traceroute(Tracert)命令的作用Traceroute(Tracert)用来跟踪一个分组从源点到终点的路径。2Traceroute(Tracert)命令原理从源主机向目的主机发送一连串的无法交付的IP数据报。第一个数据报TTL设为1,第二个数据报TTL设为2路由器将数据报TTL相应减为0,故丢弃数据,并向源主机发送ICMP时间超过差错报告报文。,Traceroute(Tracert)的应用举例,4.5因特网的路由选择协议,问题:路由表中的路由信息是怎样获得和维护的呢?-路由器通过路由选择协议获得并维护路由表信息;-路由算法是路由选择协议的核心。,4.5.1路由选择协议的几个基本概念,1.理想的路由算法:正确的和完整的。计算上应简单。应能适应通信量和网络拓扑的变化,有自适应性。具有稳定性。不能频繁收敛。公平的。最佳的:相对于特定要求的合理选择。,从路由算法的自适应性考虑路由选择的策略,静态路由选择策略非自适应路由选择;简单和开销较小,不能及时适应网络状态的变化,用人工配置每一条路由。动态路由选择策略自适应路由选择;能适应网络状态的变化,但实现起来较为复杂,开销也比较大,用路由选择协议获得路由。,分层次(分内外)的路由选择协议,1采用“分层次”协议的原因:若所有路由器知道所有网络应怎样到达,则路由表将非常大:处理时间长,交换路由信息占用很大带宽。单位不愿意外界了解本单位网络的布局细节和采用的路由选择协议。,分层次(分内外)的路由选择协议,2如何“分层次”?:将整个互联网划分为许多较小的自治系统(如某ISP)。自治系统内自主决定采用何种内部路由选择协议;自治系统之间采用另外一种路由选择协议。,因特网两大类路由选择协议,内部网关协议IGP(InteriorGatewayProtocol)用于自治系统内部;如RIP和OSPF协议。外部网关协EGP(ExternalGatewayProtocol)用于自治系统之间;使用最多的是BGP-4。,自治系统AS(AutonomousSystem),定义:(自读)在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。对定义强调下面的事实:尽管一个AS可以使用多种内部路由选择协议和度量,但重要的是一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。,自治系统和内部网关协议、外部网关协议,用内部网关协议(例如,RIP),自治系统B,自治系统A,用外部网关协议(例如,BGP-4),R1,R2,用内部网关协议(例如,OSPF),自治系统之间的路由选择也叫做域间路由选择(interdomainrouting),在自治系统内部的路由选择叫做域内路由选择(intradomainrouting),4.5.2内部网关协议RIP1.工作原理,RIP(RoutingInformationProtocol)是一种分布式的基于距离向量的路由选择协议。每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(一组距离)。,“距离”的定义,从一个路由器到直接连接的网络的距离定义为1。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议中的“距离”也称为“跳数”(hopcount),每经过一个路由器,跳数就加1。这里的“距离”指的是“最短距离”,“距离”的定义,RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多包含15个路由器。“距离”的最大值为16时即相当于不可达。RIP只适用于小型互联网。若两个网络间存在多条路径,则RIP选择一个具有最少路由器的路由(即最短路由)。,分布式路由选择协议(RIP、OSPF),路由表的建立和维护需要每一个路由器和其他路由器交换路由信息。问题1:和那些路由器交换信息?问题2:交换什么信息?问题3:在什么时候交换信息?不同的路由协议解决上述三个问题的方法不同。,RIP协议的三个要点,仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表。按固定的时间间隔交换路由信息,例如,每隔30秒。,RIP协议路由表的建立和更新,路由器刚开始工作时,只知道到直接连接的网络及距离(此距离定义为1)。以后,每一个路由器只和相邻路由器交换并更新路由信息。经过若干次更新后,所有的路由器最终都会知道到达任何一个网络的最短距离和下一跳路由器的地址。,2.距离向量算法(路由器得到交换的路由信息之后),收到相邻路由器(地址为X)的一个RIP报文:(1)修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。(2)对修改后的报文中的每一个项目,重复以下步骤:若项目中的目的网络不在路由表中,则把该项目加到路由表中。否则若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。,否则若收到项目中的距离小于路由表中的距离,则进行更新,否则,什么也不做。(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。(4)返回。,2.距离向量算法(路由器得到交换的路由信息之后),2.距离向量算法总结,1、“修改收到的原来表信息”2、判断是否“新网络”。(1)“新网络”则加入。(2)“旧网络”同路由找最新(3)“旧网络”不同路由找距离3、好久不联系就断绝关系书中140页例题。,RIP协议的优缺点,RIP优点是:实现简单。RIP限制了网络的规模。随着网络规模的扩大,开销也就增加(交换完整路由表)。问题:是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。,R2,R1,正常情况,11,12R1,R1说:“我到网1的距离是1,是直接交付。”,“1”表示“从本路由器到网1”,“1”表示“距离是1”,“”表示“直接交付”,R2,R1,正常情况,11,12R1,R2说:“我到网1的距离是2,是经过R1。”,“1”表示“从本路由器到网1”,“2”表示“距离是2”,“R1”表示经过R1,R2,R1,正常情况,11,12R1,R1说:“我到网1的距离是16(表示无法到达),是直接交付。”,但R2在收到R1的更新报文之前,还发送原来的报文,因为这时R2并不知道R1出了故障。,R2,R1,正常情况,11,12R1,R1收到R2的更新报文后,误认为可经过R2到达网1,于是更新自己的路由表,说:“我到网1的距离是3,下一跳经过R2”。然后将此更新信息发送给R2。,R2,R1,正常情况,11,12R1,R2以后又更新自己的路由表为“1,4,R1”,表明“我到网1距离是4,下一跳经过R1”。,R2,R1,R2,R1,网1出了故障,正常情况,11,116,15R2,12R1,12R1,这样不断更新下去,直到R1和R2到网1的距离都增大到16时,R1和R2才知道网1是不可达的。,这就是坏消息传播得慢。网络出故障的传播时间往往需要较长的时间,4.5.3内部网关协议OSPF(OpenShortestPathFirst),为什么需要新的内部网关协议?随着网络的扩大,RIP协议不适合大型网络。当网络出现故障时RIP协议收敛速度很慢。RIP收敛速度慢的原因是因为使用了“距离向量”算法,因此需要一个能够适应更大网络的路由协议而且不使用“距离向量算法”(即OSPF协议,链路状态算法),4.5.3内部网关协议OSPF(OpenShortestPathFirst),OSPF(开放最短路径优先)的基本特点:“开放”:OSPF协议不是受某一家厂商控制,而是公开的。“最短路径优先”是因为使用了最短路径算法SPF(并不是单纯的指跳数最少)。OSPF是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。OSPF是分布式的链路状态协议。,路由表的建立和维护需要每一个路由器和其他路由器交换路由信息。问题1:和那些路由器交换信息?问题2:交换什么信息?问题3:在什么时候交换信息?OSPF的操作过程分为两个建立链路状态数据库(建立路由表)更新链路状态数据库(更新路由表)建立容易,更新是解决问题的要点,OSPF协议的三个要点,1、向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法(注意,不在获得链路状态数据库时使用,在更新数据库时使用)。2、发送的信息是与本路由器相邻的所有路由器的链路状态(这只是路由器所知道的部分信息)。“链路状态”:指本路由器都和哪些路由器相邻,以及该链路的“度量(metric)”(代价,如时延、带宽)3、只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。,OSPF协议的三个要点,链路状态数据库(link-statedatabase),频繁地交换链路状态信息;所有路由器最终都能建立一个链路状态数据库。这个数据库就是全网的拓扑结构图,它在全网范围内是一致的。,OSPF协议路由表的由来,已知链路状态数据库,即全网的拓扑结构图。每个路由器本身已知所连接的网络和端口。每个路由器的OSPF使用SPF(最短路径算法)算出本路由器的路由表。,OSPF的区域(area),什么是OSPF区域?将一个自治系统再划分为若干个更小范围。为什么要划分OSPF区域?为了使OSPF能够用于规模很大的网络。OSPF区域的基本要求用32位的区域标识符标识每一个区域(用点分十进制表示)。在一个区域内的路由器最好不超过200个。,OSPF的区域(area),问题1:-划分区域后,区域之间如何进行通信?问题2:-划分区域后的自治系统如何和其他自治系统进行通信。方法:-使用层次结构的区域划分。(举例-国家、省,主席、省委书记),划分区域小结,OSPF使用层次结构的区域划分。在上层的区域叫作主干区域(backbonearea)。主干区域的标识符规定为0.0.0.0。主干区域用来连通下层的区域。在一个区域内部的路由器只知道本区域的完整网络拓扑。划分区域的好处:将利用洪泛法交换链路状态信息的范围局限于每一个区域,减少了整个网络上的通信量。,OSPF划分为两种不同的区域,区域0.0.0.1,区域0.0.0.3,主干区域0.0.0.0,1、至其他自治系统,2、连通下层区域,R9,R7,R6,R5,R4,R3,R2,R1,网8,网6,网3,网2,网1,网7,区域0.0.0.2,网4,网5,R8,主干路由器,区域0.0.0.1,区域0.0.0.3,主干区域0.0.0.0,R6至其他自治系统,R9,R7,R6,R5,R4,R3,R2,R1,网8,网6,网3,网2,网1,网7,区域0.0.0.2,网4,网5,R8,区域边界路由器,区域0.0.0.1,区域0.0.0.3,主干区域0.0.0.0,R3、R4、R7连通下层区域,R9,R7,R6,R5,R4,R3,R2,R1,网8,网6,网3,网2,网1,网7,区域0.0.0.2,网4,网5,R8,R6至其他自治系统,OSPF的五种分组类型,类型1:问候(Hello)分组。类型2:数据库描述(DatabaseDescription)分组。类型3:链路状态请求(LinkStateRequest)分组。类型4:链路状态更新(LinkStateUpdate)分组,用洪泛法对全网更新链路状态。类型5:链路状态确认(LinkStateAcknowledgment)分组。,OSPF的基本操作1、建立数据库,当一个路由器刚开始工作时:只能通过问候分组得知与哪些路由器相邻,及数据发往相邻路由器所需的代价。如何获得本”区域“的链路状态数据库?方法一:所有路由器将自己的本地链路状态信息对全网广播。-开销大,不采用。方法二:每一个路由器用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息。然后路由器向对方请求发送自己所缺少的某些链路状态项目的详细信息。-采用,OSPF的基本操作1、建立数据库,确定可达性,R1,R2,OSPF的基本操作2、更新数据库,如何更新链路状态数据库?在网络运行过程中,只要一个路由器的链路状态发生变化,该路由器就使用“链路状态更新分组”,用可靠的洪泛法向全网更新链路状态。可靠-收到分组后进行确认。,OSPF使用的是可靠的洪泛法,更新报文,t,ACK报文,R,R,R,R,t1t2t3t4,4.5.4外部网关协议BGP,问题:为什么不使用内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论