OSPFv3 LSA报文格式
OSPFv3对LinkStateType的高3位做了定义,代表泛洪范围。
U位:U代表如果路由器并不识别该LSA的时候该怎么做。
若U位没有置位,对未知的LSA 仅在直连链路间泛洪。
若U位置位,对未知的LSA像已知的LSA一样,存储并泛洪,默认为0。
S2和S1位:S2和S1组合定义了LSA的泛洪范围。
0x0代表Link-local范围
0x2代表区域内泛洪
0x4代表整个路由域泛洪
其他位的LSA function code,不同数值代表不同类型的LSA。
OSPFv2和OSPFv3的异同点
一、相同点
- 网络类型和接口类型
- 接口状态机和邻居状态机
- 链路状态数据库(LSDB)
- 洪泛机制
- 相同类型的报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文
- 算法及路由计算过程
二、不同点
①.OSPFv3基于链路,而不是网段
②.OSPFv3利用IPv6链路本地地址
③.OSPFv3协议报文上移除了“协议地址”的语义
④.链路间的泛洪范围
OSPFv3添加了链路间的泛洪范围,新的LSA8 (Link LSA)类型仅可以在邻居之间通告,其LSA不会被泛洪到其他链路。
⑤.OSPFv3支持一个链路上多个进程
OSPFv3在OSPF 报文头添加了一个新的字域:Instance ID,它是定义在接口的标识OSPF 实例的0~255的数。
⑥.OSPFv3移除所有认证字段
OSPFv3可直接使用IPv6扩展报文头的认证及安全机制,不需要再重复提供认证。
⑦.OSPFv3只通过Router ID来标识邻居
⑧.新增两种LSA
Link LSA:用于宣告链路上的Link-local地址及IPv6 Prefix地址,其仅在本地链路上洪泛。
Intra Area Prefix LSA:用于向其他路由器宣告本路由器或本网络的IPv6全局地址信息,在区域内洪泛。
OSPFv3中新LSA及其对收敛的影响
1、Link LSA
①.向链路上的其他路由器通告本地Link-local地址。
由于OSPFv3 Router LSA 中Link Data中移除了协议地址,代之以接口ID,拓扑在表达连接关系时多用接口ID来描述。
②.通告关联在路由器上且出现在该链路上的所有IPv6前缀信息。
在OSPFv3中,区域内的每个节点上的所有前缀都包含在Intra-Area Prefix LSA 中,Link LSA负责通告指定链路上的前缀信息。
③.如果是MA网络,通告LSA 2中选项位的置位情况。
Intra-Area Prefix LSA
OSPFv3中,将LSA 1/LSA 2中的网络信息移除至Intra-Area Prefix LSA 中,此处简称LSA9。
LSA9的作用是携带区域内的网络信息,即原OSPFv2的 RouterLSA中的Stub网络信息和 LSA2中的网络信息,放到OSPFv3的LSA9。
2、LSA 8实现拓扑和协议地址分离
LSA1/LSA2移除了对协议地址的依赖,不再包含接口的协议地址,而换之以接口ID,这实现了拓扑和协议地址的分离。但计算路由时,仍需要接口IPv4或IPv6地址作为下一跳,所以分离后的接口协议地址由LSA8提供。
3、LSA 9实现拓扑和网络信息的分离
Link 9通告每个节点(包含虚节点和实节点)的网络信息,其内容是原LSA 1中的StubNet和 LSA 2中的网络信息。设计LSA 9后,LSA 1和LSA 2中仅包含用于拓扑计算的拓扑信息,区域内的网络信息使用LSA 9来携带。
4、对收敛的影响
Router LSA和 Network LSA在OSPFv3中,不再负责通告前缀。所以,在 LSA1中,看不到描述前缀的Stub,在 LSA2中,也看不到定义网络的掩码。
在区域内,设计了Intra-Area PrefixLSA。
OSPFv3把网络放在LSA 9中,只有LSA 1/2才会触发SPF执行拓扑计算,所以LSA 9的变化或产生,不会触发SPF计算,节省计算资源的同时,计算时间也很短。
故OSPFv3相比 OSPFv2在收敛时间上会快很多。
实验环节
实验目的:
1、保证全网连通性,要求R1能访问R6的回环接口2022:6:6:6::6;
2、在不影响路由的可达性的前提下,尽量减少Area 2区域内的路由数量。
拓扑图如下:
实验分析:
1、R1若想和R6实现通信必须配置Vlink;
2、R5向R6通告Area 0路由时,可在区域边界聚合,抑制Area 0中的明细网络。
实验代码:
R1代码如下:
[R1]ipv6
[R1]int lo0
[R1-LoopBack0]ipv6 enable
[R1-LoopBack0]ipv6 address 2022:1:1:1::1 128
[R1-LoopBack0]ospfv3 1 area 0
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1-GigabitEthernet0/0/0]ipv6 address 2022:192:168:123::1 64
[R1-GigabitEthernet0/0/0]ospfv3 1 area 0
[R1]ospfv3 1
[R1-ospfv3-1]router-id 1.1.1.1
R2代码如下:
[R2]ipv6
[R2]int lo0
[R2-LoopBack0]ipv6 enable
[R2-LoopBack0]ipv6 address 2022:2:2:2::2 128
[R2-LoopBack0]ospfv3 1 area 0
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
[R2-GigabitEthernet0/0/0]ipv6 address 2022:192:168:123::2 64
[R2-GigabitEthernet0/0/0]ospfv3 1 area 0
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ipv6 enable
[R2-GigabitEthernet0/0/1]ipv6 address 2022:192:168:24::2 64
[R2-GigabitEthernet0/0/1]ospfv3 1 area 0
[R2]ospfv3 1
[R2-ospfv3-1]router-id 2.2.2.2
R4代码如下:
[R4]ipv6
[R4]int lo0
[R4-LoopBack0]ipv6 enable
[R4-LoopBack0]ipv6 address 2022:4:4:4::4 128
[R4-LoopBack0]ospfv3 1 area 0
[R4-LoopBack0]int g0/0/1
[R4-GigabitEthernet0/0/1]ipv6 enable
[R4-GigabitEthernet0/0/1]ipv6 address 2022:192:168:24::4 64
[R4-GigabitEthernet0/0/1]ospfv3 1 area 0
[R4-GigabitEthernet0/0/1]int g0/0/0
[R4-GigabitEthernet0/0/0]ipv6 enable
[R4-GigabitEthernet0/0/0]ipv6 address 2022:192:168:45::4 64
[R4-GigabitEthernet0/0/0]ospfv3 1 area 1
[R4]ospfv3 1
[R4-ospfv3-1]router-id 4.4.4.4
[R4-ospfv3-1]area 1
[R4-ospfv3-1-area-0.0.0.1]vlink-peer 5.5.5.5
R5代码如下:
[R5]ipv6
[R5]int lo0
[R5-LoopBack0]ipv6 enable
[R5-LoopBack0]ipv6 address 2022:5:5:5::5 128
[R5-LoopBack0]ospfv3 1 area 1
[R5-LoopBack0]int g0/0/0
[R5-GigabitEthernet0/0/0]ipv6 enable
[R5-GigabitEthernet0/0/0]ipv6 address 2022:192:168:45::5 64
[R5-GigabitEthernet0/0/0]ospfv3 1 area 1
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ipv6 enable
[R5-GigabitEthernet0/0/1]ipv6 address 2022:192:168:56::5 64
[R5-GigabitEthernet0/0/1]ospfv3 1 area 2
[R5]ospfv3 1
[R5-ospfv3-1]router-id 5.5.5.5
[R5-ospfv3-1]area 1
[R5-ospfv3-1-area-0.0.0.1]vlink-peer 4.4.4.4
[R5-ospfv3-1-area-0.0.0.1]abr-summary 2022:192:168:: 48
实验效果:
1、查看Vlink连接情况,可以看出连接成功。
2、测速R1是否能和R6实现网络互通,如图可以看出测速成功。
3、查看R6中是否有聚合路由
4、观察LSA 1
5、观察LSA 2
6、观察LSA 8
7、观察LSA 9
实验总结:
在OSPFv3中,LSA的解读和v2有所出入,要理解LSA 9取代了一部分LSA 1/2的功能。同时,OSPFv3取消验证功能这方面其实是因为IPv6本身就有扩展报文头的认证。OSPFv3配置在接口下,而Router ID则需要手动指定,这方面需要注意。总体来说,理解v2在来理解v3就相对容易了不少。