Mengapa perlu beberapa detik untuk mendapatkan alamat IP melalui DHCP?

24

Karena penasaran, mengapa sering membutuhkan waktu beberapa detik untuk mendapatkan konfigurasi jaringan melalui DHCP ketika CPU mampu memproses jutaan operasi per detik dan melakukan ping ke router membutuhkan beberapa milidetik?

Di lingkungan rumah saya dengan satu router WiFi dan sekitar 5 perangkat, tidak jarang melihat waktu seperti 5-10 detik.

Borek Bernard
sumber

Jawaban:

22

Sebagai tambahan dari perolehan aktual DHCP lease dari server DHCP (yang biasanya tidak butuh waktu lama), beberapa server akan terlebih dahulu melakukan ping alamat IP yang akan dibagikan sebelum benar-benar membagikannya untuk memverifikasi bahwa itu belum sedang digunakan pada jaringan - ini membutuhkan waktu beberapa detik untuk waktu habis. Klien terkadang akan melakukan hal yang sama (sekali lagi, untuk mencegah konflik alamat IP) yang akan menambah waktu lagi. Kemudian, di atas itu, beberapa klien juga akan mendaftarkan entri DNS mereka dll.

Dan
sumber
3
Server dhcp di tempat kerja saya menggunakan permintaan ARP untuk mendeteksi konflik IP.
erichui
9

DHCP mungkin membutuhkan waktu sedikit lebih lama karena melibatkan serangkaian transaksi, bukan dengan satu server tetapi dengan semua perangkat di jaringan selama permintaan awal, karena mengirimkan pesan siaran.

Jika Anda memeriksa RFC untuk DHCP,

http://www.faqs.org/rfcs/rfc2131.html

Anda dapat dengan jelas melihat serangkaian negosiasi yang dilakukan. Pada awalnya klien mengirim DHCPDISCOVER ke semua perangkat di LAN, kemudian server yang menjalankan layanan dhcp mengembalikan pesan DHCPOFFER. Klien mungkin juga menunggu untuk mendapatkan tanggapan dari semua server dhcp yang tersedia sebelum mengambilnya. Kemudian ia mengirimkan DHCPREQUEST dengan pengenal yang menunjukkan server mana yang telah dipilihnya sebagai penyedia ip-nya. Akhirnya mendapat DHCPACK dengan semua parameter konfigurasi. Ini hanya ringkasan "interaksi klien-server 3,1 - mengalokasikan alamat jaringan" dari RFC.

Dari pengalaman saya, dhcp membutuhkan waktu lama terutama dalam pengaturan LAN besar dengan banyak node yang terhubung. Dalam homenetwork dengan hanya satu server dhcp (misalnya router WIFI) dan satu atau dua komputer, itu cukup cepat.

Daniel t.
sumber
Di jaringan rumah saya dengan satu router WiFi dan sekitar 5 perangkat, dibutuhkan sekitar 5-10 detik yang saya anggap cukup lambat. Tapi terima kasih atas penjelasannya.
Borek Bernard
pastikan Anda memiliki server dhcp tunggal. Jika hanya 5 perangkat, Anda mungkin ingin memesan IP untuk setiap perangkat di server dhcp. Tetapi jika Anda cukup ingin tahu, Anda dapat menggunakan tcpdump untuk melihat negosiasi yang sebenarnya dan melihat apa yang menyebabkan penundaan.
Daniel t.
Tergantung pada server dhcp, dibutuhkan beberapa detik terlepas dari aktivitas jaringan atau kecepatan CPU. Ini karena server terlebih dahulu menanyakan jaringan untuk melihat apakah suatu alamat digunakan sebelum menawarkannya kepada klien, dan itu harus menunggu setidaknya beberapa saat untuk jawaban tiba. Waktu tunggu ini adalah bagian dari penundaan yang Anda perhatikan, dan itu akan ada bahkan di jaringan yang paling sunyi.
ʇsәɹoɈ
2

Dua alasan (dan solusi) saya temukan ketika saya ingin balasan cepat dari server DHCP saya.

1) DHCP saya melakukan ping alamat yang ingin dialokasikan. Ini menambahkan penundaan 3 detik. Saya menghapus ini dengan mengubah konfigurasi DHCP untuk memiliki pemetaan untuk Alamat MAC ke alamat IP. Ini pada dasarnya menggunakan DHCP untuk mengalokasikan alamat statis. Ini menghapus penundaan 3 detik untuk saya.

2) Saya memiliki jaringan yang terisolasi, namun, Anda mungkin mendapatkan ini di kali. Ada pencarian DNS yang dilakukan, yang bagi saya mengakibatkan penundaan beberapa detik dari mendapatkan Alamat IP dari DHCP. Dalam konfigurasi server DHCP ada opsi untuk domain dan server DNS kami. Setelah menghapus opsi DNS dan perubahan di atas, saya mendapat balasan instan dari server DHCP. (**)

Masalah-masalah ini adalah apa yang saya temukan di pengaturan saya. Jarak Anda mungkin beragam.

tepuk tangan

LB

(**) Jika saya memiliki satu sen untuk setiap kali pencarian DNS yang gagal menyebabkan penundaan yang mengakibatkan ketukan aneh pada dampak yang mengakibatkan saya menggaruk-garuk kepala, saya akan memiliki banyak banyak uang.

LazyBrush
sumber
1

Saya tidak tahu scenary apa yang Anda miliki, tetapi di dunia nyata Anda mendapatkan alamat ip ... dll dari server lama (server dhcp selalu merupakan perangkat keras tertua :)) dengan banyak permintaan, di balik firewall , satu atau beberapa router / switch ... Latency, cpu power ... dan di dunia windows, implementasi dhcp tidak seefisien yang kita inginkan !.

C_Sense
sumber
1
"Di dunia windows, implementasi dhcp tidak seefisien yang kita inginkan!" Apakah Anda memiliki dokumentasi atau sumber untuk mendukung apa yang Anda katakan di sini?
mfinni
Tidak, tapi misalnya .... Linux menyediakan opsi DHCP gagal-dengan cara yang sangat mudah. Selain fungsi direktori aktif bawaan di Windows ada beberapa hal lain yang perlu dipertimbangkan sebagai masalah keamanan potensial.
C_Sense
2
Saya pikir Anda sedang memunculkan hiperbola yang diperoleh dari bertahun-tahun membaca terlalu banyak posting internet. "Microsoft itu buruk." "Mengapa?" "Karena semua orang bilang begitu."
joeqwerty
Anda dapat melakukan tumpang tindih cakupan DHCP pada server DHCP Windows. Dengan win2k8 R2, tampaknya, ada opsi failover baru juga. Mungkin Linux lebih baik dari itu. Tidak ada yang ada hubungannya dengan "efisiensi". Dan apa "masalah keamanan" pada Windows DHCP yang Anda maksud? Saya meminta Anda sumber, dan sebaliknya Anda membuang lebih banyak klaim.
mfinni
0

Jika Anda mengalami masalah kinerja dengan dhcp;

  1. Periksa latensi jaringan
  2. Lihatlah negosiasi paket cap dhcp. Anda harus dapat melihat tindakan apa yang memakan waktu lama. (masalahnya mungkin bukan pada server dhcp, siapa yang menunggu siapa?)
  3. Periksa beban dan log server dhcp.
Ablue
sumber
Ini adalah skenario jaringan rumah, saya telah memperbarui pertanyaannya.
Borek Bernard
ಠ_ಠ KAU TIDAK MEMINTA SUPERUSER KEMUDIAN?
Ablue
Mungkin karena ini terkait dengan jaringan dan di sini adalah tempat terbaik untuk ini?
Kedare