本章要点:
- IPv6地址空间
- IPv6地址结构
- 单播地址
5.1 IPv6地址类型
5.1.1 三种IPv6地址
-
单播(Unicast)地址;
-
任播(Anycast)地址;
-
多播(Multicast)地址。
5.2 1 IPv6地址空间
表4-1列出了IANA已分配的IPv6地址空间,并用黑体标识了已分配的全局单播地址、唯一本地单播地址、链路本地单播地址以及多播地址。
5.2 单播地址
单播地址能够唯一地标识IPv6设备上的接口。发送到单播地址的数据包会被分配了该地址的接口接收到。与IPv4相似,源IPv6地址必须是单播地址。
5.2.1 单播地址包括内容
单播地址,包括:
-
全局单播地址(Global unicast):是IPv6互联网上可路由的地址,与IPv4公有地址相似。
-
链路本地地址(Link-local ):仅被用来与同一本地链路上的设备进行通信。
-
环回地址(Loopback):不能将该地址分配给任何物理接口,主机可以利用此地址向自己发送IPv6数据包。
-
未指定地址(Unspecified address ):仅被用做源地址,表示无IPv6地址。
-
唯一本地地址(Unique local ):与IPv4私有地址(RFC 1918)相似,这些地址不能在IPv6互联网上进行路由。但是与RFC 1918地址不同的是,唯一本地地址的前缀极有可能是全局唯一的。
-
内嵌IPv4的地址(IPv4 embedded ):在低阶32比特中内嵌IPv4地址的一个IPv6地址。
5.2.2 全局单播地址的结构
1.全局单播地址的一般结构:
2.可聚合模型
5.2.3 全局单播地址的范围
- 作为IANA的运营方,ICANN ( Internet Corporation for Assigned Names and Numbers,互联网名称与编号分配机构)向5大RIR分配IPv6地址块。
- 回顾图4-2可以看出,目前IANA将全局单播地址的分配范围局限在2000::/3范围内。
1.接口的地址
- 全局单播地址是配置在接口上的。一个接口可以配置多个全局单播地址,这些地址可以位于同一个子网或不同子网中。
- 接口并不一定要配置全局单播地址,但至少必须要配置一个链路本地地址。也就是说,如果接口有全局单播地址,就必须有链路本地地址。但是,如果接口有链路本地地址,并不一定要有全局单播地址。
端口命令:ipv6 enable
- 与IPv4相似,可以采取手工方式或动态方式为设备(准确来说应该是接口)分配全局单播地址。
2.手工配置全局单播地址
手工配置全局单播地址时存在多个选项:
-
静态:静态配置类似于配置静态IPv4地址,需要在接口上配置IPv6地址与前缀长度。
-
EUI-64:该配置方式允许指定前缀与前缀长度,而以动态方式创建接口ID。
-
无编号IP (IP unnumbered ):IPv6的无编号IP与IPv4相似,允许接口使用同一台设备上其他接口的IP地址。
5.2.4 EUI-64配置方式
1.EUI-64 或改进型EUI-64:
手工方式配置IPv6地址的前缀(网络部分) ,利用EUI-64进程自动分配接口ID。而改进型EUI-64则使用接口的以太网MAC地址来生成64比特接口ID(地址的主机部分)。结合手工配置的前缀,就可以为接口生成一个全局单播地址。
- 改进型EUI-64格式
U/L( Universally/L,ocally全球/本地)
0:全局,
1:本地。
以改进型EUI-64格式配置IPv6地址的相关命令:
Router(config一if)#ipv6 address ipv6-prefix/prefix-length eui-64
R2(config)#int f0/0
R2(config-if)#ipv6 add 2001:db8:aaaa:1::/64 eui-64
R2#show ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::CE02:2EFF:FE54:0
Global unicast address(es):
2001:DB8:AAAA:1:CE02:2EFF:FE54:0, subnet is 2001:DB8:AAAA:1::/64 [EUI]
R2#show int f0/0
FastEthernet0/0 is up, line protocol is up
Hardware is AmdFE, address is cc02.2e54.0000 (bia cc02.2e54.0000)
5.2.5 无编号IPv6配置方式
- 另一种手工配置IPv6全局单播地址的形式是命令ipv6 unnumbered。命令ipv6 unnumbered通过为接口分配一个来自其他接口的全局单播地址来启动该接口的IPv6 处理能力。
- 配置示例:
注:IPv4中的命令知unnumbered主要用来帮助节约IPv4地址空间,很明显,对于IPv6网络来说,地址空间完全不足问题,因而该命令的作用显得更加有限。
5.2.6 动态配置
全局单播地址还可以采用动态方式进行分配,而无需任何手工配置。动态配置全局单播地址的方法有以下3种。
**SLAAC:**利用该配置方法时,前缀和前缀长度是通过ND路由器宣告(Router Advertisement)消息来确定的,而接口ID则是通过EUI-64进程创建的。
SLAAC+无状态DHCPv6:
有状态DHCPv6:
1.SLAAC(Stateless Address Autoconfiguration)
-
DHCP支持无状态(stateless)和状态化(stateful)服务。状态化服务会记录客户端数据(状态),而无状态服务则不保留任何状态信息。有状态DHCP服务器必须维护精确的可用地址列表,因而不会发布重复地址。
-
SLAAC属于无状态服务,主机在创建了自己的唯一地址之后,需要验证该地址的唯一性。
-
ICMPv6不仅仅是IPv6版本的ICMP,包含了许多新功能并做了大量改善。
-
ND(Neighbor Discovery )利用ICMPv6来交换报文消息,5种新的ICMPv6消息分别为:
-
RA ( Router Advertisement,路由器宣告)消息;
-
RS C Router Solicitation,路由器请求)消息;
-
NS (Neighbor Solicitation,邻居请求)消息;
-
NA ( Neighbor Advertisement,邻居宣告)消息; 重定向消息。
SLAAC示例:
PC1后64位接口ID使用EUI-64生成。
-
DHCP支持无状态(stateless)和状态化(stateful)服务。状态化服务会记录客户端数据(状态),而无状态服务则不保留任何状态信息。有状态DHCP服务器必须维护精确的可用地址列表,因而不会发布重复地址。顾名思义,SLAAC属于无状态服务,在没有状态化DHCPv6服务器提供服务的情况下,主机在创建了自己的唯一地址之后,需要验证该地址的唯一性。
-
被配置为自动获取编址信息的主机究竟是使用SLAAC还是DHCPv6,取决于路由器RA消息中的配置信息。RA消息可以被配置为指定链路上的设备使用状态化DHCPv6自动配置,而不是无状态自动配置。
-
RA消息中有一个被称为被管地址配置标记(managed address configuration flag)或M标记(M flag)的1比特字段。 M标记为0时,表示该设备使用SLAAC。 M标记为1时,表示该设备使用DHCPv6
-
在没有DHCPv6服务器的情况下,设备就能动态确定自己的全局单播地址,这是IPv6的一个重要优势。对于物联网来说,网络摄像头和传感器等IPv6设备完全可以在开机后从路由器以及EUI-64进程获得其全部编址信息。
2.DHCPv6
DHCPv6类似于IPv4的DHCP, DHCPv6可以为IPv6设备提供状态化自动配置和无状态自动配置能力。设备被配置为自动获得其IPv6编址信息后,将会使用以下方法:
- 使用RA消息的无状态编址;
- 使用DHCPv6的状态化编址。
5.3 子网划分
- 一个典型的IPv6站点通常会拥有提供商(如ISP)分配的/48前缀,从而会创建16比特子网ID,能够创建65536个子网。全0和全1子网都是有效子网,剩余的64比特都是接口ID。
- 这使得RIR和ISP能够更灵活地为用户分配IP地址,从而极大地提高了有限的IPv6地址空间的分配效率。
5.3.1 扩展子网前缀:
IPv6的子网划分并不局限于16比特子网ID,可以选择任意数量的子网比特作为子网ID。像IPv4一样,如果希望增加子网数量或者减少每个子网中的主机数量,就必须从接口ID借位。但是任何包含端系统的网段都应该保/64前缀,因为/64前缀长度是支持无状态地址自动分配的前提。
5.3.2 在半字节边界划分子网:
如果需要扩展子网ID(也就是说从接口ID借位),那么最佳做法就是在半字节边界划分子网,半字节是4比特,子网划分依然非常直观。
在半字节内划分子网:对绝大多数客户网络来说,都不推荐在半字节内划分子网,因为这么做不但没什么好处,而且还会增加子网划分的实施难度与故障排查的难度。
【学习资料】
【01学习笔记】
- 《IPv6技术精要(第二版)》导读
- IPv6技术精要–第1章 IPv6简介
- IPv6技术精要–第2章 入门
- IPv6技术精要–第3章 对比IPv4和IPv6
- IPv6技术精要–第4章 IPv6地址表示方法
- IPv6技术精要–第5章 IPv6公网单播地址
- IPv6技术精要–第6章 IPv6本地链路单播地址
- Pv6 技术精要–第7章 IPv6多播地址
- IPv6技术精要–第8章 IPv6动态地址分配原理
- IPv6技术精要–第9章 无状态地址自动配置SLACC
- IPv6技术精要–第10章 无状态DHCPv6
- IPv6技术精要–第11章 有状态DHCPv6
- IPv6技术精要–第12-13章 ICMPv6和邻居发现协议(ND协议)
- IPv6技术精要–第14-16章 IPv6路由选择
- IPv6技术精要–第17章双栈和隧道
【02课程实验】
- IPv6实验一:VMware:主机使用IPv6地址ping通本地虚拟机
- IPv6实验二:子网划分及静态地址配置(思科GNS3)
- IPv6实验三:三种IPv6动态地址分配方法(含无状态SLAAC、有状态DHCPv6、两者结合)
- IPv6实验四:IPv6路由选择协议配置
- IPv6实验五:IPv4到IPv6的过渡