CATEGORII DOCUMENTE |
PROTOCOALE DE NIVEL TRANSPORT TCP si UDP
TCP - protocol orientat pe conexiune
UDP - protocol neorientat pe conexiune, este in esenta IP, extins cu
un scurt antet
TCP - Transport Control Protocol
Asigura un flux de octeti sigur, printr-o conexiune cap la cap al retelei /interetelei nesigura.
Inter-reteaua e formata prin asocierea unor retele care difera ca:
- topologie
- latime de banda
- intarzieri
- dimensiuni de pachete, etc.
TCP se adreseaza dinamic la reteaua Internet si este robust la mai multe tipuri de defecte, RFC 793 si RFC 1323.
Entitatea de transport TCP gestioneaza :
- fluxurile TCP
- interfetele catre IP.
Ø Fluxurile de date de la procesele utilizator sunt impartite in segmente de maxim 64 Kocteti ( de obicei 1500 de octeti). Apoi fiecare segment e expediat ca o datagrama IP separata.
Ø Datagramele IP receptionate sunt furnizate entitatii TCP care reconstruieste fluxul original de octeti, in ordine, deoarece IP nu asigura livrarea / transportul ordonat al DG-urilor.
Ø Serviciul TCP e asigurat prin crearea de catre emitator si receptor a unor puncte finale = socluri = socket-uri. Fiecare soclu are un numar de soclu/adresa = ( adresa IP + port )
32 biti 16 biti
Port = TSAP -Transport Service Acces Point
Obs Un soclu poate fi folosit la un moment dat de mai multe conexiuni, care sunt identificate prin adresele de soclu de la ambele capete (soclul 1, soclul 2), fara alti identificatori.
Obs: numerele de port < 256 porturi general cunoscute rezervate serviciilor standard: 20 = FTP, 23 = TELNET, 53 = DNS, 80 = HTTP, RFC1700)
Ø Conexiunile TCP sunt:
- duplex
- punct - la - punct TCP nu suporta difuzarea
- fluxuri de octeti ( si nu de mesaje)
Ø Serviciile TCP principale
- expedierea datelor (SEND) cand e convenabil pentru TCP
- fortarea expedierii (PUSH), cere transmiterea imediata daca e posibil
- informatie urgenta ( URGENT DATA) : transmiterea si receptia imediata pentru a intrerupe o prelucrare distanta, deoarece PUSH nu are efect la distanta, dar URGENT DATA da.
Ø Antetul TCP = 20 octeti + o parte operationala
16 16
Port sursa |
Port destinatie |
Numar de secventa |
||||||||
Numar de confirmare |
||||||||
Lungime antet |
6 Rezervati |
U R G |
A C K |
P S H |
R S T |
S Y N |
F I N |
Dimensiunea ferestrei |
Suma de control |
Indicator URGENT |
|||||||
Optiuni (1-n) cuvinte pe 32 biti |
||||||||
Date (optional) |
Segmentul TCP = antet + date = maxim 64 KB = ,65,536 B, dar e limitat de MTU ( Maximum Transfer Unit ) al fiecarei retele traversate. Eventual retelele din cale mai fragmenteaza segmentul TCP. Fiecare Fragment va avea propriile antete TCP si IP.
Campurile antetului:
Ø Port sursa (16 biti) identifica procesul utilizator al sursei 20 -
FTP, 23 - TELNET, 53 - DNS, 80 - HTTP, iar peste 256 sunt alocate de catre fiecare masina in parte.
Ø Port destinatie (16 biti). Cele 2 campuri identifica punctele
finale ale conexiunii.
Ø Numar de secventa (32 biti): numarul de secventa al primului
octete din segment. Daca SYN e prezent, atunci acesta este numarul de secventa initial ISN (Initial Sequence Number) si primul octete de date este ISN +1.
Ø Lungime antet (4 biti) (data offset) : numarul de cuvinte de 32
biti ale antetului TCP. E necesara deoarece campul "optiuni"are lungime variabila.
Ø 6 biti neutilizati, prevazuti pentru corectia eventualelor erori ale
protocolului initial.
Ø 6 biti de control.
URG = 1, daca "indicatorul urgent" e valid. Acest indicator
arata care e deplasamentul ( in octeti) al informatiei urgente relativ la numarul de secventa.
ACK = 1, arata ca numarul de confirmare e valid. Daca ACK =
0 segmentul TCP nu contine o confirmare si numarul de confirmare e ignorat.
PSH = 1, fortarea expedierii, prin care TCP-ul e solicitata sa nu
memoreze informatia, in asteptarea incarcarii complete a bufferului.
RST (reset) = 1, desfiinteaza o conexiune cand ea a devenit
inutilizabila, prin defectarea masinii sau alte cauze. E folosit si pentru a refuza un segment invalid sau a refuza deschiderea unei conexiuni ( sensul depinde de context)-
SYN = 1, stabilirea unei conexiuni (+ACK = 0) ( si raspunsul SYN = 1, ACK = 1 - conexiune acceptata). Sincronizeaza
numerele de secventa.
FIN = 1, nu mai sunt date, incheie o conexiune din partea
emitatorului. Deoarece segmentele SYN si FIN contin numere de secventa, vor fi procesate in ordine corecta.
Ø Fereasta (16 biti): vor fi acceptati octetii de la [ACK]la [ACK]+[fereastra].
Obs: La TCP controlul se face prin ferestre glisante . Daca fereastra = 0, inseamna ca au fost receptionati corect toti octetii pana la si inclusiv "Nr.confirmare = 1", dar receptorul nu mai doreste continuarea transferului. Reluarea lucrului se face cu un segment cu acelasi Nr. de confirmare si fereastra nenula.
Ø Suma de control (16 biti), prevazuta pentru o fiabilitate maxima. Se calculeaza pentru urmatoarele campuri din antet: adresa sursa, adresa destinata, bitii de protocol (6), lungime segment (antet +date). Se pot detecta pachete preluate eronat. Suma receptionata se compara cu cea recalculata la receptie si daca nu coincid a aparut o eroare.
Ø Indicatorul URGENT arata care e deplasamentul , in octeti, al informatiei urgente relativ la numarul de secventa. De fapt indica urmatorul octete de dupa informatia urgenta. Astfel receptorul afla cata informatie urgenta trebuie livrata imediat aplicatiei destinate.
Ø Optiuni (variabil) , permite declararea lungimii maxime a segmentului (implicit a 536 octeti), scalarea ferestrei, confirmari selective ACK, ( retransmitere selectiva SR in loc de GBN go-back-N), eticheta de timp (time-stamp), NO-op, sfarsitul optiunilor.
Ø
Mecanismul TCP
Ø Stabilirea conexiunii:
- intelegerea in 3 pasi (hand shake)/ comunicare cu confirmare
- SYN = 1 cerere de conectare
Ø Terminarea conexiunii
- deconectarea normala cu FIN = 1
- deconectarea brusca (abort ) cu pierdere de date
Ø Transferul datelor
- fluxul: fiecare octet e numerotat modulo 232
- antetul contine numarul de secventa al primului octet
- controlul fluxului: credit = numar de octeti
- datele sunt transmise cand vrea entitatea TCP PUSH- transmite
acum
-urgent:transmite aceasta data din fluxul normal cu
indicatorul urgent
- daca se receptioneaza un TPDU nepotrivit acestei conexiuni,
se pune reset = 1 in segmentul ce pleaca
Politici de implementare
Ø la emisie
- segment prea mic antetul e o incarcare prea mare
- segment prea mare intarzieri prea mari
- alegerea ferestrei e o problema la liniile cu latime de
banda mare si intarziere mare de ex. w = 64 KB si pe linia T3, R =44,736 Mbps transmiterea a 64 KB dureaza 12 msec,75 % din timp emitatorul e inactiv, asteptand confirmari.
Ø livrarea datelor
- datele poz fi memorate sau livrate imediat, ordonat
- urgent: sunt livrate imediat, daca e posibil
Ø acceptarea sau rejectareare segmentelor in afara secventei
Ø retransmiterea la expirarea timpului : numai primul, toate,
individuala ( se mentin cronometrele separate per segment)
Ø confirmarea : imediata sau cumulata ( se asteapta date
in sens opus sau expirarea timpului)
Ø controlul fluxului si al congestiei
e ,rec,congestie e = (rec ,
UDP - User Data Protocol - protocol pentru Informatia Utilizator
Datagramele neprelucrate se transmit incapsulate fara a se stabili vreo conexiune. Antetul UDP
16 16
Port sursa |
Port destinatie |
8B (antet+date) Suma de control |
||
Date |
Segment UDP
Aplicatii client server de tip interogare - raspuns
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1137
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved