- 浏览: 896658 次
- 性别:
- 来自: 太原
文章分类
- 全部博客 (198)
- Linux/Unix (38)
- TinyOS / NS-2 for『WSN』 (44)
- 思想的拼图 (5)
- 开源 OpenSource (2)
- Framework 开发框架 (0)
- Software Engineering 软件工程 (2)
- IT项目管理 (6)
- Networking 网络技术 (2)
- Java (6)
- C语言 ANSI C (22)
- .NET / C# (9)
- C++ (12)
- Web 语言 Html/Xml (5)
- Groovy on Grails (1)
- Algorithm 算法 (1)
- Database 数据库技术 (5)
- Tools (21)
- VM 虚拟机 (3)
- WSN (wireless sensor network) (2)
- Linux 命令专辑 (3)
- PHP (0)
- 办公软件 (3)
最新评论
-
cfczdws:
感谢楼主,查了半天终于发现居然是htmlentities()做 ...
htmlentities()函数把中文转成了乱码 -
decoxiaohan:
这本书的名字 有谁知道????~~~
OMNeT++中文用户手册(完全版) -
huonie:
怎么下载啊
OMNeT++中文用户手册(完全版) -
huonie:
没有内容啊
OMNeT++中文用户手册(完全版) -
kyx0413:
谢谢先 先看看
OMNeT++中文用户手册(完全版)
RED Queue Monitor Example
Example 5中OTcl脚本建立了网络拓扑并运行Figure 15所描述的模拟场景。
备注RED队列可以持有最多25个数据包用于连接r1-r2, 并且我们可以看到RED队列如何通过测量当前队列大小和平均队列大小的动态变化来运行。
Figure 15. RED Queue Monitor Example Setup
- 高级的模拟对象的成员函数create-connection用来建立TCP连接。
- 在tracing a queue(monitoring)那段代码中, 首先给variable带入RED queue对象, 调用它的成员函数trace去监听当前队列大小(curq_)和平均队列大小(avg_), 然后让他们把结果写入到"all.q"文件中。下面是两个队列追踪信息输出的格式,分别是平均队列大小average queue size和当前队列大小current queue size.
a time avg_q_size Q time crnt_q_size |
当模拟完成时,除了关闭"all.q"文件的以外,所有RED队列监听需要的命令都已经完成, 所以剩下的工作就是设计并编写post-simulation处理。 这个脚本使用awk去把监听信息转换到XGraph(a plotter)输入的格式, 然后启动它去根据已给信息画出分析图(见 Figure 16)。
Figure 16. Red Queue Trace Graph
red.tcl代码
# Polly Huang 8-7-98 set ns [new Simulator] # # Create a simple six node topology: # # s1 s3 # \ / # 10Mb,2ms \ 1.5Mb,20ms / 10Mb,4ms # r1 --------- r2 # 10Mb,3ms / \ 10Mb,5ms # / \ # s2 s4 # set node_(s1) [$ns node] set node_(s2) [$ns node] set node_(r1) [$ns node] set node_(r2) [$ns node] set node_(s3) [$ns node] set node_(s4) [$ns node] $ns duplex-link $node_(s1) $node_(r1) 10Mb 2ms DropTail $ns duplex-link $node_(s2) $node_(r1) 10Mb 3ms DropTail $ns duplex-link $node_(r1) $node_(r2) 1.5Mb 20ms RED $ns queue-limit $node_(r1) $node_(r2) 25 $ns queue-limit $node_(r2) $node_(r1) 25 $ns duplex-link $node_(s3) $node_(r2) 10Mb 4ms DropTail $ns duplex-link $node_(s4) $node_(r2) 10Mb 5ms DropTail $ns duplex-link-op $node_(s1) $node_(r1) orient right-down $ns duplex-link-op $node_(s2) $node_(r1) orient right-up $ns duplex-link-op $node_(r1) $node_(r2) orient right $ns duplex-link-op $node_(r1) $node_(r2) queuePos 0 $ns duplex-link-op $node_(r2) $node_(r1) queuePos 0 $ns duplex-link-op $node_(s3) $node_(r2) orient left-down $ns duplex-link-op $node_(s4) $node_(r2) orient left-up set tcp1 [$ns create-connection TCP/Reno $node_(s1) TCPSink $node_(s3) 0] $tcp1 set window_ 15 set tcp2 [$ns create-connection TCP/Reno $node_(s2) TCPSink $node_(s3) 1] $tcp2 set window_ 15 set ftp1 [$tcp1 attach-source FTP] set ftp2 [$tcp2 attach-source FTP] # Tracing a queue set redq [[$ns link $node_(r1) $node_(r2)] queue] set tchan_ [open all.q w] $redq trace curq_ $redq trace ave_ $redq attach $tchan_ $ns at 0.0 "$ftp1 start" $ns at 3.0 "$ftp2 start" $ns at 10 "finish" # Define 'finish' procedure (include post-simulation processes) proc finish {} { global tchan_ set awkCode { { if ($1 == "Q" && NF>2) { print $2, $3 >> "temp.q"; set end $2 } else if ($1 == "a" && NF>2) print $2, $3 >> "temp.a"; } } set f [open temp.queue w] puts $f "TitleText: red" puts $f "Device: Postscript" if { [info exists tchan_] } { close $tchan_ } exec rm -f temp.q temp.a exec touch temp.a temp.q exec awk $awkCode all.q puts $f \"queue exec cat temp.q >@ $f puts $f \n\"ave_queue exec cat temp.a >@ $f close $f exec xgraph -bb -tk -x time -y queue temp.queue & exit 0 } $ns run
发表评论
-
几种用于WSN的仿真工具
2009-12-09 15:26 4241为评价无线传感器网络协议算法的性能,仅通过实验是无法实现的,特 ... -
OMNeT++中文用户手册(完全版)
2009-11-18 22:36 16647http://www.netforum.com.cn/view ... -
改变Telos 系列节点Serial baud rate
2009-08-21 18:50 2198如果节点与PC通信时出现非正常丢包或者serial不稳定当收包 ... -
TinyOS编译问题
2009-08-18 20:47 13241. 有时候编译提示找不到某个文件时, 可能是由于在linux ... -
改变节点transmission power, radio power level (tx_power)
2009-08-11 20:03 4317使用 CC2420Packet 中 setPower 来改变每 ... -
Tcl/tk 小记
2009-07-22 23:43 15331. 检查variable变量是否声明 在使用Tcl时候会经常 ... -
NS无线仿真中无法设置节点颜色的解决方案
2009-07-22 18:57 1935NS中提供了配置节点与 ... -
awk: malloc(): memory corruption 错误
2009-07-09 21:56 7250问题如下: *** glibc detected *** aw ... -
ns2 对无线网络模拟
2009-07-06 19:52 2663在模拟无线网络时需要对tcl模拟脚本文件的参数进行设置,比如P ... -
使用Gnuplot 绘制ns2模拟结果图
2009-06-25 17:48 8215Gnuplot(command-driven inter ... -
ns2模拟无线网络的NAM动画
2009-06-24 22:26 5010无线的各个参数 ####################### ... -
ns2 模拟WSN协议之手记
2009-06-23 23:55 2958ns2中模拟WSN,用Timestamp时间戳计算点对点Del ... -
ns2 中得到Agent的实例
2009-06-16 21:02 2914下面代码说明了如何访问其他节点的Agent,以AODV协议为例 ... -
TinyOS使用MIG时报错!
2009-04-06 01:30 1829在Makefile中加入启用MIG的选项后,编译出现一下错误: ... -
Tinyos 2.0 笔记小结(1)
2009-03-16 20:11 23661. configure组件注意事项 一般在confi ... -
Tinyos 2.0使用笔记
2009-03-06 19:48 27931.编译与安装程序到节点 引用 $ make mica2 ... -
Tinyos 中常用术语
2009-03-05 03:32 1095EOFF 关断能量损耗 用于 device off, stop ... -
什么是 nx_ type
2009-03-01 03:29 1515nx_ types 是在nesC 1.2,tinyos中用到的 ... -
TinyOS 下安装 JNI 的问题
2009-02-25 00:05 32261. "java not found, not i ... -
『TinyOS』学习笔记 #11?
2009-02-20 01:09 3811Lesson 11 TOSSIM Compiling ...
相关推荐
在本篇“NS by Example 笔记(12)Add New Queue”中,我们将探讨如何在计算机网络模拟软件NS-2(Network Simulator 2)中添加新的队列管理器。NS-2是一款广泛用于研究和教学的开源网络模拟工具,它允许用户模拟各种...
标题中的"red-queue.zip_NS2 red_RED NS2_ns2_red queue_red tcl"部分,主要涉及了几个关键概念:NS2、RED算法以及TCL脚本语言。这些概念都是网络模拟领域的核心元素。 首先,NS2(Network Simulator 2)是一个广泛...
THis is an example source code for the queue implemented by systemc.
在本文中,我们将深入探讨Laravel开发中的一个关键组件——`laravel-queue-monitor`,这是一个专门用于监视队列作业的Laravel包。队列在Web应用开发中扮演着重要角色,尤其在处理耗时任务时,它们可以提高应用程序的...
这个"tcl.rar_NS2 red_TCL简单代码_ns2_queue_queue_简单_red"的压缩包包含了一个使用TCL实现的RED和Droptail队列的源代码示例。通过这些脚本,我们可以学习如何在NS2中设置和操作这两种队列。 具体到TCL代码,可能...
### NS by Example: A Comprehensive Guide for Beginners #### Introduction NS (version 2) is an advanced and powerful network simulator developed at the University of California, Berkeley. It is ...
The RED queue monitor example demonstrates how to configure and analyze the performance of RED queues in NS. Example Utilities NS provides several built-in utilities, such as nsnam, which converts ...
this file represents a red queue algorithm that used in ad-hoc network , s file is written by tool command language TCL represents a wire ad hoc network with three nodes connected together by ftp ...
* 消息消费者从queue中取出并且消费消息 * 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息 * queue中支持存在多个消费者,但是对一个消费者而言,只会有一个消费者可以消费,...
composer require romanzipp/laravel-queue-monitor 配置 将配置和迁移复制到您的项目: php artisan vendor:publish --provider="romanzipp\QueueMonitor\Providers\QueueMonitorProvider" 迁移队列监视表。 可以...
总之,TeamViewer API Example Service Queue.zip提供了一个实践平台,帮助开发者熟悉TeamViewer API的使用,从而能够更高效地集成远程访问功能到他们的应用或系统中。通过学习和研究这个压缩包中的内容,你可以掌握...
在NS2(网络模拟器2,Network Simulator 2)中,队列管理是网络模型中的一个关键组件,它负责处理到达的数据包,并决定它们的发送顺序。本压缩包"fred.rar"包含的是针对FRED(Fairness in Random Early Detection)...
The Python 3 Standard Library by Example (Developer's Library) by Doug Hellmann English | 12 Jun. 2017 | ASIN: B072QZZDV7 | 1456 Pages | AZW3 | 199.27 MB This is the eBook of the printed book and may...
在本文中,我们将深入探讨Laravel框架中的队列监控,主要基于提供的压缩包"laravel-queue-monitor .zip"。Laravel是一个优雅的PHP web应用框架,它提供了一系列强大的工具来帮助开发者更高效地构建高质量的web应用。...
7. **并发和多线程**:`threading`模块提供了多线程支持,`concurrent.futures`模块则提供了一种更高级的并发执行接口。`queue`模块用于线程间的同步和通信。 8. **错误和异常处理**:`traceback`模块用于追踪和...