Mengapa bit U / L terbalik di EUI64?

13

Inversi ini bersifat bijektif, jadi saya tidak tahu apa gunanya.

Silviu
sumber
1
Apakah ada jawaban yang membantu Anda? jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda bisa memberikan dan menerima jawaban Anda sendiri.
Ron Maupin

Jawaban:

16

RFC 4291 memberikan instruksi tentang cara membuat alamat 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|
+----------------+----------------+----------------+----------------+

Dan RFC 2373 memberikan alasan mengapa membalik bit ke-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.

Tapi itu sedikit suap. Jadi secara sederhana ... Dalam arsitektur alamat MAC, bit ke-7 menandakan apakah alamat MAC ditugaskan secara universal atau lokal. Nilai 0 menunjukkan alamat dikelola secara universal. Misalnya, ketika IANA menetapkan Pengidentifikasi Unik Organisasi (OUI) ke vendor kartu NIC, bit ke-7 akan menjadi 0, menunjukkan OUI ditugaskan secara universal. Jika pengguna mengubah alamat MAC secara manual, bit ke-7 ini akan ditetapkan ke 1, yang menunjukkan alamat Ethernet dikelola secara lokal .

Ada juga beberapa informasi lebih lanjut tentang ini di PacketLife .

Eddie
sumber
Saya masih belum mengerti. Jika seorang admin tidak menginginkan 0200, maka ia hanya dapat secara manual mengkonfigurasi alamat / 128 ipv6 sesuai keinginan mereka, terlepas dari apa yang mereka lakukan dengan konfigurasi alamat mac mereka. Satu-satunya manfaat yang mungkin saya lihat di sini adalah dalam situasi di mana tautan alamat lokal tidak dapat diubah secara manual, yang akan menjadi satu-satunya skenario di mana admin akan melihat manfaat. Dengan kata lain, sebagai admin jika saya memiliki masalah dengan alamat eui-64 ipv6 saya yang menunjukkan 0200, maka saya hanya akan secara manual mengubah alamat itu, dengan asumsi saya dapat secara manual mengubah alamat tautan-lokal saya
lobi
dan tautan ini menunjukkan bahwa mengonfigurasi alamat tautan-lokal secara manual adalah mungkin community.cisco.com/t5/ipv6/…
lobi
"Nilai 0 menunjukkan alamat dikelola secara universal". Bukankah sebaliknya?
Nakrule
6

Hal ini dilakukan untuk mengklasifikasikan alamat yang ditugaskan tangan seperti prefix::1, prefix::2dll. Sebagai lokal.

Misalkan Anda sedang menyiapkan jaringan di awalan 2001:db8:dead:beef::/64. Anda mungkin akan menggunakan IP berbasis MAC untuk sebagian besar node Anda. Namun, untuk beberapa node, seperti server DNS, server direktori, dll., Anda ingin menggunakan alamat yang lebih mudah diketik dan lebih mudah diingat daripada alamat berbasis MAC. Untuk server DNS, Anda mungkin ingin menggunakannya

2001:db8:dead:beef::53

Perhatikan bahwa bit U / L diatur ke 0 - yang, karena inversi bit, mengklasifikasikan id host sebagai lokal.

jch
sumber
0

Singkatnya, karena dalam ethernet MAC, bit ketujuh didefinisikan sebagai local / # global, sedangkan pada IPv6 bit ketujuh dalam ID antarmuka 64-bit didefinisikan sebagai global / # lokal.

Lobotomik
sumber
0

EUI 64 hanya berarti Alamat MAC (48Bit) yang memiliki

..:FF:FE:.. 

di tengahnya untuk mengisi semua 64bits. Oleh karena itu nama EUI-64. Tepatnya maksud Anda dimodifikasi EUI-64 yang berarti EUI-64 dikombinasikan dengan bitflip bit ke-7.

Bit ketujuh diubah karena dalam Alamat MAC bit ke-7 ini menunjukkan perbedaan antara yang lokal (0) dan global (1). Lokal dalam pengertian ini, misalnya, antarmuka Serial.

Karena semua ini untuk secara otomatis membuat alamat publik yang semuanya akan berada pada antarmuka yang bersifat global (dalam istilah MAC), ini akan menghasilkan 1 pada posisi ke-7. Mereka mengubah bit itu, jadi Anda tidak perlu menuliskan alamat hole dan Anda dapat memberi Anda notasi singkatan "::"

Contoh (dari 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.

Jawaban Singkat Meskipun setiap Alamat MAC akan berakhir di Alamat IPv6 yang akan memiliki Nomor HEX lebih tinggi dari 0 pada beberapa posisi di Alamat IPv6. Hal ini memungkinkan untuk memiliki Nol di sana sehingga Anda dapat menggunakan notasi steno.

Dorian Gaensslen
sumber