NS2网络模拟(7)-homework03.tcl
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的更多相关文章
- NS2网络模拟(6)-homework02.tcl
1: #NS2_有线部分\homework02.tcl 2: 3: #Create a simulator object 4: set ns [new Simulator] 5: 6: #Define ...
- NS2网络模拟(5)-homework01.tcl
1: #NS2_有线部分\homework01.tcl 2: 3: #创建两个结点,深圳到北京的TCP连接,图形将数据显示出来,计算吞吐率,画图分析 4: #tcp上层用ftp 5: #udp上层用c ...
- NS2网络模拟(4)-吞吐率图
1: #NS2_有线部分\ForGnuplot.plot 2: 3: #gnuplot> 4: #set xtics 0, 1, 10 5: set grid 6: set xrange [0: ...
- NS2网络模拟(3)-吞吐率
1: #NS2_有线部分\Throughput.awk 2: 3: BEGIN { 4: #Initialize the variable 5: init = 0; 6: i = 0; 7: } 8: ...
- NS2网络模拟(2)-丢包率
1: #NS2_有线部分\LossRate.awk 2: 3: BEGIN { 4: #Initialize the variable 5: Lost = 0; #the Sum of Lost pa ...
- NS2网络模拟(1)-延迟
1: #NS2_有线部分\EndDelay.awk 2: 3: BEGIN { 4: #Initialize the variable 5: MaxID = 0; 6: i = 0; 7: } 8: ...
- ns2的第一个tcl脚本
set ns [new Simulator] set tracef [open example1.tr w]$ns trace-all $tracefset namtf [open example1. ...
- 【NS2】WiMAX_NS2说明文档(转载)
关于目前NS2中WiMAX模块的说明 (1)美国NIST(National Institute of Standards and Technology)版, 可以从NIST主页获得,2007.04 r ...
- 【NS2】ubuntu安装和同时使用不同版本的ns2(转载)
有时候我们可能会遇到要同时安装两个ns版本的问题,比如我研究wimax/802.16,因为协议太复杂,用的是长庚大学和nist的wimax补丁.长庚大学的wimax补丁是在ns2.29下开发的,nis ...
随机推荐
- 单机/伪分布式Hadoop2.4.1安装文档 2014-07-08 21:16 2275人阅读 评论(0) 收藏
转载自官方文档,最新版请见:http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/SingleCluster.h ...
- centos-mirrors
http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/Packages/ http://mirrors.aliyun.com/centos/7.2.1 ...
- c#List泛型数据扩展,把List<>型数据格式化成List<SelectListItem>,用来作dropdownlist的数据
代码例如以下 public static List<SelectListItem> CreateSelect<T>(this IList<T> t, string ...
- 关于pptpd log日志文件的配置
如何开启pptpd默认日志记录功能. 修改/etc/ppp/options.pptpd中的nologfd,默认没有开,把nologfd注释掉,然后添加 logfile /var/log/pptpd.l ...
- 从0到1打造直播 App(直播流程介绍整理 <mark><转>)
注明:原创 2016-10-27 李智文 腾讯Bugly 概要 分享内容: 互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……..从直播1.0秀场时代(YY),2.0游戏直播(斗 ...
- Scrapy系列教程(1)------命令行工具
默认的Scrapy项目结构 在開始对命令行工具以及子命令的探索前,让我们首先了解一下Scrapy的项目的文件夹结构. 尽管能够被改动,但全部的Scrapy项目默认有类似于下边的文件结构: scrapy ...
- 【机器学习实战】第8章 预测数值型数据:回归(Regression)
第8章 预测数值型数据:回归 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/ ...
- Python爬虫突破封禁的6种常见方法
转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...
- Android中的后台邮件发送
一.调用邮件发送工具类进行邮件发送 new Thread(){ public void run() { try { GMailSender sender = new GMailSender( &quo ...
- Excel、记事本数据导入到数据库
将手机号批量导入数据库.思路:先将要导入的文件传上项目里,然后读取文件的每行数据并插入数据库,操作完后再将上传的文件删除 文件示例: Excel: 记事本: 前台代码: <div class ...