(57)【要約】【課題】  リンクの偏りを軽減し、利用効率を向上させることができるネットワークを提供する。【解決手段】  本発明のネットワークは、各々末端装置（ａ＿１〜ａ＿Ｎ，ｂ＿１〜ｂ＿Ｍ）が接続されるネットワーク中継装置（Ａ，Ｂ）間でアグリゲーショングを構築した２つ以上のリンク（１０２−１〜１０２−Ｘ）を用いる。ネットワーク中継装置（Ａ，Ｂ）各々が、リンクアグリゲーションを構築したリンク各々の単位時間当たりのパケット数を計測する送受信カウンタ（送信カウンタ１３，２３及び受信カウンタ１４，２４）と、送受信カウンタにより最も使用率の低いリンクに対して受送信するパケットのＭＡＣアドレスを学習しかつ送信するリンク先を決定する決定手段（中継機能１１，２１）とを有する。【選択図】      図１
2013207436.tif 000002
【特許請求の範囲】
【請求項１】
各々末端装置が接続されるネットワーク中継装置間でアグリゲーショングを構築した２つ以上のリンクを用いるネットワークであって、
前記ネットワーク中継装置各々が、前記リンクアグリゲーションを構築したリンク各々の単位時間当たりのパケット数を計測する送受信カウンタと、前記送受信カウンタにより最も使用率の低いリンクに対して受送信するパケットのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを学習しかつ送信するリンク先を決定する決定手段とを有することを特徴とするネットワーク。
【請求項２】
前記ネットワーク中継装置で使用するＭＡＣアドレスと宛先のリンクとが登録されるテーブルを含み、
前記決定手段は、前記テーブルを使用して前記ＭＡＣアドレス単位にリンク先を決定することを特徴とする請求項１記載のネットワーク。
【請求項３】
前記ネットワーク中継装置で使用するＭＡＣアドレスと宛先のリンクとＶＬＡＮ−ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ−ＩＤｅｎｔｉｆｉｅｒ）とが登録されるテーブルを含み、
前記決定手段は、前記テーブルを使用して前記ＶＬＡＮ−ＩＤ単位にリンク先を決定することを特徴とする請求項１記載のネットワーク。
【請求項４】
上記の請求項１から請求項３のいずれかに記載の手段を含むことを特徴とするネットワーク中継装置。
【請求項５】
各々末端装置が接続されるネットワーク中継装置間でアグリゲーショングを構築した２つ以上のリンクを用いるネットワークに用いるリンクアグリゲーション冗長化及び効率化方法であって、
前記ネットワーク中継装置各々が、送受信カウンタを用いて前記リンクアグリゲーションを構築したリンク各々の単位時間当たりのパケット数を計測する処理と、前記送受信カウンタにより最も使用率の低いリンクに対して受送信するパケットのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを学習しかつ送信するリンク先を決定する決定処理とを実行することを特徴とするリンクアグリゲーション冗長化及び効率化方法。
【請求項６】
前記ネットワーク中継装置各々に、前記ネットワーク中継装置で使用するＭＡＣアドレスと宛先のリンクとが登録されるテーブルを設け、
前記決定処理において、前記テーブルを使用して前記ＭＡＣアドレス単位にリンク先を決定することを特徴とする請求項５記載のリンクアグリゲーション冗長化及び効率化方法。
【請求項７】
前記ネットワーク中継装置各々に、前記ネットワーク中継装置で使用するＭＡＣアドレスと宛先のリンクとＶＬＡＮ−ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ−ＩＤｅｎｔｉｆｉｅｒ）とが登録されるテーブルを設け、
前記決定処理において、前記テーブルを使用して前記ＶＬＡＮ−ＩＤ単位にリンク先を決定することを特徴とする請求項５記載のリンクアグリゲーション冗長化及び効率化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク、ネットワーク中継装置並びにそれらに用いるリンクアグリゲーション冗長化及び効率化方法に関し、特にリンクアグリゲーションの冗長化及び効率化に関する。
【背景技術】
【０００２】
Ｌ２ＳＷ（レイヤ２スイッチ）の機能を有する装置からリンクを通じて行うパケット通信において、パケットの転送能力を上げるためには、リンクのリンク速度自体を向上させるしかない。
【０００３】
リンク速度の向上が限界に来ると、リンクアグリゲーションを構築した２以上のリンクを用いて転送する方法が考え出されている。リンクアグリゲーションについては、下記の特許文献１に記載の技術がある。
【０００４】
このリンクアグリゲーションを構築した２以上のリンクに送信元から来たパケットを順次異なったリンク先で転送すると、パケットを受信した側の中継装置で転置や、転置に伴う受信端での廃棄／再送が発生する場合がある。
【０００５】
本発明に関連する手法では、ＶＬＡＮ−ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ−ＩＤｅｎｔｉｆｉｅｒ）、宛先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、送信元ＭＡＣアドレスから「ハッシュ関数等の機械的な」演算によりリンク先を決定する。この場合、キーの値によっては均等な割り振りが行われないという問題がある。
【０００６】
また、割り振りを行う場合、同じ末端装置間では、リンクアグリゲーションを構築したリンクは同じ箇所を経由させたい、というニーズがある。なぜなら、末端装置両端のリンクが送受信でそれぞれ別であると、単一リンクの障害が発生した場合に、対向側のリンクにも片通の影響が出るので、影響範囲が広がるからである。つまり、同一リンクに双方向の通信をまとめることで、影響がある末端装置の台数を抑えられる。
【０００７】
その場合、片側を宛先ＭＡＣアドレス、対向では送信元ＭＡＣアドレスをキーに「ハッシュ関数等の機械的な」演算によりリンク先の決定をすることで、同じ末端装置間のリンクを同一化することができるが、適切なキーを選択しないと使用効率が悪くなるという問題がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１５３９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ある末端装置からＬ２ＳＷの機能を有する中継装置を介して一連のパケットを送信する場合で、かつ中継装置間の転送容量を増やすためリンクアグリゲーションを構築した場合、中継ノード間の複数のリンクで受信毎にパケットを交互に送信すると、中継の受信端でデータ群の順序の入れ替わり(いわゆる転置)が発生し、転置に伴って受信端での廃棄／（及び廃棄に伴った）再送が行われることがあるため、効率的ではない。
【００１０】
本発明に関連する手法では、パケットに付属するＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスから「ハッシュ関数等の機械的な」演算によりのリンク先を決定している。
【００１１】
ところが、上記の方式では、機械的にリンク先を決定するため、中継装置を介する末端装置間におけるパケット群の流通量が考慮されていない。特定の末端装置間のパケットが多く、他方が少ない場合、各リンク間の使用効率に偏りが生じる。偏りが過度になると、単一リンク内で送信できるデータ量を超えてしまい、そのリンクでは送信できなくなるため、送信効率が低下する。
【００１２】
さらに、この手法では、中継装置のリンクアグリゲーションを構築した片端を宛先ＭＡＣアドレス、対向の送信元ＭＡＣアドレスを「ハッシュ関数等の機械的な」演算によりリンク先を決定することで、両端の送信装置間で使われるリンクを同一にすることができる。同一にすることで、単一リンクに障害が発生した場合にそのリンクのみに封じ込めることが可能になる。
【００１３】
ところが、単一リンクで障害が実際に発生すると、上記の手法では、「ハッシュ関数等の機械的な」演算によりリンク先を決定しているので、障害によりリンクアグリゲーションを構築するポートの減設が行われると、演算式に変更が発生するため、他の装置間の通信においてもリンク先の変更が行われ、減設が行われた時点で転置の発生、転置に伴う受信端での廃棄／再送等の影響が出てしまうことがある。これは、リンクアグリゲーションを構築するポートを増設した場合でも同様の問題が起きる。
【００１４】
また、上記の手法では、両端のどちらを宛先ＭＡＣアドレス、送信元ＭＡＣアドレスをキーにするかは保守者の設定によっており、中継装置を介する末端装置数が考慮されていない。
【００１５】
特定側の装置数が多く、対向側の装置数が少ない場合でかつ、装置数の少ない側が送信元ＭＡＣアドレス、装置数の多い側が受信ＭＡＣアドレスをキーにしてリンク先を決定すると、各リンク間の使用効率に偏りが生じる。偏りが過度になると、上記と同様に、単一リンク内で送信できるデータ量を超えてしまい、そのリンクでは送信できなくなるため、送信効率が低下する。これらの問題については、上記の特許文献１に記載の技術でも解決できない。
【００１６】
そこで、本発明の目的は上記の問題点を解消し、リンクの偏りを軽減し、利用効率を向上させることができるネットワーク、ネットワーク中継装置並びにそれらに用いるリンクアグリゲーション冗長化及び効率化方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明によるネットワークは、各々末端装置が接続されるネットワーク中継装置間でアグリゲーショングを構築した２つ以上のリンクを用いるネットワークであって、
前記ネットワーク中継装置各々が、前記リンクアグリゲーションを構築したリンク各々の単位時間当たりのパケット数を計測する送受信カウンタと、前記送受信カウンタにより最も使用率の低いリンクに対して受送信するパケットのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを学習しかつ送信するリンク先を決定する決定手段とを備えている。
【００１８】
本発明によるネットワーク中継装置は、上記のネットワークに有する手段を含むことを特徴とする。
【００１９】
本発明によるリンクアグリゲーション冗長化及び効率化方法は、各々末端装置が接続されるネットワーク中継装置間でアグリゲーショングを構築した２つ以上のリンクを用いるネットワークに用いるリンクアグリゲーション冗長化及び効率化方法であって、
前記ネットワーク中継装置各々が、送受信カウンタを用いて前記リンクアグリゲーションを構築したリンク各々の単位時間当たりのパケット数を計測する処理と、前記送受信カウンタにより最も使用率の低いリンクに対して受送信するパケットのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを学習しかつ送信するリンク先を決定する決定処理とを実行している。
【発明の効果】
【００２０】
本発明は、上記のような構成及び動作とすることで、リンクの偏りを軽減し、利用効率を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態によるネットワークの構成例を示すブロック図である。
【図２】図１に示す中継装置の中継処理に使用するテーブル情報を示す図である。
【図３】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図４】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図５】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図６】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図７】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図８】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図９】本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。
【図１０】本発明の第２の実施の形態による中継装置の中継処理に使用するテーブル情報を示す図である。
【発明を実施するための形態】
【００２２】
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明によるネットワークの概略について説明する。
【００２３】
本発明は、ネットワーク中継装置間でアグリゲーショングを構築した２つ以上のリンクを用いた場合に、データ転送方式を変更して効率性を高めることを特徴とする。
【００２４】
また、本発明は、同じ末端装置間の通信を同一リンク内の通信となるようにすることで、単一リンク障害が発生した場合の影響をより小さくすることを特徴とする。
【００２５】
本発明では、転置（中継の受信端でデータ群の順序の入れ替わり）の発生を少なくし、かつ、リンクアグリゲーションを構築したリンク間の使用効率の偏りを解消するため、リンクアグリゲーションを構築した各リンクにパケットカウンタを付与し、最も使用率の低いリンクに対して「ハッシュ関数等の機械的な」演算を使用せずに、受送信するパケットのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを学習して送信するリンク先を決定することで、上述した本発明に関連する手法より使用効率を高めることができる。
【００２６】
本発明による方式では、均等な割り振りが行われないという問題に対して、各リンクのカウンタを用いてＭＡＣアドレス単位に決定することで対応し、適切なキーを選択しないと使用効率が悪くなるという問題に対して、自動で学習する方法を切替えることで対応している。
【００２７】
図１は本発明の第１の実施の形態によるネットワークの構成例を示すブロック図であり、図２は図１に示す中継装置の中継処理に使用するテーブル情報を示す図である。図１においては、リンクアグリゲーションを構築したリンクを含むＬ２ＳＷ（レイヤ２スイッチ）の中継装置を含むシステムを示している。
【００２８】
本実施の形態によるネットワークは、末端装置ａ＿１〜ａ＿Ｎ，ｂ＿１〜ｂ＿Ｍと、中継装置Ａ，Ｂとをそれぞれリンク１０１−１〜１０１〜Ｎ，１０２−１〜１０２−Ｘ，１０３−１〜１０３−Ｍにて接続して構成されている。
【００２９】
末端装置ａ＿１は、Ｌ２ＳＷの機能を有する中継装置Ａ側に付く１番目の末端装置であり、末端装置ａ＿Ｎは、中継装置Ａ側に付くＮ番目の末端装置である。これら末端装置ａ＿１〜ａ＿Ｎは、他の末端装置にパケットを送信するため、中継装置Ａに対してＶＬＡＮ−ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ−ＩＤｅｎｔｉｆｉｅｒ）、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス等を付与したレイヤ２のパケットを送信することができる。
【００３０】
ここで、中継装置Ａに付く１番目の末端装置を末端装置ａ＿１、ｎ番目の末端装置を末端装置ａ＿ｎ（１≦ｎ≦Ｎ）、Ｎ番目の末端装置を末端装置ａ＿Ｎ（１≦Ｎ）と表現する。
【００３１】
リンク１０１−１は、中継装置Ａ側に付く１番目の末端装置ａ＿１と中継装置Ａとのリンクであり、リンク１０１−Ｎは、中継装置Ａ側に付くＮ番目の末端装置ａ＿Ｎと中継装置Ａとのリンクである。これら末端装置ａ＿１〜ａ＿Ｎは、リンク１０１−１〜１０１−Ｎを通じてパケットを送信または受信する。
【００３２】
中継装置Ａは、末端装置ａ＿ｎから中継装置Ｂ行きのパケットを中継する中継装置である。中継装置Ａは、中継装置Ｂから末端装置ａ＿ｎ行きのパケットを中継する中継機能１１と、図２に示す構成のテーブル１２と、中継装置Ａと中継装置Ｂとの間に有するＸ本（２≦Ｘ）のリンク１０２−１〜１０２−Ｘ各々の単位時間当たりの送信カウンタ１３及び受信カウンタ１４とを有する。
【００３３】
これら送信カウンタ１３及び受信カウンタ１４は、単位時間当たりの各リンク１０２−１〜１０２−Ｘのパケット数を計測することができる。この送信カウンタ１３は、中継装置Ｂが持つ同じリンクの受信カウンタ２４と同じ値になり、この受信カウンタ１４は、中継装置Ｂが持つ同じリンクの送信カウンタ２３と同じ値になる。
【００３４】
リンク１０２−１は、中継装置Ａと中継装置Ｂとを結ぶ１本目のリンクであり、リンク１０２−Ｘは、中継装置Ａと中継装置Ｂとを結ぶＸ本目のリンクである。中継装置Ａと中継装置Ｂとは、これらＸ本のリンク１０２−１〜１０２−Ｘでリンクアグリゲーションを構築している。これらリンク１０２−１〜１０２−Ｘのリンク速度は、それぞれ同一でなくても良い。
【００３５】
ここで、中継装置Ａと中継装置Ｂとを結ぶｘ本目のリンクをリンク１０２−ｘ（１≦ｘ≦Ｘ）、Ｘ本目のリンクをリンク１０２−Ｘ（２≦Ｘ）と表現する。
【００３６】
中継装置Ｂは、末端装置ｂ＿ｍから中継装置Ａ行きのパケットを中継する中継装置である。中継装置Ｂは、中継装置Ａから末端装置ｂ＿ｍ宛のパケットを中継する中継機能２１と、図２に示す構成のテーブル２２と、中継装置Ａと中継装置Ｂとの間に有するＸ本のリンク１０２−１〜１０２−Ｘ各々の単位時間当たりの送信カウンタ２３及び受信カウンタ２４とを有する。
【００３７】
これら送信カウンタ２３及び受信カウンタ２４は、単位時間当たりの各リンク１０２−１〜１０２−Ｘのパケット数を計測することができる。この送信カウンタ２３は、中継装置Ａが持つ同じリンクの受信カウンタ１４と同じ値になり、この受信カウンタ２４は、中継装置Ａが持つ同じリンクの送信カウンタ１３と同じ値になる。
【００３８】
リンク１０３−１は、中継装置Ｂ側に付く１番目の末端装置ｂ＿１とのリンクであり、リンク１０３−Ｍは、中継装置Ｂ側に付くＭ番目の末端装置ｂ＿Ｍとのリンクである。これら末端装置ｂ＿１〜ｂ＿Ｍは、リンク１０３−１〜１０３−Ｍを通じてパケットを送信または受信する。
【００３９】
末端装置ｂ＿１は、中継装置Ｂ側に付く１番目の末端装置であり、末端装置ｂ＿Ｍは、中継装置Ｂ側に付くＭ番目の末端装置である。これら末端装置ｂ＿１〜ｂ＿Ｍは、他の末端装置にパケットを送信するため、中継装置Ｂに対してＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス等を付与したレイヤ２のパケットを送信することができる。
【００４０】
ここで、中継装置Ｂに付く１番目の末端装置を末端装置ｂ＿１、ｍ番目の末端装置を末端装置ｂ＿ｍ（１≦ｍ≦Ｍ）、Ｍ番目の末端装置を末端装置ｂ＿Ｍ（１≦Ｍ）と表現する。
【００４１】
図３〜図９は本発明の第１の実施の形態によるネットワークの処理動作を示すフローチャートである。これら図１〜図９を参照して本発明の第１の実施の形態によるネットワークの動作について説明する。
【００４２】
図２においては、中継装置Ａ，Ｂで使用するＭＡＣアドレスと宛先のリンクとを記載したテーブル１２，２２の構成を示している。中継装置Ａ，Ｂは、このテーブル１２，２２を使用して、リンク１０２−１〜１０２−Ｘのリンクアグリゲーションを構築したリンクのどのリンク先に送信するかを決定する。
【００４３】
図３は中継装置Ａが末端装置ａ＿ｎから送信されたパケットを中継装置Ｂへ送信する場合の動作を示している。
【００４４】
中継装置Ａは、末端装置ａ＿ｎからパケットを受信すると（図３ステップＳ１）、そのパケットが中継装置Ｂ宛のパケットかを判定する（図３ステップＳ２）。中継装置Ａは、そのパケットの宛先が末端装置ａ＿ｎへの折り返しパケットであれば（図３ステップＳ２のＮＯ）、処理を終了する。これらステップＳ１，Ｓ２の処理は、上述した本発明に関連するＬ２ＳＷの処理と同様である。
【００４５】
中継装置Ａは、そのパケットが中継装置Ｂ宛のパケットであれば（図３ステップＳ２のＹＥＳ）、そのパケットの宛先ＭＡＣアドレスが中継装置Ａのテーブル１２に登録されているかを確認する（図３ステップＳ３）。
【００４６】
中継装置Ａは、テーブル１２に登録されていない場合（図３ステップＳ３のＮＯ）、テーブル１２に宛先ＭＡＣアドレスを登録するため、リンク１０２−１〜１０２−Ｘで構成されたリンクアグリゲーションを構築したリンクの中で最も単位時間当たりのパケット数が少ないリンクｘを確定させる（図３ステップＳ４）。中継装置Ａは、確定させた宛先ＭＡＣアドレスとリンク先ｘとをテーブル１２に登録する（図３ステップＳ５）。
【００４７】
中継装置Ａは、テーブル１２に登録されている場合（図３ステップＳ３のＹＥＳ）、あるいは確定させた宛先ＭＡＣアドレスとリンク先ｘとをテーブル１２に登録すると、リンク先をテーブル１２を使用して確定し（図３ステップＳ６）、そのリンク先へパケットを送信する（図３ステップＳ７）。
【００４８】
上述した本発明に関連する処理では、ＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスから「ハッシュ関数等の機械的な」演算によりリンク先を決定しているが、本実施の形態では、テーブル１２を用いている点に違いがある。
【００４９】
また、本発明に関連する処理では、ＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスから「ハッシュ関数等の機械的な」演算によりリンク先を決定しているため、各リンクの使用状況とは無関係に処理されているが、本実施の形態では、カウンタ（送信カウンタ１３及び受信カウンタ１４）で使用率を勘案してＭＡＣアドレス単位にリンク先を決定するため、リンクの使用効率が高い点に違いがある。
【００５０】
図４は中継装置Ｂが中継装置Ａから送信されたパケットを末端装置ｂ＿ｍへ送信する場合の動作を示している。
【００５１】
中継装置Ｂは、中継装置Ａからパケットを受信すると（図４ステップＳ１１）、宛先ＭＡＣアドレスとリンク先とを中継装置Ｂのテーブル２２へ登録し（図４ステップＳ１２）、そのパケットを末端装置ｂ＿ｍへ送信する（図４ステップＳ１３）。
【００５２】
ステップＳ１１の処理は、上述した本発明に関連するＬ２ＳＷの処理と同様であり、宛先ＭＡＣアドレスとリンク先とが登録されたテーブル２２は後述する図５に示す処理で使用される。
【００５３】
図５は中継装置Ｂが末端装置ｂ＿ｍから送信されたパケットを中継装置Ａへ送信する場合の動作を示している。
【００５４】
中継装置Ｂは、末端装置ｂ＿ｍから送信されたパケットを受信すると（図５ステップＳ２１）、そのパケットが中継装置Ａ宛のパケットかを判定する（図５ステップＳ２２）。中継装置Ｂは、そのパケットが末端装置ｂ＿ｍへの折り返しパケットであれば（図５ステップＳ２２のＮＯ）、処理を終了する。これらステップＳ２１，Ｓ２２の処理は、上述した本発明に関連するＬ２ＳＷの処理と同様である。
【００５５】
中継装置Ｂは、そのパケットが中継装置Ａ宛のパケットであれば（図５ステップＳ２２のＹＥＳ）、そのパケットの宛先ＭＡＣアドレスが中継装置Ｂのテーブル２２に登録されているかを確認する（図５ステップＳ２３）。
【００５６】
中継装置Ｂは、テーブル２２に登録されていない場合（図５ステップＳ２３のＮＯ）、テーブル２２に宛先ＭＡＣアドレスを登録するため、リンク１０２−１〜１０２−Ｘで構成されたリンクアグリゲーションを構築したリンクの中で最も単位時間当たりのパケット数が少ないリンクｘを確定させる（図５ステップＳ２４）。中継装置Ｂは、確定させた宛先ＭＡＣアドレスとリンク先ｘとをテーブル２２に登録する（図５ステップＳ２５）。
【００５７】
中継装置Ｂは、テーブル２２に登録されている場合（図５ステップＳ２３のＹＥＳ）、あるいは確定させた宛先ＭＡＣアドレスとリンク先ｘとをテーブル２２に登録すると、リンク先をテーブル２２を使用して確定し（図５ステップＳ２６）、そのリンク先へパケットを送信する（図５ステップＳ２７）。
【００５８】
図６は中継装置Ａが中継装置Ｂから送信されたパケットを末端装置ａ＿ｎへ送信する場合の動作を示している。
【００５９】
中継装置Ａは、中継装置Ｂからパケットを受信すると（図６ステップＳ３１）、そのパケットの送信元ＭＡＣアドレスが中継装置Ａのテーブル１２に登録されているかを確認する（図６ステップＳ３２）。
【００６０】
中継装置Ａは、そのパケットの送信元ＭＡＣアドレスが中継装置Ａのテーブル１２に登録されていなければ（図６ステップＳ３２のＮＯ）、そのパケットの送信元ＭＡＣアドレスとリンク先とを中継装置Ａのテーブル１２へ登録し（図６ステップＳ３３）、そのパケットを末端装置ａ＿ｎへ送信する（図６ステップＳ３４）。
【００６１】
ここで、送信元ＭＡＣアドレスがテーブル１２に登録されている場合にリンク先を上書きしないのは、中継装置Ａのテーブル１２と中継装置Ｂのテーブル２２とにおいて、学習テーブルのばたつき（変更が交互に発生して正常動作しなくなること）を抑えるためである。また、ステップＳ３１，Ｓ３４の処理は、上述した本発明に関連するＬ２ＳＷの処理と同様であり、宛先ＭＡＣアドレスとリンク先とが登録されたテーブル１２は、上述した図３に示す処理で使用される。
【００６２】
図７は中継装置Ａ，Ｂでテーブル１２，２２に書き込んだパケットが単位時間来なかった場合に発生する動作を示している。
【００６３】
中継装置Ａ，Ｂは、単位時間が来るまでパケットを待ち合わせ（図７ステップＳ４１）、テーブル１２，２２に記載されたＭＡＣアドレスが単位時間内に通過したかを確認する（図７ステップＳ４２）。
【００６４】
中継装置Ａ，Ｂは、単位時間内に通過していれば（図７ステップＳ４２のＹＥＳ）、ステップＳ４１の処理に戻り、単位時間内に通過していなければ（図７ステップＳ４２のＮＯ）、通過していないＭＡＣアドレスを削除する（図７ステップＳ４３）。
【００６５】
このように、本実施の形態では、単位時間到着していないパケットを削除することで、再度同じＭＡＣアドレスが来た場合に再度テーブル１２，２２への登録が行われるため、その時点での単位時間当たりのカウント数が最も少ないリンクを選択することができ、転置の発生を避けつつ、使用効率の向上を図ることができる。
【００６６】
図８は中継装置Ａ，Ｂでリンクアグリゲーションを構築したリンクが送受信不能になった場合の動作を示している。リンクが送受信不能になった場合とは、リンクが送受信不能になるのか、物理的な要因等で故障した、または論理的な要因でリンクアグリゲーションを構築したリンクから排除された場合（いわゆる減設）がある。
【００６７】
中継装置Ａ，Ｂは、リンクが受信不能になったことを検出すると（図８ステップＳ５１）、テーブル１２，２２の該当リンク先のＭＡＣアドレスを削除する（図８ステップＳ５２）。ステップＳ５１の処理は、上述した本発明に関連するＬ２ＳＷの処理と同様である。
【００６８】
上述した本発明に関連する方式では、「ハッシュ関数等の機械的な」演算によりリンク先を決定しているので、図８に示す処理は不要であるが、演算に使用するリンク先が変更になるので、全ての送受信パケットのリンク先のパケットが変化する可能性があり、中継装置のリンクアグリゲーションを構築したリンクの受信端でこのとき転置が発生する場合がある。
【００６９】
例えば、リンクアグリゲーションを構築したリンクが３リンクあり（ここではリンク「１」、リンク「２」、リンク「３」とする）、ハッシュに基づいて算出されたキー値が「４」、「６」、「５」だったに、機械的に（キー  ％  総リンク数）＋１という演算規則でリンク先を決定していた場合、それぞれリンク「２」、リンク「３」、リンク「１」に決定される。
【００７０】
この場合、リンク「３」が減設されると、それぞれリンク「１」、リンク「１」、リンク「２」にリンク先が変更となり、リンク「３」にリンク先が決定していたキー値以外の末端間の疎通にも影響が出てしまう。
【００７１】
しかしながら、本実施の形態による方式では、テーブル１２，２２において、障害が起きたリンク先のＭＡＣアドレスのみを削除するため、影響が生じるのは障害が発生したリンク先を使う端末間のみに抑えることができる。
【００７２】
図９は中継装置Ａ，Ｂのテーブル１１，２２に書き込むべきＭＡＣアドレスの内容を書き換えるための動作を示している。
【００７３】
中継装置Ａ，Ｂは、単位時間が来るまで待ち合わせ（図９ステップＳ６１）、各ポート間の送受信カウンタ（送信カウンタ１３，２３及び受信カウンタ１４，２４）の偏りを確認する（図９ステップＳ６２）。
【００７４】
この場合、待ち合わせは、中継装置Ａと中継装置Ｂとの間でＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）プロトコル等を用いて同期を取る必要がある。
【００７５】
中継装置Ａ，Ｂは、（１）各カウンタの偏り(分散)が設定した値以上である、（２）テーブル１２，２２で学習されたＭＡＣアドレスがリンク数Ｘよりも小さい、（３）各リンクで受信したパケット数と比較して図２に登録されたＭＡＣの数が設定した値以下である、（４）過去に入れ替えを行った後のテーブル１２，２２のＭＡＣアドレス登録数と現在のテーブル１２，２２のＭＡＣアドレス登録数との比率が設定した値以下である、という数値を元に(ユーザが)設定した閾値を超えたかどうかで偏りを確認する。
【００７６】
中継装置Ａ，Ｂは、閾値を超えなかった場合（図９ステップＳ６２のＹＥＳ）、ステップＳ６１の処理へ戻り、閾値を超えた場合（図９ステップＳ６２のＮＯ）、学習する方向を入れ替える（図９ステップＳ６３）。
【００７７】
本実施の形態では、「（１）各カウンタの偏り(分散)が設定した値以上である」という数値を元に設定した閾値を超えたかどうかを確認する処理により、ＭＡＣアドレスの再学習が促される。このときには、各リンクにＭＡＣアドレスが再決定されるので、使用効率が向上する。
【００７８】
テーブル１２，２２に登録されたＭＡＣアドレスが少なくなると、リンクアグリゲーションを構築したリンクで送受信されるパケットは、リンク間で分散されにくくなる。さらに、ＭＡＣアドレスがリンクアグリゲーションを構成したリンク数Ｘよりも小さくなると、完全に活用されないリンクが発生する。
【００７９】
本実施の形態では、「（２）テーブル１２，２２で学習されたＭＡＣアドレスがリンク数Ｘよりも小さい」という数値を元に設定した閾値を超えたかどうかを確認する処理により、学習する方向を入れ替えることで、学習するＭＡＣアドレスが末端装置ｂ＿ｍから末端装置ａ＿ｎへのＭＡＣアドレスに切り替わることで、学習するＭＡＣ数の増加を促し、使用効率を改善させることができる。
【００８０】
テーブル１２，２２に登録されたＭＡＣアドレスが少なくなると、リンクアグリゲーションを構築したリンクで送受信されるパケットはリンク間で分散されにくくなる。
【００８１】
本実施の形態では、「（３）各リンクで受信したパケット数と比較して図２に登録されたＭＡＣの数が設定した値以下である」という数値を元に設定した閾値を超えたかどうかを確認する処理により、テーブル１２，２２の登録数と送受信するＭＡＣアドレス数を比較して値が少ない場合、学習する方向を入れ替えることで、学習するＭＡＣアドレスが末端装置ｂ＿ｍから末端装置ａ＿ｎへのＭＡＣアドレスに切り替わることで、学習するＭＡＣ数の増加を促し、使用効率を改善させることができる。
【００８２】
本実施の形態では、「（４）過去に入れ替えを行った後のテーブル１２，２２のＭＡＣアドレス登録数と現在のテーブル１２，２２のＭＡＣアドレス登録数との比率が設定した値以下である」という数値を元に設定した閾値を超えたかどうかを確認する処理により、上記の（２），（３）の数値を元に入れ替えを行った後、ＭＡＣアドレス登録数が少なくなったということは、より効率が悪化していることを示す。
【００８３】
この場合、入れ替える条件を厳しくしてさらなる再入れ替えを抑制した後、ステップＳ６３の処理で学習方向を元に戻すことで、学習するＭＡＣ数の増加を促し、使用効率を改善させることができる。
【００８４】
ステップＳ６３の処理においては、図３〜図６の処理を、以下のように読み変えて準用する。つまり、（１）図３〜図６の処理の末端装置ａと末端装置ｂとを相互に読み替え、（２）図３〜図６の処理の中継装置Ａと中継装置Ｂとを相互に読み替えて、図３〜図６の処理を準用する。
【００８５】
このように、本実施の形態では、リンクアグリゲーションを構築したリンク先の決定規則を、本発明に関連する方式のＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスから「ハッシュ関数等の機械的な」演算を行うのではなく、ＭＡＣアドレスとリンクとのパケットカウンタ数に基づいてリンク先を決定することで、リンクの偏りを軽減し、利用効率を向上させることができる。
【００８６】
また、本実施の形態では、リンクアグリゲーションを構築したリンクへのリンク先決定規則を自動的に調整することによって、同じくリンクの偏りを軽減し、利用効率を向上させることができる。
【００８７】
さらに、本実施の形態では、「ハッシュ関数等の機械的な」演算でリンク先を決定する処理を行わなくしたため、リンクアグリゲーションを構築したリンクに障害等が生じて減設した場合でも他のリンクを経由する末端装置間への疎通への影響を起こさないようにすることができる。
【００８８】
本発明の第１の実施の形態では、ＶＬＡＮ−ＩＤが考慮されていない。ＶＬＡＮ−ＩＤによって経由するパケットの内容特性は異なるため、図２に示すテーブル情報を図１０に示すテーブル情報に差し替えて新たな構成要素としてＶＬＡＮ−ＩＤを考慮させることもできる。
【００８９】
図１０は本発明の第２の実施の形態による中継装置の中継処理に使用するテーブル情報を示す図である。図１０においては、図２に示すテーブル情報にＶＬＡＮ−ＩＤを追加しており、ＶＬＡＮ−ＩＤ、ＭＡＣアドレス、リンク先で構成される。
【００９０】
ＶＬＡＮ−ＩＤを考慮する場合、図３のステップＳ５の処理、図４のステップＳ１２の処理、図５のステップＳ２５の処理、図６のステップＳ３３の処理のＭＡＣアドレスの登録は、図２に示すテーブル情報にではなく、図１０に示すテーブル情報に登録される。
【００９１】
図３のステップＳ４の処理、図５のステップＳ２４の処理のリンク先決定は、ＶＬＡＮ−ＩＤを意識しなかったが、図１０の読み替え処理は、ＶＬＡＮ−ＩＤ単位で行うことで、よりきめ細かな使用効率の改善を図ることができる。
【００９２】
一方、本発明に関連するリンクアグリゲーションの方式では、ＶＬＡＮ−ＩＤ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスから、リンクアグリゲーションを構築したリンクｘのリンク速度がそれぞれ異なっている場合でも、リンク先を均等に決定してしまうので、リンク速度の大きなリンクでは他と比較して使用率が低下する。
【００９３】
本発明では、この問題を解決するために、ＭＡＣアドレス毎にリンク先ｘをリンクに設定したカウンタ値を用いて、パケット受信時にリンク先を決定している。このため、本発明では、カウンタに各リンクのリンク速度を除算した重み付けをすることで、リンク速度に沿った使用率でのリンク先決定を行うことができる。
【００９４】
例えば、リンクアグリゲーションを構築したリンク「１」、リンク「２」、リンク「３」がある環境で、それぞれのリンク速度が「１０Ｍｂｐｓ」、「１０Ｍｂｐｓ」、「１００Ｍｂｐｓ」、単位時間当たりのカウンタが「１００カウント」、「４００カウント」、「５００カウント」であった場合に、新たに図３のステップＳ４の処理、図５のステップＳ２４の処理でリンク先を決定する場合、リンク速度を考慮しない場合はリンク「１」が選択されるが、リンク速度の重み付けをすると、それぞれ「１０カウント／Ｍｂｐｓ」、「４０カウント／Ｍｂｐｓ」、「５カウント／Ｍｂｐｓ」となり、リンク先「３」が選択されることになり、全体の使用効率を均等化することができる。
【００９５】
また、使用効率を計算する場合、処理の高速化のために、図３のステップＳ４の処理、図５のステップＳ２４の処理では、パケット数の送受信カウンタのみを用いて単位時間当たりの最も使用率の低いポートを算出している。
【００９６】
しかしながら、各レイヤ２のパケットは、それぞれパケット長が異なる。本発明では、カウンタ長に各物理パケット長を加味してリンク先を決定することにより、より使用効率を改善させることができる。
【００９７】
本発明において、上記の本発明の第１の実施の形態では、初期に宛先ＭＡＣアドレスを基準にリンク先の決定を行っているが、送信元ＭＡＣアドレスを基準にしてリンク先の決定を行うことでもまったく等価な効果が得られる。
【００９８】
この場合、図３〜図７の「宛先」と「送信元」とをそれぞれ「送信元」と「宛先」とに読み変える。この場合、図４のＭＡＣ登録処理は、本発明に関連するＬ２ＳＷのＭＡＣ学習処理と同じになる。
【符号の説明】
【００９９】
１１，２１  中継機能
１２，２２  テーブル
１３，２３  送信カウンタ
１４，２４  受信カウンタ
１０１−１〜１０１−Ｎ，
１０２−１〜１０２−Ｘ，
１０３−１〜１０３−Ｍ  リンク
Ａ，Ｂ  中継装置
ａ＿１〜ａ＿Ｎ，
ｂ＿１〜ｂ＿Ｍ  末端装置
【図１】
2013207436.tif 000003
【図２】
2013207436.tif 000004
【図３】
2013207436.tif 000005
【図４】
2013207436.tif 000006
【図５】
2013207436.tif 000007
【図６】
2013207436.tif 000008
【図７】
2013207436.tif 000009
【図８】
2013207436.tif 000010
【図９】
2013207436.tif 000011
【図１０】
2013207436.tif 000012