基本概念
RIP(Routing information Protocol) 是比较古老的动态路由协议,是一种基于距离矢量算法来计算到达目的网络的最佳路径路由协议,RIP报文承载于UDP报文,使用UDP端口520,属于应用层协议。
在RIP协议中,路由根据到达目的地的跳数作为路由选择的度量值。
版本
- RIPv1---IPv4
RIPv1(版本1)是传统的RIP协议,只能支持传统的分类IP地址,在RIP的报文中不包括掩码信息,所以RIP1不支持子网掩码和CIDR,因此局限很大。此外,RIPv1不支持验证。目前RIPv1已经在逐渐被淘汰。
- RIPv2---IPv4
RIPv2是RIPv1的改进版本,与RIPv1想必,RIPv2具有以下新的特性:
用抑制定时器防止路由自环,缺省值为180秒。
用水平分割防止路由自环。
- RIPng---IPv6
距离矢量型
基于UDP协议进行封装,端口号520。
RIP基于组播进行数据包发送,组播地址--->224.0.0.9
存在周期更新机制----30S周期更新(应答报文)----保活、确认。
RIP的开销值(度量值)----以跳数计算开销值,最大15跳。----开销值越小越优
-
数据包中传递的开销值 ==== 本地的开销值 +1
RIP算法----贝尔曼福特算法
典型最短路径算法,用于计算一个节点到其他节点的最短路径。
基本原理:逐遍的对图中每一个边去迭代计算起始点到其余各点的最短路径,执行N-1遍,最终得到起始点到其余各点的最短路径。(N为连通图结点数)
- 当接收到数据包中含有本地路由表中没有的路由项时,则直接加载到本地路由表
- 当接收到的数据包中含有本地路由表已经具备的路由项,且下一跳地址相同,则将数据包中的路由 项更新至本地路由表。
- 当接收到的数据包中含有本地路由表已经具备的路由项,但下一跳地址不相同,则比较Cost值,若本地路由表中的cost值大,则将数据包中的路由项更新至本地路由表。
- 当接收到的数据包中含有本地路由表已经具备的路由项,但下一跳地址不同,比较cost值,若本地 路由表中的cost值较小,则不进行更新。
RIP数据报文
- request包---请求报文
- response包---应答报文
RIP工作原理
RIP(Routing Information Protocol(路由信息协议)的简称是为TCP/IP环境中开发的第一个路由选择协议标准
RIP是一个距离-矢量路由选择协议 ,它通过UDP(User Datagram Protocol)数据报交换路由信息,端口号为520.
适用于中小型网络路由。
1. 向邻居发送整个路由表 2、选择最佳路由 3、默认情况下,每隔30秒广播
1.RIP路由协议向邻居发送整个路由表信息
2.RIP路由协议以跳数作为度量值根据跳数的多少来选择最佳路由
3.每经过一个路由器,跳数自动加1
4.最大跳数为15跳,16跳为网络不可达
5.默认情况下,每隔30秒广播一次更新信息。
- 当路由收敛完成后,路由器会以30S一次的频率发送应答报文。
- 邻居路由器收到应答报文时,会设置一个180S的时间(超时时间)。
- 如果180S内没有收到邻居路由器发来的应答报文,本地路由器会认为邻居出现问题,并将下 一跳为邻居接口IP地址的路由项的开销值设置为16。并且向自身周围还存在的邻居发送该路由项。
- 在经过120S时间后,删除该路由项。
RIP的计时器
- 每台启动了RIP协议的路由器都有一个属于自己的更新计时器。
- 计时器周期---30S
- 注意:当接收到请求报文时,必须立刻发送响应报文
- 每台路由器上的每个路由项都会有一个无效计时器。
- 计时器时间---更新计时器的六倍----180S-----每次路由条目被更新时,计时器刷新。
- 当计时器时间为0时,会认为该路由项已经无效,也就是说该路由项所指的目的地址不可达,
- 路由器会将该路由项的Cost值设置为16。并向外进行传输。
- 120S
- 发送四次周期更新后,删除该路由。
- 实际环境中,该计时器的时间并非是120S整,而是在90-120S之间。
RIP周期更新
- RIP本身没有确认机制和保活机制
- UDP传输是不可靠的传输
RIP环路问题
解决方法
- 当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新的到来,就可以直接将发 生改变的路由项发送出去。
- 仅能降低环路产生的可能性,但是不能完全避免环路的产生。
- 如果有一个X/Y的路由项从路由器的某接口学习到,那么在周期更新发送时,该路由项就不能 从该接口发出。-------从此口进,不能从此口出。
- 如果有一个X/Y的路由项从路由器的某接口进入,那么在周期更新时,虽然还会从该接口发 出,但会将cost值设置为16。
- 若毒性逆转和水平分割同时开启,则按照毒性逆转规则进行。
RIP的基本配置
RIPv1
[r1]rip 1 ---- 启动 RIP 协议,并配置进程号,进程号仅具备本地意义。[r1-rip-1]version 1 ----- 选择 RIP 版本[r1-rip-1]network 12.0.0.0 ----- 宣告地址,激活接口并发布路由
- 需要宣告所有直连网段
- 必须按照主类地址宣告
RIPv2
[r1]rip 1[r1-rip-1]version 2[r1-rip-1]undo summary ---- 关闭自动汇总功能,如果不关闭,宣告的属于同一个主类的路由就会自动汇总;该功能在华为上不需要配置,因为华为默认关闭自动汇总功能。[r1-rip-1]network 192.168.0.0
RIPv1和RIPv2的区别
- RIPv1不携带真实掩码
- RIPv2携带真实掩码
- RIPv1使用广播发送
- RIPv2使用组播发送,组播地址224.0.0.9
报文丢弃,而必须在传输层才能把携带有RIP-1消息的报文丢弃。
RIP扩展配置
RIP优缺点
- 占用资源过多----30S周期更新
- 选路不佳----RIP仅依靠跳数进行选路
- 仅支持小规模网络
- 收敛速度慢
RIP的局限性在大型网络中使用所产生的问题:
RIP的15跳限制,超过15跳的路由被认为不可达
RIP不能支持可变长子网掩码(VLSM),导致IP地址分配的低效率
周期性广播整个路由表,在低速链路及广域网云中应用将产生很大问题
RIP没有网络延迟和链路开销的概念,路由选路基于跳数。拥有较少跳数的路由总是被选为最佳路由即使较长的路径有低的延迟和开销
RIP没有区域的概念,不能在任意比特位进行路由汇总一些增强的功能被引入RIP的新版本RIPv2中,RIPv2支持VLSM,认证以及组播更新。但RIPv2的跳数限制以及慢收敛使它仍然不适用于大型网络