(57)【要約】【課題】拠点間を中継するネットワークにおける経路設定を効率よく、高速に行うことを可能にした通信システムを提供する。【解決手段】複数の第１のネットワークのそれぞれと第２のネットワークとの中継点に接続され、転送テーブルにしたがって、第２のネットワークに設定されるトンネルを介して互いにパケットを送受信する複数の転送装置と、同一の識別情報を含むパケット群の単位であるマクロフローに対応してトンネルを介してパケットを転送させるために、転送テーブルに設定する情報であるエントリ情報をトンネルの設定を要求する転送装置に送信する設定制御を行う複数の分散処理装置と、複数の転送装置のうち、いずれかの転送装置からトンネルの設定要求があると、マクロフローに対応して、複数の分散処理装置のうち、いずれかの分散処理装置に設定制御を実行させる分散制御装置と、を有する。【選択図】図１
2014160907.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１のネットワークのそれぞれと第２のネットワークとの中継点に接続され、転送テーブルにしたがって、該第２のネットワークに設定されるトンネルを介して互いにパケットを送受信する複数の転送装置と、
同一の識別情報を含むパケット群の単位であるマクロフローに対応して前記トンネルを介してパケットを転送させるために、前記転送テーブルに設定する情報であるエントリ情報を前記トンネルの設定を要求する転送装置に送信する設定制御を行う複数の分散処理装置と、
前記複数の転送装置のうち、いずれかの転送装置から前記トンネルの設定要求があると、前記マクロフローに対応して、前記複数の分散処理装置のうち、いずれかの分散処理装置に前記設定制御を実行させる分散制御装置と、
を有する通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記分散制御装置が前記マクロフローを特定するための識別情報として、前記パケットの送信先アドレスおよび前記第１のネットワークの識別子が含まれている、通信システム。
【請求項３】
請求項２記載の通信システムにおいて、
前記マクロフローを特定するための識別情報として、ユーザが要求する通信品質に対応する宛先ポート番号とユーザに対応する送信元アドレスの両方またはいずれかの情報がさらに含まれ、
前記複数の分散処理装置のそれぞれは、前記送信元アドレスの前記第１のネットワーク間の移動に伴って、前記宛先ポート番号と前記送信元アドレスの両方またはいずれかに対応する通信品質の設定を移動させる、通信システム。
【請求項４】
請求項２または３記載の通信システムにおいて、
前記分散制御装置は、
前記転送装置から前記トンネルの設定要求および変更要求に対応して、前記マクロフロー毎に数をカウントし、カウントしたマクロフローの数のうち、いずれかのマクロフローの数が所定の閾値より大きくなると、前記複数の分散処理装置の間で、前記マクロフローを再分散する、通信システム。
【請求項５】
請求項２または３記載の通信システムにおいて、
前記分散制御装置は、
前記複数の分散処理装置の間で、前記マクロフローに対して、前記トンネルの入口に相当する前記転送装置の単位で再分散を行う、通信システム。
【請求項６】
請求項１記載の通信システムにおいて、
前記分散制御装置が前記マクロフローを特定するための識別情報として、前記トンネルの出口および入口のそれぞれに設けられた前記転送装置の識別子の情報が含まれる、通信システム。
【請求項７】
請求項１記載の通信システムにおいて、
前記分散制御装置は、
前記複数の転送装置のうち、いずれかの転送装置から前記トンネルの設定要求があると、前記トンネルの出口および入口のそれぞれに設けられた前記転送装置の識別子を前記識別情報としてマクロフローを分散した後、分散後のワークフローをさらに、同一の前記パケットの送信先アドレスおよび前記第１のネットワークの識別子を含むワークフローに対応して、前記複数の分散処理装置に分散する、通信システム。
【請求項８】
複数の第１のネットワークのそれぞれと第２のネットワークとの中継点に接続された複数の転送装置が該第２のネットワークを介して互いにパケットを送受信するためのトンネルを前記第２のネットワークに設定する複数の分散処理装置を制御するコンピュータに、
前記複数の転送装置のうち、いずれかの転送装置から前記トンネルの設定要求があると、該設定要求に対して、同一の識別情報を含むパケット群の単位であるマクロフローを特定する手順と、
特定したマクロフローに対応して、前記複数の分散処理装置のうち、いずれかの分散処理装置に前記トンネルの設定を指示する手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｌ２ＶＰＮ（Layer2 Virtual Private Network）の中継経路制御を行う通信システム、およびコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ＤＣ（Data Center）および企業等の各拠点のＶＬＡＮ（Virtual Local Area Network）をＬ２ＶＰＮで接続し、サーバ仮想化技術で拠点間における通信の冗長化や負荷分散が行われている。ＯＴＶ(Overlay Transport Virtualization)という技術がその一例である（非特許文献１参照）。
【０００３】
従来の通信システムの構成の一例を説明する。図２６は従来の通信システムの一構成例を示すブロック図である。
【０００４】
図２６に示すように、ＤＣおよび企業の拠点がＬ２ＶＰＮ １００を介して通信可能に接続されている。図２６は、ＤＣとしてＤＣ１およびＤＣ２と、企業１の拠点として拠点Ａおよび拠点Ｂのそれぞれに外部接続網となるＶＬＡＮが設けられ、各ＶＬＡＮがＬ２ＶＰＮ転送装置１３０を中継点としてＬ２ＶＰＮ １００と接続された構成を示す。Ｌ２ＶＰＮ内には、中継転送装置として複数のＩＰ（Internet Protocol）ルータ１４０が設けられている。
【０００５】
各拠点には、拠点毎に異なるＩＤ（Identifier）としてＩＰアドレスが設定されている。図２６では各拠点のＩＰアドレスを拠点ＩＰと表記している。各拠点のＶＬＡＮ内の情報端末（不図示）には、装置固有のＩＤとしてＭＡＣ（Media Access Control）アドレスが設定されている。図２６に示す例では、ＤＣ１、ＤＣ２および拠点ＢにＩＰアドレスとしてＩＰＡ〜ＩＰＣが設定され、ＤＣ１内の情報端末に機器ＩＤとしてＭＡＣ１、ＭＡＣ２が割り当てられ、ＤＣ２内の情報端末にＭＡＣ３が割り当てられ、ＤＣ４内の情報端末にＭＡＣ４が割り当てられている場合を示す。
【０００６】
ＯＴＶでは、複数の拠点間を「ＭＡＣ ｉｎ ＩＰ」と呼ばれる技術でＬ２接続し、拠点間接続Ｌ２網を構築している。
【０００７】
各拠点のＬ２ＶＰＮ転送装置１３０は、直接Ｌ２接続する装置のＭＡＣアドレスを学習し、そのＭＡＣアドレスを他の拠点のＬ２ＶＰＮ転送装置１３０に通知する。このようにして、各拠点のＬ２ＶＰＮ転送装置は、どのＭＡＣアドレスがどの拠点にあるかを全て把握した上で、拠点間通信を行う。図２６には、拠点ＡのＬ２ＶＰＮ転送装置１３０に登録されている転送テーブルを示す。
【０００８】
各拠点のＶＬＡＮ内では、ルータ（不図示）がＤＳＴ ＭＡＣアドレス・ＶＬＡＮでパケットを転送する。Ｌ２ＶＰＮ転送装置１３０は、パケットのＤＳＴ ＭＡＣアドレスおよびＶＬＡＮの識別子を基にＩＰヘッダをパケットに付加する。Ｌ２ＶＰＮ １００内のＩＰルータ １４０はＩＰヘッダにしたがってパケットを他のＬ２ＶＰＮ転送装置１３０宛に転送する。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Overlay Transport Virtualization draft-hasmit-otv-03
【発明の概要】
【発明が解決しようとする課題】
【００１０】
Ｌ２ＶＰＮの拠点数が増えたり、Ｌ２ＶＰＮに接続される装置の増加に伴って管理するＭＡＣアドレスが増えたり、Ｌ２ＶＰＮ自体が大規模化すると、複数の端末が拠点間を移動した場合に、その移動に伴う設定変更による更新処理が各拠点で発生し、更新処理に時間がかかってしまう。その結果、Ｌ２ＶＰＮ通信の再開までにかかる時間が長くなってします。
【００１１】
図２７は複数のアドレスが拠点間を移動したときに発生する設定変更の動作を説明するための図である。
【００１２】
図２７（ａ）は、ＭＡＣ１〜ＭＡＣ３のＭＡＣアドレスが拠点間を移動する場合を示す。このようなアドレス移動として、例えば、拠点Ａのサーバが故障したことで、ＭＡＣ１〜ＭＡＣ３が割り当てられた情報端末のユーザが拠点Ｂに移動して、拠点ＢのＶＬＡＮに情報端末を接続する場合が考えられる。
【００１３】
図２７（ａ）に示す例では、アドレスの移動前は、ＭＡＣ１〜ＭＡＣ３が割り当てられた情報端末は、拠点ＡおよびＤＣ１のそれぞれのＬ２ＶＰＮ転送装置１３０の間に設定されたトンネルＴＢを介して、ＤＣ１のＶＬＡＮと通信可能に接続されている状態を表している。
【００１４】
図２７（ａ）に示したアドレス移動が行われると、図２７（ｂ）に示すように、ＤＣ１のＬ２ＶＰＮ転送装置１３０は設定変更を行う。具体的には、ＤＣ１のＬ２ＶＰＮ転送装置１３０は、自装置の転送テーブルにおいて、ＭＡＣ１〜ＭＡＣ３に対応する拠点ＩＰをＩＰＡからＩＰＢに変更する。これにより、ＭＡＣ１〜ＭＡＣ３が割り当てられた情報端末は、拠点ＢおよびＤＣ１のそれぞれのＬ２ＶＰＮ転送装置１３０の間に設定されたトンネルＴＲを介して、ＤＣ１のＶＬＡＮと通信可能に接続される。
【００１５】
しかしながら、ＤＣ１のＬ２ＶＰＮ転送装置１３０において設定変更が完了するまで、それまでＭＡＣ１〜ＭＡＣ３が割り当てられた情報端末と通信を行っていたＤＣ１の情報端末のパケットは引き続き拠点Ａに転送されてしまい、ＭＡＣ１〜ＭＡＣ３が割り当てられた情報端末と接続できないことになる。
【００１６】
図２８は各拠点で発生する変更動作を示す図である。図２８に示すように、全てのＬ２ＶＰＮ転送装置が全拠点のＭＡＣアドレスの情報を持ち、移動した全アドレスに対して検索・変更処理を行う。
【００１７】
Ｌ２はアドレス集約できず全ＭＡＣアドレスを個別に学習する必要があり、収容アドレス数の増加により、従来の技術では、２つの理由により設定変更時間が増加する。１つ目の理由は、全てのＬ２ＶＰＮ転送装置が全拠点の全アドレス情報をテーブルで管理しているため、テーブルのサイズが大きく、検索処理が遅くなるためである。２つ目の理由は、全てのＬ２ＶＰＮ転送装置が移動アドレスに関連する転送設定がないか検索して変更処理を行うため、複数アドレスに関する変更をシリアルに処理するためである。
【００１８】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、拠点間を中継するネットワークにおける経路設定を効率よく、高速に行うことを可能にした通信システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するための本発明の通信システムは、
複数の第１のネットワークのそれぞれと第２のネットワークとの中継点に接続され、転送テーブルにしたがって、該第２のネットワークに設定されるトンネルを介して互いにパケットを送受信する複数の転送装置と、
同一の識別情報を含むパケット群の単位であるマクロフローに対応して前記トンネルを介してパケットを転送させるために、前記転送テーブルに設定する情報であるエントリ情報を前記トンネルの設定を要求する転送装置に送信する設定制御を行う複数の分散処理装置と、
前記複数の転送装置のうち、いずれかの転送装置から前記トンネルの設定要求があると、前記マクロフローに対応して、前記複数の分散処理装置のうち、いずれかの分散処理装置に前記設定制御を実行させる分散制御装置と、
を有する構成である。
【００２０】
また、本発明のプログラムは、複数の第１のネットワークのそれぞれと第２のネットワークとの中継点に接続された複数の転送装置が該第２のネットワークを介して互いにパケットを送受信するためのトンネルを前記第２のネットワークに設定する複数の分散処理装置を制御するコンピュータに、
前記複数の転送装置のうち、いずれかの転送装置から前記トンネルの設定要求があると、該設定要求に対して、同一の識別情報を含むパケット群の単位であるマクロフローを特定する手順と、
特定したマクロフローに対応して、前記複数の分散処理装置のうち、いずれかの分散処理装置に前記トンネルの設定を指示する手順を実行させるものである。
【発明の効果】
【００２１】
本発明によれば、拠点間を中継するネットワークにおける経路設定を効率よく、高速に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】第１の実施形態の通信システムの一構成例を示すブロック図である。
【図２】第１の実施形態の通信システムにおいて、Ｌ２ＶＰＮ転送装置から接続情報の通知があった場合の基本設定の動作を説明するための図である。
【図３】第１の実施形態の通信システムにおいて、Ｌ２ＶＰＮ転送装置から設定要求があった場合の基本設定の動作を説明するための図である。
【図４】第１の実施形態の通信システムによるトンネル設定の手順を示すシーケンス図である。
【図５】第１の実施形態の通信システムにおいて、アドレス移動時の接続情報の通知があった場合の動作を説明するための図である。
【図６】第１の実施形態の通信システムにおいて、アドレス移動に伴う設定変更の動作を説明するための図である。
【図７】アドレス移動があったときのトンネル設定変更の手順を示すシーケンス図である。
【図８】転送テーブルに登録されたＭＡＣアドレスが保持時間を過ぎた場合の動作手順を示すシーケンス図である。
【図９】第１の実施形態において、設定情報通知があった場合の分散制御を説明するための図であり、
【図１０】第１の実施形態において、設定要求があった場合の分散制御を説明するための図である。
【図１１】第１の実施形態の通信システムにおいて、分散制御の手順を示すシーケンス図である。
【図１２】第２の実施形態の通信システムにおける分散処理の概要を説明するための図である。
【図１３】第２の実施形態の通信システムの動作を説明するための図である。
【図１４】第２の実施形態の通信システムにおける実施例を説明するための図である。
【図１５】第３の実施形態の通信システムにおいて、分散処理装置間の再分散方法を説明するための図である。
【図１６】第４の実施形態の通信システムの一構成例を示すブロック図である。
【図１７】第４の実施形態の通信システムにおいて、アドレスの移動に追従したＱｏｓ設定移動の動作を説明するための図である。
【図１８】第４の実施形態の通信システムの動作を説明するための図である。
【図１９】第４の実施形態の通信システムの動作を説明するための図である。
【図２０】第５の実施形態の通信システムの動作を説明するための図である。
【図２１】第６の実施形態の通信システムの一構成例を示すブロック図である。
【図２２】第６の実施形態の通信システムの構成を説明するための図である。
【図２３Ａ】第６の実施形態の通信システムの動作を説明するための図である。
【図２３Ｂ】第６の実施形態の通信システムの動作を説明するための図である。
【図２４】第７の実施形態の通信システムの一構成例を示すブロック図である。
【図２５】第７の実施形態の通信システムの動作を説明するための図である。
【図２６】従来の通信システムの一構成例を示すブロック図である。
【図２７】従来の通信システムにおいて、複数のアドレスが拠点間を移動したときに発生する設定変更の動作を説明するための図である。
【図２８】従来の通信システムにおいて、各拠点で発生する変更動作を示す図である。
【発明を実施するための形態】
【００２３】
本発明では、Ｌ２ＶＰＮ設定に必要な情報やＬ２ＶＰＮの設定・更新処理を分散させることで、Ｌ２ＶＰＮにおける設定変更を効率よく高速に行うことを可能にする。以下に、本発明の実施形態を説明する。
【００２４】
（第１の実施形態）
本実施形態の通信システムの構成を説明する。図１は本実施形態の通信システムの一構成例を示すブロック図である。
【００２５】
図１に示すように、通信システムは、Ｌ２ＶＰＮおよびＶＬＡＮの中継点に接続されたＬ２ＶＰＮ転送装置３０−１〜３０−ｎ（ｎは２以上の整数）と、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎを制御するＬ２ＶＰＮ制御システム１０とを有する。Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎのそれぞれはＬ２ＶＰＮ制御システム１０と通信可能に接続される。接続方法は、有線であってもよく、無線であってもよい。
【００２６】
ＶＬＡＮの中継網には事前に複数のトンネルが生成されており、Ｌ２ＶＰＮ転送装置がトンネル識別子を用いてトンネルにパケットを載せることで、パケットをパケットの宛先ごとにＬ２ＶＰＮを介して別拠点のＶＬＡＮに届ける。このトンネルとの接続の設定をトンネル設定とする。中継のトンネルは、ＩＰアドレスやＭＰＬＳ（Multi Protocol Label Switching）タグなどを用いたトンネル識別子によって届くＬ２ＶＰＮ転送装置が指定できれば、いかなるトンネル技術でもよい。
【００２７】
図１には、Ｌ２ＶＰＮ転送装置がＬ２ＶＰＮ転送装置３０−１〜３０−２の２台の場合を示す。Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎは同様な構成なので、以下では、Ｌ２ＶＰＮ転送装置３０−１の構成について詳しく説明し、Ｌ２ＶＰＮ転送装置３０−２〜３０−ｎの詳細な説明を省略する。
【００２８】
本実施形態は、Ｕ（User）プレーン制御とＣ（Control）プレーン制御のうち、Ｃプレーン制御機能をＬ２ＶＰＮ転送装置３０−１〜３０−ｎから分離してＬ２ＶＰＮ制御システム１０に実行させる。
【００２９】
また、本実施形態では、Ｌ２ＶＰＮ制御システム１０に実行させるＣプレーン制御をシステム内の複数の処理装置に分散処理させる。この場合、トンネル設定に関連する情報を重複して管理することを防ぐために、宛先が同一などのパケット群の転送制御を同じ処理装置に実行させた方が望ましい。そこで、本実施形態では、同一のＤＳＴ（Destination：送信先） ＭＡＣアドレスとＶＬＡＮの識別子の情報を持つパケット群が１アドレスの移動で経路が変わる単位で、このパケット群に着目し、この単位をマクロフローと定義し、同じマクロフローを同じ処理装置に実行させる。
【００３０】
以下では、ＤＳＴ ＭＡＣアドレスを「ＤＳＴ ＭＡＣ」と表記し、ＳＲＣ（Source：送信元） ＭＡＣアドレスを「ＳＲＣ ＭＡＣ」と表記する。また、ＭＡＣアドレスとＶＬＡＮの識別子の組み合わせ「ＭＡＣ・ＶＬＡＮ」と表記する。これにより、例えば、ＤＳＴ ＭＡＣとＶＬＡＮの識別子を「ＤＳＴ ＭＡＣ・ＶＬＡＮ」と表記する。本実施形態では、ＤＳＴ ＭＡＣ・ＶＬＡＮがマクロフローの識別子となる。
【００３１】
図１に示すＬ２ＶＰＮ転送装置３０−１の構成を説明する。
【００３２】
Ｌ２ＶＰＮ転送装置３０−１は、記憶部３３と、通信制御部３１と、外部接続学習部３２と、転送部３４とを有する。記憶部３３には、外部接続情報と転送情報が格納される。転送情報には、例えば、転送テーブルが含まれる。
【００３３】
Ｌ２ＶＰＮ転送装置３０−１には、ＣＰＵ（不図示）と、プログラムを記憶するメモリ（不図示）とがＬ２ＶＰＮ転送装置３０−１に予め設けられ、ＣＰＵがプログラムにしたがって処理を実行することで、通信制御部３１、外部接続学習部３２および転送部３４がＬ２ＶＰＮ転送装置３０−１に仮想的に構成される。
【００３４】
外部接続学習部３２は、入力位置毎に入力パケットのＳＲＣ（Source：送信元） ＭＡＣアドレス（以下では、ＳＲＣ ＭＡＣと表記する）を学習し、ＳＲＣ ＭＡＣ・ＶＬＡＮの情報を含む接続情報を通信制御部３１に通知する。外部接続学習部３２は、宛先不明のパケットが入力されると、パケットからＤＳＴ ＭＡＣ・ＶＬＡＮの情報を読み出して通信制御部３１に通知する。
【００３５】
通信制御部３１は、外部接続学習部３２から受け取る接続情報をＬ２ＶＰＮ制御システム１０に送信する。通信制御部３１は、外部接続学習部３２から宛先不明のパケットの情報としてＤＳＴ ＭＡＣ・ＶＬＡＮの情報を受け取ると、トンネル接続の設定を要求するために、ＤＳＴ ＭＡＣ・ＶＬＡＮの情報を含む設定要求情報をＬ２ＶＰＮ制御システム１０に通知する。通信制御部３１は、設定要求の回答として、ＤＳＴ ＭＡＣアドレスおよび転送先のトンネル識別子の情報を含むエントリ情報を受け取ると、その設定内容を転送情報に記録する。
【００３６】
また、通信制御部３１は、転送テーブルに登録されたエントリのうち、予め決められた保持時間に一度も使用されないエントリである未使用エントリがあると、未使用エントリのＤＳＴ ＭＡＣアドレス、入力位置およびトンネルの識別子の情報を含むＥｘｐｉｒｅ情報をＬ２ＶＰＮ制御システム１０に通知する。
【００３７】
転送部３４は、Ｌ２ＶＰＮ制御システム１０から指示された設定内容にしたがって、アドレス毎にパケットを転送する。転送部３４は、ＶＬＡＮから受け取るパケットに対してヘッダにトンネル識別子を付加してＬ２ＶＰＮに出力し、Ｌ２ＶＰＮから受け取るパケットに対してヘッダからトンネル識別子を消去してＶＬＡＮに出力する。
【００３８】
次に、図１に示すＬ２ＶＰＮ制御システム１０の構成を説明する。
【００３９】
Ｌ２ＶＰＮ制御システム１０は、トンネル設定を含む転送制御を実行する分散処理装置１２ａ、１２ｂと、分散処理装置１２ａ、１２ｂにマクロフロー単位で処理を分散させる分散制御装置１１とを有する。分散処理装置１２ａ、１２ｂのそれぞれは、記憶部１３と、外部接続情報管理部１４と、転送設定制御部１５とを有する。記憶部１３には、外部接続情報、設定エントリ情報および経路情報が格納される。経路情報は中継網にトンネルが生成された際に予め設定されている。
【００４０】
分散制御部１１には、ＣＰＵ（不図示）と、プログラムを記憶するメモリ（不図示）とが予め設けられ、ＣＰＵがプログラムにしたがって処理を実行する。分散制御装置１１は、接続情報・設定要求情報を、これらの情報に対応するマクロフローを管理する分散処理装置のみに渡るように制御する。分散制御装置１１は、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎから受信するメッセージを判別し、メッセージが接続情報であれば、ＳＲＣ ＭＡＣ・ＶＬＡＮの識別子に基づいて分散処理装置を判定し、メッセージが設定要求情報またはＥｘｐｉｒｅ情報であれば、ＤＳＴ ＭＡＣ・ＶＬＡＮの識別子に基づいて分散処理装置を判定する。
【００４１】
そして、分散制御装置１１は、マクロフローに対応する分散処理装置を特定すると、受信した接続情報を外部接続情報管理部１４に転送し、受信した設定要求情報およびＥｘｐｉｒｅ情報を転送設定制御部１５に転送する。
【００４２】
分散処理装置１２ａ、１２ｂのそれぞれに、ＣＰＵ（不図示）と、プログラムを記憶するメモリ（不図示）とが予め設けられ、ＣＰＵがプログラムにしたがって処理を実行することで、外部接続管理部１４および転送設定部１５が分散処理装置１２ａ、１２ｂのそれぞれに仮想的に構成される。
【００４３】
外部接続情報管理部１４は、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎから分散制御装置１１を介して受け取る接続情報に基づいて、入力位置毎のＭＡＣアドレスを外部接続情報に記録して管理する。
【００４４】
転送設定制御部１５は、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎから分散制御装置１１を介して通知される設定要求情報に基づいて設定エントリ情報を管理する。具体的には、転送設定制御部１５は、設定要求情報に含まれるＤＳＴ ＭＡＣから外部接続情報を参照して、パケットの出力位置を判断した後、入力位置と出力位置の情報と経路情報からトンネルを選定して設定エントリ情報を更新する。そして、転送設定制御部１５は、設定要求情報の送信元のＬ２ＶＰＮ転送装置にエントリ情報を送信し、その情報をＬ２ＶＰＮ転送装置内の転送テーブルに設定させる。
【００４５】
また、転送設定制御部１５は、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎから分散制御装置１１を介してＥｘｐｉｒｅ情報を受け取ると、Ｅｘｐｉｒｅ情報で特定される設定エントリを設定エントリ情報から削除する。
【００４６】
なお、本実施形態では、ＣＰＵがプログラムを実行することで、外部接続管理部１４および転送設定部１５が仮想的に構成される場合で説明したが、これらの構成の一部又は全部が各機能に対応した専用回路で構成されてもよい。このことは、分散制御装置１１およびＬ２ＶＰＮ転送装置３０−１についても同様である。
【００４７】
また、本実施形態では、分散処理装置が２台の場合で説明したが、３台以上設けられていてもよい。
【００４８】
次に、本実施形態の通信システムの動作について詳しく説明する。
【００４９】
はじめに、本実施形態の通信システムによるトンネル設定の手順を説明する。
【００５０】
図２はＬ２ＶＰＮ転送装置から接続情報の通知があった場合の基本設定の動作を説明するための図であり、図３はＬ２ＶＰＮ転送装置から設定要求があった場合の基本設定の動作を説明するための図である。
【００５１】
以下では、説明を簡単にするために、図２に示すように、ＤＣ１、ＤＣ２、拠点Ａおよび拠点Ｂの各拠点のＶＬＡＮとＬ２ＶＰＮ ５０との中継点にＬ２ＶＰＮ転送装置３０−１〜３０−４が接続されている場合で説明する。
【００５２】
Ｌ２ＶＰＮ ５０の入力位置および出力位置を示す識別子を「１」〜「４」で表す。これらの位置情報は、Ｌ２ＶＰＮ転送装置３０−１〜３０−４の転送位置を示す識別子としての役目も果たす。また、本実施形態では、ＶＬＡＮの識別子として、ＶＬＡＮと転送位置の識別子を組み合わせた「１−１」〜「４−１」（省略して単に「１」〜「４」）を使用する。また、初期段階では、Ｌ２ＶＰＮ転送装置３０−１に接続されたＶＬＡＮ内の情報端末（不図示）にＭＡＣアドレスとしてＭＡＣ Ａが割り当てられ、Ｌ２ＶＰＮ転送装置３０−２に接続されたＶＬＡＮ内の情報端末（不図示）にＭＡＣアドレスとしてＭＡＣ Ｚが割り当てられているものとする。
【００５３】
図２に示すように、Ｌ２ＶＰＮ転送装置３０−１〜３０−４は接続情報をＬ２ＶＰＮ制御システム１０に通知する。図２では、Ｌ２ＶＰＮ制御システム１０が、Ｌ２ＶＰＮ転送装置３０−１〜３０−２から受け取った接続情報を外部接続情報に記録する様子を示す。外部接続情報のテーブルには、ＭＡＣ Ａと位置「１−１」の情報からなる組と、ＭＡＣ Ｚと位置「２−１」の情報からなる組が記録されている。
【００５４】
図３に示すように、Ｌ２ＶＰＮ制御システム１０は、ＤＳＴ ＭＡＣ Ｚおよび入力位置「１−１」の情報を含む設定要求情報をＬ２ＶＰＮ転送装置３０−１から受け取ると、設定要求情報と外部接続情報を参照して、入力位置１−１から出力先を２−１とするトンネルＴＢを選定し、その設定内容を設定エントリ情報のテーブルに記録する。さらに、Ｌ２ＶＰＮ制御システム１０は、エントリ情報をＬ２ＶＰＮ転送装置３０−１に送信して、転送テーブルを更新させる。
【００５５】
図４はトンネル設定の手順を示すシーケンス図である。
【００５６】
Ｌ２ＶＰＮ転送装置３０−１が、ＳＲＣ ＭＡＣ Ａおよび入力位置「１−１」の情報を含む接続情報をＬ２ＶＰＮ制御システム１０に通知する（ステップ４０１）。Ｌ２ＶＰＮ制御システム１０は、Ｌ２ＶＰＮ転送装置３０−１から接続情報の通知を受けると、接続情報からアドレスと位置の情報を読み出し、外部接続情報のテーブルのアドレスの欄にＭＡＣ Ａを記録し、ＭＡＣ Ａに対応する位置の欄に「１−１」を記録する（ステップ４０２）。
【００５７】
また、Ｌ２ＶＰＮ転送装置３０−２が、ＳＲＣ ＭＡＣ Ｚおよび入力位置「２−１」の情報を含む接続情報をＬ２ＶＰＮ制御システム１０に通知すると（ステップ４０３）、Ｌ２ＶＰＮ制御システム１０は、外部接続情報のテーブルに、ＭＡＣ Ｚと位置「２−１」の組を追加して、外部接続情報を更新する（ステップ４０４）。
【００５８】
Ｌ２ＶＰＮ転送装置３０−１が、ＤＳＴ ＭＡＣ Ｚおよび入力位置「１−１」の情報を含む設定要求情報をＬ２ＶＰＮ制御システム１０に送信する（ステップ４０５）。Ｌ２ＶＰＮ制御システム１０は、Ｌ２ＶＰＮ転送装置３０−１から設定要求情報を受け取ると、ＭＡＣ Ｚをキー情報として外部接続情報を検索し、ＭＡＣ Ｚと位置「２−１」の組の情報を見つけると、入力位置１−１から出力先を２−１とするトンネルＴＢを選定し、その設定内容を設定エントリ情報のテーブルに記録する（ステップ４０６）。
【００５９】
その後、Ｌ２ＶＰＮ制御システム１０は、ＤＳＴ ＭＡＣ Ｚおよび転送先トンネルの識別子の情報を含むエントリ情報をＬ２ＶＰＮ転送装置３０−１に送信する（ステップ４０７）。Ｌ２ＶＰＮ転送装置３０−１は、Ｌ２ＶＰＮ制御システム１０から受け取ったエントリ情報を転送テーブルに転記し、転送情報を更新する（ステップ４０８）。図４には、ＭＡＣ ＡからＭＡＣ ＺへのトンネルＴＢがＬ２ＶＰＮ ５０に設定されたことを模式的に示す。
【００６０】
次に、本実施形態の通信システムにおいて、アドレス移動があったときのトンネル設定の変更動作を説明する。
【００６１】
図５はアドレス移動時の接続情報の通知があった場合の動作を説明するための図であり、図６はアドレス移動に伴う設定変更の動作を説明するための図である。
【００６２】
ＭＡＣアドレスが拠点間を移動すると、移動したＭＡＣアドレスと新しい接続位置をＬ２ＶＰＮ制御システム１０に通知するために、Ｌ２ＶＰＮ転送装置３０−ｋ（ｋはＭＡＣアドレスの移動先のＶＬＡＮに接続される転送装置を示す番号）が接続情報をＬ２ＶＰＮ制御システム１０に通知することで、Ｌ２ＶＰＮ制御システム１０が外部接続情報を更新する。
【００６３】
図５は、ＭＡＣ Ｚが拠点Ａから拠点Ｂに移動した場合を示す。Ｌ２ＶＰＮ転送装置３０−３が、ＭＡＣ Ｚおよび位置「３−１」の情報を含む接続情報をＬ２ＶＰＮ制御システム１０に通知すると、Ｌ２ＶＰＮ制御システム１０が外部接続情報において、ＭＡＣ Ｚと同じ組の位置「２−１」を位置「３−１」に変更して、外部接続情報を更新する。
【００６４】
上述のようにして、Ｌ２ＶＰＮ制御システム１０が外部接続情報を更新した後、関連する転送設定を検索して変更し、該当するＬ２ＶＰＮ転送装置の転送設定に変更内容を反映させる。このとき、転送設定が反映されるまで、転送設定のない宛先のパケットを予め定められた幾つかの転送先へ、予めトンネル設定を行うことで転送していてもよい。
【００６５】
図６は、図５で説明した、外部接続情報の更新に伴って設定エントリ情報および転送テーブルが更新されることを示す。Ｌ２ＶＰＮ制御システム１０は、外部接続情報のＭＡＣ Ｚおよび位置からなる組の情報を更新すると、ＭＡＣ Ｚをキー情報として設定エントリ情報を検索し、識別子としてＭＡＣ Ｚを含むマクロフローの設定エントリを見つけると、転送位置を「２」から「３」に変更し、転送先トンネルの識別子を「ＴＢ」から「ＴＲ」に変更して、設定エントリ情報を更新する。Ｌ２ＶＰＮ制御システム１０は、ＤＳＴ ＭＡＣ Ｚおよび転送先トンネルの識別子の情報を含むエントリ情報をＬ２ＶＰＮ転送装置３０−１に送信する。Ｌ２ＶＰＮ転送装置３０−１は、Ｌ２ＶＰＮ制御システム１０から受け取ったエントリ情報に基づいて転送テーブルを更新する。
【００６６】
図７はアドレス移動があったときのトンネル設定変更の手順を示すシーケンス図である。
【００６７】
アドレスの移動前では、Ｌ２ＶＰＮ転送装置３０−１の転送テーブルには、ＭＡＣ Ｚと転送先トンネルＴＢの識別子の組が記録されている。Ｌ２ＶＰＮ制御システム１０の外部接続情報には、ＭＡＣ Ａおよび位置「１−１」からなる組とＭＡＣ Ｚおよび位置「２−１」からなる組が記録され、設定エントリ情報には、出力先を「２−１」として位置「１−１」と位置「２−１」の間にトンネルＴＢが設定されていることが記録されている。
【００６８】
ＭＡＣ Ｚが拠点Ａから拠点Ｂに移動すると、Ｌ２ＶＰＮ転送装置３０−３が、ＳＲＣ ＭＡＣ Ｚおよび入力位置「３−１」の情報を含む接続情報をＬ２ＶＰＮ制御システム１０に通知する（ステップ７０１）。Ｌ２ＶＰＮ制御システム１０は、Ｌ２ＶＰＮ転送装置３０−３から接続情報を受け取ると、接続情報からアドレスと位置の情報を読み出し、外部接続情報のテーブルを参照し、ＭＡＣ Ｚと同じ組の位置の欄に記述された「２−１」を「３−１」に変更して、外部接続情報を更新する（ステップ７０２）。
【００６９】
続いて、Ｌ２ＶＰＮ制御システム１０は、外部接続情報において、ＭＡＣ Ｚの出力先が２−１から３−１に変更されたため、設定エントリ情報を参照し、識別子としてＭＡＣ Ｚを含むマクロフローの設定エントリを検索する。Ｌ２ＶＰＮ制御システム１０は、該当する設定エントリを見つけると、入力位置１−１からのトンネルを再選定して設定エントリを作成し直し、その設定変更の内容を設定エントリ情報に反映させる（ステップ７０３）。図７に示す設定エントリ情報では、転送先トンネルがトンネルＴＢからトンネルＴＲに変更されている。
【００７０】
その後、Ｌ２ＶＰＮ制御システム１０は、ＤＳＴ ＭＡＣ Ｚおよび転送先トンネルの識別子の情報を含むエントリ情報をＬ２ＶＰＮ転送装置３０−１に送信する（ステップ７０４）。Ｌ２ＶＰＮ転送装置３０−１は、Ｌ２ＶＰＮ制御システム１０から受け取ったエントリ情報を転送テーブルに反映させ、転送情報を更新する（ステップ７０５）。図７には、ＭＡＣ ＡからＭＡＣ ＺへのトンネルＴＲがＬ２ＶＰＮ ５０に設定されたことを模式的に示す。
【００７１】
次に、転送テーブルに登録されたＭＡＣアドレスの保持時間が過ぎた場合の動作を説明する。図８は、転送テーブルに登録されたＭＡＣアドレスが保持時間を過ぎた場合の動作手順を示すシーケンス図である。
【００７２】
Ｌ２ＶＰＮ転送装置３０−１は、有効期限切れの未使用エントリが転送テーブルに記録されていると、対象となるＭＡＣアドレスとトンネル識別子の組を転送テーブルから削除し、ＤＳＴ ＭＡＣアドレス、入力位置およびトンネルの識別子の情報を含むＥｘｐｉｒｅ情報をＬ２ＶＰＮ制御システム１０に通知する（ステップ８０１）。
【００７３】
Ｌ２ＶＰＮ制御システム１０は、Ｌ２ＶＰＮ転送装置３０−１からＥｘｐｉｒｅ情報を受け取ると、Ｅｘｐｉｒｅ情報に基づいて対象となる設定エントリを設定エントリ情報のテーブルから削除する（ステップ８０２）。
【００７４】
従来のＬ２ＶＰＮ転送装置では、未使用のエントリ情報を持つことで処理が遅くなったり、未使用エントリの更新処理が次に続く使用中エントリの更新処理を待たせることになったりするが、本実施形態のように、Ｌ２ＶＰＮ転送装置毎で行われる設定情報・設定変更処理を分割することで、これらの時間ロスを抑制できる。
【００７５】
次に、本実施形態の通信システムにおける分散制御の動作を説明する。
【００７６】
Ｌ２ＶＰＮ制御システム１０は、Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎから受け付ける接続情報および設定要求に関連するマクロフローを特定し、特定したマクロフローの情報を管理する分散処理装置に、受け付けた情報が渡るように制御する。
【００７７】
図９は設定情報通知があった場合の分散制御を説明するための図であり、図１０は設定要求があった場合の分散制御を説明するための図である。図９および図１０では、動作手順を説明するために、Ｌ２ＶＰＮ制御システム１０およびＬ２ＶＰＮ転送装置３０−１〜３０−２の各装置をそれぞれが備えている「機能」で表現し、各Ｌ２ＶＰＮ転送装置を位置の識別子で表している。
【００７８】
図９に示すように、分散制御装置１１は、ＳＲＣ ＭＡＣ Ｚおよび入力位置「２−１」の情報を含むメッセージをＬ２ＶＰＮ転送装置３０−２から受信すると、メッセージに含まれる識別子からメッセージの種類を判別する。そして、分散制御装置１１は、メッセージが接続情報であることを認識すると、ＳＲＣ ＭＡＣ・ＶＬＡＮを識別子として、処理を担当させる分散処理装置を分散処理装置１２ｂに判定し、接続情報を分散処理装置１２ｂに送信する。分散処理装置１２ｂは分散制御装置１１から受信した接続情報を外部接続情報に記録する。
【００７９】
図１０に示すように、分散制御装置１１は、ＤＳＴ ＭＡＣ Ｚおよび入力位置「１−１」の情報を含むメッセージをＬ２ＶＰＮ転送装置３０−１から受信すると、メッセージに含まれる識別子からメッセージの種類を判別する。そして、分散制御装置１１は、メッセージが設定要求情報またはＥｘｐｉｒｅ情報であることを認識すると、ＤＳＴ ＭＡＣ Ｚ・ＶＬＡＮを識別子として、処理を担当させる分散処理装置を分散処理装置１２ｂに判定し、受け取った情報を分散処理装置１２ｂに送信する。
【００８０】
分散処理装置１２ｂは、分散制御装置１１から受信した情報が設定要求情報である場合、その情報を設定エントリ情報に記録すると共に、エントリ情報をＬ２ＶＰＮ転送装置３０−１、３０−２に送信する。一方、分散制御装置１１から受信した情報がＥｘｐｉｒｅ情報である場合、分散処理装置１２ｂは、Ｅｘｐｉｒｅ情報で特定される未使用エントリを設定エントリ情報から削除する。
【００８１】
図１１は分散制御の手順を示すシーケンス図である。なお、図１１では、接続情報の登録とトンネル設定の２つの動作を説明するために、これら２つの動作をまとめて記載している。
【００８２】
Ｌ２ＶＰＮ転送装置３０−２がＳＲＣ ＭＡＣ Ｚおよび入力位置「２−１」の情報を含むメッセージをＬ２ＶＰＮ制御システム１０に送信する（ステップ１１０１）。分散制御装置１１は、メッセージをＬ２ＶＰＮ転送装置３０−２から受信し、メッセージに含まれる識別子からメッセージが接続情報であることを認識すると、ＳＲＣ ＭＡＣ・ＶＬＡＮを識別子として、処理を担当させる分散処理装置を分散処理装置１２ｂに選定する（ステップ１１０２）。そして、分散制御装置１１は、接続情報を分散処理装置１２ｂに送信する（ステップ１１０３）。分散処理装置１２ｂは、分散制御装置１１から受信した接続情報を外部接続情報に記録して外部接続情報を更新する（ステップ１１０４）。
【００８３】
一方、Ｌ２ＶＰＮ転送装置３０−１がＤＳＴ ＭＡＣ Ｚおよび入力位置「１−１」の情報を含むメッセージをＬ２ＶＰＮ制御システム１０に送信する（ステップ１１０５）。分散制御装置１１は、メッセージをＬ２ＶＰＮ転送装置３０−１から受信し、メッセージに含まれる識別子からメッセージが設定要求情報であることを認識すると、ＤＳＴ ＭＡＣ Ｚ・ＶＬＡＮを識別子として、処理を担当させる分散処理装置を分散処理装置１２ｂに選定する（ステップ１１０６）。そして、分散制御装置１１は、設定要求情報を分散処理装置１２ｂに送信する（ステップ１１０７）。
【００８４】
分散処理装置１２ｂは、分散制御装置１１から設定要求情報を受信すると、ＭＡＣ Ｚをキー情報として外部接続情報を検索し、ＭＡＣ Ｚと位置「２−１」の組の情報を見つけると、入力位置１−１から出力先を２−１とするトンネルＴＢを選定し、その設定内容を設定エントリ情報に記録する（ステップ１１０８）。
【００８５】
その後、分散処理装置１２ｂは、ＤＳＴ ＭＡＣ Ｚおよび転送先トンネルの識別子（ＴＢ）の情報を含むエントリ情報をＬ２ＶＰＮ転送装置３０−１に送信する（ステップ１１０９）。Ｌ２ＶＰＮ転送装置３０−１は、Ｌ２ＶＰＮ制御システム１０から受け取ったエントリ情報を転送テーブルに転記し、転送情報を更新する。図１１には、Ｌ２ＶＰＮ転送装置３０−１からＬ２ＶＰＮ転送装置３０−１へのトンネルＴＢが設定されたことを模式的に示す。
【００８６】
上述したように、同一の識別子が同一の分散処理装置に渡れば、設定要求のＤＳＴ ＭＡＣ・入力位置と、外部接続情報のＳＲＣ ＭＡＣをＤＳＴ ＭＡＣとして検索した位置を出力位置として、入出力位置を導き出し転送設定を行うことが可能となる。
【００８７】
図１２は本実施形態の通信システムにおける分散処理の概要を説明するための図である。
【００８８】
ＤＳＴ ＭＡＣ１を含むパケット群をマクロフロー（１）とし、ＤＳＴ ＭＡＣ２を含むパケット群をマクロフロー（２）とし、ＤＳＴ ＭＡＣ３を含むパケット群をマクロフロー（３）とした場合、図１２は、マクロフロー（１）および（２）の転送制御を分散処理装置１２ａに担当させ、マクロフロー（３）の転送制御を分散処理装置１２ｂに担当させる場合を示す。
【００８９】
拠点Ａから拠点ＢにＭＡＣ１〜ＭＡＣ３が移動すると、本実施形態では、アドレスの移動に伴う設定変更をマクロフロー毎に分散処理装置１２ａ、１２ｂに分担させ、その変更の契機をマクロフローで判定して分散処理装置に変更処理の実行を促す。分散処理装置１２ａ、１２ｂのそれぞれは、自分が担当するマクロフロー単位で外部接続情報の検索、および設定エントリ情報の更新を実行する。
【００９０】
本実施形態の通信システムでは、マクロフロー単位に重複なく設定エントリ情報を分割し、同一マクロフローに関する変更契機を同一の分散処理に振り分け、設定変更処理が該当エントリ情報を持つ分散処理装置でのみ実施されるように制御している。転送機能の配置位置に依存せず、設定エントリ情報と設定変更処理を効率的に分散することで、設定変更の処理量を削減し、設定変更の並列処理ができるようになり、設定変更の高速化が可能となる。
【００９１】
また、設定処理と転送処理を分離しているための、外部接続位置を管理する機能と中継経路を管理する機能を分散することが可能となる。
【００９２】
また、同一のＭＡＣアドレス・ＶＬＡＮの識別子を含むマクロフローを同一の分散処理装置に渡すことで、同一マクロフローの外部接続情報と変更契機を同一の分散処理装置に処理させる分散制御が可能となる。
【００９３】
さらに、各Ｌ２ＶＰＮ転送装置における転送テーブルから未使用エントリを削除し、転送テーブルに使用エントリのみを残すようにしているため、エントリの検索にかかる時間を抑制することができる。
【００９４】
（第２の実施形態）
本実施形態は、第１の実施形態の通信システムにおいて、分散処理装置間でマクロフローを動的に再分散することで、分散処理装置の負荷の平滑化を図るようにしたものである。
【００９５】
本実施形態の通信システムの構成を説明する。なお、本実施形態では、第１の実施形態で説明したＬ２ＶＰＮ制御システム１０の構成と異なる点を詳しく説明し、同様な構成についての詳細な説明を省略する。
【００９６】
本実施形態は、第１の実施形態で説明したＬ２ＶＰＮ制御システム１０において、分散制御装置１１にカウントアップ機能が追加され、転送設定制御部１５に情報移行機能が追加されている。
【００９７】
分散制御装置１１は、新規トンネルの設定および設定変更による変化に追従して、所定の設定エントリ数をカウントアップし、設定エントリ数が予め決められた閾値を越えると、Ｃプレーン制御を行う分散処理装置１２ａ、１２ｂの間で設定情報の再分散を行う。
【００９８】
閾値１と閾値２の２つの閾値が予め設定されている。閾値１は、一括で切り替わる可能性が高いと判定される、同一外部接続点から出力される設定エントリ数である。閾値２は検索処理の時間増に影響すると判定される全保持設定エントリ数である。
【００９９】
本実施形態の通信システムの動作を、図１３を参照して説明する。ここでは、設定エントリ数がマクロフロー数の場合とする。
【０１００】
図１３は本実施形態の通信システムの動作を説明するための図である。図１３において、分散処理１は分散処理装置１２ａに相当し、分散処理２は分散処理装置１２ｂに相当する。
【０１０１】
分散制御装置１１による分散制御において、ボトルネックとしない振分（例えば、ＭＡＣアドレス・ＶＬＡＮによるハッシュ）を利用すると、新規設定・設定変更の繰り返しで分散処理装置１２ａ、１２ｂの間で設定対象のマクロフロー数が偏り、分散の効果が維持できなくなってしまう。そのため、分散制御装置１１は、次のような観点で、偏りを検知し、動的に平滑化する。
【０１０２】
注目すべき偏りとして、設定情報数と設定変更要求数の２種類が考えられる。
【０１０３】
分散処理装置１２ａ、１２ｂの間で設定情報数が偏ると、合計マクロフロー数が偏り、関連する設定エントリ情報検索の時間が増加する。また、同一外部接続点から出力されるマクロフロー群は、同一収容装置・リンクの障害で同時に切り替わる可能性が高く、分散処理装置１２ａ、１２ｂの間で設定変更要求数が偏ると、設定要求が１つの分散処理装置に集中する。
【０１０４】
分散制御装置１１は、新規トンネルの設定および設定変更による変化に追従して、同一外部接続点から出力されるマクロフロー数と、分散処理装置１２ａ、１２ｂのそれぞれの全保持設定マクロフロー数とをカウントアップする。同一外部接続点から出力されるマクロフロー数が閾値１を超える、または、分散処理装置１２ａ、１２ｂのそれぞれの全保持設定マクロフロー数のいずれかが閾値２を超えると、分散処理装置１２ａ、１２ｂの間で設定情報の再分散を行う。
【０１０５】
図１３では、分散制御装置１１は、当初、分散処理装置１２ａに割り当てていた、ＭＡＣ Ａを含むマクロフロー１とＭＡＣ Ｂを含むマクロフロー２を、再分散により、マクロフロー２を分散処理装置１２ｂに割り当て直すことを示す。分散制御装置１１は、分散処理装置１２ａ、１２ｂのそれぞれの設定エントリ情報を更新し、分散制御装置１１が管理する分散テーブルを更新している。
【０１０６】
本実施形態による方法では、Ｃプレーン制御上の設定移動であるため、Ｕプレーン通信に影響を与えずに再分散を行うことが可能である。また、複数の分散処理装置の負荷を均等にすることができる。
【０１０７】
図１４は本実施形態の通信システムにおける実施例を説明するための図である。本実施例は、２段階ハッシュによる方法である。
【０１０８】
分散制御装置１１は、ハッシュ計算による２段階設定を実施する（１度バケットに割当、バケットごとに分散処理装置を割当）。分散制御部装置１１は、分散処理装置間で割り当てるバケットを変更することで、閾値１と閾値２の値を調整する。そして、分散制御部装置１１は、設定命令にバケットＩＤを付加し、分散先はバケット単位にエントリ情報を作成することで、バケット変更時のエントリ情報の移動を容易にする。
【０１０９】
図１４では、分散制御装置１１がＭＡＣ・ＶＬＡＮの情報を用いてハッシュ計算を行い、バケット１〜３のテーブルを作成する。続いて、分散制御装置１１は、バケット１〜３のマクロフローの合計数を比較し、バケット２の割当先を分散処理装置１２ａから分散処理装置１２ｂに変更する。割当先の変更により、１つの分散処理装置に割り当てられる複数のバケットで、ＭＡＸ（Σエントリ数（出力Ｘ））＜Ｙと、Σ合計エントリ数＜Ｗの両方を満たすようにすることが望ましい。ＹとＷは予め設定される閾値１と閾値２である。
【０１１０】
本実施形態によれば、分散制御をボトルネックとしないハッシュ振分を利用した場合に、分散処理間の設定マクロフロー数の偏りを防止し、分散の効果が維持できる。
【０１１１】
（第３の実施形態）
第２の実施形態では、動的再分散により負荷を平滑化する場合を説明したが、本実施形態は、第１の実施形態で説明した通信システムにおいて、転送位置による再分散を行うものである。
【０１１２】
なお、本実施形態の通信システムの構成について詳細な説明を省略し、第１の実施形態と異なる動作について詳しく説明する。
【０１１３】
図１５は本実施形態の通信システムにおいて、分散処理装置間の再分散方法を説明するための図である。
【０１１４】
同一のマクロフローであって、１ホップ目に相当するＬ２ＶＰＮ転送装置の位置を示す転送位置が異なる転送エントリが集中すると、設定変更処理の負荷が１つの分散処理装置に集中してしまう。
【０１１５】
そこで、本実施形態では、分散制御装置１１は、担当させるマクロフローを分散処理装置１２ａ、１２ｂに分散させて、その割り当てを示すテーブルを作成した後、図１５に示すように、検索した１ホップ目の転送位置の情報を利用して、幾つかの転送位置毎に再分散を行う。
【０１１６】
この再分散は、分散処理装置１２ａ、１２ｂのそれぞれにおける設定情報の再分散を意味する。例えば、分散処理装置１２ａ内の設定情報を、さらに分散処理装置１２ａ内で、分散処理部１２ａ−１および分散処理部１２ａ−２のように分散させる。最終分散先となる分散処理部１２ａ−１、１２ａ−２、１２ｂ−１、１２ｂ−２で転送エントリの更新と転送装置に反映を行う。図１５に示す例では、転送位置毎にマクロフロー（１）を分散処理部１２ａ−１、１２ａ−２に分散させた場合を示す。
【０１１７】
（第４の実施形態）
本実施形態は、拠点間中継のトンネルへの割り当てに関して、第１の実施形態で説明したマクロフローよりも細かい粒度でフローを区別し、フロー毎に要求される通信品質（例えば、ＱｏＳ（Quality of Service））を考慮してトンネル転送制御を行うものである。これは、エントリ数の増加に伴って、エントリの検索処理が複雑化するのを防ぐのが目的である。
【０１１８】
本実施形態では、フローの識別子として、ＤＳＴ ＭＡＣ・ＶＬＡＮの他に、サービスを識別するための宛先（ＤＳＴ）ポート番号およびユーザの情報（ＳＲＣ ＭＡＣ）の両方またはいずれかを含む。マクロフローの識別子としてＤＳＴポートおよびＳＲＣ ＭＡＣの両方またはいずれかを付加した、より細かい識別子で特定されるパケット群をマイクロフローとして定義する。つまり、本実施形態では、同一のＤＳＴ ＭＡＣ・ＶＬＡＮを識別子に含むパケット群をマクロフローとし、そのマクロフローのうち、同一のＤＳＴポート番号・ＳＲＣ ＭＡＣの両方またはいずれかを識別子に含むマクロフローをマイクロフローと称する。
【０１１９】
なお、以下では、フローの識別子として、ＤＳＴ ＭＡＣ・ＶＬＡＮの他に、ＤＳＴポート番号・ＳＲＣ ＭＡＣの両方を含む場合で説明するが、ＤＳＴポート番号・ＳＲＣ ＭＡＣのうちいずれか一方であってもよく、マイクロフローのフィールドはパケットに記載されていれば他のいかなる識別子でもよい。
【０１２０】
本実施形態の通信システムの構成を説明する。
【０１２１】
図１６は本実施形態の通信システムの一構成例を示すブロック図である。なお、本実施形態では、第１の実施形態で説明した通信システムの構成と異なる点を詳しく説明し、同様な構成についての詳細な説明を省略する。
【０１２２】
本実施形態は、第１の実施形態で説明したＬ２ＶＰＮ制御システム１０に、ＱｏＳ設定ＡＰＩ（Application Program Interface）１６が設けられ、転送設定制御部１５にＱｏＳ設定機能およびＱｏＳ設定移行機能が追加され、記憶部１３に格納される情報に設定ＱｏＳエントリ情報が追加される。Ｌ２ＶＰＮ転送装置３０−１〜３０−ｎについては、記憶部３３に格納される情報としてＱｏＳ転送情報が追加される。
【０１２３】
ＱｏＳ設定ＡＰＩ １６は、ＤＳＴポート番号およびＳＲＣ ＭＡＣを含むＱｏＳ設定メッセージが入力されると、同一のＤＳＴポート番号およびＳＲＣ ＭＡＣを含むマイクロフローをマクロフローに設定する。
【０１２４】
本実施形態の通信システムの動作の概要を、図１７を参照して説明する。ここでは、事前に複数のＱｏＳレベルのトンネルを予め用意し、外部接続点で載せ替えを行うものとする。ＤＳＴポート番号がＱｏＳレベルと対応している。
【０１２５】
図１７は複数アドレスの移動に追従したＱｏｓ設定移動の動作を説明するための図である。
【０１２６】
図１７（ａ）はＱｏＳ初期設定と複数アドレスの移動を示す。図１７（ａ）に示すように、ＱｏＳ設定ＡＰＩ １６は、Ｑｏｓ設定メッセージが入力されると、マクロフローに含まれるマイクロフローの識別子を分散制御装置１１に指定する。これにより、分散制御装置１１は、マクロフローよりも更に細かい粒度の転送設定を行う。複数のアドレス（Ｘ）が拠点Ａから拠点Ｂに移動している。
【０１２７】
図１７（ｂ）は複数アドレスの移動に追従したＱｏＳ設定の動作を示す。図１７（ａ）に示したように複数アドレスの移動があると、それに伴ってマクロフローも移動するが、そのマクロフローに包含されるマイクロフローを、分散制御装置１１は、識別子（ＤＳＴ ＭＡＣ、ＶＬＡＮ）で抽出したマクロフローから全て抽出し、全てマクロフローに合わせてマイクロフローのＱｏＳの設定も移動する。これにより、アドレスの移動後も、ユーザが要求するＱｏＳを維持できる。
【０１２８】
次に、本実施形態の通信システムの動作を具体例で説明する。図１８および図１９は本実施形態の通信システムの動作を説明するための図である。図１８および図１９では、ＤＳＴポートをＤｐｏｒｔと表記している。
【０１２９】
図１８はアドレス移行時の接続情報の通知があった場合の動作を示し、図１９はアドレス移動に合わせたＱｏＳ設定変更の動作を示す。
【０１３０】
図１８を参照すると、アドレスの移動前は、ＱｏＳ設定エントリ情報において、ＤＳＴ ＭＡＣ Ｚと同じ組に、トンネル識別子として「ＴＢ」が登録され、ＤＳＴポート番号として「８０」が登録され、要求ＱｏＳとして「帯域保証」の情報が登録されている。また、Ｌ２ＶＰＮ転送装置３０−１の転送テーブルには、ＤＳＴ ＭＡＣ Ｚと同じ組に、ＤＳＴポート番号「８０」とトンネル識別子「ＴＢ」が登録されている。
【０１３１】
図１８に示すように、ＭＡＣ Ｚが拠点Ａから拠点Ｂに移動すると、Ｌ２ＶＰＮ制御システム１０が外部接続情報を更新する。図１８には、更新後の外部接続情報のテーブルに、ＭＡＣ Ｚと位置「３−１」の情報からなる組が登録されている様子が示される。
【０１３２】
その後、Ｌ２ＶＰＮ制御システム１０は、マクロフロー識別子（ＤＳＴ ＭＡＣ、ＶＬＡＮ）を用いて、関連するマイクロフローを全て抽出する。図１９に示すように、Ｌ２ＶＰＮ制御システム１０がＬ２ＶＰＮ転送装置３０−１とＬ２ＶＰＮ転送装置３０−３の間にトンネルＴＲを設定し、その情報をＱｏＳ設定エントリ情報に反映させ、Ｌ２ＶＰＮ転送装置３０−１の転送テーブルにも反映させる。
【０１３３】
図１９に示す場合には、マクロフロー識別子で関連するマイクロフローを抽出できる場合を示しているが、実際には、マイクロフロー識別子で抽出する。
【０１３４】
本実施形態によれば、広域に渡る中継経路の資源を効率的に利用できる。
【０１３５】
（第５の実施形態）
本実施形態は、第４の実施形態の通信システムに、第２の実施形態の負荷分散方法を適用するものである。なお、本実施形態の通信システムの構成について詳細な説明を省略し、第２および第４の実施形態と異なる動作について詳しく説明する。
【０１３６】
図２０は本実施形態の通信システムの動作を説明するための図である。図２０では、図１４を参照して説明した２段階ハッシュ計算を用いる場合を示し、ここでは、その詳細な説明を省略する。
【０１３７】
本実施形態では、分散制御装置１１は、設定要求をマクロフロー単位で分散処理するが、転送エントリの設定をマイクロフロー単位で分散処理する。分散制御装置１１は、合計エントリ数としてマイクロフロー数をカウントアップし、マイクロフロー数が閾値１または閾値２を超えると、第２の実施形態で説明した再分散を行う。閾値１は同一外部接続点から出力されるマクロフロー数の判定基準値であり、閾値２は全保持設定マイクロフロー数の判定基準値である。
【０１３８】
本実施形態によれば、マイクロフロー利用時も分散処理装置間の設定変更処理負荷を平滑化できる。
【０１３９】
なお、第４の実施形態の通信システムに、第３の実施形態の負荷分散方法を適用してもよく、その詳細な説明を省略する。
【０１４０】
（第６の実施形態）
本実施形態は、第１の実施形態の通信システムにおいて、マクロフローの識別子としてＬ２ＶＰＮの出入口情報を使用するものである。本実施形態では、入出力の組み合わせを基にした分散方法で設定変更処理を行う。
【０１４１】
本実施形態の通信システムの構成を説明する。なお、本実施形態では、第１の実施形態で説明した通信システムの構成と異なる点を詳しく説明し、同様な構成についての詳細な説明を省略する。
【０１４２】
図２１は本実施形態の通信システムの一構成例を示すブロック図である。図２２は本実施形態の通信システムの構成を説明するための図である。図２２において、入出力１はＬ２ＶＰＮ転送装置３０−１に相当し、入出力２はＬ２ＶＰＮ転送装置３０−２に相当し、入出力３はＬ２ＶＰＮ転送装置３０−３に相当し、入出力４はＬ２ＶＰＮ転送装置３０−４に相当する。
【０１４３】
図２１に示すように、本実施形態では、分散制御装置１１が、選定部１１２と、保持経路外設定部１１３とを有する。選定部１１２および保持経路外設定部１１３は、ＣＰＵがプログラムを実行することで仮想的に構成されるが、専用の回路で構成されてもよい。
【０１４４】
選定部１１２は、予め選定テーブルを備え、現在の入出力位置の情報を含む設定変更メッセージをＬ２ＶＰＮ転送装置から受信すると、選定テーブルを参照し、設定変更メッセージから読み出した入出力位置の情報に基づいて分散処理装置を選定し、選定した分散処理装置に設定変更メッセージを受け渡す。
【０１４５】
選定テーブルには、転送されるパケットの入力位置および出力位置の情報に対応して、選定される分散処理装置１２ａ、１２ｂのＩＤが登録されている。図２２に示す選定テーブルでは、設定位置情報の欄に入力位置および出力位置の情報が記述され、フロー制御ＩＤの欄には、分散処理装置１２ａのＩＤとして「１」と、分散処理装置１２ｂのＩＤとして「２」が記述されている。本実施形態では、同一の入力位置および出力位置のＬ２ＶＰＮ転送装置の識別子の情報を含むパケット群をマクロフローとして定義している。
【０１４６】
保持経路外設定部１１３は、保持しない経路に関するメッセージを分散処理装置から受け取ると、選定部１１２を介して、新規設定を担当する分散処理装置にその情報を渡して、経路設定の指示をし直す。
【０１４７】
分散処理装置１２ａ、１２ｂは、分散制御装置１１と、切替経路に関する情報を含むメッセージを送受信する機能を有する。図には示していないが、分散処理装置１２ａ、１２ｂは互いに直接に通信する機能を備えていてもよい。分散を跨った切り替えが発生する場合には、分散処理装置１２ａ、１２ｂの間で設定または削除という単位で処理の連携を行えばよい。
【０１４８】
図２３Ａおよび図２３Ｂは本実施形態の通信システムの動作を詳細に説明するための図である。
【０１４９】
図２３Ａは、マクロフローとしてフローＡのトンネル経路を「入力１−出力４」から「入力１−出力５」に切り替えるときの装置間におけるメッセージや設定指示のやり取りを示す。
【０１５０】
分散処理装置は、指示された切替経路が不明の場合、新規設定を他の分散処理装置に依頼し、分散処理装置１２ｂが経路設定完了後に、自身で旧経路を削除する。図２３Ｂは、分散処理装置１２ａが、切替経路が不明である旨のメッセージ１を保持経路外設定部１１３に通知することで、保持経路外設定部１１３が選定部１１２を介して、分散処理装置１２ｂに経路を設定させることを示す。
【０１５１】
図２３Ｂでは、分散処理装置１２ａが、フローＡに関する切替経路が不明なので、トンネル経路「入力１−出力５」の設定を依頼する旨のメッセージ１を保持経路外設定部１１３に送る。続いて、選定部１１２が、メッセージ１を保持経路外設定部１１３から受け取ると、「入力１−出力５」の経路を分散処理装置１２ｂに設定させる。分散処理装置１２ｂが「入力１−出力５」の経路の設定が終了した旨のメッセージ２を保持経路外設定部１１３を介して選定部１１２に送ると、選定部１１２が、その情報を分散処理装置１２ａに通知し、分散処理装置１２ａが「入力１−出力４」の経路を削除する。
【０１５２】
単一経路内の処理は単一フロー管理で完結し、「新経路の設定」・「旧経路の削除」という２経路に対する処理のみが相関する。設定→削除という順で処理を行い、共有経路は削除しない。
【０１５３】
選定部１１２は、ワークフローのアドレス情報を確認したら、設定依頼を分散処理装置に再度渡す。入出力情報があれば分散制御装置が分散処理装置を特定することが可能だからである。
【０１５４】
分散処理装置が削除経路を一旦連結してその情報を保持経路外設定部１１３に渡し、保持経路外設定部１１３からの通知で、新経路設定の分散処理装置が削除経路から必要な差分を取り、共有経路は削除経路から抜き再度戻す。削除を行う分散処理装置は、保持経路外設定部１１３から戻ってきた情報で処理する。これにより、ステート管理不要となる。影響度として、処理のロックは発生しないため、並列処理への影響は小さい。
【０１５５】
本実施形態によれば、設定変更処理を並列化して変更処理時間を短縮化し、また、１分散が保持する経路情報（トンネル）を削減し、変更先経路選定時間を短縮化できる。そのため、トンネル数増加時に１分散で保持される経路情報を削減し、中継経路選定を高速化できる。
【０１５６】
（第７の実施形態）
本実施形態は、第１の実施形態で説明したアドレスベース分散と、第６の実施形態で説明した入出力位置ベース分散を組み合わせたものである。
【０１５７】
図２４は本実施形態の通信システムの一構成例を示すブロック図である。
【０１５８】
本実施形態の通信システムは、第１の実施形態で説明した通信システムにおいて、分散制御装置１１の代わりに、図２４に示す分散制御装置２０を有する。分散制御装置２０は、第１の実施形態で説明した分散制御装置１１の機能を有する分散制御部１１１が複数設けられている。また、分散制御部２０は、第６の実施形態で説明した選定部１１２に相当する入出力位置ベース選定部１１５を有する。
【０１５９】
図２４には、分散制御部１１１が２つで、分散処理装置１２ａ―１、１２ａ―２、１２ｂ−１、１２ｂ−２の４台の場合を示しているが、これらの制御部および装置の数は図２４に示す数に限らない。
【０１６０】
本実施形態の分散制御装置２０では、複数の入出力位置ベース分散のエリア（経路の束）のそれぞれに、アドレスベースで分散する分散制御部１１１を設置している。
【０１６１】
図２５は本実施形態の通信システムの動作を説明するための図である。
【０１６２】
本実施形態では、トンネル設定および設定変更等の要求があると、ワークフローを入出力位置ベース選定部１１５が入出力位置情報に基づいて複数の分散制御部１１１に分散する。そして、図２５に示すように、分散後のワークフローを各分散制御部１１１がＤＳＴ ＭＡＣ・ＶＬＡＮに基づいて複数の分散処理装置１２ａ―１、１２ａ―２、１２ｂ−１、１２ｂ−２に分散して、転送制御をそれぞれの装置に実行させる。
【０１６３】
本実施形態によれば、トンネル設定変更の処理をさらに高速化させることができる。
【符号の説明】
【０１６４】
１０    Ｌ２ＶＰＮ制御システム
１１、２０    分散制御装置
１２ａ、１２ｂ    分散処理装置
１３    記憶部
１４    外部接続情報管理部
１５    転送設定制御部
３０−１〜３０−ｎ    Ｌ２ＶＰＮ転送装置
３１    通信制御部
３２    外部接続学習部
３３    記憶部
３４    転送部
【図１】
2014160907.tif 000003
【図２】
2014160907.tif 000004
【図３】
2014160907.tif 000005
【図４】
2014160907.tif 000006
【図５】
2014160907.tif 000007
【図６】
2014160907.tif 000008
【図７】
2014160907.tif 000009
【図８】
2014160907.tif 000010
【図９】
2014160907.tif 000011
【図１０】
2014160907.tif 000012
【図１１】
2014160907.tif 000013
【図１６】
2014160907.tif 000014
【図１９】
2014160907.tif 000015
【図２１】
2014160907.tif 000016
【図２３Ａ】
2014160907.tif 000017
【図２３Ｂ】
2014160907.tif 000018
【図２４】
2014160907.tif 000019
【図２５】
2014160907.tif 000020
【図２６】
2014160907.tif 000021
【図２８】
2014160907.tif 000022
【図１２】
2014160907.tif 000023
【図１３】
2014160907.tif 000024
【図１４】
2014160907.tif 000025
【図１５】
2014160907.tif 000026
【図１７】
2014160907.tif 000027
【図１８】
2014160907.tif 000028
【図２０】
2014160907.tif 000029
【図２２】
2014160907.tif 000030
【図２７】
2014160907.tif 000031