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