DHCP BOOTP: Client, Server Communication

Hallo,

ignoriert eigentlich ein BOOTP Server eine komplette message von einem client, wenn sich in dieser DHCP Option-Felder wie z.b. DHCP-Message Type oder andere Optionen befinden, die unter BootP nicht definiert sind?

Die Frage zielt darauf hin, dass ja ein Client, welcher eine DISCOVER message losgeschickt hat, sowohl von DHCP Servern als auch BOOTP Servern entsprechende Angebote zugeschickt bekomme. Wenn sich kein DHCP Server meldet sondern nur ein BOOTP Server, akzeptiert der Client auch diesen. ABer wie muss der Request vom Client an den BOOTP aussehen? Das Option-field wahrscheinlich nicht größer als 64Byte wählen - ok. Aber wie sieht es eben mit den besagten Option-Messages aus? Kann ich trotzdem einfach die gleichen Option schicken wie wenn es sich um einen DHCP Server handelt, oder müssen entsprechend andere geschickt werden und die Option-Messages für DHCP Server sind nicht erlaubt, da sonst der BOOTP die Communication abbricht oder ähnlichem…

gruß
patrick

Hallo,

ignoriert eigentlich ein BOOTP Server eine komplette message
von einem client, wenn sich in dieser DHCP Option-Felder wie
z.b. DHCP-Message Type oder andere Optionen befinden, die
unter BootP nicht definiert sind?

Wenn ich das RFC so überfliege, dann würde ich sagen, dass er das nicht sollte. Siehe: http://tools.ietf.org/html/rfc1542#section-2.1

Alle DHCP Optionen wie MessageType kommen erst nach 300 Bytes und das ist die maximale Länge eines BOOTP Pakets. Die ersten 44 Byte die im BOOTP Pflicht sind, sollten bei DHCP ebenfalls gesetzt werden. Die optionalen folgenden Felder sollten mit Nullen aufgefüllt werden. Von daher sollte der DHCP Server auch bei einem DHCP Request antworten.

Kommt den überhaupt ein BOOTREPLY zurück?

Hallo,

Alle DHCP Optionen wie MessageType kommen erst nach 300 Bytes
und das ist die maximale Länge eines BOOTP Pakets. Die ersten
44 Byte die im BOOTP Pflicht sind, sollten bei DHCP ebenfalls
gesetzt werden. Die optionalen folgenden Felder sollten mit
Nullen aufgefüllt werden. Von daher sollte der DHCP Server
auch bei einem DHCP Request antworten.

ah, dann hab ich einfach nicht genau genug die Felder gegeneinander verglichen… ich dachte das Option-Field vom DHCP ist bei BOOTP einfach nur geschrumpft auf die 64Bytes… Dabei sind ja die Felder SNAME und File auch nicht entsprechend angelegt wie beim DHCP.

Kommt den überhaupt ein BOOTREPLY zurück?

Testen kann ich es leider nicht, da ich hier im Netzwerk lediglich einen DHCP Server besitze. Ich weiß nicht ob man durch eine kostenlose Software einen BOOTP Server vorgaukeln kann, so dass man sich die Pakete in Wireshark anschauen kann…

eine frage bezüglich DHCP und Bootp hab ich noch: leider hab ich dazu nichts in der RFC lesen können. Bei Wireshark ist es so, dass bei einem DISCOVER (DHCP) das Option-Field weniger Bytes als 64Bytes aufweist und von Wireshark nur mit entsprechend so vielen Padding Bytes gefüllt worden ist, dass das Option-Field 64Byte umfasst.

Bei einer OFFER oder REQUEST Message ist die Größe der angegebenen Optionen größer als 64Bytes -> und es wird laut Wireshark auf die ganzen 320Bytes aufgefüllt.

Nur warum, bei einem DISCOVER das nicht passiert, hab ich nirgends lesen können; oder ob es an der Zahl 64Bytes liegt…

gruß
patrick

Alle DHCP Optionen wie MessageType kommen erst nach 300 Bytes
und das ist die maximale Länge eines BOOTP Pakets.

Moment, Kommando zurück, das war falsch.
Die DHCP Options kommen in den letzten 64 Bytes, also im Vendor Informations Field, direkt nach den 4 Bytes des Magic Cookies. Am Schluss wird das Paket noch mit Nullen auf 300 Byte aufgefüllt, damit die 64 Bytes des Feldes komplett gefüllt sind.

ah, dann hab ich einfach nicht genau genug die Felder
gegeneinander verglichen… ich dachte das Option-Field vom
DHCP ist bei BOOTP einfach nur geschrumpft auf die 64Bytes…
Dabei sind ja die Felder SNAME und File auch nicht
entsprechend angelegt wie beim DHCP.

Nein, SNAME und File sind genauso angelegt wie bei BOOTP. Ich hab mir mal gerade die DHCP Pakete bei mir im LAN angeschaut. Die decken sich 1:1 auch mit der BOOTP Spezifikation. Sollten sie ja auch, da DHCP ja nur eine Erweiterung von BOOTP ist.

Kommt den überhaupt ein BOOTREPLY zurück?

Testen kann ich es leider nicht, da ich hier im Netzwerk
lediglich einen DHCP Server besitze. Ich weiß nicht ob man
durch eine kostenlose Software einen BOOTP Server vorgaukeln
kann, so dass man sich die Pakete in Wireshark anschauen
kann…

Nimm doch einfach ne Linux Distribution in der der bootpd Daemon dabei ist.

ich dazu nichts in der RFC lesen können. Bei Wireshark ist es
so, dass bei einem DISCOVER (DHCP) das Option-Field weniger
Bytes als 64Bytes aufweist und von Wireshark nur mit
entsprechend so vielen Padding Bytes gefüllt worden ist, dass
das Option-Field 64Byte umfasst.

Wireshark füllt nichts auf. Die DHCP Optionen sind ja - wie ich inzwischen gesehen habe - im Vendor Field enthalten. Und das hat laut Bootp Spezifikation 64 Bytes, weswegen der DHCP Client das mit Nullen auffüllt.

Bei einer OFFER oder REQUEST Message ist die Größe der
angegebenen Optionen größer als 64Bytes -> und es wird laut
Wireshark auf die ganzen 320Bytes aufgefüllt.

Also bei mir ist bei einem Request das Paket 300 Byte lang. Genau wie vorgesehen. Es kann aber auch beliebig länger werden, denn im Vendor-Field koennen beliebige weitere Informationen enthalten sein.

Hallo,

Die DHCP Options kommen in den letzten 64 Bytes, also im
Vendor Informations Field, direkt nach den 4 Bytes des Magic
Cookies. Am Schluss wird das Paket noch mit Nullen auf 300
Byte aufgefüllt, damit die 64 Bytes des Feldes komplett
gefüllt sind.

Bei DHCP ist es ja so, dass laut Definition RFC das Option Field 312 Bytes groß sein kann -> wenn mehr Optionen vorhanden sind, werden sie überladen auf File und / oder SName.

Was ich jetzt nicht ganz kapiere ist, dass die DHCP-DISCOVER Message in Wireshark nur mit 64Bytes (Option-Field) und nicht mit 312 Bytes aufgefüllt wird.

Nimm doch einfach ne Linux Distribution in der der bootpd
Daemon dabei ist.

das problem ist, dass ich in der firma nicht einfach linux drauspielen darf / kann und bei mir zu hause ist momentan fest-IP-Addr-Vergabe angesagt. Also nichts mit DHCP.

Wireshark füllt nichts auf. Die DHCP Optionen sind ja - wie
ich inzwischen gesehen habe - im Vendor Field enthalten. Und
das hat laut Bootp Spezifikation 64 Bytes, weswegen der DHCP
Client das mit Nullen auffüllt.

Kannst du bei dir nochmal nachschaune, wie groß das Option-Field bei einem DISCOVER ist? Ob das auch lediglich 64Bytes belegt oder die kompletten 312Bytes? Und, wenn die 312Bytes belegt werden, ob die eigentlichen Option größer sind als 64Bytes?

Das würde mir schon viel weiterhelfen.

gruß
patrick