NS2仿真软件

2024-07-27

NS2仿真软件(精选5篇)

NS2仿真软件 第1篇

现代化的网络在研究过程中需要一个模拟环境用以对其开发设计已经应用进行不断地完善, 网络仿真工具就是通过一个系统理论形式以及随机过程为基础的统计优化理论作为研究前提的手段。在设计时期, 仿真环境可以为各种方案提供一个虚拟的模型用以对其性能进行有效的预测;在运行时期, 系统的性能优化需要建立在工作环境不同以及负荷分析的比较上的。因此, 在很多情况中, 模拟仿真的网络环境是最可行可靠的方式以及技术手段。相对比数学分析仿真方式的抽象程度要低一些, 更容易让人理解;相对比测量技术, 仿真方式耗费的时间也相对较少;其在成本的节约以及有效性的高低上是其他的方式无法比拟的。网络技术的发展也使得网络技术的复杂化程度随之增加, 因此测试和完善其的网络环境要求也越来越高, 网络仿真技术要求也随之不断的加强, 应用也开始广泛。目前在网络技术的开发设计以及研究规划和完善上成为了不可或缺的工具。

美国等西方的发达国家从上世纪的八十年代起就开始进行了商业以及非商业的的网络仿真技术的开发和研究, 近些年来我国也开始意识到了网络仿真的重要性, 因此开始针对性的对此类软件进行开发。1997年CERNET网络中心开始着手对自己的网络仿真类的软件进行研发, 1998年之后OPENT软件开始被引入中国, 用于很多企业单位, 进行协议开发以及规划和设计应用方面的研究。

2 步骤

完整的网络仿真具有特定的步骤, 需要对仿真的环境首先进行定义, 然后在进行建模和运行最后是结果的展示的等一系列的环节, 这个过程中最重要的就是运行以及建模, 具体来说包括了首先建模之后对模型的确认然后是对数据进行采集以及程序的编制、验证, 最后则是运行, 并且每个环节都是对下一个环节可以正常运行的前提。问题的定义是对仿真网络的内容和方向的确定, 是对仿真目的的明确。模型实则是仿真系统中的核心内容, 是通过建立起一个简化后的真实网络已满足需要进行的网络研究需求, 因此其中必须对网络的本质属性以及重要因素和逻辑关系进行包含, 这样才能具有代表性。在整个网络仿真的建立过程中模型的建立以及验证工作是技术性最强的。对于模型进行确立的方式一般都是通过专家建议, 假设性的炎症和初步仿真的系统一致性对比这三种方式。其中数据的采集工作是对于建模的基础性要求, 历史数据实则算得上是仿真系统的数据的重要来源, 系统的运行性能不仅仅是其自身所决定的同时还和工作负荷有关。实时的网络数据为系统的优化提供最新鲜的资料, 而模拟环境的建立的目的就是对这些随机的因素进行综合采集以及考虑, 这就会涉及到信息的分布分类问题。最早的仿真系统大多是通过程序性的语言进行设计的, 这种建立在苛刻复杂的网络系统要求之上的设计难度非常之大, 仿真工具因此开始想着以仿真对象为基础的面向过程、事件的新型工具方向发展。模型运行以及结果展示的方式得到的仿真结果的运行模式得以发展, 并被运用到现代的仿真模拟环境的应用中。事实上, 这样的过程还未达到一个完善成熟的要求, 还需要进行完善和修改。虽然信息的获取可以不断的对网络仿真建模进行完善但是这并不意味着数据越多越好, 因为详细的数据就代表了信息的量会越大, 这就会产生一些无用的参数, 会影响仿真的结果准确度。此外, 大量的数据也会令模型系统的负担加重。所以仿真层次的合理选择也是建模的重要保证。

3 设计原理

离散事件的随机性是网络仿真的重要特点之一, 离散事件就是按照事件的发展顺序进行的一种排序, 挺将这种排序应用到系统的模拟运行中, 尽可能的对真实的网络状态进行模拟。随机性就是系统状态发生变化的主要因素, 这也是离散型的系统仿真的基本组成元素。

4 网络仿真软件OPNET NS2

目前, 使用最广泛的网络仿真工具莫过于OPNET (商业软件) NS2 (免费软件) 。这两款软件的差别很大, 鉴于上述原因, 此处不做功能的逐一对比, 而是从用户的角度对各自的特点分别给于介绍:

4.1 NS2简介

NS2是network simulator的缩写, 是一个用于网络研究的离散事件仿真器, 主要用于仿真各种网络协议和网络体系结构。对于运行速度要求很高而对程序维护速度不敏感的任务非常适用, 一般用于协议的仿真研究。

为了使显示结果更逼真, NS2提供了一个用于产生动画效果的可视化工具:nam。nam用于有线和无线网络的可视化, 在nam中, 执行仿真的人可以控制动画演示的速度, 一个完整的仿真脚本一般包括:创建事件调度表, 即前面介绍的未来事件表) 、创建网络、建立不同节点之间的连接、生成网络流量, 进行跟踪等。NS2中的网络实体包括:

节点:网络中的硬件实体。

代理:节点上的软件实体。

链路:用于连接网络各节点。链路有单工和双工之分。流量生成器:它是一种代理, 分为源和汇, 分别代表着包的生成方和接受方, 主要模拟网络中的业务流。NS2支持的协议有:tcp, udp, ip, rtp/rtcp, SRM, 802.3MAC, 802.11MAC;支持静态单播, 动态单播和多播路由协议;支持drop-tail, RED, CBQ, WRR, DRR, SFQ等队列和包的调度。可以生成指定的业务流;支持链路失效, 链路出错;也可以和真实的网络互换数据。

4.2 OPNET简介

OPNET是OPNET Technologies Inc.公司的产品, 最早由麻省理工学院信息决策实验室受美国军方委托开发。目前, 该产品在通信、国防及电脑网络领域获得了广泛认可和采用。被NETWORK WORLD评选为《世界级网络仿真软件》。OPNET通过多层子网嵌套来实现复杂的网络拓扑管理。提供了三层建模机制, 分别为进程级、节点级和网络级, 在进程级对各对象行为进行仿真, 互联进程级对象形成节点级的设备, 通过链路将设备互联形成网络级的网络, 将多个网络场景组织在一起形成工程。协议和其它进程通过有限状态机来建立模型, FSM的状态和状态的转换是由C/C++的逻辑完成的。为简化模型的书写, 该产品提供了400多个库函数。该产品提供了集成的调试环境和分析工具。在仿真过程中和仿真完成后, 均可以用动画来展示模型的行为。仿真结果可输出到电子表格中, 从而简化图形的绘制和时间序列的分析, 提供柱状图、概率函数、参数曲线、置信区间等。

5 结束语

NS2仿真软件 第2篇

网络模拟是网络协议性能及研究中非常重要的一个组成部分, 算法是否合理、是否具有实用价值、是否能够提高网络的性能等都需要通过实验证明。由于在真实的网络环境中进行实践验证耗资巨大, 多数高校和科研机构并不具备完整有效的实验环境, 而且真实网络中实验数据的收集和分析也有一定困难。

网络仿真软件通过在计算机上建立一个虚拟的网络环境来实现对真实网络环境的模拟, 科研人员在这个平台上不仅能对网络的通信、设备、协议、结构以及应用进行研究, 还能对网络的性能进行分析和评估。仿真软件大大提高了网络设计开发的效率, 同时也降低了费用和风险, 已经成为研究中不可或缺的工具。

二、NS2的结构和特点

目前, 使用较多的网络仿真软件有OPNET, Matlab, NS2和Glo Mo Sim等。选择免费且开放源代码的NS2作为仿真平台, 是因为该平台是一种离散事件网络仿真平台, 可以运行在Linux或Windows操作系统上。作为一种可扩展、易配置、可编程的事件驱动的网络仿真软件, NS2能够近乎真实地在各个层次上模拟网络运行, 并支持多种协议。其主要功能包括以下几点。

(一) 灵活的仿真环境

作为一款开源软件, NS2所有源代码公开, 任何人都可以获得、使用和修改其源代码。这对于利用NS2来构建特殊的网络仿真实验环境非常方便和迅速。

(二) 结果分析及再现容易

研究人员通过配置环境参数获得理想的网络环境, 即可实时跟踪并记录关键节点的重要信息, 从而获得网络性能参数, 并可以随时再现某些特殊情况, 这在真实网络中是难以做到的。

(三) 良好的可扩展性

NS2使用C++和OTCL两种程序设计语言, 分别完成具体协议的模拟, 实现与网络仿真环境的配置和建立。对于有一定编程基础的人员来说, 可以根据自身的需要方便地设计新协议, 扩展新的功能模块。

(四) 在线资源支持

NS2的官方网站建立图书馆性质的库, 收集了很多经典的演示场景和案例。

三、NS2网络仿真过程

(一) NS2仿真的层次

网络仿真要经历模型建立、模拟实现和结果分析3个阶段。NS2仿真分为2个层次。

1. 基于OTCL编程的用户层次, 只需编写OTCL脚本。

2. 基于C++和OTCL的系统层次, 能够对NS2内核进行功能扩展, 增加新的C++和OTCL类, 添加所需的网络元素。仿真过程如图1所示。

(二) NS2仿真的步骤

1. 配置网络拓扑结构, 确定链路的基本特性, 如延时、带宽和选择策略等。

2. 建立协议代理, 包括端设备的协议绑定和通信业务量模型的建立。

3. 配置业务量模型参数, 确定网络上的业务量分布。

4. 设置Trace对象, 把仿真中发生的特定类型事件记录在Trace文件中, 通过Trace文件保存整个仿真过程。仿真完成后, 用户对Trace文件进行分析研究。

四、网络协议仿真实例

(一) TCP协议仿真

TCP协议是重要的传输层协议。不仅要理解TCP协议的工作原理, 而且还要理解在网络发生拥塞时, 如何在TCP协议控制下实现拥塞控制的过程。针对这一内容, 建立如图2所示的仿真场景, 节点n0, n1与节点n3之间分别建立一条TCP连接, 链路带宽及传输延时如图2所示。图2的网络仿真拓扑结构以TCP拥塞控制协议为例, 在仿真开始时, 由n0和n1节点同时向n3节点发送FTP数据流, 将初始拥塞窗口大小设为1, 在NAM动画中通过控制播放速度, 可以清晰地观察到在TCP协议控制下, 发送窗口的大小随着确认包的返回成倍增加 (1, 2, 4, 8…) , 当拥塞窗口增大到一定程度时, n2节点开始发生丢包现象, 此时n1节点将重传丢失的数据包, 并减小发送窗口。其数据包传输如图3所示。

通过这个仿真实例, 可以很好地理解TCP慢启动和拥塞控制协议的工作原理。

(二) UDP协议仿真

在上述仿真场景中, 将传输层协议修改为UDP, 令n0和n1节点在仿真开始时开始向n3发送CBR数据流, 重新运行仿真脚本, 图4是在NAM动画演示中截取的图象。图3和图4进行对比可知, 图3中链路上方为发送方n0向n3发送的数据包, 而链路下方的小竖线是由接收方n3向发送方返回的确认包;在图4中, 仅在链路上方有发送的数据流, 接收方并不返回确认, 仿真结果对理论分析提供了有力的支持。从NAM动画中还可以看到, 应用UDP协议时, 当网络中间节点丢弃数据包, 发送方并不会因此而降低发送速度, 造成严重的丢包现象。

(三) IP网络单播路由协议仿真

根据IP网络单播路由协议的定义和运行机制, 建立一个网络协议的NS2运行场景。再利用NS2模拟器产生NAM动画播放器需要的输入文件, 以NAM动画的方式演示网络协议的运行过程。

1. IP网络路由协议仿真的网络结构如图5所示, 它由6个节点组成, 通过双向链路连接起来。链路带宽为1 Mbit/s, 延时为5 ms。节点0作为数据源发送端, 在节点0上绑定一个UDP代理, 在UDP代理上绑定一个CBR流量发生器。

2. IP网络单播路由协议仿真。IP网络单播路由协议主要包含单播路由协议OSPF协议和RIP协议。其中, RIP协议是一种分布式的基于距离向量的路由选择协议, 采用Bellman-Ford算法;OSPF协议是分布式的链路状态协议, 采用最短路径算法。在NS2中的会期路由采用all-pairs SPF算法, 动态路由采用分布式Bellman-Ford算法, 可以借助会期路由和动态路由来演示单播路由协议的动态运行过程。会期路由可以演示OSPF协议运行过程, 采用图5所示的网络结构进行仿真。

采用OTCL语言编写脚本, 以NAM动画来演示会期路由的运行过程, 如图6所示, 假设节点0发送的数据流用长虚线表示, 可以看到节点0到节点5开始传输数据时, 路径经过节点1和节点3。当节点1和节点3之间的链路出现故障时, 重新计算新的路由, 经过节点1和节点4传输数据, 如图7所示。当节点1和节点3之间的链路故障修复后, 数据又按照图6来传输。

通过动态路由可以演示RIP协议运行过程, 如图8所示, 假设节点0发送的数据流用长虚线表示, 节点0到节点5开始传输数据路径经过节点1, 节点2和节点3。当节点2和节点3之间的链路出现故障时, 重新计算新的路由, 经过节点1和节点3传输数据, 如图9所示。

五、总结

随着网络系统复杂度的增大, 传统的分析法和实验法越来越不适应网络系统的特点, 仿真法成为网络性能分析的主流方法。NS2作为一种离散事件网络仿真平台, 可以运行在Linux或Windows操作系统上。作为一种可扩展、易配置、可编程的事件驱动的网络仿真软件, NS2能够近乎真实地在各个层次上模拟网络运行, 并支持多种协议。目前NS2已广泛应用于计算机网络的研究与设计中。

参考文献

[1]徐雷鸣.NS2与网络模拟[M].北京:人民邮电出版社, 2003.

[2]朱军正.Red Hat Linux Fedora Core4教程[M].北京:清华大学出版社, 2005.

[3]徐雷鸣, 庞博, 赵耀.NS与网络模拟[M].北京:人民邮电出版社, 2003.

NS2仿真软件 第3篇

关键词:队列管理算法,公平性,NS2

1 引言

随着Internet的高速发展, 为了缓解由于业务不断增多而导致的网络拥塞, 在传输层采取了诸如TCPReno、TCPNew Ren o、TCP Vegas等一些拥塞控制策略[1]。TCP基于窗口的端到端拥塞控制对于Internet的鲁棒性起到了关键作用。然而, 随着网络规模越来越大, 仅仅依靠TCP拥塞控制机制来提高网络的服务质量是远远不够的, 网络中的中间节点也必须加入到网络拥塞的控制当中来, 于是出现了许多基于路由器的拥塞控制策略, 通常也称之为队列管理机制。其主要思想就是通过排队算法决定那些包可以转发传输, 哪些包被丢弃, 以此分配带宽, 从而提高网络的性能和Qo S质量。

2 当前队列算法简介

当前的队列管理算法可以分为两大类, 被动式队列管理 (PassiveQueue Manage ment, PQM) 和主动式队列管理 (Active Queue Management, AQM) .

2.1 被动式管理队列算法

被动式管理队列就是以包为单位, 为每个队列设置一个最大值, 当接收包进入队列时, 如果队列长度已达到最大值, 则丢弃此包, 直到此队列长度下降, 也即通常所说的“去尾 (Drop-Tail) ”算法。其特点是:简单, 处理速度最快, 所有平台上都支持这种队列;但这种算法也存在一些缺憾, 如在多个流之间分配的带宽不公平;野蛮流量可能占满带宽, 导致其他流量无带宽可用;对所有数据流进行尾丢弃, 可能造成TCP全局同步等。

2.2 基于队列长度的AQM算法RED

鉴于被动式队列管理机制的缺陷, 研究者提出了主动队列管理 (A Q M) 算法, 主动式队列机制会在队列满之前就把封包丢弃, 并发出拥塞通告, 这样可以使具有拥塞控制的传送端进行流量控制, 从而缓解网络拥塞, 降低丢包率。

R E D是一种基于 (平均) 队列长度的A Q M。它通过使用平均队列长度来预测即将发生的网络拥塞, 并随机丢弃数据分组, 控制平均队列长度, 从而避免网络拥塞和全网同步[2]。RED算法具体描述如下:

数据包到达路由器后.需要利用指数加权平滑低通滤波器计算平均队列长度 (AVQ) , 将AVQ与两个门限值 (MINth和M A X t h, M I N t h

2.3 基于公平队列的主动管理算法FQ

在T C P友好流和非T C P友好流并存的环境中, 公平队列管理算法可以对T C P流起到一定的保护作用[4], 其基本思想是:在路由器中为每一经过该路由器的连接维持一个独立的输出队列, 路由器按轮循的方式处理每个队列, 以保证每个流之间的公平性。公平排队算法FQ (Fair-queuing) 为每个连接建立一个输出队列, 路由器按“轮循”的方式处理每个队列, 当一个线路空闲时, 路由器就来回扫描所有队列, 依次将每个队列的第一个报文发送出去。当某个流的数据包到达过快时, 其队列就会很快占满, 属于这一流的新的数据包就会被丢弃。采用这种方式, 每个数据流就不可能牺牲其它数据流而多占资源, 相比RED和Drop-tail算法, 提高了公平性。

3 仿真实验

本文采用网络仿真软件N S 2对上述三种队列管理算法进行仿真, 比较三种不同机制下网络的丢包率、延迟、吞吐量、公平性等性能。

3.1 实验环境

如图1所示, Rouer1、Router2为两路由器, s0到S6是发送端, r1到r6是对应的接收端, 发送端到Rouer1之间的链路, 以及Router2到所有接收端的链路带宽都为5Mb, 延时为5ms, 并且s0到r1, s1到s2……s5到r5建立TCP连接, s6与s6建立UDP连接 (非友好TCP流) , 这样网络拓扑中有5个TCP流和1个UDP流共存, Rouer1、Router2之间的链路带宽为2Mb, 延时为50ms, 并且形成了各个流竞争带宽的瓶颈链路, 试验时间均为20s。

3.1.1 丢包率分析

表1是网络中丢包数的统计, 可以看出, 采用Droptail、Red、Fq三种算法一共丢包96、92、92个, 总体丢包数相差不大, Red算法对cbr包的发送Red稍好, 而对于ftp业务 (TCP友好流) , 采用Fq算法时, 其丢包现象明显下降, 表明该算法在一定程度上相对保护了ftp数据流, 即tcp可靠数据流, 在公平性问题上有一定的提高。

3.1.2 延迟分析

延迟表示分组从发送端到接收端的时间差。如图2和图3所示, Red算法对数据流的平均延迟比Droptail差不多, 在网络拥塞程度高时, 略高于Droptail;但Fq算法对cbr和ftp业务流的延迟明显大前二者, 这是由于Fq采用轮询机制, 使每个流都尽量公平地转发, 而Droptail和Red采用的是直接丢弃该分组, 因而其延迟比Fq小。

3.1.3 吞吐量比较

吞吐量是单位时间内完成的作业数.在这里我们以目的节点每次接收到分组总字节数和所用时间间隔来计算针对不同数据流的吞吐量。从图4和图5可以看出, Red算法对c b r数据流的平均吞吐量大约是Droptail算法的95%, 对FTP数据流的平均吞吐量比则Droptail提高了约10.0%。而F q算法对两种数据流均保持较好的吞吐量, 从这里也可以看出相比Fq算法比Red算法和Droptail具有更好的公平性。

4 主要结论及展望

本文主要介绍了Droptail、Red、Fq三种队列管理机制的基本思想, 并通过N S 2软件对三种队列管理算法进行性能分析, 可以得出:

(1) 在丢包率方面, Red算法减少数据包的重传和丢弃, 其丢包率略好于Droptail和Fq算法。

(2) 当TCP流和非T C P友好流共存网络时, Fq算法对TCP流具有一定的保护作用, Red算法和Droptail算法在公平性方面不及Fq算法。

(3) 由于Fq算法采用轮训机制发送队列, 所以数据包的时延略高于Droptail和Red算法。队列管理机制和TCP端到端的拥塞控制相结合, 是解决目前Internet拥塞控制问题的一个主要途径。由于主动队列管理算法在减小丢包率、降低端到端延迟、提高吞吐量、支持Qo S等方面比被动队列算法更具有优势, A Q M算法已经成为目前的研究热点之一。

参考文献

[1]《计算机网络》第四版, 谢希仁等.电子工业出版社.

[2]徐恪, 徐明伟.高等计算机网络——体系结构, 协议机制, 算法设计与路由技术.

[3]《计算机与信息技术》—基于RED算法的拥塞控制的研究.杨自芬, 高仲合.

基于NS2的异构网络融合仿真研究 第4篇

在网络迅速发展的今天,研究人员要不断思考新的网络协议和算法,对于如何进行相关性能的测试和验证网络协议的正确性,目前使用最广泛方法是通过虚拟环境进行网络仿真。NS2[1,2,3]是针对网络技术源码公开、免费的软件模拟平台,使用它可以很容易的进行网络技术的开发,并且其包含的模块几乎涉及到了网络技术的每个方面,因此NS2是最流行的网络模拟软件之一。NS2是面向对象的、离散事件驱动的网络环境模拟器,提供了有线或无线网络上TCP、路由、UDP、多播等协议的模拟。可以在Windows/Unix/Linux上运行,而且它的源代码开放,可以用于各种IP网络的模拟[4],进行各种网络的研究和扩充都非常方便。

1 NS2仿真平台

NS2包含Tcl/Tk,OTcl,Tclcl,NS。其中Tcl[5,6,7]是一种开放脚本语言,可用于对NS2的编程;Tk[5,6,7]是Tcl的图形界面开发工具,用于帮助用户在图形环境下开发图形界面;OTcl则是基于Tcl/Tk面向对象的扩展,它有自己的类层次结构;NS2为该软件包的核心,是面向对象的仿真器,用C++编写,是以OTcl解释器作为前端;Tclcl提供了NS2和OTcl的接口,使对象和变量出现在两种语言中。为了直观的分析和观察仿真结果,NS2提供了可选的Xgraphy以及可选件Nam。

1.1 仿真实现的过程

NS2仿真包括两个层次:一个是基于OTcl的编程层次,它是利用NS2已有的网络仿真元素,只需要编写OTcl脚本,不用修改NS本身;另一个是基于OTcl和C++编程层次的,需要对网络元素进行扩展,要添加新的C++和OTcl类,然后再编写OTcl脚本。NS2的仿真一般是要先判断是否有实现仿真的功能模块,如果有则只需编写Tcl脚本。如果没有,则需要新建仿真模块,构建新的仿真系统,再编写Tcl脚本[8]。运行Tcl解释器得到仿真结果。NS2的实现过程如图1所示。

在混合网络仿真中,编写Tcl测试版本的时候需要使用分层路由,并给节点配置地址,分两种情况:一个是修改C++语言,这样运行Tcl脚本会自动给节点配置地址。另一种是编写Tcl脚本时直接给每个节点手动配置地址。对于节点比较少的网络可以进行手动配置地址,在节点比较多的情况下可以选择修改C++语言进行自动配置地址。

1.2 仿真环境的搭建

本文采用NS2-2.35进行仿真。在Windows平台上安装,由于采用的WIN7系统,直接安装的话,比较困难而且很容易出错,在虚拟机上安装NS2会容易很多。图2是混合网络仿真拓扑图,图3是动态演示仿真结果。

该网络仿真拓扑包括R0~R4四个节点,其中R2和R3是无线节点与R1之间进行无线连接,R1为基站,用来连接无线和有线网络。两个无线节点和有线节点R0都建立UDP连接。R1和R0带宽为10 MHz,延迟为1 ms。

2 仿真实现

(1)本文中节点R2用于异构网络的连接,节点需要分层路由进行两网的融合,在混合仿真中至少要一个基站节点,基站节点和有线节点之间存在链路并且开启了有线路由,充当无线节点的开关。基站节点必须设置分层路由:

(2)创建优先节点,并配置有线节点的地址、位置和大小。基站和无线节点也需要配置地址:

(3)关闭有线节点的话就只有无线节点和基站之间通信:

3 异构网络融合trace分析

3.1 有线格式

表1为有线网络在NS2仿真产生的trace文件格式,如:

Event:发送包的事件类型,包括:s表示发送包事件,r表示接收包事件,+表示进队列事件,-表示出队列事件,d表示分组丢弃事件。

Time:事件发生的时间。

From node和To node:事件发生的地点,分别表示发送节点和接收节点的id。

Pkt type:发送包的类型。如cbr或tcp,包的类型代理的类型一致,如建立TCP流的代理,包的类型为tcp。

Pkt size:包的大小。

Fid:流标识符。用户可以在输入Otcl脚本是设置的IPv6流标识符。可以进一步使用这个字段用于分析,也可以指定流在NAM显示的颜色。

Src addr和Dst addr:表示源地址和目的地址,格式均为node.port。

Seq num:网络层协议的分组序列号。即使通过UDP的实际网络不使用序列号,NS也会跟踪序列号用于分析。

Pkt id:分组的惟一标识符。

3.2 无线格式

表2表示无线网络在NS2仿真产生trace文件的格式,如:

Event:发送包的事件类型,包括四种格式:s:分组的发送事件;r:分组的接收事件;d:分组的丢弃事件;f:分组的转发事件。

Time:事件产生的时间。

Node id:处理该事件的节点ID。

Trace type:说明该Trace的种类,其中RTR表示路由器Trace;AGT表示代理Trace;MAC表示MAC层Trace。

Flag:分隔符。

Pkt id,Pkt type,Pkt zize分别代表分组ID、分组类型和分组大小(字节)。

[Mac info]:有关MAC层的详细信息,第一个信息表示发送节点在无线信道上发送该分组所期望的时间值,用16进制表示;第二个信息为接收节点的MAC地址;第三个信息表示发送节点的MAC地址;第四个信息表示MAC层封装的分组类型,0x800IP表示分组,0x806表示ARP分组。

Src IP和Pup IP:分别表示分组发送的源IP地址和目的地址,格式均为节点号.端口号。

TTL:分组的TTL值。

F-T count:源节点到目的节点的跳数。

3.3 异构节点融合Trace文件分析

本文中节点R2用于异构网络的连接,节点需要分层路由进行两网的融合,有些无线和有线节点一起连接的时候,trace有有线部分也有无线部分,无线的action中不需要将”r s”分离。

有线网络awk文件提取部分:

无线网络awk文件提取部分:

4 结论

这里是针对异构网络拥塞控制[9,10,11]的一个仿真实例,采用UDP流,运行结束产生out.tr文件和out.nam文件进行仿真结果分析,在这里可以查看每个仿真细节。动态的仿真结果可以在图3中看到,在out.tr中可以分析仿真结果。图4为吞吐率结果图。在1 s左右出现一段短暂的延迟。截取trace的部分片段,如图5所示。

参考文献

[1] 柯志恒,程荣祥,邓德秀.NS2仿真实验和无线网络通信[M].北京:电子工业出版社,2009.

[2] 于斌,孙斌,温暖,等.NS2与网路模拟[M].北京:人民邮电出版社,2007.

[3] 李方敏,李仁发,叶澄清.网络仿真软件NS的结果输出和分析[J].计算机工程,2000,26(9):14-16.

[4] Anon. The network simulator: building NS [EB/OL]. [2011-11-04]. http://titian.cs.uni-bonn.de/greis/ns/ns.html.

[5] Anon. The network simulator NS2: installation problems [EB/OL]. [2010-02-12]. http://www.isi.edu/nsnam/ns/ns-build.html.

[6] CHUNG Jae, CLAYPOOL Mark. NS by example, WPI-CS-TR-99-25 [R]. Worcester: Worcester Polytechnic Institute, 2002.

[7] WELCH Brent B.Tcl/Tk组合教程[M].王道义,译.2版.北京:电子工业出版社,2001.

[8] 林怀清,王斌,戚玉华.基于NS2现代信息网课程教学研究[J].舰船电子工程,2006,26(5):102-105.

[9] 孙伟,温涛,冯自勤,等.基于TCP NewReno的稳态吞吐量分析模型[J].计算机研究与发展,2010,47(3):398-406.

[10] 黄川,郑宝玉.多无线电协作技术与异构网络融合[J].中兴通讯技术,2008,14(3):27-31.

NS2仿真软件 第5篇

IEEE 802.15.4标准针对低速率无线个人区域网 (Low-Rate Wireless Personal Area Networks, LR-WPAN) 提出, 制定了其物理层 (PHY) 和媒体接入控制 (MAC) 层规范。与其他针对无线网络的MAC协议相比, IEEE 802.15.4的MAC层具有更高的可配置性。IEEE 802.15.4标准的发布, 弥补了短距离低速率通信应用领域的空白, 其标准针对低能耗、低成本、低速率无线个人区域网 (LR-WPAN) 而设计。目前, 无线传感器网的研究已经成为世界上的研究主流之一, 在传感器网中得到越来越广泛的应用。本文在分析了IEEE802.15.4协议的基础上, 研究了星型网络中信标使能模式时信标级数的改变以及发送数据方式的改变对能量剩余、端到端延时、平均分组递交率这三个性能参数的影响。并在NS2中进行了仿真。为今后在应用中更好的配置协议、为在今后进一步应用中达到更可靠、节能的效果提供了理论基础。

1 IEEE 802.15.4协议概述

IEEE802.15.4标准只定义了PHY层和数据链路层的MAC子层。P H Y层由射频收发器及底层的控制模块构成。M A C层为高层访问物理信道提供点到点通信的服务接口。IEEE802.15.4网络协议栈基于开放系统互联模型 (OSI) , 如图1所示, 每一层都实现一部分通信功能, 并向高层提供服务。

2 IEEE 802.15.4PHY层

PHY层定义了物理无线信道和MAC子层之间的接口, 提供PHY层数据服务和PHY层管理服务。PHY层数据服务从无线物理信道上收发数据, PHY层管理服务维护一个由PHY层相关数据组成的数据库。物理层数据服务包括五个方面的功能: (1) 激活和休眠射频收发器; (2) 信道能量检测 (Energy Detect, ED) ; (3) 检测接收数据包的链路质量指示 (Link Quality Indication, LQI) ; (4) 空闲信道评估 (Clear Channel Assessment, CCA) ; (5) 收发数据。

3 IEEE 802.15.4 MAC层

M A C层提供两种服务:M A C层数据服务和M A C层管理服务。前者保证MAC协议数据单元在物理层数据服务中的正确收发, 后者维护一个储存MAC层协议状态相关信息的数据库。

MAC层主要功能包括6个方面: (1) 协调器产生并发信标帧, 普通设备根据协调器的信标帧与协调器同步; (2) 支持PAN网络的关联 (association) 和取消关联 (disassociation) 操作; (3) 支持无线信道通信安全; (4) 使用CSMA-CA机制访问信道; (5) 支持时槽保障 (guaranteed time slot, GTS) 机制; (6) 支持不同设备的MAC层间的可靠传输。

3.1 超帧结构

在信标使能模式中, 采用一种超帧结构, 将时间划分成等间隔的周期, 该周期由协调点发送的信标帧界定, 并且通常由激活期和非激活期两部分构成, 如图2所示。节点在激活期进行业务的交互, 在非激活期则转为低功耗模式。激活期通常分为16个等长的时隙, 信标必须在超帧第一个时隙 (0时隙) 的起始时刻发送。超帧的竞争期 (CAP) 紧接信标帧, 并可延续到整个激活期结束。如果节点有对实时业务的需求, 可向网络协调点申请预留时隙 (GTS) , 每个预留时隙可以占据若干个超帧时隙, 多个预留时隙形成无竞争期 (CFP) , 无竞争期将紧接竞争期, 并且一直延续到激活期结束。网络协调点最多可以分配7个预留时隙。节点在竞争期中的通信采用时隙CSMA/CA的机制接入信道, 而在无竞争期中直接进行通信。

3.2 数据传输方式

LR-WPAN网络中存在着三种数据传输:设备发送数据给协调器、协调器发送数据给设备、对等设备之间的数据传输。星型拓扑网络中只存在前两种数据传输方式, 因为数据只在协调器和设备之间交换;而在点对点拓扑网络中, 三种数据传输方式都存在。

在LR-WPAN网络中, 有两种通信模式可供选择:信标使能通信模式 (beacon-enabled) 和无信标通信模式 (Non BeaconEnabled) 。如果网络当中存在周期性发送信标的节点, 则称该网络为信标使能网络, 否则称其为无信标使能网络。

图3 (a) 中是在信标使能网络中由普通设备向协调器发送数据的过程。该设备首先侦听网络中的信标帧, 如果接收到了信标帧, 它就同步到由这个信标开始的超帧上, 然后用时槽CSMA-CA机制, 选择一个合适的时机, 把数据帧发给协调器, 协调器成功接收到数据以后, 回送一个确认帧表示成功接收到该数据帧。图3 (b) 为在无信标模式下普通节点向协调器发送数据时的直接数据传送方式。

图4 (a) 中是在信标使能模式下由协调器向普通设备发送数据的过程。当协调器向某个普通设备发送数据时, 就在下一个信标帧中说明协调器拥有属于该普通设备的数据在等待发送, 目标设备侦听到这个信标帧, 向协调器发送请求传输数据的MAC命令。协调器接收到以后发送确认帧, 开始传送数据。设备成功接收数据后发送确认帧, 协调器接收到确认帧后将消息从自己的消息队列中移走。图4 (b) 为无信标使能模式时协调点向普通设备发送数据, 此时没有发送信标帧。

在点对点PAN网络中, 每一个设备均可以与在其无线辐射范围内的设备通信。为保证通信的有效性, 这些设备需要保持持续接收状态或者通过某些机制实现彼此同步。

4 基于NS2的仿真场景的搭建及结果分析

本文的仿真是在Linux下运用NS2仿真工具下完成的。NS2使用一种分裂对象模型, 兼顾了模拟性和灵活性, 并且提供了完善的IEEE 802.15.4的PHY和MAC层。本次仿真就是在其提供的MAC和PHY层模块的基础上, 实现了不同节点数、不同信标级数下节点的能量剩余变化, 数据传输方式的改变对网络性能的影响。

4.1 仿真场景搭建

图5为以0为协调点的星型拓扑网络结构, 1-6为普通节点。图 (a) 为普通节点向协调点发送数据, 方式为直接数据传输;图 (b) 为协调点向普通节点发送数据, 方式为间接发送数据方式。

4.2 性能参数设定

仿真中提取的各项指标定义如下:

(1) 平均分组递交率:目的节点接收到的数据包个数与源发送的数据包个数之比, 反映了网络传输的可靠性, 递交率越高, 可靠性越大。

(2) 端到端平均延时:接收到数据包时间与发送数据包的时间的间隔长度总和与发送的数据包个数之比。端到端的平均延时反映了通信发送与接收的时间间隔, 延时太大会严重影响通信质量。

(3) 平均剩余能量:所有节点剩余能量与节点个数之比。

4.3 仿真结果与性能比较

本文对所研究内容的仿真都是在信标级数等于超帧级数 (BO=SO) 条件下完成的。其中直接传输为六个普通节点向协调器发送数据;间接传输为协调器向六个普通节点发送数据。

图6中为直接传输方式与间接传输方式下改变信标级数的能量剩余变化。由此可以看出, 间接传送方式下剩余能量较多。图7中, 有6条曲线, 从上到下分别是1-6个节点向协调器发送数据, 传送发送均为直接传送方式, 横轴为信标级数从3-9, 由图可以看出, 相同信标级数下, 随着节点数的增加, 能量消耗越来越大, 能量剩余越来越小;相同节点数时, 信标级数BO=SO=3时, 节点的平均剩余能量较小, 之后, 随着信标级数的增加剩余能量增多, 当信标级数为5或6时, 剩余能量达到最大值, 之后随着信标级数的升高, 平均剩余能量开始呈下降趋势。这是由于信标级数决定着信标的发送周期, 信标值越低, 节点要频繁的发送和接收信标, 从而造成大量的能量损耗。在本次仿真中, 当信标级数增大到9时, 剩余能量有所下降。这是由于在仿真初始阶段成功加入网络的节点数很少, 之后随着成功加入网络的节点数的增多, 信标周期内需要传输不同节点的数据包数增加, 而此时后入网的节点需频繁的发送数据请求命令, 使得碰撞的概率加大, 从而引起重传所带来的能量损耗, 所以此时能量消耗较大。

由图8可以看出, 直接数据传输平均分组递交率始终保持在0.9727s以上, 间接数据传输则更高, 随着信标级数的增加呈缓慢下降趋势, 这也是因为随着节点数和信标级数的增加, 相互碰撞的概率加大, 使得丢包率增加, 所以平均分组递交率有所下降, 但是仍然保持着较高的递交率。图9中, 信标级数为3-7时, 直接数据传输与间接数据传输的端到端延时相差不多, 但级数大于7时, 间接数据传输出现了较大延时。由图9可以看出, 当信标级数为9时, 直接数据传输时延时为0.00892s, 而在间接数据传输时, 延时为0.0453s, 出现了较明显的延时。

5 结束语

本文对星型网中信标使能模式下改变信标级数对各性能参数的影响进行了详细的分析和仿真, 信标级数的不同以及数据传输方式的不同会影响节点的能量剩余、平均分组递交率和延时文章对今后的实际应用提供了一个理论依据, 也能够使得在今后的应用中IEEE 802.15.4协议能够得到有效的配置。

参考文献

[1]IEEE 802.15.4, Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications for low Rate Wireless Per-sonal Area Networks (LR-WPAN) [J].IEEE.2003.10.

[2]Configuring the IEEE 802.15.4 MAC Layer for Single-sinkWireless Sensor Network Applications[J].IEEE 2007.11.

上一篇:医保档案的管理下一篇:小学德育教育教学