(57)【要約】【課題】アドレステーブルの検索時間の短縮、またはアドレステーブルの容量の低減を実現可能なネットワーク中継装置を提供する。【解決手段】フレーム処理部は、第１および第２ポート群（Ｐ［１，１］〜Ｐ［１，ｍ］およびＰ［１，ｍ＋１］〜Ｐ［１，ｎ］）で受信したフレームの送信元アドレスＳＡを学習する際に、ＳＡと第１内部識別子ＩＶＩＤ＝０．１を用いてハッシュ演算を行う。そして、当該ハッシュ演算で得られるアドレステーブルＦＤＢ０１内のエントリに、受信したポートに対応する内部識別子等を登録する。一方、フレーム処理部は、第１および第２ポート群で受信したフレームの宛先アドレスＤＡを検索する際に、ＤＡと０．１を用いてハッシュ演算を行い、そこで得られるＦＤＢ０１内のエントリを読み出し、その中の内部識別子と、受信したポートに対応する内部識別子とを比較する。【選択図】図２
2014216987.tif 000002
【特許請求の範囲】
【請求項１】
第１内部識別子が設定される第１ポート群と、第２内部識別子が設定される第２ポート群とを含んだ複数のポートと、
アドレステーブルと、
前記アドレステーブルに基づいて複数のポート間でフレームを中継するフレーム処理部と、を備え、
前記フレーム処理部は、
前記第１および第２ポート群で受信したフレームの送信元アドレスを学習する場合には、前記送信元アドレスと、前記第１および第２内部識別子の中の一方の内部識別子とを用いてハッシュ演算を行い、当該ハッシュ演算によって得られる前記アドレステーブル内のエントリに、前記送信元アドレスと、当該フレームを受信したポートの識別子と、当該ポートが属するポート群に設定される内部識別子とを登録し、
前記第１および第２ポート群で受信したフレームの宛先アドレスを検索する場合には、前記宛先アドレスと、前記学習時と同じ一方の内部識別子とを用いてハッシュ演算を行い、当該ハッシュ演算によって得られる前記アドレステーブル内のエントリを読み出し、当該エントリに登録されている内部識別子と、当該フレームを受信したポートが属するポート群に設定される内部識別子とを比較することで、同一のポート群内での中継かポート群を跨いだ中継かを判別する、ネットワーク中継装置。
【請求項２】
請求項１記載のネットワーク中継装置において、
前記フレーム処理部は、前記同一のポート群内での中継を行う場合には、前記同一のポート群内のいずれかのポートで受信したフレームを、通信帯域の制限を行わずに他のいずれかのポートに中継し、前記ポート群を跨いだ中継を行う場合には、一方のポート群で受信したフレームを、通信帯域の制限を行ったのち、他のポート群に中継する、ネットワーク中継装置。
【請求項３】
請求項２記載のネットワーク中継装置において、
さらに、前記第１内部識別子と前記第２内部識別子との間で通信帯域の制限を行うことを示す情報と、前記ハッシュ演算の際に前記第１および第２内部識別子の中のどちらの内部識別子を用いるかを示す情報とを保持する帯域制限用テーブルを備え、
前記フレーム処理部は、前記送信元アドレスの学習および前記宛先アドレスの検索を行う場合に、前記帯域制限用テーブルを参照する、ネットワーク中継装置。
【請求項４】
請求項３記載のネットワーク中継装置において、
前記第１および第２ポート群は、同一のブロードキャストドメインに属する、ネットワーク中継装置。
【請求項５】
請求項４記載のネットワーク中継装置において、
前記ネットワーク中継装置は、シャーシ型の構成である、ネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、例えば、複数のポートをグループに割り当て、各グループ間でのフレームの中継に対して通信帯域を制限する機能を備えたネットワーク中継装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、シャーシ型のスイッチングハブにおいて、複数のＦＤＢ間で同期を取る方法が示されている。具体的には、各ラインカードは、ＦＤＢの登録内容が変更された場合に学習用フレームを生成し、当該学習用フレームを、送信レートを制御した上で他のラインカードに向けて送信する。特許文献２には、シャーシ型のスイッチングハブにおいて、ＦＤＢを効率的に学習する方法が示されている。具体的には、代表ラインカードを定め、各ラインカードは、受信したパケットのＦＤＢ情報が未学習の場合、学習通知によって代表ラインカードに学習を行わせたのち、代表ラインカードからマルチキャストで送信される学習通知によって、自身のＦＤＢを更新する。代表ラインカードは、このマルチキャストでの送信の際に流量制限を行う。
【０００３】
特許文献３には、同一のＶＬＡＮを２個のサブネットに分割して管理するフレーム中継装置において、同一サブネット内の通信とサブネット間の通信とを区別する方法が示されている。具体的には、第１サブネットに対応する第１ドメイン処理部で受信したフレームにフラッディングが生じた場合、第１ドメイン処理部の学習テーブルは、当該フレームの送信元アドレスをフラグ「０」と共に学習し、第２サブネットに対応する第２ドメイン処理部の学習テーブルは、当該送信元アドレスをフラグ「１」と共に学習する。宛先検索の際には、このフラグの値によって、同一サブネット内か否かが区別される。また、当該フレーム中継装置は、サブネット間の通信を行う際に帯域制御を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−９１４７７号公報
【特許文献２】特開２０１２−２０９８５５号公報
【特許文献３】特開２０１２−１３００８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、ＶＬＡＮ（Virtual Local Area Network）等を代表に、１台のスイッチ装置（ネットワーク中継装置）で複数のブロードキャストドメインを構築する技術が知られている。ただし、通信事業者等では、同一のブロードキャストドメイン内でフレームを中継する際に、その一部の中継に対して通信帯域を制限したいような場合がある。例えば、組織を単位として同一のブロードキャストドメインを割り当てつつ、組織内の一部のグループ間でフレームを中継する際に通信帯域を制限したいような場合等が挙げられる。
【０００６】
このような場合、例えば、装置内部に通信帯域制限機能を備えたスイッチ装置を用いることが有益となる。当該通信帯域制限機能は、例えば、ブロードキャストドメインとは別に、装置内部で複数のポートをグループに割り当てると共に、その任意のグループ間でのフレームの中継に対して通信帯域を制限するような機能である。この通信帯域を制限する機能自体は、通常、ＱｏＳ（Quality of Service）等と呼ばれる。
【０００７】
通信帯域制限機能を備えたスイッチ装置では、同一グループ内の中継かグループを跨ぐ中継かを判別する必要がある。このような判別は、例えば、特許文献３のような方法によって行えるが、特許文献３の技術では、アドレステーブルに大容量が必要となり、また、その検索時間も増大する恐れがある。そこで、本発明者等は、ハッシュ関数を用いてアドレステーブルを管理しつつ、前述したような判別を行う方式を検討した。ハッシュ関数を用いる場合、通常、前述した各グループを単位としてアドレステーブルを設けることが考えられるが、この場合、検索時間やアドレステーブルの容量に対する効果が不十分となる恐れがある。
【０００８】
本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、アドレステーブルの検索時間の短縮、またはアドレステーブルの容量の低減を実現可能なネットワーク中継装置を提供することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
【００１０】
本実施の形態によるネットワーク中継装置は、第１内部識別子が設定される第１ポート群と、第２内部識別子が設定される第２ポート群とを含んだ複数のポートと、アドレステーブルと、アドレステーブルに基づいて複数のポート間でフレームを中継するフレーム処理部とを備える。フレーム処理部は、第１および第２ポート群で受信したフレームの送信元アドレスを学習する場合には、送信元アドレスと、第１および第２内部識別子の中の一方の内部識別子とを用いてハッシュ演算を行う。そして、フレーム処理部は、当該ハッシュ演算によって得られるアドレステーブル内のエントリに、送信元アドレスと、当該フレームを受信したポートの識別子と、当該ポートが属するポート群に設定される内部識別子とを登録する。一方、フレーム処理部は、第１および第２ポート群で受信したフレームの宛先アドレスを検索する場合には、宛先アドレスと、前述した学習時と同じ一方の内部識別子とを用いてハッシュ演算を行う。そして、フレーム処理部は、当該ハッシュ演算によって得られるアドレステーブル内のエントリを読み出し、当該エントリに登録されている内部識別子と、当該フレームを受信したポートが属するポート群に設定される内部識別子とを比較することで、同一のポート群内での中継かポート群を跨いだ中継かを判別する。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ネットワーク中継装置において、アドレステーブルの検索時間の短縮、またはアドレステーブルの容量の低減が実現可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態によるネットワーク中継装置において、その構成例および通信帯域制限機能の動作例を示す模式図である。
【図２】本発明の一実施の形態によるネットワーク中継装置において、その中継動作の一例を示す模式図である。
【図３】図２の中継動作において、送信元アドレスの学習動作の際に用いる内部識別子の関係例を纏めた説明図である。
【図４】図１および図２のスイッチ装置において、その主要部の概略構成例を示すブロック図である。
【図５】図１および図２のスイッチ装置において、その主要部の図４とは異なる概略構成例を示すブロック図である。
【図６】図４および図５のスイッチ装置において、その帯域制限用テーブルの構成例を示す概略図である。
【図７】図４および図５のスイッチ装置において、そのフレーム処理部が送信元アドレスを学習する際の詳細な動作例を示すフロー図である。
【図８】図４および図５のスイッチ装置において、そのフレーム処理部が宛先アドレスを検索する際の詳細な動作例を示すフロー図である。
【図９】本発明の前提として検討したネットワーク中継装置において、その中継動作の一例を示す模式図である。
【発明を実施するための形態】
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１４】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１６】
《ネットワーク中継装置の通信帯域制限機能》
図１は、本発明の一実施の形態によるネットワーク中継装置において、その構成例および通信帯域制限機能の動作例を示す模式図である。図１に示すスイッチ装置（ネットワーク中継装置）ＳＷは、複数のポートＰ［１，１］〜Ｐ［１，ｎ］，Ｐ［２，１］〜Ｐ［２，ｊ］と、通信帯域制限部ＱＯＳＣＴＬ１，ＱＯＳＣＴＬ２とを備える。この例では、Ｐ［１，１］〜Ｐ［１，ｎ］は、同一のブロードキャストドメインＢＤ１に属し、Ｐ［２，１］〜Ｐ［２，ｊ］は、ＢＤ１とは異なる同一のブロードキャストドメインＢＤ２に属している。具体的には、例えば、ＢＤ１には、同一のＶＬＡＮが設定され、ＢＤ２には、ＢＤ１とは異なる同一のＶＬＡＮが設定される。
【００１７】
装置内部では、ブロードキャストドメインＢＤ１に属する複数のポートＰ［１，１］〜Ｐ［１，ｎ］の中のＰ［１，１］〜Ｐ［１，ｍ］（第１ポート群）と、Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］（第２ポート群）とにそれぞれ異なる内部識別子ＩＶＩＤが設定される。第１ポート群には第１内部識別子としてＩＶＩＤ＝０．１が設定され、第２ポート群には第２内部識別子としてＩＶＩＤ＝０．２が設定される。さらに、装置内部では、複数のポートＰ［２，１］〜Ｐ［２，ｊ］にも、第１および第２内部識別子とは異なる内部識別子としてＩＶＩＤ＝０．３が設定される。
【００１８】
このような構成において、例えば、ポートＰ［１，１］で受信したフレームＦＬ−ＢＤ１に対してフラッディングが生じる場合、ＦＬ−ＢＤ１は、ブロードキャストドメインＢＤ１に属する複数のポートＰ［１，１］〜Ｐ［１，ｎ］の中のＰ［１，１］を除いたポートにフラッディングされる。同様に、ポートＰ［２，１］で受信したフレームＦＬ−ＢＤ２に対してフラッディングが生じる場合、ＦＬ−ＢＤ２は、ブロードキャストドメインＢＤ２に属する複数のポートＰ［２，１］〜Ｐ［２，ｊ］の中のＰ［２，１］を除いたポートにフラッディングされる。
【００１９】
ここで、図１のスイッチ装置ＳＷでは、通信帯域制限機能として、予め設定された所定のポート群を跨いだ中継を行う場合に、一方のポート群（ここでは第１ポート群）で受信したフレームを、通信帯域の制限を行ったのちに他方のポート群（ここでは第２ポート群）に中継するように設定されている。この設定に応じて、ＳＷは、第１ポート群（例えばＰ［１，１］）で受信したフレームＦＬ−ＢＤ１を、通信帯域制限部ＱＯＳＣＴＬ１を用いて通信帯域の制限を行ったのち、第２ポート群（Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］）に中継する。
【００２０】
また、スイッチ装置ＳＷは、同一のポート群（例えば第１ポート群）内での中継を行う場合には、当該同一のポート群内のいずれかのポート（例えばＰ［１，１］）で受信したＦＬ−ＢＤ１を、通信帯域の制限を行わずに他のいずれかのポート（例えばＰ［１，ｍ］等）に中継する。なお、通信帯域制限部ＱＯＳＣＴＬ２は、通信帯域制限部ＱＯＳＣＴＬ１とは反対に、第２ポート群から第１ポート群に向けてフレームを中継する場合に、当該フレームに対して通信帯域を制限する。通信帯域制限機能では、場合によっては、通信帯域を制限する際の制限元と制限先を定めることも可能であり、ＱＯＳＣＴＬ１，ＱＯＳＣＴＬ２のいずれか一方のみを使用するように設定することも可能である。
【００２１】
《ネットワーク中継装置（比較例）の中継動作》
ここで、本実施の形態のネットワーク中継装置の詳細な説明に先だって、その比較例となるネットワーク中継装置について説明する。図９は、本発明の前提として検討したネットワーク中継装置において、その中継動作の一例を示す模式図である。図９には、図１で説明したスイッチ装置ＳＷと同様の構成を備えたスイッチ装置ＳＷ’が示されている。まず、ＳＷ’における送信元アドレスの学習方法について説明する。
【００２２】
スイッチ装置ＳＷ’は、例えば、ＭＡＣ（Media Access Control）アドレスＡＡを持つ端末ＴＭａからのフレームをポートＰ［１，１］で受信した場合、その送信元アドレスＡＡと、受信したポートの識別子（［１，１］）とをアドレステーブルＦＤＢ’０１内の所定のエントリ（言い換えればメモリアドレス）に登録する。この際に、この所定のエントリは、送信元アドレスＡＡと、受信したポートＰ［１，１］が属するポート群に設定される内部識別子ＩＶＩＤ（ここでは０．１）とを用いたハッシュ演算によって定められる。したがって、この場合、「ｆ（）」をハッシュ関数として、ＦＤＢ’０１内のｆ（ＡＡ，０．１）のエントリに送信元アドレスＡＡと受信したポートの識別子（［１，１］）とが登録される。
【００２３】
同様に、スイッチ装置ＳＷ’は、例えば、ＭＡＣアドレスＢＢを持つ端末ＴＭｂからのフレームをポートＰ［１，ｍ＋１］で受信した場合、その送信元アドレスＢＢと、受信したポートの識別子（［１，ｍ＋１］）とをアドレステーブルＦＤＢ’０２内の所定のエントリに登録する。この際に、この所定のエントリは、Ｐ［１，ｍ＋１］が属するポート群に設定される内部識別子ＩＶＩＤが０．２であるため、ｆ（ＢＢ，０．２）となる。なお、ここでは、シャーシ型のスイッチ装置を例として、アドレステーブル内にカード（ラインカード）番号も書き込まれているが、当該カード番号はボックス型のスイッチ装置の場合には不要である。
【００２４】
このように、ハッシュ関数の変数として内部識別子ＩＶＩＤを用いているため、２個のＩＶＩＤ（０．１，０．２）がある場合には、これに応じて２個のアドレステーブルＦＤＢ’０１，ＦＤＢ’０２が必要となる。２個のＦＤＢ’０１，ＦＤＢ’０２を設けることで、ＩＶＩＤ＝０．１のポートとＩＶＩＤ＝０．２のポートとを区別することができ、図１に示したような通信帯域の制限の有無を判別することができる。なお、ここでは、説明を容易にするため、２個のアドレステーブルを別々に示しているが、当該２個のアドレステーブルは、物理的には１個の記憶装置で構成されてもよい。ただし、当該１個の記憶装置の中に、ＩＶＩＤ＝０．１用のメモリ空間と、ＩＶＩＤ＝０．２用のメモリ空間とを確保する必要がある。
【００２５】
次ぎに、スイッチ装置ＳＷ’における宛先アドレスの検索方法について説明する。ここでは、ＳＷ’が、端末ＴＭｃを送信元として端末ＴＭａを宛先とするフレームＦＬをポートＰ［１，ｎ］で受信した場合を想定する。ＦＬには、送信元アドレスＳＡおよび宛先アドレスＤＡに加えて、ここではタグＶＬＡＮを例として、ＶＬＡＮ用識別子ＶＩＤ等が含まれる。この例では、ＳＡはＴＭｃのＭＡＣアドレスＣＣとなり、ＤＡはＴＭａのＭＡＣアドレスＡＡとなり、ＶＩＤは「１」となる。ＳＷ’は、当該ＦＬを受信した際に、この宛先アドレスＡＡに対応するポートの識別子をアドレステーブルの中から検索する。
【００２６】
このアドレステーブルの検索に際し、スイッチ装置ＳＷ’は、ポートＰ［１，ｎ］が属するブロードキャストドメイン（ここではＶＬＡＮ用識別子ＶＩＤ＝１）を対象にＭＡＣアドレスＡＡの有無を調べる。当該ブロードキャストドメインには、２個のアドレステーブルＦＤＢ’０１，ＦＤＢ’０２が存在しているため、ＳＷ’は、このＦＤＢ’０１，ＦＤＢ’０２の両方を検索対象としてＭＡＣアドレスＡＡの有無を調べる必要がある。このため、ＳＷ’は、ｆ（ＡＡ，０．１）のハッシュ演算によって得られるＦＤＢ’０１内のエントリを読み出す処理と、ｆ（ＡＡ，０．２）のハッシュ演算によって得られるＦＤＢ’０２内のエントリを読み出す処理とを行う必要がある。
【００２７】
このように、図９のような中継動作を用いた場合、アドレステーブルを２回検索する処理が必要となるため、その検索に時間を要し、スイッチ装置における中継動作の速度が低下する恐れがある。また、アドレステーブルが２個必要となるため、アドレステーブルを構成する記憶装置の大容量化が必要となり、装置コストの増大が生じる恐れがある。
【００２８】
《ネットワーク中継装置（本実施の形態）の中継動作》
図２は、本発明の一実施の形態によるネットワーク中継装置において、その中継動作の一例を示す模式図である。図２には、図１で説明したスイッチ装置ＳＷが示されている。まず、ＳＷにおける送信元アドレスの学習方法について説明する。
【００２９】
スイッチ装置ＳＷは、例えば、端末ＴＭａからのフレームをポートＰ［１，１］で受信した場合、その送信元アドレスＡＡと、受信したポートの識別子（［１，１］）と、当該ポートが属するポート群に設定される内部識別子ＩＶＩＤ（ここでは０．１）とをアドレステーブルＦＤＢ０１内の所定のエントリ（言い換えればメモリアドレス）に登録する。この際に、この所定のエントリは、図９の場合と同様に、「ｆ（）」をハッシュ関数として、送信元アドレスＡＡと、内部識別子ＩＶＩＤ（ここでは０．１）とを用いてｆ（ＡＡ，０．１）となる。
【００３０】
同様に、スイッチ装置ＳＷは、例えば、端末ＴＭｂからのフレームをポートＰ［１，ｍ＋１］で受信した場合、その送信元アドレスＢＢと、受信したポートの識別子（［１，ｍ＋１］）と、当該ポートが属するポート群に設定される内部識別子ＩＶＩＤ（ここでは０．２）とをアドレステーブルＦＤＢ０１内の所定のエントリに登録する。ただし、この際の所定のエントリは、図９のように、ＩＶＩＤ＝０．２を用いるのではなく、ＩＶＩＤ＝０．１を用いてｆ（ＢＢ，０．１）とする。なお、ここでは、図９の場合と同様に、シャーシ型のスイッチ装置を例してカード（ラインカード）番号も書き込まれているが、当該カード番号はボックス型のスイッチ装置の場合には不要である。
【００３１】
このように、図２のスイッチ装置ＳＷは、第１ポート群（Ｐ［１，１］〜Ｐ［１，ｍ］）か、第２ポート群（Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］）で受信したフレームの送信元アドレスを学習する場合には、共に、送信元アドレスと、第１および第２内部識別子の中の一方の内部識別子（この例では０．１（第１内部識別子））とを用いてハッシュ演算を行う。そして、ＳＷは、当該ハッシュ演算によって得られるアドレステーブルＦＤＢ０１内のエントリに、当該送信元アドレスと、フレームを受信したポートの識別子と、当該ポートが属するポート群に設定される内部識別子とを登録する。
【００３２】
次ぎに、スイッチ装置ＳＷにおける宛先アドレスの検索方法について説明する。ここでは、図９の場合と同様に、ＳＷが、端末ＴＭｃを送信元として端末ＴＭａを宛先とするフレームＦＬをポートＰ［１，ｎ］で受信した場合を想定する。ＦＬには、送信元アドレスＳＡ（ここではＭＡＣアドレスＣＣ）と、宛先アドレスＤＡ（ここではＭＡＣアドレスＡＡ）と、ＶＬＡＮ用識別子ＶＩＤ（ここでは「１」）等が含まれる。ＳＷは、当該ＦＬを受信した際に、この宛先アドレスＡＡに対応するポートの識別子をアドレステーブルの中から検索する。
【００３３】
このアドレステーブルの検索に際し、スイッチ装置ＳＷは、ポートＰ［１，ｎ］が含まれるブロードキャストドメイン（すなわちＶＬＡＮ用識別子ＶＩＤ＝１）内を対象にＭＡＣアドレスＡＡの有無を調べる。当該ブロードキャストドメインには、図９の場合と異なり、１個のアドレステーブルＦＤＢ０１が存在しているため、ＳＷは、このＦＤＢ０１を検索対象としてＭＡＣアドレスＡＡの有無を調べればよい。そこで、ＳＷは、ｆ（ＡＡ，０．１）のハッシュ演算によって得られるＦＤＢ０１内のエントリ（例えばメモリアドレス）を読み出す処理を行う。すなわち、第１および第２ポート群で受信したフレームに対してハッシュ演算を行う際には、送信元アドレスの学習時ならびに宛先アドレスの検索時の両方で、同一の内部識別子ＩＶＩＤ（ここでは０．１（第１内部識別子））を用いる。
【００３４】
ただし、スイッチ装置ＳＷは、図１で述べたような通信帯域の制限を行うか否かを知るため、同一のポート群内での中継かポート群を跨いだ中継かを判別する必要がある。そこで、ＳＷは、アドレステーブルＦＤＢ０１内のエントリ（ｆ（ＡＡ，０．１））から読み出された内部識別子ＩＶＩＤ（ここでは０．１）と、フレームを受信したポートＰ［１，ｎ］が属するポート群に設定されるＩＶＩＤ（自ＩＶＩＤと呼び、ここでは０．２）とを比較する。その結果、ＳＷは、ＩＶＩＤが異なっているため、ポート群を跨いだ中継と認識し、例えば、当該フレームを、通信帯域制限部ＱＯＳＣＴＬ２を用いて通信帯域を制限させたのち、ポートＰ［１，１］に中継する。
【００３５】
なお、スイッチ装置ＳＷは、実際には、前述した内部識別子ＩＶＩＤの一致・不一致に加えて、フレームＦＬに含まれる宛先アドレスＤＡと、アドレステーブルから読み出したＭＡＣアドレスとの一致・不一致も判別する必要がある。すなわち、ここでは、ハッシュ演算を用いてアドレステーブル内のエントリを定めているため、場合によっては、宛先アドレスＤＡと内部識別子ＩＶＩＤの異なる組合せから同一のエントリが算出されることがある。例えば、ＭＡＣアドレスが不一致の場合、ＳＷは、図１に示したように、ＶＬＡＮ用識別子ＶＩＤ＝１のブロードキャストドメイン内でフラッディングを行う。
【００３６】
このように、スイッチ装置ＳＷは、第１ポート群（Ｐ［１，１］〜Ｐ［１，ｍ］）か、第２ポート群（Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］）で受信したフレームの宛先アドレスを検索する場合には、当該宛先アドレスと、前述した送信元アドレスの学習時と同じ一方の内部識別子（この例では０．１（第１内部識別子））とを用いてハッシュ演算を行う。そして、ＳＷは、当該ハッシュ演算によって得られるアドレステーブル内のエントリを読み出し、当該エントリに登録されている内部識別子と、当該フレームを受信したポートが属するポート群に設定される内部識別子とを比較することで、同一のポート群内での中継かポート群を跨いだ中継かを判別する。
【００３７】
図３は、図２の中継動作において、送信元アドレスの学習動作の際に用いる内部識別子の関係例を纏めた説明図である。図３に示すように、スイッチ装置ＳＷは、フレームを受信した際に、当該ポートが属するポート群に設定された内部識別子ＩＶＩＤ（自ＩＶＩＤ）が０．１の場合、０．１を用いてアドレステーブルＦＤＢのハッシュ演算を行い、その結果得られるＦＤＢ内のエントリに０．１を登録する。また、ＳＷは、自ＩＶＩＤが０．２の場合、０．１を用いてＦＤＢのハッシュ演算を行い、その結果得られるＦＤＢ内のエントリに０．２を登録する。
【００３８】
さらに、スイッチ装置ＳＷは、自ＩＶＩＤが０．３の場合、０．３を用いてＦＤＢのハッシュ演算を行い、その結果得られるＦＤＢ内のエントリに０．３を登録する。一方、ＳＷは、宛先アドレスを検索する際には、自ＩＶＩＤを定め、当該自ＩＶＩＤに対応するハッシュ演算用のＩＶＩＤを用いてハッシュ演算を行い、当該ハッシュ演算によって得られるＦＤＢ内のエントリに登録されたＩＶＩＤと自ＩＶＩＤとを比較する。
【００３９】
以上、図２のような中継動作を用いることで、図９の場合と異なり、アドレステーブルを１回検索すればよいため、その検索時間を短縮でき、スイッチ装置における中継動作を高速化することが可能になる。また、アドレステーブルが１個でよいため、アドレステーブルを構成する記憶装置の容量を低減でき、装置コストの低減が図れる。
【００４０】
《ネットワーク中継装置の主要部の概略構成および概略動作》
図４は、図１および図２のスイッチ装置において、その主要部の概略構成例を示すブロック図である。図４に示すスイッチ装置（ネットワーク中継装置）ＳＷｂは、例えば、ボックス型のスイッチ装置であり、フレーム処理部ＦＬＣＴＬと、テーブルユニットＴＢＬＵと、複数のポートＰ［１］，Ｐ［２］，…，Ｐ［ｋ］を備える。例えば、Ｐ［１］，Ｐ［２］，…，Ｐ［ｋ］の一部は、図１および図２における第１ポート群Ｐ［１，１］〜Ｐ［１，ｍ］に該当し、他の一部は、第２ポート群Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］に該当する。
【００４１】
テーブルユニットＴＢＬＵは、アドレステーブルＦＤＢや、帯域制限用テーブルＱＯＳＴＢＬ等を備える。ＦＤＢは、例えばＳＲＡＭ（Static Random Access Memory）等の記憶装置によって構成され、図２に示したＦＤＢ０１等に該当する。ＱＯＳＴＢＬは、詳細は後述するが、第１内部識別子と第２内部識別子との間で通信帯域の制限を行うことを示す情報と、ハッシュ演算の際に第１および第２内部識別子の中のどちらの内部識別子を用いるかを示す情報とが保持される。また、ＴＢＬＵには、図１等に示したような、各ポート群と各ポート群に設定される内部識別子ＩＶＩＤとの関係等も保持される。
【００４２】
フレーム処理部ＦＬＣＴＬは、図１等に示した通信帯域制限部ＱＯＳＣＴＬを備える。ＦＬＣＴＬは、概略的には、テーブルユニットＴＢＬＵ内のアドレステーブルＦＤＢおよび帯域制限用テーブルＱＯＳＴＢＬに基づいて、各ポートＰ［１］，Ｐ［２］，…，Ｐ［ｋ］間でのフレームの中継を行うと共に、必要に応じてＱＯＳＣＴＬを用いて通信帯域を制限する。
【００４３】
図５は、図１および図２のスイッチ装置において、その主要部の図４とは異なる概略構成例を示すブロック図である。図５に示すスイッチ装置（ネットワーク中継装置）ＳＷｃは、例えば、シャーシ型のスイッチ装置であり、一つの筐体内に複数のラインカードＬＣ１，ＬＣ２，…が搭載された構成となっている。ＬＣ１，ＬＣ２，…のそれぞれは、図４に示したスイッチ装置と同様の内部構成を備え、これに加えてファブリックインタフェースＦＩＦをさらに備える。ＦＩＦは、内部通信回線を介して各ラインカード間を接続するためインタフェースである。当該内部通信回線は、例えば、各ラインカードを挿入するための複数のスロットを備えたバックプレーンＢＰ上に設けられる。
【００４４】
フレーム処理部ＦＬＣＴＬは、図４で述べたように、概略的には、テーブルユニットＴＢＬＵ内のアドレステーブルＦＤＢおよび帯域制限用テーブルＱＯＳＴＢＬに基づいて、自身の各ポートＰ［１］，Ｐ［２］，…，Ｐ［ｋ］間でのフレームの中継を行うと共に、必要に応じて通信帯域制限部ＱＯＳＣＴＬを用いて通信帯域を制限する。これに加えてさらに、ＦＬＣＴＬは、ＴＢＬＵ内のＦＤＢおよびＱＯＳＴＢＬに基づいて、ファブリックインタフェースＦＩＦを介して他のラインカードとの間でもフレームの中継を行うと共に、必要に応じてＱＯＳＣＴＬを用いて通信帯域を制限する。
【００４５】
特に限定はされないが、ラインカードＬＣ１内の複数のポートＰ［１］，Ｐ［２］，…，Ｐ［ｋ］の一部は、図１および図２における第１ポート群Ｐ［１，１］〜Ｐ［１，ｍ］に該当し、ラインカードＬＣ２内の複数のポートＰ［１］，Ｐ［２］，…，Ｐ［ｋ］の一部は、第２ポート群Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］に該当する。この前提で、例えば、ＬＣ１のＰ［１］（ＩＶＩＤ＝０．１とする）でＬＣ２のＰ［１］（ＩＶＩＤ＝０．２とする）が宛先となるフレームを受信した場合、ＬＣ１のフレーム処理部ＦＬＣＴＬは、まず、図２に示したようなアドレステーブルに基づいて当該宛先のカードならびにポートを取得する。そして、ＬＣ１内の通信帯域制限部ＱＯＳＣＴＬかＬＣ２内のＱＯＳＣＴＬのいずれか一方は、当該フレームをファブリックインタフェースＦＩＦを介してＬＣ１からＬＣ２に中継する際に通信帯域を制限する。
【００４６】
通常、ボックス型よりもシャーシ型のスイッチ装置の方が、より高速な中継動作が求められ、また、より多くの端末等が接続されると共に各ラインカード毎にアドレステーブルが必要となるため、装置全体の記憶装置の容量もより大きくなる。したがって、本実施の形態のスイッチ装置は、ボックス型およびシャーシ型に関わらず有益な効果が得られるが、その効果は、シャーシ型である場合により顕著となる。
【００４７】
《帯域制限用テーブルの構成》
図６は、図４および図５のスイッチ装置において、その帯域制限用テーブルの構成例を示す概略図である。図６の帯域制限用テーブルＱＯＳＴＢＬには、自ＩＶＩＤと他ＩＶＩＤとの間で通信帯域の制限を行うことを示す情報が保持される。自ＩＶＩＤは、前述したように、ポートでフレームを受信した際に、当該ポートが属するポート群に設定された内部識別子ＩＶＩＤである。他ＩＶＩＤは、当該自ＩＶＩＤのポート群との間で通信帯域の制限を行うように設定されたポート群のＩＶＩＤである。
【００４８】
例えば、自ＩＶＩＤが０．１、他ＩＶＩＤが０．２、ＱＯＳ有効ビットＱＯＳ＿ＶＬＤが‘１’の場合には、自ＩＶＩＤ＝０．１（すなわち第１内部識別子）のポート群から他ＩＶＩＤ＝０．２（すなわち第２内部識別子）のポート群にフレームを中継する際の通信帯域の制限が有効（ＱＯＳ＿ＶＬＤ＝‘１’）であることを意味する。一方、ＱＯＳ＿ＶＬＤが‘０’の場合には、通信帯域の制限が無効（すなわち通信帯域を制限しない）ことを意味する。図６の例では、自ＩＶＩＤが０．３の場合には、通信帯域は制限されない。
【００４９】
さらに、図６の帯域制限用テーブルＱＯＳＴＢＬは、アドレステーブル選択ビットＦＤＢ＿ＳＥＬを保持する。ＦＤＢ＿ＳＥＬは、図２等で述べたハッシュ演算の際に、第１および第２内部識別子の中のどちらの内部識別子を用いるかを示す情報である。ＦＤＢ＿ＳＥＬ＝１の場合には、ハッシュ演算の際に自ＩＶＩＤを用い、ＦＤＢ＿ＳＥＬ＝０の場合には、ハッシュ演算の際に他ＩＶＩＤを用いる。したがって、例えば、自ＩＶＩＤ＝０．１（すなわち第１内部識別子）、ＦＤＢ＿ＳＥＬ＝１の場合には、ハッシュ演算の際のＩＶＩＤとして０．１（第１内部識別子）を用いる。また、自ＩＶＩＤ＝０．２（すなわち第２内部識別子）、他ＩＶＩＤ＝０．１（第１内部識別子）、ＦＤＢ＿ＳＥＬ＝０の場合には、ハッシュ演算の際のＩＶＩＤとして０．１（第１内部識別子）を用いる。
【００５０】
なお、図６の帯域制限用テーブルＱＯＳＴＢＬは、さらに、自ＩＶＩＤにそれぞれ対応してメモリアドレスＡＤＤＲを保持する。ＡＤＤＲは、所謂ポインタアドレスであり、例えば、自ＩＶＩＤが０．１の場合に参照するべきメモリアドレス「０ｘ３０００１」を意味する。そして、実際には、当該メモリアドレス「０ｘ３０００１」の中に、ＱＯＳ有効ビットＱＯＳ＿ＶＬＤ、他ＩＶＩＤ、アドレステーブル選択ビットＦＤＢ＿ＳＥＬの情報等が保持されている。
【００５１】
《送信元アドレスの学習動作》
図７は、図４および図５のスイッチ装置において、そのフレーム処理部が送信元アドレスを学習する際の詳細な動作例を示すフロー図である。図７において、フレーム処理部ＦＬＣＴＬは、ポートでフレームを受信した際に、まず、当該ポートが属するポート群に設定された内部識別子ＩＶＩＤ（すなわち自ＩＶＩＤ）を認識し、帯域制限用テーブルＱＯＳＴＢＬ内の自ＩＶＩＤに対応する各種情報を参照する（ステップＳ１０１）。次いで、ＦＬＣＴＬは、ＱＯＳＴＢＬ内のＱＯＳ有効ビットＱＯＳ＿ＶＬＤを判別する（ステップＳ１０２）。ＱＯＳ＿ＶＬＤが‘０’（すなわち無効）の場合、ＦＬＣＴＬは、自ＩＶＩＤと当該フレーム内の送信元アドレスとを用いてハッシュ演算を行い、当該ハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリに図２で述べたような各種情報を登録する（ステップＳ１０４）。
【００５２】
一方、ステップＳ１０２において、ＱＯＳ有効ビットＱＯＳ＿ＶＬＤが‘１’（すなわち有効）の場合、フレーム処理部ＦＬＣＴＬは、アドレステーブル選択ビットＦＤＢ＿ＳＥＬを判別する（ステップＳ１０３）。ＦＤＢ＿ＳＥＬが‘１’の場合、ＦＬＣＴＬは、前述したステップＳ１０４の処理を行う。一方、ＦＤＢ＿ＳＥＬが‘０’の場合、ＦＬＣＴＬは、他ＩＶＩＤとフレーム内の送信元アドレスとを用いてハッシュ演算を行い、当該ハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリに図２で述べたような各種情報を登録する（ステップＳ１０５）。
【００５３】
例えば、図５のラインカードＬＣ１のポートＰ［１］でフレームを受信した場合、フレーム処理部ＦＬＣＴＬは、自ＩＶＩＤ＝０．１を認識し、図６に基づきメモリアドレス「０ｘ３０００１」を参照することで、ＱＯＳ＿ＶＬＤ＝１、他ＩＶＩＤ＝０．２、ＦＤＢ＿ＳＥＬ＝１を得る（ステップＳ１０１）。その結果、ＦＬＣＴＬは、ステップＳ１０２→ステップＳ１０３→ステップＳ１０４と進み、自ＩＶＩＤ＝０．１を用いて送信元アドレスを学習する。
【００５４】
例えば、図５のラインカードＬＣ２のポートＰ［１］でフレームを受信した場合、フレーム処理部ＦＬＣＴＬは、自ＩＶＩＤ＝０．２を認識し、図６に基づきメモリアドレス「０ｘ３０００２」を参照することで、ＱＯＳ＿ＶＬＤ＝１、他ＩＶＩＤ＝０．１、ＦＤＢ＿ＳＥＬ＝０を得る（ステップＳ１０１）。その結果、ＦＬＣＴＬは、ステップＳ１０２→ステップＳ１０３→ステップＳ１０５と進み、他ＩＶＩＤ＝０．１を用いて送信元アドレスを学習する。
【００５５】
《宛先アドレスの検索動作》
図８は、図４および図５のスイッチ装置において、そのフレーム処理部が宛先アドレスを検索する際の詳細な動作例を示すフロー図である。図８において、フレーム処理部ＦＬＣＴＬは、ポートでフレームを受信した際に、図７に示したステップＳ１０１〜ステップＳ１０３の処理と同様に、自ＩＶＩＤの認識と、帯域制限用テーブルＱＯＳＴＢＬに基づく場合分けを行う（ステップＳ２０１〜Ｓ２０３）。
【００５６】
そして、図７のステップＳ１０４に対応する図８のステップＳ２０４において、フレーム処理部ＦＬＣＴＬは、自ＩＶＩＤと当該フレーム内の宛先アドレスとを用いてハッシュ演算を行い、当該ハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリを検索する。同様に、図７のステップＳ１０５に対応する図８のステップＳ２０５において、ＦＬＣＴＬは、他ＩＶＩＤと当該フレーム内の宛先アドレスとを用いてハッシュ演算を行い、当該ハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリを検索する。
【００５７】
次いで、フレーム処理部ＦＬＣＴＬは、ステップＳ２０４またはＳ２０５の処理に際してアドレステーブルＦＤＢ内のエントリがヒットしたかミスヒットしたかを判別する（ステップＳ２０６）。図２に示したように、当該ＦＤＢ内のエントリに登録されているＭＡＣアドレスと、フレーム内に含まれる宛先アドレスとが一致した場合にはヒットとなり、不一致の場合にはミスヒットとなる。ミスヒットの場合、ＦＬＣＴＬは、当該フレームを図１に示したようなブロードキャストドメイン内でフラッディングする（ステップＳ２１０）。
【００５８】
一方、ステップＳ２０６でヒットの場合、フレーム処理部ＦＬＣＴＬは、アドレステーブルＦＤＢ内のエントリから読み出した内部識別子ＩＶＩＤと、自ＩＶＩＤとの一致・不一致を判別する（ステップＳ２０７）。一致の場合、ＦＬＣＴＬは、同一ポート群内の中継と判断し、フレームをＦＤＢ内のエントリに登録されたポートにユニキャストで中継する（ステップＳ２０８）。一方、不一致の場合、ＦＬＣＴＬは、ポート群を跨ぐ中継と判断し、フレームをＦＤＢ内のエントリに登録されたポートにユニキャストで中継し、この中継の際に通信帯域の制限を行う（ステップＳ２０９）。
【００５９】
例えば、図５のラインカードＬＣ１のポートＰ［１］でＬＣ２のＰ［１］が宛先となるフレームを受信した場合、ＬＣ１のフレーム処理部ＦＬＣＴＬは、自ＩＶＩＤ＝０．１を認識し、図６に基づきメモリアドレス「０ｘ３０００１」を参照することで、ＱＯＳ＿ＶＬＤ＝１、他ＩＶＩＤ＝０．２、ＦＤＢ＿ＳＥＬ＝１を得る（ステップＳ２０１）。その結果、ＦＬＣＴＬは、ステップＳ２０２→ステップＳ２０３→ステップＳ２０４と進み、自ＩＶＩＤ＝０．１を用いて宛先アドレスを検索する。
【００６０】
ここで、図７で述べたような送信元アドレスの学習動作により、ＩＶＩＤ＝０．１と当該宛先アドレスとを用いたハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリには、図２を参照して、ポートの識別子（［１］）と、カードＮｏ（「２」）と、ＩＶＩＤ＝０．２と、当該宛先アドレス（ＭＡＣアドレス）とが登録されている筈である。その結果、ラインカードＬＣ１のフレーム処理部ＦＬＣＴＬは、ステップＳ２０６→ステップＳ２０７→ステップＳ２０９と進み、フレームをラインカードＬＣ２のポートＰ［１］に中継する。ただし、この際には、ＬＣ１又はＬＣ２のいずれかのＦＬＣＴＬで通信帯域が制限される。
【００６１】
また、例えば、図５のラインカードＬＣ２のポートＰ［１］でＬＣ２のＰ［２］が宛先となるフレームを受信した場合、ＬＣ２のフレーム処理部ＦＬＣＴＬは、自ＩＶＩＤ＝０．２を認識し、図６に基づきメモリアドレス「０ｘ３０００２」を参照することで、ＱＯＳ＿ＶＬＤ＝１、他ＩＶＩＤ＝０．１、ＦＤＢ＿ＳＥＬ＝０を得る（ステップＳ２０１）。その結果、ＦＬＣＴＬは、ステップＳ２０２→ステップＳ２０３→ステップＳ２０５と進み、他ＩＶＩＤ＝０．１を用いて宛先アドレスを検索する。
【００６２】
ここで、図７で述べたような送信元アドレスの学習動作により、ＩＶＩＤ＝０．１と当該宛先アドレスとを用いたハッシュ演算によって得られるアドレステーブルＦＤＢ内のエントリには、図２を参照して、ポートの識別子（［２］）と、カードＮｏ（「２」）と、ＩＶＩＤ＝０．２と、当該宛先アドレス（ＭＡＣアドレス）とが登録されている筈である。その結果、ラインカードＬＣ２のフレーム処理部ＦＬＣＴＬは、ステップＳ２０６→ステップＳ２０７（共に０．２）→ステップＳ２０８と進み、フレームをラインカードＬＣ２のポートＰ［２］に中継する。
【００６３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６４】
例えば、図１では、第１ポート群Ｐ［１，１］〜Ｐ［１，ｍ］と、第２ポート群Ｐ［１，ｍ＋１］〜Ｐ［１，ｎ］とに同一のＶＬＡＮ用識別子ＶＩＤ＝１を割り当てる例を示したが、必ずしも同一である必要はない。例えば、スイッチ装置ＳＷにおいて、第１ポート群に割り当てられるＶＬＡＮ用識別子と第２ポート群に割り当てられるＶＬＡＮ用識別子との間の中継が許可されている場合等では、図９で述べたような問題が生じ得る。したがって、このような場合でも、本実施の形態の方式を用いることが有益となる。
【００６５】
また、ここでは、同一のブロードキャストドメイン内の各ポートを２個のポート群に割り当てる例を示したが、同様にして、３個以上のポート群に割り当て、これらのポート群に対して同一の内部識別子でアドレステーブルの登録や検索を行うように構成することも可能である。また、ここでは、ハッシュ関数の変数として、ＭＡＣアドレスと内部識別子ＩＶＩＤとを用いたが、勿論、さらに別の変数を加えることも可能である。さらに、ここでは、ポート群を跨ぐ中継動作の際に通信帯域を制限する通信帯域制限機能を例として説明したが、必ずしも当該機能に限定されるものではなく、ポート群を跨ぐ場合と跨がない場合とで中継動作を使い分ける必要がある機能であれば同様に適用して同様の効果が得られる。
【符号の説明】
【００６６】
ＡＤＤＲ  メモリアドレス
ＢＤ  ブロードキャストドメイン
ＢＰ  バックプレーン
ＤＡ  宛先アドレス
ＦＤＢ，ＦＤＢ’  アドレステーブル
ＦＤＢ＿ＳＥＬ  アドレステーブル選択ビット
ＦＩＦ  ファブリックインタフェース
ＦＬ  フレーム
ＦＬＣＴＬ  フレーム処理部
ＱＯＳ＿ＶＬＤ  ＱＯＳ有効ビット
ＱＯＳＣＴＬ  通信帯域制限部
ＱＯＳＴＢＬ  帯域制限用テーブル
ＩＶＩＤ  内部識別子
Ｐ  ポート
ＳＡ  送信元アドレス
ＳＷ，ＳＷ’  スイッチ装置（ネットワーク中継装置）
ＴＢＬＵ  テーブルユニット
ＴＭ  端末
ＶＩＤ  ＶＬＡＮ用識別子
【図１】
2014216987.tif 000003
【図２】
2014216987.tif 000004
【図３】
2014216987.tif 000005
【図４】
2014216987.tif 000006
【図５】
2014216987.tif 000007
【図６】
2014216987.tif 000008
【図７】
2014216987.tif 000009
【図８】
2014216987.tif 000010
【図９】
2014216987.tif 000011