(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-28
(45)【発行日】2023-04-05
(54)【発明の名称】IPネットワークへの遠隔的かつ動的ルート注入
(51)【国際特許分類】
H04L 45/02 20220101AFI20230329BHJP
H04L 45/42 20220101ALI20230329BHJP
【FI】
H04L45/02
H04L45/42
(21)【出願番号】P 2020529261
(86)(22)【出願日】2018-11-28
(86)【国際出願番号】 US2018062927
(87)【国際公開番号】W WO2019108709
(87)【国際公開日】2019-06-06
【審査請求日】2020-07-27
(32)【優先日】2017-11-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511122503
【氏名又は名称】ティー-モバイル ユーエスエイ インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100196612
【氏名又は名称】鎌田 慎也
(72)【発明者】
【氏名】タッピン ジョン
(72)【発明者】
【氏名】アミン ラーフル
(72)【発明者】
【氏名】シャヒン サミーフ
(72)【発明者】
【氏名】ムルンディック セナド
【審査官】羽岡 さやか
(56)【参考文献】
【文献】米国特許出願公開第2015/0381493(US,A1)
【文献】特開2016-034117(JP,A)
【文献】特開2017-050832(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/02
H04L 45/42
(57)【特許請求の範囲】
【請求項1】
ボーダーゲートウェイプロトコル(BGP)を利用するインターネットプロトコル(IP)ネットワーク内で実行される方法であって、
ルート注入サーバにおいて、前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップと、
前記ルート注入サーバから前記IPネットワークの前記1又は2以上のノードに、前記特定のIPルートを識別する情報を含むUPDATEメッセージを送信するステップと、
前記UPDATEメッセージを受け取ることに応答して、そのノードに関連するルーティングテーブル内に特定のネクストホップアドレスが存在するという特定のルート注入基準を満たす前記1又は2以上のノードの各ノードにおいて、
前記ノードに関連するルーティングテーブルに前記特定のIPルートを導入するステップと、
前記導入されたIPルートを前記IPネットワークの他のノードに広告するステップと、
前記ルート注入サーバにおいて、前記特定のIPルートを関連するルーティングテーブルに導入した前記ノードのうちの少なくとも1つから、前記広告されたIPルートのインジケーションを受け取るステップと、
前記広告されたIPルートの前記インジケーションを受け取ることに応答して、前記ルート注入サーバから、前記ルート注入サーバに前記要求を送信した前記エンティティに通知を送信するステップと、
を含み、
前記通知は、前記広告されたIPルートが前記IPネットワークの前記1又は2以上のノードに正常に注入されたことを示す、
方法。
【請求項2】
前記1又は2以上のノードの各ノードにおいて、前記ノードに関連する前記ルーティングテーブルに前記特定のIPルートを導入するステップは、
前記ノードの前記関連するルーティングテーブルのネクストホップエントリが、前記UPDATEメッセージ内のネットワーク層到達性情報(NLRI)に一致する直接的にアタッチ又は接続されたネットワークを含む場合、前記ノードが、前記ネクストホップエントリを変更することなく、前記関連するルーティングテーブルに前記NLRIを導入することと、
前記ノードの前記関連するルーティングテーブルのネクストホップエントリが、1又は2以上のノードからIPルートを取り消すように構成されたUPDATEメッセージの前記NLRIに一致する場合、前記ノードが、前記関連するルーティングテーブルから前記NLRIを削除することと、
を含む、請求項1に記載の方法。
【請求項3】
前記IPネットワークの前記1又は2以上のノードは、IPルーティングネットワーク内のBGPピアを含む、請求項1に記載の方法。
【請求項4】
ルート注入サーバにおいて、前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップは、前記IPネットワーク内のアプリケーションのルーティングを設定するために前記特定のIPルートを注入するための前記要求を送信する内部運用管理(OAM)要求者から前記要求を受け取るステップを含む、請求項1に記載の方法。
【請求項5】
ルート注入サーバにおいて、前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップは、前記IPネットワーク上でローミングを行っている前記エンティティに関連するモバイル装置のルーティング経路を動的に変更するために前記エンティティの外部サーバから前記要求を受け取るステップを含む、請求項1に記載の方法。
【請求項6】
前記IPネットワークは、BGPルーティングされるネットワークであり、前記方法は、前記ルート注入サーバを、前記BGPルーティングされるネットワークの制御プレーン又はアプリケーション層内のBGPピアとして設定するステップを更に含む、請求項1に記載の方法。
【請求項7】
前記特定のIPルートを識別する情報を含むUPDATEメッセージを送信するステップは、前記特定のIPルートを前記IPネットワークの前記1又は2以上のノードに広告するステップを含む、請求項1に記載の方法。
【請求項8】
非一時的コンピュータ可読媒体であって、
前記非一時的コンピュータ可読媒体のコンテンツは、ボーダーゲートウェイプロトコル(BGP)を利用するインターネットプロトコル(IP)ネットワークに関連するコンピュータシステムによって実行されたときに、該コンピュータシステムに方法を実行させ、該方法は、
前記コンピュータシステム内のルート注入サーバにおいて、前記コンピュータシステム内の前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップと、
前記ルート注入サーバにおいて、前記1又は2以上のノードに、前記特定のIPルートを識別する情報を含むUPDATEメッセージを送信するステップと、
前記UPDATEメッセージを受け取ることに応答して、そのノードに関連するルーティングテーブル内に特定のネクストホップアドレスが存在するという特定のルート注入基準を満たす前記1又は2以上のノードの各ノードにおいて、
前記ノードに関連するルーティングテーブルに前記特定のIPルートを導入するステップと、
前記導入されたIPルートを前記IPネットワークの他のノードに広告するステップと、
前記ルート注入サーバにおいて、前記特定のIPルートを関連するルーティングテーブルに導入した前記ノードのうちの少なくとも1つから、前記広告されたIPルートのインジケーションを受け取るステップと、
前記ルート注入サーバにおいて、前記広告されたIPルートの前記インジケーションを受け取ることに応答して、前記ルート注入サーバに前記要求を送信した前記エンティティに通知を送信するステップと、
を含み、
前記通知は、前記広告されたIPルートが前記IPネットワークの前記1又は2以上のノードに正常に注入されたことを示す、
非一時的コンピュータ可読媒体。
【請求項9】
前記1又は2以上のノードの各ノードにおいて、前記ノードに関連する前記ルーティングテーブルに前記特定のIPルートを導入するステップは、
前記ノードの前記関連するルーティングテーブルのネクストホップエントリが、前記UPDATEメッセージ内のネットワーク層到達性情報(NLRI)に一致する直接的にアタッチ又は接続されたネットワークを含む場合、前記ノードが、前記ネクストホップエントリを変更することなく、前記関連するルーティングテーブルに前記NLRIを導入することと、
前記ノードの前記関連するルーティングテーブルのネクストホップエントリが、1又は2以上のノードからIPルートを取り消すように構成されたUPDATEメッセージの前記NLRIに一致する場合、前記ノードが、前記関連するルーティングテーブルから前記NLRIを削除することと、
を含む、請求項
8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記IPネットワークの前記1又は2以上のノードは、IPルーティングネットワーク内のBGPピアを含む、請求項
8に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップは、前記IPネットワーク内のアプリケーションのルーティングを設定するために前記特定のIPルートを注入するための前記要求を送信する内部運用管理(OAM)要求者から前記要求を受け取るステップを含む、請求項
8に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求をエンティティから受け取るステップは、前記IPネットワーク上でローミングを行っている前記エンティティに関連するモバイル装置のルーティング経路を動的に変更するために前記エンティティの外部サーバから前記要求を受け取るステップを含む、請求項
8に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記IPネットワークは、BGPルーティングされるネットワークであり、前記方法は、
ルート注入サーバを、前記BGPルーティングされるネットワークの制御プレーン又はアプリケーション層内のBGPピアとして設定するステップと、
前記ルート注入サーバから前記BGPルーティングされるネットワークの前記1又は2以上のノードに前記UPDATEメッセージを送信するステップと、
を含み、
前記UPDATEメッセージは、前記特定のIPルートを識別するネットワーク層到達性情報(NLRI)を含む、
請求項
8に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
インターネットプロトコル(IP)ネットワークは、IPネットワークの制御プレーン上で通信する様々なルーティングプロトコルを利用して、IPネットワークのノード(例えば、ルータ)間におけるデータプレーン内のデータパケットの転送を容易にするルーティングテーブルの作成及び維持を行う。
【0002】
ボーダーゲートウェイプロトコル(BGP)ルーティングプロトコルは、IPネットワーク上で最も広く展開されているルーティングプロトコルの1つである。BGPは、iBGP(内部BGP)の形態で組織内で内部的に使用されるとともに、eBGP(外部BGP)の形態で異なるサービスプロバイダ間でルーティング情報を伝達する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
BGP及びその他のルーティングプロトコルには、ネットワークにIPルートを注入することに関連する様々な固有の欠点がある。多くの場合、IPルートは、一定の条件が満たされた時に注入される。例えば、BGP対応ノードは、ネットワークなどのCLI(コマンドラインインターフェイス)コマンド及び/又はRedistribution(再配布)コマンドを使用してIPルートを広告(advertise)し、或いはルート集約コマンド(Aggregating route commands)を利用する。しかしながら、ノードがルートを広告するには、いくつかの同期技術以外に、ノードのルーティングテーブルが既にルートを含んでいるべきであり、及び/又はノードがピアノード(例えば、近隣ノード)からルートを学習する必要がある。このような要件は、ネットワークへのIPルートの注入を制限し、ネットワーク内におけるIPアドレスのモビリティを妨害又は阻止する。
【0004】
IPネットワークのための現在の又は従来のIPアドレスモビリティ技術に関しては、これらの及びその他の欠点が存在する。
【課題を解決するための手段】
【0005】
添付図面を使用して本技術の実施形態の説明及び解説を行う。
【図面の簡単な説明】
【0006】
【
図1】IPネットワークにルートを注入するための好適なネットワーク環境を示すブロック図である。
【
図2A】IPネットワークにルートを注入するために利用するメッセージパケット例を示す図である。
【
図2B】IPネットワークにルートを注入するために利用するメッセージパケット例を示す図である。
【
図2C】IPネットワークにルートを注入するために利用するメッセージパケット例を示す図である。
【
図2D】IPネットワークにルートを注入するために利用するメッセージパケット例を示す図である。
【
図3】IPネットワークに動的にルートを注入する方法を示すフロー図である。
【発明を実施するための形態】
【0007】
図面は、必ずしも縮尺通りではない。同様に、本技術の実施形態の一部を説明する目的で、いくつかのコンポーネント及び/又は動作を異なるブロックに分離し、又は単一のブロックに組み合わせることもできる。さらに、本技術は、様々な修正形態及び代替形態が可能であるが、図面には特定の実施形態を一例として示し、以下ではこれらについて詳細に説明する。しかしながら、説明する特定の実施形態に本技術を限定する意図はない。むしろ、本技術は、添付の特許請求の範囲によって定められる本技術の範囲に含まれる全ての修正物、同等物及び代替物を対象とするように意図される。
【0008】
概要
本明細書では、インターネットプロトコル(IP)ネットワークに遠隔的かつ動的にルートを注入するシステム及び方法について説明する。いくつかの実施形態では、システム及び方法が、IPネットワークとのピアノード又は近隣ノードとしてのルート注入サーバを提供する。その後、システム及び方法は、ルート注入サーバ(route injection server)(例えば、遠隔的かつ動的ルート注入サーバ、すなわちRDRIS)を利用して、IPネットワーク内の他のノードにIPルートを広告する。例えば、RDRISは、IPネットワークの他のノードにIPルートを広告するために、ボーダーゲートウェイプロトコル(BGP)などを介してIPネットワーク内の他のノードにUPDATEメッセージを送信することができる。
【0009】
BGPなどのルーティングプロトコルは、本質的に動的かつ適応的である。しかしながら、本明細書で説明するように、ネットワーク内のIPモビリティに関連するルールは、ネットワークのノードがそのルーティングテーブルにルートを導入して(install)、導入されたルートをその後に広告することを制限する。システム及び方法は、(例えば、IPネットワーク内の様々なノードにおける)IPネットワークへの遠隔的かつ動的なルートの注入を可能にするために、ネットワークとのピアとして設定できるRDRISを介してこのようなルールを迂回又は回避する。
【0010】
例えば、RDRISは、BGPネットワークの1又は2以上のピアノードに特定のIPルートを注入するための要求を受け取るように構成された要求コンポーネント又はモジュールと、特定のIPルートを識別する情報を含むUPDATEメッセージをネットワークのピアノードに送信するように構成された送信コンポーネントとを含むことができる。
【0011】
従って、システム及び方法は、あらゆるルーティングプロトコルと共に利用できるとともに、様々なアプリケーションのためのIPルートをネットワークに注入するために利用することができる。さらに、システム及び方法は、物理的インフラIP構成の分離、及びそのインフラがホストするアプリケーションからのプロビジョニングを容易にする。また、システム及び方法は、遠隔的なルートの注入を行う際に、数ある利点の中でも特に、IMS(インターネットマルチメディアシステム)などの様々なアーキテクチャ標準を迂回することによって、アプリケーションのモビリティ及びその他の機能(例えば、SIP UEエンドポイントを使用するVOIP)を発展させることができる。
【0012】
以下の説明では、本技術の実施形態の完全な理解をもたらすために、説明を目的として数多くの具体的な詳細を示す。しかしながら、本技術の実施形態は、これらの具体的な詳細のいくつかを伴わずに実施できることが明らかであろう。
【0013】
好適なネットワーク環境の例
本明細書で説明するように、いくつかの実施形態では、システム及び方法が、BGPルーティングプロトコルを利用するIPネットワークなどのIPネットワーク内のIPアドレスモビリティを支援及び/又は提供する。
図1は、IPネットワークにルートを注入するための好適なネットワーク環境100を示すブロック図である。
【0014】
ネットワーク環境100は、IPネットワーク内のピア又は近隣ノードなどのノードとして設定できる遠隔的かつ動的ルート注入サーバ(RDRIS)などのルート注入サーバ110を含む。ルート注入サーバ110は、BGPルーティングされるネットワーク(BGP routed network)140の制御プレーン(control plane)内又はアプリケーション層内のeBGPピア/近隣として機能し、従来のBGPルート広告ルールを迂回して、BGPルーティングされるIPネットワーク内で特定の又は指定の要求されたルートを広告することができる。例えば、ルート注入サーバ110に対していずれかの特定のBGPルート広告ルール変更が行われる。この変更は、ネットワーク140の他のノード150に影響を与えないことができる。
【0015】
いくつかの実施形態では、tBGPルート導入ルール変更(tBGP route installation rules changes)がBGPプロトコルレベルで行われることにより、ネットワーク110内でBGPを実行するノード150の一部又は全部に変更が伝播する。例えば、BGPルート導入ルールの変更は、(他にルートを有していない)BGPノード150がその関連するルーティングテーブルにルートを導入することを可能にする。本明細書で詳細に説明するように、ノード150は、ルート注入サーバ110からネットワーク140に送信されるBGP UPDATEメッセージ160を介してルート情報を受け取る。
【0016】
いくつかの事例では、ネットワーク140が、メッシュiBGPピアリング、ルートリフレクタ及び/又はその他の利用可能なBGP機能を使用するiBGPネットワークであることにより、BGP UPDATEメッセージが、ネットワーク140の1つ1つのノード150に広告を行って伝播する。
【0017】
本明細書で説明するように、ルート注入サーバ110は、ネットワーク140の他のノード150にIPルートを広告するネットワーク140のピアノードとして構成及び/又は設定される(provisioned)。サーバ110は、いずれかのBGPルーティングされるノードと同様のUPDATEメッセージ160を送信する。しかしながら、サーバ110は、メッセージ160の「ネクストホップ(Next Hop)」フィールドを操作、修正又は変更する。例えば、サーバ110は、BGPプロトコルがBGP UPDATEメッセージを作成してピアノード150に送信することを可能にする。その後、ルート注入サーバ110は、注入すべきIPルートをノード150に提供し、従ってネットワーク140へのルートの動的ルーティング注入(dynamic routing injection)を反映するように、メッセージ160のネクストホップフィールドを修正する。
【0018】
ルート注入サーバ110は、内部運用管理(Internal Operation and Management)(OAM)エンティティ130及び/又は外部企業120を含む様々なエンティティから、1又は複数の指定の又は特定のルートを注入するための要求を受け取ることができる。
【0019】
OAMエンティティ130は、これらのネットワークインフラ上で展開されるウェブサーバ、モビリティサーバ及びその他のサービスなどの様々なアプリケーションのルーティングを設定したいと望むチーム(例えば、企業Aのチーム)を含むことができる。例えば、OAMチームは、ノードA6の背後のウェブサーバ142上に2つのIPv4サブネットプール(例えば、172.16.1.0/24及び172.16.2.0/24)を設定したいと望むことができる。ノードA6を接続するウェブサーバリンクIPは、10.0.0.1である。OAM130は、ルート注入サーバ110にルート注入要求を送信する。サーバ110は、企業AのBGPネットワーク140にUPDATEメッセージ150を送出又は送信する。
【0020】
図2Aに、UPDATEメッセージ例200を示す。メッセージ200は、IPノードA6のウェブサーバリンク情報、すなわち「10.0.0.1(10.0.0.1)」を含むネクストホップフィールド210を含む様々なフィールドを含む。
【0021】
再び
図1を参照すると、外部企業120(例えば、企業B)の外部サーバ125は、モバイル顧客の一部が企業Aのネットワーク140上でローミングを行っている時に、企業Aが提供するネットワーク140に関するモバイル装置148のルーティング経路(routing path)を動的に変更したいと望む。しかしながら、企業Bは、モバイル装置のIPアドレスも、企業Bが提供するあらゆる新規アドレスも維持したいと望む。
【0022】
これを行うために、遠隔外部サーバ125は、現在企業Aのネットワーク140へのルーティングを行いたいと望んでいる企業Bによって割り当てられたIPアドレスである2001:db81:1::/64及び2001:db8:1:2::/64を2001:db8::1にルーティングするための要求をルート注入サーバ110に送信する。企業Bには、モバイル装置148に到達する経路が2001:db8::1というLast Hop(最終ホップ)IPアドレスを有していることしか分からない。外部サーバ125には、企業Aの内部ネットワークについての知識はないが、ルート注入サーバ110は、ネットワーク140内のデータトラフィックを、外部サーバ125によって要求された通りにルーティングすることができる。例えば、ルート注入サーバ110は、企業AのBGPネットワーク140にIPv6のためのBGP UPDATEメッセージ160パケットキャプチャを送信して、要求されたルートをネットワーク140に注入する。
【0023】
図2Bに、UPDATEメッセージ例220を示す。メッセージ220は、「2001:db8::1(16)」というLast Hop IPアドレスを含むネクストホップフィールド230を含む様々なフィールドを含む。BGP UPDATEメッセージ220は、BGPプロトコルを実行しているネットワーク140内のノード150を往来する。
【0024】
各ノードは、BGP UPDATEメッセージを調べ、特定の基準を満たすノードが、関連するルーティングテーブルにルートを導入してルートを広告し始める。例えば、モビリティサーバ148の直前のノードA3は、要求されたIPv6ルートを企業Bの要求通りに導入して広告する。当然ながら、SMSサーバ146に関連するノードなどのネットワーク140内の他のノードは、その関連するルーティングテーブルに注入ルートを導入して広告することができる。
【0025】
従って、いくつかの実施形態では、ルート注入サーバ110が、ネットワーク140内の様々なノード150(例えば、ノードA3及び/又はノードA6)へのルートの注入を容易にする。
【0026】
図1及び本明細書における説明は、ルートの注入を実行できる好適なコンピュータ環境100の簡潔な概要を提供するものである。必須ではないが、システム及び方法の態様については、例えばモバイル装置、サーバコンピュータ又はパーソナルコンピュータなどの汎用コンピュータによって実行されるルーチンなどのコンピュータ実行可能命令の一般的状況で説明する。システムは、インターネット機器、(タブレットコンピュータ及び/又は携帯情報端末(PDA)を含む)ハンドヘルド装置、全ての方式のセルラー又は携帯電話機、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラム可能な消費者電子機器、セットトップボックス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他の通信、データ処理又はコンピュータシステム構成によって実施することもできる。実際に、本明細書では、「コンピュータ」、「ホスト」及び「ホストコンピュータ」、並びに「モバイル装置」及び「ハンドセット」という用語を一般に同義的に使用しており、これらの用語は、上記の装置及びシステムのいずれか、並びにいずれかのデータプロセッサを意味する。
【0027】
システムの態様は、本明細書で詳細に説明するコンピュータ実行可能命令のうちの1つ又は2つ以上を実行するように特異的にプログラム、構成又は構築された専用コンピュータ装置又はデータプロセッサにおいて具体化することができる。システムの態様は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)又はインターネットなどの通信ネットワークを通じてリンクされた遠隔処理装置によってタスク又はモジュールが実行される分散コンピュータ環境において実施することもできる。分散コンピュータ環境では、局所及び遠隔の両方のメモリ記憶装置にプログラムモジュールが存在することができる。
【0028】
システムの態様は、磁気的又は光学的に読み取り可能なコンピュータディスク、ハードワイヤードチップ又は予めプログラムされたチップ(例えば、EEPROM半導体チップ)、ナノテクノロジーメモリ、又はその他のデータ記憶媒体を含むコンピュータ可読媒体(物理的及び/又は有形の非一時的コンピュータ可読記憶媒体)に記憶又は分散することができる。実際に、システムの態様に従うコンピュータ実装命令、データ構造、画面表示及びその他のデータは、インターネット又は(無線ネットワークを含む)他のネットワークを介して伝播媒体上の伝播信号(例えば、(単複の)電磁波、音波など)上に一定期間にわたって分散させることも、或いはいずれかのアナログ又はデジタルネットワーク(パケット交換型、回路交換型、又は他のスキーム)上に提供することもできる。システムは、一部がサーバコンピュータに存在する一方で、対応する部分がモバイル又はポータブル装置などのクライアントコンピュータに存在し、従って、本明細書ではいくつかのハードウェアプラットフォームについて説明しているが、本発明のシステムの態様は、ネットワーク上のノードにも等しく適用可能である。別の実施形態では、モバイル装置又はポータブル装置がサーバ部分を表し、サーバがクライアント部分を表すこともできる。
【0029】
いくつかの事例では、通信ネットワーク140を、様々なネットワーク間の通信を容易にするゲートウェイを介して相互接続された1又は2以上のボーダーネットワーク、ボイスネットワーク、ブロードバンドネットワーク、サービスプロバイダネットワーク、インターネットサービスプロバイダ(ISP)ネットワーク、及び/又は公衆交換電話網(PSTN)などの複数のネットワーク、さらには複数の異種ネットワークで構成することができる。通信ネットワーク140は、グローバル・システム・フォー・モバイル(GSM)移動通信ネットワークなどの第三者機関通信ネットワーク、符号/時間分割多元接続(CDMA/TDMA)移動通信ネットワーク、第3又は第4世代(3G/4G)移動通信ネットワーク(例えば、ジェネラルパケットラジオサービス(GPRS/EGPRS))、GSM進化型高速データレート(EDGE)、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)、又はロング・ターム・エボリューション(LTE)ネットワーク)、5G移動通信ネットワーク、IEEE802.11(WiFi)、又はその他の通信ネットワークを含むことができる。従って、ユーザ装置は、データを受信及び/又は送信するために複数の周波数帯で動作し、これらの周波数帯間で切り替わるように構成される。
【0030】
IPネットワークに遠隔的かつ動的にルートを注入する例
本明細書で説明するように、システム及び方法は、IPネットワーク内でBGPルーティングプロトコル又はその他の同様のプロトコルによってサポートされるルートなどのルートの遠隔的かつ動的注入を容易にする。ルート注入サーバ110は、IPネットワーク内のピアノードとして構成、提供、実装又は配置することができる。
【0031】
ルート注入サーバ110は、ソフトウェア(例えば、実行可能命令又はコンピュータコード)とハードウェア(例えば、少なくともメモリ及びプロセッサ)との組み合わせで実装される機能モジュール又はコンポーネントを含むことができる。従って、本明細書で使用するいくつかの例では、モジュールが、プロセッサ実装モジュール又は一連のコードであり、本明細書で説明する特定の機能のうちの1つ又は2つ以上を実行するための、メモリに記憶された実行可能命令によって少なくとも一時的に構成及び/又はプログラムされるプロセッサを有するコンピュータ装置を表す。
【0032】
従って、サーバ110は、BGPネットワーク140の1又は2以上のピアノードに特定のIPルートを注入するための要求を受け取るように構成された要求コンポーネント又はモジュールと、ネットワーク140のピアノード150への特定のIPルートを識別する情報を含むUPDATEメッセージ(例えば、メッセージ160)を送信するように構成された送信コンポーネント又はモジュールとを含むシステムを提供することができる。
【0033】
システム及び方法は、IPネットワークにルートを注入するための様々な動作、方法又はプロセスを実行する。
図3は、IPネットワークに動的にルートを注入する方法300を示すフロー図である。方法300は、ルート注入サーバ110及び/又は1又は2以上のノード150が実行することができ、従って本明細書ではこれらのみを参照して説明する。方法300は、IPネットワークのいずれかの好適なハードウェア又はコンポーネント上で実行することができると理解されるであろう。
【0034】
動作310において、RDRISなどのルート注入サーバ110が、IPネットワークの1又は2以上のノードに特定のIPルートを注入するための要求を受け取る。例えば、サーバ110は、IPネットワーク140上でローミングを行っているエンティティに関連するモバイル装置148のルーティング経路を動的に変更するために、IPネットワーク内の及び/又は企業120の外部サーバ125からのアプリケーションのルーティングを設定するために特定のIPルートを注入するための要求を送信する内部運用管理(OAM)130要求者から要求を受け取ることができる。
【0035】
いくつかの実施形態では、システム及び方法が、ルートを注入するためのいずれかの要求を受け取る前に、ルート注入サーバ110を、BGPルーティングされるネットワーク140の制御プレーン又はアプリケーション層内のBGPピア又は近隣として設定する。従って、サーバ110は、ネットワーク140内のピアノードとして機能又は動作する。
【0036】
動作320において、サーバ110は、IPネットワークの1又は2以上のノードに、特定のIPルートを識別する情報を含むUPDATEメッセージを送信する。例えば、サーバ110は、特定のIPルートの注入を容易にするために、及び/又はIPネットワーク140の1又は2以上のノード150への特定のIPルートの広告を容易にするために、修正されたネクストホップフィールドを有するUPDATEメッセージ160を送信する。
【0037】
動作330において、ルート注入サーバ110に要求を送信したエンティティによって定められた特定のルート注入基準(route injection criteria)を満たすネットワーク140のノード150の各ノード(例えば、ノードA3又はノードA6)が、そのノードに関連するルーティングテーブルに特定のIPルートを導入し、動作340において、導入されたIPルートをIPネットワーク140の他のノード150に広告する。
【0038】
例えば、ノードの関連するルーティングテーブルのネクストホップエントリが、UPDATEメッセージ内のネットワーク層到達性情報(network layer reachability information)(NLRI)に一致する直接的にアタッチされた(attached)又は接続された(connected)ネットワークを含む場合、ノードは、ネクストホップエントリを変更することなく、関連するルーティングテーブルにNLRIを導入する。一方で、ノードの関連するルーティングテーブルのネクストホップエントリが、1又は2以上のノードからIPルートを取り消すように構成されたUPDATEメッセージのNLRIに一致する場合、ノードは、関連するルーティングテーブルからNLRIを削除する。
【0039】
本明細書で説明するように、BGP UPDATEメッセージ160は、1又は2以上のノード150などの、BGPルーティングされるIPネットワークに参加するノードに対するルートの広告及び取り消しを行うために使用される。このようなRDRI機能の変更は、特定のBGPノードがBGP UPDATEメッセージ160から学習したルートを導入する方法を容易にする。ノードは、ルーティングテーブルにルートを導入する際に、本明細書で説明するような様々な技術を取り入れることができる。
【0040】
例えば、ノードがIPルートを導入する際には、ルーティングテーブルのネクストホップ IPに基づいてNLRIがルーティングされ転送される。
図2Cに、UPDATEメッセージ例240を示す。メッセージ240は、「10.0.0.1(10.0.0.1)」を含むネクストホップフィールド250を含む、IPv4及びIPv6の両方の様々なフィールドに関する詳細を含む。
【0041】
図示のように、ノードA6がその接続先ネットワーク(attached network)の一部として10.0.0.1を有し、IPがいずれかのルーティングプロトコルを使用する旨をそのネットワーク内の他のノードに広告している場合、ノードA6は、10.0.0.1をネクストホップアドレスとするそのルーティングテーブルに(サーバ110及び他のBGPピアから発見された)172.16.1.0/24及び172.16.2.0/24というルートを導入する。その後、ノードA6は、修正されたネクストホップフィールド250に含まれる10.0.0.1リンクを介して、172.16.1.0/24及び172.16.2.0/24宛てのデータトラフィックをルーティング又は転送する。
【0042】
図2Dに、別のUPDATEメッセージ例260を示す。メッセージ260は、「2001:db8::1(16)」を含むネクストホップフィールド270を含む両方のIPv6の様々なフィールドに関する詳細を含む。ノードA3がその接続先ネットワークの一部として2001:db8::1を有し、IPがいずれかのルーティングプロトコルを使用する旨をそのネットワーク内の他のノードに広告している場合、ノードA6は、2001:db8::1をネクストホップアドレスとするそのルーティングテーブルに(サーバ110及び他のBGPピアから発見された)2001:db8:1:1::/64及び2001:db8:1:2::/64というルートを導入する。その後、ノードA3は、修正されたネクストホップフィールド270に含まれる2001:db8::1リンクを介して、2001:db8:1:1::/64及び2001:db8:1:2::/64宛てのデータトラフィックをルーティング又は転送する。
【0043】
これとは逆に、いくつかの事例では、受け取られた「ルートを取り消すための更新メッセージ」におけるネクストホップアドレスがノードのルーティングテーブル内に存在する場合、ノードは、そのルーティングテーブルからこのNLRIを削除してこのルートの広告を停止する。
【0044】
再び
図3を参照すると、動作350において、ルート注入サーバ110は、関連するルーティングテーブルに特定のIPルートを導入したノードのうちの少なくとも1つのノードから、広告されたIPルートのインジケーション(indication)を受け取る。例えば、サーバ110は、注入された同じルートのためのルート広告をノードA3から受け取って、ルートの広告を停止する。
【0045】
いくつかの事例では、対象のノードがサーバ110よりも良好なメトリックを有するルートの広告を開始すると、サーバ110は、この特定のルートの広告を停止する。一方で、サーバ110は、特定の構成可能タイマの満了後に、より良好なメトリックを有する広告されたルートを受け取らなかった場合、サブネット又はルートをルーティングできるノードが存在しないと判断し、やはりこのサブネット又はルートの広告を停止する(さらにアラート又はアラームを生成する)ことができる。
【0046】
従って、サーバ110は、ネットワーク140にルートが正常に注入されたと判断し、動作360において、要求側エンティティにルートの注入に関する通知を行う。例えば、サーバ110は、ルート注入サーバに要求を送信したエンティティ(例えばOAM130)に、広告されたIPルートがIPネットワーク140の1又は2以上のノード150に正常に注入された旨を示す通知を送信する。
【0047】
従って、本明細書で説明するように、システム及び方法は、RDRISなどのルート注入サーバ110を、BGPルーティングされるネットワークの制御プレーン又はアプリケーション層内のBGPピアとして設定し、ネットワークに注入すべき特定のIPルートを識別するネットワーク層到達性情報(NLRI)を含むUPDATEメッセージをルート注入サーバからIPネットワークの1又は2以上のノードに送信する。従って、システム及び方法は、数ある利点の中でも特に、ネットワークのノードへの動的ルート注入を介してネットワークに遠隔的かつ動的アドレスモビリティを提供する。
【0048】
結び
本明細書及び特許請求の範囲全体を通じ、「備える、含む(comprise、comprising)」などの用語は、文脈上明らかに他の意味を必要としない限り、排他的又は網羅的な意味の対語である包括的な意味で、すなわち「~を含むけれどもそれに限定されない(including,but not limited to)」という意味で解釈されたい。本明細書で使用する「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変化形は、2又は3以上の要素間の直接的又は間接的な接続又は結合を意味し、要素間の接続又は結合は、物理的なもの、論理的なもの、又はこれらの組み合わせとすることができる。また、「本明細書において(herein)」、「上記で(above)」、「以下で(below)」という単語、及び同様の趣旨の単語は、本出願において使用する場合、全体としての本出願を意味し、本出願のいずれか特定の部分を意味するものではない。状況によっては、上記の詳細な説明における単数形又は複数形を使用した単語が、それぞれ複数又は単数を含むこともある。2又は3以上の項目のリストに関する「又は(or)」という単語は、リスト内の項目のいずれか、リスト内の項目全て、及びリスト内の項目のいずれかの組み合わせという単語の解釈を全てカバーする。
【0049】
本明細書で使用する、閾値を上回るということは、比較される項目の値が他の特定の値を上回り、比較される項目が最大値を有するいくつかの特定数の項目内に存在し、又は比較される項目が特定の上位百分率値内の値を有することを意味する。本明細書で使用する、閾値を下回るということは、比較される項目の値が他の特定の値を下回り、比較される項目が最小値を有するいくつかの特定数の項目内に存在し、又は比較される項目が特定の下位百分率値内の値を有することを意味する。本明細書で使用する、閾値内であるということは、比較される項目の値が他の2つの特定の値間に存在し、比較される項目が中間の特定数の項目内に存在し、又は比較される項目が中間の特定の百分率範囲内の値を有することを意味する。
【0050】
上記の本技術の実施例についての詳細な説明は網羅的なものではなく、或いは本技術を上記で開示した正確な形態に限定するものでもない。上記では、例示を目的として本技術の具体例について説明しているが、本技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックを所与の順序で示しているが、別の実装では、ステップを有するルーチンを異なる順序で実行し、又は異なる順序のブロックを有するシステムを使用することもでき、いくつかのプロセス又はブロックを削除、移動、追加、細分化、結合及び/又は修正して代替例又は下位結合を提供することもできる。これらのプロセス又はブロックの各々は、様々な異なる方法で実行することができる。また、プロセス又はブロックを連続して実行されるように示していることもあるが、代わりにこれらのプロセス又はブロックを並行に、又は異なる時点で実行又は実施することもできる。さらに、本明細書に示すあらゆる特定の数字は一例にすぎず、別の実装では異なる値又は範囲を使用することもできる。
【0051】
本明細書に示す本技術の教示は、必ずしも上述したシステムではなく他のシステムに適用することもできる。上述した様々な実施例の要素及び行為を組み合わせて、本技術のさらなる実装を提供することもできる。本技術のいくつかの別の実装は、上述した実装への追加要素だけでなく、さらに少ない要素を含むこともできる。
【0052】
本技術には、上記の詳細な説明に照らしてこれらの及びその他の変更を行うことができる。上記の説明では、本技術のいくつかの実施例について説明し、想定される最良の形態について説明しているが、これらが本文中でいかに詳述されているように見えても、本技術は多くの方法で実施することができる。システムの詳細は、その具体的な実装が大幅に異なることもあるが、それでもなお本明細書で開示する技術に含まれる。上述したように、本技術のいくつかの特徴又は態様を説明する際に使用した特定の用語については、その用語に関連する本技術のいずれかの特定の特性、特徴又は態様に制約されるように本明細書で再定義されていることを暗示するものとして捉えるべきではない。一般に、以下の特許請求の範囲で使用する用語は、上記の詳細な説明の部分で明確に定義していない限り、本明細書で開示する特定の実施例に本技術を限定するものとして解釈すべきではない。従って、本技術の実際の範囲は、開示した実施例のみならず、特許請求の範囲に基づく本技術の全ての同等の実施又は実装方法も含む。
【0053】
以下では、請求項の数を抑えるために、本技術のいくつかの態様をいくつかの請求項形態で示すが、出願人は、本技術の様々な態様をあらゆる数の請求項形態で企図する。例えば、本技術の1つの態様のみをコンピュータ可読媒体の請求項として記載しているが、他の態様も同様にコンピュータ可読媒体の請求項として、又はミーンズ・プラス・ファンクションの請求項において具体化されるような他の形で具体化することができる。米国特許法第112条(f)に基づいて扱われることを想定した請求項は、いずれも「~のための手段(means for)」という単語で始まるが、他のあらゆる文脈における「~のための(for)」という用語の使用は、米国特許法第112条(f)の下での扱いを行使することを意図するものではない。従って、本出願人は、本出願の出願後にさらなる請求項を追求して、本出願又は継続出願のいずれかにおいてこのようなさらなる請求項形態を追求する権利を有する。