您的位置:首页 > 其它

浅析NS3中各个流量发送应用的异同

2017-05-21 16:45 561 查看
  NS3中内置的产生通信流量的应用有UdpEcho、OnOffApplication、BulkSendHelper这三个,下面我们分别简单解释一下这三个应用的作用及其工作模式,基本上是对官方文档的一个转述。

UdpEcho

  其中UdpEcho是最简单的,和执行ping命令有点类似,不同点在于该应用使用的是UDP协议并且携带了数据(但数据内容是系统自动填充的,没有实际意义)。该应用可以设置发送数据包的数量、发送数据包的时间间隔以及发送的数据包的大小。这个应用基本上应该适用于大多数情况下的仿真。

OnOffApplication

  OnOff应用是一个开关应用,开关应用的意思就是开的时候产生流量,关的时候不产生流量,这个应该很好理解,onoff应用产生的是cbr流量,cbr是Constant Bit Rate的缩写,译为固定位元速率,也就是产生流量的速率是固定的,而每次开或者关持续的时间均是由随机值决定的,除此之外,OnOff应用可以设置传输协议,支持UdpSocketFactory、TcpSocketFactory,另外PacketSocketFactory应该也是支持的,这个没有测试过。关于OnOff应用的更详细的解释或者说备注翻译如下(官方文档):

注意:当应用程序启动时,第一个分组传输发生在等于(分组大小/比特率)的延迟之后。还要注意,当应用程序在分组传输之间转换为关闭状态时,直到下一次传输发生的剩余时间将被缓存,并在应用程序再次启动时使用。示例:数据包大小= 1000位,位速率= 500位/秒。如果应用程序在3秒钟的时间内启动,则第一个分组传输将被安排5秒(3 + 1000/500)和后续传输,间隔2秒。如果上述应用程序在时间4秒停止,并在5.5秒时间重新启动,则第一个数据包将在6.5秒发送,因为当它在4秒钟停止时,只剩下1秒,直到原本安排传输,并且这个剩余信息被缓存并用于在重新启动时调度下一次传输。

如果底层套接字类型支持广播,则此应用程序将自动启用SetAllowBroadcast(true)套接字选项。

BulkSend

  BulkSend应用程序持续产生流量直到应用程序停止或者已完成发送设定的数据包的数量。该应用的一个特点是尽最大可能的发送多的数据并试图达到最大带宽。

  这三个应用应该根据实际情况自由选择,但不是唯一的选择,你也可以根据需要建立套接字,自己实现发送数据的功能,包括定义数据包的内容等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NS3 发送流量