OSFP 1类LSA详解

概述

image-20240610024506845

上图为1类LSA的实际报文结构 , 在开始之前一定需要说明 , 1类LSA是OSPF中最复杂的LSA类型 , 在LSA头部的文章中详细介绍了 LS Type / Link State ID / Adv Router 3种头部字段 , 在1类LSA的主体内容中还存在类似的字段十分的相似 , 很多网络从业者难以理解的点就在于此 , 所以我在开头阐述清楚

1类LSA头部字段

LS Type : 代表1类LSA的类型

Link State ID : 代表产生此LSA设备的Router-ID

Adv Router : 代表产生此LSA设备的Router-ID

1类LSA主体中相似字段

Link Type : 路由器所接入的目标,其值取决于连接的类型 , 一共有4种 : P2P(拓扑信息) / Transit(拓扑信息) / Stub(网段信息) / Virtual Link(虚链路)

Link ID : 路由器连接的基本描述 , 数值的格式为x.x.x.x的IP地址格式 , 但是实际代表的含义和Link Type相关 , 下面具体说明

Link data : 具体数据 , 与Link ID类似 ,数值的格式为x.x.x.x的IP地址格式 , 具体含义和Link Type相关 , 主要是说明自身的信息

image-20240610032916574

image-20240610030334646

上图中Link Data的"路由器接口"是指LSA产生者 , 也就是本设备接口IP地址 , 我在Link Type中介绍P2P和Transit时用到了拓扑信息这个概念 , 如P2P的LinK ID为对端的设备名称 , Link Data是本端的接口IP , 这样其他设备收到这条1类LSA就可以得知LSA产生者的哪个接口链接了哪台OSPF设备 , 这种本端+对端信息的方式就是拓扑信息 ,

除了虚连接我们不关心以外 , 其余的三种都是经常看到的 , 后续的文章内容我们就以LSA的主体内容为例 , 不再体现LSA头部中的字段 , 避免出现理解困难

P2P网络下的Router-LSA

首先说明一下如何在现网环境中配置OSPF链路为P2P , 以及为什么需要配置

如今数据中心网络都是全三层互联组网 , 不会出现多台路由器连接在一个2层网络下(广播以太网络) , 所以这种情况下我们并不需要DR机制来优化 , 以及DR接口选举需要等待的40S影响了OSPF的建立速度 , 所以在这个背景下我们会在OSPF邻居的接口下配置

int g1/0/1
  ospf network-type  p2p  (以太网环境下把OSPF接口类型改到P2P)

微信截图_20240610152044

如图 , 组成一个最简洁的OSPF网络 , 2台设备Router-id 0.0.0.1和0.0.0.2 通过1.1.1.0/24的网段互联 , 且OSPF接口修改为P2P类型

通过命令

dis ospf lsdb router self-originate  来查看本设备产生的1类LSA

未命名 2

其中P2P类型的LSA是拓扑信息 , 包含了本端和对端的信息映射 , OSPF设备可以通过这个信息补全拓扑 , StubNet就是路由信息 , 这是P2P中特有的 , 在MA网络中路由信息通过2类LSA携带 , 注意所有的回环口路由在1类中也是以StubNet的方式传递 ,

image-20240610170414493

MA网络下的Router-LSA

int g1/0/1
  ospf network-type broadcast   (以太网环境下把OSPF接口类型改到MA网络)

image-20240610170623255

在现网环境的OSPF中我们只关注MA网络类型和P2P网络类型即可 , 且大多数场景下都可以配置成P2P模式 , 来加速OSPF邻居的建立 , nbma和p2mp类型可以忽略

image-20240610172116929

通过观察MA网络下的1类LSA可以得知 , 正常情况下并不会携带路由信息(P2P下的1类LSA存在StubNet) , 只有TransNet是拓扑信息(没有掩码) , 在MA网络下的拓扑信息关键就是DR , OSPF会认为DR是一台真实存在的设备 , 可以把拓扑画成这样 . 每台设备是这样描述拓扑的 , 我的某个接口链接在了DR上 , 通过上图的接口1.1.1.1 链接到DR1.1.1.2 , 就可以获知DR一定是R2 ,

image-20240610171631326

可以通过

dis ospf interface 来查看设备上开启OSPF的接口, 以及其接口类型

image-20240610172306259

在R2上查看1类LSA 一定是1.1.1.2的接口接到了DR 1.1.1.2上

image-20240610172521136

总结

至此1类LSA的3种重要类型都已经通过P2P和MA网络接口类型来体现 , 我们来做一个总结

1类LSA拓扑信息路由信息
P2P网络P2PStubNet
MA网络TransNetDR产生的2类LSA (回环口还是使用的StubNet)

P2P网络 : 默认存在P2P/StubNet , 这种情况下没有DR , 所以不需要2类LSA

MA2网络 : 默认只存在 TransNet , 1类LSA没有掩码信息, 需要通过2类LSA补充 , 由DR设备产生发送

为什么MA网络不能和P2P一样 , 直接使用1类LSA同时描述拓扑信息和路由信息?

关键点在于P2P网络和MA网络在拓扑结构上的差异。P2P网络是明确定义的,每条链路上两个对端设备,因此1类LSA可以有效地描述整个拓扑和路由信息。而MA(多访问)广播网络,多台路由器可以通过交换机接入到同一个二层以太网络。在这种情况下,每台设备需要知道其他路由器的存在和状态信息。

因此,MA网络采用指定路由器(DR)和备用指定路由器(BDR)的机制,统一发布和维护网络的拓扑信息。DR负责生成网络的2类LSA,描述该广播网络的所有路由器,并发布到整个OSPF区域。这种机制优化了OSPF在大规模广播网络中的配置。

概要:P2P设置由于链路简单,1类LSA即可描述完整的拓扑和路由信息;而MA设置由于存在多个设备,需要通过DR和2类LSA来统一发布拓扑信息,确保每个路由器都能获得网络信息。

OSPF MA接口类型和P2P接口类型能否组成邻居?

这个分场景讨论 , 不同设备厂商的实现不一致 , 华为设备的确可以MA和P2P网络接口建立OSPF邻居 , 但是他们的路由计算会出现问题 , 华三设备在这个场景下无法建立OSPF邻居.

### 关于OSFP接口的定义、使用方法及相关文档 #### OSFP接口的定义 OSFP(Open Shortest Path First Protocol)是一种链路状态路由协议,属于IGP(Interior Gateway Protocol),主要用于同一自治系统(AS)内的路由器间交换路由信息。它支持无域间路由(CIDR),并基于Dijkstra算法计算最短路径树以确定最佳路径[^1]。 此外,在硬件层面,QSFP-DD和OSFP管理接口协议提供了详细的规范描述,适用于当前最新版本V3.0的标准。此标准涵盖了接口定义、通信协议、数据格式、操作流程以及错误处理等内容,明确了如何管理和配置这些接口[^2]。 --- #### OSFP接口的使用方法 为了正确使用OSFP接口,需完成以下几个方面的配置: 1. **启用OSPF协议** 需要在每台参与OSPF的路由器上启动OSPF服务,并指定相应的参数,例如AS号和路由器ID。这一步骤通常通过命令行界面实现,具体取决于所使用的网络设备厂商的操作系统[^4]。 2. **配置网络接口** 对于每个需要运行OSPF的网络接口,应明确其所属区域(Area)。如果涉及特殊场景,比如虚连接,则可以通过特定配置使两台ABR(Area Border Router)之间建立逻辑通道,从而绕过物理拓扑限制[^3]。 3. **调整ARP行为(可选)** 如果在网络环境中启用了Keepalived或其他高可用解决方案,可能需要调节系统的`arp_announce`参数以优化地址通告策略。合理的设置可以减少不必要的广播流量,提高性能稳定性[^5]。 以下是简单的Python脚本示例,用于模拟获取OSPF邻居列表的过程: ```python import os def get_ospf_neighbors(): command = "show ip ospf neighbor" result = os.popen(command).read() return result.splitlines() neighbors = get_ospf_neighbors() for line in neighbors: print(line) ``` 上述代码片段展示了如何调用CLI命令提取OSPF相关信息。实际部署时可根据需求扩展功能或集成到自动化运维工具中。 --- #### 参考文档建议 针对深入学习OSFP及其相关技术的需求,推荐查阅以下资料: - QSFP-DD与OSFP管理接口协议官方手册(Version 3.0) - 超详细OSPF协议解析教程 - Keepalived + LVS-DR高级配置指南 以上资源能够帮助理解理论基础的同时掌握实践技巧。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤单77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值