(57)【要約】【課題】最適経路の正確性および安定性を確保することができる先着学習方式を提供すること。【解決手段】パケットが到着した場合にパケット処理部が同一性情報テーブルに一致情報があるか否かを判定したうえで、一致情報がない場合には、この同一性情報テーブルに対してパケット情報を登録するよう構成するとともに、同一性情報テーブルに登録されたパケット情報に基づいてパケットの同一性判定をおこなうよう構成する。また、ＭＡＣテーブルへ格納する先着ポートに関する学習情報について、学習対象とするパケットを選別するとともに、時間または統計情報に基づいて先着ポートの切り替えをおこなうよう構成する。【選択図】        図１
2008005458.tif 000002
【特許請求の範囲】
【請求項１】
パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、
前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択工程と、
前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録工程と、
前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程と
を含んだことを特徴とする先着学習方法。
【請求項２】
前記学習情報登録工程は、
前記パケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなうことを特徴とする請求項１に記載の先着学習方法。
【請求項３】
前記学習対象選択工程は、
前記パケットに転送優先度が設定されている場合に、前記学習対象パケットとして高優先度パケットを選択することを特徴とする請求項１に記載の先着学習方法。
【請求項４】
前記転送工程は、
単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、
前記学習情報選択工程は、
前記ブロードキャストパケットを前記学習対象パケットとして選択することを特徴とする請求項１に記載の先着学習方法。
【請求項５】
前記学習情報登録工程は、
複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなうことを特徴とする請求項１に記載の先着学習方法。
【請求項６】
前記学習情報登録工程は、
前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわないことを特徴とする請求項１に記載の先着学習方法。
【請求項７】
前記学習情報登録工程は、
前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする請求項１に記載の先着学習方法。
【請求項８】
前記転送工程は、
経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、
前記学習情報登録工程は、
前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去することを特徴とする請求項１に記載の先着学習方法。
【請求項９】
パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、
前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手段と、
前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手段と、
前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段と
を備えたことを特徴とする中継装置。
【請求項１０】
パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、
前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手順と、
前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手順と、
前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順と
をコンピュータに実行させることを特徴とする中継装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケットが流通するネットワークでパケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法、中継装置および中継装置用プログラムに関し、特に、最適経路の正確性および安定性を確保することができる先着学習方法、中継装置および中継装置用プログラムに関するものである。
【背景技術】
【０００２】
広域イーサネット（登録商標）サービス（Ethernet（登録商標） Service）の普及に伴い、ＭＡＮ（Metro Area Network）やＷＡＮ（Wide Area Network）といった広域ネットワークに対するイーサネット（登録商標）技術の進出がめざましくなっている。また、このような広域ネットワーク上を流通するデータパケットを中継する中継装置として、近年、Ｌ２スイッチ（Layer 2 Switch）が注目されている。
【０００３】
このＬ２スイッチは、ルータと比較して安価であるとともに、上位のプロトコルを選ばないなど方式的なメリットが大きく、今後さらに普及すると考えられている。しかし、Ｌ２スイッチは、もともとＬＡＮ（Local Area Network）に用いられていた中継装置であり、ＭＡＮなどの広域ネットワークへの適用を前提としていなかったため、いくつかの方式的な問題を抱えている。
【０００４】
たとえば、複数のＬ２スイッチを相互に接続することによって構成される通信網において、パケットが最適な経路を通るように経路制御をおこなう場合、イーサネット（登録商標）のネットワーク冗長方式として定められたスパニングツリープロトコル（ＳＴＰ）やＳＴＰの拡張方式であるＭＳＴＰ（マルチプロトコルＳＴＰ）を用いたとしても、ネットワークの物理構成によっては最適経路を選択することができない場合があり、ネットワーク負荷が特定の経路に集中するという問題がある。
【０００５】
また、ＳＴＰやＭＳＴＰを用いた場合には、ＳＴＰの制約によってホップ数が最大でも２０程度に限定されるので、それ以上の規模のネットワークを構築できないというスケーラビリティに関する問題もある。
【０００６】
これらのことから、上記したＳＴＰやＭＳＴＰの問題点を回避する手法として、いわゆる先着ポート学習方式（以下、「先着学習方式」と記載する）が提案されている（たとえば、特許文献１および特許文献２参照）。先着学習方式は、パケットの遅延が最も少ないポートを学習することによってパケット転送の最適経路を選択しようとする方式である。
【０００７】
具体的には、この先着学習方式は、他の中継装置によってネットワーク上に同送された同一のパケット（以下、「同一パケット」と記載する）が、あるノードに設けられた中継装置の複数のポートに到着した場合、最も早く同一パケットを受け取ったポートをこの同一パケットについての先着ポートとして学習する。そして、先着ポートに到着した同一パケットについては他ポートにフラッディング（一斉配信）するとともに、他ポートに到着した同一パケットを廃棄する。
【０００８】
【特許文献１】特開平３−１６２０３５号公報
【特許文献２】特開平６−３７７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１および特許文献２に開示されているのは先着学習方式の基本概念であり、かかる基本概念のみからは実用的な中継装置を構成することはできないという問題がある。
【００１０】
具体的には、先着学習方式は、「パケットが最も早く到着したポートを先着ポートとみなす方式」であるので、「遅延」が最も少ないポートを用いてパケット転送がおこなわれる。しかし、この「遅延」には、一時的な輻輳の影響を受けやすい、いわゆる「キューイング遅延」が含まれるので、本来最適となるべき経路で「キューイング遅延」が一時的に増加した場合に先着ポートを学習すると、遠回りの経路を最適経路として選択してしまうことになる。つまり、先着学習方式には、最適経路の正確性をいかに確保するかという課題がある。
【００１１】
また、先着学習方式には、「遅延」がほぼ同じ複数の経路がある場合に、最適経路を頻繁に変更してしまう傾向にある。なぜならば、一時的な輻輳によって発生する「キューイング遅延」の影響によって、「遅延」が最も少ない経路が頻繁に入れ替わるからである。このように、最適経路の変更（先着ポートの変更）を頻繁におこなうと、パケットの順序逆転が発生してしまうので好ましくない。つまり、先着学習方式には、最適経路の安定性をいかに確保するかという課題がある。
【００１２】
さらに、先着学習方式には、経路（リンク）や中継装置（ノード）に障害が発生した場合に、いったん学習した最適経路に対してパケット転送をおこないつづけてしまうという問題もある。なお、学習した情報の有効期間を設定することとすれば有効期間経過後には再学習をおこなうことができるものの、有効期間が経過するまでは障害中の経路に対してパケット転送をつづけてしまうことになる。つまり、先着学習方式には、障害時における最適経路の再選択をいかにおこなうかという課題がある。
【００１３】
これらのことから、最適経路の正確性および安定性を確保することができる先着学習方法、この先着学習方法を適用した中継装置および中継装置用プログラムをいかにして実現するかが大きな課題となっている。
【００１４】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、最適経路の正確性および安定性を障害時であっても確保することができる先着学習方法、中継装置および中継装置用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択工程と、前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録工程と、前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程とを含んだことを特徴とする。
【００１６】
また、本発明は、上記の発明において、前記学習情報登録工程は、前記パケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなうことを特徴とする。
【００１７】
また、本発明は、上記の発明において、前記学習対象選択工程は、前記パケットに転送優先度が設定されている場合に、前記学習対象パケットとして高優先度パケットを選択することを特徴とする。
【００１８】
また、本発明は、上記の発明において、前記転送工程は、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、前記学習情報選択工程は、前記ブロードキャストパケットを前記学習対象パケットとして選択することを特徴とする。
【００１９】
また、本発明は、上記の発明において、前記学習情報登録工程は、複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなうことを特徴とする。
【００２０】
また、本発明は、上記の発明において、前記学習情報登録工程は、前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわないことを特徴とする。
【００２１】
また、本発明は、上記の発明において、前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする。
【００２２】
また、本発明は、上記の発明において、前記転送工程は、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、前記学習情報登録工程は、前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去することを特徴とする。
【００２３】
また、本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手段と、前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手段と、前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段とを備えたことを特徴とする。
【００２４】
また、本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手順と、前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手順と、前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択し、選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録し、登録された学習情報に該当するパケットをこの学習情報に係る先着ポートに対して転送するとともに、学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送するよう構成したので、キューイングしたパケット中から経路学習に用いるパケットを選別したうえで学習することによってキューイング遅延の影響を軽減し、最適経路の正確性および安定性を確保することができるという効果を奏する。
【００２６】
また、本発明によれば、パケットに転送優先度が設定されている場合に、低優先度パケットについての先着ポートを高優先度パケットについての先着ポートに変更することによって、学習情報の更新をおこなうよう構成したので、パケットにあらかじめ設定されている転送優先度を用いて学習情報の更新をおこなうことによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
【００２７】
また、本発明によれば、パケットに転送優先度が設定されている場合に、学習対象パケットとして高優先度パケットを選択するよう構成したので、学習対象として低優先度パケットを用いないことによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
【００２８】
また、本発明によれば、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、ブロードキャストパケットをユニキャストパケットよりも優先して転送し、ブロードキャストパケットを学習対象パケットとして選択するよう構成したので、サービスクラスが定義されていないネットワークであっても、最適経路の正確性を向上させることができるという効果を奏する。
【００２９】
また、本発明によれば、複数の学習対象パケットに係る先着ポートについての統計情報に基づいて先着ポートを決定することによって、学習情報の更新をおこなうよう構成したので、単発のパケットによる影響を排除することによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
【００３０】
また、本発明によれば、学習情報に学習時刻を含めて登録することとし、学習時刻から所定の時間が経過するまでは学習情報の更新をおこなわないよう構成したので、一定時間内に先着ポートの切り替えが頻発する事態を回避することによって最適経路の安定性を向上させることができるという効果を奏する。
【００３１】
また、本発明によれば、学習情報に係る送信元アドレスと同一の送信元アドレスを有する学習対象パケットがこの学習情報に係る先着ポートとは異なる他ポートに到着した場合に、この先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとするよう構成したので、統計的に最適な先着ポートの選択をおこなうことができるとともに、先着ポート切り替えの頻発を防止することができるという効果を奏する。
【００３２】
また、本発明によれば、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送することとし、学習情報消去用パケットを受け取ったならば、学習情報を消去するよう構成したので、ネットワーク上に障害が発生した場合であっても、迅速に先着ポートの再選択をおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、この発明に係る先着学習手法の好適な実施例を詳細に説明する。なお、以下では、本発明に係る先着学習手法を中継装置に適用した場合について説明する。また、以下では、本発明に係る先着学習手法の特徴点を明確化するために、従来技術に係る先着学習手法について説明した後に、本発明に係る先着学習手法の各機能について説明し（実施例１）、これらの機能の組合せ例について説明する（実施例２）。
【００３４】
各実施例の説明に先だって、本発明に係る先着学習手法の特徴点を明確化するために、従来技術に係る先着学習方法について図１９〜図２１を用いて説明する。
【００３５】
まず、従来技術に係る先着学習方式を適用した中継装置における未学習パケット受信時の動作について図１９および図２０を用いて説明する。図１９は、従来技術に係る先着学習方式における未学習パケット受信時の動作を示す図であり、図２０は、既学習パケット受信時の動作を示す図である。なお、図１９および図２０に示すノード（ＮｏｄｅＡ、ＮｏｄｅＢなど）はＬ２スイッチなどの中継装置であり、端末１および端末２間でやりとりされるパケットの経路制御をおこなうものとする。
【００３６】
図１９に示すように、従来技術に係る先着学習方式では、送信先識別子（たとえば、物理アドレス）について未学習のパケットを受け取ったノードは受け取ったパケットを到着ポート以外のポートにフラッディング（一斉配信）する。ただし、当然のことながら、パケットのフラッディングがおこなわれるポートはデータ用のポートであり、制御用のポートはフラッディングの対象とはならない。そして、あるノードにおいて、未学習の同一パケットが複数のポートに到着したならば、最も早く到着したパケットについてのみフォワーディング処理をおこなうとともに、パケットが最も早く到着したポート（先着ポート）をパケットの送信元識別子（たとえば、物理アドレス）とともにアドレステーブルに格納することで学習する。
【００３７】
また、図２０に示すように、既学習のパケットを受け取ったノードは、通常のイーサネット（登録商標）スイッチと同様に、学習済みのアドレステーブルに基づいてパケットを転送する。
【００３８】
このような先着学習方式の基本概念は、上記した特許文献１および特許文献２に開示されているものの、開示された基本概念のみからは実用的な中継装置を構成することはできないという問題がある。
【００３９】
具体的には、先着学習方式は、「パケットが最も早く到着したポートを先着ポートとみなす方式」であるので、「遅延」が最も少ないポートを用いてパケット転送をおこなうことになる。一般的に、ネットワークにおけるホップ数が多い場合や、帯域が小さい回線が含まれている場合などには「遅延」が大きくなるので、この方式は大筋では妥当な方式といえる。しかし、遅延の大きな要因の一つであるいわゆる「キューイング遅延」は、その時々の輻輳状況によって大きく変動する。ここで、キューイング遅延とは、パケットが中継装置のキューにキューイングされてから取り出されるまでの遅延時間を指す。
【００４０】
たとえば、本来最適となるべき経路が一時的に輻輳していた場合には、キューイング遅延の影響によって、かかる輻輳経路を経由したパケットが後着パケットとなり、本来最適となるべき経路が選択されないことになる。このように、キューイング遅延を考慮していない従来技術に係る先着学習方式には、最適経路の正確性が低いという問題がある。また、キューイング遅延を考慮していないことに起因して最適経路の安定性が低いという問題もある。次に、この問題点について図２１を用いて説明する。
【００４１】
図２１は、従来技術に係る問題点である先着ポートの不安定性を示す図である。たとえば、同図の（ａ）に示すように、ＳＡ（送信元アドレス）が「ｘ」、ＤＡ（送信先アドレス）が「ｙ」のフラッディングパケットが、ＮｏｄｅＣのｐｏｒｔ２に先着したとすると、ＮｏｄｅＣにおいては、ＳＡ＝ｘの先着ポートはｐｏｒｔ２であると学習される。このような学習がおこなわれると、ＮｏｄｅＣのｐｏｒｔ３に同一のフラッディングパケットが後着したとしても、この後着パケットは廃棄されることになる。
【００４２】
しかし、図２１の（ｂ）に示すように、図２１の（ａ）におけるフラッディングパケットと内容が異なるフラッディングパケット（ＳＡ＝ｘ、ＤＡ＝ｚ）がネットワーク上を流通し、このフラッディングパケットがＮｏｄｅＣのｐｏｒｔ３に先着したとすると、ＮｏｄｅＣにおけるＳＡ＝ｘの先着ポートは、ｐｏｒｔ３に書き換えられてしまう。このような、ポートの書き換えが頻発すると、ＤＡ＝ｘであるユニキャストパケットの送出ポートが頻繁に変わることになり、パケットの順序逆転が頻発して好ましくない。
【００４３】
また、従来技術に係る先着学習方式には、経路（リンク）や中継装置（ノード）に障害が発生した場合に、いったん学習した最適経路に対してパケット転送をおこないつづけてしまうという問題もある。なお、学習した情報の有効期間を設定することとすれば有効期間経過後には再学習をおこなうことができるものの、有効期間が経過するまでは障害中の経路（経路と接続されたポート）に対してパケット転送をつづけてしまうことになる。
【００４４】
このように、従来技術に係る先着学習方式には、最適経路の正確性および安定性の面で問題があるとともに、障害時における最適経路再選択の迅速性の面にも問題がある。本発明に係る先着学習方式は、これらの問題を解決するものである。以下では、まず、実施例１において、本発明に係る先着学習手法の各機能について説明する。
【実施例１】
【００４５】
まず、本発明に係る先着学習方式を適用した中継装置の構成および基本的な動作について図１〜図４を用いて説明する。図１は、本発明に係る先着学習方式を適用した中継装置１０の構成を示すブロック図である。同図に示すように、中継装置１０は、Ｎ個のポートを備えるとともに、パケット送受信部１１と、パケット処理部１２と、テーブル制御部１３と、ＭＡＣテーブル１４と、同一性情報テーブル１５とを備えている。
【００４６】
パケット送受信部１１は、各ポートを介してやりとりされるパケットのカプセリングなど送受信処理に関する処理をおこなう処理部であり、主信号のデータパケットは、このパケット送受信部１１を介してパケット処理部１２へと渡される。また、このパケット送受信部１２は、制御パケットをテーブル制御部１３へと渡す処理をおこなう処理部でもある。
【００４７】
パケット処理部１２は、パケットのフォワーディング処理およびパケット間の同一性判定処理をおこなう処理部である。具体的には、このパケット処理部１２は、パケットを受け取ると、まず、同一性情報テーブル１５にアクセスして同一パケットが既に到着しているか否かを判定する。
【００４８】
そして、同一パケットが既に到着していると判定した場合には、あらたに受け取ったパケットを後着パケットとみなして廃棄する。一方、同一パケットが未だ到着していないと判定した場合には、あらたに受け取ったパケットに関するパケット情報を同一性情報テーブル１５に対して登録する。なお、パケット処理部１２がおこなう詳細な処理手順については図２を用いて後述する。
【００４９】
テーブル制御部１３は、パケット送受信部１３を介して受け取った制御パケットに基づいてＭＡＣテーブル１４および同一性情報テーブル１５における該当レコードの管理および消去処理をおこなう処理部である。
【００５０】
ＭＡＣテーブル１４は、先着パケットの送信元に関する学習情報を管理するテーブルである。ここで、このＭＡＣテーブル１４の例について図３を用いて説明する。図３は、ＭＡＣテーブル１４の一例を示す図である。同図に示すように、ＭＡＣテーブル１４は、送信元を一意に識別する「送信元ＭＡＣアドレス」、先着パケットを受け取ったポート番号をあらわす「先着ポート」および先着パケットを学習した時刻をあらわす「学習時刻」の各項目を含んだテーブルである。
【００５１】
同一性情報テーブル１５は、後着パケットとの同一性判定に用いるために、先着パケットの内容そのもの、または、先着パケットの内容を加工した情報のいずれかを管理するテーブルである。そして、この同一性情報テーブル１５は、先着パケットの内容をあらわす情報である「パケット情報」およびパケット情報を記憶した時刻をあらわす「記憶時刻」の各項目を含んだテーブルである。なお、このパケット情報の内容については特に制約はない。
【００５２】
図４は、同一性情報テーブル１５の一例を示す図である。同図に示すように、「パケット情報」項目にはパケットの内部情報が、「記憶時刻」にはパケット情報を記憶した時刻がそれぞれ格納される。
【００５３】
次に、図１に示したパケット処理部１２の処理手順について図２を用いて説明する。図２は、パケット処理部１２の処理手順を示すフローチャートである。同図に示すように、パケット処理部１２は、パケットが到着すると（ステップＳ１０１）、同一性情報テーブル１５に一致情報があるか否かを判定する（ステップＳ１０２）。そして、同一性情報テーブル１５に一致情報がない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１におけるパケットに関するパケット情報を同一性情報テーブル１５に登録する（ステップＳ１０３）。
【００５４】
つづいて、パケット処理部１２は、ＭＡＣテーブル１４にＳＡ（送信元アドレス）があるか否かを判定し（ステップＳ１０４）、ＳＡがある場合には（ステップＳ１０４，Ｙｅｓ）、該当するエントリの時刻を現時刻に更新する（ステップＳ１０５）。一方、ＳＡがない場合には（ステップＳ１０４，Ｎｏ）、ＭＡＣテーブル１４にＳＡおよび到着ポートを登録するとともに（ステップＳ１０６）、現時刻を登録する（ステップＳ１０７）。
【００５５】
また、パケット処理部１２は、ＭＡＣテーブル１４にＤＡ（送信先アドレス）があるか否かを判定し（ステップＳ１０８）、ＤＡがある場合には（ステップＳ１０８，Ｙｅｓ）、先着ポート宛にユニキャスト送信をおこなって（ステップＳ１０９）処理を終了する。一方、ＤＡがない場合には（ステップＳ１０８，Ｎｏ）、該当パケットが未到着の全ポートに対してフラッディングをおこなって（ステップＳ１１０）処理を終了する。このとき、ポートが例えばＶＬＡＮ（Virtual LAN）などのネットワーク単位でグループ分けされている場合は、パケット処理部１２は、パケットの到着ポートと同じグループに所属するポートのみに対してフラッディングをおこなう。換言すれば、パケット処理部１２は、ＤＡがない場合には（ステップＳ１０８，Ｎｏ）、パケットが未到着のポートのうちブロードキャストドメインの全ポートに対してフラッディングをおこなう。なお、ステップＳ１０２において同一性情報テーブル１５に一致情報があると判定された場合には（ステップＳ１０２，Ｙｅｓ）、パケットを廃棄したうえで（ステップＳ１１１）処理を終了する。
【００５６】
次に、従来技術に係る先着学習方式の問題点の一つである「最適経路の正確性」に関し、本実施例１に係る中継装置１０が最適経路の正確性を向上させるためにとった手法について説明する。パケット転送時におけるトータルの遅延は、「トータル遅延＝伝送遅延＋パケット処理遅延＋キューイング遅延」とあわわされる。このうち、キューイング遅延は、上記したように、一時的な輻輳によって左右される不確定要素であり、最適経路の選択に大きな影響を与える要素である。
【００５７】
そこで、このような一時的な輻輳の影響を排除する手法が望まれるが、キューイング遅延を小さくする手法は、大きく分けて二つ考えられる。一つは、「キューイング遅延自体を小さくする手法」であり、もう一つは、「キューイング遅延がトータル遅延に占める割合を小さくする手法」である。
【００５８】
まず、「キューイング遅延自体を小さくする手法」として、元々キューイング遅延が小さいパケットを学習対象パケットとする手法が考えられる。たとえば、ネットワーク上を流通するパケットに複数のサービスクラス（転送優先度をあらわすクラス）が存在する場合、優先度が高いパケットは優先的に転送されていくので、キューイング遅延の影響を受ける可能性が低い。したがって、先着ポートの学習（先着ポートの更新を含む）をおこなう際に、高優先度クラスを優先した学習をおこなえばよい。
【００５９】
図５は、サービスクラスに基づいた学習情報更新を示す図である。同図の（ａ）に示すように、未学習状態で低優先度パケットがＮｏｄｅＣのｐｏｒｔ３に到着すると、テーブル制御部１３は、この低優先度パケットに基づいてＭＡＣテーブル１４の情報を更新する。そして、同図の（ｂ）に示すように、ＳＡが同一の高優先度パケットがＮｏｄｅＣのｐｏｒｔ２に到着したならば、ＭＡＣテーブル１４の情報を高優先度パケットを受け取ったポート（ｐｏｒｔ２）に変更する。
【００６０】
なお、図５には、低優先度パケットに基づいて更新したＭＡＣテーブル１４を高優先度パケットに基づいて更新することによって、高優先度クラスを優先した学習をおこなう場合について説明したが、これに限らず、たとえば、高優先度パケット１個を低優先度パケット複数個とみなすといった、重み付けをおこなうこととしてもよい。さらに、低優先度パケットを学習対象パケットから除外することによって高優先度クラスを優先した学習をおこなうこととしてもよい。この場合、パケット処理部１２が、サービスクラスの閾値を保持し、この閾値よりも小さいサービスクラスのパケットを学習対象から除外することとすればよい。
【００６１】
このように、ネットワーク上を流通するパケットに複数のサービスクラスが存在する場合には、高優先度クラスを優先した学習をおこなえばよい。しかし、サービスクラスを有しないパケットを取り扱う場合には、パケットの読み出しを優先的におこなうパケットを定義し、該当するパケットに係る先着情報を優先することとすればよい。
【００６２】
ここで、ネットワーク上を流通するパケットには、フラッディングされるパケット（フラッディングパケット）と、フラッディングされないパケットとが存在し、フラッディングパケットとしては、ブロードキャストパケット、マルチキャストパケット、Ｕｎ−ｋｎｏｗｎパケットがある。一方、フラッディングされないパケットとしては、ＭＡＣアドレスが学習済みである場合のユニキャストパケットがある。
【００６３】
そこで、上記したフラッディングパケットの読み出しを優先化し、フラッディングされないユニキャストパケットよりも早く転送していくこととすればよい。このようにすることで、サービスクラスを有しないパケットを取り扱う場合であっても、キューイング遅延の影響を抑制することができる。
【００６４】
ところで、すべてのフラッディングパケットを高優先化してしまうと、あらたな問題が発生する可能性がある。図６は、パケット順序逆転の一例を示す図である。同図に示すように、あるユーザ（端末１）のデータフローがあり、パケット１到着時には、ＭＡＣテーブル１４にエントリが存在したとする。この場合、パケット１は通常のユニキャストパケットであるので、低優先キューにバッファリングされる（図６の（ａ）参照）。
【００６５】
しかし、パケット２が到着する前にそのエントリがエージング（Aging）されると、エージングされた時点から、このＭＡＣアドレスをもつパケットはＵｎ−ｋｎｏｗｎパケット（フラッディングパケットの一つ）として取り扱われるため高優先キューにバッファリングされる（図６の（ｂ）参照）。
【００６６】
そして、この時点で低優先キューが輻輳していると、パケット２がパケット１よりも先に読み出されてしまう（図６の（ｃ）参照）。このように、データフローに含まれるパケットを優先対象に含めてしまうと、データフロー内のパケット順序逆転が発生する可能性がある。
【００６７】
そこで、データフローに含まれないパケット、すなわち、プロトコル制御パケットのみを高優先化し、高優先化したプロトコル制御パケットの先着情報に基づいて学習情報を更新することとすれば、パケット順序逆転の発生を抑制することができる。ここで、プロトコル制御パケットとしては、たとえば、ＡＲＰ（Address Resolution Protocol）パケットがある。
【００６８】
このＡＲＰパケットは、ＩＰ（Internet Protocol）アドレスをキーとしてＭＡＣアドレスを調べるプロトコル制御パケットである。なお、プロトコル制御パケットは、単独のパケットごとに機能するパケットであるので、データフローに含まれるパケットとは異なりパケット順序逆転が発生したとしても上位のプロトコルに影響を与えない。
【００６９】
次に、「キューイング遅延がトータル遅延に占める割合を小さくする手法」について説明する。この手法は、統計的性質を利用することによってキューイング遅延の影響を低減するものである。すなわち、パケット１個に着目すると瞬時的な輻輳の影響を大きく受けるが、たとえば、パケット１００個の平均をとれば瞬時的な輻輳の影響は小さくなる。
【００７０】
そこで、上記したトータル遅延についての関係式「トータル遅延＝伝送遅延＋パケット処理遅延＋キューイング遅延」を、「平均トータル遅延＝平均伝送遅延＋平均パケット処理遅延＋平均キューイング遅延」に置きかえることでキューイング遅延がトータル遅延に占める割合を小さくすることができる。
【００７１】
図７は、統計情報に基づいた先着ポート決定方式を示す図である。同図に示すように、フラッディングパケットのサンプル数が所定数（たとえば、１００個）に達するまでは先着ポートを決定せず、所定数に達した時点で先着パケットが最も多く到着したポートを先着ポートとすればよい。なお、図７では、パケット数に着目した統計情報を用いたが、パケットの到着時間差を計測し、統計的に最短時間となるポートを先着ポートとすることとしてもよい。
【００７２】
次に、従来技術に係る先着学習方式の問題点の一つである「最適経路の安定性」に関し、本実施例１に係る中継装置１０が最適経路の安定性を向上させるためにとった手法について説明する。最適経路を安定化するためには、先着ポートが頻繁に切り替わらないことが必要となる。そして、先着ポートが頻繁に切り替わらないようにするためには、先着ポートの切り替えに関して所定の条件を課すこととすればよい。
【００７３】
たとえば、「時間」を条件として先着ポートの切り替えを抑制することができる。具体的には、ＭＡＣテーブル１４に登録された先着ポートを所定時間内に書き換えることを禁止する。図８は、学習時刻およびタイマに基づいた先着ポート決定方式を示す図である。
【００７４】
図８に示すように、ＭＡＣテーブル１４のエントリ毎にタイマを保持することとし、あらたにアドレスを学習した時点、または、先着ポートの切り替えをおこなった時点を起点としてタイマを起動する。そして、タイマが所定の満期を迎えるまでは先着ポートの切り替え条件を満たした場合（たとえば、図５の（ｂ）参照）であっても、先着ポートの上書きをおこなわない。
【００７５】
また、時間ではなく、「パケット量」を条件とすることによっても先着ポートの切り替えを抑制することができる。具体的には、先着ポート以外のポートから連続Ｎ個のパケットが先着した場合に、先着ポートを書き換えることとする。図９は、パケットの連続到着個数に基づいた先着ポート決定方式を示す図である。
【００７６】
図９に示すように、ＭＡＣテーブル１４の各エントリに、「先着ポート候補（先着候補）」および「連続到着個数（連続個数）」の項目を持たせる。そして、フラッディングパケットが先着ポートとは異なるポートから先に到着した場合には、このポートを「先着ポート候補」として登録するとともに、「連続到着個数」を１とする。
【００７７】
さらに、同じポートからパケットが到着すると「連続到着個数」をカウントアップする。そして、この個数が「変更閾値」（図９では８個）に達したならば、「先着ポート候補」に登録されたポートをあらたな先着ポートとする。なお、途中で、先着ポート候補以外のポートからフラッディングパケットが到着した場合には、連続到着個数をリセットするものとする。
【００７８】
また、パケット量ではなく、「統計的なパケット量」を条件とすることによっても先着ポートの切り替えを抑制することができる。図１０は、先着到着比率に基づいた先着ポート決定方式を示す図である。同図に示すように、ＭＡＣテーブル１４の各エントリに、ポート毎に区分けした先着パケットの比率または到着数をあらわす「先着到着比率（先着到着比）」の項目を持たせる。そして、現在の先着ポートについての「先着到着比率」があらかじめ定めておいた「変更閾値」（図１０では３０％）を下回った場合に、先着ポートの切り替えをおこなう。
【００７９】
たとえば、図１０に示したように、ＭＡＣアドレスが「ｘ」のエントリにおいて、現在の先着ポートはｐｏｒｔ２であるが、このｐｏｒｔ２の先着到着比率が２０％となって変更閾値の３０％を下回ったので、あらたな先着ポートとして先着到着比率が最も高いｐｏｒｔ３が選択されることになる。
【００８０】
ところで、図１０では、先着到着比率に基づいた先着ポート決定方式について示したが、先着到着比率同士の比に基づいて先着ポートを決定することとしてもよい。図１１は、先着到着比率同士の比に基づいた先着ポート決定方式を示す図である。具体的には、現在の先着ポートについての先着到着比率と、他のポートについての最大先着到着比率との比が所定の「一定比率」を下回った場合に、この最大先着到着比率を有する他のポートをあらたな先着ポートに決定する。
【００８１】
図１１に示したように、「一定比率」を８０％に設定するとともに、現在の先着ポート（ｐｏｒｔ２）の先着到着比率が３０％まで低下した場合について説明する。この場合に、先着ポート以外のポートの中で最も先着到着比率が高いポートはｐｏｒｔ３であるので、ｐｏｒｔ３の先着到着比率（４０％）に一定比率（８０％）をかけた値（４０％×８０％＝３２％）が先着ポート切り替えの閾値となる。そして、ｐｏｒｔ２の先着到着比率（３０％）は、この閾値（３２％）を下回っているので、ｐｏｒｔ３があらたな先着ポートとして選択される。
【００８２】
この先着到着比率同士の比に基づいた手法（図１１参照）は、先着到着比率に基づいた手法（図１０参照）と比べて以下のメリットがある。すなわち、図１０に示した手法で、変更閾値を３０％に設定し、５つのポートの先着到着比率がすべて２０％程度である場合を仮定すると、先着ポートの先着到着比率は常に変更閾値を下回った状態になるので先着到着比率のトップが入れ替わるたびに先着ポートが変更されることになる。
【００８３】
これに対し、図１１に示した手法は、５つのポートの先着到着比率がすべて２０％程度である場合であっても、たとえば、「一定比率」を８０％に設定すると、先着ポート切り替えの閾値は１６％（２０％×８０％）となるので、いったん先着ポートとして選択されると先着到着比率が１６％を下回るまでは、先着ポートの切り替えがおこなわれない。したがって、先着ポートの頻繁な切り替えを抑制することができる。
【００８４】
なお、図７〜図１１では、統計情報や時間に基づいて先着ポートを更新する手法を示したが、いったん学習した先着ポートを変更しないこととしてもよい。このようにすることで、先着ポートが不要に変更されることを完全に防止することができる。
【００８５】
次に、従来技術に係る先着学習方式の問題点の一つである「障害時における最適経路再選択の迅速性」に関し、本実施例１に係る中継装置１０が障害時の最適経路再選択を迅速におこなうためにとった手法について説明する。
【００８６】
ネットワーク上の経路（リンク）や中継装置（ノード）に障害が発生した場合、障害箇所は使用不可能となるので、障害箇所を通る経路はＭＡＣテーブルから早急に削除する必要がある。たとえば、スパニングツリープロトコル（ＳＴＰ）には、ＴＣフラグを立てたＢＰＤＵ（Bridge Protocol Data Unit）を送信することによって障害を通知し、各中継装置（ノード）のＭＡＣテーブル上から障害箇所に係る経路情報を削除する仕組みがある。
【００８７】
そこで、先着学習方式においても、ＭＡＣテーブル１４消去用の制御パケットを定義し、障害発生時にはこの制御パケットをフラッディングし、テーブル制御部１３がこの制御パケットを受け取ったならば、ＭＡＣテーブル１４の該当箇所を消去することとすればよい。また、この制御パケットとして、上記したＢＰＤＵをそのまま流用することとしてもよい。つまり、ＴＣフラグが立ったＢＰＤＵを受け取った場合に、テーブル制御部１３が、先着ポートを学習したＭＡＣテーブル１４の該当箇所を消去することとすればよい。
【００８８】
さらに、ＭＡＣテーブル１４消去用の制御パケットを用いることなくＭＡＣテーブル１４の消去をおこなうこととしてもよい。たとえば、主信号パケットに障害通知を示すタグを付与してフラッディングするとともに、このタグ付きの主信号パケットを受け取ったパケット処理部１２がＭＡＣテーブル１４の該当箇所を消去することとすればよい。
【００８９】
上述してきたように、本実施例１では、パケットが到着した場合にパケット処理部が同一性情報テーブルに一致情報があるか否かを判定したうえで、一致情報がない場合には、この同一性情報テーブルに対してパケット情報を登録するよう構成するとともに、同一性情報テーブルに登録されたパケット情報に基づいてパケットの同一性判定をおこなうよう構成した。また、ＭＡＣテーブルへ格納する先着ポートに関する学習情報について、学習対象とするパケットを選別するとともに、時間または統計情報に基づいて先着ポートの切り替えをおこなうよう構成した。したがって、最適経路の正確性および安定性を確保することができる。
【実施例２】
【００９０】
本実施例２では、実施例１で説明した本発明に係る先着学習手法の各機能の組合せ例について図１２〜図１８を用いて説明する。なお、本実施例２では、最適経路の正確性を向上させる手法として「フラッディングパケットの読み出しを優先化することによってキューイング遅延自体を抑制する手法」を、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」（図１０参照）を、障害時における最適経路再選択を迅速におこなう手法として「ＳＴＰにおけるＢＰＤＵを流用する手法」を、組み合わせた場合について説明する。
【００９１】
なお、先着ポート学習時におけるパケット同一性の判定においては、イーサネット（登録商標）のＦＣＳ（Frame Check Sequence）を検査することとする。また、図１０における「変更閾値」は４０％に設定されているものとする。
【００９２】
図１２は、本実施例２におけるネットワーク構成を示す図である。同図に示すように、ネットワーク上には、ＮｏｄｅＡ〜ＮｏｄｅＣの３つのノードがあり、それぞれのノードがＬｉｎｋ１〜Ｌｉｎｋ３の経路で接続されている。また、ＮｏｄｅＢはＬｉｎｋ４を介してＬＡＮ１と接続されており、ＮｏｄｅＣはＬｉｎｋ５を介してＬＡＮ２に接続されている。なお、ＮｏｄｅＡ〜ＮｏｄｅＣは、それぞれ中継装置１０によって構成されているものとする。また、これらのＬＡＮ１、２およびＮｏｄｅＡ〜ＮｏｄｅＣは、同一のＶＬＡＮなどのネットワークグループに所属しているものとする。したがって、例えばＮｏｄｅＢのｐｏｒｔ１に対して、ＮｏｄｅＢのｐｏｒｔ２およびｐｏｒｔ３は、ブロードキャストドメインのポートである。
【００９３】
図１３は、未学習パケットがノードＢ（ＮｏｄｅＢ）に到着した場合の動作を示す図である。同図に示すように、ＬＡＮ１上の端末装置から送出されたＳＡ＝ｂ／ＤＡ＝ａのパケットがＮｏｄｅＢのｐｏｒｔ１に到着すると、ＮｏｄｅＢでは、図２に示したフローに従ってこのパケットを取り扱う。まず、ＮｏｄｅＢの中継装置１０は、同一性情報テーブル１５を参照するが、このパケットは未学習パケットであるので、このパケットは廃棄されない。また、ＭＡＣテーブル１４にＳＡは存在しないので、ＳＡ＝ａの先着ポートはｐｏｒｔ１と学習される。さらに、ＭＡＣテーブルにはＤＡも存在しないので、このパケットはｐｏｒｔ２およびｐｏｒｔ３に対してフラッディングされることになる。
【００９４】
そして、ｐｏｒｔ２およびｐｏｒｔ３に対してフラッディングされたフラッディングパケットは、「フラッディングパケットの読み出しを優先化することによってキューイング遅延自体を抑制する手法」に従い、高優先キューにバッファリングされ、優先的に読み出されることになる。
【００９５】
ところで、ｐｏｒｔ２およびｐｏｒｔ３に対してフラッディングされたフラッディングパケット（２つのフラッディングパケット）は、２つの経路（Ｌｉｎｋ２、Ｌｉｎｋ１＋Ｌｉｎｋ３）でＮｏｄｅＣに到着することになるが、ここでは、Ｌｉｎｋ２の経路、すなわち、ＮｏｄｅＣにおけるｐｏｒｔ２からの到着が早かったものとする。図１４は、フラッディングパケットがノードＣ（ＮｏｄｅＣ）へ到着した場合の動作を示す図である。
【００９６】
ＮｏｄｅＣでも、図２に示したフローに従ってこのフラッディングパケットを取り扱うので、ＦＣＳの記憶およびＭＡＣ学習をおこなった後、このフラッディングパケットをｐｏｒｔ１およびｐｏｒｔ３に対してフラッディングする。ここで、本実施例２では、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」（図１０参照）を用いているので、ＭＡＣテーブル１４には先着到着比率が保持される。
【００９７】
なお、このフラッディングパケットは、ＮｏｄｅＣへ到着した最初のＳＡ＝ｂであるパケットであるので、ｐｏｒｔ２の先着到着比率は、この時点で１００％となる。また、図１４においては、ＮｏｄｅＣにのみ先着到着比率を含んだＭＡＣテーブル１４を示しているが、他のノード（ＮｏｄｅＡおよびＮｏｄｅＣ）も同様のＭＡＣテーブル１４を有しているものとする。
【００９８】
そして、図１４に示すように、ＮｏｄｅＣのｐｏｒｔ３に遅れて到着したフラッディングパケットは、ＮｏｄｅＣの同一性情報テーブル１５上に、既に一致するＦＣＳ値が存在することになるので、後着パケットとみなされて廃棄される。また、ＮｏｄｅＣのｐｏｒｔ３から送出されたパケットもＮｏｄｅＡの同一性情報テーブル１５上に、既に一致するＦＣＳ値が存在することになるので、廃棄されることになる。
【００９９】
次に、図１４に示したフラッディングパケットに対する応答パケットがＬＡＮ２から送出された場面について図１５を用いて説明する。図１５は、ユニキャストパケットの転送を示す図である。同図に示すように、ＬＡＮ２から送出された応答パケットは、ＤＡ＝ｂ／ＳＡ＝ａのパケットである。このパケットがＮｏｄｅＣに到着すると、図２のフローに従った処理が実行される。
【０１００】
まず、ＮｏｄｅＣの中継装置１０は、同一性情報テーブル１５を参照するが、一致する情報はないのでこのパケットは廃棄されない。また、ＭＡＣテーブル１４にＤＡ＝ｂが存在するか否かが検査されるが、ＤＡ＝ｂは既に存在するので、このパケットはユニキャストパケットとしてｐｏｒｔ２を介してＮｏｄｅＢへ向け転送される。
【０１０１】
ところで、図１５の状態からしばらくすると、ＮｏｄｅＣにはより多くのフラッディングパケットが到着するが、ここで、ＮｏｄｅＢ→ＮｏｄｅＣの経路と、ＮｏｄｅＢ→ＮｏｄｅＡ→ＮｏｄｅＣの経路の遅延がほぼ同じであると仮定する。
【０１０２】
本実施例２では、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」（図１０参照）を用いているので、先着ポートが変更される場合がある。図１６は、先着ポート変更前の状態を示す図である。同図に示すように、ＮｏｄｅＣにおけるｐｏｒｔ２の先着到着比率が４０％（変更閾値）を若干超えた状態（４１％）において、ｐｏｒｔ３からフラッディングパケットが先着したとする。これにより、ｐｏｒｔ２の先着到着比率が４０％（変更閾値）を下回った場合には、先着ポートの切り替えがおこなわれる。
【０１０３】
図１７は、先着ポート変更後の状態を示す図である。同図に示すように、ｐｏｒｔ２の先着到着比率は３９％となり４０％（変更閾値）を下回ったので、ｐｏｒｔ３があらたな先着ポートとして登録される。なお、ｐｏｒｔ２が再び先着ポートになるためには、３９％の先着到着比率が６０％まで上がる必要があるので、先着ポート切り替えの頻発は抑制される。
【０１０４】
次に、ＮｏｄｅＢとＮｏｄｅＣとを結ぶ経路（リンク）に障害が発生した場合について説明する。図１８は、障害発生時の動作を示す図である。ＮｏｄｅＢおよびＮｏｄｅＣは、物理層の障害検出によってこの障害を検知することができるので、ＮｏｄｅＢおよびＮｏｄｅＣの中継装置１０は、ＭＡＣテーブル１４を消去する。さらに、ＮｏｄｅＢおよびＮｏｄｅＣの中継装置１０は、「ＳＴＰにおけるＢＰＤＵを流用する手法」に従ってＢＰＤＵを生成し、生成したＢＰＤＵのフラッディングをおこなう。そして、このＢＰＤＵを受け取ったＮｏｄｅＡの中継装置１０は、障害を検知してＭＡＣテーブル１４を消去する。
【０１０５】
上述したように、本実施例２では、実施例１で示した中継装置の機能の組み合わせ例を示した。しかしながら、これに限らず、実施例１で示した他の機能をそれぞれ組み合わせることとしてもよい。
【０１０６】
また、上記した各実施例では、本発明を実現する中継装置を機能面から説明したが、中継装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。
【０１０７】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１０８】
（付記１）パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択工程と、前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録工程と、前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程とを含んだことを特徴とする先着学習方法。
【０１０９】
（付記２）前記学習情報登録工程は、前記パケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなうことを特徴とする付記１に記載の先着学習方法。
【０１１０】
（付記３）前記学習対象選択工程は、前記パケットに転送優先度が設定されている場合に、前記学習対象パケットとして高優先度パケットを選択することを特徴とする付記１に記載の先着学習方法。
【０１１１】
（付記４）前記転送工程は、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、前記学習情報選択工程は、前記ブロードキャストパケットを前記学習対象パケットとして選択することを特徴とする付記１に記載の先着学習方法。
【０１１２】
（付記５）前記ブロードキャストパケットは、プロトコル制御パケットであることを特徴とする付記４に記載の先着学習方法。
【０１１３】
（付記６）前記学習情報登録工程は、複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなうことを特徴とする付記１に記載の先着学習方法。
【０１１４】
（付記７）前記学習情報登録工程は、前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわないことを特徴とする付記１に記載の先着学習方法。
【０１１５】
（付記８）前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに連続して所定回数以上到着したことを条件として、当該他ポートをあらたな先着ポートとすることを特徴とする付記１に記載の先着学習方法。
【０１１６】
（付記９）前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする付記１に記載の先着学習方法。
【０１１７】
（付記１０）前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする付記１に記載の先着学習方法。
【０１１８】
（付記１１）前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合であっても、先着ポートの変更をおこなわないことを特徴とする付記１に記載の先着学習方法。
【０１１９】
（付記１２）前記転送工程は、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、前記学習情報登録工程は、前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去することを特徴とする付記１に記載の先着学習方法。
【０１２０】
（付記１３）前記転送工程は、前記学習情報消去用パケットとしてＳＴＰで用いられるＢＰＤＵを用いることを特徴とする付記１２に記載の先着学習方法。
【０１２１】
（付記１４）前記転送工程は、前記学習情報消去用パケットとして通常パケットに障害情報を付加したパケットを用いることを特徴とする付記１２に記載の先着学習方法。
【０１２２】
（付記１５）前記転送工程は、前記学習情報に該当しないパケットを前記到着ポート以外のすべてのポートに対して転送することを特徴とする付記１に記載の先着学習方法。
【０１２３】
（付記１６）前記転送工程は、前記中継装置に備えられた複数のポートがグループ分けされている場合に、前記学習情報に該当しないパケットを前記到着ポートと同一グループに所属するすべてのポートに対して転送することを特徴とする付記１に記載の先着学習方法。
【０１２４】
（付記１７）パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手段と、前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手段と、前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段とを備えたことを特徴とする中継装置。
【０１２５】
（付記１８）パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手順と、前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手順と、前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順とをコンピュータに実行させることを特徴とする中継装置用プログラム。
【産業上の利用可能性】
【０１２６】
以上のように、本発明に係る先着学習方法、中継装置および中継装置用プログラムは、Ｌ２スイッチのパケット経路制御に有用であり、特に、Ｌ２スイッチを広域ネットワークに用いる場合のパケット経路制御に適している。
【図面の簡単な説明】
【０１２７】
【図１】中継装置の構成を示すブロック図である。
【図２】パケット処理部の処理手順を示すフローチャートである。
【図３】ＭＡＣテーブルの一例を示す図である。
【図４】同一性情報テーブルの一例を示す図である。
【図５】サービスクラスに基づいた学習情報更新を示す図である。
【図６】パケット順序逆転の一例を示す図である。
【図７】統計情報に基づいた先着ポート決定方式を示す図である。
【図８】学習時刻およびタイマに基づいた先着ポート決定方式を示す図である。
【図９】パケットの連続到着個数に基づいた先着ポート決定方式を示す図である。
【図１０】先着到着比率に基づいた先着ポート決定方式を示す図である。
【図１１】先着到着比率同士の比に基づいた先着ポート決定方式を示す図である。
【図１２】実施例２に係るネットワーク構成を示す図である。
【図１３】未学習パケットがノードＢへ到着した場合の動作を示す図である。
【図１４】フラッディングパケットがノードＣへ到着した場合の動作を示す図である。
【図１５】ユニキャストパケットの転送を示す図である。
【図１６】先着ポート変更前の状態を示す図である。
【図１７】先着ポート変更後の状態を示す図である。
【図１８】障害発生時の動作を示す図である。
【図１９】従来技術に係る先着学習方式における未学習パケット受信時の動作を示す図である。
【図２０】従来技術に係る先着学習方式における既学習パケット受信時の動作を示す図である。
【図２１】従来技術に係る問題点である先着ポートの不安定性を示す図である。
【符号の説明】
【０１２８】
１０  中継装置
１１  パケット送受信部
１２  パケット処理部
１３  テーブル制御部
１４  ＭＡＣテーブル
１５  同一性情報テーブル
【図１】
2008005458.tif 000003
【図２】
2008005458.tif 000004
【図３】
2008005458.tif 000005
【図４】
2008005458.tif 000006
【図５】
2008005458.tif 000007
【図６】
2008005458.tif 000008
【図７】
2008005458.tif 000009
【図８】
2008005458.tif 000010
【図９】
2008005458.tif 000011
【図１０】
2008005458.tif 000012
【図１１】
2008005458.tif 000013
【図１２】
2008005458.tif 000014
【図１３】
2008005458.tif 000015
【図１４】
2008005458.tif 000016
【図１５】
2008005458.tif 000017
【図１６】
2008005458.tif 000018
【図１７】
2008005458.tif 000019
【図１８】
2008005458.tif 000020
【図１９】
2008005458.tif 000021
【図２０】
2008005458.tif 000022
【図２１】
2008005458.tif 000023