📄 audio-video-bt.tcl
字号:
## A wireless lan scenario with audio, video traffic over udp and background# backlogged traffic(TCP, udp)### defaults#set ppktsize 1280 ;# pktsize of phone streams#set pinterval 5msset ppktsize 160 ;# pktsize of phone streamsset pinterval 20msset vpktsize 1280 ;# pktsize of video streamsset vinterval 10msset pktsize 200 ;# pktsize for background trafficset udp_interval 12.5ms#set num_nodes [lindex $argv 0] ;# number of mobilenodes in the scenario ****lamiasource sources.tclglobal num_nodesset num_bss_nodes 0 ;# adhoc mode and the Priority LevelsPLevels set max_plevels_ 3 PLevels set plevels_ 3PHY_MIB set CWMin_0 5PHY_MIB set CWOffset_0 0PHY_MIB set CWMax_0 200 ;#LamiaPHY_MIB set CWMin_1 15PHY_MIB set CWOffset_1 0PHY_MIB set CWMax_1 600 ;#LamiaPHY_MIB set CWMin_2 31PHY_MIB set CWOffset_2 0PHY_MIB set CWMax_2 1023 ;#Lamia# MAC_MIB set new_method 1 ;# ni: difs_i is used as DIFS= SIFS + i* Slot_timeset difs_0 1set difs_1 2set difs_2 3proc create_scenario { } { global ns_ node_ num_nodes endtime global pnum ppktsize pinterval global vnum vpktsize vinterval udp_interval global pktsize set pri 0# real ending time set endtime 15 #set t 0 set fl_id 0 set rng [new RNG] $rng uniform 0 1########################################################## # Setup Phone flows for {set i 0} {$i <[expr $num_nodes ] } {incr i} { #in oder to get right ARP and correct results, we need to start the simulation after 3 seconds #set start_time 3 set start_time [expr 3+ [$rng uniform 0.001 0.002]] set node_src $i if {$i < [expr $num_nodes - 1]} { set node_sink [expr $i +1] } else { set node_sink 0 } set finishtime [expr $endtime - 0] build-cbr $node_($node_src) $node_($node_sink) $ppktsize $pinterval 0 $fl_id $start_time $finishtime $pri puts "P$i with pktsize $ppktsize flows $fl_id from Node$node_src to Node$node_sink every $pinterval" puts "node $i flow $fl_id's starting time is: $start_time" incr fl_id # interval is used for every this period we increase one station set incr_interval 2 } #set t 0 incr pri######################################################################################## # Setup Video flows for {set i 0} {$i < [expr $num_nodes]} {incr i} { #set start_time 3 set start_time [expr 3+ [$rng uniform 0.001 0.003]] set node_src $i if {$i < [expr $num_nodes - 1]} { set node_sink [expr $i +1] } else { set node_sink 0 } set finishtime [expr $endtime - 0 ] build-cbr $node_($node_src) $node_($node_sink) $vpktsize $vinterval 0 $fl_id $start_time $finishtime $pri puts "V$i with pktsize $vpktsize flows $fl_id from Node$i to Node $node_sink every $vinterval" puts $start_time incr fl_id set incr_interval 2 #set t [expr $t + $incr_interval] } incr pri ################### trafic to one station ######################### # Setup Background flows puts "TCP and UDP priority is $pri" for {set i 0} { $i < $num_nodes} {incr i} { set start_time [expr 3 + [$rng uniform 0.002 0.01]] set node_src $i if {$i < [expr $num_nodes - 1]} { set node_sink [expr $i +1] } else { set node_sink 0 } set finishtime [expr $endtime - 0 ] build-cbr $node_($node_src) $node_($node_sink) $pktsize $udp_interval 0 $fl_id $start_time $finishtime $pri #build-tcp "TCP" $node_($node_src) $node_($node_sink) $pktsize 20 $fl_id $start_time $endtime $fl_id $pri puts "B$i with pktsize $pktsize flows $fl_id from Node$i to Node $node_sink every $udp_interval" puts $start_time incr fl_id }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -