Mengapa alamat IP diberikan untuk setiap antarmuka dan bukan perangkat? Apa implikasinya?

12

Mengapa kita perlu memberikan alamat IP ke setiap antarmuka? Tidakkah memberikan satu ke setiap perangkat sudah cukup?

Tiago Oliveira
sumber
3
Beberapa perangkat hanya mendapatkan IP untuk manajemen yang tidak terkait dengan antarmuka tertentu. Lainnya bekerja dengan cara yang Anda gambarkan. Ini bervariasi berdasarkan perangkat, model, dan perangkat lunak / firmware. Selain itu, Anda mungkin perlu menetapkan alamat IP yang berbeda per antarmuka tergantung pada persyaratan tugas.
Jesse P.
3
Jawaban singkat - untuk memungkinkan router. Router hanyalah sebuah komputer (hari ini kemungkinan besar Linux) yang perlu terhubung ke jaringan yang berbeda - sehingga harus memiliki kemampuan untuk memiliki beberapa alamat IP. Beberapa IP per perangkat muncul kira-kira bersamaan dengan penemuan router.
Slebetman
Tidak ada jawaban dengan informasi historis? Kecewa :-)
Daniel W.
Pertanyaan ini tidak masuk akal, atau tidak pernyataan logis konkret atau lengkap. Itu hanya kombinasi kata-kata. Alamat ip adalah bilangan bulat yang digunakan dalam protokol internet yang didefinisikan dalam berbagai permintaan komentar. Saya tidak percaya gagasan tentang "perangkat" atau "antarmuka pernah didefinisikan.
Marsekal kerajinan
Misalnya dua aplikasi windows yang berjalan pada mesin fisik yang sama dapat memanfaatkan jaringan yang menggunakan protokol ip untuk berkomunikasi. Ada pro dan kontra untuk ini. Yang mengatakan, sekali lagi protokol ip adalah hal logis abstrak yang berjalan di atas lapisan yang mendasari diri mereka dapat abstrak sama dengan IP.
kerajinan Marshal

Jawaban:

25

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.

Zac67
sumber
14

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.

Piskvor meninggalkan gedung
sumber
1
Mengapa Anda tidak bisa tahu apa yang bisa dijangkau di setiap antarmuka tanpa mereka yang memiliki alamat IP yang berbeda?
Paŭlo Ebermann
Anda bisa (dan memang mungkin untuk memiliki aturan perutean seperti itu), tetapi kemudian Anda akan pergi ke tingkat abstraksi yang lebih rendah, alih-alih mengatakan "kirim apa pun yang tidak cocok ke 10.1.2.1" dan lakukan dengan itu (lapisan OSI 3), sekarang Anda perlu menangani "antarmuka mana yang saya inginkan (layer 2)". Itu juga mungkin , tetapi abstraksi menyederhanakan masalah.
Piskvor meninggalkan gedung
2
Dan satu hal lagi - alamat IP diberikan kepada orang lain untuk menghubungi Anda juga. Katakanlah Anda terhubung melalui wifi dan melalui ethernet; masing-masing antarmuka masuk ke jaringan yang berbeda, tetapi kedua jaringan dapat mencapai internet. Sekarang Anda mengirim paket ke 1.2.3.4 dari 10.1.2.3 Anda - apa rute pulang? Wifi atau kabel? Anda bisa menebak, tetapi jika Anda menebak salah, paket kembali melalui antarmuka yang salah dan bisa dibuang. (Ya, ada beberapa kasus di mana Anda ingin banyak antarmuka dengan addr IP yang sama, atau iface dengan lebih banyak addrs IP, atau iface tanpa addr sama sekali - tidak biasa)
Piskvor meninggalkan gedung
5

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:

  • Router menghubungkan dua jaringan; masing-masing dari dua jaringan memiliki topeng jaringan
  • 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!

Martin Rosenau
sumber
Dalam satu kasus tertentu, spesifikasi TSN untuk ethernet memungkinkan banyak antarmuka dengan IP, mask, dan MAC Address yang sama untuk mendukung jalur redundan tanpa batas untuk ethernet deterministik (802.1cb). Redundansi ditangani pada tingkat MAC (deteksi duplikat dikemas dan mengabaikan informasi redundan) sehingga dari perspektif host itu adalah satu antarmuka.
Crasic
4

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).

Eddie
sumber
1
Jawaban yang bagus dan ringkas, cara yang sangat jelas untuk menjelaskan alasannya .
Stilez
3

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.

David Schwartz
sumber
2

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:

  • untuk merutekan lalu lintas ke jaringan lokal yang sesuai, berdasarkan alamat IP tujuan
  • untuk mengarahkan lalu lintas ke perangkat appopriate di jaringan lokal itu (setelah pencarian ARP pada jaringan lokal 802.x, misalnya).

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.

jcaron
sumber
0

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.

Barmar
sumber
0

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.

pengguna1532080
sumber