外部路由的生成,用到了asbr-summary-lsa asbr-externel-las这两类LSA报文,前文对这两类报文有简要的介绍,本文详细说明一下这两类报文在外部路由的生成中的作用。
ASBR使用第五类LSA描述外部路由,这些第五类LSA在整个AS内部泛洪(注意:是在整个AS中泛洪)。
当ABR向其它区域通告所接收到的第五类LSA时,同时为该区域生成一条第四类LSA描述如何到达ASBR(注意,是为该区域,所以四类LSA是在特定区域内泛洪)。见下面图示。
一 AS-External-LSA
用于描述如何从ASBR到达外部目的地;由ASBR生成(RTC)。AS-External-LSA不属于任何区域。
例:
下面是RTC的抓包
注意:Link State ID被设置为目的网段地址。
Advertising Router被设置为ASBR的Router ID。
二 ASBR-Summary-LSA
用于描述如何从ABR到达ASBR。由ABR生成(RTB)
下面是RTB生成的asbr-summary-lsa
Link State ID被设置为该ASBR的Router ID;
Advertising Router被设置为该ABR的Router ID;
Metric设置为从该ABR到达此ASBR的OSPF开销。
小结:
ABR向区域外泛洪一条AS-External-LSA时,同时生成一条描述ASBR的ASBR-Summary-LSA向区域外泛洪。
第四类LSA只能在一个区域内泛洪,第五类LSA每泛洪到一个区域,相关的ABR都会生成一条新的第四类LSA来描述如何到达相关的ASBR,因此,描述到达同一个ASBR的第四类LSA可以有多条,其Advertising Router和metric是不同的,表示是由不同的ABR生成的。
三 含有as-external-las的LSDB
下图是同步后,RTA中的LSDB,注意看红色的部分
在该LSDB中,有一条ASBR-Summary-LSA和一条AS-External-LSA。
在LSDB中,外部路由与AS内部的路由的链路状态信息是分离的。
由此可以看出,AS-External-LSA不属于任何区域。
小问题:还记得sum-net是由什么类型的LSA生成的吗?
如果不知道答案,去复习一下区域间路由的生成。
四 外部路由配置与汇总
OSPF协议的配置命令都很简单,重点在于理解路由计算的过程,对排障非常有帮助。
命令见下图
import-route { limit [limit-number] | protocol [ cost value ] [ type value ] [ tag value ] [ route-policy route-policy-name ] }
引入外部路由时,可以配置路由开销,外部路由类型和tag值。
limit:指定一个OSPF进程中可引入的最大外部路由数量。
asbr-summary:ip-address mask [ not-advertise | tag tag-value] //外部路由汇聚
not-advertise:不通告匹配指定IP地址/掩码的路由。如果不指定该参数将通告聚合路由。
tag-value:用于通过Route-policy控制路由发布,tag-value的取值范围为0~4294967295。如果不指定该参数,缺省值为1。
缺省情况下,只通告聚合之后的路由。
五 外部路由的特性1-Forwarding Address
Forwarding Address,理解一下,不用配置
在现网环境中,有可能会产生次新路由,见下例
10.1.1.0/24属于OSPF路由域;RTC不运行OSPF。
在RTB上配置到达RTC的Loopback0接口的静态路由,并做为外部路由引入到OSPF中,
则RTA可以通过OSPF学习到这条外部路由,但是下一跳是RTB(正常情况下,访问外部网络通过ASBR最优),因此在RTA,这条路由是次优的,最优的下一跳应当为RTC的E0/0接口。
OSPF通过自动设置Forwarding Address来解决这个问题。
如果引入到OSPF中的外部路由的下一跳在一个OSPF路由域内,则在描述该外部路由的AS-External-LSA中,Forwarding Address应当被设置为ASBR路由表中该路由的下一跳。
六 OSPF多进程
注意,下例中存在两个area 0,
做为ASBR,在RTB上应启用两个OSPF进程。 RTA启用OSPF进程1,RTC也启用OSPF进程1。
在RTB上启用两个OSPF进程,为每个OSPF进程分别指定Router ID。
配置每个进程时,把另外一个进程的路由信息引入到本进程中。
验证: