NS2网络模拟(6)-homework02.tcl

  1: #NS2_有线部分\homework02.tcl
  2: 
  3: #Create a simulator object
  4: set ns [new Simulator]
  5: 
  6: #Define different colors for data flows
  7: $ns color 1 Blue
  8: $ns color 2 Red
  9: 
 10: #Open the nam trace file
 11: set nf [open szsh.nam w]
 12: $ns namtrace-all $nf
 13: 
 14: #Open the trace record file
 15: set nd [open szsh.tr w]
 16: $ns trace-all $nd
 17: 
 18: #Define a 'finish' procedure
 19: proc finish {} {
 20:     global ns nf nd
 21:     $ns flush-trace
 22:     #Close the trace file
 23:     close $nf
 24:     #Close the record file
 25:     close $nd
 26:     #Execute nam on the trace file
 27:     exec nam szsh.nam &
 28:     exit 0
 29: }
 30: 
 31: #Create two nodes
 32: set NODE_ShenZhen [$ns node]
 33: $NODE_ShenZhen color red
 34: $NODE_ShenZhen shape circle
 35: $NODE_ShenZhen label "ShenZhen"
 36: $NODE_ShenZhen label-color red
 37: $NODE_ShenZhen label-at up
 38: 
 39: set NODE_ShangHai [$ns node]
 40: $NODE_ShangHai color blue
 41: $NODE_ShangHai shape circle
 42: $NODE_ShangHai label "ShangHai"
 43: $NODE_ShangHai label-color blue
 44: $NODE_ShangHai label-at down
 45: 
 46: 
 47: #Create a duplex link between the nodes
 48: $ns duplex-link $NODE_ShenZhen $NODE_ShangHai 1Mb 100ms DropTail
 49: 
 50: #Monitor the queue for the link between node 2 and node 3
 51: $ns duplex-link-op $NODE_ShenZhen $NODE_ShangHai queuePos 0.5
 52: $ns duplex-link-op $NODE_ShenZhen $NODE_ShangHai color green
 53: $ns duplex-link-op $NODE_ShenZhen $NODE_ShangHai orient right
 54: 
 55: #Create a UDP agent and attach it to node NODE_ShenZhen
 56: set Agent_Sender [new Agent/UDP]
 57: $Agent_Sender set agent_addr_   1000
 58: $Agent_Sender set agent_port_   100
 59: $ns attach-agent $NODE_ShenZhen $Agent_Sender
 60: 
 61: ## Create a Exponential traffic source and attach it to Agent_Sender
 62: #set APP_EXP [new Application/Traffic/Exponential]
 63: #$APP_EXP set packetSize_    400
 64: #$APP_EXP set burst_time_    400ms
 65: #$APP_EXP set idle_time_     100ms
 66: #$APP_EXP set rate_          150kb
 67: #$APP_EXP attach-agent $Agent_Sender
 68: 
 69: set APP_PARETO [new Application/Traffic/Pareto]
 70: $APP_PARETO set packetSize_     400
 71: $APP_PARETO set burst_time_     400ms
 72: $APP_PARETO set idle_time_      100ms
 73: $APP_PARETO set rate_           100kb
 74: $APP_PARETO set shape_          1.2
 75: $APP_PARETO attach-agent $Agent_Sender
 76: 
 77: #Create a Null agent (a traffic sink) and attach it to node NODE_ShangHai
 78: set Agent_Receiver [new Agent/Null]
 79: $Agent_Receiver set dst_addr_   2000
 80: $Agent_Receiver set dst_port_   200
 81: $ns attach-agent $NODE_ShangHai $Agent_Receiver
 82: 
 83: #Connect the traffic source with the traffic sink
 84: $ns connect $Agent_Sender $Agent_Receiver
 85: 
 86: #Schedule events for the CBR agent
 87: $ns at 0.2 "$APP_PARETO start"
 88: $ns at 0.8 "$APP_PARETO stop"
 89: 
 90: #Call the finish procedure after 5 seconds of simulation time
 91: $ns at 1.0 "finish"
 92: 
 93: #Run the simulation
 94: $ns run
 95: 

posted on 2013-07-23 17:04  岚之山  阅读(137)  评论(0编辑  收藏  举报

导航