(57)【要約】【課題】同一筐体内で複数の仮想ルータを動作させる場合に発生する制御信号数の増加を抑制する。【解決手段】記憶部１２が、仮想ルータが動作する仮想マシンを識別する識別情報と、該仮想ルータの配下のアドレスとを対応付けしたアドレス識別テーブル１２ｂを格納し、配信部１１ａが、アドレス識別テーブル１２ｂを隣接するネットワーク装置に配信し、特定部１１ｂが、ネットワーク装置から受信したパケットのヘッダに含まれる識別情報を用いて、宛先のアドレスに対応する仮想ルータが動作する仮想マシンを特定し、転送部１１ｃが、特定された仮想マシンに受信したパケットを、パケットのヘッダを変換して転送する。【選択図】図２
2019161487.tif 000002
【特許請求の範囲】
【請求項１】
仮想ルータが動作する仮想マシンを識別する識別情報と、該仮想ルータの配下のアドレスとを対応付けしたアドレス識別テーブルを記憶する記憶部と、
前記アドレス識別テーブルを隣接するネットワーク装置に配信する配信部と、
前記ネットワーク装置から受信したパケットのヘッダに含まれる識別情報を用いて、宛先のアドレスに対応する仮想ルータが動作する仮想マシンを特定する特定部と、
特定された前記仮想マシンに前記パケットを、該パケットのヘッダを変換して転送する転送部と、
を備えることを特徴とする中継装置。
【請求項２】
前記特定部は、受信したパケットがＣ（Control）−ＰｌａｎｅのパケットかＵ（User）−Ｐｌａｎｅのパケットかをさらに識別し、Ｕ−Ｐｌａｎｅのパケットである場合に、該パケットを特定した仮想マシンに転送し、Ｃ−Ｐｌａｎｅのパケットである場合に、該パケットを前記転送部に引き渡すことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記アドレス識別テーブルにおいて、複数の筐体内の仮想ルータが動作する仮想マシンが識別されることを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記識別情報は、ＶＲＦ（Virtual  Routing  and  Forwarding）におけるＲＤ（Route  Distinguisher）およびＲＴ（Route  Target）であり、前記アドレスは、ＩＰ（Internet  Protocol）アドレスであることを特徴とする請求項１〜３のいずれか１項に記載の中継装置。
【請求項５】
前記識別情報は、ＶＮＩ（VxLAN  Network  Identifier）であり、前記アドレスは、ＭＡＣ（Media  Access  Control）アドレスであることを特徴とする請求項１〜３のいずれか１項に記載の中継装置。
【請求項６】
中継装置で実行される中継方法であって、
仮想ルータが動作する仮想マシンを識別する識別情報と、該仮想ルータの配下のアドレスとを対応付けしたアドレス識別テーブルを記憶する記憶部を参照し、前記アドレス識別テーブルを隣接するネットワーク装置に配信する配信工程と、
前記ネットワーク装置から受信したパケットのヘッダに含まれる識別情報を用いて、宛先のアドレスに対応する仮想ルータが動作する仮想マシンを特定する特定工程と、
特定された前記仮想マシンに前記パケットを、該パケットのヘッダを変換して転送する転送工程と、
を含んだことを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置および中継方法に関する。
【背景技術】
【０００２】
企業等の組織に属する個人がＶＰＮ（Virtual  Private  Network）経由でリモートデスクトップを利用する場合に、サービス要件として、組織が異なれば同一のＩＰアドレスやＭＡＣアドレスを利用できることが要求される。すなわち、同一の設備を共用する他のユーザのアドレス設定に影響されないことが必要である。そこで、従来、複数のユーザを収容するＶＰＮ終端ルータでは、ＶＲＦ（Virtual  Routing  and  Forwarding、非特許文献１参照)やＶｘＬＡＮ（Virtual  extensible  Local  Area  Network、非特許文献２参照）を用いてネットワークを仮想的に分割している。
【０００３】
このＶＰＮ終端ルータを、専用のハードウェアに代えて仮想ルータを用いて実現する場合に、例えば、汎用サーバの性能を仮想ルータ１ライセンスで占有して、ＶＲＦやＶｘＬＡＮを設定する方法がある。ところが、仮想化のメリットは、必要なときに必要なだけのリソースを確保して、汎用サーバの余剰リソースを別の用途にも流用できる柔軟性にある。したがって、この方法は、専用ハードウェアを用いる場合と同様に予めマシンリソースを占有するため、現実的な選択肢とはいえない。
【０００４】
そこで、ＶＰＮ終端ルータとして、汎用サーバ内にＶＰＮ終端機能の提供に必要なマシンリソースを確保した複数の仮想マシン（ＶＭ，Virtual  Machine）を立ち上げて、ＶＭ上で仮想ルータを動作させ、ＶＲＦやＶｘＬＡＮを設定する方法を採るのが自然である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“MPLS-VPN  -  Part1”，[online]、ネットワークエンジニアとして、［２０１８年２月２０日検索]、インターネット＜URL:http://www.infraexpert.com/study/mpls6.html＞
【非特許文献２】“Deploy  a  VXLAN  Network  with  an  MP-BGP  EVPN  Control  Plane”，[online]、ＣＩＳＣＯ、［２０１８年２月２０日検索]、インターネット＜URL:https://www.cisco.com/c/en/us/products/collateral/switches/nexus-7000-series-switches/white-paper-c11-735015.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、同一筐体内で複数の仮想ルータを動作させる場合に、制御信号数が増加するという問題があった。例えば、各仮想ルータはそれぞれが独立したルータとして振る舞い、各仮想ルータ自身がルーチングを制御する。同一筐体内の複数の仮想ルータのそれぞれがルーチングプロトコルを用いて経路情報を交換したりＫｅｅｐＡｌｉｖｅを実施したりする際には、仮想ルータが動作する汎用サーバと隣接するネットワーク装置との間で大量の制御信号が行き交うことになる。この事象は、専用ハードウェア上でＶＲＦやＶｘＬＡＮを設定する場合と比較して、仮想ルータの数が増加するほど顕著に現れ、仮想ルータのスケールアウトの障害となっている。
【０００７】
本発明は、上記に鑑みてなされたものであって、同一筐体内で複数の仮想ルータを動作させる場合に発生する制御信号数の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明に係る中継装置は、仮想ルータが動作する仮想マシンを識別する識別情報と、該仮想ルータの配下のアドレスとを対応付けしたアドレス識別テーブルを記憶する記憶部と、前記アドレス識別テーブルを隣接するネットワーク装置に配信する配信部と、前記ネットワーク装置から受信したパケットのヘッダに含まれる識別情報を用いて、宛先のアドレスに対応する仮想ルータが動作する仮想マシンを特定する特定部と、特定された前記仮想マシンに前記パケットを、該パケットのヘッダを変換して転送する転送部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、同一筐体内で複数の仮想ルータを動作させる場合に発生する制御信号数の増加を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係る中継装置の処理概要を説明するための説明図である。
【図２】図２は、本実施形態に係る中継装置の概略構成を例示する模式図である。
【図３】図３は、ＶＭ識別テーブルおよびアドレス識別テーブルのデータ構成を例示する図である。
【図４】図４は、ＶＭ識別テーブルおよびアドレス識別テーブルのデータ構成を例示する図である。
【図５】図５は、ＶＭ識別テーブルおよびアドレス識別テーブルのデータ構成を例示する図である。
【図６】図６は、中継装置の処理を説明するための説明図である。
【図７】図７は、中継装置の処理を説明するための説明図である。
【図８】図８は、他の実施形態に係る中継装置の処理を説明するための説明図である。
【図９】図９は、他の実施形態に係る中継装置の処理を説明するための説明図である。
【図１０】図１０は、本実施形態に係る中継装置による中継処理手順を示すフローチャートである。
【図１１】図１１は、中継装置による中継処理の効果を説明するための説明図である。
【図１２】図１２は、中継プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１２】
［中継装置の処理概要］
図１は、本実施形態に係る中継装置の処理概要を説明するための説明図である。図１には、中継装置１０を含む中継システム１の概略構成が例示されている。図１に例示するように、中継システム１において、１台の汎用サーバ２の筐体内で複数の仮想マシン（以下、ＶＭとも記す。）３が起動し、各ＶＭ３上で仮想ルータ（以下、ｖＲとも記す。）４と中継装置１０とが動作している。
【００１３】
各仮想ルータ４とネットワークを介して対向するエッジルータとの間には、ＶＰＮが設定され、各仮想ルータ４の配下のアドレス空間は相互に影響されない。すなわち、異なる仮想ルータ４の配下に同じアドレスが設定され得る。
【００１４】
中継装置１０は、各仮想ルータ４が動作するＶＭ３を識別するとともに、各仮想ルータ４の配下のアドレスの情報を、ｖＳｗｉｔｃｈ５を介して収集し、対応するＶＭ３の識別情報と対応付けてアドレス識別テーブルとして管理している。また、中継装置１０は、汎用サーバ２に隣接するネットワーク装置であるルータ６を含む汎用サーバ２の外部のネットワーク装置に、アドレス識別テーブルを含む経路情報をルーチングプロトコルで広告する。
【００１５】
これにより、ルータ６は、仮想ルータ４の配下のアドレス宛のパケットを中継装置１０に転送する。パケットを受信した中継装置１０は、宛先アドレスに対応する仮想ルータ４が動作するＶＭ３を特定し、パケットのヘッダを変換して特定したＶＭ３に転送する。
【００１６】
このように、中継システム１において、汎用サーバ２に隣接するルータ６は、経路情報の交換やＫｅｅｐ  Ａｌｉｖｅの実施等の際、各仮想ルータ４に代えて中継装置１０との間で制御信号を交換する。したがって、汎用サーバ２内で動作する仮想ルータ４の数が増加しても、汎用サーバ２と隣接するルータ６との間の制御信号数の増加が抑制される。
【００１７】
［中継装置の構成］
図２は、本実施形態に係る中継装置の概略構成を例示する模式図である。図２に例示するように、中継装置１０は、ＮＰ（Network  Processor）やＦＰＧＡ（Field  Programmable  Gate  Array）等で実現され、メモリに記憶された処理プログラムを実行して、制御部１１として機能する。また、中継装置１０は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子で実現される記憶部１２を備える。
【００１８】
本実施形態において、記憶部１２は、ＶＭ識別テーブル１２ａとアドレス識別テーブル１２ｂとを格納する。ここで、図３〜図５は、ＶＭ識別テーブル１２ａおよびアドレス識別テーブル１２ｂのデータ構成を例示する図である。
【００１９】
図３に示すように、ＶＭ識別テーブル１２ａは、仮想ルータ４が動作する仮想マシン３と仮想マシン３を識別する仮想マシン識別情報とを対応づけたテーブルであり、所定の体系で割り当てられた仮想マシン識別情報を用いて、予め記憶部１２に格納される。図３に示すＶＭ識別テーブル１２ａには、例えば仮想マシンＶＭａの仮想マシン識別情報（識別子）がＸであることが示されている。
【００２０】
また、アドレス識別テーブル１２ｂは、仮想マシン識別情報と、該仮想ルータ４の配下のアドレスとを対応付けしたテーブルである。図３に示すアドレス識別テーブルには、例えば仮想マシン識別情報Ｘの仮想マシンの配下にアドレスａの端末が存在することが示されている。
【００２１】
なお、中継システム１に設定されるＶＰＮは、Ｌ３（Layer  3）ＶＰＮまたはＬ２（Layer  2）ＶＰＮで実現される。図４は、ＶＰＮがＬ３ＶＰＮで実現される場合のＶＭ識別テーブル１２ａおよびアドレス識別テーブル１２ｂのデータ構成を例示している。この場合に、仮想マシン識別情報は、ＶＲＦを識別するＲＤ（Route  Distinguisher）およびＲＴ（Route  Target）の組み合わせであり、アドレスは、ＩＰ（Internet  Protocol）アドレスである。ＲＴは、予めＭＰ−ＢＧＰネイバーとの整合がとられた値が設定される。また、ＲＤについても、ＭＰ−ＢＧＰネイバーと同じ値が設定されてもよい。
【００２２】
図４に示すＶＭ識別テーブル１２ａには、例えばＶＬＡＮ  ＩＤ「１０」に対応する仮想ルータ４が動作している仮想マシン３の仮想マシン識別情報が、ＲＤ「１：１００」およびＲＴ「１０：１００」であることが示されている。また、図４に示すアドレス識別テーブル１２ｂには、例えばＲＤ「１：１００」およびＲＴ「１０：１００」で識別される仮想マシン３上で動作する仮想ルータ４の配下のアドレス（ＩＰｖ４）が「１０．１．１．０／２４」であることが示されている。
【００２３】
また、図５は、ＶＰＮがＬ２ＶＰＮで実現される場合のＶＭ識別テーブル１２ａおよびアドレス識別テーブル１２ｂのデータ構成を例示している。この場合に、仮想マシン識別情報は、ＶＮＩ（VxLAN  Network  Identifier）であり、アドレスは、ＭＡＣ（Media  Access  Control）アドレスである。ＶＮＩは、予めＭＰ−ＢＧＰネイバーとの整合がとられた値が設定される。
【００２４】
図５に示すＶＭ識別テーブル１２ａには、例えばＶＬＡＮ  ＩＤ「１０」の仮想ルータ４が動作している仮想マシン３の仮想マシン識別情報が、ＶＮＩ「１００」であることが示されている。また、図５に示すアドレス識別テーブル１２ｂには、例えばＶＮＩ「１００」で識別される仮想マシン３上で動作する仮想ルータ４の配下のアドレス（ＭＡＣアドレス）が「ｘｘ：ｘｘ：ｘｘ：ｘｘ：ｘｘ：０１」であることが示されている。
【００２５】
図２の説明に戻る。制御部１１は、図２に示すように、配信部１１ａ、特定部１１ｂおよび転送部１１ｃとして機能する。
【００２６】
配信部１１ａは、アドレス識別テーブル１２ｂを隣接するネットワーク装置に配信する。具体的には、配信部１１ａは、定期的に、あるいはオペレータ等の指示により、各仮想ルータ４の配下のアドレスを示すルーチングテーブルの情報を収集している。また、配信部１１ａは、各仮想ルータ４が動作する仮想マシン３の仮想マシン識別情報と、収集した各仮想ルータ４の配下のアドレスとを対応付けてアドレス識別テーブル１２ｂを生成し、記憶部１２に格納する。
【００２７】
そして、配信部１１ａは、生成したアドレス識別テーブル１２ｂを含んだ経路情報を、汎用サーバ２に隣接するネットワーク装置を含む、汎用サーバ２の外部のネットワーク装置に広告する。このように、配信部１１ａは、１台の汎用サーバ２の筐体内で動作する複数の仮想ルータ４の経路情報を取りまとめて、汎用サーバ２の外部のネットワーク装置に広告している。
【００２８】
特定部１１ｂは、隣接するネットワーク装置から受信したパケットのヘッダに含まれる仮想マシン識別情報を用いて、宛先のアドレスに対応する仮想ルータ４が動作する仮想マシン３を特定する。
【００２９】
具体的には、隣接するネットワーク装置は、配信部１１ａにより広告された経路情報を用いて、仮想ルータ４の配下のアドレスを宛先とするパケットを中継装置１０に転送する。このパケットのヘッダには、宛先アドレスに対応する仮想マシン識別情報が含まれる。特定部１１ｂは、受信したパケットのヘッダを参照し、ヘッダに含まれる仮想マシン識別情報に対応する仮想マシン３を特定する。
【００３０】
転送部１１ｃは、特定された仮想マシン３に、隣接するネットワーク装置から受信したパケットを、パケットのヘッダを変換して転送する。また、転送部１１ｃは、仮想ルータ４から受信したパケットのヘッダを変換し、宛先アドレスに向けて汎用サーバ２の外部のネットワーク装置に送出する。
【００３１】
ここで、図６および図７は、中継装置１０の処理を説明するための説明図である。まず、図６には、仮想ルータ４に設定されるＶＰＮがＬ３ＶＰＮで実現される場合が例示されている。この場合のＶＰＮは、ＭＰＬＳ（Multi  Protocol  Label  Switching）を用いてＶＲＦが実装されたＶＰＮである。
【００３２】
図６に示す例では、ＤＣ（Data  Center）の汎用サーバ２の筐体内で動作する複数の仮想ルータ４が互いに異なる組織のシステムに接続され、汎用サーバ２の外部のエッジルータに収容されるユーザが自組織のシステムにアクセスする場合が想定されている。つまり、ユーザが収容されるエッジルータにはＶＲＦが設定されているものとする。
【００３３】
この場合に、中継装置１０は、外部のネットワーク装置に対しＭＰＬＳ−ＶＰＮのＰＥ（Provider  Edge）として機能して、ＬＳＰ（Label  Switched  Path）経由の通信を終端する。なお、ＭＰＬＳ−ＶＰＮのＰＥは、ＭＰＬＳヘッダに付与するラベルのラベル番号とＶＲＦ（仮想ルータ４）とを関連付けるデータを保持している。
【００３４】
また、各ｖＲ４と中継装置１０との間の経路上には、それぞれＶＬＡＮが設定されている。つまり、ｖＲａと中継装置１０との間の経路上にＶＬＡＮ  ＩＤ「１０」のＶＬＡＮ、ｖＲｂと中継装置１０との間の経路上にＶＬＡＮ  ＩＤ「２０」のＶＬＡＮ、ｖＲｃと中継装置１０との間の経路上にＶＬＡＮ  ＩＤ「３０」のＶＬＡＮが設定されている。
【００３５】
この場合に、各ＶＭ３と、ＶＭ３上で動作するｖＲ４の仮想ＮＩＣ（Network  Interface  Card）とには、任意のＩＰアドレスが設定される。すなわち、異なるＶＬＡＮに対しては重複するＩＰアドレスが設定されてもよい。図６には、各ｖＲ４に同一のネットワークアドレス「１０．１．１．０／２４」が設定されていることが示されている。
【００３６】
なお、中継装置１０とルータ６との間の区間では、タグなしとする。中継装置１０とｖＳｗｉｔｃｈ５との間の区間でタグ付とタグなしとの混在が許容されない場合には、中継装置１０およびｖＳｗｉｔｃｈ５にそれぞれ仮想的なポートを定義して別リンクを設定すればよい。あるいは、中継装置１０とｖＳｗｉｔｃｈ５との間の区間にＶＬＡＮを設定すればよい。
【００３７】
各ｖＲ４は、ＯＳＰＦ（Open  Shortest  Path  First）やＢＧＰ（Border  Gateway  Protocol）等のルーチングプロトコルを用いて経路情報を配信する。すなわち、中継装置１０は、各ｖＲ４に対しては、隣接ルータとして機能する。
【００３８】
中継装置１０では、配信部１１ａが、各ｖＲ４を識別するＲＤおよびＲＴと、収集した各ｖＲ４の配下のアドレスとを対応付けたＭＰ（Multi  Protocol）−ＢＧＰテーブルを生成し、アドレス識別テーブル１２ｂ（図４参照）として記憶部１２に格納する。ＲＤおよびＲＴの組み合わせは、各ｖＲ４を識別する情報であり、各ｖＲ４が動作するＶＭ３の仮想マシン識別情報に相当する。また、配信部１１ａは、ＭＰ−ＢＧＰを用いて、ＭＰ−ＢＧＰテーブルを汎用サーバ２の外部のネットワーク装置に広告する。
【００３９】
中継装置１０が、汎用サーバ２の外部からＭＰＬＳヘッダが付与されたパケットをＬＳＰ経由で受信した場合には、特定部１１ｂが、ＭＰＬＳヘッダを参照し、ラベル情報に含まれるＲＤおよびＲＴで識別されるＶＲＦ（仮想ルータ４）が動作するＶＭ３を特定する。また、転送部１１ｃが、特定されたＶＭ３宛のＶＬＡＮヘッダを付与したＥｔｈｅｒフレームを、ｖＳｗｉｔｃｈ５を介して転送する。例えば、転送部１１ｃは、図６に示す例において、ｖＲａに向けてＶＬＡＮ  ＩＤ「１０」を付与したＥｔｈｅｒフレームを転送する。
【００４０】
また、中継装置１０が、各ｖＲ４から汎用サーバ２の外部宛のパケットを受信した場合には、転送部１１ｃは、送信元のｖＲ４を特定して適切なラベルを含むＭＰＬＳヘッダを付与し、対向するＰＥに向けてパケットを転送する。
【００４１】
また、図７には、ＶＰＮがＬ２ＶＰＮで実現される場合が例示されている。この場合のＶＰＮは、ＶｘＬＡＮを用いたＥＶＰＮ（Ethernet（登録商標）  VPN）である。Ｌ２ＶＰＮでは、図６に示したＬ３ＶＰＮの場合とは異なり、汎用サーバ２の外部からのトンネルが中継装置１０で終端した後、宛先アドレスに対応するＶＭ３との間のＬ２区間を転送する際、宛先ＭＡＣアドレスが不明等の理由でオリジナルＥｔｈｅｒフレームが廃棄されてしまう。
【００４２】
そこで、中継システム１では、オリジナルＥｔｈｅｒフレームを保持するため、各ＶＭ３との間のＬ２区間にトンネルを設定する。具体的には、各仮想ルータ４のＶＭ３と中継装置１０のＶＭ３との間には、ＶｘＬＡＮやＩＥＥＥ８０２．１ａｈ等のオリジナルＥｔｈｅｒフレームをカプセル化するプロトコルが適用される。また、ユーザが収容される対向のエッジルータではＶＴＥＰ（VxLAN  Tunnel  End  Point）が設定されているものとし、中継装置１０は、各ＶＭ３をＶＮＩで識別する。
【００４３】
各仮想ルータ４は、このプロトコルによりカプセル化した経路情報を中継装置１０に配信する。中継装置１０では、配信部１１ａが、各仮想ルータ４から収集したＭＡＣテーブルの情報と、ＶＮＩとを対応付けしたＭＰ−ＢＧＰテーブルを生成し、アドレス識別テーブル１２ｂ（図５参照）として記憶部１２に格納する。また、配信部１１ａは、ＭＰ−ＢＧＰを用いて、ＭＰ−ＢＧＰテーブルを汎用サーバ２の外部のネットワーク装置に広告する。
【００４４】
また、中継装置１０が、汎用サーバ２の外部からパケットを受信した場合には、特定部１１ｂが、Ｌ２ヘッダに含まれるＶＮＩを参照して対応するＶＭ３を特定し、特定した転送先のＶＭ３を一時記憶するとともに、ヘッダを除去するデカプセル化を行う。また、転送部１１ｃが、デカプセル化されたオリジナルＥｔｈｅｒフレームをあらためてカプセル化して、転送先のＶＭ３に転送する。
【００４５】
次に、図８および図９を参照して、他の実施形態に係る中継装置の処理を説明する。特定部１１ｂは、受信したパケットがＣ（Control）−ＰｌａｎｅのパケットかＵ（User）−Ｐｌａｎｅのパケットかをさらに識別し、Ｕ−Ｐｌａｎｅのパケットである場合に、該パケットを特定した仮想マシンに転送し、Ｃ−Ｐｌａｎｅのパケットである場合に、該パケットを転送部１１ｃに引き渡すようにしてもよい。
【００４６】
図８は、この場合の中継装置１０の処理を説明するための説明図である。上記の実施形態では、中継装置１０は、ＭＰＬＳラベル等のヘッダの付与等によりカプセル化されたパケットをデカプセル化し、あらためてカプセル化して各仮想ルータ４に転送している。ただし、パケットのカプセル化あるいはデカプセル化の処理負荷は大きく、中継装置１０に負荷が集中する。
【００４７】
そこで、中継装置１０は、ルーチング情報等の通信制御のためのデータ通信であるＣ−Ｐｌａｎｅのパケットか、動画、電話等のユーザが利用するサービスのためのデータ通信であるＵ−Ｐｌａｎｅのパケットかによって、ＶＭ３への転送処理の方式を変える。具体的には、中継装置１０は、Ｃ−ＰｌａｎｅかＵ−Ｐｌａｎｅかを区別し、Ｃ−Ｐｌａｎｅのパケットに対しては上記実施形態と同様の処理を行い、Ｕ−Ｐｌａｎｅのパケットは、デカプセル化を行わずに宛先のｖＲ４に透過的に転送する。
【００４８】
例えば、Ｌ３ＶＰＮにおいて、予め、中継装置１０の対向のＰＥにおいて付与されるＭＰＬＳヘッダのラベルの体系を、Ｕ−Ｐｌａｎｅか、Ｃ−Ｐｌａｎｅかを区別可能に、また、Ｕ−Ｐｌａｎｅの宛先のｖＲ４を区別可能に取り決めておけばよい。
【００４９】
一例として、ＭＰＬＳヘッダのラベルが１〜５００ならＵ−Ｐｌａｎｅ、５０１以上ならＣ−Ｐｌａｎｅと見なすように取り決めておく。同様に、ラベルが１００番台のＵ−ＰｌａｎｅパケットはｖＲａへ、ラベルが２００番台のＵ−ＰｌａｎｅパケットはｖＲｂへ、ラベルが３００番台のＵ−ＰｌａｎｅパケットはｖＲｃへ転送するように取り決めておく。
【００５０】
図８に示す例では、中継装置１０がルータ６から受信したパケットのラベルが１００番台であったことから、特定部１１ｂが、Ｕ−ＰｌａｎｅのｖＲａ宛のパケットであることを認識して、透過的にｖＲａに転送している。
【００５１】
Ｕ−Ｐｌａｎｅのパケットが転送されたｖＲ４は、ＭＰＬＳのＰＥとして機能する。すなわち、ｖＲ４は、転送されたパケットのＭＰＬＳヘッダを除去するデカプセル化を行った上で宛先アドレスの端末に転送する。また、Ｃ−Ｐｌａｎｅのパケットは、デカプセル化されたＩＰパケットとしてｖＲ４に転送されるので、ｖＲ４は宛先アドレスの端末に受信したＩＰパケットを転送する。
【００５２】
なお、Ｌ２ＶＰＮの場合にも、例えばＶＮＩの体系を、Ｕ−Ｐｌａｎｅか、Ｃ−Ｐｌａｎｅかを区別可能に、また、Ｕ−Ｐｌａｎｅの宛先のｖＲ４を区別可能に決めておくことで同様の処理を実現できる。
【００５３】
また、アドレス識別テーブル１２ｂにおいて、複数の筐体内の仮想ルータ４が動作する仮想マシン３が識別されてもよい。図９は、この場合の中継装置１０の処理を説明するための説明図である。中継装置１０は、同一筐体内の仮想マシン３への転送に限定されず、図９に示すように、複数の筐体にまたがった仮想マシン３への転送を行うことも可能である。その場合に、仮想マシン識別情報が異なる筐体内の仮想マシン３を識別できるように設定されればよい。仮想マシン識別情報として、ＲＴおよびＲＤを用いる場合にも、ＶＮＩを用いる場合にも実現可能である。
【００５４】
図９に示す例では、汎用サーバｂの筐体内に配置される中継装置１０が、同一筐体内のｖＲｄ〜ｖＲｆに加え、異なる汎用サーバａの筐体内のｖＲａ〜ｖＲｃのそれぞれに対応するＶＭ３を識別可能なアドレス識別テーブル１２ｂを保持している。すなわち、中継装置１０は、同一筐体内のｖＲｄ〜ｖＲｆに加え、異なる汎用サーバａの筐体内のｖＲａ〜ｖＲｃのそれぞれからルーチング情報を収集し、アドレス識別テーブル１２ｂを生成し管理している。
【００５５】
図９には、仮想マシン識別情報として、ＲＴおよびＲＤが用いられる場合が例示されている。この場合には、ｖＲ４とそれぞれの筐体内のｖＳｗｉｔｃｈ５との間にＶＬＡＮが設定され、中継装置１０は、各ｖＲ４とＯＳＰＦやＢＧＰを用いて経路情報を交換している。この場合のアドレス識別テーブル１２ｂは、各ｖＲ４の配下のアドレスと、ＲＴおよびＲＤ等の仮想マシン識別情報とが対応付けされたＭＰ−ＢＧＰテーブルである。中継装置１０は、生成したＭＰ−ＢＧＰテーブルを、ＭＰ−ＢＧＰでルータ６等の外部のネットワーク装置に広告する。
【００５６】
この場合に、汎用サーバａと汎用サーバｂとの間で行き交う多量の制御信号は、中継装置１０で取りまとめられるため、汎用サーバｂとルータ６との間の制御信号数は抑制される。
【００５７】
なお、この場合にも、ＭＰＬＳヘッダのラベルやＶＮＩの体系を、Ｕ−Ｐｌａｎｅか、Ｃ−Ｐｌａｎｅかを区別可能に、また、Ｕ−Ｐｌａｎｅの宛先のｖＲ４を区別可能に取り決めておけば、中継装置１０におけるデカプセル化の処理負荷を軽減できる。
【００５８】
［中継処理］
図１０は、本実施形態に係る中継装置１０による中継処理手順を示すフローチャートである。図１０のフローチャートは、例えば、開始を指示する操作入力があったタイミングで開始される。
【００５９】
まず、例えば汎用サーバ２内の仮想ルータ４の構成が変更された場合等に、事前準備として、配信部１１ａが、各仮想ルータ４の配下のアドレスの情報を収集し、対応するＶＭ３の識別情報と対応付けてアドレス識別テーブル１２ｂとして記憶部１２に記憶させる。また、配信部１１ａは、汎用サーバ２に隣接するルータ６を含む汎用サーバ２の外部のネットワーク装置に、アドレス識別テーブルを含む経路情報をルーチングプロトコルで配信する（ステップＳ１）。
【００６０】
そして通信時に中継装置１０がパケットを受信した場合には、特定部１１ｂが、ネットワーク装置６から受信したパケットのヘッダを参照し、ヘッダに含まれる仮想マシン識別情報を用いて、宛先のアドレスに対応する仮想ルータ４が動作する仮想マシン３を特定する（ステップＳ２）。
【００６１】
また、転送部１１ｃが、特定された仮想マシン３に、隣接するルータ６から受信したパケットを、パケットのヘッダを変換すなわちデカプセル化およびカプセル化を行って転送する。また、転送部１１ｃは、仮想ルータ４から受信したパケットのヘッダを変換し、宛先アドレスに向けて汎用サーバ２の外部のネットワーク装置に送出する（ステップＳ３）。これにより、一連の中継処理が終了する。
【００６２】
以上、説明したように、本実施形態の中継装置１０において、記憶部１２が、仮想ルータが動作する仮想マシンを識別する識別情報と、該仮想ルータの配下のアドレスとを対応付けしたアドレス識別テーブル１２ｂを格納する。また、配信部１１ａが、アドレス識別テーブル１２ｂを隣接するネットワーク装置６に配信する。また、特定部１１ｂが、ネットワーク装置６から受信したパケットのヘッダに含まれる識別情報を用いて、宛先のアドレスに対応する仮想ルータが動作する仮想マシンを特定する。また、転送部１１ｃが、特定された仮想マシンに受信したパケットを、パケットのヘッダを変換して転送する。
【００６３】
ここで、図１１は、中継装置１０による中継処理の効果を説明するための説明図である。従来、図１１に示すように、同一の筐体２内に複数の仮想ルータ４が構築されている場合に、各仮想ルータ４が独立したルータとして振る舞い、経路情報の交換やＫｅｅｐ  Ａｌｉｖｅの実施等の際に、隣接するネットワーク装置であるルータ６との間で大量の制御信号が発生していた。
【００６４】
これに対し、本実施形態の中継装置１０によれば、仮想ルータ４が動作する汎用サーバ２に隣接するネットワーク装置（ルータ６）は、経路情報の交換やＫｅｅｐ  Ａｌｉｖｅの実施等の際、中継装置１０との間で制御信号を交換する。したがって、汎用サーバ２内で動作する仮想ルータ４の数が増加しても、汎用サーバ２と隣接するルータ６との間の制御信号数は増加しない。
【００６５】
このように、中継装置１０の中継処理によれば、同一筐体内で複数の仮想ルータ４を動作させる場合に発生する制御信号数の増加を抑制することが可能となる。すなわち、汎用サーバ２内の仮想ルータ４がどれだけ増加しても、汎用サーバ２と外部のネットワーク装置との間のルーチングプロトコルによる制御信号数をルータ１台分相当に抑えることが可能となる。
【００６６】
［プログラム］
上記実施形態に係る中継装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、中継装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の中継処理を実行する中継プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の中継プログラムを情報処理装置に実行させることにより、情報処理装置を中継装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。
【００６７】
以下に、中継装置１０と同様の機能を実現する中継プログラムを実行するコンピュータの一例を説明する。図１２は、中継プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６９】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００７０】
また、中継プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した中継装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００７１】
また、中継プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７２】
なお、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７３】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７４】
１  中継システム
２  汎用サーバ
３  仮想マシン（ＶＭ）
４  仮想ルータ（ｖＲ）
５  ｖＳｗｉｔｃｈ
６  ルータ（隣接ネットワーク装置）
１０  中継装置
１１  制御部
１１ａ  配信部
１１ｂ  特定部
１１ｃ  転送部
１２  記憶部
１２ａ  ＶＭ識別テーブル
１２ｂ  アドレス識別テーブル
【図１】
2019161487.tif 000003
【図２】
2019161487.tif 000004
【図３】
2019161487.tif 000005
【図４】
2019161487.tif 000006
【図５】
2019161487.tif 000007
【図６】
2019161487.tif 000008
【図７】
2019161487.tif 000009
【図８】
2019161487.tif 000010
【図９】
2019161487.tif 000011
【図１０】
2019161487.tif 000012
【図１１】
2019161487.tif 000013
【図１２】
2019161487.tif 000014