详讲OSPF邻居/邻接关系的建立过程(抓包分析)

建立过程图解

状态变化过程

状态过程解析

Down:

邻居会话的初始阶段,表示没有收到hello报文

此时本地端会发送hello报文

Attempt:

发生在NBMA网络--帧中继网络中,表示在deadtime失效时间没有收到hello报文,如果超时,则退回down(了解即可)

此时会向对端发送轮询hello报文

Init:

收到hello报文后,如果hello报文中的各项参数正确,如区域号、认证信息等(如下图),变成此状态(此时只有一方知道了邻居的存在 1-way)

之后发送的hello报文中会有对方的Router ID

2-way:

另一方收到hello报文后,如果从中看到了自己的Router ID,以及hello报文中的各项参数正确,如区域号、认证信息等,进入此状态(双方都知道对方的存在 2-way)

此时如果是网络类型是广播,则需要选举BDR和DB,非DR 和 DR与BDR建立邻接关系,非DR之间建立邻居关系。

如果不需要形成邻接关系,邻居状态就停留在此状态,否则直接进入Exstart;

注意:邻接关系>邻居关系

Extart 和 Exchange(至少五个DD报文)

extart:确定master和slave关系和序列号

exchange:使用DD报文交互LS信息

        1.相互发送一个空的DD报文(此时二者的DD序列号不同)

注:DD报文序列号和LSA序列号不是一个东东

        2.比较DD报文,Router ID大者为master;

slave发送第三个DD报文,使用master的DD序列号,隐含确认主从关系;

此时DD报文包含LSA信息,slave状态变为Exchange;

如果是最后一个DD,标志位M置为0;


        3.        master收到使用自己序列号的DD报文后,表示对方确认自己为master;状态变为Exchange,同样也会发送DD报文描述自己的LS信息,序列号+1;

      4.          slave收到master最后一个DD报文后,使用空的DD报文回复确认,此时状态变为Loading。

Loading:

确定主从关系后,双方开始发送LSR请求LSA信息,对方收到请求后回复LSAck报文,直到LSA同步。

注意,双方不会对每个LSU发送LSAck进行确认,会采用LSA头部的序列号进行隐式确认,类似TCP的序列号。但是会对最后的一个LSU发送LSAck进行确认。

Full:

LSR重传列表位空,LSA交互完毕。

相关推荐

  1. BGP故障分析——邻居无法建立原因

    2024-07-19 20:30:02       44 阅读
  2. MPLS-LDP邻居建立、标签发布、控制保持

    2024-07-19 20:30:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 20:30:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 20:30:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 20:30:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 20:30:02       69 阅读

热门阅读

  1. Dubbo 的泛化调用

    2024-07-19 20:30:02       20 阅读
  2. WebKit 引擎:CSS 悬停效果的魔法师

    2024-07-19 20:30:02       19 阅读
  3. selenium.common.exceptions.NoAlertPresentException: Message:

    2024-07-19 20:30:02       18 阅读
  4. 聚类数优化:探索Sklearn中的策略与实践

    2024-07-19 20:30:02       21 阅读
  5. 微信小程序:登录,获取用户信息及手机号详解

    2024-07-19 20:30:02       17 阅读
  6. 【玩转python】入门篇day10-python运算符详解

    2024-07-19 20:30:02       17 阅读
  7. ios CCSystem.m

    2024-07-19 20:30:02       17 阅读
  8. MySql的运用

    2024-07-19 20:30:02       19 阅读
  9. 使用 tcpdump 进行网络流量捕获与分析

    2024-07-19 20:30:02       18 阅读
  10. 挂马病毒是什么

    2024-07-19 20:30:02       16 阅读
  11. 深入理解并使用 MySQL 的 SUBSTRING_INDEX 函数

    2024-07-19 20:30:02       20 阅读
  12. 【无标题】

    2024-07-19 20:30:02       20 阅读