メインコンテンツまでスキップ

2.3. Window Size for Overlapping Requests (重複要求のウィンドウサイズ)

2.3. Window Size for Overlapping Requests (重複要求のウィンドウサイズ)

SET_WINDOW_SIZE 通知は, 送信エンドポイントが複数の未完了交換の状態を保持でき, 受信者が最初のレスポンス前に複数リクエストを送れることを表明する. SET_WINDOW_SIZE 通知に関連するデータは 4 オクテットでなければならず, 送信者が保持すると約束するメッセージ数のビッグエンディアン表現を含む. 初期交換が完了するまでウィンドウサイズは常に 1 である.

ピアから SET_WINDOW_SIZE Notify を受信し, ピアがスループット向上のため複数の未処理メッセージの状態を維持する用意があると知らされない限り, IKE エンドポイントは各メッセージのレスポンスを待ってから次を送らなければならない.

IKE SA 確立後, IKE スループットを最大化するため, IKE エンドポイントはピアの SET_WINDOW_SIZE で設定された上限まで, いずれのレスポンスも受け取る前に複数リクエストを発行してもよい. これらのリクエストはネットワーク上で互いを追い越しうる. この状況のデッドロックを避けるため, IKE エンドポイントは自らリクエスト未処理の間にリクエストを受け入れ処理する用意がなければならない. 未処理リクエストがある間に複数リクエストを受け入れてもよい.

IKE エンドポイントは送信 IKE リクエストについてピアの宣言ウィンドウサイズを超えてはならない. つまり responder がウィンドウサイズ N と述べた場合, initiator がリクエスト X を送る必要があるとき, リクエスト X-N までのすべてのレスポンスを受信するまで待たなければならない. IKE エンドポイントは対応するレスポンスを受信するまで, 送信した各リクエストのコピー (または完全に同一の再生) を保持しなければならない. レスポンスが失われ initiator がリクエスト再送で再送を求めうるため, 宣言ウィンドウサイズに等しい数の過去レスポンスのコピー (または再生能力) を保持しなければならない.

ウィンドウサイズ 1 超をサポートする IKE エンドポイントは, ネットワーク障害やパケットの順序逆転に備え, 着信リクエストを順不同で処理できることが望ましい.

ウィンドウサイズは通常特定実装の (設定可能な) 属性であり, (例: TCP のウィンドウのような) 輻輳制御とは無関係である. 特に, 現在効いている値より小さい SET_WINDOW_SIZE 通知を responder が受けたときの動作は定義されていない. したがって既存 IKE SA のウィンドウを縮小する方法は現在なく, 拡大のみ可能である. IKE SA 再鍵化時, 新 IKE SA のウィンドウは新しい SET_WINDOW_SIZE 通知で明示的に増やすまで 1 から始まる.

INVALID_MESSAGE_ID 通知は, サポートされるウィンドウ外の IKE Message ID を受信したときに送られる. この Notify はレスポンスに含めてはならず, 無効なリクエストを確認してはならない. 代わりに INFORMATIONAL 交換を開始し, Notification Data に 4 オクテットの無効 Message ID を含めて相手に知らせる. この通知の送信は任意であり, この種の通知はレート制限しなければならない.