4

在正常情况下,对于乱序的 UDP 数据包,我应该期望最坏的情况是什么?

我目前用两个字节(0 到 65535 的数字)标记每个数据包以跟踪订单。这是足够还是太多?

4

2 回答 2

2

根据 RFC 3208,您可以针对最后两个无序的数据包。

根据定义,最坏的情况是无限的,因此您最好将第三个无序数据包视为数据丢失。

在所有情况下,接收者应该缓和 NAK 生成的启动,以解决网络引入的简单错误排序。实现此目的的一种可能机制是仅在接收到序列号高于(假定的)丢失数据包的序列号的 N 个数据包后才假设丢失。N 的一个可能值是 2。这个方法应该补充一个基于超时的机制,该机制在数据流传输暂停之前处理最后一个数据包的丢失。

https://www.rfc-editor.org/rfc/rfc3208

于 2011-06-30T18:57:04.803 回答
1

应该很多,我从来没有见过超过 3-4 个乱序的 UDP 数据包,你可以用一个字节来跟踪它。

于 2011-06-30T01:38:12.557 回答