Sunteți pe pagina 1din 9

Protocoalele de determinare a adresei BOOTP si DHCP

Cele mai obisnuite probleme care apar in retelele in care adresele IP sint distribuite manual sint conflictele de IP-uri si datele introduse gresit. Singura cale de a rezolva aceasta problema este alocarea automata a numerelor IP. Protocolul BOOTP a realizat acest lucru, dar este destul de limitat ca utilizare si a fost surclasat de protocolul DHCP.

Protocolul de "Bootstrap" BOOTP


Acest protocol este simplu, dar poate avea mai multe aplicatii. Principalele sint: bootarea de la distanta (remote booting), cind clientul nu are un disc de bootare. BOOTP (ca si DHCP de altfel) este un protocol de configurare a calculatoarelor gazda. Ambele folosesc UDP ca mijloc de transmitere a pachetelor. Ambele pachete au lungimea de 576 octeti (la DHCP, optiunile sint mai multe). Ambele folosesc portul 67 pentru intrare-iesire si portul 68 pentru comunicatii inter-server. Ambele aloca numere IP clientilor la pornire. BOOTP este insa relativ static, pe cind DHCP este relativ dinamic. BOOTP a fost proiectat ca protocol de bootare de la distanta. Se furnizeaza numarul IP precum si calea catre directorul de boot. Este un protocol destul de limitat si nu se mai utilizeaza decit in cazuri foarte rare.

Dynamic Host Configuration Protocol - DHCP


Este o modalitate rapida si simpla de a asigna adrese IP unui numar mare de clienti, moment in care BOOTP ar deveni greoi de utilizat si ineficient. Exista nevoia de a defini un interval de IP-uri valide si de a asigna automat clientilor din retea; de asemenea, a aparut nevoia de a defini o durata de viata unui IP. Metoda de a introduce manual adresa IP poate avea si ea utilitatea ei. Spre exemplu, ofera accesul imediat la datele vitale pentru functionarea in retea ale fiecarui calculator. Totusi, metoda este consumatoare de timp si este expusa erorilor. Functionarea DHCP DHCP implementeaza un model client-server si un agent cu rol de releu (relay agent). Acest agent gestioneaza interactiunea dintre clienti si server. Deoarece clientul este principalul partener de comunicatie in aceasta situatie, el initiaza toate sesiunile cu serverul, lucru care are loc in faza de bootare. DHCP are urmatoarele facilitati: - suporta alocarea dinamica - suporta alocarea statica - conlucreaza cu BOOTP - repartizeaza adrese - suporta repartizarea persistenta - reintegreaza repartitiile expirate In esenta, DHCP este insarcinat cu manipularea a doua seturi de date: repartitiile (IPurile alocate) si fondul de adrese (IP-uri disponibile). Repartitiile sint alocate clientilor conform unei proceduri, care este destul de simpla. Cum primesc clientii numere IP Iata modul de functionare a DHCP din acest punct de vedere:

1. Clientul cere un IP printr-o difuzare de tip DhcpDiscover. Daca clientul are o repartitie persistenta, poate cere acea repartitie initial. 2. Serverul alege un IP din fondul de adrese si intoarce un pachet DhcpOffer cu un IP disponibil atasat. 3. In cazul in care clientul doreste mai multe oferte IP, o va alege pe prima sau pe cea cu repartitia dorita. 4. Clientul difuzeaza un pachet DhcpRequest cu un identificator pentru un server si trece in asteptare 5. Fiecare server care analizeaza pachetul si nu isi detecteaza identificatorul va ignora pachetul. Dupa ce serverul cu identificatorul corespunzator primeste pachetul, el va trimite un DhcpAck (sau DhcpNak, daca IP-ul cerut este deja alocat, ceea ce inseamna ca repartitia a expirat). 6. Dupa ce clientul primeste pachetul DhcpAck, el incepe sa foloseasca IP-ul alocat. In cazul in care primeste DhcpNak, va rula de la inceput secventa de cerere a unui IP. Daca IP-ul reprezinta o problema din punct de vedere al clientului, acesta trimite un pachet DhcpDecline catre server si reia secventa de cerere a unui IP. Functionarea agentilor cu rol de releu Relay agent este un intermediar intre servere si clienti. Astfel, un server poate gestiona si subretele pentru care nu exista un server DHCP disponibil, eliminind necesitatea definirii unui server pentru fiecare subretea. Modul de functionare a unui agent releu: 1. Clientul DHCP difuzeaza un mesaj. 2. Agentul releu pune adresa IP a placii de interfata cu reteaua de la care a primit mesajul, intr-un cimp al mesajului (numit giaddr Agentul trimite mesajul direct catre server (unicast). ). 3. Serverul trimite inapoi raspunsul catre agentul releu (prin unicast). Acest raspuns include acelasi giaddr ca si cerera trimisa de client. 4. Agentul releu difuzeaza raspunsul prin interfata de retea al carei IP apare in cimpul giaddr . Repartitiile DHCP gestioneaza adrese IP distribuite prin oferirea de repartitii (leases inchirieri). In principiu, se defineste un interval de timp in care un IP ramine asociat unei masini. Daca repartitia expira (intervalul de timp stabilit expira inainte de refolosirea conexiunii), clientul trebuie sa ceara o noua adresa IP. Aceasta este o metoda de a gestiona repartitiile permanente in medii dinamice care au disponibile putine IP-uri, dar prefera sa mentina o anumita adresa IP pentru un utilizator anume. Daca este nevoie de acel IP, el poate fi alocat unei alte masini, dar va fi alocat din nou masinii care l-a cerut initial cind va fi iarasi disponibil. A se retine ca un client trebuie sa se deconecteze de la retea pentru a putea cere din nou un IP. Se foloseste de obicei un interval de 60 minute pentru asigurarea securitatii in medii cu clienti cu activitate dinamica. Firmele ISP folosesc repartitii de scurta durata pentru a mentine IP-urile dinamice, dar si pentru a limita posibilitatea ca utilizatorii sa ruleze servere. Cele mai multe servere vor mentine o repartitie activa pentru cel putin 24 ore dupa ce a expirat. Gestionare eficienta a repartitiilor depinde practic de retea. Limitarea la perioade scurte poate avea efect asupra incarcarii retelei; se utilizeaza in special in retele cu statii care sint mutate suficient de des pentru a justifica reimprospatarea frecventa a fondului de adrese (de exemplu, intr-o fabrica de calculatoare). Cealalta abordare este pastrarea repartitiilor timp de 5 sau 6 zile, insa cel mai probabil nu vor expira pentru ca clientul respectiv se va reconecta la retea in acest timp. Alte operatiuni suportate de DHCP DHCP nu se limiteaza doar la distribuirea de adrese IP. El poate furniza o varietate de detalii de care statiile de lucru au nevoie pentru a fi complet configurate pentru conectarea la

retea. Printre acestea se numara IP-urile serverelor DNS, adresa serverului gateway (daca e folisit) s.a.m.d.

Rutarea in retele IP
Rutarea este procesul de determinare, comparare si selectare a cailor prin retea catre orice adresa IP destinatie. De obicei, functia de rutare este incorporata in dispozitive create special pentru aceasta, numite routere. Avansul tehnologic face insa ca in prezent routerele traditionare, switch-urile din LAN si chiar calculatoarele gazda sa stie sa selecteze rute. Rutarea trebuie privita ca o functie, nu ca un dispozitiv fizic. Esenta rutarii sta in protocoale de retea strict specializate, care permit routerelor sa isi exercite functiile vitale pentru retea. Aceste functii includ: - schimbul de informatii despre calculatoarele gazda si retelele conectate local - compararea cailor potential redundante - convergenta catre un acord asupra topologiei unei retele Principiile fundamentale ale rutarii Routerele pot ruta (dirija pachete) in doau moduri. Exista rute statice, programate in prealabil, sau rute dinamice, calculate folosind protocoale specifice.

Rutarea statica
Rutele statice, sau programate in prealabil, sint cele mai simple forme de rutare. Sarcina de a determina rute si de a la propaga prin retea este lasata in grija administratorului de retea. Un router programat static redirecteaza pachete in exterior prin porturi predefinite. Dupa ce relatia dintre o adresa destinatie si un port al routerului este determinata, routerul nu mai trebuie sa incerce sa descopere rute si nici macar sa comunice informatii despre rutele catre acea destinatie. Inconveniente pentru rutarea statica In cazul unei defectiuni in retea, sau in cazul unei schimbari de topologie, raspunderea pentru efectuarea manuala a adaptarilor necesare revine administratorului de retea. De exemplu:

Administratorii retelelor au decis sa nu redistribuie informatiile de rutare intre retele. Fiecare retea foloseste propriul spatiu de adrese. Ei au comasat rutele in numere de retele si du definit cait statice pentru acestea. Iata tabelul celor trei routere cu rol de gateway: ---------------------------------------------Router Destinatie Urmatorul hop

---------------------------------------------A 172.16.0.0 A 192.168.125.0 A 192.168.126.0 B 10.0.0.0 B 192.168.125.0 B 192.168.126.0 C 10.0.0.0 C 172.16.0.0 C 192.168.126.0 ----------------------------------------------

B C C A C C A B D

Routerul D conecteaza o mica retea terminala la celelalte retela. Prin urmare, acest router functioneaza ca gateway implicit pentru toate pachetele destinate oricarei adrese IP care nu apartin retelei 192.168.126. Routerul A va redirecta toate pachetele adresate catre orice calculator gazda din spatiul de adrese 172.16 catre routerul B; la fel, pentru calculatoarele din cadrul retelelor 192.168.125 si 192.168.126, va redirecta spre routerul C. S.a.m.d. In acest scenariu, o defectiune va avea ca rezultat destinatii inaccesibile, in pofida faptului ca se poate folosi o cale alternativa. De exemplu, in cazul avarierii mediului de transmisie dintre routerele A si C, sistemele finale din retelele 10 si 192.168 nu mai pot comunica unele cu celelalte, desi exista o ruta valida prin B. Absebta oriceui mecanism dinamic nu permite routerelor A si C sa ia cunostinta despre caderea legaturii dintre ele. Situatia va ramina neschimbata pina cind administratorii de retea o vor corecta manual. Avantaje ale rutarii statice Rutarea statica este adecvata pentru retele mici, care au o singura cale catre o destinatie data. In acest caz, rutarea statica poate fi mai eficienta pentru ca nu consuma largime de banda incercind sa descopere rute sau sa comunice cu alte routere. Exista situatii in care rutele statice sint de dorit, chiar si in retele mari si complexe. De exemplu, pentru marirea securitatii. Conexiunea la Internet ar putea avea o ruta definita static catre un server de securitate. Nici un acces din exterior in retea nu ar fi posibil fara a trebui sa treaca mai intii prin mecanismele de securitate.

Rutarea dinamica - Rutarea bazare pe vectori de distante


In acest tip de rutare, algoritmii trimit periodic copii ale tabelelor proprii de rutare catre vecinii de retea din imediata apropiere. Fiecare destinatar adauga in tabela un vector de distanta, sau propria valoare pentru distanta, si retrimite tabela in imediata vecinatate. Acest proces are loc in toate directiile, intre routerele care se invecineaza direct. Rezultatul este ca fiecare router afla informatii despre celelalte routere si isi formeaza o persperctiva cumulativa despre retea. Tabela cumulativa este folosita pentru a actualiza apoi tabelele de rutare din fiecare router. In urma actualizarii, fiecare router detine informatii vagi despre distantele (logic vorbind) catre resursele din retea. Routerele nu vor sti nimic precis despre alte routere si nici despre topologia exacta a retelei. Inconveniente ale rutarii bazate pe vectori de distante Acest tip de rutare poate crea totusi probleme. De exemplu, o defectiune sau o schimbare in retea necesita din partea routerelor un anumit timp pentru a "converge" catre o noua reprezentare a topologiei retelei. In timpul procesului de convergenta, reteaua poate fi vulnerabila la rutari inconsistente sau chiar la rutari in bucla infinita. Se poate, in cel mai rau caz, sa apara probleme, iar in cel mai bun caz, se poate sa nu se asigure performante optime. Aceasta este din cauza simplitatii protocolului.

De exemplu:

Protocolul utilizeaza un cost asignat static de o unitat pentru fiecare legatura ("hop"), indiferent de distanta pe care o acopera sau de latimea de banda. Se poate observa ca routerele nu trebuie sa creeze intrari separate in tabelele de rutare pentru fiecare sistem final. Rutele in functie de retea sint acele rute bazate doar pe portiunea de retea a unei adrese IP; identificatorul de calculator gazda este ignorat. ------------------------------------------------------------------Router Destinatie Urmatorul hop Numarul de hop-uri pina la destinatie ------------------------------------------------------------------A 172.16.0.0 B 1 A 192.168.125.0 C 1 A 192.168.253.0 B sau C 2 B 10.0.0.0 A 1 B 192.168.125.0 C 1 B 192.168.253.0 D 1 C 10.0.0.0 A 1 C 172.16.0.0 B 1 C 192.168.253.0 D 1 D 10.0.0.0 B sau C 2 D 172.16.0.0 B 1 D 192.168.125.0 C 1 ------------------------------------------------------------------In orice inter-retea cu rute redundante, este mai eficienta utilizarea unui protocol bazat pe vectorii de distante decit a rutelor statice, deoarece protocoalele de rutare bazate pe vectori de distante pot detecta si corecta automat cele mai multe defectiuni. Exista si defecte. De exemplu, pentru routerul A, routerul D este la doua hop-uri departare, indiferent daca ruta trece prin C sau B (deci indiferent de distanta fizica dinte ele). De obicei, cea mai scurta cale, fizic (geografic) vorbind, determina cea mai mica intirziere de propagare. Insa aceste protocoale nu pot face nici un fel de distinctie din acest punct de vedere. De asemenea, protocoalele bazate pe vectori de distante sint limitate si din punct de vedere al efectelor variatiilor latimii de banda si a nivelurilor de trafic. Avantaje ale rutarii bazate pe vectori de distante Sint protocoale simple si usor de intretinut / configurat / utilizat. Sint utile in retele mici care au putine rute redundante. Exista un protocol numit RIP (Routing Information Protocol protocolul informatiilor de rutare), care foloseste o singura functie de distanta pentru determinarea celei mai bune cai de urmat pentru un pachet dat: costul.

Rutarea dinamica bazata pe starea legaturilor

Sint cunoscuti si sub numele de protocoale Shortest Path First SPF (calea cea mai scurta prima). Mentin o baza de date complexa a topologiei reteli. Spre deosebire de anterioarele, aceste protocoale construiesc si actualizeaza un set complet de cunostinte despre routerele retelei si despre modul lor de interconectare. Acest lucru are loc prin schimbul de anunturi de stare a legaturilor (Link-State Advertisments - LSAs) cu alte routere din retea. Fiecare router care a facut shcimb de informatii LSA va construi o baza de date a topologiei utilizind toate LSA-urile primite. Apoi se calculeaza accesibilitatea destinatiilor pe baza unui algoritm SPF; informatiile sint apoi utilizare pentruy actualizarea tabelei de rutare. Se pot deci descoperi schimbarile din topologia retelei care au fost produse prin dezvoltarea retelei sau prin defectarea unei componente. Schimbul de informatii LSA este declansat de un eveniment din retea, nu se face periodic. Continutul tabelelor de rutare pentru exemplul anterior ar fi: ------------------------------------------------------------------Router Destinatie Urmatorul hop Numarul de hop-uri pina la destinatie ------------------------------------------------------------------A 172.16.0.0 B 1 A 192.168.125.0 C 1 A 192.168.253.0 B 2 A 192.168.253.0 C 2 B 10.0.0.0 A 1 B 192.168.125.0 C 1 B 192.168.253.0 D 1 C 10.0.0.0 A 1 C 172.16.0.0 B 1 C 192.168.253.0 D 1 D 10.0.0.0 B 2 D 10.0.0.0 C 2 D 172.16.0.0 B 1 D 192.168.125.0 C 1 ------------------------------------------------------------------Se observa ca se memoreaza ambele rute, de exemplu pentru ruta dintre routerul A si routerul D. Unele protocoale pot chiar sa ofere mijloace necesare evaluarii performantelor acestor doua rute si sa incline in favoarea unei rute mai performante. Inconveniente ale rutarii bazate pe starea legaturilor Exista doua probleme potentiale: 1. In timpul procesului initial de descoperire, se pot inunda mediile de transmisie ale retelei, scazind capacitatea retelei de a transporta date. Desi este o deteriorare temporara, poate avea efecte notabile (mai ales in retele cu legaturi relativ lente) 2. Este consumatoare de memorie si timp procesor. Este nevoie de routere bine echipate. Avantaje ale rutarii bazate pe starea legaturilor Este utila in retele de orice dimensiune. Va permite retelei sa treaca cu bine prin efectele schimbarilor neasteptate de topologie. Folosirea non-periodica, declansata de evenimente, permite detectarea rapida a schimbarilor; sint evitate incarcarile produse de actualizarile periodice (ca la protocoalele bazate pe vectori de distante).

Convergenta intr-o retea IP

Conceptul de convergenta: ori de cite ori se produce o schimbare in topologia sau starea unei retele, toate routerele din retea trebuie sa isi formeze o noua reprezentare a topologiei. Acest proces are lor si in colaborare, dar si independent, de catre fiecare router. Deoarece routerele trebuie sa cada de acord in mod comun asupra noii topologii, independent si din perspective diferite, se spune ca ele converg spre acest consens. Convergenta este necesara opentru ca routerele sint dispozitive inteligente, capabile sa ia propriile decizii de rutare. Aceasta este o sursa de eficacitate dar si de vulnerabilitate. Adaptarea la schimbarile de topologie Luam ca exemplu o retea relativ mica, cu patru noduri, avind o oarecare redundanta a rutelor:

------------------------------------------------------------------Router Destinatie Urmatorul hop Numarul de hop-uri pina la destinatie ------------------------------------------------------------------A 172.16.0.0 B 1 A 192.168.125.0 C 1 A 192.168.253.0 B sau C 2 B 10.0.0.0 A 1 B 192.168.125.0 A sau D 2 B 192.168.253.0 D 1 C 10.0.0.0 A 1 C 172.16.0.0 A sau D 2 C 192.168.253.0 D 1 D 10.0.0.0 B sau C 2 D 172.16.0.0 B 1 D 192.168.125.0 C 1 ------------------------------------------------------------------Daca livrarea pachetelor de catre routerul C catre serverul 192.168.253.2 inceteaza brusc, probabil ca exista undeva o eroare. Cele mai frecvente defectiuni ar fi: - caderea in intregime a serverului (hard, soft) - conexiunea LAN catre server a fost intrerupta - caderea in intregime a routerului D - portul de interfata al routerului D catre routerul C s-a defactat - mediul de transmisie dintre routerele C si D este avariat - portul de interfata al routerului C catre D s-a defactat Sa presupunem ca portul de interfata al routerului C este defect. Astfel, legatura dintre C si D este de nefolosit. Routerele utilizind un protocol de rutare dinamica ar determina rapid ca serverul 192.168.253.2 nu poate fi accesat. Individual, nici unul din routere nu poate determina unde e avut loc defectiunea, dar prin schimbul cu celelalte routere, fiecare isi poate forma o noua imagine a retelei.

Protocolul descris este relativ simplu, el limiteaza fiecare router strict la informatiile venite de la vecinii din imediata apropiere. Astfel, routerele A si D, nefiind adiacente, trebuie sa se bazeze pe B si C. La fel, B si C depinde de A si D pentru a primi informatii despre destinatiile fiecaruia. Rezulta ca, deoarece nu exista conexiuni directe intre oricare doua routere, este posibil sa fie nevoie de mai multe actualizari ale informatiilor de rutare. Sa presupunem ca sint necesare doar doua actualizari ale tabelelor de rutare pentru efectuarea convergentei. In timpul primei iteratii, routerele incep sa convearga asupra unei noi reprezentari. Routerele C si D, din cauza legaturii inutilizabile, nu pot schimba informatii de rutare; ele marcheaza ca invalida aceasta ruta si toate destinatiile care o folosesc. Continutul tabelelor de rutare in timpul procesului de convergenta: ------------------------------------------------------------------Router Destinatie Urmatorul hop Numarul de hop-uri pina la destinatie ------------------------------------------------------------------A 172.16.0.0 B 1 A 192.168.125.0 C 1 A 192.168.253.0 B sau C 2 B 10.0.0.0 A 1 B 192.168.125.0 A sau D 2 B 192.168.253.0 D 1 C 10.0.0.0 A 1 C 172.16.0.0 doar A 2 C 192.168.253.0 D ruta invalida inaccesibil D 10.0.0.0 B sau C 2 D 172.16.0.0 B 1 D 192.168.125.0 C ruta invalida inaccesibil ------------------------------------------------------------------Routerele A si B continua sa considere ca rutele care trec prin legatura C-D sint valide. Ele trebuie sa astepta o actualizare a informatiilor de la routerul C sau D. Iata si continutul tabelelor dupa ce ele au efectuat convergenta asupra noii topologii: ------------------------------------------------------------------Router Destinatie Urmatorul hop Numarul de hop-uri pina la destinatie ------------------------------------------------------------------A 172.16.0.0 B 1 A 192.168.125.0 C 1 A 192.168.253.0 doar B 2 B 10.0.0.0 A 1 B 192.168.125.0 doar A 2 B 192.168.253.0 D 1 C 10.0.0.0 A 1 C 172.16.0.0 doar A 2 C 192.168.253.0 A 3 D 10.0.0.0 doar B 2 D 172.16.0.0 B 1 D 192.168.125.0 doar B 3 ------------------------------------------------------------------Timpul de convergenta Este aproape imposibil ca toate routerele din retea sa detecteze simultan o shimbare de topologie. De fapt, in functie de protocolul folosit dar si de alti factori, poate avea loc o intirziere considerabila. Aceasta intirziere se numeste timp de convergenta. Procesul de convergenta nu este instantaneu. Factorii care pot creste intirzierea:

distanta (exprimata in hop-uri) dintre routere numarul de routere care folosesc protocoale de rutare dinamica latimea de banda si incarcarea de trafic incarcarea routerelor protocolul de rutare folosit Efectele unora dintre acesti factori pot fi minimizate printr-o atenta proiectare.