Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66093
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-10 16:37
文章分类
文章存档

2016年(6)

2015年(23)

2014年(4)

我的朋友

分类: 系统运维

2015-01-05 15:03:32

原文地址:IPv6地址的自动配置 作者:frankzfz

   在IPv6网络中,主机可以通过ND-RA协议来获得一个全球单播的IPv6地址。首先可以看下面的几个关键的概念.

无状态自动配置将通过无状态自动配置获取IPv6地址,即根据自己的链路层地址及路由器发布的前缀信息生成IPv6地址。

EUI-64 地址的接口标识

    64 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。

IEEE 802 地址

    用于网络适配器的传统接口标识可使用称为 IEEE 802 地址的 48 位地址。此地址由 24 位公司 ID(也称为制造商 ID)和 24 位扩展 ID(也称为底板 ID)组成。公司 ID(唯一指派给每个网络适配器的制造商)和底板 ID(在装配时唯一指派给每个网络适配器)的组合,即可生成全局唯一的 48 位地址。这个 48 位地址也称为物理地址、硬件地址或媒体访问控制 (MAC) 地址。

IEEE 802 地址中的已定义位如下:

  • 全局/本地 (U/L)
    U/L
    位是第一个字节的第七位,用于确定该地址是全局管理的还是本地管理的。如果将 U/L 位设置为 0,那么通过分配唯一的公司 IDIEEE 已对地址进行了管理。如果 U/L 位被设置为 1,则地址是本地管理的。网络管理员已覆盖制造地址,并指定其他地址。
  • 个人/ (I/G)
    I/G
    位是第一个字节的最低位,用来确定地址是个人地址(单播)还是组地址(多播)。设置为 0 时,地址是单播地址。设置为 1 时,地址是多播地址。

   对于典型的 802.x 网络适配器地址,U/L I/G 位均设置为 0,对应于全局管理的单播 MAC 地址。

IEEE EUI-64 地址

IEEE EUI-64 地址代表网络接口寻址的新标准。公司 ID 仍然是 24 位长度,但扩展 ID 40 位,从而为网络适配器制造商创建了更大的地址空间。EUI-64 地址使用 U/L I/G 位的方式与 IEEE 802 地址相同。

IEEE 802 地址映射到 EUI-64 地址

要从 IEEE 802 地址创建 EUI-64 地址,则 16 位的 11111111 11111110 (0xFFFE) 将被插入到公司 ID 和扩展 ID 之间的 IEEE 802 地址中。

将 EUI-64 地址映射到 IPv6 接口标识

    要获取用于 IPv6 单播地址的 64 位接口标识,EUI-64 地址中的 U/L 位将进行求反(如果是 1,则被设置为 0;如果是 0,则被设置为 1)。下图显示了全局管理的单播 EUI-64 地址的转换过程。

    要从 IEEE 802 地址获取 IPv6 接口标识,必须先将 IEEE 802 地址映射到 EUI-64 地址,然后对 U/L 位求反。下图显示了全局管理的单播 IEEE 802 地址的转换过程。

IEEE 802 地址转换示例(无状态自动配置)

   主机 A 的以太网 MAC 地址是 00-AA-00-3F-2A-1C。首先,通过在第三个和第四个字节之间插入 FF-FE 将其转换为 EUI-64 格式,其结果是 00-AA-00-FF-FE-3F-2A-1C。然后,对 U/L 位(第一个字节中的第七位)求反。第一个字节的二进制形式为 00000000。将第七位求反后,变为 00000010 (0x02)。最后的结果是 02-AA-00-FF-FE-3F-2A-1C,当转换为冒号十六进制符号时,成为接口标识 2AA:FF:FE3F:2A1C。结果是,对应于 MAC 地址 00-AA-00-3F-2A-1C 的网络适配器的链接本地地址是 FE80::2AA:FF:FE3F:2A1C。
Link-Local Address
  
以太网卡的IPv6 Link-Local Address是通过该接口的接口标识来构造的。构造方法是:最高的10位为“1111111010”,之后的54位为全0,最后64位为该接口的接口标识。
   例如接口标识为:36-56-78-FF-FE-9A-BC-DE,那么对应的IPv6 Link-Local Address为:
FE80::3656:78FF:FE9 

无状态地址自动配置

    当 主机收到RA消息后,将子网前缀和本机的网络接口标识结合在一起,就生成了一个地址。例如RA消息中提供的子网前缀是 3ffe:3216:2101:2106::/64,网络接口的48位链路层地址是02:E0:4C:30:0A:D5,则首先将链路层地址根据 EUI64编码规则变换成64位的接口标识02:e0:4c:ff:fe:30:0a:d5,然后将接口标识附加到子网前缀后,就构成了一个新的网络地址 3ffe:3216:2101:2106:02e0:4cff:fe30:0ad5

 

阅读(754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~