(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6562466
(24)【登録日】2019年8月2日
(45)【発行日】2019年8月21日
(54)【発明の名称】冗長コントローラに対するルーティングプロトコルのプロキシ
(51)【国際特許分類】
H04L 12/713 20130101AFI20190808BHJP
H04L 12/717 20130101ALI20190808BHJP
【FI】
H04L12/713
H04L12/717
【請求項の数】12
【全頁数】19
(21)【出願番号】特願2016-560540(P2016-560540)
(86)(22)【出願日】2015年4月2日
(65)【公表番号】特表2017-511069(P2017-511069A)
(43)【公表日】2017年4月13日
(86)【国際出願番号】US2015024157
(87)【国際公開番号】WO2015157096
(87)【国際公開日】20151015
【審査請求日】2018年3月30日
(31)【優先権主張番号】14/250,141
(32)【優先日】2014年4月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508140877
【氏名又は名称】レベル スリー コミュニケーションズ,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】セラ、ウィリアム、トーマス
(72)【発明者】
【氏名】セラ、ジェイムス、マイケル
【審査官】
松崎 孝大
(56)【参考文献】
【文献】
特開2010−199800(JP,A)
【文献】
米国特許出願公開第2008/0062986(US,A1)
【文献】
米国特許出願公開第2008/0151755(US,A1)
【文献】
米国特許出願公開第2014/0003227(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/713
H04L 12/717
(57)【特許請求の範囲】
【請求項1】
別々の制御デバイスおよび複数の転送デバイスを有するネットワークとルーティングデータを交換する方法であって、
(a)転送デバイスおよび第1制御デバイスの間で第1の到達可能性情報セッションを確立し、前記転送デバイスおよび第2制御デバイスの間で第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、段階と、
(b)前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す前記複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、段階と、
(c)前記第1の到達可能性情報セッションを介して前記第1制御デバイスからの第1の提供情報を前記転送デバイスで受信する段階であって、前記第1の提供情報は、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む、段階と、
(d)前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で前記複数の提供情報を交換する段階と、
(e)前記複数の転送デバイスのそれぞれに対し、前記第1制御デバイスおよび前記第2制御デバイスにより、前記到達可能性情報セッションを介して取得されるネットワークトポロジーの認識に応じて前記複数の転送デバイスのそれぞれの中のルーティングテーブルを設定する段階と、
(f)前記複数の転送デバイスのそれぞれで、宛先アドレスに対する前記ルーティングテーブルまたはデータのラベルにより指定される前記複数の転送デバイスのそれぞれの出力ポートに前記データを転送する段階と、
(g)前記第2の到達可能性情報セッションを介して前記第2制御デバイスからの第2提供情報を前記転送デバイスで受信する段階であって、前記第2提供情報は前記到達可能性情報を含む段階と、
(h)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、前記第2提供情報を破棄する段階と、
を備え、
前記交換する段階(d)は、
前記到達可能性情報が前記外部ルーティングデバイスに既に提供されているかを前記転送デバイスで判断する段階と、
前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、(c)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定する段階と
を有する、方法。
【請求項2】
(i)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスからの提供情報を前記転送デバイスで受信する段階であって、前記提供情報は、前記外部ルーティングデバイスが情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む段階と、
(j)前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(iにおいて受信された前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する段階と
をさらに備える、請求項1に記載の方法。
【請求項3】
前記到達可能性情報を送信する前記段階は、前記到達可能性情報が前記外部ルーティングデバイスにまだ提供されていないと判断された場合に発生する、請求項1に記載の方法。
【請求項4】
前記第2制御デバイスが非アクティブ化された場合に前記転送デバイスが前記第1の到達可能性情報を介してデータをどのように転送するべきかを前記第1制御デバイスが指定し続けるように、前記第1および第2制御デバイスは冗長性を提供する、請求項1から3の何れか1項に記載の方法。
【請求項5】
第1、第2および第3の到達可能性情報セッションはボーダーゲートウェイプロトコル制御セッションである、請求項1から4の何れか1項に記載の方法。
【請求項6】
第1、第2および第3の到達可能性情報セッションは開放型最短経路優先セッションまたは中間システム間連携セッションである、請求項1から5の何れか1項に記載の方法。
【請求項7】
別々の制御デバイスおよび複数の転送デバイスを有するネットワークとルーティングデータを交換するシステムであって、
それぞれが、宛先アドレスに対する個別のルーティングテーブルまたはデータのラベルにより指定される転送デバイスの出力ポートに前記データを転送する複数の転送デバイスであって、前記個別のルーティングテーブルは、第1制御デバイスおよび第2制御デバイスにより、ネットワークトポロジーの認識に応じて設定される、複数の転送デバイスと、
前記転送デバイス、ならびに、前記第1および第2制御デバイスの間でそれぞれ第1および第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、制御セッションモジュールと、
前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、前記第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す前記複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、外部セッションモジュールと、
前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で前記複数の提供情報を交換する交換モジュールと
を備え、
前記交換モジュールは、
(i)前記第1制御デバイスからの第1の提供情報であって、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む前記第1の提供情報を、前記第1の到達可能性情報セッションを介して前記転送デバイスで受信し、
(ii)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されているかを前記転送デバイスで判断し、
(iii)前記到達可能性情報が前記外部ルーティングデバイスにまだ提供されていないと判断された場合に、(i)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定し、
(iv)前記第2制御デバイスからの第2提供情報であって、前記到達可能性情報を含む前記第2提供情報を、前記第2の到達可能性情報セッションを介して前記転送デバイスで受信し、
(v)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、前記第2提供情報を破棄する
ように構成される、システム。
【請求項8】
前記交換モジュールは、
(i)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスから提供情報であって、前記外部ルーティングデバイスが前記転送デバイスから受信した情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む提供情報を受信し、
(ii)前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(i)において受信した前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する、請求項7に記載のシステム。
【請求項9】
前記第2制御デバイスが非アクティブ化された場合に前記転送デバイスが前記第1の到達可能性情報を介してデータをどのように転送するべきかを前記第1制御デバイスが指定し続けるように、前記第1および第2制御デバイスは冗長性を提供する、請求項7または8に記載のシステム。
【請求項10】
第1、第2および第3の到達可能性情報セッションはボーダーゲートウェイプロトコル制御セッション、開放型最短経路優先セッション、または、中間システム間連携セッションである、請求項7から9の何れか1項に記載のシステム。
【請求項11】
別々の制御デバイスおよび複数の転送デバイスを有するネットワークとルーティングデータを交換する方法を少なくとも1つの機械に実行させるプログラムであって、当該方法は、
(a)転送デバイスおよび第1制御デバイスの間で第1の到達可能性情報セッションを確立し、前記転送デバイスおよび第2制御デバイスの間で第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、段階と、
(b)前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、前記第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す前記複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、段階と、
(c)前記第1制御デバイスからの第1の提供情報を、前記第1の到達可能性情報セッションを介して前記転送デバイスで受信する段階であって、前記第1の提供情報は、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む、段階と、
(d)前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で前記複数の提供情報を交換する段階と、
(e)前記複数の転送デバイスのそれぞれに対し、前記第1制御デバイスおよび前記第2制御デバイスにより、前記到達可能性情報セッションを介して取得されるネットワークトポロジーの認識に応じて前記複数の転送デバイスのそれぞれの中のルーティングテーブルを設定する段階と、
(f)宛先アドレスに対する前記ルーティングテーブルまたはデータのラベルにより指定される前記複数の転送デバイスのそれぞれの出力ポートに前記データを転送する段階と、
(g)前記第2の到達可能性情報セッションを介して前記第2制御デバイスからの第2提供情報を前記転送デバイスで受信する段階であって、前記第2提供情報は前記到達可能性情報を含む段階と、
(h)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、前記第2提供情報を破棄する段階と
を備え、
前記交換する段階(d)は、
前記到達可能性情報が前記外部ルーティングデバイスに既に提供されているかを前記転送デバイスで判断する段階と、
前記到達可能性情報が前記外部ルーティングデバイスにまだ提供されていないと判断された場合に、段階(c)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定する段階と
を有する、プログラム。
【請求項12】
前記方法は、
(i)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスからの提供情報を前記転送デバイスで受信する段階であって、前記提供情報は、前記外部ルーティングデバイスが情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む段階と、
(j)前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(i)において受信された前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する段階と、
を備える、請求項11に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は概してネットワークルーティングに関する。
【背景技術】
【0002】
通信ネットワークは、例えば、2つの地理的に離れた場所の間でデータを転送することを可能にするネットワーク接続を提供し得る。ネットワーク接続は、ルータなどの通信デバイスを接続する複数のリンクに及び得る。通信デバイスを介してリンクがどのように相互接続されるかに応じて、ネットワークは異なるトポロジを有し得る。特定のネットワークトポロジにおいて、送信元と宛先との間で、複数の経路が利用可能な場合がある。現在の容量および利用状況に応じて、いくつかの経路は、他の経路より好ましいことがあり得る。
【0003】
従来のルーティングのアルゴリズムは、各ルータが有する、その隣接するリンクおよびデバイスからのローカル情報を利用して、データをルーティングし得る。ルータはそのような情報をルーティングテーブルに保持する。ルーティングテーブルは様々な宛先アドレスまたは複数の宛先アドレス群に対するネクストホップを指定する複数のエントリを有する。受信パケットの宛先アドレスに基づいて、ルータはそのルーティングテーブルを使用してパケットを特定の隣接デバイスに転送する。ルーティングテーブルを構築するべく、各ルータは、ボーダーゲートウェイプロトコル(BGP)と同様のプロトコルを使用してルーティングおよび到達可能性情報を複数のローカル隣接ルータと交換する。このように、各ルータは、パケットを転送し、かつ、制御機能を実行して自身のルーティングテーブルを更新する。
【0004】
ローカル情報の使用は、いくつかの状況では望ましいかもしれないが、常に効率的にデータをルーティングできるとは限らない。より効率的にデータをルーティングするべく、ソフトウェア定義ネットワーク(SDN)と呼ばれる他の技術は、制御機能と転送機能とを別個のデバイスに分離する。制御デバイスは、ネットワークトポロジの全体的な知識を使用して、個別のデータフローに対し転送デバイスのネットワークを通るパスを決定する。このように、ルーティング制御デバイスは、例えば、遅延を最小化するか帯域幅を最大化するパスを、ネットワークを通して確立し得る。
【発明の概要】
【0005】
実施形態において、方法は、別々のデバイス上での制御および転送を含んでネットワーク内でルーティングデータを交換する。この方法において、第1の到達可能性情報セッションが転送デバイスおよび第1制御デバイスの間で確立され、第2の到達可能性情報セッションが転送デバイスおよび第2制御デバイスの間で確立される。第1および第2の到達可能性情報セッションは、ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの第1および第2制御デバイスが送信することを可能にする。また、第3の到達可能性情報セッションが転送デバイスおよび外部ルーティングデバイスの間で確立される。第3の到達可能性情報セッションは、複数の提供情報を転送デバイスが外部ルーティングデバイスと交換することを可能にし、提供情報は、それぞれの転送および外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す。最後に、第1および第2制御デバイスが外部ルーティングデバイスにとって単一デバイスに見えるように、複数の提供情報が第1および第2の到達可能性情報セッション、ならびに、第3の到達可能性情報セッションの間で交換される。
【0006】
システムの実施形態およびコンピュータプログラム製品の実施形態がまた開示される。
【0007】
本発明の更なる実施形態、特徴、および利点、ならびに、各種実施形態の構造および動作が、複数の添付図面を参照して以下に詳細に説明される。
【図面の簡単な説明】
【0008】
本明細書に組み込まれ、本明細書の一部を形成する複数の添付図面は本開示を図示し、説明と合わせて、本開示の複数の原理を説明し、当業者が本開示を作成および使用することを可能にするのに更に役立つ。
【0009】
【
図1A】複数の転送デバイスとは別個の複数の冗長制御デバイスを備えるネットワークのダイアグラムである。
【0010】
【
図1B】外部ネットワークに対して複数の制御デバイスをマスクするローカル終端モジュールを備えるネットワークのダイアグラムである。
【0011】
【
図2A】
図1のシステムの動作例を図示するダイアグラムである。
【
図2B】
図1のシステムの動作例を図示するダイアグラムである。
【0012】
【
図3】一実施形態に係る冗長コントローラのマスキング方法のフローチャートである。
【0013】
【
図4】
図1のシステムをより詳細に示すダイアグラムである。
【0014】
概して、ある要素が最初に現われる図面は、対応する参照番号の左端の1または複数の桁の数字で示される。図面において、同様の参照番号は、同一の、または機能的に同様の要素を示してよい。
【発明を実施するための形態】
【0015】
上述のように、複数の転送デバイスとは別個に制御デバイスを備えることは、ルーティング決定を、サービスプロバイダネットワーク上でよりインテリジェントなルーティング決定を可能にさせ得る。しかし、単一の制御デバイスを備えることは、1つの破損点を生成する。その制御デバイスが破損すると、複数の転送デバイス上の複数のルーティングテーブルの何れに対しても更新が行われ得ない。これに対処するべく、複数の実施形態は複数の冗長制御デバイスを備える。
【0016】
しかし、サービスプロバイダネットワーク上に複数の制御デバイスを備えることは、ユーザにとって設定を困難にし得る。特に、顧客は、顧客のネットワーク上の顧客のルータを、複数の異なる制御デバイスから到達可能性情報を受けるよう設定しなくてはならないかもしれない。これは、それぞれ複数の顧客ルータに到達可能性情報を提供する複数のボーダーゲートウェイプロトコル(BGP)セッションなどの多数の到達可能性情報セッションを用いて動作するよう、顧客の複数のルータを設定することを伴い得る。この設定は困難であるかもしれない。また、顧客ネットワークに対する多数の到達可能性情報セッションを持つことは、追加のトラフィックの送信を必要とし、複数の顧客ルータ上での追加処理のオーバヘッドを伴うかもしれない。例示的な目的で複数の顧客ネットワークおよび顧客の複数のルーティングデバイスに関して複数の態様が説明されるが、複数の実施形態が任意の外部ネットワーク、つまり、サービスプロバイダネットワークの外部の任意のネットワークに適合することを当業者は認識するだろう。
【0017】
複数の制御デバイスのこれらの問題に対処するべく、複数の実施形態は、サービスプロバイダネットワークのエッジにおける転送デバイス上に追加モジュールを設ける。サービスプロバイダネットワークは顧客ネットワークとインタフェースする。このモジュールは、複数の制御デバイスの存在をマスクすることで、単一の制御デバイスのみが用いられているように顧客に見せる。
【0018】
具体的には、モジュールは、サービスプロバイダネットワークにおける複数の顧客ルータおよび各制御デバイスと、BGPセッションなどの複数の到達可能性情報セッションを確立する。モジュールは、顧客設備の到達可能性情報セッションおよび制御デバイスの到達可能性情報セッションから取得される、ルーティング提供情報(route advertisement)などのルーティングデータを交換する。モジュールは、顧客設備からルーティング提供情報を受信する場合、それを複数の制御デバイスのそれぞれに転送する。また、複数の制御デバイスが複数のルーティング提供情報をブロードキャストする場合、モジュールは、最初に受信されたもののみを顧客のルーティング設備に転送する。添付図面に関連してこれらおよび他の複数の実施形態が以下で説明される。
【0019】
図1Aは、複数の転送デバイスとは別個の複数の冗長制御デバイスを備えるシステム100のダイアグラムである。
【0020】
システム100は、サービスプロバイダネットワーク120および顧客ネットワーク130を備える。サービスプロバイダネットワーク120は、少なくとも2つの地理的に離れた位置を接続するメトロポリタンエリアネットワーク(MAN)またはワイドエリアネットワーク(WAN)であってよい。一方、顧客ネットワーク130は、例えば、1つのエンティティまたはビルディング内の異なるコンピュータを接続するローカルエリアネットワークであってよい。
【0021】
サービスプロバイダネットワーク120は、複数の転送デバイス:転送デバイス106、108および110を有する。各転送デバイスは、複数のポートを有し、1つのポートから別のポートへデータのパケットを転送し得る。データを転送すべく、各転送デバイスはルーティングテーブルを有してよく、そのルーティングテーブル内の情報に従って情報を転送し得る。具体的には、ルーティングテーブルは、特定の複数のアドレスまたは複数のサブネットを特定の複数の出力ポートにマッピングし得る。転送デバイスがデータのパケットを受信する場合、転送デバイスはパケットの宛先アドレスを検査してルーティングテーブルにおけるエントリを特定する。パケットの宛先アドレスの検査に加えて、転送デバイスは、マルチプロトコルラベルスイッチング(MPLS)ラベルなどの、パケットに関連付けられた任意のラベルを検査してルーティングテーブルにおけるエントリを特定する。ルーティングテーブルにおけるそのエントリは、転送デバイス上のどのポートにパケットを転送するかを指定する。
【0022】
それら自身のルーティングテーブルを設定する代わりに、本明細書で開示されるようなソフトウェア定義ネットワークでは、転送デバイスのルーティングテーブルは制御デバイスにより設定される。
図1Aは、2つの制御デバイス:制御デバイス102および104を図示する。制御デバイス102および104のそれぞれは、それらのルーティングテーブルを設定するべく、転送デバイス106、108および110に情報を送信し得る。制御デバイス102および104は、特定のデータフローから特定のパスに沿ってデータをルーティングするためのルーティングテーブルを設定し得る。
【0023】
複数の実施形態において、制御デバイス102および104は冗長であってよい。各制御デバイスは、サービスプロバイダネットワーク120のトポロジについての同一の、またはミラーイメージの情報を有してよく、また、互いに独立して、サービスプロバイダネットワーク120を通じた同一のパスを決定することができてよい。冗長であることにより、複数の制御デバイスの1つがダウンした場合に、他の制御デバイスがサービスプロバイダネットワーク120上の全ての転送デバイスを設定し続け得る。
図1Aでは実例のために2つの制御デバイスのみが示されているが、当業者は、追加の制御デバイスが使用され得、追加の制御デバイスを追加することがシステム100に追加の冗長性を追加することを認識するだろう。
【0024】
サービスプロバイダネットワーク120における複数の転送デバイスのルーティングテーブルを設定することに加えて、制御デバイス102および104のそれぞれは、顧客ネットワーク130上の少なくとも1つのデバイスとそれぞれの到達可能性情報セッション120および122を確立し得る。複数の到達可能性情報セッションは、サービスプロバイダネットワーク120、および、顧客ネットワーク130上の複数のデバイスの間でルーティングおよび到達可能性情報を交換し得る。ボーダーゲートウェイプロトコル(BGP)は共通タイプの到達可能性情報セッションプロトコルであるが、例えば開放型最短経路優先(OSPF)および中間システム間連携(ISIS)など、他のタイプの到達可能性情報セッションプロトコルが使用されてよい。
【0025】
制御デバイス102および104は、それぞれ到達可能性情報セッション120および122を介して顧客ネットワーク130から受信される情報を使用して、グローバルネットワークトポロジについてのそれらの認識を発展させてよい。例えば、顧客ネットワーク130は、それが特定セットの宛先アドレス(例えばIPアドレスサブネット)を含むか、これに到達し得ることを、到達可能性情報セッション120および122を介して制御デバイス102および104に通知してよい。この情報に基づいて、制御デバイス102および104は、それらのそれぞれの、グローバルネットワークトポロジのモデルを更新してよい。また制御デバイス102および104は、更新された情報を使用して転送デバイス106−110のためのルーティングテーブルを決定してよい。
【0026】
顧客ネットワーク130上のルーティングデバイスは、それらのルーティングテーブルを設定するべく、到達可能性情報セッション120および122を介して受信した情報も使用してよい。顧客ネットワーク130は、サービスプロバイダネットワーク120と同様に、別個の制御および転送デバイスを備えてよく、または、顧客ネットワーク130は、ともにデータを転送し、かつ、それら自身のルーティングテーブルを制御および計算するルータおよびスイッチを備えてよい。いずれにしても、顧客ネットワーク130上のルーティングデバイスは、それらのルーティングテーブルを設定するべく、到達可能性情報セッション120および122から受信した到達可能性情報を使用する。それらは、サービスプロバイダネットワーク120を介して到達可能なアドレスに向けたデータがサービスプロバイダネットワーク120に転送されうるように、それらのルーティングテーブルを設定する。
【0027】
このように複数の制御デバイスを有することは、冗長性を加え得る。しかし、多数の到達可能性情報セッション120および122を持つことは、顧客ネットワーク130上の複数のデバイスを設定することの顧客の負担を増加させ得る。具体的に、顧客はその複数のデバイスが到達可能性情報セッション120および122の両方を用いて動作するよう設定しなくてはならないかもしれない。サービスプロバイダネットワーク120に不慣れであり得る顧客ネットワーク130の管理者にとって、この設定は面倒であり得る。この問題に対処すべく、複数の実施形態は、
図1Bに図示されるように、異なる制御デバイス102および104からのデータを集約して顧客ネットワーク130との1つの到達可能性情報セッションを促進する。
【0028】
図1Bは、顧客ネットワークに対して複数の制御デバイスをマスクするローカル終端モジュール170を備えるシステム150を図示する。
図1Aのシステム100と同様に、システム150は、顧客のルーティングデバイス180を有する顧客ネットワーク130と、順に2つの制御デバイス(102および104)および3つの転送デバイス(106、108、110)を有するサービスプロバイダネットワーク120とを備える。
【0029】
いくつかの転送デバイスはサービスプロバイダネットワーク120のエッジに存在し、このことは、それらが直接、外部ネットワークに接続することを意味する。実施形態によれば、ローカル終端モジュールを有するのはこれらのエッジ転送デバイスである。システム150において、転送デバイス108は顧客ネットワーク130と接続するので、エッジ転送デバイスである。従って、転送デバイス108はローカル終端モジュール170を含む。
【0030】
ローカル終端モジュール170は外部ネットワークと到達可能性情報セッションを確立し、外部ネットワークの転送デバイスはサービスプロバイダネットワーク120上の各制御デバイスに/と接続される。ここで、ローカル終端モジュール170は、顧客ネットワーク130と到達可能性情報セッション164を、制御デバイス102および104と到達可能性情報セッション160および162を、それぞれ確立する。ローカル終端モジュール170は、それらの間でメッセージを交換する到達可能性情報セッションのプロキシとしてふるまう。
【0031】
特に、ローカル終端モジュール170は、顧客のルーティングデバイス180に対して複数の制御デバイス102および104が単一デバイスに見えるようにするべく、到達可能性情報セッション160、162および164の間でメッセージを交換する。例えば、ローカル終端モジュール170は到達可能性情報セッション164を介して顧客のルーティングデバイス180から提供情報を受信し得る。提供情報は到達可能性情報を含んでよく、到達可能性情報は、サービスプロバイダネットワーク120から受信した情報を顧客のルーティングデバイス180がどの複数のアドレスに転送し得るかを示してよい。ローカル終端モジュール170は、提供情報を受信した場合、在中の到達可能性情報を、到達可能性情報セッション160および162を介して制御デバイス102および104に送信する。到達可能性情報を使用して、制御デバイス102および104は、それらのネットワークトポロジの認識を更新してよい。また制御デバイス102および104は、更新されたネットワークトポロジを使用して、到達可能性情報におけるこれらのアドレスに関して転送デバイス106、108および110のためのルーティングテーブルを決定する。具体的に、制御デバイス102および104は、顧客ネットワーク130内のアドレスに向けられ顧客ネットワーク130から到達可能なデータを顧客ネットワーク130の方向にルーティングするべく、ルーティングテーブルにエントリを追加してよい。次に、制御デバイス102および104は、更新されたルーティングテーブルを転送デバイス106、108および110に送信し、転送デバイス106、108および110が顧客ネットワーク130にデータをルーティングすることを可能とする。
【0032】
ローカル終端モジュール170は、制御デバイス102および104の両方と到達可能性情報セッション160および162を持つので、両方から到達可能性情報を受信する。また制御デバイス102および104は冗長であり潜在的に互いのミラーイメージであるので、制御デバイス102および104から受信される情報は重複性であろう。重複性の情報が受信される場合、ローカル終端モジュール170は、最初に受信された情報についての転送のみを行ってよい。到達可能性情報が以前に送信されているかを判断すべく、ローカル終端モジュール170は、到達可能性情報またはその識別情報、例えばハッシュを格納してよい。ローカル終端モジュール170は、制御デバイスから到達可能性情報を受信する場合、到達可能性情報が顧客のルーティングデバイスに以前に転送されているかを判断するべくストレージをチェックしてよい。次に、チェックに応じて、ローカル終端モジュール170は情報を転送してよい。
【0033】
動作例において、ローカル終端モジュール170は、到達可能性情報セッション160を介して制御デバイス102から提供情報を受信し得る。提供情報は、多数のエントリを順に含んだ到達可能性情報を含んでよい。各エントリは、サービスプロバイダネットワーク120を介して到達可能な複数の宛先アドレスを複数のネクストホップアドレスに対してマッピングしてよい。ローカル終端モジュール170が提供情報を受信する場合、ローカル終端モジュール170はそのローカルストレージをチェックして、それが既に送信されているかを判断してよい。それが既に送信されている場合、ローカル終端モジュール170は何もしない。それがまだ送信されていない場合、ローカル終端モジュール170はデータを顧客のルーティングデバイス180に転送してよい。
【0034】
図2A−Bは、システム200を示したダイアグラムであり、到達可能性情報が1つのネットワークから別のネットワークへどのように伝搬されるかを説明する。システム150の複数のコンポーネントに加えて、システム200は、ルーティングデバイス204を有する顧客ネットワーク230を備える。ルーティングデバイス204は、転送デバイス110においてサービスプロバイダネットワークに接続される。システム200において、エッジ転送デバイスである転送デバイス110は、ローカル終端モジュール220を有する。
【0035】
図2Aに図示されるように、顧客ネットワーク130は20.0.0.0/24のアドレス空間を有する。これは、その空間内の複数のIPアドレスを割り当てられており、そのため、最初の3バイトが20.0.0を表すIPアドレスにアドレス指定された任意のパケットは顧客ネットワーク130ルーティングされるべきである。同様に、顧客ネットワーク230は30.0.0.0/24のアドレス空間を有する。これもそれらの複数のIPアドレスを割り当てられており、そのため、最初の3バイトが30.0.0を表すIPアドレスにアドレス指定された任意のパケットは顧客ネットワーク230にルーティングされるべきである。
【0036】
顧客ネットワーク130のルーティングデバイス180は、転送デバイス108に接続される場合、提供情報メッセージ210を送信する。提供情報メッセージ210は、20.0.0.0/24のサブネットが顧客のルーティングデバイス180を介してアドレス指定可能であることを示す到達可能性情報を含む。
【0037】
転送デバイス108は提供情報メッセージ210を受信してその到達可能性情報を2つの別個のルーティングメッセージ(それぞれ制御デバイス102および104に対するルーティングメッセージ212および214)内で両方の制御デバイスに転送する。制御デバイス102および104は、メッセージ212および214内の到達可能性情報に従って、それらのグローバルネットワークトポロジのモデルを更新する。
図1Bに関して上述されたように、それは、20.0.0.0/24にアドレス指定されたトラフィックを顧客のルーティングデバイス180にルーティングするべく、この情報を使用して転送デバイス106、108および110のルーティングテーブルを更新する。
図2Bに図示されるように、サービスプロバイダネットワーク上の複数のデバイスのルーティングテーブルを更新することに加えて、制御デバイス102および104はまた、他の外部ネットワークにルーティング提供情報を送信してよい。
【0038】
図2Bは、制御デバイス102および104がどのように到達可能性情報を顧客ネットワーク230に通知するかを図示する。上述したように、複数の制御デバイス104はそれぞれ、転送デバイス108においてサービスプロバイダネットワークに接続された顧客ネットワーク130を介して20.0.0.0/24が到達可能であるという事実を反映するべく、それらのグローバルネットワークトポロジのモデルを更新する。
図2Bにおいて、制御デバイス102および104は、20.0.0.0/24がサービスプロバイダネットワークを介して到達可能であることを顧客ネットワーク230に通知する。
【0039】
制御デバイス102および104は、ともにそれらのトポロジモデルを更新しており、それぞれの提供情報260および262を転送デバイス110と、そのローカル終端モジュール230とにそれぞれ送信する。提供情報260および262は、サブネット20.0.0.0/24内の複数の宛先アドレスがサービスプロバイダネットワーク、そして具体的には転送デバイス110を介して到達可能であることを示す到達可能性情報を含む。到達可能性情報は、転送デバイス110のIPアドレスとして、20.0.0.0/24に到達するためのネクストホップIPアドレスを有してよい。
【0040】
提供情報260が転送デバイス110に始めに到達すると仮定する。ローカル終端モジュール230は、到達可能性情報または到達可能性情報のハッシュをローカルストレージに格納して、到達可能性情報を提供情報264内で顧客のルーティングデバイス204に送信する。提供情報264に基づいて、顧客のルーティングデバイス204は、到達可能性情報に従ってそのルーティングテーブルを設定する。例えば、顧客のルーティングデバイス204は、サブネット20.0.0.0/24にアドレス指定されたトラフィックを転送デバイス110にルーティングするべく、そのルーティングテーブルを設定してよい。
【0041】
提供情報262が転送デバイス110に到達する場合、ローカル終端モジュール230は提供情報262の到達可能性情報とローカルストレージを比較する。ローカル終端モジュール230は、提供情報262の到達可能性情報がローカルストレージに格納されていると判断する。従って、ローカル終端モジュール230は到達可能性情報を顧客ネットワーク230に転送しない。
【0042】
図3は、一実施形態に係る冗長コントローラのマスキング方法300のフローチャートである。
【0043】
方法300は、顧客のルーティングデバイスがエッジ転送デバイスと到達可能性情報セッションを確立する段階302で開始する。段階302は、顧客のルーティングデバイスおよびエッジ転送デバイスが互いに物理的に接続されていることをそれらが検出した場合に発生してよい。段階302で引き起こされる到達可能性情報セッションは、転送デバイスが顧客のルーティングデバイスと複数の提供情報を交換することを可能にする。顧客のルーティングデバイスからの複数の提供情報は、顧客ネットワーク上の顧客のルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示し得る。また転送デバイスからの複数の提供情報は、サービスプロバイダネットワーク上の転送デバイスを介してどの複数のアドレスが到達可能であるかを示し得る。
【0044】
段階302で一旦、顧客のルーティングデバイスが到達可能性情報セッションを確立すると、段階304において、エッジ転送デバイスは、サービスプロバイダネットワーク上の各制御デバイスと到達可能性情報セッションを確立する。これらの到達可能性情報セッションは、サービスプロバイダネットワークを介してどの複数のアドレスが転送デバイスに到達可能であるかを示す複数の提供情報をそれぞれの第1および第2制御デバイスが送信することを可能にする。
【0045】
一旦、到達可能性情報セッションが確立されると、複数のルーティングデバイスは到達可能性情報の交換を始める。決定ブロック312において、サービスプロバイダネットワークを介して新たなアドレスプレフィクスが利用可能であることを複数の制御デバイスが学習する場合、段階314において、複数の制御デバイスのそれぞれはプレフィクスをエッジ転送デバイスに通知する。次に、段階316において、エッジ転送デバイスは複数の提供情報の1つを顧客のルーティングデバイスに転送し、他を破棄する。段階314および316は、セッションが最初に確立されたときに全てのアクセス可能なプレフィクスを通信することを実行し得る。次に、
図3に図示されるように、段階314および316は、新たなプレフィクスがアクセス可能であることを制御デバイスが学習したときに、差分更新を実行し得る。
【0046】
同様に、決定ブロック306において、顧客ネットワークを介して新たなアドレスプレフィクスが利用可能であることを顧客のルーティングデバイスが学習した場合に、段階308において顧客のルーティングデバイスはエッジ転送デバイスにプレフィクスを通知する。次に、段階310においてエッジ転送デバイスは各制御デバイスに提供情報を転送する。段階308および310は、セッションが最初に確立されたときに全てのアクセス可能なプレフィクスを通信することを実行し得る。次に、
図3に図示されるように、段階308および310は、新たなプレフィクスがアクセス可能であることを顧客のルーティングデバイスが学習したときに、差分更新を実行し得る。
【0047】
図4は、システム400を示すダイアグラムであり、ローカル終端モジュール170のコンポーネントをより詳細に図示する。ローカル終端モジュール170は、3つのサブモジュール:制御セッションモジュール402、外部セッションモジュール404および交換モジュール406を備える。
【0048】
制御セッションモジュール402は、例えば段階302に関して上述したように、転送デバイス108、ならびに、制御デバイス102および104の間で到達可能性情報セッションを確立する。外部セッションモジュール404は、段階304に関し、転送デバイスおよび顧客のルーティングデバイスの間で到達可能性情報セッションを確立する。
【0049】
交換モジュール406は第1および第2制御デバイスが顧客のルーティングデバイスにとって単一デバイスに見えるように、第1および第2の到達可能性情報セッション、ならびに、第3の到達可能性情報セッションの間で複数の提供情報を交換する。交換モジュール406は、
図3の段階306−316に図示されたように、複数のメッセージを送信し得る。
【0050】
本明細書で開示された複数のデバイスおよび複数のモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装され得る。
【0051】
本明細書に開示された複数のデバイスおよび複数のモジュールのそれぞれは、同じまたは異なるコンピューティングデバイス上に実装され得る。そのような複数のコンピューティングデバイスは、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、組み込みシステム、ゲームコンソール、テレビ、セットトップボックス、または任意の他のコンピューティングデバイスを含み得るが、それらに限定されない。さらに、コンピューティングデバイスは、複数の命令を実行および格納するための、非一時的メモリを含む、プロセッサおよびメモリを有するデバイスを含み得るが、それに限定されない。メモリは、データおよびプログラム命令を有形に具体化してよい。ソフトウェアは、1または複数のアプリケーションおよび1つのオペレーティングシステムを含んでよい。ハードウェアは、プロセッサ、メモリ、およびグラフィカルユーザインタフェースディスプレイを含み得るが、それらに限定されない。コンピューティングデバイスはまた、複数のプロセッサと、複数の共有または別個のメモリコンポーネントとを有してよい。例えば、コンピューティングデバイスは、クラスタ化されたまたは分散型のコンピューティング環境またはサーバファームの一部または全体であってよい。
【0052】
「(a)」、「(b)」、「(i)」、「(ii)」等といった識別子が、異なる要素または段階のために使用されることがある。これらの識別子は、明確さのために使用されるのであって、必ずしも、要素または段階の順序を指定しているわけではない。
【0053】
本発明は、特定の複数の機能およびそれらの関係の実装を説明する複数の機能的構成単位を用いて上述されてきた。これらの機能的構成単位の境界は、説明を簡便にすべく本明細書において任意に画定された。特定の複数の機能およびそれらの関係が適切に実行される限り、代替の境界が画定され得る。
【0054】
具体的な実施形態についての前述の説明は、本発明の全般的性質を十分に明らかにしているので、他者は、本発明の全般的概念から逸脱することなく、過度の実験を行うことなく、当該技術分野の技術内の知識を適用して、そのような具体的な実施形態を様々な用途に向けて容易に変更および/または改作できる。したがって、そのような改作および変更は、本明細書において提示された教示および指導に基づいて、開示された実施形態の均等物の趣旨および範囲内であることが意図されている。本明細書における語句または用語は、説明のためのものであって、限定するためのものではなく、それにより、本明細書の用語または語句は、教示および指導に照らして当業者によって解釈されるべきものであることが理解されよう。
【0055】
本発明の広さおよび範囲は、上述の例示的実施形態の何れによっても限定されるべきではなく、以下の特許請求の範囲およびその均等物のみに従って定義されるべきである。
(項目1)
別々のデバイス上での制御および転送を含んでネットワークとルーティングデータを交換する方法であって、
(a)転送デバイスおよび第1制御デバイスの間で第1の到達可能性情報セッションを確立し、前記転送デバイスおよび第2制御デバイスの間で第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、段階と、
(b)前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、段階と、
(c)前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で複数の提供情報を交換する段階と、
を備える方法。
(項目2)
(d)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスからの提供情報を前記転送デバイスで受信する段階であって、前記提供情報は、前記外部ルーティングデバイスが情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む段階を更に備え、
前記交換する段階(c)は、前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(d)において受信された前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する段階を有する、項目1に記載の方法。
(項目3)
(d)前記第1の到達可能性情報セッションを介して前記第1制御デバイスからの第1の提供情報を前記転送デバイスで受信する段階であって、前記第1の提供情報は、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む段階を更に備え、
前記交換する段階(c)は、(d)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定する段階を有する、項目1または2に記載の方法。
(項目4)
(e)前記第2の到達可能性情報セッションを介して前記第2制御デバイスからの第2提供情報を前記転送デバイスで受信する段階であって、前記第2提供情報は前記到達可能性情報を含む段階と、
(f)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されているかを前記転送デバイスで判断する段階と、
を更に備え、
前記到達可能性情報を送信する前記段階は、(f)において前記到達可能性情報が前記外部ルーティングデバイスにまだ提供されていないと判断された場合に発生する、項目3に記載の方法。
(項目5)
(g)(f)において前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、前記第2提供情報を破棄する段階を更に備える、項目4に記載の方法。
(項目6)
前記第2制御デバイスが非アクティブ化された場合に前記転送デバイスが前記第1の到達可能性情報を介してデータをどのように転送するべきかを前記第1制御デバイスが指定し続けるように、前記第1および第2制御デバイスは冗長性を提供する、項目1から5の何れか1項に記載の方法。
(項目7)
第1、第2および第3の到達可能性情報セッションはボーダーゲートウェイプロトコル制御セッションである、項目1から6の何れか1項に記載の方法。
(項目8)
第1、第2および第3の到達可能性情報セッションは開放型最短経路優先セッションである、項目1から7の何れか1項に記載の方法。
(項目9)
第1、第2および第3の到達可能性情報セッションは中間システム間連携セッションである、項目1から8の何れか1項に記載の方法。
(項目10)
別々のデバイス上での制御および転送を含んでネットワークとルーティングデータを交換するシステムであって、
転送デバイス、ならびに、第1および第2制御デバイスの間でそれぞれ第1および第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、制御セッションモジュールと、
前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、外部セッションモジュールと、
前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で複数の提供情報を交換する交換モジュールと、
を備えるシステム。
(項目11)
前記交換モジュールは、
(i)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスから提供情報であって、前記外部ルーティングデバイスが前記転送デバイスから受信した情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む提供情報を受信し、
(ii)前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(i)において受信した前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する、項目10に記載のシステム。
(項目12)
前記交換モジュールは、
(i)前記第1制御デバイスからの第1の提供情報であって、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む前記第1の提供情報を、前記第1の到達可能性情報セッションを介して前記転送デバイスで受信し、
(ii)(i)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定する、項目10または11に記載のシステム。
(項目13)
前記交換モジュールは、更に、
(iii)前記第2制御デバイスからの第2提供情報であって、前記到達可能性情報を含む前記第2提供情報を、前記第2の到達可能性情報セッションを介して前記転送デバイスで受信し、
(iv)前記到達可能性情報が前記外部ルーティングデバイスに既に提供されているかを前記転送デバイスで判断し、
前記到達可能性情報を送信する前記(ii)は、(iv)において前記到達可能性情報が前記外部ルーティングデバイスにまだ提供されていないと判断された場合に発生する、項目12に記載のシステム。
(項目14)
(iv)において前記到達可能性情報が前記外部ルーティングデバイスに既に提供されていると判断された場合に、前記交換モジュールは、前記第2提供情報を破棄する、項目13に記載のシステム。
(項目15)
前記第2制御デバイスが非アクティブ化された場合に前記転送デバイスが前記第1の到達可能性情報を介してデータをどのように転送するべきかを前記第1制御デバイスが指定し続けるように、前記第1および第2制御デバイスは冗長性を提供する、項目10から14の何れか1項に記載のシステム。
(項目16)
第1、第2および第3の到達可能性情報セッションはボーダーゲートウェイプロトコル制御セッションである、項目10から15の何れか1項に記載のシステム。
(項目17)
第1、第2および第3の到達可能性情報セッションは開放型最短経路優先セッションである、項目10から16の何れか1項に記載のシステム。
(項目18)
第1、第2および第3の到達可能性情報セッションは中間システム間連携セッションである、項目10から17の何れか1項に記載のシステム。
(項目19)
別々のデバイス上での制御および転送を含んでネットワークとルーティングデータを交換する方法を少なくとも1つの機械に実行させるプログラムであって、当該方法は、
(a)転送デバイスおよび第1制御デバイスの間で第1の到達可能性情報セッションを確立し、前記転送デバイスおよび第2制御デバイスの間で第2の到達可能性情報セッションを確立することで、前記第1および第2の到達可能性情報セッションが前記ネットワークを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報をそれぞれの前記第1および第2制御デバイスが送信することを可能にする、段階と、
(b)前記転送デバイスおよび外部ルーティングデバイスの間で第3の到達可能性情報セッションを確立することで、第3の到達可能性情報セッションがそれぞれの前記転送デバイスおよび前記外部ルーティングデバイスを介してどの複数のアドレスが到達可能であるかを示す複数の提供情報を前記転送デバイスが前記外部ルーティングデバイスと交換することを可能にする、段階と、
(c)前記第1および第2制御デバイスが前記外部ルーティングデバイスにとって単一デバイスに見えるよう、前記転送デバイスにおいて前記第1および第2の到達可能性情報セッション、ならびに前記第3の到達可能性情報セッションの間で複数の提供情報を交換する段階と、
を備えるプログラム。
(項目20)
前記方法は、
(d)前記第3の到達可能性情報セッションを介して前記外部ルーティングデバイスからの提供情報を前記転送デバイスで受信する段階であって、前記提供情報は、前記外部ルーティングデバイスが情報をどの複数のアドレスに転送し得るかを示す到達可能性情報を含む段階を更に備え、
前記交換する段階(c)は、前記到達可能性情報内で示された前記複数のアドレスに前記転送デバイスがどのようにデータを転送するべきかを前記第1および第2制御デバイスがどのように指定するか、前記第1および第2制御デバイスが更新することを可能にすべく、(d)において受信された前記到達可能性情報を、前記第1および第2の到達可能性情報セッションを介して前記第1および第2制御デバイスに送信する段階を有する、項目19に記載のプログラム。
(項目21)
前記方法は、
(d)前記第1制御デバイスからの提供情報を、前記第1の到達可能性情報セッションを介して前記転送デバイスで受信する段階であって、前記提供情報は、複数の宛先アドレスを複数のネクストホップアドレスにマッピングする到達可能性情報を含む段階を更に備え、
前記交換する段階(c)は、(d)において受信された前記到達可能性情報を前記外部ルーティングデバイスに送信して、前記外部ルーティングデバイスが前記複数の宛先アドレスにデータをどのように転送するべきかを指定する段階を有する、項目19または20に記載のプログラム。