受信キューデータ構造

受信キューのデータ構造を示す。受信ウィンドウと実際のデータが格納されたパケット(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に繋ぎかえる。

img103.gif

(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST
1