JP2024517717A - Pfcpセッション負荷分散装置 - Google Patents

Pfcpセッション負荷分散装置 Download PDF

Info

Publication number
JP2024517717A
JP2024517717A JP2023565888A JP2023565888A JP2024517717A JP 2024517717 A JP2024517717 A JP 2024517717A JP 2023565888 A JP2023565888 A JP 2023565888A JP 2023565888 A JP2023565888 A JP 2023565888A JP 2024517717 A JP2024517717 A JP 2024517717A
Authority
JP
Japan
Prior art keywords
packet
module
request
address
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023565888A
Other languages
English (en)
Inventor
パテル,ケユル
哲也 村上
Original Assignee
アルカス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/240,726 external-priority patent/US11632692B2/en
Priority claimed from US17/362,071 external-priority patent/US11849381B2/en
Priority claimed from US17/488,833 external-priority patent/US20220345984A1/en
Application filed by アルカス インコーポレイテッド filed Critical アルカス インコーポレイテッド
Publication of JP2024517717A publication Critical patent/JP2024517717A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

周辺機器のVRF内にUEアドレスをインポートすることは、gNodeBアドレス及び前記周辺機器のルートターゲットを含むVPN更新を前記周辺機器から受信することにより容易になる。また、セッション情報は、前記UEアドレス及びUPF間のトラフィックをインタセプトすることにより得られる。前記セッション情報は、前記UEアドレス及びUEが接続されたgNodeBのアドレスを含む。前記VPN更新からの前記gNodeBアドレスと前記セッション情報を適合することにより、前記UEが接続された前記周辺機器の前記ルートターゲットを判定することができる。その後、前記UEアドレスは、前記周辺機器の前記VRF内に独占的にインポートされることができる。【選択図】 図10A

Description

関連出願への相互参照
本出願は、2021年4月26日に出願された米国特許出願第17/240,726号の一部継続出願であり、そして、2021年6月29日に出願された米国特許出願第17/362,071号の一部継続出願である、2021年9月29日に出願された米国特許出願第17/488,833号の一部継続出願であり、この文献は、全体が参照により本明細書に援用される。
本出願は、セルラーデータ通信ネットワークへ及びからのパケットのルーティングに関する。
図1Aを参照して、慣習的な5Gセルラーデータ通信ネットワーク100において、ユーザ機器(user equipment)(UE)102は、gNodeB106のパケットを送信することができ、gNodeB106は、無線アンテナによりパケットを受信して受信したパケットをゲートウェイ(GW)108を通してIPネットワーク110に送信する機能を実行する。慣習的なセルラーデータ通信ネットワークにおいて、UE102からのパケットは、ユーザプレーン機能(user plane function)(UPF)112、即ち、最初にパケットを受信したGW108に関連するUPF112に転送されなければならない。UPF112は、ネットワーク上でパケットを受信することができ、前記ネットワークは、UPF112及びGW108間のインターネットプロトコル(IP)ネットワーク110であることができる。UPF112は、他のIPネットワーク114上でモバイルエッジコンピューティング(mobile edge computing)(MEC)サーバ116にパケットを転送することができる。MECサーバ116は、パケットの宛先であることができ、例えば、サーバは、インターネット等のより広いネットワークにアクセスするゲートウェイ又はパケットが取り組むサービスを提供する。
図1Bを参照して、いくつかの場合、パケットはUPF112に関連するMECサーバ116から他のMECサーバ118にリダイレクトする必要がある。例えば、GW108は、MECサーバ118とGW108を接続する1以上のIPネットワーク120にも接続することができる。MECサーバ116の障害時に、又は他の目的の為のリダイレクトにより、パケットは、MECサーバ118にリダイレクトされる。しかしながら、現在の5Gプロトコルは、パケットがまずUPF112にルーティングされることを必要とし、その後、図1Bに図示されているように、パケットはMECサーバ118に転送される。MECサーバ118からUE102までのトラフィックは、逆方向の経路を辿ることができる。このことは、UE102から送信され、UE102に送信されるパケットの待ち時間を増加させる。
セルラー通信ネットワークにおけるパケットのリダイレクトを処理する改善されたアプローチを提供することは、技術の進歩となる。
上記課題を解決するために、本願の特許請求の範囲に記載の方法を提供するものである。
本発明の利点を容易に理解するために、上記に簡単に記載されている本発明のより詳細な説明が、添付の図面に図示されている特定の実施形態を参照にして、以下に記載されている。これらの図面は本発明の典型的な実施形態を図示しているだけであると理解され、したがって、本発明の範囲を限定するものではない。本発明は、添付の図面を使用して、詳細及び付加的な特定が説明されている。
従来技術によるセルラーデータ通信ネットワーク上で受信されたパケットのルーティングを示す概略構成図である。 従来技術によるセルラーデータ通信ネットワーク上で受信されたパケットのリルーティングを示す概略構成図である。 本発明の実施形態によるセルラーデータ通信ネットワーク上で受信されたパケットをルーティングするアプローチを示す概略構成図である。 本発明の実施形態によるセルラーデータ通信ネットワーク上で受信されたパケットのルーティングを実行するコンポーネントの概略構成図である。 本発明の実施形態によるPFCPプロキシによる情報のスヌーピング及びこの情報を使用した変換モジュール及びルーティングモジュールのプログラミングを示す概略構成図である。 本発明の実施形態によるPFCPプロキシの概略構成図である。 本発明の実施形態によるPFCPプロキシ及びルーティング/SDNコントローラ間の情報の交換を示す概略構成図である。 本発明の実施形態による外部ルーティング情報の変換モジュールへのプロパゲーションを示す概略構成図である。 本発明の実施形態によるパケットを外部ネットワークにルーティングする為の変換モジュールのプログラミングを示す概略構成図である。 本発明の実施形態によるパケットを外部ネットワークにルーティングする為のルーティングモジュールのプログラミングを示す概略構成図である。 本発明の実施形態によるパケットを外部ネットワークにルーティングする為の変換モジュールのプログラミングを示す概略構成図である。 本発明の実施形態による変換モジュールの構成を示す概略構成図である。 本発明の実施形態によるGTPからSRv6への変換を示す概略構成図である。 本発明の実施形態による変換モジュールの動作をさらに示す概略構成図である。 本発明の実施形態によるSRv6からGTPへの変換を示す概略構成図である。 本発明の実施形態による負荷分散PFCPプロキシを示す概略構成図である。 本発明の実施形態によるPFCPセッションの負荷分散を実行する方法のプロセスフロー図である。 本発明の実施形態によるルーティング情報の非選択的配信を示す概略構成図である。 本発明の実施形態によるルーティング情報の選択的配信を実行するネットワーク環境の概略構成図である。 ネットワーク内のエンティティ及び使用されている様々なラベル及びアドレス間の例示的な関係を示す図である。 本発明の実施形態によるルーティング情報の選択的配信を実行する方法のプロセスフロー図である。 本発明の実施形態による方法を実行するのに適したコンピュータシステムの概略構成図である。
添付の図面に図示されて説明されている本発明のコンポーネントは、多種多様な異なる構成に設計及び配置することができることは容易に理解できるであろう。したがって、図示されている、以下の本発明の実施形態のより詳細な説明は、特許請求の範囲に記載されている本発明の範囲を限定することを意図しているものではなく、ここで検討されている本発明による実施形態の特定の実施例を単に示すものである。ここに記載の実施形態は、図面を参照することにより最もよく理解されるものであり、同様の部品は明細書及び図面を通して同様の参照番号により示されている。
本発明による実施形態は、装置、方法、又はコンピュータプログラム製品として具現化することができる。したがって、本発明は、完全にハードウェアの形、完全にソフトウェアの形(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又は、ここで一般的に「モジュール」又は「システム」と呼ばれるハードウェア及びソフトウェアを組み合わせた形で具現化することができる。さらに、本発明は、媒体内に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形的表現媒体内に具現化されたコンピュータプログラム製品の形をとることができる。
1以上のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組み合わせを利用することができる。例えば、コンピュータ可読媒体は、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)デバイス、読出専用メモリ(ROM)デバイス、消去可能プログラマブル読出専用メモリ(EPROM又はフラッシュメモリ)デバイス、携帯用コンパクトディスク読出専用メモリ(CDROM)、光記憶装置、及び磁気記憶装置の1以上を含むことができる。選択された実施形態において、コンピュータ可読媒体は、命令実行システム、装置、又はデバイスにより、又は、に接続して使用されるプログラムを含有、記憶、通信、伝搬、又は移送することができる任意の非一時的媒体を含むことができる。
本発明の動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、及びCプログラミング言語又は同様のプログラミング言語等の慣用手続型プログラミング言語を含む1以上のプログラミング言語の任意の組み合わせにより書き込むことができ、また、HTML、XML、JSON等の記述言語又はマークアップ言語を使用することもできる。プログラムコードは、スタンドアロン型ソフトウェアパッケージとして完全にコンピュータシステム上で、スタンドアロン型ハードウェアユニット上で、部分的にコンピュータから一定の距離に置かれた遠隔コンピュータ上で、又は完全に遠隔コンピュータ又はサーバ上で、実行することができる。後のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の型のネットワークを介してコンピュータと接続することができ、又は、(例えば、インターネットサービスプロバイダを使用したインターネットを介して)外部のコンピュータに接続することができる。
本発明は、本発明の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又は構成図を参照して以下に説明されている。フローチャート及び/又は構成図の各ブロック、及びフローチャート及び/又は構成図のブロックの組み合わせは、コンピュータプログラム命令又はコードにより実装することができる。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサにより実行される命令が、フローチャート及び/又は構成図の1又は複数のブロックに指定されている機能/作用を実装するための手段を生成するように、マシンを生成することができる。
コンピュータ可読媒体内に記憶された命令が、フローチャート及び/又は構成図の1又は複数のブロックに指定されている機能/作用を実装する、命令手段を含む製品を生成するように、これらのコンピュータプログラム命令も、コンピュータ又は他のプログラム可能なデータ処理装置が特定の方法で機能するように導くことができる非一時的コンピュータ可読媒体に記憶することができる。
コンピュータ又は他のプログラム可能なデータ処理装置上で実行された命令が、フローチャート及び/又は構成図の1又は複数のブロックに指定されている機能/作用を実装するためのプロセスを提供するように、コンピュータプログラム命令も、コンピュータ又は他のプログラム可能なデータ処理装置上にロードされ、コンピュータ又は他のプログラム可能なデータ処理装置上で実行される一連の動作ステップを引き起こし、コンピュータ実装プロセスが生成される。
図2を参照して、いくつかの実施形態において、UE102からのパケットは、gNodeB106により受信されると、汎用パケット無線サービス(general packet radio service)(GPRS)パケットとしてフォーマットされる。gNodeB106は、RU(radio unit)(無線ユニット、即ちアンテナ)、DU(distributed unit)(分散ユニット)、及びCU(centralized unit)(集中ユニット)の機能を制御し、UE102及びネットワーク110間のパケットの転送を管理することができる。gNodeB106は、その後、GPRSトンネリングプロトコル(GTP)パケット内にこれらのパケットをカプセル化し、その後、UPF112に転送する。経路204は、UPF112へ送信され、UPF112から送信されるパケットの経路を示している。経路206は、図1Bのように異なるMECサーバ118へ送信され、MECサーバ118から送信される、又は、他の宛先に送信され、他の宛先から送信される、リダイレクトされたパケットの経路を示している。
gNodeB106によるパケット出力は、変換モジュール208により処理されることができる。図示されている実施形態において、変換モジュール208は、GTP及びインターネットプロトコル、即ちGTPではないセルラーデータネットワーク内の使用には適していないプロトコル間を相互に変換する。図示されている実施形態において、インターネットプロトコルはSRv6(IPv6データプレーン上のセグメントルーティング)である。以下の記載において、GTP及びSRv6間の移行への言及は、GTP及び他のインターネットプロトコル間の移行と置換することができると理解される。
変換モジュール208は、gNodeB106及びSRv6ネットワーク210、例えば、SRv6又は他のIPプロトコルにより実装されたルーティングを含むデータプレーン及び/又はネットワーク間に配置されることができる。UPF112は、他の変換モジュール212によりSRv6ネットワーク210に接続することができる。いくつかの実施形態において、変換モジュール208、ネットワーク210、及び変換モジュール212は、共通のシャーシに設置された共通のコンピューティングデバイスの一部であることができる。共通のコンピューティングデバイスは、アンテナ104及びgNodeB106の1つ又は両方と一緒に配置することができる。共通のコンピューティングデバイスは、MECサーバ116も含むことができる。
ネットワーク210は、インターネットプロトコルルーティングモジュール216等により、外部ネットワーク214にも接続されることができる。図示されている実施形態において、ルーティングモジュール216はSRv6ルータであるが、他のルーティングプロトコルを実装するルータを使用することもできる。いくつかの実施形態において、ルーティングモジュール216は、GTPプロトコルを実装していない。外部ネットワーク214は、インターネット等のWANであることができ、ネットワーク210を他のMECサーバ118、又はUE102にサービスを提供する任意の第三者サーバに接続することができる。
図示されている実施形態において、「A」としてラベリングされている経路204、206の一部は、GTPパケット(以後、「A型パケット」と呼ぶ)としてフォーマットされたパケットを伝送することができる。A型パケットは、カプセル化されたペイロードデータに加えて、内部インターネットプロトコル(IP)ヘッダ、GTPヘッダ、UDP(user datagram protocol)(ユーザデータグラムプロトコル)ヘッダ、及び外部IPヘッダを含むことができる。内部IPヘッダは、UE102上で生成されたIPプロトコルによるIPヘッダであることができる。外部IPヘッダは、gNodeB106により生成されたIPプロトコル、又は異なるIPプロトコルによるIPヘッダであることができ、ネットワーク210上でUPF112、MECサーバ116、MECサーバ118、又は外部ネットワーク214へのA型パケットのルーティングの為の情報を定義する。
「B」としてラベリングされている経路204、206の一部は、SRv6パケット(以後、「B型パケット」と呼ぶ)等のインターネットプロトコルパケットとしてフォーマットされたパケットを伝送することができる。そのようなパケットは、上記で定義された内部IPヘッダ、セグメントルーティングヘッダ(segment routing header)(SRH’)、及びIPv6ヘッダ等のインターネットルーティングヘッダを含むことができる。各B型パケットのSRH’は、B型パケットに変換されたA型パケットのGTPヘッダ、UDPヘッダ、及び外部IPヘッダのいくつか又は全てからの情報を含むようにB型パケットを生成した変換モジュール208、212により追加されることができる。特に、SRH’内に記憶された情報は、他の変換モジュール208、212によりB型パケットをA型パケット(GTPパケット)に変換するのに十分なデータを含むことができる。IPv6フィールドは、IPv6等のインターネットプロトコル(IP)によりフォーマットされたパケットであることができ、ソースIPアドレス、宛先IPアドレス、及びIPv6又は他のインターネットプロトコルにより定義された他のフィールドの為のデータを含む、ネットワーク210等のIPネットワーク上でパケットをルーティングするのに十分な情報を含むことができる。この情報は、B型パケットを得る為に変換されるA型パケットの外部IPヘッダから得ることができる。IPv6パケットは、A型パケットからのペイロードデータも含むことができる。
「C」としてラベリングされている経路204、206の一部は、B型パケットと同じフィールド定義を含むが、SRHはA型パケットのGTPヘッダからの情報を記憶していない、及び/又は、その後SRHフィールド内の情報を使用してB型パケットに変換されない、インターネットプロトコルパケットとしてフォーマットされたC型パケットを伝送することができる。図2に図示されているように、MECサーバ118からUE102に送信されたパケットは、B型パケットとしてネットワーク210を通過するが、UE102からMECサーバ118に送信されたパケットは、C型パケットとしてネットワーク210を通過することができる。
「D」としてラベリングされている経路204、206の一部は、D型パケットを得る為に変換されるC型パケットの内部IPヘッダ及びペイロードデータを含む、インターネットプロトコルパケットとしてフォーマットされたD型パケットを伝送することができる。特に、D型パケットは、UE102、MECサーバ116、118、又は外部ネットワーク214から送信されてgNodeB106により受信されたIPパケットを含むことができる。
「ダイレクトインバウンドパケット」(direct inbound packets)は、リダイレクトされずにgNodeB106を通過するパケットであり、図2の経路204に沿って左から右に移動するパケットである。ダイレクトインバウンドパケットは、UE102からgNodeB106に送信される。gNodeB106により受信されると、ダイレクトインバウンドパケットは、IPv4又はIPv6等のD型パケットであることができる。gNodeB106により出力されると、ダイレクトインバウンドパケットは、gNodeB106により変換モジュール208に送信されるA型パケットであることができる。特に、A型パケットは、UE102から受信したIPパケットをカプセル化したGTPパケットであることができる。
変換モジュール208は、A型ダイレクトインバウンドパケットをB型パケットに変換し、A型ダイレクトインバウンドパケットの外部IPヘッダ内に含まれた情報を使用して、B型ダイレクトインバウンドパケットをネットワーク210上でUPF112に送信する。上述のように、A型パケットのGTPフィールドからの情報がA型パケットから得られたB型パケットのSRH’フィールド内に含まれ、A型パケットへの再変換を可能にする。しかしながら、B型パケット自体は、GTPパケットではなく、SRv6パケットであることができる。B型パケットはさらに、A型パケットから内部IPヘッダ及びペイロードデータを含む。
B型ダイレクトインバウンドパケットは、変換モジュール212にルーティングされ、変換モジュール212は、B型パケットのSRH’内に記憶された情報を使用して、ダイレクトインバウンドパケットをB型パケットからA型パケットに変換する。特に、B型パケットのSRH’フィールド内のデータは、B型パケットの内部IPヘッダ及びペイロードデータを含むGTPパケットのGTPヘッダを生成する為に使用され、GTPパケットは、B型ダイレクトインバウンドパケットの為のA型ダイレクトインバウンドパケットである。
変換モジュール212による変換後、A型ダイレクトインバウンドパケットはUPF112に送信される。UPF112は、その後、ダイレクトインバウンドパケットをデカプセル化して内部IPパケット(例えば、UE102から受信したD型パケット)を得て、D型ダイレクトインバウンドパケットをMECサーバ116に転送する。
「リダイレクトインバウンドパケット」(redirected inbound packets)は、D型パケットとしてUE102に由来するパケットであり、gNodeB106を通って送信されるが、MECサーバ116から離れるように外部ネットワーク214及び/又は他のMECサーバ118又は第三者サーバ等にリダイレクトされる。リダイレクトインバウンドパケットは、図2の左上から右下に経路206を通過することができる。gNodeB106により出力されると、リダイレクトインバウンドパケットは、gNodeB106により変換モジュール208に送信されたA型パケットであることができる。変換モジュール208は、A型リダイレクトインバウンドパケットをC型パケットに変換し、C型リダイレクトインバウンドパケットは、A型リダイレクトインバウンドパケットのGTP又はUDPヘッダからの情報を含まない。変換モジュール208は、例えば、ルーティングモジュール216経由で、C型リダイレクトインバウンドパケットをパケットがリダイレクトされたMECサーバ118に送信する。ルーティングモジュール216は、C型リダイレクトインバウンドパケットをD型パケットに変換し、D型リダイレクトインバウンドパケットをMECサーバ118に送信する。上述のように、変換は、C型パケット内にカプセル化されたD型パケットをデカプセル化することを含むことができる。
「ダイレクトアウトバウンドパケット」(direct outbound packets)は、UPF112を通過するパケットであり、リダイレクトインバウンドパケット又はリダイレクトインバウンドパケットと同じネットワークフローの一部に応答することなく、gNodeB106を通ってUE102に送信される。例えば、MECサーバ116からのパケットは、UPF112経由でダイレクトアウトバウンドパケットとして送信される。ダイレクトアウトバウンドパケットは、図2の経路204に沿って右から左に経路204を通過することができる。MECサーバ116から送信されてUPF112により受信されたパケットは、D型パケットであることができる。UPF112により出力されると、ダイレクトアウトバウンドパケットは、D型パケットをカプセル化するA型パケットであり、UPF112により変換モジュール212に送信される。変換モジュール212は、A型ダイレクトアウトバウンドパケットをB型パケットに変換し、B型パケットのIPv6フィールド内に含まれた情報を使用して、B型ダイレクトアウトバウンドパケットをネットワーク210上でgNodeB106に送信する。変換は、GTPパケットをSRv6パケットに変換することを含み、SRv6パケットは、SRv6パケットのSRH’フィールド内にGTPパケットのGTPヘッダからのデータを含み、SRv6パケットはさらに、GTPパケットの内部IPヘッダ及びペイロードデータを含む。
B型ダイレクトアウトバウンドパケットは、変換モジュール212により変換モジュール208にルーティングされ、変換モジュール208は、B型パケットのSRH’内に記憶された情報を使用して、B型ダイレクトアウトバウンドパケットをA型ダイレクトアウトバウンドパケットに再変換する。このことは、SRv6パケットを、B型パケットの内部IPヘッダ及びペイロードデータをカプセル化し、GTPヘッダ内のSRH’フィールドからのデータを含むGTPパケットに変換することを含む。
変換モジュール208による変換後、A型ダイレクトアウトバウンドパケットは、gNodeB106に送信される。gNodeB106は、その後、A型パケットをデカプセル化してD型ダイレクトアウトバウンドパケットを得て、D型ダイレクトアウトバウンドパケットをUE102に転送する。デカプセル化は、GTPパケットから内部IPヘッダ及びペイロードデータを抽出することを含む。
「リダイレクトアウトバウンドパケット」(redirected outbound packets)は、リダイレクトインバウンドパケットがルーティングされる外部ネットワーク214内の位置又はMECサーバ118に由来するパケットであることができる。リダイレクトアウトバウンドパケットは、リダイレクトインバウンドパケット又は同じネットワークフローの一部に応答して送信される。例えば、リダイレクトアウトバウンドパケットは、MECサーバ118又は第三者サーバによりUE102に送信される。リダイレクトアウトバウンドパケットは、図2の右下から左上に経路206を通過することができる。リダイレクトアウトバウンドパケットは、外部ネットワーク214、ルーティングモジュール216、及びネットワーク210のいくつか又は全てを経由して、変換モジュール208への経路を通過することができる。ルーティングモジュール216により受信されると、リダイレクトアウトバウンドパケットはD型パケットであり、ルーティングモジュール216によりB型リダイレクトアウトバウンドパケットに変換され、B型リダイレクトアウトバウンドパケットは、ネットワーク210上で変換モジュール208に転送される。変換は、IPパケットの内部IPヘッダ及びペイロードデータをGTPパケット内にカプセル化することを含む。
変換モジュール208は、B型リダイレクトアウトバウンドパケットをA型パケットに変換し、A型リダイレクトアウトバウンドパケットをgNodeB106に送信する。B型からA型への変換は、B型パケットのSRH’内に記憶された情報を使用することを含む。このことは、SRv6パケットを、B型パケットの内部IPヘッダ及びペイロードデータをカプセル化し、GTPヘッダ内のSRH’フィールドからのデータを含むGTPパケットに変換することを含む。gNodeB106は、その後、B型リダイレクトアウトバウンドパケットからD型リダイレクトアウトバウンドパケット(内部IPヘッダ及びペイロードデータ)をデカプセル化し、D型リダイレクトアウトバウンドパケットをUE102に送信する。
いくつかの実施形態において、ユーザプレーンメッセージは、UPF112及びUE102間のセッションを確立して維持する為に使用されるメッセージである。ユーザプレーンメッセージは、UE102及びMECサーバ116への、及びUE102及びMECサーバ116からのパケットのルーティング又は外部ネットワーク214へのパケットのリダイレクトを指示する為にUPF112により送信されるメッセージも含むことができる。ユーザプレーンメッセージは、エコー要求、エコー応答、エラー表示、又は他のユーザプレーンメッセージ等の5Gユーザプレーンメッセージも伝送することができる。
インバウンドユーザプレーンメッセージは、ダイレクトインバウンドパケットとしてルーティングされることができる。UPF112から送信されたユーザプレーンメッセージは、全てのインスタンスにおいてダイレクトアウトバウンドパケットとして処理される。UPF112により指示されてリダイレクトが発生すると、その後のインバウンドデータパケット、即ち非ユーザプレーンメッセージパケットは、UPF112を迂回するリダイレクトインバウンドパケットとして変換モジュール208によりルーティングされる。変換モジュール208は、インバウンドパケットのディープパケットインスペクション(deep packet inspection)を実行することによりユーザプレーンメッセージを識別することができる。このルーティングを実行するシステム及び方法は以下に記載されている。
図3を参照して、UE102及び外部ネットワーク214間のネットワーク経路は、制御プレーン300及びデータプレーン302に関して理解される。制御プレーン300は、モジュールと、データプレーン302のモジュールが所定の方法でパケットを送信するように構成するモジュール間の通信と、を含む。データプレーン302は、モジュールと、UE102及び外部ネットワーク214間にペイロードデータのパケットを送信するモジュール間の通信と、を含む。制御プレーン300及びデータプレーン302のモジュールは、単一の装置内、共通の回路基板又はシャーシに接続された複数の装置内、又は1以上のネットワーク接続により互いに接続された複数の装置内に実装されることができる。図示されているコンポーネントは、サーバ、クラウドコンピューティングプラットフォーム、又は他のロケーション上で実行されることができ、又は、これらの1以上の組み合わせにわたって分散されることができる。
制御プレーン300及びデータプレーン302は、部分304及び306に分割することもできる。部分304は、パケット無線型通信(パケット無線部分304)、即ちGPRS、GTP、又は他のセルラーデータ通信プロトコルを使用した通信における使用に適しているプロトコルによるデータパケットを伝送すると理解される。図示されている実施形態において、部分304は、セルラーデータ通信の為の第3世代パートナーシッププロジェクト(3GPP)プロトコルを実装するが、他のセルラーデータ通信プロトコルを使用することもできる。
部分306は、IPv6プロトコル等のインターネットプロトコル又はパケット無線型通信(IP部分306)における使用に適していない他のインターネットプロトコルによりデータパケットを伝送すると理解されることができる。
パケット無線部分304の制御プレーン300は、以下のようなコンポーネントを含むことができる。
・認証、ハンドオーバ、IPマルチメディアサブシステム(IMS)、及びシンプルメッセージサービス(SMS)の一部又は全てを管理する統合データ管理を有するホームサブスクライバサーバ(HSS UDM)308又は他のコンポーネント。
・ユーザ加入によるセルラーデータ通信ネットワークへのアクセスを管理するポリシー制御機能(PCF)及び/又はポリシー及び課金ルール機能(PCRF)310。
・接続及び移動管理タスク(即ち、ハンドオーバ)を管理するアクセス及び移動管理機能(AMF)及び/又は移動管理エンティティ(MME)312又は他のコンポーネント。
・UPFを有するユーザセッションを管理し、パケット無線ネットワーク及びインターネットプロトコルネットワークのインタフェースを容易にするセッション管理機能(SMF)及び/又はサービング及びパケットゲートウェイ(SPGW-C等のSPGW)314(ここではSMF314とも呼ばれる)又は他のコンポーネント。
SMF314は、GTPセッション情報を管理し、GTPセッション情報をAMF312に提供することができる。AMF312は、データプレーン302(以下に記載のgNodeB106)内のコンポーネントをプログラミングし、GTPセッション情報によりパケットをルーティングすることができる。
パケット無線部分304のデータプレーン302は以下のようなコンポーネントを含むことができる。
・アンテナによりUEと直接通信し、UEからのパケットをGTPパケットにカプセル化し、ユーザプレーン制御プロトコルを実装することもできるgNodeB106又は他のハードウェアコンポーネント。
・パケット無線部分304及びIP部分306間をトラバースする時にパケットをGTPに変換したりSRv6に変換したりする変換モジュール208。
IP部分306の制御プレーン300は以下のようなコンポーネントを含むことができる。
・以下により詳細に記載されるパケット転送制御プロトコル(PFCP)プロキシ322。
・図3に図示されている他のコンポーネント及び/又はここに記載のネットワークのいずれかの他のデバイスへのルーティング経路を受信及び/又は送信するボーダゲートウェイプロトコル(BGP)モジュール324又は他のコンポーネント。
・GTP接続を切断し、パケット無線ネットワーク及びインターネットプロトコルネットワーク間のパケット送信を管理するユーザプレーン機能制御モジュール(UPF N4)326又は他のコンポーネント。UPF N4 326は、UPF112とのセッション確立を容易にする。
IP部分306のデータプレーン302は以下のようなコンポーネントを含むことができる。
・上記のUPF112。
・両方の部分304及び306で動作する変換モジュール208。
・ネットワーク210
・ルーティングモジュール216。
・上記のようにUPF112に送信されたトラフィックを変換する変換モジュール212。
図示されている実装において、PFCPによるパケット転送関連付けは、PFCPプロキシ322経由でSMF314及びUPF制御モジュール326間で調整される。したがって、SMF314及びUPF制御モジュール326は、PFCPプロキシ322経由でセッション情報を交換することができる。PFCPプロキシ322は、この情報をスヌーピングし、BGPモジュール324に提供することができる。したがって、PFCPプロキシ322は、UPF制御モジュール326のPFCP実装と関連付けられ、そして、SMF314関連付けられることができる。BGPモジュール324は、スヌーピングされた情報を使用してデータプレーン302(例えば、変換モジュール208、212、ルーティングモジュール216)をプログラミングし、以下に記載されているように、PFCPプロキシ322によりスヌーピングされた情報を使用してGTPからIPプロトコル(例えば、SRv6)への変換、そしてIPプロトコルからGTPへの変換を実行することができる。
PFCPを実装する既存のソフトウェアパッケージは、独占されており、容易に変更できない。PFCPを実装する為のいくつかのオープンソースソフトウェアパッケージが利用可能であるが、アプリケーション内に組込しなければならないパッケージとしてのみ存在している。また、UPF制御モジュール326のネットワークスタックは、容易に変更可能ではないサードパーティソフトウェア又はオープンソースソフトウェア(例えば、upg-vpp(ユーザプレーンゲートウェイベクトルパケットプロセッサ))により実装される。
いくつかの実施形態において、PFCPプロキシ322、BGPモジュール324、及び内部ルーティングモジュール216は、以下のことを実行する為にそのようなコンポーネントの慣習的な実装に比べて変更することができる。
・UPF制御モジュール(UPF N4)326のPFCP実装及びSMF314間の関連付けを確立すること。
・UPF制御モジュール326のPFCP実装及びSMF314間でメッセージを転送すること。
・BGPモジュール324へのセッションメッセージをスヌーピングし、そのような情報をUE102のアドレス、リモート/ローカルトンネル終点(TEP)アドレス、トンネル終点識別子(TEID)、及び他の情報として得ること。
図4はさらに、PFCPプロキシ322及びBGPモジュール324の例示的な実装を図示している。慣習的な5Gモバイルネットワークにおいて、関連付け、例えば、制御チャンネルは、AMF MME312及びUPF N4 326間に確立される。セッション、例えば、ユーザプレーン情報は、SMF SPGW314及びUPF N4 326間に確立される。SMF SPGW314及びUPF N4 326間にセッションが確立されると、UE102は、ペイロードトラフィックの送信を開始する。その後、gNodeB106は、UE102からのパケットをGTPパケットにカプセル化し、GTPパケットをUPF112に転送する。典型的な5G実装において、関連付け及びセッション要求は、UPF N4 326のUDPポート8805に送信され、UPF N4 326からの要求への応答は、要求が受信されたソースUDPポートに送信される。
慣習的なシステムにおいて、上記の理由により、gNodeB106及びUPF112間の経路を最適化することは難しい。全てのUEトラフィックはGTPパケットにカプセル化され、UPF112を通して転送されなければならない。
いくつかの実施形態において、慣習的な5Gモバイルネットワークの限界は、SMF SPGW314及びUPF N4 326間にPFCPプロキシ322を配置し、PFCPプロキシ322がこれらのコンポーネント間のトラフィックを転送する400ことにより克服される。したがって、PFCPプロキシ322は、SMF SPGW314からPFCPメッセージを受信し、これらのメッセージをUPF N4 326に転送する。同様に、PFCPプロキシ322は、UPF N4 326からPFCPメッセージを受信し、これらのメッセージをSMF SPGW314に転送する。その時に、PFCPプロキシ322は、ユーザプレーン情報を取得する為に双方向にPFCPメッセージをパース(parse)することができる。
その後、PFCPプロキシ322は、PFCPプロキシ322の外部で動作するルーティング/ソフトウェア定義ネットワーク(SDN)コントローラにユーザプレーン情報を提供する402ことができる。図示されている実施形態において、BGPモジュール324を使用してルーティング/SDNコントローラが実装されているが、他の実装を使用することもできる。PFCPプロキシ322及びルーティング/SDNコントローラ324は、同じコンピューティングデバイス上、又は分離したコンピューティングデバイス上で実行されることができる。PFCPプロキシ322及びルーティング/SDNコントローラ324は、制御プレーン300、特にSMF SPGW-C314及びUPF N4 326に更なる変更を加えることなく、図2において図示されているルーティングを達成することができる。特に、SMF SPGW-C314及びUPF N4 326は、PFCPプロキシ322の動作がSMF SPGW-C314及びUPF N4 326により感知されないように、PFCPプロキシ322経由で5Gセッションを確立する為に情報交換をすることができる。
BGPモジュール324は、ユーザプレーン情報に従ってデータプレーン内の変換モジュール208をプログラミングする404aことができる。その後、変換モジュール208は、UPF112経由でBGPモジュール324から受信した経路によりMECサーバ118又は又は外部ネットワーク214等のリダイレクトターゲットにリダイレクトされたパケットを転送し、パケットがまずUPF112を通るようにルーティングされる慣習的なアプローチに比べて、経路はより最適化される。BGPモジュール324は、UPF112に制御パケットをルーティングするように変換モジュール212をプログラミングする404bこともでき、外部ネットワーク214によりルーティングモジュール216に接続されたMECサーバ118又は他のデバイスへ及びからのパケットをルーティングするようにルーティングモジュール216をプログラミングする404cこともできる。
プログラミング404aに関して、BGPモジュール324は、UPF112へのルートを変換モジュール208に提供し、そして、GTPパケットをSRv6パケットに、即ち、上記のようにA型パケットをB型パケットにどのように変換するかについてのルールも提供する。したがって、宛先がUPF112であるGTPパケットを変換モジュール208が受信すると、変換モジュール208は、BGPモジュール324から受信したルールを適用して変換を実行する。
プログラミング404bに関して、BGPモジュール324は、変換モジュール212に同様又は同一のルールを提供することができる。このルールに基づいて、変換モジュール212は、SRv6パケットをGTPパケットに変換し、UPF112に送信された元のGTPパケットを再生成することができる。BGPモジュール324は、gNodeB106へのルートを変換モジュール212に提供することもできる。UPF112がgNodeB106を宛先とするGTPパケットを送信すると、変換モジュール212は、上記ルールに従ってGTPパケットをSRv6パケットに変換し、その後、結果的に得られたSRv6パケットを変換モジュール208に転送する。変換モジュール208は、同じルールに従ってSRv6パケットをGTPパケットに再変換し、結果的に得られたGTPパケットをgNodeB106に転送することができる。
外部ネットワーク214又は外部MECサーバ118へ向かってUE102により送信されたパケットについて、ルーティングモジュール216は、外部MECサーバ118及び/又は外部ルーティングモジュール214への外部ルートを変換モジュール208にアナウンスすることができる。このことは、標準L3VPN SRv6方法に基づいて実行することができる。したがって、変換モジュール208は、UEにより生成された内部パケットに基づいて標準SRv6カプセル化を実行することができる。
プログラミング404cに関して、ルーティングモジュール216は、GTPパケットを処理する能力が無い標準SRv6ルータを実装することができる。したがって、プログラミング404cは、BGPモジュール324により、GTP情報(例えば、B型パケットのSRH’ヘッダ内に埋込することができるGTP情報の一部又は全て)を含むSRv6の為の特別なサービスSIDを生成することを含むことができる。上記のように、ネットワーク210内を通過するリダイレクトインバウンドパケットは、B型パケットとしてフォーマットされることができる。したがって、プログラミング404cは、gNodeB106宛のMECサーバ118又は外部ネットワーク214から受信した各パケットをカプセル化するSRv6ヘッダのSRH’フィールドにGTP情報を追加するようにルーティングモジュール216をプログラミングすることができる。
UE102宛の外部ネットワーク214又は外部MECサーバ118から受信した応答について、ルーティングモジュール216は、応答パケット(IPv4又はIPv6等のIPパケット)をSRv6パケットにカプセル化することができる。この時、ルーティングモジュール216は、BGPモジュール324により提供された特別なサービスSIDを使用することができる。このSIDは、SRH’ヘッダ内に含まれる必要なGTP情報を含む。したがって、変換モジュール208は、SRv6パケットをGTPパケットに変換し、結果的に得られたGTPパケットをgNodeB106に送信することができる。
図5には、PFCPプロキシ322の例示的な実装が図示されている。PFCPプロキシ322は、PFCPメッセージをパースして5Gセッション情報を取得し、以下に示されているようにメッセージを処理し、PFCPメッセージをこれらの宛先に転送することができる。いくつかの実施形態において、go-pfcpパッケージは、PFCPメッセージをパースする為に使用される。例えば、図示されている実施形態において、PFCPプロキシ322は、PFCP要求レシーバ500、SMF要求フォーワーダ502、UPF要求フォーワーダ504、SMF応答レシーバ506、UPF応答レシーバ508、SMF応答フォーワーダ510、及びUPF応答フォーワーダ512を含む。これらのコンポーネントのそれぞれは、PFCPプロキシ322の特定のポートから送信されるかリッスンするように割当されることができる。各コンポーネントの動作は以下に記載する。
PFCPメッセージをUPF N4 326に転送すると、PFCPプロキシ322は、転送されたメッセージのIPソースアドレスをPFCPプロキシのアドレスに書換し、IP宛先アドレスをUPF N4 326のアドレスに書換する。PFCPプロキシ322は、転送された要求のUDPソースポートをPFCPプロキシのポート番号に書換することができる。その後、PFCPプロキシ322により書換されたPFCP要求をUPF N4 326に送信することができる。
PFCPメッセージをSMF SPGW-C314に転送すると、PFCPプロキシ322は、IPソースアドレスをPFCPプロキシのアドレスに書換し、IP宛先アドレスをSMF SPGW-C314のアドレスに書換し、UDPソースポートをPFCPプロキシのローカルポート番号に書換する。その後、PFCPプロキシは、書換されたPFCP応答をSMF SPGW-C314に送信する。
この方法でメッセージ514、516を書換することにより、SMF SPGW-C314及びUPF N4 326はPFCPプロキシ322と通信している。しかしながら、PFCPプロキシ322は、SMF SPGW-C314及びUPF N4 326がPFCPプロキシ322を認識できないように、IPソース/宛先アドレス及びUDPソースポートを上書きすることができる。
PFCPプロキシ322は、UDPポート8805をリッスンすることにより、PFCPメッセージをインタセプトする。UDPポート8805は、PFCPメッセージを受信する為の3GPPにより定義されたポートである。したがって、異なる構成が使用された場合、以下の記載を通して、UDPポート8805を異なるポートに置換することができる。PFCPプロキシ322のコンポーネントの動作は、以下の通りである。
・PFCP要求レシーバ500は、SMF SPGW-C314又はUPF N4 326、即ち、PFCPメッセージを受信する為に割当されたポートからUDPポート8805宛のPFCP要求メッセージ514、516をリッスンし、SMF SPGW-C314(図示されている実施例におけるポートA)からのPFCP要求514のソースポートを記録する。PFCP要求レシーバ500はさらに、UPF N4 326(図示されている実施例におけるポートB)からのPFCP要求516のソースポートを記録する。メッセージ514、516のソースポートは、(それぞれポートX及びYに)事前構成されることができる。
・SMF要求フォーワーダ502は、要求516をSMF SPGW-C314に転送する。SMF要求フォーワーダ502は、SMF要求フォーワーダ502によりSMF SPGW-C314に転送された要求516のソースポートとしてXを使用するように、PFCP要求レシーバ500により構成される。SMF要求フォーワーダ502はさらに、IP宛先アドレスをSMF SPGW-C314のIPアドレスに書換することにより、そして、IPソースアドレスをPFCPプロキシ322のIPアドレスに書換することにより、転送された要求516を変更する。
・UPF要求フォーワーダ504は、要求514をUPF N4 326に転送する。UPF要求フォーワーダ504は、UPF要求フォーワーダ504によりUPF N4 326に転送された要求514のソースポートとしてYを使用するように、PFCP要求レシーバ500により構成される。UPF要求フォーワーダ504はさらに、IP宛先アドレスをUPF N4 326のIPアドレスに書換することにより、そして、IPソースアドレスをPFCPプロキシ322のIPアドレスに書換することにより、転送された要求514を変更する。
・SMF応答レシーバ506は、ポートX宛のSMF SPGW-C314からのPFCP応答518を検出し、検出されたPFCP応答518をUPF応答フォーワーダ512に提供するように構成される。
・UPF応答レシーバ508は、ポートY宛のUPF N4 326からのPFCP応答520を検出し、検出されたPFCP応答520をSMF応答フォーワーダ510に提供するように構成される。
・SMF応答フォーワーダ510は、SMF SPGW-C314にPFCP応答520を転送し、転送されたPFCP応答520のソースをUDPポート8805に設定し、宛先をポートA(要求514の事前に記録されたソースポート)に設定するようにプログラミングされる。SMF応答フォーワーダ510はさらに、IP宛先アドレスをSMF SPGW-C314のIPアドレスに書換することにより、そして、IPソースアドレスをPFCPプロキシ322のIPアドレスに書換することにより、転送された応答520を変更する。
・UPF応答フォーワーダ512は、UPF N4 326のYポートにPFCP応答518を転送し、転送されたPFCP応答518のソースをUDPポート8805に設定し、宛先をポートB(要求516の事前に記録されたソースポート)に設定するようにプログラミングされる。UPF応答フォーワーダ512はさらに、IP宛先アドレスをUPF N4 326のIPアドレスに書換することにより、そして、IPソースアドレスをPFCPプロキシ322のIPアドレスに書換することにより、転送された応答518を変更する。
図6を参照して、図4に関して上述されているように、PFCPプロキシ322がメッセージを転送すると、PFCPプロキシ322は、メッセージを使用して作成された関連付け及びセッションについての情報をするすることもできる。その後、このスヌーピングされた情報は、ルーティング/SDNコントローラ324(BGPモジュール324)に提供される。図示されている実施形態において、PFCPプロキシ322及びルーティング/SDNコントローラ324間の情報の転送は、プロセス間通信(IPC)600を使用して実行される。例えば、gRPC(オープンソースリモートプロシージャコール(RPC)システム)。SDNコントローラ324は、スヌーピングされた情報によりルーティングテーブル602をプログラミングすることができる。
スヌーピングされた情報は、以下の一部又は全てを含む。
・リモートトンネル終点(TEP)、例えば、UPF112のアドレス。
・ローカルトンネル終点、例えば、gNodeB106のアドレス。
・トンネル終点識別子(TEID)。
・QFI(サービスの品質(QoS)フロー識別子)。
・UEアドレス(UE102のアドレス)。
・アクセスネットワークインスタンス。
・コアネットワークインスタンス。
この情報を受信した後、ルーティング/SDNコントローラ324は、この情報に基づいてルーティングテーブル602内にルーティングエントリを生成することができる。これらのルーティングエントリは、図2及び4に関して上述されているルーティングを実装する為に、変換モジュール208、212或いはルーティングモジュール216のルーティングを制御する為に使用されることができる。
図2を再度参照して、所望のルーティングは、内部IPパケットを含むA型(GTP)パケットを生成するgNodeB106により、UE102から内部IPパケットを受信することを含むことができる。gNodeB106は、gNodeB106及びUPF112間のGTPトンネル上で、A型パケットをUPF112に送信する。このGTPトンネルを規定するパラメータは、上記のスヌーピングされた情報、特に、UPF112を参照するリモートトンネル終点及びgNodeB106を参照するローカルトンネル終点内に含まれる。
図2に関して上述されているように、A型パケットをGTPトンネルを通して単にルーティングするよりむしろ、A型パケットは、B型又はC型パケットに変換され、SRv6ネットワーク210等のIPネットワーク210上でルーティングされる。IPネットワーク210及びGTPトンネル間の移行は、変換モジュール208、212により管理される。また、ルーティングモジュール216は、GTPトンネルを規定するパラメータを参照してパケットをルーティングする必要もある。PFCPプロキシ322により得られたスヌーピングされた情報は、ルーティング/SDNコントローラ324に提供されることができる。その後、ルーティング/SDNコントローラ324は、変換モジュール208、212及びルーティングモジュール216をプログラミングし、図2に関して上述されているルーティングを達成する。ルーティング/SDNコントローラ324により変換モジュール208、212及びルーティングモジュール216がどのようにプログラミングされるかの様々な実施例が以下に記載される。
第1の実施例において、ルーティング/SDNコントローラ324は、リモートトンネル終点を受信し、UPF112へのルートを生成して配信する。特に、このルートは、変換モジュール208に提供されることができる。ルートは、上述のように、GTP及びSRv6間の変換を実行する為に、プログラミング404aにも提供されることができる。
第2の実施例において、ルーティング/SDNコントローラ324は、ローカルトンネル終点及びUEアドレスを受信し、SRv6によるこの情報に基づいてサービスSIDを生成して配信する。特に、サービスSIDは、ルーティングモジュール216に提供されることができる。サービスSIDは、ローカルトンネル終点を参照してgNodeB106経由でネットワーク210上でUE102へのルートをアドバタイズする。サービスSIDの生成時に、ルーティング/SDNコントローラ324によりQFIを使用することもできる。この第2の実施例は、上記のプログラミング404cの実行時に実装することができる。
第3の実施例において、gNodeB106は、A型パケットの宛先をリモートトンネル終点(UPF112のトンネル終点アドレス)に設定することにより、UPF112と共に確立されたGTPトンネル内にA型(GTP)パケットを送信することができる。PFCPプロキシ322は、GTPトンネルの設定時にgNodeB106及びUPF112間の制御パケットをスヌーピングすることにより、このリモートトンネル終点を得る。PFCPプロキシ322は、ルーティング/SDNコントローラ324にリモートトンネル終点を与えることができる。
その後、ルーティング/SDNコントローラ324は、このリモートトンネル終点の為のルーティングエントリを生成し、このルーティングエントリにより変換モジュール208をプログラミングすることができる。いくつかの実施形態において、ルーティング/SDNコントローラ324は、GTP4.D等の機能を使用して、ルーティングエントリを生成する。ルーティングエントリは、GTPヘッダ情報のSRH’ヘッダへの符号化を含むA型パケットからB型パケットへの変換を規定し、SRv6等のセグメントルーティングプロトコルによる1以上のSIDの形式等によるネットワーク210を通した変換モジュール212へのルーティングを規定することができる。
第4の実施例において、イングレス宅内機器(ingress premise equipment)(PE)からエグレス宅内機器(egress premise equipment)へのトラフィックのルーティングは、上記のスヌーピングされた情報に基づいて管理される。イングレス宅内機器は、例えば、変換モジュール208であることができ、エグレス宅内機器は、外部ネットワーク214又はMECサーバ118とのインタフェース接続の為のルーティングモジュール216であることができる。逆方向において、ルーティングモジュール216はイングレス宅内機器であり、変換モジュール208はエグレス宅内機器である。
L3VPN SRv6等の標準的な仮想プライベートネットワーク(VPN)において、イングレス宅内機器は、IPネットワークから受信したパケットである内部パケットを含むSRv6パケットを送信する。SRv6パケットの宛先アドレスは、エグレス宅内機器に割当されたIPv6アドレス(例えば、セグメント識別子(SID))等のIPアドレスに設定されることができる。エグレス宅内機器は、SRv6パケットを受信し、内部パケットをデカプセル化し、内部パケットを内部パケットの宛先アドレスに転送する。図示されている実施例において、内部パケットの宛先アドレスは、IPv6宛先(例えば、SID)の形式であることができる。したがって、エグレス宅内機器は、パケットがネットワーク210を通って移動している方向によって第三者サーバ又はUE102である内部パケットの宛先アドレスに基づいて内部パケットをどこに転送するかを判定することができる。
図示されている実施形態において、エグレス宅内機器(例えば、変換モジュール208)は、特定のUE102に到達する為に内部パケットが転送されるべき利用可能な1組のgNodeBインスタンスのgNodeB106を判定する必要がある。したがって、エグレス宅内機器は、UE102のIPアドレスをUE102が接続された(例えば、TCP又は確立された他のセッションを有する)gNodeB106のローカルトンネル終点にマッピングするルーティング/SDNコントローラ324からのルーティングエントリを受信することができる。UE102のIPアドレス及びローカルトンネル終点間の関連付けは、上記のスヌーピングされた情報から判定することができる。
ルーティングエントリは、C型パケットからA型パケットへのパケット変換を実行して結果的に得られたA型パケットをGTP接続上でgNodeB106に送信した時に、gNodeBのローカルトンネル終点を使用するようにエグレス宅内機器に指示することができる。例えば、GTP4.D(IPv4 GTP)が使用されると、ルーティング/SDNコントローラ324は、以下のIPv6アドレスをエグレス宅内機器に提供することができる。
SRv6ロケータ(<56ビット)+TEID(32ビット)+QFI(8ビット)+ローカルトンネル終点アドレス(32ビット)
SRv6ロケータは、ルーティング/SDNコントローラ324上の構成を参照することができる。SRv6ロケータに基づいて、変換モジュール208、212は、これから実行する変換機能を認識することができる。例えば、BGP324は、GTP及びSRv6間の変換の為にSRv6ロケータとして2001:db8::/48を割当することができる。この場合、変換モジュール208、212がGTPパケットからSRv6パケットを生成する時、SRv6ロケータとして2001:db8::/48を使用し、GTPパケットのTEID、QFI、TEPアドレスをSRH’フィールドに埋込する。宛先が2001:db8::/48と一致するSRv6パケットを変換モジュール208、212が受信する時、変換モジュール208、212は、SRv6パケットがGTPに変換される必要があると理解することができる。変換モジュール208、212は、SRH’フィールドからTEID、QFI、TEPアドレスを得て、その後、元のGTPパケットを再生成することができる。その後、GTPパケットは、宛先とされるUPF112又はgNodeB106のいずれかに送信されることができる。
L3VPN内のマルチパスラベルスイッチング(MPLS)において、SRv6ロケータは、付与されたVPNを特定する為に使用することができる。SRv6 L3VPNの場合、SRv6ロケータは、サービスSID(IPv6アドレス形式)を特定することができ、MPLS L3VPNのラベルの代わりに、付与されたVPNを特定する為に使用することができる。
ローカルトンネル終点アドレスは、上記IPv6アドレス内に埋込されることができる。このアドレスは、サービスSIDとしてイングレス宅内機器にアナウンスされることもできる。エグレス宅内機器がこのIPv6アドレスと宛先が一致するパケットを受信した時、エグレス宅内機器は、パケットをどのgNodeBインスタンスに転送するかを判定し、ベースバンドユニット(BBU)のローカルトンネル終点を得て、gNodeBインスタンスに送信するGTPパケッ(A型パケット)を生成することもできる。ルーティング/SDNコントローラ324は、IPv6アドレスからGTPパケットへの変換をどのように実行するかをエグレス宅内機器に指示するGTP4.Dルーティングルール等のルーティングルールによりエグレス宅内機器をプログラミングすることができる。
SRv6からGTPへ変換する為に、エグレス宅内機器は、以下の情報を使用することができる。ローカルトンネル終点アドレス(gNodeB106のアドレス)、TEID(トンネル識別子)、そして、QFI(QoS識別子)。ローカルトンネル終点アドレスは、GTPパケットの宛先アドレスである。TEID及びQFIは、GTPヘッダ内に埋込する必要がある値である。したがって、この情報は、イングレス宅内機器からエグレス宅内機器へルーティングされたパケットのIPv6宛先アドレス(上記例示的アドレス参照)内に埋込され、SRv6からGTPへの変換を容易にすることができる。
この情報(ローカルトンネル終点アドレス、TEID、QFI)は、PFCPプロキシ322により得られ、ルーティング/SDNコントローラ324に提供され、その後、ルーティング/SDNコントローラ324により使用され、イングレス宅内機器及びエグレス宅内機器に情報を埋込して上述のように情報を使用して変換を実行するようにイングレス宅内機器及びエグレス宅内機器をプログラミングする。ルーティング/SDNコントローラ324は、イングレス宅内機器に提供されたサービスSIDとして埋込された情報を含むIPv6アドレスを有するVPNv4/v6ルートをアナウンスすることにより、上記プログラミングを実行する。ルーティング/SDNコントローラ324は、GTP4.E機能を使用して作成されたSRv6ロケータの形式でエグレス宅内機器内にこの情報をプログラミングすることもできる。
イングレス宅内機器がIPネットワークからパケットを受信すると、イングレス宅内機器は、IPネットワークからのSRv6を含むパケットをカプセル化することができる。この時、外部IPv6宛先アドレスは、埋込された情報を含む上記サービスSIDである。エグレス宅内機器が上記サービスSIDと一致する外部IPv6宛先アドレスを有するパケットを受信すると、エグレス宅内機器は、受信したパケットにGTP4.E機能を実行し、IPv6宛先アドレス内に埋込されたTEID、QFI、及びローカルトンネル終点を使用してパケットをGTP(A型)パケットに変換することを決定することができる。
第5の実施例において、ルーティングモジュール216は、UE102のIPアドレス宛の外部ネットワーク214からパケットを受信することができる。スヌーピングされた情報は、gNodeB106のローカルトンネル終点への関連付けを提供する。したがって、ルーティング/SDNコントローラ324は、ルーティングモジュール216にルートをアナウンスし、UE102のIPアドレス宛のトラフィックをgNodeB106にルーティングするようにルーティングモジュール216に指示する。その後、パケットは、上述のようにD型、C型、及びA型パケット間の変換を含む図2の経路206により、gNodeB106経由でUE102にルーティングモジュール216によりルーティングされる。
第6の実施例において、スヌーピングされた情報は、コアネットワークインスタンスを含むことができる。この値は、5Gコアネットワークにおけるネットワークスライシングに使用することができる。この値に基づいて、ルーティング/SDNコントローラ324は、どの仮想ルーティング及び転送(VRF)テーブルからUEアドレスをインポートするべきか、そして、プログラミング404cの実行時のUE102へのルートの生成時にどのVPN(VRF)を使用すべきかを判定することができる。スヌーピングされた情報内のアクセスネットワークインスタンスは、付与されたVRFテーブルから特定のUEアドレスを除去する為に使用することができる。したがって、ルーティング/SDNコントローラ324は、スヌーピングされた情報内で指定されたコアネットワークインスタンス及びアクセスネットワークインスタンスに基づいて、インポートルール及び/又はフィルタルールを指定することができる。
図7A~図8を参照して、変換モジュール208は、SRv6からGTPへのパケットの変換を管理する。典型的な5Gネットワークにおいて、GTPパケットはgNodeB106からUPF112により受信され、内部IPパケットはUPF112によりGTPパケットから得られ、そして、内部IPパケットはその後SRv6コンポーネントにより処理され、仮想ルーティング機能(VRF)によるルーティングを使用することも含むSRv6により内部IPパケットのルーティングを管理する。SRv6コンポーネントは、UE102宛のインバウンドパケットのターゲットであり、SRv6によりルーティングを管理し、GTPパケットにカプセル化してgNodeB106に転送する為にUPF112に受信したパケットを転送する。
ここに記載のアプローチにおいて、パケットは、SRv6ネットワーク210及び外部ネットワーク214上で変換モジュール208へ、そして変換モジュール208からルーティングされる。したがって、変換モジュール208は、VRFを管理することを含むSRv6によりパケットのルーティングを管理することもできる。
ここに記載のアプローチは、SRv6を参照する。しかしながら、マルチプロトコルラベルスイッチング(MPLS)によるラベルを使用して実装されることもできる。
特に、図7Aを参照して、ルーティングモジュール216は、BGPルートリフレクタクライアント等のルートリフレクタクライアント700として機能する、又はルートリフレクタクライアント700を含むことができる。BGPモジュール324(ここではルーティング/SDNコントローラ324とも呼ばれる)は、ルートリフレクタとして機能し、ルートリフレクタクライアント700によりブロードキャストされたルーティング情報を受信する702ことができる。その後、BGPモジュール324は、標準的なルートリフレクタ機能を実行すること等により、このルーティング情報を変換モジュール208にリフレクトする704ことができる。いくつかの実施形態において、ルーティングモジュール216は、外部ルート、即ち外部ネットワーク214内の外部IPアドレスへのルートの為のVPNv4/v6更新をBGPモジュール324に送信する。ルーティングモジュール216をクライアントとするルートリフレクタとして動作するBGPモジュール324は、ルーティングモジュール216からのVPNv4/v6更新を変換モジュール208にリフレクトする。このことに基づいて、変換モジュール208は、ルーティングモジュール216を介して外部ネットワーク214へのルートを取得することができる。
例えば、ルーティングモジュール216は、VPNv4/v6ルート等のルートをサービスSIDにより更新することができる。ルートは、外部ネットワーク214に対するルーティングを記述することができ、サービスSIDは、サービスSIDによりラベリングされたパケットに対してVPNv4/v6機能を実行することを含むセグメントの実行を指示することができる。ルートは、ルーティングモジュール216を外部ネットワーク214内の1以上のアドレスの次ホップとして指定し、又は、1以上のアドレスを含むパケットにプレフィックスSIDを追加することを指示するSRポリシーを提供し、プレフィックスSIDは、ルーティングモジュール216へのパケットのルーティングを指示するセグメントを参照する。したがって、このルートが変換モジュール208に提供されると、GTPパケット(図7AのA型パケット)を受信することが可能になり、内部IPパケットをデカプセル化することが可能になる。
変換モジュール208は、内部IPパケットの宛先IPアドレスを得て、宛先IPアドレス宛のパケットをルーティングモジュール216に転送するべきであると指定するルート判定する。その後、変換モジュール208は、ルートにより指定されたSID(例えば、ルーティングモジュール216のプレフィックスSID)を含むSRv6パケット(図7AのC型パケット)として内部IPパケットを転送する。C型パケットは、図7A~図7Dの実施形態においてSRv6を含むレベル3(L3)VPNとして具現化することができるネットワーク210上でルーティングモジュール216に転送されることができる。
ルーティングモジュール216は、C型パケットを受信し、内部IPパケット(図7AのD型パケット)をデカプセル化し、内部IPパケットを外部ネットワーク214上で宛先IPアドレスに転送する。
いくつかの実施形態において、BGPモジュール324は、VPN(VPNv4/v6)のサービスSIDに関連するA VPNサービスを実行するように、変換モジュール208に指示することもできる。
図7Bには、BGPモジュール324及び変換モジュール208を使用し、変換モジュール212経由でUE102からUPF112へのトラフィックのルーティングを管理するアプローチが図示されている。例えば、5GはGTP-Uメッセージを規定する。GTP-Uメッセージは、gNodeB106及びUPF112間のデータ経路情報をチェック及び/又は検出する為に使用することができる。他のGTP-Uメッセージは、エコー要求及びエコー応答を含み、このデータ経路が良好であるか検出する。GTP-Uメッセージは、データ経路上のエラーに応答してエラー表示を通信する為に使用することもできる。GTP-Uメッセージは、データパケット転送の終了(例えば、ハンドオーバが発生した時)を知らせる終了マーカを含むことができる。外部ネットワーク214宛のユーザデータトラフィックの場合、変換モジュール208は、GTPヘッダを取り除き、SRv6パケット(C型パケット)の内部IPパケットをカプセル化し、その後、C型パケットを直接変換モジュール212に転送することができる。
ここに記載の他の実施形態と同様に、BGPモジュール324は、PFCPプロキシ322及び/又はCLIコントローラ708から情報を得る706。図7Bの機能性に関連する情報は、GTPトンネルのリモートトンネル終点アドレス、VRF ID(又はルート識別子(route distinguisher)RD)、及びVPN情報(VPNv4/v6情報)を含むことができる。
UPF112及び/又はgNodeB106によりGTP-Uメッセージの処理を可能にする為に、変換モジュール208は、GTP-UメッセージをUPF112に転送することができる。上述のように、このことは、ネットワーク210及びUPF112間の第2の変換モジュール212の使用を含むことができる。変換モジュール212は、GTPパケットをUPF112に転送する前に、SRv6からGTPへパケットを変換することができる。この為に、GTP情報は、変換モジュール212に転送されたSRv6パケット、例えば、B型パケットのSRHフィールド内に埋込されることができる。
したがって、BGPモジュール324は、変換モジュール208にVPNv4/v6更新を提供し710、UPF112にルートを提供することができる。BGPモジュール324は、UPF112宛のGTPパケットを変換するように変換モジュール208に指示するSRポリシーを変換モジュール208に提供する712こともでき、この変換は、上述のようにSRHフィールド内のGTP情報を符号化することを含む。VPNv4/v6更新及びGTP情報は、上述のようにPFCPプロキシ322から受信した情報から、BGPモジュール324により得られる。プログラミング710は、UPF112へのルートを含むVPNv4/v6更新を変換モジュール208に提供することを含むことができる。プログラミング710は、特定のVRFにおけるこのルートにより変換モジュール208をプログラミングすることを含むことができる。このプログラミング710に基づいて、変換モジュール208は、gNodeB106からUPF112にパケットをルーティングすることができる。
変換モジュール208によりUPF112に提供されたプログラミング710はさらに、gNodeB106に接続されたVRFルーティング識別子(RD)及びgNodeB106が属する5Gネットワークインスタンス(アクセス)により、ルーティングを管理することができる。CLIコントローラ708は、gNodeB106に接続された第1のVRF RD及びgNodeB106が属する5Gネットワークインスタンス(アクセス)間、同様に、第1のVRF RD及び内部IPパケット(GTPパケットによりカプセル化された内部IPパケット)の宛先IPアドレスの第2のVRF RD間のマッピングを提供することができる。PFCPプロキシ322は、gNodeB106が属する5Gネットワークインスタンス(アクセス)及びUPF112のアドレスを提供することができる。
この情報を使用して、BGPモジュール324は、PFCPプロキシ322により提供された5Gネットワークインスタンス(アクセス、即ち、UPF112を含むネットワーク)とどのVRF RDが適合するかを判定する。BGPモジュール324は、以下の動作を実行する。5Gネットワークインスタンス(アクセス)と適合した第1のVRF RDのUPF112へのルートのVPNv4/v6更新を変換モジュール208に送信する。そして、(埋込されたGTP情報によりGTPからSRv6への変換を規定する)上記の変換ルールを変換モジュール208に知らせるSRポリシー及び内部IPパケットの宛先アドレスに関連する第2のVRF RDを送信する。
SRポリシー及びVPNv4/v6は、以下の機能を実行するように変換モジュール208をプログラミングすることができる。
・UPF112のアドレスが宛先アドレスであるGTPパケットを受信する。
・GTPパケットのパケットタイプをチェックする。
・GTPパケットのパケットタイプがユーザデータトラフィックである場合、GTPヘッダを取り除いて内部IPパケットを得て、BGPモジュール324により提供されたVRF RDのルーティングテーブルを使用して内部IPパケットを転送する(例えば、標準L3VPN SRv6転送を実行する)。
GTPパケットがGTP-Uメッセージである場合、BGPコントローラにより提供された変換ルール(例えば、GTP4/6Dルール)に基づいてGTPからSRv6への変換を実行する(例えば、SRH’フィールド内に埋込されたGTP情報によるB型パケットへの変換)。
いくつかの実施形態において、UPFアドレスのVPNv4/v6更新は、プレフィックスSIDとして紐付けSIDを有する。したがって、VPNv4/v6更新は、特定のSRポリシー、即ち、BGPモジュール324から受信したSRポリシーに接続される。BGPモジュール324から受信したSRポリシーは、同じ紐付けSIDを含むこともでき、内部IPパケットのVRF RDを含むこともできる。このことに基づいて、宛先がUPFアドレスと一致するGTPパケットを変換モジュール208が受信すると、変換モジュール208は、GTPパケットにSRポリシーを適用することができる。
いくつかの実施形態において、SRポリシーは、内部IPパケットの宛先アドレスがIPv6リンクローカルアドレスかどうか評価するように変換モジュール208に指示することができる。その場合、変換モジュール208は、上述のようにSRポリシーによりGTPからSRv6への同じ変換を実行し、その後、変換モジュール212に転送することができる。しかしながら、リンクローカルアドレスはグローバルにルーティング可能ではないので、UPF112だけがそのようなパケットを処理することができる。したがって、変換モジュール208は、変換されたSRv6パケットをUPF112に送信する必要がある。SRポリシーは、各GTPパケットについて、内部IPパケットの宛先アドレスがリンクローカルアドレスであるかどうかチェックするように変換モジュール208に指示し、その場合、SRv6パケットのSRHフィールド内のGTP関連情報を埋込しながら、GTPパケットをSRv6パケットに変換し、SRv6パケットを変換モジュール212に転送する。その後、変換モジュール212は、埋込された情報を使用してSRv6パケットをGTPパケットに再度変換し、GTPパケットをUPF112に転送する。
BGPモジュール324により提供されたVPNv4/v6更新に基づいて、変換モジュールは、第1のVRF RD(gNodeB106に接続されたネットワークの外部VRF)に関連するルーティングテーブル内のUPFアドレスのルーティングエントリによりプログラミングされることができる。ステップ712で提供されたSRポリシーは、第2のVRF RD(UPF112に接続されたネットワークの内部VRF)を紐付けSIDと関連付けすることができる。紐付けSIDは、第2のVRF RD及びUPFアドレス宛の内部IPパケットにSRポリシーのアプリケーションを呼出することができる。紐付けSIDは、UPFアドレスのVPNv4/v6更新の為のサービスSIDとして使用することができる。紐付けSIDは、SRポリシー内で運ばれることもできる。SRポリシーは、内部IPパケットのルーティングに使用する内部VRF RDを運ぶことができる。したがって、このプログラミングに応じて、gNodeB106から受信したGTPパケットは、以下の通りに変換モジュール208により処理されることができる。
・GTPパケットを受信した入インタフェースに関連するVRF RDに関連するルーティングテーブル内の宛先アドレス(UPFアドレス)に基づいてルーティング検索を実行する。
・UPFアドレスのVPNv4/v6更新の為のサービスSIDとして使用された紐付けSIDに基づいてSRポリシーを得る。
・メッセージタイプをチェックする。
・メッセージタイプがG-PDUである場合、変換モジュール208は、GTPヘッダを取り除いて内部IPパケットを得て、SRv6パケット内の内部IPパケットをカプセル化し、SRポリシーにより指定された第2のVRF RD(内部IPパケットの宛先IPアドレスの為の内部VRF)を使用して標準SRv6 L3VPNによりSRv6パケットをルーティングする。
・メッセージタイプがGTP-Uである場合、変換モジュール208は、UPFアドレス、QFI、TEID、及びSRポリシーによるSRv6ロケータ等のGTP関連情報を運ぶ特定のサービスSIDを生成し、GTPパケットの内部IPパケットを特定のサービスSIDを含むSRv6パケット内にカプセル化し、SRv6パケットを変換モジュール212に送信する。
特定のサービスSIDは、[宛先のSRv6ロケータ][UPFアドレス+QFI+TEID]としてフォーマットされることができ、GTP4.Dが使用される。GTP6.Dが使用されると、特定のサービスSIDは、形式[宛先のSRv6ロケータ][QFI+TEID+sid0]であることができ、sid0はUPFアドレスである。
図7Cには、外部ネットワーク214から受信したUE102宛のパケットをルーティングするようにルーティングモジュール216を構成する為のBGPモジュール324の機能が図示されている。ルーティングモジュール216により、UE102宛のパケットを外部ネットワーク214から受信すると、ルーティングモジュール216は、UE102のアドレスに関連するルートを使用することができる。このルートは、図7Cに図示されているアプローチを使用してBGPモジュール324によりルーティングモジュール216に提供される。
CLIコントローラ708は、ネットワークの為に規定されたVRF RD等のVRF RD及び5Gネットワークインスタンス(コア)間のマッピングを提供する714ことができる。PFCPプロキシ322は、UEアドレス及びgNodeB106を含む5Gネットワークインスタンス(コア)を提供することができる。
この情報に基づいて、BGPモジュール324は、パケットを受信した5Gネットワークインスタンス(コア)に基づいて、UEアドレス宛のパケットをどのVRF内にインポートするかを判定することができる。VRF RD(例えば、UEアドレスへのルート)により識別されたVRF内にUEアドレスをインポートした後、BGPモジュール324は、VPNv4/v6更新を生成し、ルーティングモジュール216にUE102へのルートを知らせる716。
UEルートのこのVPNv4/v6更新を送信すると、BGPモジュール324は、UEルートのサービスSIDを割当することができる。したがって、VPNv4/v6更新に応答して、ルーティングモジュール216は、外部ネットワーク214からUEアドレスを含む内部IPパケットを受信する。UEアドレスを含む内部IPパケットを受信したことに応答して、ルーティングモジュール216は、VPNv4/v6更新により指示されたように、内部IPパケットをこのサービスSIDを宛先として含むSRv6パケットにカプセル化する。このサービスSIDは、ルートに従ってUEへパケットをルーティングするように、変換モジュール208及びgNodeB106を含む介在するコンポーネントに指示する。
変換モジュール208がネットワーク210からSRv6パケットを受信すると、変換モジュール208は、SRv6パケットをGTPパケットに変換する必要がある。なぜなら、GTPパケットがgNodeB106経由でUEに転送される必要があるからである。サービスSIDは、BGPモジュール324により符号化され、gNodeBのアドレス、TEID、及びQFI等のGTP関連情報を運ぶことができる。
IPv6アドレスは128ビットである。したがって、GTP4.E(gNodeBアドレスはIPv4)の場合、全てのGTP関連情報は、以下の単一のIPv6アドレス内に埋込されることができる。SRv6ロケータ+gNodeB IPv4アドレス+QFI+TEID。SRv6ロケータの最大長は56ビットであり、gNodeBアドレスは32ビットのIPv4アドレスであり、これにより、QFIには8ビットそしてTEIDには32ビットが残る。gNodeB106がIPv6アドレスを有するGTP6.Eの場合、GTP情報と共にgNodeB106のアドレスを単一のIPv6アドレス内に埋込することは不可能である。この場合、SRv6は、SRH内で複数のセグメント(IPv6アドレス)を運ぶことができる。したがって、SRH内の最後のSID(SID[0])は、gNodeB106のIPv6アドレスであることができ、2番目のSIDは、SRv6ロケータ、QFI、及びTEIDを運ぶことができる。
図7Dには、外部ネットワーク214から受信したUE宛のパケットをルーティングするように変換モジュール208を構成する為のBGPモジュール324の機能が図示されている。これらのパケットは、変換モジュール208により、ネットワーク210上でルーティングモジュール216から受信することができる。BGPモジュール324はさらに、そのようなパケットをSRv6からGTPに変換するように変換モジュール208を構成することができる。
BGPモジュール324は、GTP4/6.Eの為のSRv6ロケータ及び各VRFからUEアドレスがインポートされる各VRFのgNodeBに接続された外部VRF等の情報をCLIコントローラ708から受信する718ことができる。
BGPモジュール324は、上記の変換を実行するGTP4/6.E又はGTP4.D機能等の変換モジュール208により適用される機能を識別するSRv6ロケータを提供することができる。SRv6ロケータ及び対応する変換機能は、BGPモジュール324により変換モジュール208、212に提供されることができる。このSRv6ロケータは、上記のサービスSIDに含まれることができる。BGPモジュール324は、SRポリシーを生成し、変換モジュール208に送信する720。SRポリシーは、様々な指示を含む。
SRポリシーは、SRv6ロケータ情報(例えば、ロケータ情報形式がIPv6プレフィックスに基づいているか)を示すことができる。したがって、SRポリシーは、図7Cに関して上述されているように、変換モジュール208が、SRHフィールド内に含まれるサービスSIDに埋込されたgNodeBアドレス、QFI、TEIDの位置(例えば、情報のこれらのアイテムがSID[0]又はSID[1]のどちらに存在するか)を理解することを可能にする。SRHヘッダの最後のセグメントを使用してgNodeBアドレスを発見し、埋込されたGTP情報を使用してSRv6からGTPへの変換を実行するように変換モジュール208に指示するGTP4.E又はGTP6.E機能等の機能をSRポリシーは運ぶこともできる。BGPモジュール324により生成されたSRポリシーはさらに、SRポリシーによるSRv6パケットからGTPパケットへの変換によりGTPパケットが得られた後に、GTPパケットをUE102にルーティングする為に使用されたUEアドレスの外部VRFを提供することができる。
図8には、変換モジュール208の例示的構成が図示されている。変換モジュール212は同様の構成を有することができる。図示されている実施形態において、gNodeB106から受信してUPF112(例えば、GTP-Uメッセージ)に送信されたパケットは、第1の転送情報ベース(FIB)検索モジュール800、GTP4/6.D処理モジュール802、SRv6カプセル化モジュール804、及び第2のFIB検索モジュール806により処理されることができる。gNodeB106から受信してルーティングモジュール216(例えば、非GTP-Uメッセージ)に送信されたパケットは、第1のFIB検索モジュール800、GTP4/6.D処理モジュール802、第3のFIB検索モジュール808、SRv6カプセル化モジュール810、及び第4のFIB検索モジュール806により処理されることができる。
第1のFIB検索モジュール800は、パケットを受信したインタフェース(IPアドレス及びVRF RD)を評価することができる。そのインタフェースが紐付けSIDと関連している場合、その後、紐付けSIDと関連するSRポリシーは、GTP4/6.Dモジュール802によりパケットの処理を呼出する。第1のFIB検索モジュール800のプログラミング、紐付けSID及びSRポリシーの生成、及びGTP4/6.Dモジュール802のプログラミングは、上述のように、BGPモジュール324により実行されることができる。
GTP4/6.Dモジュール802は、SRポリシーにより呼出された機能によりプログラミングされることができる。この機能は、GTPパケットのパケットタイプを評価することができる。パケットがGTP-Uメッセージである場合、パケットはSRv6カプセル化モジュール804に送信される。SRv6カプセル化モジュール804は、GTPパケット(A型)からGTP情報を埋込されたSRv6パケット(B型)へパケットを変換するようにプログラミングされることができる。このカプセル化の実行に関する更なる詳細は、図9Aを参照して以下に記載されている。SRv6カプセル化モジュール804により生成されたSRv6パケットは、第2のFIB検索モジュール806により処理されることができる。第2のFIB検索モジュール806は、SRv6パケットの宛先アドレス(即ち、UPF112の前のGTP/SRv6 212のアドレス)を評価することができ、SRv6パケットをどこにルーティングするか判定する。このことは、次ホップを判定する為のVPNv4/v6更新からの情報、VPNトンネル情報、VRF RD又はSRv6パケットをUPF112にルーティングする為に使用される他の情報を使用することを含むことができる。上述のように、VPNv4/v6更新はBGPモジュール324から受信することができる。その後、変換モジュール208は、第2のFIB検索モジュール806から得たルーティング情報によりSRv6パケットを送信する。
GTP4/6.Dモジュール802がGTPパケットはGTP-Uメッセージではないと判定した場合、GTPパケットは、GTP/UDP/外部IPヘッダを取り除いた後に第3のFIB検索モジュール808により処理されることができる。第3のFIB検索モジュール808は、SRv6パケット内にGTPパケットの内部IPパケットをカプセル化する為の情報を検索することができる。このことは、例えば、内部IPパケットの宛先アドレスに関連するVPNv4/v6ルートを検索し、そのようなSIDがSRv6パケット内に内部IPパケットをカプセル化することを決定する。SIDは、BGPモジュール324から受信したルーティング情報により生成されることができ、内部IPパケットをカプセル化したSRv6パケットのネットワーク210を通したルーティングを規定することができる。内部IPパケット及びSIDは、SRv6カプセル化モジュール810に提供されることができ、SRv6カプセル化モジュール810は、内部IPパケット及びSIDをSRv6パケットにカプセル化することができる。SRv6パケットは、第4のFIB検索モジュール812により処理されることができる。
第4のFIB検索モジュール812は、SRv6パケットの宛先アドレス(即ち、ルーティングモジュール216のアドレス)を評価することができ、SRv6パケットをどこにルーティングするか判定する。このことは、次ホップを判定する為のVPNv4/v6更新からの情報、VPNトンネル情報、VRF RD又は外部アドレスに到達する為にSRv6パケットをルーティングモジュール216にルーティングする為に使用される他の情報を使用することを含むことができる。上述のように、VPNv4/v6更新はBGPモジュール324から受信することができる。その後、変換モジュール208は、第4のFIB検索モジュール812から得たルーティング情報によりSRv6パケットを送信する。
図9Aには、変換モジュール208により受信したGTP(A型)パケットを埋込されたGTP情報を含むSRv6(B型)パケットに変換するプロセスが図示されている。上述のように、A型パケットは、内部IPパケット(例えば、外部ネットワーク内の宛先アドレス)、GTPヘッダ、及び外部IPヘッダ(例えば、UPF112の宛先アドレス)を含むことができる。GTP4.Dの場合、単一のSID(SID[0]又はSRH’フィールド内の第1のSID)は、上記のGTP4.Dロケータ、外部IPアドレス(UPF112のアドレス)、及びQFI、TEID、いくつかのGTP-Uメッセージ(例えば、GTP-Uエコー要求/応答メッセージ)の為に使用されるシーケンスID等のGTP情報を含む。いくつかの実施形態において、追加のパディングビットを含むことができる。QFI情報は、QFI、R、及びU値を含むことができる。QFIは、3GPP内に規定されたQoS(サービスの品質)フロー識別子である。Rは、3GPP内に規定されたRQI(反射QoS指示(Reflective QoS Indication))である。Uビットは、GTP-UパケットのPDU(プロトコルデータユニット)タイプを指定する為に使用される。GTP6.Dの場合、2つのSID(SID[0]及びSID[1])を使用することができる。SID[0]は、外部IPアドレス(UPF112のアドレス)を含むことができ、SID[1]は、QFI、TEID、シーケンスID等の埋込されたGTP情報を含むことができる。
図9Bには、ルーティングモジュール216から受信した埋込されたGTP情報を含むSRv6(B型)パケットを処理する時の変換モジュール208の機能が図示されている。FIB検索モジュール812は、パケットを受信し、パケットを受信したインタフェース(ソースアドレス及びVRF RD)に関連する紐付けSIDを判定する。紐付けSIDに関連するSRポリシーは、GTP4/6.Eモジュール814を呼出することができる。GTP4/6.Eモジュール814は、埋込されたGTP情報を使用してSRv6パケットをGTP(A型)パケットに変換することができる。紐付けSID及びSRポリシーと同様に、GTP4/6.Eモジュールのプログラミングは、上述のように、BGPモジュール324から受信することができる。
GTPパケットは、FIB検索モジュール800により処理されることができ、FIB検索モジュール800は、宛先アドレス(例えば、gNodeB106アドレス又はUPFアドレス)に関連するVRF RDを判定し、そのVRF RDのルーティングテーブルによりGTPパケットをルーティングする。FIB検索モジュール800により実行されるルーティングは、上述のように、BGPモジュール324から受信したVPNv4/v6更新によることができる。図9Bには、ダウンリンク(外部ネットワーク214からUE102又はUPF112からUE102)の為のパケットフローが図示されている。そのようなパケットフローにおいて、FIB検索モジュール812は、GTP4/6.Eモジュール814向きのルーティングエントリを判定するようにプログラミングされることができる。その後、GTP4/6.Eモジュール814は、各SRv6パケットをGTPパケットに変換することができる。その後、このGTPパケットは、FIB検索モジュール800にルーティングされることができる。
図9Cには、B型パケットからA型パケットへの変換が図示されている。SRH’フィールド内の埋込された情報を得る。上述のように、GTP4.Eの場合、この情報はSID[0]内に含まれる。GTP6.Eの場合、この情報はSID[1]内に含まれる。SRH’フィールド内のGTP4.Eロケータは、外部IPv4宛先アドレス及び埋込されたGTP情報(QFI、TEID/シーケンスID)を使用して変換を実行するGTP4.E機能に関連する。変換は、外部IPv4宛先アドレス(例えば、gNodeBのアドレス)をA型パケットの外部IP宛先アドレスとして使用することを含み、そして、A型パケットのGTPフィールド内に埋込されたGTP情報を含むことができる。内部IPパケットは、UE102のアドレスに転送される。
図8、9A、9B、及び9Cは、変換モジュール208に関して記載されている。変換モジュール212は同様に、A型パケットからB型パケットへの変換を実行し、同様の方法で機能することができる。特に、UPF112からgNodeB106へ移動するパケットは、gNodeB106からUPF112へ移動するパケットと同様の方法で変換されることができる。SRv6 216からUE102へ移動するパケットは、UPF112からgNodeB106へ移動するパケットと同様の方法で処理されることができる。言い換えれば、SRv6からGTPへの変換は、パケットを送信しているエンティティ(他の変換モジュール208、212又はルーティングモジュール216のいずれか)に関係なくネットワーク210からパケットを受信した時は、変換モジュール208、212により実行される。
図10Aを参照して、ここに記載のアプローチは、SRv6パケットにその後埋込されるGTPトンネルを記述する情報を得る為にPFCPプロキシ322を使用することができる。SMF314及びUPF112をインタフェース接続する為に、PFCPプロキシ322は、N4インタフェースに実装されることができる。N4インタフェースは、5Gネットワーク及びUPF112等のユーザプレーン間のインタフェースであることができる。先行のアプローチにおいて、N4インタフェースは、UE102のそれぞれに対して作成される。したがって、先行のアプローチに従って使用されるPFCPプロキシ322は、2X N4インタフェースを作成することができ、XはUE102の数である。なぜなら、PFCPプロキシ322は、SMF314及びUPF112の両方に対してインタフェースを実装するからである。付与されたUPF112は、PFCPプロキシ322にかかる負荷が非常に大きくなるように、何千ものUE102を管理することができる。
いくつかの実施形態において、SMF314の側で、PFCPセッション負荷分散装置1000が複数のN4コントローラ1002にトラフィックを分散する。UPF112の側で、他のPFCPセッション負荷分散装置1004が複数のN4コントローラ1002にトラフィックを分散する。N4コントローラ1002のそれぞれは、PFCPプロキシ322を実装することができる。特に、N4コントローラのそれぞれは、N4コントローラにルーティングされたトラフィックに対してPFCPプロキシ322に帰する機能を実行することができる。負荷分散装置1000、1004からN4コントローラ1002にルーティングされたトラフィックは、図1~5に関して上述されているPFCP要求及び応答を含むことができる。したがって、N4コントローラ1002は、上記のセッション情報をスヌーピングすることができる。このスヌーピングされた情報は、GTPトンネルの為のgNodeB106のアドレス、UPF112のアドレス、UE102のアドレス、TEID、QFI、アクセスネットワークインスタンス、及びコアネットワークインスタンスの一部又は全てを含むことができる。
負荷分散装置1000、1004及びN4コントローラ1002は、同じコンピューティングデバイス、異なる仮想マシン又は同じコンピューティングデバイス上のコンテナ、又は、ネットワークにより接続された分離したコンピューティングデバイス上で実行されることができる。
図10Bには、負荷分散装置1000、1004及びN4コントローラ1002を使用して実行されることができる方法1006が図示されている。方法1006は、イングレス負荷分散装置がGTPパケット等の入力パケットを受信する1008ことを含むことができる。SMF314から受信したUPF112宛の入力パケットにおいて、イングレス負荷分散装置は負荷分散装置1000であることができる。UPF112から受信したSMF314宛の入力パケットにおいて、イングレス負荷分散装置は負荷分散装置1004であることができる。
その後、イングレス負荷分散装置は、入力パケットからタプルを抽出する1010ことができる。タプルは、複数のN4コントローラの中にパケットを分散する為に使用される一組の値であることができる。タプルは、入力パケットから情報の以下のアイテムの一部又は全てを含むことができる。IPソースアドレス、IP宛先アドレス、セッション識別子(SEID)、及び完全修飾セッション識別子(F-SEID)。IPソースアドレス及びIP宛先アドレスはそれぞれ、そこから入力パケットを受信するか入力パケットの宛先であるSMF314及びUPF112のいずれかのアドレスであることができる。いくつかの実装において、複数のSMF314及びUPF112がイングレス負荷分散装置にパケットを送信することができる。いくつかの実装において、負荷分散は、IPソースアドレス及びIP宛先アドレスだけで実行することができる。単一のSMF314及び単一のUPF112が存在する場合、SEID及び/又はFQ-SEIDを使用することができ、IPソースアドレス及びIP宛先アドレスは無視することができる。
その後、イングレス負荷分散装置は、タプルに対応するN4コントローラの1つを選択する1012ことができる。例えば、タプルはハッシュ関数に入力されることができ、ハッシュ関数の出力はN4コントローラ1002の1つの識別子であることができる。その後、入力パケットは、選択されたN4コントローラ1002に送信される1014ことができる。その後、選択されたN4コントローラ1002は、入力パケットを処理する1016ことができる。このことは、セッション情報をスヌーピングし、図5に関して上述されているようなPFCPプロキシ322の他の機能及びPFCPプロキシ322に帰する任意の他の機能を実行することを含むことができる。N4コントローラ1002は、入力パケットに応答して出力パケットを生成することができる。その後、出力パケットは、N4コントローラ1002によりエグレス負荷分散装置に送信される1018ことができる。SMF314から受信したUPF112宛の入力パケットにおいて、エグレス負荷分散装置は負荷分散装置1004であることができる。UPF112から受信したSMF314宛の入力パケットにおいて、エグレス負荷分散装置は負荷分散装置1000であることができる。その後、エグレス負荷分散装置は、入力パケットの宛先アドレスと同じである出力パケットの宛先アドレスに出力パケットを転送することができる。
図11を参照して、上記のアプローチは、複数のgNodeB106a~106c及び複数の変換モジュール208a~208cが存在する図示されているネットワーク環境において実行されることができる。変換モジュール208a~208cのそれぞれは、セルラーデータネットワークの領域1104a~1104cをネットワーク210に接続することができる。gNodeB106a~106cのそれぞれは、領域1104a~1104cの1つにより変換モジュール208a~208cの1つに接続されることができる。
上記のアプローチを使用して、BGPモジュール324は、gNodeB106aに接続された全てのUE102から受信され、そして、全てのUE102へ送信されたパケットの変換を可能にする為に、変換モジュール208aに第1のSID(SID1)を送信する1100。BGPモジュール324は、、gNodeB106bに接続された全てのUE102から受信され、そして、全てのUE102へ送信されたパケットの変換を可能にする為に、変換モジュール208bに第2のSID(SID2)を送信する1102。BGPモジュール324は、、gNodeB106cに接続された全てのUE102から受信され、そして、全てのUE102へ送信されたパケットの変換を可能にする為に、変換モジュール208cに第3のSID(SID3)を送信する1104。各SIDは、上述のように、パケットの変換を規定する対応するSRポリシーを含むことができる。
BGPモジュール324はそれぞれ、gNodeB106a、106b、106cのそれぞれに対応するVPNv4/v6更新を送信する1106、1108、1110こともできる。付与されたgNodeB106a~106cのVPNv4/v6更新は、そのgNodeB106a~106cに割当されたSIDを含むことができる。VPNv4/v6更新は、ネットワーク210に接続された1以上のルーティングモジュール216に送信されることができる。ルーティングモジュール216は、プロバイダエッジルータ(PE)であることができる。
いくつかの実装において、変換モジュール208a~208cのそれぞれは、BGPモジュール324により独自のVRFを割当される。VRFは、変換モジュール208a~208cにより変換された各GTPトンネルを実装する為に使用することができる。各VRFのルート識別子(RD)は、ルーティングモジュール216がパケットをどこに送信するかを判定することを可能にする。UE102がgNodeB106に接続されてPFCPプロキシ322がUE102のUEアドレスを得ると、BGPモジュール324は、どのVRF(即ち、VRFテーブル)にUEアドレスがインポートされるかを判定することができる。いくつかの実施形態において、PFCPプロキシ322は、アクセスネットワークインスタンスを得て、VRFは、そのアクセスネットワークインスタンスと対応するように選択される。
いくつかの実装において、BGPモジュール324は、変換モジュール208a~208cのそれぞれの為の分離したVRFテーブルを有する。しかしながら、いくつかの実装において、ルーティングモジュール216は、単一のVRFを有する。なぜなら、ルーティングモジュール216は、任意の変換モジュール208a~208cに到達できなければならないからである。したがって、BGPモジュール324が各UE102へのルートを全てのVRFにインポートすると(各VRFが変換モジュール208a、208b、208cの1つに関連付けられると)、BGPモジュール324は、各UE102のルーティングモジュールSRv6 216に3つのVPNv4/v6更新を提供する、即ち、1つは変換モジュール208a、もう1つは変換モジュール208b、さらにもう1つは変換モジュール208cに提供する。典型的な実装において、より多くの変換モジュール208を配置することもできる。その後、ルーティングモジュール216は、全てのVPNv4/v6更新からのルートを単一のVRF内にインポートする(各ルートは、同じプレフィックス(UEアドレス)を有するが、異なる次ホップ及び異なる変換モジュール208a、208b、208cに対応するSIDを有する)。
ルーティングモジュール216が外部ネットワーク214からパケットを受信すると、ルーティングモジュール216は、パケットの為の1つのルートを選択する必要がある。しかしながら、ルーティングモジュール216は、パケット内のUEアドレスを参照にしてどのgNodeB106がUEアドレスに接続されているかを知らない。したがって、ルーティングモジュール216は、パケットを正しく転送することができないかもしれない。また、各UEアドレスの各変換モジュール208a、208b、208cの為の更新を記憶することから、ルーティングモジュール216により過度のメモリが使用されている。
いくつかの実施形態において、これらの問題は、PFCPプロキシ322及び/又はBGPモジュール324がどのgNodeB106が付与されたUE102に接続されているか判断することにより解消される。したがって、BGPモジュール324は、gNodeB106が接続されている変換モジュール208a、208b、208cのいずれかのVRFの為に、UE102が接続されているgNodeB106に対応する単一のVPNv4/v6更新を生成することができる。これにより上記問題が解消される。なぜなら、ルーティングモジュール216は、単一のVPNv4/v6更新からの各UEアドレスの為の1つだけのルートを受信して記憶するからである。
上述のように、BGPモジュール324は、上記のPFCP情報(gNBアドレス、UEアドレス)を受信することができ、そして、各PE1202a、1202b、1202cからgNodeB106の為のVPNv4/v6更新を受信することができる。このことに基づいて、BGPモジュール324は、どのgNodeB106に付与のUE102が接続されているかを割り出すことができる。BGPモジュール324は、VPNv4/v6更新から各gNodeB106の為のルートターゲット(RT)値を判定することができる。RT値に基づいて、BGPモジュール324は、どのVRF内にUEルートをインポートするべきかを判定することができる。
図12Aには、ネットワーク環境1200が図示されている。図示されているネットワーク環境1200は、ネットワーク環境100に図示されている要素に追加した要素が図示されており、ネットワーク環境100に図示されているいくつかの要素は省略されている。実際には、ネットワーク環境は、ネットワーク環境100、1200に図示されている全ての要素を含むことができる。図示されているネットワーク環境1200は、ネットワーク210をトラバースする為のルーティング情報をより効率的に分配する為に使用されることができる。
UE102は、gNodeB106a~106cのいずれかに接続することができる。gNodeB106a~106cのそれぞれは、プロバイダエッジルータ(PE)1202a~1202cに接続することができる。複数のgNodeB106a~106cが、単一のプロバイダエッジルータ1202a~1202cに接続することもできる。プロバイダエッジルータ1202a~1202cのそれぞれは、対応する領域1104a~1104cに接続することができる。領域1104a~1104cのそれぞれは、ネットワークの一部であることができる。領域1104a~1104cのそれぞれは、領域1104a~1104cのそれぞれにわたって送信されるパケットが上記のGTPパケットであるように、GTPネットワーク等のパケット無線ネットワークであることができる。プロバイダエッジルータ1202a~1202cのそれぞれは、関連する固有のルートターゲット(RT)を有することができ、図示されている実施形態において、RT 1:1、RT 2:2、及びRT X:Xである。ルートターゲットは、各プロバイダエッジルータ1202a~1202cを識別し、どのルートで付与されたVRF内にインポートするかを判定する為に使用される。特に、VPNルートは、ルータだけ又は1以上のルートターゲットによりラベリングされた他のネットワークコンポーネントが、そのVRF内にそのVPNルートをインポートするように、1以上のルートターゲットにラベリングされることができる。
領域1104a~1104cのそれぞれは、変換モジュール208a~208cに接続されることができる。変換モジュール208a~208cのそれぞれは、変換モジュール208として機能し、gNodeB106からトラフィックを受信し、GTPパケットをSRv6パケットに変換し、SRv6ネットワーク210上でパケットを送信することができる。上述のように、変換モジュール208a~208cのそれぞれは、SRv6ネットワーク210からパケットを受信し、埋込された情報及び/又はSRポリシーを使用してパケットをGTPパケットに変換し、そして、変換されたパケットを領域1104上でgNodeBに転送することもできる。
動作において、gNodeB106aに接続された各UE102について、例えば、(任意のプロバイダエッジルータ1202a~1202cを表す為に使用される)プロバイダエッジルータ1202aはVPNv4/v6更新を送信する1204。VPNv4/v6更新は、gNodeB106a(例えば、ネットワーク層到達性情報(NLRI))のアドレスとしてそのような情報を含むことができる。VPNv4/v6更新はさらに、プロバイダエッジルータ1202aのルートターゲットを含むことができる。いくつかの実施形態において、VPNv4/v6更新は、プロバイダエッジルータ1202aが接続されているN4アクセスネットワークインスタンスをリストにすることができる。VPNv4/v6更新は、ルートリフレクタ(RR)経由で送信されることができる。ルートリフレクタ1206は、プロバイダエッジルータ1202aと同じ領域1104aに接続された変換モジュール208aにVPNv4/v6更新を転送する1208ことができる。ルートリフレクタ1206は、PFCPプロキシ322にVPNv4/v6更新を転送する1210こともできる。
いくつかの実施形態において、ルートリフレクタ1206は、UPF112にVPNv4/v6更新を転送する1210。PFCPプロキシ322は、UPF112への、そしてUPF112からのパケットのセッション情報をスヌーピングしてVPNv4/v6更新をインタセプトする。PFCPプロキシ322は、各VPNv4/v6更新を保持することができる。このことは、VPNv4/v6更新と共に受信されたプロバイダエッジルータ1202aのルートターゲットに対応するVRFをまだ構成していない(又はPFCPプロキシ322がまだ構成を通知していない)VRFの場合でも該当する。
図12Bには、ネットワーク1200内のエンティティ間の例示的な関係及び使用されている様々なラベル及びアドレスが図示されている。BGPモジュール324は、VPNテーブル1220及びVRFテーブル1222を維持することができる。VPNテーブル1220は、VPNv4/v6更新として受信したデータを記憶する。VPNテーブル1220は、例えば、VPNv4/v6更新内で識別されたVPNの為のルート識別子1224のヒエラルキーを含むことができる。1以上のルート識別子1224は、関連するルーティング情報ベース(RIB)1226を有することができる。RIB1226は、ルート識別子1224の為に、ルート識別子1224及びgNodeBアドレス1228はVPNv4/v6更新内で受信されるので、ルート識別子1224に関連するgNodeBアドレス1228をリストにすることができる。各gNodeBアドレス1228の為のVPNテーブル1220内のエントリは、NLRIルート及び/又はアドレス、次ホップ情報、優先情報(例えば、MED情報)等の1以上の経路属性を含むことができる。各gNodeBアドレス1228の経路属性はさらに、1以上のルートターゲット1230を含むことができる。例えば、gNodeBアドレス1228を含むVPNv4/v6更新はさらに、VPNv4/v6更新を送信したプロバイダエッジルータのルートターゲット1230を含むことができる。したがって、ルートターゲット1230は、そのgNodeBアドレス1228に関連するRIB1226内に記憶することができる。いくつかの実施形態において、VPNv4/v6更新と共に送信されたルートターゲットは、VPNv4/v6更新を送信したプロバイダエッジルータ1202a~1202cを含む拡張ルートターゲットコミュニティを記述する情報を含むことができる。したがって、VPNテーブル1220の各ルートターゲット1230は、拡張ルートターゲットコミュニティを記述する情報を含むことができる。
VRFテーブル1222は、プロバイダエッジルータ1202a~1202cから受信したVPNv4/v6更新内に識別されたVRFを記述するエントリ1232を含むことができる。例えば、上述のように、VPNv4/v6更新は、gNodeBアドレス及びプロバイダエッジルータ1202a~1202cのルートターゲットを含むことができる。いくつかの実施形態において、VPNv4/v6更新は、プロバイダエッジルータ1202a~1202cが接続されたN4アクセスネットワークインスタンスを含むことができる。したがって、各エントリ1232は、各VRFについて、gNodeBアドレス、及びルートターゲットをリストにすることができる。いくつかの実施形態において、各VRFはN4アクセスネットワークインスタンスに対応し、エントリ1232は、このN4アクセスネットワークインスタンスを識別することができる。付与されたN4アクセスネットワークインスタンスの為の複数のVRFであることもできる。例えば、各VRFテーブルは、付与されたN4アクセスネットワークインスタンスに対応することができる。
図13には、PFCPプロキシ322及び関連するBGPモジュール324により実行されることができる方法1300が図示されている。方法1300は、PFCPセッション情報からgNodeBアドレス及び関連するUEアドレスを得る1302ことを含むことができる。上述のように、PFCPセッションはさらに、N4アクセスネットワークインスタンスを識別することができる。その後、方法1300は、VPNテーブル1220内のgNodeBアドレスを検索し1304、VPNテーブル1220内のgNodeBアドレスにマッピングされたVPNのルート識別子1224を得る1306ことを含むことができる。方法1300はさらに、VPNテーブル1220内のgNodeBアドレスにマッピングされたルートターゲット1230を得る1308ことを含むことができる。その後、方法1300は、PFCPセッション情報内で識別されたN4アクセスネットワークインスタンスに対応するVRFテーブルを得る1310ことを含むことができる。方法1300は、ステップ1308からのルートターゲット1230と適合するVRFを識別する1312ことを含むことができる。その後、方法1300は、ステップ1312で識別されたVRFにUEアドレスをインポートする1314ことを含むことができる。VRFにUEアドレスをインポートすることは、BGPモジュール324がUEアドレスへのルートを示すルーティングモジュール216にVRFの為のVPNv4/v6更新を送信することを伴う。
この方法により、UEアドレスは、gNodeB106が接続されたN4アクセスネットワークインスタンスの各VRF内に不必要にインポートされない。このことは、ルーティングモジュール216上のVRFテーブルの大きさ、及び変換モジュール208a~208cに送信される必要があるSID及び対応するSRポリシーの数を減少する。
いくつかの実施形態において、UEアドレスの為のVRFが得られると、SRポリシーの生成及びgNodeBアドレスに対応するgNodeB106が接続された変換モジュール208a~208cの為のSRポリシーに対応する紐付けSIDの生成等の他のアクションを実行することができる。SRポリシー及び紐付けSIDは、上記のアプローチに従って生成されることができる。
図14は、ここに開示の方法及びシステムを実装する為に使用することができる例示的コンピューティングデバイス1400を図示する構成図である。コンピューティングデバイス1400は、サーバ、クライアント、又は任意の他のコンピューティングエンティティとして機能することができる。コンピューティングデバイスは、ここに記載の様々な機能を実行することができ、そして、ここに記載のアプリケーションプログラムのような1以上のアプリケーションプログラムを実行することができる。コンピューティングデバイス1400は、デスクトップコンピュータ、ノートパソコン、サーバコンピュータ、携帯用コンピュータ、タブレット等の多種多様な任意のコンピューティングデバイスであることができる。
コンピューティングデバイス1400は、1以上のプロセッサ1402、1以上のメモリ装置1404、1以上のインタフェース1406、1以上の大容量記憶装置1408、1以上の入力/出力(I/O)装置1410、及び表示装置1430を含み、その全てがバス1412に接続されている。プロセッサ1402は、1以上のプロセッサ又は制御装置を含み、メモリ装置1404及び/又は大容量記憶装置1408内に記憶された命令を実行する。プロセッサ1402は、キャッシュメモリ等の様々な型のコンピュータ可読媒体を含むこともできる。
メモリ装置1404は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)1414)及び/又は不揮発性メモリ(読出専用メモリ(ROM)1416)等の様々なコンピュータ可読媒体を含む。メモリ装置1404は、フラッシュメモリ等の書換可能ROMを含むこともできる。
大容量記憶装置1408は、磁気テープ、磁気ディスク、光ディスク、ソリッドステートメモリ(例えば、フラッシュメモリ)等の様々なコンピュータ可読媒体を含む。図14に図示されているように、特定の大容量記憶装置は、ハードディスクドライブ1424である。様々なコンピュータ可読媒体からの読出、及び/又は、様々なコンピュータ可読媒体への書込を可能にする為に、大容量記憶装置1408内に様々なドライブを含むこともできる。大容量記憶装置1408は、取り外し可能媒体1426及び/又は取り外し不可能媒体を含む。
入力/出力装置1410は、データ及び/又は他の情報をコンピューティングデバイス1400に入力、又はコンピューティングデバイス1400から取得することを可能にする様々な装置を含む。例示的入力/出力装置1410は、カーソル制御装置、キーボード、キーパッド、マイク、モニタ又は他の表示装置、スピーカ、プリンタ、ネットワークインタフェースカード、モデム、レンズ、CCD又は他の撮像装置等を含む。
表示装置1430は、コンピューティングデバイス1400の1以上のユーザに情報を表示することができる任意の型の装置を含む。表示装置1430の例は、モニタ、表示端末、映像投影装置等を含む。
インタフェース1406は、コンピューティングデバイス1400が他のシステム、デバイス、又はコンピューティング環境と情報交換することを可能にする様々なインタフェースを含む。例示的なインタフェース1406は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク、及びインターネットへのインタフェース等の、任意の数の異なるネットワークインタフェース1420を含む。他のインタフェースは、ユーザインタフェース1418及び周辺機器インタフェース1422を含む。インタフェース1406は、1以上のユーザインタフェース要素1418を含むこともできる。インタフェース1406は、プリンタ、ポインティングデバイス(マウス、トラックパッド等)、キーボード等のインタフェースのような、1以上の周辺機器インタフェースを含むこともできる。
バス1412は、バス1412に接続されている他のデバイス又はコンポーネントと同様に、プロセッサ1402、メモリ装置1404、インタフェース1406、大容量記憶装置1408、及び入力/出力装置1410が互いに通信することを可能にする。バス1412は、システムバス、PCIバス、IEEE1394バス、USBバス等の、1以上の複数の型のバス構造を示している。
説明のために、プログラム及び他の実行可能なプログラムコンポーネントは、ここでは分離したブロックとして示されているが、そのようなプログラム及びコンポーネントは、コンピューティングデバイス1400の異なるストレージコンポーネント内に様々な時間に存在しており、プロセッサ1402により実行されると理解される。代替的に、ここに記載のシステム及び処理は、ハードウェア内、又は、ハードウェア、ソフトウェア、及び/又はファームウェアの組合せ内に実装することができる。例えば、1以上の特定用途向け集積回路(ASIC)は、ここに開示されている1以上のシステム及び処理を実行するようにプログラミングされることができる。
100 ネットワーク環境
204 経路
206 経路
514 メッセージ
516 メッセージ
518 PFCP応答
520 PFCP応答
1006 方法
1200 ネットワーク環境
1300 方法
1400 コンピューティングデバイス
1412 バス

Claims (20)

  1. 第1の負荷分散装置により、第1のエンティティから第2のエンティティを参照する第1の要求を受信し、前記第1の負荷分散装置は、1以上の処理装置を含むコンピュータシステム上で実行され、
    前記第1の負荷分散装置により、前記コンピュータシステム上で実行される複数のコントローラの選択されたコントローラを選択し、
    前記第1の負荷分散装置により、前記選択されたコントローラに前記第1の要求を送信し、
    前記選択されたコントローラにより、前記第1の要求に対するパケット転送制御プロトコル(PFCP)セッションを実装し、
    前記選択されたコントローラにより、前記第1の要求に対応する第2の要求を第2の負荷分散装置に送信し、前記第2の負荷分散装置は前記コンピュータシステム上で実行され、そして、
    前記第2の負荷分散装置により、前記第2の要求を前記第2のエンティティに転送する、
    ことを含むことを特徴とする方法。
  2. 前記コンピュータシステムは、ネットワークにより接続された複数のコンピューティングデバイスを含むことを特徴とする請求項1に記載の方法。
  3. 前記第1の負荷分散装置は前記複数のコンピューティングデバイスの第1のコンピューティングデバイス上で実行され、前記第2の負荷分散装置は前記複数のコンピューティングデバイスの第2のコンピューティングデバイス上で実行され、前記複数のコントローラは前記複数のコンピューティングデバイスの1以上の第3のコンピューティングデバイス上で実行されることを特徴とする請求項2に記載の方法。
  4. 前記方法がさらに、
    前記第2の負荷分散装置により、前記第2のエンティティから前記第2の要求に対する第1の応答を受信し、
    前記第2の負荷分散装置により、前記第1の応答を前記選択されたコントローラに転送し、
    前記選択されたコントローラにより、PFCPにより前記第1の応答を処理し、
    前記選択されたコントローラにより、前記第1の応答に対応する第2の応答を前記第1の負荷分散装置に送信し、そして、
    前記第1の負荷分散装置により、前記第2の応答を前記第1のエンティティに転送する、
    ことを含むことを特徴とする請求項1に記載の方法。
  5. 前記第1の要求及び前記第1の応答は、汎用パケット無線サービス(GPRS)トンネリングプロトコル(GTP)パケットによるパケットであることを特徴とする請求項4に記載の方法。
  6. 前記第1の要求はセッション開始要求であることを特徴とする請求項5に記載の方法。
  7. 前記第1の要求を処理することは、前記第1の要求からセッション情報を抽出することを含むことを特徴とする請求項6に記載の方法。
  8. 前記セッション情報はユーザ機器アドレスを含むことを特徴とする請求項7に記載の方法。
  9. 前記セッション情報はトンネル終点識別子を含むことを特徴とする請求項7に記載の方法。
  10. 前記第1の要求を処理することはさらに、前記セッション情報を送信することを含むことを特徴とする請求項7に記載の方法。
  11. 前記第1の要求を処理することは、前記セッション情報をボーダゲートウェイプロトコル(BGP)コントローラに送信することを含むことを特徴とする請求項10に記載の方法。
  12. 前記第1のエンティティはセッション管理機能(SMF)であることを特徴とする請求項5に記載の方法。
  13. 前記第2のエンティティはユーザプレーン機能(UPF)であることを特徴とする請求項5に記載の方法。
  14. 前記選択されたコントローラを選択することは、
    前記第1の要求から情報を抽出し、そして、
    前記情報に対応するように前記選択されたコントローラを選択する、
    ことを含むことを特徴とする請求項1に記載の方法。
  15. 前記情報は、インターネットプロトコル(IP)ソースアドレス、IP宛先アドレス、セッション識別子(SEID)、及び完全修飾セッション識別子(F-SEID)の1以上を含むことを特徴とする請求項14に記載の方法。
  16. 前記情報に対応するように前記選択されたコントローラを選択することは、
    前記情報からハッシュを生成し、そして、
    前記ハッシュにマッピングするように前記選択されたコントローラを識別する、
    ことを含むことを特徴とする請求項14に記載の方法。
  17. 1以上の処理装置及び前記1以上の処理装置に接続された1以上のメモリ装置をそれぞれ含む1以上のコンピューティングデバイスを含むシステムであって、
    前記1以上のコンピューティングデバイスは、
    第1の負荷分散装置により、第1のエンティティから第2のエンティティを参照する第1の要求を受信し、
    前記第1の負荷分散装置により、前記第1の要求内のアドレス情報から生成されたハッシュにより複数のコントローラの選択されたコントローラを選択し、
    前記第1の負荷分散装置により、前記選択されたコントローラに前記第1の要求を送信し、
    前記選択されたコントローラにより、前記第1の要求に対するパケット転送制御プロトコル(PFCP)セッションを実装し、
    前記選択されたコントローラにより、前記第1の要求に対応する第2の要求を第2の負荷分散装置に送信し、
    前記第2の負荷分散装置により、前記第2の要求を前記第2のエンティティに転送する、
    ことを含む方法を実行するようにプログラミングされることを特徴とするシステム。
  18. 前記1以上のコンピューティングデバイスはさらに、
    前記第2の負荷分散装置により、前記第2のエンティティから前記第2の要求に対する第1の応答を受信し、
    前記第2の負荷分散装置により、前記第1の応答を前記選択されたコントローラに転送し、
    前記選択されたコントローラにより、PFCPにより前記第1の応答を処理し、
    前記選択されたコントローラにより、前記第1の応答に対応する第2の応答を前記第1の負荷分散装置に送信し、
    前記第1の負荷分散装置により、前記第2の応答を前記第1のエンティティに転送する、
    ことを含む方法を実行するようにプログラミングされることを特徴とする請求項17に記載のシステム。
  19. 前記第1の要求及び前記第1の応答は、汎用パケット無線サービス(GPRS)トンネリングプロトコル(GTP)パケットによるパケットであり、
    前記第1の要求を処理することは、
    前記第1の要求からセッション情報を抽出することを含み、前記セッション情報は、ユーザ機器アドレス及びトンネル終点識別子を含み、そして、
    前記セッション情報をボーダゲートウェイプロトコル(BGP)コントローラに送信する、
    ことを含むことを特徴とする請求項18に記載のシステム。
  20. 前記アドレス情報は、インターネットプロトコル(IP)ソースアドレス、IP宛先アドレス、セッション識別子(SEID)、及び完全修飾セッション識別子(F-SEID)の1以上を含むことを特徴とする請求項17に記載のシステム。
JP2023565888A 2021-04-26 2022-04-20 Pfcpセッション負荷分散装置 Pending JP2024517717A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US17/240,726 US11632692B2 (en) 2021-04-26 2021-04-26 Use of IP networks for routing of cellular data packets
US17/240,726 2021-04-26
US17/362,071 2021-06-29
US17/362,071 US11849381B2 (en) 2021-04-26 2021-06-29 Use of IP networks for routing of cellular data packets
US17/488,833 US20220345984A1 (en) 2021-04-26 2021-09-29 Use Of Ip Networks For Routing Of Cellular Data Packets
US17/488,833 2021-09-29
US17/553,522 US20220345519A1 (en) 2021-04-26 2021-12-16 PFCP Session Load Balancer
US17/553,522 2021-12-16
PCT/US2022/025555 WO2022231906A1 (en) 2021-04-26 2022-04-20 Pfcp session load balancer

Publications (1)

Publication Number Publication Date
JP2024517717A true JP2024517717A (ja) 2024-04-23

Family

ID=83694551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023565888A Pending JP2024517717A (ja) 2021-04-26 2022-04-20 Pfcpセッション負荷分散装置

Country Status (7)

Country Link
US (1) US20220345519A1 (ja)
EP (1) EP4330820A1 (ja)
JP (1) JP2024517717A (ja)
KR (1) KR20240018439A (ja)
CA (1) CA3216581A1 (ja)
TW (1) TW202249466A (ja)
WO (1) WO2022231906A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567986B (zh) * 2022-11-29 2023-04-18 阿里巴巴(中国)有限公司 基于负载均衡的通信网络

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US9071609B2 (en) * 2012-10-08 2015-06-30 Google Technology Holdings LLC Methods and apparatus for performing dynamic load balancing of processing resources
US9271197B2 (en) * 2013-05-22 2016-02-23 Futurewei Technologies, Inc. System and method for distributed evolved packet core architecture
US9632840B2 (en) * 2014-04-22 2017-04-25 International Business Machines Corporation Load balancing with granularly redistributable workloads
US10616321B2 (en) * 2017-12-22 2020-04-07 At&T Intellectual Property I, L.P. Distributed stateful load balancer
EP3994850A1 (en) * 2019-07-03 2022-05-11 Telefonaktiebolaget LM Ericsson (publ) Establishing a packet forwarding control protocol session
JP2021039423A (ja) * 2019-08-30 2021-03-11 キヤノン株式会社 システム、および制御方法

Also Published As

Publication number Publication date
WO2022231906A1 (en) 2022-11-03
US20220345519A1 (en) 2022-10-27
CA3216581A1 (en) 2022-11-03
KR20240018439A (ko) 2024-02-13
TW202249466A (zh) 2022-12-16
EP4330820A1 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
US10484203B2 (en) Method for implementing communication between NVO3 network and MPLS network, and apparatus
US11310846B2 (en) Local identifier locator network protocol (ILNP) breakout
WO2015143802A1 (zh) 业务功能链处理方法及装置
JP2024517717A (ja) Pfcpセッション負荷分散装置
JP2024517716A (ja) セルラーデータパケットのルーティングの為のipネットワークの改善された使用
US20220345986A1 (en) Selective Importing of UE Addresses to VRF in 5g Networks
US11876881B2 (en) Mechanism to enable third party services and applications discovery in distributed edge computing environment
US20220345984A1 (en) Use Of Ip Networks For Routing Of Cellular Data Packets
US11632692B2 (en) Use of IP networks for routing of cellular data packets
CN117441377A (zh) 在5g网络中将ue地址选择性地导入vrf
CN117529709A (zh) Pfcp会话负载平衡器
CN117461297A (zh) 用于路由蜂窝数据数据包的ip网络的使用
CN117480855A (zh) 用于路由蜂窝数据数据包的ip网络的改进使用