IPv6 link local
了解IPv6 link local
IPv6地址结构及分类
IPv6 link local是IPv6单播地址类型的一种,所以在了解IPv6 link local地址前,先简单介绍下IPv6地址结构及IPv6地址分类。
一个IPv6地址可以分为两部分
- 网络前缀:n比特,相当于IPv4地址中的网络ID
- 接口标识:128-n比特,相当于IPv4地址中的主机ID
地址2001:A304:6101:1::E0:F726:4E58 /64的构成如图1所示。
IPv6主要有三种地址,单播地址、任意播地址和组播地址。
- 单播地址(Unicast):唯一标识一个接口,类似于IPv4的单播地址。发送到单播地址的数据包将被传输到此地址所标识的唯一接口。
单播地址还可以分为以下几种,如表1所示。
表1-1 IPv6单播地址类型地址类型
二进制前缀
IPv6前缀标识
链路本地单播地址(IPv6 link local)
1111111010
FE80::/10
唯一本地地址
1111110
FC00::/7
环回地址
00...1 (128 bits)
::1/128
未指定地址
00...0 (128 bits)
::/128
全球单播地址
其他
-
表中各类地址的意义如下:
链路本地单播地址:用于邻居发现协议和无状态自动配置进程中链路本地上节点之间的通信。使用链路本地地址作为源或目的地址的数据包不会被转发到其他链路上。使用链路本地前缀FE80::/10(1111 1110 10)和IEEE EUI-64格式的接口标识符(EUI-64可来源于EUI-48)可在以太接口对其进行自动配置。
唯一本地地址,仅用于同一个站点的地址。具有全球唯一的前缀,可以进行网络之间的私有连接,而不必担心地址冲突等问题。如果出现路由泄漏,不会造成Internet路由冲突。在应用中,上层应用程序将这些地址看作全球单播地址。
环回地址0:0:0:0:0:0:0:1或::1,不会被分配给任何接口。它的作用与在IPv4中的127.0.0.1相同,即节点将IPv6报文发送给自己。
未指定地址(::),不能被分配给任何节点,也不能作为目的地址。在主机初始化且没有取得自己的地址时,未指定地址可以用在IPv6报文的源地址字段,例如重复地址探测时,NS报文的源地址就是未指定地址。
全球单播地址等同于IPv4公网地址。用于可以聚合的链路,最后提供给网络服务提供商。这种地址类型的结构允许路由前缀的聚合,从而满足全球路由表项的数量限制。地址包括运营商管理的48位路由前缀和本地站点管理的16位子网ID,以及64位接口ID。如无特殊说明,全球单播地址包括站点本地单播地址。
- 任播地址(Anycast):用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据包被传输给此地址所标识的一组接口中距离源节点最近的一个接口(最“近”的一个,是指根据路由协议的距离度量)。
任播地址不局限于子网路由器任播地址,全球单播地址也可以配置为任播地址。
组播地址(Multicast):用来标识属于不同节点的一组接口,类似IPv4的组播地址。发送到组播地址的数据包被传输给此地址所标识的所有接口。
IPv6不包括广播地址,广播地址的功能均由组播地址来提供。
IPv6 link local的构成及生成方法
IPv6 link local的构成
从IPv6地址分类中可清晰的了解到IPv6 link local是IPv6单播地址类型的一种,常被称为链路本地地址或链路本地单播地址。IPv6 link local地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它由特定的本地链路前缀FE80::/10(最高10位值为1111111010)和IEEE EUI-64格式的接口标识符(EUI-64可来源于EUI-48)构成。
当一个节点启动IPv6协议后,通过配置IPV6全球单播地址或配置自动生成的链路本地地址时,节点的每个接口会自动配置一个IPv6 link local地址(其固定的前缀+EUI-64规则形成的接口标识)。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以IPv6 link local地址广泛应用于邻居发现,无状态地址配置等应用。以IPv6 link local地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。IPv6 link local地址的格式如图1。
IPv6 link local的生成方法
当在接口视图下使能IPV6协议时,可通过下面三种方式,为该接口配置link local地址:
- 接口配置IPv6全球单播地址后,自动生成Link Local地址。
- 接口配置ipv6 address auto Link-Local命令,自动生成Link Local地址。
- 接口使用ipv6 address Link-Local命令手动指定Link Local地址。
由于Link-Local地址生成规则不唯一,自动生成该类型地址可能会导致冲突,所以该类型地址根据协议定义允许自动生成、也允许用户手动配置。
直接承载在物理端口上的Link Local地址最多只能有一个。
配置IPv6 link local
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
- 请根据不同情况进行以下配置。
如果配置接口的自动链路本地地址,请执行命令ipv6 address auto link-local。
如果手动配置接口的链路本地地址,请执行命令ipv6 address ipv6-address link-local。
可以为接口配置多个IPv6地址,但是每个接口只能有一个链路本地地址。
执行命令commit,提交配置。
配置举例
组网需求
如图1所示,两台路由设备通过GigabitEthernet接口相连,给接口配置IPv6全球单播地址,验证链路本地地址的自动生成和互通性。
需要配置的全球单播地址为2001:db8::1/32和2001:db8::2/32。
配置思路
配置接口的IPv6地址思路如下:
使能路由设备的IPv6转发能力
配置接口的IPv6全球单播地址
操作步骤
- 配置接口的全球单播地址
# 配置DeviceA。
<HUAWEI> system-view [~HUAWEI] sysname DeviceA [*HUAWEI] commit [~DeviceA] interface GigabitEthernet 0/1/0 [~DeviceA-GigabitEthernet0/1/0] ipv6 enable [*DeviceA-GigabitEthernet0/1/0] ipv6 address 2001:db8::1 32 [*DeviceA-GigabitEthernet0/1/0] undo shutdown [*DeviceA-GigabitEthernet0/1/0] commit [~DeviceA-GigabitEthernet0/1/0] quit
# 配置DeviceB。
<HUAWEI> system-view [~HUAWEI] sysname DeviceB [*HUAWEI] commit [~DeviceB] interface GigabitEthernet 0/1/0 [~DeviceB-GigabitEthernet0/1/0] ipv6 enable [*DeviceB-GigabitEthernet0/1/0] ipv6 address 2001:db8::2 32 [*DeviceB-GigabitEthernet0/1/0] undo shutdown [*DeviceB-GigabitEthernet0/1/0] commit [~DeviceB-GigabitEthernet0/1/0] quit
- 验证配置结果,如果配置成功,可以查看配置的全球单播地址,以及接口状态为Up,IPv6协议状态为Up。
# 显示DeviceA的接口信息。
[~DeviceA] display ipv6 interface GigabitEthernet 0/1/0 GigabitEthernet0/1/0 current state : UP IPv6 protocol current state : UP link-local address is FE80::C964:0:B8B6:1 Global unicast address(es): 2001:db8::1, subnet is 2001:db8::/32 Joined group address(es): FF02::1:FF00:1 FF02::1:FFB6:1 FF02::2 FF02::1 MTU is 4470 bytes ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 1200000 milliseconds ND retransmit interval is 1000 milliseconds Hosts use stateless autoconfig for addresses
# 显示DeviceB的接口信息。
[~DeviceB] display ipv6 interface GigabitEthernet 0/1/0 GigabitEthernet0/1/0 current state : UP IPv6 protocol current state : UP link-local address is FE80::2D6F:0:7AF3:1 Global unicast address(es): 2001:db8::2, subnet is 2001:db8::/32 Joined group address(es): FF02::1:FF00:2 FF02::1:FFF3:1 FF02::2 FF02::1 MTU is 4470 bytes ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 1200000 milliseconds ND retransmit interval is 1000 milliseconds Hosts use stateless autoconfig for addresses
# 从路由设备DeviceA上Ping路由设备DeviceB的链路本地地址,注意需要使用-i参数,来指定链路本地地址的接口。
[~DeviceA] ping ipv6 fe80::2d6f:0:7af3:1 -i GigabitEthernet 0/1/0 PING FE80::2D6F:0:7AF3:1 : 56 data bytes, press CTRL_C to break Reply from FE80::2D6F:0:7AF3:1 bytes=56 Sequence=1 hop limit=64 time = 60 ms Reply from FE80::2D6F:0:7AF3:1 bytes=56 Sequence=2 hop limit=64 time = 50 ms Reply from FE80::2D6F:0:7AF3:1 bytes=56 Sequence=3 hop limit=64 time = 50 ms Reply from FE80::2D6F:0:7AF3:1 bytes=56 Sequence=4 hop limit=64 time = 30 ms Reply from FE80::2D6F:0:7AF3:1 bytes=56 Sequence=5 hop limit=64 time = 1 ms --- FE80::2D6F:0:7AF3:1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 1/38/60 ms
# 从路由设备DeviceA上Ping路由设备DeviceB的全球单播IPv6地址。
[~DeviceA] ping ipv6 2001:db8::2 PING 2001:db8::2 : 56 data bytes, press CTRL_C to break Reply from 2001:db8::2 bytes=56 Sequence=1 hop limit=64 time = 30 ms Reply from 2001:db8::2 bytes=56 Sequence=2 hop limit=64 time = 50 ms Reply from 2001:db8::2 bytes=56 Sequence=3 hop limit=64 time = 50 ms Reply from 2001:db8::2 bytes=56 Sequence=4 hop limit=64 time = 20 ms Reply from 2001:db8::2 bytes=56 Sequence=5 hop limit=64 time = 40 ms --- 2001:db8::2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 20/38/50 ms
配置文件
- DeviceA配置文件
#
sysname DeviceA
#
admin
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8::1/32
#
return
- DeviceB配置文件
#
sysname DeviceB
#
admin
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8::2/32
#
return