BOOTP. Protocolul permite unei masini client sa-si descopere propia adresa de IP , adresa serverului si numele fisierului cu imaginea SO care ar trebui incarcat in memoria sa si executat. Operatiile de bootare sunt gindite in doua faze: Address Determination and Bootfile Selection (descrisa de RFC951) File transfer cu TFTP sau FTP.
A fost dezvoltat pentru a furniza unei statii de
lucru fara memorie (diskless workstation ) informatiile de care are nevoie pentru a deveni operationala. Foloseste un singur tip de packet UDP pentru a determina adresa de IP a unui calculator sau dispozitiv de retea adresabil, pachet nesegmentat. Clientul trimite un packet broadcast prin care cere o adresa de IP . Serverul raspunde cu un pachet UDP care contine adresa de IP a clientului , masca de retea, defaul gateway, DNS server, etc.
Foloseste un singur tip de pachet in care
cimpurile au lungime fixa Pachetul nu este fragmentat Pachetul contine adresa portului sursa si a portului destinatie incluse de UDP. BOOTP client = 68 , BOOTP server = 67 Fiecare pachet este retransmis pina cind ajunge cu bine la destinatie. Cimpul OpCode indica un BootRequest sau un BootReply .
DHCP este un mediu client - server, utilizat
pentru alocarea dinamica a adreselor de IP, serverelor DNS (Domain Name Service), WINS (Windows Internet Name Service ) si a default gateway. DHCP a fost proiectat si dezvoltat sub auspiciile Internet Engeneering Task Force (IETF). Microsoft a fost prima firma care a introdus in 1994 DHCP odata cu lansarea lui Windows NT Server 3.5.
DHCP este complet definit de urmatoarele
Request For Comments : RFC 1533 : DHCP options and BOOTP Vendor extension RFC 1534 : Interoperation between DHCP and BOOTP RFC 1541 : DHCP RFC 1542 : Clasifications and extensions for Bootstrap Protocol
Cel mai important este RFC 1541 care
defineste structura si functionalitatea lui DHCP
"DHCP client.
"DHCP server"
"BOOTP relay agent"
"binding"
A DHCP client is an Internet host using DHCP to obtain
configuration parameters such as a network address. A DHCP server is an Internet host that returns configuration parameters to DHCP clients. A BOOTP relay agent is an Internet host or router that passes DHCP messages between DHCP clients and DHCP servers. DHCP is designed to use the same relay agent behavior as specified in the BOOTP protocol specification. A binding is a collection of configuration parameters, including at least an IP address, associated with or "bound to" a DHCP client. Bindings are managed by DHCP servers.
Clientii DHCP cauta in retea servere DHCP de la
care incearca sa obtina, pe o durata limitata de timp, o identitate (adresa IP, masca de retea, adresa pentru default gateway) .Un dispozitiv cu mai multe interfete (router , calculator cu mai multe NIC-uri , etc ) trebuie sa utilizeze DHCP pentru obtinerea dinamica a parametrilor fiecarei interfete. Procesul se desfsoara in patru pasi :
Discover Offer Request Acknowledge
Cand pachetul TCP/IP este lansat in executie pe un
calculator client, daca este configurat pentru obtinerea dinamica a adreselor, DHCP client foloseste adresa 0.0.0.0 pentru a trimite in retea un pachet DHCP discover. Acesta este un broadcast packet transmis catre serverul DHCP/BOOTP (portul 67), folosind UTP la nivelul transport. Fiecare DHCP server, aflat in subreteaua locala, primeste pachetul. Pachetul nu trece prin router spre alte retele sau subretele deoarece este un broadcast packet. Daca router-ul suporta RFC 1542, cunoscut ca suportul pentru DHCP/BOOTP, va inainta pachetele si altor retele sau subretele.
Fiecare server DHCP, care primeste cererea de alocare
dinamica a unei adrese si care are o adresa de retea valida, transmite clientului DHCP un packet DHCP offer continind :
Adresa de IP valida pe care i-o ofera spre inchiriere.
Masca de retea Adresa serverului DHCP care trimite pachetul Durata de inchiriere a adresei Adresa pentru default gateway
Adresele oferite sunt rezervate si nu vor putea fi utilizate
sau oferite altor clienti pina cind rezervarea nu este anulata. Deoarece clientul nu are inca o adresa de IP, pachetele DHCP offer sunt de tip broadcast si sunt transmise cu numarul de port destinatie 68 care indica programele client DHCP/BOOTP .
Clientul selecteaza prima oferta primita si
trimite un broadcast packet in care anunta serverul ca ii accepta oferta si ii cere informatii suplimentare (masca, adresa de gateway, adresa de DNS, etc ). Pachetul este primit si de toate celelalte servere DHCP care au facut oferte; acestea afla ca au fost refuzate si ca pot anula rezervarile pe care le-au facut pentru adresele oferite.
Cand serverul primeste request packet
raspunde cu confirmarea inchirierii adresei si cu informatiile suplimentare cerute de clientul DHCP .