【问题标题】:How to drop specific packet captured in NS-3 mesh node?如何丢弃在 NS-3 网状节点中捕获的特定数据包?
【发布时间】:2020-10-20 06:53:42
【问题描述】:

我正在使用 NS-3 v3.28.1 来模拟 WiFi Mesh 网络。网格拓扑(实际上只有一条线,每个节点安装IEEE 802.11s栈,HWMP协议)包含3个WiFi Mesh节点,Node0,节点 1 和 节点 2。然后我在 Node0 中绑定一个 UDP 套接字(充当 receiver)和另一个(充当 Node2 中的 sender)。 Node2通过Node1向Node0发送UDP数据包> 每 10 毫秒。拓扑如下:

Node0(接收者)Node1 Node2(发送者)

10.1.1.1/24             10.1.1.2/24      10.1.1.3 /24

然后我在 Node1 上设置 MonitorSnifferRx 函数来监听从 Node2 发送到 的 udp 数据包Node0 使用Config::ConnectWithoutContext:

Config::ConnectWithoutContext ("/NodeList/1/DeviceList/*/Phy/MonitorSnifferRx", MakeCallback (&DecodeRxPktCB));

在Node1回调函数DecodeRxPktCB中,我可以解码Node2发给的udp包节点0。

我的问题是: 当在 Node1 的 MonitorSnifferRx 回调函数中捕获到特定的 UDP 数据包(内容符合某些规则)时,我该如何丢弃它,因此它不会传输到 节点0?我看到MonitorSnifferRx回调函数中的第一个参数是“Ptrconst Packet > packet”,只有const值才能读取。

【问题讨论】:

    标签: wifi packet ns-3 mesh-network drop


    【解决方案1】:

    您可以使用NS-3 Packet 类来获取您需要的信息并对其进行过滤。

    如果可以的话,我建议在发送者上添加一个数据包标签(或字节标签),让你的中间节点更容易过滤它。数据包标签详细信息也在上面的链接上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2011-11-12
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      相关资源
      最近更新 更多