📄 web-traffic.tcl
字号:
## Copyright (C) 1999 by USC/ISI# All rights reserved. # # Redistribution and use in source and binary forms are permitted# provided that the above copyright notice and this paragraph are# duplicated in all such forms and that any documentation, advertising# materials, and other materials related to such distribution and use# acknowledge that the software was developed by the University of# Southern California, Information Sciences Institute. The name of the# University may not be used to endorse or promote products derived from# this software without specific prior written permission.# # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.# # An example script that simulates web traffic. # See large-scale-web-traffic.tcl for a large-scale web traffic simulation.# Initial setup#source ../webcache/webtraf.tclsource dumbbell.tclglobal num_node nset ns [new Simulator]# set up colors for nam for {set i 1} {$i <= 30} {incr i} { set color [expr $i % 6] if {$color == 0} { $ns color $i blue } elseif {$color == 1} { $ns color $i red } elseif {$color == 2} { $ns color $i green } elseif {$color == 3} { $ns color $i yellow } elseif {$color == 4} { $ns color $i brown } elseif {$color == 5} { $ns color $i black }}# Create nam trace and generic packet trace$ns namtrace-all [open validate.nam w]# trace-all is the generic trace we've been using$ns trace-all [open validate.out w]create_topologyset pool [new PagePool/WebTraf]# Set up server and client nodes$pool set-num-client [llength [$ns set src_]]$pool set-num-server [llength [$ns set dst_]]global nset i 0foreach s [$ns set src_] { $pool set-client $i $n($s) incr i}set i 0foreach s [$ns set dst_] { $pool set-server $i $n($s) incr i}# Number of Pages per Sessionset numPage 10# Session 0 starts from 0.1s, session 1 starts from 0.2s$pool set-num-session 2# XXX Can't initialize instvars using something like:#set interPage [new RandomVariable/Exponential -avg_ 1]set interPage [new RandomVariable/Exponential] $interPage set avg_ 1set pageSize [new RandomVariable/Constant]$pageSize set val_ 1set interObj [new RandomVariable/Exponential]$interObj set avg_ 0.01set objSize [new RandomVariable/ParetoII]$objSize set avg_ 10$objSize set shape_ 1.2$pool create-session 0 $numPage 0.1 $interPage $pageSize $interObj $objSizeset interPage [new RandomVariable/Exponential]$interPage set avg_ 1set pageSize [new RandomVariable/Constant]$pageSize set val_ 1set interObj [new RandomVariable/Exponential]$interObj set avg_ 0.01set objSize [new RandomVariable/ParetoII]$objSize set avg_ 10$objSize set shape_ 1.2$pool create-session 1 $numPage 0.2 $interPage $pageSize $interObj $objSize$ns at 1000.0 "finish"proc finish {} { global ns $ns flush-trace puts "running nam..." exec nam validate.nam & exit 0}# Start the simualtion$ns run
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -