用Ys-routesim模拟器吃透静态路由、RIP与OSPF实验验证
简介面向计算机网络课程实验的Ys-routesim模拟器基本实验答案文档适合初学者与中等程度学生配合教材上机练习也便于教师批改实验报告时对照参考。内容组织上采用实验报告体例从实验目的、材料工具到操作步骤逐项说明。内容围绕模拟器中12个基本实验展开涵盖交换机口令与主机名设置、清除特权口令、计算机与交换机IP地址配置及ping测试重点讲解VLAN划分、跨交换机trunk主干配置和多交换机冗余组网场景每一步均附有具体操作命令与连通性验证结果能帮助读者理解“同网段可通、不同网段不同VLAN不通”等判断依据。资源包仅有1个doc文档约2.74MB便于直接打印或在电脑上局部检索。目前已有1687人浏览学习实用性强。借助这份资料读者可系统梳理答题思路熟悉常用命令与排错流程减少实验课上摸索时间提高实验报告撰写效率与分数对实验课考查及后续网络实践也有参考价值。1. 用 Ys-routesim 模拟器做路由实验答案不在命令里而在验证逻辑里用 Ys-routesim 模拟器做路由基础实验很多人卡住的时间不是花在敲命令上而是花在不知道“实验结果到底该怎么算对”。静态路由配上去了ping 不通RIP 也宣告了路由表里却迟迟不出现OSPF 邻居状态停在某个阶段不再往前走。这类情况不一定需要改配置需要改的是对验证方法的理解。这篇笔记从静态路由、RIP 到 OSPF 给你一条能照着走的路径每一步都有命令、验证点和我踩过的坑。适合刚开始上网络课、要交实验报告、或者想用模拟器把路由协议链路理清楚的人。先说明一点模拟器的命令行风格接近主流网络设备端口编号和视图切换可能稍有差异但思路是通用的。2. 先把拓扑定下来静态路由实验的最小可复现配置2.1 三台路由器的最小拓扑与地址规划在 Ys-routesim 里做实验第一件事不是急着进入配置界面而是把拓扑想清楚。我一般用三台路由器 R1、R2、R3 串成一条链R1 的 G0/0/0 连 R2 的 G0/0/0R2 的 G0/0/1 连 R3 的 G0/0/0。每台路由器再建一个 Loopback 接口当作“背后的一台主机”。这样后面验证路由协议时不用真的去接 PC也能判断路由表工作正不正常。地址规划我长期用两个原则互联链路用 30 位掩码Loopback 用 32 位掩码。为什么不用 24 位30 位掩码的网段里只有两个可用 IP正好放链路两端路由表里少了很多无效的广播地址条目实验报告里对照路由表更清晰。Loopback 配 32 位则是因为它没有对端不参与 ARP也不需要考虑广播域32 位掩码写出来就是一个主机路由后面做 OSPF 时这个习惯还能帮 Router-ID 的规划省不少事。下面是我常用的地址表直接照抄就可以设备接口IP 地址掩码对端R1G0/0/010.0.12.1255.255.255.252R2 G0/0/0R2G0/0/010.0.12.2255.255.255.252R1 G0/0/0R2G0/0/110.0.23.2255.255.255.252R3 G0/0/0R3G0/0/010.0.23.3255.255.255.252R2 G0/0/1R1Loopback 01.1.1.1255.255.255.255无R2Loopback 02.2.2.2255.255.255.255无R3Loopback 03.3.3.3255.255.255.255无R2 是中间设备它需要同时知道 10.0.12.0/30、10.0.23.0/30 和两侧 Loopback 的路由R1 需要知道 10.0.23.0/30 和 3.3.3.3/32R3 需要知道 10.0.12.0/30 和 1.1.1.1/32。三台设备两两之间都只有一跳用静态路由来写是最直白的选择也最适合拿来给后面的 RIP、OSPF 实验做对照。地址表建议贴在模拟器旁边随时查免得配置过程中把接口号记混。开始实验之前我还会做一次环境清理。模拟器里的设备如果之前被其他实验改过配置残留的静态路由或者默认路由会干扰这次实验的结果。我习惯先执行一次配置清空再开始本次实验# 清理设备配置并重启回到出厂状态 erase startup-config reload这个动作花不了几秒钟但能省掉后面排查“为什么我的静态路由不生效”的大量时间。很多实验答案对不上不是算法问题是开局环境不干净。2.2 静态路由配置的命令与验证方法先把 R1 的接口地址配好并打开接口。模拟器的命令行风格接近主流设备我习惯从 enable 开始进入配置模式# R1 接口配置 enable configure terminal hostname R1 interface GigabitEthernet 0/0/0 ip address 10.0.12.1 255.255.255.252 no shutdown exit interface Loopback 0 ip address 1.1.1.1 255.255.255.255 exit接口配置的要害有两层。ip address 只是把地址写进去no shutdown 才是把接口从管理态切到工作态。Ys-routesim 这类模拟器为了模仿真实设备的冷启动状态默认接口是 down 的。漏掉 no shutdown 以后用 show interface 看物理层显示 up线路协议却是 down二层协商起不来后面所有协议都会失败。地址配完后R1 的路由表里应该只有两条直连路由。接下来写去往 R2、R3 两侧网络的静态路由# R1 上写两条静态路由 ip route 10.0.23.0 255.255.255.252 10.0.12.2 ip route 3.3.3.3 255.255.255.255 10.0.12.2第一条的语义是去往 10.0.23.0/30 这个网段下一跳是 10.0.12.2。下一跳写的是 R2 上和 R1 直连的那个接口地址。这里我建议写下一跳而不是写“出接口 GigabitEthernet 0/0/0”。原因是模拟器里一旦出接口被 shutdown 或者链路倒换出接口写法会立刻失效而下一跳写法只要地址仍可达就能继续工作。写成下一跳也能让你更早建立“转发靠路由表、路由表靠下一跳”的思维方式这种思维对后面 RIP、OSPF 实验帮助很大。R2 和 R3 的配置思路完全一样只是接口和网段不同。R2 上加两条静态路由分别去往 1.1.1.1/32 和 3.3.3.3/32R3 上加去往 10.0.12.0/30 和 1.1.1.1/32 的静态路由。全部配完后验证是一个递进过程# R1 上验证静态路由是否出现在路由表 show ip route static # 从 R1 的 Loopback 发起 ping目标是 R3 的 Loopback ping 3.3.3.3 source 1.1.1.1先执行 show ip route static看有没有出现 10.0.23.0/30 和 3.3.3.3/32 两条带 S 标记的路由。然后再 ping。ping 命令里的 source 参数很关键默认 ping 会拿路由器的出口地址当源地址R1 出去是 10.0.12.1到了 R3R3 回包的目的地址就是 10.0.12.1。如果 R3 上没写去往 10.0.12.0/30 的回程路由回包会被丢弃你会误以为问题出在 R1。加上 source 1.1.1.1实际上同时验证了 R1→R3 的转发和 R3→1.1.1.1 的回程实验报告里写上这一条是能看出思考过程的。ping 不通的时候不要立刻怀疑配置写错按这条链路逐跳来先在 R1 上 ping 10.0.12.2通了再在 R2 上 ping 10.0.23.3通了最后再回到 R1 做整条链路测试。哪一跳断了故障就在哪一段。绝大多数静态路由不通不是少写了某一条路由就是某一边的接口忘了 no shutdown。这个排查顺序我后面还会反复提到几乎适合所有模拟器网络实验。3. RIP 实验从启动到收敛把每一步都验证到3.1 RIP 启动的四个关键参数版本、宣告、汇总和被动接口静态路由配好以后建议把它全部删掉或者干脆换一组新的路由器做 RIP 实验。我推荐后者因为旧静态路由会和 RIP 学来的路由产生干扰管理距离不同报告里不好解释。RIP 的实验答案不只是配完就能通真正容易被扣分的是四个参数版本、宣告网段、自动汇总和被动接口。版本默认是 RIP version 1实验里必须改成 version 2。version 1 在主类边界上做自动汇总10.0.12.0/30 这种子网会被汇总成 10.0.0.0/8 通告出去。拓扑里所有地址都落在 10.0.0.0/8 这个主类里version 1 会把三个不同网段全部汇总成同一条路由表里看不到精确前缀ping 经常看起来通但路径不对。version 2 支持 VLSM才能把 10.0.12.0/30、10.0.23.0/30 以及三个 Loopback 按真实掩码传出去。宣告网段是 RIP 里最容易被误解的命令。RIP 的 network 命令后面只能跟主类地址不能精确到子网。比如 R1 的接口地址是 10.0.12.1Loopback 是 1.1.1.1要写的是 network 10.0.0.0 和 network 1.0.0.0而不是 network 10.0.12.0。这条命令的意思是告诉路由进程“哪些接口参与 RIP”然后 RIP 从这个接口发出并接收更新同时把这个接口对应的网段通告给邻居。写错成子网号模拟器往往不报错但邻居就是学不到路由。在 R1 上配置如下# R1 的 RIP 配置 configure terminal router rip version 2 network 10.0.0.0 network 1.0.0.0 no auto-summary passive-interface Loopback 0 exitnetwork 10.0.0.0 覆盖了 G0/0/0 所在的 10.0.12.1network 1.0.0.0 覆盖了 Loopback 的 1.1.1.1。no auto-summary 禁用自动汇总保证 10.0.12.0/30 这种子网不会被打包成 10.0.0.0/8 发出去。passive-interface Loopback 0 让 Loopback 不再发送 RIP 更新因为对端没有路由器周期广播没有任何意义还会让控制台日志变得很吵。模拟器里保留 Loopback 上的更新实验本身也能通但 debug 的时候印象很差。R2、R3 是同样的配置思路只需要按自己的接口地址替换 network 覆盖范围。R2 上有三个接口参与 RIP10.0.12.2、10.0.23.2 和 2.2.2.2要宣告 network 10.0.0.0 和 network 2.0.0.0。R3 上是 10.0.23.3 和 3.3.3.3宣告 network 10.0.0.0 和 network 3.0.0.0。宣告范围宁可大一点也不能漏漏掉一个接口这个网段就永远不会被通告出去。3.2 验证 RIP 收敛等待周期和路由表对照RIP 配置完成以后不会立刻出现在路由表里。RIP 是周期更新协议默认 30 秒广播一次完整路由表180 秒没有收到更新就把路由标记为不可达240 秒删除。很多同学配完马上 show ip route看到没有 RIP 条目就以为失败了其实是没等够更新周期。我一般会等 40 到 60 秒再验证。验证命令是一套组合拳# 查看 RIP 学到的路由确认没有被自动汇总 show ip route rip # 查看 RIP 数据库确认每条路由的来源和下一跳 show ip rip databaseshow ip route rip 看到的是已经装进全局路由表的条目是最终生效结果。show ip rip database 看的是 RIP 进程自己维护的拓扑信息包含从邻居收到的、甚至还没参与选路的路由。如果 database 里有、route 里没有多数是因为管理距离或度量值比不过现有路由这时要去查有没有残留的静态路由。进一步确认收敛过程可以用调试命令观察一眼然后立刻关掉# R1 上观察 RIP 更新验证完马上关闭 debug ip rip terminal monitordebug ip rip 会在控制台打印 RIP 的收发报文你能看到哪个接口收到更新、更新里带哪些前缀、度量值是多少。这是回答“实验为什么能通”最直接的证据。但 debug 输出非常占资源模拟器里开久了会卡验证完记着执行 undebug all 关掉。模拟器的调试输出有时候会积压日志堆在屏幕上不动不是设备死了是控制台处理不过来等几秒就会恢复。RIP 实验最容易犯的错是只验证 R1不验证回程方向。RIP 是双向学习的R1 能学到 3.3.3.3不代表 R3 就能学到 1.1.1.1。最后一次收敛验证应该在三台设备上都执行 show ip route rip确认三张路由表都完整。这一步做到位实验报告里写“全网互通RIP 收敛正常”才有依据。4. OSPF 实验区域划分与邻接关系检查4.1 区域规划与 Router-ID 的选择OSPF 实验比 RIP 多一个概念区域。小型拓扑用单区域 area 0 就够但实验报告里经常要解释“为什么用单区域”。我的回答是area 0 是骨干区域其他所有区域都必须物理或逻辑地连接到骨干三台路由器串行连接的场景下单区域能减少 LSA 泛洪、加快收敛也便于排查问题。如果以后扩展到多区域边界路由器上再做路由聚合这属于后续进阶。Router-ID 是 OSPF 里最容易踩坑的参数。OSPF 建立邻居时会比较 Router-ID全网不能重复否则邻居关系会震荡。模拟器如果不手动指定设备会自己选优先取 Loopback 里最大的 IP没有 Loopback 就取物理接口里最大的 IP。问题在于当你新增一个 Loopback 地址或者设备启动顺序不同Router-ID 就变了邻居关系可能从 Full 跌回 Down很难排查。我习惯在每台设备上手动指定 Router-ID并且直接用 Loopback 地址对应R1 用 1.1.1.1R2 用 2.2.2.2R3 用 3.3.3.3。这样调试时看到邻居列表里的 Router-ID立刻知道是哪台设备不用反查地址表。这个习惯在真实设备上也实用尤其在维护多区域网络时Router-ID 就是设备的身份证。OSPF 的 network 命令和 RIP 不一样它用的是反向掩码也就是 wildcard mask。10.0.12.0 网段、30 位掩码对应 0.0.0.3Loopback 32 位掩码对应 0.0.0.0。很多人在这里翻车把 255.255.255.252 当作反向掩码填进去结果接口匹配不上邻居建立不起来。反向掩码的算法是 255.255.255.255 减去正常掩码255.255.255.255 − 255.255.255.252 0.0.0.3。记不住公式也没关系直接记两个常用值掩码 30 位用 0.0.0.3掩码 32 位用 0.0.0.0。4.2 OSPF 配置与邻接状态检查以 R2 为例它是三台设备里的中间节点同时连接 R1 和 R3。在 R2 上配置# R2 的 OSPF 配置 configure terminal router ospf 1 router-id 2.2.2.2 network 10.0.12.0 0.0.0.3 area 0 network 10.0.23.0 0.0.0.3 area 0 network 2.2.2.2 0.0.0.0 area 0 exitrouter ospf 1 的 1 是进程号只在本地有意义两端进程号不同并不影响建立邻居实验里统一用 1 是习惯。router-id 手动指定避免自动选举的不确定性。三条 network 语句把 R2 的三个接口都宣告进 area 0每一条精确匹配一个接口。R1 和 R3 只需要按各自接口地址做同样配置R1 配置 network 10.0.12.0 0.0.0.3 area 0 和 network 1.1.1.1 0.0.0.0 area 0R3 配置 network 10.0.23.0 0.0.0.3 area 0 和 network 3.3.3.3 0.0.0.0 area 0。配置完成后看邻居关系是最重要的验证手段# 在 R2 上查看 OSPF 邻居 show ip ospf neighbor正常情况下R2 的邻居表里应该有 R1 和 R3 两条记录状态是 Full/DR、Full/BDR 或者 Full/——。状态机从 Down 开始经过 Init、Two-Way、ExStart、Exchange、Loading最后到 Full。点对点链路上这个过程非常快模拟器里通常几十秒内就能完成。如果邻居卡在某个中间状态就是排查的关键信号卡在 Two-Way通常发生在广播型网络里 DR/BDR 选举阶段。链路明明只有两台设备却卡在 Two-Way要检查是不是有第三台设备接入或者接口被误配了 broadcast 网络类型。卡在 ExStart 或 Exchange最常见原因是两端接口 MTU 不一致。OSPF 在交换数据库描述报文时会协商 MTU两端不一致就会停在 ExStart。检查两端接口 MTU改成一致再重置进程。状态一直是 Down先查两端接口有没有都 up再查 network 的 wildcard 有没有写对最后确认 Router-ID 有没有冲突。邻居达到 Full 之后还要确认路由表# 查看 OSPF 路由和全局路由表 show ip route ospf show ip routeshow ip route ospf 只显示 OSPF 学到的路由输出应该包含两端 Loopback 和互联网段。show ip route 看全局路由表确认这些路由的管理距离是 110。如果某条路由被静态路由占了OSPF 路由就算学到也不会装表因为静态路由管理距离默认 1永远优先于 OSPF 的 110。这也是我反复强调不要把旧静态路由留在设备上的原因。5. 实验避坑五个常见问题与排查顺序5.1 接口状态一直 down配置检查三遍还是没解决现象show interface 看到物理层 up、线路协议 down或者干脆双 downping 对端地址超时把接口地址重配一遍还是老样子。原因我遇到最多的原因是接口没执行 no shutdown。模拟器默认接口处于管理 down 状态命令行里只看 IP 配置看不出问题。第二种原因是两端接口名对不上连线拖到了 R2 的另外一个接口上配置却没写在那个接口。解决先用 show interface 确认两端接口状态找到 down 的那个接口进入接口视图执行 no shutdown观察十秒。如果依然 down沿着拓扑连线检查是不是接错接口。排查顺序永远是先物理层、再数据链路层、最后网络层这个习惯在模拟器和真实设备上都通用。5.2 静态路由写上了ping 就是不通现象路由表里有静态路由条目命令不报错但 ping 目标地址丢包甚至完全不通。原因绝大多数是回程路由缺失。R1 写了去 3.3.3.3 的路由但 R3 没写回 1.1.1.1 的路由R3 收到数据包后查路由表没有匹配条目直接丢弃。另一个常见原因是下一跳地址不可达比如下一跳写成了 R3 的接口地址而 R1 和 R3 之间隔着 R2R1 根本无法直接到达那个地址。解决从源头逐跳 ping。先在 R1 上 ping 下一跳 10.0.12.2再登录 R2 ping 10.0.23.3确认每一段链路都通。然后用 show ip route 核对目标网段在每一台中间设备上都有匹配条目。把一条 ping 不通的问题拆成入口、转发、出口三段就能避免从头到尾抓瞎。5.3 RIP 路由学了又消失路由表在来回“抖动”现象RIP 配置完成后show ip route 一会儿出现学到的路由过几十秒又消失再过一会儿又出现。原因RIP 的更新周期是 30 秒失效时间是 180 秒。如果网络里有环路或者链路质量差更新会不定期丢失超过 180 秒没收到更新路由就被标记为不可达下一轮更新到了又恢复。模拟器里还有一种来源把同一条链路接了两根线形成物理环路RIP 的跳数会不断增长直到 16 跳表现为路由表反复变化。解决检查拓扑里有没有环路打开 debug ip rip观察更新来自哪台邻居、携带的度量值是多少如果两条链路同时 upshutdown 掉其中一条。RIP 实验里不需要做冗余链路简单拓扑就是最稳的拓扑。5.4 OSPF 邻居卡在 ExStart重置进程也没用现象show ip ospf neighbor 显示邻居状态停在 ExStart/Exchange等很久都到不了 Full重新配置 router-id 或重置 OSPF 进程还是一样。原因两端接口 MTU 不一致这是 OSPF 邻居建立里最经典的问题。OSPF 在 Exchange 阶段发送数据库描述报文报文头里带着 MTU对端发现两边不一致就会拒绝继续交换状态反复停在 ExStart。模拟器里如果一组接口默认 MTU 1500另一组被改动过立刻就会复现。解决把两端接口的 MTU 改成一致多数网络设备默认是 1500。改完以后重置 OSPF 进程或重启邻居会话观察状态是否快速走到 Full。这类参数看着小造成的故障时间却很长排查时把它放在拓扑检查之后的第二位。5.5 模拟器整体变卡控制台回显迟钝现象敲命令后回显明显延迟debug 输出刷屏或者模拟器窗口像卡死一样过几十秒突然蹦出一大段日志。原因我把调试日志直接开到了控制台没有做输出管理。模拟器里 debug ip rip 或 debug ip ospf 一旦打开每条更新都会触发输出控制台处理不过来就会积压看起来像卡死。另一个原因是终端软件开启了自动滚屏日志一多页面不断刷新命令输入反而排不上队。解决验证完立刻执行 undebug all 关掉所有调试。如果确实还想看日志把输出导向缓冲区而不是控制台用 terminal monitor 做有选择的输出或者把日志缓冲区调大事后用 show log 翻查。这个习惯对真实网络设备同样重要生产环境里开 debug 本来就应该慎之又慎。6. 三种验证方法让实验答案经得起追问实验做完了还需要告诉自己“我真的把路由协议跑通了”。我习惯做三件事。第一件事是整条链路 traceroute而不是只 ping。ping 通只能说明数据包能往返不能说明路径对不对。在 R1 上执行 traceroute 3.3.3.3预期会看到两个跳第一跳 10.0.12.2第二跳 10.0.23.3。如果只有一跳说明 R1 里有一条直接指到 10.0.23.3 的路由R2 被跳过了如果有三跳以上说明中间混入了别的设备要么拓扑画错要么多加了转发路径。这种问题 ping 是看不出来的。第二件事是把路由表的每一行读一遍回答“这条路由的下一跳是谁、为什么是它”。R1 上看到 10.0.23.0/30 的下一跳是 10.0.12.2来源是静态路由还是 RIP 或 OSPF管理距离是多少我在报告里都会标出来。等你能不看配置命令就解释清楚每一条条目的来源时这个实验才是真正属于你的答案。能让人信服的验证不是把结果截图发出去而是能在被追问后说出“因为下一跳是 X回程路由 Y所以通”。第三件事是刻意制造一次故障再恢复它。把 R2 和 R3 之间的链路 shutdown观察路由表什么时候丢失对应条目恢复链路观察什么时候重新收敛。RIP 会在几十秒内更新路由表OSPF 在一两秒内重新建立邻接关系。这一步能让你对收敛时间有直观感知也是答辩和面试里很常见的追问点。我自己的收尾习惯是每次实验结束把配置导出和地址表放一起下次重建环境时直接对照。另一个教训是别在状态验证成立的那一刻就停手。等 30 秒再看一次路由表OSPF 邻居再确认一次状态你会发现很多隐患是在等待中暴露出来的。希望帮到你。本文还有配套的精品资源点击获取