IPv6地址分类
IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。
单播地址
IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以表示这个节点。发往单播地址的报文,由此地址标识的接口接收。
单播地址分为未指定地址、环回地址、链路本地地址、站点本地地址和全球单播地址。目前,站点本地地址被剔除,除了未指定地址、环回地址和链路本地地址以外的单播地址,都是全球单播地址。
未指定地址
未指定底子好是0:0:0:0:0:0:0:0,通常简写为::,常见的连个用途是:
(1)若主机启动时没有单播地址,则以未指定地址作为源地址,发送路由器请求,从网关获取前缀信息,从而自动生成单播地址。
(2)给主机配置IPv6地址时,检测地址是否和同网段其它主机的地址冲突,则以未指定地址作为源地址发送邻居请求(相当于免费ARP)。
环回地址
换回地址是::1,相当于IPv4地址127.0.0.1,一般在节点给自身发报文时使用。
链路本地地址
链路本地地址用于单个网络链路上给主机编号。前缀的前10位标识的地址即链路本地地址。设备永远不会转发源地址或者目的地址带有链路本地地址的报文。该地址的中间54位置成0。后64位标识接口标识符,地址空间的这部分允许单个网络连接多达(2的64次方减1)个主机。
链路本地地址格式:
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ipv6 enable
[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]
只显示链路本地地址
[Huawei]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE1E:64C0
No global unicast address configured
Joined group address(es):
FF02::1:FF1E:64C0
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
[Huawei]
站点本地地址
站点本地地址可以用在站点内传送数据,设备不会将源地址或者目的地址带有站点本地地址的报文转发到Internet上,即这样的包只能在站点内转发,而不能把包转发到站点外去。
站点可以理解为一个公司的局域网,这种地址类似于IPv4的私有地址,如192.168.0.0/16。RFC3879已经剔除了站点本地地址。对于新的视线,不再支持该前缀,统一视为全球单播地址;对于已经实现和部署的,可以继续用这个前缀。
站点本地地址的格式如下:
全球单播地址
全球单播地址中有一类地址是嵌入IPv4地址的IPv6地址,用于IPv4节点和IPv6节点互通,分为IPv4兼容IPv6地址和IPv4映射IPv6地址两种。
全球单播地址格式入下:
IPv4兼容IPv6地址格式(IPv4-compatible IPv6 Address)
IPv4映射IPv6地址格式(IPv4-mapped IPv6 address)
IPv4兼容IPv6地址主要是用在自动隧道上,这类节点既支持IPv4也支持IPv6,IPv4兼容IPv6地址通过IPv4设备以隧道方式传送IPv6报文,目前IPv4兼容IPv6地址已被废除。而IPv4映射IPv6地址被IPv6节点用于访问只支持IPv4的节点,例如当一个IPv4/IPv6追加的IPv6应用程序请求解析一个主机名字(该主机只支持IPv4)时,那么名字服务器内部将动态生成IPv4映射的IPv6底子好返回给IPv6应用程序。
IPv6地址配置
[Huawei]ipv6
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ipv6 enable
[Huawei-GigabitEthernet0/0/0]ipv6 address 2001:1:1::1 64 //配置全球单播地址
在接口下配置全球单播地址显示Global unicast address:2001:1:1::1,subnet is 2001:1:1::/64
[Huawei]display ipv6 interface GigabitEthernet 0/0/00
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE1E:64C0
Global unicast address(es):
2001:1:1::1, subnet is 2001:1:1::/64
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FF1E:64C0
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
[Huawei]
组播地址
IPv6底子组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址FF02::1标识链路本地范围的所有几点,组播地址FF02::2标识本地范围的所有路由器。
一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)字段以及组播组ID(Global ID)4个部分组成:
前缀:IPv6组播地址的前缀是FF00::/8。
标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。
范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围,该字段取值和含义的对应关系,如图所示。
组播组ID(Group ID):长度112bit,用来标识组播组。目前,RFC2373并没有将所有的112位都定义成组标识,而是仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址(RFC2464)。
在Joined Group Address(es):显示组播组地址FF02::2,FF02::1
[Huawei]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE1E:64C0
Global unicast address(es):
2000:1:1::1, subnet is 2000:1:1::/64
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FF1E:64C0
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
[Huawei]
被请求节点组播地址
被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。
IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。
Joined Group Address(es):显示FF02::1:FF1E:64C0为被请求节点组播地址
[Huawei]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE1E:64C0
Global unicast address(es):
2000:1:1::1, subnet is 2000:1:1::/64
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FF1E:64C0
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
[Huawei]
任播地址
任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。
任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功能。目前,任播地址的使用通过共享单播地址方式来完成。将一个单播地址分配给多个节点或者主机,这样在网络中如果存在多条该地址路由,当发送者发送以任播地址为目的IP的数据报文时,发送者无法控制哪台设备能够收到,这取决于整个网络中路由协议计算的结果。这种方式可以适用于一些无状态的应用,例如DNS等。
IPv6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间。目前IPv6中任播主要应用于移动IPv6。
IPv6任播地址仅可以被分配给路由设备,不能应用于主机。任播地址不能作为IPv6报文的源地址。
IPv6任播地址配置
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ipv6 enable
[Huawei-GigabitEthernet0/0/0]ipv6 address 2001:1::1 64 anycast
查看配置显示,Global unicast addres(es):2001:1::1,subnet is 2001:1::/64[ANY】表示该地址为任播地址
[Huawei]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE1E:64C0
Global unicast address(es):
2001:1::1, subnet is 2001:1::/64 [ANY]
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FF1E:64C0
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
[Huawei]