华为路由常见 LSA 类型的产生及作用域
类型 | 名称 | 描述 |
---|---|---|
1 | 路由器 LSA(Router LSA) | 每个设备都会产生,描述了设备的链路状态和开销。 该 LSA 只能在接口所属的区域内泛洪 |
2 | 网络 LSA(Network LSA) | 由 DR 产生,描述该 DR 所接入的 MA 网络中所有与之形成邻接关系的路由器,以及 DR 自己。 该 LSA 只能在接口所属区域内泛洪。 |
3 | 网络汇总 LSA(Network Summary LSA) | 由 ABR 产生,描述区域内某个网段的路由,该类 LSA 主要用于区域间路由的传递 |
4 | ASBR 汇总 LSA(ASBR Summary LSA) | 由 ABR 产生,描述到 ASBR 的路由,通告给除 ASBR 所在区域的其他相关区域。 |
5 | AS 外部 LSA(AS External LSA) | 由 ASBR 产生,用于描述到达 OSPF 域外的路由。 |
7 | 非完全末梢区域 LSA(NSSA LSA) | 由 ASBR 产生,用于描述到达 OSPF 域外的路由。 NSSA LSA 与 AS 外部 LSA 功能类似,但是泛洪范围不同。 NSSA LSA 只能在始发的 NSSA 内泛洪,并且不能直接进入 Area0。 NSSA 的 ABR 会将 7 类 LSA 转换成 5 类 LSA 注入到 Area0。 |
Router LSA 字段详解
LSA 的基本概念
・LSA 是 OSPF 进行路由计算的关键依据。
・OSPF 的 LSU 报文可以携带多种不同类型的 LSA。
・各种类型的 LSA 拥有相同的报文头部。
重要字段解释
・LS Age(链路状态老化时间):此字段表示 LSA 已经生存的时间,单位是秒。
・Options(可选项):每一个 bit 都对应了 OSPF 所支持的某种特性。
・LS Type(链路状态类型): 指示本 LSA 的类型。
・Link State ID(链路状态 ID): 不同的 LSA,对该字段的定义不同。
・Advertising Router(通告路由器):产生该 LSA 的路由器的 Router ID。
・LS Sequence Number(链路状态序列号):当 LSA 每次有新的实例产生时,序列号就会增加。
・LS Checksum(校验和):用于保证数据的完整性和准确性。
・Length: 是一个包含 LSA 头部在内的 LSA 的总长度值。
・链路状态类型、链路状态 ID、通告路由器 三元组 唯一地标识了一个 LSA。
・链路状态老化时间 、链路状态序列号 、校验和用于判断 LSA 的新旧。
在链路状态广告(LSA)的比较中,通常会按照以下顺序进行:
- LS Sequence Number :链路状态序列号。序列号越大,表示该 LSA 更新得更频繁,因此是较新的信息。
- LS Checksum :链路状态校验和。如果两个 LSA 的序列号相同,会通过校验和来进一步确认哪个是正确的版本。校验和用于检测数据在传输过程中是否发生了错误。
- LS Age :链路状态年龄。如果序列号和校验和都相同,那么会通过年龄来决定。年龄越小,表示该 LSA 越新。
链路状态协议(如 OSPF)使用这些字段来确保网络中的路由信息是最新的和一致的。当路由器接收到一个 LSA 时,它会按照上述顺序进行比较,以决定是否需要更新自己的数据库中的相应信息。
Router LSA(1 类 LSA):每台 OSPF 路由器都会产生。它描述了该路由器直连接口的信息。
・Router LSA 只能在所属的区域内泛洪。
・V (Virtual Link) :如果产生此 LSA 的路由器是虚连接的端点,则置为 1。
・E (External ): 如果产生此 LSA 的路由器是 ASBR,则置为 1。
・B (Border ):如果产生此 LSA 的路由器是 ABR,则置为 1。
・links :LSA 中的 Link(链路)数量。Router LSA 使用 Link 来承载路由器直连接口的信息。
・Router LSA 使用 Link 来承载路由器直连接口的信息。
・每条 Link 均包含 "链路类型"、"链路 ID"、"链路数据" 以及 "度量值" 这几个关键信息。
・路由器可能会采用一个或者多个 Link 来描述某个接口。
Network LSA(2 类 LSA) :由 DR 产生,描述本网段的链路状态,在所属的区域内传播。
Network LSA 记录了该网段内所有与 DR 建立了邻接关系的 OSPF 路由器,同时携带了该网段的网络掩码。
・Link State ID:DR 的接口 IP 地址。
・Network Mask:MA 网络的子网掩码。
・Attached Router:连接到该 MA 网络的路由器的 Router-ID(与该 DR 建立了邻接关系的邻居的 Router-ID,以及 DR 自己的 Router-ID),如果有多台路由器接入该 MA 网络,则使用多个字段描述。
SPF 算法
Phase 1:构建 SPF 树。
▫ 路由器将自己作为最短路径树的树根,根据 Router-LSA 和 Network-LSA 中的拓扑信息,依次将 Cost 值最小的路由器添加到 SPF 树中。路由器以 Router ID 或者 DR 标识。
▫ 广播网络中 DR 和其所连接路由器的 Cost 值为 0。
▫ SPF 树中只有单向的最短路径,保证了 OSPF 区域内路由计算不会出现环路。
Phase 2:计算最优路由。
▫ 将 Router-LSA、Network-LSA 中的路由信息以叶子节点形式附加在对应的 OSPF 路由器上,计算最优路由。
▫ 已经出现的路由信息不会再添加到 SPF 树干上。
via: huawei
路由 OSPF LSA 介绍、1~7 类 LSA 详细介绍
1.0.0 路由 OSPF LSA 介绍、1~7 类 LSA 详细介绍
OSPF LSA 链路状态通告 (Link status announcement),作用于 向其它邻接 OSPF 路由器 传递拓扑信息与路由信息。
LSA 如何去描述拓扑信息与路由信息的呢?
其实是基于不同类型 LSA 进行描述,而常见的 LSA 类型有 1 类、2 类、3 类、4 类、5 类、7 类
。
OSPF 路由器通过不同类型的 LSA 组建成一下 LSDB 数据库(链路状态数据库)再通过 SPF 算法进行计算出最优的 OSPF 路由加入到路由表中。
宏观下的 6 种 LSA 作用:
1 类 Router
-
路由器 LSA,描述设备的直连拓扑信息、路由信息。
-
该 LSA 只能在接口所属的区域内泛洪。
-
解释(接口所属的区域):在 OSPF 中以接口划分区域,故每个接口都可以属于不同的区域。
-
1 类 LSA 只会在区域内泛洪 / 传递,不会泛洪到其它区域中。
-
2 类 Network
- 网络 LSA,该 2 类 LSA 只会在广播类型网络中出现。
- 由 DR 产生,描述 DR 所在的 MA 网络中所有与之形成邻接关系的路由器,以及 DR 自己。
- 解释(所有与之形成邻接关系的路由器):
- 在广播类型的网络中,OSPF 会选举出 DR 设备统一管理广播网络中的 LSA。
- 而广播网络中只有 DR 与 BDR 能够与 DR-other 设备建立邻接关系。
- 2 类 LSA 描述的正是 DR 与其它设备之间的拓扑信息
[DR 连接了谁]
,与 DR 广播网络的路由信息[DR 广播网络是什么]
。 - 该 LSA 只能在接口所属区域泛洪。
- 解释(所有与之形成邻接关系的路由器):
3 类 Summary-Network
- 网络汇总 LSA,由 ABR 设备产生,描述区域内的路由信息。
- 因为 1 类、2 类 LSA 只能在区域内传递。
- 故其它区域需要学习到另一个区域的 1 类 2 类就需要有新的 LSA 来统一描述 1 类 2 类的拓扑、路由信息。这个 LSA 就是 3 类 LSA。
4 类 ASBR-Summary
-
ASBR 汇总 LSA,由 ABR 产生,描述到 ASBR 的路由,服务于 5 类 LSA。
-
通告给除 ASBR 所在区域的其它区域。
-
这里需要进行图形的解释:
-
5 类 LSA 在传递过程中下一跳是不可改变的,故 AR5 想访问 AR1 就需要去往 AR2 的 2.2.2.2。
-
1、首先 AR2 的 router-id=2.2.2.2 并没有发布到 OSPF 网络中,故 AR5 不会学习到去 2.2.2.2 的路由。
-
2、由于 AR3 与 AR2 在同一个区域中,通过 1 类 LSA 就可以知道如何去 2.2.2.2。
-
【唉?不是说 2.2.2.2 是 RID 吗?不是没有发布到 OSPF 吗?AR3 如何知道去 2.2.2.2 的呢?】
-
【答案就是在 1 类 LSA 的子类型中可以得知去往 RID 的拓扑信息,往后会详细讲解 1 类 LSA 的其它子类型】
shell- Ls id : 2.2.2.2 【该 LSA 由谁产生?因为 1 类描述自己的直连接口信息,当然是自己】 Adv rtr : 2.2.2.2 【谁通告的?1 类 LSA 由自己产生,当然是自己】 Ls age : 623 Len : 36 Options : ASBR E seq# : 80000007 chksum : 0x2ec3 Link count: 1 * Link ID: 10.1.23.3【基于 TransNet 子类型可知该地址表示广播网络的 DR 地址】 Data : 10.1.23.2【谁通告的该 LSA 信息?基于该地址我们就知道如何去 2.2.2.2 了】 Link Type: TransNet Metric : 1 该 LSA 由 2.2.2.2 通告过来给 AR3 的,其中产生了 1 条拓扑信息,可通过 10.1.23.2 访问到。 故同样的也可以访问到 2.2.2.2。 ```
-
-
3、由于 1 类只能在区域中传递,故 AR5 无法学习到去往 2.2.2.2 的路由信息。这个时候就需要用到ABR (AR3) 发布的 4 类 LSA
(去 2.2.2.2 来找 AR3 准没错了)
-
5 类 AS-External
- AS 外部 LSA,由 ASBR 产生,描述到 OSPF 域外的路由。
- OSPF 引入的路由,如引入 RIP、ISIS、BGP 等路由,引入的路由就属于外部路。外部路由用 5 类 LSA 进行通告。
- 5 类 LSA 在传递的过程中,下一跳不会被中间设备修改。
7 类 NSSA
- 用于特殊区域 NSSA 中的 LSA。
- 由 ASBR 产生,用于描述到达 OSPF 域外的路由。NSSA7 类与 5 类功能一样,但泛洪范围不同。
- NSSA7 类只能在始发区域内泛洪,并不能直接进入 Area0。当 7 类需要传递 Area0 的时候,ABR 会将 7 类转换成 5 类传递入到 Area0 中。
查看 LSDB 数据库
LSDB 链路状态数据库,是存放各类 LSA 的地方,在路由设备上通过命令:display ospf lsdb
查看数据库信息。
Type表示 LSA 的类型(1 类 Router、2 类 Network、3 类 Sum-Net、4 类 )
Linkstate通常表示谁产生的 LSA
AdvRouter表示谁通告的 LSA
Age表示 LSA 的年龄,也是老化时间。
Len为 LSA 的大小
Sequence为 LSA 序列号
Metric表示去往该 LSA 的开销。
shell
<AR3>display ospf lsdb
OSPF Process 1 with Router ID 3.3.3.3【OSPF 路由设备的 router-id】
Link State Database 【以下就是关于 AR3 的 LSDB 数据库信息】
Area: 0.0.0.0【区域 0 的 LSA】
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 1240 36 80000005 1
Router 3.3.3.3 3.3.3.3 834 36 80000005 1
Network 10.1.34.4 4.4.4.4 1240 32 80000002 0
Sum-Net 10.1.45.0 4.4.4.4 1277 28 80000001 1
Sum-Net 10.1.23.0 3.3.3.3 834 28 80000002 1
Area: 0.0.0.1【区域 1 的 LSA】
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 585 36 80000007 1
Router 3.3.3.3 3.3.3.3 785 36 80000005 1
Network 10.1.23.3 3.3.3.3 785 32 80000001 0
Sum-Net 10.1.45.0 3.3.3.3 834 28 80000001 2
Sum-Net 10.1.34.0 3.3.3.3 834 28 80000001 1
NSSA 0.0.0.0 3.3.3.3 834 36 80000001 1
NSSA 10.1.23.0 2.2.2.2 585 36 80000002 1
NSSA 192.168.1.0 2.2.2.2 585 36 80000002 1
NSSA 10.1.12.0 2.2.2.2 585 36 80000002 1
AS External Database【外部路由的 LSA】
Type LinkState ID AdvRouter Age Len Sequence Metric
External 192.168.1.0 3.3.3.3 584 36 80000002 1
External 10.1.12.0 3.3.3.3 584 36 80000002 1
新旧 LSA 判断
话说网络中的 LSA 如此之多,OSPF 路由器是如何进行判断哪些是新的 LSA,哪些是旧的 LSA 呢?
对于 LSA,有三个重要的字段。通过这三个字段可以判断出 LSA 的新旧:序列号 seq
、校验 chksum
、年龄 Age
。
LSA 优先区域顺序
1、先比较序列号,越大越新,越新越优先。
- 因为 OSPF 最新生成的 LSA 会比旧的 LSA 序列号更大。
2、序列号一样,校验和越大越新。
-
OSPF 报文中的校验和并不简简单单是用来判断报文有没有出错的,该值的计算不仅仅需要 LSA 报文的信息,还需要上一次计算出的校验和,并且每次计算校验和,都会比之前的校验和更大,因此校验和被认为是 OSPF LSA 消息新旧的第二个标准。
-
红字部分借鉴 CSDN 博主「永远是少年啊」:在OSPF网络中,如何判断LSA的新旧 ?
https://blog.csdn.net/weixin_40228200/article/details/118497166
3、特例就是当 Age=3600 时该 LSA 最优先,其它 Age 则是越小越优先。
- Age 表示 LSA 产生至今有多久了,默认从 0 开始。
- 当 OSPF 设备需要删除某个 LSA 时,就会通过设置 Age 时间为 3600 秒进行泛洪,让其它 OSPF 设备进行删除指定 LSA。所以 LSA=3600 比 Age=0 更具备优先级。
- 但正常情况下 Age 是不会达到 3600 的,因为 OSPF 默认情况下 1800 秒(30 分钟)周期性更新一次 LSA,当收到新的 LSA 之后就会进行刷新 Age 时间。
查看 LSA 的详细信息
通过命令:display ospf lsdb LSA 类型 LSA 条目 ID
,如查看 2.2.2.2 的 1 类 LSA 详细信息:display ospf lsdb router 2.2.2.2
shell
<AR3>display ospf lsdb router 2.2.2.2
OSPF Process 1 with Router ID 3.3.3.3
Area: 0.0.0.0
Link State Database
Area: 0.0.0.1【查询的 1 类 LSA 所属区域】
Link State Database
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 455 【新旧 LSA 判断依据 3】
Len : 36
Options : ASBR
seq# : 80000007 【新旧 LSA 判断依据 1】
chksum : 0x4ca7 【新旧 LSA 判断依据 2】
Link count: 1
* Link ID: 10.1.23.3
Data : 10.1.23.2
Link Type: TransNet
Metric : 1
详细介绍 1~7 类 LSA 的内部信息
了解 LSA 的产生,什么情况下产生 LSA,产生什么样的 LSA。
查看并了解其 LSA 内部信息所表示的含义。
1 类 Router
产生:运行了 OSPF 的设备并配置活动接口使用之后,必然会产生 1 条 1 类 LSA 描述该直连链路信息。
一类 LSA 头部信息
shell
<AR4>display ospf lsdb router 4.4.4.4
Type : Router 【LSA 的类型】
Ls id : 4.4.4.4 【该 LSA 由谁产生?因为 1 类描述自己的直连接口信息,当然是自己】
Adv rtr : 4.4.4.4 【谁通告的?1 类 LSA 由自己产生,当然是自己】
Ls age : 1521 【该 LSA 活了多久?1521 秒】
Len : 36 【LSA 的大小,36Byte】
Options : ABR E 【ABR 身份,E 表示可接收 OSPF 外部 LSA 的能力】
seq# : 80000007
chksum : 0xab1e
Link count: 1 【直连链路信息数量】
* Link ID: 10.1.34.4
Data : 10.1.34.4
Link Type: TransNet【子类型】
Metric : 1
一类 LSA 子类型与内部信息
不同的子类型,其 LinkID、Data 所表示的含义也不同。
- Link ID: 10.1.34.4【DR 地址】
Data : 10.1.34.4【宣告该 LSA 的接口】
Link Type: TransNet【子类型】
Metric : 1
Link Type | Link ID | Data |
---|---|---|
P2P(P2P 接口网络中产生) | 邻居的 RID | 宣告该 LSA 的路由器接口的 IP 地址 |
StubNet(广播网络中产生) | 路由器接口的网络 IP 地址 | 该 Stub 网络的网络掩码 |
TransNet(广播网络中产生) | DR 的接口地址 | 宣告该 LSA 的路由器接口的 IP 地址 |
Virtual(虚链路路由器产生) | 邻居的 RID | 宣告该 LSA 的路由器接口的 IP 地址 |
P2P、TransNet、virtual 三类都是一类 LSA 用于描述拓扑信息,StubNet 则用于描述路由信息。
疑惑:为什么都是通过 network 宣告网络,有时候产生的是 1 类的 Transnet、有时候产生的是 StubNet 呢?
宣告的网络未进行建立邻居时,宣告的网络子类型为 Stubnet;当宣告的网络建立邻居之后,子类型就会变为 Transnet。
Vritual Link 虚链路
为了避免区域间的环路,OSPF 规定不允许直接在两个非骨干区域之间传递路由信息。
但是非骨干区域 与非骨干区域 之间还是可以通过 hello 报文建立邻居关系,并学习到对方自己产生的路由。
即:非骨干区域之间不能传递其它区域的路由,但是可以传递自己产生的路由。
非骨干区域之间建立邻居后可传递自己的路由信息给对方,但无法把从其它区域(包括骨干区域)学习到的路由,传递给其它非骨干区域。
1、建立 Vlink 的作用?
为了实现以上区域 2 与区域 5 之间的路由传递,让区域 5 也能学习到其它区域的路由信息,就需要建立 Vlink 虚链路。
Vlink 实现非骨干区域之间能够交互路由信息的逻辑是什么?
因为非骨干区域与非骨干区域无法交互路由信息,只有非骨干区域与骨干区域之间可以。
基于上面的环境,AR4 与 AR5 建立 Vlink(区域 0 与区域 2 的两台边界路由器),实现逻辑上将骨干区域 0 扩展到 AR5 上。
建立完成之后就会和下图一样的:由于 AR5 逻辑上属于骨干区域,故区域 5 的 AR10 就会与 AR5 交互路由了。
2、如何配置 Vlink?
首先观察环境,因为区域 5 与区域 0 之间相隔了区域 2,需要做的就是将区域 2 打通,实现区域 5 与区域 0 的通信。
AR4 是区域 0 与区域 2 的边界、AR5 是区域 2 与区域 5 的边界,在这两台上配置 Vlink 是最优的。
配置 Vlink 的时候通常都是指定对端的 router-id。
为什么虚链路不直接指定对端 IP 地址,而是指定对端的 router-id 呢?
-
从实用性上看,如果单独指定其接口地址,那么这个时候去往目标时并不一定是最优的。
而使用 router-id,OSPF 将会基于 OSPF 路由进行最优路由的转发。
-
从可靠性上看,如果单独指定其接口地址,如果该接口断开了,那么该虚链路就断开了。
而
使用 router-id,只要还有路由能到 router-id 该虚链路就不会断开
。
3、配置 Vlink 的注意事项
-
Vlink 虚链路只能在同区域建立连接,无法跨域建立虚链路。
- 因为 Vlink 计算到达目标路径需要依靠 1、2 类 LSA,而
1、2 类 LSA 无法跨区域传递
,导致 Vlink 无法跨区域寻邻居。
- 因为 Vlink 计算到达目标路径需要依靠 1、2 类 LSA,而
以实验结果理解 1 类 LSA
1、通过在 AR2、AR3 上查看 lsdb 可以知道 1 类的 LSA 只会在区域内传递 (因为除了在区域 1 中可以看到 1 类的 2.2.2.2,其它区域都不会有 1 类的 2.2.2.2)
2、1 类 2.2.2.2 中只有一条信息,也就是 transnet 子类型的 LSA,表示的是 AR2 与 AR3 相连的拓扑信息 (10.1.23.0)
3、其它区域想要学习到该 1 类的 LSA,只能通过 3 类的 LSA 学习。(如:AR4 需要学习区域 1 中的 1 类 2.2.2.2 的路由信息,只能通过 AR3 产生的 3 类学习到)
4、为什么 AR4 收到的 3 类是 10.1.23.0 呢 ?为什么不是 2.2.2.2?因为 3 类是统一汇总通告 1 类 2 类的拓扑信息、路由信息。故只会将 1 类 2.2.2.2 中的拓扑信息(10.1.23.0)通告出去。
2 类 Network
产生:在广播类型的接口运行 OSPF 时,由选出的 DR 设备产生。
二类 LSA 头部信息与内部信息
shell
<AR4>display ospf lsdb network 10.1.34.4
Type : Network
Ls id : 10.1.34.4【DR 的地址】
Adv rtr : 4.4.4.4【该 LSA 由谁宣告的?】
Ls age : 1297
Len : 32
Options : E
seq# : 80000001
chksum : 0xf903
Net mask : 255.255.255.0【与 LS id 结合,表示 DR 所在的广播网络】
Priority : Low
Attached Router 4.4.4.4【表示与 DR 相连的设备】
Attached Router 3.3.3.3【表示与 DR 相连的设备】
通过上面的报文可以绘制一个逻辑拓扑:
配合 1 类的 LSA,我们就可以知道 4.4.4.4 与 3.3.3.3 互联接口为这个链路中的 DR。以及这个链路连接有哪些设备。
3 类 Sum-Network
产生:由 ABR 边界路由器产生
三类 LSA 头部信息与内部信息
shell
<AR4>dis ospf lsdb summary 10.1.23.0
OSPF Process 1 with Router ID 4.4.4.4
Area: 0.0.0.0
Link State Database
Type : Sum-Net
Ls id : 10.1.23.0【某条 1 类或 2 类的路由信息】
Adv rtr : 3.3.3.3 【下一跳找谁】
Ls age : 1557
Len : 28
Options : E
seq# : 80000002
chksum : 0x8ca0
Net mask : 255.255.255.0【Lsid 的掩码,与 Lsid 结合就知道了路由信息】
Tos 0 metric: 1
Priority : Low
4 类 ASBR-Summary
产生:由 ABR 边界路由器产生
4 类 LSA 主要的作用就是通过头部的 Ls id 与 Adv rtr 了解如何去往 ASBR。
四类头部信息
shell
<AR4>display ospf lsdb asbr 3.3.3.3
Type : Sum-Asbr
Ls id : 3.3.3.3【ASBR 的 router-id】
Adv rtr : 4.4.4.4【去往 ASBR 找我】
Ls age : 1716
Len : 28
Options : E
seq# : 80000002
chksum : 0x62db
Tos 0 metric: 1
123456789101112
5 类 / 7 类 AS-External
产生:由 ASBR 区域自治边界路由器产生
5 类与 7 类都是一样的 LSA,只不过 Type 类型不一样。
五类头部信息与内部信息
shell
<AR4>display ospf lsdb ase 192.168.1.0
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Type : External
Ls id : 192.168.1.0【5 类外部路由】
Adv rtr : 3.3.3.3 【去往该路由的下一跳】
Ls age : 95
Len : 36
Options : E
seq# : 80000003
chksum : 0xa68d
Net mask : 255.255.255.0【路由掩码】
TOS 0 Metric: 1
E type : 2【外部路由开销的计算类型】
Forwarding Address : 10.1.23.2 【转发地址】
Tag : 1 【Tag 标签】
Priority : Low
五类 LSA---E Type 字段
External Type 外部路由类型
OSPF 外部路由默认优先级为 150
Type 1
可学习到外部的开销为:ASBR 到外部路由部开销
+本路由器到 ASBR 之间的路由部开销
= 该外部路由的总开销
通过 LSA 可以知道访问 192.168.1.0 就需要经过 3.3.3.3、2.2.2.2 最终到 192.168.1.0,故开销为 3。
Type 2
5 类 LSA 的外部路由开销为:(ASBR 到外部路由的总开销
)
因为 5 类 LSA 默认 Type=2,故 5 类路由开销只会计算 ASBR 到外部路由的开销,中间经过设备多少都不会增加其 5 类开销。
啥时候用 Type1、啥时候用 Type2 ?
当网络中有多个 ASBR 都引入同一条外部路由时,如果用默认的 Type2 方式引入,则去往该外部路由时必然是负载分担的。
如下图,AR14 学习到的外部路由开销都是 1,故 AR14 会认为该路由负载分担流量。
但很明显,走 AR13 是次优的路径,故在多个 ASBR 引入同一条外部路由的时候需要考虑使用 Type1 类型。
五类 LSA---Forwarding 字段
转发地址作用:解决广播型网络中 OSPF 路由次优路径问题
引入外部路由时,连接其他协议的接口++运行了 OSPF 协议并且网络类型为广播类型,则 FA 地址为重发布之前路由的下一跳地址++,若网络类型为 P2P,则不会产生 FA 地址。
转发地址不置位(0.0.0.0)
转发地址置位条件:
-
ASBR 与外部路由交互的接口,启用了 OSPF 协议(即接口运行了 OSPF 协议,还运行了其它外部路由协议)
-
链接外部的接口不能配置
Slient-interface
(类似边缘端口,禁止设备向该接口发送 OSPF 报文) -
只有广播型网络的接口才会置位,P2P 只有单一的一条路无法置位。
环境介绍:
AR5 的 G0/0/0 接口与 AR7 建立 OSPF、并且 G0/0/0 还与 AR6 建立 ISIS
路由引入操作:AR5 将 ISIS 与 OSPF 进行双向的路由引入,即 OSPF 引入 ISIS、ISIS 引入 OSPF 中。
这时 AR7 就能通过 AR5 学习到 AR6 的 ISIS 相关路由,但是访问 AR6 的网络时会优先通过 AR5 进行中转,在该环境中明显是不合适的,因为 AR7 明显可以直接与 AR6 进行通信。
为此,OSPF 的 FA 地址生效了。该环境满足了 FA 地址置位的要求。
AR5 会将引入的 AR6 路由相关 SLA 的 FA 地址设置为去往 AR6 网络的下一跳接口地址(192.168.1.2),这样 AR7 需要访问 AR6 的时候就直接访问 AR6 即可。
五类 LSA---Tag 字段
用于区分路由,将特定的路由打上 tag 之后,可以通过路由策略选择性的接收和拒绝指定的路由。ISIS 与路由策略相关知识在后面几章介绍到
双点双向引入时、环路就是通过 tag 解决的。
汇总 1~7 类相关查看命令
查看所有类型 LSA 的汇总信息,LSDB 数据库
shell
<AR4>display ospf lsdb
查看指定类型的 LSA
1 类
bash
<AR4>display ospf lsdb router
2 类
bash
<AR4>display ospf lsdb network
3 类
bash
<AR4>display ospf lsdb summary
4 类
bash
<AR4>display ospf lsdb asbr
5 类
bash
<AR4>display ospf lsdb ase
7 类
bash
<AR4>display ospf lsdb nssa
查看指定类型的 LSA 详细信息,如查看 1 类 1.1.1.1 的详细 LSA 信息
bash
<AR4>display ospf lsdb router 1.1.1.1
查看 ospf 网络中哪些是 ABR、ASBR
bash
<AR3>dis ospf abr-asbr
OSPF Process 1 with Router ID 3.3.3.3
Routing Table to ABR and ASBR
RtType Destination Area Cost Nexthop Type
Intra-area 4.4.4.4 0.0.0.0 1 10.1.34.4 ABR
Intra-area 5.5.5.5 0.0.0.0 2 10.1.34.4 ABR
Intra-area 2.2.2.2 0.0.0.1 1 10.1.23.2 ASBR
via:
-
路由 OSPF LSA 介绍、1~7 类 LSA 详细介绍_ospf lsa 类型详解 - CSDN 博客 Hades_Ling 于 2023-01-14 14:43:13 发布