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 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 Protocolli standard 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 3

4 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) o socket che vengono viste come porte Architettura del protocollo Processo API Strato di trasporto Protocollo applicativo TCP Processo API Strato di trasporto INTERNET 4

5 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 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 5

6 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) 6

7 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 socket in attesa su una porta 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 Well-known port (esempi) Le porte da 0 a 255 sono riservate e si attribuiscono ai vari demoni dei numeri di porta prefissati, uguali per qualunque host di Internet. Questi numeri riservati danno vita alle wellknown 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 7

8 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 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 8

9 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 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 9

10 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 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 10

11 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) 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 11

12 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 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 12

13 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-points identifica in modo univoco una particolare connessione, così che un singolo end-point può essere condiviso tra più connessioni sulla stessa macchina E un identificativo che equivale concettualmente al Service Access Point (SAP) secondo la terminologia OSI, per identificare il processo destinazione L host che inizia la connessione deve comunicare a quale porta si vuole connettere e qual è il numero di porta da lui utilizzato Connessioni e Multiplazione Host A Host C TCP TCP IP IP Host B TCP IP 13

14 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 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 14

15 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 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 15

16 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 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 16

17 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 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 17

18 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 La famiglia dei protocolli TCP/IP Applicazioni ,ftp,telnet,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 18

19 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 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) 19

20 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 Controllo di flusso nel TCP Il trasmettitore non deve saturare il ricevitore Utilizzo 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 20

21 Meccanismo a finestra 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 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 21

22 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 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 22

23 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 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 verifica una perdita si riduce W Quando gli ack arrivano correttamente W viene aumentata 23

24 Congestion window Il TCP mantiene una variabile detta CW (Congestion Window) MAXWIN = min(cw, AW) 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 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 24

25 Valori della finestra ideale Ipotesi RTT= 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 la massimo a 64 KB Opzione window scale consente di moltiplicare il valore della AW per un fattore di scla concordato alla instaurazione della connessione (RFC 1323) 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) 25

26 Meccanismi di incremento della finestra Slow start Si applica inizialmente, W cresce di 1 per ogni ack ricevuto Consente un incremento rapido della finestra (esponenziale) e quindi del throughput Congestion avoidance Dopo aver raggiunto la soglia W si incrementa di 1 per RTT (1/W ogni ack) Evita di saturare la banda disponibile 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 26

27 Esempio di evoluzione della finestra cwnd Congestion Window size (segments) Congestion avoidance Slow start Slow start threshold (ssthresh) Time (round trips) 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 27

28 Ack cumulativi data ack Un nuovo ack viene generato solo quando viene ricevuto un nuovo pacchetto in sequenza 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 28

29 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 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 alla meta del valore che aveva la finestra prima della perdita 29

30 Effetto del time out Congestion window (segments) After timeout cwnd = 20 ssthresh = 8 ssthresh = Time (round trips) Descrizione in pseudo codice rwnd=aw Slow start Congestion avoidance 1) cwnd=1mss 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) 30

31 Ack duplicati data ack Dup ack Fast retransmit/recovery Gli ack duplicati sono una indicazione del fatto che puo esserci stata perdita Se si ricevono tre ack 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 ricevuto come nella fase di slow start 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 31

32 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 Occupazione della coda di trasmissione Occupazione coda (segmenti) Tempo (s) 32

33 Fairness del meccanismo AIMD Due connessioni condividono la banda di un singolo link con capacita B 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 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 33

34 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 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. Gli ack parziali decrementano il valore della finestra corrente della quantita di dati riconosciuta, la incrementano di un segmento e ri-innescano il fast recovery TCP SACK (selctive 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 34

35 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 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 35

36 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) 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) 36

37 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) Riepilogo: versioni del TCP 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 37

38 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 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) 38

39 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 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 39

40 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 2006-2007 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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP A.A. 2005/2006 Walter Cerroni Il livello di trasporto in Internet APP. APP. TCP UDP IP collegamento logico tra diversi processi applicativi collegamento logico tra diversi host IP

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

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

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

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

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

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

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

Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007 Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

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

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

Programma del corso

Programma del corso carla.raffaelli@unibo.it http://deis-tlc.deis.unibo.it Programma del corso 2005-2006 Parte I - Lo strato di trasporto: Trasporto senza connessione: UDP; trasporto orientato alla connessione: TCP; controllo

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

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

Valutazione del TCP con NS2. Gaia Maselli

Valutazione del TCP con NS2. Gaia Maselli Valutazione del TCP con NS2 Gaia Maselli maselli@di.uniroma1.it Esempio di simulazione example2.tcl UDP con CBR Lunghezza della coda = 10 UDP con CBR Cosa succede se il traffico tra il nodo 0 e 3 è di

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

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