问题描述
在接收端重新组装数据报时,哪种数据结构更好
- 如果 1-2 个片段丢失,我们应该丢弃完整的数据报
- 片段的排序应该更快
- 如果碎片被进一步分割,那么重新组装应该很顺利。
解决方法
简短回答:数组,通常称为缓冲区。
长答案:
您可以阅读RFC 791了解所有详情。
- 显然,您可以从 [第 24 页]“分片和重组”开始阅读。你不排序。排序是昂贵的。你做一些数学运算,然后将片段放在正确的位置。
[第 28 页] 提到了重新组装程序:
-
我之前曾与 Contiki OS 合作过。你可以在那里see how a buffer is declared and used。
-
您还可以通过 Google 的 Efficient IP datagram reassembly 专利获得一些乐趣。