NS3仿真框架介绍
- 格式:doc
- 大小:559.50 KB
- 文档页数:8
1. 离散事件仿真器原理
在NS3中,Event 是以智能指针(函数指针)的形式存储在Scheduler 的列表中的,执行Event 的过程就是调用该函数的过程,在执行过程中又将产生新的
Event
Scheduler
Action: Trigger
Begin
2. NS3文件与模块
NS3是由3部分组成的:
.运行支撑框架,如event,scheduler等;
.仿真对象(网络元素),如路由对象、物理层MAC层对象以及各类协议;
.仿真辅助工具,如跟踪trace,日志log,统计statistical,图形化等;
3. NS3 基础架构图
4. 关键元素
4.1 Node
ns-3中基本计算设备被抽象为节点。节点由C++中的Node类来描述。Node类提供了用于管理仿真器中网络组件表示的各种方法,包括应用程序,协议栈,外设卡及驱动程序等。
4.2 Application
在ns-3中,需要被仿真的用户程序被抽象为应用。应用在C++中用Application类来描述。这个类提供了管理仿真时用户层应用的各种方法。开发者应当用面向对象的方法自定义和创建新的应用。UdpEchoClientApplication 和UdpEchoServerApplication:一个client/server 应用来发送和回应仿真网络中的数据包。
4.3 Channel
通常我们把网络中数据流流过的媒介称为信道。包括:CsmaChannel, PointToPointChannel 和WifiChannel。在ns-3的模拟环境中,你可以把节点连接到代表数据交换信道的对象上。在这里,基本的通信子网这一抽象概念被称为信道,在C++中用Channel类来描述。
4.4 Net Devices
NetDevices由C++中的NetDevice类来描述。NetDevice类提供了管理连接其他节点和信道对象的各种方法,并且允许开发者以面向对象的方法来自定义。例如CsmaNetDevice, PointToPointNetDevice, 和WifiNetDevice。
4.5 Topology Helpers
在现实的网络中,你会发现主机已装有(或者内置)的网卡。在ns-3中你会发现Nodes 附加了NetDevices。在大型仿真网络中,你需要在Nodes、NetDevices和Channels之间部署许多连接。
既然把NetDevices连接到Nodes、Channels,配置IP地址等等事情在ns-3是很普遍是任务,那么我们干脆提供了Topology Helpers来使这个工作变得尽可能的容易。举例来说:创建一个NetDevices,配置一个MAC地址,把此NetDevices装载到Nodes上,设置Nodes 的协议栈,以及连接NetDevices到一个Channels,这些事情都需要许多分立的ns-3核心操作。而当需要把许多设备连接到多点Channels,在网际间将单个网络进行连接,则需要对ns-3核心进行更多更多的分立操作。我们提供了Topology Helpers来整合这些大量分立的步骤,使其成为一个简单易用的操作。很明显,这样做可以极大地方便用户。
5. 通信流程(消息传递机制)
Application Application
Protocol Stack
NetDevice NetDevice
Node
Application Application
Protocol Stack
NetDevice NetDevice
Node
Channel Channel
Packet(s)
Sockets-like API
6. NS3的移动模型
ns-3支持的移动模型类包含:
(1)一个用于跟踪和维护object当前笛卡尔坐标和速度的移动模型(2)可以用来注册移动模型的轨迹变换监听器的轨迹变换通知器的跟踪源(3)一些用来放置节点和移动模型的helper类
类名模型名
ConstantPosition 定点模型
ConstantVelocity 固定速度模型
ConstantAcceleration 固定加速度模型
GaussMarkov 随机模型
Hierarchical 分层模型
RandomDirection2D 二维随机方向模型
RandomWaypoint 随机路径模型
SteadyStateRandomWaypoint 稳态随机路径模型
7. 节点装载流程
●创建节点;
●创建链路类型;
●为节点创建具有链路类型的设备;
●为节点创建协议栈;
●设置节点和网络IP;
●配置业务应用;
8. NS3的优缺点
. 优点:
●框架灵活,可以方便修改自己所要仿真的部分;
●内容丰富,有最新的网络仿真元素,如openflow,LTE;
●持续维护中;
. 缺点:
●移动模型粗糙简陋;
●仿真无线通信时无法考虑建筑等障碍物对通信质量的影响;
●仿真结果的可视化
9. iTETRIS-ICS 架构图
仿真器
10. iTETRIS-ICS 时序图