Un pachet de ofertă DHCP este un pachet de difuzare sau unicast? (Ingineria rețelelor, Teoria Protocoalelor, Dhcp, Udp)

ashok a intrebat.

OFERTA DHCP este o difuzare de nivel 3, deoarece serverul nu cunoaște IP-ul clientului, dar serverul cunoaște adresa MAC a clientului. Deci, cum ar fi difuzat?

Dacă cineva mă întreabă despre acest lucru, cum ar trebui să răspund? Pot să spun că este layer3 broadcast și layer2 unicast?

6 răspunsuri
Jaap Keuter

Fiți atenți la steagul de difuzare, consultați RFC2131 (pagina 24):

Un client care nu poate primi datagrame IP unicast până când software-ul său de protocol nu a fost configurat cu o adresă IP TREBUIE să seteze bitul BROADCAST din câmpul „flags” la 1 în orice mesaj DHCPDISCOVER sau DHCPREQUEST pe care clientul îl trimite. Bitul BROADCAST va oferi un indiciu serverului DHCP și agentului releu BOOTP pentru a difuza orice mesaj către client în subrețeaua acestuia.

EDITARE

Un client care poate primi datagrame IP unicast înainte ca software-ul său de protocol să fi fost configurat TREBUIE să elimine bitul BROADCAST la 0. Documentul de clarificări BOOTP discută ramificațiile utilizării bitului BROADCAST.

S-a adăugat restul RFC-ului. În conformitate cu întregul paragraf, ar putea fi fie broadcast, fie unicast sau chiar ambele.

YLearn

Răspunsul este că poate fi fie broadcast, fie unicast – și în unele cazuri, atât unicast, cât și broadcast înainte de a ajunge la client atunci când un ip helper-address este utilizat.

Un client nu are de fapt o adresă IP până când nu se încheie schimbul DISCOVER-OFFER-REQUEST-ACK. Este posibil (deși foarte puțin probabil) să apară o situație în care serverul va răspunde la REQUEST cu un NAK.

Cu toate acestea, deoarece unicastul este în general preferat în locul difuzării, mulți clienți vor accepta un răspuns unicast care corespunde adresei lor L2.

dan

Un server DHCP răspunde cu o OFERTĂ DHCP pentru a furniza o adresă IP.Acesta cunoaște MAC-ul și IP-ul țintă, de aceea va folosi un pachet IP unicast, către adresa Ethernet de origine, deci și o ramă Ethernet unicast.

Dacă doriți să vedeți acest lucru în mod real, introduceți următoarea comandă pe serverul DHCP:

    tcpdump -imy_ethernet_device-e src port bootps

unde my_ethernet_device este numele interfeței Ethernet pe care serverul DHCP răspunde la rețeaua dumneavoastră.

Comentarii

  • Ați putea să-mi spuneți, vă rog, despre pachetele ack, request și dacă sunt unicast sau broadcast? –  > Por Ashok.
  • technet.microsoft.com/en-us/library/cc780760%28v=ws.10%29.aspx în acest link se spune că pachetul de ofertă este broadcast –  > Por ashok.
  • Executați un tcpdump (sau a wireshark) și concluzionați singur cum funcționează cu adevărat. –  > Por dan.
  • nu am niciuna dintre ele în sistemul meu vă rog să concluzionați aici. –  > Por ashok.
  • Nu cred că este corect să spunem că serverul DHCP cunoaște adresa IP țintă. Este posibil să știe ce adresă ip ar putea dori gazda, este posibil să știe ce adresă ip oferă ea însăși, dar adresa ip nu este încă agreată. Altfel, ce rost mai au aceste schimburi? –  > Por Nae.
Ankur Kher

https://www.ietf.org/rfc/rfc2131.txt

În conformitate cu acest RFC:

Droms Standards Track [Page 24]RFC 2131 Dynamic Host Configuration Protocol martie 1997

În mod normal, serverele DHCP ș i agenții de releu BOOTP încearcă să livreze mesajele DHCPOFFER, DHCPACK ș i DHCPNAK direct către client, utilizând livrarea uicast. Adresa de destinație IP (în antetul IP) este setată la adresa DHCP „yiaddr”, iar adresa de destinație a stratului de legătură este setată la adresa DHCP „chaddr”. Din nefericire, unele implementări de client nu pot primi astfel de datagrame IP unicast până când implementarea nu este configurată cu o adresă IP validă (ceea ce duce la un blocaj în care adresa IP a clientului nu poate fi livrată până când clientul nu este configurat cu o adresă IP).

Un client care nu poate primi datagrame IP unicast până când software-ul său de protocol nu a fost configurat cu o adresă IP TREBUIE să seteze bitul BROADCAST din câmpul „flags” la 1 în toate mesajele DHCPDISCOVER sau DHCPREQUEST pe care le trimite clientul respectiv. Bitul BROADCAST va oferi un indiciu serverului DHCP și agentului releu BOOTP pentru a difuza orice mesaj către client în subrețeaua acestuia. Un client care poate primi datagrame IP unicast înainte ca software-ul său de protocol să fi fost configurat TREBUIE să elimine bitul BROADCAST la 0. Documentul de clarificări BOOTP discută ramificațiile utilizării bitului BROADCAST [21].

Un server sau un agent releu care trimite sau retransmite un mesaj DHCP direct către un client DHCP (adică nu către un agent releu specificat în câmpul „giaddr”) TREBUIE să examineze bitul BROADCAST din câmpul „flags”. În cazul în care acest bit este setat la 1, mesajul DHCP TREBUIE să fie trimis ca o difuzare IP, utilizând o adresă de difuzare IP (de preferință 0xffffffff) ca adresă de destinație IP și adresa de difuzare a stratului de legătură ca adresă de destinație a stratului de legătură. În cazul în care bitul BROADCAST este dezactivat la 0, mesajul TREBUIE să fie trimis ca un unicast IP la adresa IP specificată în câmpul „yiaddr” și la adresa link-layer specificată în câmpul „chaddr”. În cazul în care nu este posibilă unicastul, mesajul POATE fi trimis ca o difuzare IP folosind o adresă de difuzare IP (de preferință 0xffffffff) ca adresă de destinație IP și adresa de difuzare a stratului de legătură ca adresă de destinație a stratului de legătură.

Un desktop sau un laptop sau un server sau orice alt punct final care se conectează la rețea prin intermediul unei conexiuni fără fir sau prin cablu trimite un mesaj de descoperire DHCP către serverul DHCP în cadrul stratului segmentului de date în modelul osi cu adresa Mac de destinație FF:FF:FF:FF:FF:FF:FF:FF:FF

Cadru cu acest mesaj DISCOVER după ce ajunge la serverul DHCP .

După ce serverul DHCP primește mesajul de descoperire de la client, serverul DHCP răspunde sugerând adresa IP disponibilă pentru gazda clientului prin intermediul unui mesaj unicast cu adresa sursă ca adresă Mac a serverului DHCP și adresa de destinație ca adresă Mac a clientului.

Notă: Serverul DHCP cunoaște adresa Mac a clientului din mesajul de descoperire a clientului DHCP.

adresa IP propusă pentru client, de exemplu 172.16.2.16masca de subrețea pentru a identifica spațiul de subrețea, de exemplu 255.255.255.255.255.0IP al gateway-ului implicit pentru subrețea, de exemplu 172.16.2.1adresa IP a serverului DNS intern, dacă este găzduit, în caz contrar, adresa DNS externă va fi utilizată așa cum este configurată în grupul DHCP.

Deci, în cele din urmă putem concluziona că mesajul de ofertă DHCP este unicast de la serverul DHCP.

Bhushan Hiwase

Este posibil ca serverul DHCP să fie prezent în afara rețelei dvs. și, prin urmare, trebuie să transmitem și pe stratul de rețea.

Serverul răspunde fie cu un mesaj de difuzare, fie cu un mesaj unicast, utilizând portul sursă UDP numărul 67 și portul destinație numărul 68. Răspunsul poate fi unicast deoarece serverul cunoaște adresa IP a clientului. De asemenea, acesta cunoaște adresa fizică a clientului, ceea ce înseamnă că nu are nevoie de serviciile ARP pentru corelarea adresei logice cu cea fizică. Cu toate acestea, unele sisteme nu permit ocolirea ARP, ceea ce duce la utilizarea adresei de difuzare.