[ns] how to designate the route of a flow in ns?

=?gb2312?B?zfW9oQ==?= ys02241022 at student.ecnu.edu.cn
Sun May 9 19:51:30 PDT 2004


hi, all
here is my script, i'd like to let cbr1 to flow m1->s1->v1,
and cbr2 to flow m1->s2->v1,and cbr3 to flow m1->s3->v1,and cbr4 to flow m1->v1.
then how can I do this ?
thanks a lot.

#********************************************************************
set ns [new Simulator]

set m1 [$ns node]
set v1 [$ns node]

set s1 [$ns node]
set s2 [$ns node]
set s3 [$ns node]


set f [open out.nam w]
$ns namtrace-all $f

$ns simplex-link $m1 $s1 100Mb 1ms RED
$ns simplex-link $m1 $s2 100Mb 1ms RED
$ns simplex-link $m1 $s3 100Mb 1ms RED

$ns simplex-link $m1 $v1 10Mb 2ms RED

$ns simplex-link-op $m1 $s1 queuePos 0.5
$ns simplex-link-op $m1 $s2 queuePos 0.5
$ns simplex-link-op $m1 $s3 queuePos 0.5

$ns simplex-link $s1 $v1 10Mb 2ms RED
$ns simplex-link $s2 $v1 10Mb 2ms RED
$ns simplex-link $s3 $v1 10Mb 2ms RED

$ns simplex-link-op $s1 $v1 queuePos 0.5
$ns simplex-link-op $s2 $v1 queuePos 0.5
$ns simplex-link-op $s3 $v1 queuePos 0.5

#$ns queue-limit $m1 $s1 2

$ns simplex-link $v1 $m1 10Mb 2ms RED


set udp1 [new Agent/UDP]
$udp1 set class_ 0
#$udp1 set packetSize_ 125
#$udp1 set dst_addr_ [$v1 id]

set udp2 [new Agent/UDP]
$udp2 set class_ 0
#$udp2 set packetSize_ 500
#$udp2 set dst_addr_ [$s1 id]

set udp3 [new Agent/UDP]
$udp3 set class_ 0
#$udp3 set packetSize_ 125
#$udp3 set dst_addr_ [$s2 id]

set udp4 [new Agent/UDP]
$udp4 set class_ 0
#$udp4 set packetSize_ 125
#$udp4 set dst_addr_ [$s3 id]

set sink [new Agent/Null]

$ns attach-agent $m1 $udp1
$ns attach-agent $m1 $udp2
$ns attach-agent $m1 $udp3
$ns attach-agent $m1 $udp4

$ns attach-agent $v1 $sink

$ns connect $udp1 $sink
$ns connect $udp2 $sink
$ns connect $udp3 $sink
$ns connect $udp4 $sink


set cbr1 [new Application/Traffic/CBR]
$cbr1 attach-agent $udp1
#$cbr1 set interval_ 0.5
$cbr1 set maxpkts_ 1
$cbr1 set packetSize_ 125

set cbr2 [new Application/Traffic/CBR]
$cbr2 attach-agent $udp2
$cbr2 set interval_ 0.5
$cbr2 set maxpkts_ 1
$cbr2 set packetSize_ 500

set cbr3 [new Application/Traffic/CBR]
$cbr3 attach-agent $udp3
$cbr3 set interval_ 0.5
$cbr3 set maxpkts_ 1
$cbr3 set packetSize_ 125

set cbr4 [new Application/Traffic/CBR]
$cbr4 attach-agent $udp4
$cbr4 set interval_ 0.5
$cbr4 set maxpkts_ 1
$cbr4 set packetSize_ 125


$ns at 1.0 "$cbr1 start"
$ns at 1.0 "$cbr2 start"
$ns at 1.0 "$cbr3 start"
$ns at 1.0 "$cbr4 start"


$ns at 5.0 "finish"

proc finish {} {
	global ns f
	$ns flush-trace
	close $f
	exec nam out.nam &
	exit 0
}




More information about the Ns-users mailing list