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. Envelope

    IEnvelope Interface Provides access to methods and properties of envelopes. Note: the IEnvelope inte ...

  2. GitHub的repository的相关操作

    原文地址 https://www.jianshu.com/p/038e8ba10e45 1.准备工作 a.有自己的GitHub账号(https://github.com/)b.在自己本地有安装git软 ...

  3. (十三)RabbitMQ消息队列-VirtualHost与权限管理

    原文:(十三)RabbitMQ消息队列-VirtualHost与权限管理 VirtualHost 像mysql有数据库的概念并且可以指定用户对库和表等操作的权限.那RabbitMQ呢?RabbitMQ ...

  4. eclipse去掉js验证

    第一步:去除eclipse的js验证:window->preference->Java Script->Validator->Errors/Warnings->Enabl ...

  5. Struts(22)标签库具体解释

    要使用Struts2的标签,仅仅须要在JSP页面加入例如以下一行定义就可以: <%@ taglib prefix="s" uri="/struts-tags&quo ...

  6. HTTP协议和HTTPS协议初探

    概况 HTTP是hypertext transfer protocol(超文本传输协议)的简写.它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEBserver之间交换数据的过程. HT ...

  7. php求二叉树的深度(1、二叉树就可以递归,因为结构和子结构太相似)(2、谋而后动,算法想清楚,很好过的)

    php求二叉树的深度(1.二叉树就可以递归,因为结构和子结构太相似)(2.谋而后动,算法想清楚,很好过的) 一.总结 1.二叉树就可以递归,因为结构和子结构太相似 2.谋而后动,算法想清楚,很好过的 ...

  8. php 上传文件大小控制配置文件中设置的

    Windows 环境下的修改方法 ================================================================第一步:修改在php5下POST文件大 ...

  9. Spring-boot更改成war包的方式

    转载至:  https://blog.csdn.net/zhuwei_clark/article/details/82114102  Step1 修改启动类 Step2 修改配置文件为properti ...

  10. PatentTips - Method and system for browsing things of internet of things on ip using web platform

    BACKGROUND The following disclosure relates to a method and system for enabling a user to browse phy ...