- 浏览: 899668 次
- 性别:
- 来自: 太原
-
文章分类
- 全部博客 (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++中文用户手册(完全版)
Network Components 网络组件
Figure 6 显示了NS中部分OTcl类的等级结构。
Figure 6. Class Hierarchy (Partial)
层级的根节点是TclObject 类, 它是所有OTcl 库对象(scheduler, network components, timers and the other objects including NAM related ones)的超类superclass。NsObject类是所有基础网络组件对象的超类,它负责处理数据包,也可以用于构成复合的网络对象(compound network object)例如节点和连接。根据可能输出的data path的数量,基础网络组件可进一步地分成2类Connector 和 Classifier 。如果只有一个输出的data path则是Connector 类, 如果可能有多个输出的data path则是 Classifier 类。
节点与路由 Node and Routing
节点是一个由节点登记对象和分类器构成的复合对象(见Figure 7)。NS中有2种类型的节点unicast 和multicast。unicast 节点有一个做单播路由的地址分类器去和一个端口分类器。 multicast节点则多具有一个分类器去分类多播数据包和单播数据包, 并且执行多播路由。
Figure 7. Node (Unicast and Multicast)
NS中默认的节点的是Unicast 节点。要创建 Multicast 节点的话,需要在OTcl脚本中建立scheduler 对象后马上显示的声明。 指定了节点类型后,还可以指定路由协议type 如果不想使用默认的。
- Unicast
- $ns rtproto type
- type: Static, Session, DV, cost, multi-path
- Multicast
- $ns multicast (right after set $ns [new Scheduler])
- $ns mrtproto type
- type: CtrMcast, DM, ST, BST
更多关于路由的信息可以参考NS 手册 http://www.isi.edu/nsnam/ns/ns-documentation.html
连接Link
连接是NS中另一个主要的复合对象。 当用成员函数 duplex-link 建立一个模拟对象的连接时,在双向上的2个单工的连接被建立。见Figure 8。
Figure 8. Link
节点的输出队列实际上是作为单工连接对象的一个部件被实现的。数据包从队列传到 Delay 对象,这步模拟了连接延迟。 丢弃了的数据包被发送到一个 Null 代理并释放。 最后, TTL 对象为每个收到的包计算存活时间(Time To Live)参数并更新数据包的 TTL 项。
- 追踪 Tracing
NS中, 网络活动一般在单工连接上被追踪。如果模拟直接追踪网络活动(使用 $ns trace-all file or $ns namtrace-all file), 则在命令建立连接后像Figure 9中那样插入追踪对象trace objects。也可以明确地建立类型为type 的追踪对象在给出的节点 src 和 dst 之间,通过使用 create-trace {type file src dst} 命令。
Figure 9. Inserting Trace Objects
- 队列监听 Queue Monitor
追踪对象用于记录数据包抵达时间。 尽管可以从追踪信息中得到足够的信息,然而用户更关注明且的输出队列的内部运行情况。例如,用户想要知道 RED 对列的行为,就可以通过测量一个 RED 队列的平均队列大小的动态变化和当前队列大小(i.e. 需要对队列进行监听). 队列监听可以通过使用 queue monitor 对象和 snoop queue 对象来实现,见Figure 10。
Figure 10. Monitoring Queue
当每个追踪对象(i.e. EnqT, DeqT, DrpT and RecvT)收到一个包, 它写入到指定的 trace 文件而且不消耗任何模拟时间, 然后传递包到下一个网络对象。 追踪信息的格式在以后介绍(Analysis Example 节中)。
当收到一个包, snoop(窥探)队列对象把这个事件通知给queue monitor对象。 queue monitor 使用这个信息监听队列。 RED 队列监听示例将在RED Queue Monitor Example 小节中介绍。另外snoop queue objects 可以并行的和追踪对象使用。
数据包传输流示例 Packet Flow Example
Figure 11 演示了网络的建立和数据包传输流。 网络中有2个节点(n0 和 n1),它们的网络地址分别为 0 和 1。 一个 TCP 代理附加到 n0 使用 port 0 与附加在n1端口0上的TCP sink 通信。 最终, 一个 FTP 应用(or traffic source)附加到 TCP 代理上, 并请求发送一定量的数据。
Figure 11. Packet Flow Example
上图并没有表现在TCP上准确的FTP行为。它只体现了网络的建立和数据包传输流的内部细节。
发表评论
-
几种用于WSN的仿真工具
2009-12-09 15:26 4272为评价无线传感器网络协议算法的性能,仅通过实验是无法实现的,特 ... -
OMNeT++中文用户手册(完全版)
2009-11-18 22:36 16704http://www.netforum.com.cn/view ... -
改变Telos 系列节点Serial baud rate
2009-08-21 18:50 2213如果节点与PC通信时出现非正常丢包或者serial不稳定当收包 ... -
TinyOS编译问题
2009-08-18 20:47 13391. 有时候编译提示找不到某个文件时, 可能是由于在linux ... -
改变节点transmission power, radio power level (tx_power)
2009-08-11 20:03 4330使用 CC2420Packet 中 setPower 来改变每 ... -
Tcl/tk 小记
2009-07-22 23:43 15541. 检查variable变量是否声明 在使用Tcl时候会经常 ... -
NS无线仿真中无法设置节点颜色的解决方案
2009-07-22 18:57 1949NS中提供了配置节点与 ... -
awk: malloc(): memory corruption 错误
2009-07-09 21:56 7275问题如下: *** glibc detected *** aw ... -
ns2 对无线网络模拟
2009-07-06 19:52 2683在模拟无线网络时需要对tcl模拟脚本文件的参数进行设置,比如P ... -
使用Gnuplot 绘制ns2模拟结果图
2009-06-25 17:48 8228Gnuplot(command-driven inter ... -
ns2模拟无线网络的NAM动画
2009-06-24 22:26 5029无线的各个参数 ####################### ... -
ns2 模拟WSN协议之手记
2009-06-23 23:55 2983ns2中模拟WSN,用Timestamp时间戳计算点对点Del ... -
ns2 中得到Agent的实例
2009-06-16 21:02 2925下面代码说明了如何访问其他节点的Agent,以AODV协议为例 ... -
TinyOS使用MIG时报错!
2009-04-06 01:30 1837在Makefile中加入启用MIG的选项后,编译出现一下错误: ... -
Tinyos 2.0 笔记小结(1)
2009-03-16 20:11 23791. configure组件注意事项 一般在confi ... -
Tinyos 2.0使用笔记
2009-03-06 19:48 28161.编译与安装程序到节点 引用 $ make mica2 ... -
Tinyos 中常用术语
2009-03-05 03:32 1113EOFF 关断能量损耗 用于 device off, stop ... -
什么是 nx_ type
2009-03-01 03:29 1532nx_ types 是在nesC 1.2,tinyos中用到的 ... -
TinyOS 下安装 JNI 的问题
2009-02-25 00:05 32471. "java not found, not i ... -
『TinyOS』学习笔记 #11?
2009-02-20 01:09 3833Lesson 11 TOSSIM Compiling ...
相关推荐
在本篇“NS by Example 笔记(12)Add New Queue”中,我们将探讨如何在计算机网络模拟软件NS-2(Network Simulator 2)中添加新的队列管理器。NS-2是一款广泛用于研究和教学的开源网络模拟工具,它允许用户模拟各种...
标题 "NS by Example 笔记(11)Add New Application and Agent" 提及的是网络模拟器 NS-2(Network Simulator 2)中的一个教程或笔记,重点在于如何添加新的应用程序和代理。在这个过程中,我们将深入理解NS-2的...
《NS by Example》是针对网络仿真工具NS(Network Simulator)的一份详细教程,旨在帮助初学者快速掌握NS的使用方法和技巧。NS是一款强大的开源软件,广泛用于研究计算机网络、移动通信网络以及无线网络的性能分析和...
《NS by Example》是一本专为初学者设计的IT技术图书,主要聚焦于"NS"相关的编程概念和技术。"NS"通常指的是Objective-C中的“Foundation框架”中的“NS”(Namespace)前缀,它代表“Next Step”,是Apple macOS和...
《NS2 by Example》是NS2(网络模拟器2)学习者的重要参考资料,尤其适合初学者。这本书通过实例教学的方式,让读者深入理解和掌握NS2的使用,即使对于英语不太熟练的学习者,也能通过实例的详细讲解和分析,逐步...
further information about network components in simulator codes, how to create new network components, etc., mainly by giving simple examples and brief explanations based on our experiences. ...
《ns by Example》是一个以实例为主的教程,旨在帮助读者深入理解和掌握ns的相关知识。"ns"通常指的是网络模拟器(Network Simulator),它是一个强大的工具,用于模拟和分析网络行为。在这个教程中,我们将通过一系列...
### NS2基础知识与实践指南 ...通过上述介绍,我们不仅了解了NS2的基本结构和使用方法,还学会了如何利用《NS by Example》这一宝贵资源来提升自己的NS2技能。希望每位读者都能从中受益,快速成为NS2的专家级用户。
《Ns2 by Example》是一本非常适合初学者的网络模拟软件Ns2的学习指南。Ns2(Network Simulator 2)是一款广泛使用的开源网络模拟器,它允许研究人员和学生在虚拟环境中模拟和分析各种网络协议和拓扑结构。这本书...
"There There_ns2_ns_by_example"这个压缩包,正如其名,提供了通过实例学习NS2的方法,旨在帮助新手快速上手。 NS2的核心在于它的事件驱动模型,这种模型使得模拟网络中的各种事件(如数据包发送、接收、路由等)...
ns2 by example 经典的ns2学习资料
总体而言,“ns-by-example”项目不仅是一份详尽的NS使用指南,更是一个宝贵的学习资源库,它通过实例教学的方式降低了NS的入门难度,使更多研究人员和学生能够迅速掌握这款强大的网络模拟工具,开展深入的网络科学...
在“Introduction to Network Simulator NS2 0387717595.pdf”这类入门资料中,通常会从NS2的历史和重要性说起,进而详细介绍NS2的基本架构和工作原理。对于初学者来说,这部分内容至关重要,因为它是构建NS2知识...
Computer Network Simulations Using NS2 provides a solid foundation of computer networking knowledge and skills, covering everything from simple operating system commands to the analysis of complex ...
NS2(Network Simulator version 2)是一种开源的网络模拟软件,常用于学术研究和教育领域,为网络技术的研究与开发提供了一个免费且功能丰富的平台。它模拟网络环境,帮助研究人员设计和评估网络协议和架构。NS2...