本节书摘来自异步社区《IPv6精髓(第2版)》一书中的第3章,第3.6节,作者: 【美】Silvia Hagen 更多章节内容可以访问云栖社区“异步社区”公众号查看。
3.6 全局单播地址
全局单播地址由二进制前缀001来标识(如表3-2所示),RFC 4291定义了全局单播地址的格式(如图3-1所示)。
![aafdadef388ee20212320e16ddcf6ebee122d548](https://i-blog.csdnimg.cn/blog_migrate/55311240b38bbdb24ee56e890aef6149.png)
全局路由前缀(global routing prefix)用于标识分配给站点的地址空间。该部分地址由国际地址注册服务机构或ISP(Internet Service Provider,Internet服务提供商)分配,采取的是分层结构。子网ID(subnet ID)用于标识站点内的链路,可以为一条链路分配多个子网ID,站点的本地管理员负责分配该部分地址。接口ID(interface ID)用于表示子网上的接口,必须在该子网内唯一。
某些文档中可能会包含术语TLA(Top-Level Aggregation identifier,顶级聚合标识符)、NLA(Next-Level Aggregation identifier,次级聚合标识符)以及SLA(Site-Level Aggregation identifier,站点级聚合标识符)。这些术语源于RFC 2374,目前已被废止。现在使用的地址格式更加简单,层次化分配的灵活性更好。
**
3.6.1 国际注册服务和当前的地址分配**
目前国际上的IPv6地址分配已经委托给多家地区性注册服务机构。
ARIN(American Registry for Internet Numbers,美国Internet号码注册中心):美国、加拿大以及部分加勒比海地区和南极洲。
RIPE NCC(Réseaux IP Européens Network Coordination Centre,欧洲IP资源网络协调中心):欧洲、中东和中亚。
APNIC(Asia-Pacific Network Information Centre,亚太地区网络信息中心):亚洲、澳大利亚、新西兰以及相邻国家。
LACNIC(Latin America and Caribbean Network Information Centre,拉美及加勒比海地区网络信息中心):中美洲、南美洲以及加勒比海大部分地区。
AfriNIC(African Network Information Centre,非洲网络信息中心):2005年开始投入运营,面向非洲。
这些注册机构都在各自的官方网站上公布了各自的地址分配问题、当前实践以及相应的申请流程等信息。
目前已经分配的地址情况见表3-3。
提示
>http://www.iana.org/ipaddress/ip-addresses.html是全球IP地址服务、当前已分配的IPv4地址和IPv6地址以及如何申请IPv6地址服务的窗口。
分配给6Bone使用的地址空间3FFE已于2006年6月到期,并被回收到未分配地址池中。这样做的目的是在地址分配尚未标准化的情况下为全球IPv6测试工作提供服务,因此6Bone主机将迁至官方IPv6地址空间。
组织机构和终端用户可以从各自的ISP获取地址,ISP则可以通过以下网站了解本地注册机构的情况。
ARIN注册服务
http://www.arin.net/registration/ipv6/index.html
RIPE-NCC注册服务
http://www.ripe.net/rs/index.html
APNIC注册服务
http://www.apnic.net/services/ipv6_guide.html
LACNIC注册服务
http://www.lacnic.net/en/bt-IPv6.html
AFRINIC注册服务
http://www.afrinic.net/registrationServices.htm
地址分配工作一直都在进行当中,通过网站http://www.arin.net可以了解当前最新的地址分配状况、澄清以及当前实践等信息。也可以通过信息性RFC 3177“IAB/IESG Recommendations on IPv6 Address Allocations to Sites”获取将来如何进一步划分地址空间的建议信息。
3.6.2 前缀
RFC 3177定义的主要地址分配规则如下:
家庭网络用户应该获得/48前缀;
小型和大型企业应该获得/48前缀;
超大型用户可以获得/47前缀或多个/48前缀;
移动网络(如具有额外网络接口[如蓝牙或802.11b]的汽车或移动电话)应该获得静态的/64前缀,以允许多台设备通过一个子网联网;
无需划分子网的单台PC(如从酒店房间拨号上网)可以为其PPP型会话获得/128 IPv6地址(作为/64前缀的一部分);
如果知道有且仅有一个子网时可以分配/64前缀;
如果确切知道有且仅有一台设备需要联网时可以分配/128前缀。
下面列出了建议坚持使用/48前缀的理由。
如果所有提供商都使用/48前缀边界,那么更换ISP将非常容易,否则企业更换ISP时可能需要重新规划子网。
对站点进行重新编址的过程(在某段时间内可能出现旧地址前缀与新地址前缀并行使用的场合)相对比较简单。
目前正在讨论之中的IPv6多归属(multihoming)解决方案有很多种。多归属指的是单台主机同时连接到多个网络。无论采取哪种方式,只要子网边界相同,复杂性都会大大降低。
站点通过单一DNS反向查找区域即可管理所有前缀。
对于最初使用6to4过渡机制的站点来说,过渡到正式的IPv6地址空间会相对容易一些,因为6to4前缀也是/48前缀。
因而站点通常都能获得/48前缀,其中的16比特用于划分子网,能划分65 535个子网。在特殊场合下,超大型企业也能获得更短的前缀。
3.6.3 接口ID
前缀范围在001~111的地址都应该使用遵循EUI-64(Extended Unique Identifier,扩展的唯一标识符)格式的接口标识符(前缀为1111 1111的多播地址除外)。EUI-64是IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)定义的一种唯一的标识符,有关详细信息可以参考http://standards.ieee.org/regauth/ oui/tutorials/EUI64.html。RFC 4291的附录A解释了如何创建EUI-64标识符,细节信息可以参考各种特定链路的RFC,如“IPv6 over Ethernet”或“IPv6 over FDDI”。本书第7章及附录A分别给出了简要讨论和详细的RFC列表信息。
主机在自动配置阶段使用遵循EUI-64格式的标识符。例如,当主机Marvin在其以太网接口上通过MAC地址自动配置其链路本地地址时,必须通过48比特(6字节)的以太网MAC地址创建其64比特的接口ID。首先,在以太网MAC地址的第3字节和第4字节之间插入十六进制数字0xff-fe,然后反转MAC地址的U/L(Universally/Locally,全球/本地)比特。其中,U/L比特是0x00(第一个字节)的次低阶比特,0x00的次低阶比特是0,反转后为1,因而MAC地址的第一个字节就变成了0x02,从而与以太网MAC地址00-02-b3-1e-83-29相对应的IPv6接口ID就是02-02-b3-ff-fe-1e-83-29。这里仅描述了EUI-64的创建过程,地址自动配置过程还包含很多其他步骤。
节点的链路本地地址就是前缀fe80::/64加上64比特接口标识符(采取IPv6冒号-十六进制记法),因而前面示例节点的基于MAC地址的链路本地地址就是前缀fe80::/64加上接口ID02-02-b3-ff-fe-1e-83-29,即fe80::202:b3ff:fe1e:8329,该过程定义在RFC 2464“Transmission of IPv6 Packets over Ethernet Networks”中。
提示
有关IPv6自动配置过程的详细信息请参考第4章。
3.6.4 地址隐私问题
利用接口标识符自动配置IPv6地址的隐私是IETF关注的一个重要问题。如果使用MAC标识符构造IPv6地址,由于该标识符对接口来说是唯一的,因而Internet接入能够被追踪。这种顾虑的部分原因是误解。IPv6节点可以有基于接口标识符的地址,但这并不是必需的。作为可选替代方案,IPv6设备可以拥有类似于当前IPv4使用的地址(可以是静态和手工配置的地址,也可以是DHCP服务器动态分配的地址)。2001年初发布了RFC 3041“Privacy Extensions for Stateless Address Autoconfiguration in IPv6”,定义了一种新的仅用于IPv6的地址类型,该地址不再使用厂商分配的序列号,而是使用一个随机数,而且该地址还可以随时间而改变。对于IP通信过程的目标Internet设备(如Web服务器或FTP服务器)来说,需要唯一且稳定的IP地址,但是对于运行浏览器或FTP客户端的主机来说,则无需在每次连接Internet时都使用同一个地址。某些组织机构根据RFC 3041修改了DHCPv6服务器以生成随机的接口标识符,定期轮换这些接口标识符并维护地址分配情况的审计表。通过这种方式,组织机构就可以在利用DHCPv6管理地址空间的同时,防止任何人拓扑映射他们的网络或者追踪他们的节点。
在IPv6地址体系下,可以选择以下两类地址。
- 唯一稳定的IP地址
- 通过手工配置方式、DHCP 服务器方式或使用接口标识符的自动配置方式进行分配。
- 临时性的IP地址
- 使用随机数(代替接口标识符)进行分配。