ns

14
DANIEL DÍAZ A. [email protected] Copyright 2002 Daniel Díaz A

Transcript of ns

Page 1: ns

DANIEL DÍAZ [email protected]

Copyright 2002 Daniel Díaz A

Page 2: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Introducción

Ejemplo: Análisis de una red IP Best Effort

Comandos del ns

Page 3: ns

# Tráfico TCP1.

#Vamos a crear un agente FTP sobre TCPset tcp1 [new Agent/TCP] ;# Nuevo agente TCP$ns attach-agent $n0 $tcp1 ;# Lo ubicamos en n0.

#Asociamos un identificador de flujo 3 al agente tcp1.#Además asignamos el color verde (green) al flujo 3.#$tcp1 set fid_ 3$ns color 3 green

set sink1_TCP [new Agent/TCPSink] ;# Creamos el "sumidero" TCP.$ns attach-agent $n6 $sink1_TCP ;# Lo ubicamos en n6.set ftp1 [new Application/FTP] ;# Nueva aplicación FTP$ftp1 attach-agent $tcp1 ;# La asociamos al agente TCP.$ns connect $tcp1 $sink1_TCP ;# Conectamos los dos extremos ;# TCP.

$ns at 0.0 "$ftp1 start" ;# Planificamos el comienzo de ;# la generación de tráfico FTP ;# para t= 0.0 seg.# Fin de la definición del tráfico TCP1.########################################

$ns at 1.0 "terminar"

proc terminar { } { global ns tf nf $ns flush-trace close $tf close $nf exec ../../nam-1.0a8/nam red_IP_best_effort.nam & exit 0}

$ns run

# Definir tráfico TCP ########################################Tráfico TCP0.##Vamos a crear un agente FTP sobre TCPset tcp0 [new Agent/TCP] ;# Nuevo agente TCP$ns attach-agent $n0 $tcp0 ;# Lo ubicamos en n0.

#Asociamos un identificador de flujo 2 al agente tcp0.#Además asignamos el color azul (blue) al flujo 2.#$tcp0 set fid_ 2$ns color 2 blue

set sink0_TCP [new Agent/TCPSink] ;# Creamos el "sumidero" TCP.$ns attach-agent $n6 $sink0_TCP ;# Lo ubicamos en n6.set ftp0 [new Application/FTP] ;# Nueva aplicación FTP$ftp0 attach-agent $tcp0 ;# La asociamos al agente TCP.$ns connect $tcp0 $sink0_TCP ;# Conectamos los dos extremos ;# TCP.$ns at 0.0 "$ftp0 start" ;# Planificamos el comienzo de ;# la generación de tráfico FTP ;# para t= 0.0 seg.# Fin de la definición del tráfico TCP0.

#Asociamos un identificador de flujo 1 al agente udp1.#Además asignamos el color marrón (brown) al flujo 1.#$udp1 set fid_ 1$ns color 1 brown

## Fuente CBR# Por default el tamaño e cada paquete CBR es 210 bytes# Se puede cambiar con: $cbr1 set packetSize_ 48#

set cbr1 [new Application/Traffic/CBR] ;# Nueva fuente CBR$cbr1 attach-agent $udp1 ;# La asociamos a udp1

set sink1_UDP [new Agent/LossMonitor] ;# Agente monitor de tráfico.$ns attach-agent $n6 $sink1_UDP ;# Lo ubicamos en n6.$ns connect $udp1 $sink1_UDP ;# Conectamos el agente UDP ;# con el sumidero de tráfico.$ns at 0.0 "$cbr1 start" ;#Planificamos el comienzo de la ;# generación de tráfico CBR ;# para t=0.0 seg.## Fin de la definición del tráfico UDP1.########################################

# Fuente CBR# Por default el tamaño e cada paquete CBR es 210 bytes# Se puede cambiar con: $cbr0 set packetSize_ 48#

set cbr0 [new Application/Traffic/CBR] ;# Nueva fuente CBR$cbr0 attach-agent $udp0 ;# La asociamos a udp0

set sink0_UDP [new Agent/LossMonitor] ;# Agente monitor de tráfico.$ns attach-agent $n6 $sink0_UDP ;# Lo ubicamos en n6.$ns connect $udp0 $sink0_UDP ;# Conectamos el agente UDP ;# con el sumidero de tráfico.$ns at 0.0 "$cbr0 start" ;#Planificamos el comienzo de la ;# generación de tráfico CBR ;# para t=0.0 seg.## Fin de la definición del tráfico UDP0.###############################################################################Tráfico UDP1.#Creamos los agentes asociados a la fuente CBR.#set udp1 [new Agent/UDP] ;# Nuevo agente UDP$ns attach-agent $n0 $udp1 ;# Lo ubicamos en n0

$ns duplex-link $n2 $n5 10Mb 2ms DropTail$ns duplex-link $n3 $n4 10Mb 2ms DropTail$ns duplex-link $n4 $n5 10Mb 2ms DropTail$ns duplex-link $n5 $n6 10Mb 2ms DropTail

########################## # # # Definir tráfico UDP # # # ##################################################################Tráfico UDP0.#Creamos los agentes asociados a la fuente CBR.#set udp0 [new Agent/UDP] ;# Nuevo agente UDP$ns attach-agent $n0 $udp0 ;# Lo ubicamos en n0

##Asociamos un identificador de flujo 0 al agente udp0.#Además asignamos el color rojo (red) al flujo 0.#$udp0 set fid_ 0$ns color 0 red

#Activar las trazasset tf [open red_IP_best_effort.tr w]$ns trace-all $tf

set nf [open red_IP_best_effort.nam w]$ns namtrace-all $nf #Definir la red#Primero creamos los nodosset n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]set n5 [$ns node]set n6 [$ns node]

#A continuación se crean los enlaces, DropTail significa que las colas#asociadas son FIFO.$ns duplex-link $n0 $n1 10Mb 2ms DropTail$ns duplex-link $n1 $n2 10Mb 2ms DropTail$ns duplex-link $n1 $n3 10Mb 2ms DropTail$ns duplex-link $n2 $n3 10Mb 2ms DropTail$ns duplex-link $n2 $n4 10Mb 2ms DropTail

Ejemplo de Script tcl################################################################# Programa desarrollado por Daniel Díaz A.# [email protected] ó [email protected]## n0 n6# () () # \ / # \ 5Mbps, 2ms / # \ / # n1 \ 1.5Mbps, 2ms n3 n5 / # ()-------------------------()------------------------()# \ / \ / # \ / \ / # \ / 5mbps \ / # \ / 2ms \ / # \ / \ / # ()------------------------()# n3 n4## Los nodos son IP, servicio best effort

#Comienzo del fichero #Crea el objeto simuladorset ns [new Simulator]

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Page 4: ns

+ 0 0 1 cbr 210 ------- 0 0.0 6.0 0 0- 0 0 1 cbr 210 ------- 0 0.0 6.0 0 0+ 0 0 1 cbr 210 ------- 1 0.1 6.1 0 1+ 0 0 1 tcp 1000 ------- 2 0.2 6.2 0 2+ 0 0 1 tcp 1000 ------- 3 0.3 6.3 0 3- 0.000168 0 1 cbr 210 ------- 1 0.1 6.1 0 1- 0.000336 0 1 tcp 1000 ------- 2 0.2 6.2 0 2- 0.001136 0 1 tcp 1000 ------- 3 0.3 6.3 0 3r 0.002168 0 1 cbr 210 ------- 0 0.0 6.0 0 0+ 0.002168 1 2 cbr 210 ------- 0 0.0 6.0 0 0- 0.002168 1 2 cbr 210 ------- 0 0.0 6.0 0 0r 0.002336 0 1 cbr 210 ------- 1 0.1 6.1 0 1+ 0.002336 1 2 cbr 210 ------- 1 0.1 6.1 0 1- 0.002336 1 2 cbr 210 ------- 1 0.1 6.1 0 1r 0.003136 0 1 tcp 1000 ------- 2 0.2 6.2 0 2+ 0.003136 1 2 tcp 1000 ------- 2 0.2 6.2 0 2- 0.003136 1 2 tcp 1000 ------- 2 0.2 6.2 0 2+ 0.00375 0 1 cbr 210 ------- 0 0.0 6.0 1 4- 0.00375 0 1 cbr 210 ------- 0 0.0 6.0 1 4+ 0.00375 0 1 cbr 210 ------- 1 0.1 6.1 1 5- 0.003918 0 1 cbr 210 ------- 1 0.1 6.1 1 5r 0.003936 0 1 tcp 1000 ------- 3 0.3 6.3 0 3

Ejemplo de archivo tipo tr

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Page 5: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Presentación de la red a simular - nam

Page 6: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Transmisión de las tramas TCP

Page 7: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Tiempo

Ret

ard

o

Los paquetes UDP y TCP son enviados independientemente

Análisis del retardo de los paquetes

Page 8: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Transmisión de 02 tramas UDP y 02 TCP

Page 9: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Los paquetes UDP y TCP son enviados simultáneamente: 02 aplicaciones TCP y UDP

Análisis del retardo de los paquetes

Page 10: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Page 11: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Agregación

Agregar

Flujo 1

Flujo 2

Flujo i

Flujo agregado

Flujos con QoS similares

Todo el superflujocon el mismo

delay

El aislamiento no es posiblepara un flujo agregado

Agregar significa tratar varios flujos como si fuera uno solo.Los flujos con similares características de QoS serán agregados.

Page 12: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Región Agregada

IntServ, DiffServMPLS, MPLS/DiffServ

Red de Acceso Red de Acceso

IntServ, DiffServ

IntServ, DiffServ

QoS E2E

Agregador Desagregador

Fundamento de la Agregación

Mecanismo deRegularizar elTráfico en la

Región agregada

Page 13: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Región agregadaIntServ/RSVP IntServ/RSVP

DiffServ DiffServ

MPLS

Page 14: ns

Daniel Díaz A [email protected] 2002 Daniel Díaz A

Archivo tipotr

Calcular :Todos los parámetros de QoS:• Delay• Jitter• Rendimiento