OSPFv3与OSPFv2不同点
文章目录
- OSPFv3和OSPFv2不同点详解
- 链路运行
- 链路本地地址
- 多实例复用
- 标识唯一邻居
- 认证变化
- 特殊区域支持
- 头部说明
OSPFv3和OSPFv2不同点详解
🏡作者主页:点击!
🤖Datacom专栏:点击!
⏰️创作时间:2025年07月08日20点01分
链路运行
1、基于链路运行
OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一个网段
OSPFv3的实现是基于链路, 一个链路可以划分为多个子网, 节点即使不在同一个子网内, 只要在同一链路上就可以直接通信(此时使用的是Link-local地址)
链路本地地址
2、使用链路本地地址
- OSPFv3中所有报文的发送都是基于链路本地地址的
- OSPFv3的路由器使用链路本地地址作为发送报文的源地址
- 在虚连接上, 必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址(虚连接源目地址以自己为根和以虚连接邻居为根计算最短路径树)
- 由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在Link LSA中 Link LSA为8类LSA
- LinkLSA的主要作用是用来将OSPFv3的拓扑计算以及路由信息计算分离来使用的
多实例复用
3、链路多实例复用
- OSPFv3支持在同一链路上运行多个实例,实现链路复用节约成本
- OSPFv2在一个共享网络中要想让R1和R2建立邻居,R3和R4建立邻居,使用的办法有:接口宣告进入不同区域、认证等,但是对于收到的Hello包和以及错误的认证信息,会去统计错误认证信息
- 在相同的OSPFv3进程下,一个接口只能加入到一个实例中去
- 在不同的OSPFv3进程下,一个接口可以加入到不同的接口实例下
- 无论是OSPFv2还是OSPFv3同一个进程中同一个接口永远不可能属于多个区域
- 在OSPFv3中变得很像 IS-IS 协议,在接口里面宣告的使用 ospfv3 1 area 0 instance x //默认实例0,可以同过实例的办法实现(该信息是包含在OSPFv3的报文头中)收到的OSPFv3报文,要求实例号和本段配置的某个实例相匹配才会建立OSPFv3邻居,且可以进行互相引入
- 当然这个不仅可以去实现多实例复用,也可以在接口下针对不同实例中对于OSPFv3的DR选举进行调整:ospfv3 dr-priority 255 instance 1 //实例1中的DR优先级设置为255
标识唯一邻居
4、通过Router ID唯一标识邻居
- 在OSPFv2中,当网络类型为点到点或者通过虚连接与邻居相连时,通过Router ID来标识邻居路由器,当网络类型为广播或NBMA时,通过邻居接口的IP地址来标识邻居路由器(也就是DR接口的 IP 地址)。
- OSPFv3取消了这种复杂性,无论对于何种网络类型,都是通过Router ID来唯一标识邻居。
OSPFv2在广播网络中LinkID为DR接口的IP地址,Linkdata是连接DR的接口IP地址
OSPFv3中使用Router ID来唯一标识邻居,广播网络中查看数据库里面Router信息,邻居ID是DR设备的RID
OSPFv3中Link ID是DR设备的RID,Link data是电路ID
使用 dis ospfv3 lsdb router //查看OSPFv3链路状态数据库中的Router详细信息
认证变化
5、认证的变化
- 验证的变化:
OSPFv3报文头不再包含 Autype 和 Authentication,而一般依赖 IPv6的扩展验证头- 检验和(checksum)变化:
OSPFv3使用IPv6标准的 CheckSum
特殊区域支持
6、Stub 区域的支持
由于OSPFv3支持对未知类型LSA的泛洪,为防止大量未知类型LSA泛洪进入Stub区域,对于向Stub区泛洪的未知类型LSA进行了明确规定, 只有当未知类型LSA的泛洪范围是区域或链路而且U比特没有置位时,未知类型LSA才可以向Stub区域泛洪。
在OSPFv2中,收到类型未知的LSA将直接丢弃
OSPFv3在LSA的LS Type字段中增加了一个U比特位来位标识对未知类型LSA的处理方式:
U位:收到 LSA 之后怎么处理
1、如果 U 比特置 1,则对于未知类型的 LSA 按照 LSA 中的 LS Type 字段描述的泛洪范围进行泛洪;
2、如果 U 比特置 0,对于未知类型的 LSA 仅在链路范围内泛洪
头部说明
7、报文头部字段说明
Version:v2版本就是2,v3版本就是3
Type:1-Hello、2-DD、3-LSR、4-LSU、5-LSAck
Packet length:OSPFv3报文长度 2字节
Router ID:路由器ID
Area ID:区域ID
CheckSum:校验和
Instance ID:链路实例 ID,通过判断该字段可以区分同一链路上运行的不同OSPF实例。实例 ID 只在本地链路范围内具有意义
Reserved:保留字段总是为0
Author:DC