2017-06-26 7 views
0

私はマルチrxスレッドのイーサネットドライバを開発していますが、これはLinuxネットワークスタックにアウトオブオーダーのパケットを配送する可能性があります。この問題は、GREにシーケンス番号があり、順序外のパケットが破棄されるため、PPTP接続で確認されています。 したがって、TCPにはtcpリアセンブリキューまたは同様のメカニズムがあり、アウトオブオーダーセグメントを処理します。Linuxカーネルはどのように順不同のTCPセグメントを処理しますか?

+1

を参照して、TCP実装は、* *アウトオブオーダーパケットを処理できるようにする必要があります – hek2mgl

答えて

1

TCPにはウィンドウバッファがあります。パケットが到着すると、次の予想されるパケットシーケンス番号が受信されるまでキャッシュされます。次の期待パケットが受信されたとき(そしてそれが有効であるとき)、受信のためにアプリケーションに渡されます。

は詳細を知らなくてもhttps://www.quora.com/How-does-TCP-handle-the-duplicate-segments-and-out-of-order-segments

関連する問題