3. 5G コアのクラウドネイティブアーキテクチャ(2)
前回は、5G SA パケットコアの 3GPP の標準化と、それを実現するためのシスコ クラウドネイティブアーキテクチャの要素を紹介しました。今回は、引き続きそのほかの要素をご紹介し、シスコ 5G SA パケットコア製品のアプローチと、そのアーキテクチャの応用および汎用化について考察します。
3.2.3 5GC Control Plane の Service Based Architeture
シスコは、3GPP の SBA(Service Based Architecture)に準拠し、Pub/Sub 通信用のメッセージバス(Kafka)を介し、オープン API を使ったネットワーク機能(NF; Network Function)を開発しました。外部ネットワーク機能との通信は 3GPP 標準が規定する HTTP2/JSON ベースの SBI(Service Based Interface)を経由して行い、内部の通信は gRPC(google RPC)でパフォーマンスの最適化を図っています(図 3-6)。また 、Istio 等[1]を使ったサービスメッシュにより、マイクロサービス化されたネットワークファンクションのディスカバリー、トラフィックの制御、耐障害性とセキュリティーなどを実現しました。シスコでは、この SBA 共通実行環境を SMI(Subscriber Microservice Infrastructure)と呼んでいます。
セッションステート情報を保持するデータストアは、ネットワーク機能から分離されます(図 3-7)。データストアの高可用性と柔軟性を実現するために、共通データ層としてシスコが開発したのが、CDL(Common Data Layer)です。CDL は、高速キャッシュ、地理的冗長化などの特徴を持っています。
3.2.4 仮想化環境の User Plane 性能改善
マイクロサービス等によるクラウド ネイティブ化は、 Web アプリケーション分野で成熟した技術で、5GC Control Plane にあたるネットワーク機能には比較的容易に適用できます。しかし、複雑かつ高性能が要求される User Plane でのパケット処理に適用するには、アーキテクチャの最適化が必要です。User Plane のクラウドネイティブ化にあたっては、コンテナ間通信が行われるたびに起こるカーネルや 、Virtual I/O への過度なアクセスを避ける工夫が必要です。
シスコは、パケットを処理する機能をカーネルではなくユーザ空間に構成し、共有メモリで通信を行うことでカーネルや Virtual I/O をバイパスし、User Plane を最適化しています。
シスコは、これを実現する User Plane として、 VPP(Vector Packet Processor)技術(図 3-8)を開発しました。VPP は COTS(商用既製品)の CPU と Linux のユーザ空間で動作します。モジュール化されたアーキテクチャで、高性能、また、柔軟性と豊富な機能を持つ仮想化環境のパケット処理プラットフォームです。 VPP は、広く活用してもらうために、Fast Data input/output(FD.io)[2] としてオープンソース化しています。
3.2.5 ネットワーク スライスの効率的な実現
3GPP Release15 から 5GC における柔軟なネットワーク スライスの実現方法が規定されました(図 3-9)。
Cisco 5GC も、ネットワーク スライスの実現だけではなく、そのマネジメントを含めたソリューションを提供する予定です(図 3-10)。スライスを構成する NF を柔軟に配置するマネジメント機能や、スライスの SLA 監視・保証するソリューションを提供します。またユーザ端末からサービスデータセンターまでのエンドツーエンドスライスを実現するため、RAN、トランスポート、データセンター間の連携も検討しています。
3.2.6 エッジ コンピューティングの実現
5G の高速大容量、超低遅延とクリティカル IoT の一部のユース ケースには、よりユーザに近いロケーションでアプリケーションを実行するニーズがあります。たとえば、コネクテッド カーのように大量データアップロードが必要なケースや、リモート操縦や手術で超低遅延が要求されるようなケースが想定されます。現在、通信事業者とサービス提供者の間でビジネスモデルが模索されています。技術的には 、CP と UP の分離により、モバイル ネットワークのエッジ コンピューティングが実現しやすくなりました。ポリシー、課金、デバイス管理や複雑なデータ処理、蓄積をセンター側で行いながら、データ転送と処理などはエッジに UP を配置することで 、MEC ホストで処理することができます(図 3-11)。
UP をエッジに配置することにより、エッジでのサービスが可能になりましたが、ここで課題となるのが端末のローミング処理です。3GPP では、モビリティ管理について 3 タイプ の SSC Mode を定義しています。シスコも順次 SSC Mode1/2/3[3] をサポートしていく予定です。
3.2.7 4G EPC から 5GC へのシームレスな移行
現在 5GC の導入を検討しているお客様においては、まず、既存の 4G EPC を 5G ノンスタンドアロン(5G NSA)に対応させ、次に5G SA(5GC)を導入するケースが多いと予想されます。しかし、4G と 5G の共存場面は、長期間続くと考えられます。シスコは、 5GC のアーキテクチャを 4G から 5GC へスムーズに移行できるよう、Common Core を実装する予定です(図 3-12)。そのために、EPC のコントロールプレーンも、この SMI の上に 5GC と共存できるよう、マイクロサービス化の開発をしています。
3.3 モバイルサービス以外のサービスのクラウド ネイティブ化
ケーブルブロードバンド サービスを提供している MSO(ケーブル オペレータ)も、ハードウェアとのディスアグリゲーションを推進しています。今までの ATCA ベースの CCAP(Converged Cable Access Platform)システムから、CMTS(Cable Modem Termination System)コアと Remote Phy Deployment(RPD)に進化し、さらに、クラウド ネイティブ アーキテクチャ ベースの Cloud CMTS と SmartPhy に変身しています。シスコでは、これらの加入者管理機能も、5GC で開発したクラウド ネイティブ基盤を活用する予定です。このように、Cloud CMTS チームが、クラウド ネイティブ基盤の汎用化により、マイクロサービスの機能開発にフォーカスし、より早く顧客に機能を提供できるようになります。シスコは、Cloud Native Broadband Router(cnBR)を開発し、クラウド ネイティブのアドバンテージを生かせる MSO 向けソリューションを提供する予定です(図 3-13)。
ブロードバンド加入者制御の BNG(Broadband Network Gateway)なども同様に、この基盤を利用する計画です。
3.4 まとめ
- 5G 時代の加入者向けサービスに柔軟に対応するためには、マイクロサービス ベースが不可欠です。
- 加入者管理のコア ネットワークには、斬新なクラウド ネイティブ ベースのアーキテクチャが必要です。
- クラウド ネイティブの実装は、オープンソースベースが多く、コード開発そのものが少なくなる一方、ベンダー間の差別化が難しくなります。製品化のためのアーキテクチャの設計、インテグレーション、可視化とオーケストレーションのツール開発が非常に重要になり、お客様が採用する際の重要な評価ポイントになるでしょう。
- インテグレーション、サービスの移植をよりシンプルにするために、実績が多く、市場に広範囲に受け入れられる基盤選びが大切です。シスコは、Docker コンテナと Kubernetes の自動化ツールを共通したツールとして採用し、製品化していきます。
- クラウドネイティブ時代の CP を多く適用しつつ、UP の性能向上と最適化も非常に重要と考えます。
参考文献
[1] Istio Community: https://istio.io
[2] VPPとfd.io オープンソースプロジェクト: https://wiki.fd.io
[3] 3GPP TS 23.501 – System Architecture for the 5G System; Stage 2
用語集
SBA : Service based Architecture
CUPS: Control-User Plane Seperation
CP: Control Plance
UP: User Plane
EPC: Evolved Packet Core
5GC: 5G Core Network
CN: Cloud Native
SMI: Cisco Subscriber Microservice Infrastructure
CVIM: Cisco Virtual Infrastructure Management
CCP-SP: Cisco Container Platform for SP
CCAP: Converged Cable Access Platform
CMTS: Cable Modem Termination System
RPD: Remote Phy Deployment
BNG: Broadband Network Gateway
VPP: Vector Packet Processing
SSC: Session and Service Continuity
NFV: Network Function Virtulization