OSPFv3协议介绍
与OSPFv2相比, OSPFv3在工作机制上与OSPFv2基本相同;但为了支持IPv6地址格式, OSPFv3对OSPFv2做了一些改动。
OSPFv3基于OSPFv2基本原理并增强,是一个独立的路由协议。
协议号仍然是89,Router Id仍然是一个32位的无符号整数。
IPv6对OSPFv3的影响
- 由于IPv6地址扩大为128位,导致OSPFv3的LSA长度增加。
- IPv6使用链路本地地址,OSPFv3使用link-local地址进行报文的发送。(Vlink除外)
- IPv6的接口可以配置多个全球单播地址,于是OSPFv3运行于每个link进行通信,而不再基于子网。
- IPv6有了自己的验证扩展头,OSPFv3直接使用扩展头进行报文的认证和加密。
OSPFv2和OSPFv3相同点
- 网络类型和接口类型。
- 接口状态机和邻居状态机。
- 链路状态数据库(LSDB)。
- 洪泛机制(Flooding mechanism)。
- 五种协议报文: Hello, DD, LSR, LSU, LSAck。
- 路由计算基本相同。
OSPFv3与OSPFv2的不同点
基于链路的运行
- OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一个网段。
- OSPFv3的实现是基于链路, 一个链路可以划分为多个子网, 节点即使不在同一个子网内, 只要在同一链路上就可以直接通信。
使用链路本地地址
OSPFv3的路由器使用链路本地地址作为发送报文的源地址。
在虚连接上, 必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址。
由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在Link-LSA中。
链路支持多实例复用
OSPFv3支持在同一链路上运行多个实例,实现链路复用并节约成本 。
认证变化
验证的变化:
OSPFv3报文头中不再包含AuType和Authentication,而一般依赖IPv6的扩展验证头。
校验和(Checksum)变化:
OSPFv3使用IPv6标准的CheckSum。
Stub区域的支持
由于OSPFv3支持对未知类型LSA的泛洪,为防止大量未知类型LSA泛洪进入Stub区域,对于向Stub区泛洪的未知类型LSA进行了明确规定, 只有当未知类型LSA的泛洪范围是区域或链路而且U比特没有置位时,未知类型LSA才可以向Stub区域泛洪。
报文变化:头部字段说明
- Version:版本,对于OSPFv2,该值是2;对于OSPFv3则是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。
报文变化:Hello报文
OSPFv2报头:
OSPFv3报头:
LSA报文格式不同-LSA头部
头部对比,左边为v2,右边为v3:
LSA类型,支持对未知类型的LSA进行处理
- U比特:指示路由器如何处理无法识别的LSA。
- S2/S1,共同标识 LSA 的泛洪范围。
S2 S1 洪泛(Flooding)范围
0 0 Link-Local范围
0 1 Area范围
1 0 AS范围
1 1 保留 - 不同的LSA类型对应不同的U, S2和S1位。
LSA类型-功能编码(Function Code)
Link State ID
4字节。不再包含地址信息,对于不同的LSA类型,该字段的含义如下表,同时提供与OSPFv2中含义的对比。
LSA类型不同-OSPFv3 LSA类型
前缀标识方法的变化:Prefix Option字段
用来表达某个前缀的一些特性,以便在各种不同的路由计算时做相应的判断和处理。
NU位:非单播位;
LA位:本地地址位;
MC位:组播位;
P位:传播位;
Router LSA:
- LS Type:0x2001;泛洪范围:区域。
- 每个Router-LSA包含若干链路描述 (link description),每个链路描述都描述了路由器的一个接口信息。
- 可以使用多个Router-LSA描述信息,通过Link-State ID区分多个不同的Router-LSA。
Network LSA:
- DR产生,在区域内泛洪;
- 描述该链路上与DR有Full关系的所有路由器。
OSPFv2 Network LSA:
OSPFv3 Network LSA:
新增Link-LSA:
Link-LSA是OSPFv3新增的一种LSA类型,它具有链路泛洪范围,路由器会为每个启动了OSPFv3的接口产生一个Link-LSA。其作用在于:
- 向链路上的其他路由器通告本地链路地址,作为它们的下一跳地址;
- 向链路上的其他路由器通告本地链路上的所有IPv6前缀;
- 在广播网络和NBMA网络上为DR提供Options取值。
Link-LSA结构:
- Rtr Pri:该路由器在该链路上的优先级(Router Priority);
- Options:描述该路由的能力;
- Link Local Interface Address:该接口的本地
- 链路地址,用于路由的下一跳计算;
- #Prefix:所包含前缀的个数;
- 其他: Prefix三元组。
Intra-Area-Prefix-LSA:
- 为什么引入Intra-Area-Prefix-LSA?
- OSPFv2中,依附于路由器和Stub网络的subnet出现在Router LSA中,依附于Transit网络的subnet出现在Network-LSA中;OSPFv3中,Router-LSA和Network-LSA不再包含地址信息,所以引入Intra-Area-Prefix-LSA。
- Intra-Area-Prefix-LSA携带区域内IPv6 Prefix信息。
- 依附于路由器的Prefix
- 依附于Stub网络的Prefix
- 依附于Transit网络的Prefix
- 每台路由器或Transit网络可以 产生多个Intra-Area-Prefix-LSA
Type-3 LSA变化-Inter-Area-Prefix-LSA:
- 在OSPFv2中,该类型的LSA称为Type 3 Summary-LSA。在OSPFv3中,更名为Inter-Area Prefix-LSA,语义更加明确,它描述了其他区域的前缀信息。
- 边界路由器(ABR)产生的第3类LSA,在Area范围内洪泛;
- 描述了到本AS内其他区域的路由信息;
- 每个Inter-Area-Prefix-LSA包含一条地址前缀信息;
- 该LSA中不包含Link-Local地址信息;
- 使用32位整数作为Link State ID来区分相同的LSA
Type-4 LSA的变化 - Inter-Area-Router-LSA:文章来源:https://www.toymoban.com/news/detail-738939.html
- 在OSPFv2中,该类型的LSA称为Type 4 Summary-LSA。在OSPFv3中,更名为Inter-Area Router-LSA,语义更加明确,它描述了到达其他区域的ASBR的信息。
- 边界路由器(ABR)产生的第4类LSA,在Area范围内洪泛;
- 描述了到本AS内其他区域的ASBR路由器信息;
- 每个Inter-Area-Router-LSA包含一个ASBR路由器信息;
- LSA中的能力选项(Options)与所描述的ASBR Router LSA中能力选项(Options)保持一致;
- 使用32位整数作为Link State ID来区分相同的LSA。
AS-External-LSA:文章来源地址https://www.toymoban.com/news/detail-738939.html
- 由ASBR路由产生,描述了区域外的路由信息;
- 具有自治系统(AS)洪泛范围;
- Link State ID不包含地址信息,只是来和其他AS-External-LSA区分开;
- AS-External-LSA不含有Link-Local地址信息。
- 可选项:
- 转发(Forwarding)地址;
- Tag;
- Referenced Link State ID: 保留字段。
到了这里,关于OSPFv3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!