1: #NS2_有线部分\homework03.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:
 32: #Create two nodes
 33: set NODE_ShenZhen [$ns node]
 34: $NODE_ShenZhen color red
 35: $NODE_ShenZhen shape circle
 36: $NODE_ShenZhen label "ShenZhen"
 37: $NODE_ShenZhen label-color red
 38: $NODE_ShenZhen label-at up
 39:
 40: set NODE_ShangHai [$ns node]
 41: $NODE_ShangHai color blue
 42: $NODE_ShangHai shape circle
 43: $NODE_ShangHai label "ShangHai"
 44: $NODE_ShangHai label-color blue
 45: $NODE_ShangHai label-at down
 46:
 47:
 48: #Create a duplex link between the nodes
 49: $ns duplex-link $NODE_ShenZhen $NODE_ShangHai 1Mb 100ms DropTail
 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: ##TCP Traffic from NODE_ShangHai to NODE_ShenZhen
 56: #Create a TCP agent and attach it to node NODE_ShangHai
 57: set Agent_Sender_TCP [new Agent/TCP]
 58: $Agent_Sender_TCP set class_    2
 59: $Agent_Sender_TCP set fid_      1
 60: $Agent_Sender_TCP set window_   20
 61: $ns attach-agent $NODE_ShangHai $Agent_Sender_TCP
 62: # Create a FTP source and attach it to Agent_Sender_TCP
 63: set APP_FTP [new Application/FTP]
 64: $APP_FTP attach-agent $Agent_Sender_TCP
 65: $APP_FTP set type_  FTP
 66: #Create a TCPSink agent and attach it to node NODE_ShenZhen
 67: set Agent_Receiver_TCPSink [new Agent/TCPSink]
 68: $ns attach-agent $NODE_ShenZhen $Agent_Receiver_TCPSink
 69: $ns connect $Agent_Sender_TCP $Agent_Receiver_TCPSink
 70:
 71: ##UDP Traffic from NODE_ShenZhen to NODE_ShangHai
 72: #Create a UDP agent and attach it to node NODE_ShenZhen
 73: set Agent_Sender_UDP [new Agent/UDP]
 74: $Agent_Sender_UDP set agent_addr_   1000
 75: $Agent_Sender_UDP set agent_port_   100
 76: $Agent_Sender_UDP set fid_          2
 77: $ns attach-agent $NODE_ShenZhen $Agent_Sender_UDP
 78: ## Create a Exponential traffic source and attach it to Agent_Sender_UDP
 79: #set APP_EXP [new Application/Traffic/Exponential]
 80: #$APP_EXP set packetSize_    400
 81: #$APP_EXP set burst_time_    400ms
 82: #$APP_EXP set idle_time_     100ms
 83: #$APP_EXP set rate_          150kb
 84: #$APP_EXP attach-agent $Agent_Sender_UDP
 85: #set APP_PARETO [new Application/Traffic/Pareto]
 86: #$APP_PARETO set packetSize_     400
 87: #$APP_PARETO set burst_time_     400ms
 88: #$APP_PARETO set idle_time_      100ms
 89: #$APP_PARETO set rate_           200kb
 90: #$APP_PARETO set shape_          1.2
 91: #$APP_PARETO attach-agent $Agent_Sender_UDP
 92: set APP_CBR [new Application/Traffic/CBR]
 93: $APP_CBR set packetSize_    1000
 94: $APP_CBR set burst_time_    500ms
 95: $APP_CBR set idle_time_     100ms
 96: $APP_CBR set rate_          1050kb
 97: $APP_CBR set random_        On
 98: $APP_CBR attach-agent $Agent_Sender_UDP
 99: #Create a Null agent (a traffic sink) and attach it to node NODE_ShangHai
100: set Agent_Receiver_NULL [new Agent/Null]
101: $Agent_Receiver_NULL set dst_addr_   2000
102: $Agent_Receiver_NULL set dst_port_   200
103: $ns attach-agent $NODE_ShangHai $Agent_Receiver_NULL
104:
105: #Connect the traffic source with the traffic sink
106: $ns connect $Agent_Sender_UDP $Agent_Receiver_NULL
107:
108: #Schedule events for the CBR agent
109: $ns at 0.2 "$APP_FTP start"
110: $ns at 0.5 "$APP_CBR start"
111: $ns at 7.5 "$APP_CBR stop"
112: $ns at 9.7 "$APP_FTP stop"
113:
114:
115: #Call the finish procedure after 5 seconds of simulation time
116: $ns at 10.0 "finish"
117:
118: #Run the simulation
119: $ns run
120: 

NS2网络模拟(7)-homework03.tcl的更多相关文章

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

    1: #NS2_有线部分\homework02.tcl 2: 3: #Create a simulator object 4: set ns [new Simulator] 5: 6: #Define ...

  2. NS2网络模拟(5)-homework01.tcl

    1: #NS2_有线部分\homework01.tcl 2: 3: #创建两个结点,深圳到北京的TCP连接,图形将数据显示出来,计算吞吐率,画图分析 4: #tcp上层用ftp 5: #udp上层用c ...

  3. NS2网络模拟(4)-吞吐率图

    1: #NS2_有线部分\ForGnuplot.plot 2: 3: #gnuplot> 4: #set xtics 0, 1, 10 5: set grid 6: set xrange [0: ...

  4. NS2网络模拟(3)-吞吐率

    1: #NS2_有线部分\Throughput.awk 2: 3: BEGIN { 4: #Initialize the variable 5: init = 0; 6: i = 0; 7: } 8: ...

  5. NS2网络模拟(2)-丢包率

    1: #NS2_有线部分\LossRate.awk 2: 3: BEGIN { 4: #Initialize the variable 5: Lost = 0; #the Sum of Lost pa ...

  6. NS2网络模拟(1)-延迟

    1: #NS2_有线部分\EndDelay.awk 2: 3: BEGIN { 4: #Initialize the variable 5: MaxID = 0; 6: i = 0; 7: } 8: ...

  7. ns2的第一个tcl脚本

    set ns [new Simulator] set tracef [open example1.tr w]$ns trace-all $tracefset namtf [open example1. ...

  8. 【NS2】WiMAX_NS2说明文档(转载)

    关于目前NS2中WiMAX模块的说明 (1)美国NIST(National Institute of Standards and Technology)版, 可以从NIST主页获得,2007.04 r ...

  9. 【NS2】ubuntu安装和同时使用不同版本的ns2(转载)

    有时候我们可能会遇到要同时安装两个ns版本的问题,比如我研究wimax/802.16,因为协议太复杂,用的是长庚大学和nist的wimax补丁.长庚大学的wimax补丁是在ns2.29下开发的,nis ...

随机推荐

  1. client、server端编程

    首先是从main函数开发: int main(itn argc,char* argv[]) { pthread_t thread; int count; int status;         cli ...

  2. 如何搭建自己CDN服务器

    转载:http://server.zzidc.com/fwqpz/587.html 目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早.但因免费的节点不多,好多用户都被强走了.安全宝 ...

  3. Android屏幕信息获取

    Android中有时需要获取屏幕的size信息以便对控件位置进行动态控制,最近做了一些研究,现在将获取屏幕大小信息的方法总结如下,可能存在一些地方理解的不全面. 1.getMetrics Displa ...

  4. ZOJ 3168 Sort ZOJ7 水

    再水一发,舍友肿么还在睡T T. ---------------------------------舍友还在睡觉的分割线--------------------------------- http:/ ...

  5. Vue源码--解读vue响应式原理

    原文链接:https://geniuspeng.github.io/2018/01/05/vue-reactivity/ Vue的官方说明里有深入响应式原理这一节.在此官方也提到过: 当你把一个普通的 ...

  6. ExtJs中window用法

    1.显示html var htmlTitle = "<div style='width:100%;text-align:center'>"; var fruits = ...

  7. POJ1659Frogs&#39; Neighborhood(lavel定理)

    Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 7260   Accepted: 31 ...

  8. win7注册表常用设置

    win7注册表常用设置 一.总结 一句话总结:regedit可以修改很多东西,电脑时间,背景,u盘读写,鼠标右键情况. 二.win7注册表常用设置 一. 秀出自我风格的屏幕保护画面 1.气泡屏幕保护 ...

  9. [NPM] Pass arguments to npm scripts

    Often times you’ll have variations that you’ll want to make to your npm scripts and repeating yourse ...

  10. java 替换json字符串中间的引号保留两边的引号,避免json校验失败

    一.json概要 JSON(JavaScript Object Notation, JS 对象标记)-一种轻量级的数据交换标准(相对xml),独立于编程语言.具体以逗号分隔的key:value键值对的 ...