3.4 Nivelul retea si nivelul transport in Internet
Un lucru deosebit de important care trebuie precizat este acela ca Internetul nu conecteaza calculatoare ci retele. Daca mai punem la socoteal si faptul ca retelele au tipuri diferite, ne dam seama cat de importanta este stabilirea unor protocoale de comunicatie care sa permita conectarea fara probleme a diverselor tipuri de retele si echipamente. La nivelul retea, Internetul poate fi vazut ca o colectie de subretele sau sisteme autonome interconectate. Nu exista o structura reala precisa dar se pot pune in evidenta cateva segmente principale ("coloane vertebrale")(vezi figura de mai jos).
Coloanele vertebrale sunt construite din linii de mare capacitate si routere rapide, la care se conecteaza retelele regionale (de nivel mediu). Retelele regionale conecteaza LAN-uri din institutii, firme si ale furnizorilor de servicii Internet.
Liantul care tine Internetul la un loc este protocolul de nivel retea IP, special conceput pentru interconectarea retelelor. Sarcina sa este aceea de a oferi o cale de a transporta pachetele de date de la sursa la destinatie, fara a tine seama daca masinile expeditor si receptor ( SENDER si RECEIVER ) sunt de acelasi tip sau daca se afla in aceeasi retea ori mai sunt retele intre ele.
Comunicatia in Internet functioneaza astfel:
• nivelul transport preia fluxul de date si il sparge in pachete cu lungimea teoretica de maxim 64kb (practic 1500 bytes)
• fiecare pachet este transmis separat, putand fi fragmentat din nou pe drum
• pachetele ajunse la destinatie sunt reasamblate pentru a obtine datele originale
• datele reasamblate sunt pasate nivelului transport, care le insereaza in sirul de intrare al procesului receptor
Un pachet IP este compus dintr-un antet cu informatii de control si o parte de date, unde sunt stocate datele ce sunt transmise.
Antetul pachetului contine, printre altele, informatii despre:
• versiunea protocolului care a creat pachetul
• lungimea antetului
• lungimea zonei de date
• tipul derviciului dorit (fiabilitate si viteza)
• timpul de viata al pachetului: este un contor care numara cate salturi a facut pachetul (salt=trecerea dintr-un nod in altul), valoarea maxima fiind 255. Cand un pachet are valoarea contorului 0 (adica a petrecut cam mult timp pe drum), acesta este distrus iar hostul sursa este avertizat de pierderea datelor. Protocolul care se ocupa de acest lucru este ICMP (Internet Control Message Protocol), un alt protocol al familiei TCP/IP.
• ce protocol de transport trebuie sa preia pachetul
• adresa sursei
• adresa destinatiei
• cat de secreta este informatia
Sa consideram cazul in care un host din reteaua A doreste sa transmita date unui
host din reteaua B, dupa cum se vede in figura 4. Datele sunt transmise routerului A, care le trimite mai departe (salt) prin reteaua regionala la care este conectata reteaua locala, trece printr-o multime de routere intermediare din coloana vertebrala a SUA si Europei, ajunge in reteaua nationala si apoi in reteaua B, de unde vor fi dirijate catre hostul destinatie. Lucrurile par simple la prima vedere dar problemele care apar in transmiterea datelor de la sursa la destinatie sunt deosebit de complexe. Drumul ales de pachet de la sursa la destinatie se numeste ruta (route), iar operatia de alegere a unui drum dintre drumurile posibile la un moment dat se numeste rutare ( routing). Nivelul retea trebuie sa aleaga drumul cel mai potrivit pentru fiecare pachet, astfel incat ruta sa fie cat mai ieftina si sa nu se produca aglomerari ale unor sectoare din retea (congestii). Sunt folositi diversi algoritmi pentru alegerea rutei optime, cum ar fi algoritmul lui Dijkstra (vedeti la ce sunt bune cunostintele despre grafuri ?) sau algoritmi ce se bazeaza pe anumite tabele actualizate dinamic (tabele de rutare).
Nu am luat inca in discutie un lucru foarte important: pentru a putea realiza transmisia datelor este nevoie sa identificam in mod unic fiecare gazda conectata in retea. Aceasta adresa va fi utilizata pentru localizarea gazdelor in Internet. O adresa IP este formata din patru numere intregi intre 0..255, despartite prin punct. De exemplu, adresa noastra este 192.168.1.1 . O adresa IP este formata dintr-un identificator al retelei (net ID) si un identificator (numar) de masina (host ID). Toate calculatoarele dintr-o anumita retea vor avea acelasi net ID
Adresele IP se pot clasifica in mai multe clase:
• Clasa A: net ID de 8 biti, host ID de 24 biti
• Clasa B: net ID de 16 biti, host ID de 16 biti
• Clasa C: net ID de 24 biti, host ID de 8 biti
Formatul A permite adresarea a 126 retele cu 16 milioane de gazde fiecare (valoarea primului octet nu poate depasi 127). Formatul B permite adresarea a 16383 de retele cu pana la 65000 gazde fiecare si 16000 subretele (primul octet ia valori intre 128 si 191). Formatul C adreseaza aproximativ 2 milioane de retele LAN cu pana la 255 gazde fiecare. Primul octet ia valori intre 192 si 222. Valorile de la 223 pana la 255 sunt rezervate pentru utilizari ulterioare.
Liantul care tine Internetul la un loc este protocolul de nivel retea IP, special conceput pentru interconectarea retelelor. Sarcina sa este aceea de a oferi o cale de a transporta pachetele de date de la sursa la destinatie, fara a tine seama daca masinile expeditor si receptor ( SENDER si RECEIVER ) sunt de acelasi tip sau daca se afla in aceeasi retea ori mai sunt retele intre ele.
Comunicatia in Internet functioneaza astfel:
• nivelul transport preia fluxul de date si il sparge in pachete cu lungimea teoretica de maxim 64kb (practic 1500 bytes)
• fiecare pachet este transmis separat, putand fi fragmentat din nou pe drum
• pachetele ajunse la destinatie sunt reasamblate pentru a obtine datele originale
• datele reasamblate sunt pasate nivelului transport, care le insereaza in sirul de intrare al procesului receptor
Un pachet IP este compus dintr-un antet cu informatii de control si o parte de date, unde sunt stocate datele ce sunt transmise.
Antetul pachetului contine, printre altele, informatii despre:
• versiunea protocolului care a creat pachetul
• lungimea antetului
• lungimea zonei de date
• tipul derviciului dorit (fiabilitate si viteza)
• timpul de viata al pachetului: este un contor care numara cate salturi a facut pachetul (salt=trecerea dintr-un nod in altul), valoarea maxima fiind 255. Cand un pachet are valoarea contorului 0 (adica a petrecut cam mult timp pe drum), acesta este distrus iar hostul sursa este avertizat de pierderea datelor. Protocolul care se ocupa de acest lucru este ICMP (Internet Control Message Protocol), un alt protocol al familiei TCP/IP.
• ce protocol de transport trebuie sa preia pachetul
• adresa sursei
• adresa destinatiei
• cat de secreta este informatia
Sa consideram cazul in care un host din reteaua A doreste sa transmita date unui
host din reteaua B, dupa cum se vede in figura 4. Datele sunt transmise routerului A, care le trimite mai departe (salt) prin reteaua regionala la care este conectata reteaua locala, trece printr-o multime de routere intermediare din coloana vertebrala a SUA si Europei, ajunge in reteaua nationala si apoi in reteaua B, de unde vor fi dirijate catre hostul destinatie. Lucrurile par simple la prima vedere dar problemele care apar in transmiterea datelor de la sursa la destinatie sunt deosebit de complexe. Drumul ales de pachet de la sursa la destinatie se numeste ruta (route), iar operatia de alegere a unui drum dintre drumurile posibile la un moment dat se numeste rutare ( routing). Nivelul retea trebuie sa aleaga drumul cel mai potrivit pentru fiecare pachet, astfel incat ruta sa fie cat mai ieftina si sa nu se produca aglomerari ale unor sectoare din retea (congestii). Sunt folositi diversi algoritmi pentru alegerea rutei optime, cum ar fi algoritmul lui Dijkstra (vedeti la ce sunt bune cunostintele despre grafuri ?) sau algoritmi ce se bazeaza pe anumite tabele actualizate dinamic (tabele de rutare).
Nu am luat inca in discutie un lucru foarte important: pentru a putea realiza transmisia datelor este nevoie sa identificam in mod unic fiecare gazda conectata in retea. Aceasta adresa va fi utilizata pentru localizarea gazdelor in Internet. O adresa IP este formata din patru numere intregi intre 0..255, despartite prin punct. De exemplu, adresa noastra este 192.168.1.1 . O adresa IP este formata dintr-un identificator al retelei (net ID) si un identificator (numar) de masina (host ID). Toate calculatoarele dintr-o anumita retea vor avea acelasi net ID
Adresele IP se pot clasifica in mai multe clase:
• Clasa A: net ID de 8 biti, host ID de 24 biti
• Clasa B: net ID de 16 biti, host ID de 16 biti
• Clasa C: net ID de 24 biti, host ID de 8 biti
Formatul A permite adresarea a 126 retele cu 16 milioane de gazde fiecare (valoarea primului octet nu poate depasi 127). Formatul B permite adresarea a 16383 de retele cu pana la 65000 gazde fiecare si 16000 subretele (primul octet ia valori intre 128 si 191). Formatul C adreseaza aproximativ 2 milioane de retele LAN cu pana la 255 gazde fiecare. Primul octet ia valori intre 192 si 222. Valorile de la 223 pana la 255 sunt rezervate pentru utilizari ulterioare.