5Gコアネットワーク勉強メモ（主要コンポーネント編）

# 概要
第5世代移動通信システム (5G) のコアネットワーク (以下5GC) について勉強する機会があったのでメモを残します。
[前回](https://qiita.com/kuro227/items/f3b7b5d27dfc41849d58)は5GCのアーキテクチャの概要を学びましたが、今回はネットワークを構成する主要なネットワークファンクション（NF）の役割を勉強していきます。

各NFの役割については3GPPが提供している[TS 23.501](https://www.etsi.org/deliver/etsi_ts/123500_123599/123501/15.02.00_60/ts_123501v150200p.pdf)の資料の6.2章 Netrowk Function Functional descriptionに記載があるので、こちらを和訳しつつ勉強を進めていきます。
※英語の解釈が誤っている場合がありますのでご注意ください。

# 各コンポーネントの役割
### AMF (Access and Mobility Management Function)
AMFは以下の機能を持ちます。AMFの機能の一部または全ては、AMFの単一のインスタンスでサポートされる可能性があります。

- RAN CPインターフェース（N2）の終端
- NAS（N1）の終端。NASの暗号化と完全性の保護
    - NAS : Non-Access-Stratum。コアネットワークノードとUEとの間の通信を処理する非アクセス層。
- Registration管理
- Connection管理
- リーチャビリティ管理
- モビリティ管理
- 合法的な傍受（AMFイベントやLIシステムへのインターフェース向け）
    - LI : Lawful Interception
- UEから受けたSMF向けの情報（SM Message）をSMFに提供する
- SM Messageをルーティングするための透過プロキシ
- アクセス認証
- アクセス認可
- UEとSMSF間のSMSメッセージの輸送。
    - SMSF : Short Message Service Function
- Security Anchor機能(SEAF)（TS 33.501[29]で指定されている）
    - SEAF : AMFを介してSUCIを使用したプライマリ認証機能
    - SUCI : Subscription Concealed Identifier

> 3G以降、ユーザを一意に特定するIMSI（加入者識別子）
が使用されていたが、IMSI catcherを使用した攻撃による
加入者IDの追跡等のリスクがあった。加入者IDの保護を
強化するため、5Gでは、IMSIに相当するSUPI（Subscription
Permanent Identifier）のMSIN（Mobile Subscriber
Identification Number）部分をホームネットワークの公開
鍵で暗号化したSUCI（Subscription Concealed Identifier）
にて送信することにより加入者IDを保護している。

（引用元 : https://www.ttc.or.jp/application/files/3315/7414/9612/2019_11-3_Spot_TTCseminer5GSecurity.pdf）


- 規制サービスのための位置情報サービス管理
- UE~LMF, RAN~LMF間のロケーションサービスメッセージの輸送を提供。
    - LMF : Location Management Function。詳しくはTS 23.273[87]の4.3.8章を参照
- EPSとのinterworkingのためのEPS Bearer IDの割り当て
    - EPS : Evolved Packet System
- UEのモビリティイベントの通知  
- コントロールプレーンCIoT 5GS最適化のサポート
    - CIoT : Cellular IoT
    - 5GS : 5G System
- ユーザープレーンCIoT 5GS最適化のサポート
- 外部パラメーターのプロビジョニング  
（予想されるUE動作パラメーターまたはネットワーク構成パラメーター）
- ネットワークスライス固有の認証と承認のサポート

注1 : ネットワークファンクションの数に関係なく、UEとCN（Core Network）の間の経路ごとに1つのNASインターフェースインスタンスがあり、少なくとも1つのNASセキュリティとモビリティ管理を実装するネットワークファンクションで終端されます。

上記のAMF機能に加えて、AMFは非3GPPアクセスネットワークをサポートするために、以下を含む可能性があります。


- 非3GPPアクセス経由で接続された、または3GPPアクセスと非3GPPアクセス経由で同時に接続されたUEのモビリティ、認証、および個別のセキュリティコンテキスト状態の管理。
- 5.3.2.3節で説明されているサポートは、3GPPアクセスと非3GPPアクセスで有効な調整されたRM管理コンテキストです。
- 5.3.3.4節に記載されている非3GPPアクセスを介した接続のためのUE専用のCM管理コンテキストのサポート。
- N3IWF/TNGFとのN2インターフェースのサポート  
    - TNGF : Trusted Non-3GPP Gateway Function  
このインターフェースでは3GPPアクセスで定義される情報（例：3GPP Cell Identification）やプロシージャ（例：ハンドオーバー関連）の一部は適用されず、3GPPアクセスに適用されない非3GPPアクセス固有の情報が適用されます。
- N3IWF/TNGFを介したUEでのNASシグナリングのサポート
3GPPアクセスのNASシグナリングのプロシージャの一部（例：Paging）は信頼できない非3GPPアクセスには適用できません。
- N3IWF/TNGFを介して接続されたUEの認証のサポート  
- 非3GPPアクセスに接続された、もしくは3GPPアクセスと非3GPPアクセスに同時に接続されたUEのモビリティ、認証、別々のセキュリティコンテキスト状態の管理
- 3GPPおよび非3GPPアクセスで有効なRM管理（5.3.2.3章に記載）
    - RM : Registration Management
- 非3GPPアクセス接続のUEのためのCM管理（5.3.3.4章に記載）
    - CM : Connection Management

注2 : Network Sliceのインスタンスでは全ての機能をサポートする必要はありません。

上記のAMFの機能に加えて、AMFは、TS 23.503 [45]の6.2.8節に記載されているポリシー関連の機能を含めることができます。

AMFは、AMFの再割り当てとAMFからAMFへの情報転送にN14インターフェイスを使用します。
このインターフェースは、PLMN内またはPLMN間（たとえば、PLMN間モビリティの場合）のいずれかです。

上記のAMFの機能に加えて、AMFにはローミングシナリオでの監視をサポートする次の機能が含まれる場合があります。

- VPLMNとHPLMNの間のローミング契約に基づくレポートの正規化  
（例えば、レポートの場所の粒度をセルレベルからHPLMNに適したレベルに変更する）
    - PLMN : Public Land Mobile Network。携帯電話事業者の国際的な識別番号。
    - VPLMN : Visited PLMN
    - HPLMN : Home PLMN
- HPLMNに送信される監視イベントレポートの課金/アカウンティング情報の生成。

### SMF （Session Management Function）
SMFは以下の機能を持ちます。SMF機能の一部または全ては単一のインスタンスでサポートされる可能性があります。

- セッション管理（例：UPF~RANノード間のトンネル管理を含むセッションの確立、変更、開放）
- UEのIPアドレスの割り当てと管理（オプションで認可も含む）
- DHCPv4(サーバ、クライアント)とDHCPv6（サーバー、クライアント）機能
- Ethernet PDUsのためのARP proxy機能（IETF RFC 1027[53]）、 IPv6 Neighbour Solicitation proxy機能（IETF RFC 4861[54]）  
SMFは要求されたIPアドレスに対応するMacアドレスを提供することでARP/IPv6 Neighbour Solicitationリクエストに応答します。
    - Ethernet : TCP/IPの階層モデルのネットワークインターフェース層に対応する有線の規格
    - PDU : Protocol Data Unit
    - ARP : IPv4でIPアドレスからmacアドレスをもらうためのプロトコル
    - IPv6 Neighbour  Solicitation : IPv6でIPアドレスからmacアドレスをもらうためのICMPv6メッセージ。  
これと要請ノードマルチキャストで通信先のMACアドレスを知る。  
これら二つを合わせてNeighbour Discoveryという。
- U-Plane functionの選択と制御。  
ARP/IPv6 Neighbour Discoveryをプロキシ、またはイーサネットPDUセッション向けに全てのARP/IPv6 Neighbour SolicitationトラフィックをSMFに転送するためにUPFを制御することを含む。
- UPFでトラフィックを適切な宛先にルーティングするようにするトラフィックステアリングを設定します
- 5G VNグループ管理  
（例 ： 関連するPSA UPFのトポロジーを維持し、PSA UPF間のN19トンネルを確立および解放し、ローカルスイッチング、N6ベースの転送、またはN19ベースの転送を適用するようにUPFでトラフィック転送を構成します。
    - VN : Virtual Network
    - PSA :  PDU Session Anchor 
- ポリシー制御機能に関するインターフェースの終端  
- 合法的な傍受（SMイベントとLI Systemとのインターフェース）
    - SM : Session Management
- 課金データの収集と課金インターフェースのサポート
- UPFでの課金データ収集の制御と調整
- NASメッセージのSM部分の終端
- ダウンリンクデータの通知
    - ダウンリンクとは、基地局から端末に向けて送信されるデータのこと
- (R)AN固有のSM情報をAMFからN2経路を介して(R)ANに送信する
- セッションのSSC modeを決定する。
    - SSC : Session and Service Continuity。  
高信頼・低遅延通信を必要とするサービス実現のために、端末とサーバ間の距離に依存する遅延を短縮する目的でMECとは別に遅延の原因となるハンドオーバ時の瞬断を防ぐ機能の改善および最短経路での端末間通信を可能とするルーティング制御機能のこと。
- コントロールプレーンCIoT 5GS最適化のサポート
- ヘッダー圧縮のサポート
- I-SMFを挿入、削除、および再配置できるデプロイでは、I-SMFとして機能します。
    - I-SMF : Intermediate SMF
- 外部パラメーターのプロビジョニング（予想されるUE動作パラメーターまたはネットワーク構成パラメーター）
- IMSサービスのP-CSCF検出をサポートします
    - IMS : IP Multimedia Subsystem。  
3GPP移動通信網におけるIPマルチメディアサービス（VoIP, メッセージング, プレゼンスなど）を提供するサブシステム。
    - P-CSCF : Proxy Call Session Control Function
- ローミング機能
    - QoS SLAを適用するためのローカルエンフォースメントを処理する（VPLMN）
    - 課金データ収集と課金インターフェース（VPLMN）
    - 合法的な傍受（VPLMNにおけるSMイベントとLIシステムとのインターフェース）
    - 外部DNによるPDUセッションの認証・認可のためのシグナリング転送のための外部DNとの相互接続サポート
    - UPFおよびNG-RANに、N3/N9インターフェイスで冗長伝送を実行するように指示します。
        - NG-RAN : New Generation RAN

すべての機能がネットワークスライスのインスタンスでサポートされる必要はありません。

上記のSMFの機能に加えて、SMFには、TS 23.503 [45]の6.2.2項に記載されているポリシー関連の機能を含めることができます。

上記のSMFの機能に加えて、SMFにはローミングシナリオでの監視をサポートする次の機能が含まれる場合があります。

- VPLMNとHPLMN間のローミング契約に基づくレポートの正規化
- HPLMNに送信される監視イベントレポートの課金/アカウンティング情報の生成。

### UPF （User Plane Function）
UPFには以下の機能が含まれます。UPF機能の一部または全てはUPFの単一のインスタンスでサポートされル可能性があります。

- Intra/Inter-RATモビリティのためのアンカーポイント（該当する場合）
    - RAT : Radio Access Technology
    - アンカーポイントについては以下のページと図が理解の助けになりました。

> 5G NR接続と4G（LTE/eLTE）接続を併用するNSA方式の5G通信では、4Gの無線通信をモビリティーや通信制御を行う「アンカー」として用い、5Gの無線通信を「ユーザーデータ」の送受信と分けて通信を行っています。  
NSA方式では、端末が5Gエリアに居るときには、通信で使うC-Planeを既存のLTE周波数帯域で提供することにより、モビリティや接続性をカバーしつつ、U-Planeはより広帯域が使える5G用の周波数帯域を活用することにより、柔軟で効率のよいサービスを提供できます。  
そして、端末が5Gエリアから外れた場合は、そのままシームレスに4Gの通信につなげてユーザーデータを送受信し続けることが可能になるわけです。

(引用元 ： https://k-tai.watch.impress.co.jp/docs/column/keyword/1245374.html)

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425805/15b7bb87-2954-9933-5715-891a8142be1b.png" width="900">
(引用元 : https://www.ttc.or.jp/application/files/6615/6799/9365/2-4_seminar20190909_3GPP_Edge_Computing.pdf)

- SMF要求に応じたUE IPアドレス/プレフィックス（サポートされている場合）の割り当て
- データネットワークへの相互接続の外部PDUセッションポイント
- パケットルーティングとフォワーディング  
（例 : トラフィックフローをData Networkのインスタンスにルーティングするためのclassifier、マルチホームPDUセッションをサポートするためのBranching point）
    - Branching point : 上記のEdge Computingの図を参照
- パケットの検査  
例えば、SMFから受信したサービスデータフローテンプレートとオプションのPFDに基づくアプリケーション検出
    - PFD : Packet Flow Description
- U-Plane部分のポリシールール施行。（例 : Gating、Redirection、Traffic steering）
- 合法的な傍受（UPの集合）
- トラフィック使用量のレポート
- U-PlaneのQoSハンドリング。（例 : UL/DLレート制御、DLのReflective QoSマーキング）
- アップリンクトラフィックの検証（SDFからQoSフローへのマッピング）
    - SDF : Service Data Flow
- アップリンクおよびダウンリンクでのトランスポートレベルのパケットマーキング
    - パケットマーキング
        - QoSでは優先するパケットを分類することから始める。 
        - 分類されたパケットをそれぞれグループ化するプロセスをマーキングという。
- ダウンリンクパケットバッファリングおよびダウンリンクデータ通知トリガー。
- 送信元NG-RANノードへの1つ以上の「エンドマーカー」の送信と転送。
- イーサネットPDUのローカルキャッシュ情報に基づいて、アドレス解決プロトコル（ARP）要求やIPv6 Neighbour Solicitation Requestに応答する機能  
UPFは、要求で送信されたIPアドレスに対応するMACアドレスを提供することにより、ARPまたはIPv6 Neighbour Solicitation Requestに応答します。
- GTP-Uレイヤーでのダウンリンク方向のパケット重複とアップリンク方向の排除
    - GTP : General Packet Radio Service Tunneling Protocol
- TSNトランスレータ（NW-TT）機能
    - TSN : Time Sensitive Networking
- 高遅延通信（5.31.8項を参照）
- MA PDUセッショントラフィックを誘導するATSSSステアリング機能（5.32.6項を参照）
    - MA : Multi Access
    - ATSSS : Access Traffic Steering, Switching and Splitting.
- 5.8.2.14節で指定されているPLMN間セキュリティ（IPUPS）機能。
    - IPUPS : Inter-operator User Plane security and the role of the Inter-PLMN User Plane Security

注 ： ネットワークスライスのユーザープレーン機能のインスタンスですべてのUPF機能をサポートする必要があるわけではありません。

### PCF （Policy Control Function）
PCFには以下の機能が含まれます。

- ネットワーク挙動を制御する統一されたポリシーフレームワーク
- C-Plane機能にポリシールールを提供し、それを強制する
- Unified Data Repository（UDR）内のポリシー決定に関連する加入者情報にアクセスする

PCFはPCFと同じPLMNにあるUDRにアクセスします。

PCFの機能の詳細はTS 203.503 6.2.1章で定義されています

### NEF （Network Exposure Function）
NEFは以下の独立した機能をサポートします。

- 機能とイベントの公開  
NF機能とイベントはNEFによって安全に公開されます。  
    - 3GPP NFはNEFを介して他のNFに機能とイベントを公開します。  
NFに公開された機能とイベントはサードパーティ、Application Function、エッジコンピューティングなどに使用されます。（5.13章参照）
    - NEFはUnified Data Repository（UDR）への標準化されたインターフェースNudrを使用して構造化データを格納、読み取りします。
- 外部アプリケーションから3GPPネットワークへの情報の安全な提供
    - アプリケーション機能が3GPPネットワークに情報（例：予想されるUEの動作、5GLANグループ情報およびサービス固有の情報）を安全に提供する手段を提供します。  
その場合、NEFは認証および承認を行い、アプリケーション機能の抑制を支援します。
- 内部/外部情報の変換。特に、NEFはネットワークポリシーに従って、外部AFに対してネットワーク及びユーザー機密情報のマスキング処理を実施します。
- NEFは、（他のネットワーク機能の公開された機能に基づいて）他のネットワーク機能から情報を受け取ります。  
NEFは、統合データリポジトリ（UDR）への標準化されたインターフェイスを使用して、受信した情報を構造化データとして保存します。  
保存された情報は、NEFが他のネットワーク機能やアプリケーション機能にアクセスして「再公開」でき、分析などの他の目的に使用できます。
- NEFはPFD機能もサポートする場合があります。  
NEFのPFD機能はUDRでPFDを格納および取得し、SMF（プルモード）の要求またはNEF（プッシュモード）からのPFD管理の要求でPFDをSMFに提供します。 （TS 23.503 [45]で説明されています）
- NEFは5GLANグループ管理機能もサポートする場合があります。  
NEFの5GLANグループ管理機能は、TS 23.502 [3]で説明されているように、UDMを介して5GLANグループ情報をUDRに格納できます。
- 分析の公開  
TS 23.288 [86]で指定されているように、NWDAF分析はNEFによって外部関係者に安全に公開される場合があります。
- NWDAFによる外部関係者からのデータの取得  
外部当事者によって提供されたデータは、分析生成の目的でNEFを介してNWDAFによって収集される場合があります。  
NEFは、TS 23.288 [86]で指定されているように、NWDAFとAFの間で要求と通知を処理および転送します。
- 非IPデータ配信のサポート  
NEFは、TS 23.502 [3]で説明されているように N33/Nnef参照ポイントでNIDD APIを公開することにより、NIDD構成を管理し、MO/MT非構造化データを配信する手段を提供します。  （5.31.5項を参照してください。）
    - NIDD : Non-IP Data Delivery
    - MO/MT : Mobile Originating/Mobile Terminating 

特定のNEFインスタンスは、上記の機能の1つ以上をサポートし、個々のNEFは機能公開のために指定されたAPIのサブセットをサポートします。

注 : NEFはNEFと同じPLMNにあるUDRにアクセスできます。

NEFが提供するサービスは7.2.8章を参照してください。

NEFのIPアドレス/ポートは、AFでローカルに構成できます。
また、AFは以下を使用してDNSクエリを実行することにより、NEFのFQDNまたはIPアドレス/ポートを検出できます。

- 個々のUEの外部識別子
- UEのグループの外部グループ識別子

AFが事業者によって信頼されている場合、AFはNRFを利用して、6.3.14項で説明されているように、NEFのFQDNまたはIPアドレス/ポートを検出できます。

特定のUEに関連するサービスの外部公開の場合、NEFはHPLMNに存在します。
オペレーターの合意によっては、HPLMNのNEFがVPLMNのNFとのインターフェースを持つ場合があります。

UEがEPCと5GCを切り替えることができる場合、SCEF + NEFがサービス公開に使用されます。
SCEF + NEFの説明については、5.17.5項を参照してください。
※ SCEF : Service Capability Exposure Function。EPCにおけるNEF相当の機能

### NRF （Network Repository Function）
NRFは以下の機能をサポートします。

- サービス検出機能  
NFインスタンスまたはSCPからNF Discovery Requestを受信し、発見された（発見された）NFインスタンスの情報をNFインスタンスまたはSCPに提供します。
  - SCP : Service Communication Proxy
- P-CSCF検出をサポートします（SMFによるAF検出の特殊なケース）
- 利用可能なNFインスタンスとそれらによってサポートされているサービスのNFプロファイルを維持します
- 利用可能なSCPインスタンスのSCPプロファイルを維持します
- SCPインスタンスによるSCP検出をサポートします。
- 新しく登録/更新/登録解除されたNFおよびSCPインスタンスについて、その潜在的なNFサービスとともに、サブスクライブされたNFサービスコンシューマまたはSCPに通知します。
- NFとSCPの健康状態を維持します

ネットワークスライシングのコンテキストでは、ネットワークの実装に基づいて複数のNRFをさまざまなレベルで展開できます（5.15.5項を参照）。

- PLMNレベル（NRFはPLMN全体の情報で構成されます）、
- 共有スライスレベル（NRFはネットワークスライスのセットに属する情報で構成されます）
- スライス固有のレベル（NRFはS-NSSAIに属する情報で構成されます）

ローミングのコンテキストでは、複数のNRFが異なるネットワークに展開される場合があります（4.2.4節を参照）。

- 訪問済みPLMNの情報で構成された訪問済みPLMN（vNRFと呼ばれる）のNRF。
- ホームPLMNの情報で構成されたホームPLMN（hNRFと呼ばれる）のNRF。  
N27インターフェイスを介してvNRFによって参照されます。

### UDM （Unified Data Management）
UDMは以下の機能をサポートします。

- 3GPP AKA Authentication Credentialの生成
  - AKA : Authentication and Key Agreement。  
携帯電話のSIMカードと通信キャリア網の間で取り交わされる認証のこと。
- User識別処理。例えば、5G Systemにおける各加入者のSUPIの保管と管理など
- プライバシー保護された加入者情報（SUCI）の隠蔽解除（de-concealment）のサポート
- 加入者データに基づくアクセス認可（例：ローミング規制など）
- UEにサービスを提供しているNFの登録管理。例えば、UEが使用しているAMFの保存、UEのPDUセッションのを管理しているSMFの保存。
- サービス/セッションの継続性のサポート。例えば、継続しているセッションのSMF/DNN(Data Network Name)の割り当てを保持する。
- MT-SMS配信のサポート
  - MT-SMS : Mobile Terminating Short Message Service
- 法的傍受。特に、UDMがLIの唯一の接続点であるアウトバウンドローミングの場合。
- 加入者管理
- SMS管理
- 5GLANグループ管理処理
- 外部パラメータープロビジョニングのサポート（予想されるUE動作パラメーターまたはネットワーク構成パラメーター）

この機能を提供するために、UDMはUDRに格納される加入者データ（認証データを含む）を使用します。
UDMはアプリケーションロジックを実装し、内部にユーザーストレージは必要とせず、各UDMが同じユーザーに対して異なるトランザクションでサービスを提供できます。

注1 ： UDMとHSS間のやりとりは、それらが個別のネットワーク機能として展開される場合、TS 23.632 [102]およびTS 29.563 [103]で定義されているか、実装依存です。

注2 ： UDMはサービスを受ける加入者のhPLMNに配置され、同じPLMNに配置されたUDRの情報にアクセスします。

### AUSF （Authentication Server Function）
AUSFは以下の機能をサポートします。

- TS 33.501に規定される、3GPPアクセスとuntrusted Non-3GPPアクセスのための認証


### UDR （Unified Data Repository）
UDRは以下の機能をサポートします。

- UDMによる加入者データの保存と読み取り
- PCFによるポリシーデータの保存と読み取り
- 公開のための構造化データの保存と読み取り
- NEFによるアプリケーションデータ（アプリケーション検出のためのPFD、UEのためのAFリクエスト情報を含む）

UDRとNF Service Consumer（使用者）は同じPLMNに配置され、NF Service ConsumerがNudrのインターフェースを使用してデータを取得する。NudrはPLMN内インターフェースである。

注1 : UDRとUDSF（Unstructured Data Storage Function）を一緒に配置するデプロイを選択可能

# おわりに
今回は5GCを構成する主要なコンポーネントの役割を見ていきました。
細かい処理の内容は追えていませんが、どのコンポーネントがどのようなことをやっているのかのイメージを持つことができました。
次回は主要なシーケンスの流れを追っていきたいと思います。