号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
OSPF 面试必考,问这题的面试官,心里其实就一个想法:
你是真懂 OSPF,还是光会 copy 配置?
说实话,这题真不是单纯背“8个状态”就行的。
面试官更想听的是:
你能不能说清楚状态背后的握手过程,能不能根据邻居状态判断出错点。
今天这一篇,手把手带你把这个知识点答到面试官闭嘴。
一、OSPF 邻居状态到底有几个?
标准答案:8 个状态。
但实际生产里,真正常见的,核心只有 7 个,Attempt 状态只有 NBMA 场景才会有。
状态全名表:
二、状态流转过程:别死背,理解流程才是真本事!
面试时,如果你能顺口说出下面这些流转逻辑,基本直接加分。
-
Down → Init:
还没收到对方 Hello → 收到对方 Hello(但对方还不知道我)
-
Init → 2-Way:
两边都能在对方 Hello 里看到自己了,邻居双向可见,握手基本 OK
-
2-Way → ExStart:
选主从,谁发描述,谁跟着听? (这一阶段最容易出 MTU 不一致问题)
-
ExStart → Exchange:
交换 DD 包,开始比数据库,互相说:“我有什么类型的 LSA”
-
Exchange → Loading:
发现“哎,你有的 LSA,我没有”,用 LSR 把清单发过去,开始同步内容。
-
Loading → Full:
数据完全对齐,邻居关系达成。
面试记忆法口诀:
Down → Init → 双向确认 → 主从协商 → 数据对比 → 数据同步 → 完全 Full
三、状态和实际故障的关系
面试官最喜欢刨根问底。
如果面试官追问:“生产现场,如果邻居一直卡在某个状态,你怎么排查?”
你可以这样答:
面试官要是继续问:“MTU 不一致怎么判断?”
你可以加码:
ExStart 状态反复掉线、日志里有 MTU mismatch 报错,或者抓包看到 Negotiation 卡死在 DD 包交换阶段。
直接秒杀。
四、NBMA 场景:Attempt 状态是啥?
面试官高级一点,可能突然反问:“Attempt 状态啥时候有?”
答:
只有在 NBMA 网络里出现。
因为 NBMA(非广播多路访问网络)没法自动发现邻居,只能手动加邻居,
OSPF 需要主动给邻居发 Hello 等回应,处于 Attempt 状态。
场景举例:老 FR 网络 / PPPoE Hub-Spoke 拓扑。
面试官听你说到这程度,大概率不再继续刨了。
甚至还能反过来问他:“贵司 OSPF 网络里主要是 P2P 还是 Broadcast 场景?”1
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部