DHCP: flag di trasmissione


4

Sto guardando alcuni pacchetti DHCP attraverso wireshark. Ho notato che nella sezione bootp c'è una bandiera di trasmissione.

Tuttavia, l'IP di destinazione è 255.255.255.255. Non è sufficiente indicare che è trasmesso? Perché è necessaria la bandiera?

Grazie,

lang2

Risposte:


5

La bandiera DHCP ha uno scopo completamente diverso. È impostato da a cliente indicare a a server come deve essere inviata la risposta al cliente. Il client DHCP invia la sua richiesta via broadcast, inizialmente, poiché non conosce l'indirizzo IP del server. Tuttavia, poiché il server conosce l'IP del client (ne ha appena fornito uno), il server può inviare la risposta di nuovo da unicast anche se la richiesta è stata inviata tramite broadcast. Per RFC2131 :

Un client che non può ricevere datagrammi IP unicast fino al suo protocollo      il software è stato configurato con un indirizzo IP DOVREBBE impostare il      BROADCAST bit nel campo 'flags' a 1 in qualsiasi DHCPDISCOVER o      Messaggi DHCPREQUEST inviati dal client. Il bit BROADCAST lo farà      fornire un suggerimento al server DHCP e all'agente di inoltro BOOTP da trasmettere      qualsiasi messaggio al client sulla sottorete del client. Un cliente che può      ricevere datagrammi IP unicast prima che il suo software di protocollo sia stato      configurato DOVREBBE cancellare il bit BROADCAST a 0.


0

Questi sono a diversi livelli nello stack ISO. Un IP di destinazione 255.255.255.255 rende il pacchetto un pacchetto IP broadcast a livello IP. L'impostazione del flag di trasmissione all'interno del pacchetto DHCP non lo farebbe.

Il flag stesso può essere considerato come informazione del server DHCP - sta dicendo al server che dovrebbe rispondere per broadcast. Questo è più spesso il caso in cui il client non ha ancora un indirizzo IP e quindi richiede una risposta broadcast in quanto non esiste ancora un indirizzo IP per unicast. Il server DHCP non dovrebbe aver bisogno di ispezionare le intestazioni dei pacchetti per capire come rispondere, è chiaro al protocollo dhcp.

È possibile che una richiesta DHCP venga inviata come pacchetto unicast, inviata direttamente al server DHCP, ma il flag di trasmissione può ancora essere impostato all'interno dei flag DHCP per consentire al server DHCP di sapere che è necessario rispondere via broadcast indipendentemente dalle intestazioni sembrava.

In breve, le intestazioni IP e UDP dicono ai livelli IP e UDP dello stack di sapere cosa sta succedendo, mentre il contenuto DHCP è a livello di applicazione e consente all'applicazione DHCP di sapere cosa sta succedendo.


I discover DHCP sono sempre trasmessi. Se il bit di trasmissione ha fatto quello che hai detto, non sarebbe necessario perché sarebbe sempre impostato. Per favore, leggi la risposta di haimg, che è corretta. Penso che @angang abbia accettato la risposta sbagliata.
Spiff

Il bit di trasmissione DHCP NON significa che la trasmissione Discover o Request sia stata inviata. Il bit di trasmissione è per dire al server DHCP che il rispondere deve essere inviato broadcast indipendentemente (che di solito non è necessario). La tua clausola "sta dicendo al server che il pacchetto era trasmissione "non è corretta.
Spiff

In realtà il bit di trasmissione è di solito non imposta su Discovers e Requests anche quando il client non ha un indirizzo IP, poiché la maggior parte delle implementazioni client possono ancora ricevere un unicasts anche se non hanno ancora un indirizzo IP. In questo caso più comune, le offerte e gli Acks non sono supportati dall'IP che offrono / Acking (anche se in un certo senso nessuno lo possiede ancora). Questo bit esiste per alcune implementazioni client raro / zoppo che non possono ricevere unicast a meno che non abbiano già un indirizzo IP. Esattamente come haimg citato dalle specifiche.
Spiff

@ Spiff come si unicast a un client che non ha un indirizzo IP? Stai parlando di unicast layer 2 piuttosto che layer 3 unicast?
Paul

"Come" viene toccato in RFC 2131 nel paragrafo immediatamente precedente quello che haimg ha citato. Ed è unicast sia a livello 2 che a livello 3.
Spiff
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.