Livello trasporto in Internet

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Livello trasporto in Internet"

Transcript

1 Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC LIVELLO TRASPORTO IN INTERNET - 1 Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso e congestione, stateful, supporto solo unicast UDP non connesso, inaffidabile, stateless, supporto multicast Caratteristiche comuni: multiplazione e demultiplazione mediante le porte rilevazione errori su header e dati (opzionale in UDP) LIVELLO TRASPORTO IN INTERNET - 2 Mux/demux: le porte Il destinatario finale dei dati non è un host ma un processo in esecuzione sull host L interfaccia tra processi e strati dell architettura di rete è rappresentata da una porta numero intero su 16 bit associazione tra porte e processi processi server pubblici sono associati a porta ben nota, inferiore a 1024 (es: 80 per WWW, 25 per ) processi client usano porta assegnata dinamicamente dal sistema operativo, superiore a 1024 UDP: User Datagram Protocol Protocollo di trasporto di tipo non connesso Non fornisce garanzie di consegna Due funzionalità: multiplazione delle informazioni tra le varie applicazioni tramite il concetto di porta checksum (opzionale) per verificare l integrità dei dati Un applicazione che usa UDP deve risolvere problemi di affidabilità, perdita di pacchetti, duplicazione, sequenza, controllo di flusso, controllo di congestione Standardizzato in RFC 768 LIVELLO TRASPORTO IN INTERNET - 3 LIVELLO TRASPORTO IN INTERNET - 4 UDP: formato pacchetto UDP Source Port UDP Destination Port UDP Message Length UDP Checksum DATA UDP: applicabilità Utile quando: Si opera su rete locale (affidabilità) Applicazione mette tutti i dati in un singolo pacchetto (non apro connessione) Non è importante che tutti i pacchetti arrivino a destinazione Necessità di protocollo veloce Evita overhead apertura connessione Meccanismi di ritrasmissione per affidabilità non utilizzabili per vincoli temporali Applicazione gestisce meccanismi di ritrasmissione LIVELLO TRASPORTO IN INTERNET - 5 LIVELLO TRASPORTO IN INTERNET - 6 Pag. 1

2 Il protocollo TCP TCP(Transmission Control Protocol )èun protocollo di livello trasporto Riassunto presentazione Principi fondamentali Formati dati Gestione connessione Algoritmi di controllo della velocità di emissione dei pacchetti Controllo di congestione Controllo di flusso LIVELLO TRASPORTO IN INTERNET - 7 Riferimenti bibliografici Richard Stevens: TCP Illustrated, vol.1 RFC 793 (1981) Transmission Control Protocol RFC 1122/1123: (1989) Requirements for Internet Hosts RFC 1323: (1992) TCP Extensions for High Performance (PRP STD) RFC 2018: (1996) TCP Selective Acknowledgment Options (PRP STD) LIVELLO TRASPORTO IN INTERNET - 8 Riferimenti bibliografici RFC 2018: TCP Selective Acknowledgment Options (PRP STD ) RFC 2581: TCP Congestion Control (PRP STD) RFC 2582: The NewReno Modification to TCP's Fast Recovery Algorithm RFC 2883: An Extension to the Selective Acknowledgement (SACK) Option for TCP RFC 2988: Computing TCP's Retransmission Timer (PRP STD) TCP: principi di funzionamento Protocollo di trasporto orientato alla connessione Affidabile: garantisce la consegna corretta ed in sequenza al ricevitore dei pacchetti trasmessi dal trasmettitore Utilizzato da applicativi che richiedono la trasmissione affidabile dell informazione telnet (terminale remoto) ftp (file transfer protocol) smtp (simple mail transfer protocol) http (hypertext transfer protocol) LIVELLO TRASPORTO IN INTERNET - 9 LIVELLO TRASPORTO IN INTERNET - 10 TCP Fornisce porte per (de)multiplazione Una entità TCP di un host, quando deve comunicare con un entità TCP di un altro host, crea una connessione fornendo un servizio simile ad un circuito virtuale bidirezionale (full duplex) con controllo di errore e di sequenza Richiede maggiore capacità di elaborazione rispetto a UDP e di mantere informazioni di stato negli host per ogni connessione LIVELLO TRASPORTO IN INTERNET - 11 TCP TCP segmenta e riassembla i dati secondo le sue necessità: tratta stream di dati (byte) non strutturati dai livelli superiori non garantisce nessuna relazione tra il numero di read e quello di write (buffer tra TCP e livello applicazione) Protocollo a finestra per affidabilità Esegue un controllo di flusso e di congestione regolando la velocità del trasmettitore LIVELLO TRASPORTO IN INTERNET - 12 Pag. 2

3 Identificazione di connessioni Una connessione TCP tra due processi è definita dai suoi endpoints (punti terminali), univocamente identificati da: Indirizzi IP host sorgente e host destinazione Numeri di porta host sorgente e host destinazione TCP o UDP usano porte indipendenti Esempio: connessione TCP tra porta host e porta 80 host LIVELLO TRASPORTO IN INTERNET - 13 Trasmettitore TCP Suddivide i dati dell applicazione in segmenti Finestra, con ritrasmissione stile GBN (funzionamento complessivo ibrido GBN-SR) Attiva timer quando invia i segmenti: segmenti non confermati allo scadere del timer (timeout - RTO) provocano ritrasmissioni Calcola e trasmette checksum obbligatorio su header e dati Regola velocità con dimensione finestra controllo di flusso e congestione LIVELLO TRASPORTO IN INTERNET - 14 TCP: trasmettitore semplificato Monodirezionale, no controllo flusso e congestione Evento: dati ricevuti da processo applicativo Crea e trasmette segmento wait In attesa for di un evento event Evento: scade timeout per segmento con numero di sequenza y Ritrasmette segmento Ricevitore TCP Riordina segmenti fuori sequenza e scarta segmenti errati consegna stream ordinato e corretto a processo applicativo Invia ACK cumulativi Annuncia spazio libero nel buffer di ricezione per controllare velocità trasmettitore Evento: ACK ricevuto, connumerodi ACKy Gestione ACK LIVELLO TRASPORTO IN INTERNET - 15 LIVELLO TRASPORTO IN INTERNET - 16 Ricevitore TCP Segmento corretto ed in sequenza Memorizza (ed eventualemente consegna al livello superiore) ed invia ACK cumulativo Segmento duplicato scarta ed invia ACK relativo all ultimo segmento ricevuto in sequenza Segmento con checksum errato Scarta senza inviare ACK Segmento fuori sequenza Memorizza (non obbligatorio, ma standard de facto) ed invia ACK relativo ultimo segmento ricevuto (ACK duplicato) Numero seq. di segmento segmenti trasmessi, ack ricevuto Finestra del trasmettitore finestra massima disponibile segmenti trasmessi, ack da ricevere finestra utilizzabile segmenti da trasmettere segmenti che non si possono trasmettere LIVELLO TRASPORTO IN INTERNET - 17 LIVELLO TRASPORTO IN INTERNET - 18 Pag. 3

4 Dinamica della finestra Quando si riceve un ack di un nuovo segmento, la finestra disponibile: trasla a destra posso trasmettere altro segmento La finestra utilizzabile si riduce quando un nuovo segmento viene TX Se finestra utilizzabile va a zero, si ferma la trasmissione Controlli di flusso e congestione Generico protocollo a finestra: la velocità di trasmissione in assenza di errori: Finestra di trasmissione Round trip time Connessioni corte ottengono banda maggiore Per regolare velocità di trasmissione posso agire su round trip time (ritardando invio di ack) genero ritrasmissioni dimensione finestra LIVELLO TRASPORTO IN INTERNET - 19 LIVELLO TRASPORTO IN INTERNET - 20 Controlli di flusso e congestione Se cresce finestra oltre valore per cui bit rate in trasmissione supera capacità del collo di bottiglia si memorizzano dati nei buffer lungo il percorso, e cresce round trip time TCP: Velocità di trasmissione di un trasmettitore è regolata da: controllo di flusso: evita che un host veloce saturi un ricevitore lento controllo di congestione: evita che un host aggressivo saturi la rete trasmettendo sempre alla velocità massima consentita dal ricevitore Controlli di flusso e congestione TCP impiega un controllo end-to-end basato su controllo della dimensione della finestra del trasmettitore: controllo di flusso: il ricevitore impone la dimensione massima della finestra del trasmettitore, indicandola negli ACK controllo di congestione: il trasmettitore si autoimpone una dimensione massima della finestra in funzione delle perdite riscontrate per mancato arrivo di ACK LIVELLO TRASPORTO IN INTERNET - 21 LIVELLO TRASPORTO IN INTERNET - 22 Controllo di flusso in TCP RX informa esplicitamente TX della memoria disponibile (variabile nel tempo) campo rwnd nell intestazione segmento TCP TX: finestra (dati trasmessi senza avere ricevuto ACK) non eccede mai ultimo valore di finestra disponibile dichiarato da RX Buffer di ricezione LIVELLO TRASPORTO IN INTERNET - 23 La PDU TCP La PDU di TCP è detta segmento La dimensione dei segmenti può variare dal solo header (ACK, 20 byte) fino ad un valore massimo MSS concordato con il ricevitore e dipendente dalla MTU IP La dimensione del singolo segmento dipende dallo stream dei livelli superiori HEADER 20 B VARIABLE DATA LENGTH (0 - MSS) LIVELLO TRASPORTO IN INTERNET - 24 Pag. 4

5 TCP: intestazione TCP intestazione (senza opzioni) Source Port Destination Port HLEN Resv Control flag Window Checksum Urgent Pointer Source Port Number Dest Port Number 20 byte Options Padding checksum Urgent Pointer LIVELLO TRASPORTO IN INTERNET bit LIVELLO TRASPORTO IN INTERNET - 26 TCP header TCP header Source Port Number Dest Port Number Source Port Number Dest Port Number Identifica, nello stream di dati, la posizione del primo byte del payload del segmento checksum Urgent Pointer Identificano la applicazione che sta inviando e ricevendo dati. Combinati con i rispettivi indirizzi IP, identificano in modo univoco una connessione checksum Urgent Pointer Ogni direzione della connessione procede con numeri di sequenza diversi e indipendenti LIVELLO TRASPORTO IN INTERNET - 27 LIVELLO TRASPORTO IN INTERNET - 28 Numerazione segmenti Numero di sequenza su 32 bit In funzione della banda, ho diversi tempi di Wrap Around (torno a numero di sequenza iniziale) Capacità T1 Ethernet T3 FDDI STS-3 STS-12 STS-24 (1.5Mbps) (10Mbps) (45Mbps) (100Mbps) (155Mbps) (622Mbps) (1.2Gbps) Tempo prima di wrap around 6.4 ore 57 minuti 13 minuti 6 minuti 4 minuti 55 secondi 28 secondi Intestazione TCP Source Port Number checksum Destination Port Number Urgent Pointer Numero di sequenza più 1 dell ultimo byte di dati ricevuto correttamente Valido solo con ACK flag settato LIVELLO TRASPORTO IN INTERNET - 29 LIVELLO TRASPORTO IN INTERNET - 30 Pag. 5

6 Numeri di sequenza e di ack Host A Host B Intestazione TCP Utente preme tasto C Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C host ACKs conferma ricezione di C, ed invia echo Source Port Number Destination Port Number Lunghezza dell header in parole di 32 bit host conferma ricezione delle eco C Seq=43, ACK=80 Esempio di sessione telnet tempo checksum Urgent Pointer LIVELLO TRASPORTO IN INTERNET - 31 LIVELLO TRASPORTO IN INTERNET - 32 Intestazione TCP Intestazione TCP Source Port Number Destination Port Number Riservato per usi futuri Gestione connessione Sei bit di flag, uno o più possono essere settati insieme: Source Port Number Destin. Port Number URG: urgent pointer valido ACK: numero di ack valido PSH: forza passaggio dati applicazione RST: reset connessione SYN: synchronize seq. no. FIN: chiusura connessione checksum Urgent Pointer checksum Urgent Pointer LIVELLO TRASPORTO IN INTERNET - 33 LIVELLO TRASPORTO IN INTERNET - 34 IntestazioneTCP Source Port Number Destiation. Port Number checksum Urgent Pointer Numero di byte, a partire da quello nel campo di ACK, che il ricevitore è disposto ad accettare per controllo di flusso Valore massimo rwnd byte, a meno che sia usata la window scaling option per finestre grandi Finestra necessaria per ottenere velocità massima Massima quantità di dati in transito per RTT: 16-bit rwnd = 64kB max Prodotto banda x ritardo per RTT=100ms Banda T1 Ethernet T3 FDDI STS-3 STS-12 STS-24 (1.5Mbps) (10Mbps) (45Mbps) (100Mbps) (155Mbps) (622Mbps) (1.2Gbps) banda x ritardo 18KB 122KB 549KB 1.2MB 1.8MB 7.4MB 14.8MB Limite superabile con window scale option LIVELLO TRASPORTO IN INTERNET - 35 LIVELLO TRASPORTO IN INTERNET - 36 Pag. 6

7 Intestazione TCP Intestazione TCP Source Port Number Dest Port Number checksum Urgent Pointer Checksum obbligatorio su header e dati, più pseudo-header che include indirizzi IP e tipo di protocollo (violazione del principio di stratificazione OSI) Source Port Number Dest Port Number checksum Urgent Pointer Algoritmo di checksum allineamento di header, dati e pseudo-header su 16 bit somma in complemento a 1 di ogni riga si ottiene numero a 32 bit, che si divide in due parti di 16 bit somma in complemento a 1 delle due parti, incluso il riporto inserisco nell header i 16 bit risultanti LIVELLO TRASPORTO IN INTERNET - 37 LIVELLO TRASPORTO IN INTERNET - 38 Intestazione TCP TCP options (MSS) Source Port Number Destination Port Number checksum Urgent Pointer Puntatore a dati urgenti nel campo dati (es. ctrl-c in una sessione telnet). Offset rispetto al num. di seq. Valido solo se flag URG è settato Estensione dell header (precede i dati) Opzione più usata è MSS (Maximum Segment Size), inviato nel segmento iniziale di una connessione Non è negoziato, ogni lato annuncia MSS che si aspetta di ricevere Se non presente, si usa il default a 536 byte Al massimo: MSS = MTU(IP) - 20 byte LIVELLO TRASPORTO IN INTERNET - 39 LIVELLO TRASPORTO IN INTERNET - 40 source (client) Apertura di connessione (three-way handshake) SYN / ISN c <MSS c > SYN / ISN s ACK / ISN c +1 ACK / ISN s +1 three-way handshake destination (server) il client esegue una open attiva, mentre il server esegue una open passiva ISN (initial sequence number) è generato casualmente unsynconsumaun numero di sequenza <MSS s > close da applicazione EOF a livelli alti Chiusura di connessione (TCP half-close) source (client) FIN / Seq. Numb. c ACK (Seq.Numb. C +1) FIN / Seq. Numb. s destination (server) EOF a livelli alti close da applicazione time Timed_wait ACK (Seq. Numb. s +1) LIVELLO TRASPORTO IN INTERNET - 41 LIVELLO TRASPORTO IN INTERNET - 42 Pag. 7

8 Riinvia ACK se arriva nuovo FIN Gestione connessione: client 30 s di attesa Time_wait 10 minuti se server è idle ricevi FIN invia ACK FIN_wait_2 ricevi ACK closed invia SYN SYN_sent ricevi SYN & ACK invia ACK established Riinvia se scade T.O. (3s+backoff) invia dati applicazione; lato client termina FIN_wait_1 connessione inviando FIN riinviasescade T.O. LIVELLO TRASPORTO IN INTERNET - 43 Osservazioni Lo stato Timed_wait evita che segmenti vaganti appartenenti a connessioni chiuse possano interferire con nuove connessioni Timed_wait dovrebbe essere allineato al TTL, oggi si usa un timer di 30s Durante lo stato Timed_wait, la socket non può essere riutilizzata Implementazioni BSD prevedono che si passi da FIN_wait_2 a closed in 10 minuti se il server non invia nulla nel frattempo LIVELLO TRASPORTO IN INTERNET - 44 Gestione della connessione: server TCP State Transition Diagram Riinvia se scade T.O. ricevi ACK invia FIN last_ack close_wait closed Applicazione server crea socket listen ricevi SYN invia SYN & ACK SYN_rcvd Riinvia se scade T.O. (3s+backoff) CLOSED client PassiveOpen Close/ ActiveOpen/SYN LISTEN server SYN/SYN+ACK Send/SYN SYN/SYN+ACK SYN_RCVD server SYN_SENT client ACK/ SYN+ACK/ACK server ESTABLISHEDclient Close/FIN FIN/ACK Close/FIN FIN_WAIT_1 server CLOSE_WAIT client Close/ Esempiodi connessione iniziata dal client e chiusa prima dal server ricevi FIN, invia ACK (conn. client chiusa) established ricevi ACK FIN/ACK ACK/ FIN_WAIT_2 server CLOSING FIN+ACK/ACK ACK/ FIN/ACK TIME_WAIT server Close/FIN ACK/ LAST_ACK client timeout after 2 segment lifetimes LIVELLO TRASPORTO IN INTERNET - 45 LIVELLO TRASPORTO IN INTERNET - 46 TCP: controllo di congestione Inizialmente (<1988) era previsto che TCP avesse come unico controllo la finestra imposta dal RX Questa soluzione funziona se i due host sono sulla stessa LAN, ma se ho router intermedi e linee lente posso avere congestione Il risultato è una pesante riduzione del throughput delle connessioni TCP, costrette a frequenti ritrasmissioni LIVELLO TRASPORTO IN INTERNET - 47 Elementi del controllo di congestione Oltre alla finestra imposta dal RX (rwnd), il TX si autoimpone una congestion window (cwnd), regolata da 4 algoritmi Il TX può inviare fino a n segmenti TCP con n = min (rwnd, cwnd) Esiste una soglia (ssthresh) sulla dimensione della cwnd che ne determina la legge di variazione LIVELLO TRASPORTO IN INTERNET - 48 Pag. 8

9 Algoritmi di controllo di congestione 4 algoritmi di controllo, introdotti in fasi successive: SlowStart Congestion Avoidance Fast Retransmit Fast Recovery Slow Start e Congestion Avoidance La scelta dell algoritmo dipende dalle variabili ssthresh e cwnd: Slow start se ssthresh > cwnd Congestion Avoidance se ssthresh < cwnd se ssthresh = cwnd, si esegue, indifferentemente, l uno o l altro algoritmo Nota: la descrizione degli algoritmi assume che ogni pacchetto sia di dimensione pari a 1 MSS LIVELLO TRASPORTO IN INTERNET - 49 LIVELLO TRASPORTO IN INTERNET - 50 Algoritmo di Slow Start Algoritmo di Slow Start Principi La velocità di trasmissione di nuovi segmenti si adatta al rate di ricezione degli ACK Il TX prova la capacità della rete fino a perdere All inizio della connessione, si ha cwnd = 1 segmento (in realtà cwnd=mss) Ad ogni ACK ricevuto, cwnd = cwnd + 1 La crescita risultante è esponenziale RTT Host A Host B 1 segmento 2 segmenti 4 segmenti tempo LIVELLO TRASPORTO IN INTERNET - 51 LIVELLO TRASPORTO IN INTERNET - 52 Self-clocking Slow Start: Esempio di Traccia Pb P r TX RX A s A b A r I pacchetti si spaziano all interno di un RTT se attraverso colli di bottiglia LIVELLO TRASPORTO IN INTERNET - 53 LIVELLO TRASPORTO IN INTERNET - 54 Pag. 9

10 Algoritmo di Congestion Avoidance Principi interviene quando cwnd>ssthresh rallenta la crescita della cwnd Ad ogni ack ricevuto in sequenza cwnd = cwnd + 1/ cwnd oppure cwnd = cwnd + MSS*MSS/ cwnd (in byte) La crescita risultante è lineare cwnd cresce di 1 MSS per ogni RTT Congestion Avoidance Esempio di Traccia LIVELLO TRASPORTO IN INTERNET - 55 LIVELLO TRASPORTO IN INTERNET - 56 Se si perde un segmento vuol dire che il throughput del TX ha superato la banda disponibile Principi: Reset della finestra (cwnd=1) Recupero veloce della velocità perduta: (ssthresh=max(flightsize/2,2), dove FlightSize=min(cwdn,rwnd) Il TX ritrasmette il segmento mancante se non riceve l ACK relativo entro un timeout (RTO), poi riparte in slow start LIVELLO TRASPORTO IN INTERNET - 57 SLOW START CONGESTION AVOIDANCE Riepilogo 1) cwnd =1MSS ssthresh = finestra imposta dal ricevitore, rwnd 2) cwnd = cwnd + 1 ad ogni ack finché cwnd > ssthresh (goto 3) se ho un RTO: ssthresh =min(cwnd,rwnd)/2 cwnd = 1 goto 2) 3) cwnd = cwnd + 1/cwnd ad ogni ack se ho un RTO: ssthresh =min(cwnd,rwnd)/2 cwnd = 1 goto 2) LIVELLO TRASPORTO IN INTERNET - 58 Riepilogo Delayed ACK cwnd RTO congestion avoidance slow start ssthresh Tempo [RTT] Motivazioni Il ricevitore riduce la quantita` di ack da inviare (riduzione di traffico di controllo) Posso attendere che l applicazione crei dati in risposta ai dati ricevuti e sfruttare il piggybacking per inviare ack Il ricevitore puo` svuotare il buffer di ricezione e dichiarare finestre disponibili maggiori Svantaggi Altero il RTT (Round Trip Time) della connessione Modifico crescita finestra LIVELLO TRASPORTO IN INTERNET - 59 LIVELLO TRASPORTO IN INTERNET - 60 Pag. 10

11 Delayed ACK: RFC The delayed ACK algorithm specified in [Bra89] SHOULD be used by a TCP receiver. When used, a TCP receiver MUST NOT excessively delay acknowledgments. Specifically, an ACK SHOULD be generated for at least every second full-sized segment, and MUST be generated within 500 ms of the arrival of the first unacknowledged packet. Out-of-order data segments SHOULD be acknowledged immediately, in order to Delayed ack: algoritmo ACKinviati o ogni 2 segmenti ricevuti crescita della finestra a velocità dimezzata o dopo 200ms dalla ricezione di un singolo segmento Invio immediato dell ACK si ha solo per segmenti fuori sequenza: è ackato l ultimo segmento ricevuto in sequenza. Questo origina ACK duplicati accelerate loss recovery. LIVELLO TRASPORTO IN INTERNET - 61 LIVELLO TRASPORTO IN INTERNET - 62 TCP: generazione ACK [RFC 1122, RFC 2581] Eventi arrivo segmento in ordine, senza vuoti inviato ACK correttamente per tutti segmenti precedenti arrivo segmento in ordine, senza vuoti delayed ACK in attesa arrivo segmento fuori sequenza con numero maggiore di quello atteso vuoto rilevato arrivo di segmento che riempi vuoti prazialmente o completamente Azioni ricevitore TCP delayed ACK. Attendi fino a 200ms max per segmento successivo, altrimenti invia ACK invio immediato di ACK invia ACK duplicato, indicando come numero di sequenza il prossimo byte che si attende di ricevere ACK immediato se il segmento copre parte iniziale della finestra Fast Retransmit e Fast Recovery Ulteriore modifica all algoritmo di Congestion Avoidance proposta nel 1990 (RFC 2001, Stevens) Permette la ritrasmissione immediata di segmenti singoli andati perduti (Fast Retransmit) e per evitare di ritornare nella fase di Slow Start quando ad essere perso è un solo segmento (Fast Recovery) LIVELLO TRASPORTO IN INTERNET - 63 LIVELLO TRASPORTO IN INTERNET - 64 Fast Retransmit Fast Retransmit: Esempio di Traccia Osservo gli ack duplicati: se sono uno o due, può essere solo uno scambio di segmenti se sono tre o più è una forte indicazione di segmento perso Se vengono ricevuti tre ack duplicati, ritrasmetto il segmento mancante senza aspettare la scadenza del timeout (Fast Retransmit). Gruppo Reti - Politecnico di Torino LIVELLO TRASPORTO IN INTERNET - 65 LIVELLO TRASPORTO IN INTERNET - 66 Pag. 11

12 Fast Recovery Eseguo congestion avoidance e non slow start Quando ricevo il 3 ack duplicato consecutivo: ssthresh = min(cwnd,rwnd)/2 ritrasmetto il segmento mancante cwnd=ssthresh+3 Ad ogni ack duplicato successivo: cwnd=cwnd+1 (crescita alla Slow Start) abilita la trasmissione anche durante il F.R. Fast Recovery Quando arriva un ack che conferma (anche in modo implicito) il segmento mancante: cwnd=ssthresh cwnd=cwnd+1/cwnd per ogni ack in sequenza (crescita alla Congestion Avoidance) LIVELLO TRASPORTO IN INTERNET - 67 LIVELLO TRASPORTO IN INTERNET - 68 Fast Recovery: esempio di traccia Riepilogo 20 3 dupack congestion avoidance cwnd ssthresh 5 slow start tempo [RTT] LIVELLO TRASPORTO IN INTERNET - 69 LIVELLO TRASPORTO IN INTERNET - 70 cwnd dupack Riepilogo congestion avoidance slow start tempo [RTT] Guadagno rispetto a SS + CA ssthresh LIVELLO TRASPORTO IN INTERNET - 71 Equità di TCP L algoritmo di controllo della congestione TCP è di tipo AIMD (additive increase, multiplicative decrease) la finestra cresce di 1 MSS per RTT la finestra decresce di un fattore 2 a fronte di perdita di segmenti Fairness: se N connessioni TCP condividono un canale collo di bottiglia, ciascuna dovrebbe ottenere 1/N della capacità del canale (a pari RTT) LIVELLO TRASPORTO IN INTERNET - 72 Pag. 12

13 R Throughput connessione 2 Perché AIMD è equo Due connessioni TCP che competono AI, throughput pendenza unitaria MD decrescita proporzionale Condivisione equa della banda Throughput connessione 1 perdita: finestra scende di fattore 2 congestion avoidance: crescita additiva perdita: finestra scende di fattore 2 congestion avoidance: crescita additiva R LIVELLO TRASPORTO IN INTERNET - 73 Determinazione del timeout Il valore del timeout è essenziale per un buon funzionamento di TCP Non può essere inferiore a 200ms (delayed ack e granularità del clock del trasmettitore È funzione del round-trip time della connessione, che varia al variare del traffico e della congestione di rete Occorre quindi una stima del round-trip time per determinare il timeout da impostare LIVELLO TRASPORTO IN INTERNET - 74 Determinazione del timeout Per ogni segmento calcolo la differenza di tempo M trailsuoinvioelarxdiunack riferito al pacchetto RTT istantaneo La stima del round-trip time (RTT) viene mediatadauncoefficienteα: RTT=α*RTT+(1-α)*M (α=0.1) Il timeout (RTO) viene calcolato come: RTO= β *RTT (β >1) Determinazione del timeout Nota implementativa (Unix BSD): Un segmento è considerato perso se trascorre un tempo pari a RTO dalla ricezione dell ultimo ACK Solo in caso di ritrasmissione o di invio di pacchetti isolati, viene misurato l RTO a partire dall istante di trasmissione del pacchetto LIVELLO TRASPORTO IN INTERNET - 75 LIVELLO TRASPORTO IN INTERNET - 76 Problemi nella stima del RTT Segmento ritrasmesso e perso più volte: quando stimo RTT? Problemi nella stima del RTT Segmento ritrasmesso e perso più volte: quando stimo RTT? Stima RTT T.O. T.O. X X Stima di RTT rischia di crescere a dismisura se associo ack alla trasmissione originaria! Stima RTT T.O. Stima di RTT troppo bassa rispetto allo stato di congestione della rete se associo ack alla ri-trasmissione! LIVELLO TRASPORTO IN INTERNET - 77 LIVELLO TRASPORTO IN INTERNET - 78 Pag. 13

14 Backoff esponenziale sul timeout Campioni relativi a segmenti ritrasmessi danno stima inaccurata Si usa algoritmo di Karn: non ricalcolo l RTT finché non ricevo un ack di un segmento non ritrasmesso (non basta perché se aumenta RTT si va sempre in timeout ovvero in ritrasmissione e non si ricalcola mai RTT) aumento RTO con backoff esponenziale perché la stima del RTT non è affidabile Problemi nella stima del RTT Varianza del ritardo può causare fluttuazioni della stima del RTT uso formule più complesse per la stima del RTT, che tengono conto dell errore medio nella stima (es: timeout=media+4*dev_standard) Gruppo Reti - Politecnico di Torino LIVELLO TRASPORTO IN INTERNET - 79 Gruppo Reti - Politecnico di Torino LIVELLO TRASPORTO IN INTERNET - 80 Jacobson/Karels Algorithm Nuova versione per la stima del RTT Diff = SampleRTT - EstimatedRTT EstimatedRTT = EstimatedRTT + (δ Diff) Deviation = Deviation + δ( Diff - Deviation) dove δ èunnumerocompresotra0e1 Si considera la varianza quando si calcola il TimeOut TimeOut=µ EstimatedRTT + φ Deviation dove µ = 1 and φ =4 Note su stima RTT L algoritmo di stima è valido, ma sempre limitato dalla granularità del timer (10ms su moderni Unix, ms su sistemi più vecchi) Il RTT può essere comparabile (RTT= ms per connessioni internazionali) L accuratezza della stima del RTT è fondamentale per il controllo di congestione (evita ritrasmissioni inutili) LIVELLO TRASPORTO IN INTERNET - 81 LIVELLO TRASPORTO IN INTERNET - 82 Problema sul timeout Valore iniziale? Mancando stima del RTT, scelgo valore grande per essere conservativo timeout inziale pari ad 1.5s Connessioni TCP soffrono molto la perdita del primo segmento Opzione Timestamp Utilizzata per migliorare la stima del RTT Quando si manda un pacchetto, si inserisce anche un timestamp nelle opzioni TCP Il ricevitore manda in echo il timestamp ricevuto Evita i problemi dell algoritmo di Karn LIVELLO TRASPORTO IN INTERNET - 83 LIVELLO TRASPORTO IN INTERNET - 84 Pag. 14

15 Silly Window Syndrome Problema di overhead elevato con ricevitori lenti oppure trasmettitori che inviano piccoli blocchi di dati alla volta Se il buffer del RX si riempie, il RX accetta blocchi di dati sempre più esigui, forzando dimensioni ridotte della finestra disponibile in ricezione Il TX invia tinygrams se applicazione genera pochi dati (es. sessione telnet) LIVELLO TRASPORTO IN INTERNET - 85 Dinamica di connessioni TCP Se applicazione che utilizza TCP è telnet, quando si ha pressione tasto su terminale ogni tasto premuto genera un segmento TCP in un datagram IP dedicato (20B+20B+1B=41B). In realtà, se non c è echo locale, i segmenti sono 4: tasto + ack + echo + ack Si puo usare piggybacking del primo ack su segmento di echo, risparmiando l invio di un segmento TCP (delayed ack puo aiutare) LIVELLO TRASPORTO IN INTERNET - 86 Silly Window Syndrome avoidance Dal lato ricevitore: comunico la nuova finestra di RX solo quando questa è pari a 1 MSS oppure a metà del buffer di RX delayed acknowledgment Dal lato trasmettitore: algoritmo di Nagle Algoritmo di Nagle (RFC 896) All apertura della connessione si inviano i dati presenti nel buffer di trasmissione Poi si attende di avere una quantita` di dati pari almeno ad 1 MSS oppure di ricevere un ack Un host non avra` in rete mai più di un segmento tinygram senza ack LIVELLO TRASPORTO IN INTERNET - 87 LIVELLO TRASPORTO IN INTERNET - 88 Algoritmo di Nagle Riepilogo Per una applicazione telnet, i caratteri successivi sono raccolti in un unico segmento, inviato dopo l ack Questa procedura riduce il numero tinygrams in rete ed si regola sulla congestione di rete: più veloci tornano gli ack (congestione bassa) e più segmenti si trasmettono in rete non penalizza connessioni ftp, smtp o http cwnd dupack congestion avoidance slow start tempo [RTT] ssthresh LIVELLO TRASPORTO IN INTERNET - 89 LIVELLO TRASPORTO IN INTERNET - 90 Pag. 15

16 Riepilogo Versioni di TCP cwnd dupack congestion avoidance slow start Guadagno rispetto a SS + CA ssthresh Tahoe, Reno, NewReno, SACK TCP Tahoe (Nato con 4.3BSD Unix) Implementazione originale dall articolo di Van Jacobson (VJ paper) Include: Slowstart Congestion avoidance Fast retransmit tempo [RTT] LIVELLO TRASPORTO IN INTERNET - 91 LIVELLO TRASPORTO IN INTERNET - 92 TCP Reno 1990: include: Tutti i meccanismi di Tahoe Aggiunge il supporto per il fast-recovery Delayed acks Header prediction LIVELLO TRASPORTO IN INTERNET - 93 TCP NewReno RFC Risolve problema (bug?) di TCP-Reno con perdite multiple per finestra di dati Considera esplicitamente ACK parziali durante un Fast Recovery come segnale di perdita di un ulteriore segmento e lo ritrasmette immediatamente Richiede una variabile in più: recovery Quando riceve ACK >recovery dichiara terminato il Fast Recovery LIVELLO TRASPORTO IN INTERNET - 94 TCP NewReno Quando ricevo il 3 ack duplicato consecutivo: ssthresh = min(cwnd,rwnd)/2 Recovery=highest sequence number transmitted ritrasmetto il segmento mancante cwnd=ssthresh+3 Ad ogni ack duplicato successivo: cwnd=cwnd+1 Trasmetti nuovi dati se possibile Domanda: quando resetto il timer? LIVELLO TRASPORTO IN INTERNET - 95 TCP NewReno Quando arriva un ack confermante il segmento mancante: Domanda: quando resetto il timer? Se ack > recovery cwnd=ssthresh Fine della procedura di Fast Recovery Altrimenti (ack parziale) Stringi la finestra di una quantità pari ai dati confermati cwnd=cwnd+1 Trasmetti nuovi segmenti se permesso dalla cwnd LIVELLO TRASPORTO IN INTERNET - 96 Pag. 16

17 TCP SACK TCP SACK RFC Introduce Selective Acknoledge in Ack duplicati Deve essere negoziato da trasmettitore e ricevitore Usa campo Options dell intestazione per trasmettere SACK Recentemente esteso in RFC Permette la ritrasmissione di più di un Kind=5 Length Left Edge of 1st Block Right Edge of 1st Block /... / Left Edge of nth Block Right Edge of nth Block Un blocco rappresenta una sequenza continua di dati ricevuti e memorizzati al ricevitore Il ricevitore trasmette sequenze SACK solo quando ha dati fuori sequenza Può essere usato per indicare segmenti segmento per RTT LIVELLO TRASPORTO IN INTERNET - 97 LIVELLO TRASPORTO IN INTERNET - 98 duplicati Pag. 17

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 Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

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

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

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

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

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

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

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 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello

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

Controllo di congestione

Controllo di congestione Controllo di congestione CONGESTIONE - troppi pacchetti persi (buffer overflow ai router) - lunghi ritardi (lunghe code nei router) La congestione avviene quando il numero di pacchetti trasmessi (immessi

Dettagli

Introduzione (parte III)

Introduzione (parte III) Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto

Dettagli

Strato di Trasporto Multiplazione a livello di trasporto

Strato di Trasporto Multiplazione a livello di trasporto Strato di Trasporto Multiplazione a livello di trasporto 1 Multiplexing/demultiplexing Demultiplexing nell host ricevente: consegnare i segmenti ricevuti alla socket appropriata Multiplexing nell host

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto Livello Trasporto Fornire un trasporto affidabile ed efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata Gestisce una conversazione diretta fra sorgente e destinazione

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

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35. Livello trasporto: TCP / UDP Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35 TCP e UDP Internet Protocol (IP) fornisce un servizio non affidabile di trasmissione

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

Livello di trasporto: TCP Livello di trasporto: TCP Prof.ssa Gaia Maselli maselli@di.uniroma1.it Parte di queste slide sono state prese dal materiale associato ai libri: 1) B.A. Forouzan, F. Mosharraf Reti di calcolatori. Un approccio

Dettagli

Esercitazione. Livello di Trasporto [Capitolo 3]

Esercitazione. Livello di Trasporto [Capitolo 3] Esercitazione Livello di Trasporto [Capitolo 3] 1 È possibile che un'applicazione che gira su UDP ottenga un trasferimento dati affidabile? Si. Lo sviluppatore dell'applicazione può inserire il trasferimento

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici 4 - Il livello di trasporto Architetture e Protocolli per Internet 1 Servizio di trasporto il livello di trasporto

Dettagli

Controllo di congestione

Controllo di congestione Controllo di congestione 1 Timeout 2 D: come fissare un valore per il timeout in TCP? troppo corto: timeout prematuri, ritrasmissioni non necessarie troppo lungo: reazione lenta a perdite di segmenti ancora

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

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

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

Reti di Calcolatori. IL LIVELLO TRASPORTO Protocolli TCP e UDP

Reti di Calcolatori. IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP CP e UDP: il livello trasporto dell'architettura CP/IP Antonio Lioy < lioy@polito.it > 7 6 5 4 3 network OSI vs. CP/IP packet process (DNS, HP, SMP, ) (CP, UDP) network (IP) Politecnico di orino Dip. Automatica

Dettagli

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

Capitolo 3 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Capitolo 3 - parte 4 Corso Reti ed Applicazioni Mauro Campanella TCP Dalla prima RFC ad oggi, sono state introdotti in TCP vari meccanismi per: - rendere più efficente il trasferimento dei segmenti - rendere

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

Avoidance, Fast Retransmit, And Fast Recovery

Avoidance, Fast Retransmit, And Fast Recovery Università degli Studi di Modena e Reggio Emilia Dipartimento di Ingegneria dell Informazione TCP: Algoritmi di Slow Start, Congestion Avoidance, Fast Retransmit, And Fast Recovery rfc 2001 M.L. Merani

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 protocollo TCP I lucidi presentati al corso

Dettagli

RETI DI CALCOLATORI. TCP e UDP: Il Livello di Trasporto Internet

RETI DI CALCOLATORI. TCP e UDP: Il Livello di Trasporto Internet Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI RETI DI CALCOLATORI TCP e UDP: Il Livello di Trasporto Internet Prof. Franco Zambonelli (lucidi realizzati con il contributo

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

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

Analisi dell avvio del TCP su canali satellitari a larga banda

Analisi dell avvio del TCP su canali satellitari a larga banda Università degli Studi di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Tecnologie Informatiche Tesi di Laurea Analisi dell avvio del TCP su canali satellitari

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

Parte II: Reti di calcolatori Lezione 12

Parte II: Reti di calcolatori Lezione 12 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 12 Giovedì 10-04-2014 1 Struttura del segmento

Dettagli

Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1

Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1 Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1 Argomenti Introduzione a Internet ARPANET, NSFNET, Struttura di base di Internet Architettura protocollare di Internet Pila protocollare, Protocollo

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

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette.

Dettagli

Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP

Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da

Dettagli

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

Parte II: Reti di calcolatori Lezione 13

Parte II: Reti di calcolatori Lezione 13 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 Martedì 15-04-2014 1 Instaurazione della

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

Configurazione delle interfacce di rete

Configurazione delle interfacce di rete Configurazione delle interfacce di rete A.A. 2006/2007 Alessandro Botticelli Instradamento dei datagrammi IP Routing : scelta del percorso su cui inviare i dati i router formano struttura interconnessa

Dettagli

Livello trasporto. Servizi del livello trasporto

Livello trasporto. Servizi del livello trasporto ivello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile Trasporto orientato alla connessione: TCP Struttura del segmento Trasferimento

Dettagli

agenda Transport Layer in Internet protocolli TCP / UDP Scopi TCP - UDP Francesco Dalla Libera

agenda Transport Layer in Internet protocolli TCP / UDP Scopi TCP - UDP Francesco Dalla Libera agenda Transport Layer in Internet protocolli TCP / UDP Francesco Dalla Libera! parte prima " Protocolli UDP/TCP, macchina a stati finiti per gestione connessione! parte seconda " politiche di trasmissione

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Il livello di Trasporto del TCP/IP

Il livello di Trasporto del TCP/IP Il livello di Trasporto del TCP/IP Il compito del livello transport (livello 4) è di fornire un trasporto efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata.

Dettagli

TCP (1) Protocollo TCP Gestione connessione

TCP (1) Protocollo TCP Gestione connessione TCP (1) Protocollo TCP Gestione connessione agenda Parte prima Protocollo UDP Parte seconda Protocollo TCP, macchina a stati finiti per gestione connessione Parte terza politiche di trasmissione e di controllo

Dettagli

Capitolo 3 Livello di trasporto

Capitolo 3 Livello di trasporto Capitolo 3 Livello di trasporto Nota per l utilizzo: Abbiamo preparato queste slide con l intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo

Dettagli

Capitolo 10 Lo Strato di Trasporto in Internet

Capitolo 10 Lo Strato di Trasporto in Internet Capitolo 10 Lo Strato di Trasporto in Internet 1 Sommario del capitolo Modelli di servizio per lo Strato di Trasporto Funzioni svolte dallo Strato di Trasporto: i. Rivelazione di errore ii. Multiplazione

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Protocolli di trasporto in Internet: TCP e UDP

Protocolli di trasporto in Internet: TCP e UDP Sommario Protocolli di trasporto in Internet: TCP e UDP Protocolli di trasporto su rete IP User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Network Address Translator (NAT) Luca Veltri

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

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II Prof. Giuseppe F. Rossi E-mail: giuseppe.rossi@unipv.it Homepage: http://www.unipv.it/retical/home.html UNIVERSITA' DEGLI STUDI DI PAVIA Facoltà di Ingegneria A.A. 2011/12 - I Semestre - Sede PV RETI TELEMATICHE

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

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

Concetti fondamentali delle reti

Concetti fondamentali delle reti Concetti fondamentali delle reti Damiano Carra, Davide Quaglia Anno Accademico 2014/2015 Università degli Studi di Verona Dipartimento di Informatica Stack OSI......e Stack TCP/ 7 - Applicazione Applicaz.:

Dettagli

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali

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

Strato trasporto. Per capir meglio la cosa analizziamo il seguente esempio:

Strato trasporto. Per capir meglio la cosa analizziamo il seguente esempio: Reti Mod 2 Strato trasporto Lo strato trasporto si colloca al livello 4 della pila ISO-OSI. Ha la funzione di stabilire un collegamento logico tra le applicazioni dei diversi host collegati tra di loro.

Dettagli

Fondamenti di Internet e Reti

Fondamenti di Internet e Reti Fondamenti di Internet e Reti 09746 sul Livello di Trasporto o Si consideri un canale via satellite della capacità di [Mb/s]. Considerando che il tempo di propagazione attraverso un satellite geostazionario

Dettagli

Prova in itinere 5 Maggio 2016

Prova in itinere 5 Maggio 2016 Fondamenti di Internet e Reti Proff. A. Capone, M. Cesana, I. Filippini, G. Maier Cognome Nome Matricola Prova in itinere 5 Maggio 2016 Tempo complessivo a disposizione per lo svolgimento: 1h45m Usare

Dettagli

Prova completa - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

Prova completa - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007 Prova completa - 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: Corso di laurea

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

Reti locali. Protocolli di accesso per reti locali

Reti locali. Protocolli di accesso per reti locali Protocolli di accesso per reti locali Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ PROTOCOLLI DI ACCESSO PER RETI LOCALI - 1 Caratteristiche reti locali Piccola estensione geografica

Dettagli

Il protocollo IP (Internet Protocol)

Il protocollo IP (Internet Protocol) Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) -Servizi offerti da IP -Formato del pacchetto IP 1 Il servizio di comunicazione offerto da IP Connectionless

Dettagli

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

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

Dettagli

autonomous system: un insieme di host e router, che appartengono a una o più sottoreti, sotto la stessa autorità amministrativa.

autonomous system: un insieme di host e router, che appartengono a una o più sottoreti, sotto la stessa autorità amministrativa. 10 La rete Internet 10.1 Introduzione 10.1.1 Cos è Internet? La rete Internet è una rete di telecomunicazioni a pacchetto, con topologia a maglia irregolare, che permette l interconnessione a livello mondiale

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

CRITERI DI VALUTAZIONE DEL PROTOCOLLO TCP

CRITERI DI VALUTAZIONE DEL PROTOCOLLO TCP ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA SCUOLA DI SCIENZE Corso di Laurea in Informatica CRITERI DI VALUTAZIONE DEL PROTOCOLLO TCP Relatore: Prof. Vittorio Ghini Presentata da: Gessica Pazzaglia Sessione

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2

Dettagli

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Modulo 11. Il livello trasporto ed il protocollo TCP Indice Pagina 1 di 14 Il livello trasporto ed il protocollo TCP Indice servizi del livello trasporto multiplexing/demultiplexing trasporto senza connesione: UDP principi del trasferimento dati affidabile trasporto

Dettagli

Livello 4 (trasporto): cosa vedremo

Livello 4 (trasporto): cosa vedremo Il livello Trasporto Livello 4 (trasporto): cosa vedremo Servizi di livello trasporto multiplexing/demultiplexing Protocollo non orientato alla connessione: UDP Principi di trasferimento end-to-end affidabile

Dettagli

Rete: classificazione in funzione della distanza fra due generici elementi

Rete: classificazione in funzione della distanza fra due generici elementi Rete: classificazione in funzione della distanza fra due generici elementi WAN: Wide Area Network MAN: Metropolitan Area Network LAN: Local Area Network 1 Distanza - velocità 2 WAN Topologia tipica a maglia

Dettagli

II prova in itinere - Rete Internet (ing. Giovanni Neglia)

II prova in itinere - Rete Internet (ing. Giovanni Neglia) II prova in itinere - Rete Internet (ing. Giovanni Neglia) Sabato 9 giugno 2007, ore 9.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Prestazioni stop-and-wait. Prestazioni

Prestazioni stop-and-wait. Prestazioni Prestazioni stop-and-wait first packet bit transmitted, t = 0 sender receiver last packet bit transmitted, t = L / R RTT first packet bit arrives last packet bit arrives, send ACK ACK arrives, send next

Dettagli

Internet Protocol Versione 4: aspetti generali

Internet Protocol Versione 4: aspetti generali Internet Protocol Versione 4: aspetti generali L architettura di base del protocollo IP versione 4 e una panoramica sulle regole fondamentali del mondo TCP/IP 1 Cenni storici Introduzione della tecnologia

Dettagli

Modulo 11 Livelli Transport e Application del modello TCP/IP

Modulo 11 Livelli Transport e Application del modello TCP/IP Modulo 11 Livelli Transport e Application del modello TCP/IP 11.1 TCP/IP Transport Layer 11.1.1 Introduzione al transport layer Lo scopo primario del livello transport, livello 4 del modello OSI, è di

Dettagli