martes, 9 de abril de 2013

Topologia ns2, enrutamiento

Algo de información:
Ruteo o rutear , en redes es dirigir la información que se transmite a traves de una red desde su origen hasta su destino, eligiendo el mejor camino posible a traves de las o las redes que los separan.

Los componentes dentro del ruteo son las dos partes que se están comunicando, es decir, un equipo origen y uno destino. Ambos deben tener los protocolos compatibles entre si para poder crear un vinculo para intercambiar información.

Además del origen y destino están los dispositivos de red, que se encargan de direccionar el mensaje (entiéndase como información) desde su origen hasta su destino, esto se hace en base a las denominadas direcciones IP y MACAddress. Estos dispositivos depende la magnitud de la red con la que se trabaje pueden ser Hubs, Switches, Bridges, Modems y Routers.


Topologías:
La topología de red de computadores conforman una red para intercambiar datos. El concepto de red puede definirse como "conjunto de nodos interconectados". Un nodo es el punto en el que una curva se intercepta a sí misma. Lo que un nodo es concretamente, depende del tipo de redes a que nos refiramos.



Tipos:
Los estudios de topología de red reconocen ocho tipos básicos de topologías:
  • Punto a punto (abreviadamente PtP).
  • En bus.
  • En estrella.
  • En anillo o circular.
  • En malla.
  • En árbol
  • Híbrida (los más habituales son circular de estrella y bus de estrella)
  • Cadena margarita (o daisy chain)

Enrutamiento ns2
Aqui el código:
set ns [new Simulator]
#Abrimos los archivos para NAM
set nf [open out.nam w]
$ns namtrace-all $nf
#Definimos un procedimiento para "terminar"
proc finish {} {
global ns nf
$ns flush-trace
close $nf
#ejecutamos NAM en los archivos Trace
exec nam out.nam &
exit 0
}
#Creamos los nodos
set 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]
set n7 [$ns node]
set n8 [$ns node]
#Creamos los enlaces entre los nodos
$ns duplex-link $n0 $n1 2.5mb 10ms DropTail
$ns duplex-link $n1 $n2 2Mb 10ms DropTail
$ns duplex-link $n1 $n3 2Mb 10ms DropTail
$ns duplex-link $n3 $n4 1.5Mb 10ms DropTail
$ns duplex-link $n3 $n5 1.5Mb 10ms DropTail
$ns duplex-link $n3 $n6 1.5Mb 10ms DropTail
$ns duplex-link $n2 $n7 1Mb 10ms DropTail
$ns duplex-link $n2 $n8 1Mb 10ms DropTail
#Acomodamos las figuras en NAM
$ns duplex-link-op $n0 $n1 orient down
$ns duplex-link-op $n1 $n2 orient down-right
$ns duplex-link-op $n1 $n3 orient down-left
$ns duplex-link-op $n3 $n4 orient down-left
$ns duplex-link-op $n3 $n5 orient down-right
$ns duplex-link-op $n3 $n6 orient down
$ns duplex-link-op $n2 $n7 orient down
$ns duplex-link-op $n2 $n8 orient down-right
#Establecemos la dispocision de la coneccion
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
#Creacion de trafico CBR
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp0
#Agente null
set null0 [new Agent/Null]
$ns attach-agent $n7 $null0
#Conxion
$ns connect $udp0 $null0
#Establecemos la dispocision de la coneccion
set udp1 [new Agent/UDP]
$ns attach-agent $n0 $udp1
#Creacion de trafico CBR
set cbr1 [new Application/Traffic/CBR]
$cbr1 attach-agent $udp1
#Agente null
set null1 [new Agent/Null]
$ns attach-agent $n6 $null1
#Conxion
$ns connect $udp1 $null1
#Se programa el evento para CRB
$ns at 0.1 "$cbr start"
$ns at 1.2 "$cbr stop"
$ns rtmodel-at 1.0 down $n1 $n2
$ns at 1.4 "$cbr1 start"
$ns at 1.6 "$cbr1 stop"
$ns rtmodel-at 1.8 up $n1 $n2
#LLamamos el proceso "finish" para terminarlo a los 11 segundos de simulacion
$ns at 1.9 "finish"
#Corremos la simulacion
$ns run
view raw topologias.tcl hosted with ❤ by GitHub


Reproducción del código:

Esto es una representación sencilla de una topología de árbol, como se aprecia hay una caída en los puntos de los nodos por lo cual cambia de entrega de paquetes hasta que se arregle el otro

Bibliografías:
http://members.tripod.com/a_pizano/Impresion/cap2.html
http://upcommons.upc.edu/pfc/bitstream/2099.1/5386/3/Levy_Bunan_memòria_2.pdf
http://es.wikipedia.org/wiki/Topolog%C3%ADa_de_red

2 comentarios: