(57)【要約】  【課題】ループを構成するノードを簡単かつ迅速に検出し、通信の支障を取り除く手助けとすること。  【解決手段】フレーム内のTTLフィールドはフレーム生存時間情報であるTTLを保持する。TTLはノードを経由するたびに減算され、これが予め決められた値になったフレームは破棄される。ノード２のポートＢ−Ｃ−ノード３のポートＡ−Ｂ−ノード４のポートＢ−Ａでループが構成された場合、ループには様々なTTLの値を持つ多くのトラフィックが短時間に流れ込み、ループを構成するノードでは２以上のポート（ノード２のポートＢ，Ｃ、ノード３のポートＡ，Ｂ）においてTTL「0」のフレームを受けてフレーム破棄が発生する。ループを直接構成しないノード１では１つのポート（ノード１のポートＣ）においてフレーム破棄が発生する。これによりループを構成するノードを検出できる。  【選択図】図３
2005328164.tif 000002
【特許請求の範囲】
【請求項１】
フレーム内にフレーム生存時間情報であるＴＴＬ(Time To Live)を保持するＴＴＬフィールドを設け、フレームがノードを経由するたびにＴＴＬに対して所定値の減算あるいは加算を行い、これが予め決められた値になった時にフレーム破棄を行うＭＡＣブリッジングネットワークにおけるループノード検出方法において、
あるノードにおいて、二方向以上から入力されたトラフィックに含まれるフレームのＴＴＬの値が予め決められた値であって破棄された場合、該ノードはループを構成するノードの一部または全部であると判別することを特徴とするＭＡＣブリッジングネットワークにおけるループノード検出方法。
【請求項２】
前記ＴＴＬフィールドにおけるＴＴＬの値が予め決められた値であることによるフレーム破棄が、ノードにおいて二方向以上から入力されたトラフィックに対して発生した場合と一方向から入力されたトラフィックに対してのみ発生した場合とでノードからセンタ管理装置への警報の上げ方を変えることにより、ループを構成しているノードの通知を行うことを特徴とする請求項１に記載のＭＡＣブリッジングネットワークにおけるループノード検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、MACブリッジングネットワークにおけるループノード検出方法に関し、特に、LANや広域イーサネット（登録商標）でループを構成するノードを簡単かつ迅速に検出でき、通信の支障を取り除く手助けとなるMACブリッジングネットーワークにおけるループノード検出方法に関する。
【背景技術】
【０００２】
IEEE802.1D等に定められたMACブリッジングにおいて、多数のスイッチノードを組み合わせてネットワークを構成した場合、フラッディングトラヒックが回転するループが構成されると次に上げるように様々な点で正常な通信を阻害し、ネットワークをダウンさせてしまう恐れがある。
(1)ループ内を回転するフラッディングトラヒックがネットワークの伝送帯域を使い切るまで増殖し続けることにより、ネットワークの転送能力を使い切ってしまう点。
(2)ループ内を回転するフラッディングトラヒックによってMACアドレス学習テーブルの学習内容が書き換えられて破壊されてしまう点。
(3)ループ内を回転するフラッディングトラヒックによるエンドノード機器への悪影響がある点。
【０００３】
このような悪影響があるため、MACブリッジングネットワークではループを発生させてはならず、ループを防止する様々な機構が考えられてきた。
【０００４】
ループが構成されないようにトポロジを維持する代表的な機構としては、IEEE802.1DのSTP(Spanning Tree Protocol)が上げられる。このようなトポロジを維持するプロトコルは、多くの場合、特定のインターフェースを非転送状態とすることによってループが構成されないようにネットワークの論理構成をコントロールする。STPのような機構を使った場合でもCPUの過負荷や異常により、自動的にループの排除が行えない可能性が依然としてある。ループが万が一発生し、自動的にループの排除が行われない場合、人為的にループを排除する必要がある。そのためにはループが発生していることを検出するとともに、ループを構成しているスイッチノードを見つけ出す必要がある。
【０００５】
ループの発生は、MACアドレスの書き換わりの頻度を見る方法、定期的にネットワークにループ検出用のマルチキャストフレームなどを送信し、それが戻って来ないかどうかを確認する方法、ネットワーク上に流れているフラッディングトラフィックの流量やパターンの変化を見る方法などにより検出することができる。
【０００６】
拡張されたMACブリッジング方式においては、送信するフレームに、整数値のフレーム生存時間情報(TTL)を保持するTTL(Time To Live)フィールドを設け、該フレームがスイッチノードを通過するたびにTTLから所定値を減算し、予め決められた値、例えば「0」のTTLを保持するフレームを受けたとき、該フレームを破棄するとともに、ループ発生の可能性をTrapやSyslogによって警告するという方法もある。これらの方法によってループの発生を検出することができる。
【特許文献１】特開２００４−５６２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、STPのようなトポロジを維持するプロトコルによる方法では、CPUに異常が発生した場合やトポロジ維持機構を動作させていないインターフェースで作業ミスなどが発生することにより、ループが構成される可能性が依然として存在する。
【０００８】
また、上記方法によってループ発生が検出された場合、ネットワーク中の何処でループが発生したかを検出するには、スイッチノードを一つ一つ調べてループによって増殖したトラフィックがどちらの方向から流入しているかを調べるといった方法などが一般的にとられるが、ネットワークの規模が大きくなるとこの作業に数分から数十分の時間がかかる場合があり、ループを構成するスイッチノードを短時間に検出、判定することが困難であった。
【０００９】
本発明の目的は、上記課題を解決し、LANや広域イーサネット（登録商標）でループを構成するノードを簡単かつ迅速に検出でき、通信の支障を取り除く手助けとなるMACブリッジングネットーワークにおけるループノード検出方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、フレーム内にフレーム生存時間情報であるTTLを保持するTTLフィールドを設け、フレームがノードを経由するたびにTTLに対して所定値の減算あるいは加算を行い、これが予め決められた値になった時にフレーム破棄を行うMACブリッジングネットワークにおけるループノード検出方法において、あるノードにおいて、二方向以上から入力されたトラフィックに含まれるフレームのTTLの値が予め決められた値であって破棄された場合、該ノードはループを構成するノードの一部または全部であると判別することを特徴としている。
【００１１】
ここで、TTLフィールドにおけるTTLの値が予め決められた値であることによるフレーム破棄が、ノードにおいて二方向以上から入力されたトラフィックに対して発生した場合と一方向から入力されたトラフィックに対してのみ発生した場合とでノードからセンタ管理装置への警報の上げ方を変えることにより、ループを構成しているノードの通知を行うことができる。
【発明の効果】
【００１２】
本発明によれば、MACブリッジングネットワークにおいて、ループを構成するノードを簡単かつ迅速に検出でき、通信の支障を取り除く手助けとすることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を説明する。本発明は、MACブリッジングで使用するフレームに、整数値のフレーム生存時間情報(TTL)を保持するTTLフィールドを設けた拡張MACブリッジング方式を対象とする。
【００１４】
図１は、TTLフィールドを設けたMACブリッジングフレームの構成例を示す。このMACブリッジングフレームには、プリアンブル＋SFDまたはプリンブル、宛先MACアドレス、送信元MACアドレス、その他のヘッダに続いてTTLフィールドを設けている。
【００１５】
TTLフィールドは、フレーム生存時間情報であるTTLを保持する。TTLの値は、ネットワーク内の通常のフレーム転送ではノードを経由ごとにTTLから所定値ずつ減算されても、フレームが宛先に到着する前に破棄されることのないように、事前に十分大きく設定しておく。その最大値は例えば255である。MACブリッジングフレームはさらに、その他のヘッダ、ペイロード、FCS（frame check sequence）を含む。ペイロードは、該フレームにより伝送しようとする実データを保持するフィールドであり、FCSは、受信側で伝送誤りを検出できるようにするためのビット列である。
【００１６】
図２は、スイッチノードを経由するごとのTTL演算の状況を示す図である。同図には、送信側でTTL「10」が設定され、ネットワーク内のノードを1個経由するたびに「1」ずつ減算され、３つのノードを経由してTTLが「7」になって宛先に到達した状態を示している。
【００１７】
もし、ネットワーク内を経由する間にTTLが、例えば「0」になれば、該フレームはそのフレームを受けたノードで破棄される。なお、上記の具体的数値は一例であり、TTLから減算する値や破棄するフレームのTTLの値は上記以外の値であってもよい。また、ノードを1個経由するたびにTTLに所定値を加算し、それが予め決められた値になったときフレームを破棄するようにしてもよい。
【００１８】
あるノードにおいて、予め決められた値、例えば「0」のTTLを保持するフレームを受けとたきに該フレームを破棄すると仮定した場合、本発明では、そのような破棄が該ノードに対して１方向から入力されたトラフィックに含まれるフレームに対してのみ発生しているか、２方向以上から入力されたフレームに対して発生しているかを確認することにより、該ノードがループを構成しているノードであるか否かを判定する。
【００１９】
「0」のTTLを保持したフレームの破棄がノードの２方向以上から入力されたフレームに対して発生している場合、ループが同時に２箇所で発生していない限りにおいて、該ノードはループを構成していると考えることができる。ループが同時に２箇所で発生する確率は極めて低い。
【００２０】
また、「0」のTTLを保持したフレームの破棄がノードの１方向から入力されたフレームに対してのみで発生している場合は、該ノードはループを直接構成していないと考えることができる。もちろん、フレーム破棄が発生していないノードはループを構成していないとする。
【００２１】
この方法により、予め決められた値のTTLを保持するフレームを受けてその破棄を行っているノードであっても、ループを構成しているノードと構成していないノードを区別することができる。
【００２２】
以下、具体例を用いて説明する。ここでは、図３に示すように、ポートＡ〜Ｄを備えるスイッチノード１、ポートＡ〜Ｃを備えるスイッチノード２〜４があり、ノード２のポートＢ−Ｃ−ノード３のポートＡ−Ｂ−ノード４のポートＢ−Ａ−ノード２のポートＢでループが構成され、ノード１はループ外にある場合を想定する。
【００２３】
図３に示すようにループが発生すると、ノード２ではノード１から流れ込んだブロードキャストやマルチキャストやアンノウンユニキャストといったトラフィック、つまりフラッディングフレームは、ノード３およびノード４の方向に同時にフラッディングされる。
【００２４】
これにより同じフレームがループ内で右回りと左回りに回転し、スイッチ２ではポートＢとＣの両方から流れ込み、スイッチ３ではポートＡとＢの両方から流れ込み、スイッチ４ではポートＡとＢの両方から流れ込む。このフレームは、ループ構成の中で回りはじめ、同時にノード２からノード１へ流れ込み、TTLが予め決められた値、例えば「0」になったフレームを受けたノードで破棄される。なお、図３では、TTLが「0」になってフレーム破棄が発生したことを「TTL  Expire」と表記している。
【００２５】
ループには様々な入力元からのトラフィック、つまり様々なTTLの値を持つ多くのトラフィックが短時間に流れ込むため、ループを構成するノード２，３，４ではTTLが「0」のフレームを受けることによるフレームの破棄が発生する。また、ループを構成しないノード１でもノード２からTTL「0」のフレームがループから流れ出すとフレーム破棄が発生する。
【００２６】
上述のように、TTLの値は大きく設定されるが、ここでは説明を簡単にするために、TTLが「2」，「3」，「4」のフラッディングフレームがノード１からノード２に流れ込んだとする。ノード１からノード２に流れ込むTTLが「2」のフラッディングフレームは、ループ内を右回りと左回りに回転する。右回りの回転ではノード３のポートＢにTTL「0」となって流れ込み、左回りの回転ではノード４のポートＢにTTL「0」となって流れ込み、ここでフレーム破棄が発生する。
【００２７】
ノード１からノード２に流れ込むTTLが「3」のフラッディングフレームは、ループ内の右回りおよび左回りの回転でノード２のポートＢ，ＣにTTL「0」となって流れ込み、ここでフレーム破棄が発生する。
【００２８】
また、ノード１からノード２に流れ込むTTLが「4」のフラッディングフレームは、ループ内の右回りの回転ではノード４のポートＡにTTL「0」となって流れ込み、左回りの回転ではノード３のポートＡにTTL「0」となって流れ込み、ここでフレーム破棄が発生する。同時に、ノード２のポートＡからノード１のポートＣにTTL「0」となって流れ出し、ここでフレーム破棄が発生する。
【００２９】
以上を総合すると、ノード２ではポートＢ，Ｃでフレーム破棄が発生し、ノード３，４ではポートＡ，Ｂでフレーム破棄が発生するが、ノード１ではポートＣでのみフレーム破棄が発生する。このようにループを構成するノードでは２以上のポートにおいてTTL「0」のフレームを受けることによるフレーム破棄が発生する。しかし、ループを直接構成しないノード１では１つのポートのみにおいてフレーム破棄が発生する。
【００３０】
各ノードでは、フレーム破棄がどのポートから入力されたフレームに対して発生しているかをモニターする。このモニタの結果、短時間に２ポート以上から入力されたフレームのTTLが「0」であることによるフレーム破棄が発生した場合、該ノードは、SNMP(simple network management protocol)あるいはSyslog(システム・ログ機能)などのアラームを使って自ノードがループ構成の一部あるいは全部である可能性を運用者（センタ管理装置）に報告する。運用者はこのアラームによりループを構成しているノードを認識することができるので、ループを構成しているノードに対して適切な処置を行うことができる。また、１つのポートのみでフレーム破棄が発生したノードは、必要ならば、ループ構成の一部あるいは全部であることのアラームとは異なるアラームを使ってループを検出したことを運用者に報告する。
【００３１】
なお、以上ではノード２のポートＢ−Ｃ間に他の２つのノードが存在してループが発生する場合の実施形態について説明したが、その間に１つあるいは３以上のノードが存在する場合であっても同様にループを構成するノードを検出できる。また、ノード２のポートＢ−Ｃ間が直接接続されてループを構成する場合であっても、ノード１のみがループを構成するノードであるとして検出できる。
【図面の簡単な説明】
【００３２】
【図１】本発明で使用されMACブリッジングネットワークにおけるフレームフォーマットの例を示す図である。
【図２】MACブリッジングネットワークにおけるTTLの値の遷移状況の説明図である。
【図３】本発明に係るＭＡＣブリッジングネットワークにおけるループノード検出方法の動作説明図である。
【符号の説明】
【００３３】
１〜４・・・スイッチノード
【図１】
2005328164.tif 000003
【図２】
2005328164.tif 000004
【図３】
2005328164.tif 000005