IPv6路由协议---IPv6动态路由(OSPFv3-2)
OSPFv3特性
1.OSPFv3基于链路运行
OSPFv3无需关心其是否位于同一网段,在同一链路上即可通过不配置IPv6全局地址而直接建立邻接关系用于计算和传播路由信息。

OSPV2版本以IP子网为基础运作
OSPV3以链路为基础设计
2.OSPFv3编址性语义被取消
OSPFv2协议的数据格式涉及与IP协议的相关性很高。该协议的数据格式中包含了大量来自网络上对应IP地址、掩码以及对应的子网掩码等字段。
OSPFv3通过使用IPv6链路本地地址来描述网络拓扑信息。值得注意的是,在此过程中并未包含任何IPv6地址。
OSPFv3采用Router-LSA和Network-LSA来反映网络拓扑信息,并通过专门设计的链路状态广告(LSA)来传输IPv6前缀信息。这种设计的主要目的是为了实现‘拓扑与地址分离’的效果。具体而言,在这种架构下,OSPFv3无需依赖 IPv6 全球地址配置即可计算其自身的拓扑结构。
为了避免混淆,在此仅讨论 IPv6 全球地址在 Vlink 接口接口报文转发中的作用。
3.OSPFv3链路本地地址的使用
OSPFv3协议以链路本地地址作为某接口下一跳的IP地址,并通过分离前缀信息与拓扑结构的方式进行传递;该协议能够无需IPv6全局地址配置即可确定网络拓扑结构。
对于单个链路上定义的链路本地(Link-local)IP地址仅限于本链路范围内使用;不会转发源IP值属于同一个链路本地范围内的数据包;单播服务仅限于本链路上的所有节点。
所有路由器在其每个接口处都分配了一个唯一的链接本地(Link-local)IP地址;对于所有的OSPF域内接口,在发送数据包时会指定该接口对应的链接本地单播地址作为源IP值。
需要注意的是,在虚拟连接上只能采用全网广播或站点本地服务作为数据包的目标IP前缀;为了避免不必要的广播到其他区域或子网中。
4.OSPFv3使用专用LSA来发布前缀
在OSPFv2协议中,在区域内部的IP子网配置以及网络信息共享工作主要由Router-LSA(路由器本地服务广告)与Network-LSA(网络本地服务广告)共同完成。然而,在这一过程中这两类LSA不仅要负责提供区域内的网络拓扑信息,并且还承担着传播网络架构的具体细节。因此可以看出,在OSPFv2协议下整个拓扑结构的设计与IP子网配置之间形成了紧密的关系:可以说整个协议的整体架构依赖于IP子网与路由器之间的关系。这表明OSPFv2的核心运行机制建立在IP子网基础之上。
OSPFv3的扩展
1.链路多实例支持
有时,在同一条链路上可能需要配置多个OSPF实例来满足特定需求。例如,在电信运营商中,两个服务提供商可能共享一条接入链路。然而,在这种情况下(即两个服务提供商均运行OSPF协议),他们都希望能够保持各自独立的路由域以避免潜在的问题。然而,在这种情况下(即两个服务提供商均运行OSPF协议),他们都希望能够保持各自独立的路由域以避免潜在的问题。然而,在这种情况下(即两个服务提供商均运行OSPF协议),他们都希望能够保持各自独立的路由域以避免潜在的问题。

2.对未知类型LSA的处理
在IPv4网络中,在OSPF路由器的行为中存在一个关键问题:当路由器无法确定某个LSA类型时(即未知类型的LSA),它会丢弃这些数据包。这种做法导致了一个扩展性问题——无法支持在单一链路上混合具有多种能力的路由器。
对于广播型链路和NBMA型链路来说,在此情况下所有LSA都需要由DR(Distribution Router)负责传递出去;而对于强制类型(predefined)的LSA来说这没有问题;但对于可选类型(optional)的LSA则会遇到麻烦:如果DR所支持的可选LSA数量少于某个非DR路由器,则该非DR路由器发送的一些可选LSA会被DR丢弃以避免冲突;从而无法正确传递到其他路由器上。
OSPFv3对未知LSA类型的处理方式设计得更加灵活适应性强:当路由器接收到某类LSA时(即收到某类数据包),它会根据该数据包头中的"ls type"字段中的"ls A handling"位字段值来决定如何处理此类未知类型的数据包;根据这一位值的不同(bit值不同),对未知的ls A类型有两种不同的处理方法:要么将其视为仅限于本地链路范围内的泛洪(local broadcast range)进行处理;从而只能将这些数据发送到本地链路上;要么将其视为已知类型的ls A进行处理;即将其存储起来并进行泛洪以供其他节点使用;当然对于本端点来说因为接收到的是未知类型的ls A因此实际上并未将此ls A加入计算范围内以避免错误行为。
这种更为灵活的设计带来的好处在于它为未来的网络扩展提供了更多的便利条件尤其是对于那些涉及带有外部属性(external-attributes)等复杂场景下的ls A非常适用并且能够有效提升网络性能与可靠性。
3.使用Link-local地址
OSPV3作为一种基于IPv6的路由协议,在网络设备上实现了高效的路由管理。除了Vline接口外的所有OSPV3接口都采用链路本地地址作为源地址及下一跳以发送OSPV3数据包,在此过程中可带来的显著优势在于:无需配置IPv6全局地址即可构建OSPV3拓扑结构,并实现其与IP地址空间的有效分离。该机制通过仅限于链路上的数据包转发机制来避免不必要的数据包传播从而避免不必要的数据包传播以节省网络带宽
OSPFv3多实例支持配置

1.设备及PC地址配置
路由器IPv6地址配置
<Huawei>system-view
[Huawei]sysname AR1
[AR1]ipv6
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ipv6 enable
[AR1-GigabitEthernet0/0/1]ipv6 address 2001:2::1 64
[AR1-GigabitEthernet0/0/1]quit
[AR1]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ipv6 enable
[AR1-GigabitEthernet0/0/2]ipv6 address 2001:1::1 64
[AR1-GigabitEthernet0/0/2]quit
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ipv6 enable
[AR1-GigabitEthernet0/0/0]ipv6 address auto link-local
[AR1-GigabitEthernet0/0/0]quit
[AR1]
<Huawei>system-view
[Huawei]sysname AR2
[AR2]ipv6
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ipv6 enable
[AR2-GigabitEthernet0/0/1]ipv6 address 2001:3::2 64
[AR2-GigabitEthernet0/0/1]quit
[AR2]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ipv6 enable
[AR2-GigabitEthernet0/0/2]ipv6 address 2001:4::2 64
[AR2-GigabitEthernet0/0/2]quit
[AR2]interface GigabitEthernet 0/00
[AR2-GigabitEthernet0/0/0]ipv6 enable
[AR2-GigabitEthernet0/0/0]ipv6 address auto link-local
[AR2-GigabitEthernet0/0/0]quit
[AR2]
<Huawei>system-view
[Huawei]sysname AR4
[AR4]ipv6
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ipv6 enable
[AR4-GigabitEthernet0/0/0]ipv6 address 2001:1::10 64
[AR4-GigabitEthernet0/0/0]quit
[AR4]
<Huawei>system-view
[Huawei]sysname AR5
[AR5]ipv6
[AR5]interface GigabitEthernet 0/0/0
[AR5-GigabitEthernet0/0/0]ipv6 enable
[AR5-GigabitEthernet0/0/0]ipv6 address 2001:2::10 64
[AR5-GigabitEthernet0/0/0]quit
[AR5]
<Huawei>system-view
[Huawei]sysname AR6
[AR6]ipv6
[AR6]interface GigabitEthernet 0/0/0
[AR6-GigabitEthernet0/0/0]ipv6 enable
[AR6-GigabitEthernet0/0/0]ipv6 address 2001:3::20 64
[AR6-GigabitEthernet0/0/0]quit
[AR6]
<Huawei>system-view
[Huawei]sysname AR7
[AR7]ipv6
[AR7]interface GigabitEthernet 0/0/0
[AR7-GigabitEthernet0/0/0]ipv6 enable
[AR7-GigabitEthernet0/0/0]ipv6 address 2001:4::20 64
[AR7-GigabitEthernet0/0/0]quit
[AR7]
2.OSPFv3 进程1配置 跨越这两台路由器的OSPFv3进程1将在其默认情况下运行于Instance 0,并将在接口处进行配置设置以分配该进程至实例0。
[AR1]ospfv3 1
[AR1-ospfv3-1]router-id 1.1.1.1
[AR1-ospfv3-1]quit
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ospfv3 1 area 0 instance 0
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ospfv3 1 area 0 instance 0
[AR1-GigabitEthernet0/0/2]quit
[AR1]
[AR2]ospfv3 1
[AR2-ospfv3-1]router-id 2.2.2.2
[AR2-ospfv3-1]quit
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ospfv3 1 area 0 instance 0
[AR2-GigabitEthernet0/0/0]quit
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ospfv3 1 area 0 instance 0
[AR2-GigabitEthernet0/0/1]quit
[AR2]
[AR4]ospfv3 1
[AR4-ospfv3-1]router-id 4.4.4.4
[AR4-ospfv3-1]quit
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ospfv3 1 area 0 instance 0
[AR4-GigabitEthernet0/0/0]quit
[AR4]
[AR6]ospfv3 1
[AR6-ospfv3-1]router-id 6.6.6.6
[AR6-ospfv3-1]quit
[AR6]interface GigabitEthernet 0/0/0
[AR6-GigabitEthernet0/0/0]ospfv3 1 area 0 instance 0
[AR6-GigabitEthernet0/0/0]quit
[AR6]
配置验证
AR1与AR2正常建立邻居关系。建立在Instance 0内。
[AR1]display ospfv3 1 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/DR 00:00:32 GE0/0/0 0
4.4.4.4 1 Full/DR 00:00:35 GE0/0/2 0
[AR1]
[AR2]display ospfv3 1 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/Backup 00:00:37 GE0/0/0 0
6.6.6.6 1 Full/Backup 00:00:40 GE0/0/1 0
[AR2]
3.OSPFv3进程2配置
[AR1]ospfv3 2
[AR1-ospfv3-2]router-id 11.1.1.1
[AR1-ospfv3-2]quit
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ospfv3 2 area 0 instance 1
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ospfv3 2 area 0 instance 1
[AR1-GigabitEthernet0/0/1]quit
[AR1]
[AR2]ospfv3 2
[AR2-ospfv3-2]router-id 22.2.2.2
[AR2-ospfv3-2]quit
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ospfv3 2 area 0 instance 1
[AR2-GigabitEthernet0/0/0]quit
[AR2]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ospfv3 2 area 0 instance 1
[AR2-GigabitEthernet0/0/2]quit
[AR2]
[AR5]ospfv3 2
[AR5-ospfv3-2]router-id 5.5.5.5
[AR5-ospfv3-2]quit
[AR5]interface GigabitEthernet 0/0/0
[AR5-GigabitEthernet0/0/0]ospfv3 2 area 0 instance 1
[AR5-GigabitEthernet0/0/0]quit
[AR5]
[AR7]ospfv3 2
[AR7-ospfv3-2]router-id 7.7.7.7
[AR7-ospfv3-2]quit
[AR7]interface GigabitEthernet 0/0/0
[AR7-GigabitEthernet0/0/0]ospfv3 2 area 0 instance 1
[AR7-GigabitEthernet0/0/0]quit
[AR7]
配置验证
OSPFv3进程2邻居正常建立,建立在Instance 1内。
[AR1]display ospfv3 2 peer
OSPFv3 Process (2)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
22.2.2.2 1 Full/DR 00:00:34 GE0/0/0 1
5.5.5.5 1 Full/Backup 00:00:30 GE0/0/1 1
[AR1]
[AR2]display ospfv3 2 peer
OSPFv3 Process (2)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
11.1.1.1 1 Full/Backup 00:00:33 GE0/0/0 1
7.7.7.7 1 Full/Backup 00:00:38 GE0/0/2 1
[AR2]
4.获取OSPFv3路由协议信息
在OSPFv3的信息表中包含两个运行该协议的过程,在相互独立的情况下各自主管的网络路径不会互相干扰。
[AR2]display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area,
N - NSSA, U - Uninstalled
OSPFv3 Process (1)
Destination Metric
Next-hop
2001:1::/64 2
via FE80::2E0:FCFF:FEE4:4C74, GigabitEthernet0/0/0
2001:3::/64 1
directly connected, GigabitEthernet0/0/1
OSPFv3 Process (2)
Destination Metric
Next-hop
2001:2::/64 2
via FE80::2E0:FCFF:FEE4:4C74, GigabitEthernet0/0/0
2001:4::/64 1
directly connected, GigabitEthernet0/0/2
[AR2]
请访问全面的IPv6路由协议表,在该表格中包含了所有直连以及非直连的路径信息;而在OSPFv3协议运行过程中,则确保各进程间的实例数据仍然保持相互隔离特性。
[AR2]display ipv6 routing-table protocol ospfv3
Public Routing Table : OSPFv3
Summary Count : 4
OSPFv3 Routing Table's Status : < Active >
Summary Count : 2
Destination : 2001:1:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEE4:4C74 Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 2001:2:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEE4:4C74 Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
OSPFv3 Routing Table's Status : < Inactive >
Summary Count : 2
Destination : 2001:3:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags :
Destination : 2001:4:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/2 Flags :
[AR2]
6.一条链路支持运行多个OSPFv3协议实例

7.测试各PC之间的互通 验证不同OSPFv3配置下网络段间的可达性
[AR4]ping ipv6 2001:3::20
PING 2001:3::20 : 56 data bytes, press CTRL_C to break
Reply from 2001:3::20
bytes=56 Sequence=1 hop limit=62 time = 30 ms
Reply from 2001:3::20
bytes=56 Sequence=2 hop limit=62 time = 30 ms
Reply from 2001:3::20
bytes=56 Sequence=3 hop limit=62 time = 20 ms
Reply from 2001:3::20
bytes=56 Sequence=4 hop limit=62 time = 30 ms
Reply from 2001:3::20
bytes=56 Sequence=5 hop limit=62 time = 50 ms
--- 2001:3::20 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/32/50 ms
[AR4]
[AR5]ping ipv6 2001:4::20
PING 2001:4::20 : 56 data bytes, press CTRL_C to break
Reply from 2001:4::20
bytes=56 Sequence=1 hop limit=62 time = 40 ms
Reply from 2001:4::20
bytes=56 Sequence=2 hop limit=62 time = 30 ms
Reply from 2001:4::20
bytes=56 Sequence=3 hop limit=62 time = 30 ms
Reply from 2001:4::20
bytes=56 Sequence=4 hop limit=62 time = 40 ms
Reply from 2001:4::20
bytes=56 Sequence=5 hop limit=62 time = 30 ms
--- 2001:4::20 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/34/40 ms
[AR5]
不同OSPFv3进程不同实例ID的路由器之间不能互访。
[AR4]ping ipv6 2001:4::20
PING 2001:4::20 : 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 2001:4::20 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
round-trip min/avg/max = 0/0/0 ms
[AR4]
[AR5]ping ipv6 2001:3::20
PING 2001:3::20 : 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 2001:3::20 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
round-trip min/avg/max = 0/0/0 ms
[AR5]
