Cara mendapatkan rentang IP yang tidak digunakan (pada host lain)


0

Saya sedang mengerjakan sistem tertanam yang akan menampilkan koneksi ethernet ke host PC. Produk berisi server DHCP sehingga PC dapat secara otomatis mendapatkan IP yang ditetapkan. Agar tidak mengganggu fungsi host, 2 alamat IP yang kami tetapkan untuk koneksi itu (yang akan selalu menjadi point-to-point) tidak boleh bertabrakan dengan jaringan lokal di mana Host PC terhubung.

Apakah ada cara untuk mendapatkan rentang yang dijamin tidak digunakan? Haruskah saya menggunakan alamat di 169.254.0.0/16?

Terima kasih!

EDIT: Beberapa kesalahan di pihak saya menyebabkan kesalahpahaman. Saya tidak perlu bebas seperti dalam bir gratis, yang saya inginkan adalah agar pengguna menghubungkan perangkat ke komputernya dan mendapatkan koneksi yang diatur secara otomatis. Jika saya memilih 192.168.43.0/30 untuk koneksi, itu mungkin benar-benar mengganggu pengguna jika dia menggunakan kisaran yang tepat. Itulah masalah yang saya coba hindari.

Terima kasih semua atas komentarnya sejauh ini!


"Apakah ada cara untuk mendapatkan rentang yang dijamin tidak digunakan?" Tidak digunakan dimana? Dalam setiap konfigurasi LAN yang memungkinkan, solusi Anda mungkin berakhir? Jika demikian, maka saya akan mengatakan Tidak, karena Anda tidak memiliki kendali atas LAN dan pemilik dapat memilih rentang IP apa pun yang mereka inginkan.
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007 tentu saja, tetapi (membayangkan sebentar) mungkin ada protokol untuk mengatur koneksi point to point sehingga kedua host dapat menyetujui rentang mana tidak menggunakan.
Guido

@Ramhound "gratis" adalah pilihan yang buruk :) Saya mengedit pertanyaan untuk membuatnya lebih jelas. Terima kasih!
Guido

1
@ Guido - Ada standar. Nya RFC1918
Ramhound

Jawaban:


1

Anda dapat menggunakan rentang alamat IP "penggunaan internal" yang belum Anda gunakan. Yang termudah adalah untuk rentang seperti 192.168.x.y / 24, memilih 0 & lt; = x & lt; 255 sebagai yang belum Anda gunakan dan y untuk mengidentifikasi setiap host yang Anda butuhkan. Dengan ini, Anda dapat mendukung hingga 253 host.

AFAIK, alamat IP yang Anda sarankan bukan alamat IP "penggunaan internal".

BTW, jika jaringan ini benar-benar terisolasi dan tidak memiliki akses Internet, Anda dapat rentang IP apa pun yang Anda suka.


Masalahnya adalah, saya perlu perangkat untuk memutuskan jaringan, dan saya tidak tahu jaringan mana host PC sudah (atau saya bisa?). Terima kasih!
Guido

@ Guido Rentang IP ditentukan di server DHCP, yang Anda katakan ada di perangkat. Bisakah Anda mengkonfigurasinya? Biasanya, (mis. Sebagian besar router nirkabel) perangkat dilengkapi dengan IP dan rentang default (mis. 192.168.1.1 dan kisaran 192.168.1.0/24), lalu Anda dapat pergi dan mengatur rentang kustom Anda sendiri dalam proses pengaturan pertama.
Mahdi

1
Ini bukan kasus bahwa rentang IP harus diputuskan oleh server DHCP. Sangat mungkin hanya untuk menetapkan alamat IP statis ke semua perangkat dan melakukannya tanpa server DHCP sepenuhnya.
ChrisInEdmonton

@ Chris OP khususnya menyebutkan ada DHCP server di perangkat dan saya berkata "biasanya".
Mahdi

OP mengatakan itu akan selalu point-to-point, jadi untuk sebagian besar NIC, itu berarti Anda harus menggunakan alamat 169.254.0.0/16.
gogators

0

Apakah ada cara untuk mendapatkan rentang yang dijamin tidak digunakan?

Iya nih. Apa pun dari RFC1918 IP. Ini seharusnya tidak pernah muncul di Internet.

Kelemahan jelas: Anda hanya dapat menggunakannya secara lokal.

Tidak pernah muncul di Internet bukan berarti mereka belum digunakan di jaringan lokal Anda? Misalnya. banyak perusahaan tidak memiliki nomor IP yang memadai untuk menggunakannya untuk semua perangkat mereka dan yang sering memanggil kembali ke hack kotor yang disebut NAT. Biasanya dengan IP dari rentang yang sama. Jadi tanyakan sebelum Anda menggunakannya, atau bertaruh dan pilih sesuatu yang langka (mis. 172.16.65.14 dan 172.16.65.15, yang berasal dari kisaran 1918).

Alternatifnya adalah menggunakan IP v6.


2
Saya tidak yakin ini valid. Masalahnya bukan memastikan alamat IP tidak digunakan di tempat lain di Internet, itu memastikan alamat IP belum digunakan oleh tuan rumah, bukan? Misalnya, jika host menggunakan 172.16.65.14, OP tidak ingin sistem embedded juga mengklaim ini.
ChrisInEdmonton

Hai, @ChrisInEdmonton benar, itulah yang saya maksud!
Guido

Jika Anda tidak memiliki kendali atas PC lokal maka Anda tidak akan pernah bisa menjamin untuk tidak mengalami konflik. Namun Anda dapat menghindarinya sebanyak mungkin dengan membatasi ruang lingkup. Menggunakan 1918 IP akan menghindari semua kemungkinan alamat IP yang digunakan di Internet (dengan asumsi bahwa komputer Anda terhubung ke Internet). Jika tidak maka Anda tidak tahu sama sekali IP mana yang sudah akan ditetapkan.
Hennes

Menggunakan ruang alamat pribadi tidak menjamin bahwa alamat tersebut tidak digunakan yang merupakan pertanyaan OP.
gogators

0

Anda tidak dapat menjamin bahwa IP tidak digunakan. Namun, klien dhcp yang sesuai dengan perilaku standar akan membalas dengan DHCPDECLINE jika alamat sudah digunakan secara lokal. Ini berlaku apakah itu ditugaskan secara manual atau melalui server DHCP lain. Dari rfc2131 :

DHCPDECLINE - Klien ke server yang menunjukkan alamat jaringan sudah                      digunakan.

Selain itu, Anda akan ingin menggunakan alamat 169.254.0.0/16 dengan netmask 255.255.255.252 karena ini adalah koneksi point-to-point. DHCPDECLINE tidak mengatakan apa-apa tentang apakah ada host lain di jaringan pada alamat IP yang ditawarkan, tetapi jika Anda menggunakan alamat 169.254.0.0 (mis. 169.254.1.2) dengan mask dari 255.255.255.252, Anda dapat yakin bahwa akan ada tidak ada konflik karena hanya 2 host yang dapat berada di jaringan ptp itu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.