(三)NS3中的关键概念

(三)NS3的关键概念

8. NS3关键概念:

1)  NODE节点

NODE节点:NS3基本的计算设备被抽象为节点。节点是一台可以添加各种功能的抽象计算机(软硬模块),如节点可以添加应用程序、协议栈、外围卡及其驱动程序(合称网卡)。

节点有C++中的Node类描述。Node类提供了用于管理仿真器中网络组件(抽象表示)的各种方法。如:NodeContainer类,用于追踪一组节点指针。通常,Ns3的拓扑助手类一次能在多个节点上工作,如一个设备助手可以在大量相同节点上安装设备。

创建2个节点:

NodeContainernodes;

nodes.Create(2);

2) Channel信道

Channel信道:基本的通信子网概念被抽象为信道,信道实例可以模拟一条简单的线缆(wire),也可以模拟一个复杂的巨型以太网交换机,甚至可以是无线网络展中充满障碍物的三维空间。

Channel类提供了管理通信子网对象和把节点连接至它们的各种方法。

常见Channel如:

CsmaChannel以太网信道:模拟了一个可以用于实现载波侦听多路访问通信子网的媒介,这个信道具有与以太网相似的功能。

PointTopointChannel:简单的点对点通信,没有多点通信能力,最多有2个点对点连接的设备。

Wi-FiChannel:???

3) NetDevice网络设备

NetDevice网络设备:网卡硬件设备和网卡软件驱动的抽象总和。Ns环境中,网络设备安装在节点上,使得节点能够通过信道和其他节点通信。与实际电脑类似,一个节点可以通过多个网络设备同时连接到多条信道。

NetDevice类提供了管理连接其他节点和信道对象的各种方法。

注意:NetDevice与Channel一一对应安装配置使用。

常见NetDevice

以太网网络设备,CsmaNetDevice被设计在CSMA信道中工作,即与CsmaChannel信道对应一起工作。

PointToPointNetDevice与PointToPointChannel匹配。

WiFiNetDevice与WiFiChannel匹配。

4) Application应用

Application应用:能够产生一些仿真需要的事件或动作(数据)的基本用户程序被抽象为应用。

传统上,计算机软件分为两大类,系统软件和应用程序软件,两者区别是表现在操作系统的自陷功能的特权级别的不同。Ns3中没有真正的操作系统概念,特别没有特权级别和系统调用。有的只是应用软件的概念,与现实应用类似,仿真时ns3application在ns3的节点上驱动仿真。

Application提供方法管理用户级别的抽象应用。如Application类的实例UdpEchoClientApplication和UdpEchoServerApplication,这些应用程序包含了一个client/server应用来发送和回应仿真网络中的数据分组。同其他生成器类对象类似,UdpEchoServerApplication由UdpEchoServerHelper管理。

5) Topology Helpers 拓扑帮助

Topology Helpers 拓扑帮助:Ns3中nodes附加了Netderivces,在大型仿真网络中,需要配置Nodes, NetDevices和Channel之间大量的连接,如连接Netdevices和Nodes, NetDevices和Channel,IP地址的分配等等,这些常见的工作我们都可以调用拓扑帮助类完成。

For example, it may take many distinctns-3 core operations to
create a NetDevice, add a MACaddress, install that net device on a Node, configure the node’s protocolstack, and then connect the NetDevice to a Channel.Even more operationswould be required toconnect multiple devices onto multipoint
channels and then toconnect individual networks together into internetworks.

参考文献:

[1] ns-3project. ns-3 Software Tutorial. ns-3 project. 2015年2月26日

[2] ns-3project. ns-3 Reference Manual. ns-3 project. 2015年2月26日

[3]《ns-3网络模拟器基础及应用》,人民邮电出版社,马春光 姚建盛,2014年1月

部分参考网络资料,未一一列举,敬请原谅!

时间: 2024-10-12 15:54:55

(三)NS3中的关键概念的相关文章

5、ns-3关键概念

1.节点 基本计算设备被抽象为节点.用Nodes类来描述.如Nodeontainer类,用于追踪一组节点指针. NodeContainer nodes; nodes.Create(2); 2.应用 需要被仿真的用户程序被抽象为应用.这些方法以“Time”对象为参数,记录接收时间和发出时间.NS3用Application类表示. 3.信道 基本的通信子网被抽象为信道.C++中用channel类来描述.该类提供了管理通信子网对象和节点连接至它们的各种方法.一个信道实例可以模拟一条简单的线缆,也可以模

【NS-3学习】ns3-模拟基础:关键概念,日志,命令行参数

前言 本篇博客先介绍在仿真过程中会使用到的一些关键概念,然后介绍便于调试仿真脚本的常用技术:日志.命令行参数. 关键概念 节点 在因特网术语中,主机(终端)是指任何一台连接到网络的计算设备.ns-3并非一个专门的因特网模拟器,而是一个网络模拟器.为此不采用术语"主机",因为这个词太容易让人联想到因特网以及相关协议.因此,选用其他术语:节点. 可以将节点理解为一个空的机箱,我们可以向其中添加各种功能,将其变成我们想要的主机或者交换机. 节点由C++中的Node类来描述.Node类提供了用

Java进阶(三)多线程开发关键技术

原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自Jason's Blog,原文链接 http://www.jasongj.com/java/multi_thread/ sleep和wait到底什么区别 其实这个问题应该这么问--sleep和wait有什么相同点.因为这两个方法除了都能让当前线程暂停执行完,几乎没有其它相同点. wait方法是Object类的方法,这意味着所有的Java类都可以调用该方法.sleep方法是Thread类的静态方法. wait是在当前线程持有wait对象锁

OOP的关键概念

一:OOP 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成. 二:OOP的特性 1)封装:我们不需要知道程序组件内部是如何进行工作的,我们只需要通过这些组件众所周知的接口进行调用即可.通过众所周知的接口把用户应用与与程序内部工作原理进行分离,这种方法叫做封装.这些组件不仅能够调用还能够进行组件的组装.通过这些定义好的接口进行交互的组将我们称为对象

数据库中一些基本概念的深入理解

1.怎样理解事务的一致性 一致性就是一个这样的东西,一致性对于不同的应用领域有着不同的定义,因为它就是按照业务规则来说明这个是一致的,那个是不一致的,这个角度上讲,一致性就是一个系统的状态,一个合理的状态.而合理则表现在这个状态是否符合业务规则.例如:转账业务中合理的状态就是,转出和转入帐户必须出入相等,如果不等那就意味着不合理,也就是不一致,有时候我们很容易就能把它定为"守恒一致性",也就是说总体来说什么也不多,什么也不少就是一致性.而这个规则能够使用于其他的义务吗?我们不能说不能,

Python中类型的概念(一)

本课程主要介绍6种Python语言中的类型:数字类型.字符串类型.元组类型.列表类型文件类型.字典类型 1.数字类型 Python语言包括三种数字类型:整数类型.浮点数类型.复数类型 (1)整数类型 与数学中的整数概念一致,没有取值范围限制 pow(x, y)函数:计算xy. (通过指数函数,可以看出,python语言整数类型没有范围限制) (0x, 0X开头表示16进制数) (0b, 0B开头表示2进制数 ) (0o, 0O开头表示8进制数) (2)浮点数类型 带有小数点及小数的数字 Pyth

6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你习惯快乐时,记忆里的不愉快就消失了. 游戏开始之前 经过之前的学习,我们已经可以开发一个最基本的 Cocos2d-x 游戏了,这个游戏包括一张背景图片和一个退出游戏的按 钮,但是这距离完成一个完整.实用的游戏还很遥远.在这一章节中,我们将首先抛开 Cocos2d,介绍游戏开发的基本概念,然后结合 Co

关于一些 MYSQL中的字符集概念

最近遇到mysql乱码的问题,找了些资料,先保存,后面慢慢总结自己的处理方法. 笔记: 问题环境总结: 1.前台php代码没有改变 2.原数据库,所有表的都是utf8 mysql> show variables like '%char%';+--------------------------+----------------------------------+| Variable_name            | Value                            |+---

(五)NS3中示例:网桥模块示例csma-bridge.cc程序的注释

(五)NS3中示例:网桥模块示例csma-bridge.cc程序的注释 1.Ns3 bridge模块中csma-bridge.cc示例程序注释 // Network topology // // n0 n1 // | | // ---------- // | Switch | // ---------- // | | // n2 n3 // // // - CBR/UDP flows from n0 to n1 and from n3 to n0 恒定的比特流从n0转发到n1,从n3转发到n0