0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用WireShark详细分析OSPF状态运行机制?

网络技术干货圈 来源:网络技术干货圈 2023-05-09 09:44 次阅读

OSPF的5包7状态

数据包

Hello:发现、建立邻居(邻接)关系、维持、周期保活;存在全网唯一的RID,使用IP地址表示

DBD:本地的数据库的目录(摘要),LSDB的目录(所有LSA的集合)

LSR:基于DBD包中的未知信息进行查询

LSU:携带了真正的LSA信息(链路状态通告),用于答复对端的LSR

LSack:对传递LSA信息进行确认,链路状态确认

状态机

Down:一旦启动后发出hello包,则立即进入下一状态

Init(初始化):若收到了携带了自己的RID的hello包,则和对方一起进入下一状态

Two-way(双向通信):邻居关系建立(DR/BDR选举),此时进行条件匹配,若成功,RID大的优先进入下一状态;若失败,则保持邻居关系,hello包10s周期保活即可

Exstart(预启动):使用类hello的DBD进行主从选举,RID大的优先进入下一状态

Exchange(准交换):使用真正的DBD包进行数据库目录交换共享

Loading(加载):使用LSR/LSU/LSack来获取未知的LSA信息

Full(转发):邻接关系建立的标志

什么是条件匹配?

1.MA网段进行DR/BDR选举,P2P网段中没有DR/BDR

2.点到点网络直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR间不得进入下一状态

拓扑:

5bbe5a80-edba-11ed-90ce-dac502259ad0.png

Down:关闭状态

5bcd88de-edba-11ed-90ce-dac502259ad0.png

init:初始化

5bf28350-edba-11ed-90ce-dac502259ad0.png

Hello包:12.1.1.1 以 10s为周期向其他链路以组播方式发送hello包,并携带了自己的RID

5c03be40-edba-11ed-90ce-dac502259ad0.png5c11749a-edba-11ed-90ce-dac502259ad0.png

此时,R2收到了R1的hello包,并向R1发送hello(打招呼)

5c3c4454-edba-11ed-90ce-dac502259ad0.png

Init完成,双方成为邻居关系Two-way:邻居关系建立(DR/BDR选举)

Exstart预启动

发送了四次的DBD是因为,首先R1想要先进入下一状态,但是R2告诉R1你的RID比我的小(要想进入下一状态RID要是较大方,此时R2将R1的RID与自己进行了比较),R2向R1发送DBD请求,告诉R1 我才是RID大的

5c5fc3a2-edba-11ed-90ce-dac502259ad0.png

5c763e3e-edba-11ed-90ce-dac502259ad0.png5c824436-edba-11ed-90ce-dac502259ad0.png

R1第一次发送DBD将自己的master置成Yes

告诉R2,我应该是Master;

注意此时DD-seq是2765

5c9b6c36-edba-11ed-90ce-dac502259ad0.png

R2给R1回应

我的RID比你大,我才应该是Master,并且将自己的MS置位为Yes

注意此时的DD-seq是465

5ca67842-edba-11ed-90ce-dac502259ad0.png

R1第二次发送DBD

由于R1的RID比R2小,那么R1就将自己的MS置成No

这个DD是为了确认上一步中R2发来的DD的,所以DD-seq是465(与上一步中R2发来的相同)

5cb73362-edba-11ed-90ce-dac502259ad0.png

R2再发送一个DD

将M置位0,告诉R1我没有DD要发送了

此时的DD-seq是在上一次发送DD-seq的基础上+1,因为是新发出来的DD,注意这个465发出后,一定会收到一个465用于确认的

5cd302f4-edba-11ed-90ce-dac502259ad0.png

R1第三次发送DBD

将M置位为0,表示我也没有DBD要发送了

注意DD-seq就是466,用于确认上一步中R2发来的DD的

5cdfaf40-edba-11ed-90ce-dac502259ad0.png

总结整个过程

5cf23cf0-edba-11ed-90ce-dac502259ad0.png

Exchange准交换:双方交换DBD

5d1d9328-edba-11ed-90ce-dac502259ad0.png5d2cd3ba-edba-11ed-90ce-dac502259ad0.png

Loading::使用LSR/LSU/LSACK获取未知的LSA信息 (共享拓扑图)

5d40c2b2-edba-11ed-90ce-dac502259ad0.png

R1向R2以单播方式发送LSR的请求

5d59016a-edba-11ed-90ce-dac502259ad0.png

R2给R1 回复LSU的确认包含了LSA,路由信息或拓扑信息

5d8c0614-edba-11ed-90ce-dac502259ad0.png

R1 R2之间互相发送LSR LSU

5da81386-edba-11ed-90ce-dac502259ad0.png

R1 要给R2发送 LSU的确认

5dc8fde4-edba-11ed-90ce-dac502259ad0.png

至此,7个状态机制完成,路由与拓扑完成交换。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OSPF
    +关注

    关注

    0

    文章

    80

    浏览量

    14858
  • 状态机
    +关注

    关注

    2

    文章

    489

    浏览量

    27428
  • DBD
    DBD
    +关注

    关注

    0

    文章

    3

    浏览量

    6979

原文标题:如何使用WireShark详细分析OSPF状态运行机制?

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DVI接口详细分析

    DVI接口详细分析DVI 接口规格和定义 DVI 有DVI 1.0 和DVI 2.0 两种标准,其中 DVI 1.0 仅用了其中的一组信号传输信道(data0-data2 ),传输图像的最高像素时钟
    发表于 08-11 09:51

    uboot代码详细分析

    [url=]uboot代码详细分析[/url]
    发表于 01-29 13:51

    详细分析一下USB协议

    本文跟大家一起详细分析一下USB协议。
    发表于 05-24 06:16

    详细分析stm32f10x.h

    每日开讲---学习STM32不得不看的剖析(详细分析stm32f10x.h)摘要: 学习STM32不得不看的剖析(详细分析stm32f10x.h)。/**这里是STM32比较重要的头文件*******************************************
    发表于 08-05 07:44

    CPU的基本结构和运行机制

    目录一. CPU的基本结构和运行机制参考《ARM微控制器与嵌入式系统--清华》一. CPU的基本结构和运行机制分析其中的CPU:(ALU、寄存器组、控制单元是必要的,其他非必要)一个完整的CPU:将
    发表于 11-03 09:22

    详细分析了VTIM和VMIN的功能

    上一篇文章中,我们详细分析了VTIM和VMIN的功能,《嵌入式Linux 串口编程系列2--termios的VMIN和VTIME深入理解》 也明白了这两个参数设计的初衷和使用方法,接下来我们 就详细
    发表于 11-05 07:09

    电子工程师需要掌握的20个模拟电路的详细分析

    电子工程师需要掌握的20个模拟电路的详细分析
    发表于 09-28 06:22

    电子工程师必须掌握的20个模拟电路详细分析

    内含参考答案以及详细分析
    发表于 10-07 07:15

    电子整流器工作原理详细分析

    电子整流器工作原理详细分析
    发表于 02-27 10:43 2.5w次阅读

    Buck变换器原理详细分析

    Buck变换器原理详细分析
    发表于 09-15 17:26 30次下载
    Buck变换器原理<b class='flag-5'>详细分析</b>

    Linux系统的fork运行机制分析

    如果其中一个进程的输出结果是“pid1:1001, pid2:1002”,写出其他进程的输出结果(不考虑进程执行顺序)。 明显这道题的目的是考察linux下fork的执行机制。下面我们通过分析这个题目,谈谈Linux下fork的运行机
    发表于 04-26 16:26 1131次阅读
    Linux系统的fork<b class='flag-5'>运行机制</b><b class='flag-5'>分析</b>

    物联网的产业生态是怎样的详细分析概述

    物联网的产业生态是怎样的详细分析概述
    的头像 发表于 12-08 10:00 5040次阅读

    正激有源钳位的详细分析

    正激有源钳位的详细分析介绍。
    发表于 06-16 16:57 60次下载

    详细分析MOSFET开关过程米勒效应的影响

    本文介绍了米勒效应的由来,并详细分析了MOSFET开关过程米勒效应的影响,帮助定性理解米勒平台的形成机制。最后给出了场效应管栅极电荷的作用。
    的头像 发表于 03-10 14:44 6999次阅读
    <b class='flag-5'>详细分析</b>MOSFET开关过程米勒效应的影响

    php运行机制和原理

    PHP是一种在服务器端执行的脚本语言,它被广泛用于开发动态网站。它的运行机制和原理非常重要,因为它决定了PHP脚本如何被解释执行和与服务器进行交互。 PHP的运行机制 PHP脚本的运行机制涉及到以下
    的头像 发表于 12-04 15:28 829次阅读