Valutazione del TCP con NS2. Gaia Maselli

Documenti analoghi
Livello trasporto. Controllo del flusso e della congestione

Implementazioni tipiche del protocollo TCP

Controllo della congestione

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

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo

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

Controllo di congestione

Controllo di congestione

Controllo di congestione

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

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

Controllo di flusso in TCP

Reti di Comunicazione e Internet

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

Funzioni del protocollo TCP

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

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

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

Meccanismi di incremento della finestra

Livello di trasporto e TSAP

Livello di trasporto: TCP

Protocollo TCP. politiche di trasmissione e di controllo della congestione

Avoidance, Fast Retransmit, And Fast Recovery

Modelli analitici per l analisi delle prestazioni del protocollo TCP

Reti di Calcolatori:

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

- 5 - Controllo a finestra

RETI DI CALCOLATORI Home Assignment protocollo TCP. Prima parte

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

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

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

Transmission Control Protocol: TCP

Gestione della Connessione in TCP

Reti e Protocolli rassegna (II)

Telematica di Base. IL Livello di Trasporto TCP

protocollo TCP versioni e implementazioni

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

1. Esercizi sul Livello di Trasporto

Livello di trasporto: TCP, controllo flusso, controllo congestione

Gestione delle Reti di Telecomunicazioni

Reti di Telecomunicazioni 1

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

Parte II: Reti di calcolatori Lezione 14 (38)

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

Livello trasporto in Internet

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

Livello trasporto in Internet

Livello trasporto in Internet

Il livello di trasporto

Livello di trasporto: meccanismi trasferimento dati affidabile

Reti di Telecomunicazione

Transmission Control Protocol (TCP) Andrea Detti

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

Livello trasporto in Internet

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

Argomenti: ! Servizi dello strato di trasporto! multiplexing/demultiplexing! Servizio senza connessione: UDP

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

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

Livello trasporto in Internet

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

TCP E APPLICAZIONI IN AMBIENTE WIRELESS

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

Il livello di trasporto

Livello trasporto. Servizi del livello trasporto

Internetworking TCP/IP: esercizi

Il livello trasporto Protocolli TCP e UDP

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

SIMULATORI PER RETI AD HOC

Fondamenti di Internet e Reti

Livello trasporto in Internet

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

Esercizi: Telecomunicazioni parte Reti

Esercitazione. Livello di Trasporto [Capitolo 3]

Fondamenti di Internet e Reti Esercizi sui meccanismi di controllo di errore e sul livello di trasporto

Reti di Calcolatori in Tecnologia IP

Analisi di Protocolli di Disseminazione Dati Basati sull Informazione e Selezione Opportunistica di Cluster in Reti Veicolari

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

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

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

Internet (- working). Le basi.

Politecnico di Milano Advanced Network Technologies Laboratory. Esercizi sul TCP

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

L architettura di TCP/IP

Principi di trasferimento affidabile

Prestazioni stop-and-wait. Prestazioni

Reti di telecomunicazioni LS Guida agli esercizi TCP con NSCRIPT

Esercitazioni Reti di Calcolatori

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

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

UDP. User Datagram Protocol. UDP Connectionless

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

PROTOCOLLI DI TRASPORTO IN AMBIENTE WIRELESS

Il livello trasporto: Introduzione e protocollo UDP

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

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

Linux Network Testing

4 - Il livello di trasporto

Definizione. Introduzione alle MANET. Host Mobili (2) Host Mobili (1)

Gestione delle connessioni TCP

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

Transcript:

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 tipo TCP? Page 2

Articoli di riferimento K. Fall, S. Floyd, Simulation-based comparisons of Tahoe, Reno and SACK TCP, in SIGCOMM Comput. Commun. Rev. 26, 3 (Jul. 1996), 5-21. G. Holland, N. Vaidya, Analysis of TCP performance over mobile ad hoc networks, in Wireless Networks 8, pp. 275-288, 2002, Kluwer. A. Al Hanbali, E. Altman, P. Nain, A survey of TCP over Ad Hoc Networks, IEEE Communications Surveys & Tutorials, Vol.7 No.3, P. 22-36, Aug. 2005. Haejung Lim; Kaixin Xu; Gerla, M., TCP performance over multipath routing in mobile ad hoc networks, in IEEE International Conference on Communications, 2003. ICC '03. Volume 2, 11-15 May 2003 Page(s):1064-1068 vol.2 Page 3

Window based flow control Protocollo basato su sliding window L ampiezza della finestra è data dal valore minimo tra receiver s advertised window determinata dal receiver in base allo spazio disponibile nel buffer congestion window determinata dal sender, in base al feedback dalla rete Sender s window 1 2 3 4 5 6 7 8 9 10 11 12 13 Acks received Not transmitted Page 4

Window based flow control TCP window flow control è selfclocking Nuovi dati vengono inviati quando quelli inviati sono stati ricevuti (ack) Sender s window 1 2 3 4 5 6 7 8 9 10 11 12 13 Ack 5 Mantiene equilibrio 1 2 3 4 5 6 7 8 9 10 11 12 13 Sender s window Page 5

Meccanismi del TCP Slow start Congestion avoidance Fast retransmit Fast recovery Page 6

Slow start Sorgente Destinazione CongestionWindow = 1 CongestionWindow = 2 Dati ACK CongestionWindow = 4 CongestionWindow = 8 CongestionWindow = CongestionWindow +1 All arrivo di ogni ACK Page 7

Congestion avoidance CongestionWindow = 1 ADDITIVE INCREASE Sorgente Destinazione CongestionWindow = 2 Dati ACK CongestionWindow = 3 CongestionWindow = 4 Incremento lineare Page 8

Slow start + Congestion Avoidance Congestion Window size (segmenti) 14 12 10 8 6 4 2 0 Slow start Congestion avoidance Slow start threshold 0 1 2 3 4 5 6 7 8 Tempo Page 9

Congestion control - timeout Congestion Window Timeout Additive increase multiplicative decrease threshold = max (CW/2, 2) CW = 1 slow start fino alla threshold Additive Increase Slow Start CongestionThreshold Tempo CongestionThreshold = Max(CongestionWindow/2,2) Page 10

Fast retransmit (ack duplicati) Sorgente Pacchetto 1 Pacchetto 2 Pacchetto 3 Pacchetto 4 Pacchetto 5 Pacchetto 6 Destinazione ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 3 ACK Duplicati Ritrasmissione Pacchetto 3 ACK 6 ACK Cumulativo Fast retransmit non aspetta lo scadere del timeout Attivo quando la sorgente riceve multipli (>= 3) ack duplicati (prima del timeout) Page 11

Timeout VS Fast retransmit Differente dal timeout : slow start segue timeout timeout -> pacchetti non arrivano più a destinazione fast retransmit -> un pacchetto viene perso, ma i successivi arrivano a destinazione Non c è necessità di eseguire slow start, perchè si è persa una piccola quantità di pacchetti Fast retransmit in genere è seguita dalla fase di Fast recovery Page 12

Andamento temporale della CW Slow Start, Additive Increase, Fast Retransmit In caso di perdita di un segmento ssthresh=max(cwnd/2,2) CW = 1 Page 13

Fast Recovery ssthresh = cwnd/2 cwnd = ssthresh + number of dupacks Ritrasmette il pacchetto perso (fast retransmit) e attende l ack Quando riceve un nuovo ack (non di un pacchetto ritrasmesso) : cwnd = ssthreh esegue congestion avoidance Congestion window dimezzata Page 14

Fast recovery Congestion Window tempo Stato di Congestione Leggera: la rete è congestionata, ma alcuni pacchetti arrivano a destinazione. Con 3 DUPACK viene rilevata la perdita del pacchetto, si effettua il Fast Retransmit e si entra nella fase di Fast Recovery. Page 15

Esempio: scenario simulato 2 nodi, una connessione TCP 0 -> 1, perdita dei pacchetti randomica (packet error rate = 1%) 1 Mbps FTP Page 16

TCP Tahoe SS + CA + fast rtx 30 25 tahoe cw tahoe th AI 20 CW 15 SS 10 5 perdita 0 0 5 10 15 20 CW=1 Time (sec) Page 17

TCP Reno SS + CA + fast rtx + fast recovery 30 25 reno cw reno th timeout AI 20 CW 15 SS 10 5 0 0 5 10 15 20 Time (sec) Page 18

TCP in ambiente wireless ad hoc TCP esegue controllo della congestione in caso di perdita di pacchetti Nelle reti wireless i pacchetti possono andare persi anche a causa di Errori nei link (es. multipath fading) Mobilità -> interruzione delle rotte Queste perdite vengono erroneamente interpretate come effetti della congestione Packet s timeout (or DupACKS) riduzione della congestion window Molte soluzioni ai problemi di performance delle reti ad hoc si basano sull utilizzo rotte multiple (multipah routing) per aggirare eventuali percorsi interrotti, nodi sovraccarichi, link inefficienti, etc. Multipath drawbacks n+1 Stima inaccurata del RTT Frequenti ACK duplicati S D Ack: n-1 n Il protocollo di MAC limita l utilizzo della capacità della rete, riducendo le performance del trasferimento dei dati Page 19

Effetto di 802.11 sul throughput TCP* 2 non può trx e rcv contemporaneamente 3 può interferire con 2 (hidden terminal) *[Holland, Vaidya] TCP-Reno throughput over an 802.11 fixed, linear, multi-hop network of varying length (in hops). Page 20

Routing multipath 5 0 4 8 9 6 3 10 2 1 7 -- NODE 0 Routing Table at time t ---------------------------------------------- R_dest=1 R_next=1 R_dist=1 R_dest=3 R_next=3 R_dist=1 R_dest=5 R_next=5 R_dist=1 R_dest=6 R_next=5 R_dist=2 R_dest=6 R_next=3 R_dist=2 R_dest=8 R_next=5 R_dist=2 R_dest=8 R_next=3 R_dist=2 R_dest=10 R_next=3 R_dist=2 R_dest=10 R_next=1 R_dist=2 R_dest=2 R_next=1 R_dist=2 OLSR R_dest=7 R_next=1 R_dist=3 routing R_dest=7 R_next=3 R_dist=3 R_dest=7 R_next=5 R_dist=3 protocol R_dest=9 R_next=1 R_dist=3 R_dest=9 R_next=3 R_dist=3 R_dest=9 R_next=5 R_dist=3 R_dest=2 R_next=3 R_dist=3 R_dest=4 R_next=3 R_dist=3 R_dest=4 R_next=5 R_dist=3 R_dest=10 R_next=5 R_dist=3 R_dest=2 R_next=5 R_dist=4 R_dest=4 R_next=1 R_dist=4 R_dest=6 R_next=1 R_dist=4 R_dest=8 R_next=1 R_dist=4 ------- end routing table ------- Page 21

Effetto del routing multipath 350 300 TCP throughput (kbps) 250 200 150 100 Throughput: quantità di dati correttamente ricevuti dalla destinazione nell unità di tempo 50 0 100 200 300 400 500 600 Time (s) load-balancing single path Load-balancing: usa rotte multiple verso la destinazione contemporaneamente + La probabilità che non ci sia una rotta tra sender e receiver è minima - La stima del RTT può non essere accurata - Pacchetti disordinati alla destinazione Page 22

Effetto della mobilità* Incrementando la velocità dei nodi le rotte si interrompono più facilmente, causando perdita di pacchetti, e necessità di ristabilirne di nuove (route discovery), con conseguente overhead e ritardo *[Holland, Vaidya] Page 23

Alcune soluzioni Feedback esplicito TCP Feedback (TCP-F) Explicit Link Failure Notification (ELFN) Il sender viene informato della route failure in modo che non attivi il controllo della congestione Host unreachable (ICMP), or route failure (routing) Congestion control viene disabilitato fino al ristabilimento della rotta Le variabili del TCP vengono congelate Messaggi di probe Page 24