跳至主要內容

ospf多区域

lingxh大约 3 分钟

ospf多区域

ospf使用LSA3实现多区域连接
规定是其它区域必须于骨干区域相连,否则该区域收不到其它区域的路由表。
LSA3报文必须有ABR产生,其它区域与骨干区域(area0)相连的路由器成为ABR
LSA3报文只携带路由信息,不携带链路信息
LSA3报文会携带路由的开销信息,实际开销=路由器到ABR的开销+LSA3路由中的开销

ospf选路规则

RFC 1583规定,ospf选路时,会优先选择本区域的路由,其次是骨干区域的路由,最后是其它区域的路由
opsf外部路由Metric-type1路由优先于Metric-type2路由
同样type1下,内部成本+外部成本小的优先
同样type2下,外部成本小的优先

ABR三条规则

  • 通过ABR1进入非骨干区域的路由,若ABR2在骨干区域(area0)有ospf邻居,则会拒收该LSA3路由
  • 若ABR在骨干区域没有邻居,则可以从非骨干区域接收来自其它ABR的路由
  • 没有出现在ABR路由表上的路由无法跨区域传递

案例分析

img R3有没有10.1.2.0/24这条路由?
有,根据规则2可以收到来着R4的LSA3路由通告

R5是否能收到R3的路由?
能,R3也是一个ABR,会产生LSA3通告路由给R5

R4有没有R3的10.1.3.0/24路由?
没有,根据规则1,ABR在骨干区域有ospf邻居的话会拒收从非骨干区域传递过来的LSA3路由

R3和R2能通信吗?
不能,R4阻断了R3的LSA3路由传递,因此R4和R2均无到达R3的路由

R6有来自area0和area1的路由吗?
没有,R5不是ABR,不会产生LSA3

Vlink用于连接两个分割的区域,使其形成一个整体
Vlink是area0上一个point-to-point链路,两端分别连接两个ABR
或使其未连接的骨干区域的区域也能在逻辑链路上连接骨干区域 只有LSA3路由,没有链路信息,因此Vlink不会产生链路,只是逻辑上的连接
其数据不通过Vlank传输,而是通过ospf计算的最优路径传输

GRE隧道Vlink
隧道中的所有流量均由隧道端点封装和解封装。路由更新是通过隧道传输的,但数据流量是本地发送的。
每个数据包中的隧道标头都会导致开销。数据流量不受任何隧道开销的影响。
隧道可以穿过末段区域。Transit 区域不能是 Stub 区域,因为 Stub 区域中的路由器没有到外部目的地的路由。由于数据是本机发送的,因此如果将发往外部目的地的数据包发送到存根区域(同时也是中转区域),则数据包将无法正确路由。Stub 区域中的路由器没有到达特定外部目的地的路由。

NSSA区域

NSSA区域不接收来自其它区域的外部路由,通告默认路由指向骨干区域
华为路由器默认采取RouteID高的路由器充当LSA7/LSA5翻译器
可以通过nssa translate-always命令强制指定某台路由器充当LSA7/LSA5翻译器