《网际互联协议IP》PPT课件.ppt

上传人:sh****n 文档编号:11511835 上传时间:2020-04-26 格式:PPT 页数:208 大小:5.75MB
返回 下载 相关 举报
《网际互联协议IP》PPT课件.ppt_第1页
第1页 / 共208页
《网际互联协议IP》PPT课件.ppt_第2页
第2页 / 共208页
《网际互联协议IP》PPT课件.ppt_第3页
第3页 / 共208页
点击查看更多>>
资源描述
第5章,网际互联协议IPRFC791,主要内容,5.1IP地址5.2IP报文格式5.3IP路由5.4IP选路5.5动态路由协议5.6IP广播与多播5.7IP分片与重组5.8计算机内部的IP处理5.9IP的未来,5.1IP地址,5.1.1IP地址的分类5.1.2特殊IP地址5.1.3保留IP地址5.1.4子网掩码,5.1IP地址,255,255,255,255,点十进制,最大值,Network,Host,32bits,IP地址,255,255,255,255,点十进制,最大值,Network,Host,1286432168421,11111111,11111111,11111111,11111111,二进制,32bits,1,8,9,16,17,24,25,32,1286432168421,1286432168421,1286432168421,IP地址,255,255,255,255,点十进制,最大值,Network,Host,1286432168421,11111111,11111111,11111111,11111111,10101100,00010000,01111010,11001100,二进制,32bits,172,16,122,204,举例十进制,二进制,1,8,9,16,17,24,25,32,1286432168421,1286432168421,1286432168421,A类:B类:C类:D类:E类:,IP地址分类,8bits,8bits,8bits,8bits,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,A类地址的网络号字段net-id为1字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,B类地址的网络号字段net-id为2字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,C类地址的网络号字段net-id为3字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,A类地址的主机号字段host-id为3字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,B类地址的主机号字段host-id为2字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,C类地址的主机号字段host-id为1字节,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,D类地址是多播地址,net-id24bit,host-id24bit,net-id16bit,net-id8bit,IP地址中的网络号字段和主机号字段,0,A类地址,host-id16bit,B类地址,C类地址,0,1,1,D类地址,1110,多播地址,E类地址,保留为今后使用,11110,0,1,E类地址保留为今后使用,十进制与二进制的转换,00000000=010000000=12811000000=19211100000=22411110000=24011111000=24811111100=25211111110=25411111111=255,1286432168421,各类IP地址的范围,1,A:,位,0NNNNNNN,Host,Host,Host,8,9,16,17,24,25,32,范围(1-126),1,B:,10NNNNNN,Network,Host,Host,8,9,16,17,24,25,32,范围(128-191),1,C:,110NNNNN,Network,Network,Host,8,9,16,17,24,25,32,范围(192-223),1,D:,1110MMMM,MulticastGroup,MulticastGroup,MulticastGroup,8,9,16,17,24,25,32,范围(224-239),主机地址,172.16.2.2,172.16.3.10,172.16.12.12,10.1.1.1,10.250.8.11,10.180.30.118,E1,172.16,12,12,Network,Host,.,.,Network,Interface,172.16.0.010.0.0.0,E0E1,RoutingTable,172.16.2.1,10.6.24.2,E0,11111111,可用的主机地址,1721600,10101100,00010000,00000000,00000000,161514131211109,87654321,Network,Host,00000000,00000001,11111111,11111111,11111111,11111110,.,.,00000000,00000011,11111101,1,2,3,65534,65535,65536,-,.,2,65534,N,2N-2=216-2=65534,IP地址的特点,由因特网编号授权委员会INAN(InternetAssignedNumberAuthority)统一分配非等级的地址结构一个主机同时连到两个网络上多接口主机IP地址同时指明主机和网络用转发器和网桥连接起来的若干局域网具有相同的网络号所有分配到网络号的网络都是平等的主机号置全0可用来指明单个网络的地址,特殊IP地址,网络地址主机号部分为全0,用来表示一个网络,而不是连接到该网络的主机,该地址不能在IP包中出现。如:128.1.0.0表示一个B类网络128.1直接广播地址主机号部分为全1,该地址作为目的地址时表示发给一个网络中的所有主机,但只有单个包通过互联网到达该网络,然后送达该网络中的所有主机。如:目的地址为128.1.255.255的包是发给一个B类网络128.1中的所有主机。,有限广播地址255.255.255.255表示在本网络中的一次广播。本机地址0.0.0.0当计算机启动时能自动获得它的IP地址,但,启动协议也使用IP来通信。当使用这个启动协议时,计算机不可能支持一个正确的IP源地址,为了处理这一情况,用0.0.0.0指本计算机。,特殊IP地址,回送地址127.*.*.*用于测试网络应用程序,当一个应用程序发送数据给另一个应用程序时,数据向下穿过协议栈到达IP软件,IP软件把数据向上通过协议栈返回第二个程序。因此,程序员可以很快地在一台计算机上测试程序逻辑,而无需两台计算机,也无须通过网络发送包。根据习惯,经常使用主机号1,所以常见的回送地址是127.0.0.1,特殊IP地址,特殊IP地址小结,保留IP地址,为了解决IP地址缺乏问题,IANA在RFC1918中规定:保留一些IP地址空间,用于私有网内,不在公共网内存在。A类:10.0.0.0/8B类:172.1631.0.0/16C类:192.168.0.0/24,子网掩码,IP地址的设计不合理,不够用,浪费,将IP地址扩展(IPV6),划分子网,全1,全0,子网掩码,网络172.16.0.0,172.16.0.0,不划分子网的IP地址,172.16.0.1,172.16.0.2,172.16.0.3,.,172.16.255.253,172.16.255.254,Network172.16.0.0,划分子网的IP地址,172.16.1.0,172.16.2.0,172.16.3.0,172.16.4.0,子网的寻址,172.16.2.200,172.16.2.2,172.16.2.160,172.16.2.1,172.16.3.5,172.16.3.100,172.16.3.150,E0,172.16,Network,Network,Interface,172.16.0.0172.16.0.0,E0E1,NewRoutingTable,2,160,Host,.,.,172.16.3.1,E1,子网的寻址,172.16.2.200,172.16.2.2,172.16.2.160,172.16.2.1,172.16.3.5,172.16.3.100,172.16.3.150,172.16.3.1,E0,E1,172.16,2,160,Network,Host,.,.,Network,Interface,172.16.2.0172.16.3.0,E0E1,NewRoutingTable,Subnet,子网掩码,255,255,0,0,IP地址,缺省的子网掩码,有8位子网号的子网掩码,Network,Host,Network,Host,Network,Subnet,Host,11111111,11111111,00000000,00000000,划分子网要付出代价,一个B类地址本来可容纳216-2=65534台主机划出6位子网号后最多可有:26-2=62个子网每个子网最多可有210-2=1022台主机共容纳621022=63364台主机比划分子网前少容纳65534-63364=2170台主机,不划分子网的子网掩码,A类,255.0.0.0,255.255.0.0,255.255.255.0,石油大学202.194.145.属于C类地址,没划分子网,故子网掩码为255.255.255.0,B类,C类,子网规划,Othersubnets,192.168.5.16,192.168.5.32,192.168.5.48,20个子网每个子网内5个主机C类地址:192.168.5.0,5.2IP数据报,IP是TCP/IP协议族中最为核心的协议,所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,IP提供不可靠、无连接的数据报传送服务。不可靠是指IP不能保证IP数据报能成功地到达目的地。无连接是指IP并不维护任何关于后续数据报的状态信息。,IP数据报,首部,数据,前一部分:20字节的固定首部,后一部分:长度可变的选项字段、填充,比特04816192431,IP数据报格式,固定部分,可变部分,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,数据部分,首部,传送,IP数据报,发送在前,可变部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,数据部分,首部,传送,IP数据报,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,服务类型8位用来获得更好的服务,01234567,LowDelayHighThroughputHighReliabilityLowCost,ToS,0,ToS最多有一位置1,ToS字段推荐值,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,标志(flag)占3bit,目前只有前两个比特有意义。标志字段的最低位是MF(MoreFragment)。MF1表示后面“还有分片”。MF0表示最后一个分片。标志字段中间的一位是DF(DontFragment)。只有当DF0时才允许分片。,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,偏移=0/8=0,偏移=0/8=0,偏移=1400/8=175,偏移=2800/8=350,1400,2800,3799,2799,1399,3799,需分片的数据报,数据报片1,首部,数据部分共3800字节,首部1,首部2,首部3,字节0,数据报片2,数据报片3,1400,2800,字节0,IP数据报分片的举例,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,生存时间(8bit)记为TTL(TimeToLive),这是为了限制数据报在网络中的生存时间,其单位最初是秒,但为了方便,现在都用“跳数”作为TTL的单位。数据报每经过一个路由器,其TTL值就减1。,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,运输层,网络层,首部,TCP,UDP,ICMP,IGMP,OSPF,数据部分,IP数据报,常用的协议字段值是:UDP17TCP6ICMP1IGMP2BGP3EGP8IGP9OSPF89TP429,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,01101110,10100000,11000100,00000010,首部检验和RFC1071,00010000,00010000,00000010,10101100,+,00111011,10010001,发送端,接收端,16bit,字1,16bit,字2,16bit,字n,数据报首部,IP数据报,16bit,字1,16bit,字2,16bit,字n,数据部分,首部,0,4,8,16,19,24,31,版本,标志,生存时间,协议,标识,服务类型,总长度,片偏移,填充,首部检验和,源地址,目的地址,可选字段(长度可变),比特,首部长度,0,1,2,3,4,5,6,7,D,T,R,C,未用,优先级,数据部分,比特,固定部分,可变部分,IP数据报首部的可变部分,IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。,选项,安全和处理限制(用于军事领域)记录路径(让每个路由器都记下它的IP地址)时间戳(让每个路由器都记下它的IP地址和时间)宽松的源站选路(为数据报指定一系列必须经过的IP地址)严格的源站选路(要求只能经过指定的这些地址,不能经过其他的地址)。这些选项很少被使用,并非所有的主机和路由器都支持这些选项。选项字段一直都是以4字节作为界限,在必要的时候插入值为0填充字节。这样就保证IP首部始终是4字节的整数倍,5.3IP路由,路由就是在网络之间转发数据包的过程对基于TCP/IP的网络,路由是部分网际协议与其他网络协议服务结合使用,提供在基于TCP/IP的大型网络中单独网段上的主机之间互相通信的能力TCP/IP网段由IP路由器互相连接,IP路由器是从一个网段向其他网段传送IP数据报的设备,这个过程叫做IP路由,IP路由,IP路由器将两个或更多物理上相互分离的IP网段连接起来,所有的IP路由器都有两个基本特征:IP路由器是多宿主主机。多宿主主机就是用两个或更多网络连接接口连接每个物理上分隔的网段的网络主机。IP路由器可以对转发其他TCP/IP主机发送的数据包。,IP路由,TCP/IP主机使用路由表维护有关其它IP网络及IP主机的信息路由表对每个本地主机提供关于如何与远程网络和主机通信的所需信息,IP路由,当计算机准备发送IP数据报时,它将自己的IP地址和接收者的目标IP地址插入到IP报头;然后计算机检查目标IP地址,将它与本地维护的IP路由表相比较,根据比较结果执行相应操作。该计算机执行以下三种操作之一:将数据报向上传到本地主机IP之上的协议层。经过其中一个连接的网络接口转发数据报。丢弃数据报。,IP路由,IP在路由表中搜索与目标IP地址最匹配的路由,从最精确的路由到最不精确的路由,按以下顺序排列:与目标IP地址匹配的路由(主机路由)与目标IP地址的网络ID匹配的路由(网络路由)默认路由如果没有找到匹配的路由,则IP丢弃该数据报。,5.4IP选路,5.4.1选路的原理5.4.2ICMP重定向5.4.3ICMP路由器发现报文,5.4IP选路,IP层工作流程,IP选路,更新路由表有三种方式:用route命令配置静态路由由路由守护程序动态更新路由由ICMP重定向更新路由,IP选路,IP搜索路由表的几个步骤:(1)搜索匹配的主机地址;(2)搜索匹配的网络地址;(3)搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)。匹配主机地址步骤始终发生在匹配网络地址步骤之前。,IP选路,选路机制,它搜索路由表并决定向哪个网络接口发送分组。选路策略,只是一组决定把哪些路由放入路由表的规则。IP执行选路机制,而路由守护程序则一般提供选路策略。,IP选路,路由表中的每一项都包含下面这些信息:目的IP地址。它既可以是一个完整的主机地址,也可以是一个网络地址,由该表项中的标志字段来指定。下一站(或下一跳)路由器(next-hoprouter)的IP地址,或者有直接连接的网络IP地址。标志。其中一个标志指明目的IP地址是网络地址还是主机地址,另一个标志指明下一站路由器是否为真正的下一站路由器,还是一个直接相连的接口。为数据报的传输指定一个网络接口。,IP选路,IP路由选择主要完成以下的功能:寻找能与目的IP地址完全匹配的表项(网络号和主机号都要匹配)。如果找到,则把报文发送给该表项指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。寻找能与目的网络号相匹配的表项。如果找到,则把报文发送给该表项指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。目的网络上的所有主机都可以通过这个表项来处置。,IP选路,寻找标为“默认(default)”的表项。如果找到,则把报文发送给该表项指定的下一站路由器。如果上面这些步骤都没有成功,那么该数据报就不能被传送。,IP选路,数据报从bsdi到sun的传输,IP选路,首先考虑一个简单的例子:我们的主机bsdi有一个IP数据报要发送给主机sun,双方都在同一个以太网上,数据报的传输过程如上图所示。当IP从某个上层收到这份数据报后,它搜索路由表,发现目的IP地址(140.252.13.33)在一个直接相连的网络上(以太网140.252.13.0)。于是,在表中找到匹配网络地址。数据报被送到以太网驱动程序,然后作为一个以太网数据帧被送到sun主机上。IP数据报中的目的地址是sun的IP地址(140.252.13.33),而在链路层首部中的目的地址是48位的sun主机的以太网接口地址。这个48位的以太网地址是用ARP协议获得的。,主机bsdi有一份IP数据报要传到主机上,它的IP地址是192.48.96.9,经过的前三个路由器,如图:,IP选路,首先,主机bsdi搜索路由表,但是没有找到与主机地址或网络地址相匹配的表项,因此只能用默认的表项,把数据报传给下一站路由器,即主机sun。当数据报从bsdi被传到sun主机上以后,目的IP地址是最终的信宿机地址(192.48.96.9),但是链路层地址却是sun主机的以太网接口地址。当sun收到数据报后,它发现数据报的目的IP地址并不是本机的任一地址,而sun已被设置成具有路由器的功能,因此它把数据报进行转发。经过搜索路由表,选用了默认表项。,IP选路,根据sun的默认表项,它把数据报转发到下一站路由器netb,该路由器的地址是140.252.1.183。数据报是经过点对点SLIP链路被传送的,采用了最小封装格式。当netb收到数据报后,它执行与sun主机相同的步骤:数据报的目的地址不是本机地址,而netb也被设置成具有路由器的功能,于是它也对该数据报进行转发,采用的也是默认路由表项,把数据报送到下一站路由器gateway(140.252.1.4)。,IP选路,位于以太网140.252.1上的主机netb用ARP获得对应于140.252.1.4的48位以太网地址,这个以太网地址就是链路层数据帧头上的目的地址。路由器gateway也执行与前面两个路由器相同的步骤,它的默认路由表项所指定的下一站路由器IP地址是140.252.104.2。,IP选路,该例子中的所有主机和路由器都使用了默认路由。事实上,大多数主机和路由器可以用默认路由来处理任何目的,除非它在本地局域网上。数据报中的目的IP地址始终不发生任何变化,所有的路由选择决策都是基于这个目的IP地址。每个链路层可能具有不同的数据帧首部,而且链路层的目的地址(如果有的话)始终指的是下一站的链路层地址。在例子中,两个以太网封装了含有下一站以太网地址的链路层首部,以太网地址一般通过ARP获得。,IP选路,用子网掩码目的站IP地址DN(网络号+子网号)若N=该路由器某个端口的网络号,则直接交付,否则转若路由表中有D的指明主机路由,则按指明的路由器转发,否则转若路由表中有到达网络N的路由,则按表中转发,否则转若有默认路由,则按默认路由转发,否则转报告路由选择出错,IP选路,如果不能传送的数据报来自本机,那么一般会向生成数据报的应用程序返回一个“主机不可达”或“网络不可达”的错误。完整主机地址匹配在网络号匹配之前执行,只有当它们都失败后才选择默认路由。默认路由,以及下一站路由器发送的ICMP间接报文,是IP路由选择机制中功能强大的特性。为一个网络指定一个路由器,而不必为每个主机指定一个路由器,这是IP路由选择机制的另一个基本特性,这样做可以极大地缩小路由表的规模。,ICMP重定向,当一个路由器收到一份数据报时,发现该IP数据报应该被发送到另一个路由器,收到数据报的路由器就要发送ICMP重定向差错报文给IP数据报的发送端。,ICMP重定向,只有当主机可以选择路由器发送分组的情况下,我们才可能看到ICMP重定向报文。1)我们假定主机发送一份IP数据报给R1。这种选路决策经常发生,因为R1是该主机的默认路由。2)R1收到数据报并且检查它的路由表,发现R2是发送该数据报的下一站。当它把数据报发送给R2时,R1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器所在的LAN)。这样就给路由器发送重定向报文给原始发送端提供了线索。,ICMP重定向,3)R1发送一份ICMP重定向报文给主机,告诉它以后把这样的数据报发送给R2而不是R1。4)主机收到ICMP重定向报文后修改路由表。重定向一般用来让具有很少选路信息的主机逐渐建立起更完善的路由表。,ICMP重定向,ICMP重定向报文的格式,ICMP重定向,ICMP重定向报文的接收者必须查看三个IP地址:导致重定向的IP地址(即ICMP重定向报文的数据位于IP数据报的首部);发送重定向报文的路由器的IP地址(包含重定向信息的IP数据报中的源地址);应该采用的路由器IP地址(在ICMP报文中的47字节)。,ICMP重定向,关于ICMP重定向报文有很多规则:重定向报文只能由路由器生成,而不能由主机生成重定向报文是为主机而不是为路由器使用的如果路由器启用了动态选路协议,则ICMP重定向就自动取消,ICMP路由器发现报文,初始化路由表的方法有两种:在配置文件中指定静态路由利用ICMP路由器通告和请求报文,ICMP路由器发现报文,主机在引导以后要广播或多播传送一份路由器请求报文,一台或更多台路由器响应一份路由器通告报文。路由器定期地广播或多播传送它们的路由器通告报文,允许每个正在监听的主机或路由器相应地更新它们的路由表。,ICMP路由器发现报文,RFC1256确定了这两种ICMP报文的格式ICMP路由器请求报文的格式,ICMP路由器发现报文,ICMP路由器通告报文的格式,ICMP路由器发现报文,路由器操作:当路由器启动时,它定期在所有广播或多播传送接口上发送通告报文除了定期发送主动提供的通告报文以外,路由器还要监听来自主机的请求报文,并发送路由器通告报文以响应这些请求报文如果子网上有多台路由器,由系统管理员为每个路由器设置优先等级,ICMP路由器发现报文,主机操作:主机在引导期间一般发送三份路由器请求报文,每三秒钟发送一次。一旦接收到一个有效的通告报文,就停止发送请求报文。主机也监听来自相邻路由器的请求报文,这些通告报文可以改变主机的默认路由器。如果没有接收到来自当前默认路由器的通告报文,那么默认路由器会超时。,ICMP路由器发现报文,实现路由器发现报文一般由用户进程(守护程序)创建和处理。这两种ICMP报文是新加的,不是所有的系统都支持它们。尽管RFC建议尽可能用IP多播传送,但是路由器发现还可以利用广播报文来实现。,5.5动态路由协议,5.5.1引言5.5.2动态选路5.5.3RIP:路由信息协议5.5.4OSPF:开放最短路径优先5.5.5BGP:边界网关协议,5.5动态路由协议,路由是指导IP报文发送的一些路径信息。动态路由协议是一些动态生成(或学习到)路由信息的协议。动态路由协议是网络设备如路由器(Router)学习网络中路由信息的方法之一,动态路由协议,协议使路由器能动态地随着网络拓扑中产生(如某些路径的失效或新路由的产生等)的变化,更新其保存的路由表,使网络中的路由器在较短的时间内,无需网络管理员介入自动地维持一致的路由信息,使整个网络达到路由收敛状态,从而保持网络的快速收敛和高可用性。,动态路由协议,路由器学习路由信息、生成并维护路由表的方法包括:直连路由(Direct)静态路由(Static)动态路由(Dynamic),动态路由协议,直连路由是由链路层协议发现的,一般指去往路由器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于活动状态(Active),路由器就会把通向该网段的路由信息填写到路由表中去,直连路由无法使路由器获取与其不直接相连的路由信息。,动态路由协议,静态路由是由网络规划者根据网络拓扑,使用命令在路由器上配置的路由信息,这些静态路由信息指导报文发送,静态路由方式完全依赖于网络规划者。动态路由方式使路由器能够按照特定的算法自动计算新的路由信息,适应网络拓扑结构的变化。,有类和无类路由协议,动态选路,动态路由是基于路由协议(RoutingProtocol)来实现的。路由协议定义了路由器与其他路由器通信时的一些规则。路由协议规定了路由器是如何来学习路由,是用什么标准来选择路由以及路由信息的行为等。,动态选路,每一种动态路由协议都有他自己的路由算法,算法是解决问题的一系列的步骤。一个路由选择算法至少要具备以下几个必要的步骤:向其它路由器传递路由信息;接收其它路由器的路由信息;根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由表;根据网络拓扑的变化及时做出反映,调整路由生成新的路由表,同时把拓扑变化以路由信息的形式向其它的路由器宣告。,动态选路,度量值:当到达同一个网段有两条或两条以上的不通路径时,动态路由协议会选择一条最优的路径传输数据。常用的度量值有:跳数(HopCount):跳数度量可以简单的记录路由器的跳数。带宽(Bandwidth):带宽度量将会选择高带宽的路径,而不是低带宽的路径。负载(Load):负载度量反映了占用沿途链路的流量大小,较优的路径应该是负载最低的路径。,动态选路,时延(Delay):时延度量数据包经过一条路径所花费的时间,使用时延作为度量的路由选择协议将会选择最低时延最为最优的路径。可靠性(Reliability):可靠性度量用来度量链路在某种情况下发生故障的可能性,可靠性可以是变化的或是固定的。成本(Cost):成本是用来描述路由优劣的一个通用的术语,最小成本(最高成本)仅仅指的是路由选择协议基于自己特定的度量路径的一种看法。,动态选路,收敛(Convergence):使所有路由表都达到一致的状态的过程叫做收敛,全网实现信息共享以及所有路由器计算的最优路径所花费的时间的总和是收敛时间。当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器上有一个进程称为路由守护程序(routingdaemon),它运行选路协议,并与其相邻的一些路由器进行通信。路由守护程序根据它从相邻路由器接收到的信息,更新内核中的路由表。,动态选路,动态选路并不改变内核在IP层的选路方式。内核搜索路由表,查找主机路由、网络路由以及默认路由的方式并没有改变。路由守护程序将选路策略(routingpolicy)加入到系统中,选择路由并加入到内核的路由表中。在像Internet这样的系统中,目前采用了许多不同的选路协议。Internet是以一组自治系统(AS,AutonomousSystem)的方式组织的,每个自治系统通常由单个实体管理。,动态选路,每个自治系统可以选择该自治系统中各个路由器之间的选路协议。这种协议我们称之为内部网关协议IGP(InteriorGatewayProtocol)或域内选路协议(intradomainroutingprotocol)。最常用的IGP是选路信息协议RIP。一种新的IGP是开放最短路径优先OSPF(OpenShortestPathFirst)协议。它意在取代RIP。,动态选路,外部网关协议EGP(ExterierGatewayProtocol)或域内选路协议的分隔选路协议用于不同自治系统之间的路由器。新EGP是当前在NSFNET骨干网和一些连接到骨干网的区域性网络上使用的是边界网关协议BGP(BorderGatewayProtocol)。,RIP:路由信息协议,RIP报文包含在UDP数据报中,RIP:路由信息协议,使用IP地址时的RIPV1的报文格式,RIP:路由信息协议,命令字段为1表示请求,2表示应答。请求表示要求其他系统发送其全部或部分路由表,应答则包含发送者全部或部分路由表。还有两个舍弃不用的命令(3和4),两个非正式的命令:轮询(5)和轮询表项(6)。版本字段在RIPV1中为1,而第2版RIP将此字段设置为2。后面的20字节指定地址系列(addressfamily)(对于IP地址来说,其值是2)、IP地址以及相应的度量。,RIP:路由信息协议,采用这种20字节格式的RIP报文可以通告多达25条路由。上限25是用来保证RIP报文的总长度为2025+4=504,小于512字节。由于每个报文最多携带25个路由,因此,为了发送整个路由表,经常需要多个报文。RIP的度量是以跳计数的。,RIP:路由信息协议,正常运行RIP常用的UDP端口号是520。初始化在启动一个路由守护程序时,它先判断启动了哪些接口,并在每个接口上发送一个请求报文,要求其它路由器发送完整的路由表。接收到请求如果这个请求是特殊请求,那么路由器就将完整的路由表发送给请求者。否则,就处理请求中的每一个表项,如果有连接到指明地址的路由,则将度量设置成我们的值,否则将度量置为16(度量为16是一种称为“无穷大”的特殊值,它意味着没有到达目的的路由)。然后发回响应。,RIP:路由信息协议,接收到响应使响应生效,可能会更新路由表,即:增加新表项、对已有的表项进行修改或是删除某表项。定期选路更新每过30秒,所有或部分路由器会将其完整路由表发送给相邻路由器。发送路由表可以是广播形式的(如在以太网上),或是发送给点对点链路的其它终点的。触发更新每当一条路由的度量发生变化时,就对它进行更新。不需要发送完整路由表,而只需要发送那些发生变化的表项。,RIP:路由信息协议,每条路由都有与之相关的定时器,如果运行RIP的系统发现一条路由在3分钟内未更新,就将该路由的度量设置成无穷大(16),并标注为删除。再过60秒,如果仍然没有收到更新信息,将从本地路由表中删除该路由,以保证该路由的失效已被传播开。,RIP:路由信息协议,度量RIP所使用的度量是以跳(hop)计算的,所有直接连接接口的跳数为1。,图所示的路由器和网络,画出的4条虚线是广播RIP报文。,RIP:路由信息协议,路由器R1通过发送广播到N1通告它与N2之间的跳数是1,同时也通过发送广播给N2通告它与N1之间的跳数为1。同样,R2通告它与N2的度量为1,与N3的度量为1。如果相邻路由器通告它与其他网络路由的跳数为1,那么我们与那个网络的度量就是2,这是因为为了发送报文到该网络,我们必须经过那个路由器。由于每个路由器都发送其路由表给邻站,因此,可以判断在同一个自治系统AS内到每个网络的路由。,RIP:路由信息协议,如果在该AS内从一个路由器到一个网络有多条路由,那么路由器将选择跳数最小的路由,而忽略其他路由。跳数的最大值是15,这意味着RIP只能用在主机间最大跳数值为15的AS内,度量为16表示到无路由到达该IP地址。,RIP:路由信息协议,这种方法看起来很简单,但它有一些缺陷。首先,RIPV1没有子网地址的概念。例如,如果标准的B类地址中16位的主机号不为0,那么RIP无法区分非零部分是一个子网号,或者是一个主机地址。其次,在路由器或链路发生故障后,需要很长的一段时间才能稳定下来,这段时间通常需要几分钟。另外,采用跳数作为路由度量忽略了其他一些应该考虑的因素。同时,度量最大值为15则限制了可以使用RIP的网络规模的大小。,RIP:路由信息协议,RIPV2RFC1388Malkin1993a中对RIP定义进行了扩充,通常称其结果为RIPV2。这些扩充并不改变协议本身,而是利用一些标注为“必须为0”的字段来传递一些额外的信息。如果RIP忽略这些必须为0的字段,那么,RIP和RIPV2可以互操作。,RIP:路由信息协议,RIPV2的报文格式,RIP:路由信息协议,对于RIPV2来说,其版本字段为2。选路域(routingdomain)是一个选路守护程序的标识符,它指出了这个数据报的所有者。选路标记(routingtag)是为了支持外部网关协议而存在的,它携带着一个EGP和BGP的自治系统号。每个表项的子网掩码应用于相应的IP地址上。,RIP:路由信息协议,下一站IP地址指明发往目的IP地址的报文该发往哪里,该字段为0意味着发往目的地址的报文应该发给发送RIP报文的系统。RIPV2提供了一种简单的鉴别机制,可以指定RIP报文的前20字节表项地址系列为0 xffff,路由标记为2,表项中的其余16字节包含一个明文口令。RIPV2除了广播外,还支持多播,这可以减少不收听RIPV2报文的主机的负载。,OSPF:开放最短路径优先,OSPF(OpenShortestPathFirst)是一种广泛使用的路由协议,采用OSPF协议的自治系统,经过合理的规划可以有效地扩展计算机网络的规模。OSPF是除RIP外的另一个内部网关协议,它克服了RIP的所有限制。OSPF是一个链路状态协议。,OSPF:开放最短路径优先,链路状态协议:路由器并不与其邻站交换距离信息,它采用的是每个路由器主动地测试与其邻站相连链路的状态,将这些信息发送给它的其他邻站,而邻站将这些信息在自治系统中传播出去。每个路由器接收这些链路状态信息,并建立起完整的路由表。链路状态协议总是比距离向量协议收敛更快。,OSPF:开放最短路径优先,作为一种链路状态协议,OSPF还有着一些优于RIP的特点:OSPF可以对每个IP服务类型计算各自的路由集。给每个接口指派一个无维数的费用。当对同一个目的地址存在着多个相同费用的路由时,OSPF在这些路由上平均分配流量,我们称之为流量平衡。OSPF支持子网,子网掩码与每个通告路由相连。,OSPF:开放最短路径优先,路由器之间的点对点链路不需要每端都有一个IP地址,我们称之为无编号网络。采用了一种简单鉴别机制。可以采用类似于RIPV2机制的方法指定一个明文口令。OSPF采用多播,而不是广播形式,以减少不参与OSPF的系统负载。随着大部分厂商支持OSPF,在很多网络中OSPF将逐步取代RIP。,OSPF:开放最短路径优先,OSPF是目前内部网关协议中使用最为广泛、性能最优的一个协议,它具有以下特点:可适应大规模的网络路由变化收敛速度快无路由自环支持变长子网掩码(VLSM),OSPF:开放最短路径优先,支持等值路由支持区域划分提供路由分级管理支持验证支持以组播地址发送协议报文,OSPF:开放最短路径优先,OSPF协议报文OSPF使用五种类型的路由协议包,在各个路由器间进行交换信息:,OSPF路由协议包类型,OSPF:开放最短路径优先,每种协议包都包含24字节的OSPF协议包的首部,OSPF协议包的首部,OSPF:开放最短路径优先,Hello协议用于寻找和维护路由器所连网络上的邻居关系。通过周期性地发出Hello包,来确定和维护邻居路由器接口是否仍在起作用。数据库描述包是类型往为2的OSPF包,在形成邻接过程中的路由器之间交换数据库描述包,且它们描述链路状态数据库。,OSPF:开放最短路径优先,数据库描述包格式,I位是Init位,对数据库序列中的第一个包,设置为1。M位设置为1,表示在序列中还有更多的数据库描述包。MS位是主从位,在数据库描述包交换期间,1表示路由器是主路由器,而0表示路由器是从路由器。包的其余部分是一个或多个链路状态确认(LinkStateAcknowledgementLSA),OSPF:开放最短路径优先,链路状态请求包是类型为3的OSPF包。,路由状态请求包格式,OSPF:开放最短路径优先,链路状态更新包是类型为4的OSPF包,它们用于实现LSA的传播。,链路状态更新包的格式,OSPF:开放最短路径优先,链路状态确认包是类型为5的OSPF包,其格式中除了OSPF包首部外,包括LSA的首部。这些包发送到三个地址之一:多点传送地址AllDRouters多点传送地址AllSPFRouters单点传送地址,OSPF:开放最短路径优先,OSPF包承载的内容路由器链路状态宣告网络链路状态宣告汇总链路状态宣告外部自治系统链路状态宣告,OSPF:开放最短路径优先,类型5是ASExternalLSA,它被用于说明自治系统外的网络,ASExternalLSA用于说明到外部网络的路由。链路状态ID域包含IP网络号或0.0.0.0,如果它描述一个默认路由,此时的作为掩码也是0.0.0.0。,OSPF协议的运行,Hello协议的运行Hello协议的作用是发现和维护邻居关系、选举DR和BDR。在广播型网络上每一个路由器周期性地广播Hello包(目的地址是AllSPFRouter),使得它能够被邻居发现。,OSPF协议的运行,每一个路由器的每个接口都有一个相关的接口数据结构,当Hello包里的特定参数相匹配时,Hello包才能被接收。从Hello包里得到的邻居被放在路由器的邻居列表里。当从接收到的Hello包里看到自己时,就建立了双向通信。,OSPF协议的运行,DR和BDR的产生经过Hello协议交换过程后,每一个路由器获得了希望成为DR和BDR的那些路由器的信息,按照下列步骤选举DR和BDR:在路由器同一个或多个路由器建立双向的通信以后,就检查每个邻居Hello包里的优先级、DR和BDR域;从这些合格的路由器中建立一个没有宣称自己为DR的子集;,OSPF协议的运行,如果在这个子集里有一个或多个邻居(包括它自己的接口)在BDR域宣称自己为BDR,则选举具有最高优先级的路由器,如果优先级相同,则选择具有最高RouterID的那个路由器为BDR;如果在这个子集里没有路由器宣称自己为BDR,则在它的邻居里选择具有最高优先级的路由器为BDR,如果优先级相同,则选择具有最大RouterID的路由器为BDR;在宣称自己为DR的路由器列表中,如果有一个或多个路由器宣称自己为DR,则选择具有最高优先级的路由器为DR,如果优先级相同,则选择具有最大RouterID的路由器为DR;,OSPF协议的运行,如果没有路由器宣称为DR,则将最新选举的BDR作为DR;如果是第一选举某个路由器为DR/BDR或没有DR/BDR被选举,则要重复2到6步,然后是第8步;将选举出来的路由器的端口状态作相应的改变,DR的端口状态为DR,BDR的端口状态为BDR,否则的话为DRother。,OSPF协议的运行,链路状态数据库的同步数据库同步过程从建立邻接关系开始,在完全邻接关系已建立时完成。当路由器的端口状态为ExStart时,路由器通过发一个空的数据库描述包来协商“主从”关系以及数据库描述包的序号,RouterID大的为主,反之为从。序号也以主路由器产生的初始序号为基准,以后的每一次数据库描述包的发送,序号都要加1。,OSPF协议的运行,主路由器发送链路状态描述包(数据库描述包),从路由器接收链路状态描述包后来检查自己的链路状态数据库,如果发现链路状态数据库里没有改项,则进行添加该项,并将该项加入链路状态请求列表,准备向主路由器请求新的链路状态,并向主路由器发送确认包。主路由器收到链路状态请求包时,发出链路状态的更新包,进行链路状态的更新。从路由器收到链路状态更新包后发出确认包,进行确认,表示收到该更新包,否则主路由器就在重发定时器的启动下进行重复发送。,OSPF协议的运行,每一个路由器向它的邻居发送数据库描述包来描述自己的数据库,每一个数据库描述包由一组链路状态广播组成,邻居路由器接收该数据库描述包,并返回确认消息。当所有的数据库请求包都已被主路由器处理后,主从路由器也就进入了邻接完成状态。当DR与整个区域内所有的路由器都完成邻接关系时,整个区域中所有路由器的数据库也就同步了。,OSPF协议的运行,路由表的产生和查找当链路状态数据库达到同步以后,各个路由器就利用同步的数据库以自
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!