Puncte:0

Echilibrarea sarcinii Servere ISC DHCP care emit mai multe oferte către client

drapel ma

Conform secțiunea 6 din RFC 3074, se pare că procesul de selectare a unui server de echilibrare a încărcăturii în ISC DHCP este următorul:

  1. Clientul difuzează un mesaj de descoperire, care fie ajunge direct la serverele DHCP în stare activ-activ, fie care este transmis către ambele servere (ignorăm posibilitatea de a secțiunea 5.4 „HBA destinat unui expeditor” pentru acest exemplu).
  2. Serverele atribuie un ID de tranzacție de serviciu (STID) tranzacției pentru uz intern(?). Adresa hardware a clientului (chaddr) este hashing folosind algoritmul de hashing Pearson, care trece peste cheie (chaddr) și efectuează un NOT pe biți față de iterația anterioară și setează rezultatul ca număr găsit la indexul acelei valori într-un tabel pseudoaleator de 256 de numere de la 1 la 255.
  3. Rezultatul hash-ului, un număr de la 1 - 255, este comparat cu HBA, care în cazul unui server ISC DHCP cu doar Despică câmp definit în configurația HA, este o hartă de biți în care numărul de 1 începând de la stânga (sau la dreapta, pe serverul secundar) se potrivește cu valoarea Despică câmpul de configurare. De exemplu, a Despică de 100 ar corespunde unui HBA pe primar ca FF FF FF FF FF FF FF FF FF FF FF FF F0 00 00 00 00 iar pe secundar ca 00 00 00 00 00 00 00 00 00 00 00 00 0F FF FF FF FF .... Dacă HBA are un 1 la bitul de la indexul dat (din rezultatul hash), atunci serverul servește mesajul de ofertă DHCP către client.

După înțelegerea mea, atâta timp cât HBA nu are o suprapunere între servere, nu este posibil ca ambele servere să decidă în cele din urmă să deservească clientul.

TL;DR: algoritmul de echilibrare a sarcinii DHCP garantează că un singur server DHCP va răspunde unui anumit client.

Întrebarea mea acum este de ce am un client care primește o ofertă de la ambele servere. De fapt, văd că numărul de oferte afișate pe interfața routerului meu este aproape dublu față de numărul de solicitări, ceea ce înseamnă că aceasta nu este doar o problemă pentru singurul client pe care îl am (dar nu am confirmat acest lucru). Singura mea idee a fost că de când Balanta de sarcină max secunde câmpul din secțiunea HA a serverelor mele este 3, poate că acest client este prea lent pentru a fi acceptat și, astfel, serverul DHCP partener intervine. tcpdump de cerere client și oferte multiple

În ce condiții două servere DHCP de echilibrare a încărcăturii ar oferi unui client o adresă?

Iată unde se întâmplă acest proces în ISC Kea: Unde se ia decizia serverului: https://gitlab.isc.org/isc-projects/kea/-/blob/master/src/hooks/dhcp/high_availability/query_filter.cc#L330

Funcția care are hash-ul chaddr: https://gitlab.isc.org/isc-projects/kea/-/blob/master/src/hooks/dhcp/high_availability/query_filter.cc#L384

Nu știu unde este codul pentru ISC DHCP standard.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.