Attach後なぜ、インターネットに出られるのか ― ハンドオーバーの裏側
2026-04-11
IoTデバイスが移動中でも通信が途切れない理由を、Attach後の状態・RRC制御・ハンドオーバーの内部動作から構造的に解説
はじめに
IoTデバイスをセルラーネットワークに接続していると、自然とこうした疑問に行き当たります。
「なぜ移動しても通信は途切れないのか?」
本記事では、この挙動をハンドオーバーの観点から分解します。
ハンドオーバー前の状態
以前の記事「Attach後なぜ、インターネットに出られるのか」でGTPトンネルが確立するまでについては触れました。 GTPトンネルが確立された状態ですので、「UE → Serving eNodeB → S-GW → P-GW → Internet」の経路でインターネット通信ができている状態です。
ここでRRC Connected状態と測定制御 と RRC Connection Reconfigurationについて追加の前提条件として触れていきましょう。
RRC Connected状態と測定制御
Attach後、UEはRRC Connected状態となり、Serving eNodeBと制御プレーンの接続を維持します。 この状態では、UEは単に通信するだけでなく、eNodeBから指示された条件に基づいて無線環境の測定を行います。
RRC Connection Reconfigurationとは
ハンドオーバー実行可否の判断条件は、RRC Connection ReconfigurationによってUEに設定されます。 具体的には以下のようなパラメータが含まれます:
- 測定対象(Neighbor Cell / 周波数)
- 測定イベント(例:Event A3)
- 閾値(Offset)
- Time-to-Trigger(一定時間継続した場合にのみ成立) UEはこれらの条件に従って、Serving CellとNeighbor Cellの品質(RSRP / RSRQ)を比較し、条件を満たした場合にのみMeasurement Reportを送信します。
👉 つまり、ハンドオーバーのトリガーはUEの自発的な判断ではなく、 eNodeBによって事前に定義されたルールに従って発生します。
ハンドオーバーの過程1(前半戦)
まずはハンドオーバーの前半戦を見ていきましょう。
この段階では経路はまだ切り替わっておらず、「UE → Target eNodeB → Serving eNodeB → S-GW → P-GW → Internet」というフォワーディングが発生しています。
※この時点ではS-GWの送信先はまだServing eNodeBのままであるため、Target eNodeBはServing eNodeB経由でデータを受け取る構成となります。
| 1 | UE |
周辺の基地局(eNodeB)を検出 この後このeNodeBをTarget eNodeBと呼ぶ |
| 2 | UE | RRC Connection ReconfigurationとTarget eNodeBの比較 |
| 3 | UE → Serving eNodeB |
Target eNodeBの方が条件が良い場合Measurement Reportを送信 |
| 4 | Serving eNodeB | ハンドオーバー判断 |
| 5 | Serving eNodeB → Target eNodeB |
X2 Handover Requestを送信 |
| 6 | Target eNodeB | リソース確保 |
| 7 | Serving eNodeB ↔ Target eNodeB |
データ転送PathとしてGTPトンネルをセットアップ このGTPトンネルには新たなTEIDが付与される |
| 8 | UE |
ハンドオーバーの実行 Target eNodeBのRRC Connection Reconfigurationを受信し置き換える |
ハンドオーバーの過程2(後半戦)
続いてハンドオーバーの後半戦を見ていきましょう。 ここで「UE → Target eNodeB → Serving eNodeB → S-GW → P-GW → Internet」が「UE → Target eNodeB (新しいServing eNodeB) → S-GW → P-GW → Internet」へと経路が完全に切り替わります。 👉 これはPath Switchにより、S-GWの送信先がTarget eNodeBに更新されることで実現されます。
| 9 |
Target eNodeB →
MME
|
Path Switch Requestを送信 |
| 10 |
MME →
S-GW
|
Modify Bearerを送信 |
| 11 |
Target eNodeB ↔
S-GW
|
データ転送PathとしてGTPトンネルをセットアップ このGTPトンネルには新たなTEIDが付与される |
| 12 | Target eNodeB |
S1-U切替 ここで最短パスとなる |
| 13 |
Serving eNodeB ↔
Target eNodeBTarget eNodeB ↔
S-GW
|
不要となったGTPトンネルを消去 |
高速移動時のローミング
高速移動中は、セルを跨ぐイベントが連続的に発生します。
環境やセルサイズにもよりますが、数秒間隔でハンドオーバーが繰り返される状況も珍しくありません。
ここで重要なのは通信継続を実現するコア処理であるハンドオーバーが非常に高速に実行されているという点です。
本記事で見てきた通りハンドオーバー1回分(トリガー成立〜Path Switch完了)に含まれる一連の処理は、ミリ秒オーダーで完了します。
セルサイズは基地局の構成によって異なりますが、概ね以下のようなスケールで形成されています。
- マクロセル:数百m
- スモールセル:数十m
仮に10m間隔でセルを跨ぐような極端なケースを考えてみます。
このとき、ハンドオーバー処理にかけられる時間と移動速度の関係は以下の通りです。
| 距離 / 時間 | 速度 |
|---|---|
| 10m / 1 msec | 36,000 km/h |
| 10m / 10 msec | 3,600 km/h |
| 10m / 100 msec | 360 km/h |
| 10m / 1 sec | 36 km/h |
まとめ
ハンドオーバーでは一時的に二重経路となり、その後新しい経路へ切り替わります。