0

测试可靠 UDP 层的失败场景列表有哪些?我想到了以下几种情况:

  • 丢弃数据包
  • 丢弃 ACK、NAK 数据包
  • 乱序发送数据包。
  • 丢弃初始握手包
  • 丢弃关闭/关闭数据包
  • 重复数据包

请帮助确定可靠的UDP需要处理的其他情况?

4

3 回答 3

2

你给出的清单听起来不错。还要想想:

  • 非常延迟的数据包(大多数数据包都能正常通过,但一两个数据包延迟了几分钟);
  • 非常延迟的副本(原件很快通过,但副本在延迟几分钟后到达);
  • 静默丢弃超过一定大小的所有数据包(单向和双向情况);
  • 高度可变的延迟;
  • 序列号包装测试。
于 2009-11-25T01:05:25.260 回答
1

您是否尝试过故意破坏传输中的数据包?

另外,您是否考虑过只能进行单向通信的场景?在这种情况下,发送主机认为发送失败,但接收端成功处理了消息。例如:

  1. 主机A向主机B发送消息
  2. B成功接收消息并回复ACK
  3. ACK 在网络中被丢弃
  4. A等待超时并重新发送消息(重复步骤 1-3)
  5. 主机A超过重试次数并认为发送失败,但主机B实际上已经处理了消息
于 2009-11-24T11:03:21.597 回答
0

我认为 UDP 是一种无连接且不可靠的协议,它不需要主机之间的特定传输握手。因此不存在可靠的 UDP 协议。

于 2009-11-24T11:09:19.030 回答