在假设数据包丢失之前,我应该重传数据包多少次?

发布于 2024-11-15 01:18:10 字数 166 浏览 5 评论 0原文

我一直在创建一个类似于 TCP 的可靠网络协议,并且想知道数据包上重新传输阈值的良好默认值应该是多少(在假设连接断开之前重新发送数据包的次数)。如何找到网络上的最佳重试次数?还;并非所有网络都具有相同的可靠性,因此我想这个“最佳”值会因网络而异。有没有好的方法来计算最佳重试次数?还;在重试之前我应该​​等待多少毫秒?

I've been creating a reliable networking protocol similar to TCP, and was wondering what a good default value for a re-transmit threshold should be on a packet (the number of times I resend the packet before assuming that the connection was broken). How can I find the optimal number of retries on a network? Also; not all networks have the same reliability, so I'd imagine this 'optimal' value would vary between networks. Is there a good way to calculate the optimal number of retries? Also; how many milliseconds should I wait before re-trying?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆兒滾 2024-11-22 01:18:10

这个问题无法像所提出的那样回答,因为必须考虑太多现实世界的复杂性。

如果您需要 TCP,请使用 TCP。如果你想为传输层设计一个自定义协议,你会比将 40 年的累积经验编码到 TCP 中更糟糕。

如果您不查看现有文献,您将错过数百个您坐在办公桌前永远不会想到的设计注意事项。

This question cannot be answered as presented as there are far, far too many real world complexities that must be factored in.

If you want TCP, use TCP. If you want to design a custom-protocol for transport layer, you will do worse than 40 years of cumulative experience coded into TCP will do.

If you don't look at the existing literature, you will miss a good hundred design considerations that will never occur to you sitting at your desk.

我不吻晚风 2024-11-22 01:18:10

我最终允许应用程序设置此值,默认值为 5 次重试。在我们的测试场景中,这似乎适用于大量网络。

I ended up allowing the application to set this value, with a default value of 5 retries. This seemed to work across a large number of networks in our testing scenarios.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文