OSPF路由计算
1.LSA的基本概念SA是OSPF进行路由计算的关键依据。
OSPF的LSU报文可以携带多种不同类型的LSA。
各种类型的LSA拥有相同的报文头部
1.1 常见LSA的类型
路由器LSA(Router LSA) : 每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属的区域内泛洪
网络LSA(Network LSA): 由DR产生,描述该DR所接入的MA网络中所有与之形成邻接关系的路由器,以及DR自己。该LSA只能在接口所属区域内泛洪
网络汇总LSA(Network Summary LSA): 由ABR产生,描述区域内某个网段的路由,该类LSA主要用于区域间路由的传递
ASBR汇总LSA(ASBR Summary LSA) : 由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
AS外部LSA(AS External LSA): 由ASBR产生,用于描述到达OSPF域外的路由
非完全末梢区域LSA(NSSA LSA):由ASBR产生,用于描述到达OSPF域外的路由。NSSA LSA与AS外部LSA功能类似,但是泛洪范围不同。NSSA LSA只能在始发的NSSA内泛洪,并且不能直接进入Area0。NSSA的ABR会将7类LSA转换成5类LSA注入到Area0
1.2 Router LSA详解
Router LSA(1类LSA):每台OSPF路由器都会产生。它描述了该路由器直连接口的信息。
Router LSA只能在所属的区域内泛洪
Router LSA使用Link来承载路由器直连接口的信息。
每条Link均包含“链路类型”、“链路ID”、“链路数据”以及“度量值”这几个关键信息。
路由器可能会采用一个或者多个Link来描述某个接口
1.3 Network LSA详解
Network LSA(2类LSA) :由DR产生,描述本网段的链路状态,在所属的区域内传播。
Network LSA 记录了该网段内所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络掩码
2.SPF算法
1.
Phase 1:构建SPF树。
路由器将自己作为最短路径树的树根,根据Router-LSA和Network-LSA中的拓扑信息,依次将Cost值最小的路由器添加到SPF树中。路由器以Router ID或者DR标识。

广播网络中DR和其所连接路由器的Cost值为0。
SPF树中只有单向的最短路径,保证了OSPF区域内路由计算不会出现环路。
Phase 2:计算最优路由。
将Router-LSA、Network-LSA中的路由信息以叶子节点形式附加在对应的OSPF路由器上,计算最优路由。
已经出现的路由信息不会再添加到SPF树干上。
2.
构建SPF树过程:
A.R1以自己为根,检查Router LSA,对于非StubNet类型的Link,将Link ID加入候选列表并记录路径开销。

3.区域间路由计算
3.1 区域划分
Router LSA和Network LSA只在区域内泛洪,因此通过区域划分在一定程度上降低网络设备的内存及CPU的消耗
划分区域后,路由器可以分为两种角色:
区域内部路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。如R1、R4、R5。
区域边界路由器(Area Border Router):该类设备接口分别连接两个及两个以上的不同区域。如R2、R3

3.2 区域间路由信息传递
OSPF区域间路由信息传递是通过ABR产生的Network S

A.以192.168.1.0/24路由信息为例:
R2依据Area 1内所泛洪的Router LSA及Network LSA计算得出192.168.1.0/24路由(区域内路由),并将该路由通过Network Summary LSA通告到Area 0。R3根据该LSA可计算出到达192.168.1.0/24的区域间路由。
R3重新生成一份Network Summary LSA通告到Area 2中,至此所有OSPF区域都能学习到去往192.168.1.0/24的路由ummary LSA(3类LSA)实现的
以192.168.1.0/24路由信息为例:
R2依据Area 1内所泛洪的Router LSA及Network LSA计算得出192.168.1.0/24路由(区域内路由),并将该路由通过Network Summary LSA通告到Area 0。R3根据该LSA可计算出到达192.168.1.0/24的区域间路由。
R3重新生成一份Network Summary LSA通告到Area 2中,至此所有OSPF区域都能学习到去往192.168.1.0/24的路由
B.域间路由环路的产生
OSPF区域间路由的传播过程与距离矢量路由协议的路由传播过程非常相似。
对于区域间路由的传递,OSPF也需要一定的防环机制。
OSPF要求所有的非骨干区域必须与Area0直接相连,区域间路由需经由Area0中转。
区域间的路由传递不能发生在两个非骨干区域之间,这使得OSPF的区域架构在逻辑上形成了一个类似星型的拓扑
C.虚连接的作用及配置
OSPF要求骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域在逻辑上连续。
虚连接可以在任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域

4.外部路由计算
4.1 OSPF外部路由引入背景
网络中存在部分链路未开启OSPF协议如:
路由器连接外部网络使用静态路由或者BGP协议;
服务器直连的链路未开启OSPF协议

4.2 外部路由引入的基本概念
ASBR(AS Boundary Router):自治系统边界路由器。只要一台OSPF设备引入了外部路由,它就成为了ASBR
ASBR将外部路由信息以AS-external LSA(5类LSA)的形式在OSPF网络内泛洪

4.3 路由计算过程
外部路由信息以叶子节点形式挂载在R1上。
根据5类LSA的Advertising Router,R3判断到达外部路由,需要先经过R1。
R3经过区域内SPF计算,已经将R1添加到SPF树干,R3 将到达外部路由的下一跳路由器设置为R1。
R2的计算方式和R3类似