IPv6之EUI-64a
IPv6之EUI-64
接口ID可通过3种方法生成:手工配置、系统自动生成和IEEE EUI-64规范生成。
①手工配置:建议在服务器和重要网络设备上配置。
②系统通过软件自动生成:保护主机的私密性。
③IEEE EUI-64规范自动生成:最常用的方法。
在IPV6中,无状态自动配置机制使用EUI-64格式来自动配置IPV6地址
IEEE EUI-64规范:这种由MAC地址产生IPv6地址接口ID的方法可以减少配置的工作量,尤其是当采用无状态地址自动配置时(后面会介绍),只需要获取一个IPv6前缀就可以与接口ID形成IPv6地址。使用这种方式最大的缺点就是某些恶意者可以通过二层MAC推算出三层IPv6地址。
手工配置、
系统通过软件自动生成或IEEE EUI-64规范生成。
其中,EUI-64规范自动生成最为常用。
IEEE
EUI-64规范是将接口的MAC地址转换为IPv6接口标识的过程。如图1所示,MAC地址的前24位(用c表示的部分)为公司标识,后24位(用m表示的部分)为扩展标识符。从高位数,第7位是0表示了MAC地址全球唯一。转换的第一步将FFFE插入MAC地址的公司标识和扩展标识符之间,第二步将从高位数,第7位的0改为1表示此接口标识本地唯一。
例如:MAC地址:000E-0C82-C4D4;转换后:020E:0CFF:FE82:C4D4。
这种由MAC地址产生IPv6地址接口标识的方法可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。但是使用这种方式最大的缺点是任何人都可以通过二层MAC地址推算出三层IPv6地址。
IEEE EUI-64规范生成接口标识的优点:
可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。
缺点:
任何人都可以通过二层MAC地址推算出三层IPv6地址。
IPv6地址中基于EUI-64生成接口ID的规则
IPv6 接口标识
IPv6 地址的最后 64 位是对于 IPv6 地址的 64 位前缀而言唯一的接口标识。确定接口标识的方法如下:
RFC 2373 声明,所有使用前缀 001 到 111 的单播地址,必须使用由“扩展唯一标识 (EUI) - 64”地址派生的 64 位接口标识。
RFC 3041 描述了随时间变化而随机生成的接口标识,以提供某种程度的匿名。
将在有状态的地址自动配置(例如,通过 DHCPv6)过程中指派接口标识。DHCPv6 标准目前正在定义中。用于 Windows Server 2003 家族产品和 Windows XP 的 IPv6 协议不支持有状态地址配置或 DHCPv6。
手动配置的接口标识。
基于 EUI-64 的IPv6 接口标识(Interface ID)
64 位 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。
在IPv6无状态地址自动配置过程以及接口下生成的Link-local链路本地地址的过程中,一般是根据EUI-64规则来生成接口ID部分:也就是IPv6地址128位长度中的后64位部分。
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,那么通过分配唯一的公司 ID,IEEE
已对地址进行了管理。如果 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 的MAC地址映射到 EUI-64 地址
要从 IEEE 802 的MAC地址创建 EUI-64 地址,则 16 位的 11111111 11111110 (0xFFFE) 将被插入到公司 ID 和扩展 ID 之间的 IEEE 802 地址中。
将 EUI-64 地址映射到 IPv6 接口标识
要获取用于 IPv6 单播地址的 64 位接口标识,EUI-64 地址中的 U/L 位将进行求反(如果是 1,则被设置为 0;如果是 0,则被设置为 1)。如下图中所示:
IEEE 802 地址转换示例
IPv6 接口标识
IPv6 地址的最后 64 位是对于 IPv6 地址的 64 位前缀而言唯一的接口标识。确定接口标识的方法如下:
- RFC 2373 声明,所有使用前缀 001 到 111 的单播地址,必须使用由“扩展唯一标识 (EUI) - 64”地址派生的 64 位接口标识。
- RFC 3041 描述了随时间变化而随机生成的接口标识,以提供某种程度的匿名。
- 将在有状态的地址自动配置(例如,通过 DHCPv6)过程中指派接口标识。DHCPv6 标准目前正在定义中。用于 Windows Server 2003 家族产品和 Windows XP 的 IPv6 协议不支持有状态地址配置或 DHCPv6。
- 手动配置的接口标识。
基于 EUI-64 的IPv6 接口标识(Interface ID)
64 位 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。
在IPv6无状态地址自动配置过程以及接口下生成的Link-local链路本地地址的过程中,一般是根据EUI-64规则来生成接口ID部分:也就是IPv6地址128位长度中的后64位部分。
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,那么通过分配唯一的公司 ID,IEEE 已对地址进行了管理。如果 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 的MAC地址映射到 EUI-64 地址
要从 IEEE 802 的MAC地址创建 EUI-64 地址,则 16 位的 11111111 11111110 (0xFFFE) 将被插入到公司 ID 和扩展 ID 之间的 IEEE 802 地址中。
如下图中所示:
将 EUI-64 地址映射到 IPv6 接口标识
要获取用于 IPv6 单播地址的 64 位接口标识,EUI-64 地址中的 U/L 位将进行求反(如果是 1,则被设置为 0;如果是 0,则被设置为 1)。如下图中所示:
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。
注意:
对 U/L 位求反时,如果 EUI-64 地址是全局管理的,则第一个字节将加 0x2,而如果 EUI-64 地址是本地管理的,则从第一个字节减去 0x2。
在路由器设备上查看该接口的网卡MAC地址:
- Router# show interface f0/0
- FastEthernet0/0 is up, line protocol is down
- Hardware is Gt96k FE, address is 0012.7feb.6b40 (bia 0012.7feb.6b40)
我们再查看根据该地址与EUI-64生成的链路本地地址与全球单播地址:
- Router(config)# interface f0/0
- Router(config-if)# ipv6 address 2001:db8::/64 eui-64
- Router(config-if)# do show ipv6 interface f0/0
- FastEthernet0/0 is up, line protocol is down
- IPv6 is enabled, link-local address is FE80::212:7FFF:FEEB:6B40 [TEN]
- No Virtual link-local address(es):
- Global unicast address(es):
- 2001:DB8::212:7FFF:FEEB:6B40, subnet is 2001:DB8::/64 [EUI/TEN]
IPv6(列表、list、全)ipv6list
http://www.zh-cjh.com/wenzhangguilei/1534.html
文章归类、所有文章列表、LISTLIST
http://www.zh-cjh.com/wangzhangonggao/2195.html
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » IPv6之EUI-64a
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm