Sunteți pe pagina 1din 5

TCP & UDP Curs 10 TCP si UDP

Transmission Control Protocol


Connection oriented RFC 793

User Datagram Protocol (UDP)


Connectionless RFC 768

Corneliu Zaharia TDRC II - 2004

Corneliu Zaharia TDRC II - 2004

Servicii TCP
Comunicaie sigur ntre perechi de procese De-a lungul unei varieti de reele i internet sigure i nesigure Dou posibiliti de etichetare
Data stream push
Userul TCP poate cere transmisia tuturor datelor pn la flagul push Receptorul la livra n aceeai manier Elimin ateptarea pn la umplerea bufferelor

Header TCP

Urgent data signal


Indic date urgente Userul decide cum s le manipuleze
3
Corneliu Zaharia TDRC II - 2004

Corneliu Zaharia TDRC II - 2004

Header TCP
Source port (16 bits) - service access point surs Destination port (16 bits) - service access point destinaie Sequence number (32 bits) - numrul de secvena a primului octet de date din segment, dac flagul SYN nu e setat. Dac flagul SYN e setat, este numrul iniial de secven (ISN) Acknowledgment number (32 bits) - Confirmare. Conine numrul de secven a octetului de date pe care entitate TCP ateapt s-l recepioneze Data offset (4 bits) numrul de cuvinte de 32 de bii din header

Header TCP
Reserved (6 bits) rezervat pentru viitor Flags (6 bits):
URG: campul Urgent pointer e important ACK: campul Acknowledgment e important PSH: Push function RST: Reseteaz conexiunea SYN: Sincronizeaz numrul de secven FIN: nu mai sunt date de la transmitor.

Window (16 bits) alocarea de credit pentru controlul de flux, n octei. Checksum (16 bits) complement fa de 1 a sumei modulo 216-1 a tuturor cuvintelor de 16 bii din segment

Corneliu Zaharia TDRC II - 2004

Corneliu Zaharia TDRC II - 2004

Header TCP
Urgent Pointer (16 bits) trimitere la ultimul octet de date urgente din secven. Aceasta permite s tii cte date urgente atepi Options (Variable) acum, doar o opiune e definit, care specific mrimea maxim a segmentului care poate fi acceptat

Parametrii ctre IP
TCP trimite ctre IP civa parametri:
Precedena ntrziere normal/mic Debit normal/mare Sigurana normal/mare Securitate

Corneliu Zaharia TDRC II - 2004

Corneliu Zaharia TDRC II - 2004

Mecanisme TCP (1)


Stabilirea conexiunii
Three way handshake ntre perechi de porturi Un port se poate conecta la destinaii multiple

Three Way Handshake: Diagram de stare

Corneliu Zaharia TDRC II - 2004

10

Corneliu Zaharia TDRC II - 2004

Mecanisme TCP (2)


Data transfer
Stream logic de octei Octeii numerotai modulo 223 Controlul de flux prin alocarea de credit a unui numr de octei Data se buffereaza la transmisie i recepie

Mecanisme TCP (3)


Terminarea conexiunii
Graceful close Userii TCP genereaz primitiva CLOSE Entitatea de transport seteaz flagul FIN pe ultimul segment transmis Terminare brusc prin primitiva ABORT
Entitatea abandoneaz toate ncercrile de a trimite sau recepiona date Se transmite un segment RST

11

Corneliu Zaharia TDRC II - 2004

12

Corneliu Zaharia TDRC II - 2004

Opiuni
Send Deliver Accept Retransmit Acknowledge

Send
Dac nu exist push sau close, entitatea TCP transmite cnd dorete Datele se buffereaz la bufferul de transmisie Poate construi segmente pe serii de date Poate atepta o anumit cantitate de date

13

Corneliu Zaharia TDRC II - 2004

14

Corneliu Zaharia TDRC II - 2004

Deliver
n absena unui push, livreaz date cnd dorete Poate livra n aceeai ordine cu segmentele recepionate Poate buffera date de la mai mult de 1 segment

Accept
Segmentele pot sosi out of order In ordine
Accept doar segmentele n ordine Elimin segmentele care nu sunt n ordine

In fereastr
Accept toate segmentele care se afl n fereastra de receie

15

Corneliu Zaharia TDRC II - 2004

16

Corneliu Zaharia TDRC II - 2004

Retransmisie
TCP menine o coad de segmente transmise dar neconfirmate TCP va retransmite dac nu se confirm ntr-un anumit timp
Doar primul O serie individual

Acknowledgement
Imediat Cumulativ

17

Corneliu Zaharia TDRC II - 2004

18

Corneliu Zaharia TDRC II - 2004

Primitive de cerere pentru TCP

Primitive de cerere pentru TCP

19

Corneliu Zaharia TDRC II - 2004

20

Corneliu Zaharia TDRC II - 2004

Primitive de raspuns pentru TCP

Primitive de raspuns pentru TCP

21

Corneliu Zaharia TDRC II - 2004

22

Corneliu Zaharia TDRC II - 2004

UDP
User datagram protocol RFC 768 Serviciu Connectionless pentru proceduri la nivel aplicaie
Nesigur Livrare si controlul duplicrii negarantat

Unde se folosete UDP


Colectare de date Cerere raspuns Aplicaii real-time

Overhead redus Ex. Pentru managementul reelei

23

Corneliu Zaharia TDRC II - 2004

24

Corneliu Zaharia TDRC II - 2004

Header UDP

Probleme - 1
Este o practic utilizat n general pentru protocoale de transport s multiplexezi pe acelai canal logic date i control, folosind la baz o conexiune per user. O alternativ ar fi s se stabileasc o singur conexiune pentru transportul protocolului ntre fiecare pereche de entiti de transport care comunic. Aceast conexiune poate transmite toate informaiile de control ntre toate conexiunile dintre cele 2 entiti. Discutai implicaiile acestei strategii.

25

Corneliu Zaharia TDRC II - 2004

26

Corneliu Zaharia TDRC II - 2004

Probleme - 2
Discuia despre controlul de flux de-a lungul unei reele sigure presupune o presiune asupra protocolului de control de flux la nivelele inferioare. Discutai avantajele i dezavantajele acestei strategii.

Probleme - 3
2 entiti de nivel transport comunic de-a lungul unei reele sigure. Fie timul normalizat de transmisie a unui segment egal cu 1. Se presupune timpul de propagare end-to-end ca fiind 3, iar timpul pentru a livra un segment recepionat la utilizator ca fiind 2. Transmitorul are iniial credit pentru 7 segmente. Receptorul folosete o politic de control de flux conservativ i actualizeaz alocarea creditului cu fiecare ocazie. Care e rata maxim de transport.

27

Corneliu Zaharia TDRC II - 2004

28

Corneliu Zaharia TDRC II - 2004

Sfrit curs 10
Am discutat:
Protocoale de transport

Curs 11
Recapitulare, probleme

29

Corneliu Zaharia TDRC II - 2004

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