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

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

作用:发现邻居,选举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

作用:互相交换链路状态数据库里面的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

作用:向邻居请求其数据库中自己没有的或者比自己更新的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

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

2.6 OSPF Link State Acknowledgment

作用:对收到的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

作用:通过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

作用:描述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

作用:由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

作用:由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

作用:由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的出口。

时间: 2024-10-20 17:01:57

OSPF报文详解的相关文章

OSPF详解之三:OSPF LSA详解

OSPF LSA详解 OSPF V2版本中常用的主要有6类LSA,分别是Router-LSA.Network-LSA.Network-summary-LSA.ASBR-summary-LSA.AS-External-LSA.NSSA-LSA,接下来我将一步一步为大家解析. Type 1:Router-LSA 每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播. 谈到1类LSA,大家必然会想到它的链路类型,链路类型分为4类:P2P.Stub.Transit.Vritual link.

http协议之报文详解

用于HTTP协议交互的信息被称为HTTP报文.请求端(客户端)的http报文叫做请求报文,响应端的叫做响应报文. HTTP报文本身是由多行(用CR+LF作为换行符)数据构成的字符串文本. HTTP报文大致可以分为报文首部和报文主体两块.两者由最初出现的空行(CR+LF)来划分.通常,并不一定要有报文主体. 参考: 1. HTTP协议之报文详解 2. 图解http

HTTP报文详解

HTTP报文:它是HTTP应用程序之间发送的数据块.这些数据块以一些文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分.这些报文都是在客户端.服务器和代理之间流动. HTTP报文的流动方向:一次HTTP请求,HTTP报文会从“客户端”流到“代理”再流到“服务器”,在服务器工作完成之后,报文又会从“服务器”流到“代理”再流到“客户端” 报文的语法:所有的HTTP报文都可以分为两类,请求报文和响应报文.请求和响应报文的基本报文结构大致是相同的,只有起始行的语法有所不同. 请

2016-4-18 ICMPv6协议[RFC2463]--报文详解

Technorati 标签: IPv6,ICMPv6,CCIE,路由,ICMP差错 概要 --ICMPv6 (Internet Control Message protocol for the IPv6)是IPv6的基础协议之一.定义在RFC2463中. --用于传递报文转发中产生的信息或者错误. --ICMPv6定义的报文被广泛的应用在其他协议中.包括:NDP(neighbor discovery protocol, PathMTU路径发现机制,MLD协议[替代IPv4中组播的IGMP协议]等

应用层(一)HTTP服务访问基本流程和HTTP报文详解

HTTP属于TCP/IP模型中一个面向文本的应用层协议,所使用的服务器端口号的TCP中的80端口,通信双方在这个基础上进行通信. 每个服务器都有一个应用进程,时刻监听着80端口的用户访问请求.当有用户请求到达时(HTTP请求报文),服务器会尽快做出响应(HTTP响应报文),返回用户访问页面的信息,这一切都建立在传输层创建好TCP连接的基础上. 在HTTP1.0及更早的版本中,浏览器的每次请求都要求建立一次连接,在处理完请求后,就关闭TCP连接.这种连接方式称为非持续连接. 当我们请求的网页文件中

apache工作流程和报文详解

HTTP服务请求步骤:     (1)建立连接     (2)接受请求     (3)处理请求     (4)访问资源     (5)构建响应     (6)发送响应     (7)记录事务处理过程 http报文: http事务,一次请求以及与其对应的响应 http方法:get,put,head,post,delete http请求报文格式: <method> <request-URL> <version> <headers>               &

IP报文详解

IP协议 IP协议,Internet Protocol ,互联网协议,IP协议位于网络层,主要目的是使得网络间能互联通信 IP是TCP/IP协议族中得核心协议,所有TCP.UDP.ICMP和IGMP数据都是通过IP数据报传输. IP报文 IP数据报的首部部分长度为20-60个字节 版本号:指IP协议所使用的版本.4个位.版本号为0100,4,即IPv4,版本号为6,即IPv6 IP首部长度:表示IP包头长度,该字段用4位表示.最常见的报头长度是0101即20位,当IP报头长度不是4字节整数倍时,

ModbusRtu通信报文详解【一】

Modbus协议可谓是工业控制领域应用最广泛的协议之一.根据不同的电气接口,包括Modbus Rtu/ASCII,Modbus TCP/UDP,从学习的角度来说,只要学会其中一种,剩余的都是大同小异的. 这里主要对ModbusRtu的通信报文做个详细描述. [1]工欲善其事必先利其器,Modbus利器 [2]读取输出线圈 功能码:01H [2]读取输入线圈 功能码02H [3]读取保持寄存器 功能码:03H [4]读取输入寄存器 功能码:04H 原文地址:https://www.cnblogs.

ModbusRtu通信报文详解【二】

这里接着上一篇内容对ModbusRtu的通信报文做个详细描述: [1]强制单个线圈 功能码:05H [2]预置单个寄存器 功能码:06H [3]强制多个线圈 功能码;0FH [4]预置多个寄存器 功能码:10H 原文地址:https://www.cnblogs.com/xiketangedu/p/11721269.html