回答:
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カードベンダーにOrganizationally Unique Identifier(OUI)を割り当てると、7番目のビットは0になり、OUIが普遍的に割り当てられたことを示します。ユーザーが手動でMACアドレスを変更した場合、この7番目のビットは1に設定され、イーサネットアドレスがローカルで管理されたことを示します。
これについては、PacketLifeにも詳しい情報があります。
次のような手で割り当てられたアドレスを分類するために行われprefix::1
、prefix::2
地元としてなど。
prefixでネットワークを設定するとします2001:db8:dead:beef::/64
。ほとんどのノードでMACベースのIPを使用することになります。ただし、DNSサーバーやディレクトリサーバーなどの一部のノードでは、MACベースのアドレスよりも入力しやすく、覚えやすいアドレスを使用する必要があります。DNSサーバーについては、おそらく使用したいと思うでしょう
2001:db8:dead:beef::53
U / Lビットが0に設定されていることに注意してください。ビットの反転により、ホストIDはローカルとして分類されます。
EUI 64は、MACアドレス(48ビット)のみを意味します。
..:FF:FE:..
途中ですべての64ビットを埋めます。したがって、名前はEUI-64です。正確には、変更されたEUI-64を意味します。これは、7番目のビットのビットフリップと組み合わせたEUI-64を意味します。
MACアドレスでこの7番目のビットがローカル1(0)とグローバル(1)の違いを示したため、7番目のビットが変更されています。この意味でのローカルとは、たとえば、シリアルインターフェイスです。
これはすべて、(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アドレスのある位置で0より大きいHEX番号を持つIPv6アドレスになってしまいます。これにより、ゼロを含めることができるため、省略表記を使用できます。