Mengapa alamat MAC tidak bisa digunakan daripada IPv4 | 6 untuk jaringan? [Tutup]

184

Saya membaca tentang TCP / IP dan protokol dan teknologi terkait lainnya. Alamat MAC digambarkan sebagai (cukup :) unik, dan memiliki ruang kemungkinan besar (beberapa ratus triliun), sementara juga ditugaskan untuk semua antarmuka jaringan. Apa alasan historis dan teknis mengapa alamat IPv4 atau IPv6 digunakan sebagai ganti alamat MAC untuk komunikasi internetwork?

Apakah saya kehilangan sesuatu yang mendasar atau itu hanya alasan konyol (misalnya membangun di atas teknologi warisan)?

Félix Saparelli
sumber
55
Koreksi yang luar biasa: cukup unik; kartu dengan alamat MAC HW identik telah terlihat di alam bebas - ini adalah masalah jaringan "menyenangkan" untuk di-debug.
Piskvor
9
Saya pribadi menyaksikan driver kereta yang benar-benar menetapkan alamat MAC yang sama ke kartu jaringan yang berbeda pada mesin yang berbeda (yang memiliki alamat HW unik sebelum menginstal driver itu). Ya, itu menyakitkan .
Massimo
3
Massimo, saya telah melihat hal yang persis sama. Itu tidak biasa bagi seorang pengemudi untuk melakukan itu dalam pengembangan dan para programmer lupa untuk mengubah komponen ketika itu pergi produksi. @ Feliks, itu juga umum bagi produsen untuk menggunakan kembali MAC dari waktu ke waktu dan di berbagai belahan dunia. Kartu yang dijual pada 2005 di AS mungkin memiliki MAC yang sama dengan yang dijual di Cina pada 2013, misalnya.
Robert Kaucher
30
Mengalamatkan sebuah paket dengan alamat MAC sama seperti menyurati surat dengan nomor jaminan sosial.
Mikey
14
Bagaimana Anda tahu di mana alamat MAC tertentu sekarang? Di depan, tanpa perlu setiap node di internet diberitahu ketika Anda pindah ke internet lain?
Thorbjørn Ravn Andersen

Jawaban:

345

Alamat MAC mungkin unik, tetapi tidak ada yang istimewa tentang nomor yang akan menunjukkan di mana itu. MAC 00-00-00-00-00-00mungkin berada di sisi lain planet ini 00-00-00-00-00-01.

IP adalah skema penomoran sewenang-wenang yang diberlakukan secara hierarkis pada sekelompok komputer untuk secara logis membedakan mereka sebagai suatu kelompok (itulah subnet itu). Mengirim pesan di antara grup-grup itu dilakukan dengan merutekan tabel, dengan sendirinya dibagi menjadi beberapa level sehingga kami tidak perlu melacak setiap subnet tunggal. Misalnya, 17.x.x.xada dalam jaringan Apple. Dari sana, Apple akan tahu di mana masing-masing dari ribuan subnetnya berada dan bagaimana mencapainya (tidak ada orang lain yang perlu mengetahui informasi ini, mereka hanya perlu tahu bahwa 17. apa pun yang masuk ke Apple).

Ini juga cukup mudah untuk menghubungkan ini dengan pasangan sistem lain. Anda memiliki Nomor ID yang Diterbitkan Negara, mengapa Anda memerlukan alamat surat jika nomor ID itu sudah unik untuk Anda saja? Anda memerlukan alamat surat karena ini adalah sistem sewenang-wenang yang menjelaskan ke mana tujuan komunikasi unik yang harus Anda tuju.

Chris S
sumber
23
Ini jawaban yang bagus. Saya akan menambahkan bahwa alamat MAC pada akhirnya digunakan dalam komunikasi IP begitu komputer menentukan mereka berada di subnet yang sama; itu sebabnya keracunan ARP bekerja sebagai serangan. Hal yang sama dengan gateway default, paket alamat komputer yang ditakdirkan untuk subnet lain ke alamat MAC dikembalikan oleh pencarian ARP untuk IP gateway default. Pengalamatan Layer-3 / IP sebagian besar digunakan oleh router dan hanya digunakan oleh host untuk menentukan apakah tujuan berada pada subnet yang sama.
Sean C.
7
@SeanC, alamat MAC pada akhirnya digunakan dalam komunikasi IP melalui 802.1 protokol garis berbasis (Ethernet, WiFi, Token Ring, dll). Tetapi tidak melalui protokol ATM, seperti PoSDH dan IPoATM.
Chris S
25
Anda juga dapat menyimpan alamat IP yang sama ketika kartu jaringan Anda (atau seluruh komputer) perlu diganti. Bayangkan betapa menyebalkannya itu tanpa abstraksi IP.
OrangeDog
3
@ Chris Saya punya teman yang sebagai admin sistem, menerima sejumlah kartu dari satu vendor dan kartu hanya memiliki satu alamat MAC di seluruh palet. Vendor mengatakan bahwa kartu tidak tercampur dengan distribusi ritel dengan benar sehingga ada duplikat, karena pesanan adalah setetes langsung dari pabrik. Sebelum kartu-kartu itu didistribusikan secara eceran, kartu-kartu itu seharusnya digabung menjadi satu untuk menyebarkan para korban penipuan. Jadi untuk vendor tertentu, penerima MAC tidak unik, apalagi lintas vendor.
4
Ada berbagai alasan historis untuk duplikat kejadian alamat mac termasuk bug firmware vendor .
Mike Pennington
73

Karena tabel routing akan menjadi sangat besar.

Alamat IP dialokasikan secara hierarkis, sehingga router dapat mengelompokkan rute berdasarkan awalan alamat. Jumlah sistem otonom yang ada di internet sekarang cukup masuk akal untuk masuk ke perangkat keras saat ini.

Di sisi lain, distribusi alamat MAC di seluruh jaringan adalah acak dan sama sekali tidak terkait dengan topologi. Pengelompokan rute tidak mungkin dilakukan, setiap router perlu melacak rute untuk setiap perangkat yang menyampaikan lalu lintas melaluinya. Itulah yang dilakukan layer 2 switch, dan itu tidak skala jauh melampaui sejumlah host.

b0fh
sumber
Bisakah Anda menguraikan ini? Kenapa mereka? Mengapa tidak demikian halnya dengan IPv *?
Félix Saparelli
2
Tidak ada alasan intrinsik bahwa tabel router menggunakan alamat yang diformat MAC akan "sangat besar" dibandingkan dengan format IPv4 / 6. Masalahnya adalah bahwa alokasi alamat IP dikaitkan dengan hierarki yang membuat perutean WAN layak. Alamat MAC ditetapkan untuk perangkat Ethernet oleh manufaktur (dan dapat diubah dalam perangkat lunak), dan ketika perangkat keras bergerak, membuat revisi ad hoc ke tabel routing WAN akan menjadi tugas "sangat besar".
hardmath
34

Dunia tidak berjalan secara eksklusif pada ethernet (setidaknya secara historis). Lapisan IP independen dari lapisan perangkat keras di bawahnya.

Node PPP tidak memiliki alamat Mac. Juga tidak menggunakan arcnet, token ring, fddi, hppi. Standar-standar lain mungkin tidak seperti hari ini, tetapi ethernet dapat diganti dengan teknologi lain di masa depan dan itu akan transparan ke lapisan IP.

Ada diskusi yang lebih panjang tentang bagaimana kami terus menciptakan protokol perangkat keras baru dan menyebutnya ethernet, tapi saya ngelantur ...

Jeff Sacksteder
sumber
5
Token Ring memang memiliki alamat MAC.
Chris S
Maksud Anda, mereka tidak dapat beralih ke ipv6 karena node PPP tidak memiliki alamat v6? (Atau setidaknya tidak memiliki 5-10 tahun yang lalu). Sejauh yang saya tahu bahwa tidak pernah menghentikan penyebaran IPv6 hari ini. Ini juga tidak membuat perbedaan untuk MAC.
Dorus
6
@Dorus: Komentar Anda tidak masuk akal. Node PPP dapat memiliki alamat IPv4 dan IPv6, karena IP dibangun berdasarkan protokol yang mendasarinya, seperti Ethernet atau PPP. Namun, node PPP tidak memiliki alamat MAC (karena standar PPP tidak memilikinya).
sleske
3 tahun kemudian (dan sedikit lebih banyak pengetahuan), saya ingin membaca "diskusi lebih lama tentang bagaimana kita terus menciptakan protokol perangkat keras baru dan menyebutnya ethernet." ; P
Félix Saparelli
Ini adalah awal yang baik - standards.ieee.org/events/ethernet/history.html
Jeff Sacksteder
30

Lebih jauh ke routing hirarkis IP, memiliki mereka terpisah dari alamat MAC memungkinkan Anda untuk mengubah kartu jaringan atau seluruh komputer sambil mempertahankan alamat IP yang sama (dan dengan demikian topologi jaringan logis).

Abstraksi ini memungkinkan jaringan yang jauh lebih fleksibel dan terawat.

OrangeDog
sumber
22

Lihatlah model OSI : http://en.wikipedia.org/wiki/OSI_model

Ini menjelaskan mengapa tidak masuk akal untuk membuat routing, konsep layer 3, keputusan berdasarkan pada mekanisme fisik, layer 2.

Jaringan modern dipecah menjadi banyak lapisan yang berbeda untuk menyelesaikan komunikasi ujung ke ujung Anda. Kartu jaringan Anda (apa yang dialamatkan oleh alamat mac [alamat fisik]) hanya perlu bertanggung jawab untuk berkomunikasi dengan rekan-rekan di jaringan fisiknya.

Komunikasi yang Anda selesaikan dengan alamat MAC Anda akan terbatas pada perangkat lain yang berada dalam kontak fisik dengan mesin Anda. Di internet, misalnya, Anda tidak terhubung secara fisik ke setiap mesin. Itu sebabnya kami menggunakan mekanisme TCP / IP (layer 3, alamat logis) ketika kita perlu berkomunikasi dengan mesin yang secara fisik kita tidak terhubung.

barancw
sumber
6
+1 untuk menyebutkan model OSI.
Massimo
7

b0fh benar - tetapi juga karena alamat MAC tidak selalu unik.

Lihat misalnya dalam skenario virtualisasi. Di sini banyak host dapat melayani mesin virtual dengan alamat MAC yang sama.

Frederik Nielsen
sumber
4

Tabel perutean untuk alamat MAC akan membutuhkan hampir setiap perangkat dengan alamat MAC yang terdaftar. Routing ke Internet untuk IP adalah entri tunggal 0.0.0.0/0. Untuk kelas jaringan mereka terurai sebagai 10.0.0.0/8 172.16.0.0/16 dan 192.168.0.0/24. Banyak dari ini dapat dikumpulkan seperti 172.16.0.0/12 dan 192.168.0.0/16 lebih lanjut mengurangi ukuran tabel routing.

Rute dicari dalam urutan terbalik ke jumlah satu bit di mask mereka. Ini membuat perutean ke 192.168.100.0/24 berfungsi ketika ada rute untuk 192.168.0.0/16 dan lainnya untuk 0.0.0.0/0 (rute default).

EDIT: Awalnya, kisaran IP dibagi menjadi beberapa kelas; A, B, dan C menjadi yang paling signifikan. Kelas A terdiri dari paruh pertama rentang alamat, kisaran B kuartal berikutnya, dan kisaran C delapan rentang berikutnya. Kelas-kelas ini masing-masing memiliki topeng 8, 16, dan 24 bit. Kemudian penggunaan ketat dari topeng ini dijatuhkan dan alokasi alamat dilakukan dalam berbagai ukuran.

Ukuran alokasi selalu merupakan kekuatan 2 dan alamat terendah dan tertinggi di setiap alokasi dicadangkan. Setiap alokasi juga akan memiliki alamat untuk router. Ini sering merupakan alamat non-cadangan terendah atau tertinggi. Alokasi praktis terkecil adalah alamat / 30.

IPv6 menggunakan bentuk alokasi yang sama dengan / 64 alokasi terkecil yang dapat muncul di Internet. Biasanya, dan ISP akan diberikan alokasi yang lebih besar, yang harus diketahui semua router Internet. Alokasi yang diharapkan ditentukan dalam RFC. ISP perlu tahu cara merutekan subnetnya sendiri, dan alamat apa yang harus dirutekan ke router interkoneksi mana. Ini jauh lebih sederhana daripada mengetahui bagaimana merutekan setiap alamat mac.

BillThor
sumber
7
Tidak ada Kelas dalam jaringan lagi dan belum ada sejak 1994. = [
Chris S
@ChrisS Pencarian IPv4 PTR masih dilakukan oleh kelas, meskipun delegasi dimungkinkan. Agregasi masih berlaku dengan atau tanpa kelas, dan agregasi B dan C masih berlaku bahkan sebelum jaringan tanpa kelas.
BillThor
2
Pencarian PTR dilakukan oleh Octet, tidak ada kelas. Lihat RFC 1517 hingga 1520.
Chris S
2
@ ChrisS Di antara orang-orang yang bekerja dengan saya, kelas digunakan untuk merujuk pada jumlah oktet di netmask A = 1, B = 2, dan C = 3. Kami tidak mengaitkannya dengan rentang historis di sana, dan akan memecah kelas A 10.0.0.0 menjadi b dan C. Kelas hidup dalam tradisi, jika bukan arti aslinya.
BillThor
2

Saya pikir poin utama yang mereka coba sampaikan adalah bahwa alamat MAC ditentukan oleh vendor, sehingga tidak ada skema pengalamatan yang koheren yang dapat dipatuhi dalam subnet lokal karena banyaknya produsen yang membuat antarmuka.

Alamat MAC digunakan ketika alamat tujuan berada di subnet lokal (192.168.0.x, misalnya). Ketika lalu lintas tidak cocok dengan subnet lokal, komputer merujuk ke tabel routing. Secara umum tabel routing akan memberi tahu lalu lintas apa pun yang tidak cocok dengan subnet lokal (0.0.0.0) untuk menuju ke gateway lokal, di mana titik mana saja afiliasi ke alamat MAC dilucuti seluruhnya. Satu-satunya cara alamat MAC dapat digunakan secara global adalah memiliki satu, besar, subnet datar, yang akan sepenuhnya tidak bisa digunakan.

Alex Berry
sumber
2

Alamat MAC dapat sama pada adaptor ethernet yang berbeda pada mesin yang sama. SUN memiliki satu alamat MAC unik untuk setiap mesin. Jadi kartu ethernet untuk komputer SUN tidak memiliki alamat MAC yang unik, mesin itu.

Jadi ketika Anda menghubungkan mesin ke dua jaringan yang berbeda, itu memiliki alamat MAC yang sama di kedua jaringan.

Anders
sumber
2

Alamat MAC adalah alamat lapisan tautan (2n) dalam model ISO / OSI dan model TCP / IP . Ini berarti alamat MAC digunakan untuk menghubungkan node di dalam jaringan lokal (point to point). Alamat IP adalah alamat lapisan jaringan (ke-3) di dalam Internet (ujung ke ujung).

Kedua alamat tersebut digunakan hanya pada layer mereka dan tidak dimaksudkan untuk digunakan di luarnya.

keluar
sumber
1

Alamat MAC target-alamat IP hanya berguna, untuk pengiriman paket, dalam satu domain siaran lokal.

mr_eclair
sumber
1

Orang-orang di sini menyatakan bahwa masalah menggunakan alamat MAC bukan alamat IPv4 adalah perutean, karena tabel perutean akan tumbuh besar - namun, yang mengasumsikan router IPv4. Dimungkinkan untuk memiliki tabel routing kecil, dan jika Anda tertarik caranya, cari routing namespace Flat. Salah satu makalah yang menjelaskan teknik itu adalah yang ini: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf

Nikola Knezevic
sumber
2
ROFL mengusulkan bahwa setiap router di dalam AS tetap melacak setiap host tunggal di dalam AS itu ... Dan menggunakan hash kriptografi untuk pengidentifikasi host ... Jadi tidak hanya akan ada jutaan entri dalam tabel routing dan persyaratan transfer / pemeliharaan yang mengerikan, tetapi algoritma kriptografi diperlukan untuk menginterpretasikan tabel. Penulis sudah gila. IP mungkin memiliki kekurangan, tetapi setidaknya tidak ada asumsi gila dalam desain dasar.
Chris S
Di ROFL, hanya router hop pertama yang perlu menjaga set node yang terhubung, bukan semua node di AS. Bagian # 2 menyebutkan caching, tetapi itu adalah optimasi. Crypto hanya diperlukan ketika node bergabung dengan router, bukan untuk interpretasi tabel routing. Routing dilakukan pada DHT, yang jauh lebih tangguh daripada routing hirarkis.
Nikola Knezevic
1

Ingatan saya adalah bahwa alamat MAC benar-benar alamat Ethernet. Alamat Ethernet dibagi menjadi dua bagian: bagian vendor - yang mengidentifikasi penjual kartu ethernet dan bagian alamat yang ditetapkan oleh vendor. Terserah vendor untuk membuatnya unik - atau tidak.

Jadi ruang alamat MAC 48 bit tidak digunakan secara efisien juga - sebagaimana disebutkan beberapa kali di atas - secara hierarkis.

Alamat tersebut dirancang untuk memiliki alamat unik di jaringan lokal, jaringan CSMA.

Setidaknya, seingat saya.

Alamat IP dirancang untuk skala jauh lebih umum dan untuk memecahkan masalah yang berbeda.

Mike Howard
sumber
Alamat MAC harus unik - itu tidak selalu terjadi seperti yang dicatat orang lain, tetapi ini merupakan persyaratan. Produsen bisa mendapatkan lebih dari satu ID Vendor. Ada sekitar 4 juta ID vendor yang mungkin (di ruang alamat MAC48, ada juga ruang alamat MAC64 yang akan datang) dan kurang dari sepersepuluh telah ditetapkan. Di dalam setiap Vendor ID ada 16 juta ID perangkat, diperlukan waktu yang lama untuk vendor yang bahkan lebih besar untuk kehabisan.
Chris S