一、OSPF的工作过程
OSPF路由协议针对每一个区域分别运行一套独立的计算法则,对于ABR来说,由于一个区域边界路由器同时与几个区域相联,因此一个区域边界路由器上会同时运行几套OSPF计算方法,每一个方法针对一个OSPF区域。
二、OSPF的基本概念
OSPF区域
为了适应大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息
(1)区域ID
区域ID可以表示成一个十进制数
也可以表示成一个IP
(2)骨干区域Area 0
负责区域间路由信息传播
(3)非骨干区域
(4)Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID的选取规则
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Ronter ID
三、DR与BDR
DR:(designate router),指定理由器
BDR:(backup disignate router),备用指定理由器
DR与BDR的选举方法
(1)自动选举DR和BDR
网段上router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
(2) 手动选举DR和BDR
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID
如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
(3)DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
(4)OSPF的组播地址
224.0.0.5
224.0.0.6
Drother会通过224.0.0.6向DR和BDR通告网络状态信息,DR会通过224.0.0.5向所有邻居通告信息
四、OSPF数据包类型
OSPF数据包承载在IP数据包内,使用协议号89
OSPF的包类型
OSPF的包类型 | 描述 |
Hello包 | 用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) | 用于向邻居发送摘要信息一同步链路状态数据库 |
链路状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可以包含几个LSA |
链路状态确认包 | 确认已经收到LSU,每个LSA需要被分别确认 |
五、OSPF邻接关系的建立
1、OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程
2、OSPF启动的第二个阶段是建立完全邻接关系
六、OSPF的路由器类型
1、路由类型
内部路由器:只保存本区域内的链路状态信息
区域边界路由器(ABR):用来连接区域0和其他区域
自制系统边界路由器(ASBR):用来连接OSPF的AS与外部其他的路由
2、OSPF协议6种LSA分析
类型代码 | 描述 | 用途 |
Type 1 | 路由器LSA | 所有OSPF路由器都会产生,只在区域内传播 |
Type 2 | 网络LSA | DR产生,只在区域内传播 |
Type 3 | 网络汇总LSA | ABR产生,在相邻的两个区域相互传播 |
Type 4 | ASBR汇总LSA | ABR产生,向和ASBR不在同一区域的其他区域传播,用于表示ASBR |
Type 5 | AS外部LSA | ASBR产生,向整个OSPF协议区传播,用于描述另一个协议域的路由信息 |
Type 7 | NSSA外部LSA | NSSA区域中的ASBR产生,用于向NSSA区域通告外部路由 |