携帯通信（主にLTE）のコアネットワーク

コンピュータの通信に関する書籍はそれなりに出版されていますが、携帯通信網を説明したものはなかなかありません。あったとしてもちょっと情報が古い場合が多い印象です。スマホがこんなに普及した現在でも、SIMを挿したスマホがどう通信しているのか具体的に知るには少しハードルが高いと感じます。


#### なぜ携帯通信の本は少ないのか

理由として考えられるのは「結局のところ携帯通信会社のためのネットワークでしかない」なのかなと思います。

携帯通信は端末の移動に対応するためにいろいろな仕組みが用意されていますが、その仕組はコアネットワークで完結しているため外部への影響はありません。そのため、コアネットワークは携帯通信会社特有のネットワークというふうに捉えられます。そうすると、端末の移動に対応できる通信網を作りたい！という人がいない限り知る必要はそもそも無いかもしれません（作りたいという人自体そんなにいなさそう...）。

とまぁ書きましたが、どうなってるのか気になって仕方がなかったので調べてみました。


## 携帯通信網（主にLTE）のコアネットワーク

携帯通信は 3G, LTE, 4G, 5G など改良が加えられており、ネットワークの構造も変化しています。ただ、名称が変わったり、機能を別々の装置で行ったりするぐらいで、本質的な動作自体はあまり変化していないと感じました。

### User Plane と Control Plane

携帯通信網のネットワークは User Plane と Control Plane に分けられます。 User Plane とはデータが実際に転送されるレイヤです。一方で Control Plane はその User Plane を制御するための信号が流れるレイヤになります。


### User Plane 

まず、実際のデータ（音声・画像など）が流れる User Plane ですが、LTEの場合は以下のようになります。

<img src="https://qiita-image-store.s3.amazonaws.com/0/278104/df6c0fe0-a4a6-aa29-42e0-9fdbc96ef63f.png" width=600pt>


- P-GW (PDN Gateway)
    - インターネット、携帯事業者のサービス用サーバ、音声通話のシステムなどへのインターフェイス機能を持つ
- S-GW (Serving Gateway)
    - eNodeBとP-GWの間でパケットを中継する
- eNodeB
    - 無線のアンテナを備えた基地局

P-GW は外部とのインターフェイスを司るため、端末が移動したとしてもこのポイントは基本的には変動しません。一方で S-GW と eNodeB は端末が移動した場合には切り替えを行います。





#### PDNコネクション

LTEでは端末の電源ONと同時にIPアドレスが付与され、さらに端末～eNodeB～S-GW～P-GWまでの間にPDNコネクション (Packet Data Network) と呼ばれる1本の経路を構築します。外部からデータが送られてくる際は P-GW を目掛けて送られてきますが、そこから端末までのパケットの転送は、このPDNコネクションを伝っていくことで実現しています。

<img src="https://qiita-image-store.s3.amazonaws.com/0/278104/8451d946-e3b9-0e7c-bde2-5739b8fee866.png" width=600pt>

図はNTT DOCOMO テクニカルジャーナル Vol.19 No.1より

（上から4番目は、PDNコネクションは一定時間何も通信を行わない場合、端末～eNodeB～S-GWの間だけ切断することの説明になります。これは無線リソースの有効利用が目的です。）

PDNコネクションの実装は

- トランスペアレントアクセス
- 非トランスペアレントアクセス
- モバイルIP

の3つの方法があるようです。この3つのうちどれを選ぶかは、その通信事業者が決めることになります。


#### 3G (W-CDMA) の場合

3G のときはまだ音声通話の回線がデータ通信と別に用意されていた経緯もあり、 LTE とは少し形が違い、機能も若干異なります。

<img src="https://qiita-image-store.s3.amazonaws.com/0/278104/05dbcc75-1372-5722-4b36-6fcbed4948da.png" width=400pt>

ただ、図を見ればわかるように

- GGSN (Gateway GPRS Support Node)
    - P-GW に対応
- SGSN (Serving GPRS Support Node)
    - S-GW に対応
- Node-B + RNC (Radio Network Controller)
    - 端末との無線通信の制御を行う
    - eNodeB に対応

というような対応関係が見られます。図に薄く描かれているものは音声通話の回線です。

W-CDMA 場合は PDN コネクションではなく __PDP (Packet Data Protocol)コンテキスト__ と呼ばれる論理的なパス（セッション）が生成されます。このPDPの実装方法はPDNコネクションと同様のIPベースの方法か、PPP (Point to Point Protocol) を用いた方法が取られるそうです。

### Control Plane

移動する端末に対してどうやってデータを転送するかについての大まかな仕組みはわかりましたが、この端末の間の経路（PDNコネクション・PDPコンテキストなど）の管理を行うために、 User Plane とは別の Control Plane というネットワークが構築されています。

（冷静に考えると、通常のIPネットワークはARPやDHCPなどの制御信号と実際のデータ転送が同一ネットワークを流れていることに気が付きます。それが当たり前だと思っていましたが、携帯通信ではネットワークを分けているみたいですね。）

<img src="https://qiita-image-store.s3.amazonaws.com/0/278104/b1c27e2a-2a2c-b690-1a4c-84fe8fa49823.png" width=600pt>

図はNTT DOCOMO テクニカルジャーナル Vol.19 No.1より

実線部分が User Plane 、点線が Control Plane です。

- MME (Mobility Management Entity)
    - eNodeBとS-GWの間で制御信号の送受を行う
    - 後述のHSSとのインターフェイスを持ち、エリア内にある端末の管理を行う
- HSS (Home Subscriber Server)
    - 端末の位置情報を管理するデータベースを有する
- PCRF (Policy and Charging Rules Function)
    - QoSなどの通信ポリシーやルール、課金関連の制御を司る
    - EPSベアラを構築する際に、そのベアラの性能はこのPCRFが管理する情報に基づいて決められる

#### PDNコネクションを構築するときの動作

1. 端末の電源が入り、アタッチ要求（PDNコネクションの構築要求）を MME へ送信。この要求に APN (Access Point Name: アクセスポイント名) も含まれる。
2. MME は HSS のデータベースを確認し、コネクションの設定を決める
3. MME は APN 情報からコネクションを構築するのに適切な S-GW, P-GW を選ぶ
4. MME は選択した S-GW に対してコネクション設定要求を行う
5. 要求を受けた S-GW は、選択された P-GW に対してコネクション設定処理を実施する
6. P-GW は PCRF から課金情報などを取得し、コネクションの設定を決める
7. P-GW と S-GW の間でコネクションが構築される
8. 8. S-GW は eNodeB 向けの伝達情報を MME へ通知する
9. 情報を受けた MME は eNodeB へ無線ベアラ（コネクションのうち、無線部分）の設定要求を行う
10. eNodeB と S-GW の間で無線ベアラが確立され、PDNコネクションが完成する

...長い説明になりましたが、とりあえず __端末が位置情報 (APN) を通知するから、その情報をもとにMMEが中心となって eNodeB, S-GW, P-GW の選択が行われてPDNコネクションができる__ というイメージになります。

#### 端末が移動したときの動作

端末が移動したときの設定方法は、LTE ではどうやら2通りの方法があるみたいです。

- ハンドオーバ方式
    - 移動先の eNodeB に予めPDNコネクションを張っておく
    - これはおそらく先程の説明の手順を繰り返す形だと思います
- Release with Redirection
    - コネクションを一度切断し 3G 回線を経由してから LTE に戻る
    - おそらくですが、 LTE がまだ普及していない条件下では 3G に頼らざるを得ない場合があり、LTE と 3G をシームレスに切り替えるための方法としてこれがあるのだと思います。


## 最後に

5Gについても知りたくて論文や仕様書をざっと読んでみましたが、残念ながら理解するのに数日かかりそうだったのでやめました。また理解できたらまとめるかもしれません。


## 参考文献

『モバイルシステム技術テキスト エキスパート編 第7版』モバイルコンピューティング推進コンソーシアム

『W-CDMA移動通信方式』立川敬二

『LTEを収容するコアネットワーク (EPC) の開発』NTT DOCOMO テクニカルジャーナル Vol.19 No.1