(57)【要約】【課題】リンク集約された通信路において、物理リンクのトラヒック量が偏らないように配慮しつつ、物理リンク数が変動する際のフレームの廃棄を抑止する。【解決手段】テーブル記憶手段１２は、フレームに含まれるアドレスと、フレームを出力する物理リンク５ａ，５ｂ，５ｃとの対応関係を示す分配テーブルを記憶する。設定制御手段１３は、物理リンク５ａの故障を検知すると、分配テーブルを操作して、故障した物理リンク５ａに割り当てられたアドレスの値域を複数に分割し、正常な物理リンク５ｂ，５ｃに分散させて振り替える。スイッチ手段１４は、フレームを受信すると、分配テーブルを参照し、受信したフレームに含まれるアドレスに基づいて、フレームを出力する正常な物理リンクを決定する。【選択図】図１
2008078906.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信装置において、
前記フレームに含まれるアドレスと、前記フレームを出力する前記物理リンクとの対応関係を示す分配テーブルを記憶するテーブル記憶手段と、
前記物理リンクの故障を検知すると、前記分配テーブルを操作して、故障した前記物理リンクに割り当てられた前記アドレスの値域を複数に分割し、正常な前記物理リンクに分散させて振り替える設定制御手段と、
前記フレームを受信すると、前記分配テーブルを参照し、受信した前記フレームに含まれる前記アドレスに基づいて、前記フレームを出力する正常な前記物理リンクを決定するスイッチ手段と、
を有することを特徴とする通信装置。
【請求項２】
前記分配テーブルは、前記物理リンクと、前記論理リンクを構成する前記物理リンクの数より取り得る値が多いハッシュ関数を用いて前記アドレスから計算されるハッシュ値とを、１対多の関係に対応付けており、
前記設定制御手段は、故障した前記物理リンクに対応付けられた複数の前記ハッシュ値を、正常な前記物理リンクに分散させて振り替え、
前記スイッチ手段は、前記ハッシュ関数を用いて前記アドレスから前記ハッシュ値を計算することで、出力先の前記物理リンクを決定する、
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記分配テーブルは、前記物理リンクと前記アドレスから計算される第１のハッシュ値とを対応付けると共に、正常な前記物理リンクと第１のハッシュ値と異なる方法で前記アドレスから計算される第２のハッシュ値とを対応付けており、
前記設定制御手段は、前記物理リンクの故障を検知すると、正常な前記物理リンクと前記第２のハッシュ値との対応関係を更新し、
前記スイッチ手段は、前記アドレスから前記第１のハッシュ値を計算し、前記第１のハッシュ値に対応する前記物理リンクが故障している場合のみ、更に前記アドレスから前記第２のハッシュ値を計算することで、出力先の前記物理リンクを決定する、
ことを特徴とする請求項１記載の通信装置。
【請求項４】
前記設定制御手段は、故障した前記物理リンクが復旧したことを検知すると、他の前記物理リンクへの振り替え設定を解除すると共に、解除前に振り替えられて出力された最後の前記フレームが前記論理リンクの接続先に到達したと判定するまでの間、復旧した前記物理リンクの使用を禁止し、
前記スイッチ手段は、前記アドレスに対応する前記物理リンクが使用を禁止されている場合、受信した前記フレームを破棄する、
ことを特徴とする請求項１記載の通信装置。
【請求項５】
複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信方法において、
設定制御手段が、前記物理リンクの故障を検知すると、前記フレームに含まれるアドレスと前記フレームを出力する前記物理リンクとの対応関係を示す分配テーブルを操作して、故障した前記物理リンクに割り当てられた前記アドレスの値域を複数に分割し、正常な前記物理リンクに分散させて振り替えるステップと、
スイッチ手段が、前記フレームを受信すると、前記分配テーブルを参照し、受信した前記フレームに含まれる前記アドレスに基づいて、前記フレームを出力する正常な前記物理リンクを決定するステップと、
を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフレームを転送する通信装置および通信方法に関し、特に複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信装置および通信方法に関する。
【背景技術】
【０００２】
ネットワークを介して通信相手の端末装置へデータを送信する場合、送信データはデータリンク層においてフレームに分割され、通信装置によって中継されて、通信相手に届けられる。フレームを中継する通信装置としては、レイヤ２スイッチ等がある。ここで、通信装置間の通信路の品質を向上させる方法として、リンク集約（リンクアグリゲーション）の技術が知られている。リンク集約とは、同一の通信装置との間にケーブル等の物理リンクを複数設置し、これらの物理リンクを束ねて１つの仮想的な論理リンクを構成する技術である。リンク集約を行うことで、高価なケーブルや通信インタフェースを用意することなく、高速な通信路を実現できる。また、複数の物理リンクを同時に使用するため、一部の物理リンクが故障した場合でも、通信路が完全に切断されることを防止でき、可用性が向上する。論理リンクを構成する物理リンクが故障すると、故障した物理リンクと予備の物理リンクとを自動的に切り換えて運用を継続する技術も知られている（例えば、特許文献１参照）。
【０００３】
ところで、リンク集約機能を用いてフレームの転送を行う場合、一般に、送信元および宛先が同一であるフレームの到達順序は維持されることが求められる。例えば、イーサネット（登録商標）の仕様では、ＩＥＥＥ８０２．３において、フレームの転送順序が維持されなければならないことが規定されている。ここで、個々の物理リンクのトラヒック量に差異が生じる場合があるため、送信元および宛先が同一であるフレームが複数の物理リンクに分散されて出力されると、接続先の通信装置に到達するまでに順序が逆転する可能性がある。そのため、送信元および宛先が同一であるフレームは常に同じ物理リンクを経由するような制御が必要となる。また、論理リンクの通信効率の低下を防止するため、特定の物理リンクにフレームが集中しないような制御も必要となる。
【０００４】
そこで、フレームに含まれるアドレスと物理リンクとの対応関係をテーブルとして保持し、アドレスに基づいて物理リンクの振り分けを行う通信装置がある。フレームに含まれるアドレスとは、フレームの送信元の端末装置（または送信元の端末装置が属する集合）や宛先の端末装置（または宛先の端末装置が属する集合）を特定するための情報である。例えば、送信元／宛先のＭＡＣアドレス、送信元／宛先のＩＰ（Internet Protocol）アドレス、ＶＬＡＮ（Virtual Local Area Network）タグ等である。アドレスと物理リンクを対応付ける方法としては、例えば、アドレスから計算したハッシュ値と物理リンクが接続された通信ポートのポート番号とを、１対１に対応付ける方法がある。このようなリンク集約機能を用いることで、フレームの到達順序が維持され、かつ、トラヒックが分散され、高品質な通信路を実現できる。
【特許文献１】特開２００４−３４９７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、論理リンクの運用中に、論理リンクを構成する物理リンクの数が変動する場合がある。例えば、一部の物理リンクが故障し予備の物理リンクもないため、残りの正常な物理リンクを用いて論理リンクの運用を継続する場合である。その際、従来の通信装置では、一時的に全てのフレームの転送を停止する必要があり、フレームが廃棄されるという問題があった。その理由は以下の通りである。
【０００６】
物理リンクが故障すると、フレームに含まれるアドレスと物理リンクとの対応関係を変更する必要がある。ここで、論理リンク内では、個々の物理リンクのトラヒック量ができる限り均等であることが望まれるため、故障した物理リンクに割り当てられていたアドレスの全てを他の１つの物理リンクに振り替えることは好ましくない。そこで、従来の通信装置では、物理リンク数が変動すると、アドレスと物理リンクとの対応関係を全て再計算していた。例えば、アドレスと物理リンクとの対応付けにハッシュ値を用いる方法の場合、物理リンク数が４から３に減少すると、ハッシュ関数で使用する除数を４から３に変更する。これにより、故障前まで０，１，２，３に均等に分散されていたハッシュ値が、０，１，２に均等に分散されるように変更される。
【０００７】
しかし、このような方法では、一部のアドレスは、正常に動作している物理リンクに割り当てられていたにも関わらず、割り当て先の物理リンクが変更されてしまう。例えば、除数が変更されることで、テーブルの更新前では物理リンク１（ハッシュ値が０）に割り当てられていたアドレスが、更新後は物理リンク２（ハッシュ値が１）に割り当てられてしまう場合がある。ここで、新しく割り当てられた物理リンクでの転送を即座に開始すると、テーブルの更新直前に出力したフレームと到達順序が逆転してしまう可能性がある。
【０００８】
従って、フレームの到達順序を維持するために、テーブルの更新直前に出力したフレームが物理リンクの接続先に到達したことを保証できるまで、全てのフレームの転送を停止する必要がある。上記の問題は、全てのアドレスと物理リンクとの対応関係を再計算していることに起因するものである。
【０００９】
本発明はこのような点に鑑みてなされたものであり、個々の物理リンクのトラヒック量が偏らないように配慮しつつ、物理リンク数が変動する際のフレームの廃棄を抑止できる通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、上記課題を解決するために、図１に示すような通信装置が提供される。本発明の実施の形態に係る通信装置１０は、複数の物理リンク５ａ，５ｂ，５ｃを集約して構成した論理リンク５を用いてフレームを転送するものである。通信装置１０は、テーブル記憶手段１２、設定制御手段１３およびスイッチ手段１４を有している。テーブル記憶手段１２は、フレームに含まれるアドレスと、フレームを出力する物理リンク５ａ，５ｂ，５ｃとの対応関係を示す分配テーブルを記憶する。設定制御手段１３は、物理リンク５ａの故障を検知すると、分配テーブルを操作して、故障した物理リンク５ａに割り当てられたアドレスの値域を複数に分割し、正常な物理リンク５ｂ，５ｃに分散させて振り替える。スイッチ手段１４は、フレームを受信すると、分配テーブルを参照し、受信したフレームに含まれるアドレスに基づいて、フレームを出力する正常な物理リンクを決定する。
【００１１】
このような通信装置１０によれば、設定制御手段１３により物理リンク５ａの故障が検知されると、分配テーブルが操作され、故障した物理リンク５ａに割り当てられたアドレスの値域が、正常な物理リンク５ｂ，５ｃに分散されて振り替えられる。そして、スイッチ手段１４により、分配テーブルに従って、受信されたフレームが出力される正常な物理リンクが決定される。
【００１２】
また、上記課題を解決するために、本発明の実施の形態に係る通信方法では、複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信方法において、設定制御手段が、前記物理リンクの故障を検知すると、前記フレームに含まれるアドレスと前記フレームを出力する前記物理リンクとの対応関係を示す分配テーブルを操作して、故障した前記物理リンクに割り当てられた前記アドレスの値域を複数に分割し、正常な前記物理リンクに分散させて振り替えるステップと、スイッチ手段が、前記フレームを受信すると、前記分配テーブルを参照し、受信した前記フレームに含まれる前記アドレスに基づいて、前記フレームを出力する正常な前記物理リンクを決定するステップと、を有することを特徴とする通信方法が提供される。
【００１３】
このような通信方法によれば、物理リンクの故障が検知されると、分配テーブルが操作され、故障した物理リンクに割り当てられたアドレスの値域が、正常な物理リンクに分散されて振り替えられる。そして、分配テーブルに従って、受信されたフレームが出力される正常な物理リンクが決定される。
【発明の効果】
【００１４】
本発明によれば、論理リンクを構成する物理リンクの一部が故障したことを検知すると、故障した物理リンクに割り当てられたアドレスの値域を複数に分割し、残りの正常な物理リンクに分散させて振り替えることとした。これにより、故障した物理リンクに割り当てられていたアドレスのみが他の物理リンクに振り替えられ、正常な物理リンクに割り当てられていたアドレスは割り当て先が変更されず、フレームの転送をそのまま継続できる。従って、フレームの到達順序を維持するために必要であった一時的なフレームの破棄を抑止でき、より高品質で安定した通信路を実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示したように、本実施の形態に係る通信装置１０は、複数の物理リンク５ａ，５ｂ，５ｃを集約して構成した論理リンク５を用いてフレームを転送するものである。
【００１６】
通信装置１０は、通信ポート１１ａ，１１ｂ，１１ｃ，１１ｄ、テーブル記憶手段１２、設定制御手段１３およびスイッチ手段１４を有している。通信ポート１１ａは、物理リンク４によって通信装置２と接続されている。通信ポート１１ｂ，１１ｃ，１１ｄは、それぞれ物理リンク５ａ，５ｂ，５ｃによって通信装置３と接続されている。すなわち、通信装置１０と通信装置３との間は、３つの物理リンク５ａ，５ｂ，５ｃで接続されている。ここで、物理リンク５ａ，５ｂ，５ｃは、リンク集約され、１つの論理リンク５を形成している。
【００１７】
テーブル記憶手段１２は、分配テーブルを記憶している。分配テーブルは、通信装置２から受信するフレームを、３つの物理リンク５ａ，５ｂ，５ｃへ分配する分配方法を規定したものである。分配テーブルは、フレームに含まれるアドレスと、フレームを出力する物理リンク５ａ，５ｂ，５ｃとの対応関係を規定する。
【００１８】
設定制御手段１３は、通信ポート１１ｂ，１１ｃ，１１ｄの通信状況を監視し、故障の有無を判断する。ここで、設定制御手段１３は、物理リンク５ａの故障を検知すると、テーブル記憶手段１２に記憶された分配テーブルを操作して、フレームに含まれるアドレスと物理リンク５ａ，５ｂ，５ｃとの対応関係を変更する。具体的には、故障した物理リンク５ａに割り当てられたアドレスの値域を複数に分割し、正常な物理リンク５ｂ，５ｃに分散させて振り替える。
【００１９】
例えば、物理リンク５ａ（識別番号がＰ１）にアドレス０と３、物理リンク５ｂ（識別番号がＰ２）にアドレス１と４、物理リンク５ｃ（識別番号がＰ３）にアドレス２と５が割り当てられているとする。ここで、物理リンク５ａが故障すると、設定制御手段１３は、故障した物理リンク５ａに割り当てられていたアドレス０と３を、正常な物理リンク５ｂ，５ｃに分散させて振り替える。例えば、アドレス０を物理リンク５ｂに、アドレス３を物理リンク５ｃに振り替える。
【００２０】
スイッチ手段１４は、通信装置２からフレームを受信すると、受信したフレームに含まれるアドレスの情報を抽出する。そして、スイッチ手段１４は、分配テーブルを参照し、フレームを出力する正常な物理リンクを１つ決定する。例えば、アドレスが０である場合、物理リンク５ｂを出力先と決定する。
【００２１】
このような通信装置１０によれば、テーブル記憶手段１２により、フレームに含まれるアドレスと、フレームを出力する物理リンク５ａ，５ｂ，５ｃとの対応関係を示す分配テーブルが記憶される。設定制御手段１３により、物理リンク５ａの故障が検知されると、分配テーブルが操作され、故障した物理リンク５ａに割り当てられたアドレスの値域が、正常な物理リンク５ｂ，５ｃに分散されて振り替えられる。そして、スイッチ手段１４により、分配テーブルに従って、受信されたフレームが出力される正常な物理リンクが決定される。
【００２２】
これにより、故障した物理リンク５ａに割り当てられていたアドレスのみが他の物理リンク５ｂ，５ｃに振り替えられ、正常な物理リンク５ｂ，５ｃに割り当てられていたアドレスは割り当て先が変更されず、フレームの転送をそのまま継続できる。例えば、図１に示した例では、物理リンク５ａに割り当てられていたアドレス０，３の出力先が振り替えられ、物理リンク５ｂ，５ｃに割り当てられていたアドレス１，２，４，５の出力先は変更されない。
【００２３】
このため、更新後の分配テーブルを用いて即座に転送を再開しても、フレームの到達順序が逆転することはない。従って、従来必要であった一時的なフレームの破棄を抑止でき、より高品質で安定した通信路を実現できる。
【００２４】
ここで、アドレスと物理リンク５ａ，５ｂ，５ｃとを対応付ける具体的な方法として、例えば、物理リンク５ａ，５ｂ，５ｃとアドレスから計算されるハッシュ値とを、１対多の関係に対応付けておく方法がある。ハッシュ値は、論理リンク５を構成する物理リンク５ａ，５ｂ，５ｃの数より取り得る値が多いハッシュ関数を用いて、アドレスから計算する。
【００２５】
このような方法によれば、アドレスから対応する物理リンクを特定する処理を単純化できる。また、アドレスの値域を分割し他の物理リンクへ振り替える処理も容易になる。
また、アドレスと物理リンク５ａ，５ｂ，５ｃとを対応付ける他の具体的な方法として、例えば、物理リンク５ａ，５ｂ，５ｃとアドレスから計算される第１のハッシュ値とを１対１の関係に対応付けておくと共に、正常な物理リンクとアドレスから計算される第２のハッシュ値とを対応付けておく方法がある。スイッチ手段１４は、まず第１のハッシュ値を計算して初期状態における割り当て先の物理リンクを特定し、特定した物理リンクが故障している場合には、次に第２のハッシュ値を計算して振り替え先の物理リンクを特定する。
【００２６】
このような方法によれば、分配テーブルを記憶する記憶領域を小さくすることができる。また、正常な物理リンクに、より均等にトラヒック量を分散させることができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２７】
［第１の実施の形態］
図２は、フレーム転送システムの全体構成を示す図である。本実施の形態のフレーム転送システムは、端末装置間でデータの送受信を行えるように、複数のレイヤ２スイッチがデータリンク層のフレームを中継するものである。
【００２８】
図２に示すフレーム転送システムは、スイッチ１００，２１，２２，２３，２４と端末装置３１，３２，３３，３４，３５，３６，４０とで構成される。スイッチ１００，２１，２２，２３，２４は、レイヤ２スイッチである。端末装置３１，３２，３３，３４，３５，３６は、ユーザが使用する端末装置である。端末装置４０は、スイッチ１００の管理者が使用する端末装置である。
【００２９】
スイッチ１００は、スイッチ２１，２２と接続されている。スイッチ２２は、スイッチ２３，２４と接続されている。端末装置３１，３２は、スイッチ２１と接続されている。端末装置３３，３４は、スイッチ２３と接続されている。端末装置３５，３６は、スイッチ２４と接続されている。端末装置４０は、スイッチ１００と接続されている。２つのスイッチ間またはスイッチと端末装置の間は、１つ以上の物理リンク（ネットワークケーブル）で接続されている。
【００３０】
スイッチ１００，２１，２２，２３，２４は、フレームに含まれるアドレスに従って、送信元の端末装置から宛先の端末装置まで、フレームを中継する。例えば、端末装置３１が端末装置３３へフレームを送信する場合、スイッチ２１、スイッチ１００、スイッチ２２、スイッチ２３の順にフレームが中継される。
【００３１】
図３は、スイッチ間の物理リンクの構成を示す図である。図３に示した物理リンクの構成は、スイッチ１００とスイッチ２１，２２との間の構成である。スイッチ１００は、１６個の通信ポートＰ１〜Ｐ１６を有している。スイッチ２１は、４個の通信ポートＰ１〜Ｐ４を有している。スイッチ２２は、６個の通信ポートＰ１〜Ｐ６を有している。
【００３２】
スイッチ２１とスイッチ１００とは、１つの物理リンクで接続されている。具体的には、スイッチ２１の通信ポートＰ１とスイッチ１００の通信ポートＰ１とが物理リンクで接続されている。そのため、スイッチ２１からスイッチ１００へ転送されるフレームは、スイッチ２１の通信ポートＰ１とスイッチ１００の通信ポートＰ１とを経由する。
【００３３】
スイッチ２２とスイッチ１００とは、４つの物理リンクで接続されている。具体的には、スイッチ２２の通信ポートＰ１とスイッチ１００の通信ポートＰ１３、スイッチ２２の通信ポートＰ２とスイッチ１００の通信ポートＰ１４、スイッチ２２の通信ポートＰ３とスイッチ１００の通信ポートＰ１５、スイッチ２２の通信ポートＰ４とスイッチ１００の通信ポートＰ１６が、それぞれ物理リンクで接続されている。
【００３４】
ここで、スイッチ２２とスイッチ１００との間の４つの物理リンクは、リンク集約されて１つの論理リンクを構成している。以下、本明細書では、リンク集約されて構成された論理リンクをトランクと呼ぶ。すなわち、スイッチ２２とスイッチ１００との間の４つの物理リンクによって、トランク５０が構成されている。
【００３５】
図４は、スイッチの機能を示すブロック図である。図４に示すブロック図は、スイッチ１００の内部構成を示したものであるが、スイッチ２１，２２，２３，２４も同様の構成で実現できる。スイッチ１００は、バス１１０、通信ポート群１２０、設定制御部１３０、テーブル記憶メモリ１４０、入力監視部１５０、スイッチ部１６０、出力キュー部１７０、マーカー処理部１８０、マーカー挿入部１８５およびポート監視部１９０を有している。
【００３６】
バス１１０には、設定制御部１３０、テーブル記憶メモリ１４０、マーカー処理部１８０およびマーカー挿入部１８５が接続されている。通信ポート群１２０は、１６個の通信ポートＰ１〜Ｐ１６で構成される。それぞれの通信ポートには、１つの物理リンクを接続できる。
【００３７】
設定制御部１３０は、スイッチ１００全体を制御している。設定制御部１３０は、ＣＰＵ（Central Processing Unit）１３１、メモリ１３２および通信インタフェース１３３を有している。ＣＰＵ１３１は、プログラムによる処理を実行する。メモリ１３２は、ＣＰＵ１３１に実行させるプログラムとプログラムが使用するデータとを保持する。通信インタフェース１３３は、管理者が使用する端末装置４０から送信されるコマンドを受信し、ＣＰＵ１３１に通知する。また、コマンドに対する実行結果を端末装置４０に応答する。
【００３８】
テーブル記憶メモリ１４０は、複数のテーブルを記憶している。テーブル記憶メモリ１４０に記憶されるテーブルには、トランク構成を管理するテーブルや、トランク内でのフレームの分配方法を示すテーブルが含まれる。
【００３９】
入力監視部１５０は、通信ポート群１２０を監視してフレームを取得する。なお、入力監視部１５０は、複数の通信ポートに同時にフレームが到来した場合に備えて、フレームを一時的に保持するバッファを内部に有している。
【００４０】
そして、入力監視部１５０は、取得したフレームが通常のフレームである場合、それをスイッチ部１６０に送る。一方、取得したフレームがマーカーリクエストまたはマーカーレスポンスである場合、それをマーカー処理部１８０へ送る。ここで、マーカーリクエストとは、一連のフレームの列における区切りを示す特別なフレームである。マーカーレスポンスとは、マーカーリクエストを受信した通信装置が、マーカーリクエストの送信元に返信する特別なフレームである。
【００４１】
スイッチ部１６０は、学習テーブル１６１を有している。学習テーブル１６１は、過去に受信したフレームの送信元アドレスと、そのフレームが到来した通信ポートまたはトランクの識別情報とを対応付けて記憶している。学習テーブル１６１は、スイッチ部１６０によって随時更新される。
【００４２】
そして、スイッチ部１６０は、入力監視部１５０からフレームを受け取ると、学習テーブル１６１を参照して、そのフレームの転送先を決定する。ここで、決定した転送先がトランクである場合、スイッチ部１６０は、テーブル記憶メモリ１４０に記憶されたテーブルを参照して、転送に使用する具体的な通信ポートを決定する。その後、スイッチ部１６０は、フレームを出力キュー部１７０に送る。
【００４３】
出力キュー部１７０は、通信ポートと１対１に対応するＦＩＦＯ（First In First Out）キューを有している。すなわち、通信ポートＰ１〜Ｐ１６にそれぞれ対応する１６個のＦＩＦＯキューを有している。出力キュー部１７０は、スイッチ部１６０、マーカー処理部１８０およびマーカー挿入部１８５から受け取ったフレームを、出力先の通信ポートに対応するＦＩＦＯキューに格納する。また、出力キュー部１７０は、通信ポート群１２０を監視し、適切なタイミングでＦＩＦＯキューに格納されたフレームを順次読み出して、通信ポートに送出する。
【００４４】
マーカー処理部１８０は、入力監視部１５０から受け取ったマーカーリクエストに対するマーカーレスポンスを、出力キュー部１７０に送る。マーカー挿入部１８５は、設定制御部１３０からの指示に応じて、マーカーリクエストを出力キュー部１７０に送る。
【００４５】
ポート監視部１９０は、通信ポート群１２０を監視する。そして、ポート監視部１９０は、通信ポートに接続された物理リンクの故障や復旧を検出すると、設定制御部１３０にその旨を通知する。
【００４６】
図５は、フレームのデータ構造例を示す図である。図５に示すフレームが、通信ポートＰ１〜Ｐ１６を介して、スイッチ２１，２２等との間で送受信される。フレームは、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、ＶＬＡＮタグ、ペイロードおよびＦＣＳ（Frame Check Sequence）で構成される。
【００４７】
宛先ＭＡＣアドレスは、送信先の端末装置が有する通信インタフェースを一意に識別するアドレスである。送信元ＭＡＣアドレスは、送信元の端末装置が有する通信インタフェースを一意に識別するアドレスである。ＶＬＡＮタグは、１つのネットワークを複数の論理的なネットワークに分割して運用する場合に、個々の論理的なネットワークに割り当てられる一意な値である。ペイロードは、送受信するデータ本体であり、例えば、ＩＰパケットを所定のデータ長に分割したものである。ＦＣＳは、受信したフレームの誤りを検出するために用いられる値である。
【００４８】
なお、フレームのデータ構造は、ネットワークの運用形態等に応じて、種々の変形例が考えられる。例えば、ＶＬＡＮタグが省略される場合がある。また、図５に示したもの以外のヘッダ情報が付加される場合もある。
【００４９】
図６は、トランク番号テーブルのデータ構造例を示す図である。図６に示すトランク番号テーブル１４１は、テーブル記憶メモリ１４０に格納されている。トランク番号テーブル１４１は、通信ポートとトランクとの対応関係を示すテーブルである。トランク番号テーブル１４１には、ポート番号を示すフィールド１４１ａおよびトンランク番号を示すフィールド１４１ｂが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００５０】
フィールド１４１ａには、通信ポートを一意に識別するポート番号が設定される。具体的には、Ｐ１〜Ｐ１６のいずれかの値が設定される。フィールド１４１ｂには、フィールド１４１ａで示される通信ポートに接続されている物理リンクが、トランクを構成しているか否かを示す情報が設定される。具体的には、トランクを構成している場合には、トランクを一意に識別するトランク番号が設定される。トランクを構成していない場合には、０が設定される。
【００５１】
図６に示した例は、通信ポートＰ１〜Ｐ１２がトランクに属してなく、通信ポートＰ１３〜Ｐ１６の４つがトランク５０に属していることを示している。トランク番号テーブル１４１に格納される情報は、管理者の操作入力に応答して、設定制御部１３０によって予め登録される。
【００５２】
図７は、学習テーブルのデータ構造例を示す図である。学習テーブル１６１には、ＭＡＣアドレスを示すフィールド１６１ａ、トランクフラグを示すフィールド１６１ｂ、および、ポート番号またはトランク番号を示すフィールド１６１ｃが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００５３】
フィールド１６１ａには、フレームのＭＡＣアドレスが設定される。フィールド１６１ｂには、フィールド１６１ａに設定されたＭＡＣアドレスが送信元ＭＡＣアドレスであるフレームが到来した通信ポートが、トランクに属するか否かを示すフラグが設定される。具体的には、トランクに属さない場合には０、トランクに属する場合には１が設定される。
【００５４】
フィールド１６１ｃには、フィールド１６１ａに設定されたＭＡＣアドレスが送信元ＭＡＣアドレスであるフレームが到来した通信ポートのポート番号またはトランク番号が設定される。具体的には、フィールド１６１ｂに０が設定されている場合にはポート番号、フィールド１６１ｂに１が設定されている場合にはトランク番号が設定される。
【００５５】
学習テーブル１６１に登録される情報は、スイッチ部１６０によって随時更新される。ここで、受け取ったフレームの送信元ＭＡＣアドレスに対応する行が学習テーブル１６１に既に存在する場合、スイッチ部１６０は、フィールド１６１ｂ，１６１ｃの値を上書きする。例えば、送信元ＭＡＣアドレスがＸＸ−ＸＸ−ＸＸ−ＸＸ−００−０１のフレームが到来する通信ポートが、Ｐ１からＰ２に変わると、対応する行のフィールド１６１ｃの値をＰ１からＰ２に更新する。
【００５６】
図８は、トランク構成制御テーブルのデータ構造例を示す図である。テーブル記憶メモリ１４０には、トランク毎にトランク構成制御テーブル１４２が格納されている。トランク構成制御テーブル１４２には、ポート番号を示すフィールド１４２ａ、異常フラグを示すフィールド１４２ｂおよびポインタを示すフィールド１４２ｃが設けられている。フィールド１４２ａ，１４２ｂは、横方向に並べられた情報同士が互いに関連付けられている。
【００５７】
フィールド１４２ａには、トランクに属する通信ポートのポートと番号が設定される。フィールド１４２ｂには、フィールド１４２ａで示される通信ポートの状態を示す値が設定される。具体的には、通信ポートに接続された物理リンクが正常である場合には０、故障している場合には１が設定される。
【００５８】
フィールド１４２ｃには、フィールド１４２ａに設定されたポート番号のいずれか１つを指し示すポインタが設定される。フィールド１４２ｃのポインタは、後述のポート分配テーブルを作成および更新する際に使用される。フィールド１４２ｃのポインタの使用方法については後で説明する。
【００５９】
図８に示した例は、４つの通信ポートＰ１３〜Ｐ１６がトランク５０に属しており、いずれの通信ポートの状態も正常であることを示している。フィールド１４２ａに設定される値は、管理者の操作入力に応答して、設定制御部１３０によって予め登録される。また、フィールド１４２ｂ，１４２ｃに設定される値は、設定制御部１３０によって適宜更新される。
【００６０】
図９は、第１の実施の形態のポート分配テーブルのデータ構造例を示す図である。テーブル記憶メモリ１４０には、トランク毎にポート分配テーブル１４３が格納されている。ポート分配テーブル１４３は、ＭＡＣアドレスとフレームを出力する通信ポートとの対応関係を規定したテーブルである。
【００６１】
ポート分配テーブル１４３には、ハッシュ値を示すフィールド１４３ａ、通常ポートを示すフィールド１４３ｂ、状態フラグを示すフィールド１４３ｃ、代替ポートを示すフィールド１４３ｄおよび準備フラグを示すフィールド１４３ｅが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００６２】
フィールド１４３ａには、フレームのＭＡＣアドレスから計算されるハッシュ値が設定される。ハッシュ値は、トランクに属する通信ポートの数よりも多い個数だけ用意しておく。例えば、通信ポート数の２倍のハッシュ値（通信ポート数をＮとすると、０から２×Ｎ−１までの整数値）を用意しておく。
【００６３】
フィールド１４３ｂには、通信ポートのポート番号が設定される。すなわち、フィールド１４３ａに設定されたハッシュ値が導出されるフレームに対する出力先が設定される。フィールド１４３ｂに設定されるポート番号は、特定の通信ポートに偏ることなく分散されて設定される。
【００６４】
フィールド１４３ｃには、フィールド１４３ｂで示される通信ポートの状態を示す値が設定される。具体的には、通信ポートに接続された物理リンクが正常な場合には０、故障している場合には１が設定される。フィールド１４３ｄには、通信ポートが正常な場合には０、異常の場合には代替の通信ポートのポート番号が設定される。
【００６５】
フィールド１４３ｅには、故障していた物理リンクが復旧した場合に、復旧した物理リンクの使用を再開するまでの準備期間を示すフラグが設定される。具体的には、準備期間でない場合には０、準備期間の場合には１が設定される。フィールド１４３ｅの値が１である間は、フィールド１４３ａに設定されたハッシュ値が導出されるフレームは転送されず、破棄されることになる。
【００６６】
図９に示した例は、０〜７の８個のハッシュ値が用意され、ハッシュ値に対して４個の通信ポートがそれぞれ２回ずつ対応付けられていることを示している。フィールド１４３ａ，１４３ｂに設定される値は、管理者の操作入力に応答して、設定制御部１３０によって予め登録される。また、フィールド１４３ｃ，１４３ｄ，１４３ｅに設定される値は、設定制御部１３０によって適宜更新される。
【００６７】
なお、フィールド１４３ｂにポート番号を設定する際には、図８に示したトランク構成制御テーブル１４２が参照される。ここで、フィールド１４２ｃに設定されるポインタは、最後に選択したポート番号の次のポート番号（テーブルの最後に到達した場合は先頭のポート番号）を指し示している。図８に示した例では、ポート分配テーブル１４３を作成したとき、ポート番号Ｐ１６が最後に選択されたため、その次のポート番号Ｐ１３がフィールド１４２ｃのポインタによって指し示されている。
【００６８】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。以下、（１）トランク５０を構成する全ての物理リンクが正常な場合のフレーム転送処理、（２）トランク５０内の１つの物理リンクが故障した場合のフレームの分配方法の変更、（３）分配方法が変更された後のフレームの転送処理、（４）故障した物理リンクが復旧した場合の分配方法の再変更、の順に説明する。
【００６９】
図１０は、フレーム転送処理の流れを示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］入力監視部１５０は、通信ポート群１２０のいずれかの通信ポートからフレームを取得すると、取得したフレームの形式に誤りがないか判断する。形式に誤りがない場合には、処理がステップＳ１２へ進められる。形式に誤りがある場合には、入力監視部１５０によってフレームが破棄され、フレーム転送処理が終了する。
【００７０】
［ステップＳ１２］入力監視部１５０は、取得したフレームが通常のフレームか否か判断する。通常のフレームの場合、処理がステップＳ１３へ進められる。通所のフレームでない場合、すなわち、マーカーリクエストまたはマーカーレスポンスの場合、処理がステップＳ１５へ進められる。なお、通常のフレームか否かは、フレームの宛先ＭＡＣアドレスに基づいて判断することができる。宛先ＭＡＣアドレスが０１−８０−Ｃ２−００−００−０２のフレームは、マーカーリクエストまたはマーカーレスポンスである。
【００７１】
［ステップＳ１３］入力監視部１５０は、テーブル記憶メモリ１４０に格納されたトランク番号テーブル１４１を検索し、フレームが到来した通信ポートがトランクに属するか調べる。そして、入力監視部１５０は、フレームとフレームが到来した通信ポートのポート番号またはトランク番号とを、スイッチ部１６０へ通知する。スイッチ部１６０は、受け取ったフレームの送信元ＭＡＣアドレスと、ポート番号またはトランク番号とを用いて、学習テーブル１６１を更新する。
【００７２】
［ステップＳ１４］スイッチ部１６０は、学習テーブル１６１を検索し、受け取ったフレームの宛先ＭＡＣアドレスに対応するポート番号またはトランク番号を特定する。
［ステップＳ１５］入力監視部１５０は、フレームとフレームが到来した通信ポートのポート番号とをマーカー処理部１８０へ通知する。マーカー処理部１８０は、受け取ったフレームがマーカーリクエストか否か判断する。マーカーリクエストの場合には、処理がステップＳ１６へ進められる。マーカーリクエストでない場合、すなわち、マーカーレスポンスの場合には、処理がステップＳ１７へ進められる。なお、マーカーリクエストか否かは、ペイロードの中のＴＬＶ＿ｔｙｐｅフィールドに基づいて判断することができる。ＴＬＶ＿ｔｙｐｅフィールドの値が０１の場合はマーカーリクエスト、０２の場合はマーカーレスポンスである。
【００７３】
［ステップＳ１６］マーカー処理部１８０は、マーカーレスポンスを作成し、ステップＳ１５で入力監視部から通知されたポート番号を指定して、出力キュー部１７０へ送る。出力キュー部１７０は、指定されたポート番号に対応するＦＩＦＯキューに、受け取ったマーカーレスポンスを格納する。そして、処理がステップＳ２２へ進められる。
【００７４】
［ステップＳ１７］マーカー処理部１８０は、ステップＳ１５で入力監視部から通知されたポート番号を設定制御部１３０へ通知する。そして、フレーム転送処理が終了する。
［ステップＳ１８］スイッチ部１６０は、学習テーブル１６１のトランクフラグを参照して、受け取ったフレームの宛先ＭＡＣアドレスに対応する出力先がトランクに属するか否か判断する。トランクに属する場合には、処理がステップＳ１９へ進められる。トランクに属さない場合には、処理がステップＳ２１へ進められる。
【００７５】
［ステップＳ１９］スイッチ部１６０は、ハッシュ値を導出するための被除数を計算する。具体的には、フレームの宛先ＭＡＣアドレスと送信先ＭＡＣアドレスとの排他的論理和を計算する。
【００７６】
［ステップＳ２０］スイッチ部１６０は、ステップＳ１４で特定したトランク番号に対応するポート分配テーブル１４３を参照して、ステップＳ１９で計算した被除数からハッシュ値を計算する。具体的には、被除数をポート分配テーブル１４３で用意したハッシュ値の個数で割った余りをハッシュ値とする。そして、スイッチ部１６０は、ポート分配テーブル１４３を検索し、計算したハッシュ値と対応付けられたポート番号を特定する。なお、ここでは全ての物理リンクが正常に動作していると仮定する。故障した物理リンクがある場合については、後で詳細に説明する。
【００７７】
［ステップＳ２１］スイッチ部１６０は、ステップＳ１４またはステップＳ２０で特定したポート番号を指定して、入力監視部１５０から受け取ったフレームを出力キュー部１７０へ送る。出力キュー部１７０は、指定されたポート番号に対応するＦＩＦＯキューに、受け取ったフレームを格納する。
【００７８】
［ステップＳ２２］出力キュー部１７０は、通信ポートに接続された物理リンクの帯域に応じて、ＦＩＦＯキューに格納されているフレームを順次取り出し、通信ポートから送信する。
【００７９】
このようにして、入力監視部１５０は、通信ポート群１２０からフレームを取得し、フレームの種類に応じて、取得したフレームをスイッチ部１６０またはマーカー処理部１８０に送る。スイッチ部１６０は、学習テーブル１６１を検索して、出力先の通信ポートまたはトランクを特定する。転送先がトランクに設定されている場合は、ＭＡＣアドレスを用いてポート分配テーブル１４３を検索し、トランク内の通信ポートを１つ特定する。
【００８０】
マーカー処理部１８０は、マーカーリクエストを受信した場合には、マーカーレスポンスを作成する。マーカーレスポンスを受信した場合には、その旨を設定制御部１３０に通知する。出力キュー部１７０は、スイッチ部１６０およびマーカー処理部１８０から送られたフレームをＦＩＦＯキューに格納し、適切なタイミングで通信ポートから出力する。
【００８１】
次に、トランク５０内の１つの物理リンクが故障した場合のフレームの分配方法の変更について説明する。
図１１は、第１の実施の形態の故障時ポート分配処理の流れを示すフローチャートである。 以下、図１１に示す処理をステップ番号に沿って説明する。
【００８２】
［ステップＳ３１］ポート監視部１９０は、通信ポートの状態を継続的に監視し、異常の通信ポートがあるか否か判断する。異常の通信ポートがある場合には、処理がステップＳ３２へ進められる。異常の通信ポートがない場合には、ポート監視部１９０によって、ステップＳ３１の処理が繰り返される。
【００８３】
［ステップＳ３２］ポート監視部１９０は、ステップＳ３１で異常を検出した通信ポートのポート番号を、設定制御部１３０へ通知する。
［ステップＳ３３］設定制御部１３０は、テーブル記憶メモリ１４０に格納されたトランク番号テーブル１４１を検索し、ポート監視部１９０から通知されたポート番号の通信ポートがトランクに属するか否か判断する。トランクに属する場合には、処理がステップＳ３４へ進められる。トランクに属さない場合には、故障時分配処理が終了する。
【００８４】
［ステップＳ３４］設定制御部１３０は、トランク番号テーブル１４１からトランク番号を特定し、特定したトランク番号に対応するトランク構成制御テーブル１４２を選択する。そして、設定制御部１３０は、選択したトランク構成制御テーブル１４２内の、通知を受けたポート番号に対応する異常フラグを１に変更する。
【００８５】
［ステップＳ３５］設定制御部１３０は、ステップＳ３４で特定したトランク番号に対応するポート分配テーブル１４３を選択する。そして、設定制御部１３０は、選択したポート分配テーブル１４３の通常ポート（フィールド１４３ｂ）および代替ポート（フィールド１４３ｄ）に設定された値の中から、ポート番号を示す値（０以外の値）を１つ選択する。
【００８６】
［ステップＳ３６］設定制御部１３０は、ステップＳ３５で選択したポート番号が、通知を受けたポート番号と同一か否か判断する。同一である場合には、処理がステップＳ３７へ進められる。同一でない場合には、処理がステップＳ３８へ進められる。
【００８７】
［ステップＳ３７］設定制御部１３０は、ステップＳ３４で選択したトランク構成制御テーブル１４２のフィールド１４２ｃのポインタが指し示すポート番号を参照し、異常フラグが０のポート番号が見つかるまで、順次ポインタが指し示す先を移動させる。異常フラグが０であるポート番号が見つかると、そのポート番号を取得すると共に、ポインタが指し示す先を１つ移動させておく。そして、設定制御部１３０は、ステップＳ３５で選択したポート番号が通常ポートの場合には、状態フラグを１にすると共に、取得したポート番号を代替ポートに設定する。ステップＳ３５で選択したポート番号が代替ポートの場合には、取得したポート番号に置換する。
【００８８】
［ステップＳ３８］設定制御部１３０は、ステップＳ３５でポート番号を示す全ての値を選択したか否か判断する。全て選択した場合には、処理が終了する。未選択の値がある場合には、処理がステップＳ３５へ進められる。
【００８９】
このようにして、ポート監視部１９０は、通信ポートの異常を検出すると、検出した通信ポートのポート番号を設定制御部１３０に通知する。設定制御部１３０は、ポート分配テーブル１４３を操作して、検出された通信ポートに対応付けられているハッシュ値に対し、代替ポートを設定する。
【００９０】
以下、通信ポートＰ１３に接続された物理リンクが故障した場合のテーブルの更新例を説明する。
図１２は、トランク構成制御テーブルの更新例を示す図である。図１２に示したトランク構成制御テーブル１４２は、上記のステップＳ３４の処理によって、図８に示したテーブルが更新された後の状態のテーブルである。図１２に示した通り、ポート番号Ｐ１３に対応する異常フラグが１に変更されている。
【００９１】
図１３は、第１の実施の形態のポート分配テーブルの第１の更新例を示す図である。図１３に示したポート分配テーブル１４３は、上記のステップＳ３７の１回目の処理によって、図９に示したテーブルが更新された後の状態のテーブルである。図１３に示した通り、ハッシュ値０に対応する状態フラグが１に設定され、代替ポートとしてポート番号Ｐ１４が設定されている。このとき、トランク構成制御テーブル１４２のポインタは、ポート番号Ｐ１５に移動している。
【００９２】
図１４は、第１の実施の形態のポート分配テーブルの第２の更新例を示す図である。図１４に示したポート分配テーブル１４３は、上記のステップＳ３７の２回目の処理によって、図１３に示したテーブルが更に更新された後の状態のテーブルである。図１４に示した通り、ハッシュ値４に対応する状態フラグが１に設定され、代替ポートとしてポート番号Ｐ１５が設定されている。このとき、トランク構成制御テーブル１４２のポインタは、ポート番号Ｐ１６に移動している。
【００９３】
次に、分配方法が変更された後のフレームの転送処理について説明する。トランク内に故障した物理リンクがある場合のフレーム転送処理の流れは、図１０に示した処理の流れと原則として同じである。ただし、ステップＳ２０で出力先の通信ポートを決定する際に、代替ポートへの振り替えを考慮する必要がある。
【００９４】
図１５は、第１の実施の形態の転送ポート決定処理の流れを示すフローチャートである。図１５に示すフローチャートは、図１０のステップＳ２０の処理を詳細に記述したものである。以下、図１５に示す処理をステップ番号に沿って説明する。
【００９５】
［ステップＳ２０１］スイッチ部１６０は、取得したフレームに対応するハッシュ値を計算する。具体的には、フレームの宛先ＭＡＣアドレスと送信元ＭＡＣアドレスの排他的論理和を被除数とし、ポート分配テーブル１４３で用意したハッシュ値の個数を除数として、剰余を計算する。
【００９６】
［ステップＳ２０２］スイッチ部１６０は、ポート分配テーブル１４３を検索し、ステップＳ２０１で計算したハッシュ値に対応する状態フラグが０であるか否か判断する。状態フラグが０の場合には、処理がステップＳ２０３へ進められる。状態フラグが１の場合には、処理がステップＳ２０４へ進められる。
【００９７】
［ステップＳ２０３］スイッチ部１６０は、通常ポートに設定されている通信ポートをフレームの出力先に決定する。
［ステップＳ２０４］スイッチ部１６０は、代替ポートに設定されている通信ポートをフレームの出力先に決定する。
【００９８】
このようにして、スイッチ部１６０は、正常な物理リンクに分配されていたフレームの出力先は変更せず、故障した物理リンクに分配されていたフレームの出力先のみを代替ポートへ振り替える。
【００９９】
次に、故障した物理リンクが復旧した場合の分配方法の再変更について説明する。
図１６は、第１の実施の形態の復旧時ポート分配処理の流れを示す第１のフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
【０１００】
［ステップＳ４１］ポート監視部１９０は、通信ポートの状態を継続的に監視し、復旧した物理リンクがあるか判断する。復旧した物理リンクがある場合には、処理がステップＳ４２へ進められる。復旧した物理リンクがない場合には、ポート監視部１９０によって、ステップＳ４１の処理が繰り返される。
【０１０１】
［ステップＳ４２］ポート監視部１９０は、復旧を検出した通信ポートのポート番号を、設定制御部１３０へ通知する。
［ステップＳ４３］設定制御部１３０は、テーブル記憶メモリ１４０に格納されたトランク番号テーブル１４１を検索し、ポート監視部１９０から通知されたポート番号の通信ポートがトランクに属するか否か判断する。トランクに属する場合には、処理がステップＳ４４へ進められる。トランクに属さない場合には、復旧時分配処理が終了する。
【０１０２】
［ステップＳ４４］設定制御部１３０は、ステップＳ４３で特定したトランクに対応するポート分配テーブル１４３から、ハッシュ値を１つ選択する。
［ステップＳ４５］設定制御部１３０は、ステップＳ４４で選択したハッシュ値に対応する通常ポートのポート番号が、検出されたポート番号と同一か否か判断する。同一である場合には、処理がステップＳ４６へ進められる。同一でない場合には、処理がステップＳ５１へ進められる。
【０１０３】
［ステップＳ４６］設定制御部１３０は、ステップＳ４４で選択したハッシュ値に対応する準備フラグを１に設定する。
［ステップＳ４７］設定制御部１３０は、ステップＳ４４で選択したハッシュ値に対応する代替ポートへマーカーリクエストを出力するように、マーカー挿入部１８５へ指示する。指示を受けたマーカー挿入部１８５は、マーカーリクエストを作成し、設定制御部１３０から指示されたポート番号を指定して出力キュー部１７０へ送る。
【０１０４】
［ステップＳ４８］設定制御部１３０は、ステップＳ４７で送信したマーカーリクエストに対するマーカーレスポンスを受信した旨の通知を、マーカー処理部１８０から受け取ったか否か判断する。通知を受け取った場合には、処理がステップＳ４９へ進められる。通知を受け取っていない場合には、通知を受け取るまでステップＳ４８の処理が繰り返される。
【０１０５】
［ステップＳ４９］設定制御部１３０は、ステップＳ４４で選択したハッシュ値に対応する代替ポートおよび状態フラグを０に戻す。
［ステップＳ５０］設定制御部１３０は、ステップＳ４４で選択したハッシュ値に対応する準備フラグを０に戻す。
【０１０６】
［ステップＳ５１］設定制御部１３０は、ステップＳ４４で全てのハッシュ値を選択したか否か判断する。全て選択した場合には、処理がステップＳ５２へ進められる。未選択のハッシュ値がある場合には、処理がステップＳ４４へ進められる。
【０１０７】
［ステップＳ５２］設定制御部１３０は、ステップＳ４３で特定したトランクに対応するトランク構成制御テーブル１４２内の、ステップＳ４２で通知されたポート番号に対応する異常フラグを０に戻す。
【０１０８】
このようにして、ポート監視部１９０は、物理リンクの復旧を検出すると、復旧した物理ポートが接続された通信ポートのポート番号を設定制御部１３０へ通知する。設定制御部１３０は、ポート分配テーブル１４３を操作して、通知された通信ポートに対する代替ポートの設定を解除する。ここで、代替ポートに対してマーカーリクエストを出力し、マーカーレスポンスを受信するまで準備フラグを１に設定するのは、代替ポートと復旧した通常ポートとの間でフレームの転送順序が逆転することを防止するためである。
【０１０９】
スイッチ部１６０は、計算したハッシュ値に対応する準備フラグが１の場合、代替ポートへのフレームの出力を停止し、受信したフレームを破棄する。具体的には、図１５に示したポート決定処理のステップＳ２０４で、準備フラグが１であるか否か判断し、準備フラグが１の場合にはフレームを破棄する。ただし、破棄されるフレームは、準備フラグが１に設定されたハッシュ値が導出されるフレームだけであり、トランク全体のフレームが破棄されるわけではない。
【０１１０】
上記の例では、フレームの転送順序の逆転を防止するため、マーカーリクエストとマーカーレスポンスとを用いたが、タイマーを用いるようにしてもよい。
図１７は、第１の実施の形態の復旧時ポート分配処理の流れを示す第２のフローチャートである。図１７に示したフローチャートは、図１６のステップＳ４７，Ｓ４８の処理を、以下のステップＳ４７ａ，Ｓ４８ａの処理に置き換えたものである。
【０１１１】
［ステップＳ４７ａ］設定制御部１３０は、タイマーを起動する。タイマーの時間は、出力キュー部１７０のＦＩＦＯキューに格納されたフレームが、通信ポートへ出力されるまでの最大遅延時間に基づいて予め設定されている。
【０１１２】
［ステップＳ４８ａ］設定制御部１３０は、ステップＳ４７ａで起動したタイマーが終了したか否か判断する。終了した場合には、処理がステップＳ４９へ進められる。終了していない場合には、タイマーが終了するまでステップＳ４８ａの処理が繰り返される。
【０１１３】
このようにタイマーを用いる方法によれば、接続先の通信装置がマーカーリクエストを処理できるように設計されていない場合でも、マーカーリクエストを用いた場合と同様の効果を得られる。
【０１１４】
このように、第１の実施の形態で述べた通信装置によれば、物理リンクの故障時に影響を受けるフレームは、故障した物理リンクに分配されていたフレームのみであり、他の物理リンクに分配されているフレームは影響を受けない。このため、物理リンクの故障時は、転送順序の逆転を防止するためにフレームを破棄する必要がない。また、２つ以上の物理リンクが故障した場合も、上記の処理を行うことで、残りの正常な物理リンクを利用してトランクの運用を継続することができる。
【０１１５】
また、故障した物理リンクの復旧時は、代替の物理リンクに分配されていたフレームのみを一時的に破棄すればよく、その他のフレームを破棄する必要はない。
また、１つの物理リンクに対して複数のハッシュ値を対応付けておくことで、故障した物理リンクに対して複数の代替の分配先を設定することができ、代替の分配先が特定の物理リンクに偏ることを防止できる。
【０１１６】
ここで、図１４に示したポート分配テーブル１４３の更新例では、通信ポートＰ１４，Ｐ１５，Ｐ１６の分配割合は、それぞれ３／８，３／８，２／８となる。すなわち、分配割合の差は最大で１／８である。上記の方法では、用意するハッシュ値の数を多くするほど、通信ポート間の分配割合の差を小さくすることができる。
【０１１７】
図１８は、第１の実施の形態のポート分配テーブルの他のデータ構造例を示す図である。図１８に示すポート分配テーブルは、図１４に示したポート分配テーブル１４３のハッシュ値の個数を１０個（ハッシュ値を０〜９）にした場合のテーブルである。図１８の例では、通信ポートＰ１４，Ｐ１５，Ｐ１６の分配割合は、それぞれ４／１０，３／１０，３／１０となる。すなわち、分配割合の差は最大で１／１０である。
【０１１８】
このように、用意するハッシュ値の数を調整し、柔軟に分配割合を設定することができる。また、用意するハッシュ値の数は、トランク毎に決めることができる。
［第２の実施の形態］
次に、本発明の第２の実施の形態を、図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第２の実施の形態は、第１の実施の形態における代替ポートの設定方法を、他の方法に置き換えたものである。
【０１１９】
第２の実施の形態のシステム構成は、図２，３に示した第１の実施の形態のものと同じである。第２の実施の形態のスイッチのブロック構成は、図４に示した第１の実施の形態のものと原則として同じである。ただし、第２の実施の形態では、設定制御部１３０、テーブル記憶メモリ１４０およびスイッチ部１６０が、以下に述べる機能を有する設定制御部１３０ａ、テーブル記憶メモリ１４０ａおよびスイッチ部１６０ａに置き換えられる。その他の構成要素の機能は、第１の実施の形態のものと同じである。
【０１２０】
テーブル記憶メモリ１４０ａは、第１の実施の形態と同様、図６に示したトランク番号テーブル１４１を記憶する。スイッチ部１６０ａは、第１の実施の形態と同様、図７に示した学習テーブル１６１を有する。一方、テーブル記憶メモリ１４０ａは、図８，９に示したトランク構成制御テーブル１４２およびポート分配テーブル１４３に代えて、以下に述べるポート分配テーブル１４４を記憶する。
【０１２１】
図１９は、第２の実施の形態のポート分配テーブルのデータ構造例を示す図である。テーブル記憶メモリ１４０ａには、トランク毎にポート分配テーブル１４４が格納されている。ポート分配テーブル１４４は、ＭＡＣアドレスとフレームを出力する通信ポートとの対応関係を規定したテーブルである。
【０１２２】
ポート分配テーブル１４４には、種別を示すフィールド１４４ａ、ハッシュ値を示すフィールド１４４ｂ、ポート番号を示すフィールド１４４ｃ、状態フラグを示すフィールド１４４ｄおよび準備フラグを示すフィールド１４４ｅが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【０１２３】
フィールド１４４ａには、“通常”および“代替”の値が設定される。これによって、ポート分配テーブル１４４が２つの領域に分割される。“通常”が設定された領域は、ハッシュ値と通常時の通信ポートとの対応関係を示す領域である。“代替”が設定された領域は、ハッシュ値と代替の通信ポートとの対応関係を示す領域である。
【０１２４】
フィールド１４４ｂには、フレームのＭＡＣアドレスから計算されるハッシュ値が設定される。“通常”および“代替”の領域毎に、トランクに属する通信ポートの数と同数のハッシュ値が設定される。すなわち、通信ポートとハッシュ値とが１対１に対応付けられる。フィールド１４４ｃには、通信ポートのポート番号が設定される。ただし、“代替”の領域には、初期値として０が設定される。
【０１２５】
フィールド１４４ｄには、フィールド１４４ｃで示される通信ポートの状態を示す値が設定される。具体的には、通信ポートに接続された物理リンクが正常な場合には０、故障している場合には１が設定される。フィールド１４４ｅには、故障していた物理リンクが復旧した場合に、復旧した物理リンクの使用を再開するまでの準備期間を示すフラグが設定される。具体的には、準備期間でない場合には０、準備期間の場合には１が設定される。フィールド１４４ｄ，１４４ｅは、“代替”の領域では値を設定しない。
【０１２６】
ポート分配テーブル１４４に格納される情報は、管理者の操作入力に応答して、設定制御部１３０ａによって予め登録される。また、フィールド１４４ｃの“代替”の領域と、フィールド１４４ｄ，１４４ｅとに設定される値は、設定制御部１３０ａによって適宜更新される。
【０１２７】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。トランク５０を構成する全ての物理リンクが正常な場合のフレーム転送処理の流れは、図１０に示した第１の実施の形態のものと同様である。以下、（１）トランク５０内の１つの物理リンクが故障した場合のフレームの分配方法の変更、（２）分配方法が変更された後のフレームの転送処理、（３）故障した物理リンクが復旧した場合の分配方法の再変更、の順に説明する。
【０１２８】
図２０は、第２の実施の形態の故障時ポート分配処理の流れを示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］ポート監視部１９０は、通信ポートの状態を継続的に監視し、異常の通信ポートがあるか否か判断する。異常の通信ポートがある場合には、処理がステップＳ６２へ進められる。異常の通信ポートがない場合には、ポート監視部１９０によって、ステップＳ６１の処理が繰り返される。
【０１２９】
［ステップＳ６２］ポート監視部１９０は、ステップＳ６１で異常を検出した通信ポートのポート番号を、設定制御部１３０ａへ通知する。
［ステップＳ６３］設定制御部１３０ａは、テーブル記憶メモリ１４０ａに格納されたトランク番号テーブル１４１を検索し、ポート監視部１９０から通知されたポート番号の通信ポートがトランクに属するか否か判断する。トランクに属する場合には、処理がステップＳ６４へ進められる。トランクに属さない場合には、故障時分配処理が終了する。
【０１３０】
［ステップＳ６４］設定制御部１３０ａは、トランク番号テーブル１４１からトランク番号を特定し、特定したトランク番号に対応するポート分配テーブル１４４を選択する。そして、設定制御部１３０ａは、正常な通信ポートを特定し、ポート分配テーブル１４４の“代替”の領域に、正常な通信ポートのポート番号を設定する。ポート番号は、ハッシュ値の小さい順に詰めて設定する。
【０１３１】
［ステップＳ６５］設定制御部１３０ａは、ステップＳ６２で通知されたポート番号に対応する状態フラグを１に設定する。
このようにして、ポート監視部１９０は、通信ポートの異常を検出すると、検出した通信ポートのポート番号を設定制御部１３０ａに通知する。設定制御部１３０ａは、ポート分配テーブル１４４を操作して、正常な残りの通信ポートとハッシュ値との対応付けを行う。
【０１３２】
図２１は、第２の実施の形態のポート分配テーブルの更新例を示す図である。図２１に示すポート分配テーブル１４４は、通信ポートＰ１３に接続された物理リンクが故障した場合に、設定制御部１３０ａによって更新された状態のテーブルである。図２１に示す通り、上記のステップＳ６４が実行されることで、正常な通信ポートＰ１４，Ｐ１５，Ｐ１６とハッシュ値との対応関係が“代替”の領域に設定される。そして、異常の通信ポートＰ１３に対応する状態フラグが１に設定される。
【０１３３】
次に、分配方法が変更された後のフレームの転送処理について説明する。トランク内に故障した物理リンクがある場合のフレーム転送処理の流れは、第１の実施の形態と同様、図１０に示した処理の流れと原則として同じである。ただし、ステップＳ２０で出力先の通信ポートを決定する際に、代替ポートへの振り替えを考慮する必要がある。
【０１３４】
図２２は、第２の実施の形態の転送ポート決定処理の流れを示すフローチャートである。図２２に示すフローチャートは、図１０のステップＳ２０の処理を詳細に記述したものである。以下、図２２に示す処理をステップ番号に沿って説明する。
【０１３５】
［ステップＳ２１１］スイッチ部１６０ａは、取得したフレームに対応するハッシュ値を計算する。具体的には、フレームの宛先ＭＡＣアドレスと送信元ＭＡＣアドレスの排他的論理和を被除数とし、ポート分配テーブル１４４の“通常”の領域に設定した通信ポート数を除数として、剰余を計算する。
【０１３６】
［ステップＳ２１２］スイッチ部１６０ａは、ポート分配テーブル１４４の“通常”の領域を検索し、ステップＳ２１１で計算したハッシュ値に対応する状態フラグが０であるか否か判断する。状態フラグが０の場合には、処理がステップＳ２１３へ進められる。状態フラグが１の場合には、処理がステップＳ２１４へ進められる。
【０１３７】
［ステップＳ２１３］スイッチ部１６０ａは、ステップＳ２１１で計算したハッシュ値に対応する通常の通信ポートをフレームの出力先に決定する。
［ステップＳ２１４］スイッチ部１６０ａは、ポート分配テーブル１４４の“代替”の領域に設定された通信ポート数を特定する。
【０１３８】
［ステップＳ２１５］スイッチ部１６０ａは、取得したフレームに対応するハッシュ値を再計算する。具体的には、フレームの宛先ＭＡＣアドレスと送信元ＭＡＣアドレスの排他的論理和を被除数とし、ステップＳ２１４で特定した通信ポート数を除数として、剰余を計算する。
【０１３９】
［ステップＳ２１６］スイッチ部１６０ａは、ステップＳ２１５で計算したハッシュ値に対応する代替の通信ポートをフレームの出力先に決定する。
このようにして、スイッチ部１６０ａは、正常な物理リンクに分配されていたフレームの出力先は変更せず、故障した物理リンクに分配されていたフレームの出力先のみを代替ポートへ振り替える。ここで、１回目のハッシュと２回目のハッシュとでは計算に用いる除数が異なるため、故障した物理リンクに分配されていたフレームが、複数の代替の物理リンクに分散されて分配される。
【０１４０】
次に、故障した物理リンクが復旧した場合の分配方法の再変更について説明する。
図２３は、第２の実施の形態の復旧時ポート分配処理の流れを示す第１のフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
【０１４１】
［ステップＳ７１］ポート監視部１９０は、通信ポートの状態を継続的に監視し、復旧した物理リンクがあるか判断する。復旧した物理リンクがある場合には、処理がステップＳ７２へ進められる。復旧した物理リンクがない場合には、ポート監視部１９０によって、ステップＳ７１の処理が繰り返される。
【０１４２】
［ステップＳ７２］ポート監視部１９０は、復旧を検出した通信ポートのポート番号を、設定制御部１３０ａへ通知する。
［ステップＳ７３］設定制御部１３０ａは、テーブル記憶メモリ１４０ａに格納されたトランク番号テーブル１４１を検索し、ポート監視部１９０から通知されたポート番号の通信ポートがトランクに属するか否か判断する。トランクに属する場合には、処理がステップＳ７４へ進められる。トランクに属さない場合には、復旧時分配処理が終了する。
【０１４３】
［ステップＳ７４］設定制御部１３０ａは、ステップＳ７３で特定したトランクに対応するポート分配テーブル１４４を選択する。そして、設定制御部１３０ａは、ステップＳ７２で通知を受けたポート番号に対応する準備フラグを１に設定する。
【０１４４】
［ステップＳ７５］設定制御部１３０ａは、全ての正常な通信ポートへマーカーリクエストを出力するように、マーカー挿入部１８５へ指示する。指示を受けたマーカー挿入部１８５は、マーカーリクエストを作成し、設定制御部１３０ａから指示されたポート番号を指定して出力キュー部１７０へ送る。
【０１４５】
［ステップＳ７６］設定制御部１３０ａは、ステップＳ７５で送信した全てのマーカーリクエストに対するマーカーレスポンスを受信した旨の通知を、マーカー処理部１８０から受け取ったか否か判断する。全ての通知を受け取った場合には、処理がステップＳ７７へ進められる。通知を受け取っていないものがある場合には、全ての通知を受け取るまでステップＳ７６の処理が繰り返される。
【０１４６】
［ステップＳ７７］設定制御部１３０ａは、ステップＳ７２で通知を受けたポート番号に対応する状態フラグを０に戻す。
［ステップＳ７８］設定制御部１３０ａは、ステップＳ７２で通知を受けたポート番号に対応する準備フラグを０に戻す。
【０１４７】
このようにして、ポート監視部１９０は、物理リンクの復旧を検出すると、復旧した物理ポートが接続された通信ポートのポート番号を設定制御部１３０ａへ通知する。設定制御部１３０ａは、ポート分配テーブル１４４を操作して、通知された通信ポートに対する代替の通信ポートの設定を解除する。
【０１４８】
スイッチ部１６０ａは、計算したハッシュ値に対応する準備フラグが１の場合、代替の通信ポートへのフレームの出力を停止し、受信したフレームを破棄する。具体的には、図２２に示したポート決定処理のステップＳ２１４の処理の前段で、準備フラグが１であるか否か判断し、準備フラグが１の場合にはフレームを破棄する。ただし、破棄されるフレームは、準備フラグが１に設定されたハッシュ値が導出されるフレームだけであり、トランク全体のフレームが破棄されるわけではない。
【０１４９】
上記の例では、フレームの転送順序の逆転を防止するため、マーカーリクエストとマーカーレスポンスとを用いたが、タイマーを用いるようにしてもよい。
図２４は、第２の実施の形態の復旧時ポート分配処理の流れを示す第２のフローチャートである。図２４に示したフローチャートは、図２３のステップＳ７５，Ｓ７６の処理を、以下のステップＳ７５ａ，Ｓ７６ａの処理に置き換えたものである。
【０１５０】
［ステップＳ７５ａ］設定制御部１３０ａは、タイマーを起動する。タイマーの時間は、出力キュー部１７０のＦＩＦＯキューに格納されたフレームが、通信ポートへ出力されるまでの最大遅延時間に基づいて予め設定されている。
【０１５１】
［ステップＳ７６ａ］設定制御部１３０ａは、ステップＳ７５ａで起動したタイマーが終了したか否か判断する。終了した場合には、処理がステップＳ７７へ進められる。終了していない場合には、タイマーが終了するまでステップＳ７６ａの処理が繰り返される。
【０１５２】
このようにタイマーを用いる方法によれば、接続先の通信装置がマーカーリクエストを処理できるように設計されていない場合でも、マーカーリクエストを用いた場合と同様の効果を得られる。
【０１５３】
このように、第２の実施の形態で述べた通信装置によれば、物理リンクの故障時に影響を受けるフレームは、故障した物理リンクに分配されていたフレームのみであり、他の物理リンクに分配されているフレームは影響を受けない。このため、物理リンクの故障時は、転送順序の逆転を防止するためにフレームを破棄する必要がない。また、２つ以上の物理リンクが故障した場合も、上記の処理を行うことで、残りの正常な物理リンクを利用してトランクの運用を継続することができる。
【０１５４】
また、故障した物理リンクの復旧時は、代替の物理リンクに分配されていたフレームのみを一時的に破棄すればよく、その他のフレームを破棄する必要はない。
また、第１のハッシュ値と物理リンクとを１対１に対応付けると共に、第２のハッシュ値と正常な物理リンクとを１対１に対応付けておくことで、故障した物理リンクに分配されていたフレームを、均等に他の正常な物理リンクに振り替えることができる。また、テーブルを格納するために必要な記憶領域も最小限に抑えることができる。
【０１５５】
［第３の実施の形態］
第１の実施の形態および第２の実施の形態では、物理リンクが故障した場合と故障した物理リンクが復旧した場合とについて説明したが、上述の処理機能は、トランクに属する通信ポートを動的に変更する場合に応用することができる。以下、第３の実施の形態として、第１の実施の形態に示したスイッチを用いてトランクに属する通信ポートを動的に変更する処理について説明する。ただし、第２の実施の形態に示したスイッチを用いても同様の処理を実行できる。
【０１５６】
図２５は、リンク交換処理の流れを示すフローチャートである。管理者は、端末装置４０を操作し、設定制御部１３０に以下の手順で処理を実行することができる。
［ステップＳ８１］設定制御部１３０は、管理者からの指示に応答して、トランクから外す通信ポートとトランクに追加する通信ポートとを閉じる。または、管理者が、通信ポートに接続された物理リンクを抜いてもよい。これにより、通信ポートの異常が検出され、自動的に残りの正常な物理リンクによって運用が継続される。
【０１５７】
［ステップＳ８２］設定制御部１３０は、管理者からの指示に応答して、トランク番号テーブル１４１を更新する。すなわち、トランクに追加する通信ポートのトランク番号を設定すると共に、トランクから外す通信ポートのトランク番号を０に設定する。
【０１５８】
［ステップＳ８３］設定制御部１３０は、管理者からの指示に応答して、トランク構成制御テーブル１４２およびポート分配テーブル１４３を更新する。すなわち、トランクから外す通信ポートのポート番号を、トランクに追加する通信ポートのポート番号へ置換する。
【０１５９】
［ステップＳ８４］設定制御部１３０は、管理者からの指示に応答して、トランクから外す通信ポートとトランクに追加する通信ポートとを開ける。または、管理者が、抜いていた物理リンクを通信ポートに接続してもよい。これにより、通信ポートの復旧が検出され、振り替えられていたフレームが追加した物理リンクに自動的に分配される。
【０１６０】
図２６は、リンク交換時のポート分配テーブルの更新例を示す図である。図２６に示したポート分配テーブル１４３は、第１の実施の形態において、通信ポートＰ１２と通信ポートＰ１３とを上記の手順に従って入れ替えた後の状態のテーブルである。
【０１６１】
このように、本実施の形態の通信装置を用いることで、トランクに属する通信ポートを動的に交換する場合も、廃棄されるフレームを最小限に抑えることができる。
なお、本実施の形態では、通信装置としてレイヤ２スイッチを用いた場合について説明したが、フレームの転送機能を有する他の種類の通信装置を用いてもよい。例えば、データリンク層より上位の階層の処理もできるルーター等を用いてもよい。この場合、フレームを受信してからＦＩＦＯキューに出力するまでの間に、データリンク層より上位の階層に関する処理が追加される。
【０１６２】
以上、本発明の通信装置および通信方法を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１６３】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信装置において、
前記フレームに含まれるアドレスと、前記フレームを出力する前記物理リンクとの対応関係を示す分配テーブルを記憶するテーブル記憶手段と、
前記物理リンクの故障を検知すると、前記分配テーブルを操作して、故障した前記物理リンクに割り当てられた前記アドレスの値域を複数に分割し、正常な前記物理リンクに分散させて振り替える設定制御手段と、
前記フレームを受信すると、前記分配テーブルを参照し、受信した前記フレームに含まれる前記アドレスに基づいて、前記フレームを出力する正常な前記物理リンクを決定するスイッチ手段と、
を有することを特徴とする通信装置。
【０１６４】
（付記２）  前記分配テーブルは、前記物理リンクと、前記論理リンクを構成する前記物理リンクの数より取り得る値が多いハッシュ関数を用いて前記アドレスから計算されるハッシュ値とを、１対多の関係に対応付けており、
前記設定制御手段は、故障した前記物理リンクに対応付けられた複数の前記ハッシュ値を、正常な前記物理リンクに分散させて振り替え、
前記スイッチ手段は、前記ハッシュ関数を用いて前記アドレスから前記ハッシュ値を計算することで、出力先の前記物理リンクを決定する、
ことを特徴とする付記１記載の通信装置。
【０１６５】
（付記３）  前記分配テーブルは、前記物理リンクと前記アドレスから計算される第１のハッシュ値とを対応付けると共に、正常な前記物理リンクと第１のハッシュ値と異なる方法で前記アドレスから計算される第２のハッシュ値とを対応付けており、
前記設定制御手段は、前記物理リンクの故障を検知すると、正常な前記物理リンクと前記第２のハッシュ値との対応関係を更新し、
前記スイッチ手段は、前記アドレスから前記第１のハッシュ値を計算し、前記第１のハッシュ値に対応する前記物理リンクが故障している場合のみ、更に前記アドレスから前記第２のハッシュ値を計算することで、出力先の前記物理リンクを決定する、
ことを特徴とする付記１記載の通信装置。
【０１６６】
（付記４）  前記設定制御手段は、故障した前記物理リンクが復旧したことを検知すると、他の前記物理リンクへの振り替え設定を解除すると共に、解除前に振り替えられて出力された最後の前記フレームが前記論理リンクの接続先に到達したと判定するまでの間、復旧した前記物理リンクの使用を禁止し、
前記スイッチ手段は、前記アドレスに対応する前記物理リンクが使用を禁止されている場合、受信した前記フレームを破棄する、
ことを特徴とする付記１記載の通信装置。
【０１６７】
（付記５）  前記設定制御手段は、振り替え設定を解除してから所定の時間経過した時点で、解除前の最後の前記フレームが前記論理リンクの接続先に到達したと判定する、
ことを特徴とする付記４記載の通信装置。
【０１６８】
（付記６）  前記設定制御手段は、振り替え設定の解除時に、振り替え先の前記物理リンクにマーカーフレームを送信し、前記論理リンクの接続先から前記マーカーフレームに対する応答を受信した時点で、解除前の最後の前記フレームが前記論理リンクの接続先に到達したと判定する、
ことを特徴とする付記４記載の通信装置。
【０１６９】
（付記７）  複数の物理リンクを集約して構成した論理リンクを用いてフレームを転送する通信方法において、
設定制御手段が、前記物理リンクの故障を検知すると、前記フレームに含まれるアドレスと前記フレームを出力する前記物理リンクとの対応関係を示す分配テーブルを操作して、故障した前記物理リンクに割り当てられた前記アドレスの値域を複数に分割し、正常な前記物理リンクに分散させて振り替えるステップと、
スイッチ手段が、前記フレームを受信すると、前記分配テーブルを参照し、受信した前記フレームに含まれる前記アドレスに基づいて、前記フレームを出力する正常な前記物理リンクを決定するステップと、
を有することを特徴とする通信方法。
【図面の簡単な説明】
【０１７０】
【図１】本実施の形態の概要を示す図である。
【図２】フレーム転送システムの全体構成を示す図である。
【図３】スイッチ間の物理リンクの構成を示す図である。
【図４】スイッチの機能を示すブロック図である。
【図５】フレームのデータ構造例を示す図である。
【図６】トランク番号テーブルのデータ構造例を示す図である。
【図７】学習テーブルのデータ構造例を示す図である。
【図８】トランク構成制御テーブルのデータ構造例を示す図である。
【図９】第１の実施の形態のポート分配テーブルのデータ構造例を示す図である。
【図１０】フレーム転送処理の流れを示すフローチャートである。
【図１１】第１の実施の形態の故障時ポート分配処理の流れを示すフローチャートである。
【図１２】トランク構成制御テーブルの更新例を示す図である。
【図１３】第１の実施の形態のポート分配テーブルの第１の更新例を示す図である。
【図１４】第１の実施の形態のポート分配テーブルの第２の更新例を示す図である。
【図１５】第１の実施の形態の転送ポート決定処理の流れを示すフローチャートである。
【図１６】第１の実施の形態の復旧時ポート分配処理の流れを示す第１のフローチャートである。
【図１７】第１の実施の形態の復旧時ポート分配処理の流れを示す第２のフローチャートである。
【図１８】第１の実施の形態のポート分配テーブルの他のデータ構造例を示す図である。
【図１９】第２の実施の形態のポート分配テーブルのデータ構造例を示す図である。
【図２０】第２の実施の形態の故障時ポート分配処理の流れを示すフローチャートである。
【図２１】第２の実施の形態のポート分配テーブルの更新例を示す図である。
【図２２】第２の実施の形態の転送ポート決定処理の流れを示すフローチャートである。
【図２３】第２の実施の形態の復旧時ポート分配処理の流れを示す第１のフローチャートである。
【図２４】第２の実施の形態の復旧時ポート分配処理の流れを示す第２のフローチャートである。
【図２５】リンク交換処理の流れを示すフローチャートである。
【図２６】リンク交換時のポート分配テーブルの更新例を示す図である。
【符号の説明】
【０１７１】
２，３  通信装置
４，５ａ，５ｂ，５ｃ  物理リンク
５  論理リンク
１０  通信装置
１１ａ，１１ｂ，１１ｃ，１１ｄ  通信ポート
１２  テーブル記憶手段
１３  設定制御手段
１４  スイッチ手段
【図１】
2008078906.tif 000003
【図２】
2008078906.tif 000004
【図３】
2008078906.tif 000005
【図４】
2008078906.tif 000006
【図５】
2008078906.tif 000007
【図６】
2008078906.tif 000008
【図７】
2008078906.tif 000009
【図８】
2008078906.tif 000010
【図９】
2008078906.tif 000011
【図１０】
2008078906.tif 000012
【図１１】
2008078906.tif 000013
【図１２】
2008078906.tif 000014
【図１３】
2008078906.tif 000015
【図１４】
2008078906.tif 000016
【図１５】
2008078906.tif 000017
【図１６】
2008078906.tif 000018
【図１７】
2008078906.tif 000019
【図１８】
2008078906.tif 000020
【図１９】
2008078906.tif 000021
【図２０】
2008078906.tif 000022
【図２１】
2008078906.tif 000023
【図２２】
2008078906.tif 000024
【図２３】
2008078906.tif 000025
【図２４】
2008078906.tif 000026
【図２５】
2008078906.tif 000027
【図２６】
2008078906.tif 000028