Controllo della congestione

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

Livello di trasporto: TCP

Parte II: Reti di calcolatori Lezione 14 (38)

Controllo di congestione

Reti di Calcolatori:

Transmission Control Protocol: TCP

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

Implementazioni tipiche del protocollo TCP

Controllo di congestione

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

Controllo di congestione

Livello di trasporto: TCP, controllo flusso, controllo congestione

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

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

Valutazione del TCP con NS2. Gaia Maselli

Parte II: Reti di calcolatori Lezione 13

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo

Controllo di flusso in TCP

Reti di Comunicazione e Internet

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

Homework assignment TCP. Maurizio Bonuccelli. Dipartimento di Informatica Università di Pisa

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

Avoidance, Fast Retransmit, And Fast Recovery

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

RETI DI CALCOLATORI Home Assignment protocollo TCP. Prima parte

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

- 5 - Controllo a finestra

Livello di trasporto e TSAP

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

Protocollo TCP. politiche di trasmissione e di controllo della congestione

TCP over wireless Sistemi Wireless, a.a 2011/2012

Livello trasporto in Internet

1. Supponendo che il canale trasmissivo sia esente da errori, si determini il throughput di S1.

Gestione della Connessione in TCP

Telematica di Base. IL Livello di Trasporto TCP

Meccanismi di incremento della finestra

Livello trasporto in Internet

Livello trasporto in Internet

Livello trasporto in Internet

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

Il livello di trasporto

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

Transmission Control Protocol (TCP) Andrea Detti

Gestione delle connessioni TCP

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

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

CW = 3MSS Base = Y Next = Y + 3MSS

Reti di Telecomunicazioni 1

Strato di Trasporto Multiplazione a livello di trasporto

Mettiamo i puntini sulle i. 5 min. per pensare 5 min. per discutere la soluzione

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

Politecnico di Milano Advanced Network Technologies Laboratory. Esercizi sul TCP

Livello trasporto in Internet

TCP: generalità RFCs: 793, 1122, 1323, 2018, 2581

RTT costante pari a 0.5 secondi; primo RTO= 2*RTT;

Livello di Trasporto

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

TCP: Panoramica RFC: 793, 1122, 1323, 2018, 2581

Fondamenti di Internet e Reti

Esercizi: Telecomunicazioni parte Reti

Reti di Calcolatori in Tecnologia IP

Reti di telecomunicazioni LS Guida agli esercizi TCP con NSCRIPT

Prova in itinere 5 Maggio 2016

4 - Il livello di trasporto

Nome e Cognome : Anno di corso Numero di matricola : Como, 7 maggio Quiz a risposta multipla

Esercitazioni Reti di Calcolatori

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

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete

ESERCIZIARIO. Risposte ai quesiti:

Reti e Protocolli rassegna (II)

Capitolo 3 Livello di trasporto

26 Febbraio 2015 Modulo 2

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

URG: dati urgenti (solitam. non usato) ACK: ACK # valido PSH: push data now (solitam. non usato)

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

Reti di Telecomunicazione

Esercitazione. Livello di Trasporto [Capitolo 3]

Reti di Calcolatori. Livello Data Link. Il livello di trasporto. 7 - Applicazione. Applicaz.: HTTP, Presentazione

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

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

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

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Livello Trasporto Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP

- 7 - Tecniche di filtraggio del traffico

Reti. Il livello Trasporto: UDP e TCP. Renato Lo Cigno.

Trasmissione adattativa di dati multimediali su IP

CRITERI DI VALUTAZIONE DEL PROTOCOLLO TCP

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

Livello trasporto in Internet

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

9 Febbraio 2015 Modulo 2

Reti di Calcolatori:

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

Introduzione (parte III)

Call Admission Controll (CAC)

Internetworking TCP/IP: esercizi

ERRATA CORRIGE. Pagina IV Traduzione: Renato Cortinovis (Capitoli 1, 2, 3, 8, 9, 10), Laura Stecco (Capitoli 4, 5, 6, 7)

Esercitazioni Reti di Calcolatori

Transcript:

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 (coda nei buffer dei router) Approccio end-to-end: nessuna segnalazione esplicita da parte della rete (TCP) Approccio assistito dalla rete: i router inviano feedback agli end system (SNA, DECbit, TCP/IP ECN, ATM) Natura della congestione Le code aiutano ad assorbire i picchi di traffico, quando la frequenza di input > frequenza di output Router Se frequenza input > frequenza output a lungo, la coda si riempie pacchetti persi e congestione La congestione è funzione del pattern di traffico. Può avvenire anche se i link hanno la stessa capacità = Router Pacchetti in coda 1

Effetti della congestione Ritardi e perdite aumentano rapidamente con il carico, il throughput diminuisce a causa delle perdite Allocazione di banda E importante allocare la capacità della rete in modo efficiente ed equo Efficiente: è usata la capacità massima, ma senza congestione Equa: ogni sender condivide equamente la banda Soluzione: I sender adattano la frequenza trasmissiva in base alla loro vista della rete Questa variazione è continua in quanto il carico cambia Questa variazione deve essere tale che l utilizzo della rete nel complesso sia efficiente ed equo 2

cwnd: TCP sender congestion window size Controllo della congestione in TCP Approccio end-to-end: la frequenza di trasmissione varia al variare della congestione percepita Come si rileva congestione? Come variare la frequenza di trasmissione e quale algoritmo per variarla? La perdita di pacchetti (timeout e 3 ACK) è sintomo di congestione. Il mittente varia la frequenza di trasmissione seguendo un algoritmo di controllo della congestione Additive Increase Multiplicative Decrease la dimensione della finestra cresce linearmente. fino ad un evento di perdita (quindi finestra a meta ) time 3

AIMD Additive Increase: ci si avvicina lentamente al valore della banda disponibile, aumentando linearmente la finestra di congestione, ogni RTT. Nota come fase di congestion avoidance Multiplicative Decrease: dopo un evento di perdita, la finestra di congestione viene dimezzata Finestra di congestione Spazio dei numeri di sequenza del sender cwnd last byte ACKed sent, notyet ACKed last byte sent il sender limita la trasmissione: LastByteSent- LastByteAcked < cwnd La finestra di congestione cwnd è dinamica, funzione della congestione percepita Frequenza trasmissiva: stima: trasmissione di cwnd bytes, attesa di ACK (RTT), quindi trasmissione di altri bytes rate ~ cwnd RTT bytes/sec 4

Algoritmo di controllo della congestione Obiettivo: trasmettere alla massima velocità possibile senza perdere pacchetti Approccio: incrementare cwnd finché non si verifica la perdita di un segmento. In seguito decrementare cwnd e ricominciare daccapo Fasi: slow start (partenza lenta), AIMD (incremento additivo, decremento moltiplicativo) e fast recovery (opzionale) Slow Start All inizio della connessione TCP, cwnd è pari a 1 MSS Per ogni segmento riscontrato prima di un evento di perdita, cwnd è aumentato di 1 MSS Crescita esponenziale della dimensione della finestra, fino a quando si verifica un evento di perdita o si raggiunge una soglia (ssthresh) 5

Congestion Avoidance Additive Increase Ci si avvicina lentamente al valore della banda disponibile, aumentando linearmente la finestra di congestione, ogni RTT Eventi di perdita Soglia = metà del valore della finestra di congestione appena prima dell evento di perdita Se timeout: finestra posta pari a 1 MSS, quindi crescita esponenziale (come in Slow start) Se triplice ACK: TCP Reno: finestra pari alla soglia, quindi Fast Recovery, se implementato, o Congestion Avoidance TCP Tahoe: finestra pari a 1 MSS, quindi crescita esponenziale (come in Slow start) 6

Andamento finestra di congestione TCP Reno: fast recovery (RFC5681) La ricezione di triplici ACK viene interpretata come sintomo di leggera congestione cwnd = soglia + 3 Per ogni ACK duplicato cwnd=cwnd+mss (crescita esponenziale) La conferma del pacchetto fa passare in Congestion Avoidance 7

TCP Reno - Fast Recovery Forouza, Mosharraf, Reti di Calcolatori, McGraw Hill Controllo congestione TCP L cwnd = 1 MSS ssthresh = 64 KB timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 duplicate ACK dupackcount++ slow start new ACK cwnd = cwnd + MSS (MSS/cwnd) new ACK cwnd = cwnd+mss transmit new segment(s), as allowed transmit new segment(s), as allowed cwnd > ssthresh L timeout ssthresh = cwnd/2 cwnd = 1 MSS timeout ssthresh = cwnd/2 cwnd = 1 fast recovery congestion avoidance New ACK cwnd = ssthresh duplicate ACK cwnd = cwnd + MSS transmit new segment(s), as allowed. duplicate ACK dupackcount++ dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 8