Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
受信キューのデータ構造を示す。受信ウィンドウと実際のデータが格納されたパケット(sk_buff)の対応は下図のようになっている。
receive_queueとout_of_order_queueには受信したパケット(sk_buff)をリンクする。各パケット(sk_buff)はシーケンス番号を割り当てられており、送信データストリームのどこに位置するかを示している。
シーケンス番号的に連続したパケットは、receive_queueにシーケンス番号順でリンクされる。ユーザアプリケーションのrecv処理で読み込み可能なデータはこのキューにリンクされたパケットである。
receive_queueに入れることのできない(シーケンス番号的に非連続な)パケットはout_of_order_queueの方にリンクされる。
パケット受信毎に、シーケンス番号的に連続になったパケットをout_of_order_queueからreceive_queueに繋ぎかえる。
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:17:41, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members