Sunteți pe pagina 1din 16

REȚELE DE CALCULATOARE

4. ÎNCAPSULAREA DATELOR

În teorie, o singură comunicație, precum un video cu muzică sau un email, ar putea fi


trimisă în rețea de la sursă la destinație sub forma unui stream masiv, neîntrerupt de biți. Dacă
mesajele au fost transmise în această manieră, ar înseamnă că nici un alt echipament nu va putea
trimite sau primi mesaje în aceeași rețea în timp ce transferul de date se afla în progres. Aceste
stream-uri de date de dimensiuni mari ar duce la realizarea unor întârzieri semnificative. Mai
departe, dacă un link din infrastructura rețelei conectate s-a defectat în timpul transmisiei, întreg
mesajul va fi pierdut și va trebui retransmis în întregime.
O mai bună abordare este împărțirea datelor în piese mai mici, mai ușor de gestionat, care
să fie trimise în rețea. Această împărțire ale stream-ului de date în piese mai mici se numește
segmentare.

Figura 4.1: Segmentarea

Segmentarea mesajelor are două beneficii primare:


 Prin trimiterea pieselor individuale mai mici de la sursă la destinație, mai multe
conversații diferite pot fi intercalate în rețea. Procesul folosit pentru intercalarea
pieselor din conversații separate din rețea se numește multiplexare (multiplexing).

1
 Segmentarea poate crește fiabilitatea comunicațiilor în rețea. Piesele separate ale
fiecărui mesaj nu trebuie să traverseze aceeași cale din rețea de la sursă la
destinație. Dacă o anumită cale se congestionează din cauza traficului de date sau a
defecțiunilor, piesele individuale ale mesajului pot fi directate către destinație
folosind și căi alternative. Dacă o parte a unui mesaj nu reușește să ajungă la
destinație, doar acea parte trebuie retransmisă.

Figura 4.2: Multiplexarea

Dezavantajul folosirii segmentării și multiplexării pentru a transmite mesaje în rețea


constă în nivelul de complexitate care este adăugat la proces. Imaginați-vă dacă ar trebui să
trimiteți o scrisoare de 100 pagini, dar în fiecare plic ar încăpea o singură pagină. Procesul de
adresare, etichetare, trimitere, primire și deschidere a tuturor celor 100 de plicuri ar dura foarte
mult, atât pentru expeditor, cât și pentru destinatar.
În comunicațiile de rețea, fiecare segment al mesajului trebuie să treacă printr-un proces
similar pentru a se asigura că ajunge la destinația corectă și că poate fi reasamblat în conținutul
mesajului original, așa cum se arată în figura 4.3.
Mai multe tipuri de echipamente din rețea participă pentru a se asigura că piesele mesajului
ajung într-un mod sigur la destinație.

2
Figura 4.3: Etichetarea segmentelor

Pe măsură ce datele aplicației parcurg stiva de protocoale pentru a fi transmise în mediul


de rețea, mai multe protocoale adaugă informație la fiecare nivel. Acest lucru este frecvent
cunoscut ca proces de încapsulare.
Forma pe care o ia o parte din date la fiecare layer se numește Protocol Data Unit - PDU
(unitate de dată a protocolului). În timpul încapsulării, fiecare layer încapsulează PDU-ul primit
de la layer-ul de deasupra în conformitate cu protocolul utilizat. La fiecare nivel, un PDU are un
nume diferit care să exprime noile sale funcții. Deși nu există o convenție de nume universală
pentru PDU-uri, în acest curs, PDU-urile sunt denumite în conformitate cu protocoalele suitei
TCP/IP:
 Data - PDU-ul utilizat la layer-ul aplicație
 Segment - PDU-ul layer-ului transport
 Pachet - PDU-ul layer-ului Internet
 Frame - PDU-ul layer-ului acces la rețea
 Biți - Un PDU folosit atunci când se transmit date în mediu
Încapsularea datelor este procesul care adaugă informație la date înainte de transmitere. La
majoritatea formelor de comunicații de date, datele originale sunt încapsulate în câteva
protocoale înainte de transmitere.
În figura 4.4 se poate observa procesul de încapsulare în cazul trimiterii unui email și
obținerea PDU-urilor pe diferite nivele.

3
Figura 4.4: Procesul de încapsulare

La trimiterea mesajelor într-o rețea, stiva de protocoale de pe un host funcționează de sus


în jos. În exemplul cu serverul web, putem folosi modelul TCP/IP pentru a ilustra procesul de
trimitere a unei pagini web către un client.

Figura 4.5: Procesul de trimitere a unei pagini web către un client

În figura 4.6 sunt evidențiate datele transmise.

4
Figura 4.6: Evidențierea datelor transmise

Protocolul layer-ului aplicație, HTTP, începe procesul prin trimiterea datelor paginii de
web formatate în HTML către layer-ul transport.

Figura 4.7: Încapsularea datelor la nivel aplicație

Acolo se află datele aplicației împărțite în segmente TCP. Fiecărui segment TCP i se dă o
etichetă, care se numește header, ce conține informația cu privire la ce proces de pe calculatorul

5
de destinație ar trebui să primească mesajul. De asemenea, conține și informația care activează
procesul de reasamblare a datelor în formatul original la destinație.

Figura 4.8: Încapsularea datelor la nivel transport

Layer-ul transport încapsulează datele HTML ale paginii web din segment și le trimite
către layer-ul internet, unde protocolul IP este implementat. Aici, întregul segment TCP este
încapsulat în pachetul IP, care adaugă o altă etichetă, denumită header-ul IP. Header-ul IP
conține adresele IP ale host-ului sursă și destinație, precum și toate informațiile necesare pentru
livrarea pachetului către procesul de destinație corespunzător.

Figura 4.9: Încapsularea datelor la nivel internet

6
Apoi, pachetul IP este trimis către layer-ul de acces la rețea, unde este încapsulat în header-
ul și sufixul unui frame. Fiecare header de frame conține adresa fizică a destinației și a sursei.
Adresa fizică identifică în mod unic echipamentele din rețeaua locală. Sufixul conține informații
de verificare a erorilor.

Figura 4.10: Încapsularea datelor la nivel acces la rețea

În final, biții sunt codificați pe mediu de către placa de rețea a interfeței.

Figura 4.11: Codificarea și trimiterea datelor

Acest proces este inversat la host-ul de destinație, și este cunoscut ca decapsulare.

7
Decapsularea este procesul folosit de un echipament de destinație pentru a îndepărta unul
sau mai multe headere de protocoale. Datele sunt decapsulate pe măsură ce se parcurge stiva de
protocoale.

Figura 4.12: Rezultatul obținut după decapsularea datelor

Modelul OSI descrie procesele de codificare, formatare, segmentare și încapsulare a


datelor pentru transmisia în rețea. Layer-ul de rețea și data link sunt responsabile cu trimiterea
datelor de la echipamentul sursă la echipamentul de destinație. Protocoalele de pe ambele layere
conțin adresele de sursă și destinație, dar adresele lor au scopuri diferite.

La layer-ul rețea sau layer-ul 3, adresa logică deține informații necesare pentru a livra
pachetul IP de la echipamentul sursă la cel destinație. Adresa IP a layer-ului 3 are două părți,
prefixul rețelei și partea de host. Prefixul rețelei este folosit de routere pentru a înainta pachetul
către rețeaua corespunzătoare. Partea de host este utilizată de ultimul router de pe traseu pentru a
livra pachetul către echipamentul de destinație.
Un pachet IP conține două adrese IP:
 Adresa IP sursă - adresa IP a echipamentului transmițător;
 Adresa IP destinație - adresa IP a echipamentului receptor. Adresa IP de destinație
este utilizată de routere pentru a înainta pachetul către destinația sa.
Adresa fizică (de Layer 2 sau Data Link) are un rol diferit. Scopul acesteia este să trimită
frame-ul de la o interfață de rețea către altă interfață de rețea din aceeași rețea. Înainte ca un
pachet IP să fie trimis prin intermediul unei rețele cablate sau wireless, acesta trebuie încapsulat
într-un frame de data link astfel încât să poată fi transmis în mediul fizic, actuala rețea. LAN-

8
urile Ethernet și wireless sunt două exemple de rețele care au medii fizice diferite, fiecare cu
tipul său de protocol data link.
Adresele data link ale sursei și ale destinației sunt adăugate:
 Adresa data link a sursei - adresa fizică a echipamentului care trimite pachetul.
Inițial, placa de rețea este sursa pachetului.
 Adresa data link a destinației - adresa fizică a plăcii de rețea a echipamentului de
destinație sau a interfeței router-ului.
În figura 4.13 este prezentat cadrul ethernet. Acesta are următoarea structură:
- un preambul (7 octeți) – este folosit de destinație pentru sincronizare;
- un octet care anunță că urmează informațiile cadrului ethernet;
- adresa MAC (fizică) destinație (6 octeți);
- adresa MAC (fizică) sursă (6 octeți)
- 2 octeți care ne anunță tipul (pachet IPv4, pachet IPv6) sau lungimea datelor conținute
în frame-ul respectiv;
- datele încapsulate (între 46 și 1500 octeți);
- o secvență pentru verificarea erorilor (4 octeți).
-

Figura 4.13: Cadrul ethernet

Pentru a înțelege modul în care o comunicație se realizează cu succes într-o rețea, este
important să înțelegem rolurile adreselor de data link și ale layer-ului rețea atunci când un
echipament comunică cu un alt echipament din aceeași rețea.

Exemplu:
Avem un calculator client, PC1, care comunică cu un server de fișiere, server FTP, în
aceeași rețea IP (figura 4.14).
Adresele layer-ului rețea, sau adresele IP, indică adresa de host și de rețea a sursei și a
destinației. Porțiunea de rețea a adresei va fi aceeași; doar porțiunea de host sau de echipament a
adresei va fi diferită:
 Adresa IP sursă - adresa IP a echipamentului transmițător, calculatorul client PC1:
192.168.1.110;

9
 Adresa IP de destinație - adresa IP a echipamentului receptor, serverul FTP:
192.168.1.9.

Figura 4.14: Comunicarea în cadrul unei rețele

Atunci când expeditorul și destinatarul pachetului IP sunt în aceeași rețea, frame-ul de data
link este trimis direct către echipamentul receptor. Într-o rețea Ethernet, adresele de data link
sunt cunoscute ca adrese Ethernet MAC. Adresele MAC sunt adrese de 48 biți care sunt
încorporate fizic în placa de rețea Ethernet:
 Adresa MAC sursă - aceasta este adresa de data link, sau adresa MAC a
echipamentului care trimite pachetul, PC1. Adresa MAC a plăcii de rețea Ethernet a
PC1 este: AA-AA-AA-AA-AA-AA.
 Adresa MAC destinație - atunci când echipamentul receptor se află în aceeași
rețea cu cel transmițător, aceasta este adresa de data link a echipamentului receptor.
În acest exemplu, adresa MAC de destinație este adresa MAC a serverului FTP:
CC-CC-CC-CC-CC-CC.
Observație: pentru trimiterea unui pachet, avem nevoie atât de adresele IP cât și de cele
MAC ale sursei și destinației. Însă switch-ul va folosi pentru trimiterea pachetelor doar adresele
MAC.

Metoda pe care o folosește un host pentru a trimite mesaje către o destinație dintr-o altă
rețea diferă de metoda prin care un host trimite mesaje către o destinație din aceeași rețea locală.
Pentru aceasta, host-ul sursă trebuie să folosească router-ul care interconectează rețeaua sa cu
alte rețele, cunoscut și ca default gateway. Default gateway este adresa IP a interfeței acestui
router prin care este conectată rețeaua host-ului sursă.
Este important ca adresa default gateway să fie configurată pe fiecare host din rețeaua
locală. Dacă nu este configurată nici o adresă de default gateway în setările TCP/IP ale host-ului

10
sau dacă este specificat default gateway-ul greșit, mesajele adresate host-urilor din alte rețele nu
pot fi trimise.
În figura 4.15, host-urile din LAN folosesc R1 ca default gateway cu adresa sa,
192.168.1.1 configurată în setările TCP/IP. Dacă destinația unui pachet este într-o altă rețea,
host-urile îl trimit către default gateway.

Figura 4.15: Comunicarea către altă rețea

Dar care sunt rolurile adresei layer-ului rețea și a layer-ului data link atunci când un
echipament comunică cu un echipament într-o altă rețea? În acest exemplu, avem un calculator
client, PC1, care comunică cu un server, numit Web Server, într-o rețea IP diferită.
Adresele IP indică adresele de rețea și de host ale sursei și destinației. Atunci când
expeditorul unui pachet se află într-o rețea diferită de destinatar, adresele IP sursă și destinație
vor reprezenta host-urile din diferite rețele:
 Adresa IP sursă - Adresa IP a echipamentului transmițător, calculatorul client
PC1: 192.168.1.110;
 Adresa IP destinație - Adresa IP a echipamentului receptor, serverul, Web Server:
172.16.1.99.
Atunci când expeditorul și destinatarul pachetului IP se află în rețele diferite, frame-ul de
data link nu poate fi trimis direct către host-ul de destinație deoarece host-ul nu este accesibil în
mod direct în rețeaua expeditorului. Frame-ul Ethernet trebuie trimis către un alt echipament
cunoscut ca default gateway. În exemplul dat, default gateway-ul este R1. R1 are o interfață și o

11
adresă IP care se află în aceeași rețea ca și PC1. Acest lucru îi permite lui PC1 să acceseze în
mod direct router-ul cu ajutorul adreselor MAC:
 Adresa MAC sursă - Adresa MAC Ethernet a echipamentului transmițător, PC1.
Adresa MAC a interfeței Ethernet a lui PC1 este: AA-AA-AA-AA-AA-AA.
 Adresa MAC destinație - Atunci când echipamentul receptor se află într-o rețea
diferită față de echipamentul transmițător, aceasta este adresa MAC Ethernet a
default gateway-ului sau. În acest exemplu, adresa MAC de destinație este adresa
MAC a interfeței Ethernet a lui R1 care este atașată la rețeaua lui PC1, care este:
11-11-11-11-11-11.

Figura 4.16: Comunicarea cu un dispozitiv din altă rețea

Frame-ul Ethernet cu pachetul IP încapsulat poate fi acum transmis către R1. R1 înaintează
pachetul către destinație, Web Server. Acest lucru poate însemna că R1 înaintează pachetul către
un alt router sau direct către Web Server dacă acesta este într-o rețea conectată direct la R1.
Cum determină echipamentul transmițător adresa MAC a router-ului?
Fiecare echipament cunoaște adresa IP a router-ului prin intermediul adresei de default
gateway configurată în setările sale TCP/IP. Adresa de default gateway este adresa interfeței
router-ului conectată la aceeași rețea locală ca și echipamentul sursă. Toate echipamentele din
rețeaua locală folosesc adresa default gateway-ului pentru a trimite mesaje către router. După ce
host-ul află adresa IP a gateway-ul default, acesta poate folosi ARP (Address Resolution

12
Protocol) pentru a determina adresa MAC a default gateway-ului. Adresa MAC a gateway-ului
default este apoi plasată în frame.

Acum ar trebui să fie clar că pentru a trimite date către un alt host din același LAN, host-ul
sursă trebuie să cunoască atât adresa logică, cât și cea fizică a host-ului de destinație. După ce se
cunosc acestea, se poate realiza un frame și trimite în mediul de rețea. Host-ul sursă poate reține
adresa IP de destinație prin mai multe modalități. De exemplu, poate reține adresa IP prin
intermediul utilizării DNS-ului sau poate afla adresa IP de destinație deoarece adresa este
introdusă în aplicație manual, ca atunci când un utilizator specifică adresa IP a unui server FTP
de destinație. Dar cum determină un host adresa MAC Ethernet a unui alt echipament?
Host-ul transmițător folosește un protocol numit ARP (Address Resolution Protocol)
pentru a descoperi adresa MAC a oricărui host din aceeași rețea locală. Host-ul transmițător
trimite un mesaj de solicitare ARP către întregul LAN. Solicitarea ARP este un mesaj de
broadcast și are ca adresă MAC destinație adresa FF-FF-FF-FF-FF-FF (frame-ul care are această
adresă este acceptat de orice dispozitiv din rețea). Solicitarea ARP conține adresa IP a
echipamentului de destinație. Fiecare echipament din LAN examinează solicitarea ARP pentru a
vedea dacă aceasta conține propria adresă IP. Doar echipamentul cu adresa IP conținută în
cererea ARP va răspunde cu un răspuns ARP. Răspunsul ARP include adresa MAC asociată cu
adresa IP din solicitarea ARP.

Figura 4.17: ARP (Address Resolution Protocol)

13
Observație: ARP este folosit în rețele bazate pe IPv4. IPv6 folosește o metodă similară
numită Neighbor Discovery.

Traficul din rețele de calculatoare este gestionat pe baza caracteristicilor și dispozitivelor


asociate fiecăruia dintre cele trei straturi (nivele) ale modelului ierarhic de proiectare a rețelei:
access, distribution și core.
În timp ce, atunci când vorbim despre access layer ne referim la nivelul care oferă
conexiuni către gazdele dintr-o rețea locală, distribution layer conține echipamentele și
conexiunile cu ajutorul cărora sunt interconectate rețelele locale mici. Acesta din urmă conține
de obicei switch-uri de capacitate mare, precum și routere (pentru rutare între rețele).
Dispozitivele de nivel de distribuție controlează tipul și cantitatea de trafic care circulă de la
access layer la core layer.
Core layer oferă conexiuni de mare viteză cu legături redundante (de rezervă). Este
responsabil pentru transportul unor cantități mari de date între mai multe rețele finale.
Dispozitivele din acest layer includ de obicei switch-uri și routere de mare viteză. Scopul
principal al acestui nivel este transportul rapid al datelor.

Figura 4.18: Access, Distribution, Core

Access layer este partea din rețea în care oamenii au acces la host-uri, la fișiere și la
imprimante partajate.
Dispozitivele de rețea ne permit să conectăm mai multe host-uri între ele și, de asemenea,
să le oferim acestora acces la serviciile oferite prin rețea. Spre deosebire de rețeaua simplă

14
formată din două host-uri conectate printr-un singur cablu, în access layer, fiecare gazdă este
conectată la un dispozitiv de rețea.
În cadrul unei rețele Ethernet, fiecare host se poate conecta direct la un dispozitiv de rețea
utilizând un cablu Ethernet. Aceste cabluri sunt fabricate pentru a îndeplini standardele Ethernet
specifice. Fiecare cablu este conectat la placa de rețea a host-ului și apoi la un port de pe
dispozitivul de rețea. Există mai multe tipuri de dispozitive de rețea care pot fi utilizate pentru a
conecta host-uri, inclusiv switch-uri Ethernet.
Rețelele Ethernet originale au conectat toate gazdele cu un singur cablu, similar cu modul
în care televizoarele ce folosesc televiziunea prin cablu sunt conectate acasă. Pe măsură ce
rețelele Ethernet au devenit mai populare, conectarea tuturor pe un singur cablu nu mai era
practică. Inginerii au dezvoltat un alt tip de tehnologie de rețea care a făcut mai ușoară
conectarea și reconectarea mai multor dispozitive la rețea. Primul dintre aceste tipuri de
dispozitive de rețea a fost hub-ul.
Hub-urile conțin mai multe porturi care sunt utilizate pentru a conecta gazde la rețea. Hub-
urile sunt dispozitive simple care nu au electronica necesară pentru a decoda mesajele trimise
între gazde în rețea. Hub-urile nu pot determina care gazdă ar trebui să primească un anumit
mesaj. Un hub acceptă pur și simplu semnalele electronice de la un port și regenerează (sau
repetă) același mesaj către toate celelalte porturi. Toate host-urile atașate la hub împart lățimea
de bandă și vor primi mesajul, ignorând mesajele care nu li se adresează. Numai gazda
specificată în adresa de destinație a mesajului procesează mesajul și răspunde expeditorului.
Un singur mesaj poate fi trimis printr-un hub Ethernet la un moment dat. Este posibil ca
două sau mai multe gazde conectate la un hub să încerce să trimită un mesaj în același timp.
Dacă se întâmplă acest lucru, semnalele electronice care alcătuiesc mesajele se ciocnesc între ele
la hub. Acest fenomen este cunoscut sub numele de coliziune. Mesajul nu poate fi citit de gazde
și trebuie retransmis.
Deoarece retransmisiile excesive pot aglomera inutil rețeaua și pot încetini traficul, hub-
urile sunt acum considerate învechite și au fost înlocuite de switch-uri Ethernet.
Switch-ul, spre deosebire de hub:
- acceptă și decodează cadrele pentru a citi porțiunea de adresă fizică (MAC) a
mesajului;
- verifică o tabelă de adrese MAC, care conține o listă a tuturor porturilor active și a
adreselor MAC ale gazdelor care sunt atașate acestor porturi;
- creează un circuit care leagă cele două porturi, permițând mai multe conversații
simultane între diferite perechi de porturi.

15
Ce se întâmplă când switch-ul primește un cadru adresat unui host nou care nu este încă în
tabelul de adrese MAC? Dacă adresa MAC de destinație nu este în tabel, switch-ul nu are
informațiile necesare pentru a crea un circuit individual. Când switch-ul nu poate stabili unde se
află gazda de destinație, folosește un proces numit inundare (flooding) pentru a redirecționa
mesajul către toate host-urile, cu excepția celui care trimite. Fiecare host compară adresa MAC
de destinație din mesaj cu propria adresă MAC, dar numai host-ul cu adresa de destinație corectă
procesează mesajul și răspunde expeditorului.
Cum intră adresa MAC a unei unui host nou în tabelul de adrese MAC? Un switch creează
tabelul de adrese MAC examinând adresa MAC sursă a fiecărui cadru care este trimis între host-
uri. Când un host nou trimite un mesaj sau răspunde la un mesaj, switch-ul află imediat adresa
MAC și portul la care este conectat. Tabelul este actualizat dinamic de fiecare dată când o nouă
adresă MAC sursă este citită de switch. În acest fel, un switch învață rapid adresele MAC ale
tuturor host-urilor atașate.

Figura 4.19: Tabela MAC

Un mesaj de broadcast este un mesaj transmis simultan de către un host tuturor celorlalte
host-uri din rețea.
Adresa MAC de broadcast în notație hexazecimală este FF-FF-FF-FF-FF-FF.
O rețea locală cu unul sau mai multe switch-uri este denumită și un domeniu de difuzare
(broadcast domain).
Atunci când este trimis un mesaj de broadcast, toate switch-urile redirecționează mesajul
către fiecare host (gazdă) conectat în aceeași rețea locală.

16

S-ar putea să vă placă și