【发布时间】:2017-06-26 14:57:48
【问题描述】:
我正在开发一个多 rx 线程以太网驱动程序,但这可能会导致将乱序数据包传递到 linux 网络堆栈的潜在问题。此问题已在 PPTP 连接上得到验证,因为 GRE 有序列号并且会丢弃乱序数据包。 那么,TCP 是否有 tcp 重组队列或类似机制来处理乱序段。
【问题讨论】:
-
在不了解细节的情况下,TCP 实现需要能够处理乱序数据包
标签: linux networking tcp
我正在开发一个多 rx 线程以太网驱动程序,但这可能会导致将乱序数据包传递到 linux 网络堆栈的潜在问题。此问题已在 PPTP 连接上得到验证,因为 GRE 有序列号并且会丢弃乱序数据包。 那么,TCP 是否有 tcp 重组队列或类似机制来处理乱序段。
【问题讨论】:
标签: linux networking tcp
TCP 有一个窗口缓冲区。当数据包到达时,它们会被缓存,直到接收到下一个预期的数据包序列号。当接收到下一个预期的数据包(并且它是有效的)时,它会按顺序传递给应用程序接收。
见https://www.quora.com/How-does-TCP-handle-the-duplicate-segments-and-out-of-order-segments
【讨论】: