(57)【要約】【課題】先着ポート学習方式による最適経路の学習機能を有するパケット転送装置において、先着ポートとして複数のポートを選択して先着ポート群として扱うこと。ネットワークシステムにおいて、トラヒックの集中等による負荷を分散させること。【解決手段】パケット転送装置２１は、＃１〜＃Ｎの複数のポートを有し、それらのポートに未学習の同一パケットが到着した場合、パケット処理部２４により、そのうちの最も早く到着したパケットを先着パケットと判定する。そして、先着群比較判定部２３により、複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、パケットの先着特性が同等であるとして、先着ポートと判定し、先着ポート群に含める。【選択図】図１
2008141614.tif 000002
【特許請求の範囲】
【請求項１】
外部との間でパケットの授受を行う複数のポートと、
前記複数のポートのうちの２個以上のポートに同一パケットが到着する場合に、該同一パケットのうちの最も早く前記ポートに到着したパケットを先着パケットと判定するパケット処理手段と、
前記複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、先着ポートと判定する先着群比較判定手段と、
を備えることを特徴とするパケット転送装置。
【請求項２】
前記先着ポート条件は、単一のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着したポートと、前記先着パケットの到着時刻から一定時間内に前記先着パケットと同一のパケットが到着したポートであることを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
パケットの到着時刻を特定するためのタイマ手段、をさらに備えることを特徴とする請求項２に記載のパケット転送装置。
【請求項４】
前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を管理する管理手段、をさらに備えることを特徴とする請求項３に記載のパケット転送装置。
【請求項５】
前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定の比率以上のポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする請求項１に記載のパケット転送装置。
【請求項６】
外部との間でパケットの授受を行う複数のポートと、前記複数のポートのうちの２個以上のポートに同一パケットが到着する場合に、該同一パケットのうちの最も早く前記ポートに到着したパケットを先着パケットと判定するパケット処理手段と、前記複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、先着ポートと判定する先着群比較判定手段と、を備えるパケット転送装置を、ネットワークの複数のノードに配置したことを特徴とするネットワークシステム。
【請求項７】
前記先着ポート条件は、単一のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着したポートと、前記先着パケットの到着時刻から一定時間内に前記先着パケットと同一のパケットが到着したポートであることを特徴とする請求項６に記載のネットワークシステム。
【請求項８】
前記パケット転送装置は、パケットの到着時刻を特定するためのタイマ手段、をさらに備えることを特徴とする請求項７に記載のネットワークシステム。
【請求項９】
前記パケット転送装置は、前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を管理する管理手段、をさらに備えることを特徴とする請求項８に記載のネットワークシステム。
【請求項１０】
前記パケット転送装置は、前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定の比率以上のポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする請求項６に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケット転送装置およびネットワークシステムに関する。
【背景技術】
【０００２】
近年、広域イーサネットサービスが普及してきている。イーサネットの標準プロトコルの一つに、スパニングツリープロトコル（ＳＴＰ：Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）がある。これは、ネットワーク上に存在する物理的なループに対して、そのループ上の一部のポートを論理的に無効にしてパケットが通れないようにすることにより、論理的なツリーネットワークを構築するものである。
【０００３】
そのため、その論理的なツリー構造によっては、ネットワークに接続された異なる端末間のパケット転送経路が最適な経路とならず、遠回りの経路になることがある。また、一部のポートが無効になることによって、物理的なループ構造のうちの一部の経路が利用できなくなるため、負荷を分散させることができないという問題が生じる。
【０００４】
さらに、ネットワークの各ノードに配置されるパケット転送装置では、ＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の生成や解釈などのソフトウェア処理を行うため、各パケット転送装置のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の負荷が増大するという問題がある。これらの問題を解決する策として、マルチプルスパニングツリープロトコル（ＭＳＴＰ：Ｍｕｌｔｉｐｌｅ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）という、ＳＴＰの拡張方式が考えられている。
【０００５】
これは、ネットワーク上に複数のツリーを構築し、バーチャルＬＡＮ（ＶＬＡＮ：Ｖｉｒｔｕａｌ  ＬＡＮ、ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ごとに異なるツリーを使用することにより、負荷を分散させるようにするものである。しかし、ＭＳＴＰにおいても、同じＶＬＡＮに属する端末同士の間では、上述したＳＴＰの場合と同様の問題が生じる。
【０００６】
また、各ノードのパケット転送装置では、複数のツリー情報を処理するため、より一層、ＣＰＵの負荷が増大するという問題がある。さらに、ＣＰＵに障害が発生した場合、プロトコル動作が所望のとおりに働かず、ループが形成されてしまう可能性もある。
【０００７】
さらにまた、ＳＴＰおよびＭＳＴＰでは、通常、ＢＰＤＵが一定数、例えば２０個のノードを経由すると廃棄されてしまうため、それ以上の規模のネットワークを構築することができないというスケーラビリティの問題がある。このようなＳＴＰ等の種々の問題を解決する策として、各ノードにおいてパケット転送装置にパケットが最も速く到着するポートを最適経路上のポートとして学習する、いわゆる先着ポート学習方式がある。
【０００８】
図１２は、従来の先着ポート学習方式の概要を説明する図である。図１２に示すように、まず、端末Ｋ１からノードＢのパケット転送装置４の第１ポートに、端末Ｌ２宛の未学習のパケット６が到着する。ノードＢのパケット転送装置４は、そのパケットを、自身の、そのパケットが到着したポート以外のポート（図示例では、第２ポートおよび第３ポート）からその先へ転送する。以下、この到着ポート以外のポートからのパケット転送をフラッディングと呼ぶ。
【０００９】
ここで、未学習のパケットとは、あるノードにおいて、送信元と送信先の組み合わせが同じパケットがそれ以前に到着していないため、最適経路の学習が済んでいないパケットのことである。ノードＡのパケット転送装置３では、自身の第１ポートに、ノードＢからパケット７が到着する。
【００１０】
ノードＡのパケット転送装置３は、そのパケット７がノードＡにおいて未学習である場合には、そのパケットを、自身の、そのパケットが到着したポート以外のポート（図示例では、第２ポート）からその先へ転送する。このとき、ノードＡのパケット転送装置３は、未学習のパケットが最も早く到着したポート（以下、先着ポートとする）を、そのパケットの送信元ＭＡＣアドレスに対応付けて学習する。
【００１１】
先着ポートへのパケット７の到着から遅れてノードＡのパケット転送装置３の図示しないポートに、先着ポートに到着したパケット（以下、先着パケットとする）と同じパケット（以下、後着パケットとする）が到着することがある。この場合には、ノードＡのパケット転送装置３は、すべての後着パケットを廃棄する。ノードＣのパケット転送装置５では、先に自身の第２ポートにノードＢからパケット８が到着し、続いて、第３ポートにノードＡのパケット転送装置３からパケット９が到着する。
【００１２】
ノードＣのパケット転送装置５は、自身の、先着および後着のパケット８，９が到着したポート以外のポート（図示例では、第１ポート）から端末Ｌ２へパケット１０を転送する。そして、ノードＣのパケット転送装置５は、後着パケット９を廃棄する。また、ノードＣのパケット転送装置５は、先着ポートと先着パケット８の送信元ＭＡＣアドレスを対応付けて、自身のＭＡＣアドレステーブル１１に登録する。以上により、各ノードにおいて、端末のＭＡＣアドレスと、その端末宛のパケットを送出する際に使用するポートとの関係が学習されたことになる。
【００１３】
ノードＣに端末Ｌ２から端末Ｋ１宛のパケットが到着した場合、ノードＣのパケット転送装置５は、通常のイーサネットスイッチと同様に、ＭＡＣアドレステーブル１１を参照する。ＭＡＣアドレステーブル１１には、図１２に示すように、端末Ｋ１のＭＡＣアドレスｘのエントリがあり、使用ポートとして第２ポートが登録されている。従って、この端末Ｋ１宛のパケットは、学習済みのパケットである。ノードＣのパケット転送装置５は、その学習済みのパケットを第２ポートから送出する。
【００１４】
このような先着ポート学習方式により最適経路を決定するＬＡＮ間接続装置が公知である。この装置は、接続先の網から発信元ステーションおよび宛先ステーションについての最初のメッセージを受信した場合に、上記発信元ステーションのアドレスと自身のアドレスを含む第１のタイプのアドレス情報を上記発信元ステーションについての上記アドレス変換テーブル内の該当エントリに登録し、その受信メッセージを上記内部ネットワーク上に同報モードで送出する手段と、内部ネットワークから受信したメッセージが、発信元ステーションおよび宛先ステーションについての最初のメッセージである場合に、上記発信元ステーションのアドレスと発信元インタフェースのアドレスを含む第２のタイプのアドレス情報を上記発信元ステーションについての上記アドレス変換テーブル内の該当エントリに登録し、その受信メッセージを接続先の網に送出する手段を備えている（例えば、特許文献１参照。）。
【００１５】
【特許文献１】特開平４−４００３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、従来の先着ポート学習方式では、各ノードにおいてパケットが最も早く到着したポートを先着ポートとして登録するため、先着ポートは１個だけである。実際には、あるノードにおいて複数個のポートにほぼ同時にパケットが到着することがある。このような場合でも、従来の方式では、いずれか１つのポートが先着ポートとして選択される。従って、その選択された先着ポートを経由する経路にトラヒックが集中しても、他のポートを経由する経路に負荷を分散させることができないという問題点がある。
【００１７】
この発明は、上述した従来技術による問題点を解消するため、先着ポートとして複数のポートを選択して先着ポート群として扱うことができる、先着ポート学習方式による最適経路の学習機能を有するパケット転送装置を提供することを目的とする。また、この発明は、そのような機能を有するパケット転送装置をネットワークの各ノードに配することによって、トラヒックの集中等による負荷を分散させることができるネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本発明にかかるパケット転送装置は、以下の特徴を有する。複数のポートを有し、該複数のポートに未学習の同一パケットが到着した場合、パケット処理手段により、そのうちの最も早く到着したパケットを先着パケットと判定する。そして、先着群比較判定手段により、複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、パケットの先着特性が同等であるとして、先着ポートと判定し、先着ポート群に含める。この発明によれば、同等の先着特性を有する複数のポートを先着ポートとすることができる。
【００１９】
ここで、先着ポート条件は、次の３つのうちのいずれかである。第１に、単一の未学習のパケットについて、先着パケットが到着したポートと、その先着パケットの到着時刻から一定時間内に先着パケットと同一のパケットが到着したポートである。この第１の先着ポート条件によれば、時間差という指標において単一パケットのみで簡易に先着ポート群を規定することができる。
【００２０】
第２に、送信元が同じ複数の未学習のパケットのそれぞれについて、先着パケットが到着してから、先着パケットと同一のパケットが到着するまでの経過時間を求める。そして、複数のパケットについて、経過時間の平均値をポートごとに求め、その平均値が一定時間内に収まるポートである。この第２の先着ポート条件によれば、時間差という指標において先着ポート群をより正確に規定することができる。
【００２１】
第３に、送信元が同じ複数の未学習のパケットについて、先着パケットが到着した比率をポートごとに求め、その比率が一定値以上となるポートである。この第３の先着ポート条件によれば、先着特性に時間計測の概念がないので、時間差を計測するための機能を有していなくても、先着ポート群を規定することができる。
【００２２】
また、この発明において、先着ポート群には、同一パケットの転送経路として複数のポートが規定されているので、その先着ポート群のうち、所定の比率以上のポートに障害が発生したときに経路障害と判定すればよい。このようにすれば、すべての発信元に対するエントリにおいて、同レベルの深刻さの障害状況が発生したときに経路障害と判定することができる。
【００２３】
あるいは、障害が発生したポートの比率に代えて、先着ポート群のうち、所定数のポートまたはすべてのポートに障害が発生したときに経路障害と判定してもよい。この場合には、すべての発信元に対するエントリに対して、統一された判定基準で簡単に経路障害を判定することができる。また、本発明にかかるネットワークシステムは、ネットワークの複数のノードに、上述した構成のパケット転送装置を配置したことを特徴とする。
【発明の効果】
【００２４】
本発明にかかるパケット転送装置によれば、先着ポートとして複数のポートを選択して先着ポート群として扱うことができる。従って、このパケット転送装置を各ノードに配したネットワークシステムによれば、トラヒックの集中等により増大する負荷を分散させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、この発明にかかるパケット転送装置およびネットワークシステムの好適な実施の形態を詳細に説明する。
【００２６】
図１は、この発明の実施の形態にかかるパケット転送装置の構成を示すブロック図である。図１に示すように、パケット転送装置２１は、＃１〜＃Ｎの複数のポート、パケット送受信部２２、先着群比較判定部２３、パケット処理部２４、先着群情報管理テーブル２５、タイマ２６、障害発生判定部２７、ＭＡＣアドレステーブル２８および同一性情報テーブル２９を備えている。
【００２７】
各ポートは、パケット送受信部２２に接続されており、外部との間でパケットの授受を行う。パケット送受信部２２は、パケットのカプセリング等の送受信に関する処理を行う。パケット送受信部２２は、いずれかのポートを介して受信した主信号のデータパケットを、パケット処理部２４へ送る。
【００２８】
パケット処理部２４は、パケットのフォワーディング処理と同一性判定処理を行う。フォワーディング処理は、通常のイーサネットスイッチでの処理と同じである。すなわち、パケット処理部２４は、いずれかのポートに到着したパケットを転送するにあたって、ＭＡＣアドレステーブル２８を参照する。
【００２９】
パケット処理部２４は、ＭＡＣアドレステーブル２８に当該パケットの送信先ＭＡＣアドレスのエントリがある場合には、そのエントリにより指定されたポートに転送対象のパケットを送出する。一方、パケット処理部２４は、ＭＡＣアドレステーブル２８に該当するエントリがない場合には、そのパケットのフラッディングを行う。その際、主信号パケットには、何も情報が付加されない。
【００３０】
同一性判定処理は、受け取ったパケットが既に受信したことのあるパケットであるか否かを判定することによって、当該パケットが先着パケットと後着パケットのいずれであるかを判定する処理である。すなわち、パケット処理部２４は、いずれかのポートにパケットが到着すると、同一性情報テーブル２９を参照する。
【００３１】
パケット処理部２４は、同一性情報テーブル２９に当該パケットに関する情報が登録されていない場合、そのパケットを先着パケットと見なす。そして、パケット処理部２４は、その先着パケットが到着したポートを先着ポートとしてＭＡＣアドレステーブル２８に登録する。さらに、パケット処理部２４は、同一性情報テーブル２９にその先着パケットに関する情報を登録する。
【００３２】
一方、同一性情報テーブル２９に当該パケットに関する情報が登録されている場合には、そのパケットは後着パケットであるので、パケット処理部２４は、そのパケットを廃棄する。ここで、同一性情報テーブル２９に登録されるパケットに関する情報として、例えばハッシュ関数などによる縮退情報などを用いることができる。パケット処理部２４の以上の処理機能は、従来の先着ポート学習方式による最適経路の学習機能と同様の機能である。
【００３３】
先着群情報管理テーブル２５は、複数のポートのうちのいずれのポートを先着ポート群に含めるかということを決定するための情報を保持するテーブルである。例えば、先着群情報管理テーブル２５には、送信元ＭＡＣアドレスごとの先着パケットの到着時刻情報と、先着ポート検出のための一定時間情報が保持される。
【００３４】
先着群比較判定部２３は、先着群情報管理テーブル２５に保持されている情報に基づいて、いずれのポートを先着ポート群に含めるかということを判定する。例えば、先着群比較判定部２３は、単一のパケットについて、先着パケットが到着したポートと、その先着パケットの到着時刻から一定時間内に後着パケットが到着したポートを、先着ポートと見なして先着ポート群に含める。
【００３５】
このときの判定基準となる一定時間は、先着群情報管理テーブル２５の一定時間情報により与えられる。また、先着パケットが到着してから後着パケットが到着するまでの経過時間は、後着パケットの到着時刻と先着パケットの到着時刻の差分により得られる。
【００３６】
先着パケットの到着時刻は、先着群情報管理テーブル２５に保持されている。従って、先着群情報管理テーブル２５は、後着パケットが到着するまでの経過時間を管理する管理手段としての機能を有する。また、各パケットの到着時刻は、タイマ２６により特定される。
【００３７】
障害発生判定部２７は、先着ポート群に含まれる全ポートのうち、予め障害検出閾値として設定された比率以上のポートに障害が発生したときに、当該先着ポート群を経路障害と判定する。例えば、障害検出閾値が４０％に設定されている場合には、次のように判定される。
【００３８】
先着ポート群に２個のポートを含むＭＡＣアドレスについては、そのうちの１個のポートに障害が発生した時点で、障害の発生したポート（以下、障害ポートとする）の比率が５０％となり、経路障害と判定される。また、先着ポート群に３個のポートを含むＭＡＣアドレスについては、そのうちの２個のポートが障害ポートとなった時点で、障害ポートの比率が６７％となり、経路障害と判定される。
【００３９】
障害発生判定部２７により経路障害と判定されると、パケット処理部２４は、通常のイーサネットスイッチでの処理と同じ障害処理を行う。すなわち、パケット処理部２４は、ＭＡＣアドレステーブル２８の該当するエントリを消去し、他のノードに制御パケット等を送信して障害の発生を通知する。
【００４０】
上述したように、先着群比較判定部２３が、単一のパケットの到着時間差に基づいて先着ポート群に含めるポートを判定する場合、同一性情報テーブル２９と先着群情報管理テーブル２５を別々に設けずに、図２に示すように、それらを一体化したテーブルとしてもよい。図２に示すように、テーブル３０には、同一性情報テーブル２９と先着群情報管理テーブル２５が含まれている。同一性情報テーブル２９には、先着パケットのハッシュ値等がパケット情報として格納される。
【００４１】
また、先着群情報管理テーブル２５は、記憶時刻テーブル３１と一定時間テーブル３２からなる。記憶時刻テーブル３１には、先着パケットごとにその到着時刻が格納される。一定時間テーブル３２には、先着ポート群の判定基準となる一定時間情報が格納される。例えば、図２に示す例では、一定時間テーブル３２に「＋５０」が格納されている。従って、この例では、先着パケットが到着したポートと、先着パケットの到着から５０単位時間以内に後着パケットが到着したポートが、先着ポート群に含まれることになる。
【００４２】
次に、パケット転送装置２１の先着ポート学習処理手順について説明する。図３は、先着ポート学習処理手順を示すフローチャートである。まず、先着ポートとして先着ポート群に含めるポートを検出するための条件である一定時間の情報が設定される（ステップＳ１）。パケット転送装置２１は、先着群情報管理テーブル２５にこの一定時間情報を格納する。パケット転送装置２１にパケットが到着するまでは、この状態で待機する（ステップＳ２：Ｎｏ）。
【００４３】
いずれかのポートにパケットが到着すると（ステップＳ２：Ｙｅｓ）、その到着パケットは、パケット送受信部２２を介してパケット処理部２４に渡される。パケット処理部２４は、同一性情報テーブル２９を参照する（ステップＳ３）。その結果、同一性情報テーブル２９に、到着したパケットのエントリがない場合には（ステップＳ４：Ｎｏ）、パケット処理部２４は、その到着パケットを先着パケットと判定する（ステップＳ５）。
【００４４】
そして、パケット処理部２４は、ＭＡＣアドレステーブル２８に、その先着パケットが到着したポートを、先着ポートとして登録する（ステップＳ６）。また、パケット処理部２４は、同一性情報テーブル２９に先着パケットの情報（ハッシュ値等）を登録する。さらに、パケット処理部２４は、タイマ２６から先着パケットの到着時刻を取得し、先着群情報管理テーブル２５にその時刻の情報を登録する（ステップＳ７）。その後、ステップＳ２のパケットの到着を待機する状態に戻る。
【００４５】
一方、パケット処理部２４は、同一性情報テーブル２９を参照した結果、同一性情報テーブル２９に該当するエントリがある場合には（ステップＳ４：Ｙｅｓ）、その到着パケットを後着パケットと判定し（ステップＳ８）、廃棄する（ステップＳ９）。そして、パケット処理部２４は、タイマ２６から後着パケットの到着時刻を取得し、その時刻の情報を先着群比較判定部２３に渡す。
【００４６】
また、パケット処理部２４は、先着群情報管理テーブル２５を参照し（ステップＳ１０）、先着群情報管理テーブル２５から、その後着パケットに対する先着パケットの到着時刻の情報と、一定時間の情報を取得する。そして、パケット処理部２４は、先着パケットの到着時刻の情報と一定時間の情報を先着群比較判定部２３に渡す。
【００４７】
先着群比較判定部２３は、先着パケットの到着時刻と後着パケットの到着時刻から、後着パケットの到着時間差を算出し、その時間差が一定時間以下であるか否かを判断する（ステップＳ１１）。その結果、後着パケットの到着時間差が一定時間以下である場合（ステップＳ１１：Ｙｅｓ）、先着群比較判定部２３は、その後着パケットが到着したポートを先着ポートと同等であると判定する。
【００４８】
その判定結果に基づいて、パケット処理部２４は、ＭＡＣアドレステーブル２８に、その後着パケットが到着したポートを、先着ポート群に含めるポートの１つとして登録する（ステップＳ１２）。後着パケットの到着時間差が一定時間を超える場合には（ステップＳ１１：Ｎｏ）、図３に示す一連の先着ポート学習処理を終了する。このようにすれば、時間差という指標において単一パケットのみで簡易に先着ポート群を規定することができる。
【００４９】
次に、パケット転送装置２１の障害判定処理手順について説明する。図４は、障害判定処理手順を示すフローチャートである。まず、先着ポート群を経路障害と判定するための条件である障害検出閾値の情報が設定される（ステップＳ２１）。パケット転送装置２１は、例えば、障害発生判定部２７にこの障害検出閾値情報を格納する。いずれかのポートに障害が発生するまでは、この状態で待機する（ステップＳ２２：Ｎｏ）。
【００５０】
いずれかのポートに障害が発生すると（ステップＳ２２：Ｙｅｓ）、パケット処理部２４は、ＭＡＣアドレステーブル２８から、障害ポートを含む先着ポート群を抽出し、その先着ポート群に含まれるポートの情報を障害発生判定部２７に渡す。障害発生判定部２７は、障害ポートを含む先着ポート群のポート数と、当該先着ポート群に含まれる障害ポートの数から障害ポートの比率を算出する。そして、障害発生判定部２７は、その比率が障害検出閾値以上であるか否かを判断する（ステップＳ２３）。
【００５１】
その結果、障害ポートの比率が障害検出閾値に達しない場合（ステップＳ２３：Ｎｏ）、さらに障害が発生するまで、障害の発生していないポートを使用してパケットの転送を行う。一方、障害が発生したときの障害ポートの比率が障害検出閾値以上である場合（ステップＳ２３：Ｙｅｓ）、ＭＡＣアドレステーブル２８のエントリ消去や障害発生通知などの障害処理を実施する（ステップＳ２４）。そして、図４に示す一連の障害判定処理を終了する。このようにすれば、すべての発信元ＭＡＣアドレスについて、同レベルの深刻さの障害状況が発生したときに経路障害と判定することができる。
【００５２】
次に、上述した構成のパケット転送装置２１をネットワークの各ノードに配したネットワークシステムについて説明する。図５〜図９は、このネットワークシステムの動作を説明する図である。これらの図に示すように、特に限定しないが、ここでは、ネットワークがＡ、Ｂ、ＣおよびＤの４個のノードで構成されているとする。各ノードに配されるパケット転送装置は、図１に示すパケット転送装置２１と同じものである。
【００５３】
また、ノードＡのパケット転送装置４３において、第１ポートに、１個以上の端末を含むＬＡＮ＿Ｓ４１が接続されており、第２ポートおよび第３ポートに、それぞれ、ノードＢのパケット転送装置４４の第１ポートおよびノードＣのパケット転送装置４５の第１ポートが接続されているとする。さらに、ノードＤのパケット転送装置４６において、第１ポート、第２ポートおよび第３ポートに、それぞれ、ノードＢのパケット転送装置４４の第２ポート、ノードＣのパケット転送装置４５の第２ポートおよびノードＣのパケット転送装置４５の第３ポートが接続されており、第４ポートに、１個以上の端末を含むＬＡＮ＿Ｔ４２が接続されているとする。
【００５４】
図５に示すように、ＬＡＮ＿Ｓ４１から、送信先ＭＡＣアドレス（ＤＡ）がｃであり、送信元ＭＡＣアドレス（ＳＡ）がｂである未学習パケット４７が送出される。ノードＡのパケット転送装置４３は、その未学習パケットを第２ポートおよび第３ポートからそれぞれノードＢおよびノードＣへ転送する。
【００５５】
図６に示すように、ノードＢのパケット転送装置４４は、転送されてきた未学習パケットを第２ポートからノードＤへ転送する。一方、ノードＣのパケット転送装置４５は、転送されてきた未学習パケットを第２ポートおよび第３ポートからノードＤへ転送する。従って、ノードＤには３つの同一パケット４８，４９，５０が到着することになる。
【００５６】
ここで、ノードＤのパケット転送装置４６の第１ポートに未学習パケット４８が最初に到着したとする。つまり、第１ポートに到着した未学習パケット４８が先着パケットである。この場合、ノードＤのパケット転送装置４６は、まず、同一性情報テーブル２９に、この未学習パケット４８を示すハッシュ値等の情報とその到着時刻（ｔ１）を登録する。
【００５７】
その後、しばらくしてから、ノードＤのパケット転送装置４６の第２ポートと第３ポートに、第１ポートに到着した未学習パケット４８と同じパケット４９，５０が到着する。第２ポートおよび第３ポートのそれぞれの到着時刻をｔ２およびｔ３とする。
【００５８】
ノードＤのパケット転送装置４６は、第２ポートおよび第３ポートのそれぞれに到着したパケット４９，５０を同一性情報テーブル２９内のパケット情報と比較し、第２ポートおよび第３ポートのそれぞれに到着したパケット４９，５０が先着パケットであるか、後着パケットであるかを判定する。後着パケットである場合、ノードＤのパケット転送装置４６は、その後着パケットの到着時刻と先着パケットの到着時刻を比較し、その時間差が一定時間以内であるか否かを判断する。
【００５９】
図６に示す例では、到着時間差［ｔ２−ｔ１］と［ｔ３−ｔ１］が３０単位時間以内であるか否かを判断する。いずれも３０単位時間以内に収まっていれば、ノードＤのパケット転送装置４６は、ｂのＭＡＣアドレスに対応する先着ポートが第１ポート、第２ポートおよび第３ポートであると学習する。
【００６０】
この学習の後、送信先ＭＡＣアドレス（ＤＡ）がｂであるパケットがＬＡＮ＿Ｔ４２から送出されると、図７に符号５１、５２および５３で示すいずれかのパケットのように、ノードＤのパケット転送装置４６において、先着ポート群（第１〜第３のポート）のいずれかのポートにユニキャストで送出される。その際、パケットの順序が逆転するのを防ぐために、フロー単位では同一経路（ポート）からパケットを転送するのが望ましい。
【００６１】
いずれかのポートに障害が発生した場合には、次のようになる。例えば、障害検出閾値が５０％に設定されているとする。図８に示すように、ノードＤのパケット転送装置４６の第３ポートに繋がるリンクに障害が発生したとする。この場合、送信先ＭＡＣアドレス（ＤＡ）がｂである先着ポート群には３個のポートがあるので、３３％のリンクに障害が発生したことになる。
【００６２】
この状態では、障害ポートの比率が障害検出閾値（５０％）に達しないので、ノードＤのパケット転送装置４６は、障害処理を行わない。ただし、ノードＤのパケット転送装置４６は、その第３ポートが障害状態であることを把握しているので、送信先ＭＡＣアドレス（ＤＡ）がｂであるパケット５１，５２，５３を第１ポートまたは第２ポートから送出する。
【００６３】
図９に示すように、さらにノードＤのパケット転送装置４６の第１ポートに繋がるリンクに障害が発生すると、障害ポートの比率が６７％となり、障害検出閾値（５０％）を超えてしまう。従って、ノードＤのパケット転送装置４６は、障害発生と見なし、障害の発生していない第２ポートから制御パケット５４を送出し、他のノードに障害発生を通知する。また、ＭＡＣアドレステーブル２８の学習情報を消去する。
【００６４】
なお、単一のパケットの到着時間差に基づいて先着ポート群に含めるポートを判定する代わりに、一定数のパケットの平均到着時間差が一定時間以内に収まるポートを先着ポート群に含めるようにしてもよい。この場合には、先着群情報管理テーブル２５として、図２に示すテーブル３０の記憶時刻テーブル３１の他に、図１０に示すテーブル６０が必要となる。
【００６５】
ただし、図２に示すテーブルのうち、一定時間テーブル３２は不要である。従って、この例では、先着群情報管理テーブル２５は、図２に示す記憶時刻テーブル３１に、図１０に示すテーブル６０を追加した構成となる。図１０に示すように、先着群情報管理テーブル２５として追加されるテーブル６０は、平均到着時間差テーブル６１と一定数テーブル６２と一定時間テーブル６３からなる。
【００６６】
一定数テーブル６２には、先着ポート群の判定を行うタイミングを決める一定数情報が格納される。一定時間テーブル６３には、先着ポート群の判定基準となる一定時間情報が格納される。平均到着時間差テーブル６１には、送信元ＭＡＣアドレスが同じであるが、互いに異なる未学習パケットの到着個数の情報と、各ポートごとに到着した未学習のパケットの、先着パケットが到着してから後着パケットが到着するまでの経過時間（到着時間差）の平均値の情報が、端末のＭＡＣアドレスごとに格納される。
【００６７】
各ポートの到着時間差の平均値は、先着群比較判定部２３により計算される。先着群比較判定部２３は、未学習のパケットが到着するたびに、上述した先着ポート学習処理手順のフローチャート（図３参照）に従って、単一パケットごとの到着時間差を求める。そして、先着群比較判定部２３は、送信元ＭＡＣアドレスが同じである別の未学習パケットが到着すると、各ポートについて到着時間差の平均値を計算する。
【００６８】
先着群比較判定部２３は、各ポートの平均値のうち、最も値が小さいポートの平均値をゼロとし、それに対する差分を他のポートの平均値として求める。従って、平均到着時間差テーブル６１において、常に、到着時間差の平均値の最も小さいポートの値はゼロとなり、他のポートの値は、それに対する差分として表される。
【００６９】
例えば、図１０に示す例では、一定数テーブル６２および一定時間テーブル６３にそれぞれ「３」および「＋５０」が格納されている。従って、互いに異なるが、送信元ＭＡＣアドレスが同じ未学習パケットが３個到着したＭＡＣアドレスについては、その時点で先着ポート群の判定が行われる。そして、そのＭＡＣアドレスに対する先着ポート群には、各ポートの到着時間差の平均値が５０単位時間以内であるポートが含まれることになる。
【００７０】
図１０に示す状態のときには、ｂのＭＡＣアドレスに対する先着ポート群の判定が行われる。そして、その先着ポート群には、第１ポートと第２ポートが含まれることになる。ｘのＭＡＣアドレスについては、送信元ＭＡＣアドレスがｘである未学習のパケットがあと１つ到着した時点で先着ポート群の判定が行われる。このようにすれば、時間差という指標において先着ポート群をより正確に規定することができる。
【００７１】
また、未学習のパケットの到着時間差または平均到着時間差に基づいて先着ポート群に含めるポートを判定する代わりに、送信元ＭＡＣアドレスが同じであるが、互いに異なる複数の未学習のパケットについて、ポートごとに先着パケットが到着した比率を求め、その比率が一定値以上であるポートを先着ポート群に含めるようにしてもよい。この場合には、先着群情報管理テーブル２５として、図１１に示すテーブル７０が必要となる。
【００７２】
図２に示すテーブル３０の記憶時刻テーブル３１と一定時間テーブル３２は、不要である。また、この例では、先着性の判定基準に時間を用いないので、図１に示すパケット転送装置２１の構成において、タイマ２６が不要となる。その他の構成は、図１に示す構成と同じである。ただし、パケット転送装置２１を構成する各部は、タイマ２６との相互作用や時間に関する処理などを行わない。
【００７３】
図１１に示すように、先着群情報管理テーブル２５となるテーブル７０は、先着パケット数テーブル７１と一定数テーブル７２と一定比率テーブル７３からなる。一定数テーブル７２には、先着ポート群の判定を行うタイミングを決める一定数情報が格納される。一定比率テーブル７３には、先着ポート群の判定基準となる一定比率情報が格納される。
【００７４】
先着パケット数テーブル７１には、送信元ＭＡＣアドレスが同じであるが、互いに異なる未学習パケットの到着個数の情報と、各ポートごとに到着した先着パケットの個数の情報が、端末のＭＡＣアドレスごとに格納される。未学習のパケットが到着するたびに、そのパケットの送信元ＭＡＣアドレスに対応する、未学習パケットの到着個数のカウンタと、その到着ポートのカウンタが、それぞれ加算される。従って、テーブル７０（先着群情報管理テーブル２５）は、先着パケットが到着した比率をポートごとに管理する管理手段としての機能を有する。
【００７５】
例えば、図１１に示す例では、一定数テーブル７２および一定比率テーブル７３にそれぞれ「２０」および「５０％」が格納されている。従って、互いに異なるが、送信元ＭＡＣアドレスが同じ未学習パケットが２０個到着したＭＡＣアドレスについては、その時点で先着ポート群の判定が行われる。そして、そのＭＡＣアドレスに対する先着ポート群には、各ポートの先着パケット数の、最も先着パケット数の多いポートの先着パケット数に対する比率が５０％以上であるポートが含まれることになる。
【００７６】
図１１に示す状態のときには、ｘのＭＡＣアドレスに対する先着ポート群の判定が次のようにして行われる。最も先着パケット数が多いポートは、第１ポートである。従って、先着群比較判定部２３は、第１ポートを基準とし、第１ポートの先着パケット数（９個）に対する第２ポートの先着パケット数（８個）および第３ポートの先着パケット数（３個）の比率をそれぞれ求める。その結果、第２ポートは、その比率が８９％（＝８／９×１００％）であり、５０％以上であるので、先着ポート群に含まれる。
【００７７】
一方、第３ポートは、その比率が３３％（＝３／９×１００％）であり、５０％未満であるので、先着ポート群に含まれない。第１ポートは、当然のことながら、先着ポート群に含まれる。ｂのＭＡＣアドレスについては、送信元ＭＡＣアドレスがｂである未学習のパケットがあと７個到着した時点で先着ポート群の判定が行われる。このようにすれば、先着特性に時間計測の概念がないので、時間差を計測するための機能、すなわちタイマを有していなくても、先着ポート群を規定することができる。
【００７８】
また、先着ポート群の経路障害の判定基準として、障害ポートの比率に代えて、障害ポートの数を用いてもよい。この場合、障害発生判定部２７は、先着ポート群に含まれる全ポートのうち、一定数以上のポートに障害が発生したときに、その先着ポート群を経路障害と判定する。このときの判定基準となる一定数の情報は、予め障害発生判定部２７に格納される。先着ポート群に含まれるポートの数がこの一定数以下である場合には、障害発生判定部２７は、先着ポート群に含まれるすべてのポートに障害が発生したときに、その先着ポート群を経路障害と判定する。
【００７９】
以上説明したように、実施の形態によれば、先着ポート学習方式による最適経路の学習機能を有するパケット転送装置において、先着ポートとして複数のポートを選択して先着ポート群として扱うことができる。従って、このパケット転送装置を各ノードに配したネットワークシステムにおいて、トラヒックの集中等により増大する負荷を分散させることができる。
【００８０】
（付記１）外部との間でパケットの授受を行う複数のポートと、前記複数のポートのうちの２個以上のポートに同一パケットが到着する場合に、該同一パケットのうちの最も早く前記ポートに到着したパケットを先着パケットと判定するパケット処理手段と、前記複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、先着ポートと判定する先着群比較判定手段と、を備えることを特徴とするパケット転送装置。
【００８１】
（付記２）前記先着ポート条件は、単一のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着したポートと、前記先着パケットの到着時刻から一定時間内に前記先着パケットと同一のパケットが到着したポートであることを特徴とする付記１に記載のパケット転送装置。
【００８２】
（付記３）前記先着ポート条件は、送信元が同じ複数のパケットのそれぞれについて、前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を求め、前記複数のパケットについて、前記経過時間の平均値をポートごとに求め、該平均値が一定時間内に収まるポートであることを特徴とする付記１に記載のパケット転送装置。
【００８３】
（付記４）パケットの到着時刻を特定するためのタイマ手段、をさらに備えることを特徴とする付記２または３に記載のパケット転送装置。
【００８４】
（付記５）前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を管理する管理手段、をさらに備えることを特徴とする付記４に記載のパケット転送装置。
【００８５】
（付記６）前記先着ポート条件は、送信元が同じ複数のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着した比率をポートごとに求め、該比率が一定値以上となるポートであることを特徴とする付記１に記載のパケット転送装置。
【００８６】
（付記７）前記パケット処理手段により先着パケットと判定されたパケットが到着した比率をポートごとに管理する管理手段、をさらに備えることを特徴とする付記６に記載のパケット転送装置。
【００８７】
（付記８）前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定の比率以上のポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする付記１に記載のパケット転送装置。
【００８８】
（付記９）前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定数のポートまたはすべてのポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする付記１に記載のパケット転送装置。
【００８９】
（付記１０）外部との間でパケットの授受を行う複数のポートと、前記複数のポートのうちの２個以上のポートに同一パケットが到着する場合に、該同一パケットのうちの最も早く前記ポートに到着したパケットを先着パケットと判定するパケット処理手段と、前記複数のポートのうち、先着パケットが到着する先着ポートと見なすための先着ポート条件が成立する複数のポートを、先着ポートと判定する先着群比較判定手段と、を備えるパケット転送装置を、ネットワークの複数のノードに配置したことを特徴とするネットワークシステム。
【００９０】
（付記１１）前記先着ポート条件は、単一のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着したポートと、前記先着パケットの到着時刻から一定時間内に前記先着パケットと同一のパケットが到着したポートであることを特徴とする付記１０に記載のネットワークシステム。
【００９１】
（付記１２）前記先着ポート条件は、送信元が同じ複数のパケットのそれぞれについて、前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を求め、前記複数のパケットについて、前記経過時間の平均値をポートごとに求め、該平均値が一定時間内に収まるポートであることを特徴とする付記１０に記載のネットワークシステム。
【００９２】
（付記１３）前記パケット転送装置は、パケットの到着時刻を特定するためのタイマ手段、をさらに備えることを特徴とする付記１１または１２に記載のネットワークシステム。
【００９３】
（付記１４）前記パケット転送装置は、前記パケット処理手段により先着パケットと判定されたパケットが到着してから、前記先着パケットと同一のパケットが到着するまでの経過時間を管理する管理手段、をさらに備えることを特徴とする付記１３に記載のネットワークシステム。
【００９４】
（付記１５）前記先着ポート条件は、送信元が同じ複数のパケットについて、前記パケット処理手段により先着パケットと判定されたパケットが到着した比率をポートごとに求め、該比率が一定値以上となるポートであることを特徴とする付記１０に記載のネットワークシステム。
【００９５】
（付記１６）前記パケット転送装置は、前記パケット処理手段により先着パケットと判定されたパケットが到着した比率をポートごとに管理する管理手段、をさらに備えることを特徴とする付記１５に記載のネットワークシステム。
【００９６】
（付記１７）前記パケット転送装置は、前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定の比率以上のポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする付記１０に記載のネットワークシステム。
【００９７】
（付記１８）前記パケット転送装置は、前記先着群比較判定手段により先着ポートと判定された複数のポートからなる先着ポート群のうち、所定数のポートまたはすべてのポートに障害が発生したときに、当該先着ポート群を経路障害と判定する障害発生判定手段、をさらに備えることを特徴とする付記１０に記載のネットワークシステム。
【産業上の利用可能性】
【００９８】
以上のように、本発明にかかるパケット転送装置およびネットワークシステムは、ネットワークに接続された端末間の最適経路を先着ポート学習方式により設定するネットワークシステムに有用であり、特に、レイヤ２スイッチやルータを用いて広域イーサネットサービスを提供するネットワークシステムに適している。
【図面の簡単な説明】
【００９９】
【図１】この発明の実施の形態にかかるパケット転送装置の構成を示すブロック図である。
【図２】この発明の実施の形態にかかるパケット転送装置のテーブルの構成を示す図である。
【図３】この発明の実施の形態にかかるパケット転送装置の先着ポート学習処理手順を示すフローチャートである。
【図４】この発明の実施の形態にかかるパケット転送装置の障害判定処理手順を示すフローチャートである。
【図５】この発明の実施の形態にかかるネットワークシステムの動作を示す図である。
【図６】この発明の実施の形態にかかるネットワークシステムの動作を示す図である。
【図７】この発明の実施の形態にかかるネットワークシステムの動作を示す図である。
【図８】この発明の実施の形態にかかるネットワークシステムの動作を示す図である。
【図９】この発明の実施の形態にかかるネットワークシステムの動作を示す図である。
【図１０】この発明の実施の形態にかかるパケット転送装置のテーブルの他の構成を示す図である。
【図１１】この発明の実施の形態にかかるパケット転送装置のテーブルのさらに他の構成を示す図である。
【図１２】従来の先着ポート学習方式の概要を説明する図である。
【符号の説明】
【０１００】
２１，４３，４４，４５，４６  パケット転送装置
２３  先着群比較判定部
２４  パケット処理部
２５，６０，７０  先着群情報管理テーブル
２６  タイマ
２７  障害発生判定部
【図１】
2008141614.tif 000003
【図２】
2008141614.tif 000004
【図３】
2008141614.tif 000005
【図４】
2008141614.tif 000006
【図５】
2008141614.tif 000007
【図６】
2008141614.tif 000008
【図７】
2008141614.tif 000009
【図８】
2008141614.tif 000010
【図９】
2008141614.tif 000011
【図１０】
2008141614.tif 000012
【図１１】
2008141614.tif 000013
【図１２】
2008141614.tif 000014