2

我读了这个问题:https ://stackoverflow.com/questions/20164788/how-to-assign-buffer-to-nodes-in-ns3-and-change-the-queue-length-of-each-node-or

我的问题更直截了当。

我有一个应用程序运行,节点通过交换机向主节点N发送带有实例的流量。N * M BulkSendSApplication这运作良好。

我想在交换机上模拟一个缓冲区,所以如果有突发情况,此时无法发送的数据包将被存储并稍后发送。当我应该首先开始学习时,是否有任何示例或任何代码?

我尝试了很棒的教程,但到目前为止还没有看到相关信息。我还阅读了一些手册和文档,但没有看到可以像安装其他应用程序和网络设备那样安装的简单缓冲区(我将缓冲区视为应用程序)。

我认为缓冲区应该是一个应用程序是错误的吗?

目前,我正在使用示例BridgeHelper的修改版本CsmaHelper来创建所需的设置。

4

1 回答 1

2

网桥用来模拟交换机端口的 CSMA 设备包含一个传出队列。用于创建交换机端口的 CsmaHelper 创建的默认数据包队列类型是 DropTailQueue。

IE:

CsmaHelper::CsmaHelper ()
{
  m_queueFactory.SetTypeId ("ns3::DropTailQueue");
  m_deviceFactory.SetTypeId ("ns3::CsmaNetDevice");
  m_channelFactory.SetTypeId ("ns3::CsmaChannel");
}

如果您需要更改此设置,您可以致电

CsmaHelper::SetQueue("ns3::RedQueue", 
                     "Mode", StringValue("QUEUE_MODE_BYTES"), 
                     "QueueLimit", StringValue("10MB"))
于 2014-03-10T10:59:31.383 回答