- 浏览: 886008 次
- 性别:
- 来自: 太原
文章分类
- 全部博客 (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 4177为评价无线传感器网络协议算法的性能,仅通过实验是无法实现的,特 ... -
OMNeT++中文用户手册(完全版)
2009-11-18 22:36 16514http://www.netforum.com.cn/view ... -
改变Telos 系列节点Serial baud rate
2009-08-21 18:50 2143如果节点与PC通信时出现非正常丢包或者serial不稳定当收包 ... -
TinyOS编译问题
2009-08-18 20:47 12811. 有时候编译提示找不到某个文件时, 可能是由于在linux ... -
改变节点transmission power, radio power level (tx_power)
2009-08-11 20:03 4258使用 CC2420Packet 中 setPower 来改变每 ... -
Tcl/tk 小记
2009-07-22 23:43 14661. 检查variable变量是否声明 在使用Tcl时候会经常 ... -
NS无线仿真中无法设置节点颜色的解决方案
2009-07-22 18:57 1892NS中提供了配置节点与 ... -
awk: malloc(): memory corruption 错误
2009-07-09 21:56 7187问题如下: *** glibc detected *** aw ... -
ns2 对无线网络模拟
2009-07-06 19:52 2612在模拟无线网络时需要对tcl模拟脚本文件的参数进行设置,比如P ... -
使用Gnuplot 绘制ns2模拟结果图
2009-06-25 17:48 8155Gnuplot(command-driven inter ... -
ns2模拟无线网络的NAM动画
2009-06-24 22:26 4941无线的各个参数 ####################### ... -
ns2 模拟WSN协议之手记
2009-06-23 23:55 2856ns2中模拟WSN,用Timestamp时间戳计算点对点Del ... -
ns2 中得到Agent的实例
2009-06-16 21:02 2877下面代码说明了如何访问其他节点的Agent,以AODV协议为例 ... -
TinyOS使用MIG时报错!
2009-04-06 01:30 1791在Makefile中加入启用MIG的选项后,编译出现一下错误: ... -
Tinyos 2.0 笔记小结(1)
2009-03-16 20:11 23031. configure组件注意事项 一般在confi ... -
Tinyos 2.0使用笔记
2009-03-06 19:48 27401.编译与安装程序到节点 引用 $ make mica2 ... -
Tinyos 中常用术语
2009-03-05 03:32 1050EOFF 关断能量损耗 用于 device off, stop ... -
什么是 nx_ type
2009-03-01 03:29 1465nx_ types 是在nesC 1.2,tinyos中用到的 ... -
TinyOS 下安装 JNI 的问题
2009-02-25 00:05 31661. "java not found, not i ... -
『TinyOS』学习笔记 #11?
2009-02-20 01:09 3745Lesson 11 TOSSIM Compiling ...
相关推荐
NS by Example是对初学者很好的参考书
NULL 博文链接:https://kooyee.iteye.com/blog/318646
NULL 博文链接:https://kooyee.iteye.com/blog/318644
ns的一些例子,有助于ns入门学习,ns example
ns by Example ns by Example
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. ...
目录: Overview , Basics , OTcl: The User Language Simple Simulation Example Event Scheduler Network Components Packet Post Simulation , Trace Analysis Example ...
Ns2 by example for beginner user
ns2 by example 经典的ns2学习资料
ns2学习笔记 c++ tcl脚本 都有描述
NS2是一款优秀而经典的网络模拟工具,然后要学好并不容易,这份精致的NS by example提供入门到精通的帮助
NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记NS2学习笔记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学习中必备资料,非常适合于初学者。提供了大量的实例,并进行细致的讲解和分析,虽然是英文,但是理解起来不难。
ns2初学者ns2学习笔记
ns3 network simulator