【TCP/IP 笔记】IPv6 详解

参考 <The TCP/IP Guide> http://tcpipguide.com

IPv6

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 未分配
011 未分配
100 未分配
101 未分配
110 未分配
1110 未分配
1111 0 未分配
1111 10 未分配
1111 110 未分配
1111 1110 0 未分配
1111 1110 10 链路本地地址 (Link-Local Unicast Addresses)
1111 1110 11 站点本地地址 (Site-Local Unicast Addresses)
1111 1111 多播地址

IPv6 全球单播地址格式

在这里插入图片描述

字段名 长度 (bits) 描述
Prefix 48 Global Routing Prefix:含网络号用于路由,前三位为 001 表示为单播地址。
Subnet ID 16 Subnet Identifier:标识站点内部的子网。
Interface ID 64 Interface ID:一个接口的唯一标识。

IPv6 接口标识符与物理地址间的映射

从上面可以发现单播地址中最后 64bits 用作接口标识符,这么长的接口标识符当然不能随便浪费,因为几乎所有设备接口的物理地址长度都为 64bits 或更少,所以可以基于接口的物理地址来指定这个接口标识符,而不是用没有意义的数字作为接口标识符,这样做的好处有:使得网络更容易管理,我们不需要记录接口标识符和设备的对应关系,可以通过 MAC 地址得知 IP 地址,也可以通过 IP 地址得知其 MAC 地址。

从数据链路层地址到 IP 接口标识符的实际映射取决与特定的算法。当然,同一网络下所用的映射算法是相同的。

  • IEEE 802 MAC 地址:MAC 地址分为两部分,前 24bits 为制造商 ID,后 24bits 为底板 ID (装配时唯一指派给网络适配器)。
  • EUI-64:64-bit extended unique identifier。将 IEEE 802 MAC 地址从 24bits 扩充到 40bits。

从 EUI-64 地址映射到 IP 接口标识很简单,只要将 EUI-64 的第七位从 0 改成 1 即可。

从 IEEE 802 MAC 地址映射到 IP 接口标识要先转换成 EUI-64 再将第七位改为 1。怎么将 IEEE 802 MAC 地址改成 EUI-64 呢?在 IEEE 8

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值