【问题标题】:how does linux kernel process out-of-order tcp segment?linux内核如何处理乱序的tcp段?
【发布时间】:2017-06-26 14:57:48
【问题描述】:

我正在开发一个多 rx 线程以太网驱动程序,但这可能会导致将乱序数据包传递到 linux 网络堆栈的潜在问题。此问题已在 PPTP 连接上得到验证,因为 GRE 有序列号并且会丢弃乱序数据包。 那么,TCP 是否有 tcp 重组队列或类似机制来处理乱序段。

【问题讨论】:

  • 在不了解细节的情况下,TCP 实现需要能够处理乱序数据包

标签: linux networking tcp


【解决方案1】:

TCP 有一个窗口缓冲区。当数据包到达时,它们会被缓存,直到接收到下一个预期的数据包序列号。当接收到下一个预期的数据包(并且它是有效的)时,它会按顺序传递给应用程序接收。

https://www.quora.com/How-does-TCP-handle-the-duplicate-segments-and-out-of-order-segments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2017-04-28
    • 2012-02-09
    • 2014-01-17
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多