带有无线网络上的mulicast套接字的UDP

用户3852803

我编写了一个带有多播套接字的简单udp服务器客户端应用程序。服务器每6毫秒将数据包发送到三个客户端。数据包大小为1200字节。这是每秒166,66个数据包。每当客户端之一检测到丢失的数据包时,它将通过单播将NACK数据包发送到服务器。

第一次测试:服务器和三个客户端通过以太网连接到路由器TP-Link TL-WDR4300(dd-wrt),并且一切正常。

第二次测试:只有服务器通过以太网连接到路由器,而其他客户端通过无线2.4 GHz固定通道连接。无线存在两个问题:第一个问题是数据包丢失,客户端仅接收50%的数据包。突发中会出现丢失,例如接收到400个数据包,丢失200个等。第二个问题是,当客户端将NACK数据包发送回服务器时,我可以在Wireshark上看到这些数据,但是我的应用程序无法接收它们。这很奇怪,因为代码与通过以太网连接客户端时的代码相同。那么,有什么想法吗?我会很感激

服务器代码:

while (1) {

    FD_ZERO(&readfds);
    FD_SET(sd, &readfds);

    tv.tv_sec = 0;
    tv.tv_usec = 0;

    rv = select(sd + 1, &readfds, NULL, NULL, &tv);

    while (rv == 1) {

        nack_processing(sd);
        rv = select(sd + 1, &readfds, NULL, NULL, &tv);


    }
}
return 0;

}

我还进行了更新以减少流量:数据包大小:800字节数据包之间的到达时间:10毫秒=每秒100个数据包= 0.076 MB /秒

我测量了服务器和客户端的流量:服务器〜10 MB / s客户端〜5 MB / s

一切似乎都很好

卡尔提克·巴拉古鲁(Karthik Balaguru)

请注意,您正在比较两个不同的接口/媒体。一种是有线接口,另一种是无线接口。

无线网络中的数据包丢失:

这可能是由于多种原因。但是,第一个立即检查点应该是SNR,RSSI和工作频率/同信道干扰。wifi分析仪几乎可以带您接近解决方案。

无线路由器位置-检查无线路由器是否位于需要覆盖的区域的中央。确保避免覆盖区域适当重叠的覆盖孔。确保避开中间的建筑物,以减少干扰。另外,请注意,用户的距离和数据速率之间存在关系。用户越近,由于减少的路径损耗(因为这反过来会增加SNR),因此数据速率会更高。

天线类型-等距天线以球体形式提供覆盖区域。偶极天线以甜甜圈形式提供覆盖区域。也有各种定向天线。请注意,如果单元尺寸较大,全向天线可能会导致隐藏节点问题。聚焦光束天线可能会有所帮助。多扇区定向天线可以提供高容量,远距离。天线的类型,其位置和天线增益决定了无线电传输范围和覆盖范围。

通信信道/工作频率-在相同无线电覆盖范围内以相同频率工作的其他AP的存在可能会造成干扰。在这种情况下,如果附近只有802.11设备,则应相应地更改工作信道和信道间隔,以减少干扰。

功率级别-更高的功率级别可以扩大范围,但是如果附近有AP,则可能导致干扰。对于更高的容量,AP可能彼此靠近,在这种情况下,最好使用低功率级别以减少干扰。

其他设备-微波炉,蓝牙,无绳电话等非802.11设备也可能引入干扰。在这种情况下,最好移除这些设备或将其屏蔽以避免干扰。

就突发而言,数据包丢失似乎也表明该堆栈无法处理突发流量,其流量整形策略可能只是丢弃此类突发数据包。仔细检查是否产生此类流量突发。

NACK无法到达服务器:同样,这可能是由于与传输介质相关的问题所致,该问题可能导致NACK掉空。如果NACK已到达主机但尚未到达服务器应用程序/未处理,则可能是由于服务器或与堆栈相关的OS配置的体系结构所致。

分析丢包情况的典型步骤

  1. 检查防火墙设置,操作系统配置,路由器配置和网络硬件功能/配置(吞吐量功能,操作模式),中间节点配置/功能(MTU,路由/转发表)
  2. 在无线路径上,检查AP的位置,工作范围(频率),信道间隔,SNR,RSSI,天线类型/增益,覆盖范围,与AP的距离,覆盖区域中是否存在其他802.11设备和非802.11设备。
  3. 检查各个节点和接口的所有输入和输出点上的数据包统计信息
  4. 检查应用程序/协议层中所有输入和输出点的数据包统计信息
  5. 重复测试以通过吞吐量,数据包大小,运行持续时间,不同的应用程序,不同的有效负载大小,不同的pkts数量,功率水平,AP位置,信道...的各种组合来确定数据包丢失的方式确定问题的领域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有无线网络上的mulicast套接字的UDP

来自分类Dev

启动时没有无线网络,挂起后工作

来自分类Dev

如果没有无线网络,是否有理由不卸载无线软件包?

来自分类Dev

有关可靠无线网络的建议

来自分类Dev

将无线网络桥接到有线和第二无线网络

来自分类Dev

无法关闭无线网络

来自分类Dev

创建临时无线网络

来自分类Dev

创建临时无线网络

来自分类Dev

无法关闭无线网络

来自分类Dev

Virtualbox中的无线网络

来自分类Dev

找不到无线网络

来自分类Dev

无线网络未显示!

来自分类Dev

保护我的无线网络

来自分类Dev

混合无线网络重复

来自分类Dev

无法加入无线网络

来自分类Dev

无线网络扫描

来自分类Dev

是否可以同时拥有无线网络和有线网络,并让不同的应用程序使用其中一个?

来自分类Dev

为什么无线网络比有线网络能提供更准确的位置?

来自分类Dev

无线网络速度比有线网络慢得多

来自分类Dev

从有线网络切换到无线网络时保持sshfs连接

来自分类Dev

在Ubuntu 12.04上没有可用的有线或无线网络(来自LiveUSB的有线工作)

来自分类Dev

在Ubuntu 12.04上没有可用的有线或无线网络(来自LiveUSB的有线工作)

来自分类Dev

如何使用带有以太网连接的笔记本电脑创建“专用”无线网络?

来自分类Dev

如何创建一个带有整个街道的接入点的无线网络?

来自分类Dev

如何同时连接到有线网络和无线网络。有线网络默认

来自分类Dev

如何列出无线网络上所有私有IP地址范围的IP地址?

来自分类Dev

如何与Kubuntu 13.10上的其他设备共享有线/无线网络?

来自分类Dev

无线设备如何保持与无线网络的连接?

来自分类Dev

检测到无线适配器,但没有创建无线网络的选项

Related 相关文章

  1. 1

    带有无线网络上的mulicast套接字的UDP

  2. 2

    启动时没有无线网络,挂起后工作

  3. 3

    如果没有无线网络,是否有理由不卸载无线软件包?

  4. 4

    有关可靠无线网络的建议

  5. 5

    将无线网络桥接到有线和第二无线网络

  6. 6

    无法关闭无线网络

  7. 7

    创建临时无线网络

  8. 8

    创建临时无线网络

  9. 9

    无法关闭无线网络

  10. 10

    Virtualbox中的无线网络

  11. 11

    找不到无线网络

  12. 12

    无线网络未显示!

  13. 13

    保护我的无线网络

  14. 14

    混合无线网络重复

  15. 15

    无法加入无线网络

  16. 16

    无线网络扫描

  17. 17

    是否可以同时拥有无线网络和有线网络,并让不同的应用程序使用其中一个?

  18. 18

    为什么无线网络比有线网络能提供更准确的位置?

  19. 19

    无线网络速度比有线网络慢得多

  20. 20

    从有线网络切换到无线网络时保持sshfs连接

  21. 21

    在Ubuntu 12.04上没有可用的有线或无线网络(来自LiveUSB的有线工作)

  22. 22

    在Ubuntu 12.04上没有可用的有线或无线网络(来自LiveUSB的有线工作)

  23. 23

    如何使用带有以太网连接的笔记本电脑创建“专用”无线网络?

  24. 24

    如何创建一个带有整个街道的接入点的无线网络?

  25. 25

    如何同时连接到有线网络和无线网络。有线网络默认

  26. 26

    如何列出无线网络上所有私有IP地址范围的IP地址?

  27. 27

    如何与Kubuntu 13.10上的其他设备共享有线/无线网络?

  28. 28

    无线设备如何保持与无线网络的连接?

  29. 29

    检测到无线适配器,但没有创建无线网络的选项

热门标签

归档