Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > 【RIP-路由报文结构分析】

【RIP-路由报文结构分析】

收藏

本作品内容为【RIP-路由报文结构分析】,格式为 docx ,大小 665546 KB ,页数为 25页

【RIP-路由报文结构分析】


('1实验十九RIP路由报文结构分析【实验目的】1.掌握动态路由协议RIP的报文结构,工作原理及工作过程;2.掌握RIP路由协议两个版本的区别。【实验学时】2学时【实验环境】在本实验中需要3台路由器、1台交换机、1台协议分析仪。3台路由器运行RIP路由协议,使用协议分析仪采集数据包,对采集到的数据进行分析。将所有的路由器都接入到交换机上,并在交换机上配置端口映像功能,具体IP分配如下表:表6-1设备IP地址分配表设备接口IP地址连接到交换机RSR-AFA0/0192.168.1.1/24FA0/8RSR-ALO0192.168.10.1/24--RSR-BFA0/0192.168.1.2/24FA0/9RSR-BFA0/1192.168.2.1/24FA0/10RSR-BLO0192.168.20.1/24--RSR-CFA0/0192.168.2.2/24FA0/7RSR-CLO0192.168.30.1/24--RG-PATS协议分析仪Eth0172.16.1.4FA0/24设备连接如下图所示:图6-4实验拓扑图2【实验内容】1、学习RIP协议的报文格式;2、掌握RIP协议的工作原理,了解RIP1和RIP2的区别;3、了解RIP协议的缺陷。【实验流程】图6-5实验流程图【实验原理】RIP协议简介RIP路由协议有RIPv1和RIPv2两个版本,RIPv1是有类路由协议,其不支持VLSM,不支持验证,路由更新采用的广播的方式;而RIPv2是无类路由协议,支持VLSM,支持验证,路由更新采用组播的方式。RIPv2首先在RFC1388“携带额外信息的RIP版本2”中定义,发布于1993年1月。该RFC在1732中做了修订,最终在1998年11月发布的RFC2453“RIP版本2”中定稿。为确保RIP今后可以和TCP/IP一起使用,有必要定义一种能和IPv6一起使用的版本,1997年RFC2080发布了标题为“用于IPv6的RIPng”文档。RIP路由协议进行路由信息交换是通过发送两种不同类型RIP报文实现的:RIP请求和3响应,这些报文作为常规TCP/IP报文,使用UDP传输,使用UDP端口520。该端口按照如下方式使用:•RIP请求报文发送到UDP目的端口520,这些报文可以使用520作为源端口,也可以使用一个短暂端口号。•为回答RIP请求面发送的响应报文使用源端口520,其目的端口等于RIP请求报文使用的端口。•未经请求的RIP响应报文发送时使用的源端口和目的端口均为520。RIP报文格式RIP报文包含在UDP数据报中,如下图所示:图6-6封装在UDP数据报的RIP报文下图所示为RIP的报文格式:图6-7RIP消息格式•命令:命令字段为1表示请求,2表示应答。还有两个舍弃不用的命令(3和4),两个非正式的命令:轮询(5)和轮询表项(6)。请求表示要求其他系统发送其全部或部分路由表。应答则包含发送者全部或部分路由表。•版本:版本字段通常为1,而第2版RIP将此字段设置为2。4•地址族标识:紧跟在后面的20字节指定地址系列(addressfamily)(对于IP地址来说,其值是2)、IP地址以及相应的度量。采用这种20字节格式的RIP报文可以通告多达25条路由。上限25条是用来保证RIP报文的总长度为20×25+4=504,小于512字节。由于每个报文最多携带25个路由,因此为了发送整个路由表,经常需要多个报文。如下图是使用RG-PATS网络协议分析仪采集到的RIP报文:图6-8RG-PATS网络协议分析仪采集RIP消息格式RIP报文类型RIP使用两种报文类型:请求和响应1、请求报文:当路由器刚刚接入到网络上,或路由器有一些超时的项目,它就发送请求报文,请求报文可以询问整个路由表的信息或某个具体的路由信息,如下图所示:图6-9对于特定的路由表信息的请求5图6-10对于所有的路由表信息的请求如下图是使用RG-PATS网络协议分析仪采集到的RIP请求报文:图6-11RG-PATS网络协议分析仪采集RIP请求报文2、响应报文响应可以是询问的或非询问的,询问的响应仅在回答请求时才发送出来。它包含了在对应的请求中指明的终点的信息,而非询问的响应则是定期发送,如每隔30s或当路由表中有变化时,这种响应有时叫做更新分组,如下图所示:图6-12响应报文6如下图是使用RG-PATS网络协议分析仪采集到的RIP响应报文:图6-13RG-PATS网络协议分析仪采集RIP响应报文RIPv2报文格式设计RIPv2版本是为了克服RIPv1版本的某些缺点,RIPv2的设计者没有增大每一个项目的报文长度,他们只是把RIPv1中的对TCP/IP协议填入0的那些字段改为一些新的字段。对其基础上增加了一些扩展特性,以适用于现代网络的路由选择环境,这些扩展我包括:无类别路由协议:RIPv2的每一个路由条目都携带子网掩码,因此RIPv2支VLSM。多播方式路由更新:RIPv1使用广播方式把RIP报文发送给每一个邻居,RIPv2使用多播的方式向其他使用RIPv2的路由器发出更新报文,使用的多播地址是224.0.0.9,采用多播方式的好处在于,本地网络上和RIP路由选择无关的设备不需要花费时间解析路由器广播的更新报文。与RIPv1一样,RIPv2操作使用的端口号为UDP520,并且数据报文最大不超过512字节。7图6-14RIPv2报文格式•命令(Command)——只取值1或2,1表示该消息是请求消息,2表示该消息是响应消息。其他的取值都不被使用或保留用作私有用途。•版本号(Version)——对于RIPv2,该字段的值设为2,如果设置为0或者虽设置为1但消息是无效的RIPv1格式,那么这个消息将被丢弃。RIPv2处理无效的RIPv1消息。•地址族标识(AddressFamilyIdentifier,AFI)------对于IP该项设置为2。只有一个例外的情况,该消息是路由器(或主机)整个路由选择表的请求。•路由标记(RouteTag)——提供这个字段用来标记外部外部路由或重分配到RIPv2协议中的路由。默认的情况是使用这个16位的字段来携带从外部路由选择协议注入到RIP中的路由的自治系统号。虽然RIP协议自己并不使用这个字段,但是再多个地点和某个RIP域相连的外部路由,可能需要使用这个路由标记字段通过RIP域来交换路由信息。这个字段也可以用来把外部路由编成“组”,以便在RIP域中更容易的控制这些路由。•IP地址(IPAddress)——路由的目的地址。这一项可以是主网络地址,子网地址或者主机路由地址。•子网掩码(SubnetMask)——是一个确认IP地址的网络和子网部分的32位的掩码。•下一跳(NextHop)——如果存在的话,它标识一个比通告路由器的地址更好的下一跳地址。换句话说,它指出的下一跳地址,其度量值比在同一个子网上的通告路由器更靠近目的地。如果这个字段设置位全0(0.0.0.0),说明通告路由器的地址是最好的下一跳地址。•度量(Metric)——Metric在RIP里面指的就是跳数。该字段的取值范围是1~16之间。如下图是使用RG-PATS网络协议分析仪采集到的RIPv2报文:8图6-15RG-PATS网络协议分析仪采集RIPv2报文RIP协议工作原理每一个路由器定期(每隔30s)向邻居路由器广播自己的路由表,邻居路由器就是指与其直接相连的所有路由器,如下图所示:路由器R1邻居为路由器R2和R4,路由器R2的邻居为路由器R1和R3,而路由器R1和R3不是邻居。RIP让网络中所有的路由器与其邻居路由器不断交换距离信息,并不断更新路由表。图6-16运行RIP协议的网络拓扑91、初始化路由表当路由器加入到网络时,首先进行路由表初始化,初始状态下,在路由表中只有直连连接的网络,度量值设置为0,下一跳字段空,下图给出了上图中网络拓扑结构中各个路由器的初始路由表。图6-17初始状态路由表2、路由表的更新下图表示了RIP路由算法的流程,根据RIP路由更新算法,以路由器R2为例,路由器R2收到从邻居路由器R1和路由器R3发来的路由表,这些路由表列出了一些目的网络及相应的跳数。根据RIP路由更新算法,首先把邻居站路由表中的跳数增加1,这是因为,如果路由器R1中的路由表项为(192.168.4.0/24),则意味着从路由器R1到网络192.168.4.0需要1跳的距离,那从路由器R2经过路由器R1到网络192.168.4.0,就要增加1跳的距离。然后根据RIP路由更新算法,把邻居路由表中的每一个表项与路由器R2中旧的路由表项进行比较,得到路由器R2的新路由表。图6-18RIP路由更新算法103、定期选路更新每过30秒,所有或部分路由器会将其完整路由表发送给相邻路由器。发送路由表可以是广播形式的(如在以太网上),或是发送给点对点链路的其他终点的。RIP优点及缺陷由于RIP路由协议算法简单,所以RIP具有操作直接、易于实现且对路由器的处理能力要求很低等优点,这使它对于小型自治系统(AS)特别适合。然而,协议的简单性也导致了一些重大的缺陷。对于数据报的发送而言,跳数经常不是用于选择路由的最佳度量,此外算法本身也存在很多问题,包括收敛(使所有路由器对同一选路信息达成一致所经过的时间)速度慢,以及选路环路、计数到无穷等。RIP包含了几个专门的特性用来解决其中部分问题,但其他问题则属于协议固有缺陷。RIP协议也采用很多特定特性来解决RIP的算法问题,比如水平分割、具有毒性逆转的水平分割、触发更新、抑制等特性。【实验步骤】步骤一:设定RIPv1路由协议实验环境1、配置端口映射S3750#S3750#configureterminalS3750(config)#monitorsession1destinationinterfaceFastEthernet0/24S3750(config)#monitorsession1sourceinterfaceFastEthernet0/1–10both2、在路由器上配置RIPv1路由协议RA#configureterminalRA(config)#interfaceFastEthernet0/0RA(config-if)#ipaddress192.168.1.1255.255.255.0RA(config)#interfaceLoopback0RA(config-if)#ipaddress192.168.10.1255.255.255.0RA#configureterminalRA(config)#routerripRA(config-router)#network192.168.1.0RA(config-router)#network192.168.10.0RB#configureterminalRB(config)#interfaceFastEthernet0/0RB(config-if)#ipaddress192.168.1.2255.255.255.0RB(config)#interfaceLoopback0RB(config-if)#ipaddress192.168.20.1255.255.255.0RB#configureterminalRB(config)#interfaceFastEthernet0/1RB(config-if)#ipaddress192.168.2.1255.255.255.0RB#configureterminal11RB(config)#routerripRB(config-router)#network192.168.1.0RB(config-router)#network192.168.2.0RB(config-router)#network192.168.20.0RC#configureterminalRC(config)#interfaceFastEthernet0/0RC(config-if)#ipaddress192.168.2.2255.255.255.0RC(config)#interfaceLoopback0RC(config-if)#ipaddress192.168.30.1255.255.255.0RC#configureterminalRC(config)#routerripRC(config-router)#network192.168.2.0RC(config-router)#network192.168.30.0步骤二:使用RG-PATS网络协议分析仪采集RIPv1数据包当拓扑中的所有路由器启动了RIP路由进程,这时所有路由器都会以广播的方式通过其接口发送一个请求信息,请求其邻居所有的路由表信息,如下图所示,因为在此拓扑中,路由器RA和路由器RB是通过192.168.1.0网段相连,路由器B与路由器C是通过192.168.2.0网络相连,所以其向外发送请求时是通过192.168.1.1、192.168.1.2、192.168.2.1、192.168.2.2接口发送出去的。其使用的UDP协议的520端口与邻居进行交换信息的;在RIPv1数据包中其使用的命令为1,说明其是一个请求报文;版本信息为1,这说明其运行的RIPv1;目标地址全为0,这是路由器请求邻居的所有路由表信息;其它字段全为0;图6-19RG-PATS网络协议分析仪采集RIPv1报文12当路由器收到请求信息后,路由器会将其路由表发送给其邻居,如下图所示:图6-20RG-PATS网络协议分析仪采集RIPv1报文路由器RB接收到RA的请求报文后,并以响应报文发送给路由器RA,响应报文中包含了所有的路由表信息,上图中公布了目标网络192.168.2.0、192.168.30.0、192.168.20.0信息,并将其度量也公布给邻居路由器RA;响应报文的命令为2,则此报文为响应报文;地址系列为2,由此报文为IP报文;目标网络、度量值则为路由表信息;但在此更新报文中没有目标为192.168.1.0的路由信息,因为RIP路由协议为了防止环路,采用了水平分割的技术。步骤三:使用RG-PATS协议数据发生器发送RIPv1数据包把路由器RA关掉,把RG-PATS协议仪连接到网络中,使用RG-PATS协议仪的协议数据发生器编辑一个数据包,模拟路由器A发送路由更新信息。在RG-PATS协议仪上打开数据包发生器,编辑一个RIPv1数据包。首先点击菜单栏“添加”,如下图所示:图6-21添加报文13添加一个RIPv1协议模板,点击确认添加,如下图所示:图6-22添加RIPV1协议模板修改协议模板的每个值:EthernetII封装:•目标物理地址设置为广播地址FF-FF-FF-FF-FF-FF•原物理地址设置为路由器RA的fa0/0接口MAC地址•类型:0800IP封装:•版本信息:4•IP头长度:5•服务类型:C0•总长度:52•标识:0•标志:2•生存时间:64•协议类型:17•发送IP地址:192.168.1.1•目标IP地址:255.255.255.255UDP封装:•源端口号:520•目标端口号:520•UDP长度:32RIPv1封装:•命令:2•版本信息:1•地址系列:2•目标网络:192.168.10.0•度量值:1编辑完成数据包后,需要点击菜单栏的校验和,进行数据检验,如下图所示:图6-23校验和计算14下图是编辑完成并经过校验的数据包:图6-24编辑完成的RIPV1报文数据包编辑完成之后,首先在路由器RB使用showiproute命令查看路由器RA没有关闭前的路由表,如下图所示:15图6-25查看路由表然后关闭路由器RA,等一会之后,再用showiproute命令查看路由器RB的路由表,这时去住192.168.10.0网络的路由信息不存在了,如下图所示:图6-26查看路由表这时,在路由器RB上使用debugiprippacket命令,找开debug信息测试,再使用RG-PATS协议仪的协议数据发生器发送刚编辑好的数据包,点击协议数据发器的菜单栏的“发送”键,如下图所示:16图6-27数据包发送数量选择循环发送,发送次数为10,点击“开始”按键开始发送。这时路由器RB上显示如下信息:图6-28debug命令测试在路由器RB上使用命令showiproute查看是否学习到192.168.10.0网络的路由,如下图所示:17图6-29查看路由表通过上图的显示,路由器RB学习到了关于192.168.10.0网络的路由信息。也可以使用协议数据发生器再编辑一个关于192.168.50.0网络的路由信息,开销设置为3,如下图是经过编辑并校验完成的数据包:18图6-30编辑完成的数据包编辑完成后,点击发送,在路由器RB上使用showiproute命令查看,学习到关于去住192.168.50.0网络的路由信息。如下图所示:图6-31查看路由表步骤四:设定RIPv2路由协议实验环境RA#configureterminalRA(config)#interfaceFastEthernet0/0RA(config-if)#ipaddress192.168.1.1255.255.255.0RA(config)#interfaceLoopback0RA(config-if)#ipaddress192.168.10.1255.255.255.0RA#configureterminalRA(config)#routerripRA(config-router)#network192.168.1.0RA(config-router)#network192.168.10.0RA(config-router)#version219RA(config-router)#noauto-summaryRB#configureterminalRB(config)#interfaceFastEthernet0/0RB(config-if)#ipaddress192.168.1.2255.255.255.0RB(config)#interfaceLoopback0RB(config-if)#ipaddress192.168.20.1255.255.255.0RB#configureterminalRB(config)#interfaceFastEthernet0/1RB(config-if)#ipaddress192.168.2.1255.255.255.0RB#configureterminalRB(config)#routerripRB(config-router)#network192.168.1.0RB(config-router)#network192.168.2.0RB(config-router)#network192.168.20.0RB(config-router)#version2RB(config-router)#noauto-summaryRC#configureterminalRC(config)#interfaceFastEthernet0/0RC(config-if)#ipaddress192.168.2.2255.255.255.0RC(config)#interfaceLoopback0RC(config-if)#ipaddress192.168.30.1255.255.255.0RC#configureterminalRC(config)#routerripRC(config-router)#network192.168.2.0RC(config-router)#network192.168.30.0RC(config-router)#version2RC(config-router)#noauto-summary步骤五、使用RG-PATS网络协议分析仪采集RIPv2数据包当拓扑中的所有路由器启动了RIPv2路由进程,这时所有路由器都会以组播的方式通过其接口发送路由更新信息,采用的组播地址为224.0.0.9,其使用的UDP协议的520端口与邻居进行交换信息的;在RIPv2数据包中其使用的命令为2,说明其是一个响应报文;版本信息为2,这说明其运行的RIPv2;报文中还有关于目标网络、子网信息、下一跳、度量值等信息;因为RIPv2是无类的路由协议,支持VLSM,所以在其发送路由信息的时候需求携带子网信息的。如下图所示:20图6-32RG-PATS网络协议分析仪采集RIPv2报文如上图所示,路由器RB发送路由信息给路由器RA,其报文中包含去往目标网络192.168.2.0、192.168.20.0、192.168.30.0三个网络的路由信息,并且去往目标度量值分别为1、1、2跳。在路由器RA上使用showiproute命令查看一下路由表信息,如下所示:RA#shiprouteCodes:C-connected,S-static,R-RIPB-BGPO-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea-candidatedefaultGatewayoflastresortisnosetC192.168.1.0/24isdirectlyconnected,FastEthernet0/0C192.168.1.1/32islocalhost.R192.168.2.0/24[120/1]via192.168.1.2,00:00:24,FastEthernet0/0C192.168.10.0/24isdirectlyconnected,Loopback0C192.168.10.1/32islocalhost.R192.168.20.0/24[120/1]via192.168.1.2,00:00:24,FastEthernet0/0R192.168.30.0/24[120/2]via192.168.1.2,00:00:24,FastEthernet0/0图6-33showiproute路由表21步骤六、使用RG-PATS协议数据发生器发送RIPv2数据包把路由器RA关掉,把RG-PATS协议仪连接到网络中,使用RG-PATS协议仪的协议数据发生器编辑一个数据包,模拟路由器A发送路由更新信息。在RG-PATS协议仪上打开数据包发生器,编辑一个RIPv2数据包。首先点击菜单栏“添加”,如下图所示:图6-34添加数据包添加一个RIPv1协议模板,点击确认添加,如下图所示:图6-35添加RIPV2协议模板修改协议模板的每个值:EthernetII封装:•目标物理地址设置为224.0.0.4组播MAC地址01-00-5E-00-00-09•原物理地址设置为路由器RA的fa0/0接口MAC地址•类型:0800IP封装:•版本信息:4•IP头长度:5•服务类型:C0•总长度:52•标识:00B2•标志:0•生存时间:1•协议类型:17•发送IP地址:192.168.1.1•目标IP地址:224.0.0.9UDP封装:•源端口号:520•目标端口号:520•UDP长度:3222RIPv1封装:•命令:2•版本信息:2•地址系列:2•目标网络:192.168.10.0•子网掩码:255.255.255.0•下一跳:0.0.0.0•度量值:1编辑完成数据包后,需要点击菜单栏的校验和,进行数据检验,如下图所示:图6-36计算校验和下图是编辑完成并经过校验的数据包:图6-37编辑完成的RIPV2数据包23数据包编辑完成之后,首先在路由器RB使用showiproute命令查看路由器RA没有关闭前的路由表,如下图所示:图6-38showiproute路由表然后关闭路由器RA,等一会之后,再用showiproute命令查看路由器RB的路由表,这时去住192.168.10.0网络的路由信息不存在了,如下图所示:图6-39showiproute路由表这时,在路由器RB上使用debugiprippacket命令,找开debug信息测试,再使用RG-PATS协议仪的协议数据发生器发送刚编辑好的数据包,点击协议数据发器的菜单栏的“发送”键,如下图所示:24图6-40发送数据包数量选择循环发送,发送次数为10,点击“开始”按键开始发送。这时路由器RB上显示如下信息:图6-41debug命令测试在路由器RB上使用命令showiproute查看是否学习到192.168.10.0网络的路由,如下图所示:图6-42showiproute路由表25通过上图的显示,路由器RB学习到了关于192.168.10.0网络的路由信息。【思考问题】1.RIPv1和RIPv2两个版本有什么区别?2.RIPv2在RIPv1基础上做了那些扩展?3.试列举RIP的缺点及其相应的补救办法?',)


  • 编号:1700774286
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:25页
  • 格式:docx
  • 风格:商务
  • PPT页数:665546 KB
  • 标签:

广告位推荐

相关其他文档更多>