説明

ネットワークシステム

【課題】複数のトンネルを効率的に確立する。
【解決手段】要求メッセージに対する応答メッセージに対し、パケットが通過すべき複数の中継装置のアドレスが格納される。応答メッセージは、応答メッセージに中継装置アドレスが格納された中継装置の夫々によって受信されることができ、応答メッセージを受信した中継装置は、応答メッセージに格納された中継装置アドレスを用いてトンネルを確立し、トンネルの確立に用いた中継装置アドレスを応答メッセージから削除して、他の中継装置へ転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークシステムに関する。
【背景技術】
【0002】
インターネットバックボーンにおけるルータの経路数を削減する技術として、ID-Locator分離技術が検討されている。その代表的な例がIETF(The Internet Engineering Task Force)で標準化検討中のLISP(Locator ID Separation Protocol)である。図34 は、LISPの概要を説明する図である。
【0003】
LISPは、コア網1と、コア網1に接続される1以上のアクセス網(図34ではアクセス網2、3を例示)とを備える。コア網1は、アクセス網からのアクセス回線を収容する、エッジノードと呼ばれるルータを備える。図34の例では、アクセス網2におけるホスト4(ID#1)からのアクセス回線を収容するエッジノード5(LOC1)と、アクセス網3におけるホスト6(ID#2)からのアクセス回線を収容するエッジノード7(LOC2)とが例示されている。“ID”は、アクセス網で使用されるアドレス(IPアドレス)を示し、“LOC(Locator:Location address)”は、コア網におけるエッジ
ノードのアドレス(IPアドレス)を示す。
【0004】
LISPでは、アクセス網のアドレスと、コア網のアドレスとが分離して管理される。このため、LISPでは、アクセス網のアドレスとコア網のアドレスとの対応関係を管理する1以上の管理サーバが設けられる。図34では、エッジノード5に対応する管理サーバ8と、エッジノード7に対応する管理サーバ9とが設けられている。エッジノード5は、ホスト4のID(ID#1)とエッジノード5のLOC(LOC1)との対応関係を管理サーバ8に登録し(図34の<1>)、エッジノード7は、ホスト6のID(ID#2)とエッジノード7のLOC(LOC2)との対応関係を管理サーバ9に登録している。
【0005】
LISPの動作を、図34を用いて説明する。例えば、ホスト4がホスト6へデータを送信する場合の動作を例示する。ホスト4は、データにホスト6のアドレス(ホストID:ID#2)を含むヘッダが付与されたパケットをエッジノード5へ送信する。ホスト4からのパケットを受信したエッジノード5は、当該パケットの宛先のホストを収容するエッジノード(エッジノード7)とのトンネル構築を試行する。
【0006】
このとき、エッジノード5は、宛先であるホスト6を収容するエッジノード7のアドレス(LOC)を知らない場合には、対応する管理サーバ8に対して、宛先のコア網アドレス(LOC)を問い合わせるメッセージ(LOC要求)を送信する(図34の<3>)。LOC要求を受信した管理サーバ8は、LOC要求に含まれる宛先アドレス(ID#2)に対応するLOCを管理している管理サーバ9へLOC要求を転送する(図34の<4>)。LOC要求は、直接に、又は図34に示すような中継装置(例えばルータ)を介して制御プレーン(Cプレーン)上を転送され、管理サーバ9に到達する。LOC要求を受信した管理サーバ9は、管理サーバ9が管理している、宛先ホストID(ID#2)に対応するエッジノードのアドレス(LOC2)を含むメッセージ(LOC応答)を、LOC要求の送信元であるエッジノード5へ送信する(図34の<5>)。LOC応答を受信したエッジノード5は、エッジノード7との間でIPトンネルを確立する。続いて、エッジノード5は、ホスト4からのパケット(ユーザIPパケット)に宛先エッジノードアドレス(エッジノード7のアドレス(LOC2))を含むヘッダを付与することによってカプセル化パケット(LISPパケット)を生成する。LISPパケットはIPトンネルへ送出され、エッジノード7に到達する。エッジノード7は、LISPパケットからのヘッダの
除去(デカプセル化)を行い、得られたユーザIPパケットをホスト6へ転送する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−166089号公報
【非特許文献】
【0008】
【非特許文献1】Locator/ID Separation Protocol(LISP) draft-ietf-lisp-10, D. Farinacci, V. Fuller, D. Meyer, D. Lewis, cisco Systems, March 4, 2011
【非特許文献2】LISP-DHT: Towards a DHT to map identifiers onto locators, draft-mathy-lisp-dht-00, L. Mathy, Lancaster U, L. Iannone, O. Bonaventure, UCLouvain, February 25, 2008
【非特許文献3】Hierarchical Mobile IPv6 Mobility Management (HMIPv6), H. Soliman, Flarion, C. Castelluccia, INRIA, K. El Malki, Ericsson, L. Bellier, INRIA, August 2005
【発明の概要】
【発明が解決しようとする課題】
【0009】
LISPは、動的にトンネルを確立する、という第1の特徴と、ホストから送信されたパケットは変更されることなくトンネル上に転送される、という第2の特徴を有する。これらの特徴を生かしたホストの移動に対応する動作がIETF LISP WG(Working group)で検
討されている。
【0010】
ホストの移動に伴って、コア網の出口(egress)側のエッジノード(例えば、図34に示したエッジノード7)の変更が生じた場合には、新たな出口エッジノードと、他のエッジノード(例えば、入口エッジノード)との間でトンネルの再構築(LOC変更)が発生する。このようなLOC変更に係る遅延や、コア網内で生じる処理負荷は、できる限り小さくすることが好ましい。また、LOC変更に係る遅延や処理負荷の低減を図るために、複数のエッジノード間を結ぶ多段(複数段)トンネルが一括で確立可能な技術が求められる。
【0011】
本発明の一態様は、複数の中継装置間を結ぶ複数のトンネルを効率的に確立可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の一態様は、パケットを受信する第1中継装置と、前記パケットの宛先アドレスを有する端末と接続された第2中継装置とを含む複数の中継装置と、
前記第1中継装置を管理する第1管理装置と、前記第2中継装置を管理する第2管理装置とを含む、前記複数の中継装置を管理する複数の管理装置とを備え、
前記第1中継装置は、前記パケットの転送に用いる中継装置アドレスを解決するための、前記宛先アドレスを含む要求メッセージを前記第1管理装置へ送信し、
前記複数の管理装置は、前記要求メッセージが前記第1管理装置から前記第2管理装置へ到達するように、前記宛先アドレスに対応する転送情報に基づいて前記要求メッセージを転送するとともに、前記第1中継装置から前記第2中継装置へ到達する前記パケットが通過すべき1以上の中継装置の中継装置アドレスを前記要求メッセージに格納し、
前記第2管理装置は、前記要求メッセージに格納された複数の中継装置アドレスと、前記第2中継装置の中継装置アドレスを含む1以上の中継装置アドレスとが格納された応答メッセージを生成し、
前記応答メッセージに中継装置アドレスが格納された前記第2中継装置を除く中継装置の夫々は、前記応答メッセージを受信し、前記応答メッセージに格納された中継装置アド
レスを用いて、中継装置間の前記パケットの転送に使用されるトンネルを確立するとともに、少なくともトンネルの確立に用いた中継装置アドレスを前記応答メッセージから削除し、前記応答メッセージに残った1以上の中継装置アドレスの何れかへ前記応答メッセージを転送し、
前記応答メッセージを受信する前記第1中継装置は、前記応答メッセージに格納された中継装置アドレスを用いて自装置より1つ前に位置する中継装置との間でトンネルを確立し、
前記パケットは、前記第1中継装置、及び前記パケットが通過する中継装置の夫々からトンネルへ送出されるときに、宛先中継装置アドレスを含むヘッダを用いてカプセル化されるネットワークシステムである。
他の態様は、上記ネットワークシステムに係る管理装置、中継装置を含み得る。また、他の態様は、ネットワークシステム、管理装置、中継装置に係る方法や、管理装置や中継装置で実行されるプログラム、又はプログラムを記録した記録媒体を含み得る。
【発明の効果】
【0013】
本発明の一態様によれば、中継装置間を結ぶ複数のトンネルを効率的に確立することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明の第1実施形態に係るLISPネットワーク(ネットワークシステム)の構成例を示す。
【図2】図2は、図1に示したエッジノードとして適用可能なエッジノードのハードウェア構成例を示す。
【図3】図3は、図2に示したハードウェア構成を有するエッジノードによって実現される機能構成例を示す。
【図4】図4は、経路テーブルのデータ構造例を示す。
【図5】図5は、トンネル管理テーブルのデータ構造例を示す。
【図6】図6は、図1に示した各管理サーバとして適用される管理サーバのハードウェア構成例を示す。
【図7】図7は、図6に示した管理サーバのハードウェア構成によって実現される機能構成例を示す。
【図8】図8は、LOC管理サーバ情報テーブルのデータ構造例を示す。
【図9】図9は、ホストID−LOC管理テーブルのデータ構造例を示す。
【図10】図10は、図1に示したネットワークシステムの動作例の説明図である。
【図11】図11は、管理サーバ41が保持するLOC管理サーバ情報テーブルの登録内容例を示す。
【図12】図12は、管理サーバ42が保持するLOC管理サーバテーブルの登録内容例を示す。
【図13】図13は、管理サーバ43が保持するLOC管理サーバテーブルの登録内容例を示す。
【図14】図14は、管理サーバ42が保持するホストID−LOC管理テーブルの登録内容例を示す。
【図15】図15は、管理サーバ43が保持するホストID−LOC管理テーブルの登録内容例を示す。
【図16】図16は、管理サーバ44が保持するホストID−LOC管理テーブルの登録内容例を示す。
【図17】図17は、データパケットを受信したエッジノードの処理例を示すフローチャートである。
【図18】図18は、LOC要求を受信した管理サーバで実行される処理例を示すフローチャートである。
【図19】図19は、LOC応答を受信したエッジノードで実行される処理例を示すフローチャートである。
【図20】図20は、エッジノード27のトンネル管理テーブル67に登録されるエントリを示す。
【図21】図21は、エッジノード21,25,26,27の経路テーブルに登録されるエントリを示す。
【図22】図22は、エッジノード26のトンネル管理テーブル67に登録されるエントリを示す。
【図23】図23は、エッジノード25のトンネル管理テーブル67に登録されるエントリを示す。
【図24】図24は、エッジノード21のトンネル管理テーブル67に登録されるエントリを示す。
【図25】図25は、エッジノード27の経路テーブル66に登録されたエントリを示す。
【図26】図26は、エッジノード27のトンネル管理テーブル67に登録されたエントリを示す。
【図27】図27は、エッジノード21,25,26が夫々有する経路テーブル66のエントリを示す。
【図28】図28は、第1実施形態の参考図である。
【図29】図29は、第1実施形態の変形例2において管理サーバ42が保持するLOC管理サーバ情報テーブルを示す。
【図30】図30は、第1実施形態の変形例2において管理サーバ42が保持するホストID−LOC管理テーブルを示す。
【図31】図31は、第3実施形態における各管理サーバの処理例を示すフローチャートである。
【図32】図32は、第3実施形態におけるエッジノードの処理例を示すフローチャートである。
【図33】図33は、第4実施形態におけるネットワークシステムの例を示す。
【図34】図34は、LISPの説明図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
〔第1実施形態〕
<ネットワーク構成>
図1は、本発明の第1実施形態に係るLISPネットワーク(ネットワークシステム)の構成例を示す。LISPネットワークは、IPパケットをトンネリング(カプセリング)するネットワークの一例である。LISPでは、コア網10においてパケットを転送するためのトンネルが動的に確立される。
【0016】
図1に例示するネットワークシステムは、コア網10と、コア網10に収容される複数のアクセス網11,12,13,14を備えている。コア網10は、複数のエッジノードとして機能する複数のルータを備えている。図1には、エッジノード21〜29が例示されている。エッジノードは中継装置の一例である。エッジノード21〜29は、夫々、コア網10で使用されるエッジノードアドレス(IPアドレス)である、LOC1〜LOC9を有している。エッジノード21〜27は、複数の中継装置の一例である。
【0017】
エッジノード21は、アクセス網11に属するホスト31のアクセス回線を収容している。エッジノード21は、第1中継装置及び始点中継装置の一例である。エッジノード22は、アクセス網12に属するホスト32のアクセス回線を収容している。エッジノード
22は、第2中継装置及び終点中継装置の一例である。エッジノード23は、アクセス網13に属するホスト33のアクセス回線を収容している。エッジノード23は、第3中継装置の一例である。エッジノード27は、第4中継装置の一例である。エッジノード25〜27は、1以上の中間中継装置の一例である。
【0018】
ホスト31〜33の夫々は、アクセス網で使用されるIPアドレスである、ID#1(
ホストIP1),ID#2(ホストIP2),ID#3(ホストIP3)を夫々有してい
る。ホスト31〜33は、例えば、パーソナルコンピュータ(PC),PDA(Personal
Digital Assistant),スマートフォン,セルラーフォンのような、固定端末又は移動端末を含むことができる。アクセス回線は、有線であっても無線であっても良い。各ホスト31〜33は、端末の一例である。
【0019】
また、コア網10のエッジノード25は、エッジノード21に物理回線を介して接続される一方で、エッジノード26,28と物理回線を介して夫々接続されている。エッジノード26は、エッジノード27,29と物理回線を介して夫々接続されている。エッジノード27は、エッジノード22,23,24と物理回線を介して夫々接続されている。エッジノード28,29の夫々は、図示しないコア網10内の他のエッジノードと物理回線を介して接続されている。このように、図1に示す例では、エッジノード21が入口エッジノードであり、エッジノード25がルートであるツリー構造のトポロジが複数のエッジノード25〜29で形成されている。
【0020】
また、コア網10の制御プレーン(Cプレーン)上には、LOC(エッジノードの位置識別情報)とID(ホストのID)との対応関係が登録される1以上の管理サーバが配置される。図1に示す例では、管理サーバ41〜44が配置されている。管理サーバ41は、エッジノード21を管理し、エッジノード21のLOCとエッジノード21が収容する1以上のホスト(例えばホスト31)のIDとの対応関係を保持する。
【0021】
また、管理サーバ44は、エッジノード22のLOCとエッジノード22に収容されるホスト(例えばホスト32)のIDとの対応関係と、及びエッジノード23のLOCとエッジノード23に収容されるホスト(例えばホスト33)のIDとの対応関係と、エッジノード27のLOCとエッジノード27に収容されるホストのIDとの対応関係を保持することができる。管理サーバ42,43は、夫々、エッジノード25,26のLOCとエッジノード25,26に収容される各ホストのIDとの対応関係を保持することができる。管理サーバ41〜44は、複数の管理装置の一例であり、管理サーバ41は第1管理装置の一例であり、管理サーバ44は、第2管理装置の一例である。
【0022】
管理サーバ41〜44は、Cプレーンの制御パケットが転送されるネットワークを介して接続されている。また、各管理サーバ41〜44は、管理サーバ自身の管理下にあるエッジノードと通信回線を介して接続されており、エッジノードの間で制御パケットを送受信することができる。
【0023】
<エッジノードの構成>
図2は、図1に示したエッジノード21〜29として適用可能なエッジノード20のハードウェア構成例を示す。以下の説明において、エッジノード21〜29を区別することなく説明する場合には、エッジノード20との表記を用いることもある。図2において、エッジノード20は、バスBを介して相互に接続されたCPU(Central Processing Unit)51,スイッチカード52,記憶装置53と、1以上のインタフェースカード54(
図2では、複数のインタフェースカードを例示)とを備える。インタフェースカード54は、送受信装置の一例である。CPU51は、制御装置の一例である。
【0024】
各インタフェースカード54は、エッジノード20のパケットの送受信処理を司る。スイッチカード54は、パケットの転送処理、すなわち、各インタフェースカード54で受信されたパケットをバスBを介して受け取り、パケットの目的地に対応するインタフェースカードへパケットをバスBを介して転送する処理を司る。CPU51は、エッジノード20全体の動作を制御する。記憶装置52は、CPU51がエッジノード20の動作制御のために実行するプログラムや、プログラムの実行に際して使用されるデータを格納する。
【0025】
記憶装置(ストレージ)53は、RAM(Random Access Memory)のようなCPU51の作業領域として使用されるメモリ(記録媒体)と、CPU51によって実行されるプログラム,エッジノード20の動作を規定する各種設定に係るデータを記録する不揮発性記録媒体とを含む。不揮発性記録媒体として、ROM(Read Only Memory),EEPROM,フラッシュメモリ,HDD(Hard Disk Drive)を例示することができる。
【0026】
スイッチカード52は、各インタフェースカード54との内部通信に使用される受信機及び送信機として機能する電気・電子回路を備える。また、スイッチカード52は、インタフェースカード54から受信されたパケットを一時的に保持する(バッファとして使用される)記憶デバイスを含む。また、スイッチカード52は、転送処理に必要な情報を格納したテーブルを保持する記憶デバイスを含む。記憶デバイスは、用途に応じて、RAM,ROM,EEPROM,フラッシュメモリ,ハードディスクのような様々な不揮発性又は揮発性記録媒体の中から1以上が選択されて搭載される。
【0027】
さらに、スイッチカード52は、テーブルに保持された情報に基づいてパケットの転送処理を行う。パケットの転送処理は、受信されたパケットの出力経路の決定、パケットのカプセル化,デカプセル化を含む。パケットの転送処理は、スイッチカード52に搭載された電気・電子回路に含まれる1以上の半導体集積回路(IC(integrated circuit)、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit))を用いたハードウェア処理(転送処理回路による処理)、スイッチカード52搭載のプロセッサ(例えば、CPU,DSP(Digital Signal Processor),FPGA(Field-Programmable Gate Array))がプログラムを実行することによって実現されるソフトウェ
ア処理(プロセッサによる処理)、或いは上記したハードウェア処理とソフトウェア処理との組合せの何れかによって実現されることができる。
【0028】
CPU51は、記憶装置53に保持されたプログラムを実行することによって、エッジノード全体の動作を管理する。例えば、CPU51は、管理サーバから受信される情報を元に、スイッチカード52が備えるテーブルの書き換えを行う。CPU51は、プロセッサ(マイクロプロセッサ)の一例である。プロセッサは、DSPやFPGAを含むことができる。
【0029】
図3は、図2に示したハードウェア構成を有するエッジノード20によって実現される機能構成例を示す。図3において、エッジノード20は、パケット受信部61と、パケット転送部62と、パケット送信部63と、デカプセル部64と、カプセル部65とを備える。
【0030】
また、エッジノード20は、経路テーブル(ルーティングテーブル)66と、トンネル管理テーブル67と、LOC要求生成部68と、LOC要求送信部69とを備える。さらに、エッジノード20は、LOC応答送信部70と、トンネル生成部71と、LOC応答受信部72とを備える。
【0031】
パケット受信部61は、ネットワークからパケット(データパケット)を受信する。パ
ケット送信部63は、パケット(データパケット)をネットワークへ送信する。パケッ
ト受信部61及びパケット送信部63の機能は、インタフェースカード54によって実現される。
【0032】
デカプセル部64は、パケット受信部61で受信されたパケットがカプセル化されている(LISPパケットである)場合に、カプセル化パケットに付与されているヘッダ(LISPヘッダ)を除去する。
【0033】
カプセル部65は、パケット転送部62からカプセル化すべきパケット(トンネルへ送信すべきパケット)を受け取る。カプセル部65は、トンネルの受信側端点に位置するエッジノードのアドレス(LOC)が宛先アドレスとして設定されたヘッダ(LISPヘッダ)をパケットの先頭に付与する(カプセル化)。
【0034】
パケット転送部62は、パケット受信部61又はデカプセル部64からのパケットを受け取る。パケット転送部62は、経路テーブル66を参照し、パケットの宛先IPアドレスに対応する経路(出力ポート)を決定する。パケット転送部62は、経路テーブル66を参照して得られた経路がトンネルである場合には、トンネル管理テーブル67を参照し、トンネルの他方端点のエッジノードアドレスを取得する。パケット転送部62は、経路テーブル66を参照した結果、宛先アドレスに対応する出力経路が登録されたエントリが存在しない(ヒットしない)場合に、LOC要求生成部68に対し、トンネル転送を行うか否かを問い合わせる。
【0035】
経路テーブル66は、宛先アドレスに対応する転送先を含む1以上のエントリが登録されたテーブルである。図4は、経路テーブル66のデータ構造例を示す。図4に示すように、テーブル66は、宛先アドレス(宛先IPアドレス)に対応する転送先のエントリを保持する。転送先を示す情報として、次ホップのルータを示す情報、或いは、トンネル番号が登録される。
【0036】
トンネル管理テーブル67は、エッジノード間を結ぶトンネル構築のために要求される情報を保持する。すなわち、トンネル管理テーブル67には、エッジノード間に構築されるトンネルの一方の端点が自エッジノードに位置するとの仮定において、当該トンネルの他方の端点が位置するエッジノードのアドレス(LOC)が登録される。図5は、トンネル管理テーブル67のデータ構造例を示す。図5に示すように、トンネル管理テーブル67には、トンネル識別情報(トンネル番号)と、トンネルの他端に位置するエッジノードのIPアドレス(LOC)とを含む1以上のエントリが登録される。
【0037】
上述したデカプセル部64,パケット転送部62,カプセル部65,経路テーブル66,及びトンネル管理テーブル67は、スイッチカード52によって実現される。LOC要求生成部68は、パケット転送部62からの問い合わせに基づいて、パケットの宛先アドレスに対応するエッジノードアドレスの解決のためにLOC要求処理を行う。すなわち、LOC要求生成部68は、宛先アドレスに対応するエッジノードアドレスを要求するLOC要求メッセージ(以下、単に「LOC要求」と表記することもある)を生成する。生成されるLOC要求には、宛先アドレスとLOC要求の生成元(送信元)を示すエッジノードアドレス(以下、「LOC要求元アドレス」と称する)とが格納される。通常、LOC要求は、入口エッジノードによって生成される。LOC要求生成部68は、スイッチカード52から問い合わせの信号をバスBを介して受け取ったCPU51によって実現される。
【0038】
LOC要求送信部69は、自エッジノードを管理している管理サーバに対し、LOC要求を送信する。例えば、エッジノード20がエッジノード21(図1)であれば、管理サ
ーバ41へLOC要求が送信される。LOC要求送信部69は、CPU51で生成されたLOC要求をバスBを介して受け取るインタフェースカード54によって実現される。LOC応答受信部72は、自エッジノードを管理している管理サーバ(例えば、エッジノード21に対する管理サーバ41)、或いは、他のエッジノード(“下位階層”のエッジノード)から送信されたLOC応答メッセージ(以下、単に「LOC応答」と表記することもある)を受信する。“下位階層”とは、図1に示した複数のエッジノードが形成するツリー型のトポロジにおいて、自エッジノードからみてルート側を“上位階層”と定義し、リーフ側を“下位階層”と定義したときの“下位階層”を示す。LOC応答受信部72は、インタフェースカード54によって実現される。
【0039】
トンネル生成部71は、受信したLOC応答に格納されているLOCリストに含まれたLOC(エッジノードアドレス)を用いて下位階層のエッジノードとのトンネルを確立する。トンネルの確立は、トンネル管理テーブル67にトンネル番号と下位階層のエッジノードアドレスを登録することによって行われる。
【0040】
また、トンネル生成部71は、LOC応答のLOCリストから下位階層のエッジノードアドレスを取り除き、上位階層のエッジノードへ転送すべきLOC応答を作成する。宛先アドレス、送信元アドレス、プロトコルID、ポート番号をベースに、どの階層の上位エッジノードへ転送するかを決定し、下位階層のエッジノードアドレスに加え、バイパスするレイヤのエッジノードのアドレスをLOCリストから削除する。トンネル生成部71は、インタフェースカード54で受信されたLOC応答をバスBを介して受信したCPU51によって実現される。
【0041】
LOC応答送信部70は、他のエッジノード(上位階層のエッジノード)へLOC応答を送信する。LOC応答送信部70は、CPU51によって生成されたLOC応答をバスBを介して受信するインタフェースカード54によって実現される。
【0042】
<管理サーバの構成>
図6は、図1に示した各管理サーバ41〜44として適用される管理サーバ40のハードウェア構成例を示す。以下の説明において、管理サーバ41〜44を区別しない場合には、管理サーバ40との表記を用いることもある。管理サーバ40は、パーソナルコンピュータ(PC)のような汎用のコンピュータ、或いはサーバマシンのような専用のコンピュータを適用することができる。図6において、管理サーバ40は、バスB1を介して相互に接続されたCPU81,RAM82,HDD83,及びネットワークインタフェース(インタフェース(IF)回路、IF装置)84を備える。
【0043】
RAM82は、管理サーバ40(CPU81)の主記憶装置の一例である。RAM82は、CPU81の作業領域であり、オペレーティングシステム(OS)やアプリケーションプログラムのような各種のプログラムの実行に際して使用されるデータを一時的に格納する。
【0044】
HDD83は、管理サーバ40(CPU81)の二次記憶装置の一例である。HDDは、CPU81によって実行されるOSやアプリケーションプログラムのような各種のプログラムや、各プログラムの実行のために使用されるデータを保持する。データは、HDD83によって保持されるテーブル又はデータベース上に格納されることができる。
【0045】
CPU81は、プロセッサ(マイクロプロセッサ)の一例であり、HDD83に格納された各種のプログラムをRAM82にロードして実行する。これによって、CPU81は、管理サーバ40全体を管理する。例えば、CPU81は、エッジノード20からネットワークインタフェース84を介して受信される制御パケット(例えば、LOC要求)に対
する処理を行う。
【0046】
ネットワークインタフェース84は、少なくともエッジノード及び他の管理サーバとの通信回線を収容し、外部ネットワークとの接続処理(パケットの送受信処理)を行う。図7は、図6に示した管理サーバ40のハードウェア構成によって実現される機能構成例を示す。図7に示すように、管理サーバ40は、LOC要求受信部85と、LOC要求処理部86と、LOC要求送信部87と、LOC応答送信部88と、LOC管理サーバ情報テーブル89と、ホストID−LOC管理テーブル90とを備えた装置として機能する。LOC要求受信部85は、エッジノード20、あるいは、上位階層の管理サーバが送信したLOC要求を受信する。LOC要求受信部85は、ネットワークインタフェース84によって実現される。管理サーバ40の階層関係においても、入口エッジノードのLOCを管理する管理サーバを最上位層として、リーフ側に位置する管理サーバが下位階層と定義されている。すなわち、エッジノードの階層関係に準じた階層関係が設定されている。
【0047】
LOC要求送信部87は、下位階層の管理サーバへLOC要求を送信する。LOC要求送信部87は、ネットワークインタフェース84によって実現される。LOC応答送信部88は、上位階層のエッジノードへLOC応答を送信する。LOC応答送信部88は、ネットワークインタフェース84によって実現される。
【0048】
LOC要求処理部86は、LOC要求受信部85で受信されたLOC要求に格納されている宛先アドレスに対応するエッジノード、又はエッジノードのリストをホストID−LOC管理テーブル90を参照して特定する。
【0049】
また、LOC要求処理部86は、特定したエッジノード又はエッジノードのリストに最下位階層のエッジノードが含まれていない場合には、特定したエッジノード又はエッジノードリストを、受信したLOC要求に追加し、LOC要求をLOC要求送信部へ送る。これに対し、最下位層のエッジノードが含まれている場合には、LOC要求処理部86は、受信したLOC要求に格納されていたLOCリストと特定したエッジノード又はエッジノードのリストを合わせた(マージした)LOCリストを含むLOC応答を生成する。さらにLOC応答にはLOC要求元アドレスが格納される。LOC要求処理部86は、エッジノード20への転送のために、LOC応答をLOC応答送信部88へ送る。
【0050】
また、LOC要求処理部86は、上記したLOC要求、LOC応答を生成する際に、エッジノードの宛先アドレス、送信元アドレス、プロトコルID、ポート番号をベースに、LOC要求又はLOC応答が経由すべきエッジノードを決定し、決定されたエッジノードのリストをLOCリストに格納する。LOC要求処理部86は、ネットワークインタフェース84で受信されたLOC要求をバスB1を介して受け取ったCPU81によって実現される。CPU81は、LOC要求処理によって生成したLOC要求、LOC応答を、バスB1を介してネットワークインタフェース84へ送る。
【0051】
LOC管理サーバ情報テーブル89は、ホストの宛先IPアドレスに対応する、LOC要求を転送すべき下位階層の管理サーバ40の識別情報(IPアドレス)が登録される。図8は、LOC管理サーバ情報テーブル89のデータ構造例を示す。図8に示すように、テーブル89は、ホストの宛先IPアドレスに対応する転送先の管理サーバ40のIPアドレスを含む1以上のエントリが登録される。
【0052】
ホストID−LOC管理テーブル90は、パケットが宛先IPアドレスへ転送される際に経由するエッジノード20のアドレスのリストと、リストが最下位階層(リーフ)のエッジノード(最終エッジ)を含んでいるか否かを示す情報を保持する。図9は、ホストID−LOC管理テーブル90のデータ構造例を示す。図9に示すように、ホストID−L
OC管理テーブル90は、登録された1以上のエントリを含む。各エントリは、ホストの宛先IPアドレス(ホストID)と、宛先IPアドレスへ向けてコア網10を転送されるパケットが経由する1以上のエッジノード20のアドレスを含むアドレスリスト(“エッジノードリスト”、又は“LOCリスト”と呼ぶ)と、エッジノードリストに含まれたアドレスを有するエッジノードがツリーの最下位層(リーフ)に該当するエッジノード(最終エッジと呼ぶ)のアドレスを含んでいるか否かを示す情報(例えば、YES、NOを示すフラグ)とを含む。
【0053】
LOC管理サーバ情報テーブル89及びホストID−LOC管理テーブル90は、HDD83によって保持される。なお、LOC管理サーバ情報テーブル89に登録される情報とホストID−LOC管理テーブル90に登録される情報とは、1つのテーブルによって管理されるように変形することができる。
【0054】
<動作例1>
次に、図1に示したネットワークシステムにおける動作例1について説明する。図10は、動作例1の説明図であり、図1に示したネットワークシステムが図示されている。図10に示すホスト31(ID#1)がホスト32(ID#2)へパケットを転送する動作を以下に説明する。
【0055】
ホスト31はエッジノード21に接続されており、ホスト32はエッジノード2に接続されている。ホスト31に対してIPアドレス“ホストIP1(ID#1)”が割り当てられ、ホスト32に対して“ホストIP2(ID#2)”が割り当てられている。エッジノード22は、階層化されたエッジノードツリーのリーフに位置し、エッジノードツリーは、エッジノード25をルート(最上位層)として、エッジノード26を含む中間層(上位層)、エッジノード27を含む中間層(下位層)、エッジノード22,23,24を含む最下位層が形成されている。
【0056】
各エッジノード21〜27には、IPアドレス(エッジノードアドレス)である“LOC1”,“LOC2”,“LOC3”,“LOC4”,“LOC5”,“LOC6”,“LOC7”が夫々割り当てられている。
【0057】
各エッジノード21〜27は、管理サーバ41〜44によって管理されている。エッジノード21〜27と、管理サーバ41〜44は、次のような対応関係を有する。すなわち、エッジノード21は管理サーバ41によって管理されている。エッジノード5は管理サーバ42によって管理されている。エッジノード26は管理サーバ43によって管理されている。エッジノード27,22,23,24は管理サーバ44に管理されている。管理サーバ44のように、管理サーバ40は、単一のエッジノードだけでなく、エッジノードツリー上の同一階層に位置する複数のエッジノードを管理したり、複数の階層(異なる階層)に属する複数のエッジノードを管理したりすることができる。
【0058】
図11は、管理サーバ41が保持するLOC管理サーバ情報テーブル89の登録内容例を示す。管理サーバ41のLOC管理サーバ情報テーブル89は、ホスト32のIPアドレス“ホストIP2”に対応する管理サーバ42のIPアドレスが格納されたエントリと、ホスト33のIPアドレス“ホストIP3”に対応する管理サーバ42のIPアドレスが格納されたエントリとを保持する。
【0059】
図12は、管理サーバ42が保持するLOC管理サーバテーブル89の登録内容例を示す。管理サーバ42のLOC管理サーバ情報テーブル89は、ホスト32のIPアドレス“ホストIP2”に対応する管理サーバ43のIPアドレスが格納されたエントリと、ホスト33のIPアドレス“ホストIP3”に対応する管理サーバ43のIPアドレスが格
納されたエントリとを保持する。
【0060】
図13は、管理サーバ43が保持するLOC管理サーバテーブル89の登録内容例を示
す。管理サーバ43のLOC管理サーバ情報テーブル89は、ホスト32のIPアドレ
ス“ホストIP2”に対応する管理サーバ44のIPアドレスが格納されたエントリと、ホスト33のIPアドレス“ホストIP3”に対応する管理サーバ44のIPアドレスが格納されたエントリとを保持する。
【0061】
図14は、管理サーバ42が保持するホストID−LOC管理テーブルの登録内容例を示す。管理サーバ42のホストID−LOC管理テーブル90は、ホスト32のIPアドレス“ホストIP2”,ホスト33のIPアドレス“ホストIP3”のそれぞれに関して、対応するエッジノードリスト“LOC5”と、エッジノードリストが最終エッジを含まないことを示す情報(“No”)とを保持している。
【0062】
図15は、管理サーバ43が保持するホストID−LOC管理テーブル90の登録内
容例を示す。管理サーバ43のホストID−LOC管理テーブル90は、ホスト32のIPアドレス“ホストIP2”,ホスト33のIPアドレス“ホストIP3”のそれぞれに関して、対応するエッジノードリスト“LOC6”と、エッジノードリストが最終エッジを含まないことを示す情報(“No”)とを保持している。
【0063】
図16は、管理サーバ44が保持するホストID−LOC管理テーブルの登録内容例を示す。管理サーバ44のホストID−LOC管理テーブル90は、ホスト32のIPアドレス“ホストIP2”に関して、対応するエッジノードリスト“LOC7,LOC2”及び最終エッジを含むことを示す情報(“Yes”)を含むエントリを保持する。また、管理サーバ44のホストID−LOC管理テーブル90は、ホスト33のIPアドレス“ホストIP3”に関して、対応するエッジノードリスト“LOC7,LOC3”及び最終エッジを含むことを示す情報(“Yes”)を含むエントリを保持する。
【0064】
図17は、データパケットを受信したエッジノード20(エッジノード21〜27の何れか)で実行される処理例を示すフローチャートである。図17の処理は、エッジノード20のインタフェースカード54でネットワークから受信されたデータパケットをスイッチカード52が受信することによって開始される(S01)。
【0065】
データパケットを受信したスイッチカード52(パケット転送部62)は、データパケットに設定された宛先IPアドレスに対応するエントリを経路テーブル66から検索する(S02)。対応するエントリが検索された(ヒットした)場合には、当該エントリに格納された宛先IPアドレスに対応する転送先情報に基づき、転送先情報に対応するインタフェースカード54にデータパケットが転送され、当該インタフェースカード54からネットワークへ送出される(S03)。
【0066】
これに対し、宛先IPアドレスに対応する転送先情報を含むエントリがヒットしなかった場合には、スイッチカード52は、宛先IPアドレスに対応するLOCを解決するためのLOC要求の生成を要求するメッセージをCPU51に与える。CPU51は、LOC要求生成部68として、スイッチカード52からの要求に基づいてLOC要求を生成し、対応する管理サーバ40と接続されたインタフェースカード54へLOC要求を送る。生成されたLOC要求には、宛先IPアドレスとLOC要求元アドレスとが格納される。LOC要求を受け取ったインタフェースカード54は、LOC要求送信部69として、LOC要求をネットワーク(管理サーバ40)へ送信する(S04)。
【0067】
図18は、LOC要求を受信した管理サーバ40(管理サーバ41〜44の何れか)で
実行される処理例を示すフローチャートである。図18に例示する処理は、LOC要求をネットワークから受信したネットワークインタフェース84(LOC要求受信部85)がネットワークから受信したLOC要求をCPU81に送り、CPU81がLOC要求を受信する(S21)ことによって開始される。
【0068】
CPU81は、LOC要求処理部86としての機能を用い、以下の処理を行う。すなわち、CPU81は、ホストID−LOC管理テーブル90(図9)を参照し、LOC要求に含まれる宛先IPアドレスに対応するエントリを検索する(S22)。対応するエントリがヒットした場合には、CPU81は、ヒットしたエントリ中のエッジノードリスト(LOCリスト)が最下位層のエッジノード(リーフ:最終エッジ)を含むか否かを判定する(S23)。
【0069】
最終エッジが含まれない場合には、CPU81は、ヒットしたエントリ中のLOCリストに含まれるLOC(エッジノードアドレス)を、LOC要求に追加する(S24)。続いて、CPU81は、LOC管理サーバ情報テーブル89(図8)を参照し、LOC要求中の宛先IPアドレスに対応するエントリを検索する(S25)。
【0070】
対応するエントリがヒットした場合には、CPU81は、エントリ中の管理サーバアドレスへLOC要求を転送する。すなわち、宛先IPアドレスがLOC管理サーバ情報テーブル89から得られた管理サーバアドレスに設定されたLOC要求がCPU81から対応するインタフェースカード54へ転送され、当該インタフェースカード54からネットワーク(次の管理サーバ40)へ送信される。これに対し、対応するエントリがヒットしない場合には、LOC要求に含まれる宛先IPアドレスが存在しないとして、所定のエラー処理が行われる(S27)。
【0071】
S23において、LOCリストに最終エッジが含まれると判定された場合には、CPU81は、LOC応答を生成する。このとき、CPU81は、宛先IPアドレスと、LOC要求元アドレスと、LOC要求に含まれるLOCリストに含まれるLOC(エッジノードアドレス)と、S22でヒットしたエントリ中のLOCリスト(エッジノードアドレス)とをLOC応答に含める(S28)。
【0072】
CPU81は、LOC応答に含まれるLOCリスト中の最終エッジ、又は最終エッジの1つ前のエッジノードへLOC応答を送信する(S29)。すなわち、CPU81は、LOC応答を送信先のエッジノード20に対応するインタフェースカード54へ送り、当該インタフェースカード54は、LOC応答をネットワーク(対応するエッジノード20)へ送信する。
【0073】
図19は、LOC応答を受信したエッジノード20(エッジノード21〜27の何れか)で実行される処理例を示すフローチャートである。図19に示す処理は、エッジノード20のインタフェースカード54で受信されたLOC応答をCPU51が受け取ることによって開始される(S31)。
【0074】
LOC応答を受信したCPU51は、スイッチカード52が有する経路テーブル66(図4)の登録内容を参照(スイッチカード52から入手)し、宛先IPアドレス(LOC要求中のホストの宛先IPアドレス)を有するホストがエッジノード20に接続されているか否かを判定する(S32)。ホストが接続されている場合には、CPU51は、上位層側に位置する他のエッジノード20へLOC応答を転送する(S33)。当該S33の処理は、例えば、LOC応答を管理サーバ44から受信したエッジノード22がLOC応答を上位層側のエッジノード27へ転送するための処理である。すなわち、エッジノード自身の配下にホストが実際に接続されていれば、S33に処理が進み、そうでなければS
34に処理が進むようにしている。但し、最終エッジに相当するエッジノード22では、ホストが接続されていなければ、エラー処理が行われるようになっている。
【0075】
S32において、宛先IPアドレスが登録されていない場合には、CPU51は、トン
ネル生成部71として機能する。すなわち、CPU51は、LOC応答中のLOCリス
トの最後に位置するLOC及び対応するトンネル番号を含むエントリをトンネル管理テーブル67(図5)に登録する。また、CPU51は、“ホストIP2”に対応する転送先(転送経路)を示すトンネル番号を含むエントリを経路テーブル66(図4)に登録する(S34)。経路テーブル66及びトンネル管理テーブル67に対する登録処理は、CPU51がスイッチカード52に対する上記した各エントリの登録指示を与え、スイッチカード52が各テーブル66及び67の更新(エントリ登録)を行うことによって実現される。
【0076】
CPU51は、自エッジノードがホストからデータパケットを受信したエッジノード20か否かを判定する(S35)。データパケットを受信したエッジノード20に該当する場合には、LOC要求送信前に受信したデータパケットの転送指示をスイッチカード52に与える。スイッチカード52は、パケット転送部62及びカプセル部65として機能し、更新された経路テーブル66及びトンネル管理テーブル67を用いてデータパケットをカプセル化し(LISPパケットを生成し)、宛先IPアドレス(LOC)に応じたインタフェースカード54へLISPパケットを転送する。インタフェースカード54は、LISPパケットをトンネルによって結ばれた次ホップのエッジノード20へ送信する(S36)。但し、LOC応答を受信するまでパケットを保持しておくことは要求されない。
【0077】
一方、S35において、データパケットを受信したエッジノードでないと判定される場合には、CPU51は、LOC応答中のLOCリストからエントリ登録に用いたLOCを除去する(S37)。LOC応答中のLOCリストからエントリ登録に用いたLOCを除去した結果、2つ以上のLOC情報がある場合(S38,2以上)には、その後のLOCリストの最後に位置するLOCより1つ前に位置するLOCを有するエッジノードへLOC応答を転送する(S39)。LOCを除去した結果、LOC情報が1つになった場合(S38,1つ)には、LOC要求元アドレスにLOC応答を転送する(S40)。このとき、LOC応答は、CPU51から対応するインタフェースカード54へ与えられ、インタフェースカード54からネットワークへ送出される。
【0078】
以下、図10に示すネットワークにおいて、管理サーバ41〜44が図11〜図16に示したテーブルエントリを有し、且つ各エッジノード21〜27が図17及び図19に示した処理を行い、各管理サーバ41〜44が図18に示す処理を行うことを前提に、動作例1を説明する。
【0079】
<<フェーズ1>>
ホスト31は、宛先IPアドレス“ホストIP2”が設定されたユーザデータパケット(以下、動作例において、単に「パケット」と表記)を送信する(図10(1))。パケットは、エッジノード21で受信される。
【0080】
<<フェーズ2>>
パケットを受信したエッジノード21では、経路テーブル66が参照され、パケットの宛先IPアドレス“ホストIP2”に対応する転送経路が特定される。ホスト32宛のパケットがエッジノード21に最初に到着したときには、経路テーブル66は、“ホストIP2”向けの転送先情報を保持していない。すなわち、ホストIP2に対応する経路が存在しない。このため、エッジノード21は、“ホストIP2”に対応するLOCを解決するためのLOC要求を生成し、管理サーバ41へ送信する。(図10(2))。生成され
たLOC要求は、宛先IPアドレス “ホストIP2” とLOC要求元アドレス“LOC1"とを含む。
【0081】
<<フェーズ3>>
管理サーバ41は、LOC要求を受信すると、LOC管理サーバ情報テーブル89(図11)を参照する。このとき、LOC要求に含まれた“ホストIP2”に対応する管理サーバ42のIPアドレスがテーブル89に登録されている。このため、管理サーバ41は、LOC要求を管理サーバ42へ転送する(図10(3))。但し、LOC管理テーブルには、管理サーバアドレスの代わりに、管理サーバへLOC要求を転送する中継サーバのアドレスが登録され、中継サーバが次の管理サーバ宛のLOC要求を中継する構成が採用されても良い。
【0082】
<<フェーズ4>>
LOC要求を受信した管理サーバ42は、ホストIP−LOC管理テーブル90(図14)を参照し、“ホストIP2”宛てのパケットが経由するエッジノードが管理されているかを確認する。すなわち、管理サーバ42は、テーブル90からLOC要求中のホストの宛先IPアドレス“ホストIP2”に対応するエントリを検索する。図14に示すように、ホストIP−LOC管理テー部90は、“ホストIP2”に対応するエントリが登録されており、検索によって当該エントリがヒットする。
【0083】
管理サーバ42は、ヒットしたエントリ中の、LOCリストが最終エッジを含むか否かを示す情報(最終エッジ情報)を参照する。以下の説明において、最終エッジ情報によって示される、最終エッジを含むことを示す情報を“Yes情報”と表記し、最終エッジを含まないことを示す情報を“No情報”と表記する。最終エッジ情報がNo情報であるので、管理サーバ42は、エントリ中のエッジノードリスト(LOCリスト)として登録されている“LOC5(エッジノード25のIPアドレス)”をLOC要求に格納する。
【0084】
続いて、管理サーバ42は、LOC管理テーブル89(図12)を検索する。このとき、“ホストIP2”に対応する転送先として管理サーバ43のIPアドレスが登録されたエントリがヒットする。管理サーバ42は、ヒットしたエントリに従って、LOC要求を管理サーバ43に転送する(図10(4))。
【0085】
<<フェーズ5>>
LOC要求を受信した管理サーバ43は、管理サーバ42と同様の動作を行う。すなわち、管理サーバ43は、ホストID−LOC管理テーブル90(図15)の参照によって、LOC要求中のLOCリストにエッジノード26のIPアドレス“LOC6”を追加する(LOC要求中のLOCリストは、LOC5及びLOC6を含む状態となる)。また、管理サーバ43は、LOC管理テーブル89(図13)の参照によって、宛先IPアドレス“ホストIP2”に対応する管理サーバ44のIPアドレス宛にLOC要求を転送する(図10(5))。
【0086】
<<フェーズ6>>
LOC要求を受信した管理サーバ44は、管理サーバ42,43と同様に、ホストIP−LOC管理テーブル90(図16)を検索する。このとき、“ホストIP2”に対応するエントリがヒットする。ヒットしたエントリの最終エッジ情報はYes情報である(図16)。このため、管理サーバ44は、LOC応答を生成する。LOC応答には、LOC要求元アドレス“LOC1"と、LOC要求中のLOCリストに含まれた全てのLOCと
、ヒットしたエントリ中のLOCリストに含まれた全てのLOCとが格納される。したがって、LOC応答は、複数のLOC情報として、“LOC5”,“LOC6”,“LOC7”及び“LOC2”を含むLOCリストを含んだ状態となる。LOCリストに含まれる
複数のLOCは、本実施形態では、ルートからリーフへ向かう順に並んだ状態で格納される。
【0087】
管理サーバ44は、予め設定されたLOC応答の送信先情報に従って、最終エッジであるエッジノード20(エッジノード22),又は最終エッジより1つ前のエッジノード20(エッジノード27)へLOC応答を送信する。LOC応答の送信先情報は、例えば、HDD83のような二次記憶装置上に予め保持されることができる。送信先情報は、例えば、ホストID−LOC管理テーブル90の、最終エッジであることを示す情報を保持するエントリ中に含めることができる。以降の動作は、LOC応答がエッジノード27へ送信された場合を例示する(図10(6))。
【0088】
<<フェーズ7>>
LOC応答を受信したエッジノード27は、LOC応答に格納されているLOCリストの最後に位置するLOC(LOC2)を、エッジノード27が有するトンネル管理テーブル67に登録する。例えば、トンネル番号“1”に対応する“LOC2”として登録する。図20は、エッジノード27のトンネル管理テーブル67に登録されるエントリを示す。
【0089】
さらに、エッジノード27は、エッジノード27が有する経路テーブル66に対し、“ホストIP2”宛のパケットに対応する転送経路は、トンネル番号“1”のトンネル(トンネル1)であることを示すエントリが登録される。図21は、エッジノード27の経路テーブル66に登録されるエントリを示す。これによって、エッジノード27で受信した“ホストIP2”(ホスト32)宛のパケットは、エッジノードアドレス“LOC2”を宛先IPアドレスとするヘッダをパケットの先頭に追加してカプセリングすることによって、トンネル1へ転送することができる。
【0090】
エッジノード27は、LOC応答中のLOCリストから“LOC2”を取り除く。これによって、LOCリストに含まれる1以上のLOCは、“LOC5”,“LOC6”,“LOC7”となる。エッジノード27は、LOCリストにおける“LOC7”の1つ前に示されたLOC(“LOC6”)を有するエッジノード26へLOC応答を転送する(図10(7))。
【0091】
<<フェーズ8>>
LOC応答を受信したエッジノード26も、エッジノード27と同様の処理を行う。すなわち、エッジノード26は、エッジノード26が有するトンネル管理テーブル67に対し、“LOC7”に対応するトンネル番号“1”を含むエントリを登録する。図22は、エッジノード26のトンネル管理テーブル67に登録されるエントリを示す。また、エッジノード26は、エッジノード26が有する経路テーブル66に対し、ホストIPアドレス“ホストIP2”に対応するトンネル番号“1”を含むエントリを登録する(図21参照)。そして、エッジノード26は、LOC応答中のLOCリストから、最後に位置する“LOC7”を取り除き、次のエッジノードに該当するエッジノード25へ、“LOC5”及び“LOC6”のLOCリストを含むLOC応答を送信する(図10(8))。
【0092】
<<フェーズ9>>
LOC応答を受信したエッジノード25も、エッジノード27,エッジノード26と同様の動作を行う。すなわち、エッジノード25は、エッジノード25が有するトンネル管理テーブル67に対し、“LOC6”に対応するトンネル番号“1”を含むエントリを登録する。図23は、エッジノード25のトンネル管理テーブル67に登録されるエントリを示す。また、エッジノード25は、エッジノード25が有する経路テーブル66に対し、ホストIPアドレス“ホストIP2”に対応するトンネル番号“1”を含むエントリを
登録する(図21参照)。そして、エッジノード25は、LOC応答中のLOCリストから、最後に位置する“LOC6”を取り除く。これによって、LOC応答中のLOCリストのLOC情報が“LOC5”の1つとなる。このため、エッジノード25は、LOC要求元アドレス“LOC1”(すなわち、エッジノード21)へ、 “LOC5”のLOC
リストを含むLOC応答を送信する(図10(9))。
【0093】
<<フェーズ10>>
LOC応答を受信したエッジノード21は、エッジノード27,26,25と同様の動作を行う。すなわち、エッジノード21は、エッジノード21が有するトンネル管理テーブル67に対し、“LOC5”に対応するトンネル番号“1”を含むエントリを登録する。図24は、エッジノード21のトンネル管理テーブル67に登録されるエントリを示す。また、エッジノード21は、エッジノード21が有する経路テーブル66に対し、ホストIPアドレス“ホストIP2”に対応するトンネル番号“1”を含むエントリを登録する(図21参照)。
【0094】
これによって、ホスト31を収容するエッジノード21と、宛先のホスト32を収容するエッジノード22との間に、エッジノード25,エッジノード26及びエッジノード27を経由する多段トンネルが構築された状態となる(図10(10))。多段トンネルは、上記したように、同一のトンネル番号で管理することができる。このような多段トンネルを用いて、フェーズ2でエッジノード21がホスト31から受信したデータパケットをエッジノード22まで転送することができる。
【0095】
<<フェーズ11>>
以下のフェーズ11〜15において、フェーズ2〜10によって確立された複数段を有するトンネル(多段トンネル)を用いてフェーズ2で転送できなかったホストIP2宛のパケット、および、その後にホスト31からエッジノード21へ送信されるホストIP2宛のパケットを転送する際の動作例を説明する。
【0096】
エッジノード21は、エッジノード21が有する経路テーブル66(図21参照)を参照し、“ホストIP2”の転送経路を特定する。経路テーブル66には、“ホストIP2”の転送経路として、トンネル1が登録されている。さらに、“ホストIP2”をトンネル1を介して転送するためのLOCである“LOC5”が、エッジノード21のトンネル管理テーブル67に登録されている(図24参照)。従って、エッジノード21は、ホスト31からのパケットに宛先エッジノードアドレス“LOC5”を含むヘッダを追加してカプセリングし(LISPパケットを生成し)、次のエッジノード25へ転送する(図10(11))。
【0097】
<<フェーズ12>>
カプセル化されたパケット(LISPパケット)を受信したエッジノード25は、LISPパケットの先頭に追加されたヘッダを削除する(デカプセル)。続いてエッジノード25は、元のパケットの宛先IPアドレス“ホストIP2”に対応するエントリを経路テーブル66(図21参照)から検索する。
【0098】
エッジノード25の経路テーブル66には、“ホストIP2”の転送経路として、トンネル1が登録されている。さらに、“ホストIP2”をトンネル1を介して転送するためのLOCである“LOC6”が、エッジノード25のトンネル管理テーブル67に登録されている(図23参照)。従って、エッジノード25は、元のパケットの先頭に宛先エッジノードアドレス“LOC6”を含むヘッダを追加してカプセリングし(LISPパケットを生成し)、次のエッジノード26へ転送する(図10(12))。
【0099】
<<フェーズ13>>
カプセル化されたパケット(LISPパケット)を受信したエッジノード26は、エッジノード25と同様の動作を行う。すなわち、エッジノード26は、LISPパケットの先頭に追加されたヘッダを削除する(デカプセル)。続いてエッジノード26は、デカプセルされたパケット(元のパケット)の宛先IPアドレス“ホストIP2”に対応するトンネル番号を、エッジノード26が有する経路テーブル66(図21参照)から検索する。
【0100】
検索によって、“ホストIP2”の転送経路として“トンネル1”がヒットする。また、エッジノード26が有する経路テーブル67(図22)の検索によって、“ホストIP2”に対応する“LOC7”がヒットする。従って、エッジノード26は、元のパケットの先頭に宛先エッジノードアドレス“LOC7”を含むヘッダを追加してカプセリングし(LISPパケットを生成し)、次のエッジノード27へ転送する(図10(13))。
【0101】
<<フェーズ14>>
カプセル化されたパケット(LISPパケット)を受信したエッジノード27は、エッジノード25や26と同様の動作を行う。すなわち、エッジノード27は、LISPパケットの先頭に追加されたヘッダを削除する(デカプセル)。続いてエッジノード27は、デカプセルされたパケット(元のパケット)の宛先IPアドレス“ホストIP2”に対応するトンネル番号を、エッジノード27が有する経路テーブル66(図21参照)から検索する。
【0102】
検索によって、“ホストIP2”の転送経路として“トンネル1”がヒットする。また、エッジノード27が有する経路テーブル67(図20)の検索によって、“ホストIP2”に対応する“LOC2”がヒットする。従って、エッジノード26は、元のパケットの先頭に宛先エッジノードアドレス“LOC2”を含むヘッダを追加してカプセリングし(LISPパケットを生成し)、次のエッジノード22へ転送する(図10(14))。
【0103】
<<フェーズ15>>
カプセル化されたパケット(LISPパケット)を受信したエッジノード22は、LISPパケットの先頭に追加されたヘッダを削除する(デカプセル)。続いてエッジノード27は、デカプセルされたパケット(元のパケット)の宛先IPアドレス“ホストIP2”に対応する転送先を、エッジノード22が有する経路テーブル66から検索する。
【0104】
エッジノード22が有する経路テーブル66には、“ホストIP2”に対応する転送先として、ホスト32のアドレスである“ホストIP2”又は“ホストIP2”へのパケットを転送する次ホップルータのIPアドレスが登録されている。従って、エッジノード22は、通常のルーティング処理と同様の処理によって、ホスト32へ向けてパケットを転送する(図10(15))。
【0105】
以上のようにして、コア網10では、ホスト31からのパケット受信を契機として、コア網の入口エッジノード21と出口エッジノード22との間を1以上の中継エッジノード25,26,27で結ぶ複数段のトンネルが確立され、確立されたトンネルを用いて宛先ホスト32へパケットが転送される。
【0106】
動作例1によれば、1つのLOC要求によって、夫々ホストを収容する入口エッジノードと出口エッジノードとの間に、1以上の中継エッジノードを経由する複数段トンネル(多段トンネル)を構築することができる。これによって、トンネルの起点となるエッジノードの夫々がLOC要求を管理サーバ40へ送信することで多段トンネルを構築する場合に比べて、処理の負荷や処理に要する時間を軽減することができる。
【0107】
<動作例2>
動作例1に続いて、ホスト31がエッジノード23に接続されているホスト33へパケットを送信する場合の動作を、動作例2として説明する。動作例2でも、動作例1と同様に、エッジノード21がホスト33(“ホストIP3”)宛のパケットをホスト31から受信することを契機として、ホストIP3に対応するLOCを解決するためのLOC要求が管理サーバ41へ送信される。
【0108】
LOC要求は、管理サーバ41〜44が保持するホストID−LOC管理テーブル90,LOC管理テーブル89(図11〜図16)の登録内容に従って、管理サーバ42→管理サーバ43→管理サーバ44の順で転送される。このような転送の際に、LOC要求が含むLOCリストには、“LOC5”,“LOC6”が登録される。そして、管理サーバ44において、“LOC5”,“LOC6”,“LOC7”,“LOC3”が格納されたLOCリストを有するLOC応答が、エッジノード23又は27へ送信される。但し、以降の説明は、エッジノード27へLOC応答が送信される例について説明する。
【0109】
LOC応答を受信したエッジノード27は、エッジノード23への新たなトンネルを生成するため、動作例1と同様の処理によって、エッジノード27が有する経路テーブル66及びトンネル管理テーブル67にエントリを追加する。図25は、エッジノード27の経路テーブル66に登録されたエントリを示し、図26は、エッジノード27のトンネル管理テーブル67に登録されたエントリを示す。図25に示すように、“ホストIP3”に対応するトンネル番号“2”(トンネル2)を含むエントリが経路テーブル66に追加されるとともに、図26に示すように、トンネル番号“2”に対応するエッジノードアドレス“LOC3”を含むエントリがトンネル管理テーブル67に登録される。
【0110】
LOC応答は、エッジノード27→エッジノード26→エッジノード25→エッジノード1の順で転送される。ここで、エッジノード26,25,21には、すでに下位階層のエッジノードへのトンネル1が登録されている。このため、エッジノード26,25及び21は、新たにトンネルを生成せず、登録済みのトンネル1を使用して転送を行う。このため、エッジノード26,25,21は、図27に示すように、自ノードが有する経路テーブル66に、“ホストIP3”に対応する転送先情報(トンネル1)を登録する。図27は、エッジノード21,25,26が夫々有する経路テーブル66のエントリを示す。
【0111】
動作例2によれば、既に構築された複数段トンネル(多段トンネル)の途中から枝分かれする経路を辿って到達する出口エッジノード(エッジノード23)に収容されたホスト(ホスト33)宛のトンネルが新たに構築される場合には、分岐点となるエッジノード(エッジノード27)とホスト33に対する出口エッジノード(エッジノード23)との間に新たなトンネル(トンネル2)が構築され、分岐点から上流側(エッジノード25−エッジノード26−エッジノード27)は、既に構築されたトンネル(トンネル1)が使用される。従って、トンネル構築に要する時間及び負荷を軽減することができる。
【0112】
<動作例3>
動作例1の終了後において、ホスト32が移動し、ホスト32が属するアクセス網がアクセス網12からアクセス網13に変更され、ホスト32がエッジノード23に収容された状態となった場合を仮定する。この場合、エッジノード22,23は、ホスト32の移動を公知の手法(例えば、OSPF(Open Shortest Path First)のHelloパケットの利
用、或いはpingメッセージの利用)によって知ることができる。
【0113】
この場合、エッジノード22は、エッジノード27に対し、ホスト32の不存在に起因するLOC変更要求を送信する。すると、エッジノード27のCPU51は、エッジノー
ド22へ向けた“ホストIP2”宛てのパケットの送信を停止する。続いて、エッジノード27のCPU51は、エッジノードツリーの最終エッジ(エッジノード22)と同一階層に位置するエッジノード23,24の夫々に対し、各エッジノード22,23が“ホストIP2”を収容しているか否かを問い合わせる(問い合わせメッセージを作成して送信する)。エッジノード23,24のエッジノードアドレスは、エッジノード27の記憶装置53に予め保持されている。
【0114】
エッジノード23及び24の夫々は、“ホストIP2”宛てにpingメッセージを送信し、応答メッセージ“echo reply”を待つ。エッジノード23及び24の夫々は、応答メッセージの受領/非受領に基づき、問い合わせに対する回答メッセージ(“ホストIP2の存在/非存在)をエッジノード27に送信する。
【0115】
エッジノード27は、回答メッセージをエッジノード23及び24から受信することによって、エッジノード23又は24がホスト32を収容しているか否かを知ることができる。動作例3では、ホスト32は、エッジノード23に接続されているので、エッジノード27は、エッジノード23からの回答メッセージによって、ホスト32がエッジノード23に接続されていることを知ることができる。
【0116】
すると、エッジノード27のCPU51は、出口エッジノード(最終エッジ)を、エッジノード22からエッジノード23に変更する(エッジノード27から先のトンネルの再構築を行う)ための処理を行う。すなわち、エッジノード27は、エッジノード27が有するトンネル管理テーブル67(図20参照)における、“トンネル1”,“LOC2”のエントリを、新たなトンネル番号“2(トンネル2)”,“LOC3”に書き換える。また、エッジノード27は、エッジノード27が有する経路テーブル66(図21参照)における“ホストIP2”,“トンネル1”のエントリを、“ホストIP2”(変更なし),“トンネル2”に書き換える。上記したテーブル66,67に対する書き換えは、CPU51がスイッチカード52に対して書き換え指示を発行することによって行われる。これによって、エッジノード27より下位階層側において、アクセス網13へ移動したホスト32宛てのパケットを転送するためのトンネル2が構築された状態となる。
【0117】
テーブル66及び67の書き換えが完了したエッジノード27のCPU51は、スイッチカード52に対してパケット送信の再開指示を与える。スイッチカード52は、再開指示に従って、書き換え後のテーブル66及びテーブル67の登録内容に基づき、“ホストIP2”宛のパケットがLOC3を含むヘッダでカプセル化されたLISPパケットをエッジノード23へ送信する状態となる。このように、ホスト32が属するアクセス網が変更された場合には、最終エッジより一つ上位側のエッジノード(エッジノード27)から下位側のトンネルのみが再構築される。これによって、トンネル再構築に要する時間を短縮することができ、アクセス網の変更による転送の中断時間を短縮することができる。
【0118】
<動作例4>
動作例2の終了後に、ホスト32がアクセス網12からアクセス網13へ移動して、出口エッジノード(最終エッジ)がエッジノード22からエッジノード23へ変更された場合を仮定する。エッジノード22がLOC変更要求をエッジノード27へ送信し、エッジノード27がエッジノード23,24へ問い合わせを行い、回答メッセージによってエッジノード23がホスト32と接続されていることをエッジノード27が認識するまでのステップは、動作例3と同じである。
【0119】
但し、動作例4では、動作例2での動作によって、エッジノード27とエッジノード23とを結ぶトンネル“トンネル2”が既に構築されている(図25、図26)。このため、エッジノード27のCPU51は、トンネル管理テーブル27(図26)から、“トン
ネル1”,“LOC2”を削除する書き換え指示をスイッチカード52に与える一方で、経路テーブル66(図25)における“ホストIP2”,“トンネル1”のエントリを、“ホストIP2”,“トンネル2”に書き換える書き換え指示をスイッチカード52に与える。書き換え指示に従って、スイッチカード52は、エッジノード27の各テーブル66,67を更新する。これによって、動作例3と同様に、エッジノード22からエッジノード27までの間はトンネル1、エッジノード27からエッジノード23までの間はトンネル2が構築された状態となる。その後、動作例3と同様に、エッジノード27にて“ホストIP2”宛のパケットの転送処理が再開される。
【0120】
<第1実施形態の効果>
第1実施形態の動作例1によれば、ホスト間の通信開始時において、コア網10の入口エッジノード21がLOC要求を管理サーバ41へ送信することを契機として、入口エッ
ジノード21と出口エッジノード22とを結ぶ多段トンネルが一括で構築される。この
ため、エッジノード21,25,26,27の夫々が、下位階層のエッジノードとの間でトンネルを構築するために、対応する管理サーバ40にLOC要求を送信する場合に比べて、各エッジノードの負荷やトンネル構築に要する時間を短縮化することができる。また、エッジノード21における、ホスト32向け(“ホストIP2”向け)パケットの転送中断時間の短縮化が図られる。
【0121】
また、動作例2によれば、入口エッジノードが共通で、出口エッジノードが異なるホスト(ホスト33)へのトンネル構築時において、ツリーの分岐点となるエッジノード27より下位層側のトンネル(エッジノード27−エッジノード23間のトンネル)のみが新規に構築される。これによって、トンネル構築に要する時間や各エッジノードにおける負荷の低減を図ることができる。
【0122】
さらに、動作例3,4によれば、ホスト32が移動した場合に、エッジノード27における経路テーブル66及びトンネル管理テーブル67の書き換えによって、移動後のホスト32に対し、適正にパケットを転送することができる。動作例3、4によれば、下記の利点が得られる。
【0123】
図27の参考図に示すように、ホスト31とホスト32との通信において、エッジノード21とエッジノード22との間にトンネルが構築された場合を仮定する。この場合において、ホスト32が、アクセス網12からアクセス網13へ移動し、ホスト32が接続されるエッジノードがエッジノード22からエッジノード23へ変更された場合を仮定する。
【0124】
このとき、エッジノード22は、エッジノード21へLOC変更を通知し、エッジノード21は、エッジノード23との間でトンネルを再構築する。これによって、ホスト32向けのパケット転送を継続することができる。エッジノード22からエッジノード21へLOC変更が通知され、トンネルが再構築されるまでの間、ホスト32へのパケット転送が途絶える。エッジノード21とエッジノード22との距離が長い程、パケット転送の中断時間は大きくなる。これに対し、動作例3、4によれば、エッジノード21より距離が近いエッジノード27へLOC変更が通知されるので、パケット転送の中断時間の短縮化を図ることができる。
【0125】
また、ホスト31と通信するホスト32が、アクセス網12→アクセス網13→アクセス網14へ移動し、ホスト32が接続されるエッジノードがエッジノード22→エッジノード23→エッジノード24のように変更された場合でも、トンネル再構築に係る処理は、エッジノード27におけるテーブル66及び67の書き換えだけで済む。従って、パケット転送の中断時間の長期化を抑え、円滑な通信の継続を期待することができる。
【0126】
<変形例1>
動作例1,2では、管理サーバ44は、最終エッジ(エッジノード22,23)の1つ前のエッジノード(エッジノード27)へLOC応答を送信する。これによって、最終エッジにおける処理が省略されるので、最終エッジの処理負荷が軽減されるとともに、トンネル確立のための処理時間を短くすることができる。
【0127】
但し、上述したように、管理サーバ40が最終エッジにLOC応答を送信する構成が採用されても良い。この場合、図19のS33のように、LOC応答を受信した最終エッジは、LOC応答を修正することなく、LOC応答中のLOCリストに格納されている1つ上位階層のエッジノードへLOC応答を転送する。この場合には、最終エッジのエッジノードは、宛先ホストが確かに接続されているか確認したり、あるいは、トンネルから受信されるパケットのQoS(Quality of Service)制御の設定を行ったりできるという利点がある。
【0128】
<変形例2>
図1及び図10に示した例では、管理サーバ40のトポロジにおける最下位層の管理サーバ44がエッジノードツリーにおける複数階層のエッジノード(エッジノード27,22,23)を管理している。管理サーバ40のトポロジにおいて最上位階層、あるいは中位階層に位置する管理サーバ40が複数階層のエッジノードを管理するように、第1実施形態の構成を変更可能である。
【0129】
例えば、管理サーバ43が存在せず、管理サーバ42がエッジノード25及びエッジノード26を管理する場合には、管理サーバ42は、図29に示すLOC管理サーバ情報テーブル89と、図30に示すホストID−LOC管理テーブル90を保持する。図28に示すように、LOC管理サーバ情報テーブル89は、“ホストIP2”と“ホストIP3”の双方に対して、管理サーバ44のIPアドレスが保持された状態になる。また、図29に示すように、ホストID−LOC管理テーブル90は、“ホストIP2”と“ホストIP3”の夫々に対して、“LOC5”及び“LOC6”からなるLOCリストを保持する状態となる。
【0130】
そして、変形例2では、上記したフェーズ4において、以下のような動作が行われる。すなわち、LOC要求を受信した管理サーバ42のCPU81は、ホストID−LOC管理テーブル90(図30)を参照し、“ホストIP2”に対応するエントリを検索する。エントリが検索されると、管理サーバ42のCPU81は、検索されたエントリからLOCリスト(LOC5,LOC6)を取得する。検索されたエントリ中の最終エッジ情報はNo情報であるので、管理サーバ42のCPU81は、LOC5及びLOC6が格納されたLOC要求を、LOC管理サーバ情報テーブル89(図29)から検索される管理サーバ44のIPアドレスへ転送する。
【0131】
変形例2によれば、LOC要求に対する処理を行う管理サーバ40の数を減らすことができるので、多段トンネル構築に要する時間の短縮化を期待することができる。
〔第2実施形態〕
次に、本発明の第2実施形態について説明する。第2実施形態は、第1実施形態との共通点を含むので、主として相違点について説明し、共通点については詳細な説明を省略する。第2実施形態における動作例として、図1に示したネットワークシステムにおいて、
第1ホスト33がホスト32へパケットを転送する場合の動作を説明する。
通常、送信側ホスト(ホスト31)が接続している入口エッジノード(エッジノード2
1)のLOC管理サーバ情報テーブル89には、エッジノードツリーのルートとなるエッジノード(エッジノード25)を管理している管理サーバ40(管理サーバ42)のIP
アドレスが登録される。このため、エッジツリー内のリーフ間での通信でも、ルートのエッジノード20(エッジノード25)を経由するパケット転送となってしまう。コア網10内でのパケット転送は、エッジノードツリーのルートを起点として行われるように制御されるからである。
【0132】
第2実施形態では、エッジノード20が、ホストID−LOC管理テーブル90を最初に参照することによって、ルートのエッジノード20(エッジノード25)を経由しない効率的なトンネルを確立し、効率的な転送を行うことを可能にする手法について説明する。以下の説明においては、第1実施形態の動作例1と同様に、図11〜図16に示したような、LOC管理サーバ情報テーブル89,ホストID−LOC管理テーブル90が管理サーバ41〜44に保持されていることを仮定する。
【0133】
図1に示すネットワークシステムにおいて、ホスト33がホスト32向けのパケット(宛先IPアドレス“ホストIP2”)を送信する。“ホストIP2”宛のパケットを受信したエッジノード23は、経路テーブル66を参照し、パケットの転送経路を特定する。ここで、“ホストIP2”宛てのパケットが最初に到着したときには、経路テーブル66には“ホストIP2”宛の転送先を登録したエントリが存在しない。このため、エッジノード23は、“ホストIP2”に対応するLOCを解決するためのLOC要求を管理サーバ44へ送信する。
【0134】
LOC要求を受信した管理サーバ44のCPU81は、管理サーバ44が保持するホストID−LOC管理テーブル90(図16)を参照し、管理下のエッジノードから送信されたLOC要求であるか否かを判別する。図16に示す例では、“ホストIP2”に対するエッジノードリスト(LOCリスト(LOC7,LOC2))がテーブル90に登録されている。
【0135】
管理サーバ44のCPU81は、宛先ホストに最も近いエッジノードのLOCをLOCリストから抽出する。図16に示す例では、エントリ中のLOCリストに含まれるLOCは、ルートからリーフへ向かう方向で並べて登録されている。従って、LOCリスト中の最後に配置されたLOC2が宛先ホスト(ホスト32)に最も近いエッジノードのLOCである。従って、CPU81は、LOC2を抽出し、抽出したLOC2が格納されたLOC応答を生成し、ネットワークインタフェース84を介してエッジノード23へ直接に返信する。
【0136】
LOC応答を受信したエッジノード23は、エッジノード23が有するトンネル管理テーブル67に対し、LOC応答に格納された“LOC2”と、“LOC2”に対応するトンネル番号とを含むエントリを登録する。また、エッジノード23のCPU51は、スイッチカード52に対する指示によって、エッジノード23が有する経路テーブル66に対して、“ホストIP2”に対応する転送経路情報としてエッジノードアドレス“LOC2”が格納されたエントリを登録する。
【0137】
これによって、ホスト33から得たホスト32(ホストIP2)宛のパケットをエッジノード23とエッジノード22との間に構築されたトンネルを通じてエッジノード22へ転送することができる。すなわち、“ホストIP2”宛のパケットに“LOC2”を含むヘッダが付与されたカプセル化パケット(LISPパケット)をエッジノード22へ転送することができる。エッジノード22では、通常のルーティングに従って、エッジノード22から受信されたLISPパケットに対するデカプセル処理を行い、得られた元のパケットをホスト32へ転送する。
【0138】
第2実施形態によれば、配下のエッジノード20からLOC要求を受信した管理サーバ
40が、ホストID−LOC管理テーブル90を参照し、LOC要求に含まれるホストIPアドレス(宛先ホストIPアドレス)に対応するエントリを検索する。このとき、対応するエントリが見つかれば、エントリ中のLOCリストから宛先ホストに最も近いエッジノード20のLOCが抽出され、このLOCを端点とするトンネルが構築される。従って、エッジノードツリーのルート又は中位階層のエッジノード20を経由しない、効率的なパケットの転送が可能となる。
【0139】
なお、エッジノードツリーにおける各エッジノード20がどの程度、宛先ホストと離れているかを勘案し、効率的な転送経路を用いることが考えられる。例えば、LOCリストが最終エッジを含んでいる場合にのみ、ツリーの中で近接しているとして、ダイレクトなエッジ−エッジ間のトンネルを確立することが考えられる。あるいは、ホストID−LOC管理テーブル90に効率的転送が可能であるか否かを示すフラグを設け、フラグがON
にセットされている場合のみ、上記した効率的な転送経路を構築する手法を選択するこ
とが考えられる。
【0140】
〔第3実施形態〕
次に、本発明の第3実施形態について説明する。第3実施形態は、第1実施形態との共通点を含むので、主として相違点について説明し、共通点については詳細な説明を省略する。
【0141】
図1に示すネットワークシステムの例では、エッジノードツリーが、最上位階層(エッジノード25),上位階層(エッジノード26),下位階層(エッジノード27),最下位層(エッジノード22,23,24)の4階層を有する。
【0142】
このようなツリー構成において、ホスト31がホスト32へパケットを転送する場合において、コア網10におけるパケットの転送経路が、常に全ての階層のエッジノード20を経由することは要求されない。例えば、第1実施形態で説明したようなホストの移動が頻繁に発生したり、広範に移動したりする場合では、パケット転送経路が全ての階層のエッジノード20を経由するように、転送経路を決定することが考えられる。これに対し、ホストの移動が頻繁に発生しない、あるいは、ホストの移動による一時的な切断よりも、経由エッジノード20の削減によって低遅延で転送した方がよい通知が望まれる場合は、入口エッジノード(LOC1)と最下位層エッジノード(LOC2)とでダイレクトにトンネルを確立した方がよい場合があり得る。あるいは、LOC1とLOC2の間にすべての階層ではないいくつかの階層のエッジノード20を通過することによって、ホストの移動時の切り替え処理の効率化と、低遅延転送をバランスさせた経路を選択することがよい場合もある。これを実現するためには、以下の手法が考えられる。
【0143】
[方法1−1]
LOC要求を受信した管理サーバ40(第1実施形態における各管理サーバ41〜44)が、LOC要求に含まれたホストの宛先IPアドレス(宛先ホストIPアドレス)に応じてLOC要求を下位階層に位置する他の管理サーバ40に転送する場合に、管理サーバ40が管理しているエッジノード20(例えば、管理サーバ42であればエッジノード25、より具体的には、管理サーバ42が有するホストID−LOC管理テーブル90のLOCリストに含まれたLOCを持つエッジノード25)のLOCをLOC要求が有するLOCリストに追加するか否かを判定する。例えば、宛先ホストの移動時における効率的なトンネル切り替えを優先する場合には、LOCの追加が決定される。これに対し、例えば、パケットが通過するエッジノード20の数を削減した効率的なパケット転送を行うときには、LOCを追加しないことが決定される。
【0144】
また、上記したLOC要求にLOCを追加するか否かの判定時において、移動時の効率
的な切り替え処理と効率的なパケット転送のバランスとが考慮され、管理サーバ40が管理するエッジノード20のうち、パケットが経由(通過)すべき一部のエッジノード20のLOCのみをLOC要求のLOCリストに追加することを決定することもできる。LOC要求は宛先ホストIPアドレスに従って、下位階層に位置する他の管理サーバ40へ送信される。
【0145】
[方法1−2]
LOC要求を受信した管理サーバ40(第1実施形態における各管理サーバ41〜44)が、LOC要求に含まれた宛先ホストIPアドレスに応じて送信するLOC応答に対し、管理サーバ40自身が管理するエッジノード20のLOCを追加(格納)するか否かを判定する。そして、ホスト移動時の効率的なトンネル切り替え処理を優先する場合には、管理サーバ40は、LOCの追加を決定し、管理サーバ40自身が管理するエッジノード20のLOCをLOC応答に格納し、所定のエッジノード20へ送信する。そうでなければ、LOCを追加しないことが決定される。
【0146】
また、LOC応答にLOCを追加するか否かの判定時において、ホスト移動時の効率的な切り替え処理と効率的なパケット転送とのバランスを考慮し、管理サーバ40自身が管理するエッジノード20のうちの一部をパケットが経由するように、パケットが経由すべきエッジノード20のLOCのみをLOC応答に追加することを決定することも可能である。
【0147】
[方法1−3]
管理サーバ40(第1実施形態における各管理サーバ41〜44)によって受信されるLOC要求に対し、宛先ホストIPアドレスだけでなく、送信元ホストIPアドレス,プロトコルID,ポート番号のような、管理サーバ40が管理するLOCの全部追加、一部追加、追加無しの何れかを選択するための選択用情報が格納される。選択用情報に基づいて、LOCの全部追加、一部追加、追加無しが判定される。
【0148】
[方法2−1]
第1実施形態で説明したようなLOCリストを保持したLOC応答を受信したエッジ
ノード20(第1実施形態におけるエッジノード27,26,25)が、LOC応答に含まれる宛先ホストIPアドレス,又は、ホストの移動時の効率的な切り替え処理と効率的なパケット転送のバランスを考慮した結果に基づいて、パケットが通過するエッジノード(パケット転送時にバイパスされるエッジノード)を決定する。エッジノードは、決定の結果に従って、LOC応答中のLOCリストから、バイパスされる(パケットが経由しない)1以上のエッジノードのLOCを削除する。LOC応答は、上位階層のエッジノードへ転送される。
【0149】
[方法2−2]
エッジノード(第1実施形態におけるエッジノード27,26,25)が受信する応答に宛先ホストIPアドレスだけでなく、送信元ホストIP、プロトコルID、ポート番号などのような、LOC応答に格納されたLOCリストから、パケットが通過すべき(パケットがバイパスすべき)エッジノードを選択するための選択用情報が格納される。選択用情報に基づいて、パケットがバイパスすべきエッジノードが決定され、決定されたエッジノードのLOCがLOC応答のLOCリストから削除する。
【0150】
[判定基準]
上記した方法1−1,1−2,1−3におけるLOCの全部追加、一部追加、追加無しの判定,及び方法2−1,2−2におけるLOCの一部削除、削除無しの判定に使用される判定基準として、以下のものを例示できる。
(1)エッジノードの輻輳度合
各エッジノードにおける輻輳度合が監視され、輻輳度合に応じて対応するエッジノードが除外されるように、管理サーバ40におけるLOCの追加、エッジノードにおけるLOCの削除が実施される。
【0151】
輻輳度合の監視は、例えば、エッジノード20,管理サーバ40、又は専用の監視サーバ(監視用PC;図示せず)で実施することができる。監視結果(すなわち、エッジノードの輻輳の有無を示す情報(輻輳情報))は、適宜のタイミングでInband通信又はOutband通信により、管理サーバ40又はエッジノード20に通知される構成が適用される。
【0152】
エッジノード20の輻輳情報は、当該エッジノード20を管理する管理サーバ40に取得される。例えば、エッジノード25の輻輳情報は、管理サーバ42によって取得される。管理サーバ40が取得する輻輳情報は、例えば、管理サーバ40の二次記憶装置(HDD83)に格納される。輻輳情報は、例えば、管理サーバ40が有するホストID−LOC管理テーブル90に格納することができる。例えば、テーブル90のエントリに輻輳の有無を示すフラグ(例:0(オフ):輻輳なし、1(オン):輻輳あり)の格納領域を設けることができる。
【0153】
そして、管理サーバ40のCPU81が、テーブル90から検索したエントリ中のLOCリストをLOC要求に追加するか否かが判定される場合に、フラグがオフであれば、LOCリストがLOC要求に追加され、フラグがオンであれば、LOC要求へLOCリストが追加されないようにすることができる。エントリ中に複数のLOCが格納される場合、輻輳の有無を示すフラグとして、複数のLOCを代表する1つのフラグを用意してもよく、LOC毎に用意されても良い。LOC毎にフラグが用意される場合には、一部のフラグがオンで、一部のフラグがオフとなることによって、LOCの一部追加を実現することができる。
【0154】
エッジノード20の輻輳情報は、LOC応答を受信するエッジノード20に通知、又はエッジノード20自身の取得によって取得される。例えば、エッジノード27は、エッジノード22の輻輳情報を、エッジノード22,管理サーバ44,監視サーバから受領することができる。一方で、エッジノード27の輻輳情報は、エッジノード27自身で監視した結果を使用することができる。輻輳情報は、例えば、エッジノード20の記憶装置53で保持される。
【0155】
LOC応答を受信したエッジノード20のCPU51は、記憶装置53に保持された輻輳情報を参照し、LOC応答中のLOCの一部を削除するか否かを判定する。記憶装置53に保持された輻輳情報は、エッジノード毎の輻輳状態を示すものであっても、2以上のエッジノード20の輻輳状態を代表して示すものであっても良い。CPU51は、輻輳ありを示す輻輳情報に対応する1以上のLOCをLOC応答から削除する。これによって、LOCの一部削除が行われる。一方、全ての輻輳情報が輻輳なしを示すときには、LOCの一部削除が実施されない。
【0156】
また、LOC応答を管理サーバ40から最初に受信するエッジノード20(例えばエッジノード27)が、LOC応答中のLOCリストにLOCが格納されたエッジノード20の全て(例えば、エッジノード22,27,26,25)の輻輳情報を収集し、輻輳ありの輻輳情報に対応するLOCがLOC応答から削除されるようにしても良い。この場合、エッジノード27より上位側に位置するエッジノード26,25にて、LOCの一部削除の判定の実施を省略することができる(但し、トンネル確立のために用いたLOCの削除は除く)。
【0157】
(2)ホストの移動頻度
ホスト(例えば、図1のホスト32)が頻繁に出口エッジノードを切り替える(アクセス網間を移動する)場合には、LOC要求へのLOCの追加回避や、LOC応答からのLOC削除が実行されない制御が行われる。ホストの移動頻度は、公知の様々な手法を用いて入手することができる。例えば、最終エッジに該当する各エッジノード22,23,24がpingメッセージを用いてホスト32“ホストIP2”の接続状態を監視し、その監視結果を集約して、移動頻度(例えば大/小)を示す情報を作成し、所定の管理サーバ40やエッジノード20に移動頻度情報をセットする(記憶装置53,HDD83に保持)ことが考えられる。
【0158】
この場合、“ホストIP2”の移動頻度情報“小”がセットされた管理サーバ40は、LOCの追加回避を行い、“ホストIP2”の移動頻度情報“大”がセットされた管理サーバ40は、LOCの追加を行う。また、“ホストIP2”の移動頻度情報“小”がセットされたエッジノード20は、LOCの削除を行い、“ホストIP2”の移動頻度情報“大”がセットされた管理サーバ40は、LOCの削除を回避する。
これによって、移動頻度“大”のホストに関しては、多くのエッジノード20を経由する転送経路が適用され、移動時におけるトンネルの切り替え短縮化が図られるようにする。これに対し、移動頻度“小”のホストに関しては、経由エッジノードの数を減らすことができる。
【0159】
(3)LOC要求、LOC応答に含まれるパラメータ
方法1−3、方法2−2に示したように、LOC要求,LOC応答は、宛先ホストIPアドレス,送信元ホストIPアドレス,プロトコルID,ポート番号のような複数のパラメータを含む選択用情報を有することができる。
【0160】
例えば、特定の宛先ホストIPに対しては、様々な事情(例えば移動頻度)を反映して、常時エッジノード20のバイパスが行われない(LOCの追加回避や削除が行われない)設定(第1設定)、或いは逆の設定(常に一部のエッジノード20をバイパスする設定:第2設定)を行うことができる。或いは、特定のパケットフロー(送信元IPアドレス及び宛先IPアドレスで特定される)に対して、上記第1設定と第2設定との何れを適用するかを決定することができる。
【0161】
また、短時間でのトンネル切り替えが要求されるアプリケーション(プロトコルIDやポート番号で特定される)については、第1設定が適用され、余裕を持ったトンネル切り替えが許容されるアプリケーションについては第2設定が適用されることを決定することができる。
【0162】
或いは、上記した複数のパラメータの組合せ(例えば、パケットフロー+アプリケーション)によって、第1設定と第2設定との何れを適用するかを決定することもできる。第2設定においてバイパスされるエッジノード20は適宜決定することができる。
【0163】
また、上記したようなLOC追加回避の判定及び処理は、管理サーバ40のCPUによって行われる。管理サーバ40のHDD83のような二次記憶装置は、LOC追加回避の判定用の情報を保持することができる。LOC削除の判定及び処理は、エッジノード20のCPU51によって行われる。LOC削除の判定用情報は、記憶装置53で保持しておくことができる。
【0164】
<第3実施形態における管理サーバ、エッジノードの処理>
以下、第3実施形態における管理サーバ40及びエッジノード20における処理例を示す。第3実施形態におけるネットワークシステム,管理サーバ41〜44及びエッジノー
ド20(エッジノード21〜29)の構成は、第1実施形態と同様である(図1〜図9参照)。但し、第3実施形態では、上記した方法1−1〜2−2を考慮し、管理サーバ41〜44及びエッジノード20(エッジノード21〜29)の夫々における処理が第1実施形態と異なる。
【0165】
図31は、第3実施形態における管理サーバ40(各管理サーバ41〜44)の処理例を示すフローチャートである。図31に示すフローチャートにおいて、S21〜S23の処理は、第1実施形態における管理サーバ40の処理(図18)と同様であるので説明を省略する。
【0166】
S23において、ホストID−LOC管理テーブル90から検索されたエントリ中の最終エッジ情報がNo情報である場合には、処理がS101へ進む。S101では、管理サーバ40は、検索されたエントリに含まれるLOCリストのうち、パケット転送時にパケットが通過すべきエッジノード20のLOCのみを抽出する。抽出は、上記した判定基準に基づいて行われる。次のS24では、抽出されたLOCのみがLOC要求のLOCリストに追加される。S101でLOCが抽出されない場合もあり得る。この場合、S24において、LOCの追加は行われない。その後のS25〜S27の処理は、第1実施形態と同様であるので説明を省略する。
【0167】
S23において、ホストID−LOC管理テーブル90から検索されたエントリ中の最終エッジ情報がYes情報である場合には、処理がS102へ進む。S102でも、S101と同様の処理が行われる。その後のS103において、管理サーバ40は、S102で抽出されたLOCと、LOC要求のLOCリストに含まれたLOCとが格納されたLOC応答が作成される。そして、管理サーバ40は、LOC応答に格納されたLOCリスト中の最後に位置するエッジノード20又は最後から1つ前のエッジノード20へLOC応答を送信する(S104)。
【0168】
図32は、LOC応答を受信したエッジノード20における処理を示すフローチャートである。図32の処理において、S31〜S35,S36の処理は、第1実施形態(図19)と同様であるので説明を省略する。
【0169】
これに対し、S35にて、LOC応答を受信したエッジノード20がホストからのパケットを受信したエッジノード20でない場合には、処理がS105に進む。S105では、第1実施形態と同様に、LOC応答中のLOCリストから、最後に位置するLOCが削除される。S105では、エッジノード20は、上述した判定基準に従って、LOC応答中のLOCリストから、パケット転送経路が通過を要しない(バイパスすべき)エッジノード20のLOCを抽出し、抽出したLOCをLOC応答から除去する。但し、判定基準に照らして抽出すべきLOCがない場合には、LOCの除去は行われない。
【0170】
その後、S106において、エッジノード20は、LOC応答中のLOCリストにおいて最後から1つ前に格納されたLOCを有するエッジノード20へLOC応答を送信する。
【0171】
<動作例>
以下、第3実施形態における動作例について説明する。
(動作例1)
動作例1として、第1実施形態の動作例1と同様に、ホスト31とホスト32とが通信を開始する場合を仮定する。但し、ホスト32(ホストIP2)へのパケット転送に関して、ホスト移動時の効率的なトンネル切り替え処理の優先が要求されない環境下であると仮定する。そして、管理サーバ43に対して、ホストID−LOC管理テーブル90に格
納されたLOC(LOC6)をLOC要求に追加しない判定を行うための情報が静的に又は動的に管理サーバ43に対して設定されていると仮定する。
【0172】
この場合、フェーズ5(フェーズ1〜4は第1実施形態と同じ)において、管理サーバ43は、管理サーバ43が管理するエッジノード20のLOCであるLOC6をLOC要求中のLOCリストに追加することなく、次の管理サーバ44へ送信する。
【0173】
フェーズ6において、LOC要求を受信した管理サーバ44は、第1実施形態と同様の処理を行い、エッジノード27へLOC応答を送信する。この場合、LOC応答のLOCリストは、LOC5,LOC7,LOC2を含む状態となる。
【0174】
フェーズ7では、エッジノード27は、LOC応答中のLOC2を用いてエッジノード
22とのトンネルを確立し、LOC応答からLOC2を削除した後に、エッジノード2
6ではなくエッジノード25へLOC応答を送信する。従って、フェーズ8がスキップされて、フェーズ9が実施される。これによって、エッジノード25は、エッジノード26がバイパスされるトンネルをエッジノード27との間で確立する。フェーズ9及び10は、第1実施形態と同様である。このようにして、エッジノード26がバイパスされた複数段トンネルを構築することができる。
【0175】
(動作例2)
動作例2として、第1実施形態の動作例1と同様に、ホスト31とホスト32とが通信を開始する場合を仮定する。但し、ホスト32(ホストIP2)へのパケット転送に関して、ホスト移動時の効率的なトンネル切り替え処理の優先が要求されない環境下であると仮定する。そして、エッジノード27に対して、LOC応答中のLOCリストから所定のLOC(例えばLOC6)を除去する設定が静的に又は動的にエッジノード27に対して設定されていると仮定する。
【0176】
この場合、第1実施形態におけるフェーズ1〜6が実施され、エッジノード27がLOC応答を管理サーバ44から受信する。フェーズ7において、エッジノード27は、エッジノード22とのトンネルを確立し、LOC2をLOC応答から削除する。さらに、エッジノード27は、上記した設定に従って、LOC6をLOC応答から除去する。以降の動作は、第3実施形態の動作例1と同様である。最終的にエッジノード26がバイパスされた複数段トンネルが確立され、ホスト31からホスト32へのパケット転送に使用される。
【0177】
第3実施形態によれば、第1実施形態における管理サーバ40やエッジノード20の少なくとも1つに対して、LOC要求にLOCを追加しない、又はLOC応答から所定のLOCを削除するための情報を設定しておくことによって、所望のエッジノード20がバイパスされたパケット転送経路(多段トンネル)を構築することができる。
【0178】
なお、上述した動作例1、2では、複数の管理サーバ40及び複数のエッジノード20の一箇所で、LOCの追加回避又はLOC除去が実施される例について説明したが、管理サーバ40及びエッジノード20の複数箇所において、LOCの追加回避又はLOC除去が実施されるようにしてもよい。実施箇所は適宜設定可能である。
【0179】
〔第4実施形態〕
次に、本発明の第4実施形態について説明する。第4実施形態は、第1〜3実施形態と共通点を有するので、主として相違点について説明し、共通点の詳細な説明は省略する。図33は、第4実施形態に係るネットワークシステムである。図33に示すように、第4実施形態では、第1実施形態のネットワークシステム(図1)と異なり、コア網10に含
まれる複数のエッジノード20(図33ではエッジノード21〜29)がメッシュ状に接続されている。
【0180】
このようなシステムにおいて、ホスト31とホスト32が通信を行うに当たり、ホスト31がホスト32(ホストIP2)向けのパケットをエッジノード21へ送信すると、第1実施形態の動作例1と同様の動作乃至処理が行われ、入口エッジノード21と出口エッジノード22との間に、エッジノード25,26及び27を経由する多段トンネルを確立することができる。
【0181】
第4実施形態によれば、少なくとも第1実施形態の動作例1と同様に、コア網10にホスト間を結ぶ多段トンネル(複数のトンネル)を確立する場合における各エッジノード20及び各管理サーバ40の処理負荷を軽減することができる。また、多段トンネルの確立に要する時間を短縮化することが期待できる。第4実施形態の構成と、第2、3実施形態で説明した構成とは適宜組み合わせることができる。
【符号の説明】
【0182】
20,21〜27・・・エッジノード(中継装置)
31〜33・・・ホスト(端末装置)
40,41〜44・・・管理サーバ(管理装置)

【特許請求の範囲】
【請求項1】
パケットを受信する第1中継装置と、前記パケットの宛先アドレスを有する端末と接続された第2中継装置とを含む複数の中継装置と、
前記第1中継装置を管理する第1管理装置と、前記第2中継装置を管理する第2管理装置とを含む、前記複数の中継装置を管理する複数の管理装置とを備え、
前記第1中継装置は、前記パケットの転送に用いる中継装置アドレスを解決するための、前記宛先アドレスを含む要求メッセージを前記第1管理装置へ送信し、
前記複数の管理装置は、前記要求メッセージが前記第1管理装置から前記第2管理装置へ到達するように、前記宛先アドレスに対応する転送情報に基づいて前記要求メッセージを転送するとともに、前記第1中継装置から前記第2中継装置へ到達する前記パケットが通過すべき1以上の中継装置の中継装置アドレスを前記要求メッセージに格納し、
前記第2管理装置は、前記要求メッセージに格納された複数の中継装置アドレスと、前記第2中継装置の中継装置アドレスを含む1以上の中継装置アドレスとが格納された応答メッセージを生成し、
前記応答メッセージに中継装置アドレスが格納された、前記第2中継装置を除く中継装置の夫々は、前記応答メッセージを受信し、前記応答メッセージに格納された中継装置アドレスを用いて、中継装置間の前記パケットの転送に使用されるトンネルを確立するとともに、少なくともトンネルの確立に用いた中継装置アドレスを前記応答メッセージから削除し、前記応答メッセージに残った1以上の中継装置アドレスの何れかへ前記応答メッセージを転送し、
前記応答メッセージを受信する前記第1中継装置は、前記応答メッセージに格納された中継装置アドレスを用いて次ホップに相当する中継装置との間でトンネルを確立し、
前記パケットは、前記第1中継装置、及び前記パケットが通過する中継装置の夫々から前記宛先アドレスに対応するトンネルへ送出されるときに、宛先中継装置アドレスを含むヘッダを用いてカプセル化される
ネットワークシステム。
【請求項2】
前記第1中継装置と前記第2中継装置との間における前記パケットの転送経路上の各中継装置間にトンネルが確立されている状態において、前記第2中継装置と異なる、前記複数の中継装置に含まれる第3中継装置に接続された端末宛のパケットを前記第1中継装置が受信した場合には、前記パケットの転送経路において前記第1中継装置と前記第2中継装置との間に位置する中継装置である第4中継装置が前記第3中継装置との間で新たなトンネルを確立し、
前記第3中継装置に接続された端末宛のパケットは、前記第1中継装置から前記第4中継装置までの経路において既に確立されているトンネルを用いて転送され、前記第4中継装置から前記第3中継装置までの経路において新たなトンネルを用いて転送される
請求項1に記載のネットワークシステム。
【請求項3】
前記第1中継装置と前記第2中継装置との間における前記パケットの転送経路上の各中継装置間にトンネルが確立されている状態において、前記端末が前記第2中継装置と切断され且つ前記第2中継装置と異なる、前記複数の中継装置に含まれる第3中継装置と接続された場合には、前記パケットの転送経路において前記第1中継装置と前記第2中継装置との間に位置する中継装置である第4中継装置が前記第3中継装置との間で新たなトンネルを確立し、
前記端末宛のパケットは、前記第1中継装置から前記第4中継装置までの経路において、既に確立されているトンネルを用いて転送され、前記第4中継装置から前記第3中継装置までの経路において新たなトンネルを用いて転送される
請求項1に記載のネットワークシステム。
【請求項4】
前記第1管理装置は、前記宛先アドレスに対応する、前記要求メッセージの転送先である管理装置アドレスを保持した記憶装置と、前記管理装置アドレスへ前記要求メッセージの転送するための処理を行うプロセッサとを含み、
前記要求メッセージを受信する前記第1管理装置以外の管理装置は、前記宛先アドレスに対応する、前記要求メッセージの転送先である管理装置アドレスと、前記要求メッセージに格納すべき1以上の中継装置アドレスと、自管理装置が前記第2管理装置か否かを示す情報とを保持する記憶装置と、自管理装置が前記第2管理装置でなければ、前記1以上の中継装置アドレスを前記要求メッセージに格納する一方で、前記管理装置アドレスへ前記要求メッセージを転送するための処理を行い、自管理装置が前記第2管理装置であれば、前記応答メッセージを生成して送信する処理を行うプロセッサとを含む、
請求項1から3の何れか1項に記載のネットワークシステム。
【請求項5】
前記応答メッセージを受信する、前記第2中継装置を除く前記各中継装置は、前記応答メッセージに格納された中継装置アドレスの1つと、トンネル識別情報と、前記宛先IPアドレスとが関連づけられた情報を記憶装置に保持し、受信されるパケットの宛先アドレスに対応するトンネルへ当該パケットがカプセル化されたパケットを送信するための処理を行う装置を含む
請求項1から4の何れか1項に記載のネットワークシステム。
【請求項6】
前記複数の中継装置は、前記パケットの転送経路上に位置する所定の中継装置をルートとするツリー状のトポロジを有し、
前記第2中継装置は、前記複数の中継装置に含まれる第3中継装置とともにツリーのリーフに位置し、
前記第1中継装置と前記第2中継装置との間の各中継装置間でトンネルが夫々確立されている状態において、前記第3中継装置に接続された端末が、前記第2中継装置に接続された端末に対してパケットを送信する場合には、前記第1中継装置から前記第2中継装置へのパケットの転送経路において前記ルートに位置する中継装置と前記第2中継装置との間に位置する中継装置である第4中継装置が、前記第3中継装置との間でトンネルを構築し、第3中継装置からトンネルを通じて到達するパケットを前記第2中継装置の間で確立されているトンネルへ転送する
請求項1,4又は5に記載のネットワークシステム。
【請求項7】
前記要求メッセージを受信する前記第1管理装置以外の管理装置の少なくとも1つにおける記憶装置は、前記要求メッセージに格納すべき1以上の中継装置アドレスを前記要求メッセージに格納するか否かを判定するための判定用情報を保持し、前記プロセッサは、前記判定用情報に基づいて、1以上の中継装置アドレスの一部又は全部の格納,及び格納回避の何れかを行う
請求項4に記載のネットワークシステム。
【請求項8】
前記応答メッセージを受信する、前記第2中継装置を除く複数の中継装置の少なくとも1つは、前記応答メッセージに格納された特定の中継装置アドレスを削除するか否かの判定用情報を保持する記憶装置と、前記判定用情報に応じて前記特定の中継装置アドレスの削除又は削除回避を行う制御装置とを含む
請求項1に記載のネットワークシステム。
【請求項9】
前記第2管理装置から送信された応答メッセージは、前記応答メッセージに格納された複数の中継装置アドレスの前記パケットの通過順において、前記第2中継装置より1つ前に位置する中継装置で受信され、その後、前記パケットの通過順と逆順で、前記応答メッセージに格納された中継装置アドレスを有する各中継装置に転送される
請求項1に記載のネットワークシステム。
【請求項10】
前記第2管理装置から送信された応答メッセージは、前記第2中継装置で受信され、前記第2中継装置は、前記応答メッセージに格納された複数の中継装置アドレスの前記パケットの通過順において、前記第2中継装置より1つ前に位置する中継装置へ転送され、その後、前記パケットの通過順と逆順で、前記応答メッセージに格納された中継装置アドレスを有する各中継装置に転送される
請求項1に記載のネットワークシステム。
【請求項11】
パケットを受信する第1中継装置と、前記パケットの宛先アドレスを有する端末と接続された第2中継装置とを含む複数の中継装置と、
前記第1中継装置を管理する第1管理装置と、前記第2中継装置を管理する第2管理装置とを含む、前記複数の中継装置を管理する複数の管理装置とを備えるネットワークシステムにおける複数のトンネルの確立方法であって、
前記第1中継装置は、前記パケットの転送に用いる中継装置アドレスを解決するための、前記宛先アドレスを含む要求メッセージを前記第1管理装置へ送信し、
前記複数の管理装置は、前記要求メッセージが前記第1管理装置から前記第2管理装置へ到達するように、前記宛先アドレスに対応する転送情報に基づいて前記要求メッセージを転送するとともに、前記第1中継装置から前記第2中継装置へ到達する前記パケットが通過すべき1以上の中継装置の中継装置アドレスを前記要求メッセージに格納し、
前記第2管理装置は、前記要求メッセージに格納された複数の中継装置アドレスと、前記第2中継装置の中継装置アドレスを含む1以上の中継装置アドレスとが格納された応答メッセージを生成し、
前記応答メッセージに中継装置アドレスが格納された、前記第2中継装置を除く中継装置の夫々は、前記応答メッセージを受信し、前記応答メッセージに格納された中継装置アドレスを用いて、中継装置間の前記パケットの転送に使用されるトンネルを確立するとともに、少なくともトンネルの確立に用いた中継装置アドレスを前記応答メッセージから削除し、前記応答メッセージに残った1以上の中継装置アドレスの何れかへ前記応答メッセージを転送し、
前記応答メッセージを受信する前記第1中継装置は、前記応答メッセージに格納された中継装置アドレスを用いて次ホップに相当する中継装置との間でトンネルを確立し、
前記パケットは、前記第1中継装置、及び前記パケットが通過する中継装置の夫々から前記宛先アドレスに対応するトンネルへ送出されるときに、宛先中継装置アドレスを含むヘッダを用いてカプセル化される
ネットワークシステムにおける複数のトンネルの確立方法。
【請求項12】
パケットの転送経路の起点に位置する起点中継装置と、前記転送経路の終点に位置する終点中継装置と、始点中継装置と終点中継装置との間に位置する1以上の中間中継装置とを含む複数の中継装置が中継装置間を結ぶパケット転送用のトンネルを夫々確立するネットワークシステムにおいて、前記複数の中継装置のアドレスを管理する複数の管理装置の1つである管理装置であって、
前記起点中継装置から送信され、且つ前記起点中継装置を管理する前記複数の管理装置の1つを経由した、前記終点中継装置のアドレスを解決するための要求メッセージを受信する受信部と、
前記要求メッセージに含まれたパケットの宛先アドレスに対応する、前記要求メッセージの転送先である管理装置アドレスと、前記要求メッセージに格納すべき1以上の中継装置アドレスと、自管理装置が前記終点中継装置を管理する終点管理装置か否かを示す情報と、を保持する記憶装置と、
自管理装置が前記終点管理装置でなければ、前記1以上の中継装置アドレスを前記要求メッセージに格納する一方で、前記管理装置アドレスへ前記要求メッセージを転送するための処理を行い、自管理装置が前記終点管理装置であれば、前記要求メッセージに対する
応答メッセージを生成して送信する処理を行うプロセッサと
を含む管理装置。
【請求項13】
前記応答メッセージは、前記始点中継装置、前記終点中継装置、及び前記1以上の中間中継装置の中継装置アドレスを含み、前記終点管理装置から前記終点中継装置、又は前記終点中継装置に隣接する中間中継装置に転送される
請求項12に記載の管理装置。
【請求項14】
前記記憶装置は、前記要求メッセージに格納すべき1以上の中継装置アドレスを前記要求メッセージに格納するか否かを判定するための判定用情報を保持し、
前記プロセッサは、前記判定用情報に基づいて、前記1以上の中継装置アドレスの一部又は全部の格納及び格納回避の何れかを行う
請求項12又は13に記載の管理装置。
【請求項15】
パケットの転送経路の起点に位置する起点中継装置と、前記転送経路の終点に位置する終点中継装置と、始点中継装置と終点中継装置との間に位置する1以上の中間中継装置とを含む複数の中継装置が中継装置間を結ぶパケット転送用のトンネルを夫々確立するネットワークシステムにおいて、前記中間中継装置となる中継装置であって、
前記始点中継装置から送信された、前記終点中継装置の中継装置アドレスを解決するための要求メッセージに対する応答メッセージであって、中継装置自身の下流側に位置する隣接中継装置から前記始点中継装置までの各中継装置の中継装置アドレスが格納された応答メッセージを受信する受信部と、
前記応答メッセージ中の前記隣接中継装置の中継装置アドレスを用いて、前記隣接中継装置との間でトンネルを確立し、前記応答メッセージから前記隣接中継装置の中継装置アドレスを削除し、且つ中継装置自身の上流側に位置する中継装置へ前記応答メッセージを転送する処理を行う制御装置と
を含む中継装置。
【請求項16】
前記応答メッセージに格納された特定の中継装置アドレスを削除するか否かの判定用情報を保持する記憶装置をさらに含み、
前記制御装置は、前記判定用情報に応じて前記特定の中継装置アドレスの削除又は削除回避を行う
請求項15に記載の中継装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate