(57)【要約】  コントロールプレーンから見て、ローカル側とリモート側データプレーンを同じ様に見せ、制御の単純化や設定性能の劣化防止を実現する。ネットワーク中継システムは複数の通信装置１０００で構成され、各通信装置は、入力されるパケットをルーティング情報に従い転送するデータプレーン２０と、ルーティング情報を学習する処理部１１１０及び制御系リピータ１１２０を有するコントロールプレーン１１００を有する。各通信装置のデータプレーン２０間は、ノンブロッキングな通信が実現可能に構成される。また、運用系の制御系リピータ１１２０は、処理部１１１０からルーティング情報を受信して、自通信装置のデータプレーン２０に設定し、該ルーティング情報を他の通信装置１１００−２の制御系リピータ１１２０に送信する。待機系の制御系リピータ１１２０は、該ルーティング情報を受信して自通信装置のデータプレーン２０に設定する。
2012102170.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置で構成されるネットワーク中継システムであって、
前記通信装置はそれぞれ、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
前記複数の通信装置の各転送処理部間は、ノンブロッキングな通信が実現可能に構成され、
運用系の前記制御部の前記制御系リピータは、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の前記制御系リピータに送信し、
待機系の前記制御部の前記制御系リピータは、他の通信装置の前記制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定するネットワーク中継システム。
【請求項２】
前記転送処理部は、
外部との接続インタフェースである外部インタフェースを備える接続部と、
前記接続部を介して受信した受信パケットを転送する転送部と、
を備え、
前記複数の通信装置の各転送処理部間が、所定の通信装置の前記接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続されることにより、ノンブロッキングな通信が実現可能に構成されている請求項１に記載のネットワーク中継システム。
【請求項３】
第１の装置から第２の装置への中継経路が、前記通信装置の前記転送処理部のいずれかを介する経路と、複数の前記通信装置の前記転送処理部及び前記外部信号線を介する経路とで冗長化されている請求項２に記載のネットワーク中継システム。
【請求項４】
各通信装置の前記制御部は、運用系及び待機系の系制御を制御系リピータを介してハードウェアで実施する請求項１に記載のネットワーク中継システム。
【請求項５】
前記複数の通信装置の前記制御部のひとつが運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系である請求項１に記載のネットワーク中継システム。
【請求項６】
前記複数の通信装置の前記制御部のふたつ以上が運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系である請求項１に記載のネットワーク中継システム。
【請求項７】
前記複数の通信装置の各制御系リピータがリング構成で接続されており、
待機系の前記通信装置の前記制御系リピータは、他の通信装置の制御系リピータからルーティング情報を受信すると、自通信装置の前記転送処理部に該ルーティング情報を設定するとともに該ルーティング情報を他の通信装置の制御系リピータに送信する請求項１に記載のネットワーク中継システム。
【請求項８】
前記複数の通信装置の各制御系リピータがフルメッシュ構成で接続されている請求項１に記載のネットワーク中継システム。
【請求項９】
複数の通信装置で構成されるネットワーク中継システムにおける前記通信装置であって、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
前記転送処理部と他の通信装置の転送処理部とはノンブロッキングな通信が実現可能に構成され、
前記制御部の前記制御系リピータは、運用系に設定されている場合、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の制御系リピータに送信し、
前記制御部の前記制御系リピータは、待機系に設定されている場合、他の通信装置の制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定する通信装置。
【請求項１０】
ネットワーク中継装置であって、
外部との接続インタフェースである第１の外部インタフェースを備える接続部と、
前記接続部における回線の帯域の合計以上の合計帯域を持つ内部信号線と、
前記内部信号線によって前記接続部と接続され、前記接続部を介して受信した受信パケットを転送する転送部と、
を備え、
前記転送部は、
他のネットワーク中継装置と接続されるための第２の外部インタフェースを備え、
前記第２の外部インタフェースと、他のネットワーク中継装置の前記第２の外部インタフェースとが、前記接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続され得る、ネットワーク中継装置。
【請求項１１】
請求項１０記載のネットワーク中継装置であって、
前記転送部は、
前記受信パケットを、前記受信パケットを受信した前記第１の外部インタフェースに予め対応付けられた前記第２の外部インタフェースから出力する第１の転送モードと、
前記受信パケットを、前記受信パケットの宛先から決定される前記第１の外部インタフェースまたは前記第２の外部インタフェースから出力する第２の転送モードと、
を備え、
前記転送部は、さらに、
前記第１の転送モードと、前記第２の転送モードとを切り替えるモード制御部を備える、ネットワーク中継装置。
【請求項１２】
請求項１０記載のネットワーク中継装置であって、さらに、
複数の前記転送部を備え、
複数の前記転送部は、それぞれ、
前記内部信号線によって前記接続部に接続され、
前記第２の外部インタフェースと、他のネットワーク中継装置の前記第２の外部インタフェースとが、それぞれ、前記外部信号線で接続され得る、ネットワーク中継装置。
【請求項１３】
請求項１２記載のネットワーク中継装置であって、
複数の前記転送部には、
前記第１の転送モードに設定されている前記転送部と、
前記第２の転送モードに設定されている前記転送部と、
が含まれる、ネットワーク中継装置。
【請求項１４】
請求項１０記載のネットワーク中継装置であって、
前記接続部は、さらに、
前記接続部から前記転送部への経路が複数存在する場合に、前記受信パケットを複数の前記経路へ振り分ける負荷分散処理部を備える、ネットワーク中継装置。
【請求項１５】
請求項１４記載のネットワーク中継装置であって、
前記負荷分散処理部は、
前記受信パケットを、複数の前記経路に対して略均等に振り分ける、ネットワーク中継装置。
【請求項１６】
請求項１２記載のネットワーク中継装置であって、
前記接続部は、さらに、
前記接続部から前記転送部への経路が複数存在する場合に、前記受信パケットを複数の前記経路へ振り分ける負荷分散処理部を備え、
前記負荷分散処理部は、
前記受信パケットを、一部の前記転送部への前記経路に対して振り分ける、ネットワーク中継装置。
【請求項１７】
請求項１２記載のネットワーク中継装置であって、
前記接続部は、さらに、
前記接続部から前記転送部への経路が複数存在する場合に、前記受信パケットを複数の前記経路へ振り分ける負荷分散処理部を備え、
前記負荷分散処理部は、
前記受信パケットの宛先から決定される前記受信パケットの出力先が前記第１の外部インタフェースに属する場合は、前記第２の転送モードに設定されている前記転送部への経路に対して前記受信パケットを振り分け、
前記受信パケットの宛先から決定される前記受信パケットの出力先が前記他のネットワーク中継装置に属する場合は、前記第１の転送モードに設定されている前記転送部への経路に対して前記受信パケットを振り分ける、ネットワーク中継装置。
【請求項１８】
請求項１１記載のネットワーク中継装置であって、
前記ネットワーク中継装置は、さらに、
前記他のネットワーク中継装置の障害を検知した場合に、前記第１の転送モードに設定されている前記転送部を、前記第２の転送モードへと変更するモード変更部を備える、ネットワーク中継装置。
【請求項１９】
ネットワークシステムであって、
第１のネットワーク中継装置と、
第２のネットワーク中継装置と、
を含み、
前記第１のネットワーク中継装置と、前記第２のネットワーク中継装置は、それぞれ、
外部との接続インタフェースである第１の外部インタフェースを備える接続部と、
前記接続部における回線の帯域の合計以上の合計帯域を持つ内部信号線と、
前記内部信号線によって前記接続部と接続され、前記接続部を介して受信した受信パケットを転送すると共に、他のネットワーク中継装置と接続されるための第２の外部インタフェースを備える転送部と、
を備え、
前記第１のネットワーク中継装置の前記第２の外部インタフェースと、前記第２のネットワーク中継装置の前記第２の外部インタフェースとが、前記第１のネットワーク中継装置の前記接続部における回線の帯域の合計、または、前記第２のネットワーク中継装置の前記接続部における回線の帯域の合計のうちのいずれか大きい値以上の合計帯域を持つ外部信号線で接続されている、ネットワークシステム。
【請求項２０】
請求項１９記載のネットワークシステムであって、
前記第１のネットワーク中継装置の前記転送部と、前記第２のネットワーク中継装置の前記転送部とは、それぞれ、
前記受信パケットを、前記受信パケットを受信した前記第１の外部インタフェースに予め対応付けられた前記第２の外部インタフェースから出力する第１の転送モードと、
前記受信パケットを、前記受信パケットの宛先から決定される前記第１の外部インタフェースまたは前記第２の外部インタフェースから出力する第２の転送モードと、
を備え、
前記第１のネットワーク中継装置の前記転送部と、前記第２のネットワーク中継装置の前記転送部とは、さらに、
前記第１の転送モードと、前記第２の転送モードとを切り替えるモード制御部を備える、ネットワークシステム。
【請求項２１】
請求項１９記載のネットワークシステムであって、さらに、
前記第１のネットワーク中継装置と、前記第２のネットワーク中継装置とは、それぞれ、
複数の前記転送部を備え、
複数の前記転送部は、それぞれ、
前記内部信号線によって前記接続部に接続され、
前記第１のネットワーク中継装置の前記第２の外部インタフェースと、前記第２のネットワーク中継装置の前記第２の外部インタフェースとが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
【請求項２２】
請求項２１記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部と、前記第２のネットワーク中継装置の複数の前記転送部には、それぞれ、
前記第１の転送モードに設定されている前記転送部と、
前記第２の転送モードに設定されている前記転送部と、
が含まれ、
前記第１のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、前記外部信号線で接続され、
前記第１のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部とが、前記外部信号線で接続されている、ネットワークシステム。
【請求項２３】
請求項２１記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部は、全て、前記第１の転送モードに設定され、
前記第２のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第１のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
【請求項２４】
請求項２１記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第２のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第１のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク中継システム及びネットワーク中継装置に係り、特に、インターネットプロトコル（ＩＰ）やＥｔｈｅｒｎｅｔ（登録商標）を用いたコンピュータネットワークにおける、パケット交換を行うルータやスイッチの仮想化および冗長技術に関し、特にコントロールプレーン（制御系）の仮想化および冗長技術を適用したネットワーク中継システム及びネットワーク中継装置に関する。
また、本発明は、ネットワーク中継装置の仮想化および冗長化を可能とする技術に関する。
【背景技術】
【０００２】
コンピュータネットワークにおける従来の装置冗長技術としては、例えば、非特許文献１（ＶＳＳ：Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈｉｎｇ  Ｓｙｓｔｅｍ）および非特許文献２（ｖＰＣ：Ｖｉｒｔｕａｌ  Ｐｏｒｔ  Ｃｈａｎｎｅｌ）に示すように、装置間を渡るデータプレーントラフィックおよびコントロールプレーントラフィックを通すための専用回線を用意し、コントロールプレーン間でプロトコルに基づきやりとりすることで、仮想的に装置冗長を実現する方式が知られている。非特許文献１、非特許文献２の技術は共に、２台の装置間でリンクアグリゲーション（ＬＡ：Ｌｉｎｋ−Ａｇｇｒｅｇａｔｉｏｎ）を組んで装置冗長を実現する技術であり、各文献の違いは、例えばネットワークから見て、コントロールプレーンが１台（非特許文献１）に見えるか２台（非特許文献２）に見えるかである。【０００３】
ＩＣＴ（Information  and  Communication  Technology）技術の進展に伴い、高い処理性能を持つルータが求められている。高い処理性能を持つルータを提供するための１つの方法として、ルータの仮想化がある。ルータの仮想化とは、複数台のルータを束ね、仮想的な１台のルータとして機能させることを意味する。このように仮想化されたルータは、高い処理性能だけでなく、例えば、一部のルータ（例えば、３台のうち１台）に障害が発生した場合であっても、障害が発生したルータを除外した他のルータで処理を継続することができるため、ネットワークシステムの冗長化を実現することができるという利点をも有する。
上述のようなルータの仮想化を実現する方法の一例として、例えば、複数台のルータをスイッチング専用の装置を介して相互に接続し、仮想的な１つのルータとして振舞わせることによって、高い処理性能を持つルータを提供する方法が知られている（例えば、非特許文献３参照）。また、ルータの仮想化を実現する方法の他の例として、例えば、複数台のルータの外部ポート（外部の端末等と接続されるためのポート）同士を、例えばＬＡＮケーブルを用いて接続し、仮想的な１つのルータとして振舞わせることによって、高い処理性能を持つルータを提供する方法が知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＶＳＳ（Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈｉｎｇ  Ｓｙｓｔｅｍ）、［ｏｎｌｉｎｅ］、［平成２３年５月５日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗｅｂ／ＪＰ／ｎｅｗｓ／ｃｉｓｃｏ＿ｎｅｗｓ＿ｌｅｔｔｅｒ／ｔｅｃｈ／ｖｓｓ／ｉｎｄｅｘ．ｈｔｍｌ）
【非特許文献２】ｖＰＣ（Ｖｉｒｔｕａｌ  Ｐｏｒｔ  Ｃｈａｎｎｅｌ）、［ｏｎｌｉｎｅ］、［平成２３年５月５日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗｅｂ／ＪＰ／ｐｒｏｄｕｃｔ／ｈｓ／ｓｗｉｔｃｈｅｓ／ｎｅｘｕｓ７０００／ｐｒｏｄｌｉｔ／ｗｈｉｔｅ＿ｐａｐｅｒ＿ｃ１１−５１６３９６．ｈｔｍｌ）
【非特許文献３】「Cisco CRS-1 キャリア ルーティング システム マルチシェルフ システム概要」、http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/rt/crs/crsmcg/index.shtml
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、複数台のルータをスイッチング専用の装置を介して相互に接続する方法は、スイッチング専用の装置を必要とするためコストが掛かり、低コストに実現できないという問題があった。また、複数台のルータの外部ポート同士を接続する方法は、使用可能なルータの外部ポートの個数が減少する上に、ポート同士を接続するＬＡＮケーブルのデータ転送速度がボトルネックとなり、ノンブロッキングな通信を実現できない場合が生じるという問題があった。
また、このような問題は、ルータに限らず、例えばレイヤ３スイッチ等の他のネットワーク中継装置全般に共通する問題であった。【０００６】
次に、冗長化装置として、シングルシャーシ及びマルチシャーシについて図面を参照して説明する。なお、各図面及び以下の説明は、本発明の着目する課題及び目的の理解を助けるためのものであり、従来技術を自認するものではない。【０００７】
１）  シングルシャーシ（Ｓｉｎｇｌｅ−Ｃｈａｓｓｉｓ、以下ＳＣと略すことがある）
図１９は、シングルシャーシの説明図である。
一般的に、シャーシ型通信装置のデータプレーンは、複数の転送エンジンを搭載し、この転送エンジン間を「ノンブロッキング」で転送するバックプレーンを有している。
ＳＣによる高信頼化装置２０００は、複数ある転送エンジンを２分割して転送エンジン＃１および転送エンジン＃２とし、各フロアスイッチを転送エンジン＃１と転送エンジン＃２の双方と接続して、ネットワーク的に冗長化する事で高信頼化を実現する技術（システム）である。例えば、リンクアグリゲーション（Ｌｉｎｋ−Ａｇｇｒｅｇａｔｉｏｎ）と呼ばれる技術を用いて、転送エンジンとフロアスイッチと接続する。
（ＳＣの利点）
元々１台の装置を２分割し、フロアスイッチと連携して高信頼化を実現した技術のため、高信頼化に向けて特別な仕掛けを必要としない。よって、下記の利点が掲げられる。
ａ）コントロールプレーンからデータプレーンへの経路設定に関して、転送エンジン＃１と転送エンジン＃２共に同じ値を設定すれば良い。つまり、転送エンジンに対する設定差分が無い。また、コントロールプレーンは、同じ手順で各転送エンジンに経路設定できる。
ｂ）コントロールプレーンのＣＰＵ冗長に関して、従来通りのハードウェアによる系制御が使える。つまり、ダブルアクトのリスクが低い。
（ＳＣの課題）
一方で、ＳＣには下記の課題もある。
Ａ）一重化部分の故障（例えばフロント電源など）が、ネットワークシステムのダウンに繋がってしまう。
Ｂ）ユーザーポート数の拡張性がない。【０００８】
２）  マルチシャーシ（Ｍｕｌｔｉ−Ｃｈａｓｓｉｓ、以下ＭＣと略すことがある）
図２０は、マルチシャーシの説明図である。
ＭＣによる高信頼化装置は、ＳＣによる高信頼化装置２０００の課題を解決するべく、データプレーン（コントロールプレーンも共に）は、装置を分けて冗長化する事で、高信頼化を実現する技術（システム）である。装置間を渡るトラフィックは、ユーザーポートの一部を冗長専用化したポート３１００を経由して転送する。この冗長専用化ポート３１００の帯域は、バックプレーンの１／１０程度の「ブロッキング」となっている。
（ＭＣの利点）
この技術は、例えばシャーシ型通信装置３０００を２台並べて、高信頼化装置を構成している。よって、下記の利点が掲げられ、ＳＣの課題を解決しうる。
ｃ）一方の通信装置３０００がダウンしても、他方の通信装置３０００によりネットワークシステムは継続運用が可能である。
ｄ）ユーザーポート数が約２倍に拡張される。
（ＭＣの課題）
一方で、ＭＣにも下記の課題がある。
Ｃ）通信装置３０００間を渡るトラフィックのルーティングは、装置間を渡るテータプレーンの帯域が「ブロッキング」である為、コントロールプレーンからデータプレーンへの経路設定に関して、装置＃１と装置＃２では違う値を設定する必要がある。つまり、設定差分が有る。
図１９及び図２０の例により詳細に説明する。図１９に示すようにＳＣでは、コントロールプレーン（例えばＣＰＵ）は、宛先が端末Ａ、Ｎｅｘｔ  Ｈｏｐがポート３、ポート６の経路学習内容（ルーティング情報）を転送エンジン＃１と転送エンジン＃２に設定する。ここでポート３とポート６は等しいコストで設定できる。転送エンジン＃１は、例えば、端末Ｂから受信した端末Ａ宛てのパケットを、設定されたルーティング情報に従い、ポート３又はポート６に出力する（図中、丸数字１及び２で示す経路）。ポート６に出力する場合は、装置間を渡るノンブロッキングなポート及び回線を通ることになる。
一方、図２０に示すようにＭＣでは、宛先が端末Ａ、Ｎｅｘｔ  Ｈｏｐがポート６、ポート１２の経路学習内容（ルーティング情報）を、例えば転送エンジン＃１ではＮｅｘｔ  Ｈｏｐがｐｏｒｔ６をプライマリとして設定し、転送エンジン＃２ではＮｅｘｔ  Ｈｏｐがｐｏｒｔ１２をプライマリとして設定する。このように設定差分が有る。仮に転送エンジン＃１、＃２を同様の経路学習内容をＥｑｕａｌ  Ｃｏｓｔで設定すると、パケットがブロッキングの冗長専用化ポート３１００を通りやすくなり、トラフィック量によっては冗長専用化ポート３１００の帯域を越え、通信の遅延又はパケットのロスが発生しうる。【０００９】
Ｄ）ＭＣでは、運用系のコントロールプレーンからリモート側データプレーンへの経路設定は、待機系のコントロールプレーンとのＣＰＵ間通信を経て間接的に設定される。そのため、ローカル側データプレーンに比べて設定性能が劣る課題がある。例えばローカル側データプレーンよりも設定に時間がかかる。また、ローカル側データプレーンとソフトウェアの見え方が違う課題がある。例えば、運用系のコントロールプレーンからは、ローカル側データプレーンの転送エンジンと、リモート側コントロールプレーンが見え、同じインタフェースではない。
このように、上記課題Ｃ）と併せて、データプレーンへの経路設定性能が劣化し、また、ソフトウェア的に、ローカル側とリモート側でデータプレーンの見え方が違う。
Ｅ）コントロールプレーンのＣＰＵ冗長に関して、従来通りのハードウェアによる系制御が使えず、ソフトウェアによる系制御が必要となる。これにより、ダブルアクトの危険性や、系の高速切り替えが困難になるリスクが残る。
ＭＣではＳＣでの課題を解決するものの、ＳＣでの利点が損なわれる。また、上述のように、従来のＭｕｌｔｉ−Ｃｈａｓｓｉｓ／Ｖｉｒｔｕａｌ−Ｃｈａｓｓｉｓ技術では、コントロールプレーンから見て、ローカル側とリモート側データプレーンを同じ様に見せる事が不可能であった。この為、装置冗長の実現は、コントロールプレーン間でプロトコルに基づきやりとりする事が必要であり、装置冗長の実現と、制御の複雑化や設定性能の劣化とのトレードオフが存在した。このように、ＳＣ／ＭＣ共に従来の高信頼化装置では重要課題が残されている。【００１０】
以上の点に鑑み、本発明は、全ての外部ポートを使用可能であり、かつ、ノンブロッキングな通信を実現可能である仮想的なネットワーク中継装置を、追加の装置を必要とせずに構築可能なネットワーク中継装置を提供することを目的とする。【００１１】
また、本発明は、コントロールプレーンから見て、ローカル側とリモート側データプレーンを同じ様に見せ、制御の単純化や設定性能の劣化防止を実現することを目的のひとつとする。
【課題を解決するための手段】
【００１２】
本発明では上記課題を解決するための手段として、各装置の転送エンジン間をノンブロッキング化し、新たに制御系リピータを設ける事で課題を解決する。この制御系リピータは、複数のコントロールプレーン間を接続し、運用系コントロールプレーンから全てのデータプレーンが同じ様に見える事を実現する。これにより、コントロールプレーン間でプロトコルを話す必要が無くなり、制御の単純化や設定性能の劣化防止を実現する事を特長とする。【００１３】
本発明の第１の解決手段によると、
複数の通信装置で構成されるネットワーク中継システムであって、
前記通信装置はそれぞれ、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
前記複数の通信装置の各転送処理部間は、ノンブロッキングな通信が実現可能に構成され、
運用系の前記制御部の前記制御系リピータは、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の前記制御系リピータに送信し、
待機系の前記制御部の前記制御系リピータは、他の通信装置の前記制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定するネットワーク中継システムが提供される。
このような構成により、制御部（コントロールプレーン）から見て、ローカル側とリモート側転送処理部（データプレーン）を同じ様に見せることができ、制御の単純化や設定性能の劣化防止を実現することができる。また、運用系コントロールプレーンから見て、リモート側データプレーンの装置数を意識する必要が無いためスケーラビリティを拡張する効果も有する。
上述のネットワーク中継システムにおいて、
前記転送処理部は、
外部との接続インタフェースである外部インタフェースを備える接続部と、
前記接続部を介して受信した受信パケットを転送する転送部と、
を備え、
前記複数の通信装置の各転送処理部間が、所定の通信装置の前記接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続されることにより、ノンブロッキングな通信が実現可能に構成されてもよい。
このような構成により、複数の通信装置の各転送処理部間のノンブロッキングな通信が実現できる。
上述のネットワーク中継システムにおいて、第１の装置から第２の装置への中継経路が、前記通信装置の前記転送処理部のいずれかを介する経路と、複数の前記通信装置の前記転送処理部及び前記外部信号線を介する経路とで冗長化されてもよい。
このような冗長構成においても、各転送処理部に同じルーティング情報を設定できる。
上述のネットワーク中継システムにおいて、各通信装置の前記制御部は、運用系及び待機系の系制御を制御系リピータを介してハードウェアで実施してもよい。
このような構成により、マルチシャーシ構成においても、ダブルアクトの危険排除および系切り替えの高速化を実現出来る。
上述のネットワーク中継システムにおいて、
前記複数の通信装置の前記制御部のひとつが運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系であってもよい。
このように、１＋ｍ冗長の構成をとることができる。
上述のネットワーク中継システムにおいて、
前記複数の通信装置の前記制御部のふたつ以上が運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系であってもよい。
このような構成により、ｎ＋ｍ冗長の構成をとることができる。
上述のネットワーク中継システムにおいて、
前記複数の通信装置の各制御系リピータがリング構成で接続されており、
待機系の前記通信装置の前記制御系リピータは、他の通信装置の制御系リピータからルーティング情報を受信すると、自通信装置の前記転送処理部に該ルーティング情報を設定するとともに該ルーティング情報を他の通信装置の制御系リピータに送信してもよい。
このような構成により、制御系リピータをリング構成で接続し、コストを重視した構成とすることができる。
上述のネットワーク中継システムにおいて、前記複数の通信装置の各制御系リピータがフルメッシュ構成で接続されてもよい。
このような構成により、制御系リピータをフルメッシュ構成で接続し、信頼性を重視した構成とすることができる。
本発明の第２の解決手段によると、
複数の通信装置で構成されるネットワーク中継システムにおける前記通信装置であって、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
前記転送処理部と他の通信装置の転送処理部とはノンブロッキングな通信が実現可能に構成され、
前記制御部の前記制御系リピータは、運用系に設定されている場合、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の制御系リピータに送信し、
前記制御部の前記制御系リピータは、待機系に設定されている場合、他の通信装置の制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定する通信装置が提供される。
このような構成により、制御部（コントロールプレーン）から見て、ローカル側とリモート側転送処理部（データプレーン）を同じ様に見せることができ、制御の単純化や設定性能の劣化防止を実現することが可能なネットワーク中継装置を構成する通信装置を提供できる。【００１４】
転送エンジン間のノンブロッキングな通信は、例えば以下の適用例として実現することが可能である。
［適用例１］
ネットワーク中継装置（通信装置）であって、
外部との接続インタフェースである第１の外部インタフェースを備える接続部と、
前記接続部における回線の帯域の合計以上の合計帯域を持つ内部信号線と、
前記内部信号線によって前記接続部と接続され、前記接続部を介して受信した受信パケットを転送する転送部と、
を備え、
前記転送部は、
他のネットワーク中継装置と接続されるための第２の外部インタフェースを備え、
前記第２の外部インタフェースと、他のネットワーク中継装置の前記第２の外部インタフェースとが、前記接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続され得る、ネットワーク中継装置。
このような構成とすれば、全ての外部ポートを使用可能であり、かつ、ノンブロッキングな通信を実現可能である仮想的なネットワーク中継装置を、追加の装置を必要とせずに構築可能なネットワーク中継装置を提供することができる。
また、ネットワーク中継装置の転送部が備える第２の外部インタフェースと、他のネットワーク中継装置の転送部が備える第２の外部インタフェースとが、接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続され得るため、全ての外部ポートを使用可能であり、かつ、ノンブロッキングな通信を実現可能である仮想的なネットワーク中継装置を、追加の装置を必要とせずに構築可能なネットワーク中継装置を提供することができる。
［適用例２］
適用例１記載のネットワーク中継装置であって、
前記転送部は、
前記受信パケットを、前記受信パケットを受信した前記第１の外部インタフェースに予め対応付けられた前記第２の外部インタフェースから出力する第１の転送モードと、
前記受信パケットを、前記受信パケットの宛先から決定される前記第１の外部インタフェースまたは前記第２の外部インタフェースから出力する第２の転送モードと、
を備え、
前記転送部は、さらに、
前記第１の転送モードと、前記第２の転送モードとを切り替えるモード制御部を備える、ネットワーク中継装置。
このような構成とすれば、転送部は、受信パケットを、受信パケットを受信した第１の外部インタフェースに予め対応付けられた第２の外部インタフェースから出力する第１の転送モードと、受信パケットの宛先から決定される第１または第２の外部インタフェースから出力する第２の転送モードと、を切り替えることができる。
［適用例３］
適用例１または２記載のネットワーク中継装置であって、さらに、
複数の前記転送部を備え、
複数の前記転送部は、それぞれ、前記内部信号線によって前記接続部に接続され、
前記第２の外部インタフェースと、他のネットワーク中継装置の前記第２の外部インタフェースとが、それぞれ、前記外部信号線で接続され得る、ネットワーク中継装置。
このような構成とすれば、複数の転送部を備える構成においても、適用例１と同様の効果を得ることができる。
［適用例４］
適用例３記載のネットワーク中継装置であって、
複数の前記転送部には、
前記第１の転送モードに設定されている前記転送部と、
前記第２の転送モードに設定されている前記転送部と、
が含まれる、ネットワーク中継装置。
このような構成とすれば、ネットワーク中継装置には、消費電力の少ない第１の転送モードに設定されている転送部と、消費電力の大きい第２の転送モードに設定されている転送部とを含むため、ネットワーク中継装置全体として、消費電力を削減することができる。
［適用例５］
適用例１ないし４のいずれか一項記載のネットワーク中継装置であって、
前記接続部は、さらに、
前記接続部から前記転送部への経路が複数存在する場合に、前記受信パケットを複数の前記経路へ振り分ける負荷分散処理部を備える、ネットワーク中継装置。
このような構成とすれば、負荷分散処理部は、接続部から転送部への経路が複数存在する場合に、受信パケットを当該複数の経路へ振り分けるため、ネットワーク中継装置内部におけるトラフィックを分散させることができる。
［適用例６］
適用例５記載のネットワーク中継装置であって、
前記負荷分散処理部は、
前記受信パケットを、複数の前記経路に対して略均等に振り分ける、ネットワーク中継装置。
このような構成とすれば、負荷分散処理部は、受信パケットを複数の経路に対して略均等に振り分けるため、ネットワーク中継装置内部におけるトラフィックを略均等に分散させることができる。
［適用例７］
適用例３または４に従属する適用例５記載のネットワーク中継装置であって、
前記負荷分散処理部は、
前記受信パケットを、一部の前記転送部への前記経路に対して振り分ける、ネットワーク中継装置。
このような構成とすれば、負荷分散処理部は、受信パケットを一部の転送部への経路にのみ振り分けるため、受信パケットの振り分けが行われない転送部をスリープ状態にしておくことが可能となる。この結果、ネットワーク中継装置内部に、予備系（待機系）の転送部を備えることが可能となる。
［適用例８］
適用例３または４に従属する適用例５記載のネットワーク中継装置であって、
前記負荷分散処理部は、
前記受信パケットの宛先から決定される前記受信パケットの出力先が前記第１の外部インタフェースに属する場合は、前記第２の転送モードに設定されている前記転送部への経路に対して前記受信パケットを振り分け、
前記受信パケットの宛先から決定される前記受信パケットの出力先が前記他のネットワーク中継装置に属する場合は、前記第１の転送モードに設定されている前記転送部への経路に対して前記受信パケットを振り分ける、ネットワーク中継装置。
このような構成とすれば、負荷分散処理部は、受信パケットの宛先から決定される受信パケットの出力先が第１の外部インタフェースに属する場合は、第２の転送モードに設定されている転送部への経路に対して受信パケットを振り分け、受信パケットの宛先から決定される受信パケットの出力先が他のネットワーク中継装置に属する場合は、第１の転送モードに設定されている転送部への経路に対して受信パケットを振り分けるため、受信パケットの出力先を有するネットワーク中継装置において第２の転送モードの処理を行うことができる。
［適用例９］
適用例２ないし８のいずれか一項記載のネットワーク中継装置であって、
前記ネットワーク中継装置は、さらに、
前記他のネットワーク中継装置の障害を検知した場合に、前記第１の転送モードに設定されている前記転送部を、前記第２の転送モードへと変更するモード変更部を備える、ネットワーク中継装置。
このような構成とすれば、モード変更部は、他のネットワーク中継装置の障害を検知した場合に、第１の転送モードに設定されている転送部を第２の転送モードへと変更するため、障害が発生したネットワーク中継装置の切り離しを自動的に行うことができる。
［適用例１０］
ネットワークシステムであって、
第１のネットワーク中継装置と、
第２のネットワーク中継装置と、
を含み、
前記第１のネットワーク中継装置と、前記第２のネットワーク中継装置は、それぞれ、
外部との接続インタフェースである第１の外部インタフェースを備える接続部と、
前記接続部における回線の帯域の合計以上の合計帯域を持つ内部信号線と、
前記内部信号線によって前記接続部と接続され、前記接続部を介して受信した受信パケットを転送すると共に、他のネットワーク中継装置と接続されるための第２の外部インタフェースを備える転送部と、
を備え、
前記第１のネットワーク中継装置の前記第２の外部インタフェースと、前記第２のネットワーク中継装置の前記第２の外部インタフェースとが、前記第１のネットワーク中継装置の前記接続部における回線の帯域の合計、または、前記第２のネットワーク中継装置の前記接続部における回線の帯域の合計のうちのいずれか大きい値以上の合計帯域を持つ外部信号線で接続されている、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置の第２の外部インタフェースと、第２のネットワーク中継装置の第２の外部インタフェースとが、第１のネットワーク中継装置の接続部における回線の帯域の合計、または、第２のネットワーク中継装置の接続部における回線の帯域の合計のうちのいずれか大きい値以上の合計帯域を持つ外部信号線で接続されているため、追加の装置を必要とせずに、全ての外部ポートを使用可能であり、かつ、ノンブロッキングな通信を実現可能である仮想的なネットワーク中継装置（ネットワークシステム）を提供することができる。
［適用例１１］
適用例１０記載のネットワークシステムであって、
前記第１のネットワーク中継装置の前記転送部と、前記第２のネットワーク中継装置の前記転送部とは、それぞれ、
前記受信パケットを、前記受信パケットを受信した前記第１の外部インタフェースに予め対応付けられた前記第２の外部インタフェースから出力する第１の転送モードと、
前記受信パケットを、前記受信パケットの宛先から決定される前記第１の外部インタフェースまたは前記第２の外部インタフェースから出力する第２の転送モードと、
を備え、
前記第１のネットワーク中継装置の前記転送部と、前記第２のネットワーク中継装置の前記転送部とは、さらに、
前記第１の転送モードと、前記第２の転送モードとを切り替えるモード制御部を備える、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置の転送部と、第２のネットワーク中継装置の転送部とにおいて、それぞれ、第１の転送モードと、第２の転送モードとを切り替えることができる。
［適用例１２］
適用例１０または１１記載のネットワークシステムであって、さらに、
前記第１のネットワーク中継装置と、前記第２のネットワーク中継装置とは、それぞれ、
複数の前記転送部を備え、
複数の前記転送部は、それぞれ、
前記内部信号線によって前記接続部に接続され、
前記第１のネットワーク中継装置の前記第２の外部インタフェースと、前記第２のネットワーク中継装置の前記第２の外部インタフェースとが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置と第２のネットワーク中継装置が複数の転送部を備える構成においても、適用例１０と同様の効果を得ることができる。
［適用例１３］
適用例１２記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部と、前記第２のネットワーク中継装置の複数の前記転送部には、それぞれ、
前記第１の転送モードに設定されている前記転送部と、
前記第２の転送モードに設定されている前記転送部と、
が含まれ、
前記第１のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、前記外部信号線で接続され、
前記第１のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部とが、前記外部信号線で接続されている、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置の複数の転送部と、第２のネットワーク中継装置の複数の転送部には、それぞれ、消費電力の少ない第１の転送モードに設定されている転送部と、消費電力の大きい第２の転送モードに設定されている転送部とを含むため、ネットワークシステム全体としての消費電力を削減することができる。
［適用例１４］
適用例１２記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部は、全て、前記第１の転送モードに設定され、
前記第２のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第１のネットワーク中継装置の前記第１の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置の複数の転送部は、全て、消費電力の少ない第１の転送モードに設定されているため、ネットワークシステム全体としての消費電力を削減することができる。
［適用例１５］
適用例１２記載のネットワークシステムであって、
前記第１のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第２のネットワーク中継装置の複数の前記転送部は、全て、前記第２の転送モードに設定され、
前記第１のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部と、前記第２のネットワーク中継装置の前記第２の転送モードに設定されている前記転送部とが、それぞれ、前記外部信号線で接続されている、ネットワークシステム。
このような構成とすれば、第１のネットワーク中継装置の複数の転送部と、第２のネットワーク中継装置の複数の転送部とは、全て、受信パケットの宛先に応じた出力が可能な第２の転送モードに設定されているため、ネットワークシステム全体としての処理性能を向上させることができる。【００１５】
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継装置、ネットワーク中継装置の制御方法、ネットワークシステム、ネットワークシステムの制御方法、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。
【発明の効果】
【００１６】
本発明によれば、全ての外部ポートを使用可能であり、かつ、ノンブロッキングな通信を実現可能である仮想的なネットワーク中継装置を、追加の装置を必要とせずに構築可能なネットワーク中継装置を提供することができる。【００１７】
本発明によると、コントロールプレーンから見て、ローカル側とリモート側データプレーンを同じ様に見せることができ、制御の単純化や設定性能の劣化防止を実現することができる。
また、本発明によれば、制御の単純化や設定性能の劣化防止を実現するだけでなく、本発明の制御系リピータに下記追加機能を実装することで、下記効果も期待出来る。
１）制御系リピータはローカル側の経路設定をリモート側にコピーする機能を有する。
これによれば、運用系コントロールプレーンから見て、リモート側データプレーンの装置数を意識する必要が無いためスケーラビリティを拡張する効果も有する。
２）制御系リピータを経由して従来のＳｉｎｇｌｅ−Ｃｈａｓｓｉｓ相当の系制御信号をやりとりすることで、ハードウェアによる系制御を実現する。
これによれば、ＭＣにおいても、ダブルアクトの危険排除および系切り替えの高速化を実現出来る。
【図面の簡単な説明】
【００１８】
【図１】データプレーンの概略構成を示す説明図である。
【図２】ラインカードの概略構成を示す説明図である。
【図３】負荷分散処理の手順を示すフローチャートである。
【図４】装置内転送ヘッダを付与した後のパケットの構造を示す説明図である。
【図５】スイッチモジュールの概略構成を示す説明図である。
【図６】リピータモード動作定義テーブルの一例と、リピータモードの動作を示す説明図である。
【図７】ネットワークシステムにおいてパケットが転送される様子の一例を示す説明図である。
【図８】ネットワークシステムにおいてパケットが転送される様子の他の例を示す説明図である。
【図９】順序制御を説明するための概略図である。
【図１０】ネットワークシステムを構成するルータに障害が発生した場合の一例を示す説明図である。
【図１１】ネットワークシステムの他の構成の一例を示す説明図である。
【図１２】ネットワークシステムの他の構成の一例を示す説明図である。
【図１３】ノンブロッキング化の第２実施例におけるネットワークシステムの概略構成を示す説明図である。
【図１４】ノンブロッキング化の第２実施例におけるスイッチモジュールの概略構成を示す説明図である。
【図１５】ノンブロッキング化の第３実施例におけるネットワークシステムの概略構成を示す説明図である。
【図１６】ノンブロッキング化の第４実施例におけるネットワークシステムの概略構成を示す説明図である。
【図１７】ノンブロッキング化の第５実施例におけるネットワークシステムの概略構成を示す説明図である。
【図１８】ノンブロッキング化の第６実施例におけるネットワークシステムの概略構成を示す説明図である。
【図１９】シングルシャーシの説明図である。
【図２０】マルチシャーシの説明図である。
【図２１】本発明の第１の実施の形態のネットワーク中継システムの構成図である。
【図２２】経路学習内容の設定の説明図である。
【図２３】本発明の第２の実施の形態のネットワーク中継システムの構成図である。
【発明を実施するための形態】
【００１９】
１．第１の実施の形態
図２１は、第１の実施の形態のネットワーク中継システムの構成図である。図２２は、経路学習内容の設定の説明図である。
ネットワーク中継システム（高信頼仮想化装置）は、複数の通信装置（ネットワーク中継装置）１０００を備える。ここでは例として通信装置１０００−１、１０００−２の２台冗長で説明する。
通信装置１０００はそれぞれ、転送エンジンを有するデータプレーン（転送処理部）２０と、ＣＰＵ（処理部）１１１０及び制御系リピータ１１２０を有するコントロールプレーン（制御部）１１００を含む。転送エンジンは、例えばフロアスイッチ１２００を介して端末１３００と接続される。通信装置＃１（１０００−１）の転送エンジン＃１と、通信装置＃２（１０００−２）の転送エンジン＃２は、共通のフロアスイッチ１２００に接続され、通信経路が冗長化されている。
【００２０】
データプレーン２０は、入力されるパケットをルーティング情報に従い転送する。各通信装置１０００の各データプレーン２０の間は、外部信号線１５００で接続され、ノンブロッキングな通信が実現可能に構成される。詳しくは後述するが、データプレーン２０は、外部との接続インタフェースである外部インタフェースを備える接続部（図の例ではフロアスイッチと接続するためのインタフェース）と、接続部を介して受信した受信パケットを転送する転送部を備え、通信装置１０００の各転送部間が、所定の通信装置１０００の接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線１５００で接続される（ノンブロッキング化）。
端末Ｂ（第１の装置）から端末Ａ（第２の装置）へのトラフィックは、例えば、転送エンジン＃１のポート１から入力されて転送エンジン＃１のポート６から出力される経路（図中丸数字１）、転送エンジン＃１のポート１から入力されて外部信号線（冗長専用化回線）１５００を介して転送エンジン＃２のポート１２から出力される経路（図中丸数字２）、転送エンジン＃２のポート７から入力されて転送エンジン＃２のポート１２から出力される経路（図中丸数字３）、転送エンジン＃２のポート７から入力されて外部信号線１５００を介して転送エンジン＃１のポート６から出力される経路（図中丸数字４）のいずれかを通って端末Ａへ到達する。
【００２１】
コントロールプレーン１１００のＣＰＵ１１１０は、運用系又は待機系に設定され、ルーティング情報を学習する。制御系リピータ１１２０は、運用系又は待機系に設定される。運用系のコントロールプレーン１１００−１では、ＣＰＵ１１１０で学習されたルーティング情報を制御系リピータ１１２０に出力し、制御系リピータ１１２０は自通信装置１０００−１のデータプレーン２０（例えば後述する経路テーブル１６０）に設定するとともに、該ルーティング情報を例えばコピーして他の通信装置１０００−２の制御系リピータ１１２０に送信する。待機系のコントロールプレーン１１００−２の制御系リピータ１１２０は、他の通信装置１０００−１の制御系リピータ１１２０からルーティング情報を受信して自通信装置１０００−２のデータプレーン２０（例えば後述する経路テーブル１６０）に該ルーティング情報を設定する。
なお、制御部１１００は、ＣＰＵ１１１０及び制御系リピータ１１２０の運用系／待機系を切り替える系切替部を有しても良い。
【００２２】
上述のように、本実施の形態のネットワーク中継システムは、従来のＭＣによる高信頼化装置の課題を解決するべく、通信装置間を渡るトラフィックは、バックプレーンを延長した転送技術により「ノンブロッキング」を確保する。これは先に出願された特許出願（本出願の優先権の基礎をなす出願。以下、先行出願と称する）に開示しており、後に詳細に説明する。なお、適宜の手法により、通信装置間のトラフィックに対し、ノンブロッキングが確保されてもよい。ノンブロッキングを確保することにより、従来のＭＣによる高信頼化技術の課題Ｃ）を解決する。つまり、コントロールプレーンからデータプレーンへの経路設定に関して、通信装置＃１（１０００−１）と通信装置＃２（１０００−２）は同じ値を設定すれば良い（図２２）。
残る課題は、課題Ｄ）経路設定性能、および課題Ｅ）系制御であるが、これは通信装置１０００に制御系リピータ１１２０を設ける事で解決できる。本実施の形態の制御系リピータ１１２０は、課題Ｄ）に関して、ローカル側（通信装置＃１側、運用系側）の経路設定をリモート側（通信装置＃２側、待機系側）にコピーする機能を有する。このコピー機能により、リモート側データプレーンへの経路設定が高速に実施可能となる。これは、運用系のコントロールプレーン１１００から見て、リモート側データプレーンを意識する必要が無くなる事をも意味する。従って、運用系のコントロールプレーン１１００は、リモート側の通信装置１０００の台数を意識しなくて良い（スケーラビリティの確保）とも言える。
課題Ｅ）に関して、本実施の形態の制御系リピータ１１２０を経由して従来のＳＣ相当の系制御（運用系／待機系の制御）をハードウェアで実施する事が可能となる。従来のＭＣではプロトコルで例えばヘルスチェックパケットを送信してタイムアウトするまでに応答パケットを受信できるか確認し、タイムアウトした場合に待機系を運用系に切り替えるが、タイムアウトしても運用系は正常に動作している場合があり、ダブルアクトになる場合がある。本実施の形態では系制御をハードウェアで実現でき、ダブルアクトの危険排除および系切り替えの高速化を実現出来る。
【００２３】
本実施の形態の制御系リピータ１１２０による系切り替え制御（上述の系制御）の具体例を下記に説明する。
従来のＭＣでの系切り替え制御は、コントロールプレーン１１００およびコントロールプレーンを制御するＣＰＵ１１１０に於ける装置の運用継続またはコントロールプレーンの正常運用に影響を与える障害（例えば、電源障害、クロック障害、ＣＰＵ暴走（ソフトウェアに起因するものを含む）など。以下、特定障害と称する）に対して、高速に系切り替えを行なう事が出来なかった。
つまり従来のＭＣは、コントロールプレーン間のプロトコルにより待機系を運用系に切り替える方式であり、相互の装置内の特定障害の有無を直接知る事が出来なかった。
特定障害の検出/系切り替え方法の例として、コントロールプレーン間でソフトウェアが相互にヘルスチェックパケットを定期的に送信し、相手から応答パケットが返るかを確認する事で検出/系切り替えを実現する制御方法であり、この制御方式では、相手からの応答パケットが受信できないと応答待ちタイムアウトが発生し、この応答待ちタイムアウトが規定条件に達した場合（誤判定防止のため、例えば連続３回）運用系障害と判定し、その後に待機系を運用系に切り替える事になる。
その為、特定障害発生から系切り替えまでに時間が掛かる課題があった。
本実施の形態の制御系リピータ１１２０の系切り替え制御は、コントロールプレーン１１００およびコントロールプレーンを制御するＣＰＵ１１１０に於ける特定障害（電源障害、クロック障害、ＣＰＵ暴走）を、制御系リピータ１１２０により、相互の装置内の特定障害の有無を直接知る事を可能にする。
具体的には、制御系リピータ１１２０にてハードウェアにより特定障害を高速に検出し、この検出結果を相互の制御系リピータ間でハードウェアにて高速に通知、および系切り替えを高速で実行する機能を備えている。
上記により、制御系リピータ１１２０によれば、ＭＣに於いても系切り替え制御の高速化を実現し、ＳＣ並みの系切り替え性能の達成が可能となる。
【００２４】
なお、本実施の形態のネットワーク中継システムは、ＭＣにおける利点ｃ）一方の通信装置がダウンしても、他方の通信装置よりネットワークシステムは継続運用が可能である点、及び、ｄ）ユーザーポート数が拡張される点をそのまま有している。従って、本実施の形態のネットワーク中継システムは、ＭＣにおける利点ｃ）及びｄ）を有するとともに、ＭＣにおける課題Ｃ）〜Ｅ）を解決できる。
一方、従来のＳＣと対比すると、ＳＣにおける課題Ａ）一重化部分の故障（例えばフロント電源など）が、ネットワークシステムのダウンに繋がってしまう点、及び、Ｂ）ユーザーポート数の拡張性がない点を解決しつつ、ＳＣの利点ａ）転送エンジンに対する設定差分が無い点、及び、ｂ）コントロールプレーンのＣＰＵ冗長に関してハードウェアによる系制御が使える点を損なわない。
【００２５】
２．第２の実施の形態
図２３は、第２の実施の形態のネットワーク中継システムの構成図である。
本実施の形態のネットワーク中継システムは、３台以上の通信装置１０００を備える。各通信装置１０００の構成について第１の実施の形態と同様の構成は説明を省略し、差分を説明する。なお、データプレーンとフロアスイッチの接続は適宜の接続形態で良い。第１の実施の形態のように、各フロアスイッチが各転送エンジンに接続されてもよいが、図では煩雑になるため割愛する。
ネットワーク中継システムは、例えば複数のコントロールプレーン１１００のうちのひとつが運用系であり、他のコントロールプレーン１１００が待機系であり、ｍ台（ｍは２以上の自然数）の通信装置のデータプレーンはいずれも運用系である（１＋ｍ冗長）。また、１＋ｍ冗長以外にも、ｎ＋ｍ冗長でもよい（ｎは２以上の自然数）。例えば複数のコントロールプレーン１１００のうちのｎ台が運用系であり、他のコントロールプレーン１１００が待機系であり、ｍ台の通信装置のデータプレーンはいずれも運用系でもよい。
【００２６】
図示の例では、制御系リピータ間の接続は、コストを重視してリング構成としている。リング構成においては、例えば、待機系の制御系リピータ１１２０は、他の通信装置１０００の制御系リピータ１１２０からルーティング情報を受信すると、自通信装置１０００のデータプレーン２０に該ルーティング情報を設定するとともに、該ルーティング情報を他の通信装置１０００の制御系リピータ１１２０に送信する。運用系の制御系リピータ１１２０は受信されたルーティング情報を終端するようにしてもよい。
なお、制御系リピータ間の接続をフルメッシュとして、信頼性を重視する構成についても可能である。フルメッシュ構成においては、例えば、運用系の制御系リピータ１１２０から、待機系の制御系リピータ１１２０にそれぞれルーティング情報を送信してもよい。
なお、転送エンジン間の接続についても、図示のようにリング構成とする以外にも適宜の接続形態でもよい。
【００２７】
３．  ノンブロッキングな通信を実現するデータプレーンの実施例
転送エンジン間のノンブロッキング化について以下説明する。ノンブロッキングな通信の実現例に関しては、先行出願にて開示しており、先行出願の図面（図１〜図１８）を用いて説明する。先行出願と本出願では、出願請求内容の違い（先行出願は転送部に関し、本出願は制御部に関する）により、先行出願であるノンブロッキングの実施例の説明に際して、本出願の図面（図２１）との関連について下記に示す。先行出願の図面に示されるルータ２０は、制御部および転送部を含む通信装置としての広義のルータとしてでは無く、転送部のみを示す狭義のルータとして記載されており、これは本出願の図面（図２１）に示すデータプレーン２０と同じ構成および動作を有するものである。
【００２８】
３−Ａ．ノンブロッキング化の第１実施例：
（Ａ−１）データプレーンの概略構成：
図１は、ネットワーク中継システム（以下、ネットワークシステム）１０のデータプレーンの概略構成を示す説明図である。２台の通信装置１０００（図中ルータ＃１、ルータ＃２と表記）のデータプレーン２０は、同様の構成を有しおよび同様の動作をする。なお、通信装置１０００を、以降の説明及び図面ではルータとして称する。また、以降では、ルータ＃１（通信装置１０００−１）のデータプレーン２０と、ルータ＃２（通信装置１０００−２）のデータプレーン２０を相互に識別する必要がある場合にのみ、一方をデータプレーン＃１、他方をデータプレーン＃２と呼び、データプレーン２０そのものの構成や動作の説明等では「データプレーン２０」と呼ぶ。このことは、図１において相互に同じ符号を付した他の構成部（例えば、ラインカードや、スイッチデバイス等）についても同様である。
【００２９】
ルータは、自身に接続される他のルータや端末との間のパケットによる通信を中継するレイヤ３のネットワーク中継装置である。データプレーン２０は、４つのラインカード１００（ラインカード＃１〜＃４）と、スイッチモジュール２００とを備えている。なお、後述するデータプレーン２０内の各機能部（詳細は後述）は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）を含む回路により構成されている。ＣＰＵは、ＲＯＭに記憶された制御プログラムをＲＡＭにロードして実行することで、各機能部として動作する。データプレーン２０内の各機能部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ(Field Programmable Gate Array)によって実現されることとしてもよい。なお、図１では便宜上、説明上必要としないデータプレーン２０の構成部については図示を省略している。このことは後述する図においても同様である。
【００３０】
接続部としてのラインカード１００は、外部との接続インタフェースであるポートを複数備えるとともに、受信パケットを振り分ける負荷分散処理部１４０を備えている。ラインカード１００の他の構成部等の詳細は後述する。
【００３１】
スイッチモジュール２００は、例えば、パケットを中継するスイッチング回路であるクロスバスイッチとして構成することができる。スイッチモジュール２００は、例えば２つのスイッチデバイス３００（スイッチデバイス＃１、＃２）を備えている。スイッチデバイス３００は、スイッチング用の集積回路である。
【００３２】
転送部としてのスイッチデバイス３００は、ラインカード１００を介して受信した受信パケットを転送する機能を有する。スイッチデバイス３００は、ポート３０１と、ポート３０２とを含んでいる。ポート３０１は、ポート＃１〜＃４で識別される接続インタフェースの総称である。第２の外部インタフェースとしてのポート３０２は、ポート＃５〜＃８で識別される接続インタフェースの総称である。ポート３０２は、他の通信装置のスイッチモジュール２００と接続するために用いられる。スイッチデバイス３００の他の構成部等の詳細は後述する。なお、図１では、図示の都合上、ポート番号についての「＃」を省略している。
【００３３】
ラインカード１００は、２つのスイッチデバイス３００のポート３０１に対して、それぞれ、内部信号線で接続されている。内部信号線は、ラインカード１００と、スイッチデバイス３００との間で情報をやりとりするために用いられる信号線であり、例えば、銅線や、光ファイバを用いることができる。この内部信号線は、ラインカード１００における回線の帯域の合計以上の合計帯域を有している限り、１本でも複数本でもよい。なお、「回線の帯域」とは、上り回線／下り回線の速度の合計を意味する。
【００３４】
図１の例では、ラインカード＃１は、スイッチデバイス＃１のポート＃１およびスイッチデバイス＃２のポート＃１に対して、それぞれ内部信号線ＩＬで接続されている。同様に、ラインカード＃２は、スイッチデバイス＃１のポート＃２およびスイッチデバイス＃２のポート＃２に対して、ラインカード＃３は、スイッチデバイス＃１のポート＃３およびスイッチデバイス＃２のポート＃３に対して、ラインカード＃４は、スイッチデバイス＃１のポート＃４およびスイッチデバイス＃２のポート＃４に対して、それぞれ内部信号線ＩＬで接続されている。例えば、ルータ２０が有する４つのラインカード（ラインカード＃１〜＃４）における回線の帯域の合計が５０Ｇｂｐｓである場合、８本の内部信号線ＩＬの合計帯域は５０Ｇｂｐｓ以上あればよい。
【００３５】
スイッチデバイス３００のポート３０２は、他の通信装置（ルータ）のポート３０２（第２の外部インタフェース）と、外部信号線ＯＬ（図２１の外部信号線１５００）で接続されている。外部信号線は、双方のルータのスイッチデバイス３００間で情報をやりとりするために用いられる信号線であり、例えば、銅線や、光ファイバを用いることができる。この外部信号線は、内部信号線と同様に、ラインカード１００における回線の帯域の合計以上の合計帯域を有している限り、１本でも複数本でもよい。
【００３６】
図１の例では、ルータ＃１のスイッチデバイス＃１のポート＃５と、ルータ＃２のスイッチデバイス＃１のポート＃５とは、外部信号線ＯＬで接続されている。同様に、ルータ＃１のスイッチデバイス＃１のポート＃６〜＃８と、ルータ＃２のスイッチデバイス＃のポート＃６〜＃８についても、それぞれ外部信号線ＯＬで接続されている。同様に、ルータ＃１のスイッチデバイス＃２のポート＃５〜＃８と、ルータ＃２のスイッチデバイス＃２のポート＃５〜＃８についても、それぞれ外部信号線ＯＬで接続されている。例えば、ルータが有する４つのラインカード１００における回線の帯域の合計が５０Ｇｂｐｓである場合、８本の外部信号線ＯＬの合計帯域は、５０Ｇｂｐｓ以上あればよい。
【００３７】
上記のように、ルータ＃１のスイッチデバイス３００のポート３０２と、ルータ＃２のスイッチデバイス３００のポート３０２とが、それぞれ外部信号線ＯＬで接続されることによって、ルータ＃１のスイッチモジュール２００とルータ＃２のスイッチモジュール２００とが協働し、仮想的な１つの仮想スイッチモジュールＶＳ（以降、「仮想転送部」とも呼ぶ。）として機能する。詳細は後述する。
【００３８】
（Ａ−２）ラインカードの概略構成：
図２は、ラインカード１００の概略構成を示す説明図である。接続部としてのラインカード１００は、複数のネットワークインタフェース（ＮＩＦ）１１０と、パケットバッファ１２０と、宛先判定部１３０と、負荷分散処理部１４０と、転送処理部１５０と、経路テーブル１６０とを備えている。第１の外部インタフェースとしてのネットワークインタフェース１１０は、外部（例えば、他のルータや端末）と接続されるために入出力ポートを備える接続インタフェースである。ネットワークインタフェース１１０の種類および数は任意に設定することができる。例えば、ＬＡＮ用、ＷＡＮ用、ＡＴＭ用など、種々のインタフェースを設けることができる。パケットバッファ１２０は、ネットワークインタフェース１１０に入出力するパケットを一時的に記憶しておくためのバッファメモリ領域である。
【００３９】
宛先判定部１３０は、入力されたパケットの宛先を判定する機能を有する。負荷分散処理部１４０は、ラインカード１００からスイッチデバイス３００への経路が複数ある場合に、入力されたパケットを当該複数経路へ振り分ける機能を有する。宛先判定部１３０と、負荷分散処理部１４０とにおける処理の詳細は後述する。転送処理部１５０は、ラインカード１００内の各部や、スイッチモジュール２００に対してパケットを転送する機能を有する。経路テーブル１６０は、パケットの中継先等の経路情報を保持するテーブルであり、例えば、ＭＡＣテーブルやルーティングテーブルに該当する。経路テーブル１６０の経路情報は、コントロールプレーンにより設定される。
【００４０】
（Ａ−３）負荷分散処理：
図３は、負荷分散処理の手順を示すフローチャートである。負荷分散処理は、データプレーン２０が外部からのパケットを受信した際に実行される処理である。まず、ラインカード１００は、ネットワークインタフェース１１０を介して、外部からのパケットを受信する（ステップＳ１０２）。受信パケットは、パケットバッファ１２０に一旦格納される。宛先判定部１３０は、パケットバッファ１２０から読み出されたパケット（以降、「処理パケット」とも呼ぶ。）に対して、宛先判定処理を行う（ステップＳ１０４）。具体的には、宛先判定部１３０は、処理パケットのヘッダ情報をもとに経路テーブル１６０を検索し、処理パケットの転送先を決定する。
【００４１】
宛先判定処理後、負荷分散処理部１４０は、装置内転送ヘッダ付与処理を行う。具体的には、負荷分散処理部１４０は、宛先判定処理において決定された処理パケットの転送先、すなわち、処理パケットを出力すべきラインカードの識別子から、当該ラインカードへの経路が複数あるか否かを判定する（ステップＳ１０６）。なお、ステップＳ１０６の判断のために、ラインカード１００内には予め、入出力ラインカードと経路数との対応関係を記憶するテーブル等を保持していてもよい。また、経路数はその都度求めることとしてもよい。処理パケットを出力すべきラインカードへの経路が複数ある場合（ステップＳ１０６：ＹＥＳ）、負荷分散処理部１４０は、内部的な変数であるシーケンス番号をカウントアップする（ステップＳ１０８）。そして、負荷分散処理部１４０は、処理パケットに対して、装置内転送ヘッダを付与する（ステップＳ１１０）。
【００４２】
図４は、装置内転送ヘッダを付与した後のパケットの構造を示す説明図である。パケットＰＴは、装置内転送ヘッダＨＤと、実パケットデータＤＴとを含んでいる。装置内転送ヘッダＨＤは、さらに、出力ラインカード識別子ＯＣと、入力ラインカード識別子ＩＣと、シーケンス番号ＳＥＱとを含んでいる。出力ラインカード識別子ＯＣには、処理パケットを出力すべきラインカードの識別子（例えば、ＭＡＣアドレス等）が格納される。入力ラインカード識別子ＩＣには、処理パケットを受信したラインカードの識別子（例えば、ＭＡＣアドレス等）が格納される。シーケンス番号ＳＥＱには、負荷分散処理（図３）のステップＳ１０８で管理されるシーケンス番号が格納される。このシーケンス番号ＳＥＱは、出力ラインカード側で行われる順序制御（詳細は後述）で使用される。実パケットデータＤＴには、ネットワークインタフェース１１０を介して受信したパケットのデータがそのまま格納される。
【００４３】
このような装置内転送ヘッダが付与された後、図３のステップＳ１１２において、負荷分散処理部１４０は、転送処理部１５０を介して処理パケットを出力する。なお、負荷分散処理部１４０は、処理パケットを出力する際、複数の経路へのトラフィックが略均等になるように制御を行うことができる。例えば、宛先を同じくする複数のパケットを受信し、かつ、宛先への経路が２つある場合、負荷分散処理部１４０は、当該２つの経路に対して交互にパケットを出力することができる。また、負荷分散処理部１４０は、当該２つの経路に対して既に出力したパケットサイズの総計を記憶することによって、次にパケットを出力する経路を決定してもよい。
【００４４】
図３のステップＳ１０６において、処理パケットを出力すべきラインカードへの経路が１つしかない場合（ステップＳ１０６：ＮＯ）、負荷分散処理部１４０は、装置内転送ヘッダを付与する（ステップＳ１１４）。このとき、負荷分散処理部１４０は、図４に示したパケットＰＴのうち、装置内転送ヘッダＨＤのシーケンス番号ＳＥＱを省略してもよい。また、同一のシーケンス番号（例えば、０など）を格納してもよい。これは、出力ラインカードまでの経路が１つしかないため、出力ラインカード側での順序制御が不要となるためである。装置内転送ヘッダが付与された後、図３のステップＳ１１６において、負荷分散処理部１４０は、転送処理部１５０を介して処理パケットを出力する。
【００４５】
（Ａ−４）スイッチモジュールの概略構成：
図５は、スイッチモジュール２００の概略構成を示す説明図である。本実施例におけるスイッチモジュール２００は、スイッチデバイス３００を複数（２つ）備える構成である。転送部としてのスイッチデバイス３００は、ポート３０１と、ポート３０２と、モード制御部３１０と、スイッチ処理部３２０と、リピータモード動作定義テーブル３３０と、モード設定部３４０とを備えている。ポート３０１は、ポート＃１〜＃４で識別される接続インタフェースの総称である。第２の外部インタフェースとしてのポート３０２は、ポート＃５〜＃８で識別される接続インタフェースの総称である。
【００４６】
モード制御部３１０は、モード設定部３４０の設定内容に応じて、スイッチデバイス３００の転送モードを切り替える機能を有する。スイッチデバイス３００の転送モードには、第１の転送モードとしてのリピータモードと、第２の転送モードとしてのスイッチモードとがある。また、モード制御部３１０は、後述のモード変更部としても動作する。スイッチ処理部３２０は、各転送モードに応じた実際の転送処理を実行する。リピータモード動作定義テーブル３３０は、スイッチ処理部３２０がリピータモードとして動作する際に参照されるテーブルである。モード設定部３４０は、スイッチデバイスの転送モードを定めるための設定値を記憶する記憶部である。
【００４７】
（Ａ−５）リピータモード転送処理：
図６はリピータモード動作定義テーブル３３０の一例と、リピータモードの動作を示す説明図である。図６上段に示すリピータモード動作定義テーブル３３０は、入力ポート番号フィールドと、出力ポート番号フィールドとを備えている。入力ポート番号フィールドには、ポート３０１およびポート３０２が有する全てのポートの識別子（番号）が格納されている。出力ポート番号フィールドには、入力ポート番号フィールドに格納されている識別子から特定されるポートに対して、それぞれ、予め対応付けられたポートの識別子が格納されている。入力ポート番号と、出力ポート番号との対応付けは、任意に定めることができる。しかし、本実施例のように信号線が配置される環境においては、入力ポート番号と、出力ポート番号との対応付けは、他と重複しない１対１対応とすることが好ましい。
【００４８】
図６下段は、スイッチ処理部３２０がリピータモード（第１の転送モード）で動作する場合の説明図である。転送モードがリピータモードである場合、スイッチ処理部３２０は、まず、スイッチデバイス３００に対して処理パケットが入力されたポートの識別子をキーとしてリピータモード動作定義テーブル３３０を検索する。その後、スイッチ処理部３２０は、一致するエントリの出力ポート番号フィールドに格納されている識別子から特定されるポートから、処理パケットを出力する。具体的には、例えば、スイッチ処理部３２０は、処理パケットがポート＃１から入力された場合、リピータモード動作定義テーブル３３０においてポート＃１に対応付けられているポート＃５から当該パケットを出力する。
【００４９】
すなわち、リピータモード動作定義テーブル３３０における入力ポート番号と、出力ポート番号との対応付けは、スイッチ処理部３２０がリピータモード（第１の転送モード）として動作する際の、パケットの入出力関係を示している。なお、スイッチデバイス３００に対して処理パケットが入力されたポートの識別子（すなわち、入力ポート番号フィールドの値）は、パケットを受信したネットワークインタフェース１１０（第１の外部インタフェース）によって定まることから、リピータモード動作定義テーブル３３０は、ルータ２０がパケットを受信したネットワークインタフェース１１０と、当該パケットを出力すべきポート３０２（第２の外部インタフェース）との対応関係を表しているともいえる。
【００５０】
このようにスイッチ処理部３２０がリピータモードで動作する場合は、処理パケットを、処理パケットの宛先に関係なく、入力ポートに対して予め定められた出力ポートから出力すればよく、複雑な処理を必要としない。このため、スイッチデバイス３００の消費電力を低く抑えることができる。
【００５１】
（Ａ−６）スイッチモード転送処理：
スイッチ処理部３２０がスイッチモード（第２の転送モード）で動作する場合の処理について説明する。転送モードがスイッチモードである場合、スイッチ処理部３２０は、ラインカード１００から処理パケットと共に受信した論理ポートマップを、所定の変換パターンを用いてビットマップ変換する。具体的には、スイッチ処理部３２０は、論理ポートマップを、図示しない変換回路を用いて物理ポートマップに変換する。その後、スイッチ処理部３２０は、変換後のビットマップ（物理ポートマップ）に応じたポートから処理パケットを出力する。なお、論理ポートマップは、上述の宛先判定処理において、経路探索と共に設定することができる。
【００５２】
このようにスイッチ処理部３２０がスイッチモードで動作する場合は、処理パケットと共に受信した論理ポートマップを用いたスイッチング処理（すなわち、処理パケットの宛先に応じた出力ポートへパケットを出力する処理）を必要とする。このため、このため、スイッチデバイス３００の消費電力は、リピータモードに比較して大きくなる。
【００５３】
（Ａ−７）ネットワークシステムの動作：
図７は、ネットワークシステム１０においてパケットが転送される様子の一例を示す説明図である。図７に示すネットワークシステム１０では、ルータ＃１のスイッチデバイス＃１と、ルータ＃２のスイッチデバイス＃２は、転送モードがスイッチモードに設定されている。一方、ルータ＃１のスイッチデバイス＃２と、ルータ＃２のスイッチデバイス＃１とは、転送モードがリピータモードに設定されている。すなわち、図７の例は、リピータモードに設定されているスイッチデバイス＃１（ルータ＃２）と、スイッチモードに設定されているスイッチデバイス＃１（ルータ＃１）とが外部信号線で接続され、スイッチモードに設定されているスイッチデバイス＃２（ルータ＃２）と、リピータモードに設定されているスイッチデバイス＃２（ルータ＃１）とが外部信号線で接続されている。換言すれば、外部信号線で接続されているスイッチデバイスの一方がスイッチモード、他方がリピータモードという構成である。
【００５４】
このような場合において、ルータ＃１のラインカード＃１から、宛先をルータ＃１のラインカード＃４とする複数のパケットを受信した場合の動作について説明する。ルータ＃１のラインカード＃１の負荷分散処理部１４０は、負荷分散処理（図３）によって、最初に処理したパケットに対して、シーケンス番号ＳＥＱ（図４）に「１」を付与した後、例えば経路Ａへ出力する。経路Ａへ出力されたパケットを受信したルータ＃１のスイッチデバイス＃１のスイッチ処理部３２０は、上述のスイッチモード転送処理を行い、経路探索結果に応じたポート＃４から当該パケットを出力する。スイッチデバイス＃１からのパケットを受信したルータ＃１のラインカード＃４は、受信パケットをパケットバッファ１２０に格納する。
【００５５】
ルータ＃１のラインカード＃１の負荷分散処理部１４０は、負荷分散処理（図３）によって、２番目に処理したパケットに対して、シーケンス番号ＳＥＱ（図４）に「２」を付与した後、例えば経路Ｂへ出力する。経路Ｂへ出力されたパケットを受信したルータ＃１のスイッチデバイス＃２のスイッチ処理部３２０は、上述のリピータモード転送処理を行い、入力ポート＃１に予め対応付けられたポート＃５からパケットを出力する。ルータ＃１からのパケットを受信したルータ＃２のスイッチデバイス＃２のスイッチ処理部３２０は、上述のスイッチモード転送処理を行い、経路探索結果に応じたポート＃８から当該パケットを出力する。ルータ＃２からのパケットを受信したルータ＃１のスイッチデバイス＃２のスイッチ処理部３２０は、上述のリピータモード転送処理を行い、入力ポート＃８に予め対応付けられたポート＃４からパケットを出力する。スイッチデバイス＃２からのパケットを受信したルータ＃１のラインカード＃４は、受信パケットをパケットバッファ１２０に格納する。
【００５６】
図７の構成では、ラインカードからの経路数が２であるため、パケットを受信した負荷分散処理部１４０は、上述した経路Ａ、Ｂへの振り分けを繰り返し、２つのスイッチデバイスに対して略均等に負荷を分散させる。
【００５７】
図８は、ネットワークシステム１０においてパケットが転送される様子の他の例を示す説明図である。図８のネットワークシステム１０は、図７に示すネットワークシステム１０と同様の構成である。このような場合において、ルータ＃１のラインカード＃１から、宛先をルータ＃２のラインカード＃３とする複数のパケットを受信した場合の動作について説明する。ルータ＃１のラインカード＃１の負荷分散処理部１４０は、負荷分散処理（図３）によって、最初に受信したパケットに対して、シーケンス番号ＳＥＱ（図４）に「１」を付与した後、例えば経路Ａへ出力する。経路Ａへ出力されたパケットを受信したルータ＃１のスイッチデバイス＃１のスイッチ処理部３２０は、上述のスイッチモード転送処理を行い、経路探索結果に応じたポート＃７から当該パケットを出力する。ルータ＃１からのパケットを受信したルータ＃２のスイッチデバイス＃１のスイッチ処理部３２０は、上述のリピータモード転送処理を行い、入力ポート＃７に予め対応付けられたポート＃３からパケットを出力する。スイッチデバイス＃１からのパケットを受信したルータ＃２のラインカード＃３は、受信パケットをパケットバッファ１２０に格納する。
【００５８】
ルータ＃１のラインカード＃１の負荷分散処理部１４０は、負荷分散処理（図３）によって、２番目に処理したパケットに対して、シーケンス番号ＳＥＱ（図４）に「２」を付与した後、例えば経路Ｂへ出力する。経路Ｂへ出力されたパケットを受信したルータ＃１のスイッチデバイス＃２のスイッチ処理部３２０は、上述のリピータモード転送処理を行い、入力ポート＃１に予め対応付けられたポート＃５からパケットを出力する。ルータ＃１からのパケットを受信したルータ＃２のスイッチデバイス＃２のスイッチ処理部３２０は、上述のスイッチモード転送処理を行い、経路探索結果に応じたポート＃３から当該パケットを出力する。スイッチデバイス＃２からのパケットを受信したルータ＃２のラインカード＃３は、受信パケットをパケットバッファ１２０に格納する。
【００５９】
以上のように、本実施例によれば、通信装置（ルータ＃１）の転送部（スイッチデバイス＃１、＃２）が備える第２の外部インタフェース（ポート３０２）と、他の通信装置（ルータ＃２）の転送部（スイッチデバイス＃１、＃２）が備える第２の外部インタフェース（ポート３０２）とが、接続部（ラインカード＃１〜＃４）における回線の帯域の合計以上の合計帯域を持つ外部信号線ＯＬで接続される。また、外部信号線ＯＬで接続される一方のスイッチデバイスは、処理パケットの宛先に関係なくパケットの他のルータに転送する第１の転送モード（リピータモード）であり、他方のスイッチデバイスは、処理パケットの宛先に応じた出力ポートへパケットを転送する第２の転送モード（スイッチモード）である。このようにすれば、ルータ＃１のスイッチデバイス＃１、＃２と、ルータ＃２のスイッチデバイス＃１、＃２とが協働し、仮想的な１つの仮想転送部ＶＳとして、受信パケットをルータ＃１もしくはルータ＃２のラインカード＃１〜＃４へと転送することができる。この結果、全ての外部ポート（ネットワークインタフェース１１０）を使用可能な仮想的なネットワーク中継装置（高信頼仮想化装置）を、追加の装置（例えば、スイッチング専用の装置等）を必要とせずに構築可能な、通信装置（ルータ）を提供することができる。また、本実施例の仮想的なネットワーク中継装置（高信頼仮想化装置）においては、各部が、ラインカード１００における回線の帯域の合計以上の合計帯域を有する内部信号線および外部信号線で接続されているため、ノンブロッキングな通信を実現可能である。
【００６０】
さらに、本実施例におけるネットワークシステム１０では、外部信号線ＯＬで接続される一方のスイッチデバイスは、複雑な処理を必要とせず低消費電力なリピータモード、他方のスイッチデバイスはスイッチング処理を行うスイッチモードとして仮想転送部ＶＳを構築している。このため、仮想転送部ＶＳ内の全てのスイッチデバイスをスイッチモードとして動作させる場合と比較して、仮想転送部ＶＳの消費電力を低減することができる。また、ルータ単体で見た場合であっても、消費電力を削減することができる。
【００６１】
さらに、本実施例におけるネットワークシステム１０では、各ラインカードに負荷分散処理部１４０を備えている。負荷分散処理部１４０は、受信パケットを複数の経路に対して振り分けるため、ルータ＃１、＃２内におけるトラフィック、および、ルータ＃１、＃２間におけるトラフィックを分散させることができる。さらに、上述のように、負荷分散処理部１４０が受信パケットを複数の経路に対して略均等に振り分けることとすれば、ルータ＃１、＃２内におけるトラフィック、および、ルータ＃１、＃２間におけるトラフィックも略均等に分散させることができる。
【００６２】
（Ａ−８）順序制御：
図９は、順序制御を説明するための概略図である。順序制御は、スイッチデバイス３００からのパケットを受信したラインカード１００において、受信パケットの順序を整合させるために実行される制御である。図９は、時刻ｔ１、ｔ２、ｔ３においてラインカード１００が受信し、パケットバッファ１２０に格納されているパケットＰＴを示している。ラインカード１００の負荷分散処理部１４０は、所定の間隔ごとにパケットバッファ１２０に格納されているパケットを読み出し、次のような手順で順序制御を行う。なお、順序制御は、例えば、専用の順序回路等を用いて実現することができる。
【００６３】
手順８−１）負荷分散処理部１４０は、入力ラインカード識別子ＩＣ（パケットを受信したラインカードの識別子）をキーとしてパケットバッファ１２０に格納されているパケットをグルーピングする。
手順８−２）負荷分散処理部１４０は、同じグループに属するパケット、すなわち、受信ラインカードの識別子が同じパケットに対して、シーケンス番号ＳＥＱを用いた並び替えを行う。
手順８−３）負荷分散処理部１４０は、並び替えたパケットを、所定のスケジューリングに従ってネットワークインタフェース１１０から出力する。
【００６４】
図９の例において、例えば、負荷分散処理部１４０が「入力ラインカード識別子ＩＣの昇順にパケットを出力する」というスケジュールに従って順序制御を行なった場合、時刻ｔ２の受信パケット（入力ラインカード＃１、シーケンス番号１）、時刻ｔ１の受信パケット（入力ラインカード＃１、シーケンス番号２）、時刻ｔ３の受信パケット（入力ラインカード＃３、シーケンス番号１）、の順に出力が行われる。
【００６５】
このようにすれば、負荷分散処理（図３）によって異なる経路へ送信された複数のパケットを、受信時の順序に整列したうえで、ネットワークインタフェース１１０から出力することができる。
【００６６】
（Ａ−９）ネットワークシステムの動作（障害発生時）：
図１０は、ネットワークシステム１０を構成するルータに障害（データプレーンに影響する障害）が発生した場合の一例を示す説明図である。ネットワークシステム１０が図７、図８で述べたように動作している場合、ルータ＃１、＃２の各スイッチデバイスのモード制御部３１０（モード変更部）は、それぞれ、互いの生存確認のための信号を送信し合う。そして、生存確認のための信号が一定の時間受信できない場合に、モード制御部３１０（モード変更部）は、相手方ルータ（又は相手方ルータのデータプレーン）に障害が発生したものとみなして、以下のような処理を行う。
【００６７】
手順９−１）モード制御部３１０（モード変更部）は、モード設定部３４０を参照し、現在の転送モードを確認する。
手順９−２）現在の転送モードがリピータモードである場合、モード制御部３１０（モード変更部）は、モード設定部３４０をスイッチモードに変更する。
【００６８】
図１０は、ルータ＃２に障害が発生した場合であって、上記手順９−１、９−２が実行された後の様子を示している。ルータ＃２の障害発生前（図７）ではリピータモードに設定されていたルータ＃１のスイッチデバイス＃２が、スイッチモードに変更されている。これに伴い、経路Ｂへ振り分けられた処理パケットは、ルータ＃１のスイッチデバイス＃２においてスイッチモード転送処理が行われ、経路探索結果に応じたポート＃４から出力される。すなわち、上記転送モードの切り替えによって、ルータ＃１のスイッチデバイス＃１および＃２を、新たな仮想転送部ＶＳとして動作させることができるため、障害が発生していないルータ＃１は、スイッチング帯域を縮退させることなく（すなわち、処理性能を保証しつつ）、処理を継続することができる。
【００６９】
なお、本実施例では、モード変更部はモード制御部３１０に含まれる（モード制御部３１０の機能の一部）として記載したが、モード変更部の機能は、他の構成で実現されてもよい。例えば、各ルータ内において、ラインカードやスイッチモジュールとは独立した制御部（上述のコントロールプレーンでもよい）を設けて、当該制御部においてモード変更部の機能を実現することとしてもよい。また、上記障害の検知方法はあくまで一例であり、種々の方法を採用することができる。
【００７０】
このようにすれば、モード変更部は、ネットワークシステム１０を構成する他の通信装置の障害を検知した場合に、第１の転送モード（リピータモード）の転送部を第２の転送モード（スイッチモード）へ変更する。この結果、障害が発生した他の通信装置の切り離しを自動的に行うことができる。また、障害が発生していない通信装置は、スイッチング帯域を縮退させることなく、処理を継続することができる。これは、ネットワークシステム１０の冗長化にも繋がる。
【００７１】
（Ａ−１０）ネットワークシステムの他の構成：
図１１は、ネットワークシステム１０の他の構成の一例を示す説明図である。図１１に示すネットワークシステム１０では、ルータ＃１の全てのスイッチデバイス（スイッチデバイス＃１、＃２）は、転送モードがリピータモードに設定されている。一方、ルータ＃２の全てのスイッチデバイス（スイッチデバイス＃１、＃２）は、転送モードがスイッチモードに設定されている。このように構成しても、図１に示した構成と同様の効果を得ることができる。
【００７２】
さらに、図１１に示すような構成は、ネットワークシステム１０の構成要素を冗長化し、ネットワークシステム１０の信頼性を向上させることを目的とする場合に特に有効である。具体的には、全てのスイッチデバイスがリピータモードに設定されたルータ＃１のデータプレーンを待機系、全てのスイッチデバイスがスイッチモードに設定されたルータ＃２のデータプレーンを運用系とし、外部からのトラフィックがルータ＃２側に集中するように構成する。そうすれば、図１１のように、通常時はスイッチデバイスがスイッチモードで動作するルータ＃２側のみで転送処理を行うことが可能となり、効率の良い転送処理を実現できる。また、待機系であるルータ＃１のデータプレーンは、消費電力の小さいリピータモードで動作するため、ネットワークシステム１０全体としての消費電力を小さくすることができる。さらに、ルータ＃２に障害が発生した場合には、図１０で説明した処理によってルータ＃１のデータプレーンを運用系に変更し、処理を継続することができる。
【００７３】
なお、図１１に示す構成において、さらに、待機系（ルータ＃１）のデータプレーンの各処理部における処理性能を低下させ（例えば、ＣＰＵクロックを低下させる等）、更なる消費電力の削減を行ってもよい。また、リンクアグリゲーション（Link Aggregation）機能を用いて、待機系のルータ＃１の外部ポートと、運用系のルータ＃２の外部ポートとを１つの論理的なポートとして取り扱う構成とすることも、冗長化の手段として非常に有効である。なお、リンクアグリゲーション機能とは、複数の外部ポート（ネットワークインタフェース１１０）を束ねて１つの論理外部ポートとして取り扱うことを可能とする機能を意味する。
【００７４】
図１２は、ネットワークシステム１０の他の構成の一例を示す説明図である。図１２に示すネットワークシステム１０では、ルータ＃１およびルータ＃２の全てのスイッチデバイス（スイッチデバイス＃１、＃２）は、転送モードがスイッチモードに設定されている。換言すれば、外部信号線で接続されているスイッチデバイスの両方がスイッチモードという構成である。このように構成しても、図１に示した構成と同様の効果を得ることができる。
【００７５】
さらに、図１２に示すような構成は、全てのスイッチデバイスがスイッチモードで動作することから、ネットワークシステム１０の転送性能を最大に活用することが可能となり、主としてネットワークシステム１０の高性能化を目的とする場合に特に有効である。
【００７６】
３−Ｂ．ノンブロッキング化の第２実施例：
ノンブロッキング化の第２実施例では、転送部（スイッチデバイス）が単一である構成について説明する。以下では、ノンブロッキング化の第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００７７】
図１３は、ノンブロッキング化の第２実施例におけるネットワークシステム１０ａの概略構成を示す説明図である。図１に示した第１実施例との違いは、通信装置１０００がデータプレーン２０に代えてデータプレーン２０ａを備える点である。データプレーン２０ａは、スイッチモジュール２００に代えてスイッチモジュール２００ａを備えている。
【００７８】
図１４は、ノンブロッキング化の第２実施例におけるスイッチモジュール２００ａの概略構成を示す説明図である。本実施例におけるスイッチモジュール２００ａは、単一のスイッチデバイス３００ａを含んでいる。図５に示した第１実施例との違いは、ポート３０１に代えてポート３０１ａを、ポート３０２に代えてポート３０２ａを、モード制御部３１０に代えてモード制御部３１０ａを、モード設定部３４０に代えてモード設定部３４０ａを、それぞれ備える点であり、他の構成や動作は第１実施例と同じである。
【００７９】
ポート３０１ａは、ポート＃１〜＃８で識別される接続インタフェースの総称である。ポート３０２ａは、ポート＃９〜＃１６で識別される接続インタフェースの総称である。モード制御部３１０ａは、モード設定部３４０ａの設定内容に応じて、スイッチデバイス３００ａの転送モード（リピータモード／スイッチモード）を切り替える機能を有する。モード設定部３４０ａは、スイッチデバイス３００ａのポート３０１ａ、ポート３０２ａに対してそれぞれ、スイッチデバイスの転送モードを定めるための設定値を記憶する記憶部である。
【００８０】
以上のように、ノンブロッキング化の第２実施例によれば、モード制御部３１０ａがポート３０１ａ、ポート３０２ａに対してそれぞれ定められた転送モードを用いて受信パケットの転送を行うようにスイッチ処理部３２０を制御する。このため、通信装置（ルータ２０ａ）が単一の転送部（スイッチデバイス３００ａ）のみを備える構成においても、第１実施例と同様の効果を得ることができる。
【００８１】
３−Ｃ．ノンブロッキング化の第３実施例：
ノンブロッキング化の第３実施例では、通信装置（ルータ）が複数のスイッチモジュールを備える構成について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００８２】
図１５は、ノンブロッキング化の第３実施例におけるネットワークシステム１０ｂの概略構成を示す説明図である。図１に示した第１実施例との違いは、データプレーン２０に代えてデータプレーン２０ｂを備える点である。データプレーン２０ｂは、ラインカード１００に代えてラインカード１００ｂを備え、さらに、３つのスイッチモジュール２００を備えている。
【００８３】
ラインカード１００ｂは、３つのスイッチモジュール２００に含まれる６つのスイッチデバイス３００のポート３０１に対して、それぞれ、内部信号線ＩＬで接続されている。例えば、ルータ＃１が備える２４本（６本×４）の内部信号線ＩＬは、ラインカード＃１〜＃４における回線の帯域の合計以上の合計帯域を有している。また、スイッチデバイス３００のポート３０２は、他のルータのポート３０２と、外部信号線ＯＬで接続されている。ルータ＃１と＃２とを接続する２４本の外部信号線ＯＬは、ラインカード＃１〜＃４における回線の帯域の合計以上の合計帯域を有している。
【００８４】
ラインカード１００ｂは、負荷分散処理部１４０に代えて、負荷分散処理部１４０ｂを備えている。負荷分散処理部１４０ｂは、負荷分散処理部１４０と同様に、ルータ２０ｂが外部からのパケットを受信した際に負荷分散処理を行う。負荷分散処理部１４０ｂが行う負荷分散処理は、ステップＳ１１２の処理が異なる点を除いて、図３で説明した負荷分散処理と同じである。
【００８５】
負荷分散処理部１４０ｂは、図３のステップＳ１１２において、転送処理部１５０を介して処理パケットを出力する。この際、負荷分散処理部１４０ｂは、複数のスイッチデバイス３００への経路が複数存在する場合に、処理パケットを、その一部のスイッチデバイス３００への経路へ振り分ける。例えば、宛先を同じくする複数のパケットを受信し、かつ、宛先への経路が６つある場合、負荷分散処理部１４０ｂは、当該６つの経路のうちの一部の経路（例えば、４つ）に対して、順にパケットを出力することができる。
【００８６】
図１５の例において、ルータ＃１のラインカード＃１から、宛先をルータ＃１のラインカード＃４とする複数のパケットを受信した場合を例にして説明する。ルータ＃１のラインカード＃４へは、以下の６つの経路が存在する。
経路１）スイッチモジュール＃１のスイッチデバイス＃１を経由する経路
経路２）スイッチモジュール＃１のスイッチデバイス＃２を経由する経路
経路３）スイッチモジュール＃２のスイッチデバイス＃１を経由する経路
経路４）スイッチモジュール＃２のスイッチデバイス＃２を経由する経路
経路５）スイッチモジュール＃３のスイッチデバイス＃１を経由する経路
経路６）スイッチモジュール＃３のスイッチデバイス＃２を経由する経路
負荷分散処理部１４０ｂは、負荷分散処理（図３）のステップＳ１１２において、例えば、上記の経路１〜経路４に対して、処理パケットを順に出力する。
【００８７】
このようにすれば、負荷分散処理部１４０ｂは、受信パケットの振り分けが行われないスイッチデバイス３００（上記の例では、スイッチモジュール＃３のスイッチデバイス＃１、＃２）を消費電力の少ない待機状態（スリープ状態）にしておくことが可能となる。スリープ状態のスイッチデバイス３００を予備系（待機系）としておくことによって、例えば、他のスイッチデバイス３００が故障した場合等であっても、スリープ状態のスイッチデバイス３００をアクティブ状態とすることで、ルータ２０ｂの処理を継続することができる。このように、第３実施例によれば、通信装置（ルータ２０ｂ）の内部において、スイッチデバイス３００の冗長化を図ることで、ルータ２０ｂの信頼性をさらに向上させることができる。
【００８８】
３−Ｄ．ノンブロッキング化の第４実施例：
ノンブロッキング化の第４実施例では、ネットワークシステムが、３台以上の通信装置（ルータ）から構成される例について説明する。例えば、上述の第２の実施の形態のデータプレーンに相当する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００８９】
図１６は、ノンブロッキング化の第４実施例におけるネットワークシステム１０ｃの概略構成を示す説明図である。図１に示した第１実施例との違いは、３台の通信装置を備える点である。各通信装置のデータプレーン２０ｃは、スイッチモジュール２００に代えてスイッチモジュール２００ｃを備えている。この例ではスイッチモジュール２００ｃは、４つのスイッチデバイス３００ｃを含んでいる。
【００９０】
ラインカード１００は、４つのスイッチデバイス３００のポート３０１に対して、それぞれ、内部信号線ＩＬで接続されている。例えば、ルータ＃１が備える１６本（４本×４）の内部信号線ＩＬは、ラインカード＃１〜＃４における回線の帯域の合計以上の合計帯域を有している。
【００９１】
また、スイッチデバイス３００のポート３０２は、他のルータのポート３０２と、外部信号線で接続されている。図１６の例では、ルータ＃１のスイッチデバイス＃１、＃２とルータ＃２のスイッチデバイス＃１、＃２とは、外部信号線ＯＬ１で接続されている。同様に、ルータ＃１のスイッチデバイス＃３、＃４とルータ＃３のスイッチデバイス＃１、＃２とは、外部信号線ＯＬ２で接続されている。ルータ＃２のスイッチデバイス＃３、＃４とルータ＃３のスイッチデバイス＃３、＃４とは、外部信号線ＯＬ３で接続されている。ルータ＃１と他のルータ（ルータ＃２、＃３）とを接続する１６本の外部信号線ＯＬ１、２は、ラインカード＃１〜＃４における回線の帯域の合計以上の合計帯域を有している。同様に、ルータ＃２と他のルータ（ルータ＃１、＃３）とを接続する１６本の外部信号線ＯＬ１、３と、ルータ＃３と他のルータ（ルータ＃１、＃２）とを接続する１６本の外部信号線ＯＬ２、３とについても、それぞれ、ラインカード＃１〜＃４における回線の帯域の合計以上の合計帯域を有している。
【００９２】
図１６の例において、例えば、ルータ＃１のラインカード＃１から受信した、宛先をルータ＃１のラインカード＃４とする複数のパケットは、負荷分散処理（図３）によって、ルータ＃１のスイッチデバイス＃１〜＃４へ振り分けられる。ルータ＃１のスイッチデバイス＃１に振り分けられたパケットは、当該スイッチデバイスによってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。ルータ＃１のスイッチデバイス＃２に振り分けられたパケットは、ルータ＃２へ転送され、ルータ＃２のスイッチデバイス＃２によってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。ルータ＃１のスイッチデバイス＃３に振り分けられたパケットは、当該スイッチデバイスによってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。ルータ＃１のスイッチデバイス＃４に振り分けられたパケットは、ルータ＃３へ転送され、ルータ＃３のスイッチデバイス＃１によってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。
【００９３】
このように、ノンブロッキング化の第４実施例によれば、ネットワークシステムが、２台以上の通信装置（ルータ）から構成される場合であっても、第１実施例と同様の効果を得ることができる。
【００９４】
３−Ｅ．ノンブロッキング化の第５実施例：
ノンブロッキング化の第５実施例では、内部信号線と外部信号線との本数が異なる構成の一例について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００９５】
図１７は、ノンブロッキング化の第５実施例におけるネットワークシステム１０ｄの概略構成を示す説明図である。図１に示した第１実施例との違いは、データプレーン２０に代えてデータプレーン２０ｄを備える点である。データプレーン２０ｄは、３つのラインカード１００を備える点と、スイッチモジュール２００に代えてスイッチモジュール２００ｄを備える点において第１実施例のデータプレーン２０と異なる。スイッチモジュール２００ｄは、１つのスイッチデバイス３００ｄを含んでいる。スイッチデバイス３００ｄは、ポート３０１ｄと、ポート３０２ｄと、図５に示した各部とを備えている。
【００９６】
ポート３０１ｄは、ポート＃１〜＃３で識別される接続インタフェースの総称である。第２の外部インタフェースとしてのポート３０２ｄは、ポート＃４で識別される接続インタフェースである。３つのラインカード１００は、スイッチデバイス３００のポート３０１ｄに対して、それぞれ、内部信号線ＩＬで接続されている。この３本の内部信号線ＩＬの合計帯域は、任意に定めることができるが、３つのラインカード１００における回線の帯域の合計以上の合計帯域を有することが好ましい。スイッチデバイス３００ｄのポート３０２ｄは、他の通信装置（ルータ）のポート３０２ｄと、１本の外部信号線ＯＬで接続されている。本実施例における外部信号線ＯＬは、内部信号線と同様に、３つのラインカード１００における回線の帯域以上の合計帯域を有することが好ましい。なお、本実施例では、内部信号線と、外部信号線との本数（リンク数）が異なっている。
【００９７】
図１７の例において、例えば、ルータ＃１のラインカード＃１から受信した、宛先をルータ＃２のラインカード＃２とする複数のパケットは、負荷分散処理（図３）によって、全て、ルータ＃１のスイッチデバイス＃１へ出力される。ルータ＃１のスイッチデバイス＃１に出力されたパケットは、当該スイッチデバイスによってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。なお、図１７の例では、全てのスイッチデバイス３００ｄの転送モードをスイッチモードとしているが、ルータ＃１のスイッチデバイス＃１、ルータ＃２のスイッチデバイス＃１のいずれか一方をリピータモードとしてもよい。
【００９８】
以上のように、ノンブロッキング化の第５実施例によっても、ルータ＃１のスイッチデバイス＃１と、ルータ＃２のスイッチデバイス＃２とが協働し、仮想的な１つの仮想転送部ＶＳとして、受信パケットをルータ＃１もしくはルータ＃２のラインカード＃１〜＃３へと転送することができる。この結果、第１実施例と同様に、全ての外部ポート（ネットワークインタフェース１１０）を使用可能な仮想的なネットワーク中継装置（高信頼仮想化装置）を、追加の装置を必要とせずに構築可能な、通信装置（ルータ）を提供することができる。また、本実施例の構成においても、第１実施例と同様に、仮想転送部ＶＳの消費電力の低減効果、ネットワークシステムの冗長化効果を有する。
【００９９】
一方で、第５実施例では、スイッチデバイス３００におけるスイッチモード転送処理中に、異なるラインカードからのトラフィック（図１７：破線矢印）の入力が発生した場合であって、外部信号線ＯＬが内部信号線ＩＬよりも小さな合計帯域を有する場合は、ルータを接続する外部信号線ＯＬにおいて、ブロッキングが発生するおそれがある。しかし、第５実施例の構成では、ルータ２０ｄを接続する外部信号線ＯＬが１本でよいため、仮想的なネットワーク中継装置（高信頼仮想化装置）をより低コストに構築することができる。
【０１００】
３−Ｆ．ノンブロッキング化の第６実施例：
ノンブロッキング化の第６実施例では、内部信号線と外部信号線との本数が異なる構成の一例について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【０１０１】
図１８は、ノンブロッキング化の第６実施例におけるネットワークシステム１０ｅの概略構成を示す説明図である。図１に示した第１実施例との違いは、データプレーン２０に代えてデータプレーン２０ｅを備える点である。データプレーン２０ｅは、スイッチモジュール２００に代えてスイッチモジュール２００ｅを備える点においてデータプレーン２０と異なる。スイッチモジュール２００ｅは、２つのスイッチデバイス３００ｅを含んでいる。スイッチデバイス３００ｅは、ポート３０１と、ポート３０２ｅと、図５に示した各部とを備えている。
【０１０２】
第２の外部インタフェースとしてのポート３０２ｅは、ポート＃５で識別される接続インタフェースである。ポート３０２ｅは、他の通信装置（ルータ）のポート３０２ｅと、１本の外部信号線ＯＬで接続されている。本実施例における外部信号線ＯＬは、内部信号線と同様に、３つのラインカード１００における回線の帯域以上の合計帯域を有することが好ましい。なお、本実施例では、内部信号線と、外部信号線との本数（リンク数）が異なっている。
【０１０３】
図１８の例において、例えば、ルータ＃１のラインカード＃１から受信した、宛先をルータ＃２のラインカード＃３とする複数のパケットは、負荷分散処理（図３）によって、ルータ＃１のスイッチデバイス＃１と、ルータ＃１のスイッチデバイス＃２とへ振り分けられる。振り分けられたパケットは、それぞれのスイッチデバイスによってスイッチモード転送処理が行われ、経路探索結果に応じた宛先へ出力される。なお、図１８の例では、全てのスイッチデバイス３００ｅの転送モードをスイッチモードとしているが、ルータ＃１のスイッチデバイス＃１とルータ＃２のスイッチデバイス＃２、もしくは、ルータ＃１のスイッチデバイス＃２とルータ＃２のスイッチデバイス＃１とのうちのいずれか一方の組をリピータモードとしてもよい。
【０１０４】
以上のように、ノンブロッキング化の第６実施例によっても、ルータ＃１のスイッチデバイス＃１、＃２と、ルータ＃２のスイッチデバイス＃１、＃２とが協働し、仮想的な１つの仮想転送部ＶＳとして、受信パケットをルータ＃１もしくはルータ＃２のラインカード＃１〜＃４へと転送することができる。この結果、第１実施例と同様に、全ての外部ポート（ネットワークインタフェース１１０）を使用可能な仮想的なネットワーク中継装置（高信頼仮想化装置）を、追加の装置を必要とせずに構築可能な、通信装置（ルータ）を提供することができる。また、本実施例の構成においても、第１実施例と同様に、仮想転送部ＶＳの消費電力の低減効果、ネットワークシステムの冗長化効果を有する。
【０１０５】
一方で、第６実施例では、スイッチデバイス３００におけるスイッチモード転送処理中に、異なるラインカードからのトラフィック（図１７：破線矢印）の入力が発生した場合であって、外部信号線ＯＬが内部信号線ＩＬよりも小さな合計帯域を有する場合は、ルータを接続する外部信号線ＯＬにおいて、ブロッキングが発生するおそれがある。しかし、第６実施例の構成では、ルータを接続する外部信号線ＯＬが１本でよいため、仮想的なネットワーク中継装置（ネットワークシステム１０ｅ）をより低コストに構築することができる。
【０１０６】
３−Ｇ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。
そのほか、以下のような変形が可能である。
【０１０７】
３−Ｇ１．変形例１：
上記実施例及び実施の形態では、ネットワークシステムの構成の一例を示した。しかし、ネットワークシステムの構成は、上述した態様に限らず、本発明の趣旨を逸脱しない範囲において任意に定めることができる。
【０１０８】
例えば、ネットワークシステム（ネットワーク中継システム）を構成するルータ（通信装置、ネットワーク中継装置）の台数は任意に変更することができる。また、ネットワークシステムを構成する通信装置として、ルータ以外の装置（例えば、レイヤ３スイッチ等）を用いることとしても良い。
【０１０９】
例えば、ラインカードとスイッチデバイスを接続する内部信号線と、異なるルータのスイッチデバイス間を接続する外部信号線との本数や合計帯域は、異なっていても良い。ただし、ネットワークシステムにおいて、ノンブロッキングな通信を実現可能とするためには、上述のように、内部信号線および外部信号線は、ラインカードにおける回線の帯域の合計以上の合計帯域を有し、かつ、外部信号線は、内部信号線の合計帯域以上の合計帯域を有する構成とすることが好ましい。
【０１１０】
３−Ｇ２．変形例２：
上記実施例及び実施の形態では、通信装置としてのルータの構成の一例を示した。しかし、通信装置の構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。
【０１１１】
例えば、ルータが備えるラインカードやスイッチデバイスの個数は、あくまで例示であり、ルータに求められる性能や、ラインカード、スイッチデバイス等の処理性能に応じて、任意に変更することができる。
【０１１２】
例えば、上記実施例及び実施の形態において、ラインカードに含まれるものとした宛先判定部と経路テーブルとは、スイッチモジュールに含まれるものとしてもよい。また、転送処理専用のラインカードを別途設けて、宛先判定部と経路テーブルとは、転送処理専用のラインカードに含まれるものとしてもよい。
【０１１３】
３−Ｇ３．変形例３：
上記実施例及び実施の形態では、負荷分散処理部が実行する負荷分散処理の一例について、処理の手順の一例を挙げて説明した。しかし、上記実施例及び実施の形態の手順はあくまで一例であり、種々の変形を行うことができる。
【０１１４】
例えば、負荷分散処理部は、処理パケットを出力すべきラインカードへの経路が複数ある場合に、複数の経路に対して順にパケットを出力することとした（図３：ステップＳ１１２）。しかし、負荷分散処理部は、処理パケットの宛先を参照し、宛先ラインカードが自ルータにあるラインカードである場合（換言すれば、処理パケットの宛先から決定される処理パケットの出力先が自ルータ内のネットワークインタフェースに属する場合）は、当該パケットをスイッチモードに設定されているスイッチデバイスへ送信し、宛先ラインカードが他のルータにあるラインカードである場合（換言すれば、処理パケットの宛先から決定される処理パケットの出力先が他のルータである場合）は、当該パケットをリピータモードに設定されているスイッチデバイスへ送信するよう制御することも可能である。このようにすれば、宛先ラインカードがあるルータにおいてスイッチモード転送処理が行われるため、効率のよいデータ転送が可能となる。
【０１１５】
３−Ｇ４．変形例４：
上記実施例及び実施の形態では、モード制御部（モード変更部）がスイッチデバイスの転送モードを切り替える場合の一例を示した。しかし、モード変更部は、任意の条件でスイッチデバイスの転送モードを切り替えることができる。
【０１１６】
例えば、モード変更部は、処理パケットの宛先を参照し、宛先ラインカードが自ルータにあるラインカードである場合（換言すれば、処理パケットの宛先から決定される処理パケットの出力先が自ルータ内のネットワークインタフェースに属する場合）に、処理パケットを出力するスイッチデバイスの転送モードをスイッチデバイスに変更し、宛先ラインカードが他のルータにあるラインカードである場合（換言すれば、処理パケットの宛先から決定される処理パケットの出力先が他のルータである場合）に、処理パケットを出力するスイッチデバイスの転送モードをリピータモードに変更することができる。このようにすれば、宛先ラインカードがあるルータにおいてスイッチモード転送処理が行われるため、効率のよいデータ転送が可能となる。
【０１１７】
３−Ｇ５．変形例５：
上記実施例及び実施の形態では、ルータが備える各テーブルについて説明した。しかし、上記実施例及び実施の形態の態様はあくまで例示であり、種々の変形を加えることができる。例えば、テーブルが備えるフィールドの項目を追加、削除、変更することができる。また、各テーブルには、ダイレクトマップ方式を用いることも可能である。
【０１１８】
３−Ｇ６．変形例６：
上記ノンブロッキング化の第１〜第６実施例では、それぞれ、ネットワークシステムの構成の一例について例示した。しかし、ネットワークシステムの構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、スイッチモジュール内に単一のスイッチデバイスを有する構成（第２実施例）と、複数のスイッチモジュールを備える構成（第３実施例）とを組み合わせたネットワークシステムを実現することもできる。他の実施例についても同様に、任意に組合せ可能である。
【産業上の利用可能性】
【０１１９】
本発明は、例えば、ルータやスイッチ等のネットワーク中継装置に利用可能である。
【符号の説明】
【０１２０】
２０  データプレーン
１６０  経路テーブル
１０００  通信装置（ネットワーク中継装置）
１１００  コントロールプレーン
１１１０  ＣＰＵ（処理部）
１１２０  制御系リピータ
【図１】
2012102170.tif 000003
【図２】
2012102170.tif 000004
【図３】
2012102170.tif 000005
【図４】
2012102170.tif 000006
【図５】
2012102170.tif 000007
【図６】
2012102170.tif 000008
【図７】
2012102170.tif 000009
【図８】
2012102170.tif 000010
【図９】
2012102170.tif 000011
【図１０】
2012102170.tif 000012
【図１１】
2012102170.tif 000013
【図１２】
2012102170.tif 000014
【図１３】
2012102170.tif 000015
【図１４】
2012102170.tif 000016
【図１５】
2012102170.tif 000017
【図１６】
2012102170.tif 000018
【図１７】
2012102170.tif 000019
【図１８】
2012102170.tif 000020
【図１９】
2012102170.tif 000021
【図２０】
2012102170.tif 000022
【図２１】
2012102170.tif 000023
【図２２】
2012102170.tif 000024
【図２３】
2012102170.tif 000025
【手続補正書】
【提出日】平成26年1月16日(2014.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の通信装置で構成されるネットワーク中継システムであって、
前記通信装置はそれぞれ、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
運用系の前記制御部の前記制御系リピータは、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の前記制御系リピータに送信し、
待機系の前記制御部の前記制御系リピータは、他の通信装置の前記制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定するネットワーク中継システム。
【請求項２】
前記転送処理部は、
外部との接続インタフェースである外部インタフェースを備える接続部と、
前記接続部を介して受信した受信パケットを転送する転送部と、
を備え、
前記複数の通信装置の各転送処理部間が、所定の通信装置の前記接続部における回線の帯域の合計以上の合計帯域を持つ外部信号線で接続されることにより、ノンブロッキングな通信が実現可能に構成されている請求項１に記載のネットワーク中継システム。
【請求項３】
第１の装置から第２の装置への中継経路が、前記通信装置の前記転送処理部のいずれかを介する経路と、複数の前記通信装置の前記転送処理部及び前記外部信号線を介する経路とで冗長化されている請求項２に記載のネットワーク中継システム。
【請求項４】
各通信装置の前記制御部は、運用系及び待機系の系制御を制御系リピータを介してハードウェアで実施する請求項１に記載のネットワーク中継システム。
【請求項５】
前記複数の通信装置の前記制御部のひとつが運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系である請求項１に記載のネットワーク中継システム。
【請求項６】
前記複数の通信装置の前記制御部のふたつ以上が運用系であり、他の通信装置の前記制御部が待機系であり、
前記複数の通信装置の前記転送処理部は運用系である請求項１に記載のネットワーク中継システム。
【請求項７】
前記複数の通信装置の各制御系リピータがリング構成で接続されており、
待機系の前記通信装置の前記制御系リピータは、他の通信装置の制御系リピータからルーティング情報を受信すると、自通信装置の前記転送処理部に該ルーティング情報を設定するとともに該ルーティング情報を他の通信装置の制御系リピータに送信する請求項１に記載のネットワーク中継システム。
【請求項８】
前記複数の通信装置の各制御系リピータがフルメッシュ構成で接続されている請求項１に記載のネットワーク中継システム。
【請求項９】
複数の通信装置で構成されるネットワーク中継システムにおける前記通信装置であって、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定され、ルーティング情報を学習する処理部及び制御系リピータを有する制御部と
を有し、
前記制御部の前記制御系リピータは、運用系に設定されている場合、前記処理部からルーティング情報を受信して、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置の制御系リピータに送信し、
前記制御部の前記制御系リピータは、待機系に設定されている場合、他の通信装置の制御系リピータからルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定する通信装置。
【請求項１０】
前記複数の通信装置の各転送処理部間は、ノンブロッキングな通信が実現可能に構成される、請求項１に記載のネットワーク中継システム。
【請求項１１】
前記転送処理部と他の通信装置の転送処理部とはノンブロッキングな通信が実現可能に構成される、請求項９に記載の通信装置。
【請求項１２】
複数の通信装置で構成されるネットワーク中継システムであって、
前記通信装置はそれぞれ、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定される制御部と
を有し、
運用系の前記制御部は、ルーティング情報を学習し、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置に送信し、
待機系の前記制御部は、他の通信装置からルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定し、
前記転送処理部は、第一の通信装置に接続され外部との接続インタフェースである外部インタフェースを備える接続部と、前記接続部を介して受信した受信パケットを、前記第一の通信装置に接続される他の前記接続部と、自通信装置内のいずれかの転送処理部及び第二の通信回線を介して接続される前記他の通信装置の転送処理部と、のうち少なくとも一に転送する転送部とを有する、ネットワーク中継システム。
【請求項１３】
前記第二の通信回線の帯域は、所定の前記通信装置の前記接続部に接続される第一の通信回線の帯域の合計以上である、請求項１２に記載のネットワーク中継システム。
【請求項１４】
複数の通信装置で構成されるネットワーク中継システムにおける前記通信装置であって、
入力されるパケットをルーティング情報に従い転送する転送処理部と、
運用系又は待機系に設定される制御部と
を有し、
前記制御部は、運用系に設定されている場合、ルーティング情報を学習し、該ルーティング情報を自通信装置の前記転送処理部に設定するとともに、該ルーティング情報を他の通信装置に送信し、
前記制御部は、待機系に設定されている場合、他の通信装置からルーティング情報を受信して自通信装置の前記転送処理部に該ルーティング情報を設定し、
前記転送処理部は、第一の通信装置に接続され外部との接続インタフェースである外部インタフェースを備える接続部と、前記接続部を介して受信した受信パケットを、前記第一の通信装置に接続される接続部と、自通信装置内のいずれかの転送処理部及び第二の通信回線を介して接続される前記他の通信装置の転送処理部と、のうち少なくとも一に転送する転送部とを有する、通信装置。
【請求項１５】
前記第二の通信回線の帯域は、前記接続部に接続される第一の通信回線の帯域の合計以上である、請求項１４に記載の通信装置。
【国際調査報告】
2012102170.tif 000026
2012102170.tif 000027
2012102170.tif 000028
2012102170.tif 000029
2012102170.tif 000030
2012102170.tif 000031
2012102170.tif 000032