37
Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini ([email protected])

Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini ([email protected])

Embed Size (px)

Citation preview

Page 1: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Seminariosu

Network Simulator (NS-2)

Ing. P. Chini ([email protected])

Page 2: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Indice

Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi

Page 3: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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.

Page 4: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

=

Page 5: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 6: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Esempi (1/2)

queue = 50

( )efficienza

sMbsMb

tonormalizzaGoodput

%70

7.0/3/1.2

⇒=

Page 7: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Esempi (2/2)

queue = 100

( )efficienza

sMbsMb

tonormalizzaGoodput

%67

67.0/3

/01.2⇒=

Timeout!

Page 8: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Esempio con perdite

PER = 10-4

Page 9: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

<

Page 10: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

−==

Page 11: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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)

Page 12: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Indice

Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi

Page 13: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 14: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 15: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Indice

Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi

Page 16: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 17: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 18: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 19: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 20: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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)

Page 21: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 22: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 23: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 24: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 25: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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_

Page 26: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 27: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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>

Page 28: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 29: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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”

Page 30: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 31: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 32: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 33: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 34: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Indice

Protocollo TCP e gestione risorseDVB-RCS e WiFiIntroduzione su NS-2Simulatore DVB-RCS + WiFi

Page 35: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 36: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

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

Page 37: Seminario su NS2 - dii.unisi.itgiambene/reti_di_telecomunicazioni_II/Seminario... · Siena, 26 Giugno 2008 Seminario su Network Simulator (NS-2) Ing. P. Chini (chini7@unisi.it)

Siena, 26 Giugno 2008

Grazie per l’attenzione