Apa persisnya penggunaan alamat MAC?

126

Saya mengerti bahwa alamat IP bersifat hierarkis, sehingga router di seluruh internet mengetahui arah mana untuk meneruskan suatu paket. Dengan alamat MAC, tidak ada hierarki, dan dengan demikian penerusan paket tidak akan mungkin. Jadi, alamat MAC tidak digunakan untuk transfer paket.

Saya tidak berpikir itu ada di sana tanpa alasan. Jadi pertanyaan saya adalah, di mana tepatnya alamat MAC ikut bermain selama transfer paket?

VISHNU VIVEK
sumber

Jawaban:

57

TL; DR> Alamat MAC adalah komponen tingkat rendah dari jaringan Ethernet (dan beberapa standar serupa lainnya, seperti WiFi). Mereka memungkinkan perangkat untuk berkomunikasi dengan mesin di jaringan fisik lokal (LAN), dan tidak dapat diarahkan di Internet - karena perangkat keras fisik secara teori dapat dipasang di mana saja di dunia.

Sebaliknya, alamat IP mencakup seluruh internet, dan router menggunakannya untuk mencari tahu di mana harus mengirim data bahkan jika perlu beberapa lompatan untuk mencapai tujuannya - tetapi mereka tidak membantu dalam berinteraksi dengan perangkat keras fisik di jaringan lokal Anda.

Jika kita pernah menemukan standar yang lebih baik daripada Ethernet, itu mungkin tidak menggunakan alamat MAC tetapi lalu lintas IP dari internet masih bisa mengalir melintasinya, bahkan jika orang lain di internet belum pernah mendengarnya.

Jika kita pernah menemukan standar yang lebih baik daripada IP (misalnya IPv6 jika semua alamat IPv4 habis), sebagian besar perangkat keras Ethernet dapat membawa jenis lalu lintas baru tanpa modifikasi - dan pembaruan perangkat lunak / firmware sederhana akan memperbaiki sebagian besar sisanya.

Alamat MAC diperlukan untuk membuat fungsi jaringan Ethernet (atau wifi) lokal. Mereka memungkinkan perangkat jaringan untuk menarik perhatian satu perangkat yang terhubung langsung, meskipun koneksi fisik dibagikan. Ini bisa menjadi penting ketika ribuan perangkat terhubung bersama dalam satu organisasi. Mereka tidak melayani fungsi di internet yang lebih luas.

Untuk benar-benar memahami jawaban atas pertanyaan ini, Anda perlu memahami model OSI (kadang-kadang dikenal sebagai 7-layer) .

Agar komunikasi dapat terjadi antara 2 aplikasi yang berjalan pada mesin terpisah yang tidak memiliki koneksi fisik langsung, banyak pekerjaan yang harus dilakukan.

Di masa lalu, setiap aplikasi akan tahu persis instruksi kode mesin mana yang perlu dijalankan untuk menghasilkan sinyal yang tepat yang akan mencapai, dan dapat diterjemahkan oleh, aplikasi di ujung. Semua komunikasi secara efektif point-to-point, dan perangkat lunak harus ditulis agar sesuai dengan situasi yang tepat di mana itu akan digunakan. Jelas, itu tidak berkelanjutan.

Alih-alih ini, masalah jaringan terpecah menjadi beberapa lapisan, dan setiap lapisan tahu bagaimana berbicara dengan lapisan yang cocok pada mesin jarak jauh, dan bagaimana berkomunikasi dengan lapisan di bawahnya (dan kadang-kadang di atas) pada jaringan lokalnya. Itu tidak tahu sama sekali tentang lapisan lain di tempat - jadi browser web Anda tidak perlu peduli apakah itu berjalan pada mesin yang menggunakan token ring, ethernet atau jaringan wifi - dan pasti tidak perlu tahu perangkat keras apa menggunakan mesin jarak jauh.

Untuk membuatnya bekerja, model 7 layer menggunakan sistem agak seperti amplop bersarang; aplikasi membuat datanya dan membungkusnya dalam amplop untuk dikirimkan Sistem Operasi. OS membungkus ini dalam amplop lain dan meneruskannya ke driver Jaringan. Driver Jaringan membungkus ini dalam amplop lain dan memasukkannya ke kabel fisik. Dan seterusnya.

Lapisan bawah, lapisan 1 , adalah lapisan fisik. Ini adalah lapisan kabel dan transistor dan gelombang radio, dan pada lapisan ini, komunikasi sebagian besar hanya aliran yang satu dan yang lainnya. Data berjalan ke mana saja yang terhubung secara fisik. Anda mencolokkan port jaringan komputer Anda ke sakelar Anda menggunakan kabel CAT-5.

Lapisan 2 adalah lapisan tautan Data. Ini memberikan beberapa struktur untuk yang dan banyak, beberapa deteksi kesalahan dan kemampuan koreksi, dan beberapa indikasi tentang perangkat yang terhubung secara fisik (koneksi fisik di sini sebenarnya bisa melalui wifi) harus memperhatikan pesan. Ini adalah layer yang dimainkan oleh alamat MAC, dan kami akan kembali lagi nanti. Tetapi alamat MAC bukan satu-satunya kemungkinan pada lapisan ini. Jaringan token ring, misalnya, memerlukan implementasi tautan data yang berbeda.

Lapisan 3 adalah lapisan Jaringan. Ini adalah lapisan tempat IP bekerja (meskipun itu bukan satu-satunya protokol lapisan jaringan baik), dan inilah yang memungkinkan komputer untuk mengirim pesan yang bisa sampai ke mesin mana saja di "jaringan". Tidak perlu ada koneksi langsung antara mesin yang dimaksud.

Lapisan 4-7 adalah protokol tingkat yang lebih tinggi. Mereka semakin jauh dari perangkat keras dan lebih dekat ke aplikasi. TCP, misalnya, duduk di atas IP, dan menyediakan mekanisme yang secara otomatis mengirim ulang pesan ketika hilang.

Jadi alamat MAC berfungsi di Layer 2, dan mengizinkan 2 mesin yang secara fisik terhubung satu sama lain untuk mengirim pesan yang akan diabaikan oleh mesin lain yang memiliki koneksi fisik yang sama.

Misalkan saya memiliki aplikasi yang ingin mengirim beberapa data ke mesin dengan alamat IP 8.8.8.8

Lapisan 3 membungkus data dalam sebuah amplop yang berisi, antara lain, alamat IP 8.8.8.8 dan kemudian menyerahkannya ke lapisan 2.

Layer 2 melihat alamat IP ini dan memutuskan mesin mana yang terhubung langsung untuk dapat menangani pesan ini. Ini akan memiliki tabel pencarian pilihan alamat IP yang terhubung langsung bersama dengan alamat MAC yang sesuai dari kartu jaringan di mesin itu. Tabel pencarian ini dibangun menggunakan protokol yang disebut ARP, yang memungkinkan kartu jaringan mengajukan pertanyaan dari perangkat lain yang terhubung langsung. Ethernet menyimpan alamat MAC khusus, FF: FF: FF: FF: FF: FF: FF, yang memungkinkan perangkat berbicara dengan semua perangkat yang terhubung secara fisik.

Jika alamat IP ada di tabel (atau dapat diselesaikan melalui ARP), itu akan membungkus amplop Layer 3 dalam amplop Layer 2 dengan alamat MAC di header baru, dan kemudian meneruskan seluruh bundel ke perangkat keras di Layer 1 Kartu jaringan dengan alamat MAC yang cocok akan menerima pesan dan driver jaringan akan membuka amplop Layer 2 dan meneruskan konten ke bagian mana pun dari sistem operasi yang mengharapkan menerima pesan pada alamat IP tertentu.

Atau, jika alamat IP tidak di jaringan lokal, amplop baru akan memiliki alamat MAC dari gateway default (yaitu Router) yang dikonfigurasi untuk antarmuka jaringan ini, dan perangkat keras akan mengangkut paket ke router.

Router memperhatikan alamat MAC-nya sendiri di lapisan 2 amplop, dan membuka paket level 2. Itu terlihat pada alamat IP pada amplop level 3, dan berhasil di mana pesan harus pergi berikutnya, yang mungkin akan menjadi router di ISP Anda. Jika router menggunakan NAT (atau serupa), itu mungkin bahkan memodifikasi amplop level 3 pada saat ini, untuk menjaga alamat IP internal Anda tetap pribadi. Ini kemudian akan membungkus amplop level 3 dalam amplop level 2 baru yang ditujukan ke alamat MAC router ISP, dan mengirim pesan di sana.

Proses mengeluarkan amplop luar dan membungkus konten dalam amplop baru yang ditujukan ke langkah berikutnya dalam rantai akan berlanjut sampai pesan mencapai mesin tujuan.

Amplop kemudian akan terus dicabut ketika pesan berjalan kembali ke lapisan sampai akhirnya mencapai penerima yang dituju, yang akan menjadi aplikasi di suatu tempat yang, semoga, akan tahu apa yang harus dilakukan dengan pesan - tetapi tidak akan tahu bagaimana caranya. pesan sampai di sana atau memang semua langkah yang diperlukan untuk mendapatkan respons kembali ke mesin asli.

Tapi itu semua berhasil, hampir seperti sulap!

Perhatikan bahwa switch jaringan dapat menggunakan alamat MAC untuk mengoptimalkan aliran lalu lintas jaringan. Sementara hub ethernet meneruskan semua lalu lintas masuk ke semua port-nya, sebaliknya sebuah switch dapat meneruskan lalu lintas hanya ke port tunggal yang terhubung dengan alamat MAC tujuan paket. Ini meningkatkan bandwidth jaringan yang efektif; dengan menargetkan port tertentu, switch menghindari meneruskan lalu lintas pada segmen jaringan yang tidak perlu. Switch akan menggunakan ARP atau paket sniffing untuk mengidentifikasi perangkat mana yang terhubung ke port mana. Switch sepenuhnya mengabaikan konten paket Layer 2.

Bill Michell
sumber
Hai! Terima kasih atas jawabannya. Sejauh yang saya baca, jawaban Anda adalah yang terbaik. Akan luar biasa jika Anda bisa memasukkan beberapa konsep lagi seperti ARP dan NAT dalam skenario Anda.
Wisnu Vivek
1
Referensi tambahan untuk ARP dan Switch jaringan. Saya tidak berpikir NAT ada hubungannya dengan alamat MAC, menjadi fungsi layer 3 ...
Bill Michell
@ BillMichell: Dalam IPv6, MAC atau ID ('perangkat keras') lokal lainnya dapat digunakan untuk menulis IP.
Luciano
Jawabannya adalah komunitas Wiki. Anda mungkin dapat mengeditnya untuk memasukkan informasi tambahan ini jika Anda pikir itu akan membantu menjawab pertanyaan OP.
Bill Michell
Ini membutuhkan TL; DR.
AJMansfield
113

Untuk apa alamat MAC digunakan?

Alamat MAC adalah dasar-dasar level rendah yang membuat jaringan berbasis ethernet lokal Anda berfungsi. Lokal berarti bahwa perangkat jaringan dihubungkan langsung melalui kabel atau dengan WiFi atau melalui hub jaringan atau switch jaringan.

Kartu jaringan masing-masing memiliki alamat MAC yang unik. Paket yang dikirim pada ethernet selalu berasal dari alamat MAC dan dikirim ke alamat MAC. Jika adaptor jaringan menerima paket, ia membandingkan alamat MAC tujuan paket dengan alamat MAC adaptor itu sendiri. Jika alamatnya cocok, paket diproses, jika tidak maka akan dibuang.

Ada alamat MAC khusus, salah satu contohnya adalah ff: ff: ff: ff: ff: ff, yang merupakan alamat broadcast dan alamat setiap adapter jaringan dalam jaringan.

Bagaimana cara alamat IP dan alamat MAC bekerja bersama?

IP adalah protokol yang digunakan pada layer di atas ethernet. Protokol lain misalnya adalah IPX. IP memungkinkan menghubungkan berbagai jaringan lokal dan dengan demikian membentuk jaringan perusahaan atau internet global.

Ketika komputer Anda ingin mengirim paket ke alamat IP xxxx, maka pemeriksaan pertama adalah apakah alamat tujuan berada di jaringan IP yang sama dengan komputer itu sendiri. Jika xxxx berada di jaringan yang sama, maka IP tujuan dapat dihubungi secara langsung, jika tidak paket tersebut harus dikirim ke router yang dikonfigurasi.

Hingga kini segala sesuatunya menjadi semakin buruk, karena sekarang kami memiliki dua alamat IP: satu adalah alamat target paket IP asli, yang lain adalah IP perangkat tempat kami harus mengirim paket (lompatan berikutnya, baik final tujuan atau router).

Karena ethernet menggunakan alamat MAC, pengirim harus mendapatkan alamat MAC untuk hop berikutnya. Ada ARP protokol khusus (protokol resolusi alamat) yang digunakan untuk itu. Setelah pengirim telah mengambil alamat MAC dari hop berikutnya, ia menulis bahwa target alamat MAC ke dalam paket dan mengirim paket.

Bagaimana cara kerja ARP?

ARP sendiri merupakan protokol di atas ethernet, seperti IP atau IPX. Ketika sebuah perangkat ingin mengetahui alamat MAC untuk alamat IP yang diberikan, ia mengirim paket ke alamat MAC broadcast yang menanyakan "Siapa yang memiliki alamat IP yyyy?" Semua perangkat menerima paket itu, tetapi hanya satu dengan alamat IP yyyy yang akan merespons dengan paket "Ini aku." Perangkat yang meminta menerima jawaban dan sekarang tahu bahwa alamat MAC sumber dari paket ARP adalah alamat MAC yang tepat untuk digunakan. Tentu saja hasilnya akan di-cache, sehingga perangkat tidak perlu menyelesaikan alamat MAC setiap waktu.

Rute

Saya hampir lupa menyebutkan: tidak ada perutean berdasarkan alamat MAC. Ethernet tingkat rendah dan alamat MAC hanya dapat menjangkau setiap perangkat di jaringan yang sama (kabel atau nirkabel). Jika Anda memiliki dua jaringan dengan router di antaranya, Anda tidak dapat memiliki perangkat di jaringan A mengirim paket ke alamat MAC perangkat di jaringan B. Tidak ada perangkat di jaringan A yang memiliki alamat MAC perangkat di jaringan B, jadi paket ke alamat MAC ini akan dibuang oleh semua perangkat di jaringan A (juga oleh router).

Routing dilakukan pada level IP. Cukup dilihat router hanya melakukan apa yang saya jelaskan di atas di bagian "Bagaimana alamat IP dan alamat MAC bekerja bersama?". Router akan menerima paket untuk alamat MAC-nya sendiri tetapi untuk alamat IP yang berbeda. Dia kemudian akan memeriksa apakah dia dapat langsung mencapai alamat IP target. Jika demikian, ia mengirim paket ke target. Kalau tidak, router itu sendiri juga memiliki router hulu yang dikonfigurasi dan akan mengirim paket ke router itu.

Tentu saja Anda dapat mengatur banyak router. Router rumah Anda hanya akan memiliki satu router hulu yang dikonfigurasi, tetapi di backbone internet router besar memiliki tabel routing yang besar sehingga mereka tahu cara terbaik untuk semua paket.

Kasus penggunaan lainnya untuk alamat MAC

  1. Switch jaringan menyimpan daftar alamat MAC yang terlihat di setiap port dan hanya meneruskan paket ke port yang perlu melihat paket.

  2. Titik akses nirkabel sering menggunakan alamat MAC untuk kontrol akses. Mereka hanya mengizinkan akses untuk perangkat yang dikenal (alamat MAC unik dan mengidentifikasi perangkat) dengan frasa sandi yang benar.

  3. Server DHCP menggunakan alamat MAC untuk mengidentifikasi perangkat dan memberikan beberapa perangkat alamat IP tetap.

Werner Henze
sumber
16
Memberi +1 untuk benar-benar menjawab pertanyaan dengan cara yang bisa dimengerti oleh orang yang belum tahu jawabannya.
lembut
Saya tidak bisa menahan perasaan untuk membuat infografis / diagram yang luar biasa, cara MAC / IP berinteraksi cukup menarik!
NRGdallas
1
jawaban yang bagus hanya perincian: Alamat MAC juga digunakan untuk perangkat non Ethernet dan Anda menggambarkan pada dasarnya berlaku untuk setiap lapisan data-link yang digunakan dengan tumpukan IP
kriss
Patut dicatat tentang Wi-Fi MACs: Meskipun umumnya unik dan dapat digunakan untuk mengidentifikasi perangkat, mereka mudah dipalsukan dan dikirim secara jernih melalui udara. Jika tidak ada enkripsi / otentikasi lain yang digunakan pada koneksi, atau jika mekanisme enkripsi / otentikasi lainnya lemah (misalnya: WEP), sangat sepele bagi penyerang untuk menyamar sebagai perangkat resmi dan bergabung dengan jaringan.
Iszi
1
@Rick Anda benar, IP tujuan untuk koneksi tidak berubah. Tetapi dalam paragraf yang dikutip saya berbicara tentang tujuan langsung dari paket - yang mungkin router, dan router mungkin berubah selama koneksi. Mengenai komentar kedua Anda, saya mengubah teks menjadi "sumber alamat MAC dari paket ARP". Saya harap itu lebih jelas.
Werner Henze
47

MAC-Address (alamat Media Access Control) secara umum adalah pengidentifikasi perangkat dalam jaringan. Jadi setiap NIC (pengontrol antarmuka jaringan yang ditemukan di router, PC, printer jaringan, server, dll.) Memiliki alamat MAC. Beberapa server memiliki lebih dari satu kartu jaringan bawaan dan karenanya memiliki beberapa alamat MAC. Alamat MAC panjangnya 6 Bytes (6 oktet). Kiri adalah Byte paling signifikan dan kanan Byte paling signifikan. Seperti yang Anda lihat pada gambar di bawah, 3 Bytes pertama adalah Pengidentifikasi Unik Organisasi . Ini menunjukkan pabrikan yang membuat perangkat ini.

Berikut daftar Pengidentifikasi Unik Organisasi : Standards.ieee.org

Inilah alternatif untuk yang di atas: MAC-Vendor-Lookup

Beberapa contoh produsen yang dikenal umum:

  • 00-05-5D (D-Link Systems Inc.)
  • 00-09-5B (Netgear Inc.)
  • 00-E0-4C (Realtek Semiconductor Corp.)
  • 00-E0-4F (Cisco Systems Inc.)
  • 00-E0-64 (Samsung Electronics)

3 Bytes terakhir (3 oktet) ditetapkan secara acak oleh pabrikan.

Seperti pjc50 yang dinyatakan dengan benar, alamat MAC dalam jaringan Ethernet membantu switch memutuskan paket mana yang akan dikirim. Ada juga Broadcast-MAC-Address. ff: ff: ff: ff: ff: ff digunakan untuk Broadcast-MAC-Address. Perhatikan bahwa MAC-Address dapat diubah jadi hati-hati menggunakannya sebagai pengidentifikasi perangkat yang pasti! Alamat MAC juga digunakan dengan protokol ARP (Address Resolution Protocol). Jadi cara kerjanya, PC A mengirimkan ARP-Request ke PC B dengan IP-Address, MAC-Address, IP-Address penerima dan alamat broadcast yang disebutkan di atas (ff: ff: ff: ff: ff: ff : ff). Setelah itu PC B memeriksa apakah Paket dikirim kepadanya atau tidak. Jika ya, maka PC B mengirimkan alamat MAC, Alamat IP, Alamat MAC penerima dan alamat IP penerima kembali. Perangkat lain membuang paket.

Baik PC A dan B biasanya menyimpan koneksi yang berhasil dalam apa yang disebut ARP-Cache. Cara PC menyimpan koneksi berbeda dari perangkat ke perangkat. Jika Anda tidak tahu Alamat-IP maka Anda bisa mendapatkan Alamat-IP dengan Protokol Resolusi Alamat Balik (RARP). Dengan RARP, perangkat akan menghubungi klien pusat dan meminta alamat IP. Tetapi metode ini jarang digunakan saat ini.

Teknologi berikut menggunakan format pengidentifikasi MAC-48:

  • Ethernet
  • Jaringan nirkabel 802.11
  • Bluetooth
  • Cincin token IEEE 802.5
  • sebagian besar jaringan IEEE 802 lainnya
  • FDDI
  • ATM (hanya beralih koneksi virtual, sebagai bagian dari alamat NSAP) Fibre Channel dan Serial Attached SCSI (sebagai bagian dari World Wide Name)
Meintjes
sumber
4
Lebih akurat daripada "setiap perangkat (...) memiliki MAC-Alamat.", Setiap NIC memiliki Sebuah alamat MAC . (Tidak mempertimbangkan kemampuan untuk menetapkan alamat MAC khusus.) Tidak semua printer memiliki kartu jaringan bawaan, dan banyak server memiliki lebih dari satu kartu jaringan dan dengan demikian lebih dari satu alamat MAC.
CVn
2
Katakanlah PC-1 mengirimkan Paket ke PC-2. Sekarang Switch hanya membaca MAC-Address PC-1 dan menyimpannya ke dalam tabel. Jika Anda ingin info lebih lanjut tentang cara kerjanya, baca ini: Bagaimana Switch LAN Bekerja :)
Meintjes
3
Poin lain adalah bahwa alamat MAC adalah bagaimana NIC memutuskan apa yang harus dibuang dan apa yang harus dikirim ke prosesor untuk ditangani. Frame Ethernet yang ditemui pada kawat memiliki alamat MAC tujuannya XOR dengan alamat MAC NIC dan jika hasilnya semua 0s maka frame tersebut ditujukan untuk NIC ini.
bbayles
7
-1: Pertanyaannya menanyakan bagaimana alamat MAC digunakan, bukan apa alamat MAC itu. Satu-satunya bagian dari jawaban Anda yang menjawab pertanyaan adalah daftar peluru di bagian akhir, dan itu tidak masuk ke banyak detail.
Kevin
4
Gambar diambil dari wikipedia: en.wikipedia.org/wiki/File:MAC-48_Address.svg , gambar yang dilisensikan di bawah creative commons harus dikaitkan dengan penulisnya ketika digunakan.
Étienne
24

Mereka yang digunakan untuk transfer paket: pada jaringan Ethernet, ada sejumlah perangkat, dan alamat MAC menentukan mana perangkat harus menerima paket. Switch Ethernet akan menggunakannya untuk memilih port mana untuk mengirim paket yang diterima.

pjc50
sumber
5
Mungkin menarik untuk dicatat bahwa Ethernet awalnya adalah media bus, di mana semua mesin secara fisik berbagi media yang sama (ini masih berlaku untuk jaringan nirkabel). Jadi secara logis itu bekerja seperti itu.
LawrenceC
dan masih berlaku untuk jaringan yang masih menggunakan hub :)
Doon
selanjutnya switch hanyalah sebuah fasilitas (benar-benar menjadi tersebar luas dengan RJ-45 LAN) kita dapat dan memang memiliki jaringan IP tanpa mereka (menggunakan hub atau 802.11)
kriss
7

Lupakan hierarki dalam hal ini, itu bukan masalah yang sangat penting.

Alamat MAC adalah alamat untuk lapisan 2 (lapisan tautan) dalam model ISO / OSI atau TCP / IP. Alamat IP berasal dari lapisan 3 (Lapisan jaringan) dalam model yang sama.

Dalam jaringan layer 2, misalnya jaringan Ethernet yang umum, terdapat domain collision, di mana semua peralatan yang terhubung dapat menerima semua frame (layer 2 unit data) dari titik akhir apa pun. Tetapi tidak ada orang di luar jaringan yang dapat menerima bingkai ini. Alamat MAC adalah alamat di domain ini.

Paket adalah data unit layer 3, biasanya, paket IP. Mereka melakukan perjalanan melalui satu atau lebih domain tabrakan. Alamat IP adalah alamat dalam domain ini.

Switch adalah perangkat layer 2 dan frame maju menggunakan tabel alamat MAC. Router adalah perangkat layer 3 dan mereka meneruskan paket menggunakan tabel alamat IP.

keluar
sumber
6

Ethernet mengasumsikan komputer lain (MAC lain) yang ingin diajak bicara dapat langsung dijangkau dari adaptor jaringannya. IP tidak. IP berasumsi bahwa ia dapat mencapai IP lain di seluruh dunia dan bahwa jika ia tidak dapat mencapainya pada subnet saat ini, sebuah router akan membawanya ke sana, terlepas dari NAT. Gagasan gateway tidak ada di Layer 2 atau Ethernet.

Jika Anda memiliki sejumlah mesin yang terhubung ke sakelar, dan tidak akan pernah perlu memperdagangkan lalu lintas dengan jaringan lain / Internet melalui router, maka Anda benar-benar tidak perlu memiliki IP dan menjalankan. Tentu saja, sebuah aplikasi harus mengimplementasikan atau menyediakan protokol mereka sendiri di atas layer 2, karena hampir semua OS dan aplikasi menganggap Anda selalu ingin menggunakan TCP / IP.

Selalu ingat 'Internet' dalam IP berarti 'internetworking' yang berarti benar-benar berkaitan dengan mendapatkan lalu lintas antara jaringan lebih dari dalam jaringan, meskipun jelas itu dapat (dan) digunakan untuk itu juga.

ultrasawblade
sumber
Paragraf pertama adalah jawaban yang sempurna! Yg memperjelas!
Milind R
6

Alamat MAC digunakan pada transfer fisik. Adaptor ethernet tidak tahu apa-apa tentang IP. Jadi adaptor ethernet menggunakan alamat MAC untuk mengatasi penerima paket data.

Jika adaptor ethernet akan tahu apa-apa tentang IP maka kita harus memutakhirkan semua firmware kita untuk beralih ke protokol baru (seperti IPv4 ke IPV6).

Juga alamat MAC memiliki beberapa informasi di dalamnya tentang pabrikan di dalamnya.

Uwe Plonus
sumber
3
Router tidak menggunakan alamat MAC untuk merutekan apa pun. Mereka menggunakan alamat IP. Hub menyalin lalu lintas yang tidak dimodifikasi dari port mereka, tetapi ini akan disebut bridging, karena lalu lintas tidak melintasi jaringan yang berbeda, tetapi melalui jaringan yang sama.
LawrenceC
5

Ini digunakan ketika ARP (Address resolution protocol) untuk IPv4 atau NDP (Neighbor Discovery Protocol) untuk IPv6, menerjemahkan Alamat IP menjadi alamat MAC untuk menentukan host unik mana frame harus dikirim.

Jesper Jensen
sumber
Ini cukup dekat, tetapi tidak mencakup semua penggunaan. Itulah bagaimana MAC berhubungan dengan TCP / IP, tetapi MAC digunakan untuk lebih dari itu. Ini adalah jawaban pertama yang saya tidak berikan -1 meskipun (bekerja dari bawah halaman ke atas).
Mark Henderson
@ Mark Henderson Terima kasih atas kritiknya. Yah saya hanya mencoba menjawab pertanyaan How MAC addresses were used in packet transferdan kemudian saya berasumsi itu pada tingkat Ethernet. Dan ya itu adalah jawaban yang sederhana, tetapi saya menjawab pada tingkat yang sesuai dengan tingkat saya sendiri :)
Jesper Jensen
3

Untuk melengkapi jawaban orang lain, saya akan menambahkan bahwa alamat MAC bahkan lebih penting untuk router daripada untuk switch. Yang saya maksud dengan lebih kritis adalah bahwa switch tidak benar-benar diperlukan untuk jaringan IP ada. Jika Anda melihat 20 tahun ke belakang (sebelum RJ-45) jaringan IP lokal bekerja dengan sempurna tanpa switch jaringan ethernet non routed hanya menghubungkan perangkat pada kabel yang sama, (lihatlah ke teknologi ethernet X base-T misalnya).

Di sisi lain jaringan IP diciptakan untuk mendukung routing dan bergantung pada skema pengalamatan MAC dan IP.

Paket perutean dalam jaringan IP berarti bahwa ketika mesin target tidak dapat diakses secara langsung, ia pertama-tama akan dikirim ke mesin lain (gateway) yang lebih dekat ke target IP akhir.

Dalam hal header paket jaringan itu berarti bahwa paket yang dikirim ke gateway akan memiliki sebagai target di header tingkat ethernet alamat MAC gateway, header tingkat IP dibiarkan tidak berubah.

Anda juga harus memperhatikan bahwa alamat MAC biasanya berarti jaman sekarang MAC-48 (alamat perangkat fisik) atau EUI-48 (alamat perangkat logis) atau bahkan 8 byte alamat EUI-64 yang digunakan dalam jaringan yang lebih besar. Secara historis MAC diciptakan oleh Xerox untuk teknologi Ethernet dan kemudian digunakan kembali untuk teknologi transportasi jaringan lainnya (802.11, Bluetooth, FibreChannel, BlueTooth) yang perlu mengidentifikasi perangkat.

Seperti yang saya katakan, Anda dapat menggunakan layer-2 bukan ethernet, tetapi sebagian besar menggunakan alamat MAC sebagai pengidentifikasi jaringan dan skema korespondensi MAC / IP yang mendasarinya berlaku dan Anda masih dapat menggunakan ARP. Sejauh yang saya tahu semua tumpukan IP bergantung pada tabel korespondensi antara alamat MAC dan Alamat IP.

Beberapa jenis pengidentifikasi node perangkat lainnya ada untuk Stacks non IP. Misalnya X.25 tidak bergantung pada alamat MAC, tetapi pada saluran virtual yang dibuat berdasarkan per koneksi, atau Perangkat ATM diidentifikasi dalam jaringan ATM menggunakan SNPA. Tapi baik X.25 atau ATM adalah tumpukan IP (dan bahkan ATM menggunakan format alamat MAC sebagai bagian dari SNA-nya, setara kasar dengan alamat IP untuk ATM).

kriss
sumber
Router tidak peduli dengan alamat MAC. Mereka peduli dengan tugas subnet untuk masing-masing setidaknya 2 NIC mereka, tetapi tidak benar-benar tentang alamat MAC. Mereka meneruskan (yaitu menyalin) lalu lintas dari satu IP ke IP lainnya, bukan dari IP ke MAC atau semacamnya.
LawrenceC
4
@ultrasawblade, pernyataan Anda tidak masuk akal . Jika router terhubung ke jaringan Ethernet, maka router harus berkomunikasi menggunakan protokol Ethernet. Paket IP akan dienkapsulasi dalam Frame Ethernet. Yang berarti mengetahui alamat mac dari semua ** secara langsung Ethernet host ** sistem adalah mutlak diperlukan. Perangkat layer 3 tidak secara ajaib berkomunikasi hanya pada protokol layer 3, itu harus merangkum protokol layer 3 dalam protokol layer 2, yang kemudian ditransmisikan melalui media layer 1.
Zoredache
3
Saya tidak setuju dengan kalimat pertama Anda - mereka tidak "lebih kritis" untuk router daripada switch - mereka semua sama pentingnya di seluruh jaringan Ethernet.
Mark Henderson
1
Anda dapat mengganti layer 2 yang mendasarinya dengan sesuatu yang sama sekali berbeda (meskipun saya tidak tahu apa) dan IP masih akan bekerja sama. Protokol IP (Layer 3) tidak peduli jika host individu dialamatkan di bawah oleh MAC atau skema lainnya. Tentu saja ada kebutuhan untuk mempertahankan IP ke pemetaan MAC - tetapi sulit untuk mengetahui apakah ARP benar-benar "milik" Layer 3 atau Layer 2. Intinya adalah protokol layer 2 tidak harus Ethernet dan IP tidak peduli Saya perlu tahu apa protokol Layer 2.
LawrenceC
2
@ Mark Henderson: karena saya sudah tua saya ingat saat tidak ada saklar. Mereka tidak benar-benar bagian penting dari peralatan jaringan IP dapat bekerja tanpa switch. Switch hanya menggunakan tata letak jaringan data yang sudah ada sebelumnya. Jika saat ini kami memilikinya di mana-mana adalah konsekuensi dari teknologi RJ point-to-point menggantikan bus tua. Dengan kata lain: alamat MAC tidak ditemukan untuk membuat switch berfungsi. Di sisi lain jaringan IP diciptakan untuk tujuan routing, maka hubungan MAC ke IP sangat penting.
Kriss
2

Pikirkan kembali hari-hari pra-switch (hub).

Jika orang adalah komputer, maka alamat MAC adalah nama mereka.

Banyak orang berpura-pura (komputer) melakukan panggilan telepon yang sama. Semua orang berbicara pada saat bersamaan.

ANDA (satu komputer) mendengar SEMUA obrolan ini, tetapi Anda tidak tahu apa yang harus Anda dengarkan, SAMPAI seseorang mengatakan nama Anda (alamat MAC Anda) di awal kalimat (satu paket).

"FRED, THERE IS ICE CREAM!"

Tentu saja, Anda juga mendengarkan kalimat yang dikirim ke alamat siaran . Anggap saja seseorang berteriak,

"EVERYONE, THERE IS ICE CREAM!"

Semakin banyak orang (komputer) melakukan panggilan konferensi, semakin banyak Anda harus memfilter. Teknologi canggih dan sakelar memungkinkan kami untuk berbicara langsung dengan satu orang (komputer / MAC) sehingga mereka tidak perlu bekerja keras untuk menyaring semua kebisingan itu (dan untuk membebaskan lebih banyak bandwidth).

IP sangat mirip dalam analogi dasarnya, tetapi memiliki lebih banyak fitur dan lapisan di atas pengalamatan MAC. Layers 2 dan 3 dalam Model OSI , masing-masing.

Randy James
sumber
Anda tidak perlu berpikir kembali ke hari-hari pra-beralih. Alamat MAC hidup dan baik dan digunakan di setiap paket tunggal yang meninggalkan adaptor Ethernet Anda hari ini , saat ini.
Mark Henderson
Sangat benar. Tapi ini membantu dengan analoginya. Dan NIC masih berperilaku sama.
Randy James
2

Alamat MAC diperlukan karena ada beberapa alamat yang melekat pada "bus" (jaringan Ethernet). Pengirim harus dapat mengidentifikasi penerima, serta mengidentifikasi dirinya ke penerima.

Semua bus perangkat keras perlu diatasi, karena beberapa pengirim dan penerima berbagi kabel yang sama, dan pesan harus dikirim ke penerima tertentu, dan juga mengidentifikasi pengirim yang berasal.

I2C, PCI, Ethernet, apa saja.

Kami memiliki beberapa alamat di antar-jaringan (alamat IP dan alamat perangkat keras) karena alamat tingkat perangkat keras hanya bersifat lokal untuk jaringan fisik tertentu. Saat datagram berjalan dari jaringan ke jaringan, ia cenderung mempertahankan alamat tingkat jaringannya, tetapi ia mengubah alamat perangkat keras berkali-kali. Ketika melewati beberapa jaringan, mungkin tidak memiliki alamat perangkat keras sama sekali, dan di beberapa yang lain mungkin memiliki alamat perangkat keras yang bukan MAC ethernet. (Alamat jaringan dapat ditulis ulang oleh gateway NAT, tentu saja, tetapi alamat perangkat keras dilucuti dan diganti dengan yang berbeda setiap kali paket melintasi router.)

Kaz
sumber
1

Di masa lalu jaringan adalah bus bersama. Setiap perangkat jaringan terhubung ke kabel yang sama, atau ke hub yang berarti bahwa setiap paket yang Anda kirim diterima oleh setiap perangkat di jaringan.

Perangkat lunak jaringan lebih sederhana saat itu. Setiap perangkat memiliki alamat MAC, yang dijamin unik. Tidak perlu apa-apa lagi - yang dilakukannya hanyalah memastikan bahwa tidak ada dua perangkat di jaringan yang sama yang memiliki alamat yang sama.

Jika perangkat Anda ingin berbicara dengan perangkat lain, ia akan mengirim paket dengan alamat MAC penerima, dan penerima akan mengambilnya dari jaringan. Semua perangkat lain akan mengabaikannya - itu tidak ditujukan ke alamat MAC mereka.

Seiring waktu orang-orang memasang terlalu banyak perangkat ke jaringan, dan mereka tidak dapat mengikuti lalu lintas, sehingga mereka mulai memisahkan jaringan, dan akan memasang dua jaringan dengan switch. Switch ini memiliki tabel besar yang memberi tahu mereka alamat MAC mana di setiap jaringan. Jika mereka melihat paket di satu jaringan yang ditujukan ke alamat MAC di jaringan lain, mereka akan menyalin pesan ke jaringan lain. Mereka tidak akan menyalin semua pesan, hanya pesan-pesan yang perlu masuk ke jaringan lain.

Ini mengurangi kemacetan dan memungkinkan lebih banyak perangkat untuk terhubung ke jaringan, dan lebih banyak lalu lintas secara keseluruhan ditangani. Ini adalah jaringan packet switched .

Namun itu tidak menyelesaikan semua masalah, dan menderita satu kerugian besar - karena tabel switch semakin besar, jaringan melambat. Jika Anda menghubungkan 5.000 mesin ke 50 jaringan yang berbeda yang semuanya terhubung dengan switch, setiap switch harus mempelajari semua 5.000 alamat MAC dan merutekan paket berdasarkan itu.

Itu bukan masalah besar sampai orang-orang dari lembaga yang berbeda, seperti universitas, ingin menghubungkan jaringan mereka bersama-sama, dan tabel yang diperlukan akan luar biasa. Melacak beberapa ratus ribu alamat MAC hari ini sepertinya bukan masalah besar, tetapi pada tahun 1970-an ketika switch-switch tersebut adalah komputer itu sendiri, dengan memori dan kecepatan terbatas, dan melacak dan dengan cepat berpindah paket untuk beberapa orang. seratus adalah masalah.

Solusinya adalah pergi ke jaringan IP, dan menggunakan router. Ini dibangun di atas jaringan packet switched berbasis alamat MAC. Daripada data mentah, paket-paket sekarang berisi paket IP - paket dalam paket.

Sekarang jaringan yang lebih besar terhubung dengan router. Ini menunggu sampai mereka melihat paket dengan alamat MAC mereka, kemudian mereka mengeluarkan paket IP dan memeriksa alamat IP. Mereka kemudian membungkus ulang paket IP ke dalam paket lain dengan penerima alamat MAC yang baru dan mengirimkannya ke jaringan baru. Alamat MAC itu mungkin ke router lain di jaringan baru, tetapi bisa juga mesin dengan alamat IP.

Dalam jaringan saat ini, Anda jarang melihat hub dan bus (kecuali di jaringan nirkabel, di mana medium secara inheren dibagi) dan sebagai gantinya mesin saya terhubung langsung ke switch, yang mereka hubungkan ke router.

Mesin saya memiliki berbagai algoritma dan protokol sehingga ia tahu bagaimana jaringan diatur.

Jika saya mengirim paket IP ke mesin di jaringan lokal saya, mesin saya akan memasukkannya ke dalam paket dengan alamat MAC yang benar. Switch akan mengalihkannya ke jaringan yang benar secara lokal, dan mesin yang ditakdirkan akan menerimanya karena memiliki alamat MAC yang tepat. Mereka akan mengeluarkan paket IP dan mengecek apakah alamat IP juga ditujukan untuknya, dan bertindak sesuai.

Jika saya mengirim paket IP yang ditujukan untuk mesin di tempat lain di internet, mesin saya tahu untuk mengirimnya ke router, jadi ia meletakkannya di dalam paket dengan alamat MAC router. Itu lagi diaktifkan secara lokal di jaringan saya sampai menyentuh jaringan router aktif, kemudian router mengambilnya, menarik paket IP keluar, memeriksa paket IP, dan berdasarkan pengetahuannya tentang internet, ia mengirimkannya ke router lain di jaringan lain, membungkusnya dalam paket dengan alamat MAC untuk router yang dituju atau komputer tujuan.

Ada banyak detail kecil yang saya bahas, dan beberapa algoritma dan protokol yang benar-benar menarik yang membuat semuanya bekerja, tapi itu adalah kisah dasar tentang apa yang dilakukan alamat MAC untuk kita, bahkan hari ini.

Adam Davis
sumber
1
Anda memulai dengan baik, tetapi Anda kehilangan itu di tengah di mana Anda mulai berbicara tentang jaringan yang saling berhubungan. Switch tidak umum sampai tahun 90-an tetapi routing ada 20 tahun sebelumnya.
Mark Henderson
-1

Perbedaan mendasarnya adalah bahwa MAC diberikan oleh pabrikan pada waktu pembuatan, sedangkan alamat IP diberikan pada waktu koneksi.

MAC diperlukan karena dapat digunakan untuk mengidentifikasi perangkat sebelum menghubungkan ke jaringan; namun karena ini ditetapkan secara statis, itu cukup banyak didistribusikan secara acak, sehingga tidak cocok untuk perutean yang efisien lebih dari satu jaringan tunggal (melakukan hal itu akan memerlukan setiap perangkat di planet ini untuk memiliki tabel perutean yang sangat besar untuk semua perangkat lain di planet ini ). Oleh karena itu alamat IP diperlukan karena ditugaskan pada waktu koneksi, dan cara pemberiannya memungkinkan perutean jarak jauh yang lebih efisien (dengan IP, sebagian besar perangkat hanya perlu mengetahui jaringan yang berdekatan).

Jika hanya ada alamat IP, maka perangkat yang belum diberi alamat IP tidak akan bisa mengatakan pesan mana yang ditujukan untuk mereka. Bagaimana Anda menentukan bahwa DHCP ini dimaksudkan untuk Anda dan bukan orang lain yang juga meminta penetapan alamat pada waktu yang bersamaan?

Tentu saja MAC juga digunakan untuk bagian lain dari pengiriman paket, tetapi sebagian besar dari penggunaan itu cukup banyak dan dapat (setidaknya secara teori) digantikan oleh nomor yang diberikan secara dinamis (misalnya alamat IP).

Lie Ryan
sumber
+1 untuk alasan kami tidak hanya terus menggunakan alamat MAC.
deed02392
3
Paragraf pertama secara teknis benar, tetapi itu bukan perbedaan akar. Perbedaan mendasarnya adalah bahwa MAC milik Ethernet, dan IP milik TCP / IP. Anda dapat menjalankan TCP / IP melalui beberapa protokol Layer 2 (ATM, misalnya), dan ada lebih dari sekadar TCP / IP yang berjalan di Etherhet. Tidak ada yang namanya "sebelum menghubungkan ke jaringan", tetapi ada "Sebelum mendapatkan alamat IP dari DHCP". Tetapi MAC masih digunakan setelah itu - karena ia duduk pada lapisan yang berbeda dalam model OSI. Paragraf terakhir benar-benar salah - tidak ada pengganti untuk alamat MAC di jaringan.
Mark Henderson
@ MarkHenderson: Maksud saya adalah bahwa MAC milik Ethernet dan IP ke TCP / IP cukup banyak kecelakaan historis; secara teoritis, jika kami mendesain ulang seluruh tumpukan internet dari awal (dan mengabaikan OSI dan kompatibilitas dengan jaringan lain), akan mungkin untuk mengganti sebagian besar penggunaan nomor yang ditetapkan pabrik (misalnya MAC) dengan nomor yang ditetapkan secara dinamis (misalnya IP), kecuali bahwa ada sejumlah paket yang perlu dikirim / diterima sebelum nomor yang ditugaskan secara dinamis dapat diperoleh, itulah sebabnya diperlukan pengenal unik global yang ditugaskan pabrik.
Lie Ryan
@ MarkHenderson: IMO, mengatakan bahwa kita memerlukan MAC dan IP karena MAC adalah layer 2 dan IP adalah layer 3 sama seperti mengatakan "kita membutuhkannya karena kita telah mendesain internet seperti itu", itu melenceng dan tidak memberikan informasi berguna apa pun. Apa yang saya jawab di sini adalah mengapa kedua pengenal yang ditugaskan pabrik dan yang ditugaskan secara dinamis diperlukan karena sifat masalah, dan apa yang diperlukan dari tumpukan internet tanpa salah satu (kehilangan efisiensi routing tanpa ID yang ditugaskan secara dinamis dan kesulitan untuk menangani perangkat secara unik sebelum penetapan ID dinamis tanpa ID yang ditetapkan pabrik).
Lie Ryan
@ LieRyan, Sebenarnya kita bisa mengubah alamat MAC PC kita .......
Pacerier