我的编程空间,编程开发者的网络收藏夹
学习永远不晚

OSPF报文详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

OSPF报文详解

一、OSPF 概述

1、IGP (Interior Gateway Protocol),AS内部网关路由协议。
2、链路状态动态路由协议。
3、IP 协议号89。
4、分area。area由一些network range组成。area 0 为骨干区域。同一area内的router 链路状态数据库需要保持同步。
5、使用hello,Database Description,Link State Request,Link State Update,Link State Acknowledgment 这5中packet来发现和建立邻接关系,并交换LSA(Link State Advertisement),同步链路状态数据库。
6、使用5中LSA来描述area 内的拓扑结构,以及AS内其他area的路由,及AS内从外部AS学到的路由:1).Router links advertisements; 2).Network links advertisements; 3).Summary link advertisements; 4).ASBR-Summary link advertisements; 5).AS external link advertisements.
7、使用链路状态数据库存储LSA,并使用SPF(Shortest Path First)算法。以自己为根,计算出到目的网络的无环的最短路径树。


二、OSPF Packet

2.1 OSPF 报文公共header

OSPF报文详解

2.1.1 作用

封装OSPF packet,表明packet的类型,来源,来源区域。也可以进行认证。

2.1.2 字段说明

Type:表明header下面跟的packet的类型(1-Hello;2-Database Description;3-Link State Request;4-Link State Update;5-Link State Acknowledgment)
Router ID:路由器在区域内的唯一标识,可用路由器上的interface IP.
Area ID: 发送该OSPF Packet的router interface 所属的area.


2.2 OSPF Hello Packet

OSPF报文详解

作用:发现邻居,选举DR/BDR(multi-access network),建立双向通信关系。
字段说明:
Network Mask:发送接口的网络掩码。
HelloInt:Hello包周期发送时间间隔。
Options:可选能力字段,比如E位用来表示区域是否接收AS External link advertisement.
Rtr Pri: Router Priority在选举DR/BDR的时候使用。
DeadInt:收到邻居回复前的最大等待时间,超过改时间认为邻居Dead。
Designated Router:本router认为的该multi-access network里面的指定路由器
Backup Designated Router:本router认为的该multi-access network 里面的备用指定路由器。
Neighbor: 最近收到的hello packet 的 Router ID(发送路由器),如果在收到的hello packet里面看到自己的router ID 则和hello packet的发送路由器进入双向通信(2-way)状态。


2.3 OSPF Database Description Packet

OSPF报文详解

作用:互相交换链路状态数据库里面的LSA信息。比较然后发现自己没有的或者比自己存储的LSA更新的。
字段说明:
Option:作用同Hello里面的。
I/M/MS:I(Init bit,设置为1表示发送的第一个DBD,M(More bit,表示后面还有DBD),MS(Master/Slave,置1表示Master,只有1个master,其他的为slave,在DBD交换过程中,Master先发包含LSA头部信息的DBD包,使用一个DD sequence number,slave 回复DBD包,使用相同的DD sequence number在传递LSA的同时对Master发送的DBD进行确认,以此实现可靠的信息交换)
Link State Advertisement Header: LSA数据包的header,header中包含足够的信息以唯一的确认一个SLA的实例。LSA Header下面会介绍


2.4 OSPF Link State Request

OSPF报文详解

作用:向邻居请求其数据库中自己没有的或者比自己更新的LSA。
字段说明:
LS type:LS 类型如之前介绍的5中LSA。
Link State ID:相应的LS type的LSA header里面包含的Link State ID字段内容。其具体的值在之后介绍LSA Header时介绍。
Advertisiong Router:通告该被请求LSA的Router。
以上三个字段可以唯一的确认要请求的LSA。


2.5 OSPF Link State Update

OSPF报文详解

作用:向邻居发送其请求的LSA(单播),在网络上泛洪LSA(多播,当网络有变动时,发送新的LSA),发送的Upadate packet需要neighbor使用 Ackownledged packet进行确认。如果未收到neighbor的确认,对改neighbor进行单播重传,以确保他们的数据库信息同步。
字段说明:
#advertisements:包含的LSA的数量。
link state advertisements:完整的LSA数据包。


2.6 OSPF Link State Acknowledgment

OSPF报文详解

作用:对收到的Update packet进行确认。字段说明:
#A Link State Advertisement Header:收到的Update packet里面包含的LSA的header,发送回去表示具体的LSA已经收到。


三、 OSPF LSA 封装

上面介绍的5中OSPF packet 是用来建立并维持邻居关系并交换和保持链路状态数据库同步的。其交换和存储的正是下面要介绍的5中LSA。
1、Router links
2、Network links
3、Summary link(IP network)
4、Summary link(ASBR)
5、AS external link
下面通过介绍不同LSA的包的内容,来介绍一下OSPF是如何通过LSA来描述area 的拓扑,及area内包含的网段。并通过LSA来学习area 外部,AS外部的路由。


3.1 OSPF LSA Common Header

OSPF报文详解

作用:通过LS type,Link State ID,Advertising Router, 来唯一的确认一个LSA,通过LS age,LS sequence number 用来唯一确认该LSA最新的实例。
字段说明:
LS age:LSA被生成以后到现在的时间。
Options:可选的能力支持,同Hello。
LS type:头部下面跟随的LSA的类型(1-Router links;2-Network links;3-Summary links(IP network);4-Summary link(ASBR);5-AS external link)
Link State ID:表示该LSA描述的网络环境(internet environment),根据不同的LS type,有不同的值,Router links 其值为router's OSPF Router ID; Network links其值为 IP interface address
of the Designated Router;Summary link(3)其值为IP network number;Summary link(4)其值为ASBR's Router ID;AS external link其值为IP network number.
Advertising Router:生成改LSA的router's router ID。
LS sequence number:LSA 序列号用来检测旧的或者重瞳的LSA。
LS checksum:整个LSA的一个校验值。
length:LSA的长度,包括头部。


3.2 Router link advertisement

OSPF报文详解

作用:描述router上属于相应area的interface(or link)的state 和 cost。该Router的所有的属于一个area的link必须被包含在一个Router links advertisement里面。area里面的每个router生成。其link State ID为生成该LSA的路由器的Router ID.
字段说明:
E/B: E表明router是否是ASBR,B表明router是否是ABR
#links:改LSA中包含的LINK的数量。
Type:link的类型 1-Point-to-piont;2-transit network;3-stub network;4-Virtual link.
Link ID:定义该link连接的对象,针对不同的link type其值不同,P-2-P其值为Neighboring router's ID;Transit-network其值为IP address of Designated Router;Stub-network其值为IP network/sunet number;Virtrual Link 其值为Neighboring router's ID.
Link Data:其值也根据链路类型来确定:Stub-network其值为network mask;其他类型该值为router 关联接口的IP 地址。
TOS 0 metric: TOS(Type of Service在IP里面定义的服务类型)0 的metric 值。也就是cost。


3.3 Network link advertisement

OSPF报文详解

作用:由transit-network(multi-access network)的Designated Router生成,描述所有连接到该multi-access network的router。其Link State ID 为DR's interface ip.
字段说明:
Network Mast:transit-network 的网络掩码。
Attached Router:附加(连接)在该multi-access network的路由器的router-id ,包括Designated Router 其自己的router ID.


3.4 Summary link advertisement

OSPF报文详解

作用:由ABR(Area Border Router)生成,一个Summary links advertisement 只能包含一条属于本AS但是是area外的destination route。其lsa header里的Link State ID就是其要通告的destination route(IP network number)
字段说明:
Network Mast:Link State ID 里面IP network number 的网络掩码。IP network number+ Network Mask 形成该LSA传递的路由的具体的目标网络。
TOS/metric:该路由针对于不同的TOS的metric值。
TYPE-4
作用:由ABR生成告诉区域内的路由器通告AS external link advertisements 的ASBR(Autonomous System Boundary Router)的位置。其LSA header 里面Link State ID的值为 ASBR的 Router ID.
字段说明:
Network Mask: 在该类型的SLA里,该字段没有意义,必须置0.


3.5 AS External Link advertisement

OSPF报文详解

作用:由ASBR生成,一个AS external links advertisement 只能包含一条本AS外部的destination route。其lsa header里的Link State ID就是其要通告的destination route(IP network number)
字段说明:
Network Mast:Link State ID 里面IP network number 的网络掩码。IP network number+ Network Mask 形成该LSA传递的路由的具体的目标网络。
E:externel metric 类型。置1表示Type2 external metric(只使用外部初始的cost,改路由在AS内部传递其metric不随着内部路径成本的增加而增加)。置0表示Type 1 external metric(意思是路由的metric随着内部路径成本的增加而增加)
TOS/metric:该路由针对于不同的TOS的metric值。
Forwarding address:第三方转发地址。数据包应该被发送到该地址进行下一步的转发,而不是发送到ASBR上。如果改地址为0.0.0.0,则数据包路由到ASBR上,之后再进行下一步的转发。


四、OSPF 工作原理

OSPF是如何通过5中LSA来构建area 拓扑和学习路由的:
其实网络就是由点(路由器以及附着在路由上的stub network)和线(link/network)组成。
OSPF Router通过Router LSA学习到一下信息:1)、标识出来一个路由器(Router ID);2)router 上的stub network比如interface vlan,loopback interface;3)、和point-to-point link 网段连接的Router的 Router ID.
OSPF Router通过Network LSA学习到multi-access network 里面附着的Router。
在同一个区域内的所有OSPF Router的LSDB同步以后,Router 就可以计算出一张完成的区域内路由器连接拓扑图了。到该area内的目的网络的路由,OSPF Router 以自己为根根据不同链路的cost 最后计算出一条到该目的地网络的最短路径。
area 外部但是属于AS内部的目的网络路由,区域内的路由器通过ABR通告的summary LSA 来学习到(ABR就是一个AREA 的出口)
AS外部的路由,AS内部的路由器通过ASBR通告的 AS external LSA 来学习到。ASBR就是一个AS的出口。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

OSPF报文详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

指南:动态路由协议OSPF基础,OSPF报文,LSA

OSPF IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对 IPv4 协议使用的是OSPF Version 2。OSPF简介
2023-06-03

OSPF详解-3 邻接、度量值

**一、OSPF邻接关系运行链路状态路由协议的路由器必须首先与选定的邻居路由器建立邻接关系,这是通过与邻居路由器交换Hello分组来实现的。1.邻接路由器建立步骤路由器建立邻接关系的步骤如下:1)路由器将Hello分组发送给邻居路由器,并接
2023-01-31

OSPF中常见的六种LSA详解

OSPF中常见的六种LSA详解 1类LSA2类LSA3类LSA5类LSA4类LSA7类LSAOSPF中计时器 在OSPF协议中,使用LSA来传递路由信息和拓扑信息,因此了解不同的LSA的内容和其功能,对了解OSPF协议的路由形成有很大帮
2023-08-18

OSPF-5种报文、3个阶段、3张表

在理解OSPF各种报文之前,需先清楚OSPF协议,通过下面图例帮助理解(口诀:5种报文、3个阶段、3张表) (Notice:OSPF报文头部24字节)1、3个阶段邻居发现阶段:     直连路由器形成邻居关系,在broadcast和NBMA
2023-01-31

学习几种OSPF路由协议报文类型

  OSPF,开放式最短路径优先。它是一个内部网关协议,用于在单一自治系统内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。今天就跟着小编一起来看一看:学习几种OSPF路由协议报文类型。  第一种类型:DD报文(英文全称:Database description packet
学习几种OSPF路由协议报文类型
2024-04-18
2023-09-20

go语言import报错处理图文详解

今天本来想尝试一下go语言中公有和私有的方法,结果import其他包的时候直接报错了,下面这篇文章主要给大家介绍了关于go语言import报错处理的相关资料,需要的朋友可以参考下
2023-05-18

SQL注入报错注入函数图文详解

目录前言常用报错函数用法详解updateXML()函数实例extractvalue()函数floor()函数exp()函数12种报错注入函数总结前言报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序
2022-07-08

软考报名必须在职吗?一文详解

参加软考的合格者将颁发由中华人民共和国人力资源和社会保障部、工业和信息化部用印的计算机技术与软件专业技术资格(水平)证书,在全国范围内有效,可见软考有一定含金量,也正因如此,每年报考人数都有不少。那么,软考报名必须在职吗?下面小编来进行解答。
软考报名必须在职吗?一文详解
2024-08-29

AndroidManifest文件详解

AndroidManifest 官方解释是应用清单(Manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须为AndroidManifest。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显
2023-08-18

pom文件详解

pom文件详解 前言什么是POM文件?POM文件的基本结构POM文件的常用配置项1. 坐标信息2. 依赖项配置3.构建配置4. 插件配置5. 仓库配置 父子pom父POM子POM父子POM的优点父子POM的使用 总结 前
2023-08-16

Parquet文件详解

1、parquet文件简介 Apache Parquet是Apache Hadoop生态系统的一种免费的开源面向列的数据存储格式。 它类似于Hadoop中可用的其他列存储文件格式,如RCFile格式和ORC格式。 Apache Parque
2023-08-19

AssemblyInfo.cs文件详解

AssemblyInfo.cs是一个C#项目中的元数据文件,它包含了项目的一些重要信息,如程序集的版本号、标题、描述等。以下是AssemblyInfo.cs文件中常见的属性及其说明:1. AssemblyTitle:程序集的标题。这通常是一
2023-09-14

详解Linux解压缩文件

gzip 压缩:gzip -v 文件(夹) eg: gzip -v b.log ----> b.log.gz gzip -c 文件(夹) > 文件(夹).gz eg: gzip -c b.log > b.lo
2022-06-04

编程热搜

目录