首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TCP/IP协议中的网络丢包

TCP/IP协议中的网络丢包
EN

Stack Overflow用户
提问于 2021-06-28 19:49:37
回答 1查看 193关注 0票数 0

我正试图模仿我的项目丢包的情况。我在使用TCP/IP协议。netem工具提供了这样的功能。延迟在回环IP中工作,但我无法使丢包工作。根据netem的网站,分组丢失被激活如下:

代码语言:javascript
运行
复制
tc qdisc change dev lo root netem loss 5%

在C编程中使用TCP/IP套接字的client/server应用程序中,客户端发送消息"Echo this !",客户机接收到的来自服务器的回显消息是完整的。据我所知,TCP/IP保证了数据包的传递。TCP/IP协议不可能模拟丢包?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 12:08:24

如果数据包丢失,TCP将在延迟后再次发送它。如果它再次丢失,它会再次发送它。以此类推,最多10分钟左右,然后就放弃了。

5%的数据包丢失并不是完全可怕的,您的信息很可能会在一到两次重发-或零后通过。还请注意,您的整个消息适合于一个数据包,因此您的程序总共只发送了几个数据包(您的消息加上连接和断开连接的额外数据包),而且很可能不会丢失这些数据包。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68169263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档