单选题
319.如果 EUI-64 地址 CA9E-93FF -FE7B-057B 是根据 MAC 地址计算得到,则其对应的 MAC 地址应该 为?
A
C89E-93FF -057B
B
A89E-937B-057B
C
CA9E-937B-057B
D
C89E-937B-057B
答案解析
正确答案:D
解析:
### 解析
EUI-64(Extended Unique Identifier-64)地址是通过 MAC 地址(48位)扩展生成的 IPv6 接口标识符(64位)。其生成规则主要包含两个步骤:**插入固定值**和**反转 U/L 位**。我们可以逆向推导来找出原始的 MAC 地址。
#### 1. EUI-64 的生成规则回顾
1. **拆分 MAC 地址**:将 48 位的 MAC 地址分为前 24 位(OUI)和后 24 位(NIC Specific)。
2. **插入固定值**:在中间插入 16 位的固定值 `FFFE`。
3. **反转 U/L 位**:将第一个字节(即 OUI 的第一个字节)的第 7 位(Universal/Local 位,从第 0 位开始计数,或者说是从左往右数的第 2 个比特位)取反。
* 如果该位是 0,变为 1。
* 如果该位是 1,变为 0。
#### 2. 逆向推导过程
题目给出的 EUI-64 地址为:`CA9E-93FF-FE7B-057B`
为了方便处理,我们将十六进制展开为字节序列:
`CA`, `9E`, `93`, `FF`, `FE`, `7B`, `05`, `7B`
**第一步:移除插入的 `FFFE`**
EUI-64 的第 4 和第 5 个字节通常是 `FF` 和 `FE`。
观察地址:`CA9E:93` **`FFFE`** `7B05:7B`
去掉中间的 `FFFE` 后,剩下的部分对应于修改后的 MAC 地址结构:
* 前 3 个字节:`CA`, `9E`, `93`
* 后 3 个字节:`7B`, `05`, `7B`
此时得到的临时 MAC 地址(尚未还原 U/L 位)为:`CA-9E-93-7B-05-7B`
**第二步:还原 U/L 位(反转第一个字节的第 7 位)**
我们需要对第一个字节 `CA` 进行逆操作。因为在生成 EUI-64 时,我们是将该位取反了,所以现在要再取反一次才能恢复原状。
1. 将十六进制 `CA` 转换为二进制:
* C = 1100
* A = 1010
* 所以 `CA` = `1100 1010`
2. 找到第 7 位(U/L 位):
* 比特位顺序(从左到右,高位到低位):bit 7, bit 6, bit 5, bit 4, bit 3, bit 2, bit 1, bit 0
* `1` (bit 7) `1` (bit 6) `0` (bit 5) `0` (bit 4) `1` (bit 3) `0` (bit 2) `1` (bit 1) `0` (bit 0)
* **注意**:在 IEEE 802 标准中,U/L 位是第一个字节的**第 2 个最低有效位之后的那个位**,也就是从左数第 2 位(如果从 1 开始数)或者索引为 1 的位(如果从 0 开始数,通常称为 bit 1,但在 EUI-64 转换语境下,常指“第 7 位”是指整个字节的第 7 个比特位置,即 $2^1$ 的位置?不,这里容易混淆。让我们明确标准定义:
* MAC 地址第一个字节的格式:`U/L` `G/I` ... 或者是 `bit 0` ... `bit 7`。
* 通常说法:第 1 个字节。
* U/L 位是该字节的**第 2 个比特位**(从最高位 MSB 开始数是第 2 位,即权重为 $2^6$ 的位?不对。
* 让我们看标准定义:MAC 地址字节中,**Bit 1** (LSB 是 Bit 0) 是 Group/Individual 位,**Bit 2** (权重 $2^1$? 不,通常 LSB 是 bit 0)。
* **更正标准定义**:在以太网 MAC 地址中,第一个字节的 **Bit 1** (从 0 开始计数,即第二个最低有效位) 是 I/G 位,**Bit 2** ? 不。
* 让我们用最通用的 EUI-64 转换规则:**翻转第一个字节的第 7 位**(这里的“第 7 位”通常指的是从左向右数的第 2 个比特,即 $2^6$ 位置?还是指二进制表示中的 index 1?)。
让我们通过实例验证:
MAC: `00-11-22-33-44-55`
Binary of `00`: `0000 0000`
Flip the 7th bit (usually meaning the Universal/Local bit, which is the **second least significant bit** of the first octet? No, it is the **7th bit from the left**? Or **bit 1**?)
**准确规则**:
IEEE EUI-64 规范指出,要将 MAC 转换为 EUI-64,需将 MAC 地址第一个字节的 **第 7 位**(即 **U/L 位**,Universal/Local bit)取反。
在字节 `b7 b6 b5 b4 b3 b2 b1 b0` 中:
- `b0` 是 LSB。
- `b7` 是 MSB。
- **U/L 位是 `b1`** (即权重为 2 的位,从左数是第 7 位?不,从左数是第 2 位... 等等,让我们看二进制位序)。
实际上,大多数教材和网络设备实现中,所谓的“第 7 位”是指**从左往右数的第 2 个比特**(即 $2^6$ 位)吗?
**不是!**
让我们看一个经典例子:
MAC: `00-00-00-00-00-00` -> EUI-64: `02-00-00-FF-FE-00-00-00`
`00` (`0000 0000`) 变成了 `02` (`0000 0010`)。
变化的是倒数第二位(Bit 1)。
再看另一个例子:
MAC: `CC-CC-CC-CC-CC-CC`
`CC` = `1100 1100`
Flip Bit 1 (the second bit from the right): `1100 1110` = `CE`
EUI-64 starts with `CE`.
**结论**:需要翻转的是第一个字节的 **Bit 1**(即从右向左数第 2 位,或者从左向右数第 7 位——如果我们把 MSB 称为第 1 位的话,这种称呼很混乱)。
**简单记忆法**:将第一个字节的十六进制与 `0x02` 进行异或(XOR)运算。
回到题目:
EUI-64 的第一个字节是 `CA`。
我们要还原 MAC,同样需要对 `CA` 与 `0x02` 进行异或运算(因为异或两次等于没变,所以生成时异或,还原时也异或)。
计算:
`CA` (Hex) = `1100 1010` (Binary)
`02` (Hex) = `0000 0010` (Binary)
XOR 运算:
```
1100 1010
^ 0000 0010
-----------
1100 1000
```
结果二进制 `1100 1000` 转换为十六进制:
`1100` = C
`1000` = 8
所以,原始 MAC 地址的第一个字节是 `C8`。
**第三步:组合最终 MAC 地址**
* 第一个字节:`C8`
* 第二、三个字节(保持不变):`9E`, `93`
* 第四、五、六个字节(保持不变,来自 EUI-64 的后半部分):`7B`, `05`, `7B`
组合起来:`C8-9E-93-7B-05-7B`
格式化输出通常为:`C89E.937B.057B` 或 `C89E-937B-057B`
#### 3. 选项对比
* A. C89E-93FF-057B (错误,中间多了 FF,且后半部分不对)
* B. A89E-937B-057B (错误,首字节 A8 不对)
* C. CA9E-937B-057B (错误,首字节 CA 未还原 U/L 位)
* D. C89E-937B-057B (正确,首字节 C8 正确,其余部分匹配)
### 最终答案
**D**
相关知识点:
EUI-64转MAC,对应C89E-937B-057B
题目纠错
华为数通工程师HCIA题库
相关题目
单选题
482.如图所示的网络, 通过以下哪些都置可以实现主机 A 和主机 B 不能相互通信?
单选题
481.参考以下 DHCP 流程图, 以下说法正确的是 () 。 
单选题
480.在一 台路由器上配置 OSPF 时, 必须手动进行的配置有 ( ) 。
单选题
479.OSPF 协议在以下哪种网络类型中需要选举 DR 和 BDR?
单选题
478.关于静态 MAC 地址表说法正确的是?
单选题
477.关于黑洞 MAC 地址表说法正确的是?
单选题
476.查询设备 OSPF 协议的配置信息, 可以使用下列哪些命令?
单选题
475.路由条目 10.0.0.24/29 可能由如下哪几条子网路由汇聚而来?
单选题
474.目前, 公司有一个网络管理员, 公司网络中的 AR2200 通过 Telnet 直接输入密码后就可 以实现远程管理 。新 来了两个网络管理员后, 公司希望给所有的管理员分配各自的用户名与密码, 以及不同的权限等级 。那么应该如何操作呢?
单选题
473.某台设备输出信息如下, 下列说法正确的有?
