CATEGORII DOCUMENTE |
Protocoalele care stau la baza comunicatiilor pe retea
Dintre aceste protocoale fac parte TCP,UDP si IP.Acestea vor fi prezentate in cele ce urmeaza.
1 Protocolul de control al transmisiei(TCP-Transport Control Protocol)
TCP stabileste un circuit virtual intre sursa si destinatie.Cateva caracteristici ale acestui protocol sunt:
Orientat pe conexiune
Segmenteaza mesajele trimise
Reasambleaza mesajele la destinatie
Retransmite ce nu a fost receptionat
Controlul fluxului de date, al congestiei si al erorilor
Serviciile orientate pe conexiune implica trei faze:
Stabilirea conexiunii
Transferul de date
Terminarea conexiunii
Stabilirea conexiunii
Identificarea conexiunii
O conexiune TCP este identificata printr-o pereche de adrese transport (capat la capat), alcatuite din doua componente:
-adresa locala (IP),care identifica statia in retea
-referinta locala,numita port,care identifica o aplicatie(un utilizator) pe statia respectiva.
Procedura de stabilire:
Intervin doua operatii :
-prin deschidere pasiva ,un utilizator semnaleaza disponibilitatea pentru comunicatie, indicand, eventual ,adresa corespondentului si parametrii acceptabili.
-prin deschidere activa, un utilizator solicita stabilirea unei conexiuni, indicand adresa utilizatorului apelat
Succesul stabilirii conexiunii este conditionat de realizarea prealabila a unei deschideri pasive de catre utilizatorul apelat.
Stabilirea conexiunii consta dintr-o procedura cu confirmare cu trei mesaje (3-way-handshake) (figura 3). Se utilizeaza indicatorii Sincronizare(SYN) si Confirmare(ACK) si numerele de secventa la emisie, seq, si la receptie, ack din antet:
-entitatea TCP apelanta solicita stabilirea unei conexiuni prin segmentul :<SYN, seq=x>.
-entitatea TCP apelata indica accceptarea stabilirii conexiunii prin segmentul : <SYN,ACK,seq=y, ack=x+1>
-entitatea TCP apelanta confirma primirea segmentului <SYN,ACK,seq=y, ack=x+1> printr-un segment<ACK,ack=y+1>.
TCP[1],initiator TCP[2],apelat
Deschidere activa Deschidere
( SYN, seq=x, fereastra=w1) pasiva
(SYN,ACK,seq=y,ack=x+1,fereastra=w2)
Deschis cu succes
(ACK.seq=x+1,ack=y+1,fereastra=w1) Deschis cu
Trimite(dt[100]) succes
(ACK,seq=x+1,ack=y+1,dt[100])
Primeste
(dt[100])
(ACK,seq=y+1,ack=x+1+100)
Figura 3. Stabilirea conexiunii si initierea trasferului de date.
Procedura cu confirmare cu trei mesaje asigura initializarea corecta a conexiunii la cele doua capete (inclusiv schimbul/negocierea parametrilor). Exemplul de situatie(care trebuie) tratata :dupa inchiderea unei conexiuni, un segment <SYN> duplicat (in urma unei retransmisii), intarziat de retea, poate redeschide conexiunea, la capatul apelat.
Recuperarea in cazul pierderii unui pachet se bazeaza pe retransmisie la expirarea unei temporizari. Segmentul TCP cu indicatorul ReSeTare (RST) permite rejectarea conexiunilor neacceptabile.
Fiabilitatea conexiunii
Distingerea segmentelor care apartin unor instantieri diferite ale unei conexiuni se face pe baza numerelor de secventa care controleaza fluxul de date:
-se utilizeaza un spatiu amplu pentru numerele de secventa :2³² valori.
-se asigura plasarea segmentelor apartinand unor instantieri consecutive ale unei conexiuni in zone disjuncte din spatiul numerlor de secventa, prin utilizarea unor numere de secventa initiale furnizate de un contor incrementat la fiecare circa 4s.
-se asigura ca durata de viata a pachetelor in retea sa fie mai mica decat intervalul dintre reutilizari ale valorilor numerelor de secventa.
-se impune un "timp de tacere'' la (re)punerea in functiune a unui sistem daca s-a pierdut valoarea contorului care ofera numerele de secventa initiale.
1.2 Transferul de date
Controlul erorilor
Fluxul de date este numerotat la nivel de octet :
-campul seq din antet (32 biti ) indica numarul urmatorului octet de transmis (intr-un segment de date, seq este numarul primului octet din blocul de date transmis).
-campul ack din antet (32 biti) indica numarul octetului asteptat de receptor si confirma cumulativ secventa precedenta . Valoarea campului ack este considerata valida daca indicatorul ACK din antet este setat.
Se utilizeaza confirmari pozitive cumulative, segmentele cu date, sau fara date (segmentele<ACK>). La primirea fiecarui pachet de date se transmite automat o confirmare.
Recuperarea segmentelor de date pierdute se face prin retransmisie automata la expirarea unei temporizari . Valoarea temporizarii este ajustata dinamic prin masurarea duratei de transfer dus-intors.Variante de proceduri de retransmisie (optiune de implementare) :
-retransmisie neselectiva ;
-retransmisie selectiva : receptorul memoreaza segmentele de date primite in afara secventei, transmitatorul retransmite doar primul segment neconfirmat.
Controlul fluxului
Pe fiecare sens de transfer se utilizeaza o procedura de control al fluxului cu fereastra :
-limita inferioara a ferestrei este indicata de campul ack din antet, pe 32 biti.
-creditul este indicat de campul fereastra (window) din antet, pe 16 biti.
Recomandari petru evitarea blocarii emisiei prin perturbarea controlului fluxului :
-un credit acordat sa nu fie retras : valoarea ack+fereastra sa fie monoton crescatoare.
-pentru reducerea efectelor reordonarii pachetelor in retea, transmitatorul sa actualizeze fereastra numai la primirea unor segmente cu ack mai mare sau egal decat cel mai mare primit anterior( receptorul indica valori ack monoton crescatoare)
Recuperarea in cazul blocarii emisiei, datorita perturbarii controlului fluxului( de exemplu, prin pierderea unei confirmari care reinoieste creditul, atunci cand a fost epuizat) :
-transmitatorul cronometreaza durata de asteptare a confirmarii( chiar daca toate datele transmise sunt confirmate).
-la expirarea temporizarii, transmitatorul testeaza starea receptorului printr-un segment scurt de date.
Recomandari pentru evitarea reducerii excesive a dimensiunii segmentelor de date :
-amanarea indicarii avansului ferestrei de catre receptor pana la momentul in care creditul care poate fi alocat este suficient de mare
-amanarea emisiei de catre transmitator pana la acumularea unui credit suficient de mare.
Ajustarea dinamica a temporizarii de retransmisie
Fluctuatiile duratei de transfer prin retea pot fi importante. Temporizarea este ajustata dinamic, pe baza mediei si a dispersiei esantioanelor duratei de transfer dus-intors.
Esantioanele se obtin prin masurarea intervalului dintre transmisia unui segment de date, cu numarul de secventa seq si lungimea lng si primirea confirmarii ack=seq+lng.
Controlul congestiei
TCP recurge la proceduri de evitare a supra-incarcarii retelei. Prin evaluarea reactiei retelei se calculeaza fereastra de congestie (ajustata dinamic). Fereastra efectiva de transmisie, este valoarea minima dintre fereastra de congestie si cea indicata de receptor.
Congestia in retea se manifesta la nivel transport prin majorarea intarzierii de transfer fata de estimarea curenta, sau prin pierderea unor pachete, eliminate de catre noduri de comutatie supraincarcate. Intr-o astfel de situatie, retransmiterea automata a datelor la expirarea temporizarii poate agrava congestia. Procedurile TCP se bazeaza pe ipoteza ca expirarea temporizarii de retransmisie este un indiciu de posibila congestie.
Procedura descrestere multiplicativa (multiplicativ decrease) asigura reducerea rapida a debitului transmis, la expirari succesive ale temporizarii de retransmisie.Pentru fiecare expirare, fereastra de congestie se injumatateste si temporizarea de retransmisie a segmentelor neconfirmate se dubleaza( fereastra de congestie se reduce exponential-pana la o singura unitate). In final, la primirea unei confirmari, transmisia se reia prin procedura slow start, moderata suplimentar de procedura de evitare a congestiei (congestion avoidance).
Procedura slow start asigura o crestere treptata a debitului transmis. La stabilirea unei noi conexiuni sau la recuperarea dupa expirarea de timp, fereastra de congestie este egala cu o unitate si este marita succesiv cu cate o unitate pentru fiecare confirmare primita, pana se atinge valoarea indicata de receptor sau se inregistreaza lipsa unei confirmari. Fereastra creste exponential -2ⁿ unitati dupa primirea a n cofirmari.
Procedura de evitare a congestiei limiteaza cresterea debitului, petru a evita o re-intrare in regim de congestie. Cresterea exponentiala a ferestrei este intrerupta la atingerea unui prag egal cu jumatate din valoarea anterioara a ferestrei. In continuare , se admite o incrementare a ferestrei de congestie cu o unitate numai atunci cand toate datele din fereastra curenta sunt confirmate.
Inchiderea conexiunii
TCP foloseste o procedura de inchidere separata a celor doua fluxuri de date, cu garantarea transferului integral al datelor preluate de la utilizator.
Procedura de inchidere
Pentru fiecare flux de date, in mod independent, se efectueaza o procedura de confirmare (fig.4). Procedura este initiata numai dupa incheierea transmisiei datelor preluate de la utilizator.
Se utilizeaza indicatorii FINal (FIN) si Confirmare (ACK) si numerle de secventa la emisie, seq , si la receptie, ack din antet :
-entitatea TCP transmitatoare solicita inchiderea fluxului, ajuns la numarul de secventa x, prin segmentul (fara date):
< FIN, seq= x >
-entitatea TCP receptoare confirma inchiderea fluxului (si receptia integrala a datelor, pana la numarul de secventa x ) printr-un segment :
< ACK, ack= x+1 >
Utilizatorul poate solicita abandonarea conexiunii. In acest caz, entitatea TCP transmite un segment <RST> si elibereaza blocul de control.
TCP[1] TCP[2]
(FIN, ACK, seq=x, ack=y ) inchidere flux
inchidere flux 1->2 (ACK, seq=y, ack=x+1)
Trimite(dt[100])
ACK, seq=y,ack=x+1,dt[100])
Primeste(dt[100]) Cerere de
(ACK,seq=x+1,ack=y+100) inchidere
flux 2->1
(FIN,ACK,seq=y+100,ack=x+1)
Terminare
(ACK,seq=x+1,ack=y+100+1)
Terminare
Figuar 4. Inchiderea conexiunii
Protocolul datagramelor utilizator (UDP- User Datagram Protocol)
UDP este un protocol nesigur,fara conexiune destinat aplicatiilor care doresc sa utilizeze propria secventiere si control al fluxului si nu mecanismele asigurate de TCP.
Este un protocol folosit in aplicatii pentru care comunicarea rapida este mai importanta decat acuratetea transmisiei, asa cum sunt aplicatiile de transmitere a sunetului si imaginilor video.
Majoritatea serviciilor de retea folosesc un sistem fara conexiune pentru transportul datelor.Fiecare pachet este tratat separat ,acesta putand urma diferite cai pentru a ajunge la destinatie, spre deosebire de sistemul orientat pe conexiune unde exista o singura cale intre sursa si destinatie.
Protocolul de Internet (Internet Protocol-IP)
Protocolul IP este cea mai buna alegere pentru comunucarea eficienta intre nodurile unei retele. Principalele sarcini ale cestui protocol sunt transmiterea de pachete de date (datagrame) , de la un expeditor la un destinatar, unde atat expeditorul cat si destinatarul sunt identificati printr-o adresa de lungime fixa, si managementul procesului de fragmentare al pachetelor care sunt prea mari.
De asemenea ,protocolul IP este responsabil pentru dirijarea pachetelor prin retea si gasirea unor cai alternative in cazul in care apar probleme( ex: defectarea unui echipament).
Atunci cand primul pachet al unui mesaj care a fost divizat in fragmente ajunge la destinatie un cronometru de reasamblare este pornit pe calculatorul destinatie. Daca pana la expirarea timpului pachetul nu a fost primit in intregime atunci tot ce a fost receptionat legat de pachetul respectiv nu este luat in considerare. Ordinea in care fragmentele trebuiesc asamblate este specificata in antetul pachetului IP.
Un dezavantaj al protocolului IP este acela ca nu garanteaza livrarea pachetelor (acestea pot sa ajunga sau nu la destinatie).De asemenea , acesta nu verifica integritatea datelor ci doar a antetului.
Protocolul IP nu este orientat pe conexiune adica nu este interesat de nodurile prin care trece pachetul spre destinatie .
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 973
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved