ns3中如何实现采样?

How to implement sampling in ns3?

我想知道如何在ns3中实现采样。我真正想要实现的是使用 p2p 链接创建一个简单的交换机和主机网络。然后,为特定交换机设置一个概率(假设为 0.1),并期望通过该交换机的每个数据包都将以我之前定义的概率被捕获。 (非常类似于 sflow 或 netflow 中的采样)。 我浏览了 nsnam.org,我发现关于我的问题的唯一工具是 Flow Monitor,我认为它对我的目的没有帮助。

没有直接的方法来实现您想要的行为,但有一个解决方案。

设置一个正常的钩子让所有数据包通过其中一个交换机。请参阅 the tutorial 以了解如何使用跟踪系统。

然后,在函数的开头使用 RandomVariable 来确定是否要忽略该数据包。 RandomVariable 需要在全局范围内或作为参数传递给函数。