Skip to content

Instantly share code, notes, and snippets.

@abrahamjso
Created April 16, 2013 20:38
Show Gist options
  • Save abrahamjso/5399453 to your computer and use it in GitHub Desktop.
Save abrahamjso/5399453 to your computer and use it in GitHub Desktop.
##iniciamos
set ns [new Simulator]
##declaramos el tipo de enrutamiento
$ns rtproto LS
##archivo para la simulación
set nf [open a.nam w]
set nt [open trace.tr w]
$ns namtrace-all $nf
$ns trace-all $nt
##Crear archivo
set trace [open trace.tr w]
$ns trace-all $trace
proc finish {} {
global ns nf nt
$ns flush-trace
close $nf
close $nt
exec nam -a a.nam &
exit 0
}
##creamos 6 nodos
for {set i 0} {$i < 6} {incr i} {
set n($i) [$ns node]
}
##dos nodos centrales
set ruter1 [$ns node]
set ruter2 [$ns node]
##unimos los nodos 0 al 3 con el ruter 1 al igual
## del 3 al 6 al ruter 2
for {set i 0} {$i < 3} {incr i} {
$ns duplex-link $ruter1 $n($i) 1Mb 10ms DropTail
}
for {set i 3} {$i < 6} {incr i} {
$ns duplex-link $ruter2 $n($i) 1Mb 10ms DropTail
}
# TOPOLIGIA
##unimos los dos nodos centrales
$ns duplex-link $ruter1 $ruter2 1Mb 10ms DropTail
## unimos nodos
##aqui creamos el tip de mensaje udp
set udp0 [new Agent/UDP]
$ns attach-agent $n(4) $udp0
# set udp0 flowid to 1
$udp0 set fid_ 1
##creamos el tamaño del los paquetes
## el intervalo de envio
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
set sinknode1 [new Agent/LossMonitor]
$ns attach-agent $ruter1 $sinknode1
# Connect the UDP traffic source to Null sink
$ns connect $udp0 $sinknode1
##Creamos otra conexion udp
set udp1 [new Agent/UDP]
$ns attach-agent $n(3) $udp1
##creamos el tamaño del los paqueres
## el intervalo de envio
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$cbr1 attach-agent $udp1
##aqui decidimos cual sera el destino
##final de nuestros paqueres
set null0 [new Agent/Null]
$ns attach-agent $n(1) $null0
$ns connect $udp0 $null0
$ns connect $udp1 $null0
$ns at 0.5 "$cbr0 start"
$ns at 0.5 "$cbr1 start"
$ns at 4.5 "$cbr0 stop"
$ns at 4.5 "$cbr1 stop"
#finalizamos
$ns at 5.0 "finish"
$ns run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment