CATEGORII DOCUMENTE |
Mecanisme de adresare
O retea de calculatoare reprezinta un ansamblu de calculatoare interconectate prin intermediul unor medii de comunicatie. Accesul la mediul de comunicatie se face printr-o interfata de retea care are intotdeauna o adresa de retea. Acesta este primul nivel la care se poate discuta despre adresarea unui calculator, despre mecanisme si scheme de adresare.
Nota: desi acest tip de conexiune nu face obiectul acestei lucrari trebuie mentionat ca doua calculatoare pot fi conectate si prin interfata seriala, acolo nefiind nevoie de o adresa, intrucat sunt doar doua dispozitive implicate in comunicatie, iar interfata seriala este full duplex.
Comunicatia intr-o retea folosind numai adresa fizica (MAC) devine extrem de complexa si greu de gestionat in momentul in care dimensiunea retelei creste. Modelele OSI si TCP/IP propun utilizarea unei adrese logice, in plus fata de adresele fizice mentionate anterior. Cele mai utilizate tipuri de adrese sunt IP si IPX. IP s-a impus totusi ca standard de facto datorita performantelor superioare in retelele metropolitane (WAN).
Modelul TCP/IP este o descriere abstracta, structurata pe nivele a comunicatiilor si protocoalelor de comunicatie folosite in retele. A fost creat in anii '70 de DARPA pentru a dezvolta protocoale pentru Internet.
Modelul original cuprindea 4 nivele, dar a evoluat intr-un model cu 5 nivele prin impartirea in doua a nivelului de acces la retea.
Acest model a fost creat inaintea modelului de referinta OSI, iar IETF (Internet Engineering Task Force), care este responsabil pentru de model si de protocoalele dezvoltate in acesta, nu a incercat niciodata sa se raporteze la acesta. Desi modelul OSI este des folosit in procesul de invatare, fiind mai simplu de inteles, modelul cu sapte nivele nu reflecta catusi de putin realitatea arhitecturii protocoalelor folosite in Internet.
Nivelul Aplicatie
Acest nivel este folosit de cele mai multe programe pentru comunicatia pe retea. Datele sunt transmise dintr-un program intr-un anumit format, apoi incapsulate intr-un protocol al nivelului de transport.
Pentru ca stiva TCP/IP nu are nici un nivel intermediar intre nivelul aplicatie si nivelul transport, nivelul de aplicatie trebuie sa contina si toate protocoalele care se comporta similar cu protocoalele OSI din nivelele sesiune si prezentare. Aceats functionalitate este de obicei stocata in biblioteci.
Cele mai utilizate protocoale de transport sunt TCP si UDP. Majoritatea serverelor au porturi speciale asignate lor, in timp ce pe masinile client se folosesc porturi temporare.
Nivelul de transport
In sarcina nivelului de transport intra transferul de mesaje intre capete, independent de nivelele de mai jos, inclusiv corectia erorilor, fragmentarea si cotrolul traficului. Transferul de mesaje intre doua puncte si implicit aplicatiile de conectare de la nivelul de transport se impart in doua subcategorii:
cu conexiune (de exemplu TCP)
fara conexiune (de exemplu UDP)
Nivelul de transport poate fi privit ca un mecanism de transport (de exemplu un vehicul) a carui responsabilitate este sa se asigure ca mesajul, continutul (pasageri/bunuri) ajunge nemodificat la destinatie.
Nivelul de transport ofera acest serviciu de conectare al aplicatiilor prin intermediul porturilor. Cum protocolul IP ofera numai o cat mai buna transmisie, nivelul de transport este primul nivel din stiva TCP/IP a carui raspundere este sa ofere siguranta transmisiei.
Observatii:
protocolul IP poate rula deasupra unei conexiuni fizice sigure (cu corectie de erori) cum ar fri HDLC (High-Level Data Link Control)
protocoalele de deasupra nivelului de transport pot de asemenea implementa mecanisme de corectie de erori
La acest nivel ruleaza, de exemplu si protocolul TCP care rezolva o multitudine de probleme ce privesc siguranta transmisiei:
datele trebuie sa soseasca in ordinea transmiterii
datele sa aiba erori minime
datele duplicate sunt ignorate
pachetele pierdute sunt retransmise
congestia traficului minima
UDP este un protocol fara conexiune. Ca si IP-ul, UDP este un protoccol care incearca cea mai buna transmisie, insa nu verifica daca au aparut erori decat printr-un mecanism primitiv de checksum. UDP-ul este folosit in aplicatii in care viteza comunicatiei este mult mai importanta decat corectitudinea datelor receptionate (de exemplu streaming-ul audio sau video).
Atat TCP cat si UDP sunt folosite pentru a deservi aplicatii de nivel superior. Aplicatiile de la o anumita adresa de retea sunt diferentiate prin numerul portului UDP sau TCP. Prin conventie anumite porturi sunt asignate automat anumitor aplicatii.
Nivelul de retea
Asa cum a fost definit initial, nivlul de retea rezolva problema transmiterii pachetelor prin retea. Exemple de astfel de protocoale sunt X.25 si Host/IMP.
Odata cu dezvoltarea conceptului de internetworking sarcinile acestui nivel s-au nuantat astfel: transmiterea pachetelor dintr-o retea sursa intr-o retea destinatie. Aceasta implica in general rutarea pachetelor intr-o retea de retele numita internetwork sau internet.
In suita de protocoale Internet, protocolul IP are sarcina de baza de a transmite pachetele de la sursa la destinatie. IP-ul transmite datele pentru diverse protocoale de nivel mai inalt; aceste protocoale sunt identificate printr-un numar unic. De exemplu ICMP si IGMP au asociate numerele1 si respectiv 2.
Nivelul legatura de date
Nivelul de legatura, care este metoda folosita pentru a transmite pachetele intre nivelele de retea de pe doua statii, nu face parte din suita de protocoale Internet, deoarece IP poate folosi o mare diversitate de nivele de legatura. Procesele de transmitere a pachetelor printr-un anumit nivel de legatura si de receptie a pachetelor de la un nivel de legatura pot fi controlate atat de driverele placii de retea cat si de software-ul din niste chipseturi speciale. Acestea vor implementa functii speciale ale nivelului de legatura ca de exemplu adaugarea unui header pachetului pentru a-l pregati pentru transmisie, apoi transimisia efectiva a frame-ului prin mediul fizic.
Nivelul de legatura poate fi nivelul la care sunt interceptate pachetele ce trebuie transmise intr-o retea virtuala privata. Cand se intampla astfel, datele de la nivelul legatura sunt considerate date de nivel aplicatie si sunt transmise din nou nivelului transport fiind reincapsulate pentru transmisie. La receptie, datele vor trece de doua ori prin stiva TCP/IP (o data pentru rutare, a doua oara pentru reteaua virtuala privata).
Nivelul de legatura poate fi privit ca si cum ar include si nivelul fizic, care este format din componente fizice de retea (repetoare, medii de transmisiune, placi de retea, conectori) si din specificatiile de nivel jos (tensiuni, frecvente, etc).
Nivelul fizic
Nivelul fizic este responsabil de codarea si transmiterea datelor pe mediul de transmisiune. Aici se opereaza cu datele sub forma de biti care sunt transmisi intre nivelele fizice de pe doua statii conectate la mediul de transmisiune.
Dupa cum am mai spus, la nivelul legatura de date apare prima adresa prin care poate fi identificata o statie de lucru. Aceasta adresa se numesta adresa fizica sau MAC (media acces controller), fiind de fapt un cod unic ce identifica placa de retea. Adresa MAC este un numar format din sase grupuri de cate doua cifre hexa. Deci, in total sase octeti in formatul:
XX-XX-XX-XX-XX-XX
Primii trei octeti formeaza codul producatorului, iar ultimii trei codul unic al placii respective.
Adresarea la nivelul legatura de date se face atunci cand statia sursa nu isi cunoaste propria adresa IP sau adresa IP a statiei destinatie. Doua protocoale definesc modul de lucru in momentul in care se intalneste o astfel de situatie: DHCP si InARP.
Protocolul Invers ARP (InARP) este folosit pentru a obtine adresa de nivel retea a statiei destinatie atunci cand se cunoaste adresa fizica a acesteia. Acest protocol este folosit in retele de tip Frame Relay sau ATM, unde adresele de nivel 2 ale circuitelor virtuale sunt obtinute din semnale de nivel 2, iar adresele de nivel retea trebuie cunoscute inainte ca aceste circuite virtuale sa poata fi utilizate.
Protocolul ARP translateaza adrese de nivel 3 in adrese de nivel, de aceea InARP poate fi considerat ca fiind inversul ARP-ului. De fapt InARP este implementat ca o extensie a ARP. Formatul pachetelor este identic, numai campurile completate si codul operatiei fiind diferite.
Reverse ARP (RARP), translateaza, ca si InARP, adrese de nivel 2 in adrese de nivel 3. Totutsi, RARP este folosit de statia sursa pentru a-si obtine propria adresa de nivel 3, cata vreme InARP isi cunoaste propria adresa de nivel 3, propria adresa de nivel 2 si adresa de nivel 2 a destinatiei, dar nu cunoaste adresa de nivel 3 a destinatiei. RARP a fost abandonat in ultimul timp in favoarea noului protocol DHCP.
Nivelul de retea este cel responsabil pentru transmiterea datelor din reteaua sursa in reteaua destinatie si de la statia sursa la statia destinatie. Aici intervine adresarea logica de care vorbeam in primul capitol, adresare implementata prin protocoalele IP si IPX.
Orice retea TCP/IP are propriul numar nuic de retea si orice statie dintr-o retea TCP/IP trebuie sa aiba propria adresa IP.
O adresa IP este un numar pe 32 de biti care identifica in mod unic o interfata de retea a unei statii. Spunem interfata de retea a unei statii si nu statia propriu zisa pentru ca, de exemplu, o statie poate avea mai multe interfete de retea si ca urmare mai multe adrese IP (cate una pentru fiecare interfata de retea). De obicei adresele IP sunt scrise cu cifre zecimale, grupate in patru grupuri de cate 8 biti fiecare, separate prin puncte. Fiecare camp de 8 biti reprezinta un octet al adresei IP. Aceasta forma de reprezentare a adreselor IP este de obicei denumita dotted-decimal-format.
Cei patru octeti ai unei adrese IP sunt impartiti in doua: partea de retea (network) si partea de gazda (host). Exemplul de mai jos delimiteaza cele doua componente ale unei adrese IP de clasa B:
Partea de retea
Aceasta parte specifica un numar unic asignat unei retele TCP/IP. In functie de valorile octetilor ce formeaza aceasta parte de retea se poate deduce dimensiunea, clasa retelei. In exemplul de mai sus partea de retea este 192.168 (doi octeti), un numar tipic unei retele de clasa B.
Partea de gazda
Octetii ce compun partea de gazda formeaza un numar ce identifica in mod unic o anumita statie din reteaua reaspectiva. Se observa faptul ca intr-o retea toate statiile vor avea adrese IP cu aceeasi parte de retea (numarul retelei respective), dar cu parti de gazda diferite.
Numarul subretelei (optional)
Multe retele locale de calculatoare (LAN) cu numar mare de calculatoare gazda sunt impartite in subretele. Daca se doreste impartirea in subretele, atunci trebuie ca fiecarei subretele sa i se atribuie un numar de identificare. Pentru aceasta se folosesc (se imprumuta) cativa biti din partea de gazda a adreselor IP din acea retea, acesti biti urmand sa fie folositi in vederea identificarii subretelei. Pentru aceasta trebuie folosita si o masca de retea care sa selecteze diferitele parti (de retea, de subretea, de gazda) ale adreselor IP.
Clase de adrese
Adresele IP sunt impartite in cinci categorii numite clase de adrese:
Clasa de adrese A
o Acest format de adrese permite definirea a maxim 128 de retele cu aproximativ 16 milioane de statii fiecare.
o Partea de adresa a adreselor IP din aceasta clasa este formata dintr-un octet, iar partea de gazda este formata din ceilalti 3 octeti.
o Partea de retea a adreselor de tip A incep cu un bit de 0.
o Intervalul adreselor IP de clasa A este 1.0.0.0 - 127.255.255.255.
o Schematic, o adresa IP de clasa A arata astfel:
Clasa de adrese B
o Acest format de adrese permite definirea a maxim 16384 de retele cu aproximativ 64 de mii de statii fiecare.
o Partea de adresa a adreselor IP din aceasta clasa este formata doi octeti, iar partea de gazda este formata din ceilalti doi octeti.
o Partea de retea a adreselor de tip B incepe cu secventa de biti 10.
o Intervalul adreselor IP de clasa B este 128.0.0.0 - 191.255.255.255.
o Schematic, o adresa IP de clasa B arata astfel:
Clasa de adrese C
o Acest format de adrese permite definirea a aproximativ doua milioane de retele cu maxim 256 de statii fiecare.
o Partea de adresa a adreselor IP din aceasta clasa este formata trei octeti, iar partea de gazda este formata din al patrulea octet ramas.
o Partea de retea a adreselor de tip C incepe cu secventa de biti 110.
o Intervalul adreselor IP de clasa C este 192.0.0.0 - 223.255.255.255.
o Schematic, o adresa IP de clasa C arata astfel:
Clasa de adrese D
o Acest format de adrese permite trimiterea multipla (multicast).
o Partea de retea a adreselor de tip D incepe cu secventa de biti 1110.
o Intervalul adreselor IP de clasa D este 224.0.0.0 - 239.255.255.255.
Clasa de adrese E
o Acest format de adrese este rezervat pentru o folosire ulterioara.
Masca unei retele este acea secventa de 32 biti (de aceeasi lungime cu adresele) care are biti cu valoarea 1 pe toate pozitiile corespunzatoare identificatorului de retea si biti cu valoarea 0 pe toate pozitiile corespunzatoare identificatorului de sistem. Mastile implicite corespunzatoare claselor de adrese A, B si C sunt 255.0.0.0, 255.255.0.0, 255.255.255.0. Mastile sunt utilizate in fiecare ruter pentru luarea deciziei asupra interfetei de retea a ruterului pe care se va redirecta datagrama IP ce contine adresa destinatie. Masca permite selectarea identificatorului de retea dintr-o anumita adresa. Identificarea retelei pentru rutarea unei datagramei se va face pe baza operatiei binare SI (AND) la nivelul bitilor de pe o anumita pozitie a adresei IP citita din datagrama si pozitia corespunzatoare din masca. Un exemplu de utilizare a mastii pentru o adresa de clasa B este prezentat mai jos.
Adresele de difuzare (broadcast) pentru o anumita retea sunt acele adrese care au biti cu valoarea 1 pe toate pozitiile corespunzatoare identificatorului de sistem, iar identificatorul de retea specifica domeniul in care se va face difuzarea. Adresa de broadcast care are toti bitii 1 (deci si cei ai identificatorului de retea) este adresa globala de broadcast in Internet, 255.255.255.255. Un exemplu de adresa de difuzare pentru o retea de clasa B este prezentat in continuare.
Exemplu de utilizare a mastii si adresele de difuzare. Se considera adresa de clasa B, 137.61.2.43 care are masca de retea implicita 255.255.0.0. Prin operatia de mascare a adresei considerate se obtine adresa retelei. Operatia de mascare presupune operatia logica SI intre adresa interfetei de retea considerata si masca retelei de clasa B.
2. 43
SI
0. 0
0. 0
Pe acelasi exemplu, adresa de difuzare in reteaua considerata este:
Subretele
O subretea este un domeniu de adrese logice al spatiului de adrese, ce este asignat unei organizatii. Impartirea in subretele inseamna de fapt partitionarea spatiului de adrese in mai multe subretele. Ruterele constituie granitele acestor domenii de impartire. Comunicatia spre sau dinspre o anumita subretea se face printr-un port anume al unui ruter. Partitionarea unei retele este necesara pentru a reduce domeniul de transmitere a datagramelor intr-o retea.
Datorita faptului ca, de exemplu, o retea de clasa B suporta pana la maxim 64 de mii de statii este de la sine inteles faptul ca acest domeniu de adrese este foarte greu de intretinut si administrat. Solutia este impartirea lui in mai multe subdomenii astfel incat in interiorul retelei sa se creeze o ierarhie din care sa rezulte o mai buna organizare, in timp ce pentru lumea exterioara vechea reteaua sa se comporte in continuare ca o singura entitate, fara a crea probleme de adresare. In zilele noastre nu mai exista retele de clasa mare (A, B) care sa nu fie impartite in subretele. Un exemplu simplu ar fi o arhitectura stea in care accesul la reteaua Internet se face printr-un singur ruter, acesta conectandu-se mai departe la alte rutere care gestioneaza la randul lor o subretea. Astfel, intr-o organizatie fiecare departament va avea subreteaua proprie, iar legatura cu exteriorul se va face prin intermediul a doua rutere (cel care gestioneaza subreteaua si cel care gestioneaza conexiunea la Internet).
Continuand discutia pe exemplul dat anterior, trebuie sa ne punem problema daca rutarea pachetelor venite din Internet se face la fel de usor, mai usor sau mai dificil decat in arhitectura anterioara (cea fara subretele). Una dintre solutiile de rutare ar fi generarea si gestionarea in ruterul principal a unei tabele imense de rutare care sa contina inregistrari de forma: pentru gazda cutare trimit pachetul ruterului cutare. Ar fi nevoie deci de o tabela cu 65536 de inregistrari. Dezavantajele acestei metode sunt cu siguranta evidente.
O a doua metoda, mai inteligenta, propune imprumutarea unui numar de biti din partea de gazda a adresei IP pentru genererea unui numar de subretea. Astfel, adresa IP va fi reimpartita in trei parti, dupa cum urmeaza: o zona de numar de retea, o zona de numar de subretea si o zona de gazda. Vom continua exemplul cu reteaua de clasa B alegand sa o impartim intr-un numar de cel putin 50 de subretele. Pentru aceasta avem nevoie de cel putin 50 de numere de identificare pentru subretele. Trebuie deci sa imprumutam 6 biti din partea de gazda, pentru a ne asigura un numar de 64 de subretele ( daca am fi imprumutat numai 5 biti atunci am fi putut crea numai 32 de subretele, deci mai putin de 50). Noua impartire a retelei de clasa B este prezentata in figura de mai jos:
In exemplu raman zece biti in partea de gazda, deci maxim 1024 - 2 = 1022 de gazde in fiecare subretea. Pentru a putea selecta subretelele ruterul principal nu va mai folosi in operatia de mascare masca standard pentru o retea de clasa B, ci va avea nevoie de o masca speciala care sa diferentieze partea de retea+subretea de partea de gazda. Aceasta masca se va numi masca de subretea. In exemplul considerat masca de subretea va fi 255.255.252.0, sau, folosind o notatie alternativa, /22, adica primii 22 de biti sunt 1, iar ceilalti 10 sunt 0.
In afara retelei impartirea in subretele nu este vizibila astfel incat alocarea de noi subretele nu necesita contactarea ICANN sau schimbarea unor baze de date externe. Pentru a fi si mai clari in exprimare vom lua din nou exemplul dat anterior pentru reteaua de clasa B 137.61.0.0.
In acest exemplu, subretele vor avea adresele:
0 - 10001001 . 00111101 . 00000100 . 00000000
cu adrese IP de la
pana la
0 - 10001001 . 00111101 . 00001000 . 00000000
cu adrese IP de la
pana la
cu adrese IP de la
pana la
In continuare vom descrie cum sunt prelucrate pachetele IP intr-un ruter. Ruterele stocheaza tabele ce contin un numar de adrese IP de forma (retea, 0) si un numar de adrese IP de forma (aceasta retea, gazda). Primul tip indica cum se ajunge la retelele aflate la distanta. Al doilea tip spune cum se ajunge la gazdele locale. Fiecarei tabele ii este asociata interfata de retea care se foloseste pentru a ajunge la destinatie si alte cateva informatii.
In momentul in care un ruter receptioneaza un pachet IP, adresa destinatie este cautata in tabela de dirijare. Daca pachetul este pentru o retea aflata la distanta, atunci el este trimis ruterului urmator prin interfata specificata in tabela. Daca este o gazda locala (de exemplu LAN-ul ruterului), atunci pachetul este trimis direct catre destinatie. Daca reteaua nu este prezenta atunci pachetul este trimis unui ruter implicit care are tabele mai extinse. Folosirea acestui algoritm implica faptul ca un ruter este nevoit sa stocheze numai retele si gazde, nu toate perechile posibile (retea, gazda), reducandu-se considerabil astfel dimensiunea tabelelor de dirijare.
Impartirea in subretele determina schimbarea tabelelor de dirijare astfel ca sunt adaugate intrari de forma (aceasta retea, subretea, 0) si (aceasta retea, aceasta subretea, gazda). Astfel, un ruter din subreteaua k stie cum sa ajunga la toate celelalte subretele si, de asemenea, cum sa ajunga la toate gazdele din subreteaua k. El nu trebuie sa cunoasca detalii legate de gazdele din alte subretele. De fapt, tot ceea ce trebuie schimbat este de a impune unui ruter sa faca un SI logic cu masca de subretea a retelei pentru a scapa de numarul de gazda si a cauta adresa rezultata in tabelele sale. De exemplu asupra unui pachet adresat catre 137.61.8.4 care ajunge la ruterul principal se face un SI logic cu masca de subretea /22 pentru a obtine adresa 137.61.8.0. Aceasta adresa este cautata in tabelele de dirijare pentru a se gasi cum se ajunge la gazdele din subreteaua 2.Ruterul din subreteaua 5 este usurat de munca de a memora toate adresele de nivel legatura de date ale altor gazde decat cele din subreteaua 5. Impartirea in subretele reduce astfel spatiul tabelelor de dirijare prin crearea unei ierarhi pe trei nivele alcatuita din retea, subretea si gazda.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1712
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved