Answers:
RFC 4291提供有关如何创建EUI64地址的说明:
Links or Nodes with IEEE 802 48-bit MACs
[EUI64] defines a method to create an IEEE EUI-64 identifier from an
IEEE 48-bit MAC identifier. This is to insert two octets, with
hexadecimal values of 0xFF and 0xFE (see the Note at the end of
appendix), in the middle of the 48-bit MAC (between the company_id
and vendor-supplied id). An example is the 48-bit IEEE MAC with
Global scope:
|0 1|1 3|3 4|
|0 5|6 1|2 7|
+----------------+----------------+----------------+
|cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+
where "c" is the bits of the assigned company_id, "0" is the value of
the universal/local bit to indicate Global scope, "g" is
individual/group bit, and "m" is the bits of the manufacturer-
selected extension identifier. The interface identifier would be of
the form:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
和RFC 2373提供了“为什么”背后翻转的第7位的:
The motivation for inverting the "u" bit when forming the interface
identifier is to make it easy for system administrators to hand
configure local scope identifiers when hardware tokens are not
available. This is expected to be case for serial links, tunnel end-
points, etc. The alternative would have been for these to be of the
form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1,
::2, etc.
但这有点令人mouth舌。因此,用更简单的术语来说…… 在MAC地址体系结构中,第7位表示MAC地址是通用的还是本地分配的。值为0表示该地址已被普遍管理。例如,当IANA向NIC卡供应商分配组织唯一标识符(OUI)时,第7位将为0,表示已普遍分配OUI。如果用户手动更改其MAC地址,则该第7位将设置为1,表示以太网地址是本地管理的。
PacketLife还提供了有关此内容的更多信息。
EUI 64表示仅MAC地址(48Bit)具有
..:FF:FE:..
在中间填充所有64位。因此,名称为EUI-64。确切地说,您的意思是修改后的EUI-64,这意味着EUI-64与第7位的bitflip相结合。
更改第七位,因为在MAC地址中,该第七位指示本地1(0)和全局1(1)之间的差异。在这种情况下,本地是例如串行接口。
由于所有这些都是为了自动创建一个公共地址,该地址将全部位于全局接口(以MAC术语表示)中,因此在第7个位置将产生1。他们更改了该位,因此您不必写下孔地址,您可以使用“ ::”的简写形式
示例(来自RFC 2373):
...
The alternative would have been for these to be of the
form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1,
::2, etc.
简短答案 即使每个MAC地址都将以一个IPv6地址结尾,该IPv6地址在该IPv6地址中的某些位置的HEX数将大于0。这样便可以在其中使用零,因此您可以使用简写表示法。