要約

  • 予測モードでは、移動端末が旧アクセスルーターにつながったままでも、FBU、HI/HAck、トンネル、バッファーを準備できる。これらは準備の受領証であり、新リンクへの到着証明ではない。
  • リンク接続、DAD または別 NCoA の割り当て、UNA、バッファー解放、通常の Mobile IPv6 バインディング、パケット受信、アプリの継続には、それぞれ固有の観測が必要になる。

速くなるのは、現実より先に動くからだ

FMIPv6 は、リンク切り替え後に始めると遅延になる IP 層の処理を前倒しする。端末は候補アクセスポイントに対応するルーター情報を得て、将来使うかもしれない care-of address を作り、転送先の変更を依頼できる。端末が旧リンクを離れる前に、新ルーター側へパケットが届くことさえある。

これは設計上の利点である。同時に、運用画面が最初の成功を「ハンドオーバー完了」と表示しやすい理由でもある。RFC 5268 が短縮対象とするのは IP 層の準備であって、リンクそのものの切り替え時間ではない。予測を始める無線側の判断も仕様の外にある。

現在の規範は RFC 5268 を廃止した RFC 5568 である。ただし統制上の問いは変わらない。どこまでが事前準備で、どの後続観測が実際の移動を確定したのか。

候補 AP の解決は位置測定ではない

移動端末は RtSolPr に一つ以上の AP-ID を入れ、旧アクセスルーターへ問い合わせる。PrRtAdv の AR-Info には、候補ルーターのリンク層アドレス、IP アドレス、対象インターフェースのプレフィックスが含まれる。端末はそこから見込み NCoA を構成できる。

しかし、なぜその AP を候補にしたかを決めるリンク固有のトリガーは、仕様が定めていない。端末は別の AP を選ぶかもしれず、接続に失敗するかもしれず、移動自体をやめるかもしれない。

したがって保存すべき事実は「世代 G で候補 AP をルーター座標へ解決した」である。「端末は NAR にいる」ではない。次の移動が同じ AP とプレフィックスを使う可能性もあるため、世代識別子なしでは前回の準備が今回の到着証明に化ける。

FBack は旧リンク上で受け取れる

予測モードでは、端末は切り替え前に PAR へ FBU を送る。PCoA と見込み NCoA の対応付け、そして転送を要求する。FMIPv6 Binding Authorization Data は、送信者が旧アドレスについて要求する資格を PAR に示す。

PAR は NAR と HI/HAck を交換する。NAR は提案アドレスを受け入れ、別アドレスへ置き換え、または拒否する。端末が移動前に FBack を受信すれば、準備が処理されトンネルが始まったと分かる。だが、その受信場所はまだ旧リンクである。

リアクティブモードでは境界がさらに明瞭になる。予測処理より先に新リンクへ到着した場合、または FBack を受け取れないまま離れた場合、端末は到着後に UNA を送り、FBU を送るか再送する。旧リンク上の FBack がなければ、最初の要求が処理済みかどうか分からない。

HI/HAck も端末の存在検知ではない。仕様外で確立したセキュリティアソシエーションの下で交わされるルーター間の処置結果であり、インフラ準備の正当性を支えるだけである。

NCoA は単一値ではなく履歴を持つ

プレフィックスから組み立てた NCoA は、最初は提案にすぎない。NAR は Duplicate Address Detection を行い、受け入れるか、HAck/FBack で別の NCoA を割り当てる。接続後も、NAACK が重複を示し、新アドレス用の FBU を要求する可能性がある。

RFC 5268 は衝突確率が極めて低くなり得るとは述べるが、ゼロとはしていない。DAD を省略できるのは、管理されたアドレス割り当てなど、明示的な配備方針がある場合だけだ。予測は一意性の証明ではなく、アドレス確認の境界は RFC 4862 にある。

監査可能な記録は、端末が提案した値、DAD 結果または省略方針、ルーターが割り当てた代替値、接続後に通知した値、その後の Mobile IPv6 で使った値を分ける。一つの NCoA 欄に上書きすると、却下された値が権限だけ残す。

UNA は転送を可能にするが、受信を保証しない

RFC 5268 は、トンネルを作るだけでは、NAR が端末の存在を検出できない限り、接続後のパケット受信を保証しないと明記している。

リンクがつながると、端末は Override ビットを立てない Unsolicited Neighbor Advertisement を送る。NAR はプロキシの隣接キャッシュ項目を削除するか、不完全な項目を STALE に移し、トンネル到着分とハンドオーバーバッファーを転送できる。

UNA は接続側の強い証拠である。ただし、全パケットが保持されたこと、端末スタックが受信したこと、アプリが継続したことまでは示さない。link-up、UNA、キャッシュ遷移、バッファー解放、送信、受信、アプリ状態は連続した別観測である。

バッファーは損失の場所を移すことがある

端末より早く NAR に届いたパケットは、バッファーがなければ失われる。リアクティブモードでは、FBU 処理前の PAR でも損失が起こり得る。保存は窓を狭めるが、容量と排出速度という新しい制約を作る。

大きなキューを一気に放出すれば、ルーター、リンク、端末が過負荷になり、輻輳、ジッター、追加損失を招く。RFC 5268 の既定動作は元の到着レートを基準にし、最初に連続送信できるのは最大五パケット、その後は間隔を制御する。

受け入れ範囲、保持範囲、オーバーフロー、解放トリガー、排出レート、送信範囲、受信結果は別々に測る必要がある。空になったバッファーが証明するのは、ルーターがもう保持していないという一点だけだ。

RFC 5568 はパケット形式の世代も分けた

後継仕様は番号だけを変えたのではない。RFC 5268 の HI/HAck は ICMPv6 メッセージだったが、RFC 5568 は Mobility Header メッセージへ変更した。現行実装は旧形式を送ってはならない。ただし互換性のため、受信した旧メッセージを解釈することはできる。

従って「HI を観測した」だけでは実装世代が分からない。形式と世代を保存しなければならない。RFC 5268 は準備と到着を分ける歴史的根拠として有用だが、廃止形式を新規配備する根拠にはならない。

接続後には通常の Mobile IPv6 処理も残る。事前転送は RFC 6275 に基づく Binding Update や Return Routability、恒常的なバインディング権限を代替しない。

実際に動くものは、境界の列である

Lu Heng の Running-Code Primacy に従えば、管理対象は「シームレスモビリティ」という名称ではない。候補観測、代理広告、見込みアドレス、FBU 認可、ルーター間処置、トンネルとバッファー、物理接続、UNA、アドレス確認、排出、バインディング、受信、アプリ結果という実行列である。

現実の層を取り違えてはならない。予測は準備ではなく、準備は接続ではなく、接続はアドレス一意性ではなく、転送可能は到達ではなく、到達はアプリ継続ではない。

高速ハンドオーバーは一つの層が先に走るから速い。その距離を記録し、各成功を世代、モード、アドレス履歴、最後に証明された境界へ戻せる場合にだけ、抽象化は信頼に値する。

出典