OSPF 协议之5类LSA
5类LSA介绍
AS-External-LSA中LSA头部信息设置如下:
Link State ID 被设置为目的网段地址。
Advertising Router 被设置为ASBR的Router ID。
其它字段设置如下:
Net mask 被设置为目的网段的网络掩码。
Metric 值可以在引入外部路由的时候指定,默认值为1(种子度量值)。
Forwarding Address :FA地址,目的是为了避免选路的次优路径;
外部路由信息可以携带一个Tag标签,用于传递该路由的附加信息,通常用于路由策略,默认值为1。
外部路由类型:
分两种类型,类型1和类型2
类型1:计算外部路由度量值,累加到达ASBR的链路COST值,OE1;
类型2:计算外部路由度量值,不累加到达ASBR的链路COST值,OE2;
5类LSA解决次优路径问题:
OSPF通过设置Forwarding Address来解决上面的次优路径问题;
在5类LSA中什么情况下会填充FA的地址?
1、引入外部路由下一跳的出接口被宣告进OSPF;
2、出接口的网络类型不能是点到的、点到多点;
3、出接口不是一个OSPF的silent接口(配置为silent的接口不发送和接受OSPF报文);
4、如果外部路由没有下一跳不会填充FA地址;
FA地址如何填充?
填充为引入外部路由下一跳的地址
计算FA地址的条件?
到达FA地址必须是OSPF域内或者域间路由可达;
注:
1、如果5类LSA中FA地址被填充,计算外部路由只计算到达FA的距离,并且需要保证本地路由表中存在到达FA的域内或者域间路由;
如果不存在路由条目,该5类LSA不能参与路由计算。
2、如果5类LSA中没有填充FA地址,计算外部路由只计算到达ASBR的距离。
外部路由选路
1、如果都是OE2的外部路由,首先比较外部度量值,外部度量值越小越优先;如果外部度量值一样,则比较到达ASBR或者FA的内部度量值,内部度量值越小越优先;如果内部度量值也一样,负载分担;
2、外部路由类型OE1优于OE2;
3、如果都是是OE1,度量值越小越优先,如果相等,负载分担;
4、如果OE2时,一个FA为0,一个有FA地址,比较到ASBR度量值和到FA度量值得大小,越小越优先,相等则负载分担;
注:如果存在多条前缀相同但是掩码长度不同的外部路由,需要通过通告子网的广播地址来区分不同的外部路由,原因是在LSA的头部中不携带子网掩码,如果前缀相同是无法区分路由条目的。
注:如果OSPF配置了多进程,优先级一样,优选度量值小的,度量值一样时,Cisco外部路由计算采用先入为主方式。哪个进程收到,就使用这条外部路由,后续其他进程引入的会被忽略,华为负载分担;
问题:10.1.1.0/24,10.1.1.0/26从分布到OSPF 如何区分5类LSA:
外部路由引入OSPF时,因为Link State ID如果被设置为目的网段地址,则无法区分上面的网段,华为解决:用子网的广播地址来区分不同5类LSA
10.1.1.0/24 | 10.1.1.0/26 |
---|---|
Type : External Ls id : 10.1.1.0 Adv rtr : 1.1.1.1 Ls age : 362 Len : 36 Options : E seq# : 80000001 chksum : 0x4779 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Low |
Type : External Ls id : 10.1.1.63 Adv rtr : 1.1.1.1 Ls age : 362 Len : 36 Options : E seq# : 80000001 chksum : 0x536d Net mask : 255.255.255.192 TOS 0 Metric: 1 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Low |
路由协议优选级
路由协议缺省时的优先级
路由协议的类型 | 路由协议的外部优先级 | 路由协议的内部优先级 |
---|---|---|
Direct | 0 | 0 |
OSPF | 10 | 10 |
IS-IS | 15 | IS-IS level1 15 IS-IS level2 18 |
Static | 60 | 60 |
RIP | 100 | 100 |
OSPF ASE | 150 | 150 |
OSPF NSSA | 150 | 150 |
IBGP | 255 | 255 |
EBGP | 255 | 20 |
外部路由汇总(在ASBR上配置)
配置举例:
ospf 1
asbr-summary 192.168.0.0 255.255.252.0 ##在ASBR路由器 OSPF进程下配置外部路由汇总
import-route rip 1
area 0.0.0.0
network 12.1.1.0 0.0.0.255
外部路由过滤:
1、重分布的同时使用filter-policy 实现外部路由过滤
acl number 2000
rule 1 deny source 2.2.2.2 0
rule 2 permit
ospf 1
asbr-summary 192.168.0.0 255.255.252.0
filter-policy 2000 export
import-route rip 1
area 0.0.0.0
network 12.1.1.0 0.0.0.255
2、重分布的同时调用route-policy实现外部路由过滤
acl number 2000
rule 1 deny source 2.2.2.2 0
rule 2 permit
route-policy HW permit node 10
if-match acl 2000
ospf 1
asbr-summary 192.168.0.0 255.255.252.0
import-route rip 1 route-policy HW
area 0.0.0.0
network 12.1.1.0 0.0.0.255
3、在ASBR上配置汇总不通告
asbr-summary 2.2.2.2 255.255.255.255 not-advertise
4、在ASBR的接口下过滤5类LSA
interface g0/0/0
ip addr 12.1.1.2 255.255.255.0
ospf filter-lsa-out ase acl 2000
ospf通告默认路由:
ospf 不支持一条本地默认路由重分布进OSPF。通告的默认路由以5类LSA传递ospf各个区域
1、在进程下配置default-route-advertise,前提本地存在一条其他(不包含OSPF)路由协议学到的默认路由
ospf 1
asbr-summary 192.168.0.0 255.255.252.0
default-route-advertise
import-route rip 1 route-policy HW
area 0.0.0.0
network 12.1.1.0 0.0.0.255
2、在进程下配置default-route-advertise always ,不需要本地存在一条默认路由
ospf 1
asbr-summary 192.168.0.0 255.255.252.0
default-route-advertise always
import-route rip 1 route-policy HW
area 0.0.0.0
network 12.1.1.0 0.0.0.255
注:如果自己是默认路由通告者,同时也从同一个进程的其他OSPF邻居学到默认路由,那么这条接收的默认路由不选路。
- 外部路由环路问题:
<R2>tracert 5.5.5.5
traceroute to 5.5.5.5(5.5.5.5), max hops: 30 ,packet length: 40,press CTRL_C to break
1 12.1.1.1 20 ms 20 ms 10 ms
2 13.1.1.3 20 ms 20 ms 30 ms
3 34.1.1.4 20 ms 20 ms 20 ms
4 24.1.1.2 20 ms 20 ms 30 ms
5 12.1.1.1 30 ms 30 ms 20 ms
6 13.1.1.3 30 ms 30 ms 30 ms
7 34.1.1.4 30 ms 40 ms 40 ms
8 24.1.1.2 30 ms 30 ms 40 ms
9 12.1.1.1 50 ms 40 ms 50 ms
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!