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 计算