Warum hört der DHCP-Client Port 68?

8

Wenn der Client nicht auf Port 68 hört, wenn der DHCP-Server die Anfrage empfängt, kann er sie an die Adresse senden, von der er die Anfrage erhalten hat (mit temporärem Port, der vom Client zum Zeitpunkt des Sendens ausgewählt wurde) Client auf Port 68 zu hören?

    
avd 24.11.2009, 15:52
quelle

3 Antworten

1

Weil im RFC (Request for Comments) angegeben ist, wie sich DHCP verhält. RFC 2131 ist das Dokument, das angibt, wie sich ein DHCP-Client und ein DHCP-Server verhalten müssen.

Weitere Informationen zu DHCP finden Sie hier (Abschnitt 4.1). Siehe hier für Informationen zu den RFCs.

    
TLiebe 24.11.2009, 15:56
quelle
16

Der Hauptgrund dafür ist, dass der DHCP-Server das "DHCP-Angebot" auf Mac-Ebene ausstrahlt, anstatt Unicast an die Mac-Adresse zu senden, an die er die Anfrage erhalten hat. Wenn der Port nicht konstant ist, akzeptieren einige Hosts, die zufälligerweise den gleichen zufälligen Port empfangen, das Paket an Layer 5 - die Anwendungsebene. Mit anderen Worten, eine Anwendung erhält eine Nachricht von einer völlig anderen Anwendung, nicht von einer gesunden Situation.

    
gigman 11.03.2013 13:43
quelle
1

Ich musste mich selbst der gleichen Frage stellen und nach einigen Nachforschungen fand ich Folgendes auf der RFC 2131 , das das DHCP-Protokoll beschreibt, unter Abschnitt 1.6 Design-Ziele:

  • DHCP muss vorhandenen BOOTP-Clients Service bereitstellen

Auch auf der RFC 951 , die das BOOTP-Protokoll beschreibt, finden wir folgendes:

>

Der UDP-Header enthält Quell- und Zielportnummern. Das    BOOTP-Protokoll verwendet zwei reservierte Portnummern, "BOOTP-Client" (68)    und "BOOTP-Server" (67). Der Client sendet Anfragen mit BOOTP    Server 'als Zielport; Dies ist normalerweise eine Sendung. Das    Der Server sendet Antworten über den BOOTP-Client als Zielport.    Abhängig von den Kernel- oder Treiberfunktionen auf dem Server kann dies der Fall sein    oder möglicherweise keine Übertragung (dies wird im Abschnitt weiter erläutert)    betitelte "Huhn / Ei-Probleme" unten). Der Grund TWO reservierte Ports    werden verwendet, um "aufzuwachen" und den BOOTP-Server zu planen    Daemons, wenn ein Bootreply an einen Client gesendet werden muss. Seit der    Server und andere Hosts hören nicht auf dem BOOTP-Client-Port    Solche eingehenden Broadcasts werden im Kernel herausgefiltert    Niveau. Wir konnten dem Kunden nicht einfach erlauben, einen "zufälligen" Port auszuwählen    Nummer für das UDP-Quellportfeld; da kann die Serverantwort sein    Broadcast, könnte eine zufällig gewählte Portnummer andere Hosts verwirren    das hat zufällig an diesem Port gelauscht.

Also kommt die Antwort auf die Frage von oben. DHCP-Clients müssen den UDP-Port 68 verwenden, damit das DHCP mit dem BOOTP-Protokoll kompatibel ist und das BOOTP-Protokoll einen bestimmten Port für den Client benötigt, da BOOTPREPLIES gesendet werden kann und ein zufälliger Port für den Client ausgewählt wurde , könnte es zu einer Verwirrung anderer Hosts kommen, die denselben Port abhören.

    
A. Kalomoiros 31.05.2017 20:09
quelle

Tags und Links