(57)【要約】【課題】同一パケットの判定を高精度でおこなうとともに、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうこと。【解決手段】パケットが到着した場合にパケット処理部が同一性情報テーブルに一致情報があるか否かを判定したうえで、一致情報がない場合には、この同一性情報テーブルに対してパケット全体、パケット全体のハッシュ値、パケットの所定部分、あるいは、パケットの所定部分のハッシュ値を登録するよう構成するとともに、同一性情報テーブルに登録された情報に基づいてパケットの同一性判定をおこなうよう構成する。【選択図】        図１
2007258955.tif 000002
【特許請求の範囲】
【請求項１】
パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、
受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持工程と、
前記パケット情報保持工程によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定工程と
を含んだことを特徴とする先着学習方法。
【請求項２】
前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、
前記同一性判定工程は、
前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項１に記載の先着学習方法。
【請求項３】
前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、
前記同一性判定工程は、
前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項１に記載の先着学習方法。
【請求項４】
前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、
前記同一性判定工程は、
前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項１に記載の先着学習方法。
【請求項５】
前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分のハッシュ値であり、
前記同一性判定工程は、
前記所定部分のハッシュ値と後着パケットの前記所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項１に記載の先着学習方法。
【請求項６】
パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、
受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手段と、
前記パケット情報保持手段によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手段と
を備えたことを特徴とする中継装置。
【請求項７】
前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、
前記同一性判定手段は、
前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項６に記載の中継装置。
【請求項８】
前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、
前記同一性判定手段は、
前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項６に記載の中継装置。
【請求項９】
前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、
前記同一性判定手段は、
前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする請求項６に記載の中継装置。
【請求項１０】
パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、
受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手順と、
前記パケット情報保持手順によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手順と
をコンピュータに実行させることを特徴とする中継装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数のポートに対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法、中継装置および中継装置用プログラムに関し、特に、同一パケットの判定を高精度でおこなうことができるとともに、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうことができる先着学習方法、中継装置および中継装置用プログラムに関するものである。
【背景技術】
【０００２】
広域イーサネット（登録商標）サービス（Ethernet（登録商標）  Service）の普及に伴い、ＭＡＮ（Metro  Area  Network）やＷＡＮ（Wide  Area  Network）といった広域ネットワークに対するイーサネット（登録商標）技術の進出がめざましくなっている。また、このような広域ネットワーク上を流通するデータパケットを中継する中継装置として、近年、Ｌ２スイッチ（Layer  2  Switch）が注目されている。
【０００３】
このＬ２スイッチは、ルータと比較して安価であるとともに、上位のプロトコルを選ばないなど方式的なメリットが大きく、今後さらに普及すると考えられている。しかし、Ｌ２スイッチは、もともとＬＡＮ（Local  Area  Network）に用いられていた中継装置であり、ＭＡＮなどの広域ネットワークへの適用を前提としていなかったため、いくつかの方式的な問題を抱えている。
【０００４】
たとえば、複数のＬ２スイッチを相互に接続することによって構成される通信網において、パケットが最適な経路を通るように経路制御をおこなう場合、イーサネット（登録商標）のネットワーク冗長方式として定められたスパニングツリープロトコル（ＳＴＰ）やＳＴＰの拡張方式であるＭＳＴＰ（マルチプロトコルＳＴＰ）を用いたとしても、ネットワークの物理構成によっては最適経路を選択することができない場合があり、ネットワーク負荷が特定の経路に集中するという問題がある。
【０００５】
また、ＳＴＰやＭＳＴＰを用いた場合には、ＳＴＰの制約によってホップ数が最大でも２０程度に限定されるので、それ以上の規模のネットワークを構築できないというスケーラビリティに関する問題もある。
【０００６】
これらのことから、上記したＳＴＰやＭＳＴＰの問題点を回避する手法として、いわゆる先着ポート学習方式（以下、「先着学習方式」と記載する）が提案されている。具体的には、この先着学習方式は、他の中継装置によってネットワーク上に同送された同一のパケット（以下、「同一パケット」と記載する）が、あるノードに設けられた中継装置の複数のポートに到着した場合、最も早く同一パケットを受け取ったポートをこの同一パケットについての先着ポートとして学習する。そして、先着ポートに到着した同一パケットについては他ポートにフラッディング（一斉配信）するとともに、他ポートに到着した同一パケットを廃棄する。
【０００７】
ところで、この先着学習方式においては、複数のポートから受け取ったパケットが同一パケットであるか否かの判定精度が非常に重要となる。その理由は、同一パケットではないにもかかわらず同一パケットであると判定してしまうと、後着パケットは廃棄されてしまいパケット損が発生してしまうからである。また、同一パケットであるにもかかわらず同一パケットではないと判定してしまうと冗長なパケットがネットワーク上を流通してしまうからである。
【０００８】
このため、先着学習方式におけるパケット同一性判定技術が種々提案されている。たとえば、特許文献１には、所定時間内に受け取ったパケットの送信元アドレスおよび送信先アドレスが一致したパケットを同一パケットと判定する先着学習方式が開示されている。また、特許文献２には、ネットワークの入口ノードに設置された中継装置が、各パケットに対してパケット識別用の識別タグを付加し、ネットワーク上の各中継装置は、この識別タグを用いてパケットの同一性判定をおこなう先着学習方式が開示されている。
【０００９】
【特許文献１】特開平３−１６２０３５号公報
【特許文献２】特開平６−３７７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に開示されている技術は、送信元アドレスおよび送信先アドレスが一致したパケットを所定時間内に複数個受け取ると、これらのパケットをすべて同一パケットと判定しまうので、同一パケットではないパケットを廃棄してしまうことによって一時的な通信途絶状態を引き起こすという問題がある。
【００１１】
また、特許文献２に開示されている技術は、独自の識別タグを用いる技術であるので、この識別タグを認識することができる中継装置のみからネットワークを構成する必要がある。したがって、ネットワーク上にある既存の中継装置をそのまま使用することができないという問題がある。
【００１２】
これらのことから、同一パケットの判定を高精度でおこなうことができるとともに、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうことができる先着学習方法、この先着学習方法を適用した中継装置をいかにして実現するかが大きな課題となっている。
【００１３】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、同一パケットの判定を高精度でおこなうことができるとともに、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうことができる先着学習方法、中継装置および中継装置用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持工程と、前記パケット情報保持工程によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定工程とを含んだことを特徴とする。
【００１５】
また、本発明は、上記の発明において、前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、前記同一性判定工程は、前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００１６】
また、本発明は、上記の発明において、前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、前記同一性判定工程は、前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００１７】
また、本発明は、上記の発明において、前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、前記同一性判定工程は、前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００１８】
また、本発明は、上記の発明において、前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分のハッシュ値であり、前記同一性判定工程は、前記所定部分のハッシュ値と後着パケットの前記所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００１９】
また、本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手段と、前記パケット情報保持手段によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手段とを備えたことを特徴とする。
【００２０】
また、本発明は、上記の発明において、前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、前記同一性判定手段は、前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００２１】
また、本発明は、上記の発明において、前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、前記同一性判定手段は、前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００２２】
また、本発明は、上記の発明において、前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、前記同一性判定手段は、前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする。
【００２３】
また、本発明は、上記の発明において、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手順と、前記パケット情報保持手順によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、受け取ったパケットに基づいて生成されるパケット情報を保持するとともに、保持されたパケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定するよう構成したので、パケットに基づいて生成されるパケット情報を同一性判定に用いることによって同一パケットの判定を高精度におこなうことができる。また、パケットに独自の情報を付加することなく同一性判定をおこなうので、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうことができるという効果を奏する。
【００２５】
また、本発明によれば、受け取ったパケットそのものを含んだ情報をパケット情報として用いることとし、このパケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定するよう構成したので、同一性判定におけるパケット誤認識率を０％にすることができるという効果を奏する。
【００２６】
また、本発明によれば、受け取ったパケットそのもののハッシュ値をパケット情報として用いることとし、このハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定するよう構成したので、パケット情報保持用のメモリ領域サイズを抑制することができるという効果を奏する。
【００２７】
また、本発明によれば、受け取ったパケットの所定部分に関する情報をパケット情報として用いることとし、このパケット情報に含まれる所定部分と後着パケットの所定部分とが一致した場合に両パケットが同一パケットであると判定するよう構成したので、同一性判定を高精度に保ちつつ、パケット情報保持用のメモリ領域サイズを抑制することができるという効果を奏する。
【００２８】
また、本発明によれば、受け取ったパケットの所定部分のハッシュ値をパケット情報として用いることとし、この所定部分のハッシュ値と後着パケットの所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定するよう構成したので、同一性判定を高精度に保ちつつ、パケット情報保持用のメモリ領域サイズを抑制することができるとともに、複雑な同一性判定を容易におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明に係る先着学習手法の好適な実施例を詳細に説明する。なお、以下では、本発明に係る先着学習手法を中継装置に適用した場合について説明する。
【００３０】
実施例の説明に先だって、本発明に係る先着学習手法の特徴点を明確化するために、従来技術に係るＳＴＰ、ＭＳＴＰおよび先着学習方法の問題点について、図７〜図１０を用いて説明する。
【００３１】
まず、従来技術に係るＳＴＰの問題点について図７を用いて説明する。図７は、従来技術に係るＳＴＰ（スパニングツリープロトコル）の問題点を示す図である。なお、同図に示すノード（ＮｏｄｅＡ、ＮｏｄｅＢなど）はＬ２スイッチなどの中継装置であり、端末１および端末２間でやりとりされるパケットの経路制御をおこなうものとする。
【００３２】
同図に示すように、ＳＴＰは、ネットワーク上に物理的なループが存在する場合に、ポートのブロックを論理的におこなうことによってネットワーク上に論理的なツリーネットワークを構成し、これによって物理的なループを回避するものである。
【００３３】
しかし、ＳＴＰを用いるとパケットは論理的なツリー上しか通ることができないため、最適なルート（たとえば、図１におけるＮｏｄｅＢ／ＮｏｄｅＣ間のルートが最短）を通ることができない場合がある。すなわち、最適なルートがポートのブロックによって閉鎖されてしまうと、パケットが遠回りのルートを通らざるをえない可能性がある（図１の（１）参照）。
【００３４】
また、ＮｏｄｅＢ／ＮｏｄｅＣ間のルートは、全く使用することができないのでネットワーク負荷を分散することができないという問題も生じる（図１の（２）参照）。さらに、ＳＴＰには、ルート（Ｒｏｏｔ）ノードから２０ホップまでしかＳＴＰ制御が及ばないという制約があるので（図１の（３）参照）、大規模なネットワークを構築することができないという問題があるとともに、ＳＴＰはソフトウェア処理で実装されるのでＣＰＵに処理負荷をかけてしまい、ＣＰＵに障害が発生するとＳＴＰが正常に動作せずループを形成してしまうという問題もある（図１の（４）参照）。
【００３５】
次に、従来技術に係るＭＳＴＰの問題点について図８を用いて説明する。図８は、従来技術に係るＭＳＴＰ（マルチプロトコルＳＴＰ）の問題点を示す図である。ＭＳＴＰは、ＳＴＰの問題点を解決するために考えられたＳＴＰの拡張方式である。このＭＳＴＰは、ネットワーク上に複数の論理的ツリーを構成し（図８のＳＴ１およびＳＴ２参照）、ＶＬＡＮ（バーチャルＬＡＮ）ごとに論理的ツリーを変更することによって、ネットワーク負荷を分散しようとするものである。
【００３６】
しかし、図８に示したように、同一のＶＬＡＮに属する３つの端末がある場合には、端末間を結ぶルートのうちのいずれかが最短とはならない、すなわち、端末間でやりとりされるパケットが最適なルートを通ることができないという問題がある。たとえば、論理的ツリーＳＴ１を使用すると端末１／端末２間のルートが遠回りとなってしまう。また、論理的ツリーＳＴ２を使用すると端末２／端末３間のルートが遠回りとなってしまう。
【００３７】
このように、従来技術に係るＳＴＰおよびＭＳＴＰには、最適ルート選択についての制約があるので、これらの技術の問題点を解決するために、いわゆる「先着学習方式」と呼ばれるパケット制御方式が提唱されている。
【００３８】
次に、この従来技術に係る先着学習方式の概要について図９を用いて説明する。図９は、従来技術に係る先着学習方式の概要を示す図である。同図に示すように、この先着学習方式では、未学習の送信元アドレスを含んだパケットがノードに到着すると、到着したパケットを到着ポート以外のポートに対してフラッディング（一斉配信）するとともに（図９の（１）参照）、この到着ポート（先着ポート）を送信元アドレスとともに学習する（図９の（２）参照）。
【００３９】
そして、この学習結果に基づき、先着ポート以外に到着した同一内容の後着パケットを廃棄するとともに（図９の（３）参照）、先着ポートに到着したパケットについては他のポートに対してフラッディングする（図９の（４）参照）。
【００４０】
しかし、この従来技術に係る先着学習方式には以下に示すような問題点があるので、実用化にあたってはこれらの問題点を解決する必要がある。次に、この従来技術に係る先着学習方式の問題点について図１０を用いて説明する。図１０は、従来技術に係る先着学習方式の問題点を示す図である。なお、図１０には、上記した特許文献１に開示されている技術の問題点を示している。
【００４１】
図１０の（ａ）に示すように、端末が複数のデータパケットを送出した場合について説明する。この場合、端末１からは、ＳＡ（送信元アドレス）およびＤＡ（送信先アドレス）は同一であるが、パケットの内容が異なる（図１０（ａ）の（１）、（２）および（３）参照）データパケットが送出される。
【００４２】
しかしながら、ＮｏｄｅＡ（先着学習方式を適用した中継装置）は、ＳＡおよびＤＡが一致したパケットを同一パケットと認識してしまうので、同図の（ｂ）に示すように、後続のデータパケット（図１０（ｂ）の（２）および（３）参照）を廃棄する。さらに、特許文献１では、ＳＡおよびＤＡが一致したパケットであれば、いずれのポートに到着したパケットであれ廃棄することとしている。このように、後続パケットを廃棄するとパケット損や一時的な通信途絶状態を引き起こしてしまう。
【００４３】
このような致命的な問題は、パケットの同一性判定を確実におこなう方式（方式１）、あるいは、先着ポートに到着するパケットを廃棄しない方式（方式２）、のいずれかの方式を採用することで回避することが可能である。そして、本発明に係る先着学習方式は、上記した方式１の詳細な処理方式を提案するものである。そこで、以下では、本発明に係る先学習方式について図１〜図６を用いて詳細に説明することとする。
【実施例】
【００４４】
図１は、本発明に係る先学習方式を適用した中継装置１０の構成を示すブロック図である。同図に示すように、中継装置１０は、Ｎ個のポートを備えるとともに、パケット送受信部１１と、パケット処理部１２と、テーブル制御部１３と、ＭＡＣテーブル１４と、同一性情報テーブル１５とを備えている。
【００４５】
パケット送受信部１１は、各ポートを介してやりとりされるパケットのカプセリングなど送受信処理に関する処理をおこなう処理部であり、主信号のデータパケットは、このパケット送受信部１１を介してパケット処理部１２へと渡される。また、このパケット送受信部１２は、制御パケットをテーブル制御部１３へと渡す処理をおこなう処理部でもある。
【００４６】
パケット処理部１２は、パケットのフォワーディング処理およびパケット間の同一性判定処理をおこなう処理部である。具体的には、このパケット処理部１２は、パケットを受け取ると、まず、同一性情報テーブル１５にアクセスして同一パケットが既に到着しているか否かを判定する。
【００４７】
そして、同一パケットが既に到着していると判定した場合には、あらたに受け取ったパケットを後着パケットとみなして廃棄する。一方、同一パケットが未だ到着していないと判定した場合には、あらたに受け取ったパケットに関するパケット情報を同一性情報テーブル１５に対して登録する。なお、パケット処理部１２がおこなう詳細な処理手順については図２を用いて後述する。
【００４８】
テーブル制御部１３は、パケット送受信部１１を介して受け取った制御パケットに基づいてＭＡＣテーブル１４および同一性情報テーブル１５における該当レコードの管理および消去処理をおこなう処理部である。
【００４９】
ＭＡＣテーブル１４は、先着パケットの送信元に関する学習情報を管理するテーブルである。ここで、このＭＡＣテーブル１４の例について図３を用いて説明する。図３は、ＭＡＣテーブル１４の一例を示す図である。同図に示すように、ＭＡＣテーブル１４は、送信元を一意に識別する「送信元ＭＡＣアドレス」、先着パケットを受け取ったポート番号をあらわす「先着ポート」および先着パケットを学習した時刻をあらわす「学習時刻」の各項目を含んだテーブルである。
【００５０】
同一性情報テーブル１５は、後着パケットとの同一性判定に用いるために、先着パケットの内容そのもの、または、先着パケットの内容を加工した情報のいずれかを管理するテーブルである。そして、この同一性情報テーブル１５は、先着パケットの内容をあらわす情報である「パケット情報」およびパケット情報を記憶した時刻をあらわす「記憶時刻」の各項目を含んだテーブルである。なお、この同一性情報テーブル１５に格納する情報には、いくつかのバリエーションが存在するので、このバリエーションについて図４〜図６を用いて説明する。
【００５１】
図４は、パケット全体を格納する場合の同一性情報テーブル１５を示す図である。同図に示すように、「パケット情報」項目には各先着パケットの全内容が、「記憶時刻」には先着パケットの全内容を記憶した時刻がそれぞれ格納される。このように、パケット情報として「パケットそのもの」を保持し、先着パケット全体と後着パケット全体との同一性判定をおこなうことで、パケットの誤認識率を０％とすることができる。
【００５２】
このように、同一性情報テーブル１５にパケットの全内容を保持してパケットの同一性判定をおこなう手法は、最も確実性の高い同一性判定手法である。しかし、この場合、同一性情報テーブル１５はパケットの全内容を保持しなければならないため、メモリ容量がかさむことになる。このため、パケットの全内容を保持するかわりに、パケット全体を縮退した情報を保持する手法も考えられる。そこで、同一性情報テーブル１５にパケット全体を縮退した情報を保持させる場合について図５を用いて説明する。
【００５３】
図５は、ハッシュ値を格納する場合の同一性情報テーブル１５を示す図である。同図に示すように、「パケット情報」項目には、先着パケット全体にハッシュ関数をかけることによって得られるハッシュ値が格納される。なお、図５には、パケット全体を４８ビットのハッシュ値に縮退した場合について示している。このように、パケット全体を保持するかわりにパケット全体を縮退した情報を保持することでメモリ容量を削減するとともに、確実な同一性判定をおこなうことが可能となる。
【００５４】
なお、図４ではパケット全体を保持する場合について、図５ではパケット全体のハッシュ値を保持する場合についてそれぞれ示した。このように、パケット全体を利用することとすれば同一性判定の精度を最も高くすることができる。しかしながら、必ずしも、パケット全体を利用する必要はない。
【００５５】
たとえば、パケットの先頭からｎビット目からｍビット目までを同一性情報テーブル１５で保持して同一性判定に用いることとしてもよい。また、パケットの先頭からｎビット目からｍビット目までにハッシュ関数をかけることによって得られるハッシュ値を同一性情報テーブル１５で保持して同一性判定に用いることとしてもよい。
【００５６】
ところで、パケットの所定部分を同一性情報テーブル１５に保持する場合、パケットフォーマットとしてあらかじめ規定されている特定のフィールドを対象とする手法も考えられる。そこで、同一性情報テーブル１５にパケットフォーマットの特定フィールドを保持させる場合について図６を用いて説明する。
【００５７】
図６は、ＦＣＳ（Frame  Check  Sequence）を格納する場合の同一性情報テーブル１５を示す図である。ここで、ＦＣＳとは、イーサネット（登録商標）におけるフレームの伝送誤り検出用に付加される３２ビットのフィールドであり、生成多項式により得られるＣＲＣ（Cyclic  Redundancy  Code）値のことを指す。つまり、このＦＣＳは、パケット全体を縮退した値であるので、これを同一性情報テーブル１５に保持して同一性判定に用いることとすれば、ハッシュ関数を用いたハッシュ値算出をおこなうことなくハッシュ値による同一性判定をおこなうことができる。なお、ＦＣＳを同一性判定に利用した場合の誤認識率は約４３億分の１になる。
【００５８】
次に、図１に示したパケット処理部１２の処理手順について図２を用いて説明する。図２は、パケット処理部１２の処理手順を示すフローチャートである。同図に示すように、パケット処理部１２は、パケットが到着すると（ステップＳ１０１）、同一性情報テーブル１５に一致情報があるか否かを判定する（ステップＳ１０２）。そして、同一性情報テーブル１５に一致情報がない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１におけるパケットに関するパケット情報を同一性情報テーブル１５に登録する（ステップＳ１０３）。なお、ステップＳ１０３において同一性情報テーブル１５に登録されるパケット情報については、図４〜図６に示したバリエーションから選択することができる。
【００５９】
つづいて、パケット処理部１２は、ＭＡＣテーブル１４にＳＡ（送信元アドレス）があるか否かを判定し（ステップＳ１０４）、ＳＡがある場合には（ステップＳ１０４，Ｙｅｓ）、該当するエントリの時刻を現時刻に更新する（ステップＳ１０５）。一方、ＳＡがない場合には（ステップＳ１０４，Ｎｏ）、ＭＡＣテーブル１４にＳＡおよび到着ポートを登録するとともに（ステップＳ１０６）、現時刻を登録する（ステップＳ１０７）。
【００６０】
また、パケット処理部１２は、ＭＡＣテーブル１４にＤＡ（送信先アドレス）があるか否かを判定し（ステップＳ１０８）、ＤＡがある場合には（ステップＳ１０８，Ｙｅｓ）、先着ポート宛にユニキャスト送信をおこなって（ステップＳ１０９）処理を終了する。一方、ＤＡがない場合には（ステップＳ１０８，Ｎｏ）、該当パケットが未到着の全ポートにフラッディングをおこなって（ステップＳ１１０）処理を終了する。なお、ステップＳ１０２において同一性情報テーブル１５に一致情報があると判定された場合には（ステップＳ１０２，Ｙｅｓ）、パケットを廃棄したうえで（ステップＳ１１１）処理を終了する。
【００６１】
上述してきたように、本実施例によれば、パケットが到着した場合にパケット処理部が同一性情報テーブルに一致情報があるか否かを判定したうえで、一致情報がない場合には、この同一性情報テーブルに対してパケット全体、パケット全体のハッシュ値、パケットの所定部分、あるいは、パケットの所定部分のハッシュ値を登録するよう構成するとともに、同一性情報テーブルに登録された情報に基づいてパケットの同一性判定をおこなうよう構成した。したがって、同一パケットの判定を高精度でおこなうことができるとともに、既存の中継装置がネットワーク上に混在する場合であってもパケットの経路制御をおこなうことができる。
【００６２】
また、上記した実施例では、本発明を実現する中継装置を機能面から説明したが、中継装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。
【００６３】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【００６４】
（付記１）パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持工程と、前記パケット情報保持工程によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定工程とを含んだことを特徴とする先着学習方法。
【００６５】
（付記２）前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、前記同一性判定工程は、前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１に記載の先着学習方法。
【００６６】
（付記３）前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、前記同一性判定工程は、前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１に記載の先着学習方法。
【００６７】
（付記４）前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、前記同一性判定工程は、前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１に記載の先着学習方法。
【００６８】
（付記５）前記パケット情報保持工程によって保持される前記パケット情報は、受け取ったパケットの所定部分のハッシュ値であり、前記同一性判定工程は、前記所定部分のハッシュ値と後着パケットの前記所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１に記載の先着学習方法。
【００６９】
（付記６）パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手段と、前記パケット情報保持手段によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手段とを備えたことを特徴とする中継装置。
【００７０】
（付記７）前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、前記同一性判定手段は、前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記６に記載の中継装置。
【００７１】
（付記８）前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、前記同一性判定手段は、前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記６に記載の中継装置。
【００７２】
（付記９）前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、前記同一性判定手段は、前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記６に記載の中継装置。
【００７３】
（付記１０）前記パケット情報保持手段によって保持される前記パケット情報は、受け取ったパケットの所定部分のハッシュ値であり、前記同一性判定手段は、前記所定部分のハッシュ値と後着パケットの前記所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記６に記載の中継装置。
【００７４】
（付記１１）パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、受け取ったパケットに基づいて生成されるパケット情報を保持するパケット情報保持手順と、前記パケット情報保持手順によって保持された前記パケット情報に基づいて後着パケットの内容が先着パケットの内容と同一であるか否かを判定する同一性判定手順とをコンピュータに実行させることを特徴とする中継装置用プログラム。
【００７５】
（付記１２）前記パケット情報保持手順によって保持される前記パケット情報は、受け取ったパケットそのものを含んだ情報であり、前記同一性判定手順は、前記パケット情報に含まれるパケットと後着パケットとが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１１に記載の中継装置用プログラム。
【００７６】
（付記１３）前記パケット情報保持手順によって保持される前記パケット情報は、受け取ったパケットそのもののハッシュ値であり、前記同一性判定手順は、前記ハッシュ値と後着パケットのハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１１に記載の中継装置用プログラム。
【００７７】
（付記１４）前記パケット情報保持手順によって保持される前記パケット情報は、受け取ったパケットの所定部分に関する情報であり、前記同一性判定手順は、前記パケット情報に含まれる前記所定部分と後着パケットの前記所定部分とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１１に記載の中継装置用プログラム。
【００７８】
（付記１５）前記パケット情報保持手順によって保持される前記パケット情報は、受け取ったパケットの所定部分のハッシュ値であり、前記同一性判定手順は、前記所定部分のハッシュ値と後着パケットの前記所定部分のハッシュ値とが一致した場合に両パケットが同一パケットであると判定することを特徴とする付記１１に記載の中継装置用プログラム。
【産業上の利用可能性】
【００７９】
以上のように、本発明に係る先着学習方法、中継装置および中継装置用プログラムは、Ｌ２スイッチのパケット経路制御に有用であり、特に、Ｌ２スイッチを広域ネットワークに用いる場合のパケット経路制御に適している。
【図面の簡単な説明】
【００８０】
【図１】中継装置の構成を示すブロック図である。
【図２】パケット処理部の処理手順を示すフローチャートである。
【図３】ＭＡＣテーブルの一例を示す図である。
【図４】パケット全体を格納する場合の同一性情報テーブルを示す図である。
【図５】ハッシュ値を格納する場合の同一性情報テーブルを示す図である。
【図６】ＦＣＳを格納する場合の同一性情報テーブルを示す図である。
【図７】従来技術に係るＳＴＰの問題点を示す図である。
【図８】従来技術に係るＭＳＴＰの問題点を示す図である。
【図９】従来技術に係る先着学習方式の概要を示す図である。
【図１０】従来技術に係る先着学習方式の問題点を示す図である。
【符号の説明】
【００８１】
１０  中継装置
１１  パケット送受信部
１２  パケット処理部
１３  テーブル制御部
１４  ＭＡＣテーブル
１５  同一性情報テーブル
【図１】
2007258955.tif 000003
【図２】
2007258955.tif 000004
【図３】
2007258955.tif 000005
【図４】
2007258955.tif 000006
【図５】
2007258955.tif 000007
【図６】
2007258955.tif 000008
【図７】
2007258955.tif 000009
【図８】
2007258955.tif 000010
【図９】
2007258955.tif 000011
【図１０】
2007258955.tif 000012