专题5 RIP路由技术
专题背景 越来越多的企业拥有多个分支机构,各分支机构间以及企业总部和分支机构间均需要能够互相通信。 应用场景举例 移动新设立多个分公 司,要求使用RIP动态 路由协议实现各分公 司与移动总部网络进 行对接以便开展各项 业务。
需求分析 1、使用RIP协议实现移动总部与各个分公司之间的数据互通。 2、要求总部路由信息单播更新给各分公司。
解决方案 使用动态路由协议RIP(Routing Information Protocol)维护移动公司路由信息,实现企业总部和分公司的全网互联互通。 RIP
专题目标 学完本专题,您应该能够 本专题重点: 掌握距离矢量路由协议 理解RIP路由协议的工作原理 掌握RIP协议配置方法 距离矢量路由协议环路避免 RIP协议工作原理
专题内容 主要内容 3.1 距离矢量路由协议 3.2 环路避免机制 3.3 RIP协议 3.4 RIPv2
3.1 距离矢量路由协议
距离矢量路由协议 距离矢量路由选择算法发送完整的路由选择表到相邻的路由器,然后,相邻的路由器会将接收到的路由表项和自己原有的路由表进行组合,以完善路由器的路由表。由于远程网络的确认信息并没实地亲自去查找,故戏称为:传言路由。 距离:有多远 矢量:从哪个方向 A B C D 路由表 路由表 路由表 路由表 路由器每经过特定时间周期向邻居发送自己的路由表
依照传闻进行路由选择
不一致的路由表项-1 互联网络已经收敛, 每个路由器都维护一张完整的路由表。 路由表 路由表 路由表
不一致的路由表项-2 缓慢的收敛过程,容易造成不一致的路由表项。 路由表 路由表 路由表
不一致的路由表项-3 路由器C认为到目标网络10.4.0.0 下一跳为路由器B。 路由表 路由表 路由表
不一致的路由表项-4 路由器A用不正确的跳数更新自己的路由表 路由表 路由表 路由表
结果:计数到无穷大 网络10.4.0.0的跳数在三个路由器的路由表无限的增加 路由表 路由表 路由表
路由环路 目标网络地址为10.4.0.0的数据包在路由器B和 C之间循环传递,形成环路。
3.2 环路避免机制
环路避免机制一:定义最大值 定义一个最大跳数防止跳数的无限增大 路由表 路由表 路由表
环路避免机制二:水平分割 路由器从某个接口接收到的更新信息不允许再从这个接口发回去 路由表 路由表 路由表
环路避免机制三:路由毒化 路由器主动把路由表中发生故障的路由项以度量值最大(16)的形式通告给邻居,以使邻居能及时得知网络发生故障。 路由表 10.4.0.0 metric 16 10.4.0.0 metric 16 路由表 路由表 路由表
环路避免机制四:毒性逆转 从某个接口接收到毒化路由(被标记为16跳的路由)后,从该接口回发毒化路由。毒性逆转不遵循水平分割的原则。 路由表 10.4.0.0 metric 16 10.4.0.0 metric 16 路由表 路由表 路由表 使S0口不再理会关于10.4.0.0的错误路由信息
环路避免机制六:触发更新 网络拓扑发生变化时,路由器将立即发送路由更新信息。 网络10.4.0.0不可达 网络10.4.0.0不可达 当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。 Sleep Timer:触发更新计时器,这个单位是毫秒!! , 其他单位都是秒,RIP使用带毒性逆转(poison reverse)的水平分割(split horizon)和触发更新。不像普通的定期更新,触发更新只要在有路由的度量值发生改变时就会产生,而且触发更新不会引起接收路由器重置它们的更新计时器;因为如果这么做的话,网络拓扑的改变会造成触发更新“风暴”,还需要使用另外一个计时器,当一个触发更新传播时,这个计时器被随机的设置为1-5s之间的数值;在这个计时器超时前不能发送并发的触发更新。
3.3 RIP协议
RIP路由协议概述 RIP是为TCP/IP环境中开发的第一个路由选择协议标准。 RIP是一个距离-向量路由选择协议 ,管理距离为120。 RIP协议的处理是通过UDP520的端口来操作的。 RIP定义了两种信息类型:请求信息和响应信息。 RIP使用一个单一的路由度量(跳步数)测量到达目的网络的距离,最大度量为15跳,16跳表示不可达。 H3C的RIP管理距离:100
RIP路由协议工作原理 RIP定义了2种信息类型: Request message(请求信息)和Response message(应答信息). 请求信息 用来向邻居请求发送一个update(更新), 应答信息 运载着这个被请求的update. 在刚启动的时候,RIP从启用了RIP的接口上向外广播请求信息,接下来RIP进程进入一个循环状态:监听来自其他路由器的请求信息和应答信息.当邻居收到请求信息以后,就发送应答信息给这个发出请求信息的路由器,这个应答信息就包罗了它们的路由表。当发出请求信息的这个路由器收到了应答信息以后,如果这个update里包含的路由条目比它本身所拥有的更新,或者本身的路由表里没有这个条目,那就把它放进自己的路由表中.如果本身的路由表有这个条目,并且update里的路由条目的metric,也就是跳数大于它自己的条目的跳数,而且这个update是源自它本身的条目指向的下一跳路由器,那么该路由在一段holddown周期里将标记为不可达.如果这个holddown周期超出,那个邻居仍然发送拥有较高metric(较多跳数)的update作为应答,那么发出请求信息的路由器将接受这一新的metric RIP
RIP计时器—更新计时器 RIP的计时器及其特性 更新计时器 路由器每隔30秒从每个启动RIP协议的接口发送出路由更新信息。 更新计时器并且包含一个随机变量用来防止表的同步。 路由更新的目的地址是到所有主机的广播地址255.255.255.255。 它包含了一个随机变量用于防止路由表的同步,结果一个典型的RIP处理单个更新的时间大约是25-35s。RIP_JITTER是Cisco IOS中专有的一个随机变量,它缩短到一般更新时间的15%(即4.5s)。因此,在CISCO中的实际更新时间是上25.5~30秒之间,即30秒减去一个在4.5秒内的随机值。
RIP计时器—失效计时器 RIP的计时器及其特性 失效计时器 当有一条新的路由建立成功后,超时计时器就会被初始化为180s。 每次接收这条路由的更新报文时,超时计时器重置成计时器的初始化值。 如果一条路由的更新在180s内没有收到,这条路由的跳数将变成16。
RIP计时器—刷新计时器 RIP的计时器及其特性 刷新计时器 刷新计时器的时间长度一般比无效计时器的时间长60s为240s。如果刷新计时器也超时了,则该路由表项会从从路由表中删除。 RFC 1058定义刷新计时器为一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间,120秒。
RIP计时器—抑制计时器 RIP的计时器及其特性 抑制计时器 在失效计时器过后,如果接收到一条路由更新的跳数大于路由表已记录的该路由的跳数那么将会引起该路由进入长达180s(即6个路由更新周期)的抑制状态阶段。在抑制状态内,路由器不接收跳数大于路由表中已记录路由的路由条目。 H3C抑制计时器:120秒 在rip的database里面invalid timer时间 180秒到了 ,就进入holddown 180秒, 但是 flush 计时器是和invalid 一起开始的, 所以总共240 秒一到. 本路由就会被清除掉,,而不是等到 holddown 的180秒 走完, 总共要等 invaild+holddown=180+180=360, 实际的时间 最高就是240 秒左右(有一定的偏差)
RIP路由更新规则 路由更新的接收 对于一条更优的路由无条件的接收并更新 对于一条更差的路由如果是同一个源发出的,则接收并更新。 对于一条更差的路由如果是另一个源发出的,则不立即更新,更新时间视抑制计时器和刷新计时器而定。
有类路由协议 根据路由协议,在进行路由信息宣告时,是否包含网络掩码,可以把路由协议分为两种: 一种是有类路由协议,它们在宣告路由信息时不携带网络掩码。 一种是无类路由协议,它们在宣告路由信息时携带网络掩码。
RIP的有类路由 RIPV1是有类路由协议,宣告路由信息时不携带网络掩码。在主网络边界上会进行自动汇总。 处在两个主网络边界上的路由器不会把其中一个主网络的子网通告给另一个主网
RIP路由协议的配置 步骤一:使用router rip命令启动RIP进程 步骤二:使用network命令指定每一个需要运行RIP协议的主网络 Router(config)#router rip 步骤二:使用network命令指定每一个需要运行RIP协议的主网络 Router(config-router)#network network-number 可选配置:配置RIP计时器 Router(config-router)# timers basic update invalid holddown flush 1、哪个接口向外宣告RIP路由,并能接收RIP更新 2、向外宣告哪个网段
RIP路由协议配置实例 基本配置:
RIP路由协议配置实例 验证RIP的配置
RIP路由协议配置实例 显示IP路由表
RIP被动接口 Passive 接口 路由器E的192.16.12.66/27端口不运行RIP,不会向B发送请求消息,而B会一直向E发送请求消息而得不到回应
配置RIP被动接口 Passive 接口配置 路由器E上的配置: 路由器B上的配置: RE (config)#router rip RE (config-router)#network 192.168.100.0 路由器B上的配置: RB (config)#router rip RB (config-router)#passive-interface Ethernet0 RB (config-router)#network 172.17.0.0 RB (config-router)#network 192.168.12.0 RB (config-router)#network 192.168.83.0
RIP单播更新 单播更新
配置RIP单播更新 路由器F 的配置: 路由器B 的配置: 路由器E 的配置: RF (config)#router rip RF (config-router)#network 192.168.12.0 RF (config-router)#network.192.168.200.0 路由器B 的配置: RB (config)router rip RB (config-router)#passive-interface Ethernet0 RB (config-router)#network172.17.0.0 RB (config-router)#network192.168.12.0 RB (config-router)#network192.168.83.0 RB (config-router)#neighbor 192.168.12.67 路由器E 的配置: RE (config)#router rip RE (config-router)#passive-interface Ethernet0 RE (config-router)#network192.168.12.0 RE (config-router)#network192.168.100.0 RE (config-router)#neighbor 192.168.12.67
查看RIP单播更新 RB使用单播将 更新发送给RF RB#debug ip rip events RIP event debuggin is on RB# RIP:received update from 192.168.12.67 on Ethernet0 RIP:undate contains 1 routers RIP:sending update to 255.255.255.255 via Ethernet1(192.168.83.1) RIP:update contains 4 routers RIP:sending update to 255.255.255.255 via Ethernet2(192.168.12.195) RIP:update contains 6 routers RIP:sending update to 255.255.255.255 via Serial0(172.17.1.1) RIP:update contains 7 routers RIP:sending update to 255.255.255.255 via Serial1(172.17.2.1) RIP:sending update to 192.168.12.67 via Ethernet0(192.168.12.65) RIP:received update from 172.17.1.2 on Serial0 RIP:update contains 1 routers RIP:received update from 172.17.2.2 on Serial1 RB使用单播将 更新发送给RF
RIP的不连续子网问题 不连续的子网 路由器B会认为自己是网络10.0.0.0和网络192.168.83.0之间的边界路由器;同样,路由器C也会认为自己是网络10.0.0.0和网络192.168.12.0之间的边界路由器。它们都将宣告一条网络10.0.0.0的汇总路由,结果路由器B会认为它有两条相等代价的路径可以到达同一个网络。因此,路由器B到达10.33.5.0或10.33.35.0网络的数据包只有50%的机会被发送到正确的子网上。
使用辅助地址解决不连续子网问题 路由器A 的配置: 路由器B 的配置: 路由器G 的配置: RouterA (config)#interface e0 RouterA (config-if)#ip address 10.33.55.1 255.255.240.0 secondary 路由器B 的配置: RouterB (config)#interface e1 RouterB (config-if)#ip address 10.33.55.2 255.255.240.0 secondary RouterB (config-if)#interface e0 RouterB (config-if)#ip address 10.33.75.1 255.255.240.0 secondary RouterB (config-if)#router rip RouterB (config-router)#network 10.0.0.0 路由器G 的配置: RouterG (config)#interface e0 RouterG (config-if)#ip address 10.33.75.2 255. 255.240.0 secondary
使用辅助地址解决不连续子网问题
3.4 RIPv2
RIPv2路由协议概述 RIPv2协议不是一个新的协议,它只是RIPv1协议的基础上增加了一些扩展特性: 每个路由条目都携带自己的子网掩码 路由选择更新具有认证功能 每个路由条目都携带下一跳地址 组播路由更新 ,使用目标地址224.0.0.9 下一跳字段中,如果被填充了具体地址,它标识一个比通告路由器的地址更好的下一跳地址,也就是说,这个下一跳地址,其度量值比在同一个子网上的通告路由器更靠近目的地。如果这个字段设置为全0,说明通告路由器的地址是最好的下一跳地址。
无类路由协议 无类路由协议 无类别路由选择协议最根本的特点,是它可以在路由通告中携带子网掩码。每条路由拥有子网掩码的一个好处就是,全0和全1的子网现在可以利用了。 每条路由拥有子网掩码的另一个很大的好处,就是可以使用可变长子网掩码和利用一条单一的聚合地址来汇总一组主网络地址。
无类路由查找 无类路由的查找 当路由器执行无类别路由查找时,它不会注意目的地址的类别。 替代的方式是: 它在目的地址和所有已知的路由之间执行一位一位(bit-by-bit)的最长匹配。 当和缺省路由一起工作时,这个性能变得非常有用。
RIPv2配置 RIPv2的基本配置 RIPv2是RIPvl 的增强版, RIPvl中介绍的某些命令都可以在RIPv2中正确使用 这些命令有计时器和度量的操作、单播更新或根本不发出更新的配置等。 缺省时,在Cisco路由器上配置一个RIP进程将只发送RIPvl的消息,但是同时接收RIPvl和RIPv2的消息。这个缺省的配置可以通过命令version来更改,就像下面的例子一样: Router(config)#router rip Router(config-router)#version 2 Router(config-router)#network 172.25.0.0
RIPv2与v1相结合 RIPv2与v1相结合 RFC1723中建议的基于接口级别(interface-level)的“兼容性开关” 在Cisco IOS软件中可以通过接口配置命令中ip rip send version和ip rip receive version来实现。 DFC1723定义的兼容性开关,4个被建议的设置是:RIP-1 Only;RIP-2 Only ;Both ;None
使用可变长子网掩码
RIPv2与v1相结合 路由器B的配置: RouterB (config)# interface Ethernet0 RouterB (config-if)# ip address 192.168.50.129 255.255.255.192 RouterB (config-if)# ip rip send version 1 RouterB (config-if)# ip rip receive version 1 RouterB (config)# interface Ethernet1 RouterB (config-if)# ip address 172.25.150.193 255.255.255.240 RouterB (config-if)# ip rip send version 1 2 RouterB (config-if)# no ip split—horizon RouterB (config)# interface Ethernet2 RouterB (config-if)# ip address 172.25.150.225 255.255.255.240 RouterB (config)# router rip RouterB (config-router)# version 2 RouterB (config-router)# network 172.25.0.0 RouterB (config-router)# network 192.168.50.0
章节总结
专题总结 RIP路由技术 距离矢量路由协议 环路避免机制 RIP协议 RIPV2 RIP路由协议概述及工作原理 RIP协议收发规则 RIPV1与V2的结合
课后实验
RIP组网实验
实验目标 使用RIPv2实现长沙、株洲、湘潭全网全连通。 熟悉RIPv2工程配置规范(调整计时器、被动接口、边界网络对接)
课后作业
课后作业 什么是有类路由协议和无类路由协议? RIP的防环机制有哪些? RIP有哪些计时器? RIPv1与RIPv2的不同点?