美文网首页
NS3中的几个关键概念

NS3中的几个关键概念

作者: 天涯的尽头s风沙 | 来源:发表于2020-11-22 11:30 被阅读0次

节点Node

在网络术语中,任何一台连接到网络的计算设备被称为主机,亦称为终端。NS3是一个网络模拟器,而非一个专门的因特网模拟器,为此我们避开术语“主机”,因为这个词太容易让人联想到因特网和及其相关协议。因此,我们选用了一个来源于图论,在其他网络模拟器中亦广泛使用的术语:节点。

NS3中基本计算设备被抽象为节点。节点由用C++编写的Node类来描述。Node类提供了用于管理计算设备的各种方法。

可以将节点设想为一台可以添加各种功能的计算机。为了使一台计算机有效地工作,我们可以给它添加应用程序,协议栈,外设卡及驱动程序等。NS3采用了与此相同的模型。

信道

在现实世界中,人们可以把计算机连接到网络上。通常我们把网络中数据流流过的媒介称为信道。当你把以太网线插入到墙壁上的插孔时,你正通过信道将计算机与以太网连接。

在NS3中,可以把节点连接到代表数据交换信道的对象上。在这里,基本的通信子网这一抽象概念被称为信道,用C++编写的Channel类来描述。

Channel类提供了管理通信子网对象和把节点连接至信道的各种方法。信道类同样可以由开发者以面向对象的方法自定义。一个信道实例可以模拟一条简单的线缆(wire),也可以模拟一个复杂的巨型以太网交换机,甚至无线网络中充满障碍物的三维空间。

几个信道模型的实例,包括:CsmaChannel,PointToPointChannel和WifiChannel。举例来说,CsmaChannel信道模拟了用于一个可以实现载波侦听多路访问的信道,这个信道具有和以太网相似的功能。

网络设备

如果想把一台计算机连接到网络上,必须在计算机上安装有网卡。一张网卡如果缺少控制硬件的软件驱动是不能工作的。

在Unix/Linux系统中,外围硬件被划为“设备”。设备通过驱动程序来控制,而网卡通过网卡驱动程序来控制。在Unix/Linux系统中,网卡被称为像eth0这样的名字。

在NS3中,网络设备这一抽象概念相当于硬件设备和软件驱动的总和。NS3仿真环境中,网络设备相当于安装在节点上,使得节点通过信道和其他节点通信。像真实的计算机一样,一个节点可以通过多个网络设备同时连接到多条信道上。

网络设备由用C++编写的NetDevice类来描述。NetDevice类提供了管理连接其他节点和信道对象的各种方法,并且允许开发者以面向对象的方法来自定义。我们在本教程中将使用几个特定的网络设备的实例,它们分别是CsmaNetDevice,PointToPointNetDevice, 和WifiNetDevice。正如以太网卡被设计成在以太网中工作一样,CsmaNetDevice被设计成在csma信道中工作,而PointToPointNetDevice在PointToPoint信道中工作,WifiNetNevice在wifi信道中工作。

应用程序

计算机软件通常可分为两大类:系统软件和应用软件。系统软件根据计算模型配置,并管理计算机中的各种资源,如内存,处理器周期,硬盘,网络等。系统软件通常并不直接使用这些资源来完成用户任务。用户往往需要运行应用程序来完成一些特定的任务,而应用程序需要使用由系统软件控制的资源。

通常,系统软件和应用软件的界线表现为特权级别的变化,而这种变化是通过操作系统的自陷功能(operating systemtraps)来实现的。在NS3中并没有真正的操作系统的概念,更没有特权级别或者系统调用的概念。然而,我们有应用程序的概念。正如“现实世界”中在计算机上运行应用程序以执行各种任务一样,NS3仿真环境中的应用程序在节点上运行来驱动模拟过程。

在NS3中,需要被仿真的用户程序被抽象为应用。用Application类来描述。这个类提供了管理仿真过程中用户层应用的各种方法。开发者应当用面向对象的方法自定义和创建新的应用。在本教程中,我们会使用Application类的两个实例:UdpEchoClientApplication和UdpEchoServerApplication。这些应用程序包含了一个client应用和一个server应用来发送和回应仿真网络中的数据包。

相关文章

  • NS3中的几个关键概念

    节点Node 在网络术语中,任何一台连接到网络的计算设备被称为主机,亦称为终端。NS3是一个网络模拟器,而非一个专...

  • NS3学习DAY2

    NS3重要概念 节点 可以理解为英特网中的主机,但因为NS3不是专门模拟英特网的,所以用结点代替。C++用Node...

  • ns3 初探 概念及关键类

    1.概念 节点 基本计算设备被抽象为节点。用C++中node类描述。可想象成计算机,我们要为它添加应用程序,协议栈...

  • Spring事务(一)Spring事务的使用介绍

    基本概念 Spring家事务中的几个关键类: TransactionManagerPlatformTransact...

  • 分类网络输出层的几个关键概念

    分类网络输出层的几个关键概念: logit,在数学概念中,logit是把概率([0, 1]) 映射到实数领域 R ...

  • 《正面管教》-几个关键概念

    1.自尊的概念: 自尊是孩子在有了归属感和价值感之后,自己给与自己的,是孩子自己给与自己的评价,而不依赖于别人的赞...

  • ns3的几个类

  • 关键渲染路径

    标签: 浏览器渲染 关键渲染路径 提到页面渲染,有几个相关度非常高的概念,最重要的是关键渲染路径,其他几个概念都可...

  • Git中关键概念

    想使用Git,必须理解它的一些基本概念 提交(commit)# 每次commit之后都会生成一个提交,提交的数据结...

  • centos7环境下ns3 安装过程

    centos7环境下ns3 安装过程 (1)安装ns3依赖环境 (2)步骤 下载ns3 从https://www....

网友评论

      本文标题:NS3中的几个关键概念

      本文链接:https://www.haomeiwen.com/subject/gkluiktx.html