具体可以参见:http://sourceforge.net/projects/cdnsimulator/files/,该网址中给出的是ns-2.33版本的一个CDN仿真模块,安装也很方便。
首先,将下载的安装包解压,将下图所示红色框标记的文件拷贝到ns-allinone-2.33/目录下;
然后,执行命令:patch -p1 < ns2_cdn_extension.patch,执行命令前需要保证terminal中的路径是在ns-allinone-2.33/目录;
最后,进行重编译:./configure; make clean; make
10个节点的仿真脚本
set ns [new Simulator]
proc finish {} {
# exec gnuplot 0_plot10nodi.gp
# exec gnuplot 0_oh_plot10nodi.gp
# exec gnuplot 0_inst_oh_plot10nodi.gp
exit 0
}
############################## GLOBAL SETTINGS ################################
# #
# CDN ALGORITHM ("algo"): # OVERLAY TOPOLOGY ("topology"):
# #
# LL // Lowest Load: 0 # full mesh: 0
# RR // Round Robin: 1 # squares: 1
# RAND // Random: 2 # mista: 2
# R2C // Two Random Choise: 3 #
# SWL // Statistic Weighted Load: 4 #
# FSOB // Fictitius Starred: 5 #
set topology 0
set algo 2
set algo_rate 2
set totaltime 500
set initial_peak 75
set final_peak 450
#######################################################################################
set multiredirect 1
if {$algo==1} {set multiredirect 0}
if {$algo==2} {set multiredirect 0}
if {$algo==3} {set multiredirect 0}
#Server node creation ##############################################
set s0 [$ns node]
$s0 color green
$s0 label server_add:[$s0 id]
set s1 [$ns node]
$s1 color green
$s1 label server_add:[$s1 id]
set s2 [$ns node]
$s2 color green
$s2 label server_add:[$s2 id]
set s3 [$ns node]
$s3 color green
$s3 label server_add:[$s3 id]
set s4 [$ns node]
$s4 color green
$s4 label server_add:[$s4 id]
set s5 [$ns node]
$s5 color green
$s5 label server_add:[$s5 id]
set s6 [$ns node]
$s6 color green
$s6 label server_add:[$s6 id]
set s7 [$ns node]
$s7 color green
$s7 label server_add:[$s7 id]
set s8 [$ns node]
$s8 color green
$s8 label server_add:[$s8 id]
set s9 [$ns node]
$s9 color green
$s9 label server_add:[$s9 id]
#Links
$ns duplex-link $s0 $s1 1Mb 100ms DropTail
$ns duplex-link $s1 $s2 1Mb 100ms DropTail
$ns duplex-link $s2 $s3 1Mb 100ms DropTail
$ns d