2024年3月11日发(作者:)

2-3、OSPF路由协议

一、OSPF协议介绍

2、3、OSPF协议介绍

基本特点

工作原理

1、每个OSPF路由器通过LSA(Link StateAdvertisement)泛洪链路状态通告即向外发布本地链路状态信

息(例如可用的端口,可到达的邻居以及相邻的网段信息等等)。

泛洪是指OSPF路由器之间发送及 同步(LSDB)连接状态数据库的过程。

2、每个路由器通过收集其它路由器发布的链路状态通告以及自身生成的本地链路状态通告,形成一个链路状

态数据库(LSDB)。

LSDB描述了路由域内详细的网络拓扑结构。在同一个区域内,所有路由器上的链路状态数据库LSDB是

相同的。

3、通过LSDB,每台路由器以SPF算法计算出一棵以自己为根,以网络中其它节点为叶的最短路径树。SPF

算法生成的是一棵无环的最短路径树。

每台路由器计算的最短路径树相当于到网络中其它节点的路由表。这样OSPF路由器就能知道如何到达

其他路由器。

报文格式

1、OSPF有五种报文类型,每种报文都使用相同的OSPF报文头。OSPF路由器使用以下报文来发现和维护

邻居关系,实现LSDB的同步和交互路由信息。

2、Hello报文:最常用的一种报文,用于发现、维护邻居关系。并在广播和NBMA类型的网络中选举DR

( Designated Router)指定路由器和BDR(Backup Designated Router)备份指定路由器。

DD报文:两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。内容包括LSDB中每一

条LSA的Header头部(LSA的Header可以唯一标识一条LSA)。LSA Header只占一条LSA的整个数据量

的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header就可以判断出是否已有

这条LSA。

LSR报文:两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的,

这时需要发送LSR报文向对方请求缺少的LSA。内容包括所需要的LSA的摘要。

LSU报文:用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。

LSAck报文:用来对接收到的LSU报文进行确认。

邻居路由器(Neighbor)&邻接(Adjacency):

1

运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前路由器之间首先需

要建立邻接关系。

2、邻居路由器(Neighbor):OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文用于

发现邻居。收到Hello报文的OSPF路由器会检查报文中所定义的一些参数,如果双方一致就会形成邻居关系。

路由器在发送LSA之前必须先发现邻居并建立邻居关系。

3、 邻接(Adjacency):形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类

型(运行OSPF网段的二层链路类型)而定。只有当双方成功交换DD报文,并能交换LSA之后,才形成真正

意义上的邻接关系。

OSPF根据链路层协议类型将网络分为下列四种类型,分别是:

点到点网络:络常见的链路层协议有PPP链路(64K串行线

路)、LAPB链路、HDLC链路。