尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

三台路由器跑通RIP实验:配置、防环与排错全记录

发布时间:2026/9/26 22:51:30

资讯中心
01
ARTICLE

三台路由器跑通RIP实验:配置、防环与排错全记录

三台路由器跑通RIP实验:配置、防环与排错全记录
很多人学网络的时候接触到的第一个动态路由协议基本都是RIP。虽然现在生产环境里RIP已经很少见了但拿它来练手动态路由的原理其实是最划算的。我前阵子带徒弟做了几轮RIP协议实验用三台路由器搭了一个简单拓扑把RIP v1/v2的区别、路由学习过程、防环机制、排错方法全过了一遍。这篇文章就把这一整套实验过程整理出来包括我踩过的坑和最终总结下来的操作习惯给刚开始碰路由协议或者备考网工认证的朋友做个参考。这套实验不挑设备一台GNS3或者EVE-NG虚拟环境就能跑。也不需要你有很深的网络底子只要会配接口地址、会敲基础命令大概一个下午就能把整个流程过完。当然如果你已经工作几年回头再把这些基础实验做一遍也会有挺多收获的至少能把那些平时不太注意的细节重新捡起来。1. 为什么还要折腾RIP实验1.1 RIP到底是个什么协议RIP全称是Routing Information Protocol路由信息协议。它属于距离向量协议核心算法是Bellman-Ford。简单说每一台路由器只把自己的路由表周期性地发给邻居自己并不掌握全网拓扑路径好坏也只看一个指标——跳数。每过30秒启用RIP的接口就会向外发送一次路由更新。超过15跳的网络被RIP视为不可达16跳就代表无穷大相当于宣告这条路根本走不通。你可以把距离向量算法想象成一层一层传话住在1楼的住户想知道4楼住着谁于是问2楼2楼问3楼3楼问4楼拿到消息后再原路传回来。每一次转手就是一跳传话的人只知道下一层告诉他的东西不知道整栋楼的户型图。这套机制的特点非常鲜明。好处是配置简单、运行开销小、在小规模网络里非常实用。缺点是收敛慢30秒更新周期再加上各种定时器网络出故障后要等几十秒甚至更久才能稳定度量又没法反映带宽和延迟不适合复杂网络。但正因为简单RIP非常适合用来理解动态路由的四个基本动作发现邻居、交换路由、计算路径、收敛。学懂RIP之后再去看OSPF和BGP很多概念都是有迹可循的。这也是为什么CCNA等课程到现在还保留RIP实验。1.2 做这套实验要准备什么玩RIP实验不需要真实路由器一台普通电脑加模拟器就完全够。我自己习惯用GNS3因为它的灵活性最好能直接点开接口抓包也能和Wireshark联动适合观察报文中那些比较细微的行为。EVE-NG也可以但从上手难度来说GNS3对Windows用户更友好。如果是刚接触网络没多久的新手用Packet Tracer也能跑通这套实验只是抓包能力弱一些。设备镜像我一般选思科的c3725三台路由器就够。拓扑越简单越好但一定要能形成非直连路由也就是说至少要有两个网段不是直连的否则动态路由的意义就体现不出来。我搭的拓扑是一个三角形R1连R2R2连R3R1也连R3。为什么要三角形因为这样可以观察等价路径、次优路径和环路抑制。如果只是把三台路由器串成一串那RIP实验做起来会索然无味。真实环境里很少有人会特意搭环形拓扑跑RIP但在实验里环形拓扑恰好能把路由协议的一些特点逼出来。2. 实验拓扑与配置思路拆解2.1 拓扑设计和IP规划这套实验的物理连接和IP地址如下我特意把互联地址都规划成/30的掩码模拟点对点链路回环接口用来模拟业务网段。设备接口IP地址对端R1Gig0/0192.168.12.1/30R2 Gig0/0R1Gig0/1192.168.13.1/30R3 Gig0/1R1Loopback010.0.1.1/24-R2Gig0/0192.168.12.2/30R1 Gig0/0R2Gig0/1192.168.23.2/30R3 Gig0/0R2Loopback010.0.2.1/24-R3Gig0/0192.168.23.3/30R2 Gig0/1R3Gig0/1192.168.13.3/30R1 Gig0/1R3Loopback010.0.3.1/24-为什么要用/30而不用更大一点的网段主要为了演示有类路由协议的问题。RIP v1是典型的分类路由协议遇到/30这种子网划分很容易在自动汇总时暴露出缺陷。同时用/30也更符合工程习惯节约地址。在这个拓扑里R1到达10.0.3.0/24有两条路一条是直连R3跳数为1一条是绕道R2再到R3跳数为2。RIP最终只会在路由表里放跳数小的那条这正是检验度量值计算的好素材。2.2 RIP v1还是要选v2很多初学者会在实验里纠结该用RIP v1还是v2这其实没有悬念直接RIP v2。v2支持VLSM和CIDR支持明文或MD5认证而且可以通过关闭自动汇总精确控制路由通告和现在主流网络形态匹配。v1是有类路由协议不能在报文里携带子网掩码只能广播更新也没有认证基本只适合考古。不过实验不能只看v2。我会先配一遍v1观察路由器如何把192.168.12.0/30这条路由通告成192.168.12.0/24然后再切换到v2看到正确的掩码被传播。这一对比版本差异比背一百遍概念都来得直观。还有个容易踩的坑Cisco设备上v1和v2并不是完全隔离的。默认情况下v1设备只监听广播地址255.255.255.255上的更新而v2设备用组播地址224.0.0.9发送更新。如果两台路由器一边配v1、一边配v2v1设备收不到组播自然学不到路由。想让双方互通需要在接口下敲ip rip v2-broadcast把v2的更新改成广播发送。这个知识点在教程里经常被忽略但真实排错时卡住人的往往就是这种不起眼的小配置。2.3 network命令背后的有类通告逻辑RIP配置里最绕人的是network命令。它不是像OSPF那样直接宣告接口而是宣告一个主类网络号。例如network 192.168.12.0实际意思是让路由器在所有属于192.168.12.0这个B类主网的接口上启用RIP并通告这些接口所在的网络。更反直觉的是如果写network 10.0.0.0那么路由器上所有10.x.x.x的接口都会跑RIP不管掩码是/8、/24还是/30。实验里我特意在每台路由器上放了多个不同掩码的子网配完RIP后执行show ip route rip就能看到network命令到底是怎么“按主类选接口、按接口网段生成条目”的。这里还要顺带提自动汇总。RIP v2默认开启auto-summary当路由器在两个不同主类网络之间通告路由时会把子网汇总成主类网络。比如R1要把10.0.1.0/24通告给R2在边界处可能被汇总成10.0.0.0/8。结果R2的路由表里出现一条大大的10.0.0.0/8而不是精细的10.0.1.0/24。如果实验里发现路由表出现这种诡异的主类汇总条目十有八九都是auto-summary在作怪。所以配置里必须no auto-summary这也是现在做RIP配置时的标准习惯。3. 从零开始跑通RIP完整实测记录3.1 先把地址和连通性搞定配置三台路由器的接口地址这一步本身不算难点但一定要养成先测底层再配协议的习惯。我把接口配置贴出来方便照着敲! R1 interface GigabitEthernet0/0 ip address 192.168.12.1 255.255.255.252 no shutdown ! interface GigabitEthernet0/1 ip address 192.168.13.1 255.255.255.252 no shutdown ! interface Loopback0 ip address 10.0.1.1 255.255.255.0 ! ! R2 interface GigabitEthernet0/0 ip address 192.168.12.2 255.255.255.252 no shutdown ! interface GigabitEthernet0/1 ip address 192.168.23.2 255.255.255.252 no shutdown ! interface Loopback0 ip address 10.0.2.1 255.255.255.0 ! ! R3 interface GigabitEthernet0/0 ip address 192.168.23.3 255.255.255.252 no shutdown ! interface GigabitEthernet0/1 ip address 192.168.13.3 255.255.255.252 no shutdown ! interface Loopback0 ip address 10.0.3.1 255.255.255.0配完先不要急着敲RIP逐一ping对端接口地址。两两之间都要能通底层不通的话后面所有排错都会变得很痛苦。曾经有人没做这一步结果折腾半天发现是某个接口忘了no shutdownRIP怎么配都不出路由这种低级失误对自信心伤害极大。3.2 RIP配置与第一条非直连路由三台路由器上的RIP配置如下! R1 router rip version 2 no auto-summary network 192.168.12.0 network 192.168.13.0 network 10.0.0.0 ! ! R2 router rip version 2 no auto-summary network 192.168.12.0 network 192.168.23.0 network 10.0.0.0 ! ! R3 router rip version 2 no auto-summary network 192.168.23.0 network 192.168.13.0 network 10.0.0.0配置完成后等待几秒钟在R1上执行show ip route rip大概会看到这样的输出R1# show ip route rip 10.0.0.0/24 is subnetted, 3 subnets R 10.0.2.0/24 [120/1] via 192.168.12.2, 00:00:03, GigabitEthernet0/0 R 10.0.3.0/24 [120/1] via 192.168.13.3, 00:00:07, GigabitEthernet0/1 192.168.23.0/30 is subnetted, 1 subnets R 192.168.23.0/30 [120/1] via 192.168.12.2, 00:00:03, GigabitEthernet0/0这里面的[120/1]非常值得解释一下120是RIP的管理距离1是跳数。管理距离是路由器用来比较不同来源路由可信度的数值RIP是120OSPF是110直连接口是0。数值越小越可信。后面那个1表示这是一跳路径。R1学到了10.0.3.0/24并且下一跳是192.168.13.3也就是直连R3没有绕道R2。原因是两条路径跳数不同直连只有1跳绕道需要2跳RIP只会把跳数最小的放入路由表。如果想看到负载均衡需要让两条路径的跳数一致我在后面的实验里专门处理了这个问题。再在R2上看一下同样能学到10.0.1.0/24和10.0.3.0/24都是1跳。整个网络的非直连互通到这里就算跑通了。3.3 用offset-list调整度量值前面R1到10.0.3.0/24一条直连R3是1跳绕行R2是2跳。RIP没有OSPF那种接口带宽成本想改变路径选择最常用的手段是offset-list它可以给匹配指定ACL的路由额外增加跳数。我在R1上这样操作access-list 1 permit 10.0.3.0 0.0.0.255 ! router rip offset-list 1 out 1 GigabitEthernet0/1意思是R1通过Gig0/1向外通告匹配ACL 1的路由时在原有metric基础上加1。这样R3从R1学到10.0.3.0/24时跳数变成2而R3从R2学到这条路仍然是1跳于是R3就会更倾向于选择经过R2的路径。如果这时在R3上执行show ip route rip下一跳会变成192.168.23.2而不是192.168.13.1。offset-list在真实网络里调整路由选路很好用比动不动改协议版本或者拆链路要灵活得多。但它的前提是ACL别写错否则影响范围会超出预期。每台路由器上配完一定要用show ip protocols确认一下偏移量是否生效。3.4 验证防环机制水平分割和毒性逆转RIP实验里最耐看的部分是防环机制。先说水平分割路由器从某个接口学到的路由不会再从同一个接口通告回去。在R1上10.0.2.0/24是从Gig0/0方向由R2学到的那么R1就不会把这条路由从Gig0/0发给R2。想验证这个行为可以在R1和R2之间的链路上抓包看R1往R2方向发的RIP响应报文里确实没有10.0.2.0/24这条条目。但三角形拓扑比直线拓扑复杂R1从R2学到10.0.2.0/24之后它会通过Gig0/1通告给R3。R3和R2之间本来就有链路如果R3再把10.0.2.0/24传回R2就可能在局部形成一个环路信息。RIP对付这种情况靠的是毒性逆转一条路由失效时路由器不会直接沉默而是以16跳不可达的方式通告给邻居让邻居知道这条路已经废了不要继续使用了。模拟链路中断很简单在R1上把Gig0/0 shutdown这相当于R1与R2之间的直连断掉。然后立刻在R1上开debug ip rip或者在R3上开debug ip rip观察会看到R1向Gig0/1方向发送的更新报文里10.0.2.0/24这条路由的metric变成了16。这就是毒性逆转在工作。如果不开debug只观察路由表消失的时间也能感受到RIP收敛有多慢——可能要几十秒甚至更久。这个“慢”就是RIP的典型特征也是生产网络中RIP被OSPF等协议取代的关键原因之一。3.5 抓包看RIP报文结构GNS3里可以直接选择链路开启Wireshark。抓R1和R2之间的流量过滤udp.port520就能看到完整的RIP更新报文。报文里的关键字段可以参考下面这个表字段含义实验观察点Command1为请求2为响应周期更新基本都是2Version1或2v1/v2直接区分AFI地址族标识IP为2固定值IP Address通告的路由前缀观察是否被自动汇总Metric跳数正常0到1516为不可达Route Tag路由标签重分发时使用v2报文里还有子网掩码和下一跳字段这就是它比v1强的地方。抓包能看到一个更新报文里包含多条路由条目RIP是把一堆条目打包在一个UDP 520报文里发出去30秒一次。所以小规模网络里RIP的开销确实很小。这里也能直观验证v1和v2的不同v1发到255.255.255.255v2发到224.0.0.9。Wireshark里看目的地址一栏就明明白白。4. 测完RIP之后你必须会排查的事4.1 路由学不到先别急着加network排错的第一原则永远是先查底层再查协议。有人配完RIP后发现show ip route rip空荡荡第一反应是疯狂敲network命令这其实是浪费时间。应该按顺序排查用ping检查邻居接口底层通不通用show ip protocols确认RIP有没有跑在该跑的接口上用show ip route rip确认当前有没有学到任何RIP路由用debug ip rip观察更新报文是否正确收发debug ip rip是RIP排错最常用的命令输出大概长这样RIP: sending v2 update to 224.0.0.9 via GigabitEthernet0/0 (192.168.12.1) RIP: build update entries RIP: sending metric 1 for 10.0.1.0 ... RIP: received v2 update from 192.168.12.2 on GigabitEthernet0/0 RIP: updating route 10.0.2.0 via 192.168.12.2看到“sending v2 update to 224.0.0.9”说明源端发送没问题如果一直看不到“received”多数是链路或者版本问题。记得排查完用undebug all把调试关掉不然路由器CPU一直被刷屏交互命令会变得非常卡。还有一个很常见的坑RIP v2默认用组播224.0.0.9发送更新如果中间经过的交换设备或者ACL把组播包过滤掉更新就断了。GNS3里用直连链路一般不太会遇到但真实交换环境里一定要有这个意识。4.2 路由翻跳和16跳不可达三角形拓扑里某个链路闪断RIP就会出现一个很有趣的现象路由一会儿走R3一会儿走R2路由表里的下一跳变来变去。原因在于RIP没有全网拓扑的完整视图每台路由器只是根据邻居传来的跳数做局部最优判断链路震荡时邻居传来的信息不一致就会导致翻跳。遇到这种情况不要慌先看是不是真的存在两条可达路径。如果两条路径跳数始终在1和2之间反复那是距离向量协议的正常行为不一定代表故障。如果不希望它翻跳可以用distribute-list控制路由通告把某条路径暂时禁掉。16跳不可达这个词也值得说清楚。RIP里16表示无穷大不是真的跳了16次网络而是协议约定当metric达到16时就认为这条路不可达。实验里如果看到某条路由的metric变成16说明它已经被毒化下一步就要从路由表里清掉。排错时看到16不用慌张那是协议在处置坏路。4.3 两个版本互通和自动汇总的坑版本互通的坑我在前面讲过再补充一个实际场景R2跑v2R3跑v1两台直连。R3不监听组播224.0.0.9所以R2的v2更新R3收不到。反过来R2能收到R3的v1广播更新只是报文里没有掩码信息只能按有类规则推断结果可能学出一条奇怪的汇总路由。解决办法不是简单地把所有设备改成同一版本而是理解机理之后做出正确决策小范围内全改v2或者对特定接口敲ip rip v2-broadcast。自动汇总的坑同样值得复盘。no auto-summary只在v2下生效。做实验时如果一台设备关了自动汇总另一台忘了路由表就会出现不对称。排查方式非常简单看show ip protocols输出里的auto-summary状态即可。4.4 passive-interface和重分发的一点经验实验中如果某台路由器连接着不需要跑RIP的LAN段不想让RIP更新报文打进终端网络就在对应接口配被动接口。配置方式有两种一种是在具体接口下直接passive-interface另一种是先passive-interface default把所有接口都设为被动再对需要启用RIP的接口单独取消。接口多的时候第二种更省事。RIP做重分发虽然在这套基础实验里不是重点但如果想更贴近真实组网可以加一条router rip redistribute static metric 2把静态路由重分发进RIP并指定跳数。如果不给metric默认引进去的路由会被当成16跳不可达邻居永远学不到。这个问题我见过不止一次很多人配完重分发发现对方路由表没有变化debug里又看不明白其实就差一个metric参数。5. 做完这套实验后的一点体会如果非要说这套RIP实验给我最大的收获那就是理解了什么叫做“收益递减”。RIP用最少的配置成本让你在一节实验课的时间里看到动态路由完整的生命周期——启动、学习、泛洪、收敛、环路抑制、失效清除。而正是RIP的这些弱点反过来成为你理解OSPF为什么存在的桥梁。我个人建议不要只满足于“配通就好”。做完基本步骤之后可以再尝试几个小挑战在三台路由器之间刻意制造一个环路场景观察RIP如何用水平分割把路由打向正确方向再试试把一台路由器的回环接口shutdown后再恢复记录路由表恢复的时间。这些看似不起眼的小实验比单纯背配置命令有用得多。最后再分享一个习惯每次做完实验都保存配置并截图记录show ip route rip的输出。看似简单但积累下来你会发现自己对路由协议的理解是在这种毫不起眼的重复中慢慢变深的。RIP作为协议可能早已不是网络世界的焦点但作为实验对象它仍然值得你花一个下午的时间。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。