Mengapa ipv6 menentukan alamat 128 bit, padahal hanya ada 48 bit di alamat MAC?

37

Jadi, saya membaca untuk ujian jaringan, dan saya hanya ingin tahu apakah saya melewatkan sesuatu yang mendasar. Apakah ada kebutuhan untuk lebih banyak alamat ip dari pada alamat MAC, dan bagaimana sebuah node dengan satu adapter jaringan akan diberi banyak alamat ip dalam kasus itu?

Lorentz Vedeler
sumber
2
+1 walaupun jelas bahwa MAC harus unik hanya untuk perangkat dalam satu jaringan lokal (terhubung ke bus yang sama) sedangkan lapisan Internet mengkonsolidasikan semua jaringan lokal ke dalam satu jaring global di mana prinsip desain dasar, membagi penaklukan, tepatnya menentukan bahwa lokal jaringan tidak mengetahui alamat lokal dalam jaringan lokal lain untuk berhasil berkomunikasi melalui skema IP global, dan lebih jauh, Anda dapat melampirkan jaringan lokal berbasis non-Ethernet ke Internet. Jadi, saya tertarik untuk mengetahui apa yang akan menjadi jawaban jika IP hanya menuntut Ethernet di tingkat bawah.
Val
1
Transisi dari IPv4 ke IPv6 sangat lambat dan mahal sehingga kita tidak ingin menghadapi transisi lagi. 128 bit memiliki peluang yang cukup untuk menjadi "selamanya". tools.ietf.org/html/rfc1606 adalah cara yang sangat lucu tentang hal itu ("Ketika protokol IP versi 9 berakhir pada akhir masa manfaatnya, sekali lagi karena mengatasi kelelahan ruang, ...")
Beni Cherniavsky- Paskin
@ BeniCherniavsky-Paskin, transisi lambat karena NAT mengurangi kebutuhan. Sekali lagi, ini menunjukkan kepada kita bahwa kita tidak memerlukan ruang alamat lokal untuk menutupi ruang alamat global.
Val

Jawaban:

40

Alamat MAC hanya perlu unik dalam domain siaran lokal, bukan secara global, jadi penggunaan kembali alamat MAC di jaringan yang berbeda biasanya tidak menjadi masalah.

Internet bukan merupakan satu domain siaran global dan karenanya perlu dibagi menjadi banyak blok alamat yang ditugaskan untuk ISP yang berbeda dan masing-masing ISP membagi bloknya menjadi blok yang lebih kecil untuk pelanggan / layanan yang berbeda. Agar setiap blok yang lebih kecil ini mengandung banyak alamat MAC, Anda harus memiliki ruang IP yang jauh lebih besar daripada ruang alamat MAC.

Teun Vink
sumber
8
Juga karena agregasi. 48bits akan lebih dari cukup alamat IP (40k per orang), tetapi itu berarti setiap router perlu melihat tabel datar lebih dari 2PB, bahwa teknologi tidak ada.
ytti
1
@ytti: Setidaknya sampai kita semua memiliki nanorobot yang diaktifkan dengan ip di aliran darah kita
BlueRaja - Danny Pflughoeft
1
Mereka mungkin dapat menggunakan linklocal karena hanya sedikit dari mereka yang berinteraksi di luar jaringan lokal.
ytti
1
Di atas kertas , mereka seharusnya unik secara global. Namun kenyataan diketahui berbeda.
Ricky Beam
4
Ini akan membutuhkan pertanyaan lain. Tetapi alamat MAC dilakukan dari nomor OUI 24b atau 36b yang Anda beli dari IEEE, yang harus unik, tetapi dalam praktiknya menghemat 1300USD beberapa orang menggunakan OUI orang lain, atau beberapa orang membuat NIC dengan MAC non-unik. Sementara alamat MAC adalah 48b, sebenarnya hanya 46b, karena 1 bit menentukan apakah itu unicast / multicast dan 1 bit jika itu global / lokal, jika bit lingkup lokal aktif, maka semua taruhan dimatikan untuk keunikan.
ytti
16

Tidak semua jenis antarmuka jaringan menggunakan alamat MAC. Alamat MAC sebagian besar terkait dengan Ethernet, meskipun beberapa standar jaringan lain menggunakannya. Namun, alamat IPv6 masih dapat ditugaskan ke antarmuka jaringan yang tidak menggunakan alamat MAC untuk Layer 2.

Juga perlu dicatat, alamat MAC dapat dikonversi ke bagian host IPv6 melalui konversi EUI-64 (kebanyakan digunakan untuk konfigurasi otomatis stateless), dengan memasukkan nilai heksadesimal FFFE antara 24-bit paling kiri dan paling kanan dari alamat MAC 48-bit, dan bit ketujuh akan terbalik.

Jadi, misalnya, 0c: 3a: bb: 2a: cd: 23 dapat dikonversi ke bagian host dari alamat IPv6 konfigurasi otomatis stateless. 0c dalam alamat MAC di atas, yang diwakili sebagai 0000 1100 dalam biner, akan menjadi 0000 1110 dalam biner atau 0e dalam heksadesimal. Oleh karena itu, bagian host terakhir EUI-64 dari alamat IPv6, yang dikonversi dari alamat MAC, akan menjadi 0e: 3a: bb: ff: fe: 2a: cd: 23.

Waxrax
sumber
1
Anda juga perlu membalikkan alamat MAC 'bit lokal'
ytti
Saya lupa tentang bagian itu - saya mengedit jawaban saya untuk mencerminkan informasi. Terima kasih telah menangkapnya :-)
WaxTrax
Script konyol untuk melakukannya secara otomatis: ruby ​​-e'EUI = (ARGV [1]); k = ARGV [0] .delete (":."). Scan (/. {6} /). Join ("fffe" ) .scan (/../); k [0] = "% 02x"% (k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan (/..../) .join (":") '74: 66: 30: 42: 42: 42 2001: 67c: 17a0: 0
ytti
Terjemahan alamat MAC ke EUI-64 untuk digunakan dalam alokasi IP tampaknya merupakan hal yang belakangan, IPv6 asli atas standar Ethernet (RFC 2464) menetapkan alamat MAC yang diawali dengan nol.
Peter Green
6

Juga, ada beberapa protokol layer 2 dengan lebih dari 48 bit di MAC mereka, misalnya Fibre Channel memiliki 64-bit (atau 128-bit rupanya menurut Wikipedia) seperti halnya FireWire (well, agak), sehingga mereka bisa masuk dalam / 64 tanpa potensi tumpang tindih.

LapTop006
sumber
4

IPv6 SLAAC hanya dapat menghasilkan satu alamat per awalan karena menggunakan MAC untuk menghasilkan alamat yang cukup unik. Ekstensi privasi dapat menghasilkan satu atau lebih alamat pseudo-acak yang kemudian diperiksa untuk setiap tumpang tindih di segmen lokal. Tentu saja, administrator lokal dapat menetapkan sebanyak mungkin alamat statis - yang merupakan tugas mereka untuk memastikan tidak ada tumpang tindih.

[Secara unik, maksudku kemungkinan tabrakan adalah nol. Dan jika ya, Anda akan memiliki masalah lapisan-2 terlebih dahulu! (dua mesin pada segmen yang sama dengan MAC yang sama)]

Ricky Beam
sumber
Ekstensi privasi Afaict adalah renungan ketika orang menyadari bahwa autoconfig berbasis MAC adalah mimpi buruk privasi. Bukan salah satu kekuatan pendorong dalam desain IPv6
Peter Green
Sebagian besar IPv6 adalah renungan ... Mereka yang tidak belajar dari sejarah ditakdirkan untuk mengulanginya.
Ricky Beam
2

Saya pikir pada dasarnya turun ke dua poin utama.

  1. Alamat internet tidak hanya perlu menjadi unik secara global, mereka juga harus dapat dilalui secara global. Routing setiap alamat mesin secara individual akan menghasilkan tabel routing yang sangat besar. Para perancang IPv6 bermimpi tentang sistem routing hirarkis * untuk menjaga tabel routing kecil.
  2. Para perancang IPv6 menginginkan konfigurasi otomatis tanpa kewarganegaraan. Konfigurasi otomatis tanpa kewarganegaraan membutuhkan bagian "host" dari alamat untuk menjadi besar, baik untuk mengakomodasi alamat tautan yang ada atau untuk mengakomodasi nomor acak yang cukup besar sehingga tumbukan sangat kecil kemungkinannya.

Kumpulkan poin-poin ini dan Anda perlu bagian "host" dan "jaringan" untuk menjadi besar. Tentunya masing-masing lebih dari 32 bit. 64-bit masing-masing mungkin berlebihan tetapi lebih baik daripada kehabisan.

* Mimpi itu tidak benar-benar berhasil karena Internet bukan hierarki tetap tetapi ini bukan tentang apa yang sebenarnya terjadi dalam 20 tahun atau lebih sejak IPv6 diperkenalkan, ini tentang apa yang mendorong desain.

Peter Green
sumber