参考 <The TCP/IP Guide> http://tcpipguide.com
文章目录
IPv6 地址
IPv6 地址类型
- 单播地址 (Unicast Addresses):同 IPv4 中的单播地址,一个接口对应一个。
- 组播地址 (Multicast Addresses):用于表示一组 IP 设备的地址,一个发往组播地址的信息将发给它所代表的组中的所有设备。IPv6 中为组播提供更多的支持。
- 任播地址 (Anycast Addresses):将信息发送到一组设备中的任意一个,通常会发给这组设备中最近的一个。一个常见的用途:客户端有两个或多个服务器提供服务,而客户端不介意哪个服务器提供服务,重点是哪个服务器更容易提供服务,这时候就可以用任播。
在 IPv6 中广播被移除了。
IPv6 地址空间大小
IPv4 存在的一个很大的问题便是地址空间太小了,即使后来我们用了如 NAT 的方法去解决他,但用 NAT 也使得一些功能被限制了,不管用什么方法也是无法解决 IPv4 地址空间太小,而人们的需求日益增加的基本问题。最简单有效的方法就是在下一代中扩大地址空间。
用一个字来概括 IPv6 的地址空间就是大!非常大!
IPv4 的地址长度为 32bits,所以最多有 4,294,967,296 个地址,而 IPv6 的地址长度达到了惊人的 128bits,最多可以有 340,282,366,920,938,463,463,374,607,431,768,211,456 个地址!
IPv6 地址表示
128bits 的长度使得 IPv6 地址写起来很长,即使用十进制表示也很长,所以一般用十六进制来表示 IPv6 地址。
压缩书写
- Leading-Zero Suppressed:将全为 0 的用一个 0 表示。
- Zero-Compressed:将连续的 0 用双冒号 ( :: ) 代替,仅可出现一次,如果出现多次,我们就无法确定此处代替了多少个 0。
Mixed Notation 用于表示最后 32bits 为嵌入式 IPv4 地址的 IPv6 地址,前 96bits 用冒号六进制表示,后 32bits 用 IPv4 的点十进制表示。
IPv6 地址分配
IPv6 地址通过开始的若干 bits 来指示地址类型 (用于指示的位数称为 FP, format prefix),这和 IPv4 分类寻址中使用前 1~4 bits 来区分的方式很像,但 IPv6 中的 FP 范围为 3~10。
IPv6 地址分配计划:
开头 | 配给 |
---|---|
0000 0000 | 未分配(包括环回地址等) |
0000 0001 | 未分配 |
0000 001 | 为 NSAP 地址分配保留 |
0000 01 | 未分配 |
0000 1 | 未分配 |
0001 | 未分配 |
001 | 全球单播地址 |
010 |