代码之家  ›  专栏  ›  技术社区  ›  Bolster

如何计算数据流的最佳UDP包大小?

  •  4
  • Bolster  · 技术社区  · 16 年前

    短无线链路,数据源通过IPv6连接,所需吞吐量为1280 kbps,采用UDP停止和等待协议,该区域没有其他客户端或明显的噪声源。我究竟如何才能计算出最大限度地减少开销的最佳包大小?

    更新

    我认为展示我迄今为止的工作是个好主意: ipv6有一个40字节的报头,所以包括ACK响应,即每个包80字节的开销。 为了满足吞吐量要求,需要每秒发送1280K/P数据包,其中P是数据包有效负载大小。

    根据我的估计,这意味着总开销是(1280 k/p)*(80),并将其投入 Wolfram 给出一个没有极小值的函数,因此没有“最优”值。

    我做了更多的数学运算,试图将误码率计算推到其中,但得出了同样的结论;如果没有极小值,我如何选择最佳值?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Yann Ramin    16 年前

    您最好的选择是使用网络模拟框架。这是一个困难的问题,并没有一个简单的答案。

    NS2 SimPy 如果您了解包丢失方面的模型,可以帮助您设计一个离散事件模拟来找到最佳条件。

        2
  •  0
  •   Steve-o    16 年前

    始终使用网络上可用的最大数据包大小,然后在部署中配置网络MTU以获得最可靠的设置。

    考虑延迟要求,如何生成有效负载,在发送数据包之前是否需要等待足够的数据,或者可以立即发送?

    无线信道已经针对低包级别的噪声进行了优化,您通常会有其他实现需求,例如电源需求:大批量发送或轻连续负载。