DHCP

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

DHCP (prescurtat de la Dynamic Host Configuration Protocol) este un protocol de rețea de calculatoare folosite de gazde (clienți DHCP) care atribuie adrese IP și alte informații de configurare de rețea importante în mod dinamic.

Istoric[modificare | modificare sursă]

RFC 1531 a definit inițial DHCP ca protocol standard în octombrie 1993, urmând Bootstrap Protocol (BOOTP). Următorul update, RFC 2131, lansat în 1997, este definiția DHCP curenta pentru rețele Internet Protocol version 4 (IPv4). Extensiile DHCP pentru IPv6 (DHCPv6) au fost publicate în RFC 3315.

Privire de ansamblu[modificare | modificare sursă]

Dynamic Host Configuration Protocol automatizează alocarea parametrilor de rețea la dispozitive de către unul sau mai multe fault-tolerant servere DHCP. Chiar și în rețele mici, DHCP este folositor, deoarece simplifica adăugarea unor noi echipamente în rețea.

Când un client configurat (un computer sau orice alt dispozitiv de rețea) se conectează la rețea, clientul DHCP trimite o broadcast interogare în ce privește informația necesară la serverul DHCP. Serverul DHCP gestionează o rezervă de adrese IP și informații despre configurarea parametrilor clientului, ca gateway-ul implicit, numele domeniului, serverul DNS, alte servere ca serverul de timp, ș.a.m.d. La primirea unei cereri valide, serverul atribuie calculatorului o adresă de IP, un contract de leasing (perioada de validitate a alocării respective), precum și alți parametri de configurare de IP, cum ar fi masca de subrețea și gateway-ul implicit . Interogarea este de obicei inițiată imediat după boot, și trebuie să fie completată, înainte ca clientul să poată iniția comunicarea IP cu alte gazde.

Funcție de implementare, serverul DHCP poate avea trei metode de alocare a adreselor IP:

  • alocare dinamică: Un administrator de rețea atribuie o serie de adrese IP la DHCP, și fiecare computer din LAN este configurat să ceară o adresa de IP de la serverul DHCP în timpul inițializării de rețea. Procesul de cerere și aprobare folosește un concept ca un contract de leasing pe o perioada determinată, permițând serverului DHCP să revendice (și să realoce) adrese IP disponibile (refolosirea dinamică de adrese de IP).
  • alocare automată: Serverul DHCP alocă în permanență o adresă de IP disponibilă, din gama definită de administrator, către un client. Acest proces este asemănător alocării dinamice, dar serverul DHCP păstrează un tabel cu alocările de IP anterioare, astfel încât să poată atribui preferențial pentru un client aceeași adresă de IP pe care acesta a avut-o anterior.
  • alocare statică: Serverul DHCP alocă adresa de IP în baza unui tabel cu perechi adresa MAC/adresa IP, acestea fiind completate manual (probabil de către administratorul rețelei). Numai clienții care au adresa MAC lisată în acest tabel vor primi o adresă de IP. Această caracteristică (care nu e suportată de orice router) este denumită Static DHCP Assignment (by DD-WRT), fixed-address (by the dhcpd documentation), DHCP reservation or Static DHCP (by Cisco/Linksys), și IP reservation sau MAC/IP binding (de către diverși alți producători de routere).

Închirierea adreselor DHCP[modificare | modificare sursă]

Închirierea este fundamentală pentru procesul DHCP. Fiecare adresă oferită de un server DHCP are o perioadă de închiriere asociată, perioadă în care clientul are permisiunea să folosească adresa. Perioada de închiriere este denumită ”lease time” și poate avea orice valoare, de la câteva minute până la câteva luni, ani sau chiar pentru totdeauna. Închirierea pe perioadă nelimitată de timp transformă adresarea dinamică în adresare statică.

Dacă s-a scurs peste 50% din timpul de închiriere al adresei, clientul trimite serverului care i-a închiriat adresa, o cerere de prelungire a perioadei de utilizare a adresei (”renew”). Dacă acest client nu a reușit prelungirea perioadei de închiriere de la serverul de la care a primit inițial închirierea (”lease-ul”) la scurgerea a 87,5% (7/8) din timp, clientul trimite un ”broadcast packet”, încercând să închirieze o adresă IP de la orice server existent în rețea. Procesul de închiriere poate fi anulat atât de client cât și de server înaintea perioadei stabilite inițial. De asemenea, serverul DHCP are posibilitatea de a trimite mesaje clienților obligându-i să înnoiască contractul de închiriere înainte de terminarea lui.

Confirmarea cererilor DHCP[modificare | modificare sursă]

Când serverul DHCP primește mesajul DHCPREQUEST de la client, procesele de configurare intră în faza finală. Faza de confirmare presupune trimiterea unui pachet DHCPACK clientului. Acest pachet include durata contractului de leasing, precum și orice alte informații de configurare pe care clientul le-ar putea fi solicitat. În acest moment, procesul de configurare IP este finalizat.

Protocolul așteaptă ca clientul DHCP să-și configureze interfața de rețea cu parametri negociați.

DHCPDISCOVER
UDP Src=0.0.0.0 sPort=68
Dest=255.255.255.255 dPort=67
OP HTYPE HLEN HOPS
0x01 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0x00000000
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Discover
DHCP option 50: 192.168.1.100 requested
DHCP option 55: Parameter Request List:

Request Subnet Mask (1), Router (3), Domain Name (15), Domain Name Server (6)

DHCPOFFER
UDP Src=192.168.1.1 sPort=67
Dest=255.255.255.255 dPort=68
OP HTYPE HLEN HOPS
0x02 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0xC0A80101
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Offer
DHCP option 1: 255.255.255.0 subnet mask
DHCP option 3: 192.168.1.1 router
DHCP option 51: 86400s (1 day) IP lease time
DHCP option 54: 192.168.1.1 DHCP server
DHCP option 6: DNS servers 9.7.10.15, 9.7.10.16, 9.7.10.18
DHCPREQUEST
UDP Src=0.0.0.0 sPort=68
Dest=255.255.255.255 dPort=67
OP HTYPE HLEN HOPS
0x01 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0xC0A80101
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Request
DHCP option 50: 192.168.1.100 requested
DHCP option 54: 192.168.1.1 DHCP server.
DHCPACK
UDP Src=192.168.1.1 sPort=67
Dest=255.255.255.255 dPort=68
OP HTYPE HLEN HOPS
0x02 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR (Client IP Address)
0x00000000
YIADDR (Your IP Address)
0xC0A80164
SIADDR (Server IP Address)
0xC0A80101
GIADDR (Gateway IP Address switched by relay)
0x00000000
CHADDR (Client Hardware Address)
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP ACK
DHCP option 1: 255.255.255.0 subnet mask
DHCP option 3: 192.168.1.1 router
DHCP option 51: 86400s (1 day) IP lease time
DHCP option 54: 192.168.1.1 DHCP server
DHCP option 6: DNS servers 9.7.10.15, 9.7.10.16, 9.7.10.18