Mengapa kita perlu memberikan alamat IP ke setiap antarmuka? Tidakkah memberikan satu ke setiap perangkat sudah cukup?
Mengapa kita perlu memberikan alamat IP ke setiap antarmuka? Tidakkah memberikan satu ke setiap perangkat sudah cukup?
Jawaban:
Menghubungkan antarmuka ke jaringan menjadikannya bagian dari jaringan itu. Oleh karena itu, alamat IP adalah properti dari koneksi, bukan tuan rumah.
Demikian juga, tuan rumah dapat memiliki banyak koneksi jaringan dan karenanya, alamat IP. Antarmuka yang berbeda sering memiliki fungsi yang berbeda, jadi penting untuk membedakannya (misalnya konsol internal, layanan publik, iSCSI).
Router memerlukan beberapa alamat IP untuk antarmuka mereka.
Tidak.
Yang mengatakan, mari kita lihat contoh sederhana:
Saya memiliki komputer dengan tiga antarmuka: eth0
(kabel Ethernet), wlan0
(wifi), dan vboxnet0
(virtualbox). Salah satu antarmuka terhubung ke jaringan internal, satu terhubung ke internet, dan yang terakhir terhubung ke jaringan komputer virtual. Katakanlah saya hanya punya satu alamat, 10.1.2.3, dan ingin mengirim banyak paket ke 192.168.1.2, dapat dijangkau di salah satu jaringan itu - di mana saya mengirimnya? Tidak bisa mengirim mereka ke mana-mana, perilaku seperti itu akan membanjiri semua jaringan dalam waktu singkat.
Tetapi jika antarmuka eth0 memiliki 192.168.1.3, wlan0 memiliki 10.1.2.3, dan vboxnet0 memiliki 172.0.0.1, maka tabel routing default mungkin akan mengatakan "send it out eth0". (Ini jelas bisa menjadi jauh lebih rumit dengan aturan routing yang lebih kompleks).
Dan sebaliknya, saya mungkin ingin menjalankan layanan hanya pada antarmuka yang terbuka untuk jaringan pribadi - jadi ketika permintaan masuk pada antarmuka yang berbeda, itu tidak ditangani sama sekali.
Kasus 1: Router
Secara teoritis ini akan mungkin.
Namun, biasanya paket IP dikirim "langsung" ke tujuan ketika alamat IP "cocok" dengan topeng jaringan tertentu (mis. 10.0.0.0/28); jika tidak paket dikirim melalui router.
Ini berarti:
Paket yang dikirim dari satu komputer ke komputer lain dalam salah satu dari dua jaringan tidak melewati router.
Ini berarti bahwa alamat IP dari setiap komputer cocok dengan topeng jaringan dari jaringan yang terhubung.
Paket yang dikirim ke router (ini termasuk paket yang dirutekan oleh router!) Tidak dikirim dari komputer ke router melalui router kedua.
Ini berarti bahwa alamat IP dari router harus sesuai dengan topeng jaringan dari kedua jaringan.
Paket IP yang dikirim dari satu komputer dalam satu jaringan ke komputer di jaringan lain dikirim melalui router.
Ini berarti bahwa alamat IP komputer dalam satu jaringan tidak boleh cocok dengan topeng jaringan dari jaringan lain.
Hampir tidak mungkin untuk memilih alamat IP dan dua topeng jaringan dengan cara yang satu alamat IP cocok dengan kedua topeng jaringan, tetapi banyak alamat IP hanya cocok dengan satu topeng jaringan.
Kasus 2: Jaringan pribadi yang berbeda
Kita dapat memiliki kasus bahwa komputer terhubung ke dua jaringan pribadi yang tidak dapat saling bertukar data.
Dalam hal ini komputer mungkin memiliki alamat IP yang sama di kedua jaringan.
Dalam kasus IPv4 sebagian besar OS tidak akan mendukung ini karena OS menggunakan topeng jaringan dari dua jaringan untuk membedakan di antara mereka. Jaringan perlu memiliki topeng jaringan yang berbeda ...
Dalam hal IPv6 (menggunakan alamat "tautan-lokal") komputer dapat memiliki alamat IP (tautan-lokal) yang sama di dua jaringan yang berbeda - dan karenanya dua kartu jaringan dapat memiliki alamat IP yang sama!
Perangkat yang memiliki alamat IP ada dalam jaringan.
Sebuah Router adalah perangkat siapa tujuan utama adalah untuk lulus lalu lintas antara jaringan .
Agar Router dapat melewatkan paket di antara dua jaringan, router harus ada di kedua jaringan.
Router akan memiliki "lengan" di dalam setiap jaringan - atau seperti yang kita sebut sebagai antarmuka . Dan cara antarmuka ada dalam jaringan adalah dengan menetapkannya alamat IP dalam jaringan.
Oleh karena itu, ketika mengkonfigurasi router, setiap antarmuka menerima alamat IP untuk mengidentifikasi jaringan tempat router itu berada .
Penafian: Tautan di atas adalah ke blog saya. Blog saya tidak dimonetisasi. Saya tidak mendapat untung dari Anda membacanya. Saya memberikan tautan hanya untuk keuntungan Anda (dan pembaca lainnya).
Saya bertanya-tanya, mengapa kita perlu memberikan alamat IP ke setiap antarmuka? Tidak akan memberi cukup untuk setiap perangkat?
Biarkan saya mulai dengan menantang asumsi Anda. Mengapa Anda mengatakan ini bukan bagaimana perilaku mesin? Katakanlah saya menetapkan 192.168.1.1/24 untuk eth1 dan 192.168.2.1/24 untuk eth2. Selain memasang rute untuk keluar 192.168.1.0/24 eth1 dan 192.168.2.0/24 keluar eth2 dan menentukan sumber alamat IP yang disukai untuk paket yang dikirim sepanjang rute itu, seberapa penting antarmuka mana yang saya berikan alamat IP? Apa yang benar-benar berubah? Dalam hal apa mesin tidak berperilaku seolah-olah semua alamat IP yang ditugaskan untuk antarmuka pada mesin milik mesin?
Kedua pendekatan tersebut digunakan. Pendekatan yang paling umum sebenarnya adalah gabungan dari kedua pendekatan ini.
Pada ekstrem "beri perangkat alamat IP", Anda dapat membayangkan perangkat yang berperilaku seolah-olah semua antarmuka terhubung ke jembatan penyaringan dengan satu alamat IP yang ditugaskan ke jembatan.
Pada ekstrem "beri setiap antarmuka alamat IP", Anda dapat membayangkan perangkat yang berperilaku seolah-olah setiap antarmuka itu seperti mesin yang terpisah. (Lihat di sini jika Anda berpikir itulah cara perangkat saat ini bekerja atau berpikir tentang seseorang yang terhubung ke alamat IP yang ditetapkan untuk satu antarmuka tetapi paket tiba dan dikirim keluar yang lain.)
Dalam praktiknya, sebagian besar mesin beroperasi di antara keduanya. Mereka bertindak seolah-olah semua alamat IP dimiliki oleh mesin. Penugasan IP ke perangkat tertentu tidak benar-benar melakukan banyak hal selain memberitahu OS untuk menginstal rute default dari antarmuka itu dan untuk mengatur alamat IP sumber default untuk paket yang dikirim keluar antarmuka di mana alamat IP sumber tidak t dipaksa.
Kalau tidak, mereka berperilaku seolah-olah semua alamat IP milik mesin. Cara paket diproses tidak banyak bergantung pada antarmuka apa yang diterima - paket dengan alamat IP sumber yang ditetapkan untuk satu antarmuka yang diterima pada yang lain adalah rutin. Antarmuka alamat yang ditugaskan tidak memiliki efek langsung pada antarmuka mana paket dikirim, tabel routing menentukan itu.
Dalam kasus umum, Anda memerlukan satu IP per jaringan lokal yang Anda hubungkan, dan ini adalah bagaimana TCP / IP didefinisikan: setiap host pada jaringan lokal tertentu memiliki alamat IP, yang memungkinkan:
Selama Anda memiliki jaringan lokal dengan beberapa perangkat yang terhubung dengannya (sebagian besar jaringan lokal 802.x, termasuk Ethernet, Wi-Fi), cukup sulit untuk melakukannya kecuali Anda secara mendasar mengubah cara kerja TCP / IP.
Namun, sebenarnya mungkin untuk menghindari itu, meskipun itu cukup spesifik.
Pertimbangkan jaringan yang hanya memiliki tautan titik-ke-titik (Ethernet titik-ke-titik antara dua perangkat tanpa sakelar atau hub, tautan DSL, tautan SONET / SDH, Frame Relay atau ATM VCs ...).
Konvensi yang biasa adalah menggunakan / 30 untuk setiap tautan, sehingga perangkat di setiap ujungnya memiliki alamat IP pada tautan itu.
Tetapi Anda dapat menggunakan "IP bernomor", dan tidak mengaitkan alamat IP apa pun dengan tautan itu. Sekarang, Anda menetapkan IP ke antarmuka loopback perangkat (semua antarmuka benar-benar, tetapi loopback adalah yang paling mudah untuk tujuan ini), dan Anda menggunakan protokol routing dinamis (IS-IS, OSPF, EIGRP ...). Protokol perutean ini akan mengiklankan cara merutekan lalu lintas ke alamat IP tersebut melalui berbagai tautan yang tidak bernomor.
Alamat IP termasuk informasi perutean. Alamat IP dibagi menjadi dua komponen, nomor jaringan dan nomor host , berdasarkan panjang awalan yang ditetapkan (yang awalnya dinyatakan sebagai topeng jaringan, dan ini masih sering bagaimana itu diterapkan secara internal di tumpukan jaringan).
Agar perutean berfungsi dengan baik, semua perangkat yang terhubung ke jaringan tertentu harus memiliki alamat dengan nomor jaringan yang sama. Pengirim menentukan apakah penerima berada di jaringan yang sama atau berbeda dengan membandingkan nomor jaringan mereka sendiri dengan alamat penerima. Jika mereka berada di jaringan yang sama, mereka mengirim langsung; jika tidak, mereka mengirim ke router yang tugasnya adalah mendekatkan pesan ke tujuan.
Jadi jika suatu perangkat terhubung ke beberapa jaringan, ia memerlukan alamat pada masing-masing jaringan tersebut sehingga dapat dijangkau oleh perangkat-perangkat di jaringan itu.
Yang mengatakan, itu tidak benar-benar perlu untuk alamat yang ditugaskan secara khusus untuk antarmuka jaringan tertentu. Perangkat bisa saja memiliki daftar semua IP yang dimilikinya dalam satu tabel. Tetapi antarmuka masih membutuhkan informasi tentang jaringan mana mereka terhubung. Dengan menetapkan IP dan topeng jaringan untuk setiap antarmuka, kami menempatkan informasi ini di satu tempat, menyederhanakan desain. Tidak perlu kode tambahan untuk menjaga daftar IP konsisten dengan daftar jaringan yang terhubung dengan antarmuka.
Mungkin cukup untuk memiliki satu IP dalam kasus standar, tetapi seperti yang disorot oleh jawaban lain, ada banyak kasus di mana tidak.
Jawaban lain telah menyebutkan kasus router. Satu menyebutkan virtualbox, yang merupakan kasus mesin virtual: Anda mungkin berjalan pada satu perangkat fisik beberapa yang virtual. Kasus lain adalah VLAN, Anda mungkin sebenarnya, terhubung ke kartu jaringan tunggal, beberapa LAN virtual yang berbeda, dengan alamat IP yang berbeda. Dan Anda bahkan dapat karena beberapa alasan memiliki antarmuka dengan beberapa IP, misalnya karena Anda ingin menjalankan beberapa server web pada port TCP 80. Konfigurasi seperti itu tidak biasa untuk server, perangkat keras yang Anda sewa mungkin memiliki kartu antarmuka jaringan tunggal , tetapi Anda akan memiliki beberapa alamat IP yang dikonfigurasi.