OSPF协议
- OSPF协议的基本概念和报文类型
- OSPF协议的概念
- OSPF协议区域
- 链路状态及链路状态通告
- 链路状态路由协议-LAS泛洪
- OSPF协议消息中的报文
- Router ID
- Router ID的形成
OSPF协议的基本概念和报文类型
OSPF协议的概念
OSPF协议是由IETF组织的开放性标准协议,它是一个链路状态内部网关路由协议,运行OSPF协议的路由器会将自己拥有的链路状态信息,通过启用了OSPF协议的接口发送给其他OSPF协议设备,同一个OSPF协议区域中的每台设备都会参与链路状态信息的创建、发送、接收与转发,直到整个区域中的所有OSPF协议设备都获得了相同的链路状态信息为止。
OSPF协议区域
一个OSPF协议网络可以划分成多个区域(Area)。
- 如果一个OSPF协议网络只包含一个区域则称为单区域OSPF协议网络。
- 如果一个OSPF协议网络包含多个区域,则被称为多区域OSPF协议网络。
- 区域ID:在OSPF协议网络中,每一个区域都有一个编号,称为区域ID(Area ID)。区域ID是一个32位的二进制数,一般用十进制来表示。
- 区域:区域ID为0的区域为骨干区域(Backbone Area),其他区域都称为非骨干区域。 单区域OSPF协议网络中只包含一个区域,这个区域就是骨干区域。 在多区域OSPF协议网络中,除骨干区域外,还有若干个非骨干区域。
- 连接: 每个非骨干区域都需要和骨干区域直连,当非骨干区域没有和骨干区域直连时,要采用虚链路(Virtual Link)技术从逻辑上实现非骨干区域与骨干区域的直连。
非骨干区域之间的通信必须要通过骨干区域中转才能实现。 - 内部路由(Internal Router):在OSPF协议网络中,如果一台路由器的所有接口都属于同一个区域,则该路由器被称为内部路由器。
- 骨干路由(Backbone Router):在OSPF协议网络中,如果一台路由器包含属于Area0的接口,则该路由器被称为骨干路由。
- 区域边界路由器(Area Backbone Router,ABR):在OSPF协议网络中,如果一台路由器的部分接口属于Area0,另以部分属于其他区域,则该路由器被称为区域边界路由器。
- 自治系统边界路由器(Autonomous System Boundary Router,ASBR):在OSPF协议网络中,如果一台路由器与其OSPF协议网络(自治系统)之外的网络是相连的,并且可以将外部网络的路由信息引入其OSPF协议网络自治系统,则该路由器被称为自治系统边界路由器。
链路状态及链路状态通告
OSPF协议是一种基于链路状态的路由协议,链路状态也指路由器的接口状态。路由器的链路状态包括了该接口的IP地址及子网掩码等信息。cost总和最小值为最优路线。两台交换机互联的接口数越大,优先级越低。
链路状态通告(Link-Stste Advertisement,LSA)是链路状态信息的主要载体,链路状态信息主要包含在LSA中,并通过LSA的通告(泛洪)来实现共享。
LSA的类型主要有:Type-1 LSA(Router LSA)、Type-2 LSA(Network LSA)、Type-3 LSA(Network Summary LSA)、Type-4 LSA(Network Summary LSA)、等。
链路状态路由协议-LAS泛洪
与距离矢量路由协议的不同,链路状态路由协议通告夫人是链路状态而不是路由表。运行链路状态路由协议的路由器之间会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
OSPF协议消息中的报文
OSPF协议报文直接封装在IP报文中,IP报文头部中的协议字段值必须为89.
OSPF协议报文有5种类型,这些报文在OSPF路由器之间交互中起不同的作用。
分别是:
报文名称 | 报文的作用 |
Hello报文 | 周期性发送,用来发现和维护OSPF邻居关系。 |
DD报文(Database Description Packet) | 描述本地LSD的摘要信息,用于两台设备进行数据库同步。 |
LSA报文(Link-State Request Packet) | 用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。 |
LSU报文(Link-State Update Packet) | 用于向对方发送其所需要的LSA。 |
LSAck报文(Link-State Ackonwledgement Packet) | 用来对收到的LSA进行确认。 |
OSPF协议报文中的DD报文用于描述自己的链路状态数据库(Link-State Database,LSDB),并进行数据库的同步;LSR报文用于请求相邻路由器LSBD中的一部分数据;LSU报文的功能是向对端路由器发送多条LSA用于更新,LSAck报文指路由器在接收到LSU报文后所发出的确认应答报文。
Router ID
Router ID 是OSPF协议区域中的路由器的唯一标识
Router ID的形成
- 管理员手工配置路由器的Router ID
- 如果没有设置路由器的Router ID,但是在路由器上创建了逻辑接口(如环回接口),则路由器会选择这台路由器上所有的逻辑接口的IPv4地址中数值的最大的IPv4地址作为Router ID(无论该接口是否参与了OSPF协议)
- 如果以上两种情况都没有,则路由器会选择所有的活动物理接口的IPv4地址中数值的最大的IPv4地址作为Router ID(无论该接口是否参与了OSPF协议)
一旦选定了Router ID,只要OSPF协议进程没有重启,路由器的Router ID就不会改变,无论接口是否变化。
Router ID的变化会对OSPF协议网路产生影响,所以通常情况下管理员会手动配置Router ID。