这系列文章为计算机网络理论的学习笔记,学习笔记基于老师给的的PPT、他人学习笔记和维基百科、百度百科等一系列权威资料。学习笔记仅个人学习用,便于记录和复习,无广泛传播之意,若有侵权,请联系我删除。欢迎各位大佬指正和交流。
1 RIP原理
动态路由协议能够自动发现路由、计算路由。最早的动态路由协议是RIP(Routing Information Protocol,路由信息协议),其原理简单,配置容易。
RIP协议是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量(Distance-Vector)算法的路由协议 ,应用于OSI网络七层模型的应用层。
RIP协议被设计用于使用同种技术的中小型网络(大多数的校园网和使用速率变化不是很大的连续线的地区性网络)。对于更复杂的环境,一般不使用RIP协议。RIP协议分为分为RIPv1和RIPv2。
1.1 RIP路由表的初始化
RIP用“路程段数”(即“跳数”)作为网络距离的尺度。
初始化包括:
- 目的IP地址域:查找路由表中的目的IP地址以决定从哪里转发报文。
- 度量标准域:度量是从路由器到特定目的地之间网络链路的耗费总和。
- 下一跳IP地址域:目的地网络路径上的下一个路由器接口的IP地址。(非直连路由出现
1.2 RIP路由表的更新
路径相同时不需要更新。
当路由器发送路由更新时,会把度量值+1。RIP规定超过16跳为网络不可达。
因为RIP的目的是找出最短的路径。每次更新前都要+1,是为了看看能否成为最短路径。
1.3 RIP路由表的维护
周期性发送Response信息。
拓扑变化在网络中的扩散
1.4 单路径网络中环路产生过程
1.5 多路径网络中环路产生过程
1.6 环路避免机制
RIP支持水平分割、毒性逆转和触发更新等工作机制防止路由环路。
参考学习来自:https://forum.huawei.com/enterprise/zh/thread-297645.html
1.6.1 路由毒化(无穷大)
- 原来链路若断,则路由项直接删除,此时若收到其他路由器 发来的路径,则可接纳,但可能是一条环路。
- 路由毒化的做法是:不删除,但标识为无穷大Inf(有毒的路由),利于传播路径不通的消息。
与RTC相连接的路由器10.4.0.0网络发生故障时,RTC就会告诉最相近的路由器说10.4.0.0网段不行了,并将其设置为毒性路由(Inf)。
以此类推,RTB也会告知与它最相近的路由器RTA,最终大家都知道后会将10.4.0.0网段的标记为Inf,最终将删除这条路由。
1.6.2 水平分割(不告诉)
- A 处得到的路由则不再通告给A,即路由器中某接口发送出去的路由,不会再从该接口接收。
- 因为在直连结点情况下,彼此互相学习更新是造成环路的根本原因。
RTB初始化的路由是10.2.0.0和10.3.0.0。
通过RIP协议从S0/0口学习到了10.1.0.0网段的路由,他就把送S0/0口学到的10.1.0.0的路由发送给RTA,同理通过s1/0口学习10.4.0.0的路由,学习后将路由保存到自己的路由表中。
当RTB传递路由时,不会从10.4.0.0通过s1/0告知给RTC,但会通过s1/0告诉到RTC学习到的路由和自身的路由(10.1.0.0和自身的路由10.2.0.0与10.3.0.0)。
1.6.3 毒性逆转(别问我)
- 若 A 经过 B 到达 C,则 A 通告 B:A 到 C 的距离为无穷大,目的是使 B 不要试图通过 A 到达 C。
- 毒性逆转仅能解决两者间环路,不能解决多路径环路问题。
- 毒性逆转可以超越水平分割,不受水平分割的影响。
RTB初始化的路由是10.2.0.0和10.3.0.0。
RTB会通过RIP协议学习到相邻路由中不同网段的路由信息。当RTB学习到RTC的路由信息10.4.0.0网段的时候,当RTB要发送路由信息时,会自动将之前在s1/0口学习到的10.4.0.0的度量值为16(10.4.0.0,Metric Inf),这就意味着RTB是不可能到达RTC的。(RIP最大跳数是16)
1.6.4 定义最大值
- 定义16即为不可达,解决坏消息传的慢,COST无限增大的问题。
- 默认15跳,16跳不可达,RIP机制本身定义的。
路由项度量值达到最大值后,路由器不再转发到10.4.0.0的数据包。
1.6.5 抑制时间
- 多路环境下,将不可达信息抑制一段时间,保证不可达信息在网上充分传播,最后达到统一。
- 抑制时间和路由毒化结合使用,能够在一定程度上避免路由环路产生。
- 抑制时间规定,当一条路由的度量值变为16时,该路由进入抑制状态。在被抑制状态,只有来自同一邻居且度量值小于16的路由更新才会被路由器接受,取代不可达路由。
- timeout:180s
- 回收站清空时间:120s
RTB路由项10.4.0.0进入抑制时间,只接受RTC发来的度量值小于16的更新。
1.6.6 触发更新
- 当发现路径不可达时,不必等待更新周期到来,马上将该不可达消息发送给邻居避免邻居的消息先到而自己误更新。
不必等到更新周期到来,路由器马上发送路由10.4.0.0不可达消息。
1.7 多路径网络中环路避免操作示例
- 路由毒化
- 设定抑制时间
- 发送触发更新消息
1.8 RIPv1和RIPv2的工作方式以及RIP工作过程分析
参考学习:https://forum.huawei.com/enterprise/zh/thread-297645.html
2 配置RIP
RIP配置详解:点击这里!
2.1 RIP基本配置
- 创建RIP进程并进入RIP视图
-
[Router] rip [ process-id ]
-
- 在指定网段接口上使能RIP
- [Router-rip-1] network network-address
2.2 Network命令详解
- Network命令中包含两层含义
- 指定本机上哪些接口路由能够添加到RIP路由表中
- 指定本机上哪些接口能够收发RIP协议报文
2.3 RIP可选配置
- 配置接口工作在抑制状态
- [Router-rip-1] silent-interface { all | interface-type interface-number }
- 使能RIP水平分割功能
- [Router-Ethernet1/0] rip split-horizon
- 使能RIP毒性逆转功能
- [Router-Ethernet1/0] rip poison-reverse
2.4 RIPv2配置任务
- 指定全局RIP版本
- [Router-rip-1] version { 1 | 2 }
- 关闭RIPv2自动路由聚合功能
- [Router-rip-1] undo summary
- 配置RIPv2报文的认证
- [Router-Ethernet1/0] rip authentication-mode { md5 { rfc2082 key-string key-id | rfc2453 key-string } | simple password }
2.5 RIP基本配置举例
2.6 RIPv2配置举例
2.7 显示RIP当前运行状态及配置信息
2.8 查看RIP的debugging信息