# create 100 number of router nodes and attach a random number (between 4
and 8) of leaf nodes to each router
set randleaf [new RandomVariable/Uniform]
# random number generator for leaf nodes
$randleaf set min_ 4
$randleaf set max_ 8
set randcap [new RandomVariable/Uniform]
#random number generator for distribution of peer access bandwidth
$randcap set min_ 0
$randcap set max_ 10
set randdelay [new RandomVariable/Uniform]
#random number generator for access link delay
$randdelay set min_ 10
$randdelay set max_ 80
for {set i 0} {$i < 100} {incr i}
{
set n($i) [$ns node]
set nleaf [$randleaf value]
for {set j 0} {$j < $nleaf} {incr j} {
set pcap [$randcap value]
if {$pcap < 1 } {
set cap "100Mb"
}
if {$pcap >=1 && $pcap < 3 } {
set cap "10Mb"
}
if {$pcap >=3 && $pcap < 8 } {
set cap "1.5Mb"
}
if {$pcap >=8 } {
set cap "56Kb"
}
set nl($cnt) [$ns node]
set delay [$randdelay value]
set ndelay ${delay}ms
$ns duplex-link $n($i) $nl($cnt) $cap $ndelay DropTail
incr cnt
}
}