(57)【要約】【課題】 レイヤ2ネットワークに設けられたスイッチにおいて、ネットワーク内でのフレーム転送のループを検出する技術を提供する。【解決手段】  フレームを入力するインタフェース部１１０と、入力フレームの宛先アドレスにしたがってスイッチングするスイッチング部１４０と、前記入力フレームに記録されたスイッチ識別子と自スイッチ識別子とを比較する比較部１３５と、前記比較部での比較結果が一致するときにその一致を通知する通知部１３８と、を備える。受信したフレームに自スイッチ識別子が含まれているとフレーム転送がループしていると判定する。【選択図】      図１
2006074286.tif 000002
【特許請求の範囲】
【請求項１】
フレームを入力するインタフェース部と、
入力フレームの宛先アドレスにしたがってスイッチングするスイッチング部と、
前記入力フレームに記録されたスイッチ識別子と自スイッチ識別子とを比較する比較部と、
前記比較部での比較結果が一致するときにその一致を通知する通知部と、
を備えるスイッチング装置。
【請求項２】
請求項１記載のスイッチング装置において、
前記入力フレームにスイッチ識別子が記録されているかどうかを判定する判定部を備える。
【請求項３】
請求項１記載のスイッチング装置において、
前記判定部は、特定プロトコルの入力フレーム内の未使用領域にスイッチ識別子が記録されているかどうかを判定する。
【請求項４】
請求項２記載のスイッチング装置において、前記判定部は、更に未使用領域読出部を備え、
前記未使用領域読出部は、入力フレーム内に記録されたスイッチ識別子に関する誤り検出符号を検査し、誤り符号の誤りがない場合に入力フレーム内にスイッチ識別子が記録されていると判定する。
【請求項５】
請求項１記載のスイッチング装置において、更に、ループ発生箇所特定部を備え、
前記ループ発生箇所特定部は、前記通知部からの通知に基づき、ネットワーク内でのループ発生箇所を検出する探索フレームを生成し、ネットワーク内に送信する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフレーム転送を行う伝送装置に関し、特に、ローカルエリアネットワーク（ＬＡＮ）、メトロエリアネットワーク（ＭＡＮ）及び広域イーサネット(登録商標）ワーク、無線ＬＡＮなどで利用されるイーサネット（登録商標）フレーム（以降、フレームとも呼ぶ。）を転送する機能を有するフレーム転送スイッチ（以降、スイッチとも呼ぶ）におけるフレーム転送のループ検出を行う伝送装置に関する。
【背景技術】
【０００２】
ブリッジネットワークは、当初、ＬＡＮで主に使用されていたが、近年、広域イーサネット（登録商標）と言う言葉で称されるように、キャリアネットワークにその使用領域が広がっている。
【０００３】
Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ（以下、ＳＴＰ）は、標準ＩＥＥＥ８０２．１Ｄ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）Ｂｒｉｄｇｅｓ）の中で規定された、任意のブリッジＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）トポロジから単一のスパニングツリー（ループフリーなツリー）を構築するプロトコルである。ＳＴＰは、ＩＥＥＥ８０２．１ｓ（ＭＳＴＰ：Ｍｕｌｔｉｐｌｅ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ），ＩＥＥＥ８０２．１ｗ（ＲＳＴＰ：Ｒａｐｉｄ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）により機能拡張がなされ、広くブリッジネットワークで使用されている。
【０００４】
イーサネット（登録商標）スイッチは、ネットワークを介して受信するイーサネット（登録商標）フレームに含まれる送信元のＭＡＣアドレスと受信ポートを自動的に学習して、学習した情報に基づき自動的にスイッチングできるという優れた特徴を持っている。
【０００５】
イーサネット（登録商標）スイッチは、ネットワークを介して受信するイーサネット（登録商標）フレームに含まれる送信元のＭＡＣアドレスと受信ポートを自動的に学習して、学習した情報に基づき自動的にスイッチングできるという特徴を持っている。
【０００６】
しかしながら、何らかの原因によりネットワークがループ状に接続されると、通信しているフレームはそのネットワーク内において無限にそのループになることがある。もし、この様なフレームがループに陥ると、他の通信に悪影響を与えてしまう。
【０００７】
また、他の装置に依存することなく、受信フレームを解析することによりループを検出する技術として、フレーム情報と受信時間をテーブルに登録し、フレームを受信した際に、同じフレームの２度目の受信を検出する技術が開示されている。即ち、フレーム中に含まれる送信元ＩＰアドレス及びパケットの送信順序を示すＩＤをチェックし、同じ内容であるときに、フレーム転送のループが発生していると判断するものである(特許文献1)。
【０００８】
しかしながら、上位のプロトコル(例えば、ＩＰ)に依存しないレイヤ２でのフレーム転送のループの検出技術も要望されている。
【０００９】
特に、イーサネット（登録商標）スイッチは、ＬＡＮなどの比較的小規模のネットワークで利用されることが多かったが、近年、ＭＡＮや広域イーサネット（登録商標）ワークなどでも利用されるようになり大規模なネットワークが構築されるようになった。特に、高い信頼性が要求されるキャリアネットワークは大規模化され、トポロジが複雑になってきており、フレーム転送のループ検出機構が重要視されてきている。
【特許文献１】特開2001-197114号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
フレーム転送を行う伝送装置(以降、ノード装置とも呼ぶ)を用いて大規模なネットワークを構成する場合は、人為的なミスなどによりトポロジループが構築される場合があった。イーサネット（登録商標）はその仕様上トポロジループが構築されるとそのループをフレームが無限に周回したり、フレームが増殖したりする性質を持つため、ループの構築はネットワークに多大な影響を与えてしまう。
【００１１】
本発明は、フレーム転送を行う伝送装置を用いたネットワークにおいて、通信に多大な影響を与えるループの発生を簡易な構成により検出することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のスイッチング装置では、前記目的を達成するために、フレームを入力するインタフェース部と、前記入力フレームの宛先アドレスにしたがってスイッチングするスイッチング部と、前記入力フレームに記録されたスイッチ識別子と自スイッチ識別子とを比較する比較部と、該比較部での比較結果が一致するときにその一致を通知する通知部と、を備える。
【００１３】
この構成により、入力フレームにネットワーク内で固有の自スイッチ識別子が記録されている場合は、そのフレームが戻ってきたことが分かる。即ち、ネットワーク内でフレームの転送ループの発生を検出することができる。
【００１４】
また、本発明のスイッチング装置において、前記入力フレームにスイッチ識別子が記録されているかどうかを判定する判定部と、を備えるスイッチング装置。
【００１５】
判定部により、フレーム内に記録されたスイッチ識別子が正しく記録されているかどうかを判定することができる。
【００１６】
また、本発明のスイッチング装置において、前記判定部は、特定プロトコルの入力フレーム内の未使用領域にスイッチ識別子が記録されているかどうかを判定する。即ち、入力フレーム内の未使用領域にスイッチ識別子を記録した場合、判定部により前記未使用領域にスイッチ識別子が記録されているかどうかを判定できる。
【００１７】
また、本発明のスイッチング装置において、前記判定部は、特定プロトコルとして、の入力フレーム内の未使用領域にスイッチ識別子が記録されているかどうかを判定する。即ち、入力フレーム内の未使用領域にスイッチ識別子を記録した場合、判定部により前記未使用領域にスイッチ識別子が記録されているかどうかを判定できる。
【００１８】
また、本発明のスイッチング装置において、更に、ループ発生箇所特定部を備え、
前記ループ発生箇所特定部は、前記通知部からの通知に基づき、ネットワーク内でのループ発生箇所を検出する探索フレームを生成し、ネットワーク内に送信する。
【発明の効果】
【００１９】
本発明によれば、ネットワーク内のフレーム伝送装置を介して発生するフレーム転送のループの発生を簡易な構成により検出することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら本発明を実施するための形態を説明する。図中、同一の参照符号は同一物または相当物を示す。
【００２１】
＜ネットワーク内でのフレーム転送ループの検出＞
第１の実施形態では、フレーム転送のループ検出する特定プロトコルがＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）フレームである場合の例を説明する。
【００２２】
図１は本発明のスイッチの構成の例を示す図。図２は本発明のスイッチのフレーム転送におけるループ検出フローの例を示す図。図３はＡＲＰフレームのフォーマットの例を示す図。図４はパディング部に記載するスイッチ識別子と誤り検出符号のフォーマットの例を示す図である。
【００２３】
図１および図４を参照しながら本発明の実施形態におけるスイッチの構成およびその機能概要を説明する。
【００２４】
本実施形態のスイッチング装置(以降、伝送装置あるいはノード装置とも呼ぶ)の主要部は、インタフェース部１１０と、入力するフレームが少なくとも１回はネットワーク内をループしているかどうかをフレーム転送時に検出するループ検出部１３０と、入力するフレームのヘッダに含まれる宛先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスにしたがって適切なインタフェース１２０を選択するスイッチ部１４０と、から構成される。
【００２５】
ループ検出部１３０は、特定の入力フレームがネットワーク内でループ状態になってフレーム転送が行われているかどうかを判定する判定部１３２と、入力フレームが特定フレームであるときに、そのフレームに自スイッチ識別子を書き込む自スイッチ識別子書込部１３７からなる。
【００２６】
判定部１３２は、インタフェース部１１０を介してフレームを受信する（図２、ステップＳ１００）。
【００２７】
そして、プロトコル識別部１３１は、受信フレームが特定プロトコルかどうかチェック(判定)する（図２、ステップＳ１１０）。
【００２８】
本実施例では、特定プロトコルとしてＡＲＰプロトコルのＡＲＰフレームを使ってフレームのループを検出するスイッチを実現する。
【００２９】
ＡＲＰプロトコルはＩＰアドレスからＭＡＣアドレスなどハードウエアのアドレスを得るためのプロトコルである。このＡＲＰフレームのフォーマットを図３に示す。図中のＡＲＰフレームの未使用領域（１８バイト）に注目されたい。
【００３０】
入力された特定プロトコルがＡＲＰプロトコルである場合、たとえば、ＩＰｖ４ではＡＲＰフレームは有効なフレームデータの長さは４８バイトであるが、６４バイト未満のため１８バイトのパディング（未使用領域）が自動的に付加され６４バイトのフレーム長に調整された後、このフレームが転送される。このように、未使用領域を使用可能であれば前記特定プロトコルのフレームとして利用可能である。また、未使用領域を有するこのような特定プロトコルは、ＩＰｖ６にも利用できる。
【００３１】
このＡＲＰフレームの宛先アドレスにはブロードキャストアドレスが設定されるので、ＡＲＰフレームはそのレイヤ２ネットワーク内の全てのスイッチで受信されることになる。
【００３２】
即ち、送信されたＡＲＰフレームはスイッチを介してブロードキャストされ、このＡＲＰフレームはレイヤ２ネットワーク内のスイッチを介してすべての端末へ転送される。
【００３３】
本発明を適用するスイッチでは、受信フレームはインタフェース部１２０を介してループ検出部１３０のプロトコル識別部１３１に転送される。プロトコル識別部１３１では、受信したフレームがＡＰＲフレームであるかどうかを識別する。
【００３４】
即ち、プロトコル識別部１３1は、フレームの先頭から１３バイト目から２バイトのタイプフィールドを読み出し、これが「０ｘ０８０６」である場合に、受信フレームをＡＲＰフレームであると識別する。ここで、ＡＲＰフレームではないと識別されるフレームは、スイッチ部１４０に転送され、ここで宛先ＭＡＣアドレスに基づきフォワーディング（スイッチング）が行われる。
【００３５】
ここで受信フレームがＡＲＰフレームであると識別された場合には、未使用領域読出部１３３はＡＲＰフレームの前述の未使用領域から情報を読み出す。
【００３６】
図４に、ＡＲＰフレームの未使用領域のフォーマットおよびこの未使用領域に６バイトのスイッチ識別子を書き込んだフォーマットの例を示す。
【００３７】
この例では、ＡＲＰフレームの未使用領域に書き込んでいるスイッチ識別子と誤り検出符合のフォーマットを示している。ここではスイッチ識別子にはブリッジＩＤなどネットワーク内で一意なものであれば良い。これらは１例でありこれに限らない。まず、未使用領域読出部１３３は、ＡＲＰフレームの未使用領域からスイッチ識別子（６バイト）と誤り検出符合（４バイト）を無条件に読み出し（図２、ステップＳ１２０）、読み出したスイッチ識別子を誤り検出符合に基づきスイッチ識別子の符号誤りの有無を検査する（（図２、ステップＳ１３０）。誤り検出符合としては、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）を用いる。他の誤り検出符合を用いても良い。
【００３８】
スイッチ識別子に対応する誤り符号の検査をした結果、符号誤りが検出されない場合には、識別子比較部１３５は、スイッチ識別子記録部１３９に記録してある自スイッチ識別子とＡＲＰフレームの未使用領域から抽出したスイッチ識別子との比較を行う（図２、ステップＳ１４０）。
【００３９】
この比較結果が一致した場合には、自スイッチング装置から送信されたフレームがＡＲＰプロトコル以外の手順により自スイッチング装置に戻ってきたということであり、ネットワーク上でフレーム転送のループの発生していることがわかる。識別子比較部１３５はこのループの検出を通知部１３８に通知し、通知部１３８はスイッチ部１４０を介してネットワークに接続された端末に通知する（図２、ステップＳ１５０）。あるいは、ネットワークマネージメントシステム（ＮＭＳ）に通知したり、コンソールなどに表示してオペレータに通知してもよい。
【００４０】
ＡＲＰフレームの未使用領域から抽出したスイッチ識別子と自スイッチ識別子とを比較し、不一致の場合にはスイッチ部１４０、及びインタフェース１２０を介して図示していないネットワークへ転送される（図２、ステップＳ１７０）。
【００４１】
識別子比較部１３５が前述の符号誤りの検査において、符号誤りを検出した場合にはこのＡＲＰフレームの未使用領域（１８バイト）にスイッチ識別子が記録されていないものとして処理することになる。
【００４２】
即ち、前記ＡＲＰフレームがスイッチで転送される際に、本発明を適用するスイッチを全く通過していないことになる。本発明のイーサネット（登録商標）スイッチは、ＡＲＰフレームの未使用領域に自スイッチ識別子を記録する（図２、ステップＳ１６０）。そして、スイッチ部１４０およびインタフェース１２０を介して図示していないネットワークへ転送される。
【００４３】
＜ネットワーク内でのループ箇所の特定＞
第２の実施形態では、ネットワーク内でのフレームのループ箇所を探索する例を図５乃至図１０に沿って説明する。
【００４４】
図５はネットワーク内でのフレームのループ箇所を探索する実施例を示す図である。図１との相違点はループ発生箇所探索部１５０が新たに設けられている点で異なっている。したがって、ループ発生箇所探索部１５０に着目した説明を行う。
【００４５】
ループ発生箇所探索部１５０はフレーム転送のループをループ検出部１３０が検出した場合に、ネットワーク内でのループ箇所の探索処理の構成を示す図である。
【００４６】
ループ発生箇所探索部１５０は、ループ検出部１３０からのフレーム転送のループ検出通知の受信を契機として、検出されたフレーム転送のループ発生箇所の探索処理を行う。この処理のため、ループ検出部１３０は、これ以降、受信したフレームをループ発生箇所探索部１５０に転送する。
【００４７】
そして、ループ発生箇所探索部１５０は、そのフレームのループ発生箇所の探索処理を行ったあとにスイッチ部１４０へ転送する。スイッチ部１４０は、そのフレームの宛先ＭＡＣアドレスに従ってスイッチング処理を行い、そのフレームは適切なインタフェース１２０を介してネットワークに転送される。
【００４８】
以下に、ループ発生箇所探索部１５０の詳細な説明を記述する。
【００４９】
ネットワーク内でのフレーム転送のループを検出したループ検出部１３０はその検出を探索フレーム発出部１５９に通知する。
【００５０】
ループ発生箇所探索部１５０はループ箇所探索フレームの戻りを待ち受けモードに状態に推移するともに、探索フレーム発出部１５９は、ループの詳細情報得るべく探索フレームを生成する。
【００５１】
そして、探索フレーム発出部１５９は生成した探索フレームをスイッチ部１４０およびインタフェース部１１０を介してネットワークへ送出する。
【００５２】
探索フレームの１例を図７に示し、図８は探索フレーム受信時の処理フローを説明する図である。図9は通過ノードのスイッチ識別子を蓄積した探索フレームの１例を示す図である。図中、タイプの値は、探索フレーム７００であることを示す。即ち、本発明では、検出されたフレーム転送のループ発生箇所の探索処理を行う探索フレームのタイプを表す値で、かつ、標準化仕様（たとえば、IEEE 802.１dなど）で規定されていない未使用のタイプ値を使用するものとする。
【００５３】
図７中、通過ノード数は、探索フレーム７００が本発明を適用するスイッチ装置１００を通過するたびに、１が加算される。初期値は、探索フレーム７００が生成されるときに、たとえば、０（ｚｅｒｏ）が設定される。フレーム長に制限がなければ、最大、６５５３５のスイッチ装置を経由したことを示すことができる。この領域は２バイトであり、拡張することは可能である。
【００５４】
通過ノード数の後ろには、１つ以上の通過ノードのスイッチ識別子が格納される。なお、複数個の識別子を格納する場合には、通過ノード数を参照し、既に記録済みの通過ノードスイッチ識別子を上書きしないよう追加的に格納する。ｐａｄｄｉｎｇ（パディング）にはａｌｌバイナリ「０」あるいはａｌｌバイナリ「１」を用いてもよいが、前記通過ノード数の値を頼りにすればｐａｄｄｉｎｇは不定値であってもよい。即ち、ｐａｄｄｉｎｇとしてａｌｌバイナリ「０」または「１」であれば、その数を計数することにより通過ノード数を求めてもよい。
【００５５】
最後のＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）は公知技術であるため説明を省略する。
【００５６】
送出される探索フレーム７００は宛先アドレスとしてブロードキャスト（宛先ＭＡＣアドレスにＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ）を指定し、自スイッチング装置１００からネットワークに送出される。そして、本発明を適用した各スイッチング装置１００を経由するたびに通過ノードのスイッチ識別子が探索フレーム７００に追加的に格納される。
【００５７】
そして、まだループ状態の検出が継続していれば、自スイッチング装置で記録したものと同じスイッチ識別子が格納されている探索フレーム７００を受信する。自スイチッング装置１００のループ発生箇所探索部１５０での受信処理の詳細を以下に記述する。
【００５８】
ループ検出部１３０から転送されるフレームはタイプ値判定部１５１に転送される。タイプ値判定部１５１は、フレームのタイプ値をチェックし、探索フレーム７００であるかどうかを判定する（図８、ステップＳ８１０）。探索フレーム７００でないフレームは、このフレームの宛先ＭＡＣアドレスに基づいてスイッチ部１４０およびインタフェース１２1を介してルーチングし、転送する（図８、ステップＳ８７０）。そして、探索フレーム７００である場合には、探索フレーム制御部１５２に転送される。
【００５９】
探索フレーム制御部１５２では、探索フレーム７００内の通過ノード数を読み出してチェックする（図８、ステップＳ８２０）。そして、自スイッチ識別子を追加的に書き込む位置を求める。スイッチ識別子記録部１５３に記録されている自スイッチ装置用のスイッチ識別子を読み出し、自スイッチ識別子を前記探索フレーム７００の書き込むべき位置に記録する（図８、ステップＳ８３０）。通過ノード数に１を加算する（図８、ステップＳ８４０）。
【００６０】
自スイッチング装置１００が、ループ発生箇所探索フレームのループによる戻りを待受け中であるかどうかを判定する（図８、ステップＳ８５０）。
【００６１】
待受け中であれば、探索フレーム７００は探索フレーム検出部１５５で検出され、探索フレーム７００に自スイッチ識別子の追加書き込みを行い(図９、通過ノードnスイッチ識別子)、通過ノード数に１を加えた探索フレーム７００が探索処理部１５７に転送される。待受け中でなければ、探索フレーム７００はスイッチ部１４０に転送され、インタフェース１２０を介してネットワークへ送信される（図８、ステップＳ８７０）。
【００６２】
スイッチング装置１００は自スイッチ識別子を探索フレームに追記したことで、フレーム長は長くなる。そして、ループ発生箇所探索フレーム７００がＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）を超えた場合は廃棄されることになる。
【００６３】
探索処理部１５７では、ループ発生箇所探索フレーム７００がネットワーク内のループの発生により戻ってきた場合には、ループ発生箇所探索フレーム７００内に記録された情報に基づき、ループの発生箇所の探索処理を行う（図８、ステップＳ８６０）。
【００６４】
図６はループ発生箇所を調べる探索フレームの転送フローを示す図である。
【００６５】
図中では、装置Ａを探索始点装置と呼び、装置Ｆを探索終点装置、装置Ｂ乃至装置Ｅを探索フレーム中継装置と呼ぶことにする。図１５は探索フレーム７００を転送する際に参照される探索ポートテーブル１５４の形式を示す。
【００６６】
即ち、探索フレーム７００のヘッダに格納されている送信元ＭＡＣアドレスに対応させてポート識別子単位に送信（Ｓｎｄ）／受信（ＲＣＶ）／遮断（Ｎｏ）の状態を管理するテーブル(図１５)を各スイッチング装置１００に設ける。
【００６７】
図６では、装置Ａは、ループ発生箇所の探索フレーム７００を接続されている隣接の装置Ｆ及び装置Ｂにブロードキャスト転送する（ステップ1)および1)*）。
【００６８】
ステップ1)*（図中、上から下側への矢印）により、探索フレーム７００を受信する装置Ｆは、探索ポートテーブル１５４を参照し、現在、通信できる入力ポート／出力ポートは１つのみであるため、受信した探索フレーム７００に通過ノードスイッチ位置識別子として自スイッチ識別子の追加書き込みを行い、通過ノード数に１を加えた探索フレーム７００を装置Ａに返送する。そして、装置Ａは、装置Ｆから探索フレーム７００を受信する。受信した探索フレーム７００に通過ノードスイッチ位置識別子として自スイッチ識別子の追加書き込みを行い、さらに通過ノード数に１を加えた探索フレーム７００を生成する。そして、ループを特定する処理を行う。
【００６９】
また、ステップ1)により、ブロードキャストされた探索フレーム７００（図中、左から右側への矢印）を受信する装置Ｂは、現在、通信のために使用できる出力ポートが２以上であるため、受信した探索フレーム７００に通過ノードスイッチ位置識別子として自スイッチ識別子の追加書き込みを行い、通過ノード数に１を加えた探索フレーム７００を受信ポートに対応する送信ポート以外の送信可能ポートに転送する（ステップ3)）。
【００７０】
転送する際には、探索テーブル１５４（図１５参照）を参照し、受信した探索フレーム７００の送信元ＭＡＣアドレスに対応する受信ポート識別子の状態を確認する。対応する送信元ＭＡＣアドレスに対応する受信ポート識別子がすべて未受信ならば、現在、通信に使用できる出力ポートが２以上であるため、装置Ｂは次のような処理を行う。
（ａ）受信した探索フレーム７００のポート識別子欄に受信（Ｒｃｖ）を記録する。
（ｂ）受信ポートに対応する送信ポート以外の送信可能ポートに探索フレーム７００をブロードキャストし（ステップ3)）、探索テーブル１５４にその送出先に対応するポート識別子にその送信（Ｓｎｄ）を記録する。
【００７１】
すでに、受信した探索フレーム７００の送信元ＭＡＣアドレスに対応するポート識別子に何らかのＲｃｖまたはＳｎｄの記録がある場合、
（ａ）  受信（Ｒｃｖ）の記録があるポート識別子のみに探索フレーム７００を送出する。しかしながら、探索テーブルの送受信記録は変更しない（たとえば、ステップ7),8)）。
【００７２】
以上、探索フレーム７００の処理を示したように、装置Ｃ、装置Ｄおよび装置Ｅについても同様な処理を行う（ステップ4)、4)*、5)、5)*、6)、6)*、及び7)）。
【００７３】
さらに、装置Ｃ、装置Ｄおよび装置Ｅは、同様に、受信した探索フレーム７００に通過ノードスイッチ位置識別子として自スイッチ識別子の追加書き込みを行い、通過ノード数に１を加えた探索フレーム７００を前述の手順に従って転送する。
【００７４】
また、装置Ｃ、装置Ｄ及び装置Ｅは、装置Ｂと同様な処理を行う。
【００７５】
図１０はネットワーク内でのループ発生箇所を特定する処理フローを示すものである。
【００７６】
まず、レイヤ２ネットワークでは、通常、２点間での通信は行きと帰りのフレームを転送する経路は同一になる。本実施例は、その点に着目している。即ち、探索パケット７００を送出し、そのフレームが戻って来る場合、その探索フレームに格納された通過ノードスイッチ識別子は、２点間での通信は行きと帰りの経路が同じであるため、同一左右対称になる。しかしながら、ループが発生していると、左右対称にならないことがわかっている。
【００７７】
たとえば、図６によれば、ステップ4)、ステップ5)、及びステップ6)の各ステップにおけるフレームのルーチングでループが発生しているため、探索フレーム７００に記録される通過ノードスイッチ識別子は左右対称にはならないことがわかる。
【００７８】
このようなループは、例えば、図１０に示すフロー処理によりループを形成している伝送装置(ノード装置)を特定することができる。
【００７９】
図中、最後に通過した通過ノード数をＭ、ｎ番目に通過したノードのスイッチ識別子をＳＷＩＤｎと表記している。図９に示す探索フレームに格納された通過ノードスイッチ識別子ｎの各々について、ｎ＝１のスイッチ識別子ＳＷＩＤ１からｎ番目のスイッチ識別子ＳＷＩＤｎについて、ＳＷＩＤｎ  ＝ＳＷＩＤＭ＋１−ｎの比較を行う（ステップＳＡ０１）。
【００８０】
比較の結果、一致した場合にはｎに１を加算し（ステップＳＡ０３）、そしてステップＳＡ０１に戻る。前記比較の結果、不一致が発生した番号をＮとすると、ＳＷＩＤＮ−１  〜ＳＷＩＤＭ＋１−（Ｎ−１）のスイッチ識別子を持つスイッチング装置がループを構築していると判断できる。
【００８１】
ＳＷＩＤＮ−１  〜ＳＷＩＤＭ＋１−（Ｎ−１）の範囲で重複した要素を削除し（ステップＳＡ０２）、残ったスイッチ識別子を、ループとなっているスイッチング装置として通知する（ステップＳＡ０４）。
第３の実施形態
図１１乃至図１４は第３の実施形態を示す図である。
【００８２】
図１１はネットワーク内でのフレームのループ箇所を探索する実施例を示す図であり、図１記載の発明に、ラベル付加部１２５、ループ発生箇所探索部１６０が新たに設けられている点で異なっている。したがって、この相違点に着目した説明を行う。図１２は探索フレームの１例である。この探索フレームは、前述の探索フレームに送信ポート識別子および受信ポート識別子を記録する点で異なっている。図１３は、探索フレーム受信時の処理フローを説明する図である。
【００８３】
本実施の形態では、スイッチング装置１００に入力されるフレームはインタフェース部１１０を介してラベル付加部１２５により、受信したときのポート識別子（インタフェース１２０の識別子）が付加される。さらに、入力フレームの送信元ＭＡＣアドレスと受信ポートに基づき、該当する最新受信ポート識別子(図１５)に「１」を設定する。このポート識別子を調べることによりフレームの各スイッチング装置のどの物理ポートを経由してループしているか、より詳細な情報を入手できる。
【００８４】
受信フレームは、前記のようにラベル付加部１２５によりフレームの送信元ＭＡＣアドレスと受信ポート識別子とを対応付けて探索ポートテーブル１６８(図１５)に格納する。
【００８５】
このフレームは、ループ検出部１３０、スイッチング部１４０を経由して、ループ発生箇所探索部１６０のタイプ値判定部１６１に転送される。ループ検出部１３０はネットワーク内でのフレーム転送のループを検出し、その検出をループ発生箇所探索部１６０に通知する。ループ発生箇所探索部１６０の探索フレーム発出部１６７は、ループの詳細情報得るべく探索フレームを生成する。そして、探索フレーム発出部１６７は探索フレームを生成し、転送すべき探索フレームをインタフェース部１１０を介してネットワークへブロードキャスト転送する。
【００８６】
フレーム転送のループが検出された後、タイプ値判定部１６１は、入力フレームのタイプ値をチェックし、既に説明した方法と同じ方法により探索フレーム７００であるかどうかを判定する（図１３、ステップＳＤ１０）。
【００８７】
タイプ値判定部１６１は前記判定の結果、探索フレーム７００でない場合には、このフレームの宛先ＭＡＣアドレスに基づいてスイッチ部１４０およびインタフェース１１０を介してフレームをルーチングし、転送する（図１３、ステップＳＤ７０）。
【００８８】
そして、タイプ値判定部１６１は、探索フレーム７００である場合には、探索フレーム制御部１６２に転送する。
【００８９】
探索フレーム制御部１６２は、探索フレーム７００(図１２)内から通過ノード数を読み出し、通過ノード数をチェックする（図１３、ステップＳＤ２０）。
【００９０】
そして、自スイッチ識別子を探索フレーム７００内の最後に書き込む位置を求める。スイッチ識別子記録部１６４に記録された自スイッチ装置用のスイッチ識別子を読み出し、自スイッチ識別子を前記探索フレーム７００の書き込むべき位置に記録する。そして、さらに、探索ポートテーブル１６４を検索し、探索フレーム７００の送信元ＭＡＣアドレスに基づき最新の受信ポート識別子を求め、その受信ポート識別子を前記探索フレーム７００の書き込むべき位置に記録する。また、送信受信ポート識別子記録部１６３は前記探索フレーム７００の送信先ＭＡＣアドレスにもとづいてスイッチ部１４０が選択したインタフェース１２１を特定し、そのポート識別子を前記探索フレーム７００の書き込むべき位置に記録する。（図１３、ステップＳＤ３０）。
【００９１】
通過ノード数に１を加算する（図８、ステップＳ８４０）。
【００９２】
自スイッチング装置１００が、ループ発生箇所探索フレームのループによる戻りを待受け中であるかどうかを判定する（図１３、ステップＳＤ５０）。待受け中であれば、探索フレーム検出部１６５で検出し、探索処理部１６６に転送する。待受け中でなければ、スイッチ部１４０で特定されたインタフェース１２０からフレーム７００を送信する（図１３、ステップＳＤ７０）。自スイッチング装置１００の自スイッチ識別子を追記したことで、フレーム長は長くなり、ループ発生箇所探索フレーム７００がＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）を超えた場合は廃棄される。
【００９３】
探索処理部１６６では、ループ発生箇所探索フレーム７００がループの発生により戻ってきた場合には、ループ発生箇所探索フレーム７００内に記録された情報に基づき、ループの発生箇所の探索処理を行う（図１３、ステップＳＤ６０）。
ループの発生箇所の探索処理については、既に説明した処理と同じであるので省略する。
【００９４】
図１４はネットワーク内でのループ発生箇所を特定する処理フローを示す図である。本実施例は、既に、図１２を用いて説明したものと、スイッチング装置１００で探索フレーム７００に記録されたポート識別子を解析する点が大きくことなっている。したがって、ポート識別子の解析について着目した説明を行う。
【００９５】
図中、最後に通過した通過ノード数をＭ、ｎ番目に通過したノードのスイッチ識別子をＳＷＩＤｎと表記している。図１２に示す探索フレームに格納された通過ノードスイッチ識別子ｎの各々について、ｎ＝１のスイッチ識別子ＳＷＩＤ１からｎ番目のスイッチ識別子ＳＷＩＤｎについて、ＳＷＩＤｎ  ＝ＳＷＩＤＭ＋１−ｎの比較を行う（ステップＳＥ１０〜ＳＥ２０）。
【００９６】
比較の結果、一致した場合にはｎに１を加算し（ステップＳＥ４０）、そしてステップＳＥ２０に戻る。前記比較の結果、不一致が発生した番号をＮとすると、ＳＷＩＤＮ−１  〜ＳＷＩＤＭ＋１−（Ｎ−１）のスイッチ識別子を持つスイッチング装置がループを構築していると判断できる。
【００９７】
ＳＷＩＤＮ−１  〜ＳＷＩＤＭ＋１−（Ｎ−１）の範囲で重複した要素を削除し（ステップＳＥ３０）、残ったスイッチ識別子及び送信/受信ポート識別子の対応を、ループとなっているスイッチング装置として通知する（ステップＳＥ５０）。
【００９８】
以上の処理によりフレーム転送において、ループを形成しているノードを特定することができる。
【００９９】
本発明では、発明の構成として、以下の付記記載の構成も考えられる。
（付記１）
フレームを入力するインタフェース部と、
前記入力フレームの宛先アドレスにしたがってスイッチングするスイッチング部と、
前記入力フレームに記録されたスイッチ識別子と自スイッチ識別子とを比較する比較部と、
前記比較部での比較結果が一致するときにその一致を通知する通知部と、
を備えるスイッチング装置。
（付記２）
付記１記載のスイッチング装置において、
前記入力フレームにスイッチ識別子が記録されているかどうかを判定する判定部を備える。
（付記３）
付記２記載のスイッチング装置において、
前記判定部は、特定プロトコルの入力フレーム内の未使用領域にスイッチ識別子が記録されているかどうかを判定する。
(付記４)
付記３記載のスイッチング装置において、
前記判定部は、前記特定プロトコルがＡＲＰプロトコルであることを識別するプロトコル識別部を備える。
(付記５)
付記１記載のスイッチング装置において、更に、自スイッチ識別子書込部を備え、
前記自スイッチ識別子書込部は、入力フレーム内にスイッチ識別子が含まれていない場合に自スイッチ識別子を書き込む。
(付記６)
付記２記載のスイッチング装置において、
前記判定部は、更に未使用領域読出部を備え、前記未使用領域読出部は、入力フレーム内に記録されたスイッチ識別子に関する誤り検出符号を検査し、誤り符号の誤りがない場合に入力フレーム内にスイッチ識別子が記録されていると判定する。
(付記７)
付記１記載のスイッチング装置において、更に、ループ発生箇所特定部を備え、
前記ループ発生箇所特定部は、前記通知部からの通知に基づき、ネットワーク内でのループ発生箇所を検出する探索フレームを生成し、ネットワーク内に送信する。
(付記８)
付記１記載のスイッチング装置において、
更に、ループ発生箇所特定部を備え、
前記ループ発生箇所特定部は、前記通知部からの通知に基づき、ネットワーク内でのループ発生箇所を検出する探索フレームを生成し、ネットワーク内にブロードキャストする。
(付記９)
付記８記載のスイッチング装置において、更に、探索処理部を備え、
前記探索処理部は前記探索フレームを受信し、前記ネットワーク内でループが発生しているスイッチング装置を特定する。
(付記１０)
付記８記載のスイッチング装置において、更に、探索処理部を備え、
前記探索処理部は前記探索フレームを受信し、前記探索フレーム内に記録されたスイッチ識別子について、最初と最後に記録された識別子を順次最初と最後の間を狭めるように比較し、前記ネットワーク内でループが発生しているスイッチング装置を特定する。
(付記１１)
付記８記載のスイッチング装置において、更に、ラベル付加部を備え、
前記ラベル付加部はネットワーク内でのフレームが転送される際に、各スイッチ装置識別子とポート識別子の情報を収集し、探索フレームに記録する。
(付記１２)
付記８記載のスイッチング装置において、更に、ラベル付加部を備え、
前記ラベル付加部はネットワーク内でのフレームが転送される際に、各スイッチ装置識別子と送信ポート識別子及び受信ポート識別子の情報を収集し、探索フレームに記録する。
(付記１３)
付記８記載のスイッチング装置において、更に、探索フレーム制御部を備え、
前記探索フレーム制御部は、受信した探索フレームを受信ポート識別子に対応する送信ポート以外の送信ポートに転送する。
(付記１５)
付記８記載のスイッチング装置において、更に、探索ポートテーブルを備え、
前記探索フレーム制御部は、探索フレームの送信元アドレスに基づき前記探索ポートテーブルを参照し、前記送信元アドレスからの探索フレームが最初の受信の場合には、受信した探索フレームを受信ポート識別子に対応する送信ポート以外の送信ポートに転送する。
(付記１６)
付記８記載のスイッチング装置において、更に、探索ポートテーブルを備え、
前記探索フレーム制御部は、探索フレームの送信元アドレスに基づき前記探索ポートテーブルを参照し、前記送信元アドレスからの探索フレームが既に受信済みの場合には、受信した探索フレームを最初に受信した受信ポート識別子に対応する送信ポートに転送する。
(付記１７)
付記８記載のスイッチング装置において、前記探索フレーム制御部は、前記探索フレームを高い優先順位を有するフレームとして送信する。
【図面の簡単な説明】
【０１００】
【図１】本発明のスイッチの構成の例を示す図である。
【図２】本発明のスイッチのフレーム転送におけるループ検出フローの例を示す図である。
【図３】ＡＲＰフレームのフォーマットの例を示す図である。
【図４】パディング部に記載するスイッチ識別子と誤り検出符号のフォーマットの例を示す図である。
【図５】ネットワーク内でのフレームのループ箇所を探索する実施例を示す図である。
【図６】ループ発生箇所を調べる探索フレームの転送フローを示す図である。
【図７】探索フレームの１例を示す図である。
【図８】探索フレーム受信時の処理フローを説明する図である。
【図９】通過ノードのスイッチ識別子を蓄積した探索フレームの１例を示す図である。
【図１０】ネットワーク内でのループ発生箇所を特定する処理フローを示す図である。
【図１１】ネットワーク内でのフレームのループ箇所を探索する実施例を示す図である。
【図１２】探索フレームの１例を示す図である。
【図１３】探索フレーム受信時の処理フローを説明する図である。
【図１４】ネットワーク内でのループ発生箇所を特定する処理フローを示す図である。
【図１５】探索ポートテーブルの１形式を示す図である。
【符号の説明】
【０１０１】
１００  スイッチング装置
１１０  インタフェース部
１２０  インタフェース
１３０  ループ検出部
１３２  判定部
１３８  通知部
１４０  スイッチ部
１５０，１６０  ループ発生箇所探索部
【図１】
2006074286.tif 000003
【図２】
2006074286.tif 000004
【図３】
2006074286.tif 000005
【図４】
2006074286.tif 000006
【図５】
2006074286.tif 000007
【図６】
2006074286.tif 000008
【図７】
2006074286.tif 000009
【図８】
2006074286.tif 000010
【図９】
2006074286.tif 000011
【図１０】
2006074286.tif 000012
【図１１】
2006074286.tif 000013
【図１２】
2006074286.tif 000014
【図１３】
2006074286.tif 000015
【図１４】
2006074286.tif 000016
【図１５】
2006074286.tif 000017