Stratul 4-stratul de transport
Precum stiti, routerul are capacitatea de a lua decizii inteligente in ceea ce priveste cel mai bun traseu pentru date.Aceasta capacitate se bazeaza pe schema de adresare specifica stratului 3.Routerul foloseste aceasta schema pentru a lua decizii de transmitere a datelor.Odata ce datele au trecut de stratul 3, stratul de transport, stratul 4, presupune ca poate folosi reteaua ca pe un ,,cloud" pentru a trimite datele de la sursa la destinatie.Cloudul rezolva probleme de tipul ,,Care dintre cai este cea mai buna?".
In acest capitol, veti vedea rolul jucat de routere in aceasta problema.Mai mult, veti invata cum stratul de transport regleaza in mod stabil si precis fluxul de informatii dintre sursa si destinatie.Acest capitol explica functiile principale care apar la nivelul stratului de transport, incluzand controlul end-to-end furnizat de ferestrele glisante si stabilitatea numerelor secventiale si recunoasterilor.In plus, in acest capitol este descris cum fluxul de date de la nivelul stratului de transport reprezinta o conexiune logica intre sursa si destinatia dintr-o retea.Veti invata cum fluxul de date de la nivelul stratului 4 ofera servicii de transport de la sursa la destinatie, numite adesea servicii end-to-end.In plu 242d33c s, veti invata despre TCP si UDP si modul cum utilizeaza acestea numerotarea porturilor pentru a pastra evidenta conversatiilor diferite simultane de-a lungul retelei si pentru a transmite informatia catre straturile superioare.
12.1 Stratul de transport
12.1.1 Rolul stratului de transport
Expresia ,,calitatea serviciilor" este folosita adesea pentru a descrie rolul stratului 4-stratul de transport.Indatoririle sale principales sunt de a transporta si regla fluxul de informatie de la sursa la destinatie, sigur si precis.Controlul end-to-end, asigurat de ferestrele glisante precum si stabilitatea numerelor secventiale si recunoasterilor sunt rolurile principale ale stratului 4.
Pentru a intelege strabilitatea si controlul fluxului, ganditi-va la un student care invata o limba straina timp de un an.Sa presupunem ca dupa un an de invatare va vizita tara a carei limba a studiat-o.Prin conversatie, el/ea va trebui sa ceara fiecarei persoane cu care va vorbi sa repete ce au spus, si sa nu vorbeasca repede, pentru a putea intelege cuvintele(controlul fluxului).
12.1.2 Protocoalele stratului 4
Acest curs se va axa pe retelele Ethernet TCP/IP.Protocoalele TCP/IP pentru stratul 4 sunt-TCP si UDP.
TCP realizeaza un circuit virtual intre aplicatiile utilizatorilor.Are urmatoarele caracteristici:
connection-oriented
sigur
divide semnalele ce pleaca in segmente
reansambleaza segmentele la destinatie
retransmite orice mesaj nereceptionat
reansambleaza mesaje din segmentele care sosesc
UDP transmite datele nesigur intre gazde.Are urmatoarele caracteristici:
connectionless
nesigur
transmite mesaje(numite datagramele utilizatorului)
nu ofera verificare pentru distribuirea mesajului(nesigur)
nu reansambleaza mesajele care sosesc
nu foloseste recunoasteri
nu asigura control al fluxului
12.1.3 Compararea TCP si IP
TCP/IP este o combinatie a doua protocoale individuale-TCP si IP.IP este un protocol de strat 3- un serviciu connectionless care asigura cea mai buna distribuire a mesajelor prin retea.TCP este un protocol de strat 4-un serviciu connection-oriented care asigura controlul fluxului precum si siguranta.Alaturarea celor 2 protocoale asigura furnizarea unor game largi de servicii.Impreuna, ele reprezinta un intreg pachet de servicii.TCP/IP este protocolul de strat 3 si 4 pe care se bazeaza Internetul.
12.2 TCP si UDP
12.2.1 TCP
Transmission Control Protocol(TCP) este un protocol connection-oriented de strat 4, are asigura transmisii de date stabile,full-duplex.TCP este parte a pachetului TCP/IP.In continuare sunt definite sectorele segmentului TCP:
portul sursa-numarul portului care apeleaza
portul destinatie-numarul portului care este apelat
numarul secvential-numar utilizat pentru a asigura insiruirea corecta a datelor care sosesc la destinatie
numarul de confirmare-urmatorul octet TCP asteptat
HLEN-numar de cuvinte pe 32 biti din antet
rezervat-setat pe 0
bitii de cod-functii de control(cum ar fi setupul si terminarea sesiunii)
fereastra-numarul de octeti pe care expeditorul este disponibil sa il accepte
checksum(verificare)-checksumul calculat pentru sectoarele antet si de date
pointerul urgent-indica sfarsitul datelor urgente
optiunea option-one-marimea maxima a segmentului TCP
datele-datele protocolului de strat superior
12.2.2 Formatul segmentului UDP
User Datagram Protocol(UDP) este protocolul de transport connectionless din pachetul TCP/IP.UDP este un simplu protocol care face schimb de datagrame, fara recunoasteri si garantarea livrarii.Procesarea erorilor si retransmisia sunt controlate de alte protocoale.UDP nu foloseste ferestre sau recunoasteri, si deci protocoalel stratului aplicatiei se ocupa de stabilitate si siguranta.UDP este proiectat pentru aplicatiile care nu necesita ansamblarea segmentelor.
Protocoalele care folosesc UDP includ:
TFTP(Trivial File Transfer Protocol)
SNMP(Simple Network Management Protocol)
DHCP(Dynamic Host Control Protocol)
DNS(Domain Name System)
12.3 Metode de conectare TCP
12.3.1 Numerotarea porturilor
Atat TCP cat si UDP folosesc numarul porturilor(socketurilor) pentru a transmite informatiile la straturile superioare.Numerele porturilor sunt folosite pentru a tine evidenta conversatiilor diferite simultane.Programatorii au cazut de acord sa folosesca numere de port bine cunoscute, definite in RFC1700.Orice conversatie a unei aplicatii FTP foloseste numarul standard de port 21.Conversatiile care nu implica aplicatii cu numere de port standard, au desemnate numere de port care au fost selectate randomizat dintr-o gama specifica de numere.Aceste numere de port sunt folosite drept adresa sursa si destinatie din segmentul TCP.Unele porturi sunt rezervate atat in cazul TCP cat si UDP, deci aplicatiile nu le pot suporta.Numerele de port au urmatoarele game specificate:
Numerele sub 255-pentru aplicatiile publice
Numerele de la 255 la 1023-desemnate pentru companii si aplicatii de piata
Numerele peste 1023-sunt necontrolate
Sistemele folosesc numerele de port pentru a selecta aplicatiile potrivite.Numerele de port ale sursei sunt atribuite dinamic de catre gazda sursa;de obicei numarul este mai mare de 1023.
12.3.2 Conexiunea deschisa pe trei cai
Serviciile connection-oriented implica trei faze.In faza de stabilire a conexiunii, se determina un singur traseu intre sursa si destinatie.Resursele sunt de obicei rezervate in acest moment pentru a se asigura un serviciu corespunzator.In timpul fazei de transfer a datelor, datele sunt transmise secvential de-a lungul traseului stabilit, ajungand la destinatie in ordinea in care a fost transmis.Faza de intrerupere a conexiunii este reprezentata de terminarea conexiunii intre sursa si destinatie cand aceasta nu mai este necesara.
Gazdele TCP stabilesc sesiuni connection-oriented cu destinatiile care folosesc conexiunea deschisa pe trei cai.O secventa de conexiune deschisa pe trei cai sincronizeaza conexiunea la ambele capete inainte ca datele sa fie transferate.Acest schimb prealabil de numere de secventializare este important, deoarece permite recuperarea datelor care au fost pierdute in timpul transmisiei.
Mai intai, o gazda initiaza o conexiune prin trimiterea pachetului care-si indica propriul numar initial de secventializare x cu ajutorul unui anume bit din antet pentru a indica o solicitare de conexiune.In al doilea rand, cealalta gazda receptioneaza pachetul, inregistreaza numarul de secventializare x, replica cu mesajul de confirmare de tip x+1, si include propriul numar initial de secventializare y.Numarul de confirmare x+1 inseamna ca gazda a receptionat toti octetii inclusiv x, si ca asteapta in continuare x+1.Retransmisia si confirmarea pozitive(PAR), este o tehnica folosita de multe protocoale pentru a asigura siguranta.Cu ajutorul PAR, sursa trimite un pachet, porneste un cronometru, si asteapta o confirmare inainte de a trimite urmatorul pachet.Daca timpul expira inainte ca sursa sa receptioneze confirmarea, sursa retransmite pachetul si porneste cronometrul din nou.
Marimea ferestrei determina cantitatea de date pe care o puteti transmite la un moment dat inainte de a receptiona confirmarea de la sursa.Cu cat numarul marimii ferestrei este mai mare(in byti), cu atat este mai mare cantitatea de date pe care o gazda o poate transmite.Dupa ce gazda transmite numarul de biti corespunzatori marimii ferestrei, gazda trebuie sa astepte confirmarea ca datele au fost receptionate inainte de a mai transmite altele.De exemplu, cu o marime a ferestrei de 1,fiecare segment individual trebuie sa fie confimat inainte de a trimite urmatorul segment.
TCP foloseste confirmarile expectationale, care semnifica ca numarul de confirmare se refera la octetul urmator care este asteptat.Partea de ,,glisare", a ferestrelor glisante, se refera la faptul ca marimea ferestrei este negociata dinamic in cursul sesiunii TCP.Acest proces are drept consecinta folosirea ineficienta a latimii de banda de catre gazde.
Windowing este un mecanism de control al fluxului care necesita ca echipamentul sursa sa receptioneze confirmare de la destinatie inainte de a transmite o anumita cantitate de date.De exemplu, cu o fereastra de marime 3, echipamentul sursa poate trimite 3 octeti catre destinatie.Trebuie sa astepte apoi confirmarea.Daca destinatia receptioneaza 3 octeti, ea trimite catre sursa o confirmare, iar aceasta poate transmite alti 3 octeti etc.Daca, din anumite motive, destinatia nu receptioneaza 3 octeti(spre exemplu datorita bufferilor foarte incarcati), ea nu va transmite confirmarea.Deoarece sursa nu receptioneaza confirmarea, ea va sti ca octetii trebuie retransmisi, si ca rata de transmisie trebuie redusa.
TCP asigura secventializarea segmentelor printr-o confirmare prealabila de referinta.Fiecare datagrama este numerotata inainte de transmisie.In statia de destinatie, TCP reansambleaza segmentele intr-un mesaj complet.Daca numarul lipseste in seria respectiva, acel segment este retransmis.Segmentele care nu sunt confirmate intr-un anumit interval de timp vor fi retransmise.
Sumar
In acest capitol, ati invatat despre functiile stratului de transport si diferitele procese care apar cand datele trec prin acest strat.Mai precis, ati invatat ca:
stratul de transport regleaza fluxul de informatii pentru a asigura conectivitate intre aplicatiile gazdelor sigura si corecta
protocolul TCP/IP al stratului 4 are 2 protocoale:TCP si UDP
TCP si UDP folosesc numerele de port(socket) pentru a tine o evidenta a conversatiilor diferite care au loc simultan, transmitand informatiile catre straturile superioare
Conexiunea deschisa pe trei cai sincronizeaza conexiunea logica intre gazdele din retea
Acum ca ati incheiat acest capitol, ar trebui sa intelegeti modul cum stratul de transport asigura servicii de transport de la sursa la destinatie, numite adesea servicii end-to-end.
In capitolul urmator, vom examina ce se intampla cu pachetele de date care calatoresc la nivelul stratului sesiunii sau stratul 5 al modelului OSI.
|