NS3完全用C++编写(可选Python接口),脚本采用C++或Python语言,根据其四种类型的网络构件。其脚本仿真大致步骤如下[7]:
a)    创建节点Node(使用类NodeContainer::Create( )方法)NS-3的节点搭示意图如图2.1;  
图2.1 NS-3节点搭建示意图
b) 使用链路Helper类来帮助设置链路(包括PointToPointHelper、CsmaHelper、WifiHelper等类型)。Helper类虽然不属于上述四类的网络构件,但它却极大地方便了拓扑的搭建,它可以帮助处理实际中诸如在两个终端安装网卡、连网线、Modern、配置上网方式、链路属性等底层工作,简化了仿真过程,使软件可以更专注于仿真的目的,如图2.2说明的是Channel通道模块;
c) 安装IP协议栈(使用类InternetStackHelper::Install( )方法) 图2.3说明Socket接口类;
d) 设置IP地址(使用类Ipv4AddressHelper::SetBase( )/Assign( )方法);
e) 在节点Node上安装应用程序(目前支持UdpServerServer、UdpEchoClient、PacketSink等);
f) 设置仿真时间、启动仿真
NS-3中提供了很多查看仿真结果的工具,例如Logging Module、Command Line参数或者Tracing System等,通过仿真结果的反馈我们可以修改脚本中的一些参数,对仿真进行微调,使仿真得到较好的结果。
 
图2.2 Channel通道模块
 
图2.3 Socket接口类
NS-3的基本模型共分为五层[8]:应用层Applications,传输层Transport layer,网络层Network layer,连接层Link layer,物理层Physical layer。其中应用层Applic-,ation传输层Transport layer,网络层Network layer与TCP/IP模型中的应用层、传输层、Internet层是相对应的,其包含了基本的模型,如图2.4所示。图2.5指出了NS-3系统网络构建的模型。另外连接层Link layer,物理层Physical layer与TCP/IP模型中的网络接口层相对应。NS-3相比NS-2在各层上进行了更大的改进。
 
图2.4 ns-3基本模型涵盖功能
 
图2.5 NS-3系统网络构件模型

2.2 NS-3网络构件
2.2.1 NS-3网络仿真构成
在进行仿真时,需要了解仿真软件中已有的网络构件,才能拥有正确的思路以及合理的方法去实现仿真。在NS-3中采用四种类型的网络构件,分别是Node、Net Device、Channel、Application。
Node(节点):在Internet术语中,连接在网络两端的通常称为host(主机)或 end system(终端机),由于NS-3是一个网络模拟器,而不是一个专门的Internet模拟器,因此将不再采用和Internet紧密相关的术语host或end system,相反,我们用一个更加通用的术语Node(结点)。
Application(应用程序):NS-3中的应用程序与普通的计算机应用程序不同,NS-3没有明确的操作系统或者系统调用的概念,仅仅有一个应用程序的概念。就像系统程序运行在实际的计算机系统中,NS-3的应用程序运行在NS-3的结点(node)上。在NS-3中用了基于C++的两个专门的应用程序类UdpEchoClientApplication 和UdpEchoServerApplication来创建一个用于在模拟网络中传送数据包的客户机/服务器模型。
Channel(通道):在真实的环境中,可以将计算机连接到网络中,用于数据传输的媒介称为Channel,例如可以通过电缆线接入到以太网中;在NS-3的虚拟世界中,可以将Node连接到虚拟网络的结点中。同样,在Channel里也采用了基于C++的专门的类来定义Channel,用了多个这种专门的类来定义Channel的不同属性,这些类有CsmaChannel,PointToPointChannel and WifiChannel CsmaChannel。例如,CsmaChannel为一个采用多址接入协议的通信网络定义了一个模型,类似于以太网中的多址接入功能。
Net Device(网络设备):Net Device安装在Node中,以使Node可以通过Channel与其他Nodes进行通信,类似于真实网络中的网卡。Net Device是由基于C++的类NetDevice定义的。CsmaNetDevice用于CsmaChannel; PointTo-PointNetDevice用于PointToPointChannel;WifiNetNevice用于Wifi-Channel。
上一篇:基于ON/OFF算法的网络时间隐蔽信道的设计与实现
下一篇:VC++五子棋游戏设计+流程图

嵌入式移动数据库研究【2530字】

嵌入式移动数据库應用研究【2321字】

移动Ad Hoc网络发展的历史理论和技术

移动终端和JSP和MYSQL酒店管理系统设计

移动终端和WEB的校园二手...

湖南省移动电子商务发展的利与弊【1921字】

對移动电子商务互动营销...

国内外图像分割技术研究现状

AT89C52单片机的超声波测距...

志愿者活动的调查问卷表

医院财务风险因素分析及管理措施【2367字】

神经外科重症监护病房患...

承德市事业单位档案管理...

公寓空调设计任务书

中国学术生态细节考察《...

10万元能开儿童乐园吗,我...

C#学校科研管理系统的设计