Seperti yang saya mengerti dari model ISO-OSI, alamat MAC beroperasi pada lapisan yang berbeda dari alamat IP. Ini jelas bagi saya.
Saya dapat menerima bahwa Ethernet (LAN) tidak menggunakan alamat IP untuk melakukan komunikasi, tetapi menggunakan alamat MAC. Saya mengerti bahwa alamat MAC ini tidak dapat digunakan untuk perutean di luar LAN, karena mereka tidak didefinisikan secara hierarkis. Saya juga mengerti bahwa IP adalah cara terbaik untuk melakukan routing melalui Internet besar. Apa yang saya tidak sepenuhnya yakin, adalah bahwa alamat MAC adalah cara terbaik untuk berkomunikasi dalam LAN
Pertanyaan saya adalah sebagai berikut:
- Tidak bisakah Ethernet memanfaatkan alamat IP untuk mengirim pesan? Saya tidak mengatakan itu harus, saya hanya bertanya apakah itu bisa memilih untuk melakukannya.
- Karena Ethernet menggunakan alamat MAC untuk komunikasi, dapatkah saya membuat jaringan Ethernet di mana perangkat tidak memiliki alamat IP, hanya alamat MAC?
networking
ethernet
mac-address
Michael
sumber
sumber
Jawaban:
Bisakah Ethernet menggunakan alamat IP alih-alih alamat layer data-link itu sendiri? Tentu tidak, jika ingin menjadi agnostik tentang protokol layer-3 apa yang digunakannya.
Kami merancang protokol jaringan dalam lapisan sehingga kami dapat mencampur dan mencocokkan lapisan.
Ethernet pada awalnya dikembangkan oleh Bob Metcalfe et alia di Xerox PARC menjadi Network-layer agnostic, karena tujuan mereka bukan hanya akses TCP / IP tetapi juga untuk stack / suite protokol jaringan XNS milik Xerox sendiri.
DEC (Digital Equipment Corporation) menjadi pengguna awal lainnya, menggunakannya terutama untuk stack / suite protokol DECnet mereka.
Pada akhir 80-an dan awal 90-an ada banyak suite protokol LAN yang bersaing (semua benar-benar independen dari TCP / IP) yang berjalan pada LAN Ethernet perusahaan. Selain XNS dan DECnet, ada AppleTalk Apple (EtherTalk), IPX Novell, Banyan VINES, NetBEUI, DLC / LLC, IBM SNA, OSI / ISO, dan lainnya yang saya sudah lupa.
Jadi, Ya, Anda bisa menggunakan Ethernet tanpa IP. Banyak jaringan perusahaan melakukannya di tahun 80-an dan 90-an.
Karena Ethernet dirancang untuk tidak peduli dengan protokol Layer-3 (Network Layer) apa yang dijalankan, itu relatif mudah bagi LAN perusahaan untuk mendukung campuran berbagai peralatan vendor, dan relatif mudah bagi LAN tersebut untuk menambahkan IPv4 mendukung ketika Internet lepas landas di pertengahan hingga akhir 90-an, dan sudah relatif mudah bagi kita untuk menambahkan dukungan IPv6 sekarang.
sumber
Karena Ethernet menggunakan alamat MAC untuk komunikasi, dapatkah saya membuat jaringan Ethernet di mana perangkat tidak memiliki alamat IP, hanya alamat MAC?
Jika Anda menulis semua perangkat lunak Anda sendiri dari awal, maka Anda pasti bisa melakukan ini. Biarkan saja perangkat lunak menerima alamat MAC di mana saja yang mitra normal untuk program itu akan menerima alamat IP. Gunakan semua panggilan sistem untuk mengirim paket ethernet mentah daripada alamat IP dan itu akan berhasil - tetapi itu akan menjadi masalah besar.
Secara umum, alamat MAC di jaringan Anda tidak mengikuti pola apa pun. Mereka dibakar ke perangkat keras oleh produsen. Mereka panjang dan tebal. Milik saya sekarang adalah C8-60-00-CA-4B-9A. Komputer di sebelah saya adalah 00-40-F4-48-1B-88.
Agar mesin dapat saling berbicara satu sama lain, Anda dapat memberikan masing-masing mesin daftar kode-keras dari semua alamat MAC dari semua mesin lain di jaringan sehingga ia akan tahu ke mana harus mengirim paket. Ini banyak mengetik kesalahan rawan, dan setiap kali Anda mengubah perangkat keras jaringan Anda, Anda harus berkeliling dan mengubah semua daftar untuk mencerminkan alamat MAC yang baru.
Ini adalah masalah besar, jadi Anda mungkin akan menemukan cara untuk mesin-mesin di jaringan untuk secara otomatis menemukan alamat MAC satu sama lain menggunakan paket siaran. Maka Anda akan memberi mereka cara untuk mengidentifikasi diri mereka dengan beberapa alamat yang bermakna sehingga Anda harus mengetikkan perintah seperti "telnet C8-60-00-CA-4B-9A".
Ternyata inilah yang dilakukan oleh IP - ini adalah cara untuk menggunakan angka yang bermakna untuk mengatasi host di jaringan daripada mengkodekan alamat MAC. Tambahkan DNS di atas IP dan Anda dapat mengetik perintah seperti "telnet webserver".
Tidak bisakah Ethernet memanfaatkan alamat IP untuk mengirim pesan? Saya tidak mengatakan itu harus, saya hanya bertanya apakah itu bisa memilih untuk melakukannya.
Alamat MAC adalah 6 byte info dan alamat IP hanya 4 byte, sehingga Anda tidak dapat melakukan pemetaan 1 banding 1. Anda memerlukan beberapa cara untuk menemukan alamat MAC (untuk dimasukkan ke dalam paket) dari alamat IP (disediakan oleh perangkat lunak yang ingin berkomunikasi dengan host lain di jaringan).
Salah satu (hard core) cara untuk melakukan ini adalah dengan masuk ke setiap mesin di jaringan, dan mengubah alamat MAC perangkat kerasnya agar terlihat seperti alamat IP dengan membuat dua byte teratas menjadi nol (atau nomor tetap lainnya yang sama untuk setiap mesin di jaringan) dan atur empat byte ke bawah ke "alamat IP" yang Anda inginkan ada di jaringan. (Sebagian besar kartu jaringan akan membiarkan Anda masuk dan memodifikasi alamat MAC yang ditetapkan vendor)
Untuk membuat ini benar-benar berfungsi, selanjutnya Anda juga harus meretas kode di tumpukan jaringan Anda untuk benar-benar menggunakan sistem ini. Anda pada dasarnya akan merobek segala sesuatu yang berkaitan dengan ARP (metode yang digunakan IP untuk menerjemahkan alamat IP ke alamat MAC). Anda akan merobek bagian yang membangun / membaca header IP. Alih-alih, Anda akan mengganti semuanya dengan kode yang sangat sederhana yang, mengingat paket IP yang akan dikirim ke host di alamat wxyz, buat kerangka ethernet dengan alamat DEST yang diatur ke 00-00-wxyz.
Anda juga akan memerlukan cara untuk menunjukkan ke penerima paket yang protokolnya (UDP, TCP) dimaksudkan. Anda mungkin bisa menempel ini di suatu tempat di header ethernet dengan menimpa bidang yang ada. Mungkin menggunakan salah satu dari dua byte teratas dari alamat sumber? Ini tidak akan mempengaruhi kemampuan mesin tujuan untuk menerima, tetapi dapat mengacaukan beberapa sakelar. Anda juga bisa menambahkan protokol ke awal atau akhir frame Ethernet dan meningkatkan ukuran payload per satu - tetapi itu mulai berbau seperti header IP.
Jadi, semua pekerjaan apa yang akan Anda beli?
Pertama itu akan menghemat biaya pencarian di tabel ARP pada setiap paket keluar. Ini mungkin hanya dalam urutan mikrodetik.
Anda menyimpan pekerjaan komputasi checksum header IP, dan memori yang diperlukan untuk menahannya. Ini mungkin tidak signifikan pada perangkat keras modern.
Anda menyimpan 16 byte di setiap paket di jaringan karena tidak akan ada header IP. Ini bisa bertambah tergantung pada aplikasi.
Keuntungan terbesar adalah bahwa Anda tidak perlu melakukan permintaan ARP. Mengirim paket IP standar ke host baru memicu pertukaran ARP yang dapat mengambil milidetik dan tidak dapat diprediksi. Ini bisa menjadi keuntungan besar untuk beberapa aplikasi yang sangat sensitif terhadap latensi dan jitter.
Untuk beberapa aplikasi yang sangat khusus ini sebenarnya masuk akal untuk dilakukan. Saya pernah bekerja sistem real-time yang hanya menggunakan siaran paket UDP untuk semua komunikasi antar host dengan satu-satunya alasan bahwa itu menghindari urutan ARP menendang dan tak terduga menambah penundaan dan jitter. Saya juga pernah bekerja pada sistem embedded sumber daya terbatas yang bekerja dengan mengirimkan muatan UDP ke dalam paket IP secara langsung (tanpa header IP) karena ini menghemat semua kerumitan dan memori yang diperlukan untuk mengimplementasikan semua ARP dan netmask dan hal-hal checksum tambahan.
sumber
Saya kira Ethernet bisa menggunakan alamat empat-byte seperti IPv4 daripada alamat enam-byte. Mungkin bagus mereka tidak melakukannya karena mereka kehabisan angka sekarang, saya berani bertaruh.
Anda bisa, jika Anda memiliki program yang akan berfungsi dengan alamat MAC, bukan alamat IP. Tentu saja Anda akan terjebak di jaringan itu dan tidak dapat menjangkau orang lain tanpa peretasan.
Anda benar-benar hanya perlu lapisan IP jika Anda berencana untuk melakukan routing, terutama jika jaringan lain mungkin menggunakan teknologi Layer 2 yang berbeda dari Ethernet, seperti Token Ring, yang merupakan kemungkinan nyata ketika sebagian besar ini dikembangkan. Siapa yang tahu jika teknologi Layer 2 lain mungkin ada di mana-mana di masa depan, jika demikian, IP tidak bergantung padanya.
sumber
Jika Anda menyebut Ethernet sebagai Lapisan Jaringan, maka tidak, itu tidak bisa. Lapisan jaringan memerlukan alamat fisik perangkat jaringan. Alamat IP adalah nomor sewenang-wenang yang diberikan ke alamat MAC untuk kesederhanaan. Alamat IP adalah solusi perangkat lunak, bukan bagian dari kartu jaringan - solusi perangkat keras. Itu sebabnya alamat IP dapat dengan mudah diubah, sementara alamat MAC dikodekan ke kartu dan tidak dapat diubah (meskipun perangkat lunak spoofing MAC-Address, yang bahkan masih tidak mengubah alamat begitu banyak seperti apa alamat itu berada. )
Ya, Anda bisa, tetapi Anda tidak akan menikmati menggunakannya, karena fungsinya akan sangat terbatas, dan tidak ramah pengguna sama sekali. Ada alasan mengapa layer transport diimplementasikan.
Jadi, tanpa menggunakan layer Transport, yang saat ini berarti protokol TCP / IP, Anda tidak akan memiliki kemampuan untuk memastikan data Anda mencapai tujuannya, atau memiliki kemampuan untuk setiap bagian yang hilang untuk secara otomatis diatur ulang.
sumber
Tentu saja mungkin bagi mesin di jaringan lokal untuk berkomunikasi tanpa lapisan perutean. Anda baru saja menyematkan pesan dalam bingkai Ethernet dan berharap yang terbaik. Ini seperti menaruh catatan pada kartu pos dan berharap kantor pos melakukan tugasnya.
Anda harus berharap bahwa penerima sedang mendengarkan, dan dengarkan baik -baik untuk pesan balasan (berpotensi di antara banyak pesan lain dari node lain). Anda akan bertanggung jawab untuk memilah semua pesan ini sendiri.
Jika Anda menginginkan hal-hal seperti pengiriman pesan 1: 1, Anda akan memerlukan protokol lain di atas frame Ethernet untuk menangani semua hal ini untuk Anda. Protokol Point to Point (PPP) sering digunakan untuk ini, lebih dari Ethernet ini dikenal sebagai PPPoE. PPPoE memberi Anda otentikasi dan enkripsi, keduanya ide yang sangat bagus di jaringan siaran.
Tetapi tanpa beberapa bentuk informasi routing, Anda hanya dapat berkomunikasi dengan node di jaringan lokal. Segera setelah Anda mulai menggunakan informasi perutean untuk menyampaikan pesan (misalnya ke internet) Anda ingin beberapa bentuk protokol perutean, seperti IP, atau IPX. Dan Anda mungkin ingin kontrol transmisi (TCP) juga ...
sumber
Jaringan IP adalah abstraksi, lapisan tipuan, artinya jaringan virtual - tidak terikat secara permanen dengan metode atau perangkat komunikasi fisik tertentu.
Host Ethernet memiliki satu alamat MAC (per NIC) yang secara unik mengidentifikasinya secara global. Namun, host ini secara bersamaan dapat menjadi milik banyak jaringan IP, dengan alamat IP yang berbeda untuk masing-masing, sementara selalu menggunakan satu alamat MAC.
Pemisahan pengalamatan fisik dan logis ini, atau virtualisasi pengalamatan, memungkinkan fleksibilitas tertentu, seperti memindahkan host IP (misalnya server) dari satu mesin fisik ke yang lain, dengan alamat MAC yang berbeda, tetapi tanpa memerlukan konfigurasi ulang dari host lain (mis. perangkat lunak klien).
IP, atau Protokol Internet, dan Ethernet menyelesaikan masalah yang berbeda: Ethernet menyediakan untuk komunikasi di tingkat LAN dan hanya pada satu LAN, tidak peduli apa jaringan lain yang terhubung dengan LAN melalui router. Sedangkan, IP berkaitan dengan internetworking dan dengan demikian LAN-agnostik. Jadi, mungkinkah Ethernet memanfaatkan alamat IP alih-alih alamat MAC? Tentu, tetapi itu tidak benar-benar memberi Anda apa-apa karena pesan-pesan itu masih akan terbatas pada LAN.
Sebagai jawaban untuk pertanyaan kedua Anda, situasi semacam ini ada pada waktu yang berbeda pada Ethernet LAN yang menggunakan Dynamic Host Configuration Protocol (DHCP) untuk alokasi alamat IP. Ketika sebuah host baru terhubung ke LAN, itu tidak punya alamat IP, sehingga mengirimkan frame Ethernet yang disiarkan ke semua perangkat dan menunggu balasan dari server DHCP. Pada titik ini, klien tidak mengetahui alamat MAC server DHCP atau alamat IP-nya, karenanya siaran. Saat menerima permintaan, server sekarang mengetahui alamat MAC klien dan sehingga dapat menjawab dengan benar.
sumber