Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if {$argc == 1} {
- set protocol [lindex $argv 0]
- }
- set ns [new Simulator]
- set nf [open out.nam w]
- $ns namtrace-all $nf
- proc fim {} {
- global ns nf
- $ns flush-trace
- close $nf
- exec nam out.nam
- exit 0
- }
- #Emissores
- set n0 [$ns node]
- set n1 [$ns node]
- #Recetores
- set n2 [$ns node]
- set n3 [$ns node]
- #Routers
- set n4 [$ns node]
- set n5 [$ns node]
- set n6 [$ns node]
- set n7 [$ns node]
- #Ligação A
- $ns duplex-link $n0 $n4 200Mb 0.000001 DropTail
- $ns duplex-link $n7 $n2 200Mb 0.000001 DropTail
- #Ligação B
- $ns duplex-link $n1 $n4 200Mb 0.000001 DropTail
- $ns duplex-link $n7 $n3 200Mb 0.000001 DropTail
- #Ligações Intermédias
- $ns duplex-link $n4 $n5 200Mb 0.000001 DropTail
- $ns duplex-link $n5 $n6 200Kb 0.00025 DropTail
- $ns duplex-link $n6 $n7 50Kb 0.0000005 DropTail
- #Orientação
- $ns duplex-link-op $n0 $n4 orient right-down
- $ns duplex-link-op $n1 $n4 orient right-up
- $ns duplex-link-op $n4 $n5 orient right
- $ns duplex-link-op $n5 $n6 orient right
- $ns duplex-link-op $n6 $n7 orient right
- $ns duplex-link-op $n2 $n7 orient left-down
- $ns duplex-link-op $n3 $n7 orient left-up
- #Cria o UDP
- set udp0 [new Agent/UDP]
- #Cria o TCP
- set tcp0 [new Agent/TCP]
- #Cria o CBR
- set cbr0 [new Application/Traffic/CBR]
- $cbr0 set packetSize_ 1000
- $cbr0 set interval_ 0.5
- $cbr0 set maxpkts_ 10
- #Cria o NULL
- set null0 [new Agent/Null]
- if {$protocol == "tcp"} {
- #Faz attach do TCP ao nó de origem
- $ns attach-agent $n0 $tcp0
- #Faz attach do CBR ao TCP
- $cbr0 attach-agent $tcp0
- #Faz attach do NULL ao nó de destino
- $ns attach-agent $n2 $null0
- #Liga o TCP ao NULL
- $ns connect $tcp0 $null0
- } elseif {$protocol == "udp"} {
- #Faz attach do UDP ao nó de origem
- $ns attach-agent $n0 $udp0
- #Faz attach do CBR ao UDP
- $cbr0 attach-agent $udp0
- #Faz attach do NULL ao nó de destino
- $ns attach-agent $n2 $null0
- #Liga o UDP ao NULL
- $ns connect $udp0 $null0
- }
- $ns at 0.5 "$cbr0 start"
- $ns at 4.5 "$cbr0 stop"
- $ns at 5.0 fim
- $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement