seminario su ns2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_ii/seminario... · siena, 26...
TRANSCRIPT
Siena, 26 Giugno 2008
Indice
Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi
Siena, 26 Giugno 2008
TCP NewRenoIn genere l’algoritmo di Fast Retransmitconsente il recupero di un solo pacchetto perso (nella stessa finestra di dati inviati).NewReno aggiorna l’algoritmo di Fast Recovery utilizzando l’informazione fornita dagli “ACKs parziali” per avviare le ritrasmissioni.NewReno migliora le prestazioni riducendo il tempo di recupero dopo perdite multiple.NewReno può recuperare più perdite avvenute nella stessa finestra di trasmissione, al ritmo di una per RTT.
Siena, 26 Giugno 2008
Scenario e parametri
TCP (Sender) TCP_Sink (Receiver)delay = 600 ms
bandwidth = 3 Mb/s
node(0) node(1)queue_ = valore limiteper la coda del link
pktspktlunghezza
bandwidthRTTDBP 30081500
1031012008
63
=×
×××=
××
=−
msdelayRTT
productbandwidthdelayDBP
12002 =×=
=
Siena, 26 Giugno 2008
Parametri simulatore
rwnd = DBP + x > DBPDBP + x > queue + DBP =>
queue < x (con questo settaggiorendiamo ininfluente la finestra del ricevitore)rwnd = 500 => queue < 200cwndmax= DBP + queue
Siena, 26 Giugno 2008
Esempi (1/2)
queue = 50
( )efficienza
sMbsMb
tonormalizzaGoodput
%70
7.0/3/1.2
⇒=
Siena, 26 Giugno 2008
Esempi (2/2)
queue = 100
( )efficienza
sMbsMb
tonormalizzaGoodput
%67
67.0/3
/01.2⇒=
Timeout!
Siena, 26 Giugno 2008
Esempio con perdite
PER = 10-4
Siena, 26 Giugno 2008
Square root formula (1/3)La Square Root Formula viene utilizzata per esaminare le prestazioni del sistema.Si utilizza un modello fluido (dimenticando la granularitàdel pacchetto).Notazione: W(t) è la finestra di congestione al tempo t.Assunzioni: (i) ogni pacchetto è perso in modo indipendente con probabilità p, dove p < 1; (ii) RTT non dipende da W.L’aggiornamento della finestra avviene con un tasso W(t)/RTT.Tale aggiornamento è un decremento moltiplicativo (multiplicative decrease) pari a ½, con probabilità p, mentre è un incremento additivo (additive increase) pari a 1/W, con probabilità (1-p).
<
Siena, 26 Giugno 2008
Square root formula (2/3)Si può ottenere la seguente equazione differenziale:
Si cercano i punti fissi del sistema, tali per cui:
Si può dimostrare che il sistema ammette un solo punto fisso positivo:
Il throughput (pkt/s) è dato dalla Square Root Formula:
( ) ( )( )
( )⎥⎦
⎤⎢⎣
⎡−
−=
∂∂
21 tpW
tWp
RTTtW
ttW
( ) 0=∂
∂ttW
( )p
pW −=
12*
( )pRTTp
pRTTRTT
WS 21121** ≈
−==
Siena, 26 Giugno 2008
Square root formula (3/3)
Tale formula è stata derivata con una serie di assunzioni (no timeout, perdite indipendenti) ed ha alcune limitazioni (approssimazione fluida, predice un comportamento “steady state” ma le connessioni sono finite, etc.).
La Square Root Formula dice che il throughput decresce al crescere di RTT e di p.
N.B. Per p = 0 il throughput tende a infinito. Per ovviare a tale situazione, per il calcolo del throughput si considera il minimo fra tale formula e IBR (Information Bit Rate):
S = min (SRF, IBR)
Siena, 26 Giugno 2008
Indice
Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi
Siena, 26 Giugno 2008
Rete satellitare: metodi di allocazione di capacità
Continuous Rate Assignment (CRA):CRA è un’allocazione fissa (e statica) di risorse che avviene dopo una fase iniziale di negoziazione fra RCST e NCC.L’utente trasmette ad un rate costante che viene automaticamente assegnato durante la fase di log-on.
Volume Based Dynamic Capacity (VBDC): Le risorse sono richieste dinamicamente dal RCST al NCC e tale richiesta è cumulativa (ogni richiesta viene sommata ad ogni richiesta precedente dello stesso RCST).Il NCC alloca un certo numero di slots (che possono essere suddivisi su diversi superframes).
Siena, 26 Giugno 2008
Supporto QoS WiFiLo standard IEEE 802.11e definisce la HybridCoordination Function (HCF) con 2 modi di accesso al canale wireless:
Un meccanismo contention-based (EnhancedDistributed Channel Access, EDCA)Un meccanismo polling-based (HCF Controlled ChannelAccess, HCCA)
EDCA usa 4 code (Access Categories, ACs) per supportare 8 tipi di traffico.In particolare, AC3 e AC2 sono usati per applicazioni real-time (es. trasmissioni voce e video), mentre AC1 e AC0 sono usate per traffici best effort e background (es. e-mail e traffico FTP).
E’ possibile ricavare una mappatura ottimale fra categorie di accesso WiFi (AC3, AC2, AC1, AC0) e metodi DVB (CRA, VBDC).
Siena, 26 Giugno 2008
Indice
Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi
Siena, 26 Giugno 2008
Introduzione
NS-2: Network Simulator V.2Simulatore ad eventi discretiSimulazione a livello di pacchetto
CaratteristicheOpen sourceScheduling, routing e congestion controlWired networks: P2P links, LANWireless networks: terrestre (ad-hoc, GPRS, UMTS, WLAN, Bluetooth) e satellitare
Siena, 26 Giugno 2008
Evoluzione di NSREAL network simulator (Cornell), 1989
Valutazione delle strategie di controllo del traffico e della congestione in reti a pacchetto (scritto in C)
NS (NS-1), 1995Introduzione dell’archittettura Tcl / C++
NS-2, 1996Object-oriented Tcl (Otcl)
Wireless extensionsProgetto UC Berkeley DaedalusProgetto CMU MonarchSun Microsystems
Siena, 26 Giugno 2008
Linguaggi di programmazione usati in NS-2
Tcl (Tool command language) scripts (Tcl/OTcl)
Interpretato (interattivo)Setup e configurazione
C codes (C/C++)Compilato (efficiente)Algoritmi e protocolli
TclCL (OTcl/C++)Collega Tcl/OTcl scripts e C/C++ codes
Siena, 26 Giugno 2008
NS-2 Guida all’installazioneDownload
Sito NS-2: http://www.isi.edu/nsnam/ns/ns-build.htmlScaricare il pacchetto ns-allinone-2.29.tar.gz
InstallazioneScompattare il file con il comando:
tar -xzvf ns-allinone-2.29.tar.gz
Entrare nella directory ns-allinone-2.29:cd ns-allinone-2.29
Installare con il comando:./install
Per lanciare una simulazioneDigitare: ./ns [filename].tcl
Siena, 26 Giugno 2008
Link utiliNetwork Simulator NS-2
NS-2 Homepage (http://www.isi.edu/nsnam/ns/)NS-2 Manuale (http://www.isi.edu/nsnam/ns/ns-documentation.html)
Primi passi con NS-2Marc Greis's tutorial (http://www.isi.edu/nsnam/ns/tutorial/index.html) NS by example (http://nile.wpi.edu/NS/) NS2 for beginners (http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf)OTcl(ftp://ftp.tns.lcs.mit.edu/pub/otcl/doc/tutorial.html)
Siena, 26 Giugno 2008
Organizzazione dello scriptCreare un event scheduler (simulator)[Setup tracing]Creare la topologia della rete (node, link)[Setup routing][Inserire error modules/network dynamics]Creare le connessoni (transport)Creare le sorgenti di traffico (application)Avviare lo schedulerPost-process dei risultati
Siena, 26 Giugno 2008
Event scheduler
Creare un event schedulerset ns [new Simulator]
Schedulare un evento$ns at <time> <TCL_command>
Avviare lo scheduler$ns run
Ultima linea dello script
Siena, 26 Giugno 2008
Trace
Registrare i pacchetti su tutti i link$ns trace-all [open nstr.out w]
<event> <t> <from> <to> <<event> <t> <from> <to> <pktpkt> <size> > <size> ---- <fid> <<fid> <srcsrc> <> <dstdst> <> <seqseq> <> <uiduid>>+ 1 0 2 + 1 0 2 cbrcbr 210 210 -------------- 0 0.0 3.1 0 00 0.0 3.1 0 0-- 1 0 2 1 0 2 cbrcbr 210 210 -------------- 0 0.0 3.1 0 00 0.0 3.1 0 0r 1.00234 0 2 r 1.00234 0 2 cbrcbr 210 210 -------------- 0 0.0 3.1 0 00 0.0 3.1 0 0
$ns namtrace-all [open namtr.out w]
Registrare gli eventi su uno specificolink
$ns trace-queue $n0 $n1$ns namtrace-queue $n0 $n1
Siena, 26 Giugno 2008
Topologia di ReteNodi
set n0 [$ns node]set n1 [$ns node]
Link e code$ns duplex-link $n0 $n1 \<bandwidth> <delay> <queue>
bandwidth: banda utilizzata dal linkdelay: ritardo introdotto dal linkqueue: DropTail, RED, CBQ, FQ, …
Link delay = f (bandwidth, delay)= packet transmission time + propagation delay
Siena, 26 Giugno 2008
Topologia di Rete: Nodo
n0 n1
Addr Classifier
Port Classifier
classifier_
dmux_
entry_
Node entry
Unicast Node Multicast Node
Multicast Classifier
classifier_
dmux_
entry_
Node entry
multiclassifier_
Siena, 26 Giugno 2008
Topologia di Rete: Link
n0 n1
enqT_ queue_ deqT_
drophead_ drpT_
link_ ttl_
n1 entry_head_
tracing simplex link
duplex link
Siena, 26 Giugno 2008
Protocollo di Trasporto: TCP
TCP (es., Tahoe, Reno, NewReno, SACK, Westwood)
set tcp [new Agent/TCP]set tcpsink [new Agent/TCPSink]$ns attach-agent $n0 $tcp$ns attach-agent $n1 $tcpsink$ns connect $tcp $tcpsink
Personalizzazione$agent set fid <fid>
$agent set packetSize_ <size>
Siena, 26 Giugno 2008
Protocollo di trasporto
01
n0 n1
Addr Classifier
Port Classifier
classifier_
dmux_
entry_
0 Agent/TCP
agents_
Addr Classifier
Port Classifier
classifier_
dmux_
entry_
10Link n0-n1
Link n1-n0
0 Agent/TCPSink
agents_
dst_= 1.0 dst_= 0.0
Siena, 26 Giugno 2008
ApplicazioniFTP (File Transfer Protocol)
set ftp [new Application/FTP]$ftp attach-agent $tcp$tcp attach-app FTP
CBR (Constant Bit Rate)set cbr [new Application/Traffic/CBR]$cbr set packetSize_ 1000$cbr set rate_ 16000
Avviare una sorgente$ns at <time> “$app start”
Siena, 26 Giugno 2008
Application
01
n0 n1
Addr Classifier
Port Classifier
classifier_
dmux_
entry_
0 Agent/TCP
agents_
Addr Classifier
Port Classifier
classifier_
dmux_
entry_
10Link n0-n1
Link n1-n0
0 Agent/TCPSink
agents_
dst_=1.0 dst_=0.0
Application/FTP
Siena, 26 Giugno 2008
PacchettiI Pacchetti sono eventi
Possono essere schedulati come “arrivi”I pacchetti contengono un campo header ed uno per i dati (opzionale)
Il campo Header è composto da una “cascata” di headers (tutti attivi)
Ogni pacchetto è costituito da un common headerpacket size (usato per calcolare il tempo di trasmissione)packet typetimestamp, uid, …
Siena, 26 Giugno 2008
Packet Flow
01
n0 n1
Addr Classifier
Port Classifier
entry_
0 Agent/TCP Addr Classifier
Port Classifier
entry_
10Link n0-n1
Link n1-n0
0 Agent/TCPSink
dst_=1.0 dst_=0.0
Application/FTP
Siena, 26 Giugno 2008
Rete Wireless
Rete WirelessI Nodi possono muoversi Non esiste un “link” esplicito tra i nodi
Novità introdotte nelle reti WirelessMobile nodeCanale Wireless e modello di propagazionePacket headers (es., MAC 802.11)Topologia e movimentoRouting
Siena, 26 Giugno 2008
Indice
Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi
Siena, 26 Giugno 2008
Scenario (interconnessionefra rete satellitare e wireless)
GEO satellite
FTP server
VoIP user
Gateway
RCSTAccess Point
TCP & UDP wireless users
NCC
300 Mb/s
3 Mb/s
300 Mb/s
3 Mb/s
3 Mb/s
300 Mb/s
1 ms
1 ms
130 ms
130 ms
130 ms
1 ms
DVB-S DVB-RCS
FTP server
VoIP user
Gateway
RCSTAccess Point
TCP & UDP wireless users
NCC3 Mb/s
3 Mb/s
3 Mb/s
130 ms
130 ms
130 ms
DVB-S DVB-RCS
Siena, 26 Giugno 2008
RTT = 560 ms
Bandwidth = 3Mb/s
Capacità link terrestre = 300 Mb/s
Wireless bandwidth = 11Mb/s
DBP (Delay Bandwidth Product) = 140 pacchetti
Dimensione pacchetto TCP = 1500 bytes
Dimensione pacchetto UDP = 50 bytes
Dimensione ACK = 40 bytes
UDP transmission rate = 40 kb/s
Rwnd = 1500 pacchetti
Parametri simulatore
Siena, 26 Giugno 2008
Grazie per l’attenzione