这种反转是双射的,所以我不知道它的用途。

评论

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以发布并接受自己的答案。

#1 楼

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.


但这有点令人讨厌。因此,用更简单的术语来说……在MAC地址体系结构中,第7位表示MAC地址是通用的还是本地分配的。值为0表示该地址已被普遍管理。例如,当IANA向NIC卡供应商分配组织唯一标识符(OUI)时,第7位将为0,表示已普遍分配OUI。如果用户手动更改其MAC地址,则该第7位将被设置为1,表示以太网地址是本地管理的。

在PacketLife中也有关于此的更多信息。

评论


我还是不明白。如果管理员不希望0200,那么他/她就可以按照自己的意愿手动配置/ 128 ipv6地址,而不管他们使用mac地址配置如何。我在这里看到的唯一可能的好处是在无法手动更改链接本地地址的情况下,这是管理员看到的唯一情况。换句话说,作为管理员,如果我的eui-64 ipv6地址显示0200有问题,那么我将手动更改该地址,前提是可以手动更改本地链接地址

–lobi
18/12/13在23:41

并且此链接表明可以手动配置本地链接地址community.cisco.com/t5/ipv6/…

–lobi
18/12/13在23:43

“值为0表示地址已被普遍管理”。是不是相反?

– Nakrule
19年6月19日在5:59

#2 楼

可以将手动分配的地址(例如prefix::1prefix::2等)分类为本地。

假设您要在前缀2001:db8:dead:beef::/64中建立网络。您可能会为大多数节点使用基于MAC的IP。但是,对于某些节点,例如DNS服务器,目录服务器等,您将希望使用比基于MAC的地址更易于键入和存储的地址。对于DNS服务器,您可能需要使用

2001:db8:dead:beef::53


请注意,U / L位设置为0 -由于该位的取反,该值进行了分类主机ID为本地。

评论


U / L位反转仅适用于EUI64地址。手动配置的地址没有这种含义。反转是这样的,因此没有MAC的接口可以生成一个(即全零)而本地位不会弄乱它。 (如果按原样使用本地生成的MAC,则总会有一些设置使“ ::#”成为不可能。)

–瑞奇
20年6月19日在9:56

#3 楼

简而言之,因为在以太网MAC中,第七位定义为本地/#global,而在IPv6中,将64位接口ID中的第七位定义为全局/#local。

#4 楼

EUI 64表示仅一个MAC地址(48位),中间有
..:FF:FE:.. 


以填充所有64位。因此,名称为EUI-64。确切地说,您的意思是修改后的EUI-64,这意味着EUI-64结合了第7位的位翻转。

更改了第7位,因为在MAC地址中,该第7位表示本地(0)和全局(1)。在这种情况下,本地是指例如串行接口。

由于所有这些都是为了自动创建一个公共地址,该地址将全部位于全局接口(以MAC术语表示)中,因此会导致1在第7位。
他们更改了该位,因此您不必写下孔地址,可以使用“ ::”的简写形式。

示例(来自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 。这样便可以在其中使用零,因此您可以使用简写形式。

#5 楼

EUI-64进程EUI也称为IEEE定义的EUI-64进程,EUI是扩展唯一标识符的缩写。该过程使用客户端的48位以太网MAC地址,并在48位MAC地址的中间插入额外的16位,以创建64位接口ID。以太网MAC地址以十六进制表示,包含两个部分:组织唯一标识符(OUI)–这是MAC地址的第一部分,称为OUI。 OUI是一个24位数字,用于唯一标识设备的供应商或制造商。这些组织从IEEE购买了OUI。 MAC地址的前三个八位字节是组织唯一标识符(OUI)。
设备标识符– MAC地址的后三个八位字节唯一地标识了设备。它也是普通OUI中的24位(十六进制数字6)值。组织为他们的设备分配的设备标识符位。
EUI-64接口ID具有三部分,以二进制表示:
来自客户端MAC地址的24位组织唯一标识符(OUI),带有反向符号第7位。例如,如果OUI的第7位为1,则在EUI接口ID中变为0,反之亦然。
来自客户端MAC地址的24位设备标识符
十进制十进制值FFFE(组织唯一标识符(OUI)和设备标识符之间的16位)。
使用BC:78:ba:b1:f8:55的MAC地址进行EUI-64进程。
获取主机的mac地址或例如在这种情况下的设备BC:78:ba:b1:f8:55
在中间插入ff:fe:bc:78:ba:ff:fe:b1:f8:55
重新排序IPv6表示法中的上述十六进制数字。 bc78:baff:feb1:f855
您现在可以看到它是4个Hextet,将第一个八位位组从十六进制转换为二进制:BC-> 10111100
翻转第7位:10111100-> 10111110
将更改的八位位组转换回十六进制:01000111-> BE
现在将第一个八位位组更改为新值:bc78:baff:feb1:f855
在开头插入链接本地前缀:fe80 :: bc78:baff:feb1:f855
我的Blog上有关于eui 64的更多信息

评论


“如果OUI的第7位为1,则EUI接口ID将变为0,反之亦然。”那是个误会。必须为修改后的EUI-64接口ID设置U / L位。您不清除它。这似乎是一种误解,似乎很普遍。设置该位意味着您在本地创建地址,这就是为什么要设置而不是清除它的原因。附录A中的RFC 4291,IP版本6寻址体系结构中指定了设置它的方法。

–罗恩·莫潘♦
20年6月19日,9:50

这说明了如何从Mac地址构建EUI-64地址,但没有回答问题,也没有提供链接。请仔细阅读问题并真正尝试回答。

– JFL
20年6月19日在9:51