外部路由引入
RTA上配置了一条静态路由,目的网络是10.1.60.0/24,下一跳是RTF 在RTA的OSPF进程下,将配置的静态路由重发布(或者叫做翻译/路由引入)到A公司的OSPF网络中,其中引入外部路由的OSPF路由器叫做ASBR
自治系统边界路由器ASBR(AS Boundary Router)与其他AS交换路由信息的设备称为ASBR,ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR。只要一台OSPF设备引入了外部路由的信息,它就成为ASBR
RTA会生成一条AS-External-LSA(五类LSA),用于描述如何从ASBR到达外部目的地;
RTB和RTC会生成一条ASBR-Summary-LSA(四类LSA),用于描述如何从ABR到达ASBR
四类LSA和五类LSA,将被OSPF路由器用来计算外部路由
查看五类LSA的信息
<RTA>display ospf lsdb ase self-originate OSPF Process 1 with Router ID 1.1.1.1 Link State Database Type : External //LSA类型 Ls id : 10.1.60.0 //目的网段地址 Adv rtr : 1.1.1.1 //产生此五类LSA ASBR的Router ID Ls age : 1340 Len : 36 Options : E seq# : 80000004 chksum : 0xb5cc Net mask : 255.255.255.0 //网络掩码 TOS 0 Metric: 1 //开销值 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Low
· 这是由RTA生成的五类LSA,将被泛洪到所有OSPF区域
· 五类LSA中包含的主要信息如下:
1 Ls id:目的网段地址
2 Adv rtr:ASBR的Router ID
3 Net mask:目的网段的网络掩码
4 Metric:ASBR到达目的网络的开销值,默认值为1
5 Tag:外部路由信息可以携带一个Tag标签,用于传递该路由的附加信息,通常用于路由策略,默认值为1
查看四类LSA的信息
<RTB>display ospf lsdb asbr self-originate Area: 0.0.0.1 Link State Database Type : Sum-Asbr //LSA类型 Ls id : 1.1.1.1 //ASBR的Router ID Adv rtr : 2.2.2.2 //产生此四类LSA ABR的Router ID Ls age : 15 Len : 28 Options : E seq# : 80000005 chksum : 0xf456 Tos 0 metric: 1 //从RTB到达此ASBR的开销
· 这是由RTB在Area 1内生成的ASBR-Summary-LSA(四类LSA)RTB向Area 1泛洪一条五类LSA时,同时生成一条四类LSA向Area 1泛洪
· 该四类LSA主要包含下列信息:
1 Ls id:该ASBR的Router ID
2 Adv rtr:该产生此四类LSA的ABR的Router ID
3 Metric:从该ABR到达此ASBR的OSPF开销值
· 四类LSA只能在一个区域内泛洪,五类LSA每泛洪到一个区域,相应区域的ABR都会生成一条新的四类LSA来描述如何到达ASBR
· 因此描述到达同一个ASBR的四类LSA可以有多条,其Adv rtr是不同的,表示是由不同的ABR生成的
以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引入外部路由,共有两种类型可选:
1 第一类外部路由的AS外部开销值被认为和AS内部开销值是同一数量级的,因此第一类外部路由的开销值为AS内部开销值(路由器到ASBR的开销)与AS外部开销值之和
2 第二类外部路由的AS外部开销值被认为远大于AS内部开销值,因此第二类外部路由的开销值只包含AS外部开销,忽略AS内部开销(默认为第二类)默认情况下,OSPF外部路由采用的是第二类外部路由
实战演练如下
R7和R8之间跑rip协议,version 2 并且把R8上面的loop口8.8.8.8/32 网段路由宣告到rip中
在R7上面查看通过rip协议学习的路由条目,并在R7的OSPF进程下敲import-route
命令
在R7上查看LSDB的信息
LSA-5是在整个OSPF domain内进行泛洪的 并且Adv router 是不会变 永远都是ASBR的router id
华为这边默认情况下为type-2的,在计算开销成本的时候,是不会把内部开销的成本加进去的 所以R6R2、R1到8.8.8.8的cost是1
在R7上面修改引入rip的type类型为type-1
在R6上查看LSA-5的内容,外部成本还是1 但是在路由表中的话 得加上内部得成本
修改为type-1类型后,R6、R2、R1路由表中到达外部路由的开销值还得把内部的成本计算进来
画出R6的有向图,发现R2无法计算出到达ASBR的开销是多少?发现R3无法计算出到达ASBR的开销是多少?
LSA-4是由ABR产生的,除了在area 1之外在其他区域都会存在
在R2上查看到达ASBR的开销是多少?并且tracert一下到达ASBR的路径是怎么样的?
R2到达外部路由8.8.8.8的开销是多少?并且R2到达8.8.8.8的路径是怎么走的?
结论:在FA地址为0.0.0.0的时候,外部路由的选路得看LSA-4,LSA-4怎么选路 LSA-5就怎么选路
小结一下:可以补充下R6的有向图了
在R1上面查看达到8.8.8.8的路由,并tracert一下到达8.8.8.8的路径
在R4上看查看OSPF的LSDB内容
LSA-4是R4产生的,经过R2和R3的ABR后会发现什么样的变化没?