程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了TCP/IP 协议中的 netem 数据包丢失大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决TCP/IP 协议中的 netem 数据包丢失?

开发过程中遇到TCP/IP 协议中的 netem 数据包丢失的问题如何解决?下面主要结合日常开发的经验,给出你关于TCP/IP 协议中的 netem 数据包丢失的解决方法建议,希望对你解决TCP/IP 协议中的 netem 数据包丢失有所启发或帮助;

我正在尝试为我的项目模拟数据包丢失。我正在使用 TCP/IP 协议。 netem 工具提供了这样的功能。延迟在环回 IP 中起作用,但我无法使数据包丢失起作用。根据{{​​1}}的网站,丢包激活如下:

netem

在c编程中使用TCP/IP套接字的客户端/服务器应用程序中,客户端发送此消息“Echo this!”,客户端收到的来自服务器的回显消息完好无损。据我所知,TCP/IP 保证数据包的传递。用 TCP/IP 协议模拟丢包是不可能的吗?

解决方法

如果数据包丢失,TCP 会在一段时间后重新发送。如果它再次丢失,它将再次发送。依此类推,最多 10 分钟左右,之后它就会放弃。

5% 的丢包率并不是很糟糕,并且您的消息可能会在重发一两次后通过 - 或为零。还要注意你的整个消息适合一个数据包,所以你的程序总共只发送几个数据包(你的消息加上额外的连接和断开连接),而且很可能没有会丢失。

您可以尝试发送更长的消息(如 1 兆字节),并且您可以尝试将丢包率提高到 25% 或 50%(甚至更高!)。发送消息需要更长的时间,即使网络没有任何延迟,但您的消息应该最终通过,除非 TCP 决定放弃并断开您的连接。

大佬总结

以上是大佬教程为你收集整理的TCP/IP 协议中的 netem 数据包丢失全部内容,希望文章能够帮你解决TCP/IP 协议中的 netem 数据包丢失所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。