IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> OSPF协议包类型和状态 -> 正文阅读

[网络协议]OSPF协议包类型和状态

首先是OSPF协议发包的目的地址是两个多播地址,224.0.0.5和224.0.0.6,224.0.0.5是所有的OSPF路由器都能够收到,这就意味着DR路由器使用这个地址对所有的路由器进行路由的通告。

而224.0.0.6是只有DR路由器才能够收到,这就意味着DRother通过这个地址于DR路由器进行交换路由信息的。

OSPF总共有五个大类的数据包:

1、hello:这是路由器之间互相发现,建立关系以及保活的数据包。

2、DD:数据库描述包,这个数据包就像是一份路由条目的清单列表,里面包含着LSA的头部信息,当其他路由器发现有自己缺少的路由条目,就会发送LSR。

3、LSR:用于向OSPF邻居请求LSA,来补充自己的路由条目的空缺。

4、LSU:LSU承载着LSA,而LSA正是包含着路由信息的数据媒介

5、LSAck:当收到对端的LSU,需要回送一个LSAck表示确认,否则路由器会启用重传机制,默认是4秒。关于OSPF相关的timer,可以在发送OSPF相关协议包的接口上进行设置。

OSPF的所有报文都有统一的报文头部,如下图所示:

里面包含着许多通常的信息。其中类型字段总共有五种,代表着上述描述的五类协议包。

然后还需要注意的地方就是验证类型,验证类型表明了这个路由器是否对它的OSPF的进程设置了相关的验证信息,只有验证信息相互符合才能互相接收到对方的路由信息。

1、hello报文

?

hello包除了携带OSPF的包头,也就是一些通常的信息之外,还包含着DR和BRD,自身的hello timer,以及路由优先级,等等信息。

hello包作为发现邻居关系,建立full状态的第一步,它会判断双方的路由器的一些参数是否是相同的,比如hello包的发送间隔,路由器失效的时间,区域ID,版本类型,双方接口的子网掩码总的来说就是参与OSPF的路由器都要有一致的活动规律和身份,确保大家都是属于同一种方式去维护整个网络。

我们还需注意的在发送hello包的时候,设计两个状态的变化,第一个状态是init状态,当路由器互相发现对端的hello包的时候,它们的状态转变为init,需要注意的是,这个时候它们发送的hello包中的邻居字段是全0,也就是没有发现任何的邻居,当接收到对方的hello包后会将route-id填入字段,当对方收到包含自己的route-id的hello包后会知道对端已经发现自己了,于是就建立起two-way状态。

DD报文

?

?

DD报文用于描述数据库的整体概况,以及用于DR于BDR和DRother的选举,一般的DD数据包会携带LSA头部用于描述大致的路由信息,但是当DD数据包用于选举的时候,是不会承载任何的LSA信息。

当他们的选举角色都确立之后,双方就使用DD报文描述各自的LSDB,在这种DD报文中包含着LSDB的LSA的头部。路由器可以使用多个DD报文描述LSDB,同时注意DD数据包的结构,它有一个序号的字段,当主的路由向其他路由送DD报文描述LSDB的时,接收到这个DD报文的路由器,当它要发送自己的DD报文的时候,需要使用之前接收的DD报文的序号,也就是说DR作为DD的发送主导者,其他路由器使用的都是DR发送的DD报文的序号。当DR和DRother互相发送DD报文一段时间之后,就结束了DD报文的互相发送。

在DD包中的可选项表达了它是如何进行DR的选举以及LSDB的描述结束。

同样在DD报文发送的过程中也会涉及状态的改变,当开始发送DD报文去描述自身的LSDB的时候,路由器的状态就转变为exstart,当DD传送结束后就变为loading阶段。

LSR报文

?

该报文表达了请求的LSA的类型,比如它的LSA的类型,链路状态ID,链路状态ID是LSA的信息的标识,而通告路由器是通告该LSA的路由器。

LSU报文

?

当DR在接收到所有路由器的LSA后,就会将完整的LSDB的信息以LSU的信息会议其他路由器的LSR的请求。

LsAck报文

?

LSA包含着对LSA的确认,同时一个LSAck内部可能包含着多个LSA确认。

重要的知识点,ABR只能将自己的区域内部的路由通告给area0,而不能通告自己到达其他区域的路由。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:59:41  更:2021-10-16 20:01:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/29 18:11:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码