Funzioni del protocollo TCP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Funzioni del protocollo TCP"

Transcript

1 Funzioni del protocollo TCP Prof. Ing. Carla Raffaelli Anno accademico Il TCP Il TCP e un protocollo orientato alla connessione utilizzato per gestire il trasferimento end-to-end di informazioni e renderlo affidabile Schema di riferimento applicazione byte TCP Send buffer segmenti applicazione byte TCP Receive buffer 1

2 La famiglia dei protocolli TCP/IP Applicazioni ,ftp,telnet,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web, SMTP per la posta elettronica Hanno in comune alcune caratteristiche generali I protocolli dello strato di applicazione per Internet vengono definiti nelle RFC in ambito IETF Se un protocollo e definito nella RFC chiunque si conforma ad esso e in grado di comunicare indipendentemente dalla realizzazione della applicazione di rete Concetto di sistema aperto Esistono protocolli applicativi proprietari Sistemi chiusi 2

3 Elementi di un protocollo applicativo Tipi di messaggio che vengono scambiati Es: richieste e risposte Sintassi dei vari tipi di messaggio Significato dell informazione nei campi (semantica) Regole che governano lo scambio dei messaggi Caratteristiche dei protocolli applicativi Un protocollo applicativo ha in generale due componenti: Client e server Il lato client di un terminale comunica con il lato server su un altro terminale Es: browser web e server web Un programma SERVER esegue precise funzioni ed attende una richiesta di connessione da un client Un programma CLIENT vuole usufruire di un certo servizio e instaura una connessione col server Per trasferire o ricevere informazione dalla rete il processo applicativo utilizza le API (Application Programming Interface) 3

4 Architettura del protocollo Processo API Strato di trasporto Protocollo applicativo TCP Processo API Strato di trasporto INTERNET Indirizzamento dei processi Il processo trasmittente deve poter identificare il processo ricevente Si usa una coppia di informazioni Indirizzo IP + numero di porta Ai protocolli applicativi piu diffusi vengono assegnati numeri di porta standard (RFC 1700) Well known port: porta 80 HTTP, porta 25 SMTP 4

5 Il concetto di porta Ogni sistema contiene un insieme di punti di destinazione detti porte Ogni porta e un intero positivo che viene messo in corrispondenza con un particolare processo dal sistema operrativo In terminologia OSI una porta non e altro che il punto di accesso al servizio (SAP) di livello 4 IANA (Internet Assigned Number Authority) ha stabilito alcune procedure per l assegnazione dei numeri di porta Numeri di porta Si dividono in tre insiemi: Well known ports: da 0 a Sono porte associate a processi applicativi standard Registered ports: da 1024 a Sono assegnate da IANA a processi applicativi di utente Dynamic and private ports: da a Vengono negoziate tra processi nella fase di instaurazione di una sessione. Il numero di porta scelto viene usato solo per una sessione e poi rilasciato 5

6 Esempi di Well-known port Numero Nome Tipo di servizio 21 FTP trasferimento file 22 SSH terminale virtuale criptato 23 TELNET terminale virtuale in chiaro 25 SMTP invio posta elettronica 53 DOMAIN server DNS 80 HTTP server web 109 POP ricezione posta elettronica L interfaccia Socket Gli standard non specificano come gli applicativi debbano interagire con i protocolli L interfaccia, che non è standardizzata e dipende dall implementazione del sistema operativo, viene comunemente chiamata Socket 6

7 Interfaccia Socket in Unix-Linux Un programma applicativo interagisce con il sistema operativo mediante system calls: - open: apre la socket - read: legge dalla socket - write: scrive sulla socket - close: chiude la socket Uso delle socket Al momento della connessione è necessario un accordo tra i due host per stabilire i numeri di porta da utilizzare L host che inizia la connessione deve comunicare a quale porta si vuole connettere sul server e qual è il numero di porta da lui utilizzato localmente Il numero di porta a cui connettersi deve essere in qualche modo noto a priori all host sorgente (welcome port o well known port) 7

8 Connessione client-server: welcome port Un processo client, avviato nell host sorgente, tenta di connettersi ad un processo server (demone) nell host destinazione per ottenere un servizio A questo scopo e presente sul server la welcome port definita in fase di configurazione del server Il processo server crea successivamente una socket di connessione identificato da quattro valori: (1) numero di porta sorgente del segmento, (2) indirizzo IP del terminale sorgente, (3) numero di porta destinazione assegnata, (4) proprio indirizzo IP Attivazione delle porte Il server deve essere in attesa di ricevere sulla porta a cui il client intende connettersi Passive open: il server associa l indirizzo IP alla porta e aspetta Il client effettua active open per comunicare con il server: questa operazione si completa dopo che la procedura TCP si e completata Una volta stabilita la connessione il processo applicativo invoca le funzioni di send e receive sulla porta 8

9 Ancora sulle API/socket Ogni protocollo fornisce un insieme di servizi e l API fornisce la sintassi con cui i servizi possono essere richiamati da un sistema operativo L interfaccia socket fornisce una sintassi generale per diversi tipi di servizi ed e quindi utilizzabile con diversi protocolli In pratica la socket e il punto in cui una applicazione locale si attacca alla rete La definizione della interfaccia socket consiste nella definizione di come creare la socket, di come inviare e ricevere messaggi attraverso la socket e di come distruggere la socket L interfaccia socket e stata originariamente definita nel sistema operativo UNIX Passo 1: creazione di una socket int socket(int domain,int type, int protocol) Domain: indica la famiglia di protocolli che si utilizza Type indica il tipo di comunicazione: se orientata al byte o al bit Protocol indica lo specifico protocollo utilizzato ES: int socket (PF_INET,SOCK_STREAM, UNSPEC) Indica una socket per protocolli della famiglia Internet orientati al carattere: questa coppia implica TCP Il valore di ritorno e l identificatore della socket da utilizzare 9

10 Passo 2: server int bind( int socket, struct sockaddr *address, int addr_len) Collega la socket ad un indirizzo address e una struttura dati che include sia l indirizzo IP del server che che il numero di porta TCP int listen(int socket, int backlog) Definisce quante connessioni possono essere accettate sulla socket int accept(int socket, struct sockaddr *address, int addr_len Realizza la passive open Non ritorna valore fino a che un utente remoto non stabilisce una connessione In presenza di connessione restituisce un valore di socket nuovo e l indirizzo remoto La vecchia socket continua a servire da passive open Passo 2: client Si realizza la active open int connect(int socket, struct sock_addr address, int addr_len) Address contiene l indirizzo remoto del server La porta del client viene scelta tra quelle disponibili dal sistema operativo Questa operazione ritorna un valore quando la connessione TCP e stata stabilita 10

11 Passo 3: send/receive Il processo applicativo, una volta stabilita la connessione invoca le due funzioni seguenti: int send(int socket, char *message, int msg_len, int flags) per inviare il messaggio message sulla socket int receive(int socket, char *buffer, int buf_len, int flags) per ricevere un messaggio memorizzato in buffer I flag servono per il controllo delle operazioni Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione fullduplex affidabile e di tipo end-to-end fra processi applicativi di due host, facenti parte di un sistema di reti interconnesse E progettato assumendo che: il livello inferiore sia in grado di fornire solamente un semplice ed inaffidabile servizio di trasferimento dei pacchetti di tipo connection-less (esattamente quello che fa l IP) 11

12 Scopo del TCP Affidabilità del collegamento: il TCP garantisce la completa correttezza nella consegna dei dati a meno di partizioni della rete dovute a guasti ai collegamenti fisici A tale fine utilizza: numerazione sequenziale dei dati, prendendo come unità di riferimento il byte conferma esplicita della ricezione di ogni blocco di byte da parte del ricevitore (acknowledgment) ritrasmissione dei dati di cui non viene confermata la ricezione Funzioni del TCP Controllo dell errore per il riconoscimento degli errori di trasmissione viene effettuato un controllo mediante 16 bits Controllo di flusso: meccanismo a finestra che permette al trasmettitore di regolare il flusso dati inviati in relazione allo stato del ricevitore Controllo di congestione meccanismo a finestra che permette al trasmettitore di regolare il flusso di dati in base allo stato percepito della rete 12

13 Procedura connection-oriented Per garantire affidabilità e controllo di flusso, il TCP lavora in modo connection-oriented l instaurazione della connessione la chiusura della connessione Multiplazione: permette a più processi di utilizzare le funzioni di comunicazione contemporaneamente Connessioni Una connessione è costituita da una coppia di endpoints: il numero di porta, concatenato con il numero IP dell host costituisce un end-point una coppia di end-point identifica in modo univoco una particolare connessione, così che un singolo end-point può essere condiviso tra più connessioni sulla stessa macchina L host che inizia la connessione deve comunicare a quale porta si vuole connettere e qual è il numero di porta da lui utilizzato 13

14 Connessioni e Multiplazione Host A Host C TCP TCP IP IP Host B TCP IP Formato del pacchetto TCP 32 bit Source Port Destination Port Sequence number Acknowledge number Data Offset Reserved U R G A C K P S H R S T S Y N F I N Window Checksum Urgent Pointer Opzioni Padding Dati 14

15 Formato del pacchetto TCP (2) Source/Destination port: numero delle porte sorgente e destinazione Sequence number: numero di sequenza del primo byte del pacchetto; se è presente il bit SYN questo è il numero di sequenza iniziale su cui sincronizzarsi Acknowledge number: se il bit ACK è a 1 allora questo numero contiene il numero di sequenza del blocco di dati che il ricevitore si aspetta di ricevere Data offset: numero di parole di 32 bit dell intestazione TCP; indica dove iniziano i dati Reserved: sei bit riservati per uso futuro Formato del pacchetto TCP (3) Control bit: sono 6 bit di controllo - URG posto a 1 se si deve considerare il campo Urgent Pointer - ACK posto a 1 se si deve considerare il campo Acknowledge - PSH posto a 1 serve per la funzione di push, per la consegna immediata delle informazioni - RST posto a 1 per resettare la connessione - SYN posto a 1 per sincronizzare i numeri di sequenza - FIN posto a 1 per indicare la fine dei dati 15

16 Formato del pacchetto TCP (4) Window: il numero di byte, partendo dal numero di sequenza di quello contenuto nel campo acknowledge, che il ricevitore è disposto a ricevere Checksum: controllo errore sull intestazione e dati Urgent Pointer: contiene puntatore a dati urgenti eventualmente presenti nel pacchetto (es. per abortire programma remoto in esecuzione), ha senso se il bit URG è posto ad 1 Options: contiene opzioni per la connessione Padding: bit aggiuntivi per fare in modo che l intestazione sia multipla di 32 bit Attivazione della connessione TCP La procedura viene innescata dalla active open lato client Viene inviato un segmento TCP con SYN=1. Il client sceglie anche un numero di sequenza iniziale per il segmento TCP. Il segmento viene incapsulato in un datagramma IP e inviato al server Il server risponde con un segmento TCP con SYN=1 e predispone i buffer per la ricezione Quando il client riceve la conferma dal server predispone le risorse per la trasmissione e invia un segmento TCP con SYN=0. La connessione e stabilita 16

17 Apertura connessione TCP A CLOSED SYN-SENT SENT ESTABLISHED ESTABLISHED ESTABLISHED TCP B LISTEN SeqN=100 SYN=1 ACK=0 SYN-RECEIVED SYN-RECEIVED ESTABLISHED ESTABLISHED TCP A attiva una porta e cerca di connettersi ad una well-known socket di TCP B, che è in attesa TCP A inviaun pacchetto di apertura con il bit SYN=1 ed il suo numero di sequenza iniziale Apertura connessione TCP A CLOSED SYN-SENT SENT ESTABLISHED ESTABLISHED ESTABLISHED TCP B LISTEN SeqN=100 SYN=1 ACK=0 SYN-RECEIVED SeqN=300 AckN=101 SYN=1 ACK=1SYN-RECEIVED SeqN=101 AckN=301 SYN=0 ACK=1ESTABLISHED DATI ESTABLISHED TCP B risponde con ACK=1 e SYN=1 e propone il suo numero di sequenza TCP A conferma l avvenuta apertura della connessione con un ACK=1 17

18 Three ways handshake TCP A CLOSED SYN-SENT SENT ESTABLISHED ESTABLISHED ESTABLISHED TCP B LISTEN SeqN=100 SYN=1 ACK=0 SYN-RECEIVED SeqN=300 AckN=101 SYN=1 ACK=1SYN-RECEIVED SeqN=101 AckN=301 SYN=0 ACK=1ESTABLISHED DATI ESTABLISHED Three ways handshake è robusto anche se si tenta di instaurare connessioni contemporaneamente TCP tende ad ignorare un vecchio pacchetto di inizio connessione (esempio un duplicato o un ritardo a livello IP), una volta instaurata la connessione Messaggio di reset usato per recuperare l errore Connessione a server web La porta di riferimento sul server e la porta 80 Il server distingue i segmenti dei differenti client dagli indirizzi IP di sorgente e dai numeri di porta di sorgente I server web creano in genere un nuovo processo per ogni nuova connessione Porta X Porta Y P1 P2 PORTA 80 IP address del client IP address del server 18

19 La famiglia dei protocolli TCP/IP Applicazioni ,ftp,telnet,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico User Datagram Protocol - RFC bit Source Port Message Lenght Destination Port Checksum (optional) Dati UDP è un protocollo di tipo connectionless a livello 4, per tutte quelle applicazioni per cui la completa gestione della connessione TCP non è necessaria Usato da quelle applicazioni che trasmettono pacchetti singoli, senza necessità di acknowledgement 19

20 User Datagram Protocol - RFC 768 (2) Utilizzati solamente i campi di source e destination port Anche per UDP esiste il concetto di porta, ed aggiunge ad IP la possibilità di distinguere diverse applicazioni entro uno stesso host Port 7: echo; Port 69: trivial file transfer protocol (TFTP) Riepilogo Per attivare una connessione TCP occorre: Attivare le socket per i processi client e server Definire la quadrupla porta-client, IP-client, porta-server, IP-server Effettuare la procedura TCP di handshake a tre vie 20

21 Controllo di flusso nel TCP Il trasmettitore non deve saturare il ricevitore Viene utilizzato un meccanismo a finestra scorrevole Differenze dall analogo meccanismo a livello di linea: Ritardi di andata e ritorno non costanti Possibilita di pacchetti fuori sequenza Diversa velocita delle connessioni Nell intestazione del pacchetto TCP e contenuto il campo advertised window Meccanismo a finestra a livello 4 Al piu W pacchetti non confermati possono essere in trasmissione La dimensione della finestra viene messa a punto dinamicamente sulla base di informazioni dal ricevente e dalla rete Minimo tra advertised window (dal ricevente) e congestion window (dalla situazione di rete) Sender s window Acks received Not transmitted 21

22 Controllo di flusso a finestra Sender s window Ack 5 L ack per il pacchetto 5 consente alla finestra di spostarsi di due posizioni cosi che i pacchetti 9 e 10 possono essere trasmessi Sender s window Buffer di trasmissione Il buffer di trasmissione viene riempito dai byte generati dalla applicazione Il trasmettitore non puo avere piu di AW byte in attesa di riconoscimento Buffer di trasmissione Appl. Last byte acknowledged Last byte sent Last byte written Effective window EW= AW-(last byte sent-last byte acknowledged) t 22

23 Buffer di ricezione Il processo ricevente legge byte dal buffer di ricezione I dati possono arrivare fuori ordine Buffer di ricezione Appl. last byte read next byte expected last byte received Il valore di AW e lo spazio disponibile nel buffer del ricevitore di dimensione B AW= B (last byte received last byte read) t Attuazione del controllo Come un ricevitore lento blocca un trasmettitore piu veloce Il buffer di ricezione si riempie -> AW va a 0 Il trasmettitore blocca la trasmissione perche EW va a 0 Ripresa della trasmissione Il processo ricevente legge dal buffer AW diventa >0 Il trasmettitore inizia a trasmettere Appena arrivano gli ack si libera il buffer di trasmissione Il processo trasmittente inizia a trasmettere Durante il blocco il trasmettitore continua ad inviare segmenti di 1 byte per avere risposta dal ricevitore 23

24 Controllo di congestione TCP cerca di adattare la dimensione della finestra in relazione alle condizioni della rete Idea base: se si verifica congestione in rete si rallenta la trasmissione Quando si rivela una perdita si riduce W Quando gli ack arrivano correttamente W viene aumentata Congestion window Il TCP mantiene una variabile detta CW (Congestion Window) MAXWIN = min(cw, AW) dimensione della finestra EW= MAXWIN- (last byte sent-last byte acknowledged) TCP da un valore a CW in base alla percezione di congestione che riceve dalla rete. Non c e (in genere) comunicazione esplicita di CW 24

25 Dimensione ideale della finestra Wid= ritardo*banda Rappresenta la quantita di informazione che utilizza al 100% la tratta tra trasmettitore e ricevitore Se W < Wid: si spreca banda Se W > Wid: e necessario accodare nei router intermedi e cresce il ritardo e quindi potenzialmente anche la perdita Massimo throughput ottenibile: W/RTT RTT: Round Trip Time Valori della finestra ideale Ritardo = 100 ms Calcolo del prodotto banda x ritardo Banda T1 (1.5 Mbit/s) Ethernet (10 Mbit/s) T3 (45 Mbit/s) FDDI (100 Mbit/s) STS-3 (155 Mbit/s) STS-12 (622 Mbit/s) STS-24 (1.2 Gbit/s) Banda x ritardo 18 KB 122 KB 549 KB 1.2 MB 1.8 MB 7.4 MB 14.8 MB Con 16 bit di receiver windows si arriva al massimo a 64 KB Opzione window scale consente di moltiplicare il valore della AW per un fattore di scala concordato alla instaurazione della connessione (RFC 1323) 25

26 Incremento additivo/decremento moltiplicativo AIMD La causa principale per cui un pacchetto va perduto e la congestione Quando scatta il time out la sorgente dimezza il valore di CW (multiplicative decrease) Per incrementare CW si usano modalita di tipo additivo (additive increase) Meccanismi di incremento della finestra SMSS e la dimensione massima del segmento in emissione Slow start Si applica inizialmente, W cresce di 1 SMSS per ogni ack non duplicato ricevuto Consente un incremento rapido della finestra (esponenziale) e quindi del throughput Congestion avoidance Dopo aver raggiunto la soglias sthresh, W si incrementa della quantita SMSS*SMSS/W per ogni riscontro non duplicato ricevuto W si incrementa di 1 per RTT (1/W ogni ack) 26

27 Esempio di aggiornamento della finestra W=1 all inizio W=(2..3) dopo il primo ack (1 RTT) W=(3..5) dopo il secondo ack (2 RTT) W=(4..7) dopo il terzo ack (2 RTT) W=(8..15) dopo il gruppo di 4 ack (3 RTT) L ampiezza della finestra raddoppia ad ogni RTT Esempio di evoluzione della finestra cwnd Congestion Window size (segments) Congestion avoidance Slow start Time (round trips) Slow start threshold (ssthresh) 27

28 Meccanismo di ack Gli ack sono cumulativi Un ack si riferisce a tutti i dati ricevuti in modo contiguo TCP assegna numeri di sequenza per byte Per semplicita si assumono qui numeri di sequenza di pacchetti Ack(i) rappresenta l ack per il pacchetto i Ack cumulativi data ack Un nuovo ack viene generato solo quando viene ricevuto un nuovo pacchetto in sequenza 28

29 Ack ritardati Un ack e ritardato fino a che e stato ricevuto un ulteriore pacchetto Scatta un timer di ack (200 ms) Si riduce il traffico di ack Nuovo ack generato all arrivo del pacchetto 37 anziche del pacchetto 36 Perdita di pacchetto Il TCP riconosce la perdita di pacchetto mediante Presenza di ack duplicati Scadere del time out di ritrasmissione (delayed acks) No ack 29

30 Time out (RTO) Se un ack non arriva per un certo tempo il trasmettitore conclude che il pacchetto e andato perduto Restringe la finestra a 1 e inizia la trasmissione slow start La ritrasmissione avviene a partire dal pacchetto piu vecchio non riconosciuto Problema: occorre tempo per accorgersi della perdita (ordine del secondo contro ordine di qualche ms per la trasmissione) La soglia viene posta a un valore non superiore alla meta del valore che aveva la finestra prima della perdita Max(FlightSize/2, 2SMSS) dove FlightSize e il numero di byte trasmessi che non hanno ancora avuto riscontro Effetto del time out Congestion window (segments) After timeout cwnd = 20 ssthresh = 8 ssthresh = Time (round trips) 30

31 Descrizione in pseudo codice rwnd=aw Slow start Congestion avoidance 1) cwnd=1 ssthresh=rwnd, finestra imposta dal ricevitore 2) cwnd=cwnd+1 ad ogni ack fino a che cwnd>ssthresh go to 3) se si ha RTO: ssthresh=min(cwnd,rwnd)/2 cwnd=1 go to 2) 3) cwnd=cwnd+1/cwnd ad ogni ack se si ha RTO: ssthresh=min(cwnd,rwnd)/2 cwnd=1 go to 2) I valori sono espressi in SMSS Ack duplicati data ack Dup ack 31

32 Fast retransmit/recovery Gli ack duplicati sono una indicazione del fatto che puo esserci stata perdita Se si ricevono tre ack duplicati per lo stesso pacchetto si effettua ritrasmissione (fast retransmit) Si riduce la soglia alla meta del valore corrente della finestra Si pone la finestra pari al valore della soglia+3 (per tenere degli ack duplicati ricevuti) Il segmento supposto perduto viene ritrasmesso e si entra nella fase di fast recovery Si trasmettono segmenti nuovi fino a che non arriva l ack per il pacchetto perduto la finestra di congestione viene incrementata di 1 per ogni ack duplicato ricevuto Quando arriva l ack per il pacchetto perduto finisce la fase di fast recovery, il trasmettitore entra in congestion avoidance partendo dal valore impostato per ssthr Finestra di congestione: fast retransmit/fast recovery Valore massimo della finestra slow start tre ack duplicati: ssthr=cw/2 cw=ssthr+3 Finestra di congestione (segmenti) ssthr: coda vuota fast retransmit Tempo (s) Transitorio iniziale con perdite multiple 32

33 Occupazione della coda di trasmissione Occupazione coda (segmenti) Tempo (s) Fairness del meccanismo AIMD Due connessioni condividono la banda di un singolo link con capacita B Medesimo RTT B1+B2 = B (al massimo) Equita : B1=B2 B In presenza di perdita si attua La riduzione moltiplicativa (retta per l origine che passa per 2) 3 1 In congestion avoidance la finestra (e quindi anche il throughput) aumenta in maniera additiva (retta a 45 gradi) B1 33

34 Versioni di TCP Problema delle perdite multiple nel RTT Fast recovery puo portare al time out in caso di perdite multiple nel RTT TCP New Reno Rimane in fast recovery fino a che tutte le perdite nella finestra non sono state recuperate Recupera una perdita per RTT TCP- SACK (Selective Acknowledgment) Fornisce informazioni sui pacchetti ricevuti fuori sequenza Puo recuperare piu pacchetti perduti per RTT TCP New Reno RFC2582 Se in una finestra vengono perduti piu segmenti si innesca un processo di riduzione della cwnd che spesso porta il trasmettitore a non poter piu trasmettere segmenti per generare dupack di ritorno. Scatta il time out e si innesca lo slow start New Reno in presenza di ack parziale assume che il segmento immediatamente successivo a quello riconosciuto sia andato perduto e lo ritrasmette il numero di sequenza piu elevato trasmesso fino a quel momento viene memorizzato nella variabile recover Un ack e parziale se non riconosce tutti i segmenti fino a recover Fast recovery inizia con tre ack duplicati e finisce quando sono stati riconosciuti tutti i segmenti in trasmissione nel momento in cui e iniziato il fast retransmit si confronta il valore di recover con il valore riscontrato da ACK - cwnd=min(ssthresh, FlightSize+SMSS) Gli ack parziali decrementano cwnd della quantita di dati riconosciuta, la incrementano di un segmento e ri-innescano il fast recovery 34

35 TCP SACK (selective acknowledgment) SACK e una opzione del TCP che viene concordata in fase di apertura della connessione TCP SACK: il ricevitore indica al trasmettitore un elenco dei blocchi ricevuti fuori sequenza Solo quando nessun segmento trasmesso richiede ulteriori ritrasmissioni vengono trasmessi nuovi segmenti 0001: : : : :9000 Ack cumulativo 2001 acknowledgment blocco sack blocco2 TCP Vegas La dinamica della finestra di trasmissione si basa su una stima del throughput ottenuta nel modo seguente: Expected=Windowsize/BaseRTT, dove BaseRTT e il minimo valore di RTT riscontrato Per ciascun segmento viene misurato RTT e il numero di byte trasmessi in tale tempo Se la differenza tra il throughput atteso e il throughput calcolato e minore di α si incrementa linearmente la finestra cwnd nel RTT successivo; Se la differenza e superiore a β cwnd viene decrementato linearmente nel RTT successivo Slow start modificato: cerca di individuare il valore corretto della finestra senza incorrere in una perdita Quando il throughput corrente e inferiore al throughput atteso si passa da ss a ca La ritrasmissione avviene dopo un ack duplicato se la stima di RTT e superiore al valore del time out 35

36 IETF RFCs 2018 SACK 2481 Explicit congestion notification increasing inizial window size 2581 slow start, congestion avoidance,fast retransmit, fast recovery 2582 New Reno 2988 Retransmission timer (RTO) computation TCP Tahoe senza fast retransmit I primi 12 segmenti sono stati trasmessi e riconosciuti Il segmento 13 e il segmento 16 vanno perduti Il riconoscimento della perdita del segmento 13 avviene allo scattare del time-out La ritrasmissione del segmento 13 fa pervenire l ack fino al segmento 15 e porta la finestra a 2 (SS) W=5 ack(12) ack(12) ack(12) RTO W=1 W=2 ack(12) ack(15) ack(17) seg(12) seg(13) seg(16) seg(13) seg(14) seg(15) seg(17) seg(16) seg(17) ack(17) 36

37 TCP Reno I primi 12 segmenti sono stati trasmessi e riconosciuti Il segmento 13 e il segmento 16 vanno perduti Il riconoscimento della perdita del segmento 13 avviene per 3 ack(12) duplicati La soglia e posta a 2, la finestra a 5 Il segmento 13 e ritrasmesso fast e innesca l invio di ack(15) Si esce da fast recovery e si inizia con finestra 2: il trasmettitore e bloccato Scatta il time out e si ritrasmette il 16 con finestra a 1. W=5 W=5 W=5 ack(12) ack(12) ack(12) W=2 RTO W=1 seg(12) ack(12) seg(13) seg(16) seg(13) ack(15) seg(16) seg(14) seg(15) seg(17) W=2 ack(17) TCP New Reno I primi 12 segmenti sono stati trasmessi e riconosciuti Il segmento 13 e il segmento 16 vanno perduti Il riconoscimento della perdita del segmento 13 avviene per 3 ack(12) duplicati. La soglia e posta a 2, la finestra a 5 Il segmento 13 e ritrasmesso fast e innesca l invio di ack(15) Non si esce da fast recovery perche si tratta di un ack parziale. Si trasmette il 16 con finestra a 6 e anche 18,19,20,21,22. Arriva ack(17) e si riparte in CA con finestra 2 W=5 ack(12) ack(12) ack(12) W=5 W=6 ack(17) W=2 ack(12) seg(12) seg(13) seg(16) seg(13) ack(15) seg(16) seg(14) seg(15) seg(17) seg(16) seg(18) seg(19) seg(20) seg(21) seg(22) 37

38 Riepilogo: versioni del TCP Berkley Slow start Congestion avoidance Tahoe Slow-start Congestion avoidance Fast retransmit Reno Implementa anche il fast recovery New Reno Fast recovery per recuperare perdite multiple SACK Ritrasmissione selettiva VEGAS Stima della finestra di congestione Ritrasmissione adattativa Differentemente da quanto avviene sulla singola linea RTT non e costante Il timeout che regola il meccanismo a finestra del TCP deve essere determinato in modo dinamico L idea base e di mantenere aggiornato un valore medio del RTT e di calcolare il time out in funzione di esso Ogni volta che il TCP invia un segmento registra il tempo e lo sottrae al tempo di arrivo dell ACK ad esso relativo ottenendo la grandezza s-rtt La stima di RTT si ottiene con la seguente media pesata tra il vecchio valore e il nuovo campione: ertt= α ertt + (1-α) srtt α=0.125 valore tipico T out =2eRTT 38

39 Associazione degli ACK ai segmenti trasmessi ACK e la conferma della ricezione dei dati e non di una particolare trasmissione Se un pacchetto viene ritrasmesso piu volte non so con quale valore dell istante di partenza calcolare e-rtt Sender Receiver Sender Receiver SampleRTT Original transmission Retransmission ACK SampleRTT Original transmission ACK Retransmission (a) (b) Algoritmo Karn/Partridge S-RTT viene misurato soltanto per i segmenti che vengono inviati una volta sola Ad ogni ritrasmissione il TCP raddoppia il time out Comunque ogni volta che arriva l ACK si ricalcola con l ultimo valore di ertt secondo la formula Questo meccanismo e una forma di controllo di congestione che fa si che il trasmettitore aspetti un tempo via via piu lungo prima di ritrasmettere un segmento per cui non ha ancora ottenuto riscontro 39

40 Variazioni di RTT (RFC2988) Se le variazioni tra i campioni di RTT sono piccole non ha senso calcolare il time out secondo la formula T out =2eRTT Viene effettuato sulla base della stima del RTT e della deviazione del valore del campione di RTT rispetto alla stima Si calcola la deviazione del valore del campione di RTT (srtt) rispetto alla stima ertt: devrtt= (1-β) devrtt+ β srtt-ertt Calcolo del time out Tout= e-rtt +4 devrtt Se le fluttuazioni sono piccole time out e circa uguale a e-rtt altrimenti time out > e-rtt in modo piu consistente β=0.25 e il valore raccomandato Esercizio: lettura di traccia TCP Dimensione della finestra di congestione (segmenti RTT Dal grafico si puo dedurre che: Valore della soglia iniziale = 32 Il sistema lavora in SS negli intervalli [1,6] e 23,26] Il sistema lavora in congestion avoidance negli intervalli [6,16] e [17,22] Dopo il sedicesimo round viene riconosciuta una perdita in base a dup ack La soglia al diciottesimo round vale 21 Il pacchetto 70 viene inviato al settimo round 40

Funzioni del protocollo TCP

Funzioni del protocollo TCP Funzioni del protocollo TCP Prof. Ing. Carla Raffaelli Anno accademico 2004-2005 Il TCP Il TCP e un protocollo orientato alla connessione utilizzato per gestire il trasferimento end-to-end di informazioni

Dettagli

Implementazioni tipiche del protocollo TCP

Implementazioni tipiche del protocollo TCP Implementazioni tipiche del protocollo TCP Prof. Ing. Carla Raffaelli Anno accademico 2004-2005 N. 1 Prime versioni del TCP Tahoe Slow-start Congestion avoidance Fast retransmit Reno Implementa anche il

Dettagli

Lo strato di applicazione in Internet

Lo strato di applicazione in Internet Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,

Dettagli

Funzioni del protocollo TCP

Funzioni del protocollo TCP Funzioni del protocollo TCP Prof. Ing. Carla Raffaelli Anno accademico 2005-2006 Il TCP Il TCP e un protocollo orientato alla connessione utilizzato per gestire il trasferimento end-to-end di informazioni

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Controllo di congestione

Controllo di congestione Controllo di congestione Generalità!!In caso di congestione della rete, a causa dei buffer limitati degli apparati di rete, alcuni segmenti potrebbero venire persi!!la perdita dei segmenti e il relativo

Dettagli

Lo strato di Trasporto

Lo strato di Trasporto Corso di Fondamenti di Reti di Telecomunicazioni LT - ELE / LM-TLC Reti di Telecomunicazioni a.a. 2016-2017 Lo strato di Trasporto Internet è composta da host connessi a reti a commutazione di pacchetto,

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 3 Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Livello Trasporto (TCP) I protocolli di trasporto sono eseguiti

Dettagli

Controllo di flusso in TCP

Controllo di flusso in TCP Controllo di flusso in TCP Laurea Specialistica in Ingegneria dei sistemi e delle tecnologie dell informazione Progetto di reti e sistemi di telecomunicazioni Prof. Franco Callegati Controllo di flusso

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP Corso di Reti di Telecomunicazione a.a. 2013/14 - Ingegneria Elettronica e delle Telecomunicazioni - Ingegneria Informatica e dell Automazione - - Ing. G. Boggia Protocolli di trasporto:

Dettagli

Strato 4 (Transport Layer) Protocolli TCP e UDP

Strato 4 (Transport Layer) Protocolli TCP e UDP Strato 4 (Transport Layer) Protocolli TCP e UDP N. 1 Lo strato 4 (Transport Layer) Compito dello Strato 4 è fornire un servizio di trasporto dati affidabile e il più economico possibile, svincolando gli

Dettagli

Protocolli di Trasporto in reti IP

Protocolli di Trasporto in reti IP Vincenzo Eramo Protocolli di Trasporto in reti IP Protocolli di Trasporto Lo strato di trasporto fornisce un servizio di trasferimento allo strato applicativo conforme ai requisiti di qualità richiesti

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ LIVELLO TRASPORTO IN INTERNET - 1 Livello trasporto in Internet Due protocolli di trasporto alternativi:

Dettagli

Parte II: Reti di calcolatori Lezione 13 (37)

Parte II: Reti di calcolatori Lezione 13 (37) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 (37) Venerdì 21-04-2017 1 Trasferimento

Dettagli

Livello trasporto. Controllo del flusso e della congestione

Livello trasporto. Controllo del flusso e della congestione Livello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile TCP Struttura del segmento Trasferimento dati affidabile Controllo del flusso

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ LIVELLO TRASPORTO IN INTERNET - 1 Due protocolli di trasporto alternativi:

Dettagli

Livello di trasporto e TSAP

Livello di trasporto e TSAP Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli Livello di trasporto e TSAP Three-way handshake Incarnation numbers TCP e UDP 39.2 Sessione T_CONNECT, T_DISCONNECT T_DATA, T_EXP_DATA T_UNITDATA

Dettagli

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Controllo di flusso in TCP Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Meccanismo a finestra La dimensione della finestra viene

Dettagli

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK. 1. Considerare il problema della stima del Round Trip Time. Supporre che inizialmente RTT valga 200 ms. Il mittente invia un segmento e riceve l ACK relativo dopo 100 ms, quindi invia un altro segmento,

Dettagli

UDP. User Datagram Protocol. UDP Connectionless

UDP. User Datagram Protocol. UDP Connectionless UDP User Datagram Protocol IP fornisce un unreliable datagram service tra gli host I Transport protocols forniscono un servizio di consegna end-to-end tra gli endpoints di una connessione UDP Connectionless

Dettagli

Telematica di Base. IL Livello di Trasporto TCP

Telematica di Base. IL Livello di Trasporto TCP Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,

Dettagli

Gestione delle Reti di Telecomunicazioni

Gestione delle Reti di Telecomunicazioni Dipartimento di Elettronica e Telecomunicazioni Gestione delle Reti di Telecomunicazioni Modello TCP/IP Ing. Tommaso Pecorella Ing. Giada Mennuti {pecos,giada}@lenst.det.unifi.it 1 Protocolli di trasporto

Dettagli

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo Controllo di Congestione (/) Ha lo scopo di evitare condizioni di sovraccarico nei nodi della rete limitando il traffico offerto alla rete

Dettagli

TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581

TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581 TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581 socket door Protocollo uno-a-uno: Un sender, un receiver Flusso di Byte ordinato e affidabile Protocollo pipelined: TCP ha controllo di flusso e di congestione

Dettagli

Controllo della congestione

Controllo della congestione Controllo della congestione Problema: troppe sorgenti inviano troppi dati troppo velocemente perchè la rete riesca a gestirli Effetti: perdita di pacchetti (overflow nei buffer dei router) e ritardi eccessivi

Dettagli

Corso di Reti di Telecomunicazioni

Corso di Reti di Telecomunicazioni Corso di Reti di Telecomunicazioni Ingegneria ELETTRONICA e delle TELECOMUNICAZIONI (D.M. 270/04) A.A. 2011/12 maggiora@deemail.poliba.it Architettura protocollare TCP/IP: strato di trasporto 2 UDP e TCP

Dettagli

Protocolli di Trasporto in reti IP

Protocolli di Trasporto in reti IP Vincenzo Eramo Protocolli di Trasporto in reti IP Protocolli di Trasporto Lo strato di trasporto fornisce un servizio di trasferimento allo strato applicativo conforme ai requisiti di qualità richiesti

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Il livello Trasporto si occupa di come avviene lo scambio dei dati tra mittente e destinatario, gestisce quindi l invio e la ricezione dei dati.

Il livello Trasporto si occupa di come avviene lo scambio dei dati tra mittente e destinatario, gestisce quindi l invio e la ricezione dei dati. Il livello Trasporto si occupa di come avviene lo scambio dei dati tra mittente e destinatario, gestisce quindi l invio e la ricezione dei dati. Esso stabilisce la modalità di comunicazione; esistono due

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Copyright Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ Quest opera è protetta dalla licenza Creative Commons NoDerivs-NonCommercial. Per vedere

Dettagli

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat) 1) (commutazione pacchetto, prodotto banda-ritardo) Considerare l invio di un pacchetto di L bit da un nodo C ad un nodo S, attraverso 3 router intermedi, che introducono un ritardo di elaborazione di

Dettagli

Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015

Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015 Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015 La soluzione di questo esercizio per quanto riguarda la parte di perdita di pacchetti è data assumendo l'algoritmo di FAST RECOVERY, ossia

Dettagli

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP Livello di trasporto: meccanismi trasferimento dati affidabile, TCP Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. - Copyright 2013

Dettagli

Transport Layer & TCP/UDP

Transport Layer & TCP/UDP 34565 34571 httpd 136.45.127.12 47352 128.30.52.45 80 195.7.34.45 & TCP/UDP Trasporto Interfaccia 4-3 Rete Interfaccia 3-2 Coll. Dati Interfaccia 2-1 Fisico p2p (l 3) p2p (l 2) p2p (l 4) Rete Interf. 3-2

Dettagli

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica December 7, 2004 Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6 Sommario 1 La

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ Copyright Gruppo Reti Politecnico di Torino INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest

Dettagli

Sistemi e Tecnologie della Comunicazione

Sistemi e Tecnologie della Comunicazione Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP 1 Trasporto in TCP/IP TCP/IP utilizza due protocolli di trasporto UDP (User Datagram Protocol): protocollo inaffidabile connection

Dettagli

Reti di Comunicazione e Internet

Reti di Comunicazione e Internet Dipartimento di Elettronica e Informazione Politecnico di Milano Reti di Comunicazione e Internet Transmission Control Protocol Esercitazione Ipotesi semplificative per gli esercizi RTT (Round Trip Time)

Dettagli

Architetture di Internet esercizi livello di Trasporto

Architetture di Internet esercizi livello di Trasporto Architetture di Internet esercizi livello di Trasporto Davide Bresolin 15 Aprile 016 Esercizio 1. Si assuma che in una sessione FTP si utilizzi per il trasporto dei dati il protocollo TCP e che il RTT

Dettagli

Strato di trasporto in Internet

Strato di trasporto in Internet Strato di trasporto in Internet Prof. Franco Callegati DEIS Università di Bologna http://deisnet.deis.unibo.it Trasporto in Internet Architettura protocollare tradizionale di Internet: Tipologia di servizio:

Dettagli

Lezione n.3 LIVELLO TRASPORTO

Lezione n.3 LIVELLO TRASPORTO Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Livello trasporto in Internet Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso

Dettagli

Riferimenti. I protocolli TCP e UDP. Sorgente TCP. Principi Fondamentali. TCP header. Ricevitore TCP

Riferimenti. I protocolli TCP e UDP. Sorgente TCP. Principi Fondamentali. TCP header. Ricevitore TCP Riferimenti I protocolli TCP e UDP TCP Illustrated, vol. 1 (Richard Stevens) RFC 1122/1123 (R. T. Braden) Requirements for Internet Hosts (1989) RFC 2001 (R. Stevens) TCP Slow Start, algorithms (1997)

Dettagli

Internet Protocol Cenni introduttivi

Internet Protocol Cenni introduttivi Politecnico di Milano Sede di Cremona A.A. 2013/2014 Corso di RETI DI COMUNICAZIONE ED INTERNET Modulo 1 Internet Protocol Cenni introduttivi Antonio Corghi I protocolli di Internet (1) q L Internet Protocol

Dettagli

Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Parte 2 - Indice

Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Parte 2 - Indice Parte 2 - Indice 1. Modello di servizio TCP 2. Il protocollo TCP 3. Il segmento TCP 4. Politica di trasmissione TCP 5. Intervallo di time out Modello di servizio TCP - 1 2 tipi di servizio a livello trasporto

Dettagli

R. Cusani - F. Cuomo, Telecomunicazioni - Data link layer: Protocolli, Maggio 2010

R. Cusani - F. Cuomo, Telecomunicazioni - Data link layer: Protocolli, Maggio 2010 1 21: Transport layer: TCP e UDP Sommario 2 Trasporto in TCP/IP User Datagram Protocol (UDP) Transmission Control Protocol (TCP) MTU, RTU, MSS Controllo della congestione Header TCP 1 Trasporto in TCP/IP

Dettagli

Il livello di trasporto

Il livello di trasporto Politecnico di Milano Facoltà di Ingegneria dell Informazione Il livello di trasporto -Il protocollo UDP (User Datagram Protocol) -Il protocollo TCP (Transport Control Protocol) Servizio di trasporto il

Dettagli

Uso di Internet: Esempio. Prof. Franco Callegati

Uso di Internet: Esempio. Prof. Franco Callegati Uso di Internet: Esempio Prof. Franco Callegati http://deisnet.deis.unibo.it Consultazione di una pagina WEB Per collegarsi a Internet un Utente apre il proprio Browser Web (B) Dal Sistema Operativo (Es:

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti

Dettagli

Lo strato di Trasporto

Lo strato di Trasporto Corso di Reti di Telecomunicazioni a.a. 2016-2017 Lo strato di Trasporto Scenario Internet è composta da host connessi a reti a commutazione di pacchetto, a loro volta interconnesse tramite router Gli

Dettagli

Il segmento TCP. Facoltà di Ingegneria 2 Cesena Lauree specialistiche Reti di Telecomunicazioni LS Prof. Franco Callegati

Il segmento TCP. Facoltà di Ingegneria 2 Cesena Lauree specialistiche Reti di Telecomunicazioni LS Prof. Franco Callegati Il segmento TCP Facoltà di Ingegneria 2 Cesena Lauree specialistiche Reti di Telecomunicazioni LS Prof. Franco Callegati Il segmento TCP TCP incapsula i dati delle applicazioni in pacchetti detti segmenti

Dettagli

API Socket di Berkeley

API Socket di Berkeley Laboratorio Reti di Calcolatori (A.A. 2008-2009) Programmazione di rete ed interfaccia API socket di Berkeley Delfina Malandrino delmal@dia.unisa.it http://www.dia.unisa.it/professori/delmal/ API Socket

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corsi di Laurea in Ingegneria Informatica Ingegneria delle Telecomunicazioni Ingegneria dell Automazione Corso di Reti di Calcolatori Simon Pietro Romano (spromano@unina.it) Antonio Pescapè (pescape@unina.it)

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 8 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Il Livello di Trasporto: 1 L utente non ha il controllo sulla rete; non può risolvere i problemi di un servizio inadeguato

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: controllo di congestione

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: controllo di congestione

Dettagli

Telematica di Base. Il livello di trasporto

Telematica di Base. Il livello di trasporto Telematica di Base Il livello di trasporto Trasporto: Servizi e Protocolli Fornisce un servizio di communicazione logica tra applicazioni di rete I protocolli di trasporto sono in esecuzione sugli host

Dettagli

Gestione delle connessioni TCP

Gestione delle connessioni TCP Gestione delle connessioni TCP A.A. 2005/2006 Walter Cerroni Le primitive Berkeley Socket Interfaccia TCP/applicazione tipica dei sistemi operativi primitive eseguite dal processo server socket: crea una

Dettagli

TCP e UDP: il livello trasporto dell'architettura TCP/IP. OSI vs. TCP/IP. Transport layer. A.Lioy - Politecnico di Torino ( ) A-1

TCP e UDP: il livello trasporto dell'architettura TCP/IP. OSI vs. TCP/IP. Transport layer. A.Lioy - Politecnico di Torino ( ) A-1 TCP e UDP: il livello trasporto dell'architettura TCP/IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica OSI vs. TCP/IP 7 6 5 application presentation session process

Dettagli

TCP e UDP: il livello trasporto dell'architettura TCP/IP

TCP e UDP: il livello trasporto dell'architettura TCP/IP TCP e UDP: il livello trasporto dell'architettura TCP/IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica OSI vs. TCP/IP 7 6 5 application presentation session process

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) Il livello trasporto: Introduzione e

Dettagli

Livello di trasporto: TCP, controllo flusso, controllo congestione

Livello di trasporto: TCP, controllo flusso, controllo congestione Livello di trasporto: TCP, controllo flusso, controllo congestione Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright.

Dettagli

Parte II: Reti di calcolatori Lezione 14 (38)

Parte II: Reti di calcolatori Lezione 14 (38) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 14 (38) Venerdì 28-04-2017 1 Controllo

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP Il Livello I servizi del livello Le primitive di Indirizzamento Protocolli di Livello in Internet UDP TCP 5-1 5-2 Livello TRASPORTO

Dettagli

TECN.PROG.SIST.INF. I Socket Roberta Gerboni

TECN.PROG.SIST.INF. I Socket Roberta Gerboni 2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE Disciplina: Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Cognome e Nome:

Dettagli

Gestione della Connessione in TCP

Gestione della Connessione in TCP I semestre 03/04 Gestione della Connessione in TCP Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Riscontro e Ritrasmissione Per ogni segmento spedito la sorgente

Dettagli

Strato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP

Strato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP Strato di trasporto Lo strato di trasporto si colloca al livello 4 dello strato ISO-OSI e svolge il compito di mettere in comunicazione diversi processi software. La comunicazione tra applicazioni avviene

Dettagli

TCP/IP: elemento unificante

TCP/IP: elemento unificante TCP/IP: elemento unificante L elemento unificante di Internet è la suite di protocolli TCP/IP (non solo TCP e IP!) per la trasmissione dei dati Non sono elementi unificanti di Internet: tecnologia di accesso

Dettagli

Parte II: Reti di calcolatori Lezione 12 (36)

Parte II: Reti di calcolatori Lezione 12 (36) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 12 (36) Martedì 18-04-2017 1 UDP L UDP

Dettagli

MODELLO TCP/IP LIVELLO 4 Trasporto. Il protocollo per il controllo della trasmissione. La gestione degli errori di trasmissione

MODELLO TCP/IP LIVELLO 4 Trasporto. Il protocollo per il controllo della trasmissione. La gestione degli errori di trasmissione Prof.ssa Daniela Decembrino MODELLO /IP LIVELLO 4 Trasporto Il protocollo per il controllo della trasmissione significa Transmission Control Protocol, cioè Protocollo per il Controllo della Trasmissione.

Dettagli

Livello di Trasporto

Livello di Trasporto Livello di Trasporto Introduzione Problemi e requisiti Livello di trasporto in Internet UDP -UserDatagramProtocol TCP - Transmission Control Protocol Meccanismo di ritrasmissione Controllo del flusso Three-way

Dettagli

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione Corso di Sistemi di Misura Distribuiti Ing. Domenico Capriglione capriglione@unicas.it ARCHITETTURE CLIENT-SERVER I PROTOCOLLI TCP/IP E UDP ARCHITETTURE CLIENT-SERVER Cosa è un applicazione Client-Server?

Dettagli

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

TCP. Servizio di Trasporto Affidabile. Transmission Control Protocol. Caratteristiche di TCP 1

TCP. Servizio di Trasporto Affidabile. Transmission Control Protocol. Caratteristiche di TCP 1 TCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Servizio di Trasporto Affidabile Il livello di trasporto deve fornire un servizio di consegna orientato alla

Dettagli

Analisi dell avvio del TCP su canali satellitari a larga banda. Candidato Giovanni Verrecchia

Analisi dell avvio del TCP su canali satellitari a larga banda. Candidato Giovanni Verrecchia Analisi dell avvio del TCP su canali satellitari a larga banda Candidato Giovanni Verrecchia Relatore Francesco Potortì Controrelatore Maurizio Bonuccelli Il progetto SatNEx Acronimo di European Satellite

Dettagli

Parte II: Reti di calcolatori Lezione 14 (38)

Parte II: Reti di calcolatori Lezione 14 (38) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Parte II: Reti di calcolatori Lezione 14 (38) Giovedì 3-05-2018 1 Numeri di sequenza

Dettagli

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano Reti di calcolatori TCP/IP Slide a cura di Simon Pietro Romano spromano@unina.it Il livello rete Stack ISO/OSI Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Corso di Tecnologie dei

Dettagli

Reti (già Reti di Calcolatori )

Reti (già Reti di Calcolatori ) Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare

Dettagli

Telematica 3 5. TCP/IP - UDP/TCP

Telematica 3 5. TCP/IP - UDP/TCP Università di Genova Facoltà di Ingegneria Telematica 3 5. TCP/IP - UDP/TCP Prof. Raffaele Bolla dist Recupero di errore Alcuni protocolli di trasporto (TCP) applicano tecniche di recupero dell errore

Dettagli

Parte II: Reti di calcolatori Lezione 15 (39)

Parte II: Reti di calcolatori Lezione 15 (39) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Parte II: Reti di calcolatori Lezione 15 (39) Martedì 8-05-2018 1 Raddoppio dell

Dettagli

Multiplexing. Modello di servizio TCP 2. Modello di servizio TCP 1. Modello di servizio TCP 3. Modello di servizio TCP 4. Il protocollo TCP 1

Multiplexing. Modello di servizio TCP 2. Modello di servizio TCP 1. Modello di servizio TCP 3. Modello di servizio TCP 4. Il protocollo TCP 1 Modello di servizio TCP 1 2 tipi di servizio a livello trasporto TCP (Transmission Control Protocol) Garantisce comunicazione affidabile agli utenti (end point) anche in presenza di una rete inaffidabile

Dettagli

Capitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Capitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella Capitolo 3 - parte 2 Corso Reti ed Applicazioni Mauro Campanella Principi di un trasferimento dati affidabile strato di trasporto strato di applicazione (a) Servizio fornito (b) la realizzazione del Servizio

Dettagli

Reti di Telecomunicazioni 1

Reti di Telecomunicazioni 1 Reti di Telecomunicazioni 1 AA2011/12 Parte 10 Ing. Francesco Zampognaro e-mail: zampognaro@ing.uniroma2.it 1 OSI Internet: TCP/IP 2 1 IP Il protocollo IP (RFC 791, 919, 922, 950, 1349) è il protocollo

Dettagli

Il livello di trasporto

Il livello di trasporto Politecnico di Milano Advanced Network Technologies Laboratory Il livello di trasporto - Il protocollo UDP (User Datagram Protocol) - Il protocollo TCP (Transport Control Protocol) Servizio di trasporto

Dettagli

Livello di trasporto:

Livello di trasporto: Livello di : Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose and

Dettagli

PARTE 5 LIVELLO TRASPORTO. - Protocolli UDP e TCP. Parte 5. Modulo 1: Servizi del livello trasporto

PARTE 5 LIVELLO TRASPORTO. - Protocolli UDP e TCP. Parte 5. Modulo 1: Servizi del livello trasporto PARTE 5 LIVELLO TRASPORTO - Protocolli UDP e TCP Parte 5 Modulo 1: Servizi del livello trasporto 1 Livello 4 (transport) Il livello trasporto estende il servizio di consegna con impegno proprio del protocollo

Dettagli

Transmission Control Protocol (TCP) Andrea Detti

Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Trasferisce un flusso informativo bi-direzionale non strutturato tra due host ed effettua operazioni di multiplazione

Dettagli

OSI vs. TCP/IP. TCP e UDP: il livello trasporto dell'architettura TCP/IP. Transport layer. Transport layer. Cosa misuriamo?

OSI vs. TCP/IP. TCP e UDP: il livello trasporto dell'architettura TCP/IP. Transport layer. Transport layer. Cosa misuriamo? : il livello trasporto dell'architettura /IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica 7 6 5 4 3 2 1 network data link physical OSI vs. /IP packet frame V, I,

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 6 Luglio 2005

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 6 Luglio 2005 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 6 Luglio 2005 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

Il livello trasporto Protocolli TCP e UDP

Il livello trasporto Protocolli TCP e UDP Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:

Dettagli