Ideea este de a construi un graf al retelei, in fiecare nod aflandu-se un router, iar fiecare arc este o linie de legatura. Pt a alege o cale intre 2 routere, algoritmul cauta calea cea mai scurta in graf. Conceputl e “shortest path routing”. O modalitate de a masura lungimea caii e nr de salturi. Mai sunt posibile si alte metric: de exemplu fiecare arc poate fi etichetat cu valuarea medie a asteptarii si intarzierii de transmitere pt anumite pachete de test. In acets fel cea mai scurta cale e cea mai rapida, nu neaparat cea cu mai putine salturi. Dirijarea bazata pe flux Un algoritm static de dirijare care tine cont de topologie, dar si de incarcare se numeste alrgor de dirijare bazat pe flux (flood basing routing). Pentru o anumita linie, daca se cunosc capacitatea si fluxul mediu, e posibil sa se calculeze intarzierea medie a unui pachet. Pe baza intarzierilor medii a tuturor liniilor se poate calcula intarzierea medie a unui pachet pentru toata subreteaua ca fiind o medie ponderata calculata dupa flux. Dirijarea se reduce la determinarea algor de dirijare care produce o intarziere minima pentru acea subretea. Dirijarea cu vectori de distanta Acest algor (distance vector routing) se foloseste de mentinerea pe fiecare router a unui vector (tabel) care pastreaza cea mai buna distanta cunoscuta spre fiecare destinatie si linia ce trebuie urmata pentru a ajunge acolo. Aceste tabele sunt actualizate prin schimbarea de informatii cu routerele vecine. Primul algor de dirijare folosit initial in reteaua ARPANET a fost folosit si in internet cu numele de RIP. O intrare in tabela cu vectori de distanta contine linia de iesire preferata si o estimare a timpului sau distantei pana la acea destinatie. Nivelul retea in internet La nivelul retea, internetul poate fi vazut ca o colectie de subretele, care poarta denumirea de sisteme autonome conectate intre ele. Exista cateva coloane vertebrale (backbone) majore de interconectare. (USA- MCI, SPRINT; EUROPA – EBONIA, FUNET, SENET). Liantul care tine internetul functional este protocolul numit IP (internet protocol). Spre deosebire de protocoalele de retea mai vechi, IP a fost proiectat de la inceput cu gandul la interconectarea retelelor. Comunicarea in internet se realizeaza astfel: nivelul transport preia siruri de date si le imparte in datagrame (in jur de 1500 octeti). Fiecare datagrama e transmisa prin internet, fiind eventual fragmentata in bucati mai mici. Cand toate bucatile ajung la destinatie ele sunt reansamblate de nivelul retea in datagrama originala. Aceasta este apoi pasata nivelului transport care o insereaza in fluxul de date de intrare al procesului receptor. Datagrama e formatul de pachet folosit de IP: Fig 6.1
Campul versiune (4 biti) - specifica carei versiuni de protocol ii apartine datagrama.
Deoarece lungimea header-ului nu este constanta, acesta poate avea 5 sau 6 cuvinte, cuvantul IHL specifica lungimea antetului (header) in cuvinte. Campul de optiuni poate avea pana la 40 de octeti. Campul TOS specifica ce tip de serviciu se doreste . Sunt posibile diferite combinatii de viteza si fiabilitate. Vocea digitala prefera livrarea rapida in locul livrarii corecte. Pentru transferuri de fisiere transmiterea fara erori e mult mai importanta decat cea rapida. Total length - lungimea totala a datagramei DF - don’t fragment = ordin dat routerelor sa nu fragmenteze datagramele MF - more fragment = toate fragmentele cu execptia ultimului au acest bit setat. Acest bit e necesar pentru a sti cand au ajuns toate fragmentele din datagrama. Fragmentation offset = spune unde e locul fragmentului curent in cadrul datagramei Time to live = contor pentru a limita durata de viata a pachetelor. Este permis un timp de viata de 255s. Acesta e decrementat la fiecare salt si este decrementat de mai multe ori cand asteapta in coada intr-un router. Cand ajunge la 0 pachetul e eliminat si se transmite la sursa un pachet de avertizare. Cand nivelul retea a ansamblat o datagrama completa, campul protocol spune carui proces de transport trebuie sa predea datagrama. Posibilitatile sunt TCP sau UDP. Suma de control a header-ului se refera doar la header si este folosita pentru detectarea erorilor care pot apare la tranzitarea routerelor. Adresa sursei si destinatiei (32 biti) indica nr de retea si numarul gazdei. Campul de optiuni a fost creat pentru a permite versiunilor viitoare ale protocolului sa includa informatii ce au fost prevazute in proiectul initial. Adrese IP Fiecare router din internet sau router are adresa IP careidentifica reteaua in care se afla si respectiva gazda in cadrul retelei, combinatia fiind unica. Adresele IP au 32 de biti si sunt folosite in campurile Source si Destination Address ale pachetelor IP. Exista 5 tipuri de clase A,B,C,D,E, din care A,B,C sunt folosite pentru uz comercial. Numerele de retea sunt atribuite de catre NIC (network information center) si care mai nou a fost completat de ARIN. Adresele de retea (nr pe 32 de biti) sunt scrise in mod uzual in notatia zecimala cu punct. In acest mod fiecare din cei 4 octeti e scris zecimal, separati prin punct. Cea mai mica adresa este 0.0.0.0, iar cea mai mare 255.255.255.255. Valorile zero, 255 au semnificatie speciala. Valoarea zero inseamna gazda curenta sau reteaua curenta. Valoarea 255 e folosita ca o adresa de difuzare pentru a desemna toate gazdele din reteaua indicata. Adresele IP cu 0 ca nr de host se refera la reteaua curenta. Adresele care constau numai din biti 1 in campul host-ului permit difuzarea in retea. Deoarece toate retelele sunt inregistrate de catre NIC si nr de retele locale creste, administrarea lor poate crea un volum mare de munca. Solutia unor astfel de probleme este sa se permita ca o retea sa fie divizata in mai multe parti pentru uz intern, iar pentru lumea externa sa se comporte ca o singura retea. Aceste parti interne se numesc subretele. In afara de IP, care este folosit pentru transfer de date, internetul are cateva protocoale de control la nivel retea: ICMP, ARP, RARP, BOOTP. Atunci cand apare un eveniment internet el e raportat prin ICMP (internet control message protocol). Mesajele ICMP sunt incapsulate intr-un pachet de tip IP. Exemple: Destination Unreacable (e generat cand un router sau o subretea nu poate localiza destinatia); Time Exceeded (e generat cand un pachet e eliminat datorita ajungerii contorului sau la zero); Redirect (e folosit cand un router observa un pachet dirijat gresit); Echo Request/Echo Reply (sunt folosite pentru a verifica daca o destinatie e accesibila si activa). Nivelul transport Se afla deasupra nivelului retea. Sarcina acestui nivel e de a transporta date de la sursa la destinatie intr-o maniera sigura si eficienta din punct de vedere al costurilor, independent de reteaua fizica utilizata.