当前位置: 首页 > news >正文

华为eNSP:2.配置OSPF报文分析和验证

一、OSPF的5种数据包

Hello包:用于发现和维护邻居关系。定期发送,确保邻居路由器在线。

数据库描述包(DBD, Database Description Packet):在邻居关系建立后,用于交换链路状态数据库的摘要信息。

链路状态请求包(LSR, Link-State Request Packet):请求邻居发送具体的链路状态信息。

链路状态更新包(LSU, Link-State Update Packet):包含具体的链路状态信息,用于更新邻居的链路状态数据库。

链路状态确认包(LSAck, Link-State Acknowledgment Packet):确认收到链路状态更新包,确保信息可靠传输。

二、OSPF的7种状态

Down:初始状态,表示未收到任何Hello包。

Init:收到Hello包,但尚未建立双向通信。

Two-Way:双向通信建立,确定邻居关系。

ExStart:准备交换数据库描述包,确定主从关系。

Exchange:交换数据库描述包,同步链路状态数据库。

Loading:请求并接收具体的链路状态信息。

Full:链路状态数据库完全同步,邻居关系建立完成。

拓扑图:

配置与命令

R1命令

<Huawei>sy
[Huawei]un in e
[Huawei]sys AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]int loopback 0
[AR1-LoopBack0]ip address 1.1.1.1 24
[AR1-LoopBack0]
[AR1-LoopBack0]q
[AR1]ospf router-id 1.1.1.1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]q
[AR1-ospf-1]q
[AR1]ospf
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs

R2命令

<Huawei>sy
[Huawei]un in e
[Huawei]SYS AR2
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip address 12.1.1.2 24
[AR2-GigabitEthernet0/0/1]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip address 23.1.1.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]int loopback 0
[AR2-LoopBack0]ip address 2.2.2.2 24
[AR2-LoopBack0]q
[AR2]ospf router-id 2.2.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]q
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs

R3命令
<Huawei>sy
[Huawei]un in e
[Huawei]sys AR3
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip address 23.1.1.3 24
[AR3-GigabitEthernet0/0/0]q
[AR3-LoopBack0]ip address 3.3.3.3 24
[AR3-LoopBack0]q
[AR3]ospf router-id 3.3.3.3
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs

Hello包:12.1.1.2 以 10s为周期向其他链路以组播方式发送hello包,并携带了自己的RID(在这个拓扑中是R2首先发送的Hello包)

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

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

Exstart预启动

发送了四次的DBD是因为,首先R1想要先进入下一状态,但是R2告诉R1你的RID比我的小(要想进入下一状态RID要是较大方,此时R2将R1的RID与自己进行了比较),R2向R1发送DBD请求,告诉R1 我才是RID大的这个图中的第一次DB由于没有回复所以作废了。

R1第一次发送DBD将自己的master置成Yes告诉R2,我应该是Master;注意此时DD-seq是921

R2给R1回应我的RID比你大,我才应该是Master,并且将自己的MS置位为Yes注意此时的DD-seq是925

R1第二次发送DBD由于R1的RID比R2小,那么R1就将自己的MS置成No这个DD是为了确认上一步中R2发来的DD的,所以DD-seq是925(与上一步中R2发来的相同)

R2再发送一个DD将M置位0,告诉R1我没有DD要发送了此时的DD-seq是在上一次发送DD-seq的基础上+1,因为是新发出来的DD,注意这个926发出后,一定会收到一个926用于确认的

R1第三次发送DBD将M置位为0,表示我也没有DBD要发送了注意DD-seq就是926,用于确认上一步中R2发来的DD的

Exchange准交换:双方交换DBD
Loading::使用LSR/LSU/LSACK获取未知的LSA信息 (共享拓扑图)  

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

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

R1 R2之间互相发送LSRLSU


R1 要给R2发送 LSU的确认

四、总结

OSPF是一种功能强大、灵活性高的链路状态路由协议,通过分层设计、LSA洪泛和SPF算法实现高效的路由计算和网络收敛。尽管配置和管理相对复杂,但其在大型网络中的性能和稳定性使其成为广泛使用的IGP协议。

http://www.dtcms.com/a/61035.html

相关文章:

  • Redis 发布订阅模式详解:实现高效的消息通信
  • Redis未授权访问
  • AI-NAS:当存储遇上智能,开启数据管理新纪元
  • 【工控】线扫相机小结 第五篇
  • 开源模型时代的 AI 开发革命:Dify 技术深度解析
  • SpringMVC项目中,涉及到的各种请求
  • 店匠科技携手 PayPal 升级支付体验,助力独立站商家实现全球增长
  • 重邮数字信号处理-实验五时域采样与频域采样
  • 数据结构(蓝桥杯常考点)
  • 我的AI工具箱Tauri版-建筑平面图生成装修设计
  • Flutter:StatelessWidget vs StatefulWidget 深度解析
  • 如何修复“RPC 服务器不可用”错误
  • 第三章 数据结构基础
  • 云原生周刊:Istio 1.25.0 正式发布
  • PPT内视频播放无法播放的原因及解决办法
  • Maven Deploy Plugin如何使用?
  • c++介绍锁 一
  • STM32基础教程--旋转编码器计数实验
  • 一文了解汽车图像传感器
  • 爱普生可编程晶振SG-8200CJ特性与应用
  • 狮子座大数据分析(python爬虫版)
  • 前端开发定时器的一些规范使用
  • 数据库的搭建
  • SpringBoot3.3.0集成Knife4j4.5.0实战
  • KidneyTalk-open系统,RAG在医疗场景的真实落地:用于解决肾脏疾病的医疗问答问题
  • vue3深入组件——依赖注入
  • 基于YOLO(以YOLOv8为例)模型开发算法的详细步骤,包含算法代码、训练指导、数据集准备以及可能的改进方向
  • 【C】链式二叉树算法题2
  • C# Channel
  • 【性能测试】Jmeter下载安装、环境配置-小白使用手册(1)