一、区域间路由计算过程
1、区域的划分
- OSPF采用划分区域的方式,将一个大网络划分为多个相互连接的小网络。每个区域内的设备只需同步所在区域内的链路状态数据库,一定程度上降低内存及CPU的消耗。
- 划分区域后,根据路由器所连接区域的情况,可划分两种路由器角色:
(1)区域内部路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。
(2)区域边界路由器(Area Border Router):该类设备接口分别连接两个及两个以上的不同区域。 - 区域内部路由器维护本区域内的链路状态信息并计算区域内的最优路径。
2、区域间路由传递
- 区域边界路由器作为区域间通信的桥梁,同时维护所连接多个区域的链路状态数据库。
- ABR将一个区域内的链路状态信息转化成路由信息,然后发布到邻居区域。
- 链路状态信息转换成路由信息其实就是将一类和二类LSA转化成三类LSA的过程。注意,区域间的路由信息在ABR上是双向传递的。
- 如图所示,以Area 1中RTD上的192.168.1.0/24的网络为例,其对应的一类LSA在Area 1中同步;作为Area 1和Area 0之间ABR的RTB负责将192.168.1.0/24的一类LSA转换成三类LSA并将此三类LSA发送到Area 0。作为Area 0和Area 2之间ABR的RTC,又重新生成一份三类LSA发送到Area 2中,至此全OSPF区域内都收到192.168.1.0/24的路由信息。RTE上192.168.2.0/24的路由信息同步过程也是这样。
3、Network-Summary-LSA
- Network-Summary-LSA(三类LSA)中主要包括以下内容:
(1)Ls id:目的网段地址。
(2)Adv rtr:ABR的Router ID。
(3)Net mask:目的网段的网络掩码。
(4)Metric:ABR到达目的网段的开销值。
4、区域间路由计算
- ABR产生的三类LSA将用于计算区域间路由。
(1)根据三类LSA中的Adv rtr字段,判断出ABR。
(2)根据Ls id、Net mask、Metric字段获得ABR到达目的网络号/掩码、开销。
(3)如果多个ABR产生了指向相同目的网段的三类LSA,则根节点将根据本路由器到达目的网段的累计开销进行比较,最终生成最小开销路由。如果根节点到达目的网段的累计开销值相同,则产生等价负载的路由。 - 如图所示,Area 0中RTA计算区域间路由过程中:
(1)192.168.1.0/24和192.168.2.0/24的三类LSA中,Adv rtr分别是RTB(2.2.2.2)和RTC(3.3.3.3)。
(2)RTB产生的三类LSA中,网络号/掩码是192.168.1.0/24,开销为1,RTC产生的三类LSA中,网络号/掩码是192.168.2.0/24,开销为1。
(3)RTA到达192.168.1.0/24下一跳是RTB,开销是2;RTA到达192.168.2.0/24下一跳是RTC,开销是2。
二、区域间路由防环机制
1、域间路由环路的产生
- RTB将AREA1中1的一类、二类LSA转换成三类LSA,发布到区域0中。
- RTC重新生成有关192.168.1.0/24网络的三类LSA并发布到Area 2中。
- 同理,RTE也将有关192.168.1.0/24网络的三类LSA发布到Area 3中。
- RTD又将192.168.1.0/24网络的三类LSA发布到Area 1中,从而形成了路由环路。
2、解决域间路由环路
- 为防止区域间的环路OSPF定义了骨干区域和非骨干区域和三类LSA的传递规则。
OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接和骨干区域相连且骨干区域只有一个,非骨干区域之间的通信都要通过骨干区域中转,骨干区域ID固定为0。
OSPF规定从骨干区域传来的三类LSA不再传回骨干区域。 - 对于前文提到的ABR,OSPF要求ABR设备至少有一个接口属于骨干区域。
- 新建网络按照区域间的防环规则进行部署,可以避免区域间环路问题。但是部分网络可能因早期规划问题,区域间的连接关系违背了骨干区域和非骨干区域的规则。
三、虚连接的作用及配置
1、不规范的OSPF区域设计
- 在这个场景中,Area 0区域和Area 2区域中间间隔着Area 1区域,根据OSPF的区域互联规则,此为不规范的连接,将会导致Area0区域和Area2区域的路由将无法互相学习,OSPF中故不规则区域主要包含两种:
(1)非0区域不和0区域互联。
(2)隔离0区域,在两个0区域中间还间隔着其他非0区域。
2.虚连接vlink
- 骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域逻辑上连续。
- 虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个相同的非骨干区域。