답변:
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가 조직 고유 식별자 (OUI)를 NIC 카드 공급 업체에 할당 할 때 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 주소 (48Bit) 만 의미합니다.
..:FF:FE:..
그 중간에 모든 64 비트를 채 웁니다. 따라서 이름은 EUI-64입니다. 정확히 말해 EUI-64 를 수정 했다는 것은 EUI-64가 7 비트의 비트 플립과 결합되었음을 의미합니다.
MAC 주소에서이 7 번째 비트는 로컬 1 (0)과 전역 (1)의 차이를 나타 내기 때문에 7 번째 비트가 변경됩니다. 이러한 의미에서 로컬은 예를 들어 직렬 인터페이스입니다.
이 모든 것이 공용 (public) 주소를 자동으로 작성하는 것이므로 모든 것이 글로벌 (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 주소의 특정 위치에서 HEX 번호가 0보다 큰 IPv6 주소로 끝나더라도. 이를 통해 축약 표기법을 사용할 수 있도록 제로를 가질 수 있습니다.