本节笔记,主要介绍OSPF外部路由的引入方法和计算原理(涉及第四类LSA:ASBR-Summary-LSA和第五类LSA:AS-External-LSA),理解次优外部路由的产生原因。
OSPF动态路由协议笔记之(六) : 外部路由和计算原理
除了内部通信外,企业还需要与外部网络进行通信,不同企业网络之间存在互访需求。
本节笔记,主要介绍OSPF外部路由的引入方法和计算原理(涉及第四类LSA:ASBR-Summary-LSA和第五类LSA:AS-External-LSA),理解次优外部路由的产生原因。
外部路由引入
假设A公司网络部署OSPF协议实现内部通信,因业务发展,需要访问B公司的一台WEB服务器。那么作为A公司的网络工程师,如何操作才能使本公司获取B公司的路由信息呢?
本例中,RTA上配置了一条静态路由,目的网络是10.1.60.0/24,下一跳是RTF。
在RTA的OSPF进程下,将配置的静态路由重发布到A公司的OSPF网络中,其中引入外部路由的OSPF路由器叫做ASBR(设备间互访需要路由双向可达,这里仅介绍OSPF网络内获取外部路由的过程)。
引入外部路由条目后,RTA会生成一条AS-External-LSA(五类LSA),用于描述如何从ASBR到达外部目的地;RTB和RTC会生成一条ASBR-Summary-LSA(四类LSA),用于描述如何从ABR到达ASBR。
命令: import-route XXX
这条命令可以将本路由器上的路由表项重发布到OSPF的进程中,XXX的参数可选项为static,direct,ospf,rip等。
四类LSA和五类LSA,将被OSPF路由器用来计算外部路由。
第四类LSA:ASBR-Summary-LSA
这是由RTB在Area 1内生成的ASBR-Summary-LSA(四类LSA)。
命令: display ospf lsdb asbr self-originate
向Area 1泛洪一条五类LSA,告诉Area 1的路由器:应该如何通过访问ASBR(也就是路由器RTA)去往外部网络。
同时向Area 1泛洪一条四类LSA,告诉Area 1的路由器:应如何才能访问路由器RTA,花销(cost)是多少。
该四类LSA包含的主要信息如下:
l Ls id:该ASBR的Router ID。
l Adv rtr:产生此四类LSA的ABR的Router ID。
l Metric:从该ABR到达此ASBR的OSPF开销值。
四类LSA只能在一个区域内泛洪。五类LSA每泛洪到一个区域,相应区域的ABR都会生成一条新的四类LSA来描述如何到达ASBR。
因此描述到达同一个ASBR的四类LSA可以有多条,其Adv rtr是不同的,表示是由不同的ABR生成的。
第五类LSA:AS-External-LSA
这是由RTA生成的五类LSA,将被泛洪到所有OSPF区域。
命令: display ospf lsdb ase self-originate
五类LSA中包含的主要信息如下:
l Ls id:目的网段地址。
l Adv rtr:产生此五类LSA的ASBR的Router ID。
l Net mask:目的网段的网络掩码。
l Metric:ASBR到达目的网络的开销值,默认值为1。
l Tag:外部路由信息可以携带一个Tag标签,用于传递该路由的附加信息,通常用于路由策略,默认值为1。
外部路由计算
以Area 0中RTB的外部路由计算为例:
RTB收到五类LSA后,根据Adv rtr字段1.1.1.1发现,ASBR与自己同属于一个区域(Area 0),再根据Ls id、Net mask、Metric字段最终生成目的网络10.1.60.0/24, cost=1,下一跳为RTA的路由。
以Area 1中RTD的外部路由计算为例:
RTD收到五类LSA后,根据Adv rtr字段1.1.1.1发现,ASBR与自己不同属于一个区域,再查找Ls id为1.1.1.1的四类LSA,发现此四类LSA的Adv rtr为2.2.2.2。再根据五类LSA中的LS id、Net mask、Metric字段最终生成目的网络10.1.60.0/24, cost=1,下一跳为RTB的路由。
RTB、RTD最终计算出的路由条目cost都为1,根据物理拓扑可知,RTD开销值明显大于RTB,那么问题出在哪里呢?
外部路由类型
OSPF引入外部路由,共有两种类型可选:
第一类外部路由的AS外部开销值被认为和AS内部开销值是同一数量级的,因此第一类外部路由的开销值为AS内部开销值(路由器到ASBR的开销)与AS外部开销值之和;这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性。
Type 1 = AS内部开销+AS外部开销
第二类外部路由的AS外部开销值被认为远大于AS内部开销值,因此第二类外部路由的开销值只包含AS外部开销,忽略AS内部开销(默认为第二类),这类路由的可信度比较低。
Type 2 =AS外部开销
默认情况下,OSPF外部路由采用的是第二类外部路由,但第一类外部路由优先级高于第二类。
次优外部路由的产生
(1)次优外部路由产生的原因
图所示,RTA、RTB、RTC同处于一个MA网络,RTA和RTB之间运行OSPF,RTB和RTC之间运行RIP。
RTB将通过RIP学来的路由重发布到OSPF,RTA通过OSPF学习到RIP中192.168.3.0/24的外部路由,但是下一跳是RTB。所以RTA访问192.168.3.0/24的流量先发送给RTB,RTB收到后又转发给RTC。在RTA上这条路由是次优的,最优的下一跳应当为RTC。
OSPF通过设置Forwarding Address来解决这个问题。
(2)Forwarding Address
通常情况下,ASBR引入外部路由产生的五类LSA中Forwarding Address字段设置为0.0.0.0。
对于图中的场景,RTB路由表中到达192.168.3.0/24的下一跳地址为10.1.123.3。10.1.123.3所属网段10.1.123.0/24运行OSPF,所以RTB生成的五类LSA中,Forwarding Address被设置为10.1.123.3。
当RTA收到五类LSA时,发现Forwarding Address字段非0,其值为10.1.123.3,所以RTA按照Forwarding Address计算下一跳。
Tips:扩展知识
Q:AS External LSA是在什么角色的路由器上产生的?它的基本作用是什么?
A:AS External LSA是在ASBR路由器上产生的。AS External LSA的基本作用是用来向OSPF网络宣告外部路由。一条AS External LSA只能宣告一条外部路由。
Q:ASBR Summary LSA是在什么角色的路由器上产生的?它的基本作用是什么?
A:ASBR Summary LSA是在ABR路由器上产生的。ASBR Summary LSA的基本作用是告诉其他路由器应该如何去往ASBR路由器。
Q:OSPF外部路由类型有哪两种?哪一种的优先级更高?
A:OSPF外部路由类型有External Type-1和External Type-2。External Type-1的优先级高于External Type-2。