Soru Bir DHCP-müşterisi “en iyi” cevap olarak ne düşünüyor?


Normalde Windows XP'nin kurulu olduğu (PXE ile) eğitim odalarımız var. "Normal" DNS / DHCP altyapısı Windows Sunucuları'dır. Eğitim odasının kendi VLAN'ı (Windows sunucularından farklı) vardır, bu nedenle, Cisco yönlendiricisinde o odada bulunan tüm PC'lerin bağlı olduğu DHCP istekleri için bir IP yardımcısı vardır.

Şimdi bilgisayarların bir kısmını Linux'a dönüştürmek istedik. Fikir şuydu: Kendi Dizüstü bilgisayarımızı bir DHCP sunucusu ile odanın VLAN'ına koyun ve "normal" DHCP yanıtını geçersiz kılın. Bu, VLAN'daki doğrudan bağlı bir DHCP sunucusunun, bu VLAN'den uzakta bir kaç durak bulunan "normal" DHCP sunucusundan daha hızlı bir yanıt süresine sahip olması gerektiğinden, bunun çalışması gerektiğiydi.

Bunun işe yaramadığı ortaya çıktı. Çalışmak için orijinal DHCP sunucusundaki kontratı manuel olarak serbest bırakmak zorundaydık.

Dizüstü bilgisayarda, IP'yi talep eden müşteriyi gördük ve "bizim" dhcp, NACK'ları Windows IP isteğine gönderiyordu, bundan önce kendi yanıtımızı sunduk.

Eski soru: Bu neden beklendiği gibi çalışmadı? PC'nin eski kiralamasını yeniden kazanması nedir?

Güncelleştirme 2012-08-08:

Yeniden kazanma sorunu DHCP-RFC'de açıklandı. Şimdi bu, PC'nin eski kiralarını neden geri aldığını açıklıyor.

Şimdi başka bir denemeden önce IP'yi Windows-DHCP sunucusundan serbest bırakıyoruz.

Yine - Windows-DHCP sunucusu kazanır.

İstemci için "en iyi" dhcp-cevabı belirleyen dhcp-client için bazı algoritmalar olduğunu sanıyorum. Yeni soru şu:

Müşteri "en iyi" cevabı nasıl seçer?


13
2017-08-03 20:23


Menşei


IP adresini nereden yayınlıyorsunuz? windows istemcisi veya PXE önyükleme aracında? - longneck
@longneck, çalışmasını sağlamak için Windows-DHCP sunucusundaki adresi serbest bırakmak zorunda kaldık. - Nils
Yeni bir soru örneğinin garip yolu, bunu çözmene umarım - Daniel Li


Cevaplar:


Bir satıcı, bir müşterinin birden çok DHCP yanıtına nasıl tepki verdiğine özgü bir yazılımdır.

Yıllar boyunca gördüğüm varyantlar:

1) ACK veya NACK olup olmadığına bakılmaksızın ilk kabul edin.

2) İlk ACK'yı alın, NACK'ları tamamen yoksayın.

3) Ayarlanmış bir zaman aralığı içinde alınan son ACK'yı alın (genellikle 5-10 saniye).

Örnek: Birkaç yıl önce Ricoh MFP'lerle ilgili sorunlarımız vardı.
2 DHCP sunucumuz vardı. Biri adresleri, diğer sadece ek DHCP seçeneklerini sağladı. 2. sunucu her zaman önce cevap verdi.
Ricoh'un kullanılmış varyantı 1) 1. teklif yalnızca DHCP seçenekleri içermese bile. Ricoh, problemi onlara açıkladıktan sonra ürün yazılımı güncellemesi ile varyant 2'ye değiştirdi.


4
2017-08-29 15:00



OFFER paketler, istemci sisteminin aralarında karar vermesi gereken şeydir. ACK ve NACK paketler sadece bir REQUESTSadece müşterinin peşinden gitmeyi teklif ettiği "karar verdikten" sonra gerçekleşir. Yine de yazıcılarla oldukça güzel bir böcek! - Shane Madden♦
@ShaneMadden Doğru, ancak BOTH tekliflerine yanıt olarak bir talep gönderen ve daha sonra tarif ettiğim yanıtları yerine getiren çok sayıda müşteri vakası gördüm. Buna derinlemesine baktığımdan beri bir süre geçti. NT4, W2K ve XP'nin bundan suçlu olduğunu açıkça hatırlıyorum. Ricoh da yaptı. Linux 2.2 çekirdeği ve ağ yığını çalıştırdılar. - Tonny


Yönlendiricinin bir DHCP geçişi olarak hareket ettiğini ve isteği özgün sunucunuza ilettiğini varsayarak, bunun nedeni, Windows DHCP sunucusunun devam etmesini ve IP'yi kullanmasını söylemesidir. Bu örnekte, yeni sunucudan gelen DHCPNACK bir DHCP istemcisi tüm yanıtları göz önünde bulunduracağından ve Windows DHCP kutusundan bir teklif aldığından, onu kullanmaktan mutluluk duyar.

PC: Merhaba dünya, 192.168.1.123 kullanabilir miyim?

Yeni DHCP: Hayır diyorum.

Eski DHCP: Evet diyorum.

PC: Birisi evet dedi! Tatlı kullanacağım!


9
2017-08-03 20:47



PC'nin soğuk önyüklemesinden sonra görüşme "MAC'ım XYZ" ile başlıyor - lütfen bana bir IP verin ". Daha sonra her iki DHCP sunucusu da IP'ler sunuyor ... tek fark, sunuculardan birinde aktif bir kiraya sahip olmasıdır - ancak bu sadece sunucunun bakış açısıdır. - Nils
PC zaten bir IP adresine sahip değilse. Önceden bir DHCP sunucusu tarafından atanan bir IP adresine sahip olsaydı, başka bir adres sormadan önce bunu kullanmak isteyecektir. - longneck
@longneck IP'nin PC'de nerede saklanacağı? - Nils
Kafamın üstünden, bilmiyorum. ancak temizlemenin doğru yolu ipconfig / release kullanmaktır - longneck
@longneck - PXE ortamında, önyükleme BIOS'unun önceki botlar veya IP adresleri hakkında bir hatırda bulunmadığı varsayılmaktadır. - Mark Henderson♦


Başka hiçbir şey yardımcı olmazsa - RTFM (ince kılavuzu okuyun). Bu durumda ilk vuruş oldu.

RFC 2131 DHCP işlemlerini özetlemektedir.

Bölüm 1.6 DHCP'yi belirtir şart:

DHCP istemci yapılandırmasını sunucu yeniden başlatmalarında ve her defasında saklayın   mümkündür, bir DHCP istemcisine aynı yapılandırma atanmalıdır   DHCP mekanizmasının yeniden başlatılmasına rağmen parametreler

Şimdi ilginç olan soru, tasarım hedefinin geçmişiyle ilgili hiçbir bilgisi olmayan bir müşteride nasıl elde edildiği. Bölüm 3.2 özetliyor:

3.2 İstemci-sunucu etkileşimi - önceden ayrılmış bir ağın yeniden kullanılması       adres

Bir müşteri daha önce tahsis edilmiş bir sistemi hatırlar ve yeniden kullanmak isterse
  ağ adresi, bir müşteri adımların bazılarını atmayı seçebilir
  önceki bölümde açıklanmıştır. Şekil 4'teki zaman çizelgesi diyagramı
  Tipik bir istemci-sunucu etkileşiminde zamanlama ilişkilerini gösterir   önceden ayrılmış bir ağ adresini yeniden kullanan bir istemci için.

  1. İstemci, yerel alt ağında bir DHCPREQUEST mesajı yayınlar.     Mesaj, müşterinin ağ adresini içerir.     'IP adresi istedi' seçeneği. Müşteri almadığı gibi     Şebeke adresi, 'ciaddr' alanını doldurmamalıdır. BOOTP     röle aracıları iletiyi aynı değil DHCP sunucularına iletir     alt ağ. İstemci, bir "müşteri tanımlayıcısı" kullandıysa     adres, müşteri aynı "müşteri tanımlayıcıyı" kullanmalıdır.     DHCPREQUEST mesajı.

  2. İstemcinin yapılandırma parametrelerinin bilgisi olan sunucular     istemciye bir DHCPACK mesajıyla cevap verin. Sunucular değil     İstemcinin ağ adresinin kullanımda olduğunu kontrol edin;     İstemci, ICMP Yankı İsteği mesajlarına bu noktada yanıt verebilir.

Bu nedenle, etkin bir kiraya sahip bir DHCP sunucusu, protkolda bir kısayol kullanılarak öncelik kazanır.

  1. İstemci: DHCREQUEST (MAC-Adresi, yayın, yerel yayın alanında aktarılacaktır - burada yerel VLAN ve Windows-DHCP sunucusuna IP yardımcısı aracılığıyla)
  2. Dizüstü Bilgisayar-DHCP-Sunucu: DHCPOFFER
  3. Windows-DHCP-Sunucu: Hey - Seni zaten biliyorum - DHCPACK
  4. Müşteri: Oh - İki yanıtım var. Beni zaten tanıyan biri. Cool bunu alacağım

Bundan sonra Laptop-DHCP-Server'da Müşteri tarafından göz ardı ediliyor.

Yani bizim durumumuzdaki çözüm muhtemelen olacaktır (bunu gerçekten test ettiğimizde güncelleyeceğim):

  1. İstemcinin kapalı olduğundan emin olun.
  2. Dizüstü bilgisayarda DHCP-Sunucusunu, dizüstü bilgisayarda sahte Client-MAC'yi, DHCP-İstekini kapatın
  3. Yayın IP'si
  4. Orijinal IP ve MAC'ı tekrar kazanın, DHCP-Sunucusunu açın
  5. İstemciyi aç ve bir PXE-boot ...

3
2017-08-04 21:19





Yeni soru, muhtemelen farklı bir soruda olmalı - sorunun adı, sorunun büyük kısmıyla hiç uyuşmuyor.

Her halükarda, bir müşterinin şu anki kira sözleşmesinin olmadığı durumlarda nasıl teklif vermeyi tercih ettiği ile ilgili olarak: müşteriye bağlıdır, ancak farkında olduğum her DHCP istemci uygulamasında basit bir yarış .

RFC 2131 bu kapsar:

DHCP istemcileri, istemcinin bir DHCPOFFER mesajı aldıkları bir DHCP sunucusu seçerken herhangi bir stratejiyi kullanmakta serbesttirler.

Bir var IETF taslağı Orada seçim süreci için yapılandırılabilirliği ekleyebilecek ölüler var gibi görünüyor ve aynı zamanda, daha fazla müşteri uygulamalarından bahsediyor (on yıldan fazla bir süre önce, ama çok fazla değişmedi):

Pratikte, çoğu tedarikçinin buradaki politikasını uygulaması çok basittir (örneğin, ilk teklif alınan veya kabul edilen ilk kabul edilen teklif) ve "sabit kodlanmış" (yani, yapılandırılamaz).

Aynı ağa farklı konfigürasyonlarla hizmet veren iki DHCP sunucusunun olması, sadece güvenilirlik veya öngörülebilirlik açısından arzu edilmeyen yarışlarla sonuçlanır. İhtiyacınız olanı sağlamak için tek DHCP sunucunuzu alamamanız için hiçbir neden yok.


3
2017-08-26 21:20



"Kabul edilebilir" teklifin, dhcp-client tarafında satıcıya özel olduğunu düşünüyor musunuz? Bizim durumumuzda bu "ilk" teklif değil, başka bir şey olması gerektiğinden - davranış oldukça belirleyici olsa da, bunun arkasında hala ortak bir standart olduğunu düşünüyorum. - Nils
@Nils Windows sunucusunun aynı odada dizüstü bilgisayardan önce müşteriye verdiği yanıtı aldığından kesinlikle emin misiniz? Sezgisel olarak, dizüstü bilgisayarın bu yarışı kazanması gerekiyormuş gibi gözüküyor, ama bu gerçekleşmeyebilir. - Shane Madden♦
Sanırım orada olup bitenleri görmek için bunu ağ seviyesinde (wireshark ile) izlemem gerekecek. Muhtemelen o müşterinin ayna kapısında ... - Nils