一、简介¶
本章介绍了IPv6地址的基础配置,给出了RIPng路由协议和OSPFv3路由协议的配置实例。
二、IPv6基础配置¶
2.1 原理概述¶
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP next generation,下一代IP协议)。它是IETF设计的一套规范。IPv6和IPv4之间最显著的区别就是IP地址长度从原来的32bit变为128bit。IPv6以其简化的报文头格式、充足的地址空间、层次化的地址结构、灵活的扩展头、增强的邻居发现机制将在未来的市场竞争中充满活力。 128bit的IPv6地址被分为8组,每组的16bit用4个十六进制字符(0-9,A-F)来表示,组和组之间用冒号隔开。为了书写方便,每组中的前导"0"都可以省略。地址中包含的连续两个或多个均为0的组,可以用双冒号"::"来代替,这样可以压缩IPv6地址书写时的长度。但是在一个IPv6地址中只能使用一次双冒号"::",否则计算机将压缩后的地址恢复成128bit时,无法确定每段中0的个数。 一个IPv6地址可以分为两部分,前64bit是网络前缀,相当于IPv4地址中的网络ID,后64bit相当于IPv4地址中的主机ID。
2.2 IPv6基础配置配置实验¶
2.2.1 实验目的¶
1、理解IPv6的地址格式 2、掌握IPv6手工配置IP地址的方法 3、掌握EUI-64方式配置IPv6地址的方法 4、掌握IPv6静态路由和默认路由的配置方法
2.2.2 实验内容¶
某公司在新建网络时部署IPv6,R1与R2分别为IT部门和人事部门路由器,两个部门通过交换机S1相连。IT部门的员工终端PC-1手工配置IPv6地址,并在R1与R2上配置IPv6静态路由,使两个部门的终端能够互相通信。
2.2.3 实验拓扑¶

2.2.4 实验编址¶
| 设备 | 接口 | IPv6地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| R1(AR1220) | G0/0/0 | 2001:3:FD::/64 EUI-64 | 64 | N/A |
| R1(AR1220) | G0/0/1 | 2031:0:130F::1 | 64 | N/A |
| R2(AR1220) | G0/0/0 | 2002:3:DE::/64 EUI-64 | 64 | N/A |
| R2(AR1220) | G0/0/1 | 2002:3:DE::2 | 64 | N/A |
| PC-1 | E0/0/1 | 2001:3:FD::2 | 64 | R1 |
| PC-2 | E0/0/1 | 2002:3:DE::2 | 64 | R2 |
| ### 2.2.5 实验步骤 | ||||
| #### 2.2.5.1 配置IPv6单播地址 | ||||
| 1、在路由器R1、R2系统视图模式下全局开启IPv6功能。 |
[R1]ipv6
[R2]ipv6
2、在R1、R2的GE0/0/0接口下使用ipv6 enable命令开启IPv6功能。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
3、在R1、R2的GE0/0/0接口上配置自动生成的链路本地地址。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 address auto link-local
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 address auto link-local
4、配置完成后,在R1、R2上查看G0/0/0接口所配置的自动生成的链路本地地址,观察到R1的G0/0/0接口自动生成的链路本地地址为FE80::2E0:FCFF:FED4:1BC0,R2的G0/0/0接口自动生成的链路本地地址为FE80::2E0:FCFF:FEBC:34D5
[R1]display ipv6 interface
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FED4:1BC0
No global unicast address configured
Joined group address(es):
FF02::1:FFD4:1BC0
FF02::2
FF02::1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
[R2]dis ipv6 interface
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FEBC:34D5
No global unicast address configured
Joined group address(es):
FF02::1:FFBC:34D5
FF02::2
FF02::1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
5、分别测试PC-1与R1、PC-2与R2链路本地地址间的连通性,观察到通信正常。
PC-1>ping FE80::2E0:FCFF:FED4:1BC0
Ping fe80::2e0:fcff:fed4:1bc0: 32 data bytes, Press Ctrl_C to break
From fe80::2e0:fcff:fed4:1bc0: bytes=32 seq=1 hop limit=64 time=47 ms
From fe80::2e0:fcff:fed4:1bc0: bytes=32 seq=2 hop limit=64 time=31 ms
From fe80::2e0:fcff:fed4:1bc0: bytes=32 seq=3 hop limit=64 time=16 ms
From fe80::2e0:fcff:fed4:1bc0: bytes=32 seq=4 hop limit=64 time<1 ms
From fe80::2e0:fcff:fed4:1bc0: bytes=32 seq=5 hop limit=64 time<1 ms
--- fe80::2e0:fcff:fed4:1bc0 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0/18/47 ms
PC-2>ping FE80::2E0:FCFF:FEBC:34D5
Ping fe80::2e0:fcff:febc:34d5: 32 data bytes, Press Ctrl_C to break
From fe80::2e0:fcff:febc:34d5: bytes=32 seq=1 hop limit=64 time=78 ms
From fe80::2e0:fcff:febc:34d5: bytes=32 seq=2 hop limit=64 time=16 ms
From fe80::2e0:fcff:febc:34d5: bytes=32 seq=3 hop limit=64 time=15 ms
From fe80::2e0:fcff:febc:34d5: bytes=32 seq=4 hop limit=64 time=32 ms
From fe80::2e0:fcff:febc:34d5: bytes=32 seq=5 hop limit=64 time=15 ms
--- fe80::2e0:fcff:febc:34d5 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 15/31/78 ms
6、在R1和R2的G0/0/1接口上手工静态配置全球单播地址。使用ipv6 address命令为接口直接添加IPv6地址。
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ipv6 enable
[R1-GigabitEthernet0/0/1]ipv6 address 2031:0:130F::1 64
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ipv6 enable
[R2-GigabitEthernet0/0/1]ipv6 address 2031:0:130F::2 64
7、配置完成后,在R1和R2上查看所配置的全局地址。观察到,IPv6全球单播地址的配置已经生效。
[R1]dis ipv6 interface g0/0/1
GigabitEthernet0/0/1 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FED4:1BC1
Global unicast address(es):
2031:0:130F::1, subnet is 2031:0:130F::/64
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FFD4:1BC1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
[R2]dis ipv6 interface g0/0/1
GigabitEthernet0/0/1 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FEBC:34D6
Global unicast address(es):
2031:0:130F::2, subnet is 2031:0:130F::/64
Joined group address(es):
FF02::1:FF00:2
FF02::2
FF02::1
FF02::1:FFBC:34D6
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
8、测试R1与R2的全球单播地址间的连通性。观察到通信正常。
[R1]ping ipv6 2031:0:130F::2
PING 2031:0:130F::2 : 56 data bytes, press CTRL_C to break
Reply from 2031:0:130F::2
bytes=56 Sequence=1 hop limit=64 time = 120 ms
Reply from 2031:0:130F::2
bytes=56 Sequence=2 hop limit=64 time = 50 ms
Reply from 2031:0:130F::2
bytes=56 Sequence=3 hop limit=64 time = 50 ms
Reply from 2031:0:130F::2
bytes=56 Sequence=4 hop limit=64 time = 60 ms
Reply from 2031:0:130F::2
bytes=56 Sequence=5 hop limit=64 time = 50 ms
--- 2031:0:130F::2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 50/66/120 ms
2.2.5.2 用EUI-64方式配置IPv6地址¶
1、在R1、R2的GE0/0/0接口使用ipv6 address命令配置EUI-64位地址。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 address 2001:3:FD:: 64 eui-64
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 address 2002:3:DE:: 64 eui
[R2-GigabitEthernet0/0/0]ipv6 address 2002:3:DE:: 64 eui-64
2、配置完成后,查看配置结果。观察到,R1的GE0/0/0接口此时已经生成了有效的EUI-64位地址。
[R1]dis ipv6 interface brief
*down: administratively down
(l): loopback
(s): spoofing
Interface Physical Protocol
GigabitEthernet0/0/0 up up
[IPv6 Address] 2001:3:FD:0:2E0:FCFF:FED4:1BC0
GigabitEthernet0/0/1 up up
[IPv6 Address] 2031:0:130F::1
[R2]dis ipv6 interface brief
*down: administratively down
(l): loopback
(s): spoofing
Interface Physical Protocol
GigabitEthernet0/0/0 up up
[IPv6 Address] 2002:3:DE:0:2E0:FCFF:FEBC:34D5
GigabitEthernet0/0/1 up up
[IPv6 Address] 2031:0:130F::2
3、地址生成后,在PC-1、PC-2上配置其G0/0/0接口地址为网关地址。

2.2.5.3 配置IPv6静态路由和默认路由¶
1、在R1上使用ipv6 route-static命令配置IPv6静态路由,目的网段为PC-2所在的IPv6网段,下一跳地址为R2的GE0/0/1接口的IPv6全球单播地址。
[R1]ipv6 route-static 2002:3:DE:: 64 2031:0:130F::2
2、在R2上配置IPv6默认路由,下一跳地址为R1的GE0/0/1接口的IPv6全球单播地址。
[R2]ipv6 route-static :: 0 2031:0:130F::1
3、配置完成后,在PC-1测试与PC-2的连通性。观察到通信正常。
PC-1>ping 2002:3:DE::2
Ping 2002:3:de::2: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 2002:3:de::2: bytes=32 seq=2 hop limit=253 time=62 ms
From 2002:3:de::2: bytes=32 seq=3 hop limit=253 time=47 ms
From 2002:3:de::2: bytes=32 seq=4 hop limit=253 time=47 ms
From 2002:3:de::2: bytes=32 seq=5 hop limit=253 time=31 ms
--- 2002:3:de::2 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/46/62 ms
2.3 思考¶
如果路由器的某一接口下配置了多个IPv6地址,互相之间是否会产生影响? 答:不会产生影响。
三、RIPng基础配置¶
3.1 原理概述¶
RIPng(RIP next generation,下一代RIP协议)是IPv4中RIPv2协议在IPv6网络上的扩展,多数RIPv2的原理都可以适用于RIPng。RIPng协议同样基于距离矢量算法的路由协议,用跳数来衡量到达目的主机的距离(也称为度量值或开销)。在RIPng协议中,当跳数大于或等于16时,目的网络或主机就被定义不可达。 为了能在IPv6网络中应用,RIPng对原有的RIP协议进行了修改。 UDP端口号:使用UDP的521端口号(RIP使用520端口)发送和接收路由信息; 组播地址:使用FF02::9作为链路本地范围内的RIPng路由器组播地址; 目的地址和下一跳地址:使用128bit的IPv6地址,并使用前缀长度来代替子网掩码 RIPng协议路由算法和RIPv2一样,同样支持水平分割、毒性逆转和触发更新功能,用来防止环路。默认情况下,启用水平分割和触发更新,不启用毒性逆转功能。
3.2 RIPng基础配置实验¶
3.2.1 实验目的¶
1、理解RIPng的应用场景 2、理解RIPng的配置 3、理解RIPng配置与RIP配置的区别
3.2.2 实验内容¶
某公司内部网络是个小型的IPv6网络,公司内IT部门通过路由器R2与公司出口网关R1相连,人事部门通过路由器R3与网关R1相连。由于公司网络是个简单的网络,本实验通过配置RIPng协议使各IPv6网络互通。
3.2.3 实验拓扑¶

3.2.4 实验编址¶
| 设备 | 接口 | IPv6地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| R1(AR2220) | GE0/0/0 | 2001::1 | 64 | N/A |
| R1(AR2220) | GE0/0/1 | 2002::1 | 64 | N/A |
| R2(AR2220) | GE0/0/0 | 2001::2 | 64 | N/A |
| R2(AR2220) | GE0/0/1 | 3001::E | 64 | N/A |
| R3(AR2220) | GE0/0/0 | 3002::E | 64 | N/A |
| R3(AR2220) | GE0/0/1 | 2002::2 | 64 | N/A |
| PC-1 | E0/0/1 | 3001::1 | 64 | 3001::E |
| PC-2 | E0/0/1 | 3002::1 | 64 | 3002::E |
3.2.5 实验步骤¶
3.2.5.1 基本配置¶
根据实验编址表配置各接口的IPv6地址,并使用Ping命令检测各直连链路的连通性。
3.2.5.2 配置RIPng¶
1、在R1、R2和R3上配置RIPng协议,创建RIPng路由进程1.
[R1]ripng 1
[R2]ripng 1
[R3]ripng 1
2、配置完成后,在R1、R2和R3相应接口下配置RIPng
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ripng 1 enable
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ripng 1 enable
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ripng 1 enable
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ripng 1 enable
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ripng 1 enable
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ripng 1 enable
3.2.5.3 检查RIPng的路由表¶
1、配置完成后,查看每台路由器RIPng的路由表,观察到各个路由器都获取了相应的RIPng路由信息。
[R1]display ipv6 routing-table
Routing Table : Public
Destinations : 8 Routes : 8
Destination : ::1 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : InLoopBack0 Flags : D
Destination : 2001:: PrefixLength : 64
NextHop : 2001::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 2001::1 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 2002:: PrefixLength : 64
NextHop : 2002::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 2002::1 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE10:4E10 Preference : 100
Cost : 1 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE3E:6F47 Preference : 100
Cost : 1 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : FE80:: PrefixLength : 10
NextHop : :: Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : NULL0 Flags : D
[R2]dis ipv6 routing-table
Routing Table : Public
Destinations : 8 Routes : 8
Destination : ::1 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : InLoopBack0 Flags : D
Destination : 2001:: PrefixLength : 64
NextHop : 2001::2 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 2001::2 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 2002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE4B:2D1D Preference : 100
Cost : 1 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : 3001::E Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3001::E PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE4B:2D1D Preference : 100
Cost : 2 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : FE80:: PrefixLength : 10
NextHop : :: Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : NULL0 Flags : D
[R3]dis ipv6 routing-table
Routing Table : Public
Destinations : 8 Routes : 8
Destination : ::1 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : InLoopBack0 Flags : D
Destination : 2001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE4B:2D1E Preference : 100
Cost : 1 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 2002:: PrefixLength : 64
NextHop : 2002::2 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 2002::2 PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE4B:2D1E Preference : 100
Cost : 2 Protocol : RIPng
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : 3002::E Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3002::E PrefixLength : 128
NextHop : ::1 Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : FE80:: PrefixLength : 10
NextHop : :: Preference : 0
Cost : 0 Protocol : Direct
RelayNextHop : :: TunnelID : 0x0
Interface : NULL0 Flags : D
2、在R1、R2、R3路由器上使用dis ripng 1 route命令查看RIPng1的路由信息,观察到每台路由器获取到的RIPng路由信息。
[R1]dis ripng 1 route
Route Flags: R - RIPng
A - Aging, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::2E0:FCFF:FE3E:6F47 on GigabitEthernet0/0/1
Dest 3002::/64,
via FE80::2E0:FCFF:FE3E:6F47, cost 1, tag 0, RA, 29 Sec
Peer FE80::2E0:FCFF:FE10:4E10 on GigabitEthernet0/0/0
Dest 3001::/64,
via FE80::2E0:FCFF:FE10:4E10, cost 1, tag 0, RA, 14 Sec
[R2]dis ripng 1 route
Route Flags: R - RIPng
A - Aging, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::2E0:FCFF:FE4B:2D1D on GigabitEthernet0/0/0
Dest 2002::/64,
via FE80::2E0:FCFF:FE4B:2D1D, cost 1, tag 0, RA, 17 Sec
Dest 3002::/64,
via FE80::2E0:FCFF:FE4B:2D1D, cost 2, tag 0, RA, 18 Sec
[R3]dis ripng 1 route
Route Flags: R - RIPng
A - Aging, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::2E0:FCFF:FE4B:2D1E on GigabitEthernet0/0/1
Dest 2001::/64,
via FE80::2E0:FCFF:FE4B:2D1E, cost 1, tag 0, RA, 12 Sec
Dest 3001::/64,
via FE80::2E0:FCFF:FE4B:2D1E, cost 2, tag 0, RA, 12 Sec
3、在PC-1测试与PC-2间的连通性。观察到通信正常,RIPng协议已经使全网互通。
PC-1>ping 3002::1
Ping 3002::1: 32 data bytes, Press Ctrl_C to break
From 3002::1: bytes=32 seq=1 hop limit=252 time=141 ms
From 3002::1: bytes=32 seq=2 hop limit=252 time=109 ms
From 3002::1: bytes=32 seq=3 hop limit=252 time=94 ms
From 3002::1: bytes=32 seq=4 hop limit=252 time=63 ms
From 3002::1: bytes=32 seq=5 hop limit=252 time=94 ms
--- 3002::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 63/100/141 ms
3.3 思考¶
RIPng支持认证吗?为什么? 答:RIPng自身不提供认证功能,而是通过IPv6提供的安全机制来保证自身报文的合法性。
四、OSPFv3基础配置¶
4.1 原理概述¶
OSPF针对IPv4协议使用的是Version2,针对IPv6协议使用的是version3,即OSPFv3。OSPFv3在OSPFv2基础上进行了增强,是一种运行在IPv6网络之上的路由协议。 OSPFv2是基于IPv4子网运行的,同一链路上的所有节点同处于一个IPv4子网或网络内,邻居关系建立的前提之一是相连接口必须处于同一IPv4子网内,每一条路由的下一跳地址都是和路由器接口处于同一网段的IPv4地址。OSPFv3是基于链路运行的,同一链路上的两个节点不必具有相同的前缀也可以直接通信,这一点极大地改变了OSPF的行为,使它独立于网络协议,容易扩展适应各种协议。 OSPFv3的Router-ID、Area ID仍然保留类似IPv4地址长度的32bit的格式。实际上这些字段既不是IPv4地址,也不是IPv6地址,而只是一个编号。 另外在OSPFv2中,对于Broadcast和NBMA网络类型,邻居路由器是以IP地址作为标识的。而在OSPFv3中,邻居路由器总是以Router-ID作为标识的,所有DR和BDR总是用其Router-ID作为标识的。 OSPFv3不再直接提供验证功能,转而依赖IPv6所提供的IP AH(Authentication Header)和IP ESP(Encapsulating Security Payload)协议进行验证,以确保路由信息的可信性、完整性和机密性。
4.2 OSPFv3基础配置实验¶
4.2.1 实验目的¶
1、理解OSPFv3的应用场景 2、掌握OSPFv3的配置 3、理解OSPFv3配置与OSPFv2配置的区别 4、理解OSPFv3基于链路运行的特点
4.2.2 实验内容¶
公司内部网络是个中型的IPv6网络,R1和R2是公司两台核心路由器,R3为IT部门路由器,与核心层路由器R1直连。R4为人事部门路由器,与核心层路由器R2直连。为了使公司内网所有部门网络能相互通信,需要在此网络中配置支持IPv6的动态路由协议。考虑到公司网络较大以及网络的扩展,部署OSPFv3。核心层路由器之间的区域0,整个IT部门在区域1中,人事部在区域2中。
4.2.3 实验拓扑¶

4.2.4 实验编址¶
| 设备 | 接口 | IPv6地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| R1(AR1220) | GE0/0/0 | 2001::1 | 64 | N/A |
| R1(AR1220) | GE0/0/1 | 2002::1 | 64 | N/A |
| R2(AR1220) | GE0/0/0 | 2001::2 | 64 | N/A |
| R2(AR1220) | GE0/0/1 | 2003::2 | 64 | N/A |
| R3(AR1220) | GE0/0/0 | 3001::E | 64 | N/A |
| R3(AR1220) | GE0/0/1 | 2002::3 | 64 | N/A |
| R4(AR1220) | GE0/0/0 | 3002::E | 64 | N/A |
| R4(AR1220) | GE0/0/1 | 2003::4 | 64 | N/A |
| PC-1 | E0/0/1 | 3001::1 | 64 | 3001::E |
| PC-2 | E0/0/1 | 3002::1 | 64 | 3002::E |
| ### 4.2.5 实验步骤 | ||||
| #### 4.2.5.1 基本配置 | ||||
| 在每台设备上开启IPv6功能,根据实验编址表进行相应的基本IPv6地址配置,并使用Ping命令检测各直连链路的连通性。 | ||||
| #### 4.2.5.2 搭建OSPFv3网络 | ||||
| 1、在各路由器上创建OSPFv3进程1,并在OSPFv3进程中配置每台路由器的OSPF Router-ID。R1、R2、R3、R4的Router-ID分别为1.1.1.1、2.2.2.2、3.3.3.3、4.4.4.4。 |
[R1]ospfv3 1
[R1-ospfv3-1]router-id 1.1.1.1
[R2]ospfv3 1
[R2-ospfv3-1]router-id 2.2.2.2
[R3]ospfv3 1
[R3-ospfv3-1]router-id 3.3.3.3
[R4]ospfv3 1
[R4-ospfv3-1]router-id 4.4.4.4
注意:如果不配置Router-ID,OSPFv3的邻居就无法建立。因为在OSPFv3中,路由器是以Router-ID作为标识的,而不是用接口地址来标识。 2、在接口下配置OSPFv3,IT部门属于区域1,HR部门属于区域2,区域1和区域2通过区域0相连。
[R1]int g00/0/0
[R1-GigabitEthernet0/0/0]ospfv3 1 area 0
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ospfv3 1 area 1
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ospfv3 1 area 0
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ospfv3 1 area 2
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ospfv3 1 area 1
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ospfv3 1 area 1
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospfv3 1 area 2
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ospfv3 1 area 2
3、配置完成后,使用dis ospfv3 peer命令查看路由器上的OSPFv3的邻居状态,观察到,所有路由器都成功建立起了OSPFv3邻居。
[R1]dis ospfv3 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/Backup 00:00:40 GE0/0/0 0
OSPFv3 Area (0.0.0.1)
Neighbor ID Pri State Dead Time Interface Instance ID
3.3.3.3 1 Full/Backup 00:00:33 GE0/0/1
[R2]dis ospfv3 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/DR 00:00:30 GE0/0/0 0
OSPFv3 Area (0.0.0.2)
Neighbor ID Pri State Dead Time Interface Instance ID
4.4.4.4 1 Full/Backup 00:00:35 GE0/0/1
[R3]dis ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.1)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DR 00:00:30 GE0/0/1 0
[R4]dis ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.2)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/DR 00:00:30 GE0/0/1 0
4、查看每台路由器的IPv6路由表。观察到,各个路由器之间相互接收到了添加进OSPFv3进程接口所在网段的路由条目。
[R1]dis ipv6 routing-table protocol ospfv3
Public Routing Table : OSPFv3
Summary Count : 5
OSPFv3 Routing Table's Status : < Active >
Summary Count : 3
Destination : 2003:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEF7:68C7 Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEC4:466C Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEF7:68C7 Preference : 10
Cost : 3 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
OSPFv3 Routing Table's Status : < Inactive >
Summary Count : 2
Destination : 2001:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags :
Destination : 2002:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags :
[R2]dis ipv6 routing-table protocol ospfv3
Public Routing Table : OSPFv3
Summary Count : 5
OSPFv3 Routing Table's Status : < Active >
Summary Count : 3
Destination : 2002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE04:3B1E Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE04:3B1E Preference : 10
Cost : 3 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE20:7257 Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
OSPFv3 Routing Table's Status : < Inactive >
Summary Count : 2
Destination : 2001:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags :
Destination : 2003:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags :
[R3]dis ipv6 routing-table protocol ospfv3
Public Routing Table : OSPFv3
Summary Count : 5
OSPFv3 Routing Table's Status : < Active >
Summary Count : 3
Destination : 2001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE04:3B1F Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 2003:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE04:3B1F Preference : 10
Cost : 3 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FE04:3B1F Preference : 10
Cost : 4 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
OSPFv3 Routing Table's Status : < Inactive >
Summary Count : 2
Destination : 2002:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags :
Destination : 3001:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags :
[R4]dis ipv6 routing-table protocol ospfv3
Public Routing Table : OSPFv3
Summary Count : 5
OSPFv3 Routing Table's Status : < Active >
Summary Count : 3
Destination : 2001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEF7:68C8 Preference : 10
Cost : 2 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 2002:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEF7:68C8 Preference : 10
Cost : 3 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
Destination : 3001:: PrefixLength : 64
NextHop : FE80::2E0:FCFF:FEF7:68C8 Preference : 10
Cost : 4 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags : D
OSPFv3 Routing Table's Status : < Inactive >
Summary Count : 2
Destination : 2003:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/1 Flags :
Destination : 3002:: PrefixLength : 64
NextHop : :: Preference : 10
Cost : 1 Protocol : OSPFv3
RelayNextHop : :: TunnelID : 0x0
Interface : GigabitEthernet0/0/0 Flags :
5、测试PC-1与PC-2的连通性。此时主机PC-1和PC-2可以通过OSPFv3路由协议进行通信。
PC-1>ping 3002::1
Ping 3002::1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 3002::1: bytes=32 seq=2 hop limit=251 time=125 ms
From 3002::1: bytes=32 seq=3 hop limit=251 time=78 ms
From 3002::1: bytes=32 seq=4 hop limit=251 time=109 ms
From 3002::1: bytes=32 seq=5 hop limit=251 time=93 ms
--- 3002::1 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/101/125 ms
4.2.5.3 验证OSPFv3建立邻居的特性¶
1、在R1的GE0/0/0接口下删除之前配置的IPv6地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo ipv6 address
2、配置完成后,在R1上使用display ospfv3 peer命令查看邻居关系。观察到R1已经没有与R2的邻居关系。
[R1]dis ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.1)
Neighbor ID Pri State Dead Time Interface Instance ID
3.3.3.3 1 Full/Backup 00:00:35 GE0/0/1 0
3、在R1的GE0/0/0接口上配置与R2直连接口所在IPv6网段不同前缀的IPv6地址2009::1/64。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 address 2009::1 64
4、配置完成后,在R1上使用dis ospfv3 peer命令查看邻居关系。观察到R1和R2仍然能够建立邻居关系,这是因为OSPFv3的邻居关系是通过Link-Loacl地址来实现的,即链路上两端的IPv6地址即使拥有不同的前缀也可以建立起邻居关系,而OSPFv2在同一链路上必须要使用相同网段的IPv4地址才能建立邻居关系。
[R1]dis ospfv3 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:38 GE0/0/0 0
OSPFv3 Area (0.0.0.1)
Neighbor ID Pri State Dead Time Interface Instance ID
3.3.3.3 1 Full/Backup 00:00:31 GE0/0/1 0
4.3 思考¶
在本实验中,OSPFv3协议修改了全球单播地址,邻居关系未受影响,请问各网络间的通信是否正常?从此处能够得到什么启示? 答:可以正常通信,OSPFv3协议基于链路运行,与具体的IPv6地址、前缀分离开,即使同一链路上的不同节点具有不同网段的IPv6地址时,协议也可正常运行。