⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 web.tcl

📁 跑leach需要的
💻 TCL
字号:
# Web traffic generator by Sally Floydproc add_web_nodes {secondDelay variable} {  global ns opt  global nodes  global s_  global r_  global count  set i $count        if {$variable == 0} {                set delay2 [expr $secondDelay]                set delay2a [expr $secondDelay]        } else {                ## for traffic from the web traffic generator,                 ## each path ends up with roughly the same traffic fraction                ## So, to get the right distribution, we use more short delays.                set num [expr (($i)%10)/9.0]                ## num is a number between 0 and 1                set delay2 [expr 2*$secondDelay*pow($num,4)]                set delay2a [expr 2*$secondDelay*pow($num,4)]        }  set s_($i) [$ns node]  set r_($i) [$ns node]  if {$opt(printRTTs) == 1} {    puts "link delay web [format "%.2f" $delay2] [format "%.2f" $delay2a]"  }  set speed 1000  if {$opt(accessLink) == 1} {    if {$i%3==0} { set speed 100}    if {$i%3==0} { set speed 10}    if {$i%3==0} { set speed 1}  }  $ns duplex-link $s_($i) $nodes(ms) 1000Mb [expr $delay2]ms DropTail  $ns duplex-link $r_($i) $nodes(bs) [expr $speed]Mb [expr $delay2a]ms DropTail  incr count}# interpage: interPage# pagesize in # of objects: pageSize, rvPageSize_, new WebPage# interobject: interObj# objectsize (in # of pkts, I think): objSizeproc add_web_traffic {secondDelay nums interpage pagesize objectsize shape forward} {  global ns opt  global s_  global r_  global count  global pool        PagePool/WebTraf set FID_ASSIGNING_MODE_ 2        # gen/ns_tcl.cc, for 2, use sameFid_         # for 1, increment FID.        # for 0, use id_.        set pool [new PagePool/WebTraf]        $pool set-num-client $opt(numWebNodes)        $pool set-num-server $opt(numWebNodes)        # $pool set sameFid_ $count        $pool set sameFid_ 2        for {set i 0} {$i < $opt(numWebNodes)} {incr i} {                if {$forward == 1} {                        add_web_nodes $secondDelay $opt(rtts)                        $pool set-server $i $s_([expr $count - 1])                        $pool set-client $i $r_([expr $count - 1])                } elseif {$forward == 0} {                        $pool set-client $i $s_([expr $count - 1])                        $pool set-server $i $r_([expr $count - 1])                }        }        $pool set-num-session $nums        for {set i 0} {$i < $nums} {incr i} {          set interPage [new RandomVariable/Exponential]          $interPage set avg_ $interpage          set pageSize [new RandomVariable/Constant]          $pageSize set val_ $pagesize          set interObj [new RandomVariable/Exponential]          $interObj set avg_ [expr 0.01]          set objSize [new RandomVariable/ParetoII]          $objSize set avg_ $objectsize          $objSize set shape_ $shape          set tmp [new RandomVariable/Uniform]          set startTime [expr 1.0 * [$tmp value] * $opt(stop) ]          # Poisson start times for sessions.          # when does a web session end?          # puts [format "session $i startTime %0.3f" $startTime ]          $pool create-session $i $opt(numPage) $startTime $interPage $pageSize $interObj $objSize          # All of the web traffic uses the same packet size.          # webcache/webtraf.cc          # doc/webcache.tex          # Feldmann99a, Section 2.4, paragraph 3-4 and the appendix A.1.          # empweb/empftp.cc          # doc/session.tex          # When does each web session start?        }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -