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. embed-it_Integrator memory compile工具使用之三

    embed-it_Integrator memory compile工具使用之三 主要内容 分析使用脚本生成integrator识别的memory名字 主要资料 文档资料 memory限制参数 参考资 ...

  2. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

  3. 手机浏览器 input 输入框 数字

    其实很简单了啦 type="tel"就行了呢 如果是type="number"其实不好用

  4. Java NIO的基本概念与使用

    public class TestBuffer { /** * 一. 缓冲区 (Buffer):Java Nio中负责数据的 存取+缓冲就是数组.用于存储不同类型的数据 * * 根据类型不同(bool ...

  5. kvm 虚拟化概述及 virt-manager 安装虚拟机

    一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V ...

  6. How to use WinSCP with public key authentication

          http://www.techrepublic.com/blog/it-security/how-to-use-winscp-with-public-key-authentication/ ...

  7. [Grid Layout] Use auto-fill and auto-fit if the number of repeated grid tracks is not to be def

    What about the situation in which we aren’t specifying the number of columns or rows to be repeated? ...

  8. ios开发不能不知的动态修复bug补丁第三方库JSPatch 使用学习:JSPatch导入、和使用、.js文件传输加解密

    JSPatch ios开发不能不知的动态修复bug补丁第三方库JSPatch 使用学习:JSPatch导入.和使用..js文件传输加解密 ios开发面临审核周期长,修复bug延迟等让人无奈的问题,所以 ...

  9. Android 调整透明度的图片查看器

    本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下:  main.xml部分代码如下: <?xml version="1.0" encoding ...

  10. 【codeforces 757B】 Bash's Big Day

    time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...