ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

RIP v2与OSPF动态路由配置实验:从拓扑设计到排错通关

RIP v2与OSPF动态路由配置实验:从拓扑设计到排错通关 简介这份文档资料面向计算机网络课程的学习者与实验指导教师聚焦动态路由配置这一课程设计实验帮助读者理解动态路由的优缺点、适用范围并掌握用RIP与OSPF协议实现网络互通的方法。资源包内含1个docx文件约150KB内容以实验报告形式组织涵盖实验拓扑图、地址规划表、路由器基本设置命令、RIP与OSPF配置步骤以及用show ip route查看路由表和ping测试连通性的验证环节基于Cisco Packet Tracer 5.3平台展开。目前已有397人学习下载适合需要完成课程设计报告、对照实验步骤复现配置或复习动态路由协议原理的学生参考也可作为教师设计实验任务的素材。文档可自由复制编辑便于按自身拓扑调整地址与命令是网络实验入门与动手能力训练的实用参考资料。1. 动态路由配置实验从 RIP v2 到 OSPF 的课程设计通关路径做计算机网络课程设计十有八九绕不开动态路由配置这个实验。我带过几届学生的课设答辩发现一个很反直觉的现象大部分人在 Packet Tracer 或 eNSP 里敲完命令、看到路由表里出现了 O 或 R 条目就以为大功告成结果答辩时被问一句“RIP v2 和 OSPF 在你这张拓扑里为什么选这个”就卡住了。动态路由配置实验的核心不是把命令敲对而是理解路由协议在什么场景下该用、收敛过程发生了什么、路由表为什么长成那样。这篇笔记面向正在做计网课设的本科生和刚接触网络设备的运维新人把 RIP v2 和 OSPF 两个最常考的协议从拓扑设计、地址规划、配置命令到验证排错完整走一遍让你不仅能交差还能在答辩时讲清楚每一步为什么这么做。2. 动手之前拓扑设计与地址规划决定成败2.1 为什么三路由器拓扑是动态路由实验的黄金起点课程设计里最常见的翻车场景是拓扑画得太复杂五六台路由器加交换机堆在一起结果配到一半自己都忘了哪根线连哪个口。我的血泪经验是动态路由配置实验用三台路由器做三角形或链形拓扑就够了。三台路由器能产生至少三条路径足以观察 RIP 和 OSPF 在路径选择上的差异又不会让排错变成大海捞针。具体来说推荐两种拓扑链形拓扑R1 — R2 — R3R1 和 R3 之间没有直连。这种拓扑适合观察路由的逐跳传播RIP 的跳数限制和 OSPF 的链路状态泛洪差异会非常明显。三角形拓扑R1、R2、R3 两两互联。这种拓扑适合观察等价路径和收敛过程当一条链路断开时动态路由协议能否自动切换到备用路径。如果你用的是 Packet Tracer建议选 2911 或 4331 路由器eNSP 里用 AR2220 就行。接口方面路由器之间用以太网口互联即可不需要串口降低接线复杂度。2.2 地址规划表别让子网划分成为你的黑匣子地址规划是很多同学最容易糊弄过去的一步但恰恰是后面排错时最依赖的基础。我一般会按下面的格式先画一张表把每个网段、每台设备的接口地址、环回地址全部列清楚再动手敲命令。设备接口IP 地址子网掩码说明R1G0/010.0.12.1255.255.255.0R1-R2 互联R1G0/110.0.13.1255.255.255.0R1-R3 互联R1Lo01.1.1.1255.255.255.255环回口模拟业务网段R2G0/010.0.12.2255.255.255.0R2-R1 互联R2G0/110.0.23.2255.255.255.0R2-R3 互联R2Lo02.2.2.2255.255.255.255环回口R3G0/010.0.13.3255.255.255.0R3-R1 互联R3G0/110.0.23.3255.255.255.0R3-R2 互联R3Lo03.3.3.3255.255.255.255环回口环回口的作用是模拟真实的业务网段这样路由表里除了互联网段还能看到各路由器的业务网段路由更接近实际工程场景。注意每台路由器的环回口用 /32 掩码这是运营商和企业网里的常见做法。提示地址规划表一定要在动手配置前完成并且每配完一台设备就对照检查一遍。我见过太多人配到第三台路由器时发现前两台地址冲突只能全部推倒重来。3. RIP v2 动态路由配置命令、验证与三个必调参数3.1 RIP v2 的配置逻辑与最小命令集RIP v2 是距离矢量协议的代表用跳数作为度量值最大有效跳数 15。它的配置非常简洁但简洁不等于简单有几个参数不调就会出问题。先看 R1 的完整配置# 进入全局配置模式 R1 enable R1# configure terminal # 开启 RIP 进程进程号 1本地有效不影响邻居 R1(config)# router rip R1(config-router)# version 2 R1(config-router)# no auto-summary # 宣告直连网段注意只宣告主类网段 R1(config-router)# network 10.0.0.0 R1(config-router)# network 1.0.0.0 # 关闭被动接口以外的接口的 RIP 更新发送可选优化 R1(config-router)# passive-interface Loopback0 # 保存配置 R1(config-router)# end R1# write memoryR2 和 R3 的配置逻辑完全一样只是 network 命令宣告的网段不同。R2 需要宣告 10.0.0.0 和 2.0.0.0R3 需要宣告 10.0.0.0 和 3.0.0.0。这里有几个关键点需要展开说version 2RIP v1 是有类路由协议不支持 VLSM也不支持认证。课程设计里除非明确要求对比 v1 和 v2否则一律用 v2。敲了 version 2 之后RIP 更新会以组播地址 224.0.0.9 发送而不是 v1 的广播 255.255.255.255。no auto-summary这是 RIP v2 配置里最容易漏掉的一条。自动汇总会在主类网络边界把子网路由汇总成主类路由比如把 10.0.12.0/24 和 10.0.13.0/24 汇总成 10.0.0.0/8。在实验环境里这会导致路由表看起来“少了”几条明细路由排错时非常迷惑。关掉它路由表才是你期望的样子。network 命令的写法RIP 的 network 命令只接受主类网段不能写 10.0.12.0 这样的子网。如果你写了 10.0.12.0IOS 会自动把它改成 10.0.0.0。这一点和 OSPF 不同OSPF 的 network 命令必须写精确的反掩码。3.2 验证 RIP v2 路由表与连通性配置完成后用以下命令验证# 查看路由表确认 RIP 路由标记为 R是否出现 R1# show ip route # 查看 RIP 数据库确认收到的路由条目 R1# show ip rip database # 查看 RIP 协议运行状态和计时器 R1# show ip protocols # 从 R1 的环回口 ping R3 的环回口验证端到端连通性 R1# ping 3.3.3.3 source 1.1.1.1在 R1 的路由表里你应该能看到 2.2.2.2/32 和 3.3.3.3/32 被标记为 RRIP 学到的路由下一跳分别是 10.0.12.2 和 10.0.13.3。如果只看到一条说明另一条路径的 RIP 更新没收到需要检查接口是否 up、network 命令是否宣告了正确的网段。show ip protocols的输出里要关注三个计时器Update 30 秒、Invalid 180 秒、Holddown 180 秒、Flush 240 秒。这些是 RIP 的默认值考试里经常问。在实验环境中你可以用timers basic命令缩短计时器来加快收敛观察但生产环境不建议改。3.3 RIP v2 的三个必调参数与常见误用除了 version 2 和 no auto-summary还有三个参数在实际配置中必须关注passive-interface默认情况下RIP 会在所有参与 network 的接口上发送更新。环回口和连接终端的接口不需要发送 RIP 更新用 passive-interface 关掉可以减少不必要的流量。注意 passive-interface 只是不发送更新仍然会接收更新和宣告网段。split horizon水平分割默认开启防止路由环路。在帧中继等 NBMA 环境中可能需要关闭但在以太网实验里保持默认即可。如果你发现某条路由怎么都学不到先检查是不是水平分割在作怪。authentication认证RIP v2 支持明文和 MD5 认证。课程设计里如果要求配置认证命令是ip rip authentication mode md5和ip rip authentication key-chain。不要求的话可以跳过但要知道有这个功能。常见误用方面最典型的是在 network 命令里写了子网地址。比如network 10.0.12.0IOS 不会报错但会自动改成network 10.0.0.0然后你会发现在 R2 上看到了 10.0.13.0/24 的路由因为 R1 把整个 10.0.0.0/8 都宣告了。这不是 bug是 RIP 的有类特性。4. OSPF 动态路由配置单区域实验的完整落地4.1 OSPF 单区域配置从进程号到 network 反掩码OSPF 是链路状态协议配置比 RIP 稍微复杂但逻辑更清晰。课程设计里通常做单区域Area 0配置下面是 R1 的完整命令# 进入全局配置模式 R1 enable R1# configure terminal # 开启 OSPF 进程进程号 1本地有效 R1(config)# router ospf 1 # 设置路由器 ID建议用环回口地址 R1(config-router)# router-id 1.1.1.1 # 宣告网段到 Area 0注意反掩码 R1(config-router)# network 10.0.12.0 0.0.0.255 area 0 R1(config-router)# network 10.0.13.0 0.0.0.255 area 0 R1(config-router)# network 1.1.1.1 0.0.0.0 area 0 # 将环回口设为被动接口不发送 Hello 包 R1(config-router)# passive-interface Loopback0 # 保存配置 R1(config-router)# end R1# write memoryR2 和 R3 的配置类似router-id 分别设为 2.2.2.2 和 3.3.3.3network 命令宣告各自的直连网段。几个关键参数说明router-idOSPF 用 router-id 唯一标识一台路由器。如果不手动指定OSPF 会自动从接口地址里选一个最大的作为 router-id。手动指定是良好习惯尤其是在有环回口的情况下。注意 router-id 一旦选定修改后需要重启 OSPF 进程或清除 OSPF 进程才能生效。network 反掩码OSPF 的 network 命令用反掩码wildcard mask0 表示匹配1 表示忽略。比如 0.0.0.255 匹配一个 /24 网段。这和 ACL 的反掩码逻辑一样但和 RIP 的写法完全不同。很多同学在这里翻车把 0.0.0.255 写成 255.255.255.0结果 OSPF 邻居起不来。area 0所有 OSPF 区域必须和骨干区域 Area 0 直接相连。单区域实验里所有网段都宣告到 Area 0 即可。4.2 验证 OSPF 邻居关系与链路状态数据库OSPF 的验证比 RIP 多一层先看邻居关系再看路由表。# 查看 OSPF 邻居关系确认状态为 FULL R1# show ip ospf neighbor # 查看 OSPF 接口参数Hello 间隔、Dead 间隔、网络类型 R1# show ip ospf interface brief # 查看链路状态数据库 R1# show ip ospf database # 查看路由表确认 OSPF 路由标记为 O 或 O IA R1# show ip route ospf # 端到端连通性测试 R1# ping 3.3.3.3 source 1.1.1.1show ip ospf neighbor的输出里Neighbor ID 是对方路由器的 router-idState 应该是 FULL。如果卡在 EXSTART 或 EXCHANGE通常是 MTU 不匹配或 router-id 冲突。如果卡在 INIT说明只收到对方的 Hello 包但对方没收到自己的检查接口是否被 passive-interface 关掉了。show ip ospf interface brief可以看到每个接口的 Hello 间隔默认 10 秒和 Dead 间隔默认 40 秒。这两个参数在邻居两端必须一致否则邻居关系起不来。4.3 OSPF 与 RIP 的选型对比什么时候用哪个课程设计答辩里几乎必问的一个问题是RIP 和 OSPF 你选哪个为什么下面这张表可以作为回答框架对比维度RIP v2OSPF协议类型距离矢量链路状态度量值跳数带宽cost最大跳数15无限制收敛速度慢分钟级快秒级适用规模小型网络中大型网络配置复杂度低中路由环路防护水平分割、毒性逆转SPF 算法天然无环资源消耗低较高CPU、内存选型逻辑很简单小型网络、对收敛速度要求不高、设备性能有限用 RIP v2中大型网络、需要快速收敛、链路带宽差异大用 OSPF。课程设计里如果拓扑只有三台路由器两个协议都能跑通但答辩时你要能说出“如果扩展到十台路由器我会选 OSPF因为 RIP 的 15 跳限制和慢收敛会成为瓶颈”。5. 避坑与排查动态路由配置实验里最容易翻车的五个点5.1 邻居起不来现象、原因与解决现象OSPF 邻居关系卡在 INIT 或 EXSTARTRIP 路由表里学不到对方的路由。原因最常见的是接口没 up、IP 地址配错、子网掩码不匹配。OSPF 还多一个可能Hello 间隔或 Dead 间隔不一致或者 area ID 不同。RIP 则可能是 version 不匹配一端 v1 一端 v2。解决先用show ip interface brief确认接口状态和地址再用show ip ospf interface对比两端的 Hello/Dead 间隔和 area ID。RIP 用show ip protocols确认 version。如果是 eNSP 或 Packet Tracer 模拟器还要检查连线是否正确、接口是否被 shutdown。5.2 路由表里有路由但 ping 不通现象、原因与解决现象show ip route能看到对方网段的路由但 ping 不通。原因路由是单向的。比如 R1 学到了 R3 的路由但 R3 没学到 R1 的路由回包找不到路。或者接口的 passive-interface 配错了把应该发送更新的接口关掉了。解决在两端分别show ip route检查是否有对方网段的路由。如果只有单向有检查没学到路由的那台设备的 network 命令是否宣告了正确的网段。另外注意ping 的时候要指定源地址否则路由器可能用错误的接口地址作为源导致回包路径不对称。5.3 RIP 自动汇总导致路由缺失现象、原因与解决现象RIP 配置完成后路由表里只有主类网段的路由没有明细子网路由。原因RIP 默认开启自动汇总在主类网络边界会把子网路由汇总。比如 10.0.12.0/24 和 10.0.13.0/24 被汇总成 10.0.0.0/8。解决在 RIP 配置模式下敲no auto-summary。注意这条命令要在所有运行 RIP 的路由器上都配置只配一台不够。5.4 OSPF network 命令反掩码写错现象、原因与解决现象OSPF 邻居关系正常但路由表里缺少某些网段的路由。原因network 命令的反掩码写错了。比如想宣告 10.0.12.0/24写成了network 10.0.12.0 0.0.0.0 area 0这样只匹配 10.0.12.0 这一个地址不匹配整个网段。解决/24 网段的反掩码是 0.0.0.255/30 网段是 0.0.0.3/32 主机地址是 0.0.0.0。用show ip ospf interface brief确认哪些接口参与了 OSPF如果某个接口没出现在列表里就是 network 命令没匹配上。5.5 模拟器保存配置后重启丢失现象、原因与解决现象在 Packet Tracer 或 eNSP 里配好路由保存拓扑后重新打开配置全没了。原因模拟器的“保存拓扑”和设备的“保存配置”是两回事。Packet Tracer 里需要点击设备在 CLI 里敲write memory或copy running-config startup-config然后保存拓扑文件。eNSP 里同样需要save命令。解决养成习惯每配完一台设备就敲一次write memory。Packet Tracer 的某些版本对 startup-config 的保存支持不完善建议同时导出设备的配置文件作为备份。6. 进阶技巧用抓包和调试命令看清动态路由的收敛过程课程设计做到基本连通之后如果你想拿高分或者真正理解动态路由我建议做一件事抓一次 OSPF 的 Hello 包和 RIP 的 Update 包亲眼看看协议报文长什么样。这是我从带学生答辩里总结出的最有效的进阶方法比背十遍理论都管用。在 Packet Tracer 里切换到 Simulation 模式在 R1 和 R2 之间的链路上放一个抓包点然后点击播放。你会看到 OSPF 的 Hello 包每 10 秒发一次目的地址是 224.0.0.5里面包含了 router-id、area id、Hello 间隔、Dead 间隔、邻居列表。RIP 的 Update 包每 30 秒发一次目的地址是 224.0.0.9里面是路由条目和跳数。如果你想看收敛过程可以做一个实验在三角形拓扑里先让 OSPF 完全收敛然后用debug ip ospf events开启调试再 shutdown R1 和 R3 之间的链路。你会在控制台看到 OSPF 重新计算 SPF 的日志路由表在几秒内切换到经 R2 的路径。RIP 的收敛要慢得多用debug ip rip可以看到它需要等 Invalid 计时器超时默认 180 秒才会删除失效路由。# 开启 OSPF 事件调试生产环境慎用会大量输出 R1# debug ip ospf events # 开启 RIP 调试 R1# debug ip rip # 关闭所有调试 R1# undebug all注意debug 命令在真实设备上会消耗大量 CPU生产环境只在排错时临时开启用完立刻关掉。模拟器里随便用但也要养成好习惯。另一个进阶技巧是修改 OSPF 的 cost 值来影响路径选择。默认情况下OSPF 的 cost 是 10^8 / 接口带宽。比如 100Mbps 接口的 cost 是 110Mbps 接口的 cost 是 10。你可以用ip ospf cost命令手动指定 cost观察路由表的变化。这个技巧在答辩时非常加分因为它说明你不仅会配还理解协议怎么选路。# 在接口下修改 OSPF cost R1(config)# interface GigabitEthernet0/0 R1(config-if)# ip ospf cost 100改完之后show ip route ospf看下一跳是否变化。如果拓扑里有等价路径你还可以用maximum-paths命令控制是否做负载均衡。最后说一个我自己的习惯每次做完动态路由实验我都会把三台路由器的show running-config、show ip route、show ip ospf neighbor或show ip rip database的输出保存到一个文本文件里按拓扑图、配置、验证结果三部分整理。这样答辩时被问到任何细节我都能翻出当时的输出来佐证而不是靠记忆瞎编。这个习惯让我在后来做真实网络运维时也受益很多因为排错时最怕的就是“我记得当时是好的”这种模糊判断。希望帮到你。本文还有配套的精品资源点击获取
返回列表