ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法
【課題】 ノード冗長化プロトコルによるネットワークと他のSTPプロトコル(ポートの状態を管理)によるネットワークとを共存させる。
【解決手段】 STPプロトコルによるネットワークを構成するマスタノード10とバックアップノード20に属し、ノード冗長化プロトコルの管理下にあるポートであり、かつSTPプロトコルの管理下にあるポートの状態について、STPプロトコルによる管理を行うように構成し、マスタノード10又はバックアップノード20が、ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、Helloメッセージ(ノード及びリンクの監視制御フレーム)を送信すると共に、マスタモードへの切り替え時に、ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、Flushメッセージ(フォワーディングデータベースの書換制御フレーム)を送信する。
【解決手段】 STPプロトコルによるネットワークを構成するマスタノード10とバックアップノード20に属し、ノード冗長化プロトコルの管理下にあるポートであり、かつSTPプロトコルの管理下にあるポートの状態について、STPプロトコルによる管理を行うように構成し、マスタノード10又はバックアップノード20が、ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、Helloメッセージ(ノード及びリンクの監視制御フレーム)を送信すると共に、マスタモードへの切り替え時に、ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、Flushメッセージ(フォワーディングデータベースの書換制御フレーム)を送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおけるノードのダウンやリンクの切断等の障害発生時に通信を停止することなくサービス運用を続行できるようにしたネットワークシステムに関し、特に、ノードの冗長化により障害発生時に通信を続行可能にしたネットワークシステムに関する。
【背景技術】
【0002】
まず、ポート状態の管理を行うプロトコルの1つである、Spanning Tree Protocol(STP)で計算されたフレームの転送路に関する情報を用いて、フレームが転送されるネットワーク(以下、STP網という)において、フレームが転送される手順について、一例を挙げて説明する。
【0003】
例えば、図45のようなネットワークトポロジのネットワークにおいて、STPによって図45の太線の経路(スパニングツリー)が計算されているとする。
【0004】
このネットワークにおいて、ノード5配下の端末からノード3配下の端末にフレームを転送する場合は、ノード1を経由してフレームが転送される。
【0005】
同様に、ノード2配下の端末にフレームを転送する場合も、ノード1を経由して転送が行われる。
【0006】
上述したSTP網において、ノード1に障害が発生した場合、ノード5は、ノード3、ノード2配下の端末に対するフレーム転送が一切行えなくなるという問題がある。
【0007】
このような不具合を解消する一手法として、ノードを2重化して、一方のノードに障害が発生しても、障害の発生していない他方のノードを用いて、フレームの転送を続行するという方法がある。
【0008】
STP網に属さないノードを2重化する従来のノード冗長化プロトコルとして、VSRP(Virtual Switch Redundancy Protocol)(Foundry Switch and Router Installation and Basic Configuration Guide,Chapter 12 “Configuring Metro Features”(http://www.foundrynet.com/services/documentation/sribcg/Metro.html#61625):非特許文献1)や、ESRP(Extreme Standby Router Protocol)(ExtremeWare 7.2.0 Software User Guide, Chapter 15, page 347-376(http://www.extremenetworks.com/services/documentation/swuserguides.asp):非特許文献2)等が知られている。
【0009】
STP網に属さないノードを冗長化する従来のノード冗長化プロトコルが適用されたネットワークシステムにおいて、ノードのダウン又はリンクの切断といった障害が生じた場合の一般的な動作について、図39を参照して以下に説明する。
【0010】
図39に示す従来のノード冗長化プロトコルが適用されたネットワークシステムでは、マスタノード210とバックアップノード220とが冗長化された一対のノードとして存在する。マスタノード210とバックアップノード220は、それぞれ直接接続(結線)されたノード(以下、Awareノードという)230、240を経由して、接続された状態となっている。
【0011】
このようなネットワークシステムにおいて、マスタノード210は、ノード冗長化プロトコルのマスタモードと呼ばれる動作状態にあって、通常フレームの送受信を行うと共に、定期的にKeepaliveフレーム(Helloメッセージ)をノード冗長化プロトコルのメンバポートP1、P2から送信する。
【0012】
この従来技術におけるノード冗長化プロトコルのメンバポートとは、ノード冗長化プロトコルが有効であるポート、即ち、そのポート状態がノード冗長化プロトコルにより管理されるポートを意味する。ポート状態としては、フォワーディング状態とブロッキング状態の2つの状態が定義されており、フォワーディング状態とは、宛先情報を参照して受信フレームを転送する状態であり、ブロッキング状態とは、受信フレームを転送せずに廃棄する状態である。
【0013】
ただし、受信フレームのうち、ノード冗長化プロトコルの制御フレームであるHelloメッセージ及びFlushメッセージ、又は、その他のプロトコルで用いられる制御フレームについては、入力ポートのポート状態に関わらず、ノード内の制御フレームを処理するモジュールに送られる。
【0014】
従って、上述の状態で、マスタノード210におけるノード冗長化プロトコルのメンバポートP1、P2のポート状態は、フォワーディング状態に設定されている。
【0015】
Awareノード230、240は、それぞれマスタノード210側のポートP1で受信したHelloメッセージをバックアップノード220側のポートP2から送信する。
【0016】
また、バックアップノード220は、ノード冗長化プロトコルのバックアップモードと呼ばれる動作状態にあって、メンバポートP1、P2で受信されるフレームのうち、HelloメッセージまたはFlushメッセージを監視し、それ以外のフレームについては廃棄する。
【0017】
従って、この状態で、バックアップノード220におけるノード冗長化プロトコルのメンバポートP1、P2のポート状態は、ブロッキング状態に設定されている。
【0018】
上述の状態において、Awareノード230、240のそれぞれの配下にある端末は、マスタモードにあるマスタノード210を経由して、通信を行う。
【0019】
ここで、図40に示すように、マスタノード210がダウンして、マスタノード210から上記Helloメッセージが送信されない事態となった場合について説明する。バックアップノード220は、所定回数連続してHelloメッセージを受信できない場合、メンバポートP1、P2からHelloメッセージを定期的に送信する処理を開始すると共に、引き続きマスタノード210から送信されるHelloメッセージが受信されないか監視する。
【0020】
バックアップノード220は、Helloメッセージの送信を開始した後、所定の時間が経過しても、マスタノード210から送信されるHelloメッセージを受信できなかった場合、マスタノード210がダウンしたと判断し、マスタモードに切り替わる。
【0021】
マスタモードに切り替わったバックアップノード220は、ブロッキング状態となっていたメンバポートP1、P2をフォワーディング状態にすると共に、メンバポートP1、P2から自らがマスタモードに切り替わったことを示すFlushメッセージを送信する。その後、バックアップノード220は、引き続きメンバポートP1、P2から定期的にHelloメッセージを送信する。
【0022】
Awareノード230、240は、上記Flushメッセージを受信すると、フレームに示された宛先とそのフレームの出力ポートとの対応を記憶しているFDB(フォワーディングデータベース)の内容を書き換える。具体的には、Flushメッセージを受信する前にHelloメッセージを受信していたポートが記載されているFDBのエントリの出力ポート名を、Flushメッセージを受信したポートに書き換える。例えば、図40のネットワークにおけるAwareノード230では、以下のようなFDBの書き換えが行われる。ノード220からのFlushメッセージを受信する前にHelloメッセージを受信していたポートはP1であるので、FDB中、出力ポート名としてP1が記載されているエントリについて、出力ポート名をFlushメッセージの受信ポートP2に書き換える。
【0023】
上述したように、Awareノード230、240のそれぞれの配下にある端末は、マスタモードに切り替わったバックアップノード220を経由して通信を続行することができる。
【0024】
また、上述したマスタノードのダウンとは異なる障害として、リンクの切断が考えられる。この場合の動作について図41を用いて説明する。図41に示すように、マスタノード210とAwareノード230間でリンクの切断が発生したような場合、マスタノード210はリンク切断を検知し、自らのノードのプライオリティを下げるように動作する。そして、この下げられたプライオリティ情報を格納したHelloメッセージを送信する。一方、このHelloメッセージを受信したバックアップノード220は、マスタノード210のプライオリティが自ノード(バックアップノード220)より低くなったことを知ることによって、自ノードのプライオリティを格納したHelloメッセージをメンバポートP1、P2から定期的に送信する処理を開始すると共に、引き続きマスタノード210から送信されるHelloメッセージを監視する。
【0025】
バックアップノード220から送信されるHelloメッセージを受信したマスタノード210は、バックアップノード220のプライオリティが自ノード(マスタノード210)のプライオリティより高くなったことを知ることによって、バックアップモードに切り替わり、メンバポートP1、P2のポート状態をフォワーディング状態からブロッキング状態に変更すると共に、Helloメッセージを定期的に送信する処理を停止する。その後、マスタノード210は、バックアップノード220から定期的に送信されるHelloメッセージを監視する。
【0026】
マスタノード210がHelloメッセージの送信を停止し、バックアップノード220がマスタノード210から送信されるHelloメッセージを所定の時間受信できなくなった場合、バックアップノード220はマスタモードに切り替わる。
【0027】
マスタモードに切り替わったバックアップノード220は、メンバポートP1、P2をフォワーディング状態にすると共に、メンバポートP1、P2からFlushメッセージを送信する。その後、バックアップノード220は、引き続き定期的にHelloメッセージをメンバポートP1、P2から送信する。
【0028】
このとき、Flushメッセージ及びHelloメッセージは、バックアップノード220のプライオリティ情報が格納されて、送信される。
【0029】
Flushメッセージを受信したAwareノード230、240の動作は上述と同様である。即ち、FDBのエントリのうち、出力ポート名がバックアップノード220の切り替え前にHelloメッセージを受信していたポートであるエントリの出力ポート名を、Flushメッセージを受信したポートに書き換える。
【0030】
以上により、Awareノード230、240のそれぞれの配下にある端末は、マスタモードに切り替わったバックアップノード220を経由して通信を続行することができる。
【特許文献1】特開2004−140777号
【非特許文献1】Foundry Switch and Router Installation and Basic Configuration Guide, Chapter 12 "Configuring Metro Features"(http://www.foundrynet.com/services/documentation/sribcg/Metro.html#61625)
【非特許文献2】ExtremeWare 7.2.0 Software User Guide, Chapter 15, page 347-376(http://www.extremenetworks.com/services/documentation/swuserguides.asp)
【発明の開示】
【発明が解決しようとする課題】
【0031】
上述したように、従来のノード冗長化プロトコルを用いてノードを冗長化することにより、ノードのダウンやリンクの切断等の障害が発生しても通信を停止することなくサービス運用を続行できる。
【0032】
しかしながら、例えばSTPのように、ポートのポート状態を管理する他のプロトコル(以下、他のプロトコルと記述する)が適用されたネットワーク内のノードに対して、従来のノード冗長化プロトコルを適用した場合、フレームを転送できなくなるという問題がある。
【0033】
例えば、図42にSTP網のエッジ部分に従来のノード冗長化プロトコルを適用したネットワークを示す。図42では、マスタノード210とバックアップノード220の双方において、ノード冗長化プロトコルのメンバポートがP1〜P4となっている。一方、STP網側に着目した場合、マスタノード210及びバックアップノード220のSTPのメンバポートは、P3、P4であるように設定されている。STPのメンバポートとは、STPが有効であるポート、即ち、そのポート状態がSTPにより管理されるポートを意味する。このような設定の場合、ポートP3、P4のポート状態の管理に関して、STPとノード冗長化プロトコルとの間で競合が発生し、後述するように、フレームを転送することができなくなるという問題がある。
【0034】
また、上記のような競合を回避するために、図42において、マスタノード210、バックアップノード220それぞれのポートP1、P2をノード冗長化プロトコルのメンバポートと設定し、それぞれのメンバポートP3、P4をSTPのメンバポートと設定した場合には、STPのメンバポートP3、P4に接続されるノード250及び260には、マスタモードとバックアップモードの切り替え時に、上述したFlushメッセージが送信されないこととなるので、ノード250及び260のFDBは書き換えられない。よって、この場合、ノード250及び260のFDBがエージアウトするまでの間、ノード250及び260は通信(フレームの転送)ができない状態となる。
【0035】
以下に、マスタノード210及びバックアップノード220のポートP3、P4をノード冗長化プロトコル及びSTPの両プロトコルのメンバポートに設定する場合において、ポート状態の管理が競合することによって、通信が行えなくなる問題について説明する。
【0036】
図43に示すような構成のネットワークにおいては、ノード260は、バックアップノード220のメンバポートP4及びP3を経由して他のノードと通信を行う。図44に、バックアップノード220におけるSTPのメンバポートのポート状態を管理するポート状態管理テーブル270の設定内容と、ノード冗長化プロトコルのメンバポートのポート状態を管理するポート状態管理テーブル280の設定内容の例を示す。
【0037】
バックアップノード220のポートP1、P2については、STPによるポート状態の管理は無効となっており、ノード冗長化プロトコルによる管理では、ポート状態はブロッキング状態となっている。
また、ポートP3、P4については、STPによる管理では、ポート状態は共にフォワーディング状態であるが、ノード冗長化プロトコルによる管理では、ポート状態が共にブロッキング状態となっており、STPとノード冗長化プロトコルにおいて、互いに異なるポート状態が設定されている。
【0038】
バックアップノード220のポートP3とP4のSTPにおけるポート状態はフォワーディング状態なので、ノード260はこれらのポートを経由して他のノードと通信することが可能となる。
【0039】
これに対して、ポートP3とP4のノード冗長化プロトコルにおけるポート状態はブロッキング状態であるため、ノード260から他のノードへの通信及び他のノードからのノード260への通信は、それぞれバックアップノード220のメンバポートP4及びP3で遮断されることになる。
【0040】
即ち、STPにおけるポート状態がフォワーディング状態であったとしても、ノード冗長化プロトコルにおけるポート状態がブロッキング状態であるために、STPのBPDU(Bridge Protocol Data Unit)フレーム又はノード冗長化プロトコルのHelloメッセージ及びFlushメッセージのような制御フレーム以外の通常のデータフレームは破棄されてしまう。従って、ノード260は、STPとノード冗長化プロトコルにおけるポート状態の管理が競合することが原因で他のノードとの通信ができない状態となる。
【0041】
本発明の第1の目的は、上述のようなノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワークとを共存させることを可能としたネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0042】
本発明の第2の目的は、ノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワークとを共存させた場合に、マスタモードとバックアップモードの切り替え時に、他のプロトコルによるネットワーク側のノードのFDBがエージアウトするまで通信できないという問題を解決した、ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0043】
本発明の第3の目的は、STP網間を相互に接続したネットワークシステムであって、信頼性向上を可能としたシステムを実現することができるネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0044】
本発明の第4の目的は、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することを可能としたネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【課題を解決するための手段】
【0045】
上記目的を達成するため本発明のネットワークシステムでは、ノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワーク網とを共存させるネットワークシステムにおいて、他のプロトコルによるネットワーク網を構成するマスタノードとバックアップノードに属し、ノード冗長化プロトコルの管理下にあるメンバポートであり、かつ他のプロトコルによるネットワーク網側の管理下にあるポートの状態を、ノード冗長化プロトコルによる管理を行わず、他のプロトコルのみによる管理を行うように構成し、また、マスタノード又はバックアップノードがマスタモードへの切り替え時に、ノード冗長化プロトコルの管理下にあるメンバポートに接続される全てのノードに対してフォワーディングデータベースを書き換えるための制御フレームを送信するようにした。
【0046】
本発明によれば、他のプロトコルの管理下にあるポートの状態を、ノード冗長化プロトコルの管理下から外すことで、ノード冗長化プロトコルと他のプロトコルによるポート管理状態が競合することを回避すると共に、マスタノードとバックアップノードのノード冗長化プロトコルにおける動作状態が切り替わる時に、ノード冗長化プロトコルの管理下にあるメンバポートに接続される全てのノードに対してFlushメッセージを送信することで、他のプロトコルの管理下にあるメンバポートに接続されるノードのFDBのフラッシュを実行することを可能とした。
【発明の効果】
【0047】
本発明のノード冗長化ネットワークシステムによれば、以下に述べるような優れた効果が達成される。
【0048】
第1に、ポートの管理状態が競合することなく、ノード冗長化プロトコルを他のプロトコルを適用したネットワーク内のノードに適用させることを可能となる。
【0049】
第2に、ノード冗長化プロトコルを他のプロトコルを適用したネットワーク内のノードに適用させた場合に、マスタモードとバックアップモードの切り替え時に、他のプロトコルによるネットワーク側のノードのFDBがエージアウトするまで通信できないという問題が解消される。
【0050】
第3に、STP網間を相互に接続したネットワークシステムであって、信頼性の高いノード冗長化を可能としたシステムを実現することができる。
【0051】
第4に、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することが可能となる。
【実施例1】
【0052】
以下、本発明の好適な一実施形態について図面を参照して詳細に説明する。
【0053】
第1の実施の形態においては、STP網を構成するノードを冗長化する方法について詳細に説明する。
【0054】
図1は、本発明を適用したネットワークシステムの構成を示す図である。
【0055】
マスタノード10及びバックアップノード20のポートP3、P4にはSTP網に属するノード50、60が接続され、マスタノード10及びバックアップノード20のポートP1、P2にはSTP網に属さないノード30、40がそれぞれ接続されている。
【0056】
また、STP網に属するノード50、60には、ノード70、80がそれぞれ接続されており、ノード70、80は、マスタノード10、バックアップノード20、ノード50、ノード60と共にSTP網を構成している。
【0057】
マスタノード10及びバックアップノード20には、本発明のノード冗長化プロトコルが適用されており、マスタノード10及びバックアップノード20のうち、一方のノードは本発明のノード冗長化プロトコルにおけるマスタモードの動作状態にあり、他方はバックアップモードの動作状態にあって、それぞれのノードが冗長化された一対のノードの1つとして動作する。
【0058】
また、本発明のノード冗長化プロトコルにより冗長化されたマスタノード10及びバックアップノード20に直接接続されたSTP網に属するノード50、60及びSTP網に属さないノード30、40は全て、マスタノード10及びバックアップノード20のAwareノードとして動作する。
【0059】
以降に、マスタノード10及びバックアップノード20の構成と動作について説明する。
【0060】
図2に示すように、マスタノード10は、フレーム解析部110と、スイッチ120と、ポート状態管理テーブル130と、FDB(フォワーディングデータベース)140と、フレーム多重部150とを備え、本発明において特徴的な、STPモジュール160とノード冗長化プロトコルモジュール170及びSTPメンバポート管理テーブル180とノード冗長化プロトコルメンバポート管理テーブル190とを備えて構成される。
なお、バックアップノード20の構成は、マスタノード10と同様である。
【0061】
図5に、図1のネットワーク構成例におけるマスタノード10のノード冗長化プロトコルメンバポート管理テーブル190の設定例及びSTPメンバポート管理テーブル180の設定例を示す。
【0062】
図5に示すマスタノード10のノード冗長化プロトコルメンバポート管理テーブル190には、Awareノード(ノード30、40、50、60)が直接接続されているポートP1〜P4がマスタノード10のノード冗長化プロトコルのメンバポートとして登録されている。
【0063】
これらのメンバポートの管理テーブルは、ネットワーク構築時に手動で設定してもよく、また、サーバから設定するようにしてもよい。
【0064】
また、図5に示すマスタノード10のSTPメンバポート管理テーブル180には、STP網を構成するノード50、60が直接接続されているポートP3、P4がマスタノード10のSTPのメンバポートとして登録されている。
【0065】
図6に、図1のネットワーク構成例におけるバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190の設定例及びSTPメンバポート管理テーブル180の設定例を示す。
【0066】
図6に示すバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190には、Awareノード(ノード30、40、50、60)が接続されているポートP1〜P4がバックアップノード20のノード冗長化プロトコルのメンバポートとして登録されている。
【0067】
また、図6に示すバックアップノード20のSTPメンバポート管理テーブル180には、STP網を構成するノード50、60が接続されているポートP3、P4がバックアップノード20のSTPのメンバポートとして登録されている。
【0068】
以下、マスタノード10の動作について説明する。ここでは、マスタノード10の動作のみについて説明するが、バックアップノード20の動作についても同様である。
【0069】
マスタノード10の動作状態がマスタモードにある場合、ノード冗長化プロトコル解析部172は、自ノードのノード冗長化プロトコルに関する情報(例えば、プライオリティ)を格納したHelloメッセージをノード冗長化プロトコルのメンバポート(P1〜P4)から定期的に送信するように、Hello/Flushメッセージ送信部173に指示している。
【0070】
ノード冗長化プロトコルに関する情報としては、マスタノード10及びバックアップノード20の動作状態が互いに異なるような情報を使用する。
【0071】
例えば、マスタノード10の動作状態がバックアップモードからマスタモードに更新される場合は、バックアップノード20の動作状態はマスタモードからバックアップモードに更新されるように、マスタノード10及びバックアップノード20のノード冗長化プロトコルに関する情報は計算される必要がある。
【0072】
ここで、ノード冗長化プロトコルに関する情報としてプライオリティを用いた場合に、プライオリティの計算方法の一例を説明する。
【0073】
プライオリティには、基準となる値(以下、基準値)がデフォルト又は設定インタフェースから予め手動等により設定されており、ノード冗長化プロトコル解析部172に保持される。
【0074】
ノードのプライオリティの計算方法としては、基準値、ノード冗長化プロトコルのメンバポート数、リンクアップしているメンバポート数を用いて計算する方法が主に用いられる。
【0075】
例えば、プライオリティの基準値を100、ノード冗長化プロトコルのメンバポートがP1〜P4の4個で、そのうちリンクアップしているメンバポートがP1〜P3の3個であった場合は、プライオリティは基準値×(ノード冗長化プロトコルのメンバポートの数)/(ノード冗長化プロトコルのメンバポートのうちリンクアップしているポートの数)=100×3/4=75のように計算することができる。
【0076】
上述したプライオリティの計算方法以外にも、ノード冗長化プロトコルのメンバポート以外のポートに関する情報など他の情報を考慮した計算方法を用いても良い。
【0077】
Hello/Flushメッセージ送信部173は、自ノードのノード冗長化プロトコルに関する情報に基づいてHelloメッセージを作成し、作成したHelloメッセージをノード冗長化プロトコルのメンバポートから送信するように、フレーム多重部150に指示する。
【0078】
マスタノード10の動作状態がバックアップモードにある場合、後述するように、マスタモードにあるノードから定期的に送信されるHelloメッセージを監視する。
【0079】
以降に、マスタノード10がフレームを受信した場合の動作について、図15から図17に示すフローチャートを参照して説明する。
【0080】
マスタノード10のフレーム受信時における動作は、ノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージの受信時を除いて、ノードの動作状態(マスタモード又はバックアップモード)に依存しない。
【0081】
ポートP3、P4で受信されたフレームは全て、フレーム解析部110に送られる(ステップ1501)。
【0082】
フレーム解析部110は、受信したフレームの種類を識別して(ステップ1502)、受信フレームがSTPの制御フレームであるBPDUフレームであれば、STPモジュール160内のBPDU受信部161に受信フレームを送る(ステップ1503)。
【0083】
以降の、STPモジュール160の詳細な動作については、後述する。
【0084】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば、フレーム解析部110は、ノード冗長化プロトコルモジュール170内のHello/Flushメッセージ受信部171に受信フレームを送る(ステップ1504)。
【0085】
以降のノード冗長化プロトコルモジュール170の詳細な動作については、後述する。
【0086】
受信フレームがSTPの制御フレーム及びノード冗長化プロトコルの制御フレーム以外の通常のデータフレームであれば、フレーム解析部110は受信フレームをスイッチ120に送る(ステップ1505)。
【0087】
スイッチ120は受信フレームの入力ポートをキーとしてポート状態管理テーブル130を参照して、入力ポートのポート状態を取得する(ステップ1506)。
【0088】
図7に、図1のネットワーク構成例におけるマスタノード10のポート状態管理テーブル130を、図8に、図1のネットワーク構成例におけるバックアップノード20のポート状態管理テーブル130の例を示す。
【0089】
ポート状態管理テーブル130は、マスタノード10又はバックアップノード20に属する各ポートのポート状態(フォワーディング状態又はブロッキング状態のいずれかの状態)を管理するためのテーブルであり、STP解析部172及びノード冗長化プロトコル解析部192によって参照されるとともに、内容が書き換えられる。
【0090】
入力ポートのポート状態がブロッキング状態である場合(ステップ1507)、スイッチ120は受信フレームを転送する処理を中断して、受信フレームを廃棄する(ステップ1508)。
【0091】
入力ポートのポート状態がフォワーディング状態である場合(ステップ1507)、スイッチ120は受信フレームに格納された宛先情報をキーとしてFDB140を検索して、受信フレームの出力ポート情報を取得し(ステップ1509)、取得した出力ポート情報に格納されたポートから受信フレームを送信するように、フレーム多重部150に指示する(ステップ1510)。
【0092】
このようなフレームの転送方法はユニキャスト転送と呼ばれる。
【0093】
受信フレームに格納された宛先情報に関する出力ポート情報が検索されなかった場合、スイッチ120は、ポート状態管理テーブル130を参照して、入力ポートを除くフォワーディング状態にある全てのポートから受信フレームを送信するように、フレーム多重部150に指示する。
【0094】
このようなフレームの転送方法はブロードキャスト転送と呼ばれる。
【0095】
以降、受信フレームがBPDUフレームであった場合のSTPモジュール160の動作について詳細に説明する。
【0096】
STPモジュール160は、STP網に属するノード(ノード50、60)が接続されたポート(P3、P4)を、STPのメンバポートとして、そのポート状態を管理するための機能を有しており、BPDU受信部161と、STP解析部162と、BPDU送信部163とを備えて構成される。
【0097】
STP解析部162は、BPDU受信部161で受信したBPDUフレームに格納されたフレームの転送経路に関する情報(例えば、ルートノードのMACアドレス、ルートパスコスト)及びSTP解析部162自身が保持しているフレームの転送経路に関する情報を解析することにより、自身のフレームの転送経路に関する情報を更新するともに(ステップ1511)、更新されたフレームの転送経路に関する情報に基づいて、STPのメンバポートのポート状態(フォワーディング状態又はブロッキング状態)を決定し、ポート状態管理テーブル130を変更する(ステップ1512)。
【0098】
また、STP解析部162は、更新されたフレームの転送経路に関する情報を自ノードに接続された他のノードに伝えるために、STPのメンバポートからフレーム転送の経路に関する情報を格納したBPDUフレームを送信するように、BPDU送信部163に指示する(ステップ1513)。
【0099】
BPDU送信部163は、更新されたフレームの転送経路に関する情報に基づいてBPDUフレームを作成し(ステップ1514)、STPのメンバポートから作成したBPDUフレームを送信するように、フレーム多重部150に指示する(ステップ1515)。
【0100】
また、STP解析部162は、STPのメンバポートからBPDUフレームを定期的に送信するように、BPDU送信部163に指示する。
【0101】
BPDU送信部163は、フレームの転送経路に関する情報に基づいてBPDUフレームを作成し、STPのメンバポートから作成したBPDUフレームを送信するように、フレーム多重部150に指示する。
【0102】
以降、受信フレームがHelloメッセージ又はFlushメッセージであった場合のノード冗長化プロトコルモジュールの動作について詳細に説明する。
【0103】
ノード冗長化プロトコルモジュール170は、Awareノード(ノード30、40、50、60)と接続されたポート(P1、P2、P3、P4)を、ノード冗長化プロトコルのメンバポートとして、そのポート状態を管理するための機能を有しており、Hello/Flushメッセージ受信部171と、ノード冗長化プロトコル解析部172と、Hello/Flushメッセージ送信部173とを備えて構成される。
【0104】
ノード冗長化プロトコルモジュール170の動作はマスタノード10の動作状態に依存するため、以降では、マスタモード10の動作状態がマスタモードである場合とバックアップモードである場合に分けて説明する。
【0105】
まず、マスタノード10の動作状態がマスタモードである場合について図16のフローチャートを参照して説明する。
【0106】
Hello/Flushメッセージ受信部171でHelloメッセージ又はFlushメッセージを受信すると(ステップ1601)、ノード冗長化プロトコル解析部172は、受信したHelloメッセージ又はFlushメッセージに格納されたノード冗長化プロトコルに関する情報及びノード冗長化プロトコル解析部172自身が保持しているノード冗長化プロトコルに関する情報を解析することにより、自ノードの動作状態を決定する(ステップ1602)。
【0107】
自ノードの動作状態がマスタモードのままで更新されなかった場合は(ステップ1603)、受信したHelloメッセージ又はFlushメッセージを廃棄し(ステップ1604)、受信したHelloメッセージ又はFlushメッセージに関する処理を終了し、引き続き定期的にHelloメッセージを送信する。
【0108】
一方、自ノードの動作状態がバックアップモードに決定された場合は(ステップ1603)、ノード冗長化プロトコル解析部172は、動作状態をバックアップモードに切り替え、STPとノード冗長化プロトコルとの競合を防ぐために、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポート(P1、P2)のみのポート状態をフォワーディング状態からブロッキング状態に変更して、ポート状態管理テーブル130の内容を変更すると共に(ステップ1605)、前述のHelloメッセージを定期的に送信する処理を停止する(ステップ1606)。
【0109】
その後、後述するように、マスタモードにある別のノードから定期的に送信されるHelloメッセージを監視する。
【0110】
次に、マスタノード10の動作状態がバックアップモードである場合について図17のフローチャートを参照して説明する。
【0111】
マスタノード10の動作状態がバックアップモードである場合、Hello/Flushメッセージ受信部171でHelloメッセージ又はFlushメッセージを受信すると(ステップ1701)、ノード冗長化プロトコル解析部172は、受信したHelloメッセージ又はFlushメッセージに格納されたノード冗長化プロトコルに関する情報及びノード冗長化プロトコル解析部172自身が保持しているノード冗長化プロトコルに関する情報を解析することにより、マスタノード10の動作状態を決定する(ステップ1702)。
【0112】
マスタノード10の動作状態がバックアップモードのままで更新されなかった場合は(ステップ1703)、受信したHelloメッセージ又はFlushメッセージを廃棄し(ステップ1704)、引き続き定期的に送信されるHelloメッセージを監視する。
【0113】
マスタノード10の動作状態がマスタモードに決定された場合(ステップ1703でYES)、ノード冗長化プロトコル解析部172は、ノード冗長化プロトコルのメンバポートP1〜P4からHelloメッセージを定期的に送信する処理を開始する(ステップ1705)と共に、引き続きマスタモードにあるノード(バックアップノード20)から送信されるHelloメッセージを監視する。
【0114】
一方、マスタモードにあるノード(バックアップノード20)は、マスタノード10から定期的に送信されるHelloメッセージを受信することにより、自ノードの動作状態をマスタモードからバックアップモードに更新し、定期的にHelloメッセージを送信する処理を停止するため、マスタノード10はHelloメッセージを受信できなくなる。
【0115】
マスタノード10はHelloメッセージの送信開始以降に、所定時間マスタモードにあるノードから送信されるHelloメッセージを受信できなかった場合(ステップ1706)、自ノードの動作状態をマスタモードに切り替える(ステップ1707)。
【0116】
そして、マスタノード10は、STPとノード冗長化プロトコルとの競合を防ぐために、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポート(P1、P2)のみのポート状態をブロッキング状態からフォワーディング状態に変更して、ポート状態管理テーブル130の内容を変更する(ステップ1708)と共に、ノード冗長化プロトコルの全てのメンバポート(P1〜4)からFlushメッセージを送信する(ステップ1709)。
【0117】
その後、マスタノード10は、引き続きノード冗長化プロトコルのメンバポートP1〜P4からHelloメッセージを送信する。
【0118】
なお、マスタノード10が、Helloメッセージの送信開始以降にHelloメッセージを受信した場合は、マスタノード10はHelloメッセージを定期的に送信する処理を停止し(ステップ1710)、受信したHelloメッセージについて、上述のノード冗長化プロトコルに関する情報の解析を行って、自ノードの動作状態を決定する処理を行う。以降のマスタノード10の動作は上述の通りである。
【0119】
以下に、マスタモードにあるバックアップノード20がダウンして、バックアップモードにあるマスタノード10が、Helloメッセージを受信できなくなった場合の動作について説明する。
【0120】
マスタノード10が所定回数連続してHelloメッセージを受信できなかった場合、マスタモードにあるノード(バックアップノード20)がダウンしたと判断し、ノード冗長化プロトコルのメンバポート(P1〜P4)からHelloメッセージを送信する処理を開始する。
【0121】
マスタノード10は、Helloメッセージの送信開始以降、所定時間バックアップノード20から送信されるHelloメッセージを受信できなかった場合、自ノードの動作状態をマスタモードに切り替える。
【0122】
以降の動作については、上述のマスタノード10がバックアップモードからマスタモードに切り替わる場合の動作と同一であるため、説明を省略する。
【0123】
以上、マスタノード10の動作のみを詳細に説明したが、マスタノード10の動作状態がマスタモードである場合は、バックアップノード20の動作状態がバックアップモードであり、マスタノード10の動作状態がバックアップモードである場合は、バックアップノード20の動作状態がマスタモードであること以外は、バックアップノード20の動作は、マスタノード10の動作と同一であるので、説明を省略する。
【0124】
上述したように、ノード冗長化プロトコル解析部172が、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポートのみのポート状態を管理し、またバックアップモードからマスタモードに切り替わる際には、ノード冗長化プロトコルの全てのメンバポートからFlushメッセージを送信することにより、STP網内のノードをノード冗長化プロトコルにより冗長化し、冗長化された一方のノードがダウンしても、他方のノードを経由して通信を続行することが可能なネットワークシステムを提供することが可能である。
【0125】
以降に、マスタノード10とバックアップノード20のメンバポートP1、P2に接続されるSTP網に属さないノード30、40の構成と動作について説明する。
【0126】
図3に示すように、ノード30、40は、フレーム解析部310と、スイッチ320と、FDB340と、フレーム多重部350とを備え、さらに、ノード冗長化プロトコルモジュール370と、ノード冗長化プロトコルメンバポート管理テーブル390とを備えて構成される。ノード冗長化プロトコルモジュール370については、マスタノード10のノード冗長化プロトコルモジュール170と同様に、Hello/Flushメッセージ受信部371と、ノード冗長化プロトコル解析部372と、Hello/Flushメッセージ送信部373とを備えて構成される。
【0127】
図9に、図1のネットワーク構成例におけるノード30のノード冗長化プロトコルメンバポート管理テーブル390の設定例を示す。
【0128】
図9に示すノード30のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が直接接続されているポートP1、P2がノード30のノード冗長化プロトコルのメンバポートとして登録されている。
【0129】
図10に、図1のネットワーク構成例におけるノード40のノード冗長化プロトコルメンバポート管理テーブル390の設定例を示す。
【0130】
図10に示すノード40のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が接続されているポートP1、P2がノード40のノード冗長化プロトコルのメンバポートとして登録されている。
【0131】
以下に、ノード30がフレームを受信した場合の動作について図18のフローチャートを参照して説明する。
【0132】
ここでは、ノード30の動作について説明するが、ノード40の動作は、ノード30の動作と同一であるため、説明を省略する。
【0133】
ポートP1、P2で受信されたフレームは全て、フレーム解析部310に送られる(ステップ1801)。
【0134】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば(ステップ1802)、フレーム解析部310は、ノード冗長化プロトコルモジュール370内のHello/Flushメッセージ受信部371に受信フレームを送る(ステップ1803)。
【0135】
Hello/Flushメッセージ受信部371で受信したフレームがHelloメッセージである場合(ステップ1804)、ノード冗長化プロトコル解析部372は、Helloメッセージの入力ポートを記憶すると共に(ステップ1805)、ノード冗長化プロトコルメンバポート管理テーブル390を参照して、入力ポートを除くノード冗長化プロトコルの全てのメンバポートから、受信したHelloメッセージを送信するようにHello/Flushメッセージ送信部373に指示する(ステップ1806)。
【0136】
なお、ノード冗長化プロトコルメンバポート管理テーブル390にポートが登録されていない場合は、入力ポート以外の全てのポートからHelloメッセージを送信する。
【0137】
受信したHelloメッセージは、出力ポート情報と共に、Hello/Flushメッセージ送信部373からフレーム多重部350に送られて、ノード冗長化プロトコル解析部372より指示されたポートから送信される(ステップ1807)。
【0138】
Hello/Flushメッセージ受信部371で受信したフレームがFlushメッセージである場合(ステップ1804)、ノード冗長化プロトコル解析部372は、FDB340のエントリのうち、出力ポート情報がこれまで受信していたHelloメッセージを受信していたポートであるエントリの出力ポートを、受信したFlushメッセージの入力ポートに書き換えると共に(ステップ1808)、ノード冗長化プロトコルメンバポート管理テーブル390を参照して、入力ポートを除くノード冗長化プロトコルの全てのメンバポートから、受信したFlushメッセージを送信するようにHello/Flushメッセージ送信部173に指示する(ステップ1809)。
【0139】
また、ノード冗長化プロトコルメンバポート管理テーブル390にポートが登録されていない場合は、入力ポート以外の全てのポートからFlushメッセージを送信する。
【0140】
受信したFlushメッセージは、出力ポート情報と共に、Hello/Flushメッセージ送信部373からフレーム多重部350に送られて、ノード冗長化プロトコル解析部372より指示された出力ポートから送信される(ステップ1807)。
【0141】
次に、ステップ1802で、受信フレームがノード冗長化プロトコルの制御フレーム以外の通常のデータフレームであると判定された場合について説明する。
【0142】
フレーム解析部310は受信フレームをスイッチ320に送り(ステップ1810)、スイッチ320は受信フレームに格納された宛先情報をキーとしてFDB340を検索して(ステップ1811)、受信フレームの出力ポート情報が取得されると(ステップ1812)、取得した出力ポート情報に格納されたポートから受信フレームを送信するように、フレーム多重部350に指示することにより、受信フレームをユニキャスト転送する(ステップ1813)。
【0143】
受信フレームに格納された宛先に関する出力ポート情報が検索されなかった場合、スイッチ320は、入力ポート以外の全てのポートから受信フレームを送信するように、フレーム多重部150に指示することにより、受信フレームをブロードキャスト転送する(ステップ1814)。
【0144】
以上のように、ノード30、40は、通常時は、マスタモードのノードから定期的に送信されるHelloメッセージをバックアップモードのノードに転送し、冗長化されたノードの動作状態が互いに切り替わった場合には、新たにマスタモードに切り替わったノードから送信されるFlushメッセージを受信して、FDB340の内容を更新することにより、リンクの切断又はノードのダウン等のネットワーク障害が発生して、マスタモードのノードが変更されても、通信を続行することができる。
【0145】
以降では、マスタノード10とバックアップノード20のメンバポートP3、P4に接続されるSTP網に属するノード50、60の構成と動作について説明する。
【0146】
図4に示すように、STP網に属するノード50、60は、図3に示したノード30、40の構成に加えて、STPモジュール360とSTPメンバポート管理テーブル380と、ポート状態管理テーブル330とを備えて構成される。
【0147】
ノード50、60のSTPモジュール360については、マスタノード10及びバックアップノード20のSTPモジュール160と同様に、BPDU受信部361と、STP解析部362と、BPDU送信部363とを備えて構成される。
【0148】
図11に、図1のネットワーク構成例におけるノード50のノード冗長化プロトコルメンバポート管理テーブル390の設定例及びSTPメンバポート管理テーブル380の設定例を示す。
【0149】
図11に示すノード50のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が直接接続されているポートP1、P2がノード50のノード冗長化プロトコルのメンバポートとして登録されている。
【0150】
また、図11に示すノード50のSTPメンバポート管理テーブル380には、STP網を構成するノード10、20、60、70が直接接続されているポートP1〜4がノード50のSTPのメンバポートとして登録されている。
【0151】
図12に、図1のネットワーク構成例におけるノード60のノード冗長化プロトコルメンバポート管理テーブル390の設定例及びSTPメンバポート管理テーブル380の設定例を示す。
【0152】
図12に示すノード60のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が接続されているポートP1、P2がノード60のノード冗長化プロトコルのメンバポートとして登録されている。
【0153】
また、図12に示すノード60のSTPメンバポート管理テーブル380には、STP網を構成するノード10、20、50、80が直接接続されているポートP1〜4がノード60のSTPのメンバポートとして登録されている。
【0154】
以下に、ノード50がフレームを受信した場合の動作について説明する。
【0155】
ここでは、ノード50の動作について説明するが、ノード60の動作は、ノード50の動作と同一であるため、説明を省略する。
【0156】
ポートP1、P2で受信されたフレームは全て、フレーム解析部310に送られる。
【0157】
フレーム解析部310は、受信したフレームの種類を識別して、受信フレームがSTPの制御フレームであるBPDUフレームであれば、STPモジュール360内のBPDU受信部361に受信フレームを送る。
【0158】
以降のSTPモジュール360の動作は、マスタノード10がBPDUフレームを受信した場合のSTPモジュール160の動作と同一であるため、説明を省略する。
【0159】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば、フレーム解析部310は、ノード冗長化プロトコルモジュール370内のHello/Flushメッセージ受信部371に受信フレームを送る。
【0160】
以降のノード冗長化プロトコルモジュール370の動作は、ノード30がHelloメッセージ又はFlushメッセージを受信した場合のノード冗長化プロトコルモジュール370の動作と同一であるため、説明を省略する。
【0161】
受信フレームがノード冗長化プロトコルの制御フレーム以外の通常のデータフレームである場合、フレーム解析部310は受信フレームをスイッチ320に送る。
【0162】
以降のデータフレームを転送する動作は、前述したマスタノード10がデータフレームを転送する動作と同一であるため、説明を省略する。
【0163】
以上のように、ノード50は、ノード30と同様に、通常時は、マスタモードのノードから定期的に送信されるHelloメッセージをバックアップモードのノードに転送し、冗長化されたノードの動作状態が互いに切り替わった場合には、新たにマスタモードに切り替わったノードから送信されるFlushメッセージを受信して、FDB340の内容を更新することにより、リンクの切断又はノードのダウン等のネットワーク障害が発生して、マスタモードのノードが変更されても、通信を続行することができる。
【0164】
次いで、第1の実施の形態におけるネットワークシステムの動作について図19に示すシーケンスチャートを参照して説明する。
【0165】
図1のネットワーク構成において、マスタノード10の動作状態がマスタモードにあり、バックアップノード20の動作状態がバックアップモードにあるとする。
【0166】
通常時において、マスタノード10は、冗長化プロトコルメンバポート管理テーブル190に登録された全てのメンバポート(P1〜P4)から定期的にHelloメッセージを送信する(1901)。
【0167】
ノード30、40、50、60は、それぞれポートP1でマスタノード10から送信されるHelloメッセージを受信し(1902)、バックアップノード20が接続されたポートP2から受信したHelloメッセージを送信する(1903)。
【0168】
バックアップノード20は、マスタノード10から定期的に送信されるHelloメッセージを受信し(1904)、Helloメッセージに格納されたノード冗長化プロトコルに関する情報を監視する。
【0169】
ここで、マスタノード10とノード30間のリンクが切断され、マスタノード10のプライオリティがバックアップノード20のプライオリティよりも低下した場合について説明する。
【0170】
バックアップノード20は、ポートP2で受信したHelloメッセージに格納されたマスタノード10のプライオリティが、バックアップノード20のプライオリティよりも低下したことを検出すると(1905)、動作状態がマスタモードに決定され(1906)、ノード冗長化プロトコルのメンバポート(P1〜P4)からHelloメッセージを定期的に送信する(1907)。
【0171】
ノード30、40、50、60は、マスタノード10から送信されるHelloメッセージをバックアップノード20に送信すると共に、バックアップノード20から送信されるHelloメッセージを受信し(1908)、マスタノード10に送信する(1909)。
【0172】
マスタノード10は、バックアップノード20から送信されるHelloメッセージを受信すると(1910)、Helloメッセージに格納されたバックアップノード20のプライオリティが自ノードよりも高くなったことを検出して(1911)、自ノードの動作状態をマスタモードからバックアップモードに切り替える(1912)。
【0173】
即ち、マスタノード10のポート状態管理テーブル130について、STPメンバポート管理テーブル180に含まれないノード冗長化プロトコルメンバポート(P1,P2)のポートの状態をフォワーディング状態からブロッキング状態に変更する(1913)。
【0174】
そして、マスタノード10は、定期的にHelloメッセージを送信する処理を停止し(1914)、以降バックアップノード20から定期的に送信されるHelloメッセージを監視する。
【0175】
一方、バックアップノード20は、Helloメッセージの送信開始以降、所定時間マスタノード10から送信されるHelloメッセージを受信できなかった場合(1915)、自ノードの動作状態をマスタモードに切り替える(1916)。
【0176】
即ち、バックアップノード20のポート状態管理テーブル130について、STPメンバポート管理テーブル180に含まれないノード冗長化プロトコルメンバポート(P1,P2)のポートの状態をブロッキング状態からフォワーディング状態に変更する(1917)。
【0177】
そして、バックアップノード20は、Flushメッセージをノード冗長化プロトコルのメンバポート(P1〜P4)から送信し(1918)、以降引き続きHelloメッセージを定期的に送信する。
【0178】
ノード30、40、50、60は、それぞれバックアップノード20から送信されるFlushメッセージをポートP2で受信し、FDBのエントリのうち、出力ポート情報がHelloメッセージを受信していたポートP1であるエントリの出力ポートを、Flushメッセージの受信ポートP2に書き換える(1919)。また、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージをマスタノード10に送信する(1920)。
【0179】
図13に、バックアップノード20の動作状態がバックアップモードからマスタモードに切り替わり、バックアップノード20からFlushメッセージが送信されて、AwareノードのFDBが変更された直後のネットワークの状態を示す。
【0180】
また図14に、マスタノード10とバックアップノード20の動作状態が入れ替わり、バックアップノード20から定期的にHelloメッセージが送信されている状態のネットワークを示す。
【0181】
上述のように、本発明の第1の実施の形態では、ノード冗長化プロトコルのメンバポートかつSTPのメンバポートであるポートのポート状態を、ノード冗長化プロトコルモジュール170が管理しないで、STPモジュール160のみが管理するようにノードを構成し、かつマスタノード10とバックアップノード20の動作状態が切り替わる場合には、ノード冗長化プロトコルの全てのメンバポートからFlushメッセージを送信する構成することにより、メンバポートに関するノード冗長化プロトコルとSTPによる競合の発生を回避することにより、ノード冗長化プロトコルをSTP網のノードに適用させることを可能としている。
【実施例2】
【0182】
次いで、本発明の第2の実施の形態によるネットワークシステムについて説明する。
【0183】
第2の実施の形態では、複数のVLAN(Virtual LAN)が設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用する方法について説明する。
【0184】
図20は、3個のVLAN401、402、403が設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用した場合の例であり、ネットワークシステムの状態をVLAN毎に示している。
【0185】
VLAN401では、ノード50がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれマスタモード、バックアップモードとなっている。
【0186】
VLAN402では、マスタノード10がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれバックアップモード、マスタモードとなっている。
【0187】
VLAN403では、ノード70がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれマスタモード、バックアップノードとなっている。
【0188】
以上のように、STP網のルートノードがVLAN毎に異なっていても構わないし、マスタノード10及びバックアップノード20のノード冗長化プロトコルの動作状態がVLAN毎に異なっていても構わない。
【0189】
図21に、マスタノード10及びバックアップノード20のVLAN401、402、403におけるノード冗長化プロトコルの動作状態を示す。
【0190】
マスタノード10及びバックアップノード20のノード冗長化プロトコル解析部172は、図21に示す内容を保持する。
【0191】
すなわち、第1の実施の形態においては、ノード冗長化プロトコル解析部172は、自ノードのノード冗長化プロトコルの動作状態を1つだけ保持するだけであったが、第2の実施の形態においては、自ノードのノード冗長化プロトコルの動作状態をVLAN毎に保持する。
【0192】
図22に示すマスタノード10及びバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190、図25に示すノード30、40のノード冗長化プロトコルメンバポート管理テーブル、図26に示すノード50、60に示すノード冗長化プロトコルメンバポート管理テーブルのように、本実施の形態においては、ノード冗長化プロトコルのメンバポートはVLAN毎に管理される。
【0193】
同様に、図23に示すマスタノード10及びバックアップノード20のSTPメンバポート管理テーブル180、図27に示すノード50、60のSTPメンバポート管理テーブルのように、本実施の形態においては、STPのメンバポートはVLAN毎に管理される。
【0194】
図24に示すマスタノード10及びバックアップノード20のポート状態管理テーブル130のように、本実施の形態においては、各ポートのポート状態はVLAN毎に管理される。
【0195】
マスタノード10、バックアップノード20及びノード30、40、ノード50、60の構成については、上述の各情報がVLAN毎に管理される点、FDB140が宛先及びVLANの情報と出力ポート情報の対応を記憶する点を除いては、第1の実施の形態で説明した構成と同様である。
【0196】
マスタノード10、バックアップノード20は、VLAN401、402、403毎に、第1の実施の形態で説明した方式により、メンバポートのポート状態を管理する。
【0197】
マスタノード10及びバックアップノード20の各VLANにおける動作は、第1の実施の形態で説明したマスタノード10及びバックアップノード20の動作とVLAN情報を参照する点が異なる。
【0198】
第2の実施の形態においては、マスタノード10及びバックアップノード20がHelloメッセージ又はFlushメッセージにVLANを識別するためのID(VRID)を格納して送信する。
【0199】
また、マスタノード10及びバックアップノード20がHelloメッセージ又はFlushメッセージを受信した場合は、Helloメッセージ又はFlushメッセージに格納されたVRIDを参照し、VRIDに対応するVLANについて、ノード冗長化プロトコルの動作状態(マスタモード又はバックアップモード)、ノード冗長化プロトコルのメンバポートのポート状態(フォワーディング状態又はブロッキング状態)を決定する。
【0200】
例えば、バックアップノード20がVLAN401に対応するVRID1が格納されたHelloメッセージを受信した場合、バックアップノード20は、VLAN401におけるノード冗長化プロトコルの動作状態及びノード冗長化プロトコルのメンバポートのポート状態に対して上述の処理を行うが、VLAN402、403におけるノード冗長化プロトコルの動作状態及びメンバポートのポート状態には影響しない。
【0201】
また、BPDUフレームについては、フレームに格納されたVLAN情報(例えば、VLANタグに格納されたVLAN ID)を参照することにより、VLAN毎にSTP網の転送経路を計算し、VLAN毎にSTPのメンバポートのポート状態を管理する。
【0202】
また、BPDUフレーム、Helloメッセージ及びFlushメッセージ以外のデータフレームについては、スイッチ120が、フレームに格納された宛先情報及びVLAN情報をキーとしてFDB140を検索して出力ポート情報を取得することにより、受信フレームを転送する。
【0203】
Awareノード(ノード30、40、50、60)のHelloメッセージ又はFlushメッセージ受信時の動作も、マスタノード10及びバックアップノード20と同様に、Helloメッセージ又はFlushメッセージに格納されたVRIDを参照し、VRIDに対応するVLANについて、ノード冗長化プロトコルの処理を行う以外は、第1の実施の形態で説明した動作と同一である。
【0204】
例えば、AwareノードがFlushメッセージを受信した場合、Flushメッセージに格納されたVRIDを参照し、FDB340のエントリのうち、VLAN情報がVRIDに対応するVLANであり、かつ、出力ポート情報がFlushメッセージの受信以前に、同じVRIDが格納されたHelloメッセージを受信していたポートであるエントリの出力ポート情報を、Flushメッセージの受信ポートに書き換える。
【0205】
また、BPDUフレーム、データフレーム受信時のAwareノードの動作は、上述のマスタノード10及びバックアップノード20と同様である。
【0206】
上述したように、STPメンバポート管理テーブル180、ノード冗長化プロトコルメンバポート管理テーブル190、ポート状態管理テーブル130、ノード冗長化プロトコルの動作状態をVLAN毎に管理すると共に、マスタノード10及びバックアップノード20が、Helloメッセージ又はFlushメッセージにVLANを識別するためのID(VRID)を格納して送信することによって、複数のVLANが設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用することが可能である。
【実施例3】
【0207】
次いで、本発明の第3の実施の形態によるネットワークシステムについて説明する。
【0208】
第3の実施の形態におけるノード冗長化プロトコルは、図1のノード50、60を通常のSTP網に設けられるノードと同様に、STPモジュール360のみを備える構成とした場合においても、既存のSTP対応のノードに改良を加えることなく、STP網におけるノードの冗長化を可能とする方法について説明する。
【0209】
図1のノード50、60に既存のSTP対応のノードを使用し、図1のネットワークシステムに第1の実施の形態のノード冗長化プロトコルを適用した場合、既存のSTP対応ノードは、ノード冗長化プロトコルの制御フレーム(Helloメッセージ及びFlushメッセージ)を認識することができないため、ノード冗長化プロトコルのAwareノードとして機能することができないという問題が発生する。
【0210】
具体的には、ノード冗長化プロトコルを適用されたノード対の一方のノード(マスタノード10、バックアップノード20の一方)から送信されたHelloメッセージを他方のノードに転送することができないという問題がある。
【0211】
また、マスタノード10、バックアップノード20の動作状態が入れ替わった場合に、バックアップモードからマスタモードに切り替わったノードから送信されるFlushメッセージを認識することができず、FDBを書き換えることができないため、FDBのエントリがエージングされるまで通信が中断されてしまう問題もある。
【0212】
第3の実施の形態においては、Helloメッセージに格納される宛先情報として特殊アドレスを使用し、また、STP網に属するAwareノード50、60に対して送信するFlushメッセージとしてBPDUフレームを利用することにより、既存のSTP対応のノードがノード冗長化プロトコルの制御フレームを認識できなくとも、Awareノードとして機能することを可能とする。
【0213】
マスタノード10及びバックアップノード20の構成は、第1の実施の形態で示した構成と基本的に同じであるが、第3の実施の形態では、図28に示すように、ノード冗長化プロトコルモジュール170のノード冗長化プロトコル解析部172が、ノード30、40に対するFlushメッセージとして使用する、STPのTopology Changeフラグを立てたBPDUフレームの送信を、STPモジュール160のSTP解析部162に指示することができる機能を追加している。
【0214】
まず、既存のSTP対応のノード50、60が、Helloメッセージ及びFlushメッセージを転送可能にするための方法について、以下に説明する。
【0215】
第3の実施の形態においては、マスタノード10、バックアップノード20は、宛先情報として、既存のSTP対応ノードが常に未知と判断するような特殊アドレスを格納して、Helloメッセージ及びFlushメッセージを送信する。
【0216】
マスタノード10、バックアップノード20のフレーム解析部110及びSTP網に属さないAwareノード30、40のフレーム解析部310には、この特殊アドレスを宛先情報として有するフレームをノード冗長化プロトコルの制御フレーム(Helloメッセージ及びFlushメッセージ)として認識させるようにしておく。
【0217】
このようにすれば、マスタノード10、バックアップノード20の一方からノード30、40に対して送信されたHelloメッセージ及びFlushメッセージは、第1の実施の形態と同様にして、他方のノードに転送される。
【0218】
一方、ノード50、60がHelloメッセージ及びFlushメッセージを受信した場合、フレーム解析部310は、ノード冗長化プロトコルの制御フレームと認識せずに、通常のデータフレームと認識して、Helloメッセージ及びFlushメッセージをスイッチ320に転送する。
【0219】
ノード50、60のスイッチ320は、Helloメッセージ及びFlushメッセージの宛先情報をキーとしてFDB340を検索するが、Helloメッセージ及びFlushメッセージの宛先情報には特殊アドレスが使用されているため、常に検索に失敗する。
【0220】
そのため、スイッチ320はSTPのメンバポートのうち、Helloメッセージ又はFlushメッセージの受信ポート以外で、かつ、フォワーディング状態にある全てのポートから、受信したHelloメッセージ又はFlushメッセージをブロードキャスト転送する。
【0221】
ノード50、60のSTPのメンバポートのいずれかは、マスタノード10、バックアップノード20に接続されているため、マスタノード10又はバックアップノード20の一方から送信されたHelloメッセージ又はFlushメッセージを他方のノードに転送することができる。
【0222】
このとき、Helloメッセージ又はFlushメッセージを送信したノード対(マスタノード10及びバックアップノード20)を識別するためのIDを、Helloメッセージ及びFlushメッセージに格納することにより、他のノード対から送信されて、STP網内をブロードキャスト転送されたHelloメッセージ又はFlushメッセージを受信して、マスタノード10、バックアップノード20が誤動作することを防止することができる。
【0223】
また、Awareノード50、60が既存のSTP対応ノードである場合に、Helloメッセージを転送できない問題を解決する方法として、マスタノード10及びバックアップノード20のノード冗長化プロトコルのメンバポートのうち、STPのメンバポートにも含まれるポートには、Helloメッセージを送信しないという方法もある。
【0224】
この場合、Helloメッセージ及びFlushメッセージは、STP網に属さないAwareノード30、40のみを経由して転送され、HelloメッセージがSTP網でブロードキャスト転送されることがないため、他のノード対の送信するHelloメッセージによる誤動作を防止できると共に、不要なトラフィックにより通信帯域が圧迫されないという利点がある。
【0225】
次に、既存のSTP対応のノード50、60がFlushメッセージを受信した場合に、FDB340の消去を可能にするための方法について、説明する。
【0226】
図30に示すように、マスタモードにあるマスタノード10に障害が発生して、バックアップノード20がバックアップモードからマスタモードに切り替わる時、ノード30、40に対しては、第1の実施の形態と同様に、バックアップノード20からFlushメッセージが送信されることにより、ノード30、40のFDB340が書き換えられる。
【0227】
STP網内のノード50、60に対しては、バックアップノード20のノード冗長化プロトコル解析部172が、バックアップノード20のSTPメンバポート管理テーブル180及びノード冗長化プロトコルメンバポート管理テーブル190の両方に設定されるポートに対して、Topology Changeフラグを立てたBPDUフレームを送信することをSTP解析部162に指示する。
【0228】
これにより、BPDU送信部163からは、STPのメンバポートに対して、Topology Changeフラグの立ったBPDUフレームが送信される。
【0229】
また、Topology Changeフラグを立てたBPDUフレームを送信する方法として、図29のマスタノード10、バックアップノード20の構成に示すように、BPDU送信部163とフレーム多重部150の間にTopology Changeフラグ付与部199を設ける方法がある。
【0230】
上述の方法では、ノード冗長化プロトコル解析部192が、BPDU送信部152から定期的に送信されるBPDUフレームのTopology Changeフラグを立てるように、Topology Changeフラグ付与部199に指示することにより、STPメンバポートに含まれるノード冗長化プロトコルのメンバポートに対してFlushメッセージを送信することを可能とする。
【0231】
ノード50、60が、Topology Changeフラグの立ったBPDUフレームを受信すると、STPの仕様に定められているように、BPDUフレームの受信ポート以外の全てのSTPのメンバポートから、Topology Changeフラグを立てたBPDUフレームを送信すると共に、FDB340のエントリのうち、出力ポート情報がBPDUフレームの送信ポートであるエントリを全て消去する。
【0232】
ノード50、60がTopology Changeフラグを立てたBPDUフレームを送信するポートには、マスタノード10が接続されているポート(P1)が必ず含まれるため、ノード50、60がBPDUフレームを受信する以前にHelloメッセージを受信していたポートを記憶しておく必要はない。
【0233】
以上のように、STP網内のAwareノードに対するFlushメッセージとして、Topology Changeフラグを立てたBPDUフレームを使用することにより、既存のSTP対応のノードで構成されたSTP網に対しても、第3の実施の形態のノード冗長化プロトコルを適用することが可能である。
【0234】
上述のように、第3の実施の形態によれば、Helloメッセージの宛先情報として、既存のSTP対応ノードが常に未知と判断する特殊アドレスを使用して、HelloメッセージがSTP網内でブロードキャスト転送されるように構成し、また、既存のSTP対応ノードに対するFlushメッセージをとして、Topology Changeフラグを立てたBPDUを使用することにより、既存のSTP対応のノードに改良を加えることなく、STP網内のノードを冗長化することが可能である。
【実施例4】
【0235】
次いで、本発明の第4の実施の形態によるネットワークシステムについて説明する。
【0236】
第4の実施の形態においては、2つのSTP網間の相互接続部分に、本発明のノード冗長化プロトコルを適用することにより、STP網間の相互接続部分の信頼性を向上させる方法について説明する。
【0237】
図32に、マスタノード10、バックアップノード20とノード50、60及び70、80から構成されるSTP網1と、マスタノード10a、バックアップノード20aとノード90、100から構成されるSTP網2が、マスタノード10、10a、バックアップノード20、20aを接続する4本のリンクにより、相互に接続された構成のネットワークシステムを示す。
【0238】
以下に、図32に示すネットワークシステムに、第4の実施の形態におけるノード冗長化プロトコルを適用する方法について説明する。
【0239】
まず、STP網1のマスタノード10、バックアップノード20を冗長化されたノード対と見なし、STP網1のノード50、60、STP網2のマスタノード10a、バックアップノード20aをマスタノード10、バックアップノード20のAwareノードと見なして、第1の実施の形態におけるノード冗長化プロトコルを適用する。
【0240】
次に、STP網2のマスタノード10a、バックアップノード20aを冗長化されたノード対と見なし、STP網2のノード90、100、STP網1のマスタノード10、バックアップノード20はマスタノード10a、バックアップノード20aのAwareノードと見なして、第1の実施の形態におけるノード冗長化プロトコルを適用する。
【0241】
このとき、マスタノード10、10a、バックアップノード20、20aは、マスタノード10、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージとマスタノード10a、バックアップノード20aから送信されるHelloメッセージ及びFlushメッセージを識別するためのIDを、Helloメッセージ及びFlushメッセージに格納する。
【0242】
Helloメッセージ及びFlushメッセージを識別するためのIDの例として、第2の実施の形態で説明したVRIDを用いることができる。
【0243】
このように、Helloメッセージ及びFlushメッセージにノード冗長化プロトコルが適用されたノード対を識別するためのIDを格納することによって、マスタノード10、10a、バックアップノード20、20aは、Helloメッセージ又はFlushメッセージを受信した場合に、ノード冗長化プロトコルが適用されたノード対の1つとして処理すべきか、Awareノードとして処理すべきかを判断することができる。
【0244】
マスタノード10、10a、バックアップノード20、20a、ノード50、60、90、100の動作は、第1及び第2の実施の形態と同様であるので、説明を省略する。
【0245】
上述のように、本発明のノード冗長化プロトコルを適用することにより、2つのSTP網の相互接続部分の信頼性を向上することが可能である。
【実施例5】
【0246】
次いで、本発明の第5の実施の形態によるネットワークシステムについて説明する。
【0247】
第5の実施の形態では、STP網のルートノードに本発明のノード冗長化プロトコルを適用することにより、障害回復に時間を要するルートノード障害を解決するための方法について説明する。
【0248】
図33に、第5の実施の形態におけるノード冗長化プロトコルを適用したネットワークシステムを示す。
【0249】
図33において、マスタノード10、バックアップノード20はノード冗長化プロトコルが適用されたノード対であり、障害の発生していない通常時は、マスタノード10がマスタモードにあり、バックアップノード20がバックアップモードにあるとする。
【0250】
また、ノード30、40、50は、マスタノード10、バックアップノード20のAwareノードである。
【0251】
マスタノード10、バックアップノード20とSTP網に属さないノード30、40間の動作は第1の実施の形態と同一であるため説明を省略し、以下には、STP網におけるマスタノード10、バックアップノード20とノード50間の動作について説明する。
【0252】
図33のSTP網に着目した場合、マスタノード10、バックアップノード20は共にSTP網のルートノードとして動作する。
【0253】
マスタノード10、バックアップノード20の両方のノードをSTP網のルートノードとして機能させるために、マスタノード10及びバックアップノード20のSTPのブリッジIDとして、値が同一で、かつSTP網内の他のノードよりも優先度の高いブリッジIDを設定する。
【0254】
この場合、マスタノード10、バックアップノード20は、同一のブリッジIDが格納されたBPDUフレームを、ノード50に対して送信する。
【0255】
同一のブリッジIDを有するBPDUフレームを2つのポートP1、P2で受信した場合、かつ、そのブリッジIDの優先度がSTP網内で最も高い場合、STP網内のAwareノード50は、優先度の高いルートパスコスト(Root Path Cost)を有するBPDUフレームを受信したポートをルートポート(ポート状態はフォワーディング状態)として選択し、優先度の低いルートパスコストを有するBPDUフレームを受信したポートを代替ポート(ポート状態はブロッキング状態)として選択する。
【0256】
STP網内のノード50、70、80配下の端末が、STP網に属さないノード30、40配下の端末と通信可能であるためには、マスタモードにあるノードが接続されたポートをノード50がルートポートとして選択する必要がある。
【0257】
このため、マスタモードにあるノードのルートパスコストの値を、バックアップモードにあるノードのルートパスコストよりも小さく設定する。
【0258】
例えば、マスタモードにあるルートパスコストの値を「0」に設定し、バックアップモードにあるルートパスコストの値を1に設定すれば良い。
【0259】
図33においては、マスタモードにあるマスタノード10がルートパスコストの値を「0」に設定したBPDUフレームをノード50に送信し、バックアップモードにあるバックアップノード20がルートパスコストの値を1に設定したBPDUフレームをノード50に送信する。
【0260】
ノード50は、ポートP1をルートポートとして選択し、ポートP2を代替ポートとして選択すると共に、ポートP1のポート状態をフォワーディング状態に、ポートP2のポート状態をブロッキング状態に設定する。
【0261】
上述のようにして、STP網のルートノードに対して、本発明のノード冗長化プロトコルを適用することができる。
【0262】
以降では、図33のマスタノード10がダウンして、Helloメッセージが所定回数未着になったことによって、バックアップノード20がバックアップモードからマスタモードに切り替わった場合について説明する。
【0263】
ノード50が、ポートP1のリンクダウンにより、マスタノード10のダウン(または、マスタノード10とノード50間リンクの切断)を検出すると、ノード50はルートポートをポートP1から代替ポートであるポートP2に切り替える。
【0264】
また、第1の実施の形態で述べたように、バックアップノード20がバックアップモードからマスタモードに切り替わった場合、バックアップノード20はノード冗長化プロトコルのメンバポートP1〜P3からFlushメッセージを送信する。
【0265】
Flushメッセージを受信したノード30、40、50は、FDB340のエントリのうち、出力ポート情報がFlushメッセージ受信以前にHelloメッセージを受信していたポート(P1)であるエントリの出力ポート名を、Flushメッセージの受信ポート(P2)に書き換える。
【0266】
また、マスタモードに切り替わったバックアップノード20は、ノード50に対して、ルートパスコストの値を「0」に設定したBPDUフレームを送信するため、ノード50はバックアップノード20が直接接続されたポートP2をルートポートに選択する。従って、マスタノード10がダウンして、バックアップノード20がマスタモードに切り替わった場合でも、STP網内のノード50、70、80配下の端末は、バックアップノード20を経由して、ノード30、40配下の端末と通信を続行することができる。
【0267】
さらに、マスタノード10が障害から復旧して、第1の実施の形態で説明した手順により、マスタノード10がマスタモードに切り替わり、バックアップノード20がバックアップモードに切り替わった場合、マスタモードにあるマスタノード10が、バックアップモードにあるバックアップノード20よりもルートパスコストの値の小さいBPDUフレームをノード50に送信する。
【0268】
従って、ノード50はマスタノード10が直接接続されたポートP1をルートポートとして選択し、バックアップノード20が直接接続されたポートP2を代替ポートとして選択するため、STP網内のノード50、70、80配下の端末は、マスタノード10を経由して、ノード30、40配下の端末と通信を続行することができる。
【0269】
上述したように、ノード冗長化プロトコルが適用されたノード対にSTP網で最も優先度の高いブリッジIDを設定し、マスタモードにあるノードが、バックアップモードにあるノードよりも優先度の高いルートパスコストを有するBPDUを送信することにより、STP網のルートノードを冗長化することを可能とし、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することを可能とした。
【0270】
また、図35のネットワークシステムに示すように、マスタノード10及びバックアップノード20に図34のSTP網に属さないノード30、40が接続されないようなネットワークシステムに対しても、第5の実施の形態のノード冗長化プロトコルを適応することにより、STP網のルートノードを冗長化することが可能である。
【0271】
図35におけるマスタノード10、バックアップノード20の動作は、ノード冗長化プロトコルのメンバポートとして、ポートP3、P4のみが設定されていること以外は、上述の図34のネットワークシステムにおけるマスタノード10、バックアップノード20に動作と同様である。
【0272】
また、図35におけるノード50、60の動作は、図34のネットワークシステムにおけるノード50の動作と同様である。
【0273】
以上のように、STP網のエッジ部分に位置しないルートノードに対しても、第5の実施の形態のノード冗長化プロトコルを適応して、ルートノードを冗長化することが可能である。
【0274】
なお、第5の実施の形態では、STP網のルートノードをマスタノード10とバックアップノード20によって冗長化する場合について説明したが、図33のネットワーク網が、通常のSTP網ではなく、本願出願人による特願2003−041838号(特開2004−140777号:特許文献1)において提案した、複数のノードを接続したネットワーク(STP網)に対しても、本発明を適用可能である。特許文献1記載のネットワーク(STP網)とは、各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、フレームを転送する場合に、フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いてフレーム転送を行うようなSTP網である。
【0275】
ここで、特願2003−041838号(特開2004−140777号:特許文献1)に提案されるSTP網について簡単に説明する。
【0276】
図46のような6つのノードで構成されるネットワークを例として、特許文献1記載のネットワーク(STP網)について以下に説明する。この例では、全てのノード(11〜16)がエッジノードとなっている。
【0277】
図46は、ノード11をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー61とする。ツリー61は、ノード11のプライオリティ値を、ノード12〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー61により設定される経路は、ノード12〜16の何れかのノードからノード11に向かうフレームのユニキャスト送信、および、ノード11よりノード12〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0278】
図47は、ノード12をルートノードとするスパニングツリーの構成図である、このスパニングツリーをツリー62とする。ツリー62は、ノード12のプライオリティ値を、ノード11およびノード13〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー62により設定される経路は、ノード11またはノード13〜ノード16の何れかのノードからノード12に向かうフレームのユニキャスト送信、および、ノード12よりノード11およびノード13〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0279】
図48は、ノード13をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー63とする。ツリー63は、ノード13のプライオリティ値を、ノード11〜ノード12およびノード14〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー63により設定される経路は、ノード11〜ノード12またはノード14〜ノード16の何れかのノードからノード13に向かうフレームのユニキャスト送信および、ノード13よりノード11〜ノード12およびノード14〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0280】
図49は、ノード14をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー64とする。ツリー64は、ノード14のプライオリティ値を、ノード11〜ノード13およびノード15〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー64により設定される経路は、ノード11〜ノード13またはノード15〜ノード16の何れかのノードからノード14に向かうフレームのユニキャスト送信および、ノード14よりノード11〜ノード13およびノード15〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0281】
図50は、ノード15をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー65とする。ツリー65は、ノード15のプライオリティ値を、ノード11〜ノード14およびノード16の各ノードよりも小さい値に設定して作成される。ツリー65により設定される経路は、ノード11〜ノード14またはノード16の何れかのノードからノード15に向かうフレームのユニキャスト送信および、ノード15よりノード11〜ノード14およびノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0282】
図51は、ノード16をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー66とする。ツリー66は、ノード16のプライオリティ値を、ノード11〜ノード15よりも小さい値に設定して作成される。ツリー66により設定される経路は、ノード11〜ノード15の何れかのノードからノード16に向かうフレームのユニキャスト送信および、ノード16よりノード11〜ノード15の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0283】
次に、図46〜図51を参照して、前記の各図におけるノード11〜ノード16の各ノードが、ノード11〜ノード16の各ノードまたは各ノード配下の端末にフレームを送信する場合の手順について述べる。なお、各リンクのコストは等しく、すでに各図におけるツリー61〜ツリー66の各ツリーは構成が完了し、トポロジが安定しているとする。
【0284】
ノード12〜ノード16の各ノードから、ノード11またはその配下の端末にフレームをユニキャスト送信する場合は、図46記載のツリー61で設定された経路を使用する。例えば、ノード15からノード11へフレームを送信する場合は、ノード15は、データフレームにツリー61を識別するタグ(例えば、ノード11のノードID)を付加して、ツリー61における上流側ポート(ツリー61におけるSTPのルートポート)からデータフレームを送信する。ツリー61で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード11の場合はツリー61)を識別し、ツリー61における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー61のルートノードであるノード11に転送される。
【0285】
ノード11およびノード13〜ノード16の各ノードから、ノード12またはその配下の端末にフレームをユニキャスト送信する場合は、図47記載のツリー62で設定された経路を使用する。例えば、ノード14からノード12へフレームを送信する場合は、ノード14は、データフレームにツリー62を識別するタグ(例えば、ノード12のノードID)を付加して、ツリー62における上流側ポート(ツリー62におけるSTPのルートポート)からデータフレームを送信する。ツリー62で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード12の場合はツリー62)を識別し、ツリー62における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー62のルートノードであるノード12に転送される。
【0286】
ノード11〜ノード12およびノード14〜ノード16の各ノードから、ノード13またはその配下の端末にフレームをユニキャスト送信する場合は、図48記載のツリー63で設定された経路を使用する。例えば、ノード11からノード13へフレームを送信する場合は、ノード11は、データフレームにツリー63を識別するタグ(例えば、ノード13のノードID)を付加して、ツリー63における上流側ポート(ツリー63におけるSTPのルートポート)からデータフレームを送信する。ツリー63で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード13の場合はツリー63)を識別し、ツリー63における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー63のルートノードであるノード13に転送される。
【0287】
ノード11〜ノード13およびノード15〜ノード16の各ノードから、ノード14またはその配下の端末にフレームをユニキャスト送信する場合は、図49記載のツリー64で設定された経路を使用する。例えば、ノード12からノード14へフレームを送信する場合は、ノード12は、データフレームにツリー64を識別するタグ(例えば、ノード14のノードID)を付加して、ツリー64における上流側ポート(ツリー64におけるSTPのルートポート)からデータフレームを送信する。ツリー64で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード14の場合はツリー64)を識別し、ツリー64における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー64のルートノードであるノード14に転送される。
【0288】
ノード11〜ノード14およびノード16の各ノードから、ノード15またはその配下の端末にフレームをユニキャスト送信する場合は、図50記載のツリー65で設定された経路を使用する。例えば、ノード16からノード15へフレームを送信する場合は、ノード16は、データフレームにツリー65を識別するタグ(例えば、ノード15のノードID)を付加して、ツリー65における上流側ポート(ツリー61におけるSTPのルートポート)からデータフレームを送信する。ツリー65で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード15の場合はツリー65)を識別し、ツリー65における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー65のルートノードであるノード15に転送される。
【0289】
ノード11〜ノード15の各ノードから、ノード16またはその配下の端末にフレームをユニキャスト送信する場合は、図51記載のツリー66で設定された経路を使用する。例えば、ノード14からノード16へフレームを送信する場合は、ノード14は、データフレームにツリー66を識別するタグ(例えば、ノード16のノードID)を付加して、ツリー66における上流側ポート(ツリー66におけるSTPのルートポート)からデータフレームを送信する。ツリー66で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード16の場合はツリー66)を識別し、ツリー66における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー66のルートノードであるノード16に転送される。
【0290】
以上説明した特許文献1記載のSTP網のエッジノード(スパニングツリーのルートノード)に対して、第5の実施の形態のノード冗長化プロトコルを適用して、エッジノードを冗長化することが可能である。
【0291】
また、特許文献1記載のSTP網の複数のエッジノードに対して、第5の実施の形態のノード冗長化プロトコルを適用する場合は、第2の実施の形態で説明したように、ノード冗長化プロトコルを適用されたノード対を識別するIDをHelloメッセージ及びFlushメッセージに格納し、他のノード対が送信したHelloメッセージ及びFlushメッセージによってノード冗長化プロトコルモジュールの誤動作を防止することにより、複数のエッジノードを冗長化することが可能である。
【0292】
以上説明した特許文献1記載のネットワーク(STP網)に対して、第5の実施の形態のノード冗長化プロトコルを適用し、STP網のエッジノード(スパニングツリーのルートノード)を冗長化することにより、エッジノードのマスタノードに障害が発生したとしても、バックアップノードがマスタモードに切り替わることにより、フレーム転送を続行することが可能となる。
【0293】
なお、特許文献1記載のSTP網に本発明を適用することによりルートノードを冗長化した場合は、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに属さないポートに対してのみFlushメッセージを送信すれば良い。
【0294】
その理由は、特許文献1記載のデータ転送方式によるSTP網においては、データフレームを中継するノードがFDBではなく、データフレームのタグに格納されたフォワーディング情報(データフレームの転送に使用するスパニングツリーを識別するための情報)に基づいてデータフレームを中継しているためである。
【0295】
その結果、第5の実施の形態のノード冗長化プロトコルが適用された特許文献1記載のSTP網においては、Awareノード50がFDBを書き換える時間だけ、高速に障害から回復することが可能である。
【実施例6】
【0296】
次いで、本発明の第6の実施の形態によるネットワークシステムについて説明する。
【0297】
第6の実施の形態においては、第5の実施の形態において示した特許文献1提案のデータ転送方式によるSTP網間を相互に接続する部分に、本発明のノード冗長化プロトコルを適用した場合について説明する。
【0298】
図36に、マスタノード10、バックアップノード20とノード50、60及び70、80から構成されるSTP網1と、マスタノード10a、バックアップノード20aとノード90、100から構成されるSTP網2とが、マスタノード10、10a、バックアップノード20、20aを接続する4本のリンクにより、相互に接続された構成のネットワークシステムを示す。
【0299】
STP網1及びSTP網2は、特許文献1提案のデータ転送方式によるSTP網である。
【0300】
ノード50、60、70、80、90、100は、STPモジュール360を搭載するが、ノード冗長化プロトコルモジュール370を搭載しない既存のSTP対応のノードとする。
【0301】
以下に、図36に示すネットワークシステムに、第6の実施の形態におけるノード冗長化プロトコルを適用する場合について説明する。
【0302】
まず、STP網1のマスタノード10、バックアップノード20を冗長化された一対のノードと見なし、STP網1のノード50、60、STP網2のマスタノード10a、バックアップノード20aをマスタノード10、バックアップノード20のAwareノードと見なして、第5の実施の形態において説明したノード冗長化プロトコルを適用する。
【0303】
次に、STP網2のマスタノード10a、バックアップノード20aを冗長化された一対のノードと見なし、STP網2のノード90、100、STP網1のマスタノード10、バックアップノード20をマスタノード10a、バックアップノード20aのAwareノードと見なして、第5の実施の形態において説明したノード冗長化プロトコルを適用する。
【0304】
このとき、第6の実施の形態におけるノード冗長化プロトコルにおいては、第4の実施の形態と同様に、マスタノード10、10a、バックアップノード20、20aは、マスタノード10、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージとマスタノード10a、バックアップノード20aから送信されるHelloメッセージ及びFlushメッセージを区別するためのIDを、Helloメッセージ及びFlushメッセージに格納する。
【0305】
ノード50、60、70、80、90、100は既存のSTP対応のノードであり、Helloメッセージを認識できないため、各ノードの属するSTP網においてHelloメッセージをブロードキャスト転送してしまうという問題がある。
【0306】
この問題を解消するために、第6の実施の形態におけるノード冗長化プロトコルにおいては、第3の実施の形態で説明したように、マスタノード10、10a、バックアップノード20、20aは、ノード冗長化プロトコルのメンバポートのうち、STPメンバポートに含まれるポート(P3、P4)には、Helloメッセージを送信しないものとする。
【0307】
また、第5の実施の形態で説明したように、特許文献1記載のSTP網ではFDBを参照してフレームを転送しないため、Awareノード50、60、90、100に対してFlushメッセージの送信が不要である。従って、第6の実施の形態においては、マスタノード10、10a、バックアップノード20、20aは、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに含まれるポート(P3、P4)には、Flushメッセージを送信しないものとする。
【0308】
STP網1及びSTP網2が特許文献1記載のSTP網ではなく、通常のフレーム転送を行うSTP網である場合には、第3の実施の形態で説明したように、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに含まれるポート(P3、P4)に、Flushメッセージとして、Topology Changeフラグを立てたBPDUを使用すれば良い。
【0309】
以上のようにして、特許文献1提案のデータ提案方式によるSTP網間を相互接続する部分にノード冗長化プロトコルを適用することができる。
【0310】
しかしながら、以下に述べるような問題が生じる可能性がある。
【0311】
図36に示すネットワークシステムにおいて、マスタノード10とバックアップノード20a間のリンク及びバックアップノード20とマスタノード10a間のリンクが同時に切断された場合、冗長化された2つのノード対(マスタノード10とバックアップノード20、マスタノード10aとバックアップノード20a)間で、Helloメッセージ及びFlushメッセージの送受信が不可能になるため、バックアップモードにあるノード(バックアップノード20、20a)はHelloメッセージ未着によりマスタモードに切り替わる。
【0312】
したがって、図37に示すように、マスタノード10、マスタノード10a、バックアップノード20、バックアップノード20aの動作状態が全てマスタモードになるという状態が発生する。
【0313】
また、マスタノード10とマスタモード10a間のリンク及びバックアップノード20とバックアップノード20a間のリンクが同時に切断された場合も、マスタノード10、マスタノード10a、バックアップノード20、バックアップノード20aの動作状態が全てマスタモードになるという状態が発生する。
【0314】
上述の状態において、STP網1とSTP網2間でフレームが伝送されなくなる可能性があるという問題がある。
【0315】
以降に、図37を参照して、STP網1とSTP網2の間でフレームを伝送できなくなる理由を説明する。
【0316】
マスタノード10とバックアップノード20は共にマスタモードであるため、ノード50、60は、ポートP1及びP2で、STPメンバポートで受信するBPDUのうちで優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信する。
【0317】
同様に、マスタノード10aとバックアップノード20aは共にマスタモードであるため、ノード90はポートP1及びP2で、ノード100はポートP2及びP3で、STPメンバポートで受信するBPDUのうちで優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信する。
【0318】
ノード50、60、90、100は、ブリッジID及びルートパスコストが同一のBPDUを異なるポートで受信した場合、ブリッジID及びルートパスコストの優先度だけでは、ルートポート及び代替ポートを決定することができないため、ブリッジID及びルートパスコスト以外のパラメータ(例えば、BPDUが送信されたポートのポート番号やBPDUを受信したポートのポート番号など)の優先度を用いて、ルートポート及び代替ポートを決定する。
【0319】
以降は、BPDUを受信したポートのうち、ポート番号が最小のポートをルートポートとし、その次に小さいポートを代替ポートとして選択する場合について説明する。
【0320】
ノード50、60は、ポートP1及びP2で、優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信するため、ポート番号が最小のポートP1をルートポートとして、ポートP2を代替ポートとして選択する。
【0321】
同様に、ノード90は、ポートP1をルートポートとして、ポートP2を代替ポートとして選択し、ノード100は、ポート2をルートポートとして、ポートP3を代替ポートとして選択する。
【0322】
以上で説明したように、ノード30、40、50、60が、マスタノード10及びマスタノード10aの接続されたポートをルートポートとして選択した場合、マスタノード10とマスタノード10a間のリンクが切断されているため、STP網1とSTP網2の間でフレームを伝送することができなくなってしまうという問題が生じる。
【0323】
以下に、図36のマスタノード10、10a、バックアップノード20、20aにおけるノード冗長化プロトコルの動作状態が全てマスタモードになった場合においても、フレームを伝送できるようにする方法を説明する。
【0324】
第6の実施の形態におけるノード冗長化プロトコルにおいては、図38に示すように、マスタノード10、10a、バックアップノード20、20aに対して、優先度を設定すると共に、ノード冗長化プロトコルの動作状態によって、ルートパスコストを変更するように構成する。
【0325】
図38の例では、マスタノード10の優先度を「High」、バックアップノード20の優先度を「Low」、マスタノード10aとバックアップノード20aの優先度をそれぞれ「Etc」と設定している。
【0326】
High、Low、Etcの優先度は、Highの優先度が最も高く、Lowの優先度が2番目に高く、Etcの優先度が最も低いとする。
【0327】
さらに、マスタノード10のマスタモード時のルートパスコストの値を「0」、バックアップモード時のルートパスコストの値を「3」とし、バックアップノード20のマスタモード時のルートパスコストの値を「1」、バックアップモード時のルートパスコストの値を「3」としている。
【0328】
また、STP網2側のマスタノード10aとバックアップノード20aのバックアップモード時のルートパスコストの値を「3」とし、マスタモード時のルートパスコストの値については、優先度が「High」のノードと接続しているポートがリンクアップしている時に「1」、リンクダウンしている時に「2」が設定されるように構成している。
【0329】
なお、図38に示す設定内容は一例であって、一方のSTP網内のノード対の優先度を「High」又は「Low」とし、他方のSTP網内のノード対の優先度を「Etc」とし、優先度「High」のノードのルートパスコストの値を、優先度「Low」のノードのルートパスコストの値より小さく設定し、かつ、優先度「Etc」のノードについては、優先度が「High」のノードと接続しているポートがリンクアップしているノードのルートパスコストの値を、ポートがリンクダウンしているノードのルートパスコストの値より小さくするという規則が保たれればよく、設定内容は自由に変更することができる。
【0330】
上記のように、図38の設定内容に基づいて、それぞれ優先度とルートパスコストの値を設定したことにより、例えば、STP網1側のマスタノード10とバックアップノード20、STP網2側のマスタノード10aとバックアップノード20aの動作状態が全てマスタモードとなった場合、STP網1のマスタノード10とバックアップノード20については、ルートパスコストの値が小さい、マスタノード10に接続されたポートP1がルートポートとして選択され、STP網2のマスタノード10aとバックアップノード20aについては、優先度「High」のマスタノード10と接続しているポートがリンクアップしているマスタノード10aのルートパスコストの値がバックアップノード20aのそれよりも小さくなるので、マスタノード10aに接続されたポート(ノード90の場合はポートP1、ノード100の場合はポートP2)がルートポートとして選択されることになる。
【0331】
従って、ノード50、60、90、100は、マスタノード10、10a、バックアップノード20、バックアップノード20aのうち、これらのノードを相互接続するリンクがアクティブなノード(上述の場合では、マスタノード10とマスタノード10a)に接続されているポートをルートポートとして選択するため、マスタノード10、10a、バックアップノード20、バックアップノード20aが全てマスタモードになった場合でも、データフレームの転送が可能である。
【0332】
上記のように第6の実施の形態によれば、特願2003−041838号(特開2004−140777号:特許文献1)提案のデータ転送方式によるSTP網間を相互接続したネットワークシステムにおいて、相互接続部分のマスタノードとバックアップノードの全てがマスタモードとなってもデータフレームの伝送ができなくなる可能性があるという問題が解消されることにより、信頼性の高いノード冗長化を可能としたネットワークシステムを実現することができるようになる。
【0333】
また、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することができるようになる。
【0334】
なお、上記各実施例のノード冗長化ネットワークシステムにおける、マスタノード10、バックアップノード20及びノード50、60、30、40の各機能ついては、ハードウェアによることは勿論として、それらの各機能を有するノード冗長化制御プログラムを、各ノードを構成するコンピュータ処理装置上で実行することで実現することが可能である。
【0335】
このノード冗長化制御プログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【0336】
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【0337】
【図1】本発明を適用した第1の実施の形態によるネットワークシステムの構成を示す図である。
【図2】第1の実施の形態によるマスタノードとバックアップノードの構成を示すブロック図である。
【図3】第1の実施の形態によるスタノードとバックアップノードに直接接続されるSTP網外のノードの構成を示すブロック図である。
【図4】第1の実施の形態によるマスタノードとバックアップノードに直接接続されるSTP網内のノードの構成を示す。
【図5】図1のネットワークシステムにおける、マスタノードのノード冗長化プロトコルメンバポート管理テーブルとSTPメンバポート管理テーブルの設定内容を示す図である。
【図6】図1のネットワークシステムにおける、バックアップノードのノード冗長化プロトコルメンバポート管理テーブルとSTPメンバポート管理テーブルの設定内容を示す図である。
【図7】図1のネットワークシステムにおける、マスタノードのポート状態管理テーブルの内容例を示す図である。
【図8】図1のネットワークシステムにおける、バックアップノードのポート状態管理テーブルの内容例を示す図である。
【図9】図1のネットワークシステムにおける、STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルの設定内容例を示す図である。
【図10】図1のネットワークシステムにおける、STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルの設定内容例を示す図である。
【図11】図1のネットワークシステムにおける、STP網に属するAwareノードのSTPメンバポート管理テーブルの設定内容例を示す図である。
【図12】図1のネットワークシステムにおける、STP網に属するAwareノードのSTPメンバポート管理テーブルの設定内容例を示す図である。
【図13】図1のネットワークシステムにおける、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図14】図1のネットワークシステムにおける、Flushメッセージ送信によるFDBの書き換え後の状態を示す図である。
【図15】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図16】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図17】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図18】図1のネットワークシステムにおいて、STP網に属さないAwareノードがフレームを受信した場合の動作を説明するフローチャートである。
【図19】第1の実施の形態におけるネットワークシステムの動作について説明するシーケンスチャートである。
【図20】本発明の第2の実施の形態によるネットワークシステムの構成であって、複数のVLANが設定されたネットワークシステムにノード冗長化プロトコルを適用した場合の構成を示す図である。
【図21】第2の実施の形態における、マスタノードとバックアップノードの各VLANにおける動作状態を示す図である。
【図22】第2の実施の形態におけるマスタノードとバックアップノードのノード冗長化プロトコルメンバポート管理テーブルの各VLANの設定内容を示す図である。
【図23】第2の実施の形態におけるマスタノードとバックアップノードのノード冗長化プロトコルメンバポート管理テーブルの各VLANの設定内容を示す図である。
【図24】第2の実施の形態におけるマスタノードとバックアップノードのポート状態管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図25】STP網に属するAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図26】STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図27】STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図28】本発明の第3の実施の形態によるマスタノードとバックアップノードの構成を示すブロック図である。
【図29】第3の実施の形態によるマスタノードとバックアップノードの他の構成を示すブロック図である。
【図30】第3の実施の形態における、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図31】第3の実施の形態における、Topology Changeフラグを立てたBPDUフレーム送信によるFDBの書き換え後の状態を示す図である。
【図32】第4の実施の形態による、2つのSTP網間の相互接続部分に、マスタノードとバックアップノードを設けた構成を示す図である。
【図33】第5の実施の形態による、マスタノードとバックアップノードがSTP網のルートノードとして機能するネットワークシステムを示す図である。
【図34】第5の実施の形態において、マスタノードのダウンにより、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図35】第5の実施の形態において、STP網のエッジ以外の部分に位置するルートノードを冗長化したネットワークシステムを示す図である。
【図36】第6の実施の形態による、ネットワークシステムの構成を示す図である。
【図37】図36のネットワークシステムにおいて、2つのリンクの切断により、マスタノードとバックアップノードの全てがマスタノードとなった状態を示す図である。
【図38】第6の実施の形態において、マスタノードとバックアップノードの全てがマスタモードとなった場合の問題を回避するための、ルートパスコストの値の設定例を示す図である。
【図39】従来のノード冗長化プロトコルが適用されたネットワークシステムの例を示す図である。
【図40】図39のネットワークシステムにおいて、マスタノードのダウンにより、バックアップノードがマスタモードに切り替わる際の動作を説明する図である。
【図41】図39のネットワークシステムにおいて、リンク切断の発生により、バックアップノードがマスタモードに切り替わる際の動作を説明する図である。
【図42】従来のノード冗長化プロトコルとSTPを共存させたネットワークシステムにおける、メンバポートの競合を説明する図である。
【図43】従来のノード冗長化プロトコルとSTPを共存させたネットワークシステムにおけるメンバポートの競合による不具合を説明する図である。
【図44】図43のネットワークシステムのバックアップノードにおけるSTPのポート状態管理テーブルの設定内容と、ノード冗長化プロトコルのポート状態管理テーブルの設定内容の例を示す図である。
【図45】従来のSTP網によるネットワークの例を示す図である。
【図46】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第1の例を示す図である。
【図47】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第2の例を示す図である。
【図48】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第3の例を示す図である。
【図49】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第4の例を示す図である。
【図50】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第5の例を示す図である。
【図51】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第6の例を示す図である。
【符号の説明】
【0338】
10、10a:マスタノード
20、20a:バックアップノード
30:STP網に属さないAwareノード
40:STP網に属さないAwareノード
50:STP網に属するAwareノード
60:STP網に属するAwareノード
110、310:フレーム解析部
120、320:スイッチ
130、330:ポート状態管理テーブル
140、340:FDB
150、350:フレーム多重部
160、360:STPモジュール
161、361:BPDU受信部
162、362:STP解析部
163、363:BPDU送信部
170、370:ノード冗長化プロトコルモジュール
171、371:Hello/Flushメッセージ受信部
172、372:ノード冗長化プロトコル解析部
173、373:Hello/Flushメッセージ送信部
180、380:STPメンバポート管理テーブル
190、390:ノード冗長化プロトコルメンバポート管理テーブル
210:マスタノード
220:バックアップノード
230、240:STP網に属さないAwareノード
250、260:STP網に属するAwareノード
270:STPのポート状態管理テーブル
280:ノード冗長化プロトコルのポート状態管理テーブル
【技術分野】
【0001】
本発明は、ネットワークにおけるノードのダウンやリンクの切断等の障害発生時に通信を停止することなくサービス運用を続行できるようにしたネットワークシステムに関し、特に、ノードの冗長化により障害発生時に通信を続行可能にしたネットワークシステムに関する。
【背景技術】
【0002】
まず、ポート状態の管理を行うプロトコルの1つである、Spanning Tree Protocol(STP)で計算されたフレームの転送路に関する情報を用いて、フレームが転送されるネットワーク(以下、STP網という)において、フレームが転送される手順について、一例を挙げて説明する。
【0003】
例えば、図45のようなネットワークトポロジのネットワークにおいて、STPによって図45の太線の経路(スパニングツリー)が計算されているとする。
【0004】
このネットワークにおいて、ノード5配下の端末からノード3配下の端末にフレームを転送する場合は、ノード1を経由してフレームが転送される。
【0005】
同様に、ノード2配下の端末にフレームを転送する場合も、ノード1を経由して転送が行われる。
【0006】
上述したSTP網において、ノード1に障害が発生した場合、ノード5は、ノード3、ノード2配下の端末に対するフレーム転送が一切行えなくなるという問題がある。
【0007】
このような不具合を解消する一手法として、ノードを2重化して、一方のノードに障害が発生しても、障害の発生していない他方のノードを用いて、フレームの転送を続行するという方法がある。
【0008】
STP網に属さないノードを2重化する従来のノード冗長化プロトコルとして、VSRP(Virtual Switch Redundancy Protocol)(Foundry Switch and Router Installation and Basic Configuration Guide,Chapter 12 “Configuring Metro Features”(http://www.foundrynet.com/services/documentation/sribcg/Metro.html#61625):非特許文献1)や、ESRP(Extreme Standby Router Protocol)(ExtremeWare 7.2.0 Software User Guide, Chapter 15, page 347-376(http://www.extremenetworks.com/services/documentation/swuserguides.asp):非特許文献2)等が知られている。
【0009】
STP網に属さないノードを冗長化する従来のノード冗長化プロトコルが適用されたネットワークシステムにおいて、ノードのダウン又はリンクの切断といった障害が生じた場合の一般的な動作について、図39を参照して以下に説明する。
【0010】
図39に示す従来のノード冗長化プロトコルが適用されたネットワークシステムでは、マスタノード210とバックアップノード220とが冗長化された一対のノードとして存在する。マスタノード210とバックアップノード220は、それぞれ直接接続(結線)されたノード(以下、Awareノードという)230、240を経由して、接続された状態となっている。
【0011】
このようなネットワークシステムにおいて、マスタノード210は、ノード冗長化プロトコルのマスタモードと呼ばれる動作状態にあって、通常フレームの送受信を行うと共に、定期的にKeepaliveフレーム(Helloメッセージ)をノード冗長化プロトコルのメンバポートP1、P2から送信する。
【0012】
この従来技術におけるノード冗長化プロトコルのメンバポートとは、ノード冗長化プロトコルが有効であるポート、即ち、そのポート状態がノード冗長化プロトコルにより管理されるポートを意味する。ポート状態としては、フォワーディング状態とブロッキング状態の2つの状態が定義されており、フォワーディング状態とは、宛先情報を参照して受信フレームを転送する状態であり、ブロッキング状態とは、受信フレームを転送せずに廃棄する状態である。
【0013】
ただし、受信フレームのうち、ノード冗長化プロトコルの制御フレームであるHelloメッセージ及びFlushメッセージ、又は、その他のプロトコルで用いられる制御フレームについては、入力ポートのポート状態に関わらず、ノード内の制御フレームを処理するモジュールに送られる。
【0014】
従って、上述の状態で、マスタノード210におけるノード冗長化プロトコルのメンバポートP1、P2のポート状態は、フォワーディング状態に設定されている。
【0015】
Awareノード230、240は、それぞれマスタノード210側のポートP1で受信したHelloメッセージをバックアップノード220側のポートP2から送信する。
【0016】
また、バックアップノード220は、ノード冗長化プロトコルのバックアップモードと呼ばれる動作状態にあって、メンバポートP1、P2で受信されるフレームのうち、HelloメッセージまたはFlushメッセージを監視し、それ以外のフレームについては廃棄する。
【0017】
従って、この状態で、バックアップノード220におけるノード冗長化プロトコルのメンバポートP1、P2のポート状態は、ブロッキング状態に設定されている。
【0018】
上述の状態において、Awareノード230、240のそれぞれの配下にある端末は、マスタモードにあるマスタノード210を経由して、通信を行う。
【0019】
ここで、図40に示すように、マスタノード210がダウンして、マスタノード210から上記Helloメッセージが送信されない事態となった場合について説明する。バックアップノード220は、所定回数連続してHelloメッセージを受信できない場合、メンバポートP1、P2からHelloメッセージを定期的に送信する処理を開始すると共に、引き続きマスタノード210から送信されるHelloメッセージが受信されないか監視する。
【0020】
バックアップノード220は、Helloメッセージの送信を開始した後、所定の時間が経過しても、マスタノード210から送信されるHelloメッセージを受信できなかった場合、マスタノード210がダウンしたと判断し、マスタモードに切り替わる。
【0021】
マスタモードに切り替わったバックアップノード220は、ブロッキング状態となっていたメンバポートP1、P2をフォワーディング状態にすると共に、メンバポートP1、P2から自らがマスタモードに切り替わったことを示すFlushメッセージを送信する。その後、バックアップノード220は、引き続きメンバポートP1、P2から定期的にHelloメッセージを送信する。
【0022】
Awareノード230、240は、上記Flushメッセージを受信すると、フレームに示された宛先とそのフレームの出力ポートとの対応を記憶しているFDB(フォワーディングデータベース)の内容を書き換える。具体的には、Flushメッセージを受信する前にHelloメッセージを受信していたポートが記載されているFDBのエントリの出力ポート名を、Flushメッセージを受信したポートに書き換える。例えば、図40のネットワークにおけるAwareノード230では、以下のようなFDBの書き換えが行われる。ノード220からのFlushメッセージを受信する前にHelloメッセージを受信していたポートはP1であるので、FDB中、出力ポート名としてP1が記載されているエントリについて、出力ポート名をFlushメッセージの受信ポートP2に書き換える。
【0023】
上述したように、Awareノード230、240のそれぞれの配下にある端末は、マスタモードに切り替わったバックアップノード220を経由して通信を続行することができる。
【0024】
また、上述したマスタノードのダウンとは異なる障害として、リンクの切断が考えられる。この場合の動作について図41を用いて説明する。図41に示すように、マスタノード210とAwareノード230間でリンクの切断が発生したような場合、マスタノード210はリンク切断を検知し、自らのノードのプライオリティを下げるように動作する。そして、この下げられたプライオリティ情報を格納したHelloメッセージを送信する。一方、このHelloメッセージを受信したバックアップノード220は、マスタノード210のプライオリティが自ノード(バックアップノード220)より低くなったことを知ることによって、自ノードのプライオリティを格納したHelloメッセージをメンバポートP1、P2から定期的に送信する処理を開始すると共に、引き続きマスタノード210から送信されるHelloメッセージを監視する。
【0025】
バックアップノード220から送信されるHelloメッセージを受信したマスタノード210は、バックアップノード220のプライオリティが自ノード(マスタノード210)のプライオリティより高くなったことを知ることによって、バックアップモードに切り替わり、メンバポートP1、P2のポート状態をフォワーディング状態からブロッキング状態に変更すると共に、Helloメッセージを定期的に送信する処理を停止する。その後、マスタノード210は、バックアップノード220から定期的に送信されるHelloメッセージを監視する。
【0026】
マスタノード210がHelloメッセージの送信を停止し、バックアップノード220がマスタノード210から送信されるHelloメッセージを所定の時間受信できなくなった場合、バックアップノード220はマスタモードに切り替わる。
【0027】
マスタモードに切り替わったバックアップノード220は、メンバポートP1、P2をフォワーディング状態にすると共に、メンバポートP1、P2からFlushメッセージを送信する。その後、バックアップノード220は、引き続き定期的にHelloメッセージをメンバポートP1、P2から送信する。
【0028】
このとき、Flushメッセージ及びHelloメッセージは、バックアップノード220のプライオリティ情報が格納されて、送信される。
【0029】
Flushメッセージを受信したAwareノード230、240の動作は上述と同様である。即ち、FDBのエントリのうち、出力ポート名がバックアップノード220の切り替え前にHelloメッセージを受信していたポートであるエントリの出力ポート名を、Flushメッセージを受信したポートに書き換える。
【0030】
以上により、Awareノード230、240のそれぞれの配下にある端末は、マスタモードに切り替わったバックアップノード220を経由して通信を続行することができる。
【特許文献1】特開2004−140777号
【非特許文献1】Foundry Switch and Router Installation and Basic Configuration Guide, Chapter 12 "Configuring Metro Features"(http://www.foundrynet.com/services/documentation/sribcg/Metro.html#61625)
【非特許文献2】ExtremeWare 7.2.0 Software User Guide, Chapter 15, page 347-376(http://www.extremenetworks.com/services/documentation/swuserguides.asp)
【発明の開示】
【発明が解決しようとする課題】
【0031】
上述したように、従来のノード冗長化プロトコルを用いてノードを冗長化することにより、ノードのダウンやリンクの切断等の障害が発生しても通信を停止することなくサービス運用を続行できる。
【0032】
しかしながら、例えばSTPのように、ポートのポート状態を管理する他のプロトコル(以下、他のプロトコルと記述する)が適用されたネットワーク内のノードに対して、従来のノード冗長化プロトコルを適用した場合、フレームを転送できなくなるという問題がある。
【0033】
例えば、図42にSTP網のエッジ部分に従来のノード冗長化プロトコルを適用したネットワークを示す。図42では、マスタノード210とバックアップノード220の双方において、ノード冗長化プロトコルのメンバポートがP1〜P4となっている。一方、STP網側に着目した場合、マスタノード210及びバックアップノード220のSTPのメンバポートは、P3、P4であるように設定されている。STPのメンバポートとは、STPが有効であるポート、即ち、そのポート状態がSTPにより管理されるポートを意味する。このような設定の場合、ポートP3、P4のポート状態の管理に関して、STPとノード冗長化プロトコルとの間で競合が発生し、後述するように、フレームを転送することができなくなるという問題がある。
【0034】
また、上記のような競合を回避するために、図42において、マスタノード210、バックアップノード220それぞれのポートP1、P2をノード冗長化プロトコルのメンバポートと設定し、それぞれのメンバポートP3、P4をSTPのメンバポートと設定した場合には、STPのメンバポートP3、P4に接続されるノード250及び260には、マスタモードとバックアップモードの切り替え時に、上述したFlushメッセージが送信されないこととなるので、ノード250及び260のFDBは書き換えられない。よって、この場合、ノード250及び260のFDBがエージアウトするまでの間、ノード250及び260は通信(フレームの転送)ができない状態となる。
【0035】
以下に、マスタノード210及びバックアップノード220のポートP3、P4をノード冗長化プロトコル及びSTPの両プロトコルのメンバポートに設定する場合において、ポート状態の管理が競合することによって、通信が行えなくなる問題について説明する。
【0036】
図43に示すような構成のネットワークにおいては、ノード260は、バックアップノード220のメンバポートP4及びP3を経由して他のノードと通信を行う。図44に、バックアップノード220におけるSTPのメンバポートのポート状態を管理するポート状態管理テーブル270の設定内容と、ノード冗長化プロトコルのメンバポートのポート状態を管理するポート状態管理テーブル280の設定内容の例を示す。
【0037】
バックアップノード220のポートP1、P2については、STPによるポート状態の管理は無効となっており、ノード冗長化プロトコルによる管理では、ポート状態はブロッキング状態となっている。
また、ポートP3、P4については、STPによる管理では、ポート状態は共にフォワーディング状態であるが、ノード冗長化プロトコルによる管理では、ポート状態が共にブロッキング状態となっており、STPとノード冗長化プロトコルにおいて、互いに異なるポート状態が設定されている。
【0038】
バックアップノード220のポートP3とP4のSTPにおけるポート状態はフォワーディング状態なので、ノード260はこれらのポートを経由して他のノードと通信することが可能となる。
【0039】
これに対して、ポートP3とP4のノード冗長化プロトコルにおけるポート状態はブロッキング状態であるため、ノード260から他のノードへの通信及び他のノードからのノード260への通信は、それぞれバックアップノード220のメンバポートP4及びP3で遮断されることになる。
【0040】
即ち、STPにおけるポート状態がフォワーディング状態であったとしても、ノード冗長化プロトコルにおけるポート状態がブロッキング状態であるために、STPのBPDU(Bridge Protocol Data Unit)フレーム又はノード冗長化プロトコルのHelloメッセージ及びFlushメッセージのような制御フレーム以外の通常のデータフレームは破棄されてしまう。従って、ノード260は、STPとノード冗長化プロトコルにおけるポート状態の管理が競合することが原因で他のノードとの通信ができない状態となる。
【0041】
本発明の第1の目的は、上述のようなノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワークとを共存させることを可能としたネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0042】
本発明の第2の目的は、ノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワークとを共存させた場合に、マスタモードとバックアップモードの切り替え時に、他のプロトコルによるネットワーク側のノードのFDBがエージアウトするまで通信できないという問題を解決した、ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0043】
本発明の第3の目的は、STP網間を相互に接続したネットワークシステムであって、信頼性向上を可能としたシステムを実現することができるネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【0044】
本発明の第4の目的は、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することを可能としたネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法を提供することにある。
【課題を解決するための手段】
【0045】
上記目的を達成するため本発明のネットワークシステムでは、ノード冗長化プロトコルによるネットワークと他のプロトコルによるネットワーク網とを共存させるネットワークシステムにおいて、他のプロトコルによるネットワーク網を構成するマスタノードとバックアップノードに属し、ノード冗長化プロトコルの管理下にあるメンバポートであり、かつ他のプロトコルによるネットワーク網側の管理下にあるポートの状態を、ノード冗長化プロトコルによる管理を行わず、他のプロトコルのみによる管理を行うように構成し、また、マスタノード又はバックアップノードがマスタモードへの切り替え時に、ノード冗長化プロトコルの管理下にあるメンバポートに接続される全てのノードに対してフォワーディングデータベースを書き換えるための制御フレームを送信するようにした。
【0046】
本発明によれば、他のプロトコルの管理下にあるポートの状態を、ノード冗長化プロトコルの管理下から外すことで、ノード冗長化プロトコルと他のプロトコルによるポート管理状態が競合することを回避すると共に、マスタノードとバックアップノードのノード冗長化プロトコルにおける動作状態が切り替わる時に、ノード冗長化プロトコルの管理下にあるメンバポートに接続される全てのノードに対してFlushメッセージを送信することで、他のプロトコルの管理下にあるメンバポートに接続されるノードのFDBのフラッシュを実行することを可能とした。
【発明の効果】
【0047】
本発明のノード冗長化ネットワークシステムによれば、以下に述べるような優れた効果が達成される。
【0048】
第1に、ポートの管理状態が競合することなく、ノード冗長化プロトコルを他のプロトコルを適用したネットワーク内のノードに適用させることを可能となる。
【0049】
第2に、ノード冗長化プロトコルを他のプロトコルを適用したネットワーク内のノードに適用させた場合に、マスタモードとバックアップモードの切り替え時に、他のプロトコルによるネットワーク側のノードのFDBがエージアウトするまで通信できないという問題が解消される。
【0050】
第3に、STP網間を相互に接続したネットワークシステムであって、信頼性の高いノード冗長化を可能としたシステムを実現することができる。
【0051】
第4に、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することが可能となる。
【実施例1】
【0052】
以下、本発明の好適な一実施形態について図面を参照して詳細に説明する。
【0053】
第1の実施の形態においては、STP網を構成するノードを冗長化する方法について詳細に説明する。
【0054】
図1は、本発明を適用したネットワークシステムの構成を示す図である。
【0055】
マスタノード10及びバックアップノード20のポートP3、P4にはSTP網に属するノード50、60が接続され、マスタノード10及びバックアップノード20のポートP1、P2にはSTP網に属さないノード30、40がそれぞれ接続されている。
【0056】
また、STP網に属するノード50、60には、ノード70、80がそれぞれ接続されており、ノード70、80は、マスタノード10、バックアップノード20、ノード50、ノード60と共にSTP網を構成している。
【0057】
マスタノード10及びバックアップノード20には、本発明のノード冗長化プロトコルが適用されており、マスタノード10及びバックアップノード20のうち、一方のノードは本発明のノード冗長化プロトコルにおけるマスタモードの動作状態にあり、他方はバックアップモードの動作状態にあって、それぞれのノードが冗長化された一対のノードの1つとして動作する。
【0058】
また、本発明のノード冗長化プロトコルにより冗長化されたマスタノード10及びバックアップノード20に直接接続されたSTP網に属するノード50、60及びSTP網に属さないノード30、40は全て、マスタノード10及びバックアップノード20のAwareノードとして動作する。
【0059】
以降に、マスタノード10及びバックアップノード20の構成と動作について説明する。
【0060】
図2に示すように、マスタノード10は、フレーム解析部110と、スイッチ120と、ポート状態管理テーブル130と、FDB(フォワーディングデータベース)140と、フレーム多重部150とを備え、本発明において特徴的な、STPモジュール160とノード冗長化プロトコルモジュール170及びSTPメンバポート管理テーブル180とノード冗長化プロトコルメンバポート管理テーブル190とを備えて構成される。
なお、バックアップノード20の構成は、マスタノード10と同様である。
【0061】
図5に、図1のネットワーク構成例におけるマスタノード10のノード冗長化プロトコルメンバポート管理テーブル190の設定例及びSTPメンバポート管理テーブル180の設定例を示す。
【0062】
図5に示すマスタノード10のノード冗長化プロトコルメンバポート管理テーブル190には、Awareノード(ノード30、40、50、60)が直接接続されているポートP1〜P4がマスタノード10のノード冗長化プロトコルのメンバポートとして登録されている。
【0063】
これらのメンバポートの管理テーブルは、ネットワーク構築時に手動で設定してもよく、また、サーバから設定するようにしてもよい。
【0064】
また、図5に示すマスタノード10のSTPメンバポート管理テーブル180には、STP網を構成するノード50、60が直接接続されているポートP3、P4がマスタノード10のSTPのメンバポートとして登録されている。
【0065】
図6に、図1のネットワーク構成例におけるバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190の設定例及びSTPメンバポート管理テーブル180の設定例を示す。
【0066】
図6に示すバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190には、Awareノード(ノード30、40、50、60)が接続されているポートP1〜P4がバックアップノード20のノード冗長化プロトコルのメンバポートとして登録されている。
【0067】
また、図6に示すバックアップノード20のSTPメンバポート管理テーブル180には、STP網を構成するノード50、60が接続されているポートP3、P4がバックアップノード20のSTPのメンバポートとして登録されている。
【0068】
以下、マスタノード10の動作について説明する。ここでは、マスタノード10の動作のみについて説明するが、バックアップノード20の動作についても同様である。
【0069】
マスタノード10の動作状態がマスタモードにある場合、ノード冗長化プロトコル解析部172は、自ノードのノード冗長化プロトコルに関する情報(例えば、プライオリティ)を格納したHelloメッセージをノード冗長化プロトコルのメンバポート(P1〜P4)から定期的に送信するように、Hello/Flushメッセージ送信部173に指示している。
【0070】
ノード冗長化プロトコルに関する情報としては、マスタノード10及びバックアップノード20の動作状態が互いに異なるような情報を使用する。
【0071】
例えば、マスタノード10の動作状態がバックアップモードからマスタモードに更新される場合は、バックアップノード20の動作状態はマスタモードからバックアップモードに更新されるように、マスタノード10及びバックアップノード20のノード冗長化プロトコルに関する情報は計算される必要がある。
【0072】
ここで、ノード冗長化プロトコルに関する情報としてプライオリティを用いた場合に、プライオリティの計算方法の一例を説明する。
【0073】
プライオリティには、基準となる値(以下、基準値)がデフォルト又は設定インタフェースから予め手動等により設定されており、ノード冗長化プロトコル解析部172に保持される。
【0074】
ノードのプライオリティの計算方法としては、基準値、ノード冗長化プロトコルのメンバポート数、リンクアップしているメンバポート数を用いて計算する方法が主に用いられる。
【0075】
例えば、プライオリティの基準値を100、ノード冗長化プロトコルのメンバポートがP1〜P4の4個で、そのうちリンクアップしているメンバポートがP1〜P3の3個であった場合は、プライオリティは基準値×(ノード冗長化プロトコルのメンバポートの数)/(ノード冗長化プロトコルのメンバポートのうちリンクアップしているポートの数)=100×3/4=75のように計算することができる。
【0076】
上述したプライオリティの計算方法以外にも、ノード冗長化プロトコルのメンバポート以外のポートに関する情報など他の情報を考慮した計算方法を用いても良い。
【0077】
Hello/Flushメッセージ送信部173は、自ノードのノード冗長化プロトコルに関する情報に基づいてHelloメッセージを作成し、作成したHelloメッセージをノード冗長化プロトコルのメンバポートから送信するように、フレーム多重部150に指示する。
【0078】
マスタノード10の動作状態がバックアップモードにある場合、後述するように、マスタモードにあるノードから定期的に送信されるHelloメッセージを監視する。
【0079】
以降に、マスタノード10がフレームを受信した場合の動作について、図15から図17に示すフローチャートを参照して説明する。
【0080】
マスタノード10のフレーム受信時における動作は、ノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージの受信時を除いて、ノードの動作状態(マスタモード又はバックアップモード)に依存しない。
【0081】
ポートP3、P4で受信されたフレームは全て、フレーム解析部110に送られる(ステップ1501)。
【0082】
フレーム解析部110は、受信したフレームの種類を識別して(ステップ1502)、受信フレームがSTPの制御フレームであるBPDUフレームであれば、STPモジュール160内のBPDU受信部161に受信フレームを送る(ステップ1503)。
【0083】
以降の、STPモジュール160の詳細な動作については、後述する。
【0084】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば、フレーム解析部110は、ノード冗長化プロトコルモジュール170内のHello/Flushメッセージ受信部171に受信フレームを送る(ステップ1504)。
【0085】
以降のノード冗長化プロトコルモジュール170の詳細な動作については、後述する。
【0086】
受信フレームがSTPの制御フレーム及びノード冗長化プロトコルの制御フレーム以外の通常のデータフレームであれば、フレーム解析部110は受信フレームをスイッチ120に送る(ステップ1505)。
【0087】
スイッチ120は受信フレームの入力ポートをキーとしてポート状態管理テーブル130を参照して、入力ポートのポート状態を取得する(ステップ1506)。
【0088】
図7に、図1のネットワーク構成例におけるマスタノード10のポート状態管理テーブル130を、図8に、図1のネットワーク構成例におけるバックアップノード20のポート状態管理テーブル130の例を示す。
【0089】
ポート状態管理テーブル130は、マスタノード10又はバックアップノード20に属する各ポートのポート状態(フォワーディング状態又はブロッキング状態のいずれかの状態)を管理するためのテーブルであり、STP解析部172及びノード冗長化プロトコル解析部192によって参照されるとともに、内容が書き換えられる。
【0090】
入力ポートのポート状態がブロッキング状態である場合(ステップ1507)、スイッチ120は受信フレームを転送する処理を中断して、受信フレームを廃棄する(ステップ1508)。
【0091】
入力ポートのポート状態がフォワーディング状態である場合(ステップ1507)、スイッチ120は受信フレームに格納された宛先情報をキーとしてFDB140を検索して、受信フレームの出力ポート情報を取得し(ステップ1509)、取得した出力ポート情報に格納されたポートから受信フレームを送信するように、フレーム多重部150に指示する(ステップ1510)。
【0092】
このようなフレームの転送方法はユニキャスト転送と呼ばれる。
【0093】
受信フレームに格納された宛先情報に関する出力ポート情報が検索されなかった場合、スイッチ120は、ポート状態管理テーブル130を参照して、入力ポートを除くフォワーディング状態にある全てのポートから受信フレームを送信するように、フレーム多重部150に指示する。
【0094】
このようなフレームの転送方法はブロードキャスト転送と呼ばれる。
【0095】
以降、受信フレームがBPDUフレームであった場合のSTPモジュール160の動作について詳細に説明する。
【0096】
STPモジュール160は、STP網に属するノード(ノード50、60)が接続されたポート(P3、P4)を、STPのメンバポートとして、そのポート状態を管理するための機能を有しており、BPDU受信部161と、STP解析部162と、BPDU送信部163とを備えて構成される。
【0097】
STP解析部162は、BPDU受信部161で受信したBPDUフレームに格納されたフレームの転送経路に関する情報(例えば、ルートノードのMACアドレス、ルートパスコスト)及びSTP解析部162自身が保持しているフレームの転送経路に関する情報を解析することにより、自身のフレームの転送経路に関する情報を更新するともに(ステップ1511)、更新されたフレームの転送経路に関する情報に基づいて、STPのメンバポートのポート状態(フォワーディング状態又はブロッキング状態)を決定し、ポート状態管理テーブル130を変更する(ステップ1512)。
【0098】
また、STP解析部162は、更新されたフレームの転送経路に関する情報を自ノードに接続された他のノードに伝えるために、STPのメンバポートからフレーム転送の経路に関する情報を格納したBPDUフレームを送信するように、BPDU送信部163に指示する(ステップ1513)。
【0099】
BPDU送信部163は、更新されたフレームの転送経路に関する情報に基づいてBPDUフレームを作成し(ステップ1514)、STPのメンバポートから作成したBPDUフレームを送信するように、フレーム多重部150に指示する(ステップ1515)。
【0100】
また、STP解析部162は、STPのメンバポートからBPDUフレームを定期的に送信するように、BPDU送信部163に指示する。
【0101】
BPDU送信部163は、フレームの転送経路に関する情報に基づいてBPDUフレームを作成し、STPのメンバポートから作成したBPDUフレームを送信するように、フレーム多重部150に指示する。
【0102】
以降、受信フレームがHelloメッセージ又はFlushメッセージであった場合のノード冗長化プロトコルモジュールの動作について詳細に説明する。
【0103】
ノード冗長化プロトコルモジュール170は、Awareノード(ノード30、40、50、60)と接続されたポート(P1、P2、P3、P4)を、ノード冗長化プロトコルのメンバポートとして、そのポート状態を管理するための機能を有しており、Hello/Flushメッセージ受信部171と、ノード冗長化プロトコル解析部172と、Hello/Flushメッセージ送信部173とを備えて構成される。
【0104】
ノード冗長化プロトコルモジュール170の動作はマスタノード10の動作状態に依存するため、以降では、マスタモード10の動作状態がマスタモードである場合とバックアップモードである場合に分けて説明する。
【0105】
まず、マスタノード10の動作状態がマスタモードである場合について図16のフローチャートを参照して説明する。
【0106】
Hello/Flushメッセージ受信部171でHelloメッセージ又はFlushメッセージを受信すると(ステップ1601)、ノード冗長化プロトコル解析部172は、受信したHelloメッセージ又はFlushメッセージに格納されたノード冗長化プロトコルに関する情報及びノード冗長化プロトコル解析部172自身が保持しているノード冗長化プロトコルに関する情報を解析することにより、自ノードの動作状態を決定する(ステップ1602)。
【0107】
自ノードの動作状態がマスタモードのままで更新されなかった場合は(ステップ1603)、受信したHelloメッセージ又はFlushメッセージを廃棄し(ステップ1604)、受信したHelloメッセージ又はFlushメッセージに関する処理を終了し、引き続き定期的にHelloメッセージを送信する。
【0108】
一方、自ノードの動作状態がバックアップモードに決定された場合は(ステップ1603)、ノード冗長化プロトコル解析部172は、動作状態をバックアップモードに切り替え、STPとノード冗長化プロトコルとの競合を防ぐために、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポート(P1、P2)のみのポート状態をフォワーディング状態からブロッキング状態に変更して、ポート状態管理テーブル130の内容を変更すると共に(ステップ1605)、前述のHelloメッセージを定期的に送信する処理を停止する(ステップ1606)。
【0109】
その後、後述するように、マスタモードにある別のノードから定期的に送信されるHelloメッセージを監視する。
【0110】
次に、マスタノード10の動作状態がバックアップモードである場合について図17のフローチャートを参照して説明する。
【0111】
マスタノード10の動作状態がバックアップモードである場合、Hello/Flushメッセージ受信部171でHelloメッセージ又はFlushメッセージを受信すると(ステップ1701)、ノード冗長化プロトコル解析部172は、受信したHelloメッセージ又はFlushメッセージに格納されたノード冗長化プロトコルに関する情報及びノード冗長化プロトコル解析部172自身が保持しているノード冗長化プロトコルに関する情報を解析することにより、マスタノード10の動作状態を決定する(ステップ1702)。
【0112】
マスタノード10の動作状態がバックアップモードのままで更新されなかった場合は(ステップ1703)、受信したHelloメッセージ又はFlushメッセージを廃棄し(ステップ1704)、引き続き定期的に送信されるHelloメッセージを監視する。
【0113】
マスタノード10の動作状態がマスタモードに決定された場合(ステップ1703でYES)、ノード冗長化プロトコル解析部172は、ノード冗長化プロトコルのメンバポートP1〜P4からHelloメッセージを定期的に送信する処理を開始する(ステップ1705)と共に、引き続きマスタモードにあるノード(バックアップノード20)から送信されるHelloメッセージを監視する。
【0114】
一方、マスタモードにあるノード(バックアップノード20)は、マスタノード10から定期的に送信されるHelloメッセージを受信することにより、自ノードの動作状態をマスタモードからバックアップモードに更新し、定期的にHelloメッセージを送信する処理を停止するため、マスタノード10はHelloメッセージを受信できなくなる。
【0115】
マスタノード10はHelloメッセージの送信開始以降に、所定時間マスタモードにあるノードから送信されるHelloメッセージを受信できなかった場合(ステップ1706)、自ノードの動作状態をマスタモードに切り替える(ステップ1707)。
【0116】
そして、マスタノード10は、STPとノード冗長化プロトコルとの競合を防ぐために、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポート(P1、P2)のみのポート状態をブロッキング状態からフォワーディング状態に変更して、ポート状態管理テーブル130の内容を変更する(ステップ1708)と共に、ノード冗長化プロトコルの全てのメンバポート(P1〜4)からFlushメッセージを送信する(ステップ1709)。
【0117】
その後、マスタノード10は、引き続きノード冗長化プロトコルのメンバポートP1〜P4からHelloメッセージを送信する。
【0118】
なお、マスタノード10が、Helloメッセージの送信開始以降にHelloメッセージを受信した場合は、マスタノード10はHelloメッセージを定期的に送信する処理を停止し(ステップ1710)、受信したHelloメッセージについて、上述のノード冗長化プロトコルに関する情報の解析を行って、自ノードの動作状態を決定する処理を行う。以降のマスタノード10の動作は上述の通りである。
【0119】
以下に、マスタモードにあるバックアップノード20がダウンして、バックアップモードにあるマスタノード10が、Helloメッセージを受信できなくなった場合の動作について説明する。
【0120】
マスタノード10が所定回数連続してHelloメッセージを受信できなかった場合、マスタモードにあるノード(バックアップノード20)がダウンしたと判断し、ノード冗長化プロトコルのメンバポート(P1〜P4)からHelloメッセージを送信する処理を開始する。
【0121】
マスタノード10は、Helloメッセージの送信開始以降、所定時間バックアップノード20から送信されるHelloメッセージを受信できなかった場合、自ノードの動作状態をマスタモードに切り替える。
【0122】
以降の動作については、上述のマスタノード10がバックアップモードからマスタモードに切り替わる場合の動作と同一であるため、説明を省略する。
【0123】
以上、マスタノード10の動作のみを詳細に説明したが、マスタノード10の動作状態がマスタモードである場合は、バックアップノード20の動作状態がバックアップモードであり、マスタノード10の動作状態がバックアップモードである場合は、バックアップノード20の動作状態がマスタモードであること以外は、バックアップノード20の動作は、マスタノード10の動作と同一であるので、説明を省略する。
【0124】
上述したように、ノード冗長化プロトコル解析部172が、STPのメンバポートに含まれないノード冗長化プロトコルのメンバポートのみのポート状態を管理し、またバックアップモードからマスタモードに切り替わる際には、ノード冗長化プロトコルの全てのメンバポートからFlushメッセージを送信することにより、STP網内のノードをノード冗長化プロトコルにより冗長化し、冗長化された一方のノードがダウンしても、他方のノードを経由して通信を続行することが可能なネットワークシステムを提供することが可能である。
【0125】
以降に、マスタノード10とバックアップノード20のメンバポートP1、P2に接続されるSTP網に属さないノード30、40の構成と動作について説明する。
【0126】
図3に示すように、ノード30、40は、フレーム解析部310と、スイッチ320と、FDB340と、フレーム多重部350とを備え、さらに、ノード冗長化プロトコルモジュール370と、ノード冗長化プロトコルメンバポート管理テーブル390とを備えて構成される。ノード冗長化プロトコルモジュール370については、マスタノード10のノード冗長化プロトコルモジュール170と同様に、Hello/Flushメッセージ受信部371と、ノード冗長化プロトコル解析部372と、Hello/Flushメッセージ送信部373とを備えて構成される。
【0127】
図9に、図1のネットワーク構成例におけるノード30のノード冗長化プロトコルメンバポート管理テーブル390の設定例を示す。
【0128】
図9に示すノード30のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が直接接続されているポートP1、P2がノード30のノード冗長化プロトコルのメンバポートとして登録されている。
【0129】
図10に、図1のネットワーク構成例におけるノード40のノード冗長化プロトコルメンバポート管理テーブル390の設定例を示す。
【0130】
図10に示すノード40のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が接続されているポートP1、P2がノード40のノード冗長化プロトコルのメンバポートとして登録されている。
【0131】
以下に、ノード30がフレームを受信した場合の動作について図18のフローチャートを参照して説明する。
【0132】
ここでは、ノード30の動作について説明するが、ノード40の動作は、ノード30の動作と同一であるため、説明を省略する。
【0133】
ポートP1、P2で受信されたフレームは全て、フレーム解析部310に送られる(ステップ1801)。
【0134】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば(ステップ1802)、フレーム解析部310は、ノード冗長化プロトコルモジュール370内のHello/Flushメッセージ受信部371に受信フレームを送る(ステップ1803)。
【0135】
Hello/Flushメッセージ受信部371で受信したフレームがHelloメッセージである場合(ステップ1804)、ノード冗長化プロトコル解析部372は、Helloメッセージの入力ポートを記憶すると共に(ステップ1805)、ノード冗長化プロトコルメンバポート管理テーブル390を参照して、入力ポートを除くノード冗長化プロトコルの全てのメンバポートから、受信したHelloメッセージを送信するようにHello/Flushメッセージ送信部373に指示する(ステップ1806)。
【0136】
なお、ノード冗長化プロトコルメンバポート管理テーブル390にポートが登録されていない場合は、入力ポート以外の全てのポートからHelloメッセージを送信する。
【0137】
受信したHelloメッセージは、出力ポート情報と共に、Hello/Flushメッセージ送信部373からフレーム多重部350に送られて、ノード冗長化プロトコル解析部372より指示されたポートから送信される(ステップ1807)。
【0138】
Hello/Flushメッセージ受信部371で受信したフレームがFlushメッセージである場合(ステップ1804)、ノード冗長化プロトコル解析部372は、FDB340のエントリのうち、出力ポート情報がこれまで受信していたHelloメッセージを受信していたポートであるエントリの出力ポートを、受信したFlushメッセージの入力ポートに書き換えると共に(ステップ1808)、ノード冗長化プロトコルメンバポート管理テーブル390を参照して、入力ポートを除くノード冗長化プロトコルの全てのメンバポートから、受信したFlushメッセージを送信するようにHello/Flushメッセージ送信部173に指示する(ステップ1809)。
【0139】
また、ノード冗長化プロトコルメンバポート管理テーブル390にポートが登録されていない場合は、入力ポート以外の全てのポートからFlushメッセージを送信する。
【0140】
受信したFlushメッセージは、出力ポート情報と共に、Hello/Flushメッセージ送信部373からフレーム多重部350に送られて、ノード冗長化プロトコル解析部372より指示された出力ポートから送信される(ステップ1807)。
【0141】
次に、ステップ1802で、受信フレームがノード冗長化プロトコルの制御フレーム以外の通常のデータフレームであると判定された場合について説明する。
【0142】
フレーム解析部310は受信フレームをスイッチ320に送り(ステップ1810)、スイッチ320は受信フレームに格納された宛先情報をキーとしてFDB340を検索して(ステップ1811)、受信フレームの出力ポート情報が取得されると(ステップ1812)、取得した出力ポート情報に格納されたポートから受信フレームを送信するように、フレーム多重部350に指示することにより、受信フレームをユニキャスト転送する(ステップ1813)。
【0143】
受信フレームに格納された宛先に関する出力ポート情報が検索されなかった場合、スイッチ320は、入力ポート以外の全てのポートから受信フレームを送信するように、フレーム多重部150に指示することにより、受信フレームをブロードキャスト転送する(ステップ1814)。
【0144】
以上のように、ノード30、40は、通常時は、マスタモードのノードから定期的に送信されるHelloメッセージをバックアップモードのノードに転送し、冗長化されたノードの動作状態が互いに切り替わった場合には、新たにマスタモードに切り替わったノードから送信されるFlushメッセージを受信して、FDB340の内容を更新することにより、リンクの切断又はノードのダウン等のネットワーク障害が発生して、マスタモードのノードが変更されても、通信を続行することができる。
【0145】
以降では、マスタノード10とバックアップノード20のメンバポートP3、P4に接続されるSTP網に属するノード50、60の構成と動作について説明する。
【0146】
図4に示すように、STP網に属するノード50、60は、図3に示したノード30、40の構成に加えて、STPモジュール360とSTPメンバポート管理テーブル380と、ポート状態管理テーブル330とを備えて構成される。
【0147】
ノード50、60のSTPモジュール360については、マスタノード10及びバックアップノード20のSTPモジュール160と同様に、BPDU受信部361と、STP解析部362と、BPDU送信部363とを備えて構成される。
【0148】
図11に、図1のネットワーク構成例におけるノード50のノード冗長化プロトコルメンバポート管理テーブル390の設定例及びSTPメンバポート管理テーブル380の設定例を示す。
【0149】
図11に示すノード50のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が直接接続されているポートP1、P2がノード50のノード冗長化プロトコルのメンバポートとして登録されている。
【0150】
また、図11に示すノード50のSTPメンバポート管理テーブル380には、STP網を構成するノード10、20、60、70が直接接続されているポートP1〜4がノード50のSTPのメンバポートとして登録されている。
【0151】
図12に、図1のネットワーク構成例におけるノード60のノード冗長化プロトコルメンバポート管理テーブル390の設定例及びSTPメンバポート管理テーブル380の設定例を示す。
【0152】
図12に示すノード60のノード冗長化プロトコルメンバポート管理テーブル390には、マスタノード10又はバックアップノード20が接続されているポートP1、P2がノード60のノード冗長化プロトコルのメンバポートとして登録されている。
【0153】
また、図12に示すノード60のSTPメンバポート管理テーブル380には、STP網を構成するノード10、20、50、80が直接接続されているポートP1〜4がノード60のSTPのメンバポートとして登録されている。
【0154】
以下に、ノード50がフレームを受信した場合の動作について説明する。
【0155】
ここでは、ノード50の動作について説明するが、ノード60の動作は、ノード50の動作と同一であるため、説明を省略する。
【0156】
ポートP1、P2で受信されたフレームは全て、フレーム解析部310に送られる。
【0157】
フレーム解析部310は、受信したフレームの種類を識別して、受信フレームがSTPの制御フレームであるBPDUフレームであれば、STPモジュール360内のBPDU受信部361に受信フレームを送る。
【0158】
以降のSTPモジュール360の動作は、マスタノード10がBPDUフレームを受信した場合のSTPモジュール160の動作と同一であるため、説明を省略する。
【0159】
受信フレームがノード冗長化プロトコルの制御フレームであるHelloメッセージ又はFlushメッセージであれば、フレーム解析部310は、ノード冗長化プロトコルモジュール370内のHello/Flushメッセージ受信部371に受信フレームを送る。
【0160】
以降のノード冗長化プロトコルモジュール370の動作は、ノード30がHelloメッセージ又はFlushメッセージを受信した場合のノード冗長化プロトコルモジュール370の動作と同一であるため、説明を省略する。
【0161】
受信フレームがノード冗長化プロトコルの制御フレーム以外の通常のデータフレームである場合、フレーム解析部310は受信フレームをスイッチ320に送る。
【0162】
以降のデータフレームを転送する動作は、前述したマスタノード10がデータフレームを転送する動作と同一であるため、説明を省略する。
【0163】
以上のように、ノード50は、ノード30と同様に、通常時は、マスタモードのノードから定期的に送信されるHelloメッセージをバックアップモードのノードに転送し、冗長化されたノードの動作状態が互いに切り替わった場合には、新たにマスタモードに切り替わったノードから送信されるFlushメッセージを受信して、FDB340の内容を更新することにより、リンクの切断又はノードのダウン等のネットワーク障害が発生して、マスタモードのノードが変更されても、通信を続行することができる。
【0164】
次いで、第1の実施の形態におけるネットワークシステムの動作について図19に示すシーケンスチャートを参照して説明する。
【0165】
図1のネットワーク構成において、マスタノード10の動作状態がマスタモードにあり、バックアップノード20の動作状態がバックアップモードにあるとする。
【0166】
通常時において、マスタノード10は、冗長化プロトコルメンバポート管理テーブル190に登録された全てのメンバポート(P1〜P4)から定期的にHelloメッセージを送信する(1901)。
【0167】
ノード30、40、50、60は、それぞれポートP1でマスタノード10から送信されるHelloメッセージを受信し(1902)、バックアップノード20が接続されたポートP2から受信したHelloメッセージを送信する(1903)。
【0168】
バックアップノード20は、マスタノード10から定期的に送信されるHelloメッセージを受信し(1904)、Helloメッセージに格納されたノード冗長化プロトコルに関する情報を監視する。
【0169】
ここで、マスタノード10とノード30間のリンクが切断され、マスタノード10のプライオリティがバックアップノード20のプライオリティよりも低下した場合について説明する。
【0170】
バックアップノード20は、ポートP2で受信したHelloメッセージに格納されたマスタノード10のプライオリティが、バックアップノード20のプライオリティよりも低下したことを検出すると(1905)、動作状態がマスタモードに決定され(1906)、ノード冗長化プロトコルのメンバポート(P1〜P4)からHelloメッセージを定期的に送信する(1907)。
【0171】
ノード30、40、50、60は、マスタノード10から送信されるHelloメッセージをバックアップノード20に送信すると共に、バックアップノード20から送信されるHelloメッセージを受信し(1908)、マスタノード10に送信する(1909)。
【0172】
マスタノード10は、バックアップノード20から送信されるHelloメッセージを受信すると(1910)、Helloメッセージに格納されたバックアップノード20のプライオリティが自ノードよりも高くなったことを検出して(1911)、自ノードの動作状態をマスタモードからバックアップモードに切り替える(1912)。
【0173】
即ち、マスタノード10のポート状態管理テーブル130について、STPメンバポート管理テーブル180に含まれないノード冗長化プロトコルメンバポート(P1,P2)のポートの状態をフォワーディング状態からブロッキング状態に変更する(1913)。
【0174】
そして、マスタノード10は、定期的にHelloメッセージを送信する処理を停止し(1914)、以降バックアップノード20から定期的に送信されるHelloメッセージを監視する。
【0175】
一方、バックアップノード20は、Helloメッセージの送信開始以降、所定時間マスタノード10から送信されるHelloメッセージを受信できなかった場合(1915)、自ノードの動作状態をマスタモードに切り替える(1916)。
【0176】
即ち、バックアップノード20のポート状態管理テーブル130について、STPメンバポート管理テーブル180に含まれないノード冗長化プロトコルメンバポート(P1,P2)のポートの状態をブロッキング状態からフォワーディング状態に変更する(1917)。
【0177】
そして、バックアップノード20は、Flushメッセージをノード冗長化プロトコルのメンバポート(P1〜P4)から送信し(1918)、以降引き続きHelloメッセージを定期的に送信する。
【0178】
ノード30、40、50、60は、それぞれバックアップノード20から送信されるFlushメッセージをポートP2で受信し、FDBのエントリのうち、出力ポート情報がHelloメッセージを受信していたポートP1であるエントリの出力ポートを、Flushメッセージの受信ポートP2に書き換える(1919)。また、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージをマスタノード10に送信する(1920)。
【0179】
図13に、バックアップノード20の動作状態がバックアップモードからマスタモードに切り替わり、バックアップノード20からFlushメッセージが送信されて、AwareノードのFDBが変更された直後のネットワークの状態を示す。
【0180】
また図14に、マスタノード10とバックアップノード20の動作状態が入れ替わり、バックアップノード20から定期的にHelloメッセージが送信されている状態のネットワークを示す。
【0181】
上述のように、本発明の第1の実施の形態では、ノード冗長化プロトコルのメンバポートかつSTPのメンバポートであるポートのポート状態を、ノード冗長化プロトコルモジュール170が管理しないで、STPモジュール160のみが管理するようにノードを構成し、かつマスタノード10とバックアップノード20の動作状態が切り替わる場合には、ノード冗長化プロトコルの全てのメンバポートからFlushメッセージを送信する構成することにより、メンバポートに関するノード冗長化プロトコルとSTPによる競合の発生を回避することにより、ノード冗長化プロトコルをSTP網のノードに適用させることを可能としている。
【実施例2】
【0182】
次いで、本発明の第2の実施の形態によるネットワークシステムについて説明する。
【0183】
第2の実施の形態では、複数のVLAN(Virtual LAN)が設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用する方法について説明する。
【0184】
図20は、3個のVLAN401、402、403が設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用した場合の例であり、ネットワークシステムの状態をVLAN毎に示している。
【0185】
VLAN401では、ノード50がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれマスタモード、バックアップモードとなっている。
【0186】
VLAN402では、マスタノード10がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれバックアップモード、マスタモードとなっている。
【0187】
VLAN403では、ノード70がSTP網のルートノードであり、マスタノード10、バックアップノード20の動作状態は、それぞれマスタモード、バックアップノードとなっている。
【0188】
以上のように、STP網のルートノードがVLAN毎に異なっていても構わないし、マスタノード10及びバックアップノード20のノード冗長化プロトコルの動作状態がVLAN毎に異なっていても構わない。
【0189】
図21に、マスタノード10及びバックアップノード20のVLAN401、402、403におけるノード冗長化プロトコルの動作状態を示す。
【0190】
マスタノード10及びバックアップノード20のノード冗長化プロトコル解析部172は、図21に示す内容を保持する。
【0191】
すなわち、第1の実施の形態においては、ノード冗長化プロトコル解析部172は、自ノードのノード冗長化プロトコルの動作状態を1つだけ保持するだけであったが、第2の実施の形態においては、自ノードのノード冗長化プロトコルの動作状態をVLAN毎に保持する。
【0192】
図22に示すマスタノード10及びバックアップノード20のノード冗長化プロトコルメンバポート管理テーブル190、図25に示すノード30、40のノード冗長化プロトコルメンバポート管理テーブル、図26に示すノード50、60に示すノード冗長化プロトコルメンバポート管理テーブルのように、本実施の形態においては、ノード冗長化プロトコルのメンバポートはVLAN毎に管理される。
【0193】
同様に、図23に示すマスタノード10及びバックアップノード20のSTPメンバポート管理テーブル180、図27に示すノード50、60のSTPメンバポート管理テーブルのように、本実施の形態においては、STPのメンバポートはVLAN毎に管理される。
【0194】
図24に示すマスタノード10及びバックアップノード20のポート状態管理テーブル130のように、本実施の形態においては、各ポートのポート状態はVLAN毎に管理される。
【0195】
マスタノード10、バックアップノード20及びノード30、40、ノード50、60の構成については、上述の各情報がVLAN毎に管理される点、FDB140が宛先及びVLANの情報と出力ポート情報の対応を記憶する点を除いては、第1の実施の形態で説明した構成と同様である。
【0196】
マスタノード10、バックアップノード20は、VLAN401、402、403毎に、第1の実施の形態で説明した方式により、メンバポートのポート状態を管理する。
【0197】
マスタノード10及びバックアップノード20の各VLANにおける動作は、第1の実施の形態で説明したマスタノード10及びバックアップノード20の動作とVLAN情報を参照する点が異なる。
【0198】
第2の実施の形態においては、マスタノード10及びバックアップノード20がHelloメッセージ又はFlushメッセージにVLANを識別するためのID(VRID)を格納して送信する。
【0199】
また、マスタノード10及びバックアップノード20がHelloメッセージ又はFlushメッセージを受信した場合は、Helloメッセージ又はFlushメッセージに格納されたVRIDを参照し、VRIDに対応するVLANについて、ノード冗長化プロトコルの動作状態(マスタモード又はバックアップモード)、ノード冗長化プロトコルのメンバポートのポート状態(フォワーディング状態又はブロッキング状態)を決定する。
【0200】
例えば、バックアップノード20がVLAN401に対応するVRID1が格納されたHelloメッセージを受信した場合、バックアップノード20は、VLAN401におけるノード冗長化プロトコルの動作状態及びノード冗長化プロトコルのメンバポートのポート状態に対して上述の処理を行うが、VLAN402、403におけるノード冗長化プロトコルの動作状態及びメンバポートのポート状態には影響しない。
【0201】
また、BPDUフレームについては、フレームに格納されたVLAN情報(例えば、VLANタグに格納されたVLAN ID)を参照することにより、VLAN毎にSTP網の転送経路を計算し、VLAN毎にSTPのメンバポートのポート状態を管理する。
【0202】
また、BPDUフレーム、Helloメッセージ及びFlushメッセージ以外のデータフレームについては、スイッチ120が、フレームに格納された宛先情報及びVLAN情報をキーとしてFDB140を検索して出力ポート情報を取得することにより、受信フレームを転送する。
【0203】
Awareノード(ノード30、40、50、60)のHelloメッセージ又はFlushメッセージ受信時の動作も、マスタノード10及びバックアップノード20と同様に、Helloメッセージ又はFlushメッセージに格納されたVRIDを参照し、VRIDに対応するVLANについて、ノード冗長化プロトコルの処理を行う以外は、第1の実施の形態で説明した動作と同一である。
【0204】
例えば、AwareノードがFlushメッセージを受信した場合、Flushメッセージに格納されたVRIDを参照し、FDB340のエントリのうち、VLAN情報がVRIDに対応するVLANであり、かつ、出力ポート情報がFlushメッセージの受信以前に、同じVRIDが格納されたHelloメッセージを受信していたポートであるエントリの出力ポート情報を、Flushメッセージの受信ポートに書き換える。
【0205】
また、BPDUフレーム、データフレーム受信時のAwareノードの動作は、上述のマスタノード10及びバックアップノード20と同様である。
【0206】
上述したように、STPメンバポート管理テーブル180、ノード冗長化プロトコルメンバポート管理テーブル190、ポート状態管理テーブル130、ノード冗長化プロトコルの動作状態をVLAN毎に管理すると共に、マスタノード10及びバックアップノード20が、Helloメッセージ又はFlushメッセージにVLANを識別するためのID(VRID)を格納して送信することによって、複数のVLANが設定されたネットワークシステムに本発明のノード冗長化プロトコルを適用することが可能である。
【実施例3】
【0207】
次いで、本発明の第3の実施の形態によるネットワークシステムについて説明する。
【0208】
第3の実施の形態におけるノード冗長化プロトコルは、図1のノード50、60を通常のSTP網に設けられるノードと同様に、STPモジュール360のみを備える構成とした場合においても、既存のSTP対応のノードに改良を加えることなく、STP網におけるノードの冗長化を可能とする方法について説明する。
【0209】
図1のノード50、60に既存のSTP対応のノードを使用し、図1のネットワークシステムに第1の実施の形態のノード冗長化プロトコルを適用した場合、既存のSTP対応ノードは、ノード冗長化プロトコルの制御フレーム(Helloメッセージ及びFlushメッセージ)を認識することができないため、ノード冗長化プロトコルのAwareノードとして機能することができないという問題が発生する。
【0210】
具体的には、ノード冗長化プロトコルを適用されたノード対の一方のノード(マスタノード10、バックアップノード20の一方)から送信されたHelloメッセージを他方のノードに転送することができないという問題がある。
【0211】
また、マスタノード10、バックアップノード20の動作状態が入れ替わった場合に、バックアップモードからマスタモードに切り替わったノードから送信されるFlushメッセージを認識することができず、FDBを書き換えることができないため、FDBのエントリがエージングされるまで通信が中断されてしまう問題もある。
【0212】
第3の実施の形態においては、Helloメッセージに格納される宛先情報として特殊アドレスを使用し、また、STP網に属するAwareノード50、60に対して送信するFlushメッセージとしてBPDUフレームを利用することにより、既存のSTP対応のノードがノード冗長化プロトコルの制御フレームを認識できなくとも、Awareノードとして機能することを可能とする。
【0213】
マスタノード10及びバックアップノード20の構成は、第1の実施の形態で示した構成と基本的に同じであるが、第3の実施の形態では、図28に示すように、ノード冗長化プロトコルモジュール170のノード冗長化プロトコル解析部172が、ノード30、40に対するFlushメッセージとして使用する、STPのTopology Changeフラグを立てたBPDUフレームの送信を、STPモジュール160のSTP解析部162に指示することができる機能を追加している。
【0214】
まず、既存のSTP対応のノード50、60が、Helloメッセージ及びFlushメッセージを転送可能にするための方法について、以下に説明する。
【0215】
第3の実施の形態においては、マスタノード10、バックアップノード20は、宛先情報として、既存のSTP対応ノードが常に未知と判断するような特殊アドレスを格納して、Helloメッセージ及びFlushメッセージを送信する。
【0216】
マスタノード10、バックアップノード20のフレーム解析部110及びSTP網に属さないAwareノード30、40のフレーム解析部310には、この特殊アドレスを宛先情報として有するフレームをノード冗長化プロトコルの制御フレーム(Helloメッセージ及びFlushメッセージ)として認識させるようにしておく。
【0217】
このようにすれば、マスタノード10、バックアップノード20の一方からノード30、40に対して送信されたHelloメッセージ及びFlushメッセージは、第1の実施の形態と同様にして、他方のノードに転送される。
【0218】
一方、ノード50、60がHelloメッセージ及びFlushメッセージを受信した場合、フレーム解析部310は、ノード冗長化プロトコルの制御フレームと認識せずに、通常のデータフレームと認識して、Helloメッセージ及びFlushメッセージをスイッチ320に転送する。
【0219】
ノード50、60のスイッチ320は、Helloメッセージ及びFlushメッセージの宛先情報をキーとしてFDB340を検索するが、Helloメッセージ及びFlushメッセージの宛先情報には特殊アドレスが使用されているため、常に検索に失敗する。
【0220】
そのため、スイッチ320はSTPのメンバポートのうち、Helloメッセージ又はFlushメッセージの受信ポート以外で、かつ、フォワーディング状態にある全てのポートから、受信したHelloメッセージ又はFlushメッセージをブロードキャスト転送する。
【0221】
ノード50、60のSTPのメンバポートのいずれかは、マスタノード10、バックアップノード20に接続されているため、マスタノード10又はバックアップノード20の一方から送信されたHelloメッセージ又はFlushメッセージを他方のノードに転送することができる。
【0222】
このとき、Helloメッセージ又はFlushメッセージを送信したノード対(マスタノード10及びバックアップノード20)を識別するためのIDを、Helloメッセージ及びFlushメッセージに格納することにより、他のノード対から送信されて、STP網内をブロードキャスト転送されたHelloメッセージ又はFlushメッセージを受信して、マスタノード10、バックアップノード20が誤動作することを防止することができる。
【0223】
また、Awareノード50、60が既存のSTP対応ノードである場合に、Helloメッセージを転送できない問題を解決する方法として、マスタノード10及びバックアップノード20のノード冗長化プロトコルのメンバポートのうち、STPのメンバポートにも含まれるポートには、Helloメッセージを送信しないという方法もある。
【0224】
この場合、Helloメッセージ及びFlushメッセージは、STP網に属さないAwareノード30、40のみを経由して転送され、HelloメッセージがSTP網でブロードキャスト転送されることがないため、他のノード対の送信するHelloメッセージによる誤動作を防止できると共に、不要なトラフィックにより通信帯域が圧迫されないという利点がある。
【0225】
次に、既存のSTP対応のノード50、60がFlushメッセージを受信した場合に、FDB340の消去を可能にするための方法について、説明する。
【0226】
図30に示すように、マスタモードにあるマスタノード10に障害が発生して、バックアップノード20がバックアップモードからマスタモードに切り替わる時、ノード30、40に対しては、第1の実施の形態と同様に、バックアップノード20からFlushメッセージが送信されることにより、ノード30、40のFDB340が書き換えられる。
【0227】
STP網内のノード50、60に対しては、バックアップノード20のノード冗長化プロトコル解析部172が、バックアップノード20のSTPメンバポート管理テーブル180及びノード冗長化プロトコルメンバポート管理テーブル190の両方に設定されるポートに対して、Topology Changeフラグを立てたBPDUフレームを送信することをSTP解析部162に指示する。
【0228】
これにより、BPDU送信部163からは、STPのメンバポートに対して、Topology Changeフラグの立ったBPDUフレームが送信される。
【0229】
また、Topology Changeフラグを立てたBPDUフレームを送信する方法として、図29のマスタノード10、バックアップノード20の構成に示すように、BPDU送信部163とフレーム多重部150の間にTopology Changeフラグ付与部199を設ける方法がある。
【0230】
上述の方法では、ノード冗長化プロトコル解析部192が、BPDU送信部152から定期的に送信されるBPDUフレームのTopology Changeフラグを立てるように、Topology Changeフラグ付与部199に指示することにより、STPメンバポートに含まれるノード冗長化プロトコルのメンバポートに対してFlushメッセージを送信することを可能とする。
【0231】
ノード50、60が、Topology Changeフラグの立ったBPDUフレームを受信すると、STPの仕様に定められているように、BPDUフレームの受信ポート以外の全てのSTPのメンバポートから、Topology Changeフラグを立てたBPDUフレームを送信すると共に、FDB340のエントリのうち、出力ポート情報がBPDUフレームの送信ポートであるエントリを全て消去する。
【0232】
ノード50、60がTopology Changeフラグを立てたBPDUフレームを送信するポートには、マスタノード10が接続されているポート(P1)が必ず含まれるため、ノード50、60がBPDUフレームを受信する以前にHelloメッセージを受信していたポートを記憶しておく必要はない。
【0233】
以上のように、STP網内のAwareノードに対するFlushメッセージとして、Topology Changeフラグを立てたBPDUフレームを使用することにより、既存のSTP対応のノードで構成されたSTP網に対しても、第3の実施の形態のノード冗長化プロトコルを適用することが可能である。
【0234】
上述のように、第3の実施の形態によれば、Helloメッセージの宛先情報として、既存のSTP対応ノードが常に未知と判断する特殊アドレスを使用して、HelloメッセージがSTP網内でブロードキャスト転送されるように構成し、また、既存のSTP対応ノードに対するFlushメッセージをとして、Topology Changeフラグを立てたBPDUを使用することにより、既存のSTP対応のノードに改良を加えることなく、STP網内のノードを冗長化することが可能である。
【実施例4】
【0235】
次いで、本発明の第4の実施の形態によるネットワークシステムについて説明する。
【0236】
第4の実施の形態においては、2つのSTP網間の相互接続部分に、本発明のノード冗長化プロトコルを適用することにより、STP網間の相互接続部分の信頼性を向上させる方法について説明する。
【0237】
図32に、マスタノード10、バックアップノード20とノード50、60及び70、80から構成されるSTP網1と、マスタノード10a、バックアップノード20aとノード90、100から構成されるSTP網2が、マスタノード10、10a、バックアップノード20、20aを接続する4本のリンクにより、相互に接続された構成のネットワークシステムを示す。
【0238】
以下に、図32に示すネットワークシステムに、第4の実施の形態におけるノード冗長化プロトコルを適用する方法について説明する。
【0239】
まず、STP網1のマスタノード10、バックアップノード20を冗長化されたノード対と見なし、STP網1のノード50、60、STP網2のマスタノード10a、バックアップノード20aをマスタノード10、バックアップノード20のAwareノードと見なして、第1の実施の形態におけるノード冗長化プロトコルを適用する。
【0240】
次に、STP網2のマスタノード10a、バックアップノード20aを冗長化されたノード対と見なし、STP網2のノード90、100、STP網1のマスタノード10、バックアップノード20はマスタノード10a、バックアップノード20aのAwareノードと見なして、第1の実施の形態におけるノード冗長化プロトコルを適用する。
【0241】
このとき、マスタノード10、10a、バックアップノード20、20aは、マスタノード10、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージとマスタノード10a、バックアップノード20aから送信されるHelloメッセージ及びFlushメッセージを識別するためのIDを、Helloメッセージ及びFlushメッセージに格納する。
【0242】
Helloメッセージ及びFlushメッセージを識別するためのIDの例として、第2の実施の形態で説明したVRIDを用いることができる。
【0243】
このように、Helloメッセージ及びFlushメッセージにノード冗長化プロトコルが適用されたノード対を識別するためのIDを格納することによって、マスタノード10、10a、バックアップノード20、20aは、Helloメッセージ又はFlushメッセージを受信した場合に、ノード冗長化プロトコルが適用されたノード対の1つとして処理すべきか、Awareノードとして処理すべきかを判断することができる。
【0244】
マスタノード10、10a、バックアップノード20、20a、ノード50、60、90、100の動作は、第1及び第2の実施の形態と同様であるので、説明を省略する。
【0245】
上述のように、本発明のノード冗長化プロトコルを適用することにより、2つのSTP網の相互接続部分の信頼性を向上することが可能である。
【実施例5】
【0246】
次いで、本発明の第5の実施の形態によるネットワークシステムについて説明する。
【0247】
第5の実施の形態では、STP網のルートノードに本発明のノード冗長化プロトコルを適用することにより、障害回復に時間を要するルートノード障害を解決するための方法について説明する。
【0248】
図33に、第5の実施の形態におけるノード冗長化プロトコルを適用したネットワークシステムを示す。
【0249】
図33において、マスタノード10、バックアップノード20はノード冗長化プロトコルが適用されたノード対であり、障害の発生していない通常時は、マスタノード10がマスタモードにあり、バックアップノード20がバックアップモードにあるとする。
【0250】
また、ノード30、40、50は、マスタノード10、バックアップノード20のAwareノードである。
【0251】
マスタノード10、バックアップノード20とSTP網に属さないノード30、40間の動作は第1の実施の形態と同一であるため説明を省略し、以下には、STP網におけるマスタノード10、バックアップノード20とノード50間の動作について説明する。
【0252】
図33のSTP網に着目した場合、マスタノード10、バックアップノード20は共にSTP網のルートノードとして動作する。
【0253】
マスタノード10、バックアップノード20の両方のノードをSTP網のルートノードとして機能させるために、マスタノード10及びバックアップノード20のSTPのブリッジIDとして、値が同一で、かつSTP網内の他のノードよりも優先度の高いブリッジIDを設定する。
【0254】
この場合、マスタノード10、バックアップノード20は、同一のブリッジIDが格納されたBPDUフレームを、ノード50に対して送信する。
【0255】
同一のブリッジIDを有するBPDUフレームを2つのポートP1、P2で受信した場合、かつ、そのブリッジIDの優先度がSTP網内で最も高い場合、STP網内のAwareノード50は、優先度の高いルートパスコスト(Root Path Cost)を有するBPDUフレームを受信したポートをルートポート(ポート状態はフォワーディング状態)として選択し、優先度の低いルートパスコストを有するBPDUフレームを受信したポートを代替ポート(ポート状態はブロッキング状態)として選択する。
【0256】
STP網内のノード50、70、80配下の端末が、STP網に属さないノード30、40配下の端末と通信可能であるためには、マスタモードにあるノードが接続されたポートをノード50がルートポートとして選択する必要がある。
【0257】
このため、マスタモードにあるノードのルートパスコストの値を、バックアップモードにあるノードのルートパスコストよりも小さく設定する。
【0258】
例えば、マスタモードにあるルートパスコストの値を「0」に設定し、バックアップモードにあるルートパスコストの値を1に設定すれば良い。
【0259】
図33においては、マスタモードにあるマスタノード10がルートパスコストの値を「0」に設定したBPDUフレームをノード50に送信し、バックアップモードにあるバックアップノード20がルートパスコストの値を1に設定したBPDUフレームをノード50に送信する。
【0260】
ノード50は、ポートP1をルートポートとして選択し、ポートP2を代替ポートとして選択すると共に、ポートP1のポート状態をフォワーディング状態に、ポートP2のポート状態をブロッキング状態に設定する。
【0261】
上述のようにして、STP網のルートノードに対して、本発明のノード冗長化プロトコルを適用することができる。
【0262】
以降では、図33のマスタノード10がダウンして、Helloメッセージが所定回数未着になったことによって、バックアップノード20がバックアップモードからマスタモードに切り替わった場合について説明する。
【0263】
ノード50が、ポートP1のリンクダウンにより、マスタノード10のダウン(または、マスタノード10とノード50間リンクの切断)を検出すると、ノード50はルートポートをポートP1から代替ポートであるポートP2に切り替える。
【0264】
また、第1の実施の形態で述べたように、バックアップノード20がバックアップモードからマスタモードに切り替わった場合、バックアップノード20はノード冗長化プロトコルのメンバポートP1〜P3からFlushメッセージを送信する。
【0265】
Flushメッセージを受信したノード30、40、50は、FDB340のエントリのうち、出力ポート情報がFlushメッセージ受信以前にHelloメッセージを受信していたポート(P1)であるエントリの出力ポート名を、Flushメッセージの受信ポート(P2)に書き換える。
【0266】
また、マスタモードに切り替わったバックアップノード20は、ノード50に対して、ルートパスコストの値を「0」に設定したBPDUフレームを送信するため、ノード50はバックアップノード20が直接接続されたポートP2をルートポートに選択する。従って、マスタノード10がダウンして、バックアップノード20がマスタモードに切り替わった場合でも、STP網内のノード50、70、80配下の端末は、バックアップノード20を経由して、ノード30、40配下の端末と通信を続行することができる。
【0267】
さらに、マスタノード10が障害から復旧して、第1の実施の形態で説明した手順により、マスタノード10がマスタモードに切り替わり、バックアップノード20がバックアップモードに切り替わった場合、マスタモードにあるマスタノード10が、バックアップモードにあるバックアップノード20よりもルートパスコストの値の小さいBPDUフレームをノード50に送信する。
【0268】
従って、ノード50はマスタノード10が直接接続されたポートP1をルートポートとして選択し、バックアップノード20が直接接続されたポートP2を代替ポートとして選択するため、STP網内のノード50、70、80配下の端末は、マスタノード10を経由して、ノード30、40配下の端末と通信を続行することができる。
【0269】
上述したように、ノード冗長化プロトコルが適用されたノード対にSTP網で最も優先度の高いブリッジIDを設定し、マスタモードにあるノードが、バックアップモードにあるノードよりも優先度の高いルートパスコストを有するBPDUを送信することにより、STP網のルートノードを冗長化することを可能とし、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することを可能とした。
【0270】
また、図35のネットワークシステムに示すように、マスタノード10及びバックアップノード20に図34のSTP網に属さないノード30、40が接続されないようなネットワークシステムに対しても、第5の実施の形態のノード冗長化プロトコルを適応することにより、STP網のルートノードを冗長化することが可能である。
【0271】
図35におけるマスタノード10、バックアップノード20の動作は、ノード冗長化プロトコルのメンバポートとして、ポートP3、P4のみが設定されていること以外は、上述の図34のネットワークシステムにおけるマスタノード10、バックアップノード20に動作と同様である。
【0272】
また、図35におけるノード50、60の動作は、図34のネットワークシステムにおけるノード50の動作と同様である。
【0273】
以上のように、STP網のエッジ部分に位置しないルートノードに対しても、第5の実施の形態のノード冗長化プロトコルを適応して、ルートノードを冗長化することが可能である。
【0274】
なお、第5の実施の形態では、STP網のルートノードをマスタノード10とバックアップノード20によって冗長化する場合について説明したが、図33のネットワーク網が、通常のSTP網ではなく、本願出願人による特願2003−041838号(特開2004−140777号:特許文献1)において提案した、複数のノードを接続したネットワーク(STP網)に対しても、本発明を適用可能である。特許文献1記載のネットワーク(STP網)とは、各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、フレームを転送する場合に、フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いてフレーム転送を行うようなSTP網である。
【0275】
ここで、特願2003−041838号(特開2004−140777号:特許文献1)に提案されるSTP網について簡単に説明する。
【0276】
図46のような6つのノードで構成されるネットワークを例として、特許文献1記載のネットワーク(STP網)について以下に説明する。この例では、全てのノード(11〜16)がエッジノードとなっている。
【0277】
図46は、ノード11をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー61とする。ツリー61は、ノード11のプライオリティ値を、ノード12〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー61により設定される経路は、ノード12〜16の何れかのノードからノード11に向かうフレームのユニキャスト送信、および、ノード11よりノード12〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0278】
図47は、ノード12をルートノードとするスパニングツリーの構成図である、このスパニングツリーをツリー62とする。ツリー62は、ノード12のプライオリティ値を、ノード11およびノード13〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー62により設定される経路は、ノード11またはノード13〜ノード16の何れかのノードからノード12に向かうフレームのユニキャスト送信、および、ノード12よりノード11およびノード13〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0279】
図48は、ノード13をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー63とする。ツリー63は、ノード13のプライオリティ値を、ノード11〜ノード12およびノード14〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー63により設定される経路は、ノード11〜ノード12またはノード14〜ノード16の何れかのノードからノード13に向かうフレームのユニキャスト送信および、ノード13よりノード11〜ノード12およびノード14〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0280】
図49は、ノード14をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー64とする。ツリー64は、ノード14のプライオリティ値を、ノード11〜ノード13およびノード15〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー64により設定される経路は、ノード11〜ノード13またはノード15〜ノード16の何れかのノードからノード14に向かうフレームのユニキャスト送信および、ノード14よりノード11〜ノード13およびノード15〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0281】
図50は、ノード15をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー65とする。ツリー65は、ノード15のプライオリティ値を、ノード11〜ノード14およびノード16の各ノードよりも小さい値に設定して作成される。ツリー65により設定される経路は、ノード11〜ノード14またはノード16の何れかのノードからノード15に向かうフレームのユニキャスト送信および、ノード15よりノード11〜ノード14およびノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0282】
図51は、ノード16をルートノードとするスパニングツリーの構成図である。このスパニングツリーをツリー66とする。ツリー66は、ノード16のプライオリティ値を、ノード11〜ノード15よりも小さい値に設定して作成される。ツリー66により設定される経路は、ノード11〜ノード15の何れかのノードからノード16に向かうフレームのユニキャスト送信および、ノード16よりノード11〜ノード15の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0283】
次に、図46〜図51を参照して、前記の各図におけるノード11〜ノード16の各ノードが、ノード11〜ノード16の各ノードまたは各ノード配下の端末にフレームを送信する場合の手順について述べる。なお、各リンクのコストは等しく、すでに各図におけるツリー61〜ツリー66の各ツリーは構成が完了し、トポロジが安定しているとする。
【0284】
ノード12〜ノード16の各ノードから、ノード11またはその配下の端末にフレームをユニキャスト送信する場合は、図46記載のツリー61で設定された経路を使用する。例えば、ノード15からノード11へフレームを送信する場合は、ノード15は、データフレームにツリー61を識別するタグ(例えば、ノード11のノードID)を付加して、ツリー61における上流側ポート(ツリー61におけるSTPのルートポート)からデータフレームを送信する。ツリー61で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード11の場合はツリー61)を識別し、ツリー61における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー61のルートノードであるノード11に転送される。
【0285】
ノード11およびノード13〜ノード16の各ノードから、ノード12またはその配下の端末にフレームをユニキャスト送信する場合は、図47記載のツリー62で設定された経路を使用する。例えば、ノード14からノード12へフレームを送信する場合は、ノード14は、データフレームにツリー62を識別するタグ(例えば、ノード12のノードID)を付加して、ツリー62における上流側ポート(ツリー62におけるSTPのルートポート)からデータフレームを送信する。ツリー62で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード12の場合はツリー62)を識別し、ツリー62における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー62のルートノードであるノード12に転送される。
【0286】
ノード11〜ノード12およびノード14〜ノード16の各ノードから、ノード13またはその配下の端末にフレームをユニキャスト送信する場合は、図48記載のツリー63で設定された経路を使用する。例えば、ノード11からノード13へフレームを送信する場合は、ノード11は、データフレームにツリー63を識別するタグ(例えば、ノード13のノードID)を付加して、ツリー63における上流側ポート(ツリー63におけるSTPのルートポート)からデータフレームを送信する。ツリー63で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード13の場合はツリー63)を識別し、ツリー63における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー63のルートノードであるノード13に転送される。
【0287】
ノード11〜ノード13およびノード15〜ノード16の各ノードから、ノード14またはその配下の端末にフレームをユニキャスト送信する場合は、図49記載のツリー64で設定された経路を使用する。例えば、ノード12からノード14へフレームを送信する場合は、ノード12は、データフレームにツリー64を識別するタグ(例えば、ノード14のノードID)を付加して、ツリー64における上流側ポート(ツリー64におけるSTPのルートポート)からデータフレームを送信する。ツリー64で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード14の場合はツリー64)を識別し、ツリー64における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー64のルートノードであるノード14に転送される。
【0288】
ノード11〜ノード14およびノード16の各ノードから、ノード15またはその配下の端末にフレームをユニキャスト送信する場合は、図50記載のツリー65で設定された経路を使用する。例えば、ノード16からノード15へフレームを送信する場合は、ノード16は、データフレームにツリー65を識別するタグ(例えば、ノード15のノードID)を付加して、ツリー65における上流側ポート(ツリー61におけるSTPのルートポート)からデータフレームを送信する。ツリー65で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード15の場合はツリー65)を識別し、ツリー65における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー65のルートノードであるノード15に転送される。
【0289】
ノード11〜ノード15の各ノードから、ノード16またはその配下の端末にフレームをユニキャスト送信する場合は、図51記載のツリー66で設定された経路を使用する。例えば、ノード14からノード16へフレームを送信する場合は、ノード14は、データフレームにツリー66を識別するタグ(例えば、ノード16のノードID)を付加して、ツリー66における上流側ポート(ツリー66におけるSTPのルートポート)からデータフレームを送信する。ツリー66で設定された経路上の各ノードは、データフレームのタグを参照することにより、データフレームの転送に使用するツリー(データフレームの宛先がノード16の場合はツリー66)を識別し、ツリー66における上流側ポートからデータフレームを送信する。以上のようにして、データフレームはツリー66のルートノードであるノード16に転送される。
【0290】
以上説明した特許文献1記載のSTP網のエッジノード(スパニングツリーのルートノード)に対して、第5の実施の形態のノード冗長化プロトコルを適用して、エッジノードを冗長化することが可能である。
【0291】
また、特許文献1記載のSTP網の複数のエッジノードに対して、第5の実施の形態のノード冗長化プロトコルを適用する場合は、第2の実施の形態で説明したように、ノード冗長化プロトコルを適用されたノード対を識別するIDをHelloメッセージ及びFlushメッセージに格納し、他のノード対が送信したHelloメッセージ及びFlushメッセージによってノード冗長化プロトコルモジュールの誤動作を防止することにより、複数のエッジノードを冗長化することが可能である。
【0292】
以上説明した特許文献1記載のネットワーク(STP網)に対して、第5の実施の形態のノード冗長化プロトコルを適用し、STP網のエッジノード(スパニングツリーのルートノード)を冗長化することにより、エッジノードのマスタノードに障害が発生したとしても、バックアップノードがマスタモードに切り替わることにより、フレーム転送を続行することが可能となる。
【0293】
なお、特許文献1記載のSTP網に本発明を適用することによりルートノードを冗長化した場合は、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに属さないポートに対してのみFlushメッセージを送信すれば良い。
【0294】
その理由は、特許文献1記載のデータ転送方式によるSTP網においては、データフレームを中継するノードがFDBではなく、データフレームのタグに格納されたフォワーディング情報(データフレームの転送に使用するスパニングツリーを識別するための情報)に基づいてデータフレームを中継しているためである。
【0295】
その結果、第5の実施の形態のノード冗長化プロトコルが適用された特許文献1記載のSTP網においては、Awareノード50がFDBを書き換える時間だけ、高速に障害から回復することが可能である。
【実施例6】
【0296】
次いで、本発明の第6の実施の形態によるネットワークシステムについて説明する。
【0297】
第6の実施の形態においては、第5の実施の形態において示した特許文献1提案のデータ転送方式によるSTP網間を相互に接続する部分に、本発明のノード冗長化プロトコルを適用した場合について説明する。
【0298】
図36に、マスタノード10、バックアップノード20とノード50、60及び70、80から構成されるSTP網1と、マスタノード10a、バックアップノード20aとノード90、100から構成されるSTP網2とが、マスタノード10、10a、バックアップノード20、20aを接続する4本のリンクにより、相互に接続された構成のネットワークシステムを示す。
【0299】
STP網1及びSTP網2は、特許文献1提案のデータ転送方式によるSTP網である。
【0300】
ノード50、60、70、80、90、100は、STPモジュール360を搭載するが、ノード冗長化プロトコルモジュール370を搭載しない既存のSTP対応のノードとする。
【0301】
以下に、図36に示すネットワークシステムに、第6の実施の形態におけるノード冗長化プロトコルを適用する場合について説明する。
【0302】
まず、STP網1のマスタノード10、バックアップノード20を冗長化された一対のノードと見なし、STP網1のノード50、60、STP網2のマスタノード10a、バックアップノード20aをマスタノード10、バックアップノード20のAwareノードと見なして、第5の実施の形態において説明したノード冗長化プロトコルを適用する。
【0303】
次に、STP網2のマスタノード10a、バックアップノード20aを冗長化された一対のノードと見なし、STP網2のノード90、100、STP網1のマスタノード10、バックアップノード20をマスタノード10a、バックアップノード20aのAwareノードと見なして、第5の実施の形態において説明したノード冗長化プロトコルを適用する。
【0304】
このとき、第6の実施の形態におけるノード冗長化プロトコルにおいては、第4の実施の形態と同様に、マスタノード10、10a、バックアップノード20、20aは、マスタノード10、バックアップノード20から送信されるHelloメッセージ及びFlushメッセージとマスタノード10a、バックアップノード20aから送信されるHelloメッセージ及びFlushメッセージを区別するためのIDを、Helloメッセージ及びFlushメッセージに格納する。
【0305】
ノード50、60、70、80、90、100は既存のSTP対応のノードであり、Helloメッセージを認識できないため、各ノードの属するSTP網においてHelloメッセージをブロードキャスト転送してしまうという問題がある。
【0306】
この問題を解消するために、第6の実施の形態におけるノード冗長化プロトコルにおいては、第3の実施の形態で説明したように、マスタノード10、10a、バックアップノード20、20aは、ノード冗長化プロトコルのメンバポートのうち、STPメンバポートに含まれるポート(P3、P4)には、Helloメッセージを送信しないものとする。
【0307】
また、第5の実施の形態で説明したように、特許文献1記載のSTP網ではFDBを参照してフレームを転送しないため、Awareノード50、60、90、100に対してFlushメッセージの送信が不要である。従って、第6の実施の形態においては、マスタノード10、10a、バックアップノード20、20aは、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに含まれるポート(P3、P4)には、Flushメッセージを送信しないものとする。
【0308】
STP網1及びSTP網2が特許文献1記載のSTP網ではなく、通常のフレーム転送を行うSTP網である場合には、第3の実施の形態で説明したように、ノード冗長化プロトコルのメンバポートのうち、STPのメンバポートに含まれるポート(P3、P4)に、Flushメッセージとして、Topology Changeフラグを立てたBPDUを使用すれば良い。
【0309】
以上のようにして、特許文献1提案のデータ提案方式によるSTP網間を相互接続する部分にノード冗長化プロトコルを適用することができる。
【0310】
しかしながら、以下に述べるような問題が生じる可能性がある。
【0311】
図36に示すネットワークシステムにおいて、マスタノード10とバックアップノード20a間のリンク及びバックアップノード20とマスタノード10a間のリンクが同時に切断された場合、冗長化された2つのノード対(マスタノード10とバックアップノード20、マスタノード10aとバックアップノード20a)間で、Helloメッセージ及びFlushメッセージの送受信が不可能になるため、バックアップモードにあるノード(バックアップノード20、20a)はHelloメッセージ未着によりマスタモードに切り替わる。
【0312】
したがって、図37に示すように、マスタノード10、マスタノード10a、バックアップノード20、バックアップノード20aの動作状態が全てマスタモードになるという状態が発生する。
【0313】
また、マスタノード10とマスタモード10a間のリンク及びバックアップノード20とバックアップノード20a間のリンクが同時に切断された場合も、マスタノード10、マスタノード10a、バックアップノード20、バックアップノード20aの動作状態が全てマスタモードになるという状態が発生する。
【0314】
上述の状態において、STP網1とSTP網2間でフレームが伝送されなくなる可能性があるという問題がある。
【0315】
以降に、図37を参照して、STP網1とSTP網2の間でフレームを伝送できなくなる理由を説明する。
【0316】
マスタノード10とバックアップノード20は共にマスタモードであるため、ノード50、60は、ポートP1及びP2で、STPメンバポートで受信するBPDUのうちで優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信する。
【0317】
同様に、マスタノード10aとバックアップノード20aは共にマスタモードであるため、ノード90はポートP1及びP2で、ノード100はポートP2及びP3で、STPメンバポートで受信するBPDUのうちで優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信する。
【0318】
ノード50、60、90、100は、ブリッジID及びルートパスコストが同一のBPDUを異なるポートで受信した場合、ブリッジID及びルートパスコストの優先度だけでは、ルートポート及び代替ポートを決定することができないため、ブリッジID及びルートパスコスト以外のパラメータ(例えば、BPDUが送信されたポートのポート番号やBPDUを受信したポートのポート番号など)の優先度を用いて、ルートポート及び代替ポートを決定する。
【0319】
以降は、BPDUを受信したポートのうち、ポート番号が最小のポートをルートポートとし、その次に小さいポートを代替ポートとして選択する場合について説明する。
【0320】
ノード50、60は、ポートP1及びP2で、優先度の最も高いブリッジIDを有し、かつ同一のルートパスコストを有するBPDUを受信するため、ポート番号が最小のポートP1をルートポートとして、ポートP2を代替ポートとして選択する。
【0321】
同様に、ノード90は、ポートP1をルートポートとして、ポートP2を代替ポートとして選択し、ノード100は、ポート2をルートポートとして、ポートP3を代替ポートとして選択する。
【0322】
以上で説明したように、ノード30、40、50、60が、マスタノード10及びマスタノード10aの接続されたポートをルートポートとして選択した場合、マスタノード10とマスタノード10a間のリンクが切断されているため、STP網1とSTP網2の間でフレームを伝送することができなくなってしまうという問題が生じる。
【0323】
以下に、図36のマスタノード10、10a、バックアップノード20、20aにおけるノード冗長化プロトコルの動作状態が全てマスタモードになった場合においても、フレームを伝送できるようにする方法を説明する。
【0324】
第6の実施の形態におけるノード冗長化プロトコルにおいては、図38に示すように、マスタノード10、10a、バックアップノード20、20aに対して、優先度を設定すると共に、ノード冗長化プロトコルの動作状態によって、ルートパスコストを変更するように構成する。
【0325】
図38の例では、マスタノード10の優先度を「High」、バックアップノード20の優先度を「Low」、マスタノード10aとバックアップノード20aの優先度をそれぞれ「Etc」と設定している。
【0326】
High、Low、Etcの優先度は、Highの優先度が最も高く、Lowの優先度が2番目に高く、Etcの優先度が最も低いとする。
【0327】
さらに、マスタノード10のマスタモード時のルートパスコストの値を「0」、バックアップモード時のルートパスコストの値を「3」とし、バックアップノード20のマスタモード時のルートパスコストの値を「1」、バックアップモード時のルートパスコストの値を「3」としている。
【0328】
また、STP網2側のマスタノード10aとバックアップノード20aのバックアップモード時のルートパスコストの値を「3」とし、マスタモード時のルートパスコストの値については、優先度が「High」のノードと接続しているポートがリンクアップしている時に「1」、リンクダウンしている時に「2」が設定されるように構成している。
【0329】
なお、図38に示す設定内容は一例であって、一方のSTP網内のノード対の優先度を「High」又は「Low」とし、他方のSTP網内のノード対の優先度を「Etc」とし、優先度「High」のノードのルートパスコストの値を、優先度「Low」のノードのルートパスコストの値より小さく設定し、かつ、優先度「Etc」のノードについては、優先度が「High」のノードと接続しているポートがリンクアップしているノードのルートパスコストの値を、ポートがリンクダウンしているノードのルートパスコストの値より小さくするという規則が保たれればよく、設定内容は自由に変更することができる。
【0330】
上記のように、図38の設定内容に基づいて、それぞれ優先度とルートパスコストの値を設定したことにより、例えば、STP網1側のマスタノード10とバックアップノード20、STP網2側のマスタノード10aとバックアップノード20aの動作状態が全てマスタモードとなった場合、STP網1のマスタノード10とバックアップノード20については、ルートパスコストの値が小さい、マスタノード10に接続されたポートP1がルートポートとして選択され、STP網2のマスタノード10aとバックアップノード20aについては、優先度「High」のマスタノード10と接続しているポートがリンクアップしているマスタノード10aのルートパスコストの値がバックアップノード20aのそれよりも小さくなるので、マスタノード10aに接続されたポート(ノード90の場合はポートP1、ノード100の場合はポートP2)がルートポートとして選択されることになる。
【0331】
従って、ノード50、60、90、100は、マスタノード10、10a、バックアップノード20、バックアップノード20aのうち、これらのノードを相互接続するリンクがアクティブなノード(上述の場合では、マスタノード10とマスタノード10a)に接続されているポートをルートポートとして選択するため、マスタノード10、10a、バックアップノード20、バックアップノード20aが全てマスタモードになった場合でも、データフレームの転送が可能である。
【0332】
上記のように第6の実施の形態によれば、特願2003−041838号(特開2004−140777号:特許文献1)提案のデータ転送方式によるSTP網間を相互接続したネットワークシステムにおいて、相互接続部分のマスタノードとバックアップノードの全てがマスタモードとなってもデータフレームの伝送ができなくなる可能性があるという問題が解消されることにより、信頼性の高いノード冗長化を可能としたネットワークシステムを実現することができるようになる。
【0333】
また、STP網のルートノードのノード冗長化が実現され、特に障害回復に時間を要するルートノードの障害の発生を効果的に抑制することができるようになる。
【0334】
なお、上記各実施例のノード冗長化ネットワークシステムにおける、マスタノード10、バックアップノード20及びノード50、60、30、40の各機能ついては、ハードウェアによることは勿論として、それらの各機能を有するノード冗長化制御プログラムを、各ノードを構成するコンピュータ処理装置上で実行することで実現することが可能である。
【0335】
このノード冗長化制御プログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【0336】
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【0337】
【図1】本発明を適用した第1の実施の形態によるネットワークシステムの構成を示す図である。
【図2】第1の実施の形態によるマスタノードとバックアップノードの構成を示すブロック図である。
【図3】第1の実施の形態によるスタノードとバックアップノードに直接接続されるSTP網外のノードの構成を示すブロック図である。
【図4】第1の実施の形態によるマスタノードとバックアップノードに直接接続されるSTP網内のノードの構成を示す。
【図5】図1のネットワークシステムにおける、マスタノードのノード冗長化プロトコルメンバポート管理テーブルとSTPメンバポート管理テーブルの設定内容を示す図である。
【図6】図1のネットワークシステムにおける、バックアップノードのノード冗長化プロトコルメンバポート管理テーブルとSTPメンバポート管理テーブルの設定内容を示す図である。
【図7】図1のネットワークシステムにおける、マスタノードのポート状態管理テーブルの内容例を示す図である。
【図8】図1のネットワークシステムにおける、バックアップノードのポート状態管理テーブルの内容例を示す図である。
【図9】図1のネットワークシステムにおける、STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルの設定内容例を示す図である。
【図10】図1のネットワークシステムにおける、STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルの設定内容例を示す図である。
【図11】図1のネットワークシステムにおける、STP網に属するAwareノードのSTPメンバポート管理テーブルの設定内容例を示す図である。
【図12】図1のネットワークシステムにおける、STP網に属するAwareノードのSTPメンバポート管理テーブルの設定内容例を示す図である。
【図13】図1のネットワークシステムにおける、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図14】図1のネットワークシステムにおける、Flushメッセージ送信によるFDBの書き換え後の状態を示す図である。
【図15】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図16】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図17】図1のネットワークシステムにおいて、マスタノードがフレームを受信した場合の動作を説明するフローチャートである。
【図18】図1のネットワークシステムにおいて、STP網に属さないAwareノードがフレームを受信した場合の動作を説明するフローチャートである。
【図19】第1の実施の形態におけるネットワークシステムの動作について説明するシーケンスチャートである。
【図20】本発明の第2の実施の形態によるネットワークシステムの構成であって、複数のVLANが設定されたネットワークシステムにノード冗長化プロトコルを適用した場合の構成を示す図である。
【図21】第2の実施の形態における、マスタノードとバックアップノードの各VLANにおける動作状態を示す図である。
【図22】第2の実施の形態におけるマスタノードとバックアップノードのノード冗長化プロトコルメンバポート管理テーブルの各VLANの設定内容を示す図である。
【図23】第2の実施の形態におけるマスタノードとバックアップノードのノード冗長化プロトコルメンバポート管理テーブルの各VLANの設定内容を示す図である。
【図24】第2の実施の形態におけるマスタノードとバックアップノードのポート状態管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図25】STP網に属するAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図26】STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図27】STP網に属さないAwareノードのノード冗長化プロトコルメンバポート管理テーブルに設定されている、各VLANにおける、ノード冗長化プロトコルのメンバポートのポート状態を示す図である。
【図28】本発明の第3の実施の形態によるマスタノードとバックアップノードの構成を示すブロック図である。
【図29】第3の実施の形態によるマスタノードとバックアップノードの他の構成を示すブロック図である。
【図30】第3の実施の形態における、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図31】第3の実施の形態における、Topology Changeフラグを立てたBPDUフレーム送信によるFDBの書き換え後の状態を示す図である。
【図32】第4の実施の形態による、2つのSTP網間の相互接続部分に、マスタノードとバックアップノードを設けた構成を示す図である。
【図33】第5の実施の形態による、マスタノードとバックアップノードがSTP網のルートノードとして機能するネットワークシステムを示す図である。
【図34】第5の実施の形態において、マスタノードのダウンにより、バックアップノードがマスタモードに切り替わった直後の状態を示す図である。
【図35】第5の実施の形態において、STP網のエッジ以外の部分に位置するルートノードを冗長化したネットワークシステムを示す図である。
【図36】第6の実施の形態による、ネットワークシステムの構成を示す図である。
【図37】図36のネットワークシステムにおいて、2つのリンクの切断により、マスタノードとバックアップノードの全てがマスタノードとなった状態を示す図である。
【図38】第6の実施の形態において、マスタノードとバックアップノードの全てがマスタモードとなった場合の問題を回避するための、ルートパスコストの値の設定例を示す図である。
【図39】従来のノード冗長化プロトコルが適用されたネットワークシステムの例を示す図である。
【図40】図39のネットワークシステムにおいて、マスタノードのダウンにより、バックアップノードがマスタモードに切り替わる際の動作を説明する図である。
【図41】図39のネットワークシステムにおいて、リンク切断の発生により、バックアップノードがマスタモードに切り替わる際の動作を説明する図である。
【図42】従来のノード冗長化プロトコルとSTPを共存させたネットワークシステムにおける、メンバポートの競合を説明する図である。
【図43】従来のノード冗長化プロトコルとSTPを共存させたネットワークシステムにおけるメンバポートの競合による不具合を説明する図である。
【図44】図43のネットワークシステムのバックアップノードにおけるSTPのポート状態管理テーブルの設定内容と、ノード冗長化プロトコルのポート状態管理テーブルの設定内容の例を示す図である。
【図45】従来のSTP網によるネットワークの例を示す図である。
【図46】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第1の例を示す図である。
【図47】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第2の例を示す図である。
【図48】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第3の例を示す図である。
【図49】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第4の例を示す図である。
【図50】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第5の例を示す図である。
【図51】特許文献1に提案されるSTP網を説明する、スパニングツリー構成の第6の例を示す図である。
【符号の説明】
【0338】
10、10a:マスタノード
20、20a:バックアップノード
30:STP網に属さないAwareノード
40:STP網に属さないAwareノード
50:STP網に属するAwareノード
60:STP網に属するAwareノード
110、310:フレーム解析部
120、320:スイッチ
130、330:ポート状態管理テーブル
140、340:FDB
150、350:フレーム多重部
160、360:STPモジュール
161、361:BPDU受信部
162、362:STP解析部
163、363:BPDU送信部
170、370:ノード冗長化プロトコルモジュール
171、371:Hello/Flushメッセージ受信部
172、372:ノード冗長化プロトコル解析部
173、373:Hello/Flushメッセージ送信部
180、380:STPメンバポート管理テーブル
190、390:ノード冗長化プロトコルメンバポート管理テーブル
210:マスタノード
220:バックアップノード
230、240:STP網に属さないAwareノード
250、260:STP網に属するAwareノード
270:STPのポート状態管理テーブル
280:ノード冗長化プロトコルのポート状態管理テーブル
【特許請求の範囲】
【請求項1】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワークとを共存させるネットワークシステムであって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うように構成した
ことを特徴とするネットワークシステム。
【請求項2】
前記マスタノード又はバックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、
ノード及びリンクの監視を行うための制御フレームを送信する
ことを特徴とする請求項1に記載のネットワークシステム。
【請求項3】
前記マスタノード又はバックアップノードが、
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、
フォワーディングデータベースを書き換えるための制御フレームを送信することを特徴とする請求項1又は請求項2に記載のネットワークシステム。
【請求項4】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載し、
前記マスタノードと前記バックアップノードに接続されたノードが、
前記制御フレームをブロードキャストすることを特徴とする請求項2又は請求項3に記載のネットワークシステム。
【請求項5】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納する
ことを特徴とする請求項2から請求項4の何れか1項に記載のネットワークシステム。
【請求項6】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタノードと前記バックアップノードは、VLAN毎にポートの状態を管理することを特徴とする請求項1から請求項5の何れか1項に記載のネットワークシステム。
【請求項7】
前記マスタモードの前記マスタノード又は前記バックアップノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納することを特徴とする請求項6に記載のネットワークシステム。
【請求項8】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを立てたBPDUフレームを、送信することを特徴とする請求項3に記載のネットワークシステム。
【請求項9】
前記マスタノードと前記バックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、
前記制御フレームの送信を行うことを特徴とする請求項2から請求項8の何れか1項に記載のネットワークシステム。
【請求項10】
前記マスタノードと前記バックアップノードが、
受信したフレームがBPDUフレームである場合に、
前記BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するモジュールと、
前記受信フレームがノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの前記制御フレームの送信を制御するモジュールを備えることを特徴とする請求項2から請求項9の何れか1項に記載のネットワークシステム。
【請求項11】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームの送信を制御するモジュールに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示することを特徴とする請求項10に記載のネットワークシステム。
【請求項12】
前記マスタノードとバックアップノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するモジュールを備えることを特徴とする請求項11に記載のネットワークシステム。
【請求項13】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームにTopology Changeフラグを付与するモジュールに対して、
前記BPDUフレームの送信を制御するモジュールにおいて、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示することを特徴とする請求項12に記載のネットワークシステム。
【請求項14】
前記マスタノードと前記バックアップノードに接続されたノードが、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信するモジュールと、
前記フォワーディングデータベースを書き換えるための制御フレームの受信により、前記フォワーディングデータベースを書き換えるモジュールを備えることを特徴とする請求項2から請求項10の何れか1項に記載のネットワークシステム。
【請求項15】
前記マスタノードと前記バックアップノードを
前記他のプロトコルであるSTPプロトコルによるネットワークのルートノードとしたネットワーク構成とし、
前記マスタノードと前記バックアップノードのうち、
マスタモードにあるノードのルートパスコストの値を、
バックアップモードにあるノードよりも小さく設定することを特徴とする請求項1から請求項14の何れか1項に記載のネットワークシステム。
【請求項16】
前記他のプロトコルであるSTPプロトコルによるネットワーク間を、
前記ネットワークを構成する前記マスタノードと前記バックアップノードを2重化した部分において相互に接続するネットワーク構成とし、
一方の前記ネットワークに属する前記マスタノードと前記バックアップノードに優先度を設定し、
前記マスタノードと前記バックアップノードのうち、
高い優先度を設定したノードのマスタモードにおけるルートパスコストの値を、低い優先度を設定したノードよりも小さく設定し、
かつ、他方の前記ネットワークに属する前記マスタノードと前記バックアップノードのマスタモードにおけるルートパスコストの値を、
前記高い優先度を設定したノードと接続しているポートがアクティブである場合に、アクティブでない場合よりも小さく設定することを特徴とする請求項1から請求項14の何れか1項に記載のネットワークシステム。
【請求項17】
前記他のプロトコルによるネットワークが、
前記ネットワークの各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、
フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いて
フレーム転送を行う構成のネットワークであることを特徴とする請求項15又は請求項16に記載のネットワークシステム。
【請求項18】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワークとを共存させるネットワークシステムのノードであって、
前記他のプロトコルによるネットワークを構成するマスタモードとバックアップモードを有するノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うように構成したことを特徴とするノード。
【請求項19】
前記マスタモード又はバックアップモードのノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信する
ことを特徴とする請求項18に記載のノード。
【請求項20】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信する
ことを特徴とする請求項18又は請求項19に記載のノード。
【請求項21】
前記マスタモードのノードと前記バックアップモードのノードが、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードが、
前記制御フレームをブロードキャストすることを特徴とする請求項19又は請求項20に記載のノード。
【請求項22】
前記マスタモードのノード又は前記バックアップモードのノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納することを特徴とする請求項19から請求項21の何れか1項に記載のノード。
【請求項23】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタモードのノードと前記バックアップモードのノードは、VLAN毎にポートの状態を管理する
ことを特徴とする請求項18から請求項22の何れか1項に記載のノード。
【請求項24】
前記マスタモードのノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納する
ことを特徴とする請求項23に記載のノード。
【請求項25】
前記マスタモードのノードと前記バックアップモードのノードが、
前記マスタモードのノードと前記バックアップモードのノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを立てたBPDUフレームを、
送信することを特徴とする請求項20に記載のノード。
【請求項26】
前記マスタモードのノードと前記バックアップモードのノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、
前記制御フレームの送信を行うことを特徴とする請求項19から請求項25の何れか1項に記載のノード。
【請求項27】
前記マスタモードのノードと前記バックアップモードのノードが、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するモジュールと、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御するモジュールを備える
ことを特徴とする請求項19から請求項26の何れか1項に記載のノード。
【請求項28】
前記マスタモードとバックアップモードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームの送信を制御するモジュールに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項27に記載のノード。
【請求項29】
前記マスタモードのノードと前記バックアップモードのノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するモジュールを備える
ことを特徴とする請求項28に記載のノード。
【請求項30】
前記マスタモードとバックアップモードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームにTopology Changeフラグを付与するモジュールに対して、
前記BPDUフレームの送信を制御するモジュールにおいて、前記マスタモードのノードと前記バックアップモードのノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項29に記載のノード。
【請求項31】
前記マスタモードのノード又は前記バックアップモードのノードに接続されたノードが、
受信した前記制御フレームを前記マスタモードのノード又は前記バックアップモードのノードに送信するモジュールと、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換えるモジュールを備える
ことを特徴とする請求項19から請求項27の何れか1項に記載のノード。
【請求項32】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワーク網とを共存させるノード冗長化ネットワークシステムにおけるマスタノードとバックアップノード上の実行され、ノード冗長化の制御を行うノード制御プログラムであって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行う機能を有することを特徴とするノード制御プログラム。
【請求項33】
前記マスタノード又はバックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信する機能を有する
ことを特徴とする請求項32に記載のノード制御プログラム。
【請求項34】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信する機能を有する
ことを特徴とする請求項32又は請求項33に記載のノード制御プログラム。
【請求項35】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載する機能を有し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードが、
前記制御フレームをブロードキャストする機能を有することを特徴とする請求項33又は請求項34に記載のノード制御プログラム。
【請求項36】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納する機能を有することを特徴とする請求項33から請求項35の何れか1項に記載のノード制御プログラム。
【請求項37】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタノードと前記バックアップノードが、VLAN毎にポートの状態を管理する機能を有する
ことを特徴とする請求項32から請求項36の何れか1項に記載のノード制御プログラム。
【請求項38】
前記マスタノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納する機能を有する
ことを特徴とする請求項37に記載のノード制御プログラム。
【請求項39】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームを送信する機能を有することを特徴とする請求項34に記載のノード制御プログラム。
【請求項40】
前記マスタノードと前記バックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルを備え、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、前記制御フレームの送信を行う機能を有することを特徴とする請求項33から請求項39の何れか1項に記載のノード制御プログラム。
【請求項41】
前記マスタノードと前記バックアップノードが、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御する機能と、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御する機能を有する
ことを特徴とする請求項33から請求項40の何れか1項に記載のノード制御プログラム。
【請求項42】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御する機能が、
前記BPDUフレームの送信を制御する機能に対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項41に記載のノード制御プログラム。
【請求項43】
前記マスタノードと前記バックアップノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与する機能を有する
ことを特徴とする請求項42に記載のノード制御プログラム。
【請求項44】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御する機能が、
前記BPDUフレームにTopology Changeフラグを付与する機能に対して、
前記BPDUフレームの送信を制御する機能において、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項43に記載のノード制御プログラム。
【請求項45】
前記マスタノード又は前記バックアップノードに接続されたノードが、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信する機能と、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換える機能を有する
ことを特徴とする請求項33から請求項41の何れか1項に記載のノード制御プログラム。
【請求項46】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワーク網とを共存させるノード冗長化ネットワークシステムおいてノード冗長化の制御を行うネットワーク制御方法であって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うステップを有することを特徴とするネットワーク制御方法。
【請求項47】
前記マスタノード又はバックアップノードにおいて、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信するステップを有する
ことを特徴とする請求項46に記載のネットワーク制御方法。
【請求項48】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信するステップを有する
ことを特徴とする請求項46又は請求項47に記載のネットワーク制御方法。
【請求項49】
前記マスタノードと前記バックアップノードにおいて、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載するステップを有し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードにおいて、
前記制御フレームをブロードキャストするステップを有することを特徴とする請求項47又は請求項48に記載のネットワーク制御方法。
【請求項50】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納するステップを有することを特徴とする請求項47から請求項49の何れか1項に記載のネットワーク制御方法。
【請求項51】
前記他のプロトコルによるネットワークを、VLANによるネットワークとし、
前記マスタノードと前記バックアップノードにおいて、VLAN毎にポートの状態を管理するステップを有する
ことを特徴とする請求項46から請求項50の何れか1項に記載のネットワーク制御方法。
【請求項52】
前記マスタノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納するステップを有する
ことを特徴とする請求項51に記載のネットワーク制御方法。
【請求項53】
前記マスタノードと前記バックアップノードにおいて、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームを送信するステップを有することを特徴とする請求項48に記載のネットワーク制御方法。
【請求項54】
前記マスタノードと前記バックアップノードにおいて、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルを備え、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、前記制御フレームの送信を行うステップを有することを特徴とする請求項47から請求項53の何れか1項に記載のネットワーク制御方法。
【請求項55】
前記マスタノードと前記バックアップノードにおいて、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するステップと、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御するステップを有する
ことを特徴とする請求項47から請求項54の何れか1項に記載のネットワーク制御方法。
【請求項56】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するステップが、
前記BPDUフレームの送信を制御するステップに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項55に記載のネットワーク制御方法。
【請求項57】
前記マスタノードと前記バックアップノードにおいて、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するステップを有する
ことを特徴とする請求項56に記載のネットワーク制御方法。
【請求項58】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するステップが、
前記BPDUフレームにTopology Changeフラグを付与するステップに対して、
前記BPDUフレームの送信を制御するステップにおいて、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項57に記載のネットワーク制御方法。
【請求項59】
前記マスタノード又は前記バックアップノードに接続されたノードにおいて、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信するステップと、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換えるステップを有する
ことを特徴とする請求項47から請求項55の何れか1項に記載のネットワーク制御方法。
【請求項60】
前記マスタノードと前記バックアップノードを
前記他のプロトコルであるSTPプロトコルによるネットワークのルートノードとしたネットワーク構成とし、
前記マスタノードと前記バックアップノードのうち、
マスタモードにあるノードのルートパスコストの値を、
バックアップモードにあるノードよりも小さく設定することを特徴とする請求項46から請求項59の何れか1項に記載のネットワーク制御方法。
【請求項61】
前記他のプロトコルであるSTPプロトコルによるネットワーク間を、
前記ネットワークを構成する前記マスタノードと前記バックアップノードを2重化した部分において相互に接続するネットワーク構成とし、
一方の前記ネットワークに属する前記マスタノードと前記バックアップノードに優先度を設定し、
前記マスタノードと前記バックアップノードのうち、
高い優先度を設定したノードのマスタモードにおけるルートパスコストの値を、低い優先度を設定したノードよりも小さく設定し、
かつ、他方の前記ネットワークに属する前記マスタノードと前記バックアップノードのマスタモードにおけるルートパスコストの値を、
前記高い優先度を設定したノードと接続しているポートがアクティブである場合に、アクティブでない場合よりも小さく設定することを特徴とする請求項46から請求項59の何れか1項に記載のネットワーク制御方法。
【請求項62】
前記他のプロトコルによるネットワークが、
前記ネットワークの各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、
フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いて
フレーム転送を行う構成のネットワークであることを特徴とする請求項60又は請求項61に記載のネットワーク制御方法。
【請求項1】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワークとを共存させるネットワークシステムであって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うように構成した
ことを特徴とするネットワークシステム。
【請求項2】
前記マスタノード又はバックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、
ノード及びリンクの監視を行うための制御フレームを送信する
ことを特徴とする請求項1に記載のネットワークシステム。
【請求項3】
前記マスタノード又はバックアップノードが、
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、
フォワーディングデータベースを書き換えるための制御フレームを送信することを特徴とする請求項1又は請求項2に記載のネットワークシステム。
【請求項4】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載し、
前記マスタノードと前記バックアップノードに接続されたノードが、
前記制御フレームをブロードキャストすることを特徴とする請求項2又は請求項3に記載のネットワークシステム。
【請求項5】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納する
ことを特徴とする請求項2から請求項4の何れか1項に記載のネットワークシステム。
【請求項6】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタノードと前記バックアップノードは、VLAN毎にポートの状態を管理することを特徴とする請求項1から請求項5の何れか1項に記載のネットワークシステム。
【請求項7】
前記マスタモードの前記マスタノード又は前記バックアップノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納することを特徴とする請求項6に記載のネットワークシステム。
【請求項8】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを立てたBPDUフレームを、送信することを特徴とする請求項3に記載のネットワークシステム。
【請求項9】
前記マスタノードと前記バックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、
前記制御フレームの送信を行うことを特徴とする請求項2から請求項8の何れか1項に記載のネットワークシステム。
【請求項10】
前記マスタノードと前記バックアップノードが、
受信したフレームがBPDUフレームである場合に、
前記BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するモジュールと、
前記受信フレームがノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの前記制御フレームの送信を制御するモジュールを備えることを特徴とする請求項2から請求項9の何れか1項に記載のネットワークシステム。
【請求項11】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームの送信を制御するモジュールに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示することを特徴とする請求項10に記載のネットワークシステム。
【請求項12】
前記マスタノードとバックアップノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するモジュールを備えることを特徴とする請求項11に記載のネットワークシステム。
【請求項13】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームにTopology Changeフラグを付与するモジュールに対して、
前記BPDUフレームの送信を制御するモジュールにおいて、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示することを特徴とする請求項12に記載のネットワークシステム。
【請求項14】
前記マスタノードと前記バックアップノードに接続されたノードが、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信するモジュールと、
前記フォワーディングデータベースを書き換えるための制御フレームの受信により、前記フォワーディングデータベースを書き換えるモジュールを備えることを特徴とする請求項2から請求項10の何れか1項に記載のネットワークシステム。
【請求項15】
前記マスタノードと前記バックアップノードを
前記他のプロトコルであるSTPプロトコルによるネットワークのルートノードとしたネットワーク構成とし、
前記マスタノードと前記バックアップノードのうち、
マスタモードにあるノードのルートパスコストの値を、
バックアップモードにあるノードよりも小さく設定することを特徴とする請求項1から請求項14の何れか1項に記載のネットワークシステム。
【請求項16】
前記他のプロトコルであるSTPプロトコルによるネットワーク間を、
前記ネットワークを構成する前記マスタノードと前記バックアップノードを2重化した部分において相互に接続するネットワーク構成とし、
一方の前記ネットワークに属する前記マスタノードと前記バックアップノードに優先度を設定し、
前記マスタノードと前記バックアップノードのうち、
高い優先度を設定したノードのマスタモードにおけるルートパスコストの値を、低い優先度を設定したノードよりも小さく設定し、
かつ、他方の前記ネットワークに属する前記マスタノードと前記バックアップノードのマスタモードにおけるルートパスコストの値を、
前記高い優先度を設定したノードと接続しているポートがアクティブである場合に、アクティブでない場合よりも小さく設定することを特徴とする請求項1から請求項14の何れか1項に記載のネットワークシステム。
【請求項17】
前記他のプロトコルによるネットワークが、
前記ネットワークの各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、
フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いて
フレーム転送を行う構成のネットワークであることを特徴とする請求項15又は請求項16に記載のネットワークシステム。
【請求項18】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワークとを共存させるネットワークシステムのノードであって、
前記他のプロトコルによるネットワークを構成するマスタモードとバックアップモードを有するノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うように構成したことを特徴とするノード。
【請求項19】
前記マスタモード又はバックアップモードのノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信する
ことを特徴とする請求項18に記載のノード。
【請求項20】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信する
ことを特徴とする請求項18又は請求項19に記載のノード。
【請求項21】
前記マスタモードのノードと前記バックアップモードのノードが、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードが、
前記制御フレームをブロードキャストすることを特徴とする請求項19又は請求項20に記載のノード。
【請求項22】
前記マスタモードのノード又は前記バックアップモードのノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納することを特徴とする請求項19から請求項21の何れか1項に記載のノード。
【請求項23】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタモードのノードと前記バックアップモードのノードは、VLAN毎にポートの状態を管理する
ことを特徴とする請求項18から請求項22の何れか1項に記載のノード。
【請求項24】
前記マスタモードのノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納する
ことを特徴とする請求項23に記載のノード。
【請求項25】
前記マスタモードのノードと前記バックアップモードのノードが、
前記マスタモードのノードと前記バックアップモードのノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを立てたBPDUフレームを、
送信することを特徴とする請求項20に記載のノード。
【請求項26】
前記マスタモードのノードと前記バックアップモードのノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、
前記制御フレームの送信を行うことを特徴とする請求項19から請求項25の何れか1項に記載のノード。
【請求項27】
前記マスタモードのノードと前記バックアップモードのノードが、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するモジュールと、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御するモジュールを備える
ことを特徴とする請求項19から請求項26の何れか1項に記載のノード。
【請求項28】
前記マスタモードとバックアップモードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームの送信を制御するモジュールに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項27に記載のノード。
【請求項29】
前記マスタモードのノードと前記バックアップモードのノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するモジュールを備える
ことを特徴とする請求項28に記載のノード。
【請求項30】
前記マスタモードとバックアップモードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するモジュールが、
前記BPDUフレームにTopology Changeフラグを付与するモジュールに対して、
前記BPDUフレームの送信を制御するモジュールにおいて、前記マスタモードのノードと前記バックアップモードのノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項29に記載のノード。
【請求項31】
前記マスタモードのノード又は前記バックアップモードのノードに接続されたノードが、
受信した前記制御フレームを前記マスタモードのノード又は前記バックアップモードのノードに送信するモジュールと、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換えるモジュールを備える
ことを特徴とする請求項19から請求項27の何れか1項に記載のノード。
【請求項32】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワーク網とを共存させるノード冗長化ネットワークシステムにおけるマスタノードとバックアップノード上の実行され、ノード冗長化の制御を行うノード制御プログラムであって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行う機能を有することを特徴とするノード制御プログラム。
【請求項33】
前記マスタノード又はバックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信する機能を有する
ことを特徴とする請求項32に記載のノード制御プログラム。
【請求項34】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信する機能を有する
ことを特徴とする請求項32又は請求項33に記載のノード制御プログラム。
【請求項35】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載する機能を有し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードが、
前記制御フレームをブロードキャストする機能を有することを特徴とする請求項33又は請求項34に記載のノード制御プログラム。
【請求項36】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納する機能を有することを特徴とする請求項33から請求項35の何れか1項に記載のノード制御プログラム。
【請求項37】
前記他のプロトコルによるネットワークが、VLANによるネットワークであり、
前記マスタノードと前記バックアップノードが、VLAN毎にポートの状態を管理する機能を有する
ことを特徴とする請求項32から請求項36の何れか1項に記載のノード制御プログラム。
【請求項38】
前記マスタノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納する機能を有する
ことを特徴とする請求項37に記載のノード制御プログラム。
【請求項39】
前記マスタノードと前記バックアップノードが、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームを送信する機能を有することを特徴とする請求項34に記載のノード制御プログラム。
【請求項40】
前記マスタノードと前記バックアップノードが、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルを備え、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、前記制御フレームの送信を行う機能を有することを特徴とする請求項33から請求項39の何れか1項に記載のノード制御プログラム。
【請求項41】
前記マスタノードと前記バックアップノードが、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御する機能と、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御する機能を有する
ことを特徴とする請求項33から請求項40の何れか1項に記載のノード制御プログラム。
【請求項42】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御する機能が、
前記BPDUフレームの送信を制御する機能に対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項41に記載のノード制御プログラム。
【請求項43】
前記マスタノードと前記バックアップノードが、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与する機能を有する
ことを特徴とする請求項42に記載のノード制御プログラム。
【請求項44】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御する機能が、
前記BPDUフレームにTopology Changeフラグを付与する機能に対して、
前記BPDUフレームの送信を制御する機能において、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項43に記載のノード制御プログラム。
【請求項45】
前記マスタノード又は前記バックアップノードに接続されたノードが、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信する機能と、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換える機能を有する
ことを特徴とする請求項33から請求項41の何れか1項に記載のノード制御プログラム。
【請求項46】
ノード冗長化プロトコルによるネットワークとポートの状態の管理を行う他のプロトコルによるネットワーク網とを共存させるノード冗長化ネットワークシステムおいてノード冗長化の制御を行うネットワーク制御方法であって、
前記他のプロトコルによるネットワークを構成するマスタノードとバックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記他のプロトコルの管理下にあるポートの状態について、前記他のプロトコルによる管理を行うステップを有することを特徴とするネットワーク制御方法。
【請求項47】
前記マスタノード又はバックアップノードにおいて、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、ノード及びリンクの監視を行うための制御フレームを送信するステップを有する
ことを特徴とする請求項46に記載のネットワーク制御方法。
【請求項48】
マスタモードへの切り替え時に、
前記ノード冗長化プロトコルの管理下にあるポートに接続されるノードの全部、もしくは一部に対して、フォワーディングデータベースを書き換えるための制御フレームを送信するステップを有する
ことを特徴とする請求項46又は請求項47に記載のネットワーク制御方法。
【請求項49】
前記マスタノードと前記バックアップノードにおいて、
前記マスタノードと前記バックアップノードに接続されたノードにおいてunknownと認識される宛先アドレスを前記制御フレームに記載するステップを有し、
前記マスタモードのノードと前記バックアップモードのノードに接続されたノードにおいて、
前記制御フレームをブロードキャストするステップを有することを特徴とする請求項47又は請求項48に記載のネットワーク制御方法。
【請求項50】
前記マスタノード又は前記バックアップノードが送信する、
前記ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
制御フレームを送信する前記マスタノードとバックアップノードを区別し、また前記マスタノードとバックアップノードの対が複数ある場合に、前記マスタノードとバックアップノードの対を区別するための識別情報を格納するステップを有することを特徴とする請求項47から請求項49の何れか1項に記載のネットワーク制御方法。
【請求項51】
前記他のプロトコルによるネットワークを、VLANによるネットワークとし、
前記マスタノードと前記バックアップノードにおいて、VLAN毎にポートの状態を管理するステップを有する
ことを特徴とする請求項46から請求項50の何れか1項に記載のネットワーク制御方法。
【請求項52】
前記マスタノードが送信する、
ノード及びリンクの監視を行うための制御フレームと、
前記フォワーディングデータベースを書き換えるための制御フレームに、
前記VLANを識別する識別情報を格納するステップを有する
ことを特徴とする請求項51に記載のネットワーク制御方法。
【請求項53】
前記マスタノードと前記バックアップノードにおいて、
前記マスタノードと前記バックアップノードに属し、
前記ノード冗長化プロトコルの管理下にあるポートであり、
かつ前記他のプロトコルであるSTPプロトコルによる管理下にあるポートに対して、
前記フォワーディングデータベースを書き換えるための制御フレームとして、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームを送信するステップを有することを特徴とする請求項48に記載のネットワーク制御方法。
【請求項54】
前記マスタノードと前記バックアップノードにおいて、
前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルと、前記他のプロトコルの管理下にあるポートを管理する管理テーブルを有し、前記ノード冗長化プロトコルの管理下にあるポートを管理する管理テーブルを備え、
前記他のプロトコルの管理下にあるポートを管理するテーブルを参照することにより、前記制御フレームの送信を行うステップを有することを特徴とする請求項47から請求項53の何れか1項に記載のネットワーク制御方法。
【請求項55】
前記マスタノードと前記バックアップノードにおいて、
受信したフレームがBPDUフレームである場合に、
前記当該BPDUフレームの解析と前記他のプロトコルの管理下にあるポートからのBPDUフレーム送信を制御するステップと、
前記受信フレームが、ノード及びリンクの監視を行うための制御フレーム又はフォワーディングデータベースを書き換えるための制御フレームである場合に、
前記制御フレームの解析と前記ノード冗長化プロトコルの管理下にあるポートからの制御フレーム送信を制御するステップを有する
ことを特徴とする請求項47から請求項54の何れか1項に記載のネットワーク制御方法。
【請求項56】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタモードのノード又は前記バックアップモードのノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するステップが、
前記BPDUフレームの送信を制御するステップに対して、
前記他のプロトコルの管理下にあるポートに対して、
前記STPプロトコルによるTopology Changeフラグを付与したBPDUフレームの送信を指示する
ことを特徴とする請求項55に記載のネットワーク制御方法。
【請求項57】
前記マスタノードと前記バックアップノードにおいて、
前記BPDUフレームの送信を制御するモジュールが送信するBPDUフレームに対して、
Topology Changeフラグを付与するステップを有する
ことを特徴とする請求項56に記載のネットワーク制御方法。
【請求項58】
前記マスタノードとバックアップノードのモード切り替え時に、
前記マスタノード又は前記バックアップノードの前記フォワーディングデータベースを書き換えるための前記制御フレームの送信を制御するステップが、
前記BPDUフレームにTopology Changeフラグを付与するステップに対して、
前記BPDUフレームの送信を制御するステップにおいて、前記マスタノードと前記バックアップノードに属し、前記ノード冗長化プロトコルの管理下にあるポートであり、かつ前記STPプロトコルの管理下にあるポートであるポートから送信するBPDUフレームに対して、
前記STPプロトコルによるTopology Changeフラグの付与を指示する
ことを特徴とする請求項57に記載のネットワーク制御方法。
【請求項59】
前記マスタノード又は前記バックアップノードに接続されたノードにおいて、
受信した前記制御フレームを前記マスタノード又は前記バックアップノードに送信するステップと、
フォワーディングデータベースを書き換えるための制御フレームの受信により、フォワーディングデータベースを書き換えるステップを有する
ことを特徴とする請求項47から請求項55の何れか1項に記載のネットワーク制御方法。
【請求項60】
前記マスタノードと前記バックアップノードを
前記他のプロトコルであるSTPプロトコルによるネットワークのルートノードとしたネットワーク構成とし、
前記マスタノードと前記バックアップノードのうち、
マスタモードにあるノードのルートパスコストの値を、
バックアップモードにあるノードよりも小さく設定することを特徴とする請求項46から請求項59の何れか1項に記載のネットワーク制御方法。
【請求項61】
前記他のプロトコルであるSTPプロトコルによるネットワーク間を、
前記ネットワークを構成する前記マスタノードと前記バックアップノードを2重化した部分において相互に接続するネットワーク構成とし、
一方の前記ネットワークに属する前記マスタノードと前記バックアップノードに優先度を設定し、
前記マスタノードと前記バックアップノードのうち、
高い優先度を設定したノードのマスタモードにおけるルートパスコストの値を、低い優先度を設定したノードよりも小さく設定し、
かつ、他方の前記ネットワークに属する前記マスタノードと前記バックアップノードのマスタモードにおけるルートパスコストの値を、
前記高い優先度を設定したノードと接続しているポートがアクティブである場合に、アクティブでない場合よりも小さく設定することを特徴とする請求項46から請求項59の何れか1項に記載のネットワーク制御方法。
【請求項62】
前記他のプロトコルによるネットワークが、
前記ネットワークの各エッジノードをルートノードとする複数のスパニングツリーによって複数の転送経路を設定し、
フレームの転送先が接続されるエッジノードをルートノードとするスパニングツリーによって設定された経路を用いて
フレーム転送を行う構成のネットワークであることを特徴とする請求項60又は請求項61に記載のネットワーク制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【公開番号】特開2006−49963(P2006−49963A)
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2004−223922(P2004−223922)
【出願日】平成16年7月30日(2004.7.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願日】平成16年7月30日(2004.7.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】
[ Back to top ]