ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

RIP动态路由实验全解析:从原理到配置排错

2026/10/2 14:10:11 拓冰建站 浏览量
RIP动态路由实验全解析:从原理到配置排错 做网络实验绕不开动态路由而RIP实验几乎就是大多数人上手动态路由的第一课。不管你是备考CCNA还是HCIA还是学校里路由交换实验课刚起步第一张动态路由配置多半就是RIP。RIPRouting Information Protocol虽然老但它把距离矢量算法、路由环路、收敛这几个核心概念浓缩得刚刚好配置命令少、拓扑要求低拿GNS3或Packet Tracer都能轻松复现。这篇内容我按自己带实验的经验来写不绕弯子直接把实验目标、协议原理、配置命令、验证方法和排错思路串成一条完整的操作链路。适合正在准备认证、刚开网络课、或者想自己搭实验台把动态路由彻底搞明白的读者。如果你之前只是机械敲过几行“router rip”那么这篇会让你真正知道每一条命令在干什么。1. 实验目标与环境准备1.1 为什么拿RIP做动态路由入门很多教材把RIP归为“过时协议”但过时不代表没有学习价值。恰恰相反RIP是我带新手时最常用的教学原型因为它的逻辑足够简单可以直接用眼睛看明白路由表变化。RIP的核心思想是“每一台路由器定期告诉邻居自己知道哪些网络”邻居再把这些信息结合自己的链路算出一张转发表。这种分布式思想是所有动态路由协议的地基OSPF、IS-IS不过是在这个地基上增加了更复杂的度量与算法。通过RIP实验你要解决的认识问题有三个第一动态路由和静态路由的本质区别是什么第二路由器之间到底用什么报文、多长时间交换一次路由信息第三当链路发生变化时路由表如何自动收敛。这三个问题理解透后续学任何IGP都会轻松很多。而且RIP命令在两三家厂商设备上高度相似比如思科和华为的配置思路几乎一脉相承学一套能迁移到多个环境。实验本身并不难难的是别只满足于“ping通”。我建议你一边敲命令一边看路由表甚至打开抓包工具看真实的RIP报文这样才叫把实验做透。后面的内容我把原理和命令放在一起讲因为光会命令不理解协议遇到问题照样两眼一抹黑。1.2 模拟器选择与拓扑规划我自己的习惯是推荐GNS3加思科IOS镜像但如果刚入门觉得搭GNS3费劲用Packet Tracer也完全够。Packet Tracer的好处是设备模板固定、节点拖出来就能用缺点是很多细节被隐藏了。GNS3的优势在于能加载真实IOSdebug输出和抓包行为更接近真实设备适合做排错练习。华为用户就用eNSP命令思路大同小异只是显示风格和接口命名不同。实验拓扑我推荐最省事的链式三路由R1连R2R2连R3然后在R1和R3上各配一个Loopback接口模拟终端所在网段。用Loopback而不是直连PC是因为环回口天然是up状态不需要额外接交换机而且可以当作一条纯粹用来测试的可达性网段。实际网络里你不可能拿环回口当用户网段但实验里它可以减少干扰因素让你专心看路由协议本身。接口地址规划如下表建议照这个来设备接口IP地址用途说明R1G0/010.0.12.1/24连接R2的链路R1Loopback0192.168.1.1/24模拟终端网络AR2G0/010.0.12.2/24连接R1的链路R2G0/110.0.23.2/24连接R3的链路R3G0/010.0.23.3/24连接R2的链路R3Loopback0192.168.3.1/24模拟终端网络B这个拓扑同时覆盖了两个方向的跨网段通信R1要能去192.168.3.0/24R3要能去192.168.1.0/24R2则只需要知道所有转发路径。最理想的情况是配置完成后三台路由器不用任何静态路由路由表里自动出现远端网络的条目这就是动态路由的价值。2. RIP协议机制先把原理吃透再动手2.1 距离矢量算法与跳数计费规则RIP属于距离矢量路由协议名字已经说明了它的工作方式——每个路由器只知道“方向”和“距离”。方向来自从哪个接口学到这条路由距离用跳数表示每经过一台路由器跳数加一。R1到192.168.3.0/24需要经过R2、R3两台中间设备所以跳数是2。这里的“跳”不包含本机只看中间转发次数。之所以说RIP简单是因为它不关心链路带宽、延迟、负载只数跳数。这个设计在小型网络里够用但在大型网络里会出现“一条高带宽专线走了10跳另一条低速拨号走了2跳RIP选了低速链路”这种反直觉现象。理解了这一点你就知道RIP为什么被OSPF取代也算学会了第一个“为什么”。跳数还有一个硬性限制最大值1516就代表不可达。这不是拍脑袋定的而是为了兜住环路问题。如果网络里出现路由环路路由更新会像谣言一样被不断转述跳数一路累加没有上限就会无限循环。设一个16的“天花板”后超过15跳的路由被直接丢弃环路谣言传了16轮就会自动停止。所以看路由表发现某条路由显示跳数16时不要以为它只是远而是它已经被协议判了“不可达”。2.2 30秒更新、触发更新与收敛真相RIP靠周期更新来维持路由信息。RIPv2默认每30秒把自己的路由表通过组播地址224.0.0.9发出去所有运行RIP的邻居都能收到。同时它还有三个重要的计时器参与生命周期管理180秒没有收到某条路由的更新就标记为不可用180秒抑制期用来防震荡240秒后彻底把这条路由从表里删掉。这里很多人会问为什么30秒更新一次180秒才说失效因为路由协议要容忍网络抖动。你不可能因为一次丢包就马上删路由必须连续多轮收不到才认定链路真有问题。这个逻辑没问题代价就是RIP收敛很慢。实验里如果直接shutdown一个接口你大概率要等几十秒甚至更久路由才会消失这就是RIP在大型网络中被淘汰的直接原因。RIP也有一个补救机制叫触发更新只要路由表发生变动不等到下一个30秒立即把变化通告给邻居。触发更新能显著加快故障收敛但本质还是“出现变化才通知”如果链路只是默默丢包而没有引发路由表变化RIP也无能为力。因此实验里你要学会主动制造故障观察行为比如shutdown接口、改跳数然后再配合命令查看更新过程。2.3 RIPv1与RIPv2实验到底该选谁RIP有两个主要版本v1和v2。v1是真正意义上的“有类协议”更新报文里不携带子网掩码收到路由的邻居只能依靠地址类别来推断掩码一旦网络划了VLSM或者出现不连续子网路由就会出错。v2引入的关键能力包括报文里携带掩码支持CIDR和VLSM支持明文或MD5认证防止有人乱发路由信息使用组播224.0.0.9代替广播减少无关设备处理。所以现在做实验只有一个正确选择RIPv2。配置里一定要有version 2同时最好加上no auto-summary关闭自动汇总。自动汇总会把边界上的子网收敛成主类网络比如192.168.1.0/24和192.168.2.0/24如果在不同边界路由器上可能被汇总成乱码一样的主类条目导致路由不精确。虽然我们的实验地址并没有划分子网但养成关闭自动汇总的习惯很重要到了真实网络里能少踩一个坑。3. 手把手完成RIP配置3.1 接口与环回口准备进入正题。先给三台路由器配好接口地址和环回口。以R1为例在全局配置模式下执行interface GigabitEthernet0/0 ip address 10.0.12.1 255.255.255.0 no shutdown ! interface Loopback0 ip address 192.168.1.1 255.255.255.0R2和R3的配置思路完全一样只是地址不同。我这里要特别强调no shutdown模拟器入门的人最容易漏掉这一行。GNS3里的思科路由器默认接口管理状态是shutdown你不敲这行物理层永远是downRIP报文根本发不出去。Loopback接口不需要shutdown它默认就是up的这也是我推荐用环回口做测试网段的另一个原因。配完之后用show ip interface brief检查一遍看到接口状态是up/up再继续。这个检查很值因为后面如果路由学不到至少可以先排除接口问题。现实中很多RIP实验翻车一半是RIP配置错了另一半根本是接口没起来。3.2 RIP进程与network命令详解下面开始配置RIP。R1上这样写router rip version 2 no auto-summary network 10.0.0.0 network 192.168.1.0R2因为两个接口都在10.0.0.0这个大网段里只需要宣告一条router rip version 2 no auto-summary network 10.0.0.0R3和R1对称router rip version 2 no auto-summary network 10.0.0.0 network 192.168.3.0这里最容易被误解的就是network命令。它后面跟的不是“我要通告的路由条目”而是“哪些接口要参与RIP”。路由器拿到这个网络号后会自动去找所有接口地址落在该主类网络范围内的接口然后在这些接口上收发RIP更新并把接口所在的子网通告给邻居。所以network 10.0.0.0不是指通告10.0.0.0/8这条路而是指让当前设备上所有属于10.0.0.0/8的接口都运行RIP。我们的实验中10.0.0.0是B类地址所以10.0.12.0/24、10.0.23.0/24都在它的覆盖范围内。正因如此R1的G0/0、R2的两个接口、R3的G0/0都会自动被选中。那为什么不直接写network 10.0.12.0因为不同厂商实现不同。思科的RIP进程要求网络号必须是有类网络号写10.0.12.0会被当成非法参数或自动转换成10.0.0.0。华为的命令相对宽松一些但为了兼容和规范我还是建议按主类网络号来写。这也是很多教科书答案看起来简练但容易误导人的地方。no auto-summary前面解释过做实验可能感觉不到差异但请一定带上。设想未来你在真实网络里有多个C类子网分布在同一边界没有这条命令可能会被汇总成错误的主类条目那是非常难排查的故障。3.3 验证命令与路由表解读配置完成后RIP会在一分钟内建立邻居关系并交换路由。先到R2上用show ip route rip看学到的路由R 192.168.1.0/24 [120/1] via 10.0.12.1, 00:00:20, GigabitEthernet0/0 R 192.168.3.0/24 [120/1] via 10.0.23.3, 00:00:18, GigabitEthernet0/1看到这些R开头、标记为RIP的条目说明动态路由已经生效。中括号里的[120/1]含义是管理距离120跳数1。管理距离是路由器对路由来源的信任度排序直连0、静态1、RIP120数值越小越优先。所以如果同时有静态路由和RIP路由指向同一目的静态会获胜。再在R1上执行ping测试注意source参数ping 192.168.3.1 source 192.168.1.1这里用source指定源地址为192.168.1.1才能真正验证从终端网络A到终端网络B的完整链路。如果不写sourceR1会用出接口的地址10.0.12.1作为源虽然也能通但验证的只是R1到远端网络的连通性不是用户网段的连通性。这个细节在实验报告里写出来绝对是加分项。想进一步观察协议运行可以开debug ip rip。你会看到类似这样的输出RIP: sending v2 update to 224.0.0.9 via GigabitEthernet0/0 (10.0.12.1) RIP: received v2 update from 10.0.12.2看到“received v2 update from 10.0.12.2”说明R2的更新确实到了R1。如果只有发送没有接收就要怀疑链路或版本问题。看完记得用undebug all关掉debug这个命令在生产设备上开太久会有性能隐患模拟器里无所谓但养成好习惯。4. 实验中的常见坑与排错实录4.1 路由学不到先查这四个地方RIP实验里最常见的情况是配置敲完了show ip route rip就是没有输出。这种问题基本逃不出下面四个方向。先查接口状态用show ip interface brief看所有相关接口是否up/up。如果你漏了no shutdown或者模拟器里线缆连错了接口后面再怎么调RIP都白搭。再查network宣告范围。记住network命令是“匹配接口”而不是“发布路由”。很多人只在R1上宣告了192.168.1.0却漏了10.0.0.0那么R1的G0/0根本不会参与RIP路由自然也发不出去。你可以在脑子里画一张表每个接口的IP落在哪个主类网络这条主类网络是否已在所有相关设备上宣告。然后查RIP版本。RIPv1和RIPv2报文格式完全不同如果一边只配了router rip没有version 2另一边是version 2那它们虽然都能收到对方的报文却可能互相不认。在思科上默认发送v1但能接收v1和v2这种不对称常常导致单向学习判断起来很诡异。建议所有设备统一显式配置version 2。最后查链路层的报文发送方向。RIP更新是组播发送的如果中间有交换机并配置了奇怪的端口隔离或ACL组播就会被拦。模拟器里这种情况少但真实网络里很常见。排错顺序就是由底向上先链路再接口再协议不要一上来就怀疑RIP本身。4.2 路由表有路由但ping不通另一种翻车现场是RIP路由已经学全了但ping就是不通。先检查双向路由。路由协议是逐跳转发的A到B有路由只完成了一半B回A也必须知道路径。R1学到了192.168.3.0/24R3却还没学到192.168.1.0/24这种情况下从R1 ping 192.168.3.1可能能到但回程包找不到路表现出来的现象就是请求超时或者丢包。所以排错第一件事是在两端都执行show ip route rip确认双向都有条目。再查源地址。用ping 192.168.3.1 source 192.168.1.1来模拟终端网段。如果你用R1默认源地址去ping通了不等于终端可达。我在实验里常碰到有人用默认源ping通了就交差其实根本没有验证到关键路径。最后留意有没有额外的ACL或者接口配置错误。模拟器里一般不会但真实环境经常有防火墙或安全策略介入。如果你在接口上误配了ip access-group哪怕默认允许也可能影响RIP报文和ping报文出现“路由有但流量不通”的奇怪现象。这类问题没有捷径只能逐条检查接口配置。4.3 模拟器里看不到的老毛病环路与收敛慢RIP最经典的教学点就是环路。因为每台路由器都听邻居的“转述”如果网络出现故障且没有防环机制坏路由会被反复传来传去。我建议你在实验里主动制造一次故障在R1上shutdown连接R2的接口然后观察RIP要多久才能删掉192.168.3.0/24。你可能会看到它先变跳数16、再保持一段时间、最后消失这个过程就是RIP的毒化和抑制机制在起作用。RIP的防环机制总结起来有四板斧水平分割保证从哪个接口学来的路由不会再从原接口通告回去毒性反转把失效路由变成16跳并主动通知邻居触发更新让变化尽快扩散抑制计时器在收到坏消息后给路由一段冷静期防止被另一条更差的路径顶替。你可以把RIP想成小范围传话游戏规定不能把话传回上一个人一旦传错必须立刻大喊“我错了”同时最多传15轮。这套机制简单但有效。收敛慢是这个设计天然的代价。真实网络里如果一条骨干链路断了等RIP慢慢收敛用户早就骂街了。所以你现在应该能理解为什么OSPF会被设计成“链路状态协议”而不是“距离矢量协议”OSPF每个路由器都能看到整个网络的拓扑图而不是只靠邻居“转述”收敛速度和防环能力都强得多。这也是实验报告里值得深挖的一个问题。5. 实验扩展与个人体会5.1 给RIP实验加料的三个进阶操作基础实验跑通之后不要急着删拓扑我建议再玩三个进阶配置它们能让你的实验报告更有深度。第一个是被动接口。RIP没必要向终端网段发送更新比如R1的Loopback0只是一种模拟真实环境里连接PC的接口也完全不需要跑路由协议。可以这样配router rip passive-interface default no passive-interface GigabitEthernet0/0passive-interface default把所有接口设为被动模式再针对需要建立邻居关系的链路口单独放行。这样做能减少无意义的组播流量也避免向用户侧网络泄露路由信息。现实中这是很常见的优化操作。第二个是单播更新。如果网络里只有特定的RIP邻居你可以在RIP进程下指定邻居地址并配合被动接口让更新只发给某一台设备router rip passive-interface GigabitEthernet0/0 neighbor 10.0.12.2实际效果就是R1不再组播RIP报文而是单播发给10.0.12.2。这样做能降低组播对无关设备的影响。注意neighbor命令要和passive-interface配合使用否则设备仍然会发送组播限制不够彻底。第三个是RIPv2认证。在接口下开启MD5认证能防止别人伪造路由更新key chain RIPKEY key 1 key-string cisco123 ! interface GigabitEthernet0/0 ip rip authentication mode md5 ip rip authentication key-chain RIPKEY两端认证密钥必须一致否则RIP邻居关系会直接断开。这个实验最好玩的地方在于你敲完认证后发现路由表全部消失然后逐台核对密钥再恢复这个过程非常锻炼排错能力。建议在实验报告里记录认证前后的路由表变化能明显体现你对协议的理解深度。5.2 写在最后的实操心得这个RIP实验我前后带过很多人做自己也在GNS3和物理设备上反复验证过。最大的体会是RIP的命令很简单但它是唯一一个能让你在半小时内完整走完“配置、验证、制造故障、观察收敛、修复”全流程的路由协议。做这个实验时一定要边敲命令边问自己三个问题我要让协议做什么、为什么这样写能达到目的、如果没达到我该从哪里查起。我个人在使用中还会做一个小动作在R1到R2的链路上挂Wireshark抓包过滤RIP或组播地址224.0.0.9。看到每30秒出现一次RIP更新包你对“周期更新”这个词的感受会完全不一样。纸上得来终觉浅这句话在网络实验里尤其成立。你亲手敲一遍、抓一次包、看一次路由表从无到有的过程比背十遍协议原理都管用。