DHCP - dynamic host configuration (nasępca BOOTP)

RFC 1541

RFC 2131

DHCP korzysta z UDP, klient wysyła do serwera na port 67 i odbiera na 63

Serwer DHCP nie może być klientem DHCP

-automatyczna alokacja, serwer przypisuje stały adres klientowi na podstawie MAC

-manualna alokacja, przydziału dokonuje admin

-dynamiczna alokacja, serwer wypożycza adresy

DHCP DISCOVER

255.255.255.255 - super rozgłoszenie na intersieci

K->S

DHCP OFFER

K<-S

DHCP REQEST DHCP DECLINE

K->S KS

DHCP ACK DHCP NACK

K<-S KS

DHCP RELEASE

K->S

DHCP najczęściej przydziela

IP, subnet mask, Router, DNS, Domain

-Inicjacja (klient przypisuje sobie adres 0.0.0.0, wysyła DHCP DISCOVER)

-Wybieranie (klient zaczyna odbierać DHCP OFFER z podstawowymi parametrami (IP, Sub mask, DHCP addr)); wybieranie może się nie udać wtedy klient sam przydziela sobie IP

-Zgłoszenie (DHCP Reqest od klienta, DHCP.ACK od serwera)

-Stan związania (czas w którym klient trzyma adres, jak mu się znudzi DHCP RELEASE)

-Stan odnawiania (DHCP REQEST od klienta, gdzie w jednym z pól proponuje odnowienie tego adresu IP (po upływie 50% czasu korzystania))

-Ponowne związanie (po czasie 87,5% czasu korzystania)

Komunikatory DHCP

op 1 -kod operacji (wiadomości) 1. BOOT REQEST 2.BOOT REPLAY

htyp 1 -typ adresu sprzętowego (identyfikator warstwy łącza danych u klienta)

hlen 1 -dł. adresu sprzętowego (6 -otetów 48bit)

hops 1 -liczba hopów (np. gdy DHCP Server jest za routerem)

xid 4 -identyfikator transakcji

sccs 2 -czas jaki upłyną od konfiguracji klienta

flags 2 -MSB 0 odpowiedzi muszą być odsyłane na 0.0.0.0

1 odpowiedzi muszą być odsyłane na 255.255.255.255

ciaddr 4 -(client addr) w przypadku DHCP REQ klient wpisuje adres który chciałby od serwera uzyskać

yiaddr 4 -(youne ip addr) -serwer wpisuje proponowany adres

siad dr 4 -adres ip serwera

qiaddr 4 -gateway ip address (serwer wysyła)

chaddr 16 -client hardware address

snare 64 -dhcp server name (domain)

file 128 -scieżka do pliku z systemem

options 312 -wszystkie dane konfiguracyjne jakie serwer chciałby przekazać klientowi

OFFER ACK NACK

op BOOTREPLAY------

htyp -> clients info

hlen -> clients info

hops 0 0 0

xid clients info

sccs 0 0 0

ciaddr 0 DHCP REQEST ----

from client

yiaddr IP offered IP assigned

siaddr DHCP IP DHCP IP 0

flags clients info

chaddr clients info

srame name name name

DISCOVER REQEST DECLINE, RELEASE

op BOOT REQEST

htype clients info

hlen clients info

hops 0 0 0

xid selected by client

secs optional optional 0

flags MSB {0,1}

ciaddr 0 previous IP addr.

yiaddr 0 0 0

siaddr 0 0 0

qiaddr 0 0 0

chaddr adres MAC klienta