OSPF 邻居关系建立全过程(R1 ↔ R2)

包含状态迁移、DBD 标志位(I/M/MS)、LSA 同步流程
sequenceDiagram participant R1 as 路由器 R1 (Router-ID: 1.1.1.1) participant R2 as 路由器 R2 (Router-ID: 2.2.2.2) Note over R1,R2: 初始状态: Down R1->>R2: Hello (Active Neighbors: 空) R2->>R1: Hello (Active Neighbors: 空) Note right of R2: R1 收到 Hello → 状态 → Init
R2 同理 R1->>R2: Hello (含 R2 的 Router-ID) R2->>R1: Hello (含 R1 的 Router-ID) Note over R1,R2: 双方看到对方 Router-ID → 状态 → Two-Way
DR/BDR 选举开始(广播网络) Note over R1,R2: 进入邻接建立阶段(仅 DR/BDR 或 P2P 网络) R1->>R2: DBD (I=1, M=1, MS=1, Seq=X)
【空载荷,主从协商】 R2->>R1: DBD (I=1, M=1, MS=0, Seq=Y)
【R2 承认 R1 为主(因 2.2.2.2 > 1.1.1.1)】 Note over R1,R2: 状态 → ExStart
主从确定:R2 为主(Router-ID 更大)
同步 DD Sequence R2->>R1: DBD (I=0, M=1, MS=1, Seq=100)
【LSA Header 摘要列表】 R1->>R2: DBD (I=0, M=1, MS=0, Seq=101)
【LSA Header 摘要列表】 Note over R1,R2: 状态 → Exchange
持续交换 DBD,M=1 表示还有更多
比对 LSDB 摘要,识别缺失 LSA R2->>R1: DBD (I=0, M=0, MS=1, Seq=102)
【最后一条,M=0】 R1->>R2: DBD (I=0, M=0, MS=0, Seq=103) R1->>R2: LSR (请求缺失 LSA: Type=1, ID=2.2.2.2, Adv=2.2.2.2) R2->>R1: LSU (含完整 LSA 内容) R1->>R2: LSACK (确认收到 LSA) Note right of R1: 状态 → Loading R2->>R1: LSR (如有缺失) R1->>R2: LSU R2->>R1: LSACK Note over R1,R2: LSDB 完全同步 → 状态 → Full
邻居关系建立成功!可参与 SPF 计算