Reti di Calcolatori:



Documenti analoghi
Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

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

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

Controllo della congestione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

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

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) Lunedì 24 Gennaio 2005, ore 15.00

DA SA Type Data (IP, ARP, etc.) Padding FCS

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, 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) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Gestione della Connessione in TCP

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

Reti di Calcolatori:

Strato di Trasporto Multiplazione a livello di trasporto

Avoidance, Fast Retransmit, And Fast Recovery

Corsi di Reti di Calcolatori (Docente Luca Becchetti)

Internetworking TCP/IP: esercizi

Programmazione in Rete

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Esercizi su: Ritardi di trasferimento Commutazione Sorgenti di Traffico

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

Reti di Calcolatori. Il software

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

Reti di Telecomunicazione Lezione 8

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

Il livello trasporto Protocolli TCP e UDP

CRITERI DI VALUTAZIONE DEL PROTOCOLLO TCP

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

Strato di Trasporto Romeo Giuliano 1

Introduzione (parte III)

Capitolo 3 Livello di trasporto

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

Servizi orientati alla connessione

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Livello di trasporto: meccanismi trasferimento dati affidabile

IP Internet Protocol

ESERCIZI DI COMUNICAZIONE

Il protocollo TCP. Obiettivo. Procedura

ARCHITETTURA DI RETE FOLEGNANI ANDREA

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

Reti di Telecomunicazione Lezione 6

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

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

Principi fondamentali

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Lunedì 20 Febbraio 2006

Introduzione alle Reti Telematiche

Lo scenario: la definizione di Internet

Parte II: Reti di calcolatori Lezione 24

Reti di Calcolatori:

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

Reti di Calcolatori:

Programmazione in Rete

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

Soluzioni verifica parte 4

4 - Il livello di trasporto

Controllo di congestione

Informatica per la comunicazione" - lezione 8 -

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


9 Febbraio 2015 Modulo 2

Reti di Comunicazione e Internet

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

MODELLI ISO/OSI e TCP/IP

Livelli di un protocollo

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Reti di Calcolatori:

Programmazione in Rete

Transmission Control Protocol (TCP) Andrea Detti

Transcript:

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ì ore 10-12

Sommario della lezione di oggi: Lo strato di trasporto (3/3) Servizi e protocolli dello strato di trasporto Multiplazione e demultiplazione delle applicazioni Trasporto senza connessione: UDP Trasporto con connessione: TCP Il controllo della congestione nel TCP dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 2

Principi di controllo della congestione Congestione: informalmente: troppe risorse che inviano troppi dati troppo velocemente rispetto alle capacità di manipolazione della rete diversa dal controllo di flusso! sintomi: pacchetti persi (buffer overflow nei router) lunghi ritardi (accodamento nei buffer dei router) uno fra i primi 10 problemi + importanti nelle reti! Throughput: velocità di arrivo byte a destinazione dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 3

Approcci al controllo della congestione End-end: nessun esplicito feedback dalla rete congestione inferita da perdita o ritardo osservata da terminale approccio seguito da TCP Network-assisted: i router forniscono feedback ai terminali bit singolo che indica congestione (SNA, DECbit, TCP/IP ECN, ATM) velocità esplicita a cui il mittente dovrebbe inviare dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 4

Controllo della congestione del TCP La finestra di congestione (variabile CongWin) impone un ulteriore limite sul ritmo di invio al mittente: LastByteSent-LastByteAck <= min{congwin,rcvwin} min{congwin, RcvWin} Supponendo CongWin = w, in cui ciascuno dei w segmenti consta di MSS byte inviati in un unico RTT: throughput = w * MSS RTT Bytes/sec dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 5

principi di base Idealmente il mittente trasmette il più veloce possibile (CongWin il più grande possibile) senza perdite In realtà il mittente trasmette con velocità variabile: incrementa CongWin fino a causare perdite (congestione) quando si verifica un evento di perdita, decrementa CongWin torna ad incrementare CongWin, etc. due fasi partenza lenta prevenzione della congestione variabili importanti: CongWin: definisce la grandezza in segmenti della finestra di congestione threshold: definisce la soglia fra fase di partenza lenta e fase di controllo della congestione dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 6

Incremento additivo/decremento moltiplicativo Decremento moltiplicativo: riduce a metà CongWin dopo un evento di perdita Incremento additivo: aumenta CongWin di 1 MSS a ogni RTT in assenza di eventi di perdita: sondaggio Finestra di congestione 24 Kbyte 16 Kbyte 8 Kbyte tempo Controllo di congestione AIMD dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 7

partenza lenta algoritmo initialize: CongWin = 1 for (each segment ACKed) CongWin++ until (loss event OR CongWin > threshold) RTT Host A Host B one segment two segments four segments Crescita esponenziale (per RTT) nella grandezza della finestra (non così lento!) evento di perdita: timeout (TCP Tahoe) e/o tre ACK duplicati (TCP Reno) time dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 8

prevenzione della congestione algoritmo /* slowstart is over */ /* CongWin > threshold */ Until (loss event) { every w segments ACKed: CongWin++ } threshold = CongWin/2 CongWin = 1 1 perform slowstart 1: TCP Reno salta lo slowstart (recupero veloce) dopo tre ACK duplicati dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 9

riassumendo Quando CongWin è sotto la soglia (Threshold), il mittente è nella fase di partenza lenta; la finestra cresce in modo esponenziale. Quando CongWin è sopra la soglia, il mittente è nella fase di congestion avoidance; la finestra cresce in modo lineare. Quando si verificano tre ACK duplicati, il valore di Threshold viene impostato a CongWin/2 e CongWin viene impostata al valore di Threshold. Quando si verifica un timeout, il valore di Threshold viene impostato a CongWin/2 e CongWin è impostata a 1 MSS. dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 10

eventi/azioni sul lato mittente Stato Evento Azione del mittente TCP Commenti Slow Start (SS) Congestion Avoidance (CA) SS o CA Ricezione di ACK per dati precedentemente non riscontrati Ricezione di ACK per dati precedentemente non riscontrati Rilevato un evento di perdita da tre ACK duplicati CongWin = CongWin + MSS, If (CongWin > Threshold) imposta lo stato a Congestion Avoidance CongWin = CongWin + MSS * (MSS/CongWin) Threshold = CongWin/2, CongWin = Threshold, imposta lo stato a Congestion Avoidance CongWin raddoppia a ogni RTT Incremento additivo: CongWin aumenta di 1 MSS a ogni RTT Ripristino rapido con il decremento moltiplicativo. CongWin non sarà mai minore di 1 MSS SS o CA Timeout Threshold = CongWin/2, CongWin = 1 MSS, imposta lo stato a Slow Start Entra nello stato Slow Start SS o CA ACK duplicato Incrementa il conteggio degli ACK duplicati per il segmento in corso di riscontro CongWin e Threshold non variano dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 11

equità Definizione: se K sessioni TCP condividono lo stesso collegamento con ampiezza di banda R, che è un collo di bottiglia per il sistema, ogni sessione dovrà avere una frequenza trasmissiva media pari a R/K. Connessione TCP 1 Connessione TCP 2 Capacità del router R, il collo di bottiglia dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 12

equità (cont.) Due connessioni TCP che condividono link di capacità R R equal bandwidth share Connection 2 throughput Connection 1 throughput loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 13 R

modellazione della latenza D: Quanto tempo occorre per ricevere un oggetto da un server WWW dopo avere inviato la richiesta? Ignorando la congestione, il ritardo è influenzato da: Inizializzazione della connessione TCP Ritardo nella trasmissione dei dati Partenza lenta Notazioni, ipotesi: Unico link tra client e server con velocità R bit/sec MSS = S bit Oggetto di dimensione O bit nessuna ritrasmissione (nessuna perdita né alterazione) Dimensione della finestra: Prima supponiamo che la finestra di congestione sia statica: W segmenti Poi supponiamo che la finestra di congestione sia dinamica, per modellare la partenza lenta dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 14

modellazione della latenza (cont.) Finestra di congestione statica (I caso): WS/R > RTT + S/R: il server riceve un ACK per il primo segmento nella finestra prima di completare la trasmissione della finestra latenza = 2RTT + O/R dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 15

modellazione della latenza (cont.) Finestra di congestione statica (II caso): WS/R < RTT + S/R: il server trasmette tanti segmenti quanti ne consente la dimensione della finestra prima che il server riceva un riscontro per il primo segmento nella finestra latenza = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 16

modellazione della latenza (cont.) Finestra di congestione dinamica Supponiamo che la finestra cresca secondo la partenza lenta Dimostreremo che il ritardo per un oggetto è: Latenza Latency = O S P 2RTT + + P RTT (2 1) R + R S R dove P è il numero di volte in cui il server entra in stallo: P = min{q, K 1} - dove Q è il numero di volte in cui il server andrebbe in stallo se l oggetto contenesse un numero infinito di segmenti. - e K è il numero di finestre che coprono l oggetto. dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 17

modellazione della latenza (cont.) Componenti della latenza: 2 RTT per inizializzare la connessione ed inviare la richiesta O/R per trasmettere l oggetto periodo di stallo del server a causa della partenza lenta Stalli del server: P = min{k-1,q} volte Esempio: O/S = 15 segmenti K = 4 finestre Q = 2 P = min{k-1,q} = 2 dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 18

modellazione della latenza HTTP Supponiamo che la pagina web sia formata da: 1 pagina HTML di base (di dimensione O bit) M immagini (ciascuna di dimensione O bit) HTTP non persistente: M+1 connessioni TCP in serie Tempo di risposta = (M+1)O/R + (M+1)2RTT + somma degli stalli HTTP persistente: 2 RTT per la richiesta e per ricevere il file HTML di base 1 RTT per la richiesta e per ricevere M immagini Tempo di risposta = (M+1)O/R + 3RTT + somma degli stalli HTTP non persistente con X connessioni in parallelo Supponiamo M/X intero Una connessione TCP per il file di base M/X gruppi di connessioni parallele per le immagini Tempo di risposta = (M+1)O/R + (M/X + 1)2RTT + somma degli stalli dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 19

Tempo di risposta HTTP (in secondi) RTT = 100 msec, O = 5 Kbyte, M = 10 e X = 5 20 18 16 14 12 10 8 6 4 2 0 28 Kbps 100 Kbps 1 Mbps 10 Mbps non-persistente persistente non-persistente in parallelo Se l ampiezza di banda è limitata, la connessione e il tempo di risposta sono dominati dal tempo di trasmissione. Le connessioni persistenti apportano soltanto un modesto miglioramento sulle connessioni parallele. dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 20

Tempo di risposta HTTP (in secondi) RTT = 1 sec, O = 5 Kbyte, M = 10 e X = 5 70 60 50 non-persistente 40 30 20 10 persistente non-persistente in parallelo 0 28 Kbps 100 Kbps 1 Mbps 10 Mbps Per RTT più grandi, il tempo di risposta è dominato dalla inizializzazione della connessione TCP e dai ritardi per partenze lente. Le connessioni persistenti adesso apportano un miglioramento significativo: in particolare nelle reti con un valore elevato del prodotto ritardo ampiezzadibanda. dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 21

Sommario dello strato di trasporto Principi sottostanti i servizi dello strato di trasporto: multiplexing/demultiplexing Trasferimento affidabile dei dati Controllo di flusso Controllo di congestione istanziazione ed implementazione in Internet UDP TCP Prossima volta: lasceremo la soglia della rete (strati applicazione/trasporto) entreremo nel cuore della rete (strato di rete) dott.ssa F. A. Lisi Reti di Calcolatori Livello di trasporto (3/3) 22