【计算机网络】思科实验(9):RIPv2协议实战与环路预防机制剖析
1. RIPv2协议基础与小型企业网络实战第一次在Packet Tracer里配RIPv2时我盯着那些跳数看了半天——这玩意儿真的能自己算出最佳路径后来才发现这个诞生于1988年的老牌协议至今仍是小型企业组网的性价比之选。咱们先拆解下它的核心机制距离矢量算法的本质就像快递站之间互相抄送货单。每个路由器30秒就会把自家路由表广播给邻居RIPv2改用组播地址224.0.0.9更高效通告内容就三要素目标网段、下一跳、跳数。比如财务部192.168.1.0/24到仓库192.168.3.0/24要经过市场部路由器跳数就标记为1。在最近给某连锁便利店升级网络时我用三层交换机模拟了这个场景Switch(config)# router rip Switch(config-router)# version 2 Switch(config-router)# network 192.168.1.0 Switch(config-router)# network 192.168.3.0关键点在于network命令要写主类网络号就算你划了子网也得写192.168.1.0而不是192.168.1.32/27。实测发现忘开ip routing的话三层交换机会傻乎乎地把路由请求当二层帧处理。2. 防环三剑客水平分割与毒性逆转的配合战去年处理过一次网络震荡问题就出在RIP的环路。当市场部和仓库间的链路闪断时市场部会继续告诉财务部我能到仓库跳数2而财务部也深信不疑地回复我这也到仓库跳数3结果形成死亡循环。水平分割(Split Horizon)的配置像给路由器装了防呆设计Router(config-if)# no ip split-horizon // 默认开启此命令是关闭它禁止路由器从Fa0/1口学到的路由再从这个口发回去。但我在多接入点网络中发现这会导致备用路径无法及时生效。这时就要祭出毒性逆转(Poison Reverse)Router(config-if)# ip poison-reverse它会故意从原接口发回跳数为16不可达的路由更新。实测中建议和触发更新配合使用Router(config-router)# timers basic 15 90 120 // 更新/失效/抑制/刷新时间(秒)3. 版本兼容性陷阱与认证配置给老设备升级时踩过坑总部用RIPv2发带子网掩码的更新但分公司的老2950交换机只认RIPv1。解决方案是在边界接口强制版本Router(config-if)# ip rip send version 1 Router(config-if)# ip rip receive version 1更稳妥的做法是上MD5认证防止前台WiFi路由器乱发路由污染Router(config)# key chain MYCHAIN Router(config-keychain)# key 1 Router(config-keychain-key)# key-string S3cr3t! Router(config-if)# ip rip authentication mode md5 Router(config-if)# ip rip authentication key-chain MYCHAIN4. 路由过滤与偏移列表实战去年有次市场部VPN路由总被错误优选用offset-list解决了Router(config)# access-list 1 permit 192.168.5.0 0.0.0.255 Router(config-router)# offset-list 1 in 2 FastEthernet0/1这会给从Fa0/1口学到的192.168.5.0路由增加2跳。更精细的控制可以用分发列表Router(config)# access-list 10 deny 10.1.2.0 Router(config-router)# distribute-list 10 in FastEthernet0/05. 与静态路由的混合部署技巧在便利店项目里我把收银系统的路由设为静态其他用RIP动态传播Router(config)# ip route 192.168.100.0 255.255.255.0 Null0 // 防路由黑洞 Router(config-router)# redistribute static metric 5记得用passive-interface阻止不必要的广播Router(config-router)# passive-interface default Router(config-router)# no passive-interface FastEthernet0/16. 性能优化与故障排查用debug ip rip能看到这样的更新RIP: sending v2 update to 224.0.0.9 via Fa0/1 RIP: build update entries - suppressing null update如果发现路由抖动先查show ip protocols里的计时器是否匹配。有个客户的路由器总丢包最后发现是clock rate没配Router(config-if)# clock rate 64000 // 串行链路必备在真实项目中RIPv2最适合网点少于15个的扁平化网络。上次给汽修连锁店部署时用路由汇总大幅减少更新量Router(config-router)# summary-address 172.16.0.0 255.255.0.0