用网络仿真软件NS2进行IP网络的仿真
nef帅矗湎ul枷∞缸扣—一Ne附础洲栅2.wilh蚰嘣跗叫e 0fT凹,we
NAM
or
XG枷,and desi咖工Ig“ew
nefw吐P‘m曲intlle
1【I卵呻r凼
C十+hd.
NAM
NS2Ⅱ工,n(T℃P
由c++编写,同时利用麻省理工学院的面向对象的仿真时的命令和配置的接口语言。到目前为止, Ns已推出很多个版本,最新的版本是2.1硝~”。 网络仿真的全过程由一段awL的脚本来描述,并披Ns解 释器所解释。这段脚本通过调用引擎中各类的属性、方法从而 定义周络的拓扑。配置业务源、目的端,建立连接,产生所有事 件的时刻表,运行并跟踪仿真结果。甚至可以对结果进行相应 的统计处理或制图。 所以.Ns仿真环境中主要有两种分工不同的开发语言。 它用c++语言来描述网络协议中的细节,同时用dTcL语言来 配置仿真活动中的各种参数,建立仿真的整体框架。因为c++ 的特点是具有更快的运行速度,但每次改变均需要编译较为复 杂,比较适合处理繁琐但比较固定的工作;而01℃L虽然在运行 速度上无法和c++比拟,但相对来说更加灵活,适合用来设计 个人的仿真方案。当然,在Ns中,C++和01.cL之间可以自由
¥m∞㈣一all‰
oLlt.nⅢ&
“∞m1
3.2在Ns中运用xI强L懈l【ll和AwK脚本
NAM只是生成了一个对仿真过程的宏观描述,当我们要对 网络的微观特征进行跟踪记录并生成评价时,就需要采用其它
的方法。,
传统的R∞o一亿P协议中,每成功地传输一个窗口数量的
数据时,拥塞窗口值总是增加1;如果遇到一定数量的重复序列 号的确认时,视为数据丢失,窗口值会变为原来的l/2,同时拥 塞避免的域值也变为原来的1/2。如果要求在数据丢失时,拥 塞窗口不是在原有的基础上成比例的减少,而是赢接下降到一
节茼之间的连接关系,可以运用du妇一hnk的方珐来建立双
向的连接。代理是仿真过程的重要对象,对于末端主机来说它 是必须的。通信业务源和接收端、动态路由模块、以及很多其 它协议的模块都是代理中的实例。
tiIIle=¥1; cwind=¥7; 叫n“”%f%f、矿,dme.曲血d)
3图形界面和相关技巧
在设计网络拓扑和定义规则之后,Ns会在运行仿真时生 成一个整体事件的时闯列表,并根据它执行每一个事件。 这还是远远不够的。因为:第一,如果不能有一个可观测 的用户界面,我们根本无法调试程序从而保证仿真的正确性。 第二,如果投有对局部网络数据进行跟踪并形成评价,我们也 无法从仿真的过程中得到任何结果。
5总结
本文的目的是希望用最浅显的语言描述网络仿真软件
添加新协议类Ⅱ聊n矾pA萨llt的定义,并在代PA辨m类中添
加两个宙口和域值的控制参量d0∞c'm如一和
撑幽正Ile coLSE—CWND一1D慨00000400
——Nat帅矗血mlla虹2的使用方法。Ns的功能十分强大,由于
是共享软件,几乎每天都有新的基于Ns的协议集发布。尤其 对于酽网络,无线网络的仿真课题来说,NS的首选地位在短期 内不会动摇。
(上接第29页)
作相应的修改。 修改的具体方法如下:
值,并把c‰wr山一和do鸵髂t}吣hlo一设定为当前窗口值的 1/2,这就和僻R衄。完全等效;如果对网络的情况能够有一个
较准确的预测。也可以动态的指定一个相对合适的新窗口值,
lb8a的跟目
1.假设新建的T凹协议为Ⅱ聊唧。在ns2
类似,但需蘑增加窗口和域值下降的语句:
8m
3建立ⅦP流。 4在uDP上建立Par咖分布的应用层业务的代理。 5.建立1卯连接。
6.在1℃P上建立r秤业务的代理。 用N皖建立网络是通过调用三个现有的原始功能块:节 点、链路和代理来实现的。Ns通过调用node类来创建节点并 且自动的为每一个节点分配唯一的地址。对于网络拓扑结构
sekckwird{
H州代P
NAM
口p砸-I、^DRK
sIMI】IA删BASED
Yu丑m Qi锄chuan
0N Ns2
(Ⅱ弘砌Ⅲ矿缸加妇西m廿帕蜘hy,丑曲写J删)
A聃n埘 kt场8 p印盯,他gi僧a姗in删ud叩da细玎0lls 目pI血此m吼hodBd俪t如K价K,NwK
Wang
cod鸭讯the出幽p‰r【n辩mdIIg脚№骷血by
用网络仿真软件NS2进行口网络的仿真
王
宇
赵千川
(清华大学自动化系北京100∞4)
摘要
N盟的仿真环境中编写1℃Ⅷ脚奉,AwK脚本和使用NAhI和xcRAP}I显示图形结果的方法,咀及在c++代码层改动和添加所设
{十的网结协议的方法。 关键词
Ns2
本文主要涉及网络仿真软件——N曲帅Il【sim山lor 2的安装和使用。并结合一个TcP改进算法的例子,详细介绍了在
的相互的调用,这是通过~种嚣为础L工具包实现的。
2利用.I℃L语言141设计简单的仿真试验
圈2.1是采用N虫进行简单的网络仿真的例子。这里,我 们采用“nI】x平台上的当前最新版本N显.188A,操作系统是
Red Hat“mH 7.O。
其中,节点1到节点3是一个&m一1珊州的连接,其应用
NS的原理和结构
3.1 pi^jI“o
曲。ec
awk¥sdectcwird
nace.Ⅱ>dmwcwIld.廿
∞ecl鲫b由wcwIldⅡ一伊m唧80∞棚
&
4在C++代码层修改或创建新的网络协议集
在上面,我们其实已经实现了一次完整的网络仿真。只不 过这次仿真是构造了一个特定的网络环境,并对原有协议集 (鼬呻一TcP,兀P等)进行检验和分析,并没有引人新的协议。 而有时,一种网络算法的引入是在协议比较细节的地方,利用 了协议集中十分特殊的字段。因此,这种改动是单单的1℃L脚 本所无能为力的,必须触及协议定义的c++代码层的改动。 c++代码层的改动方法,大致可以分为以下几步: 1.定义或继承c++协议类。 2.编写该类成员函数和协议算法。 3定义1℃L相关的类和变量。 4.把c++代码绑定到1℃L。 5.编译。 在上面例子的基础上,我们来讨论以下的问题。
在Ns中,仿真的全部宏观过程都可以通过NAM这个用户 图形界面得到。它可以显示从仿真开始到结柬过程中的拓扑 结构和各个代理的行为以及链路的状态。 在Ns中运行NAM只需在仿真开始前定义跟踪NAM所需
的数据,生成一个扩展名为r蛐的数据文件,并在仿真之后用
NAM命令词用。代码如下: sd丘lam[oI)既out.珊m w]
节点5.6之间是一段瓶颈链路,由_I℃P和UDP连接共享。 我们可以分“下几部分代码实现:
1.创建和配置节点。 2建立连接。
0.44388 0.44832
O 0
O 0
3 3
0 O
cwnd一13.000 cwnd
14.∞0
这里,我们用x(疆APH并画出TcP窗口随时间变化的曲 线。但在这之前,需要在文件曲oelⅡ提取时间和窗口值这两 个字段,因为这是软件包xGRAPH的格式需要。通常流行的方 法是用Ns软件包中另一个配套工具包AwKo AⅣK也是一种脚本语言,非常类似c。下面的AwK代码 就是实现上述的功能,最后,用xcRAPH画出曲线:
sm
?4啪…uDP^∞nB
5
cwndh删e[open
trace.k
wJ
¥tcplⅡace cwrd一 ¥位pl甜ach¥cwrIdllanme 下面这个文件的部分内容,其中第一列是时间,第六列是 拥塞窗口值。
6Ⅻ一cK惝‘
囝2
1
层上运行的是兀P的服务。2号节点群到节点4分别是】2个
LrDP的连接,其上的业务是P舭㈣分布的0N加FF模型…J。
函数也只能用于输出图形.不能用于输出仿真模型图。还有一
在输出图形时,还应平衡好分辨率和文件大小的关系。不 能一味追求输出图形的高品质,而忽略了提高分辨率所导致的 存储空间增大。 由此.用户可根据输出图形的要求和用途,选择合适的输 出图形的方法,定义输出图形的格式,从而将MATLAB图形和 仿真模型图高质、准确、方便的输出,满足用户的不同需求。
sl洲down(CL06E—sSnmEsH一珊lC0lsE—cwND—TD);
2在1cP h中增加两个新=进制参量,作为判断新协议窗
这体现在衄流和背景uDP流的吞吐量的同时提高。在这里,
我们就不作细节介绍了。
口下降方式的侬据,传递给窗口下降函数sldwda帅()。
0删800
#凼mm
CLOSE—ss珏吼嘲一1U
从而减少拥塞程度,增加网络的利用率。例如,在仿真中,我们 曾用一个鞍长尺度的拥塞窗口的均值对窗口下降后的值作修 正,因为背景流具有一定的白相似特性,在长时问尺度下有一 定的可预测性”J,新算法在一定程度上提高了网络的利用率,
录中建立一个新的协议文件ⅡHqEW cc,内容和Ⅱ唧hm∞
亿n肼一acdⅢl:
前列。
然而,Ns的复杂性一直以来成为它广泛应用的最大障碍。
J.Marlc
PLlll衄【“对这一类仿真软件的评价是:对用户的编程能
力,实际网络胁议的理解能力要求较高,初学者可能需要儿个 月的时间才能基本掌握。而且,国际上针对它的完整的使用手 册o’目前只有一个英文版本。 本文力求通过最简单易懂的语言介绍NS仿真平台的原理 和使用方法。希望读者能在最短的时间内掌握它。 本文第一部分介绍Ns的原理和结构:第二部分介绍如何 利用1℃L语言设计简单的仿真试验;第三部分分析Ns的图形 界面和相关技巧;第四部分结台例子介绍如何在Ns的c++代 码层修改或创建新的网络协议集;最后一部分是总结。 l
HIr“著.D币omrIgn目Ⅱ氆衍PuMi衄t10|l(2),姒Ⅱ彻Dioes【,[j/
[3]Ben
点应注意:用耐nl命令输出‰111link的仿真模型图时,输出格
式只能定义为e田,其他格式均不支持用叫m命令输出模型图。
NS2仿真实验报告
Ns2简单有线网络仿真实验报告一、实验概述1、在windows系统下安装Centos虚拟机2、在Centos系统下安装NS2仿真工具包3、Nam方式示例二、实验内容1)NS2仿真工具包安装说明1.在Centos系统下设置root账户2.解压NS2文件3.安装ns-allinone-2.35设置环境变量4.验证NS2工具包安装情况2)Nam方式Otcl脚本# 产生一个仿真的对象set ns [new Simulator]#针对不同的资料流定义不同的颜色,这是要给NAM用的$ns color 1 Green$ns color 2 Red#开启一个NAM trace fileset nf [open out.nam w]$ns namtrace-all $nf#开启一个trace file,用来记录封包传送的过程set nd [open out.tr w]$ns trace-all $nd#定义一个结束的程序proc finish {} {global ns nf nd$ns flush-traceclose $nfclose $nd#以背景执行的方式去执行NAMexec nam out.nam &exit 0}#产生6个网络节点set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]set n5 [$ns node]#把节点连接起来$ns duplex-link $n0 $n2 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail$ns duplex-link $n3 $n4 1.7Mb 30ms DropTail$ns duplex-link $n3 $n5 1.5Mb 30ms DropTail#设定ns2到n3之间的Queue Size为10个封包大小$ns queue-limit $n2 $n3 10$ns queue-limit $n3 $n4 5#$ns queue-limit $n3 $n5 10#设定节点的位置,这是要给NAM用的$ns duplex-link-op $n0 $n2 orient right-down$ns duplex-link-op $n1 $n2 orient right-up$ns duplex-link-op $n2 $n3 orient right$ns duplex-link-op $n3 $n4 orient right-up$ns duplex-link-op $n3 $n5 orient right-down#观测n2到n3之间queue的变化,这是要给NAM用的$ns duplex-link-op $n2 $n3 queuePos 0.5#建立一条n0-n5TCP的联机set tcp [new Agent/TCP]$ns attach-agent $n0 $tcpset sink [new Agent/TCPSink]$ns attach-agent $n5 $sink$ns connect $tcp $sink#在NAM中,TCP的联机会以Green表示$tcp set fid_ 1#在TCP联机之上建立FTP应用程序set ftp [new Application/FTP]$ftp attach-agent $tcp$ftp set type_ FTP#建立一条UDP的联机set udp [new Agent/UDP]$ns attach-agent $n1 $udpset null [new Agent/Null]$ns attach-agent $n3 $null$ns connect $udp $null#在NAM中,UDP的联机会以红色表示$udp set fid_ 2#在UDP联机之上建立CBR应用程序set cbr [new Application/Traffic/CBR]$cbr attach-agent $udp$cbr set type_ CBR$cbr set packet_size_ 1000$cbr set rate_ 1mb$cbr set random_ false#设定FTP和CBR资料传送开始和结束时间$ns at 0.1 "$cbr start"$ns at 1.0 "$ftp start"$ns at 4.0 "$ftp stop"$ns at 4.5 "$cbr stop"#结束TCP的联机(不一定需要写下面的程序代码来实际结束联机)$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"#在仿真环境中,5秒后去呼叫finish来结束仿真(这样要注意仿真环境中#的5秒并不一定等于实际仿真的时间$ns at 5.0 "finish"#执行仿真$ns run3)仿真结果仿真结束后,会产生out.nam和out.tr两个档案用来把仿真的过程用可视化的方式呈现出来4)数据分析1.End-to-End Delay把测量CBR封包端点到端点间延迟时间的awk程序,写在档案measure-delay.awk档案中BEGIN {#程序初始化,设定一变量以记录目前最高处理封包的ID。
基才NS2仿真的IP网络性能分析与研究
关键 词 : S N 2仿 真 ; 能 分 析 ; 扑 ; 能 指 标 性 拓 性
中 图 分 类 号 : P 0 .1 T 33 0 文 献标 识 码 : A 文 章 编 号 :1 7 — 2 6 2 1 ) 0 1 一 4 6 4 6 3 {0 2 1 13 o M-
Pe f r a c n l ss a e e r h f口 n t r b s d o 2 r o m n e a a y i nd r s a c o e wo k a e n NS
Z HAO J— o HOU i ,Z b Yu,Z HOU n -in Ho gqo g
d l t r p ce s rt a dS n T eepr e t sl o a df rn t ooyt e aedf rn e et O e y ie, aktos ae n o . h x e m na r ut s wt t ieeto l p s v ieet f cs HI a jt l O i le s h h p g y h f P
是 实 现 以上 两 个 方 面 的重 要 手 段 。
一
络 仿 真 器 . 核 心 部 分 是 一个 离 散 事 件 模 拟 引 擎 。N 2仿 真 其 S
器具有强 大的数据处 理功能 , 扩 展性强 , 行效率 高 , 可 执 且
仿 真 结 果 的 可 靠 性 高 。N 2支 持 T P U P等 网 络 协 议 , 以 S C 、D 可
随 着 网络 的不 断 发 展 。 络 的 研 究 也 越 来 越 受 到 人 们 的 网 关 注 , 方 面 需 要 不 断 研 究 新 的 网 络 协 议 和 各 种 算 法 , 足 一 满 现 有 网 络 存 在 的 不 足 , 升 性 能 , 网络 发 展 做 出 前 瞻 性 的 提 为 研 究 : 一方面也要考 虑如何整合 、 用现有 的网络资源 . 另 利 完 善 网 络 结 构 。 现 有 网络 达 到 最 高 效 能 。I 使 P网 络 性 能 的分 析
网络模拟器NS2中仿真功能的问题分析及改进
第21卷第2期 系统 仿 真 学 报© V ol. 21 No. 22009年1月 Journal of System Simulation Jan., 2009网络模拟器NS2中仿真功能的问题分析及改进况晓辉1, 赵 刚1,2, 郭 勇1,3(1.北京系统工程研究所, 北京 100101; 2.清华大学计算机科学与技术系, 北京 100084; 3.国防科技大学信息系统与管理学院, 长沙 410073)摘 要:网络仿真技术为解决大规模网络规划、应用和协议设计面临的挑战提供了新的途径。
作为广泛应用的网络模拟器,NS2为建立可扩展的网络仿真环境奠定了重要基础。
在描述NS2仿真功能实现的基础上,重点分析了NS2仿真功能存在的不足。
针对发现的问题,提出并实现了NS2仿真功能扩展,最后验证了仿真功能扩展的正确性。
关键词:网络仿真;NS2;报文转换;功能扩展中图分类号:TP393 文献标识码:A 文章编号:1004-731X (2009) 02-0427-05Improvement of Emulation Function in Network SimulatorKUANG Xiao-hui 1, ZHAO Gang 1,2, GUO Yong 1,3(1. Beijing Institute of System and Engineering, Beijing 100101, China; 2. Department of Computer Science and Technology,Tsinghua University, Beijing 100084, China; 3. Department of Information System and Management of NUDT, Changsha 410073, China)Abstract: Network emulate technology which enables real hosts and a real network to interact with a virtual network, becomes a very important way to resolve the challenge faced in network plan, application and protocol design. As a famous network simulator, NS2 proposed a foundation to construct network emulate platform. The emulation function of NS2 was described firstly. Based on analysis the problem of emulation function in NS2, the extension of NS2 emulation function was proposed and implemented. The correctness of extension was dominated in the end. Key words: network emulation; NS2; packet reform; function extension引 言互联网的迅速发展与膨胀对网络的规划、应用和协议的设计提出了新的挑战。
ns2的基本功能和用法。
ns2的基本功能和用法。
NS2是一款广泛使用的离散事件网络仿真器,它可以用来模拟网络协议、网络拓扑结构、传输层协议等各种网络方面的问题。
在本文中,我们将会详细介绍NS2的基本功能和用法,让您了解如何使用这个强大的工具来开展网络仿真和探索。
第一部分:NS2的简介NS2全称Network Simulator 2,是一款免费且开源的网络仿真平台,它可以运行于Linux和Windows操作系统。
NS2是C++编写的,它是由一个模块化的体系结构构建而成的。
NS2可以帮助你模拟和测试各种网络协议和技术,包括但不限于TCP/IP、WiFi、无线通信、移动通信、卫星通信等。
NS2的基本组成部分包括:- OTcl:OTcl是一个面向对象的Tcl解释器,它被用来编写NS2的脚本文件。
它可以帮助您表示仿真模型以及控制仿真场景和参数。
- C++代码:NS2的模拟核心是由C++编写的,它包含了底层的网络协议处理逻辑和数据结构。
- Trace:NS2的Trace模块可以记录仿真过程中所有的事件和消息交换。
我们可以通过Trace来分析仿真结果,并对仿真场景进行可视化。
总结NS2是一个开源且强大的网络仿真器,它的核心部分是由C++编写而成的。
NS2可以帮助您模拟和测试各种网络协议和技术,并提供一个强大的OTcl 脚本语言来控制和配置仿真模型。
第二部分:NS2的基本功能NS2提供了很多强大的功能,如下所示:1. 拓扑结构模拟NS2可以帮助我们模拟各种网络拓扑结构,例如星型、树形结构、层次结构等。
通过定义节点、连接和协议,我们可以很容易地构建复杂的拓扑结构,并进行仿真和测试。
2. 参数设置和控制通过OTcl脚本,我们可以轻松地配置和控制仿真模型。
我们可以设置各种参数,例如发送速率、仿真持续时间、节点位置等等。
此外,我们还可以通过设置事件触发器来控制仿真场景的流程。
3. 模拟协议NS2可以帮助我们模拟各种协议,例如TCP、UDP、ICMP等。
网络仿真器NS-2及其一个应用实例
NS- 2 是 一个具有仿真事件驱 动、网 络构件 对象库 和网络 配
置模块库的 Otcl 脚本解释器。NS- 2 中编译 类对象通过 Otcl
连接建立了与之对应的解释类对象, 这样用户 可以在 Otcl 空
间能够方便地对 C+ + 对象的 函数和 变量进 行修改与 配置, 充分体现了仿真器的一致和灵活性。 2. 3 NS- 2 的功能模块
本文要介绍的是目前应用较 为广泛的 网络仿 真软件 NS - 2( Network Simulator) , 它是由 UC Berkely 大学开 发的一个 基 于事件驱动的仿真器。它能近乎真实地模 拟网络环 境, 让 我 们可以在各个层次上模拟网络的运行。
2 NS- 2 结构和功能
2. 1 NS- 2 简介 NS- 2 是 面向对象的, 基 于离散 事件驱 动的网 络环境 模
3) 链路( Link) : 由 多个组 件复 合而成, 用来 连接 网络 节 点。所有的链路都是以队列的形式来管理 分组的到 达、离 开 和丢弃。在链路中增加了 Trace/ EnqT 、Trace/ DeqT、Trace/ DrpT 以及 Tracer/ RecvT 等对象可以跟踪每个数据包到达、进入、离 开队列以及被丢弃的时间; 还可以用队列监视 器( Queue Mon itor) 来监测队列长度和平均队长的变化情况。
用户使用 NS- 2 实现tcl 源 程序来初始 化一个事 件 调度器, 定义网络拓扑结构, 配置业务源, 确定 发送和接受 传 输数据包的时间, 然后启动 NS- 2 仿真器。
2) 运行仿真程序。 3) 仿真结果分析: 程序运行 结束后, 用户根据记录 模拟数 据的文档, 利用 NS- 2 中的可视化仿真软件 NAM 动态 查看仿 真的运 行过 程、观察 跟 踪数 据, 或 使用 Linux 中的 Xgraph 或 Windows 下的 Origin 等软件将结果转换成带有坐标的平面图。
用NS_2进行无线网络仿真
W ireless Network S im ula tion U s ing NS 2
W AN G Zhaoqiang, GE W ancheng, P I Kunbao
N S 2 是一个可扩展、易配置、可编程的事件驱动网络 仿真引擎。他是一个开源软件, 具有开放的体系结构, 并有 大量的协议库支持。基本模型包括局域网、无线局域网、卫 星网、广域网等, 并对网络分层模型中的各种协议有丰富的 支持。因此在国际上享有很高的学术声誉, 被世界各国的网 络研究者广泛使用。 但目前国内的研究资料还相对较少。
(4) 设置 T race 对象。T race 对象把仿真过程中发生 的特定类型事件记录在 trace 文件中。N S 2 通过 trace 文 件保存整个仿真过程。仿真完成后, 用户可以对 trace 文件 进行分析研究。
(5) 编写其他的辅助过程, 设定仿真结束时间, 至此 O T cl 脚本编写完成。
图 1 显示了N S 2 的体系结构。N S 2 软件包中包括 T cl T K [2], O T cl, N S, T clCL。其中 T cl (Too lk it comm and language) 是一种灵活的、交互的、开放式脚本语言, T K 是 基于 T cl 的图形程序开发工具箱, 是 T cl 的重要扩展部分, 用 于 X 环境下图形界面的开发。O T cl 是 T cl T K 的面向对象 的扩展, 在 T cl 中加入了类、实例、继承等面向对象的概念, 有自己的类层次结构。N S 2 是面向对象的仿真器, 用 C+ + 编写, 以O T cl 解释器为前端。因此, N S 2 中的构件一般都 是由相互关联的两个类来实现的, 一个在 C+ + 中, 一个在 O T cl 中, 构件的主要功能通常在 C+ + 中实现, O T cl 中的类 则主要提供C+ + 对象面向用户的接口。C+ + 对象和O T cl 对象 之间是通过 T clCL 机制关联起来的。
NS2与网络仿真part2
OTcl 语言
• • • • • • • • • • • • • • • • • • • • proc prime {j} { #Computes all the prime number till j for {set a 2} {$a <= $j} {incr a} { set b 0 for {set i 2} {$i < $a} {incr i} { set d [expr fmod($a,$i)] if {$d==0} { set b 1 } } if {$b==1} { puts "$a is not a prime numner" } else { puts "$a is a prime numnber" } } } prime $j
NS2介绍
• NS是一种面向对象Tcl(OTcl)语言脚本解释器,它有一个事件调度器、 一个网络组件库。换句话说,使用NS时需要使用OTcl语言编写脚本文 件。 • 事件调度器(Event Scheduler):事件在NS中是一个具有唯一ID号的数据 包、数据包被处理的时间及处理它的主对象的总称。事件调度器跟踪 仿真的时间并且根据预定时间安排队列中的事件,激活当前时间对应 的处理该事件的网络对象。事件调度器维护一个排序的数据结构(缺 省情况下ns使用链表),对事件有序地执行、释放,并激活事件处理 对象。 • NS由C++和OTcl写成:其中C++语言实现各种网络组件(Network Component),这是为了提高效率;OTcl语言编写脚本文件来建立网络 和运行仿真,这样是为了简单而快速地进行网络环境的建立。
OTCL编程环境
例 1. 一个简单的 Tcl 脚本
OTcl 语言
基才NS2仿真的IP网络性能分析与研究
基才NS2仿真的IP网络性能分析与研究赵吉波;周宇;周红琼【摘要】In this paper, network simulation method is mainly adopted. In order to simulate IP network operation, NS2 simulation software is applied. Four typical network topology structures: Bus, Star, Ring, mesh are achieved by programming. We select some key performance indicators of network transmission as experimental collection objects such as packet delay, delay jitter, packet loss rate and so on. The experimental results show that different topology types have different effects on IP network performance.%采用网络模拟仿真方法,选用NS2仿真软件模拟IP网络运行。
编程实现四种典型的网络拓扑结构:总线型、星型、环型、网型,选取网络传输中的数据包延时、延时抖动、丢包率以及吞吐量等关键性能指标为实验采集对象。
通过大量的仿真实验数据分析不同拓扑类型对IP网络性能产生的不同影响。
【期刊名称】《电子设计工程》【年(卷),期】2012(020)004【总页数】5页(P113-116,119)【关键词】NS2仿真;性能分析;拓扑;性能指标【作者】赵吉波;周宇;周红琼【作者单位】宁波大学信息学院,浙江宁波315211;宁波大学信息学院,浙江宁波315211;宁波大学信息学院,浙江宁波315211【正文语种】中文【中图分类】TP303.01随着网络的不断发展,网络的研究也越来越受到人们的关注,一方面需要不断研究新的网络协议和各种算法,满足现有网络存在的不足,提升性能,为网络发展做出前瞻性的研究;另一方面也要考虑如何整合、利用现有的网络资源,完善网络结构,使现有网络达到最高效能。
使用NS2网络仿真软件对信息传输进行仿真
西安邮电学院通信与信息工程学院科研训练报告专业班级: 通工0904班 学生姓名: xxxx 学号(班内序号): XXXXXXXX (XX 号)2012 年 11 月 6 日——————————————————————————装订线————————————————————————————————报告份数:实验总成绩:使用NS2网络仿真软件对信息传输进行仿真摘要:在人们决定构建一个新的网络系统或者建立一个新的协议时,人们总希望在投入很多成本实验之前能有一种方便修改、结果直观的系统对该网络或协议模型进行测试,开源的网络仿真软件NS因此诞生,为网络拓扑设计与协议开发提供了一个有力的仿真测试平台。
为了对NS2系统进行学习,我建立了两个典型的网络拓扑结构,分别对有线/无线混合网络及路由选择过程进行通信仿真与分析,通过这两个仿真实验达到初步掌握与了解NS2的目的。
关键字:NS2 网络仿真混合网络结构路由选择ABSTRACTNetwork Engineers And Researchers always need a convenient and easy-amend simulation system to test their design of new network topo and protocol before a lot of cost dive into experiment and test,The Network Simulation(NS2) is a powerful ,open source simulation plat which can appease them.Processed from study NS2 system ,I build two emblematical network topo (wired/wireless mixed network and route choose process),via build and simulate this two systems to learn how to use NS2 and NS2’s analyse tools.Keywords:NS2; Network Simulation;Mixed network; Route hoose processO、引言在人们决定构建一个新的网络系统或者建立一个新的协议时,人们总希望在投入很多成本实验之前能有一种方便修改,结果直观的系统对该网络或协议模型进行测试,开源的网络仿真软件NS因此诞生,为网络拓扑设计与协议开发提供了一个有力的仿真测试平台。
无线网络中多媒体信息传输的NS2仿真设计
摘要无线网络中多媒体信息传输的NS2仿真在无线多媒体通信系统中,视频信源在发送端按照一定的编码方式进行编码,形成视频帧,然后在网络层和传输层封装成IP数据包,再经过无线信道传输到达接收端,在接收端进行解包和恢复,得到视频帧,再形成重建后的视频流。
在此过程中,无线信道的传输特性会影响到视频的传输质量。
本文在利用Evalvid 工具的基础上,综合NS2仿真工具,建立研究多媒体信息在无线网络中传输的平台。
在视频流仿真方面,本文采用了将视频流的Trace 文件引入NS仿真环境的方法,来模拟实际网络传送的视频流,并在tcl程序代码中设定G-E模型的参数变量,这样就可以得到经模拟网络传输后数据包的收发情况,并对无线信道对多媒体信息传输质量的影响进行评估。
实验中采用的网络拓扑结构为无线局域网拓扑结构。
仿真结果表明,由于无线信道特性的不理想,在接收端恢复视频信息与视频信源相比较,会出现一定的失真。
本文还综合利用多种工具对视频信息的质量变化进行评估,如数据封包的时延、视频的PSNR值、可解画面比例与原始图像和重建后的图像的差异等。
关键词:无线网络;多媒体信息;网络仿真;AbstractThe Simulation Of Multimedia Information Transmission in Wireless Network Video information are encoded by a certain means in the sending end among the system of wireless-multimedia communication,informing the video frames,and then they was encapsulated in the network layer and the transmission layer.Before they reach the sink,they transmit across the wireless channel,and now they are download and renew,getting the new frames,which inform the rebuided video stream.Among this course,the characteristic of wireless channel could affect the quality of video transmission.Based the useage of Evalvid tool and integrated ns2 simulation tool,we construct the platform for researching the transmission of multimedia in wireless network.In the simulation of video stream, in order to simulate the actual transmission of video stream in the network,we apply the method that importing the traffic trace file of video stream into the ntework simulation circumstance,and then we enactment the parameter of the G-E model in the tcl script,in this way,we can get the condition of datagramme,meanwile,we evaluate the effect of wireless channel for the transmission of multimedia.In this experiment,we adopt the WAN topologyframework as the network framework.The result revealed that as the ideallessness characteristic of wireless channel,there is a certain distortion between the original video source and the rebuilded video information.Meanwhile,we utilize kinds of tools,such as the delaytime of datagrame、the value of PSNR for video、decodable frame rate 、the difference between the source video file and the rebuilded video file and so on,evaluating the quality of video information.Key words:wireless network;multimedia information; network simulation目录第一章绪论31.1引言31.2 选题意义41.3 论文章节安排5第二章无线网络的信道模型与视频帧52.1无线局域网的传输标准52.2无线信道的G-E模型82.3视频流的封装原理92.3.1 MPEG标准92.3.2MPEG中有关GOP的概念102.3.3封包和帧的关系102.4画图工具的介绍11第三章无线局域网视频仿真环境的构建143.1 基于myevalvid工具的多媒体传输系统143.2 NS2模拟无线网络的传输163.2.1 NS2与其基本原理163.2.2 网络拓扑结构的组成183.2.3无线传输差错模型的实现193.3仿真网络的结构213.4 视频仿真的细节22第四章视频信息传输研究244.1实验探究步骤244.2视频传输研究294.2.1视频帧的比较294.2.2 数据包的延时31第五章总结与展望32致33参考文献33第一章绪论1.1引言随着无线网络和多媒体技术的迅猛发展,无线网络已逐步从单一的数据传送网向数据、语音、图像等多媒体信息的综合传输网演化。
