OSPF动态路由协议笔记之(五) : 域间路由和虚连接配置
OSPF动态路由协议笔记之(五) : 域间路由和虚连接配置
随着网络规模不断扩大,结构也日趋复杂,路由器完成路由计算所消耗的内存、CPU资源也越来越多。
另外,网络发生故障的可能性也随之增加,如果区域内某处发生故障,整个区域内的路由器都要重新计算路由,这将大大增加路由器的负担,降低网络运行的稳定性。面对单区域过大可能带来的问题,OSPF协议又将如何应对呢?
本节笔记,主要介绍OSPF路由区域间传递过程(涉及第三类LSA:Network-Summary-LSA),理解区域间防环机制,以及掌握虚连接的配置过程。
第三类LSA:Network-Summary-LSA
命令:display ospf lsdb summary
Network-Summary-LSA(三类LSA)中主要包括以下内容:
l Ls id:目的网段地址。
l Adv rtr:ABR的Router ID。
l Net mask:目的网段的网络掩码。
l Metric:ABR到达目的网段的开销值。
区域间路由计算过程
OSPF采用划分区域的方式,将一个大网络划分为多个相互连接的小网络。每个区域内的设备只需同步所在区域内的链路状态数据库,一定程度上降低内存及CPU的消耗。
(1)区域划分
区域内部路由器维护本区域内的链路状态信息并计算区域内的最优路径。
划分区域后,根据路由器所连接区域的情况,可划分两种路由器角色:
① 区域内部路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。
② 区域边界路由器(Area Border Router):该类设备接口分别连接两个及两个以上的不同区域。
那么不同区域间是如何进行通信的呢?
(2)区域间路由传递
区域边界路由器(ABR)作为区域间通信的桥梁,同时维护所连接多个区域的链路状态数据库。ABR将一个区域内的链路状态信息转化成路由信息,然后发布到邻居区域。
链路状态信息转换成路由信息其实就是将一类和二类LSA转化成三类LSA的过程。注意,区域间的路由信息在ABR上是双向传递的。
如上图所示,以Area 1中RTD上的192.168.1.0/24的网络为例:
Step 1: 其对应的一类LSA在Area 1中同步;
Step 2: 作为Area 1和Area 0之间ABR的RTB负责将192.168.1.0/24的一类LSA转换成三类LSA并将此三类LSA发送到Area 0。
Step 3: 作为Area 0和Area 2之间ABR的RTC,又重新生成一份三类LSA发送到Area 2中,至此全OSPF区域内都收到192.168.1.0/24的路由信息。
Step 4: 同理,RTE上192.168.2.0/24的路由信息同步过程相同。
区域内路由器接收描述其他区域网络信息的三类LSA后,OSPF路由器又是如何基于三类LSA来计算出区域间路由的呢?
(3)区域间路由计算
ABR产生的三类LSA将用于计算区域间路由。
① 根据三类LSA中的Adv rtr字段,判断出ABR。
② 根据Ls id、Net mask、Metric字段,获得ABR到达目的网络号/掩码、开销。
若多个ABR产生了指向相同目的网段的三类LSA,则根节点将根据本路由器到达目的网段的累计开销进行比较,最终生成最小开销路由。
若根节点到达目的网段的累计开销值相同,则产生等价负载的路由。
如上图所示,Area 0中RTA计算区域间路由过程中:
Step 1:192.168.1.0/24和192.168.2.0/24的三类LSA中,Adv rtr分别是RTB(2.2.2.2)和RTC(3.3.3.3)。
Step 2:RTB产生的三类LSA中,网络号/掩码是192.168.1.0/24,开销为1,RTC产生的三类LSA中,网络号/掩码是192.168.2.0/24,开销为1。
Step 3:RTA到达192.168.1.0/24下一跳是RTB,开销是2;RTA到达192.168.2.0/24下一跳是RTC,开销是2。
区域间路由防环机制
网络中组网方式复杂多样,可能会出现区域间路由环路的现象,以下举出一个例子说明这种现象是如何产生的。
(1)域间路由环路的产生
① RTB将Area 1中192.168.1.0/24网络的一类、二类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中,从而形成了路由环路。
OSPF协议为了避免上述情况,定义了骨干区域与非骨干区域的规则。每个非骨干区域都必须与骨干区域相连。
(2)避免路由环路
为防止区域间的环路OSPF定义了骨干区域和非骨干区域和三类LSA的传递规则。
① OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接和骨干区域相连且骨干区域只有一个,非骨干区域之间的通信都要通过骨干区域中转,骨干区域ID固定为0。
② OSPF规定从骨干区域传来的三类LSA不再传回骨干区域。
③ 对于前文提到的ABR,OSPF要求ABR设备至少有一个接口属于骨干区域。
Q:若只有一个区域时,区域号配置为非0会有什么问题?
A:没问题。
如果OSPF协议是单区域时,可以不需要骨干区域。此时路由传递基于OSPF LSA的域内传递规则,区域号可以配置为任意数字(可选范围内0.0.0.0~255.255.255.255);
如果OSPF协议是多区域时,必须配置骨干区域,并且非骨干区域要与骨干区域相连(基于OSPF防环机制);如果是多区域但是非骨干区域没有与骨干区域相连可以通过v-link或者GRE隧道来解决。
虚连接v-link的作用以及配置
新建网络按照区域间的防环规则进行部署,可以避免区域间环路问题。但是部分网络可能因早期规划问题,区域间的连接关系违背了骨干区域和非骨干区域的规则。
如下图所示:由于某种原因,路由器RTC和RTE所在的Area 2并非与骨干区域相连,违背了OSPF区域的连接规则,导致了OSPF协议在Area 2中无法正常工作。那么如何在不更改网络拓扑结构的情况下解决问题呢?
可以使用虚连接v-link的方式,将Area 0和Area 2在逻辑上相连起来。
骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域逻辑上连续。
虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个相同的非骨干区域。
(1)配置举例
按照以上给出的例子进行拓扑规划,如下图所示。每个路由器的Router ID,相连的网段以及所在的区域都已标明。
Step 1:基本配置,此处省略。OSPF域内配置举例在“OSPF动态路由协议笔记之(三) : 域内基本配置和抓包分析”中已经进行过介绍。
链接:https://www.cnblogs.com/zylSec/p/15701829.html
Step 2:查看现象。使用命令查看ospf路由表。
命令: display ospf routing
查看RTD的ospf路由表,可以看出并没有学习到来自Area 2的10.1.35.0/24网段的路由,原因是非骨干区域Area 2没有和骨干区域Area 0直接相连。
Step 3:使用v-link命令,在两个区域之间建立虚连接。
命令:vlink-peer x.x.x.x
需要进入两边界(ABR)路由器都有一个端口连接的非骨干区域Area 1中进行配置。
RTB与对端路由器RTC的建立虚连接,配置如下。
同理,RTC也需要对应作配置,配置如下。
(2)配置验证
如图所示,在RTB和RTC之间建立了一条虚连接,以使Area 2穿越Area1连接到骨干区域。此时再次查看RTD的ospf路由表。
发现可以正常学习到了Area 2网段的路由。实验成功。
下一节笔记,将会继续介绍OSPF外部路由的计算过程(涉及到第四类LSA:ASBR-Summary-LSA和第五类LSA:AS-External-LSA),外部路由的类型以及次优外部路由的产生。
Q:一条Network-Summary-LSA可以描述多条路由信息吗?
A:一条Network Summary LSA只能描述一条路由信息。
Q:OSPF如何避免区域间的路由环路?
A:OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接和骨干区域相连,且骨干区域只有一个;非骨干区域之间的通信都要通过骨干区域中转;并规定从骨干区域传来的三类LSA不再传回骨干区域。