# 05-4类和5类LSA

本文详细介绍了OSPF协议中4类和5类LSA的工作原理及应用场景。阐述了区域边界路由器(ABR)和自治系统边界路由器(ASBR)的角色,并解释了4类LSA如何帮助其他区域定位ASBR,以及5类LSA如何在整个自治系统内传播外部路由信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

05-4类和5类LSA

标签(空格分隔): HCIP

ABR和ASBR

区域边界路由器:Area Border Router:该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域
ABR用来连接骨干区域和非骨干区域,可以是实际连接,可以是虚连接

自治系统边界路由器 AS Boundary Router:与其他AS交换路由信息的路由器称为ASBR.
使用了多种路由协议
只要一台OSPF路由器引入了外部路由的信息,就称为了ASBR,他有可能是ABR,区域路由器,不一定位于AS边界

ASBR描述外部路由信息,但是如何到达ASBR,就依靠4类LSA没有外部(5类),就没有4类了

4和5类LSA

01类4,5LSA描述

在这里插入图片描述

02外部路由引入

在这里插入图片描述

import-route static

5类:外部路由注入到整个进程中,传播到所有区域
为什么RTD和RTE有4类,因为有ABR(RTC和RTB)生成4类,因为要告诉area1和area2中的路由器,ASBR(RTA)怎么找的到

四类在哪里出现?谁产生

03外部路由lsdb-5类
在这里插入图片描述

	 AS External Database
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
External  3.3.3.3         3.3.3.3            298  36    80000001       1

显示的外部路由

dis ospf lsdb ase 查看外部路由

04查看外部路由-5类
在这里插入图片描述

05AS-External-LSA
在这里插入图片描述

06类4sum-asbr
在这里插入图片描述

R判断谁是abr/谁是asbr

dis ospf abr-asbr 看在那个区域中有abr和asbr

07查看abr-asbr
在这里插入图片描述

AR3 3.3.3.3 属于五类LSA,不像3类LSA进行转发的时候,会重新生成,此时需要AR2生成4类LSA帮助其他区域找到ASBR

AR1想找到3.3.3.3,就去找2.2.2.2

06类4sum-asbr
在这里插入图片描述

4类的写法: 2.2.2.2 生成的4类,描述3.3.3.3.—因为5类里面宣告的是3.3.3.3
对于R1在区域0里来说,不知道3.3.3.3是谁.但是学习到一条关于3.3.3.3的路由
4类告诉R1要找3.3.3.3,去找2.2.2.2

08ASBR-Summary-LSA
在这里插入图片描述

09
有外部路由,泛洪到所有区域, 不会重新生成,谁都知道由ASBR生成,都知道它是外部路由.但是隔了一个区域,怎么找ASBR?就要通过ABR产生的4类LSA,找到
在这里插入图片描述

10类型5:自治系统外LSA AS External LSA

在这里插入图片描述

11类型4ASBR Summary LSA

在这里插入图片描述

12练习1
在这里插入图片描述

13练习2
在这里插入图片描述

总结

1,2只在一个区域内泛洪
3类在区域间泛洪.描述其他区域,由ABR产生
4类 有外部路由(ASBR),处于外部路由区域的ABR,会向其他区域产生4类,ABR在的外部路由区域没有4类
5类.有外部路由,所有区域都会有

14总结
在这里插入图片描述

15LSA说明总览
在这里插入图片描述

16Link State ID
在这里插入图片描述

17dis ospf lsdb
在这里插入图片描述

18传播范围和总结
在这里插入图片描述

### OSPF协议中的报文型 OSPF(Open Shortest Path First)是一种链路状态路由协议,它通过多种型的报文来完成路由器之间的通信、数据库同步以及路径计算等功能。以下是OSPF协议中包含的主要报文型及其功能: #### 1. Hello 报文 Hello 报文用于发现维护邻居关系。在网络环境中,路由器定期发送 Hello 报文以检测其他路由器的存在并建立邻接关系。对于不同的网络型,Hello 报文的行为有所不同。例如,在广播型、点到多点或 NBMA 网络中,接收的 Hello 报文中 Network Mask 字段必须与接收端口的网络掩码一致[^2]。 #### 2. DD (Database Description) 报文 DD 报文用于描述本地链路状态数据库的内容摘要信息,以便两台路由器能够比较各自的 LSDB 并决定是否需要交换更详细的 LSA 数据。在 ExStart Exchange 阶段,DD 报文还负责协商 Master/Slave 关系以及初始化序列号。例如,当 R1 R2 的邻居状态进入 ExStart 后,双方都会发送带有特定标志位(如 M-bit、MS-bit I-bit)的第一个 DD 报文,并最终由 Router ID 较大的一方成为 Master[^3]。 #### 3. LSU (Link State Update) 报文 LSU 报文用于向对端设备发送所需的 LSA 或者泛洪本端更新的 LSA。这些 LSA 是完整的链路状态记录集合,可能涉及多个条目。为了确保 Flooding 的可靠传输,通常还需要配合 LSAck 报文进行确认机制。未收到确认的 LSA 将会被重新发送给指定邻居节点[^4]。 #### 4. LSR (Link State Request) 报文 一旦某台路由器发现自己缺少某些具体的 LSA 条目,则可以通过发出 LSR 请求消息告知对方具体需求列表。这一步骤紧随 Database Synchronization 过程之后发生,目的是获取缺失部分的数据副本从而保持整个区域内所有成员间的一致性视图。 #### 5. LSAck (Link State Acknowledgment) 报文 最后一种重要的控制平面通讯形式即为 Link-State Advertisements(Acknowledgements),简称 LSAcks 。每当一台路由器成功处理了一组来自另一台相邻机器传递过来的新鲜化后的拓扑结构变化通知时 ,就会回传相应的应答信号回去表明已经接受到了相关信息并且将其加入自己的知识库当中去 。 综上所述,OSPF 协议主要依赖于以上五核心数据包来进行操作层面的工作流程管理服务质量保障等方面的支持工作。 ```python # 示例代码展示如何解析 OSPF 报文头部(伪代码) def parse_ospf_header(packet): version_number = packet[:1] type_of_packet = packet[1:2] length = int.from_bytes(packet[2:4], byteorder='big') if type_of_packet == b'\x01': # Hello Packet process_hello(packet) elif type_of_packet == b'\x02': # DBD Packet process_dbd(packet) elif type_of_packet == b'\x03': # LSR Packet process_lsr(packet) elif type_of_packet == b'\x04': # LSU Packet process_lsu(packet) elif type_of_packet == b'\x05': # LSAck Packet process_lsack(packet) parse_ospf_header(b'...') # 假设这里有一个实际抓取到的 OSPF 数据包字节流 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值