Bayangkan kita memiliki jaringan seperti pada gambar. Enam host pada satu jaringan layer 2, tanpa VLAN. Jaringan seharusnya dibagi menjadi dua subnet, dengan masing-masing satu server DHCP. Server DHCP memiliki alamat IP tetap, sehingga mereka tahu di mana subnet milik mereka, jelas.
Kemudian klien baru terhubung. Mereka tidak tahu apa-apa tentang subnet mana mereka seharusnya berada dan mengirim DHCPDISCOVER mereka ke siaran Ethernet 255.255.255.255, jadi itu masuk ke kedua server DHCP. Kedua server membalas dengan penawaran. Sekarang inilah pertanyaan saya: Bagaimana klien tahu, DHCPOFFER mana yang seharusnya dia terima?
networking
dhcp
Michael Niemand
sumber
sumber
Jawaban:
Jawaban yang paling sederhana - first come first served.
Jika Anda memiliki banyak VLAN dan 10.10.10.0/24 menggunakan VLAN berbeda hingga 10.10.20.0/24 - siaran tidak akan melewati VLAN.
Jika DHCP Server berada di VLAN terpisah untuk klien, sebuah iphelper pada antarmuka perutean antara vlan akan mengarahkan siaran ke lokasi yang benar.
Dalam skenario Anda di mana Anda memiliki 2 jaringan terpisah dalam VLAN yang sama (atau ketiadaan) yang melayani subnet yang berbeda - ini adalah perlombaan.
DHCP Melayani menggunakan transaksi berikut:
Semua ini terjadi pada Port UDP 67 untuk server dan 68 untuk klien.
Segera setelah Langkah 2 tercapai - klien akan berhenti "mendengarkan" tanggapan DHCP Server lainnya - dengan senang hati berurusan dengan Server pertama untuk memberinya perhatian.
Sebagai catatan - sebenarnya ada serangkaian serangan DoS (Denial of Service) yang terkenal yang menyalahgunakan hak ini. Penyerang menancapkan perangkat yang merespon dan mengirimkan paket DHCPOFFER dan kemudian tidak mengirim DHCPACK ketika ditanya ... berulang-ulang. Ada juga serangan DoS lain di mana Server DHCP "palsu" menawarkan alamat yang tidak dapat dialihkan atau yang bertentangan dengan IP lain yang disadap untuk mengacaukan jaringan.
sumber
The jawaban yang ada dari @ Fazer87 secara luas yang benar dalam praktek dan saya merekomendasikan upvoting dan menerimanya. Jawaban ini mengeksplorasi detail kecil sedikit lebih tepat.
Kedua server DHCP dapat merespons dengan pesan DHCPOffer.
Klien DHCP dapat menerimanya berdasarkan "datang pertama, dilayani pertama". Namun, tidak diperlukan untuk mengambil pendekatan itu.
RFC2131 menentukan:
Jadi, jika server DHCP kedua menawarkan reservasi alamat IP yang lebih lama, atau menawarkan server waktu di mana yang lain tidak, atau mungkin memiliki bidang khusus yang telah diprogram klien untuk disukai, mungkin menerima tawaran kedua.
Biasanya, pendekatan "pertama datang, pertama dilayani" akan memberi Anda tawaran yang belum melalui beberapa lompatan lintas perangkat (siaran ulang BOOTP) sehingga merupakan protokol yang baik untuk diikuti jika Anda tidak punya alasan untuk peduli.
Saya berada di satu proyek di mana perangkat khusus akan lebih memilih DHCPOffer yang termasuk server TFTP di mana firmware yang diperbarui dapat ditemukan.
sumber