Scurta introducere in protocoale
La nivel retea exista doua clase de protocoale:
Tinta acestui curs fiind preponderent retelele locale ne vom ocupa in continuare doar de protocoalele rutate.
Folosirea unor protocoale bazate doar pe prelucrarea informatiilor de nume poate fi adecvata in retelele de dimensiuni reduse. Aceste protocoale folosesc doar un singur identificato 18218h72s r/nume (de ex. adresa MAC) pentru a identifica un calculator intr-o retea. Odata cu cresterea retelei devine tot mai dificil organizarea schemei de nume astfel incit sa nu existe doua statii cu acelasi nume si cantitatea de informatie ce trebuie prelucrata sa fie cit mai redusa, eventual optimizata la cautare.
Exista doua scheme de adresare:
Orice protocol pentru a putea fi rutat trebuie sa ofere o schema de adresare ierarhica care sa contina minim doua cimpuri: adresa de retea si adresa de statie.
Protocolul IP
Clasa |
Primii biti |
Nr biti retea |
Nr de retele |
Nr biti statie |
Nr statii |
Domeniu de valori |
A |
0... |
8 |
126 |
24 |
224-2 |
1.0.0.0 - 126.255.255.255 |
B |
10... |
16 |
214-2 |
16 |
216-2 |
128.0.0.0 - 191.255.255.255 |
C |
110... |
24 |
223-2 |
8 |
28-2 |
192.0.0.0 - 239.255.255.255 |
D |
1110... |
... |
... |
multicast |
... |
... |
E |
11110... |
... |
... |
rezervat |
... |
... |
Doua dintre adresele de statie sunt
rezervate: cea ce are reprezentarea binara descrisa in cimpul de statie numai de 0, aceasta fiind numita si adresa retelei si cea descrisa numai prin 1, aceasta din urma numindu-se adresa de difuzare sau brodcast. Mai exact aceasta a doua adresa mai este numita si adresa de difuzare directa, existind si o adresa de difuzare in reteaua locala, aceasta fiind 255.255.255.255. Din motive de securitate ruterele nu transmit mai departe pachetele ce contin adresa de difuzare in reteaua locala in cimpul destinatie. In cea ce priveste adresele de retea exista tot doua care nu pot fi folosite. Este vorba de prima si ultima din fiecare clasa de adrese. De retinut ca in mod real si aceste retele sunt folosite cu riscul de a se crea unele confuzii. Din tabelul de mai sus se observa ca se pot folosi pentru statii cu acces direct pe Internet doar clasele de adrese A, B si C. Clasa D este proiectata pentru a suporta adrese de trimitere multipla (multicast), iar clasa E este rezervata. Adresele de retea sunt distribuite de InterNIC, sau de institutii autorizate de acesta. Odata obtinut un spatiu de adrese distribuirea lui in interiorul retelei locale ramine la latitudinea administratorului de retea.
Subretele Cele 3 clase de adrese ofera o flexibilitate redusa, numarul de statii continute intr-o retea putind avea doar 3 valori. Acest inconvenint major poate fi compensat prin definirea in interiorul unei retele de subretele. Desi acestea vor permite un grad mai mare de flexibilitate implementarea lor se va duce la micsorarea spa?iului disponibil de adrese. In tabelul de mai jos este facuta evaluarea spatiiului disponibil de adrese dupa crearea de subretele intr-o clasa C.
Nr biti imprumutati |
Nr de subretele |
Nr de statii pe o subretea |
Nr total de statii |
Procent de utilizare |
2 |
2 |
62 |
124 |
49% |
3 |
6 |
30 |
180 |
71% |
4 |
14 |
14 |
196 |
77% |
5 |
30 |
6 |
180 |
71% |
6 |
62 |
2 |
124 |
49% |
Masca de retea are rolul de a distinge care este adresa de retea dintr-o adresa IP data. Pentru obtinerea adresei de retea se va face o operatie de sI logic intre masca de retea si adresa IP. Exista doua exprimari folosite:
Exprimarea adreselor
de IP
Adrese private
Deoarece spatiul de adrese IPv4 este din ce in ce mai
aglomerat o serie de adrese de retea au fost dedicate utilizarii in reteaua
locala, aceste adrese nu pot fi accesate direct de pe Internet. Interconectarea
unei astfel de retele se va face printr-un sever ce va
oferii NAT (Network Address Translation), acesta avind nevoie de o adresa
rutabila. -Clasa A: 10.0.0.0 (aceasta este chiar clasa
folosita pentru dezvoltarea proiectului de interconectare la DARPA, deci este
reteaua de la care a pornit Internetul) -Clasa B: 172.16.x.x - 172.31.x.x
-Clasa C: 192.16.x.x
Protocolul NetBEUI
Protocolul NetBEUI desi poate pare o solutie adecvata pentru retelele de mici dimensini aduce doua inconveniente semnificative:
NetBIOS (Network Basic Input/Output System) este un API folosit de aplicatii in retelele IBM pentru a solicita servicii de la procesele de retea de nivel scazut. NetBIOS include 3 servicii de baza:
La alegerea protocolului de nivel retea trebuie luate in consideratie urmatoarele aspecte:
Protocolul IPX
Este o dezvoltare a XNS. Adresele IPX sunt de 10 octeti:
Stiva de protocoale
Un model de stratificat pentru retelele de calculatoare s-a impus din considerente practice si teoretice de mult timp. Fara un astfel de model, dezvoltarea, intelegerea si, in ultima instanta, functionarea retelelor ar fi imposibile. Acest gen de model aduce urmatoarele avantaje:
Protocolul ISO-OSI
Modelul ISO-OSI cuprinde urmatoarele niveluri:
Aplicatie |
Prezentare |
Sesiune |
Transport |
Retea |
Legatura de date |
Fizic |
Modelul OSI al Organizatiei Internationale pentru Standardizare (ISO) este structurat pe sapte niveluri: Aplicatie, Prezentare, Sesiune, Transport, Retea, Legatura de date si Fizic. Pe parcursul acestui capitol este prezentat succint rolul fiecarui nivel, urmand ca mai departe sa fie detaliat modul de functionare al fiecaruie si functiile specifice. Memorarea nivelurilor acestui model este o necesitate in intelegerea retelelor de calculatoare, pentru a avea o reprezentare permanenta a modulelor functionale care duc la functionarea acesteia. Pentru a retine mai usor cele sapte niveluri, un ajutor ar fi propozitia in limba engleza "All People Seem To Need Data Processing", ale carei cuvinte incep exact cu literele cu care incep si numele in limba engleza ale celor sapte niveluri.
Nivelul aplicatie este cel care este situat cel mai aproape de utlizator; el ofera servicii de retea aplicatiilor utilizator. Difera de celelalte niveluri OSI prin faptul ca nu ofera servicii nici unui alt nivel, ci numai unor aplicatii ce sunt situate in afara modelului OSI. Exemple de astfel de aplicatii sunt editoare de texte, utilitare de calcul tabelar, terminale bancare etc. Nivelul aplicatie stabileste disponibilitatea unui celculator cu care se doreste initierea unei conexiuni, stabileste procedurile ce vor fi urmate in cazul unor erori si verifica integritatea datelor. Daca doriti sa retineti in cat mai putine cuvinte nivelul aplicatie, ganditi-va la un browser de web.
Nivelul prezentare se asigura ca informatia transmisa de nivelul aplicatie al unui sistem poate fi citita si interpretata de catre nivelul aplicatie al sistemului cu care acesta comunica. Daca este necesar, nivelul prezentare face traducerea intre diverse formate de reprezentare, prin intermediul unui format comun. Tot nivelul prezentare este responsabil cu eventuala compresie/decompresie si criptare/decriptare a datelor. Pentru a retine nivelul prezentare in putine cuvinte, ganditi-va la reprezentare format comun al datelor.
Asa cum implica si numele sau, nivelul sesiune se ocupa cu stabilirea, mentinerea, gestionarea si terminarea sesiunilor in comunicarea dintre doua statii. Nivelul sesiuna ofera servicii nivelului prezentare. De asemenea, el realizeaza sincronizarea intre nivelurile prezentare ale doua statii si gestioneaza schimbul de date intre acestea. In plus fata de regularizarea sesiunilor, nivelul sesiune ofera bazele pentru transferul eficient de date, pentru clase de servicii, pentru raportarea exceptiilor nivelurilor sesiune, prezentare si aplicatie. Daca doriti sa retineti nivelul sesiune in putine cuvinte, ganditi-va la dialog si la conversatii.
Nivelul transport segmenteaza datele in sistemul sursa si le reasambleaza la destinatie. Limita dintre nivelul transport si nivelul sesiune poate fi vazuta ca granita intre protocoale aplicatie si protocoale de transfer de date. In timp ce nivelurile aplicatie, prezentare si sesiune se preocupa cu probleme legate de aplicatii, cele patru niveluri inferioare se ocupa cu probleme legate de transportul datelor. Nivelul transport incearca sa ofere un serviciu de transport de date care sa izoleze nivelurile superioare de orice specificitati legate de modul cum este executat transportul datelor. Mai specific, probleme cum ar fi cat de sigur (reliable) sunt responsabilitatea nivelului transport. In cadrul oferirii de servicii de comunicare, nivelul transport initiazeaza, gestioneaza si inchide circuitele virtuale. Pentru a fi oferita o comunicatie sigura, servicii de detectare si recuperare din erori sunt oferite tot la acest nivel. Tot aici este realizat controlul fluxului (flow control). Daca doriti sa retineti nivelul transport in cat mai putine cuvinte, ganditi-va la calitatea serviciilor si la siguranta.
Nivelul retea este un nivel complex care ofera conectivitate si selectia drumului de urmat intre doua sisteme gazda care pot fi localizate in retele separate geografic. Acesta este nivelul cel mai important in cadrul Internetului, asigurand posibilitatea interconectarii diferitelor retele. Tot la acest nivel se realizeaza adresarea logica a tuturor nodurilor din Internet. La nivelul retea opereaza ruterele, dispozitivele cele mai importante in orice retea de foarte mari dimensiuni. Daca doriti sa retineti nivelul retea in cat mai putine cuvinte, ganditi-va la selectia drumului, rutare si adresare.
Nivelul legatura de date ofera transportul sigur al informatiei printr-o legatura fizica directa. Pentru a realiza acest lucru, nivelul legatura de date se ocupa cu adresarea fizica, topologia retelei, accesul la retea, detectia si anuntarea erorilor si controlul fluxului fizic (flow control). Daca doriti sa va amintiti nivelul doi in cat mai putine cuvinte, ganditi-va la cadre si la controlul accesului la mediu.
Nivelul fizic defineste specificatii electrice, mecanice, procedurale si funcitionale pentru activarea, mentinerea si dezactivarea legaturilor fizice intre sisteme. In aceasta categorie de caracteristici se incadreaza niveluri de tensiune, timingul schimbarilor acestor niveluri, rate de transfer fizice, distante maxime la care se poate transmite si alte atribute similare care sunt definite de specificatiile fizice. Daca doriti sa retineti nivelul fizic in cat mai putine cuvinte, ganditi-va la semnale si la mediu de transfer.
Protocolul TCP/IP
Stiva TCP/IP cuprinde urmatoarele niveluri:
Aplicatie |
Transport |
Retea |
Acces la mediu |
Desi modelul OSI este general recunoscut, standardul istoric si tehnic pentru Internet este TCP/IP (Transmission Control Protocol/Internet Protocol). Modelul TCP/IP a fost creeat de U.S. DoD din necesitatea unei retele care ar putea supravietui in orice conditii. Modelul TCP/IP are patru niveluri: Aplicatie, Transport, Retea (sau Internet) si Acces la Retea. Nivelul Aplicatie nu este identic cu cel din modelul ISO-OSI. Acesta include ultimele trei niveluri superioare din stiva OSI. Acestea au fost comasate pentru a putea fi tratate la un loc toate problemele legate de protocoale de nivel inalt, fie ele de reprezentare, codificare sau control al dialogului. Nivelul Transport este identic cu cel din modelul OSI, ocupandu-se cu probleme legate de siguranta, control al fluxului si corectie de erori. Scopul nivelului Retea (Internet) este de a asigura transmiterea pachetelor de la orice sursa din retea si livrarea lor catre o destinatie independent de calea si retelele pe care le-a strabatut pentru a ajunge acolo. Determinarea drumului optim si comutarea pachetelor au loc la acest nivel. Nivelul Acces la retea se ocupa cu toate problemele legate de transmiterea efectiva a unui pachet IP pe o legatura fizica.
Incapsularea datelor
Inainte ca datele sa fie transmise, ele trec printr-un proces numit incapsulare. Incapsularea adauga informatii specifice fiecarui nivel prin adaugarea unui header si a unui trailer la fiecare nivel. Acest proces este vital in comunicare. Prin incapsulare, protocoalele de pe fiecare nivel pot comunica intre sursa si destinatie independent de celelalte niveluri. Fiecare nivel isi adauga informatii specifice pe parcursul incapsularii. Astfel, in cadrul procesului de decapsulare, protocoalele de pe un anumit nivel pot primi aceste date la destinatie si pot da informatii nivelelor superioare in functie de aceste date. Se creeaza in acest fel o comunicare intre nivelurile analoage de la sursa si de la destinatie; aceasta comunicare nu are loc prin legaturi fizice, ci este posibila datorita procesului de incapsulare/decapsulare a datelor. Fiecare nivel comunica cu nivelurile analoage prin intermediul unor unitati de date proprii (PDU = Prorocol Data Unit). Aceste unitati de date sunt constituite din datele primite de la nivelurile superioare, incadrate de un header si un trailer specifice nivelului respectiv. Fiecare tip de PDU pentru nivelurile 2, 3 si 4 (legatura de date, retea si transport) au semnificatii deosebit si poarte nume consacrate. Nivelurile transport comunica prin segmente, nivelurile retea comunica prin pachete, iar cele legatura de date creaza prin incapsulare cadre.
Vom da un exemplu pentru a putea intelege mai bine si pentru a putea urmati procesul de incapsulare a datelor. Sa presupunem ca un utilizator oarecare scrie un e-mail pe care il trimite unui destinatar. El face acest lucru prin intermediul unui client de mail (de exemplu MS. Outlook). La trimiterea e-mail-ului, protocolul SMTP, situat la nivel aplicatie, primeste date de la clientul de mail si le trimite nivelului prezentare, dupa ce si-a adaugat informatiile proprii ce vor fi necesare la receptionare pentru corecte interpretare de catre clientul de mail al destintatarului. La nivelul prezentare, datele sunt trecute in format ASCII pentru a asigura o reprezentare comuna si trimise mai departe nivelului sesiune. Nivelul sesiune va creea si deschide o sesiune de comunicare cu calculatorul destinatie cu scopul de a trimita datele primite de la nivelul superior. Datele trimise de nivelul sesiune sunt receptionate de catre nivelul transport. Acesta le imparte in segmente, adaugandu-si propriile informatii (numarul segmentului, portul sursa si destinatie etc.) prin intermediul unui header si trimite segmentele astfel obtinute nivelului retea. Nivelul retea va creea pachete prin adaugarea headerului propriu ce va contine elemente de adresare IP, cum ar fi adresa IP a sursei si a destinatiei. Pachetele sunt trimise nivelului legatura de date. Nivelul legatura de date incapsuleaza pachetul intr-un cadru, adaugandu-si propriul header ce contine elemente de adresare fizica. Cadrele sunt pasate nivelului fizic, care este respunzator cu transmiterea efectiva a bitilor prin mediul de transmisie. Astfel, desi singura comunicare reala are loc intre nivelurile fizic, fiecare nivel poate transmite date specifice nivelului analog de la destinatie ce vor fi interpretate de catre acestea.
|