受信キューのデータ構造を示す。受信ウィンドウと実際のデータが格納されたパケット(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年06月11日 (日) 22時29分57秒 JST