1. 项目概述:这不是一道选择题,而是一次对OSPF协议肌理的现场解剖
你点开这道题的时候,大概率正卡在某个实验报告的最后一页,光标在“实验结论”四个字上反复闪烁,手边是Wireshark抓了一半的包、GNS3里三台路由器接口状态全红、还有老师PPT第27页那张密密麻麻的LSA类型表格——它不像RIP那样靠跳数说话,也不像静态路由那样写完就完事,OSPF像个极度较真的工程师,连邻居握手都要交换四次报文,连链路状态更新都要分洪泛、确认、重传三步走。这道“OSPF路由协议测试题”,表面是Mooc平台弹出的一组单选/多选/填空,背后其实是把整个OSPF协议栈从Hello机制、DR/BDR选举、LSDB同步、SPF树计算到路由表注入的完整工作流,压缩进一张A4纸大小的逻辑图谱里。我带过不少网络实验课,发现学生错得最狠的从来不是“OSPF的默认管理距离是多少”这种死记硬背题,而是“当R1和R2直连链路cost值从10改为100后,R3去往192.168.1.0/24网段的下一跳为什么没变?”这类需要你当场在脑内跑一遍Dijkstra算法、回溯LSA传播路径、判断LSDB是否已收敛的动态推理题。它考的不是你背了多少RFC文档编号,而是你有没有真正把OSPF当成一个有呼吸、会协商、能自愈的活体协议来理解。适合谁?刚配通第一台路由器的初学者,需要借这道题建立协议行为的具象认知;正在备考HCIA/CCNA的考生,它比题库更贴近真实排错场景;还有那些已经能写Python自动化脚本但对底层路由决策仍感模糊的进阶者——这道题就是你捅破那层“配置即结果”幻觉的锥子。关键词里没有“仿真”“拓扑”“抓包”这些词,但它们才是这道题真正的血肉。
2. 整体设计思路与方案选型逻辑:为什么Mooc实验偏爱OSPF测试题而非BGP或EIGRP
2.1 协议复杂度与教学颗粒度的黄金平衡点
OSPF被选为网络实验核心考点,绝非偶然。我们来横向对比下主流IGP协议的教学适配性:RIPv2太简单,15跳限制和30秒更新周期在现代网络中早已退化为历史标本,学生配完两台路由器就失去探究欲;EIGRP虽高效,但其混合型(距离矢量+链路状态)本质和DUAL算法收敛逻辑过于抽象,课堂上画SPF树容易,画DUAL有限状态机图直接劝退;BGP则完全跨入EGP领域,AS号、路径属性、策略控制等概念需要前置的互联网架构认知,对本科网络基础课而言属于超纲打击。OSPF恰恰卡在“足够复杂以承载核心网络思想,又足够结构化以支持分步验证”的临界点上。它的五种报文类型(Hello/DBD/LSR/LSU/LSAck)对应明确的交互阶段,七类LSA(Router-LSA/Network-LSA/Summary-LSA等)严格绑定区域角色,SPF算法本身是图论经典案例——这意味着教师可以像拆解一台机械手表那样,把每个齿轮(Hello间隔)、每根游丝(LSA老化时间)、每次擒纵(LSDB同步)都单独拎出来测试。我在某高校实验室带过一届学生,让他们用GNS3搭建一个含Area 0和Area 1的双区域拓扑,仅修改一个接口的network命令,就触发了Type 3 LSA的生成与泛洪,再配合Wireshark过滤ospf.lsa.type == 3,学生第一次亲眼看到“区域边界”在数据包层面的真实形态。这种可观察、可干预、可回溯的特性,是OSPF成为Mooc实验首选的根本原因。
2.2 Mooc平台的技术约束倒逼出高信息密度题型设计
线上实验平台有其天然局限:无法像实体机房那样让学生随意插拔网线制造物理故障,不能实时监控每台设备CPU占用率判断SPF计算是否卡顿,更无法要求学生提交长达百行的debug日志。因此,Mooc的OSPF测试题必须在有限交互次数内,完成对协议关键节点的穿透式检验。我们来看典型题干结构:“在如下拓扑中,R1、R2、R3均运行OSPF,R1-R2间链路cost=10,R2-R3间cost=20,R1-R3间cost=100。当R2-R3链路中断后,R1路由表中192.168.3.0/24网段的下一跳变为R3而非R2,且metric值由30变为100。请分析根本原因。” 这道题短短三句话,实际嵌套了三层验证:第一层是链路状态数据库(LSDB)的泛洪机制——R2检测到R2-R3链路down后,必须生成新的Router-LSA并泛洪给所有邻居;第二层是LSDB同步的时效性——R1是否及时收到该LSA并更新本地LSDB;第三层是SPF树重构的决策逻辑——R1重新运行Dijkstra算法时,是否将R1-R3这条高cost路径纳入最优路径计算。如果题目只问“下一跳是谁”,那就是纯记忆题;而追问“为什么metric值变了”,就把学生逼到必须在脑内模拟LSA生成、泛洪、接收、校验、SPF重算的全链路。这种设计不是为了刁难,而是用最小交互成本,达成对协议核心机制的最大覆盖。我曾参与某Mooc平台题库审核,发现淘汰率最高的题型,恰恰是那些只考“OSPF使用什么算法”的孤立知识点题——它无法暴露学生对协议动态行为的理解盲区。
2.3 从“配置正确”到“行为可信”的能力跃迁路径
传统网络实验常陷入一个误区:只要show ip route显示路由条目存在,就判定实验成功。但OSPF的可怕之处在于,它可能在配置完全正确的情况下,依然给出错误的转发路径。比如某次实验中,学生为R1配置了network 192.168.1.0 0.0.0.255 area 0,看似无误,但因R1的Loopback0接口IP为192.168.1.1/32,该network命令实际匹配了Loopback接口而非物理接口,导致R1在Area 0内宣告的是一个/32主机路由,而非预期的/24网段路由。结果R2的LSDB里存着一条Type 1 LSA描述192.168.1.1/32,却找不到192.168.1.0/24的Summary-LSA,最终路由表缺失。这类问题在Mooc测试题中被刻意放大:题干会给出完整的show running-config输出,再问“R2为何无法学习到192.168.1.0/24路由?”,选项里混入“R1未启用OSPF进程”“R2的area配置错误”等低级干扰项,而正确答案是“R1的network命令通配符掩码错误,导致宣告范围不匹配”。这迫使学生放弃“配置即结果”的惯性思维,转向“配置→LSA生成→LSDB内容→SPF计算→路由表注入”的因果链验证。我在批改实验报告时发现,能清晰画出这五步流程图的学生,后续在真实企业网排错中定位速度提升3倍以上——因为他们不再盯着show ip route发呆,而是直接去查show ip ospf database看LSA是否存在。
3. 核心细节解析与实操要点:从Hello报文字段到LSA洪泛抑制的魔鬼细节
3.1 Hello报文:远不止是“你好”,它是OSPF关系的宪法性文件
很多学生以为Hello报文只是邻居发现的敲门砖,其实它携带了建立稳定邻接关系的全部宪法条款。我们拆解一个典型Hello报文的关键字段(基于RFC 2328):
| 字段名 | 典型值 | 作用解析 | 实操陷阱 |
|---|---|---|---|
| Hello Interval | 10s(广播多路访问网络) | 定义发送Hello报文的时间间隔 | 若R1设为10s,R2设为30s,邻居关系永远无法建立——必须严格一致!我在GNS3中故意将R2的hello-interval改为30,结果R1日志持续刷“Neighbor Down: Dead Timer expired”,学生排查时总先看IP地址,却忽略这个隐藏开关 |
| Dead Interval | 40s(通常为Hello Interval的4倍) | 邻居失效判定阈值 | 修改Dead Interval需同步修改所有邻居,否则形成单向邻居。某次实验中,学生为加速收敛将Dead Interval设为12s,但忘记修改R3,导致R2认为R3已死,R3却仍视R2为活跃邻居,路由震荡持续5分钟 |
| Router Priority | 1(默认) | DR/BDR选举权重,0表示不参与选举 | 在点对点链路上设置Priority毫无意义,但在广播网络(如以太网)中,若所有路由器Priority均为0,则DR选举失败,邻居停留在2-Way状态。我见过学生用Packet Tracer模拟时,因未手动指定DR,导致整个Area 0内路由无法传递 |
| Designated Router (DR) | 192.168.12.1 | 当前DR的接口IP | 此字段在2-Way状态下为空,只有DR选举完成后才填充。若抓包发现此字段长期为空,说明DR选举卡住,需检查Priority和Router ID配置 |
提示:在Mooc实验中,若题目出现“R1与R2邻居状态始终为INIT”,请立即检查双方Hello报文中的Network Mask字段——即使IP地址在同一网段,若子网掩码配置不一致(如R1配255.255.255.0,R2配255.255.0.0),Hello报文会被直接丢弃,这是最隐蔽的配置错误之一。
3.2 LSA类型与洪泛规则:七类LSA不是分类目录,而是协议的生命脉络
OSPF的LSA体系常被简化为“1类描述路由器,2类描述网段,3类描述区域间路由”,这种概括在考试中够用,但在真实排错中会致命。我们必须理解每类LSA的生成主体、传播范围、以及被谁消费:
Type 1 Router-LSA:由每台路由器生成,描述自身直连链路及cost。关键点在于:它永不离开产生它的区域。R1在Area 0生成的Type 1 LSA,不会出现在Area 1的LSDB中。Mooc题中若问“R4(Area 1)的LSDB中能否看到R1的Type 1 LSA?”,答案必为否——这是检验学生是否理解区域边界的第一道门槛。
Type 2 Network-LSA:仅由DR生成,描述本网段所有邻居。注意:它只存在于广播/多路访问网络,在点对点链路上不存在!某次实验中,学生将R1-R2链路误配为broadcast类型(实际是point-to-point),导致DR选举异常,Type 2 LSA泛滥,LSDB体积暴涨300%,SPF计算延迟达15秒。
Type 3 Summary-LSA:由ABR(区域边界路由器)生成,将本区域内的Type 1/2 LSA“翻译”成网段路由,通告给其他区域。这里藏着最大陷阱:ABR只通告自己直连区域内的路由。例如R2同时连接Area 0和Area 1,它会将Area 1的路由通过Type 3 LSA通告给Area 0,但不会将Area 0内其他路由器(如R1)的Type 1 LSA再通告给Area 1。Mooc题常设障:“R3(Area 1)为何学不到R1(Area 0)的Loopback路由?”,正确答案是“R2作为ABR未将R1的Loopback网段重发布进Area 1”,而非“R1未宣告该网段”。
Type 4 ASBR-Summary-LSA:由ABR生成,用于告知其他区域“ASBR(自治系统边界路由器)在哪里”。它本身不携带路由,只提供ASBR的Router ID。当题目出现外部路由(Type 5 LSA)学习失败时,必须先验证Type 4 LSA是否存在——没有它,Type 5 LSA就是无源之水。
Type 5 AS-External-LSA:由ASBR生成,描述引入的外部路由(如重分布的静态路由)。关键约束:它在整个OSPF域内洪泛,但不进入stub区域。若题目设定某区域为stub,却要求学习外部路由,这就是逻辑矛盾,直接排除该选项。
注意:Mooc测试题中高频出现的干扰项是混淆Type 3与Type 5 LSA的生成者。记住铁律:Type 3由ABR生成(区域间),Type 5由ASBR生成(域外)。若选项称“R2(ABR)生成了Type 5 LSA”,可直接判错。
3.3 SPF算法执行时机与路由表注入:从拓扑计算到转发决策的毫秒级博弈
学生常误以为SPF算法是“邻居一上线就立刻运行”,实际上OSPF对SPF计算施加了严格的节制策略,这是保障网络稳定的基石。SPF执行触发条件有三类:
强制触发:LSA数据库发生实质性变更时,如新LSA到达、现有LSA被删除、LSA序列号更新。此时SPF必须立即执行,否则路由将陈旧。
延迟触发:为避免链路抖动引发SPF风暴,OSPF实现(如Cisco IOS)默认启用SPF延迟计时器(SPF throttle)。典型配置为
timers spf 5 10 10,含义是:首次SPF计算后,若5秒内再次触发,延迟10秒执行;若10秒内第三次触发,仍延迟10秒。这意味着在链路频繁up/down时,SPF计算可能被推迟数十秒。周期性触发:部分厂商实现支持定期SPF重算(如每30分钟),但标准RFC不推荐,Mooc题中基本不涉及。
Mooc测试题最常考察的是SPF计算与路由表注入的时间差。例如题干:“R1检测到R1-R2链路down后,立即生成新Router-LSA并泛洪。R2在t=0ms收到该LSA,t=5ms完成LSDB更新,t=15ms启动SPF计算,t=25ms完成SPF树构建,t=30ms将新路由注入路由表。” 问题:“R2在t=20ms时,是否已更新路由表?” 答案是否定的——因为SPF计算尚未完成。这个30ms的延迟,在真实网络中可能被放大到数百毫秒,正是企业网要求“亚秒级收敛”的技术难点所在。我在某金融客户现场调试时,发现其核心路由器SPF throttle参数被误设为timers spf 0 0 0(禁用延迟),导致一次光纤瞬断引发连续12次SPF计算,CPU飙升至95%,业务流量丢包率达40%。Mooc题虽不考参数调优,但通过时间轴推演,训练的就是这种对协议时序的肌肉记忆。
4. 实操过程与核心环节实现:从GNS3拓扑搭建到Wireshark精准过滤的全流程复现
4.1 GNS3拓扑构建:用最少设备验证最核心机制
Mooc实验受限于平台资源,通常采用极简拓扑。我们以一道经典题为例构建可复现环境:“R1、R2、R3构成三角形拓扑,R1-R2、R2-R3、R1-R3均为千兆以太网链路。R1与R2位于Area 0,R2与R3位于Area 1,R1与R3跨区域直连。R1的Loopback0宣告进Area 0,R3的Loopback0宣告进Area 1。问:R1能否学习到R3的Loopback0路由?”
设备选型与配置要点:
- 路由器:使用Cisco 7200系列(IOS 15.2),确保支持完整OSPF特性
- R1配置关键段:
interface GigabitEthernet0/0 ip address 192.168.12.1 255.255.255.0 ip ospf 1 area 0 ! interface GigabitEthernet0/1 ip address 192.168.13.1 255.255.255.0 ip ospf 1 area 0 # 注意:此处必须为area 0,因R1-R3链路属于Area 0边界 ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ip ospf 1 area 0 ! router ospf 1 network 1.1.1.1 0.0.0.0 area 0 network 192.168.12.0 0.0.0.255 area 0 network 192.168.13.0 0.0.0.255 area 0 - R2配置关键段(ABR角色):
interface GigabitEthernet0/0 ip address 192.168.12.2 255.255.255.0 ip ospf 1 area 0 ! interface GigabitEthernet0/1 ip address 192.168.23.2 255.255.255.0 ip ospf 1 area 1 # 关键:同一台路由器不同接口可属不同区域 ! router ospf 1 network 192.168.12.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 1 - R3配置关键段:
interface GigabitEthernet0/0 ip address 192.168.23.3 255.255.255.0 ip ospf 1 area 1 ! interface GigabitEthernet0/1 ip address 192.168.13.3 255.255.255.0 ip ospf 1 area 1 # 注意:R1-R3链路在R3侧属于Area 1 ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ip ospf 1 area 1 ! router ospf 1 network 3.3.3.3 0.0.0.0 area 1 network 192.168.23.0 0.0.0.255 area 1 network 192.168.13.0 0.0.0.255 area 1
实操心得:R1-R3直连链路在R1侧配置为area 0,在R3侧配置为area 1,这是OSPF允许的“虚链路替代方案”。但必须确保两端接口IP在同一子网(192.168.13.0/24),否则Hello报文无法交互。我曾见学生将R1的G0/1配为192.168.13.1/24,R3的G0/1配为192.168.13.3/25,结果邻居卡在EXSTART状态——因为子网掩码不一致导致Hello报文被丢弃。
4.2 LSDB深度验证:用show命令穿透协议黑箱
配置完成后,绝不能只看show ip route。Mooc题的答案往往藏在LSDB的细节里。以下是必须执行的验证命令链:
Step 1:确认邻居状态全为FULL
R1# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:37 192.168.12.2 GigabitEthernet0/0 3.3.3.3 1 FULL/BDR 00:00:33 192.168.13.3 GigabitEthernet0/1注意:State列显示
FULL/DR或FULL/BDR才表示LSDB已完全同步。若为2-WAY,说明DR选举未完成或网络类型配置错误。
Step 2:检查LSDB内容一致性
R1# show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 987 0x80000003 0x00C7A2 2 2.2.2.2 2.2.2.2 992 0x80000003 0x00F2A1 3 3.3.3.3 3.3.3.3 985 0x80000002 0x00A1B3 2 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.12.2 2.2.2.2 990 0x80000002 0x00D3C4 192.168.13.3 3.3.3.3 988 0x80000001 0x00E5F6关键观察点:
Router Link States (Area 0)下应包含R1、R2、R3的Router-LSA(Link ID即Router ID)Net Link States (Area 0)下应有两条Network-LSA,ADV Router分别为DR(R2和R3)- 所有LSA的Age值应在1000秒内(MaxAge=3600秒),若出现3600秒,说明LSA已老化,需检查泛洪是否正常
Step 3:定位特定LSA进行深度解析
R1# show ip ospf database router 3.3.3.3 OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) LS age: 985 Options: (No TOS-capability, DC) LS type: Router Links Link State ID: 3.3.3.3 Advertising Router: 3.3.3.3 LS Seq Number: 80000002 Checksum: 0xA1B3 Length: 60 Area Border Router AS Boundary Router Number of Links: 2 Link connected to: another Router (Link ID) Neighboring Router ID: 1.1.1.1 (Link Data) Router Interface address: 192.168.13.3 Number of TOS metrics: 0 TOS 0 Metrics: 1 Link connected to: a Stub Network (Link ID) Network/subnet number: 192.168.23.0 (Link Data) Network Mask: 255.255.255.0 Number of TOS metrics: 0 TOS 0 Metrics: 1解析:此输出证实R3(3.3.3.3)在Area 0内宣告了两条链路:一条指向R1(192.168.13.3),一条指向Stub网段192.168.23.0/24。注意
Area Border Router标志位,说明R3是ABR,它将在Area 1内生成Type 3 LSA通告192.168.23.0/24。
4.3 Wireshark抓包精确定位:用过滤器直击协议灵魂
当show命令无法解释现象时,Wireshark是终极武器。在GNS3中启用云设备(Cloud)连接Wireshark,捕获R1-R2链路流量,应用以下关键过滤器:
过滤Hello报文:
ospf.msg_type == 1
观察点:检查Hello Interval(Offset 20)、Dead Interval(Offset 22)、Network Mask(Offset 24)是否匹配。若发现R2发送的Hello中Network Mask为0.0.0.0,说明R2接口未配置IP地址。过滤LSA洪泛:
ospf.lsa.type == 1 && ospf.lsa.advrtr == "3.3.3.3"
此过滤器精准捕获R3生成的Type 1 LSA。若在R1的捕获中看不到,说明R3未成功泛洪,需检查R3的OSPF进程是否激活、接口是否启用OSPF。过滤LSAck确认:
ospf.msg_type == 5 && ospf.lsa.count > 0
LSAck报文(Type 5)用于确认收到LSU。若R1发出LSU后,长时间未收到R2的LSAck,说明链路层或IP层存在问题。过滤SPF触发事件:
ospf.lsa.age == 0
新生成的LSA初始Age为0。当看到大量Age=0的LSA密集出现,意味着网络正在经历SPF风暴,需立即检查链路稳定性。
实操心得:在Mooc实验中,若题目描述“R1路由表中缺少某条路由”,我习惯先抓包过滤
ospf.lsa.type == 3 && ospf.lsa.advrtr == "2.2.2.2"(假设R2是ABR),若捕获不到,说明ABR未生成Type 3 LSA,问题根源在ABR配置;若能捕获,再登录R1查show ip ospf database summary,看Type 3 LSA是否已存入LSDB。这套“抓包→查LSDB→查路由表”的三段式排查法,是我带学生时反复强调的核心技能。
5. 常见问题与排查技巧实录:那些让老手也皱眉的OSPF隐形地雷
5.1 区域类型配置冲突:Stub/NSSA区域的甜蜜陷阱
Mooc测试题常在区域类型上设障。例如题干:“R2为ABR,连接Area 0和Area 1。Area 1被配置为stub区域。R2将静态路由10.0.0.0/24重分布进OSPF。问:R1(Area 0)能否学习到该路由?”
表面逻辑:R2是ASBR,应生成Type 5 LSA通告外部路由。
残酷现实:Stub区域禁止Type 5 LSA进入!R2作为ABR,不仅不会将Type 5 LSA泛洪进Area 1,还会向Area 1内路由器发送一条默认路由(0.0.0.0/0)的Type 3 LSA。而R1在Area 0内,根本收不到任何关于10.0.0.0/24的LSA。
排查口诀:
- 查区域类型:
show ip ospf | include Area - 查ABR是否生成默认路由:
show ip ospf database summary中寻找Link ID为0.0.0.0的LSA - 查R1路由表:
show ip route ospf是否有O*E2条目(外部路由)
注意:若题目要求Stub区域学习外部路由,唯一合法方案是将Area 1配置为NSSA(Not-So-Stubby Area),此时R2作为ABR会生成Type 7 LSA(NSSA External LSA),并在注入Area 0时转换为Type 5 LSA。Mooc题中若出现“NSSA”字样,务必检查ABR是否执行了
area 1 nssa配置,且ASBR是否在NSSA区域内。
5.2 Router ID冲突:当两台路由器拥有同一个“身份证”
Router ID是OSPF的绝对唯一标识,冲突会导致灾难性后果。典型场景:学生复制R1配置到R2,忘记修改router-id命令,导致R1与R2的Router ID均为1.1.1.1。
症状表现:
show ip ospf neighbor显示邻居状态在EXSTART/EXCHANGE间反复震荡show ip ospf database中出现两条Link ID相同的Router-LSA,但ADV Router不同- R1的LSDB中存有“1.1.1.1”生成的LSA,R2的LSDB中也存有“1.1.1.1”生成的LSA,但内容矛盾
根因分析:OSPF用Router ID作为LSA的唯一标识符。当两台路由器ID相同时,它们生成的LSA在LSDB中无法区分,导致SPF算法无法构建正确拓扑树。R1计算时认为“1.1.1.1”连接着R2的链路,R2计算时却认为“1.1.1.1”连接着自己的链路,路由表彻底混乱。
解决方案:
- 强制指定Router ID:
router ospf 1→router-id 2.2.2.2(R2) - 清除OSPF进程:
clear ip ospf process(需确认) - 验证:
show ip ospf | include Router ID
实操心得:在GNS3中,若未手动配置router-id,IOS会自动选取最高loopback IP;若无loopback,则选最高物理接口IP。学生常忽略这点,导致重启设备后Router ID突变。我的建议是:所有OSPF实验,第一步必须显式配置
router-id,并记录在实验报告顶部。
5.3 认证密钥不匹配:看不见的握手失败
OSPF支持明文(Simple)和MD5两种认证。Mooc题中若出现“邻居无法建立”,80%概率是认证问题。关键陷阱在于:认证配置必须在接口级别启用,且密钥必须完全一致(包括空格)。
错误配置示例:
R1配置:
interface GigabitEthernet0/0 ip ospf authentication-key Cisco123 ip ospf authenticationR2配置:
interface GigabitEthernet0/0 ip ospf authentication-key cisco123 # 首字母小写! ip ospf authentication症状:show ip ospf neighbor显示状态为DOWN,debug ip ospf adj日志中出现“Authentication Mismatch”错误。
排查命令:
show ip ospf interface GigabitEthernet0/0查看认证状态show run interface GigabitEthernet0/0对比密钥字符串(注意:CLI中不显示密钥,需凭记忆或配置备份核对)
提示:MD5认证更安全,但配置更复杂。若题目涉及MD5,务必检查key-id是否匹配(
ip ospf message-digest-key 1 md5 Cisco123),且area 0 authentication message-digest命令已在OSPF进程下启用。Mooc平台为降低难度,多采用Simple认证,但密钥大小写敏感性仍是高频失分点。
5.4 Cost值计算陷阱:带宽与手动配置的双重世界
OSPF cost值决定路径选择,但其计算逻辑常被误解。默认公式为cost = 10^8 / interface bandwidth (bps),但Mooc题中常出现人为干预。
经典陷阱题:
“R1-R2链路为千兆以太网(bandwidth=1000000000 bps),R1配置了ip ospf cost 10。R2-R3链路为百兆以太网(bandwidth=100000000 bps),未配置cost。问:R1去往R3的最优路径是R1→R2→R3还是R1→R3直连(假设直连cost=100)?”
计算过程:
- R1→R2:手动配置cost=10(覆盖默认计算)
- R2→R3:默认cost = 10^8 / 10^8 = 1
- R1→R2→R3总cost = 10 + 1 = 11
- R1→R3直连cost = 100
- 结论:最优路径为R1→R2→R3
易错点:学生常忽略“手动配置cost优先级高于自动计算”,或误将R2→R3的bandwidth当作100Mbps(10^8)而算出cost=1,却忘记R2→R3链路在R2侧的接口带宽需与R3侧一致。实际中,若R3将接口bandwidth误配为10000000(