(57)【要約】【課題】デフォルトゲートウェイを介さずに折り返しによるＶＬＡＮセグメント間の中継を効率的に行うことを可能とする。【解決手段】受信したＩＰフレームの送信元情報を学習済エントリとして保持する学習用テーブル１３ａと、ＩＰフレームの宛先情報と当該ＩＰフレームの中継がＶＬＡＮセグメント間中継に該当する場合に書き換える宛先書換情報とを対応付けて保持する書換用テーブル１４ａと、入力されたＩＰフレームの宛先情報と書換用テーブル１４ａとをマッチングし、マッチしたエントリが宛先書換情報を有している場合はＩＰフレームの宛先情報を書き換えてポート１６に転送するセグメント間中継処理部１４と、ポート１６でＩＰフレームを受信した場合に送信元情報と学習用テーブル１３ａとをマッチングして学習済エントリが登録されていない場合にはＩＰフレームを学習処理部１１にコピーする学習済判定部１３とを有する。【選択図】図１
2017188719.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートと、
前記ポートから受信したＩＰフレームの送信元情報を学習済エントリとして保持する学習用テーブルと、
ＩＰフレームの宛先情報と、当該ＩＰフレームの出力先および当該ＩＰフレームの中継がＶＬＡＮセグメント間中継に該当する場合に書き換える宛先書換情報と、を対応付けて保持する書換用テーブルと、
ＦＤＢ（Forwarding DataBase）と、
入力されたＩＰフレームの宛先情報に基づいて前記ＦＤＢを参照して転送先の前記ポートを取得し、取得した前記ポートに当該ＩＰフレームを転送するＦＤＢ処理部と、
入力されたＩＰフレームの宛先情報と前記書換用テーブルとをマッチングし、マッチしたエントリが前記宛先書換情報を有している場合は、前記宛先書換情報によって前記受信したＩＰフレームの宛先情報を書き換えて、当該エントリにおける前記出力先で指定された前記ポートに転送し、該当するエントリが前記宛先書換情報を有していない場合は、前記受信したＩＰフレームを前記ＦＤＢ処理部へ転送するセグメント間中継処理部と、
入力されたＩＰフレームの送信元情報に基づいて学習を行い、前記学習用テーブルおよび前記書換用テーブルにエントリを登録する学習処理部と、
前記ポートでＩＰフレームを受信した場合に、受信したＩＰフレームの送信元情報と前記学習用テーブルとをマッチングして、対応する前記学習済エントリが登録されているかを判定し、登録されている場合には前記受信したＩＰフレームを前記セグメント間中継処理部へ転送し、登録されていない場合には前記受信したＩＰフレームを前記学習処理部にコピーした上で前記セグメント間中継処理部へ転送する学習済判定部と、
を有する、中継装置。
【請求項２】
請求項１に記載の中継装置において、
前記学習用テーブルは、
前記受信したＩＰフレームの送信元情報とマッチングされる際の優先度が最も低い１つの第１のエントリを有し、さらに前記第１のエントリの優先度より高い優先度の１つ以上の第２のエントリを有することができ、
前記第２のエントリは、マッチする条件として学習済のＩＰフレームの送信元情報が設定された前記学習済エントリであり、
前記第１のエントリは、マッチする条件として全てのＩＰフレームの送信元情報と無条件にマッチする内容が設定された未学習エントリであり、
前記学習済判定部は、前記受信したＩＰフレームの送信元情報が前記学習用テーブルの前記未学習エントリとマッチした場合に、当該ＩＰフレームに対応する前記学習済エントリが登録されていないと判定する、中継装置。
【請求項３】
請求項２に記載の中継装置において、
前記学習用テーブルの前記各第２のエントリは、前記受信したＩＰフレームの送信元情報とマッチした際にカウントアップされるカウンタの項目を有し、前記カウンタの値が一定時間更新されない場合に削除される、中継装置。
【請求項４】
請求項１に記載の中継装置において、
前記書換用テーブルは、
前記セグメント間中継処理部に入力されたＩＰフレームの宛先情報とマッチングされる際の優先度が最も高い１つの第３のエントリと、優先度が最も低い第４のエントリとを有し、さらに、宛先のＩＰアドレス毎に、前記第３のエントリより低く前記第４のエントリより高い優先度の第５のエントリと第６のエントリとをそれぞれ有し、前記第５のエントリの優先度は前記第６のエントリの優先度より高く、
前記第３のエントリには、マッチする条件としてＴＴＬ（Time To Live）が０もしくは１のＩＰフレームと無条件にマッチする内容が設定され、
前記第４のエントリには、マッチする条件として全てのＩＰフレームの宛先情報と無条件にマッチする内容が設定され、
前記第５のエントリには、マッチする条件として前記宛先のＩＰアドレスへの中継が同一のＶＬＡＮセグメント内での中継に該当する内容が設定され、
前記第６のエントリには、マッチする条件として前記宛先のＩＰアドレスへの中継がＶＬＡＮセグメント間中継に該当する内容が設定され、さらに前記入力されたＩＰフレームに対する前記宛先書換情報が設定されている、中継装置。
【請求項５】
請求項１に記載の中継装置において、
前記学習用テーブルのエントリが保持するＩＰフレームの送信元情報は、受信ポート、ＶＬＡＮ識別子、送信元のＭＡＣアドレス、および送信元のＩＰアドレスを含む、中継装置。
【請求項６】
請求項１に記載の中継装置において、
前記書換用テーブルのエントリが保持するＩＰフレームの宛先情報は、ＶＬＡＮ識別子、宛先のＩＰアドレス、およびＴＴＬ（Time To Live）を含み、
前記宛先書換情報は、宛先のＭＡＣアドレス、およびＶＬＡＮ識別子を書き換える情報を含む、中継装置。
【請求項７】
通信回線を介して接続される複数の中継装置を備える中継システムであって、
前記複数の中継装置の少なくとも一つは、
複数のポートと、
前記ポートから受信したＩＰフレームの送信元情報を学習済エントリとして保持する学習用テーブルと、
ＩＰフレームの宛先情報と、当該ＩＰフレームの出力先および当該ＩＰフレームの中継がＶＬＡＮセグメント間中継に該当する場合に書き換える宛先書換情報と、を対応付けて保持する書換用テーブルと、
ＦＤＢ（Forwarding DataBase）と、
入力されたＩＰフレームの宛先情報に基づいて前記ＦＤＢを参照して転送先の前記ポートを取得し、取得した前記ポートに当該ＩＰフレームを転送するＦＤＢ処理部と、
入力されたＩＰフレームの宛先情報と前記書換用テーブルとをマッチングし、マッチしたエントリが前記宛先書換情報を有している場合は、前記宛先書換情報によって前記受信したＩＰフレームの宛先情報を書き換えて、当該エントリにおける前記出力先で指定された前記ポートに転送し、該当するエントリが前記宛先書換情報を有していない場合は、前記受信したＩＰフレームを前記ＦＤＢ処理部へ転送するセグメント間中継処理部と、
入力されたＩＰフレームの送信元情報に基づいて学習を行い、前記学習用テーブルおよび前記書換用テーブルにエントリを登録する学習処理部と、
前記ポートでＩＰフレームを受信した場合に、受信したＩＰフレームの送信元情報と前記学習用テーブルとをマッチングして、対応する前記学習済エントリが登録されているかを判定し、登録されている場合には前記受信したＩＰフレームを前記セグメント間中継処理部へ転送し、登録されていない場合には前記受信したＩＰフレームを前記学習処理部にコピーした上で前記セグメント間中継処理部へ転送する学習済判定部と、
を有する、中継システム。
【請求項８】
請求項７に記載の中継システムにおいて、
前記学習用テーブルは、
前記受信したＩＰフレームの送信元情報とマッチングされる際の優先度が最も低い１つの第１のエントリを有し、さらに前記第１のエントリの優先度より高い優先度の１つ以上の第２のエントリを有することができ、
前記第２のエントリは、マッチする条件として学習済のＩＰフレームの送信元情報が設定された前記学習済エントリであり、
前記第１のエントリは、マッチする条件として全てのＩＰフレームの送信元情報と無条件にマッチする内容が設定された未学習エントリであり、
前記学習済判定部は、前記受信したＩＰフレームの送信元情報が前記学習用テーブルの前記未学習エントリとマッチした場合に、当該ＩＰフレームに対応する前記学習済エントリが登録されていないと判定する、中継システム。
【請求項９】
請求項８に記載の中継システムにおいて、
前記学習用テーブルの前記各第２のエントリは、前記受信したＩＰフレームの送信元情報とマッチした際にカウントアップされるカウンタの項目を有し、前記カウンタの値が一定時間更新されない場合に削除される、中継システム。
【請求項１０】
請求項７に記載の中継システムにおいて、
前記書換用テーブルは、
前記セグメント間中継処理部に入力されたＩＰフレームの宛先情報とマッチングされる際の優先度が最も高い１つの第３のエントリと、優先度が最も低い第４のエントリとを有し、さらに、宛先のＩＰアドレス毎に、前記第３のエントリより低く前記第４のエントリより高い優先度の第５のエントリと第６のエントリとをそれぞれ有し、前記第５のエントリの優先度は前記第６のエントリの優先度より高く、
前記第３のエントリには、マッチする条件としてＴＴＬ（Time To Live）が０もしくは１のＩＰフレームと無条件にマッチする内容が設定され、
前記第４のエントリには、マッチする条件として全てのＩＰフレームの宛先情報と無条件にマッチする内容が設定され、
前記第５のエントリには、マッチする条件として前記宛先のＩＰアドレスへの中継が同一のＶＬＡＮセグメント内での中継に該当する内容が設定され、
前記第６のエントリには、マッチする条件として前記宛先のＩＰアドレスへの中継がＶＬＡＮセグメント間中継に該当する内容が設定され、さらに前記入力されたＩＰフレームに対する前記宛先書換情報が設定されている、中継システム。
【請求項１１】
請求項７に記載の中継システムにおいて、
前記学習用テーブルのエントリが保持するＩＰフレームの送信元情報は、受信ポート、ＶＬＡＮ識別子、送信元のＭＡＣアドレス、および送信元のＩＰアドレスを含む、中継システム。
【請求項１２】
請求項７に記載の中継システムにおいて、
前記書換用テーブルのエントリが保持するＩＰフレームの宛先情報は、ＶＬＡＮ識別子、宛先のＩＰアドレス、およびＴＴＬ（Time To Live）を含み、
前記宛先書換情報は、宛先のＭＡＣアドレス、およびＶＬＡＮ識別子を書き換える情報を含む、中継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置および中継システムに関し、例えば、異なるＶＬＡＮ（Virtual Local Area Network）セグメント間の中継・転送機能を有する中継装置システムおよび当該中継システムで用いられる中継装置に関するものである。
【背景技術】
【０００２】
例えば、広域イーサネット（登録商標、以下同様）において、異なるＶＬＡＮセグメント間での中継・転送を行う場合、いわゆるトロンボーン現象が生じる場合がある。これは、同一のレイヤ２スイッチ（エッジスイッチ）に属する異なるＶＬＡＮセグメント間での中継であっても、異なる拠点のルータがデフォルトゲートウェイとなっている場合、トラフィックがデフォルトゲートウェイまで行って帰ってくる冗長経路となる現象をいう。
【０００３】
この現象を回避することが可能な技術として、例えば、特開２００５−２１７７１５号公報（特許文献１）、特開２００４−３０４３７１号公報（特許文献２）、および特開平９−２３３１１０号公報（特許文献３）などには、ルータ（デフォルトゲートウェイ）を介さずにレイヤ２スイッチで折り返すことでＶＬＡＮセグメント間の中継を行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１７７１５号公報
【特許文献２】特開２００４−３０４３７１号公報
【特許文献３】特開平９−２３３１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術では、レイヤ２スイッチがセグメント間の中継を行うためにＩＰアドレスやＭＡＣアドレスとポートとの対応を学習するにあたり、学習対象の情報をＡＲＰ（Address Resolution Protocol）やＮＤＰ（Neighbor Discovery Protocol）を用いて取得する。しかし、この場合、ＡＲＰやＮＤＰのリクエストがされたタイミングでの単発の学習となるため、そのタイミングによっては最新の状況の確実な学習がなされない場合が生じ得るという課題を有する。これに対し、実際の通信において転送されるＩＰフレームを利用して学習できた方が確実である。
【０００６】
この点、特許文献２に記載された技術は、実際の通信において転送されるＩＰフレームに基づいて学習するものであるが、学習対象はデフォルトゲートウェイまで行って帰ってくる下りのＩＰフレームである。すなわち、トロンボーン現象が生じた場合に、その下りのＩＰフレームに基づいて学習することで、以降はレイヤ２スイッチでの折り返しによるＶＬＡＮセグメント間の中継を可能とするものである。したがって、少なくとも１回はトロンボーン現象が生じてしまうという課題を有する。
【０００７】
また、特許文献３に記載された技術では、ＶＬＡＮ機能を有する従来のレイヤ２スイッチが有しているＭＡＣアドレスとポートの対応を保持するフィルタリングテーブル上で、さらに学習により取得した対応するＩＰアドレスの情報も一体として保持するものである。この場合、折り返しによるＶＬＡＮセグメント間の中継の可否を判断するために毎回ＣＰＵでのＩＰフレームの解析処理等が必要であり、非効率となり得るという課題を有する。
【０００８】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、デフォルトゲートウェイを介さずに折り返しによるＶＬＡＮセグメント間の中継を効率的に行うことを可能とする中継装置および中継システムを提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１１】
本発明の代表的な実施の形態による中継システムは、複数のポートと、前記ポートから受信したＩＰフレームの送信元情報を学習済エントリとして保持する学習用テーブルと、ＩＰフレームの宛先情報と、当該ＩＰフレームの出力先および当該ＩＰフレームの中継がＶＬＡＮセグメント間中継に該当する場合に書き換える宛先書換情報と、を対応付けて保持する書換用テーブルと、ＦＤＢ（Forwarding DataBase）と、入力されたＩＰフレームの宛先情報に基づいて前記ＦＤＢを参照して転送先の前記ポートを取得し、取得した前記ポートに当該ＩＰフレームを転送するＦＤＢ処理部と、を有する。
【００１２】
さらに、入力されたＩＰフレームの宛先情報と前記書換用テーブルとをマッチングし、マッチしたエントリが前記宛先書換情報を有している場合は、前記宛先書換情報によって前記受信したＩＰフレームの宛先情報を書き換えて、当該エントリにおける前記出力先で指定された前記ポートに転送し、該当するエントリが前記宛先書換情報を有していない場合は、前記受信したＩＰフレームを前記ＦＤＢ処理部へ転送するセグメント間中継処理部を有する。
【００１３】
さらに、入力されたＩＰフレームの送信元情報に基づいて学習を行い、前記学習用テーブルおよび前記書換用テーブルにエントリを登録する学習処理部と、前記ポートでＩＰフレームを受信した場合に、受信したＩＰフレームの送信元情報と前記学習用テーブルとをマッチングして、対応する前記学習済エントリが登録されているかを判定し、登録されている場合には前記受信したＩＰフレームを前記セグメント間中継処理部へ転送し、登録されていない場合には前記受信したＩＰフレームを前記学習処理部にコピーした上で前記セグメント間中継処理部へ転送する学習済判定部と、を有する。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１５】
すなわち、本発明の代表的な実施の形態によれば、中継装置および中継システムにおいて、デフォルトゲートウェイを介さずに折り返しによるＶＬＡＮセグメント間の中継を効率的に行うことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施の形態である中継装置の主要部分の構成例について概要を示した図である。
【図２】本発明の一実施の形態における中継装置でのＩＰフレームの処理の流れの例を示した図である。
【図３】本発明の一実施の形態における中継装置および中継システムの動作内容の例について概要を示した図である。
【図４】本発明の一実施の形態における学習用テーブルの例について示した図である。
【図５】本発明の一実施の形態における書換用テーブルの例について示した図である。
【図６】（ａ）は中継システムにおける従来技術でのセグメント間中継の例について概要を示した図であり、（ｂ）は本発明の一実施の形態でのセグメント間中継の例について概要を示した図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。また、以下においては、本発明の特徴を分かり易くするために、従来の技術と比較して説明する。
【００１８】
＜概要＞
図６は、中継システムにおける従来技術でのセグメント間中継と本発明の一実施の形態でのセグメント間中継の例について概要を示した図である。図６（ａ）は従来技術でのセグメント間中継の例を示しており、図６（ｂ）は本実施の形態におけるセグメント間中継の例を示している。いずれの図においても、中継システム１は、例えば、ＩＥＥＥ８０２．１ａｈ（ＰＢＢ（Provider Backbone Bridge）規格とも呼ばれる）に基づいて中継を行う広域イーサネット等からなるネットワーク２０を有し、端末４０（図中では端末４０ａ、４０ｂで示される）を収容する中継装置１０を１つ以上備えている。中継装置１０は、例えば、レイヤ２（Ｌ２）スイッチ（エッジスイッチ）である。
【００１９】
広域イーサネットでは、複数の異なる拠点を跨ってＶＬＡＮ空間を構成することができ、同じＶＬＡＮセグメントで異なる拠点間をシームレスにつなげることができる。また、ルータを介することで異なるＶＬＡＮセグメント間で中継することも可能である。このとき、例えば、図６（ａ）に示すように、同一の中継装置１０に収容された異なるＶＬＡＮに属する端末４０ａ、４０ｂ間で通信を行う場合であっても、異なる拠点のルータ３０がデフォルトゲートウェイとなっている場合、いわゆるトロンボーン現象が生じ得る。具体的には、図中の矢印に示すように、ＩＰフレームがデフォルトゲートウェイであるルータ３０まで中継され、ルータ３０でＶＬＡＮセグメント間の中継が行われて中継装置１０に帰ってくるという冗長経路となる。これにより遅延が増加するという課題を有する。
【００２０】
そこで、本実施の形態では、図６（ｂ）に示すように、同一の中継装置１０に収容された異なるＶＬＡＮに属する端末４０ａ、４０ｂ間で通信を行う場合、図中の矢印に示すように、デフォルトゲートウェイ（ルータ３０）まで中継せずに中継装置１０で折り返してＶＬＡＮセグメント間の中継を行うことで、遅延を最小化する。
【００２１】
＜中継装置＞
図１は、本発明の一実施の形態である中継装置１０の主要部分の構成例について概要を示した図である。中継装置１０は、例えば、Ｌ２スイッチ等であり、端末４０等が接続される複数のポート１６を備え、さらに学習処理部１１、フレーム処理部１２などを有する。フレーム処理部１２は、例えばさらに学習済判定部１３、セグメント間中継処理部１４、およびＦＤＢ処理部１５などの各部を有する。これにより、ポート１６を介して受信されたＩＰフレームについて、ＶＬＡＮセグメント間の中継の場合も含めて、その中継・転送先を判断し、対応するポート１６を介して送信する機能を有する。中継装置１０をＯｐｅｎＦｌｏｗ（登録商標、以下同様）スイッチとして構成し、ＯｐｅｎＦｌｏｗコントローラを別に設ける構成とすることも可能である。
【００２２】
学習済判定部１３は、受信したＩＰフレームをスヌーピングし、送信元（ソース）のＩＰアドレス等の情報に基づいて学習用テーブル１３ａとの間でマッチングを行い、ＶＬＡＮセグメント間中継のための学習の済／未済を判定する。学習済判定部１３は、例えば、ＦＰＧＡ（Field Programmable Gate Array）等により実装され、学習用テーブル１３ａは、例えば、ＣＡＭ（Content Addressable Memory）等により実装され、ハードウェア的に高速な処理を可能とするのが望ましい。受信したＩＰフレームはハードウェア的に後述するセグメント間中継処理部１４に転送する一方、学習が未済の場合は、対象のＩＰフレームを学習処理部１１にコピーする。
【００２３】
学習処理部１１は、例えば、ＣＰＵ（Central Processing Unit）を備え、図示しないＲＡＭ（Random Access Memory）等に記録されたプログラムの実行によるソフトウェア処理により学習を行なう。これにより、学習用テーブル１３ａおよび後述する書換用テーブル１４ａのエントリを作成し、それぞれのテーブルを更新する。ＯｐｅｎＦｌｏｗコントローラにより学習処理を行うようにしてもよい。
【００２４】
セグメント間中継処理部１４は、受信したＩＰフレームの宛先（デスティネーション）のＩＰアドレス等の情報に基づいて書換用テーブル１４ａとの間でマッチングを行い、ＶＬＡＮセグメント間中継であるか否かを判定する。ＶＬＡＮセグメント間中継に該当する場合には、ＭＡＣアドレス等の書き換えを行った上で、対象のＶＬＡＮセグメントのポート１６に転送することで中継装置１０での折り返しを実現する。セグメント間中継処理部１４および書換用テーブル１４ａについてもＦＰＧＡやＣＡＭなどのハードウェア機構により実装され、高速な処理を可能とするのが望ましい。
【００２５】
ＦＤＢ処理部１５は、ＶＬＡＮセグメント間中継を行わないＩＰフレームについて、ＦＤＢ（Forwarding DataBase）を参照して転送先のポート１６を決定して転送する。ここでの処理は一般的なＬ２スイッチにおけるものと同様であるため、詳細な説明は省略する。
【００２６】
図２は、本実施の形態における中継装置１０でのＩＰフレームの処理の流れの例を示した図である。中継装置１０において、ポート１６からＩＰフレームを受信すると、まず学習済判定部１３でＩＰフレームの送信元の情報と学習用テーブル１３ａとのマッチングがハードウェア的に行われる。ここで学習済のエントリにマッチしなかった場合、すなわち未学習のＩＰフレームの場合には、学習処理部１１にＩＰフレームがコピーされ、学習が行われる。そして、学習用テーブル１３ａおよび書換用テーブル１４ａに学習結果のエントリが新たに追加される。
【００２７】
一方、ＩＰフレームは学習済判定部１３からセグメント間中継処理部１４へハードウェア中継され、セグメント間中継処理部１４でＩＰフレームの宛先の情報と書換用テーブル１４ａとのマッチングがハードウェア的に行われる。書換用テーブル１４ａにおけるＶＬＡＮセグメント間中継のエントリにマッチした場合には、ＩＰフレームの宛先情報が対象のエントリの内容により書き換えられた上で、対象のポート１６に中継され、中継装置１０での折り返しによるセグメント間中継が実現される。ＶＬＡＮセグメント間中継ではないと判定された場合には、ＦＤＢ処理部１５へＩＰフレームがハードウェア中継され、通常のＬ２スイッチの機能によりＦＤＢ１５ａを参照して中継が行われる。
【００２８】
＜動作内容＞
図３は、本実施の形態における中継装置１０および中継システムの動作内容の例について概要を示した図である。図３の左側の中継システム１では、端末４０から送信されたＩＰフレームに基づいてＩＰアドレスやＭＡＣアドレスを学習する際の動作内容を示している。また、図３の右側の中継システム１では、学習内容に基づいてＩＰフレームを中継装置１０で折り返すことでＶＬＡＮセグメント間中継を行う際の動作内容を示している。
【００２９】
図３の例では、中継装置１０にはＶＩＤ（VLAN Identifier）が「１０」と「２０」の２つのＶＬＡＮセグメント（図中ではそれぞれ「ＶＬＡＮ１０」、「ＶＬＡＮ２０」として示される）が設定されていることを示している。また、「ＶＬＡＮ１０」に属するポート「１／１」には端末４０ａ（ＩＰアドレス：１９２．１６８．１０．１、ＭＡＣアドレス：ａ１）が接続され、「ＶＬＡＮ２０」に属するポート「１／２」には端末４０ｂ（ＩＰアドレス：１９２．１６８．２０．１、ＭＡＣアドレス：ｂ１）が接続されていることを示している。そして、端末４０ａ、４０ｂいずれにおいても、デフォルトゲートウェイ（ＤＧＷ）として異なる拠点に設置されたルータ３０（ＩＰアドレス：１９２．１６８．１０．２５４、ＭＡＣアドレス：ａ３）が設定されていることを示している。
【００３０】
図３の左側において、例えば、「ＶＬＡＮ１０」に属する端末４０ａ、および「ＶＬＡＮ２０」に属する端末４０ｂからそれぞれＩＰフレームが送信され、中継装置１０においてこれを受信した際に、中継装置１０の学習済判定部１３では当該ＩＰフレームの送信元の情報に基づいてＩＰアドレスおよびＭＡＣアドレスの学習を行う。具体的には、ＩＰフレームを受信する毎に、学習用テーブル１３ａに対象の学習済エントリが存在するか否かをマッチングにより判定する。そして、存在する場合には学習済、存在しない場合には未学習と判定して、未学習の場合にのみ学習処理部１１にＩＰフレームをコピーして学習する。学習処理部１１は、学習用テーブル１３ａに学習結果である対象のＩＰフレームの送信元のＩＰアドレスやＭＡＣアドレス等の情報を含むエントリを新たに登録する。
【００３１】
また、学習用テーブル１３ａに学習済としてエントリを登録する際、併せて図３の右側に示した書換用テーブル１４ａにもＶＬＡＮセグメント間中継のためのエントリを登録する。具体的には、受信したＩＰフレームの送信元のＩＰアドレスやＭＡＣアドレス、ＶＩＤ等の情報を用いて、当該送信元のＩＰアドレスが宛先となった場合に宛先のＭＡＣアドレスやＶＩＤを書き換えるための情報等を登録する。なお、図３の例に示した学習用テーブル１３ａおよび書換用テーブル１４ａはいずれも概略であり、詳細については後述する。
【００３２】
図３の右側において、例えば、「ＶＬＡＮ１０」に属する端末４０ａから「ＶＬＡＮ２０」に属する端末４０ｂ宛のセグメント間通信が行われる場合、端末４０ａから送信されるＩＰフレームにおいて宛先のＩＰアドレス（ＤＩＰ）は端末４０ｂのもの（１９２．１６８．２０．１）となる。一方で、宛先のＭＡＣアドレス（ＤＭＡＣ）はデフォルトゲートウェイであるルータ３０のもの（ａ３）となっている。
【００３３】
このとき、中継装置１０では、受信したＩＰフレームにおける宛先のＩＰアドレス等に対応するＶＬＡＮセグメント間中継のためのエントリが書換用テーブル１４ａに存在するか否かをマッチングにより判定する。そして、存在する場合にはＩＰフレームにおける宛先のＭＡＣアドレスやＶＩＤを当該エントリの内容により書き換える。図３の例では、端末４０ａから送信されたＩＰフレームの宛先のＩＰアドレス（１９２．１６８．２０．１）に対応するエントリが存在する。したがって、当該エントリにおける宛先のＭＡＣアドレス（ｂ１）やＶＩＤ（２０）によって対象のＩＰフレームの宛先情報を書き換える。そして指定されたポート（１／２）に転送することによりＩＰフレームは直接端末４０ｂに中継される。これにより、デフォルトゲートウェイであるルータ３０を介さずに中継装置１０で折り返して端末４０ｂにＩＰフレームを送信することができる。
【００３４】
＜学習用テーブル＞
図４は、本実施の形態における学習用テーブル１３ａの例について示した図である。上述したように、中継装置１０の学習済判定部１３は、端末４０から受信したＩＰフレームをスヌーピングして学習用テーブル１３ａとマッチングを行う。そして、未学習のＩＰフレームの場合は学習処理部１１にコピーして学習し、エントリを追加する。
【００３５】
学習用テーブル１３ａは、例えば、「優先度」、マッチングの際の「条件」、およびマッチした場合の「アクション」の内容を保持する項目を有する。ＯｐｅｎＦｌｏｗのフローテーブルとして構成してもよい。
【００３６】
「優先度」の項目は、マッチング処理を行う際の各エントリの優先度を数値や区分等により指定するもので、優先度が高いエントリから順にマッチングが行われる。学習用テーブル１３ａでは、例えば図４の例の最下段のエントリのように、全てのＩＰフレームに無条件にマッチするエントリ（「条件」全てが「ａｎｙ」）を最低優先度（「０」）で予め登録しておく（第１のエントリ）。これにより、いずれの学習済エントリにもマッチしない未学習のＩＰフレームのみを最後に当該エントリにマッチさせて、対応する「アクション」を実行させることができる。
【００３７】
未学習のＩＰフレームに対するここでの「アクション」は、本実施の形態では学習処理部１１（ＣＰＵ）へのコピーであり、学習処理部１１にてＣＰＵでのプログラム実行によりソフトウェア的に学習を行う。学習は、ＯｐｅｎＦｌｏｗのコントローラを登録して行うようにしてもよい。この場合、例えば、コントローラが登録されたＯｐｅｎＦｌｏｗのグループテーブル（例えば「ＣＰＵコピーグループ」）を用意し、これを「アクション」の「出力先」に指定する。学習処理部１１（ＣＰＵ）にコピーされたＩＰフレームは、Ｐａｃｋｅｔ  Ｉｎでコントローラに通知され、コントローラにより学習が行われてエントリが作成・追加される。
【００３８】
なお、上記の未学習用のエントリが単独で最低優先度となっていればよく、学習済のエントリ（第２のエントリ）については、未学習用の最低優先度よりも高い優先度であれば、全て一律であってもよいし、適宜最適化されていてもよい。
【００３９】
「条件」の項目には、ＩＰフレームの送信元の情報とマッチングさせる各項目が含まれ、例えば、「ポート」（受信ポート）や、「ＶＬＡＮ」（ＶＬＡＮ識別子、ＶＩＤ）、「Ｓｒｃ  ＭＡＣ」（送信元ＭＡＣアドレス）、「Ｓｒｃ  ＩＰ」（送信元ＩＰアドレス）などが含まれる。学習済エントリの各項目にはそれぞれ学習結果の具体的な値が設定されるが、上述したように、未学習のＩＰフレームにマッチさせる最低優先度のエントリの各項目には無条件でマッチする「ａｎｙ」が指定される。受信した「ポート」の項目を「条件」に含むことで、中継装置１０における端末４０の収容ポートの変更も検知することができる。
【００４０】
なお、ここでの「ポート」（受信ポート）は、中継装置１０のユーザ拠点側（ＶＬＡＮセグメント側）において端末４０が接続されるアクセスポートを指す。すなわち、ネットワーク２０（広域イーサネット）側に接続されたポートから受信したＩＰフレームについては、学習（および後述する書換）の対象外である。「ポート」の条件が「ａｎｙ」とは、全てのアクセスポートが対象となってマッチすることを意味する。
【００４１】
また、「アクション」の項目には、ＩＰフレームが「条件」の各項目にマッチした場合に実行する処理を指定する各項目が含まれ、例えば、「カウンタ」や「出力先」などが含まれる。「カウンタ」の項目は、学習済エントリにそれぞれ付与されているカウンタに対する処理を指定するものであり、学習済エントリの場合は「ＵＰ」（カウントアップ）する。これにより、一定時間（例えば６０秒であり設定変更可能）カウントアップされない学習済エントリについては削除するエイジング処理を行うことができる。
【００４２】
「出力先」の項目は対象のＩＰフレームの出力先のポート等を指定するものである。学習済エントリの場合は「Ｎｏｒｍａｌ」が指定され、この場合はセグメント間中継処理部１４へＩＰフレームをハードウェア中継する。未学習エントリの場合は「ＣＰＵ  ｃｏｐｙ」が指定され、ＩＰフレームをハードウェア中継するとともに学習のため学習処理部１１（ＣＰＵ）へコピーする。
【００４３】
本実施の形態では、上述したように、「優先度」の項目により学習済／未学習のエントリを制御している。これにより、未学習のＩＰフレームのみ学習処理部１１へコピーしてＣＰＵベースでの学習を行い、学習済のＩＰフレームについてはそのままハードウェア中継するよう効率的な制御を行うことができる。中継装置１０に収容された全ての端末４０についてＩＰアドレスやＭＡＣアドレスを学習すれば、以降は学習処理部１１にＩＰフレームがコピーされることはない。
【００４４】
なお、図４に示した学習用テーブル１３ａにおいて設定されている優先度による制御と同等の制御が実現できるのであれば、エントリ（もしくはフロー）を必ずしもこの順序で登録しておく必要はない。
【００４５】
＜書換用テーブル＞
図５は、本実施の形態における書換用テーブル１４ａの例について示した図である。上述したように、中継装置１０のセグメント間中継処理部１４は、学習済判定部１３から中継されたＩＰフレームの宛先のＩＰアドレス等の情報に基づいて書換用テーブル１４ａとマッチングを行う。そして、ＶＬＡＮセグメント間中継に該当する場合には宛先のＭＡＣアドレスやＶＬＡＮを書き換えた上で、対象のＶＬＡＮセグメントのポート１６に転送することで中継装置１０での折り返しを実現する。
【００４６】
書換用テーブル１４ａも、学習用テーブル１３ａと同様に、例えば、「優先度」、マッチングの際の「条件」、およびマッチした際の「アクション」の内容を保持する項目を有する。ＯｐｅｎＦｌｏｗのフローテーブルとして構成してもよい。セグメント間中継処理部１４は、「優先度」が高いエントリの順に「条件」とのマッチングを行い、マッチしたエントリに係る「アクション」の内容を実行する。
【００４７】
「条件」の項目には、ＩＰフレームの送信元や宛先の情報とマッチングさせる各項目が含まれ、例えば、「ＶＬＡＮ」（ＶＬＡＮ識別子、ＶＩＤ）や、「Ｄｓｔ  ＩＰ」（宛先ＩＰアドレス）、「ＴＴＬ」（Time To Live）などが含まれる。なお、「ポート」（受信ポート）の項目は、図４に示した学習用テーブル１３ａと同様に、ユーザ拠点側において端末４０が接続されるアクセスポートを指す。したがって、条件が「ａｎｙ」とは、全てのアクセスポートが対象となってマッチすることを意味する。ここに特定のアクセスポートを指定することにより、例えば、当該ポートから受信したＩＰフレームについては、ＶＬＡＮセグメント間中継に該当する場合でも中継装置１０での折り返しによる中継を行わせないよう制御することも可能である。
【００４８】
また、「アクション」の項目には、ＩＰフレームが「条件」の各項目にマッチした場合に実行する処理を指定する各項目が含まれ、例えば、「Ｓｅｔ  Ｄｓｔ  ＭＡＣ」（宛先ＭＡＣアドレスの設定）、「Ｓｅｔ  ＶＬＡＮ」（ＶＩＤの設定）、「出力先」などが含まれる。「Ｓｅｔ  Ｄｓｔ  ＭＡＣ」および「Ｓｅｔ  ＶＬＡＮ」の項目に指定された内容は、対象のＩＰフレームの中継がＶＬＡＮセグメント間中継に該当する場合に書き換える宛先のＭＡＣアドレスやＶＩＤの内容（宛先書換情報）である。また、「出力先」の項目は対象のＩＰフレームの出力先のポート等を指定するものである。
【００４９】
書換用テーブル１４ａでは、例えば図５の例の最上段のエントリのように、最初にマッチングの対象となる最高の優先度を有するエントリ（第３のエントリ）と、最下段のエントリのように全てのＩＰフレームに無条件にマッチする（「条件」全てが「ａｎｙ」）最低の優先度のエントリ（第４のエントリ）とを有する。さらに、学習した宛先のＩＰアドレス（「Ｄｓｔ  ＩＰ」）毎に、「優先度」が異なる（「高」と「低」）２種類のエントリを有している。
【００５０】
本実施の形態では、「Ｄｓｔ  ＩＰ」がマッチした場合に、同一のＶＬＡＮ間のＬ２中継が本実施の形態によるＬ３ルーティングの対象とならないよう、学習した宛先のＩＰアドレス毎に、「優先度」が高いエントリ（第５のエントリ、図５の例では「高（例えば、６５５３５）」の各エントリ）にて同一のＶＬＡＮ間のＬ２中継を設定する。すなわち、「条件」における「ＶＬＡＮ」と「Ｄｓｔ  ＩＰ」が属するＶＬＡＮとが同じ場合には同一のＶＬＡＮセグメント（Ｌ２セグメント）内の中継であると判断する。そして、「アクション」として「Ｓｅｔ  Ｄｓｔ  ＭＡＣ」や「Ｓｅｔ  ＶＬＡＮ」を行わずに（すなわち、ＩＰフレームを書換せずに）、「出力先」として「Ｎｏｒｍａｌ」を指定する。
【００５１】
この場合、ＯｐｅｎＦｌｏｗにおいて出力先が「Ｎｏｒｍａｌ」と指定された場合と同様に、ＩＰフレームを中継装置１０の通常のＬ２スイッチの機能により中継する。すなわち、ＩＰフレームはＦＤＢ処理部１５に転送され、ＦＤＢ１５ａを参照して転送先のポート１６が決定される。
【００５２】
一方、同一のＶＬＡＮ間のＬ２中継ではない場合、すなわちＶＬＡＮセグメント間の中継の場合、「優先度」が高いエントリにはマッチせず、低いエントリ（第６のエントリ、図５の例では「中」の各エントリ）とマッチする。この場合は、Ｌ３ルーティング（Next Hop Index）の機能を使い、「アクション」の「Ｓｅｔ  Ｄｓｔ  ＭＡＣ」（宛先ＭＡＣアドレスの設定）および「Ｓｅｔ  ＶＬＡＮ」（ＶＩＤの設定）の項目の内容によってＩＰフレームの宛先ＭＡＣアドレスとＶＩＤを書き換える。そして、「ＴＴＬ」を減算した上で、「出力先」の項目に指定されたポートにハードウェア中継する。
【００５３】
ここで、「ＴＴＬ」が０もしくは１のパケットはＬ３ルーティングにより「ＴＴＬ」が減算（０の場合は２５５に、１の場合は０に）されると破棄されてしまうものである。したがって、このようなパケットを仮に中継装置１０で折り返してＶＬＡＮセグメント間中継すると、本来破棄されるべきパケットを中継してしまうことになる。そこで、本実施の形態では、このようなパケットをＬ２中継してデフォルトゲートウェイ（ルータ３０）まで送ってそこで破棄させる。そのために、書換用テーブル１４ａに「ＴＴＬ」が０もしくは１のパケットが最初にマッチする最高優先度のエントリを設けている。
【００５４】
このエントリでは、マッチしたパケットをＶＬＡＮセグメント間中継の対象外とする。すなわち、「アクション」として「出力先」に「Ｎｏｒｍａｌ」を設定して、ＦＤＢ処理部１５により通常のＬ２スイッチと同様に中継する。なお、この最高優先度のエントリにはＯｐｅｎＦｌｏｗのコントローラは設定せず、書換用テーブル１４ａを初期化した際に最初からハードウェアに登録されるものとする。
【００５５】
本実施の形態では、ＩＰフレームの学習済・未学習の判定は学習用テーブル１３ａにて先に行っているため、書換用テーブル１４ａとのマッチングの時点でＩＰフレームが未学習であるという場合は基本的にはない。しかし、書換用テーブル１４ａでは、未学習のＩＰフレーム用として学習用テーブル１３ａと同様に最低優先度のエントリを設けている。ここでの「出力先」には例えば「Ｎｏｒｍａｌ」が設定され、ＦＤＢ処理部１５により通常のＬ２スイッチと同様に中継される。
【００５６】
なお、図４に示した学習用テーブル１３ａおよび図５に示した書換用テーブル１５ａにおいてそれぞれ設定されている優先度による制御と同等の制御が実現できるのであれば、エントリ（もしくはフロー）の登録順序については、必ずしも図示したような優先度の降順になっている必要はない。
【００５７】
以上に説明したように、本発明の一実施の形態である中継装置１０によれば、学習済判定部１３およびセグメント間中継処理部１４がハードウェア的にＩＰフレームとのマッチングと中継を行う。これにより、処理を高速化することができる。また、中継装置１０での折り返しによるＶＬＡＮセグメント間中継を行う際のＩＰフレームの書き換えを行うための書換用テーブル１４ａと、ＩＰフレームの学習状況を保持する学習用テーブル１３ａとを分ける。これにより、学習済／未学習の判定と未学習の際の学習を効率的に行うことができる。また、端末４０からの上りのＩＰフレームのみで学習することができ、デフォルトゲートウェイからの下りのＩＰフレームを必要としない。そのため、学習済となるまでの間にトロンボーン現象が生じる事態を回避することが可能である。
【００５８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００５９】
１…中継システム、
１０…中継装置、１１…学習処理部、１２…フレーム処理部、１３…学習済判定部、１３ａ…学習用テーブル、１４…セグメント間中継処理部、１４ａ…書換用テーブル、１５…ＦＤＢ処理部、１５ａ…ＦＤＢ、１６…ポート、
２０…ネットワーク、
３０…ルータ、
４０、４０ａ、４０ｂ…端末
【図１】
2017188719.tif 000003
【図２】
2017188719.tif 000004
【図３】
2017188719.tif 000005
【図４】
2017188719.tif 000006
【図５】
2017188719.tif 000007
【図６】
2017188719.tif 000008