当前位置: 移动技术网 > 网络运营>服务器>Windows > OSPF报文详解

OSPF报文详解

2017年07月05日  | 移动技术网网络运营  | 我要评论

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的出口。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网