【问题标题】:which data structure to choose for ip datagram reassembly at receiver end?在接收端选择哪种数据结构进行 ip 数据报重组?
【发布时间】:2021-04-07 14:41:44
【问题描述】:

在接收方重新组装数据报时,哪种数据结构更好

  1. 如果 1-2 片段丢失,我们应该丢弃完整的数据报
  2. 片段的排序应该更快
  3. 如果碎片进一步碎片化,那么重新组装应该很顺利。

【问题讨论】:

    标签: networking data-structures ip ipv4 ip-fragmentation


    【解决方案1】:

    简答:数组,通常称为Buffer。

    长答案

    您可以阅读RFC 791了解所有详细信息。

    1. 显然,您可以从 [第 24 页]“分片与重组”开始阅读。你不排序。分拣成本很高。您做一些数学运算,然后将片段放在正确的位置。

    [第28页]提到了重组程序:

    1. 我之前曾与Contiki OS 合作过。你可以在那里see how a buffer is declared and used

    2. 您还可以通过 Google 的 Efficient IP datagram reassembly 专利获得一些乐趣。

    【讨论】:

    • 这里有1个问题,如果某些片段丢失或延迟重新组装,那么我们如何处理这种情况?假设在我们的缓冲区中有 2-3 个碎片集,而在处理 1 时,我们发现一些碎片丢失了,我们应该立即丢弃它并继续处理其他碎片还是等待一些计时器。我查看了您的实现,但看不到与此相关的任何内容。谢谢
    • @anand 你有没有timer expires第18行或第19行没有处理的情况?
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 2013-11-12
    • 2010-12-19
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2018-05-13
    • 2011-09-05
    相关资源
    最近更新 更多