[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2004214816A - Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node - Google Patents

Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node Download PDF

Info

Publication number
JP2004214816A
JP2004214816A JP2002379945A JP2002379945A JP2004214816A JP 2004214816 A JP2004214816 A JP 2004214816A JP 2002379945 A JP2002379945 A JP 2002379945A JP 2002379945 A JP2002379945 A JP 2002379945A JP 2004214816 A JP2004214816 A JP 2004214816A
Authority
JP
Japan
Prior art keywords
tree
tag
spanning tree
node
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002379945A
Other languages
Japanese (ja)
Inventor
Atsushi Enomoto
敦之 榎本
Masaki Umayabashi
正樹 厩橋
Yoichi Tobitaka
洋一 飛鷹
Atsushi Iwata
淳 岩田
Makoto Shibuya
真 渋谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002379945A priority Critical patent/JP2004214816A/en
Publication of JP2004214816A publication Critical patent/JP2004214816A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To propose a spanning tree system in which the frequency of occurrence of arrival delay or missing of a frame due to congestion can be reduced by lowering the probability of occurrence of congestion. <P>SOLUTION: While operating a not-yet-altered tree as it is, a node of a spanning tree system operating in a network connected with a plurality of nodes generates a tree after alteration of cost using a different VLAN and switches a tree being used for transfer after a new tree is stabilized. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、スパニングツリーシステムに関し、特にスパニングツリーの再構成時にネットワークを停止させることが無く、さらに負荷分散機能を有するスパニングツリーシステム、スパニングツリー構成方法及びスパニングツリー構成ノードに関する。
【0002】
【従来の技術】
従来、この種のスパニングツリーは、ループ(円環)状に形成されたネットワークにおいて、データが永遠に循環するのを防止するために用いられている。
【0003】
例えば「1998年、アイトリプルイー・スタンダード・802.1ディー(IEEE Std 802.1D)」と題するIEEE発行の標準化文書では、ループ(円環)状に形成されたネットワーク内で、データが永遠に循環するのを防止するため、ノード間でBridge Protocol Data Unit(BPDU)と呼ばれる制御情報をやり取りし、物理的にループ状になっているネットワークの一部を論理的に使用不能にして、論理的にツリー状のトポロジを形成する、スパニングツリーと呼ばれる制御手法が規定されている。これを従来技術1とする。
【0004】
また、「2001年、アイトリプルイー・スタンダード・802.1ダブリュ(IEEE Std 802.1W)」と題するIEEE発行の標準化文書では、制御情報の交換方法を拡張することにより、従来技術1におけるツリー作成を高速化し、さらに、あらかじめ迂回経路を設定しておくことにより、障害発生時の高速な迂回経路の設定を行う、高速スパニングツリーと呼ばれる制御手法が規定されている。これを従来技術2とする。
【0005】
【発明が解決しようとする課題】
上述した従来の技術では、以下に述べるような問題点があった。
【0006】
第1に、輻輳により、フレームの到着遅れや、欠落が発生するという問題があった。
【0007】
従来技術1では、スパニングツリーに属するノードおよびリンクの追加および削除時に、スパニングツリーを停止させて最初から構築しなおすため、再構築中に長時間ネットワーク全体が停止して輻輳が発生することにより、フレームの到着が遅れたり、欠落する場合があった。
【0008】
従来技術2では、スパニングツリーに属するノードおよびリンクの追加および削除時に、局所的にデータフレームの転送を停止させながら、徐々にスパニングツリーを構築しなおすため、再構築中にネットワークの一部が停止して輻輳し、フレームの到着が遅れたり、欠落する場合があった。
【0009】
第2に、スパニングツリーに属するノードの追加および削除等のスパニングツリー再構成時に、ネットワークが停止するという問題点があった。
【0010】
従来技術1では、スパニングツリーに属するノードの追加および削除時に、スパニングツリーを停止させて最初から構築しなおすため、再構築中に長時間ネットワーク全体が停止する場合があった。
【0011】
従来技術2では、スパニングツリーに属するノードの追加および削除時に、局所的にデータフレームの転送を停止させながら、徐々にスパニングツリーを構築しなおすため、再構築中にネットワークの一部が停止する場合があった。
【0012】
第3に、トラフィックの負荷分散ができないという問題点があった。
【0013】
従来技術1および従来技術2では、リンク容量を用いてコストを計算し、スパニングツリー構築時の経路選択に利用しているため、トラフィックに応じた動的な負荷分散のための経路変更ができなかった。
【0014】
第4に、負荷分散しようとすると、スパニングツリー再構成のために、ネットワークが停止するという問題点があった。
【0015】
従来技術1では、コストをトラフィック状況に応じて動的に変化させようとすると、スパニングツリーを一旦停止させてから構築しなおすことで経路を変更するため、再構築中に長時間ネットワーク全体が停止する場合があった。
【0016】
従来技術2では、コストをトラフィック状況に応じて動的に変化させようとすると、局所的にデータフレームの転送を停止させながら、スパニングツリーの一部を徐々に構築しなおして経路を変更するため、再構築中にネットワークの一部が停止する場合があった。
【0017】
第5に、宛先への最低コスト経路が必ずしも選択されるとは限らないという問題があった。
【0018】
従来技術1および従来技術2では、スパニングツリーをネットワーク上で1系統のみ設定し、各ノード毎に予め設定されたプライオリティ値およびMACアドレスより、ネットワーク上で唯一のルートノードを決定し、単一のツリーを作成するため、ツリーの末端に位置するノード同士が通信する場合は、最短経路が別にあったとしてもブロッキングされてしまい、冗長な経路を通過する場合があった。
【0019】
第6に、リンク利用率が低い一方、ルートノード付近に負荷が集中するという問題があった。
【0020】
従来技術1および従来技術2では、スパニングツリーをネットワーク上で1系統のみ設定し、各ノードに設定されたプライオリティ値およびMACアドレスより、ネットワーク上で唯一のルートノードを決定し、単一のツリーを作成するため、ツリーの末端では設置されていても利用されないリンクが出現してリンク利用率が低下した。逆に、ルートノード付近では、トラフィックが集中し、輻輳発生の可能性が高まる場合があった。
【0021】
第7に、ルートノード障害時のツリー構築に時間がかかり、その間ネットワークが停止するという問題があった。
【0022】
従来技術1では、スパニングツリーをネットワーク上で1系統のみ設定し、ルートノードを1つだけしか持たないため、ルートノードにおいて障害が発生すると、スパニングツリーを停止させて最初から構築しなおすため、再構築中に長時間ネットワーク全体が停止する場合があった。
【0023】
従来技術2では、ルートノードにおいて障害が発生すると、局所的にデータフレームの転送を停止させながら、徐々にスパニングツリーを構築しなおすため、再構築中にネットワークの一部が停止する場合があった。
【0024】
第8に、IEEE802.1Dを利用する区間は、障害時のルート切り替えが遅く、スパニングツリーの再構成にも時間がかかるという問題があった。
【0025】
従来技術1では、ツリーの構築時においてデータの交換が可能となるまで、数十秒の時間がかかる場合があるからである。
【0026】
さらに、第9に、従来技術1及び従来技術2の何れにおいても、単一のツリーしか持たないために、トラフィックがルートノード付近に集中して輻輳し、フレームの到着が遅れたり、欠落する場合があった。
【0027】
本発明の第1の目的は、輻輳発生の確率を下げ、輻輳によるフレームの到着遅れや欠落が発生する頻度を減らすことができる、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0028】
本発明の第2の目的は、ネットワークを停止させずに、スパニングツリーに属するノードの追加および削除等のスパニングツリー再構成ができる、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0029】
本発明の第3の目的は、トラフィックの負荷分散ができる、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0030】
本発明の第4の目的は、経路変更にともなうスパニングツリー再構成のために、ネットワークを停止させることなく負荷分散ができる、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0031】
本発明の第5の目的は、宛先への最低コスト経路が選択される、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0032】
本発明の第6の目的は、リンク利用率を高め、ルートノード付近に負荷を集中させずに分散可能な、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0033】
本発明の第7の目的は、ルートノード障害によるネットワーク停止を回避可能な、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0034】
本発明の第8の目的は、スパニングツリーがIEEE802.1D利用区間を通過して設定されるのを防ぎ、障害時の切替やルート変更を高速化し、輻輳発生の可能性やフレームの欠落の可能性を低下させることが可能な、スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノードを提供することにある。
【0035】
【課題を解決するための手段】
請求項1の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0036】
請求項2の本発明のノードは、前記ネットワークの構成変更が、ノードの追加又は削除やリンクトポロジの変化であることを特徴とする。
【0037】
請求項3の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0038】
請求項4の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、転送に利用するスパニングツリーを決定するツリーセレクタと、宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0039】
請求項5の本発明のノードは、前記ツリーセレクタが、転送に利用するスパニングツリーの切り替えを行うメインコントローラと、スパニングツリーの安定を示す指定した時間のタイマ満了を知らせる安定タイマと、フレームに付加されたタグを削除するタグ削除器と、スパニングツリーの切り替えのための制御フレームを送受信するGVRP送受信器と、フレームにタグを付加するタグ挿入器とを備えることを特徴とする。
【0040】
請求項6の本発明のノードは、前記ツリーセレクタは、スパニングツリーの安定を示すフレームの到着間隔を判別するため、一定時間が経過するとタイマ満了通知を送信する到着間隔タイマを備えることを特徴とする。
【0041】
請求項7の本発明のノードは、前記ツリーセレクタは、リンクコストの算出に利用する指定時間のタイマ満了を知らせるコスト参照タイマを備えることを特徴とする。
【0042】
請求項8の本発明のノードは、前記ツリーマネージャが、フレームに付加されたタグを削除するタグ削除器と、BPDUを送受信するBPDU送受信器と、フレームにタグを付加するタグ挿入器と、スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラと、前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする。
【0043】
請求項9の本発明のノードは、前記ツリーマネージャは、通知されたリンクコストに所定の設定値を加算して返答するコスト操作器を備えることを特徴とする。
【0044】
請求項10の本発明のノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする。
【0045】
請求項11の本発明のノードは、前記リンクコストを、利用状況に基づいて計算することを特徴とする。
【0046】
請求項12の本発明のノードは、前記利用状況を、空き帯域と定義することを特徴とする。
【0047】
請求項13の本発明のノードは、前記利用状況を、CPU負荷と定義することを特徴とする。
【0048】
請求項14の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるスパニングツリーを用いてフレームを転送することを特徴とする。
【0049】
請求項15の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、ネットワークに存在するルートノード数と同数のツリーマネージャを生成するツリーセレクタと、宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0050】
請求項16の本発明のノードは、前記ツリーセレクタが、ツリーマネージャの作成もしくは削除を行うメインコントローラと、フレームに付加されたタグを削除するタグ削除器と、スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信器と、フレームにタグを付加するタグ挿入器とを備えることを特徴とする。
【0051】
請求項17の本発明のノードは、前記ツリーマネージャが、フレームに付加されたタグを削除するタグ削除器と、BPDUを送受信するBPDU送受信器と、フレームにタグを付加するタグ挿入器と、スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラと、前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする。
【0052】
請求項18の本発明のノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする。
【0053】
請求項19の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、スパニングツリーを生成するツリーマネージャが、スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作器を備えることを特徴とする。
【0054】
請求項20の本発明のノードは、前記コスト操作器は、障害回復処理が遅いプロトコルを利用しているリンクに対して、大きなコストを割り振ることを特徴とする。
【0055】
請求項21の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前記各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行うことを特徴とする。
【0056】
請求項22の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送用ツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタと、宛先ごとのフレーム転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された出力にフレームを転送するフレーム転送器と、タグに従って転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0057】
請求項23の本発明のノードは、前記ツリーセレクタが、ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラと、フレームに付加されたタグを削除するタグ削除器と、制御フレームを送信するGVRP送受信器と、フレームにタグを付加するタグ挿入器とを備えることを特徴とする。
【0058】
請求項24の本発明のノードは、前記ツリーマネージャが、フレームに付加されたタグを削除するタグ削除器と、BPDUを送受信するBPDU送受信器と、フレームにタグを付加するタグ挿入器と、スパニングツリープロトコルにしたがってスパニングツリーを作成するツリーコントローラと、スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする。
【0059】
請求項25の本発明のノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする。
【0060】
請求項26の本発明のノードは、スパニングツリープロトコルで利用されているHELLOフレームより、短い間隔で障害検出用フレームを送受信して障害を検出する障害検出器を備えることを特徴とする。
【0061】
請求項27の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替える処理を実行することを特徴とする。
【0062】
請求項28の本発明は、前記ネットワークの構成変更が、ノードの追加又は削除やリンクトポロジの変化であることを特徴とする。
【0063】
請求項29の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替える処理を実行することを特徴とする。
【0064】
請求項30の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、複数のツリーマネージャによる独立して動作する複数のスパニングツリーを生成する処理と、転送に利用しているスパニングツリーに対応したタグを返答する処理と、返答のあった前記タグをフレームに挿入するタグ挿入処理と、転送に利用するツリーを決定するツリーセレクタ処理と、宛先ごとのフレームの転送出力先を記録するフォワーディングテーブル処理と、前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送処理と、前記タグに従って転送先のツリーマネージャを決定する分別処理とを実行することを特徴とする。
【0065】
請求項31の本発明のスパニングツリー構成プログラムは、前記ツリーセレクタ処理において、転送に利用するスパニングツリーの切り替えを行うコントローラ処理と、スパニングツリーの安定を示す指定した時間のタイマ満了を知らせる安定タイマ処理と、フレームに付加されたタグを削除するタグ削除処理と、スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信処理と、フレームにタグを付加するタグ挿入処理とを実行することを特徴とする。
【0066】
請求項32の本発明のスパニングツリー構成プログラムは、前記ツリーセレクタ処理において、スパニングツリーの安定を示すフレームの到着間隔を判別するため、一定時間が経過すると、タイマ満了通知を送信する到着間隔タイマ処理を実行することを特徴とする。
【0067】
請求項33の本発明のスパニングツリー構成プログラムは、前記ツリーセレクタ処理は、リンクコストの算出に利用する指定時間のタイマ満了を知らせるコスト参照タイマ処理を実行することを特徴とする。
【0068】
請求項34の本発明のスパニングツリー構成プログラムは、前記ツリーマネージャ処理が、フレームに付加されたタグを削除するタグ削除処理と、BPDUを送受信するBPDU送受信処理と、フレームにタグを付加するタグ挿入処理と、スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラ処理と、前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを実行することを特徴とする。
【0069】
請求項35の本発明のスパニングツリー構成プログラムは、前記ツリーマネージャ処理は、通知されたリンクコストに所定の設定値を加算して返答するコスト操作処理を実行することを特徴とする。
【0070】
請求項36の本発明のスパニングツリー構成プログラムは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする。
【0071】
請求項37の本発明のスパニングツリー構成プログラムは、リンクコストを、利用状況により計算する処理を実行することを特徴とする。
【0072】
請求項38の本発明のスパニングツリー構成プログラムは、前記利用状況を、空き帯域と定義することを特徴とする。
【0073】
請求項39の本発明のスパニングツリー構成プログラムは、前記利用状況を、CPU負荷と定義することを特徴とする。
【0074】
請求項40の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるツリーを用いてフレームを転送する処理を実行することを特徴とする。
【0075】
請求項41の本発明は、 複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャ処理と、転送に利用しているスパニングツリーに対応したタグを返答するタグテーブル処理と、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入処理と、ネットワークに存在するルートノード数と同数のツリーマネージャを生成するツリーセレクタ処理と、宛先ごとのフレーム転送出力先を記録するフォワーディングテーブル処理と、前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送処理と、前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別処理とを備えることを特徴とする。
【0076】
請求項42の本発明のスパニングツリー構成プログラムは、前記ツリーセレクタ処理が、ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラ処理と、フレームに付加されたタグを削除するタグ削除処理と、スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信処理と、フレームにタグを付加するタグ挿入処理とを実行することを特徴とする。
【0077】
請求項43の本発明のスパニングツリー構成プログラムは、前記ツリーマネージャ処理が、フレームに付加されたタグを削除するタグ削除処理と、BPDUを送受信するBPDU送受信処理と、フレームにタグを付加するタグ挿入処理と、スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラ処理と、前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを実行することを特徴とする。
【0078】
請求項44の本発明のスパニングツリー構成プログラムは、各前記ノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする。
【0079】
請求項45の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノードで動作するスパニングツリー構成プログラムにおいて、ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前期各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行う処理を実行することを特徴とする。
【0080】
請求項46の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノードで動作するスパニングツリー構成プログラムにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャ処理と、転送用ツリーに対応したタグを返答するタグテーブル処理と、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入処理と、ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタ処理と、宛先ごとのフレーム転送出力先を記録するフォワーディングテーブル処理と、前記フォワーディングテーブルで指定された出力にフレームを転送するフレーム転送処理と、前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別処理を実行することを特徴とする。
【0081】
請求項47の本発明のスパニングツリー構成プログラムは、前記ツリーセレクタ処理が、ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラ処理と、フレームに付加されたタグを削除するタグ削除処理と、制御フレームを送受信するGVRP送受信処理と、フレームにタグを付加するタグ挿入処理とを実行することを特徴とする。
【0082】
請求項48の本発明のスパニングツリー構成プログラムは、前記ツリーマネージャ処理が、フレームに付加されたタグを削除するタグ削除処理と、BPDUを送受信するBPDU送受信処理と、フレームにタグを付加するタグ挿入処理と、スパニングツリープロトコルにしたがってスパニングツリーを作成するツリーコントローラ処理と、スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを実行することを特徴とする。
【0083】
請求項49の本発明のスパニングツリー構成プログラムは、各前記ノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする。
【0084】
請求項50の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、各前記ノードが、ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0085】
請求項51の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、各前記ノードが、ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0086】
請求項52の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、各前記ノードが、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、転送に利用するスパニングツリーを決定するツリーセレクタと、宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0087】
請求項53の本発明は、リンクコストを、利用状況により計算することを特徴とする。
【0088】
請求項54の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるツリーを用いてフレームを転送することを特徴とする。
【0089】
請求項55の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送用ツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、ネットワークに存在するノード数と同数のツリーマネージャを生成するツリーセレクタと、宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された出力先にフレームを転送するフレーム転送器と、前記タグに従って転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0090】
請求項56の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、スパニングツリーを生成するツリーマネージャが、
スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作処理を実行することを特徴とする。
【0091】
請求項57の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、スパニングツリーを生成するツリーマネージャが、
スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作器を備えることを特徴とする。
【0092】
請求項58の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前期各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行うことを特徴とする。
【0093】
請求項59の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、転送用ツリーに対応したタグを返答するタグテーブルと、前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタと、宛先ごとのフレーム転送出力先を記録するフォワーディングテーブルと、前記フォワーディングテーブルで指定された出力にフレームを転送するフレーム転送器と、前記タグに従って転送先のツリーマネージャを決定する分別器とを備えることを特徴とする。
【0094】
請求項60の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0095】
請求項61の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とする。
【0096】
請求項62の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、新規ノードを追加する際に、新規ノードを既存スパニングツリーに参加させず、予備スパニングツリーにのみ参加させることを特徴とする。
【0097】
請求項63の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ノードを削除する際に、削除ノードを予備スパニングツリーに参加させず、既存スパニングツリーのみに参加させることを特徴とする。
【0098】
請求項64の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ネットワーク構成が変更された時、予備系を用いて変更後のツリー作成を行うことを特徴とする。
【0099】
請求項65の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、コスト算出に、リンクの空き帯域を利用することを特徴とする。
【0100】
請求項66の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ネットワーク内の全ノードが、全ノードをメンバに持つスパニングツリーのうち、どれか1つのルートノードとなるよう、複数のスパニングツリーを作成することを特徴とする。
【0101】
請求項67の本発明は、複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、ネットワーク内に存在する全ノードをメンバに持つスパニングツリーを作成し、うち、障害復旧の遅いプロトコルを使用しているリンクごとに複数のスパニングツリーを作成することを特徴とする。
【0102】
【発明の実施の形態】
以降の説明の中で、複数のスパニングツリーおよび複数のノード群を識別する識別子としてタグを用いた説明を行うが、このタグは、VLANタグのほかに、本特許出願人による特願2002−239465号に開示される拡張タグ及び他のタグもしくは識別手段のうち、単独もしくは何れか1つ以上の組み合わせを意味する。
【0103】
ここで、本発明において用いるタグのうち、上記特願2002−239465号に開示される拡張タグ付きフレームのフォーマットについて説明する。
【0104】
図1は、IEEE802.1Qで規定されているVLANタグ付きのイーサネット(R)フレームのフォーマットである。VLANタグ付きイーサネット(R)フレーム3200は、送信先MACアドレス3201と、送信元MACアドレス3202と、VLANタグ3203と、イーサネット(R)属性情報3204と、ペイロード3205と、FCS3206とから構成される。
【0105】
これに対して、図2は、本発明の拡張タグ付きイーサネット(R)フレームのフォーマットである。拡張タグ付きイーサネット(R)フレーム3300は、送信先MACアドレス3201と、送信元MACアドレス3202と、拡張タグ格納領域3301と、イーサネット(R)属性情報3204と、ペイロード3205と、FCS3206とから構成され、既存のVLANタグ付きイーサネット(R)フレーム3200のVLANタグ3203が拡張タグ格納領域3301に置き換わる。
【0106】
また図3に示すように別の構成の拡張タグ付きイーサネット(R)フレーム3400も存在し、これは送信先MACアドレス3201と、送信元MACアドレス3202と、拡張タグ格納領域3301と、VLANタグ3203と、イーサネット(R)属性情報3204と、ペイロード3205と、FCS3206とから構成され、拡張タグ格納領域3301は送信元MACアドレス3202の後に挿入される。
【0107】
拡張タグ格納領域3301には1つまたは複数の拡張タグを格納可能である。拡張タグのサイズは4バイトであり、VLANタグ3203と同一サイズとなっている。拡張タグ付きイーサネット(R)フレーム3300、3400の送信元MACアドレス3202の次に挿入される拡張タグとVLANタグ付きイーサネット(R)フレーム3200のVLANタグは同一の位置に同一のサイズで格納されており、その区別は各々のタグの上位2バイトに格納される値を変更することにより区別する(詳細については後述する)。
【0108】
これにより、拡張タグ付きイーサネット(R)フレーム3300、3400は、VLANタグ付きイーサネット(R)フレーム3200と互換性を有しており、既存ノード、拡張タグ対応ノードの双方においてどちらのフレームも処理可能である。
【0109】
図4は、拡張タグ格納領域3301を示している。図4に示す格納例では、8個の拡張タグ3500〜3507が格納されている。
【0110】
フォワーディングタグ3500には宛先ノードの識別子や宛先までのラベル(例えばMPLSラベル)が格納される。また、宛先ノードの識別子を格納したフォワーディングタグ3500に加えて、送信元ノードの識別子を格納する場合もある。各ノードはこのフォワーディングタグを参照してフレーム転送先を決定する。このフォワーディングタグ3500は拡張タグ付きイーサネット(R)フレーム3300、3400において必ず格納される。
【0111】
拡張タグの種類としては、カスタマ分離タグ3501、プロテクションタグ3502、OAM&Pタグ3503、品質情報タグ3504、フレーム制御タグ3505、セキュリティタグ3506、ユーザ拡張タグ3507が格納されている。
【0112】
カスタマ分離タグ3501には、各ノードに収容されるカスタマ毎に情報を分離するための識別子が格納される。カスタマとしては、同一のVLANの所属するカスタマを同一カスタマとする場合や、2つ以上のノードの特定のポートに収容されるカスタマを同一カスタマとする場合や、網内のノードに接続する2つ以上のホストを同一カスタマとする場合などがある。これらのカスタマに対して分離識別子が割り当てられ、各カスタマからのフレームにはカスタマ分離タグ3501内にこの分離識別子が格納される。カスタマ分離タグ3501によってカスタマを識別することにより、カスタマ単位の付加サービス(例えば、特定カスタマに対する優先制御など)の提供が可能となる。また、カスタマ分離タグ3501は複数スタックして使うことも可能である。この場合、分離可能なカスタマ数を大幅に増やすことができる。なお、カスタマ分離タグ3501をスタックする場合には、スタックした最終段のカスタマ分離タグ3501は最終段であることを示す特別なカスタマ分離タグを使用する。
【0113】
プロテクションタグ3502には、障害発生時の障害情報や障害復旧のための迂回経路情報が格納される。OAM&Pタグ3504には、運用/管理情報が格納される。
【0114】
品質情報タグ3504には、遅延、ジッタ、パケットロス率やフレームのネットワーク内への流入時間を示すタイムスタンプ、帯域制御情報等の品質情報が格納される。品質情報タグ3504にタイムスタンプ値が格納されている場合、フレームを受信したノードは現在の時刻とタイムスタンプ値よりそのフレームの網内遅延(ネットワーク内での滞在時間)を算出することができる。網内遅延の保証値が定められている場合には、保証値を実現できるよう優先処理を実施することができる。また、品質情報タグ3504に要求帯域や蓄積データ量やトラヒッククラス等の帯域制御情報が格納されている場合、そのフローの蓄積データ量やトラヒッククラスと他のフローのトラヒック状況を考慮して、要求帯域を確保するための帯域制御を実施することができる。
【0115】
フレーム制御タグ3505には、フレームのネットワーク内での生存時間を制限するホップカウンタ(TTL : Time To Live)や誤り検出のためのCRCなどの情報が格納される。TTLが格納される場合には、経由するノード毎にTTL値が減算され、TTL=0となったところでこのフレームは廃棄される。これにより、ループ経路になった場合でもフレームが循環し続けるのを防ぐことができる。またCRCが格納される場合には、入口側ノードにおける拡張タグ格納領域3301のCRC演算結果が格納されており、出口側ノードにおいて再度CRC演算を実施して格納値と比較することにより、拡張タグ格納領域3301の誤りを検出可能である。
【0116】
セキュリティタグ3506には、フレームの信頼性、ネットワーク構築時やネットワーク構成変更時の秘匿性を確保するための情報が格納される。セキュリティタグ3506の利用例としては以下の例があげられる。ネットワーク内で通信するカスタマにはカスタマ毎のセキュリティ識別子が予め設定され、その識別子はカスタマが接続する各ノードで保持される。各カスタマはフレーム転送の際に、設定されたセキュリティ識別子を常にセキュリティタグ3506に格納することにより、カスタマ分離タグ3501の情報を改ざんした悪意のあるカスタマからのフレーム送受信を防ぐことができる。また、ネットワーク構築時やネットワーク構成変更時において、ノード間でネゴシエートして共通のセキュリティ識別子を設定する。当該ノード間のフレーム転送の際に、設定したセキュリティ識別子を常にセキュリティタグ3506に格納することにより、悪意のあるノードをネットワークに接続するのを防ぐことができる。
【0117】
ユーザ拡張タグ3507には、ユーザが独自に定義する任意の情報が格納される。ユーザが独自にタグのフォーマット及び格納情報を定義し、その処理内容を定義することにより、ユーザ独自の機能拡張を図ることができ、ネットワークの柔軟性を高められる。
【0118】
フォワーディングタグ3500以外の拡張タグ3501〜3507は、必要に応じて格納される。フォワーディングタグ3500は、拡張タグ格納領域3301の先頭に格納され、その他の拡張タグ3501〜3507はその後方に格納される。フォワーディングタグ3500よりも後方であれば、予め決められた固定位置でも、任意の位置でも良い。
【0119】
以降、2系統存在するスパニングツリーのうち、新しくネットワークに侵入するデータフレームの転送に利用しているスパニングツリーを現用ツリーもしくは現用系ツリー、現用ツリーとなっていないツリーを予備用ツリーもしくは予備系ツリーと表現する。
【0120】
また、現用系ツリーの生成を行うツリーマネージャを現用系ツリーマネージャ、予備系ツリーの生成を行うツリーマネージャを、予備系ツリーマネージャと呼ぶ。
【0121】
タググループとは、タグおよびその他の識別子を利用して識別されるノード群、すなわち複数のノードの集合体をいう。タググループをVLANタグを識別子として形成した場合は、前記タググループをVLANと呼ぶ。
【0122】
BPDU(Bridge Protocol Data Unit)とは、スパニングツリー生成のために交換されるIEEE802.1D(従来技術1)およびIEEE802.1W(従来技術2)に記載される制御データおよび、本発明の現用系と予備系の識別情報等を含む制御フレームのことをいう。
【0123】
図5は、IEEE802.1D(従来技術1)およびIEEE802.1W(従来技術2)に記載の、Configuration BPDUフレーム2205の構造を示すフォーマット図である。
【0124】
MAC DA2201は、宛先MACアドレスを格納する領域である。
【0125】
MAC SA2202は、送信元MACアドレスを格納する領域である。
【0126】
タグ領域2203は、複数のスパニングツリーを識別する識別子としてのタグを挿入する領域である。また、従来技術には記載されていないが、前記タグは、VLANタグのほかに、本特許出願人による特願2002−239465号に開示される拡張タグ、及び他のタグもしくは識別手段の何れか1つ以上の組み合わせたタグでもよい。
【0127】
Type2204は、フレームのタイプ識別子を格納する領域である。
【0128】
BPDU領域2205は、IEEE802.1D(従来技術1)およびIEEE802.1W(従来技術2)に記載の、Configuration BPDU parametersに相当する情報を格納する領域である。
【0129】
FCS2206は、フレームチェックシーケンスを格納する領域である。
【0130】
Protocol Identifier22051は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Protocol Identifierと等しい情報を格納する領域である。
【0131】
Protocol Version Identifier22052は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Protocol Version Identifierと等しい情報を格納する領域である。
【0132】
BPDU Type22053は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、BPDU Typeと等しい情報を格納する領域である。
【0133】
Flags22054は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Flagsと等しい情報を格納する領域である。
【0134】
Root Identifier22055は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Root Identifierと等しい情報を格納する領域である。
【0135】
Root Path Cost22056は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Root Path Costと等しい情報を格納する領域である。
【0136】
Bridge Identifier22057は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Bridge Identifierと等しい情報を格納する領域である。
【0137】
Port Identifier22058は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Port Identifierと等しい情報を格納する領域である。
【0138】
Message Age22059は、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Message Ageと等しい情報を格納する領域である。
【0139】
MAX Age2205Aは、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、MAX Ageと等しい情報を格納する領域である。
【0140】
Hello Time2205Bは、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Hello Timeと等しい情報を格納する領域である。
【0141】
Forward Delay2205Cは、IEEE802.1D(従来技術1)もしくはIEEE802.1W(従来技術2)に記載の、Forward Delayと等しい情報を格納する領域である。
【0142】
図6は、IEEE802.1D(従来技術1)およびIEEE802.1W(従来技術2)に記載の、Topology Change Notification BPDUフレームの構造を示すフォーマット図である。
【0143】
MAC DA2201は、宛先MACアドレスを格納する領域である。
【0144】
MAC SA2202は、送信元MACアドレスを格納する領域である。
【0145】
タグ領域2203は、従来技術には記載されていないが、複数のスパニングツリーを識別する識別子としてのタグを挿入する領域である。前記タグは、VLANタグのほかに、上記特願2002−239465号に開示される拡張タグ、及び他のタグもしくは識別手段の何れか1つ以上の組み合わせたタグでもよい。
【0146】
Type2204は、フレームのタイプ識別子を格納する領域である。
【0147】
BPDU領域2205は、IEEE802.1D(従来技術1)およびIEEE802.1W(従来技術2)に記載の、Topology Change Notification BPDU parametersに相当する情報を格納する領域である。
【0148】
FCS2206は、フレームチェックシーケンスを格納する領域である。
【0149】
GVRPとは、タググループの管理および、現用系と予備系の識別、および、ノード間での各種設定情報の交換のために送受信される、制御フレームのことをいう。
【0150】
以下、本発明の第1の実施の形態について、図面を参照して詳細に説明する。
【0151】
図7を参照すると、本発明の第1の実施の形態は、ノード11〜16、クライアント91〜96、リンク81〜86、リンク21〜28を含む。
【0152】
ノード11は、プログラム制御されるCPU等で実現され、以下に挙げる機能を有する。
【0153】
(1)リンク21もしくはリンク24より到着したフレームを、リンク24もしくはリンク21に転送する。
【0154】
(2)リンク81より到着したフレームに、転送に必要なタグを付加した上で、リンク21もしくはリンク24に転送する。
【0155】
(3)リンク21もしくはリンク24より到着したフレームを、転送に必要なタグを削除した上で、リンク81に転送する。
【0156】
(4)スパニングツリーを構成するために、他のノードとの間で制御フレームの交換を行い、必要に応じてリンクのポートを閉鎖する。
【0157】
(5)リンクを流れるフレームの流量をモニタする。
【0158】
ノード12〜16は、ノード11と同様のノードである。今後はノード11〜16を代表して、ノード11を用いて記述を行うが、これらノード11についての記述は、特に断りのない限り他のノード12〜16においても同様に実現可能である。
【0159】
クライアント91は、1つ以上のクライアントの集合であり、リンク81を通じて、ノード11との間でフレームの送受信を行う機能を有する。
【0160】
クライアント92〜96は、クライアント91と同様のクライアント群である。今後はクライアント91〜96を代表してクライアント91を用いて記述を行うが、クライアント91についての記述は、特に断りのない限り他のクライアント92〜96においても同様に適用可能である。
【0161】
リンク81は、クライアント91からノード11、及び、ノード11からクライアント91を結ぶ双方向リンクである。
【0162】
リンク82〜86は、リンク81と同様のリンクである。今後はリンク81〜86を代表してリンク81を用いて記述を行うが、リンク81についての記述は、特に断りのない限り他のリンク82〜86においても同様に適用可能である。
【0163】
リンク21は、ノード11からノード12、及び、ノード12からノード11を結ぶ、双方向リンクである。
【0164】
リンク22〜28は、リンク21と同様のリンクである。今後はリンク22〜28を代表してリンク21を用いて記述を行うが、リンク21についての記述は、特に断りのない限り他のリンク22〜28においても同様に適用可能である。
【0165】
図8は、ノード11の構成を詳細に示した図である。ノード11は、フレーム転送器111と、タグ挿入器112と、タグ削除器113と、フォワーディングテーブル114と、分別器1150と、ツリーマネージャ1151と、ツリーマネージャ1152と、ツリーセレクタ116と、タグテーブル117と、設定インタフェース118を含む。
【0166】
フレーム転送器111は、リンク21もしくはリンク24、およびタグ挿入器112より受信したフレームを、フォワーディングテーブル114の記述に従い、リンク21もしくはリンク24、および、タグ削除器113もしくはもしくはツリーセレクタ116に転送する。
【0167】
タグ挿入器112は、リンク81より受信したフレームに対し、タグテーブル117の記述に従いタグを挿入し、フレーム転送器111に転送する。なお、タグテーブル117の記述によっては、タグを挿入せずに、受信したフレームをそのままフレーム転送器111に転送することもできるほか、同一フレームに0個以上の複数のタグを挿入し、もしくは、到着したフレームをコピーし、コピーしたそれぞれのフレームに対して、同一もしくは異なるタグを、0個以上の複数個挿入することも可能である。
【0168】
タグ削除器113は、フレーム転送器111より受信したフレームに付加されているタグを外し、リンク81に転送する。なお、設定によって、タグを外さずに、受信したフレームをそのままリンク81に転送することもできる。
【0169】
フォワーディングテーブル114は、フレーム転送器111からの問い合わせに対し、MACアドレス、タグ、もしくは入力ポートの他、1つ以上の組み合わせをキーとして、1つ以上のフレーム転送先ポートをフレーム転送器111に返答する。キーおよび転送先ポートは、ツリーマネージャ1151もしくはツリーマネージャ1152により設定される。
【0170】
分別器1150は、受信したフレームのタグに従い出力先ポートを決定し、前記フレームをツリーマネージャ1151、または、ツリーマネージャ1152に転送する。どのタグが付加されたフレームをツリーマネージャ1151もしくはツリーマネージャ1152に転送するかは、ツリーセレクタ116より設定することができる。
【0171】
ツリーマネージャ1151は、ツリーセレクタ116の指示に従い、スパニングツリーアルゴリズムを利用して、分別器1150よりBPDUを受信し、またフレーム転送器111に対してBPDUを送信し、フォワーディングテーブル114を設定する。さらに、ツリーセレクタ116から設定情報を受信し、BPDUのパラメータとして利用する。また、BPDUに含まれる制御情報を抽出し、ツリーセレクタ116に通知する。
【0172】
ツリーマネージャ1152は、ツリーマネージャ1151と同様のツリーマネージャである。今後はツリーマネージャ1151〜ツリーマネージャ1152を代表してツリーマネージャ1151を用いて記述を行うが、ツリーマネージャ1151についての記述は、特に断りのない限りツリーマネージャ1152においても同様に適用可能である。
【0173】
ツリーセレクタ116は、フレーム転送器111よりGVRP等の設定フレームを受信し、ツリーマネージャ1151もしくは1152よりBPDUに含まれる制御情報を受信し、リソースモニタ119よりリンク情報の通知を受け、または、設定インタフェース118からの設定通知を受け、設定フレームもしくは通知に含まれる情報に沿って、ツリーマネージャ1151、ツリーマネージャ1152、タグテーブル117の設定を行う。また、設定フレームをフレーム転送器111に送信する。
【0174】
タグテーブル117は、タグ挿入器112からの問い合わせに対し、挿入すべきタグの情報、もしくは、タグを追加しないで転送する命令をタグ挿入器112に返答する。挿入するタグもしくは、タグ挿入なしで転送命令は、ツリーセレクタ116より設定される。同一フレームに0個以上の複数のタグを挿入する設定や、到着したフレームをコピーし、コピーしたそれぞれのフレームに対して、同一もしくは異なるタグを、0個以上の複数個挿入する設定も可能である。
【0175】
設定インタフェース118は、シリアル接続もしくはTELNET等のコマンドラインインタフェース、もしくはWEBサーバ等を通じて、ユーザからのツリー選択命令や、ノード削除要求、リンクコスト、スパニングツリーパラメータ値等を、ツリーセレクタ116に伝達する。
【0176】
リソースモニタ119は、ノードの各リンクポートの状況を監視し、リンクの接続を検出した場合には、ツリーセレクタ116にリンクアップ通知を送信する。また、リンクを通過するフレームの累積バイト数、通過TCPセッション数、HTTPリクエスト数のうち1つ以上の値をカウントして保持し、ツリーセレクタ116の要求により、保持している値をツリーセレクタ116に通知するほか、ツリーセレクタ116からの命令により、保持している値を0にリセットする。さらに、ツリーセレクタ116よりあらかじめ指定された種類のフレーム通過を監視し、前記監視対象フレームが通過すると、ツリーセレクタ116に通知する。
【0177】
図9は、本実施の形態の図8における、タグをキーとして出力ポートを決定する、フォワーディングテーブル114の構成例である。
【0178】
タグフィールド1141は、サーチのインデックスになるフィールドであり、このフィールドの情報と、受信したフレームのタグに書かれている内容が一致するかどうかを調べる。
【0179】
出力ポート1142は、受信したフレームのタグに書かれている内容とタグにフィールド1141の内容が一致した場合に、前記フレームをどのポートに転送すべきか記述するフィールドである。
【0180】
なお、本実施の形態は、本動作例に示すような、タグの内容によって転送先ポートを決定するタグフォワーディングを行う場合のみならず、従来より行われている、MACアドレスによって転送先を決定する通常のMACアドレス転送においても、同様に適用可能である。この場合は、出力ポートフィールド1142に、複数のポートが記載される。
【0181】
図10は、本発明の第1の実施の形態の図8における、ツリーマネージャ1151の構成を詳細に示した図である。ツリーマネージャ1151は、タグ削除器11511と、BPDU送受信器11512と、タグ挿入器11513と、ツリーコントローラ11514と、ツリーテーブル11515含む。
【0182】
タグ削除器11511は、分別器1150より入力されたフレームに挿入されているタグを削除し、BPDU送受信機11512に転送する。もし分別器1150より受信したフレームにタグが添付されていない場合には、受信したフレームをそのままBPDU送受信機11512に転送する。
【0183】
BPDU送受信器11512は、タグ削除器11511よりBPDUを受信し、フレームに含まれる情報を、BPDU受信通知によりツリーコントローラ11514に通知する。また、ツリーコントローラ11514よりBPDU送信通知を受け、フレームを生成してタグ挿入器11513に送信する。
【0184】
タグ挿入器11513は、BPDU送受信機11512よりフレームを受信し、あらかじめ設定されているタグを挿入し、フレーム転送器111に送信する。なお、タグを挿入せずに、フレームをそのまま転送する設定も可能である。
【0185】
ツリーコントローラ11514は、以下に示す4つの機能を有する。
【0186】
(1)停止動作(初期状態):ツリーセレクタ116からの停止命令にしたがい、BPDU送受信機11512へのBPDU送信通知を停止する。また、ツリーテーブル11515に対して、すべてのリンクがdownしているとして、ポートの状態を登録する。
【0187】
(2)開始動作:ツリーセレクタ116からの開始命令にしたがい、BPDU送受信機11512へのBPDU送信通知を開始する。また、開始命令に含まれる情報を元に、ツリーテーブル11515に対して、アップ状態のポートを登録する。
【0188】
(3)BPDU受信動作:BPDU送受信機11512からのBPDU受信通知を受け取り、ツリーテーブル11515を更新する。また、BPDU受信通知に含まれる現用系ツリーおよび予備系ツリーの識別情報を抽出し、ツリーセレクタ116内のメインコントローラ1164に通知する。
【0189】
(4)トポロジ更新動作:前記停止動作、前記開始動作、および前記BPDU受信動作後に、従来技術1もしくは従来技術2に示すスパニングツリープロトコルに従い、ツリーテーブル11515を参照し、必要であれば、ツリーテーブル11515の設定、フォワーディングテーブル114の設定および、BPDUの送信を行う。送信するBPDUには、現用系ツリーおよび予備系ツリーの識別情報も含まれる。また、ツリーセレクタ116に対し、ツリーの再計算の結果、トポロジに変更が生じるか生じないかを通知する動作を行う。
【0190】
ツリーテーブル11515は、従来技術1もしくは従来技術2に示すスパニングツリープロトコルに必要な、ポートの状態およびノードの状態に関するパラメータが記述されているテーブルである。各ポートもしくはリンクの優先度並びにリンクコストも、このテーブルに記述されている。第1の実施の形態では、リンクコストとして、リンク帯域の太さを用いる場合を想定して説明する。
【0191】
図11は、本発明の第1の実施の形態の図8における、ツリーセレクタ116の構成を詳細に示した図である。ツリーセレクタ116は、タグ削除器1161と、GVRP送受信器1162と、タグ挿入器1163と、メインコントローラ1164と、安定タイマ1165と、到着間隔タイマ1166とを含む。
【0192】
タグ削除器1161は、フレーム転送器111より入力されたフレームに挿入されているタグを削除し、GVRP送受信機1162に転送する。もしフレーム転送器111より受信したフレームにタグが添付されていない場合には、受信したフレームをそのままGVRP送受信機1162に転送する。
【0193】
GVRP送受信器1162は、タグ削除器1161より制御フレームを受信し、フレームに含まれる情報を、GVRPフレーム受信通知によりメインコントローラ1164に通知する。また、メインコントローラ1164よりGVRPフレーム送信通知を受け、フレームを生成してタグ挿入器1163に送信する。
【0194】
タグ挿入器1163は、GVRP送受信機1162よりフレームを受信し、あらかじめ設定されているタグを挿入し、フレーム転送器111に送信する。なお、タグを挿入せずに、フレームをそのまま転送する設定も可能である。
【0195】
メインコントローラ1164は、以下に示す4つの機能を有する。
【0196】
(1)リンクアップ検出:メインコントローラ1164は、リソースモニタ119よりリンクアップ通知を受け、現在予備系となっているツリーマネージャに対して、リンクアップ(開始命令)を通知する。開始命令には、アップしているリンクの情報が格納される。また、開始命令送信後に、安定タイマ1165をセットする。安定タイマ1165の満了通知を受信すると、タグテーブル117に対して挿入タグの変更命令を通知し、さらに、予備系と現用系の登録を逆転させるよう、GVRP送受信機1162に対して、新ツリーのルートノードに対してツリー切り替え要求フレームを送信するよう命令する。さらに、安定タイマ1165をセットし、タイマ満了後に自ノードを旧ツリーに追加する。
【0197】
(2)ノード削除要求受信:設定インタフェース118よりノード削除要求通知を受信すると、現在予備系となっているツリーマネージャに対して停止命令を送信する。また停止命令の送信後に、安定タイマ1165をセットし、安定タイマ1165の満了通知を受信すると、タグテーブル117に対して挿入タグの変更命令を通知し、さらに、予備系と現用系の登録を逆転させるよう、GVRP送受信機1162に対して、新ツリーのルートノードに対して利用タググループ変更GVRPフレームを送信するよう命令する。さらに、安定タイマ1165をセットし、タイマ満了後に設定インタフェース118に対して、自ノード削除許可の表示を行う。
【0198】
(3)利用タググループ変更GVRP受信:自ノードが新ツリーのルートノードである場合、利用タググループ変更GVRPフレームを受信すると、自ノードから送信するBPDUに、現用系フラグを付加して送信するよう、ツリーマネージャ1151もしくはツリーマネージャ1152に対して命令する。さらに、GVRP送受信機1162に対して、旧ツリーのルートノードに対して、現用系フラグの添付を取り消すよう命令する。
【0199】
(4)現用系ビット変更通知受信:ツリーマネージャ1151もしくはツリーマネージャ1152は、BPDUの受信時にBPDUに付加された現用系フラグを確認し、自グループが現用系であるか予備系であるか確認し、メインコントローラに通知する。通知を受けた結果、もし、現用系と予備系に変更がある場合には、タグテーブル117に対して挿入タグ変更通知を送信して、現用系と予備系の登録を逆転させる。
【0200】
(5)指定フレームの通過通知受信:リソースモニタ119より、あらかじめ設定した監視対象フレームが通過したことの通知を受信すると、到着間隔タイマ1166に対してセット通知を送信する。到着間隔タイマ1166から、タイマ満了通知が到着した場合は、監視対象フレームの到着間隔がセット通知によって設定した時間より長いことがわかる。これによりBPDUの到着間隔が長くなったことや、予備系を流れるフレームの到着間隔が長くなったことなどを検出できる。
【0201】
安定タイマ1165は、メインコントローラ1164より送信されたセット通知の受信から、あらかじめ設定された時間が経過すると、メインコントローラ1164に対してタイマ満了通知を送信する。
【0202】
到着間隔タイマ1166は、メインコントローラ1164からセット命令を受信すると、現在保持している時間を0にリセットしてタイマを作動させ、セット命令によって指定された時間が経過すると、メインコントローラ1164に対してタイマ満了通知を送信する。
【0203】
図12は、本発明の第1の実施の形態の図11における、メインコントローラ1164の状態遷移を詳細に示した流れ図である。
【0204】
以降、2系統存在するスパニングツリーのうち、新しくネットワークに侵入するデータフレームの転送に利用しているスパニングツリーを現用ツリーもしくは現用系ツリー、現用ツリーとなっていないツリーを予備用ツリーもしくは予備系ツリーと表現する。
【0205】
また、現用系ツリーの生成を行うツリーマネージャを現用系ツリーマネージャ、予備系ツリーの生成を行うツリーマネージャを、予備系ツリーマネージャと呼ぶ。
【0206】
状態11641は、現用系ツリーマネージャが、ツリーマネージャ1151であるか、ツリーマネージャ1152であるか判別できていない状態であり、かつ、ツリーマネージャ1151内のBPDU送受信機11512および、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能は無効にされ、BPDU受信機能のみが有効になっている状態である。
【0207】
状態11642は、現用系ツリーマネージャが、ツリーマネージャ1151であり、予備系ツリーマネージャがツリーマネージャ1152であり、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が無効にされ、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能も無効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0208】
状態11643は、現用系ツリーマネージャが、ツリーマネージャ1151であり、予備系ツリーマネージャがツリーマネージャ1152であり、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が無効にされ、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能は有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0209】
状態11644は、現用系ツリーマネージャが、ツリーマネージャ1152であり、予備系ツリーマネージャがツリーマネージャ1151であり、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が有効にされ、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能は無効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0210】
状態11645は、現用系ツリーマネージャが、ツリーマネージャ1152であり、予備系ツリーマネージャがツリーマネージャ1151であり、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が有効にされ、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能も有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0211】
状態11646は、現用系ツリーマネージャが、ツリーマネージャ1151であり、予備系ツリーマネージャがツリーマネージャ1152であり、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が有効にされ、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能も有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0212】
状態11647は、現用系ツリーマネージャが、ツリーマネージャ1151であり、予備系ツリーマネージャがツリーマネージャ1152であり、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が有効にされ、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が無効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0213】
状態11648は、現用系ツリーマネージャが、ツリーマネージャ1152であり、予備系ツリーマネージャがツリーマネージャ1151であり、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が無効にされ、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0214】
状態11649は、現用系ツリーマネージャが、ツリーマネージャ1152であり、予備系ツリーマネージャがツリーマネージャ1151であり、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が無効にされ、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が無効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0215】
次に、図12を参照して、メインコントローラ1164の動作について説明する。
【0216】
メインコントローラ1164は、リソースモニタ119より新たにネットワークに接続されたことの通知を受信すると、ツリーマネージャ1151もしくはツリーマネージャ1152からの現用系通知の到着を待つ。ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信すると、前記通知において指定されたツリーマネージャ1151もしくはツリーマネージャ1152を現用、予備用に指定されたツリーマネージャ1151もしくは1152を予備用に設定し、状態11642もしくは状態11649に遷移する。ここでは、状態11642に遷移した場合を例に解説するが、今後の解説は状態11649に遷移した場合においても同様である。(状態11641)
【0217】
メインコントローラ1164は、ツリーマネージャ1151を現用、ツリーマネージャ1152を予備用に設定する。さらに、前記各ツリーマネージャ1151および1152に対して、BPDU送信停止命令を出す。(状態11642)
【0218】
メインコントローラ1164は、状態11642において、もし設定インタフェース118よりノードの追加要求を受信した場合は、状態11643に遷移する。また、もしツリーマネージャ1151もしくはツリーマネージャ1152より現用系通知を受信し、現用系と予備系の関係に変更があった場合には、状態11649に遷移する。(状態11642)
【0219】
メインコントローラ1164は、ツリーマネージャ1152に対してリンクupの通知を行い、同時に、ツリーマネージャ1152に対してBPDUの送信許可を行う。さらに、安定タイマ1165を作動させる。(状態11643)
【0220】
メインコントローラ1164は、安定タイマ1165よりタイマ満了通知を受信すると、現用に登録されているツリーマネージャ1151と、予備用に登録されているツリーマネージャ1152を入れ替え、新しく現用をツリーマネージャ1152、予備用をツリーマネージャ1151とする。さらに、GVRP送受信機1162を通じて、新ツリーのルートノードに対して、利用タググループ変更通知を送信する。この利用タググループ変更通知の内容は、BPDUに反映され、全ノードに伝達される。その後、安定タイマ1165を作動させる。(状態11644)
【0221】
メインコントローラ1164は、安定タイマ1165よりタイマ満了通知を受信すると、ツリーマネージャ1151に対してリンクupの通知を行い、同時に、ツリーマネージャ1152に対してBPDUの送信許可を行う。通常は、この状態で安定する。(状態11645)
【0222】
メインコントローラ1164は、状態11645において、ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信し、もし現用系と予備系の関係に変更が生じた場合には、状態11646に遷移する。そして、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。(状態11645)
【0223】
メインコントローラ1164は、状態11645において、もし設定インタフェース118より、ノード削除要求を受信した場合は、状態11644に遷移する。(状態11645)
【0224】
メインコントローラ1164は、ツリーマネージャ1151に対して、接続されている全リンクリンクdownの通知を行い、同時に、ツリーマネージャ1151に対してBPDUの送信停止命令を出す。さらに、安定タイマ1165を作動させる。(状態11644)
【0225】
メインコントローラ1164は、安定タイマ1165よりタイマ満了通知を受信すると、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。さらに、GVRP送受信機1162を通じて、新ツリーのルートノードに対して、利用タググループ変更通知を送信する。この、利用タググループ変更通知の内容は、BPDUに反映され、全ノードに伝達される。その後、安定タイマ1165を作動させる。(状態11643)
【0226】
メインコントローラ1164は、安定タイマ1165よりタイマ満了通知を受信すると、ツリーマネージャ1151に対してリンクdownの通知を行い、同時に、ツリーマネージャ1151に対してBPDUの受信停止命令を出す。さらに、無条件で状態11641に遷移し、ノード切離しまで待機する。(状態11642)
図13は、本実施の形態の図8における、宛先MACアドレスをキーとして挿入するタグを決定する、タグテーブル117の構成例である。
【0227】
宛先MACアドレス1171は、サーチのインデックスになるフィールドであり、このフィールドの情報と、受信したフレームの宛先MACアドレスフィールド、すなわち、MAC DAフィールドに書かれている内容が一致するかどうか調べ、一致した場合には、前記受信フレームに対して、挿入タグフィールド1172に記載のタグを挿入する。
【0228】
挿入タグフィールド1172は、宛先MACアドレスフィールド1171に対する、挿入すべきタグが記載されるフィールドである。本実施の形態では、現在において現用系となっているタググループのタグが挿入される。この挿入タグフィールド1172は、ツリーセレクタ116によって、現在現用系となっているタグに書き換えられる。
【0229】
図7、図8、図14、図15及び図16を参照して、本実施の形態において、ノード17を追加する場合の動作について、具体例を用いて詳細に説明する。
【0230】
ノード17の追加時の動作の説明にはいる前に、まず、ノード17の追加を行う前の状態において、本発明で、スパニングツリーがどのように構成されているかを説明する。
【0231】
初期状態(ノード17がリンク29、30に接続される前の状態)においても、スパニングツリーは2系統用意される。そして、初期状態における、2系統のスパニングツリーは、同じ接続関係となる。これは、スパニングツリーを設定するプロトコルは、ノード、リンクのプライオリティ値等の情報に基づいてスパニングツリーを設定するため、同一のネットワークについてスパニングツリーを2つ設定すると結果として同じ接続関係となるからである。この初期状態で、何れか一方のスパニングツリーを現用、他方を予備として設定し(具体的には、ツリーマネージャ1151、1152がツリーテーブル11515を書き換え、ツリーセレクタ116がタグテーブル117を書き換えることで各設定を行う)、このネットワークは現用のスパニングツリーを用いて運用される。
【0232】
この初期状態におけるスパニングツリーの具体例を図7に示すネットワークを例として説明する。
【0233】
例えば、図7に示すネットワークにおいて、初期状態で、図14に太線で示す接続関係を有するスパニングツリー51が現用のスパニングツリーとして設定されているとすると、これと同じ接続関係(図14の太線)を有するもう一つのスパニングツリーが予備系として設定される。
【0234】
以下、上述の初期状態において、ノード17がネットワークに追加された場合の動作について説明する。
【0235】
図14を参照すると、本動作例では、ノード11〜17、リンク21〜30、およびツリー51を有する。ただし、ノード17、リンク29およびリンク30は、初期状態では接続されていない。
【0236】
また、図15は、本動作例において、ノード17が追加された後のスパニングツリー52の状態を示す。ツリー52は図11において太線で示されている。
【0237】
上述の通り、初期状態においてノード11〜16の全ノード、全ポートが所属する2つのスパニングツリーが2つ設定されている。そして、これら2つのスパニングツリーと1対1に対応するタググループが2つ設定されており、ここでは1つめのタググループをタググループ41、2つめのタググループをタググループ42と呼ぶこととする。
【0238】
なお、基本的には全ノード、全ポートを2つのタググループに加入させるが、一部のポートもしくはノードのみで構成させるタググループを作成しても良い。以降、全ノード、全ポートが2つのタググループに加入するものとして説明する。
【0239】
ノード11〜16には、独立して動作するスパニングツリー回路が2つ存在し、タググループ41上で動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶ。
【0240】
また、スパニングツリーは必ず2系統作成するが、タググループは必ずしも2つ作成する必要は無い。前記タググループ41のみ設定してタググループ42を利用せず、タググループ41上で動作するスパニングツリーをツリー51、タググループに属さないで動作するスパニングツリーをツリー52と呼ぶこともできる。また逆に、前記タググループ42のみ設定してタググループ41を利用せず、タググループに属さないで動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶこともできる。即ち、2つのスパニングツリーを識別できればよいわけである。
【0241】
ここでは、特にタググループ41とタググループ42の両方を用いた場合について説明を行うが、タググループ41及びタググループ42の両方を用いた場合の動作は、タググループ41のみ、もしくはタググループ42のみを用いた場合においても、同様に適用可能である。
【0242】
このネットワークでは、設定インタフェース118からの初期設定によって、ツリー51が現用系のスパニングツリーとなり、ツリー52が予備系のスパニングツリーとなるように設定されており、ツリー51のBPDUには現用系フラグおよびタググループ41のタグが付き、ツリー52のBPDUには予備系フラグおよびタググループ42のタグが付く。
【0243】
全ノードが、現用系フラグ又は予備系フラグが付されたBPDUフレームをIEEE Std 802.1DやIEEE Std 802.1Wで規定される一定の周期で互いに送信し合うことにより、ツリー51である現用系のスパニングツリー又はツリー52である予備系のスパニングツリーが構築される。
【0244】
上記現用系フラグ又は予備系フラグは、図5に示したBPDUフレームのフィールドのうち、例えばタグ領域2203、Type2204、BPDU Type22053等のフィールドを使用することによって表すことができる。
【0245】
現在、ネットワークの開始から十分に時間が経過し、ツリー51およびツリー52の各ツリーは、タググループ41およびタググループ42のタグが付加されたBPDUフレームの交換が十分に行われた結果、共にノード11をルートノードとして安定しているとする。
【0246】
安定とは、スパニングツリーのツリー構造が、十分に長い時間変化しない状態になっている状態のことを言う。
【0247】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグが付く。具体的には、ツリー51を用いて伝送されるBPDUのタグ領域2203には、このBPDUがタググループ41に属することを示す値が記載され、ツリー52を用いて伝送されるBPDUのタグ領域2203には、このBPDUがタググループ42に属することを示す値が記載される。
【0248】
また、現時点では、ツリー51が現用系として設定されているので、クライアントからノード11〜16に送信されたデータには、タグ挿入器112によって、タググループ41のタグが付加されている。具体的には、データ信号のタグ領域に、タググループ41に属することを示す値が記載される。そして、このタグが付加されたデータは、フレーム転送器111によって、現時点で、現用系として設定されているツリー51に沿って転送されている。
【0249】
ノード17は、リンク29およびリンク30と接続されると、どのタググループにも加入せず、BPDUの受信を開始する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11641となる。)
【0250】
ノード17は、各タググループのBPDUを受信すると、現時点での現用系がタググループ41で、現時点での予備系がタググループ42であると確認する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11642である。)そして、自ノードをタググループ42にのみ参加させてBPDUの送受信を行い、タググループ41ではBPDUは受信のみ行い、送信を行わないように設定する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11643である。)
【0251】
ノード17が追加されると、タググループ42のメンバに変更が発生するため、スパニングツリープロトコルにより、ツリー52を更新する動作が開始される。すなわち、ノード17がBPDUを送信して、それを隣接ノードが受信すると、隣接ノードはトポロジ状況に変更があったと認識し、ツリー52の更新動作を開始する。タググループ41のメンバには変更が無いため、ツリー51は更新されない。
【0252】
クライアントから送信されるフレームには、各ノード11〜16によって、今までどおりタググループ41のタグが付加され、ツリー51に沿って転送され続ける。
【0253】
ここで、段落0251に記載したツリー52の更新動作によって、ツリー52がルートノードをノード11として、安定したとする。このときのツリー52の構成を図15に示す。
【0254】
ノード17は、ネットワークに接続されてから一定時間経過後に、ツリー52が安定したと判断し、利用タググループ変更通知を、ツリー52のルートノードである、ノード11に送信し、ツリー52を予備系から現用系に遷移させるよう命令する。この命令には、例えば制御フレーム(GVRP)を利用する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11644である。)
【0255】
なお、ツリー52が安定したことの検出は、ノード17がネットワークに接続されてから一定時間経過することで検出するほか、ノード17におけるツリー52のBPDU到着間隔が一定時間以上となることで検出することもできる。
【0256】
利用タググループ変更通知を受信したノード11は、ツリー51のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー51を予備系に遷移させるよう命令する。この利用タググループ変更通知には、例えば制御フレーム(GVRP)を利用する。そして、タググループ42のタグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0257】
ツリー51のノード11は、利用タググループ変更通知を受信し、ツリー51を予備系に遷移させ、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、予備系フラグを立てる。この予備系フラグは、例えば、図1のBPDUのうちの予め決めてあるフィールドに設定される。設定は、ツリーマネージャ1151、1152がツリーテーブル11515を書き換え、ツリーセレクタ116がタグテーブル117を書き換えることで実行される。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0258】
ノード11〜17は、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替える。このとき、タグテーブル117内の、挿入タグフィールド1172を書き換えられる。このタグが付加されたフレームは、ツリー52に沿って転送される。
【0259】
以上の切り替えが完了してしばらく経つと、ツリー51を流れるフレームはなくなる。
【0260】
ノード17は、利用タググループ変更通知の送信から一定時間経過後に、タググループ41のタグを付加するノードが存在しなくなったと判断し、自ノードをタググループ41に加入させ、次のトポロジ変更に備える。自ノードをタググループ41に加入させるために、ノード17は、ツリーマネージャ1151内のツリーコントローラに対して、BPDU送信を許可し、BPDU送受信機11512からのBPDU送信を許可する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11645となる。)
このとき、スパニングツリー51について、再構成が行われるので、スパニングツリー51に着目してネットワークを見ると、ネットワークは停止する。しかし、この間もネットワークにおける通信は、スパニングツリー52を用いて行われているので、ノード17の追加に伴って、輻輳、フレームの到着遅延等の問題は発生しない。
【0261】
なお、ノード17をタググループ41に加入させる動作は、ツリー52のルートノードであるノード11、もしくは、ツリー51のルートノードであるノード11が行っても良い。
【0262】
ツリー52のルートノードであるノード11が、ノード17をタググループ41に加入させる場合は、ノード11がノード17から利用タググループ変更通知を受信してから一定時間経過後に、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令する。
【0263】
ツリー51のルートノードであるノード11が、ノード17をタググループ41に加入させる場合は、ノード11がノード11から利用タググループ変更通知を受信してから一定時間経過後に、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令する。この場合は、ツリー51のノード11は、直接(ツリー52のノード11を介さずに)、ノード17に対してGVRPフレームを送信する。ノード17をタググループ41に加入させる動作では、BPDUに挿入するフラグに変更が生じないので、ルートノードを介す必要はないからである。
【0264】
以上のようにして、ネットワークを停止させることなく、ノード17を追加することができた。以降ノードの追加の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は適宜入れ替わる。
【0265】
図16は、以上に述べたノード17の追加動作を表すシーケンス図である。
【0266】
矢印31は、タググループ41を示すタグが挿入された、現用系フラグ付きBPDUの流れを示す。
【0267】
矢印32は、タググループ42を示すタグが挿入された、予備系フラグ付きBPDUの流れを示す。
【0268】
矢印33は、タググループ42を示すタグが挿入された、現用系フラグ付きBPDUの流れを示す。
【0269】
矢印34は、タググループ41を示すタグが挿入された、予備系フラグ付きBPDUの流れを示す。
【0270】
矢印35は、タググループを示すタグが挿入されていない、GVRPフレーム等による利用タググループ変更通知の流れを示す。
【0271】
次に、図15および図14を参照して、本実施の形態において、ノード17を削除する場合の動作について、具体例を用いて詳細に説明する。
【0272】
図15および図14を参照すると、本動作例では、ノード11〜17、およびリンク21〜30を有する。
【0273】
ノード11〜17の全ポートが所属するタググループが2つすでに設定されており、1つめのタググループをタググループ41、2つめのタググループをタググループ42と呼ぶ。
【0274】
ノード11〜17には、独立して動作するスパニングツリー経路が2つ存在し、タググループ41上で動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶ。
【0275】
図15では、ツリー52は太線で表され、ノード11をルートノードとして安定しているとする。
【0276】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0277】
現在、クライアントからノード11〜17に送信されたデータには、ツリー52が現用系であるので、タググループ42のタグが付加されている。このタグが付加されたデータは、ツリー52に沿って転送されている。
【0278】
ノード17は、各タググループのBPDUを受信しており、現時点での現用系がタググループ42で、現時点での予備系がタググループ41であるとすでに確認しているとする。
【0279】
ノード17は、設定インタフェースもしくはその他の手段により削除要求を受けると、自ノード17を現用系であるタググループ42にのみ参加させ、タググループ41には参加させないように設定する。このとき、ノード17は、タググループ41のBPDU送信を停止する。
【0280】
この設定により、ノード17の隣接ノードにおいてBPDUを受信しなくなることでノード17が削除されたことが認識され、タググループ41のメンバに変更が発生するため、ツリー51を更新する動作が開始される。タググループ42のメンバには変更が無いため、ツリー52は更新されない。
【0281】
クライアントからのフレームは、ノード11〜ノード17で、今までどおりタググループ42のタグが付加され、ツリー52に沿って転送され続ける。
【0282】
ここで、ツリー51はルートノードをノード11として、ノード17を参加させないで安定した状態を示している。ツリー51の構成を図14に示す。
【0283】
なお、ここでいう安定とは、スパニングツリーのツリー構造が、十分に長い時間変化しない状態になっている状態のことを言う。
【0284】
ノード17は、タググループ41不参加の設定から一定時間経過後に、ツリー51が安定したと判断し、利用タググループ変更通知を、ツリー51のルートノードである、ノード11に送信し、ツリー51を予備系から現用系に遷移させるよう命令する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11644である。)
【0285】
利用タググループ変更通知を受信したノード11は、ツリー52のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー52を予備系に遷移させるよう命令する。そして、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0286】
ツリー51のノード11は、利用タググループ変更通知を受信し、ツリー52を予備系に遷移させ、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、予備系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0287】
ノード11〜17は、タググループ41のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ42からタググループ41に切り替える。このタグが付加されたフレームは、ツリー51に沿って転送される。
【0288】
以上の切り替えが完了してしばらく経つと、ツリー52を流れるフレームはなくなる。
【0289】
ノード17は、利用タググループ変更通知の送信から一定時間経過後に、タググループ42のタグを付加するノードが存在しなくなったと判断し、自ノードをネットワークから削除しても良いという、削除許可の通知を、設定インタフェース118に出力する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11643である。)
【0290】
以降ノードの削除の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は適宜入れ替わる形となる。
【0291】
図14および図15を参照して、本実施の形態において、タグをBPDUのみに付加し、データにはタグを付加しない場合における、ノード17を追加する場合の動作について、具体例を用いて詳細に説明する。
【0292】
図14では、ツリー51は太線で表され、ノード11をルートノードとして安定しているとする。安定とは、スパニングツリーのツリー構造が、十分に長い時間変化しない状態になっている状態のことを言う。
【0293】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0294】
現在、クライアントからノード11〜16に送信されたデータには、何もタグは付加されない。データは、各ノードのフォワーディングテーブルにおける設定にしたがって、ツリー51に沿って転送されている。
【0295】
ノード17は、リンク29およびリンク30と接続されると、どのタググループにも加入せず、BPDUの受信を開始する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11641である。)
【0296】
ノード17は、各タググループのBPDUを受信すると、BPDUに付加されたタグ内のフラグにより、現時点での現用系がタググループ41で、現時点での予備系がタググループ42であると確認する。そして、タググループ42でのみBPDUの送受信を行い、タググループ41ではBPDUは受信のみ行い、送信を行わないように設定する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11642である。)
【0297】
ノード17が追加されると、タググループ42のメンバに変更が発生するため、スパニングツリープロトコルにより、ツリー52を更新する動作が開始される。タググループ41のメンバには変更が無いため、ツリー51は更新されない。(このときのノード17のメインコントローラ1164の状態は、図12の状態11643である。)
【0298】
クライアントから送信されるフレームには、今までどおりタグは付加されず、ツリー51に沿って転送され続ける。
【0299】
ここで、ツリー52はルートノードをノード11として、安定したとする。ツリー52の構成を図15に示す。
【0300】
ノード17は、ネットワークに接続されてから一定時間経過後に、ツリー52が安定したと判断し、利用タググループ変更通知を、ツリー52のルートノードである、ノード11に送信し、ツリー52を予備系から現用系に遷移させるよう命令する。(このときのノード17のメインコントローラ1164の状態は、図12の状態11644である。)
【0301】
利用タググループ変更通知を受信したツリー52のノード11は、ツリー51のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー51を予備系に遷移させるよう命令する。そして、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0302】
ツリー51のノード11は、利用タググループ変更通知を受信し、ツリー51を予備系に遷移させ、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、予備系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0303】
ノード11〜17は、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、ルーティングテーブルを、ツリー52に従った設定に変更する。これにより、前記ノードにおいて転送されるフレームは、ツリー52に沿って転送されるようになる。
【0304】
すべてのノードのルーティングテーブルが、ツリー52利用のものに切り替わると、ツリー51を流れるフレームはなくなる。
【0305】
ノード17は、利用タググループ変更通知の送信から一定時間経過後に、タググループ41に従ったテーブル設定を行うノードが存在しなくなったと判断し、自ノードをタググループ41に加入させ、次のトポロジ変更に備える。(このときのノード17のメインコントローラ1164の状態は、図12の状態11644である。)
【0306】
以上のようにして、ネットワークを停止させることなく、ノード17を追加することができた。以降ノードの追加の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は適宜入れ替わる。
【0307】
以上の説明では、タイマーを用いて、ツリーの安定状態を確認していたが、安定状態の確認方法はこれに限らず、以下に示すように、BPDUまたはフレームの到着間隔を計測し、それによって安定状態を確認することも可能である。
【0308】
図14では、ツリー51は太線で表され、ノード11をルートノードとして安定しているとする。
【0309】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0310】
現在、クライアントからノード11〜16に送信されたデータには、タググループ41のタグが付加されている。このタグが付加されたデータは、ツリー51に沿って転送されている。
【0311】
ノード17は、リンク29およびリンク30と接続されると、どのタググループにも加入せず、BPDUの受信を開始する。
【0312】
ノード17は、各タググループのBPDUを受信すると、現時点での現用系がタググループ41で、現時点での予備系がタググループ42であると確認する。そして、自ノードをタググループ42にのみ加入させてBPDUの送受信を行い、タググループ41ではBPDUは受信のみ行い、送信を行わないように設定する。そして、タググループ42のルートノードであるノード11および、タググループ41のルートノードであるノード11のそれぞれに対して、ノード17が追加されたことを通知するフレームを送信する。
【0313】
ノード17が追加されると、タググループ42のメンバに変更が発生するため、スパニングツリープロトコルにより、ツリー52を更新する動作が開始される。タググループ41のメンバには変更が無いため、ツリー51は更新されない。
【0314】
クライアントから送信されるフレームには、今までどおりタググループ41のタグが付加され、ツリー51に沿って転送され続ける。
【0315】
ここで、ツリー52はルートノードをノード11として、安定したとする。ツリー52の構成を図15に示す。
【0316】
ツリー52のルートノードであるノード11は、ツリー52のBPDU到着間隔が一定時間以上となることを検出すると、ツリー52が安定したと判断し、ツリー51のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー51を予備系に遷移させるよう命令する。そして、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0317】
なお、ツリー52の安定検出は、ツリー51のルートノードであるノード11が行っても良い。この場合、ツリー51のルートノードであるノード11は、ツリー52のBPDU到着間隔が一定時間以上となることを検出すると、ツリー52が安定したと判断し、ツリー52のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー52を予備系に遷移させるよう命令する。ツリー51のルートノードであるノード11は、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0318】
ノード11は、利用タググループ変更通知を受信し、ツリー51を予備系に遷移させ、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、予備系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0319】
ノード11〜17は、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替える。このタグが付加されたフレームは、ツリー52に沿って転送される。
【0320】
以上の切り替えが完了してしばらく経つと、ツリー51を流れるフレームはなくなる。
【0321】
タググループ41のルートノードであるノード11は、タググループ41のタグを付加してツリー51を流れるフレームの到着間隔が一定時間以上になると、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令し、次のトポロジ変更に備える。
【0322】
なお、ノード17をタググループ41に加入させる動作は、ツリー52のルートノードであるノード11が行っても良い。
【0323】
ツリー52のルートノードであるノード11が、ノード17をタググループ41に加入させる場合は、タググループ41のタグを付加してツリー51を流れるフレームの到着間隔が一定時間以上になると、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令し、次のトポロジ変更に備える。
【0324】
以上のようにして、ネットワークを停止させることなく、ノード17を追加することができた。以降ノードの追加の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は適宜入れ替わる。
【0325】
図14および図15を参照して、本実施の形態において、予備系への移行完了通知を受信することによって、予備系に遷移したことを検知する場合における、ノード17を追加する場合の動作について、具体例を用いて詳細に説明する。
【0326】
図14では、ツリー51は太線で表され、ノード11をルートノードとして安定しているとする。
【0327】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0328】
現在、クライアントからノード11〜16に送信されたデータには、タググループ41のタグが付加されている。このタグが付加されたデータは、ツリー51に沿って転送されている。
【0329】
ノード17は、リンク29およびリンク30と接続されると、どのタググループにも加入せず、BPDUの受信を開始する。
【0330】
ノード17は、各タググループのBPDUを受信すると、現時点での現用系がタググループ41で、現時点での予備系がタググループ42であると確認する。そして、自ノードをタググループ42にのみBPDUの送受信を行い、タググループ41ではBPDUは受信のみ行い、送信を行わないように設定する。
【0331】
ノード17が追加されると、タググループ42のメンバに変更が発生するため、スパニングツリープロトコルにより、ツリー52を更新する動作が開始される。タググループ41のメンバには変更が無いため、ツリー51は更新されない。
【0332】
クライアントから送信されるフレームには、今までどおりタググループ41のタグが付加され、ツリー51に沿って転送され続ける。
【0333】
ここで、ツリー52はルートノードをノード11として、安定したとする。ツリー52の構成を図15に示す。
【0334】
ノード17は、ネットワークに接続されてから一定時間経過後に、ツリー52が安定したと判断し、利用タググループ変更通知を、ツリー52のルートノードである、ノード11に送信し、ツリー52を予備系から現用系に遷移させるよう命令する。
【0335】
利用タググループ変更通知を受信したノード11は、ツリー51のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー51を予備系に遷移させるよう命令する。そして、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0336】
ノード11は、利用タググループ変更通知を受信し、ツリー51を予備系に遷移させ、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、予備系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0337】
ノード11〜17は、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替え、さらに切替完了通知をツリー52のルートノードであるノード11に対して送信する。
【0338】
以上の切り替えが完了してしばらく経つと、ツリー51を流れるフレームはなくなる。
【0339】
ノード11は、ノード11〜17のすべてのノードから切替完了通知を受信すると、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令する。
【0340】
なお、ノード17をタググループ41に加入させる動作は、新規に追加されたノードであるノード17、もしくは、ツリー51のルートノードであるノード11が行っても良い。
【0341】
新規に追加されたノードであるノード17が、ノード17自身をタググループ41に加入させる場合は、ノード11〜16が、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替える際に、切替完了通知を新規に追加されたノードであるノード17に対して送信し、ノード17が、ノード11〜16のすべてのノードから切替完了通知を受信すると、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17自身をタググループ41に加入させる。
【0342】
ツリー51のルートノードであるノード11が、ノード17をタググループ41に加入させる場合は、ノード11〜17が、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替える際に、切替完了通知をツリー51のルートノードであるノード11に対して送信し、ノード11が、ノード11〜17のすべてのノードから切替完了通知を受信すると、タググループ41のタグを付加するノードが存在しなくなったと判断し、ノード17に対してGVRPフレームを送信し、タググループ41に加入するよう命令する。
【0343】
以上のようにして、ネットワークを停止させることなく、ノード17を追加することができる。以降ノードの追加の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は適宜入れ替わる。
【0344】
次に、本実施の形態の効果について説明する。
【0345】
従来、スパニングツリーに属するノードの追加および削除時は、全体もしくは一部のデータフレームの転送を停止させて、スパニングツリーを構築しなおすため、再構築中にネットワークが停止する場合があった。
【0346】
本実施の形態では、構成変更前のスパニングツリーを運用したまま、新規追加ノードを含めたスパニングツリーを生成し、新規スパニングツリーの安定後に利用するスパニングツリーを切り替えることにより、ネットワークを停止させずに、スパニングツリーに属するノードの追加および削除等のスパニングツリー再構成が可能である。
【0347】
またこの結果、輻輳発生の可能性を下げることが可能である。
【0348】
以下、本発明の第2の実施の形態について、図面を参照して詳細に説明する。
【0349】
本発明の第2の実施の形態は、第1の実施の形態において、コストの計算時にリンク帯域の太さの代わりに、空き帯域の容量もしくは通過TCPフロー数、HTTPリクエスト数等を利用し、さらに、コストが変更された場合には、ノードの追加・削除の場合と同様に、現用系と予備系の遷移を行う点が異なる。なお、以降は空き帯域の容量をコストとして用いた場合について記述するが、通過TCPフロー数およびHTTPリクエスト数についても、特に断りのない限り同様に実現可能である。
【0350】
IEEE802.1DおよびIEEE802.1Wでは、リンクのコストはリンク帯域の太さの逆数で決定されていた。つまり、負荷に応じて動的にコストを変化させることができなかった。
【0351】
本実施の形態においては、リンクのコストをリンクの空き帯域の逆数で決定することで、負荷に応じた動的なコスト変更を行う。
【0352】
図17は、第2の実施の形態におけるツリーセレクタ116の構成を示している。図17を参照すると、本発明の第2の実施の形態は、第1の実施の形態における図11のツリーセレクタにおいて、コスト参照タイマ1167、関数演算器1168、および、平滑化回路1169が追加されている点において異なる。
【0353】
メインコントローラ1164αは、第1の実施における動作のほか、コスト参照タイマ1167より満了通知を受信すると、リソースモニタから、前回のコスト参照タイマ満了以降にリンクを流れたフレームの流量情報もしくはTCPフロー数またはHTTPリクエスト数を取得し、その流量、フロー数、もしくはリクエスト数を元にコストを計算し、予備用に登録されているツリーマネージャ(以下、予備系のツリーマネージャという)に通知する動作を行う。流量の場合は、流量およびリンク帯域の太さより、リンクの空き帯域を求め、前記リングの空き帯域の逆数をコストとして利用する。TCPフロー数およびHTTPリクエスト数の場合は、あらかじめ設定してある最大許容フロー数および最大許容リクエスト数と、実際にリンクを通過するTCPフロー数もしくはリクエスト数との差を取り、この差の逆数をコストとして利用する。
【0354】
メインコントローラ1164αは、前記手段によりコストを算出した後、関数演算器1168にコストを渡して評価し、さらに関数演算器の評価結果を平滑化回路1169に渡して平滑化し、平滑化された結果の値を、予備系のツリーマネージャに対して送信する。
【0355】
関数演算器1168は、メインコントローラ1164αより入力されたコスト値をパラメータとして、比例関数、ヒステリシス関数、および階段関数等、あらかじめ指定されている任意の関数を用いて、出力コスト値を決定し、メインコントローラ1164に返す、関数演算器1168の働きにより、リンクの空き帯域等に完全に比例してコストが決定されるのを防止し、状態遷移の振動を防止することが可能となる。例えば、階段関数の場合は、一定値以上の変動があった場合にのみ出力コスト値が変更され、わずかな変化では、出力コスト値が変更されなくなる。階段関数では、コストが大きくなる場合に大きなコストを出力する閾値と、コストが小さくなる場合に小さなコストを出力する閾値が等しくなるが、ヒステリシス関数のような方向性を持った関数を利用すると、コストが徐々に増加している場合においては、ある大きなコスト値を出力するためには入力コストが十分大きくなることが必要になり、コストが徐々に減少している場合においては、ある小さなコスト値を出力するためには入力コストが十分小さくなることが必要になる。このため、状態遷移の振動を防止することができる。
【0356】
平滑化回路1169は、ローパスフィルタ等を用いて、あらかじめ保存してある前回の入力パラメータと、メインコントローラ1164αより新たに渡された入力パラメータの平滑化を行い、結果をメインコントローラ1164αに通知する。平滑化回路1169の働きにより、コストの急激な変動や、状態遷移の振動を防止することが可能となる。
【0357】
コスト参照タイマ1167は、メインコントローラ1164αより送信されたセット通知の受信から、あらかじめ設定された時間が経過すると、メインコントローラ1164αに対してタイマ満了通知を送信する。
【0358】
図18は、本発明の第2の実施の形態の図17における、メインコントローラ1164Aの状態遷移を詳細に示した流れ図である。図18を参照すると、本発明の第2の実施の形態は、第1の実施の形態における図12において、状態1164Aおよび状態1164Bが追加されている点において異なる。
【0359】
状態1164Aは、現用系ツリーマネージャが、ツリーマネージャ1152であり、予備系ツリーマネージャがツリーマネージャ1151であり、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能が有効にされ、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能も有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0360】
状態1164Bは、現用系ツリーマネージャが、ツリーマネージャ1151であり、予備系ツリーマネージャがツリーマネージャ1152であり、ツリーマネージャ1151内のBPDU送受信機11512のBPDU送信機能が有効にされ、ツリーマネージャ1152内のBPDU送受信機11522のBPDU送信機能も有効にされている状態である。なお、BPDU送受信機11512およびBPDU送受信機11522のBPDU受信機能は、送信機能の有効もしくは無効に関わらず、常に有効である。
【0361】
以下、図18を参照にして、状態11645を基点としてコスト計算の流れを示すが、この動作は状態11646を基点とした場合においても、同様に適用可能である。
【0362】
メインコントローラ1164αは、状態11645に遷移した際、設定インタフェース118もしくはGVRP送受信機1162より、動的なコスト計算を利用する指定を受けた場合に、コスト参照タイマ1167をセットする。(状態11645)
メインコントローラ1164αは、コスト参照タイマ1167からタイマ満了の通知を受信すると、リソースモニタ119より累積通過バイト数の情報を受信すると同時に、カウンタリセット通知を出して、リソースモニタ119の累積通過バイト数を0にリセットさせる。さらに、前記累積通過バイト数もしくはTCPフロー数またはHTTPリクエスト数よりコストを計算し、結果を関数演算器1168に渡す。
【0363】
関数演算器1168は、メインコントローラ1164αより入力された値を、設定された関数により評価し、結果をメインコントローラ1164αに返却する。ここでは、比例関数が設定されており、ある入力値に対する出力値が同一になる例をとって解説する。
【0364】
メインコントローラ1164αは、関数演算器1168よりコストの評価結果を受け取ると、その値を平滑化回路1169に通知する。
【0365】
平滑化回路1169は、設定にしたがって入力値をローパスフィルタ等によって平滑化し、結果をメインコントローラ1164αに返却する。
【0366】
メインコントローラ1164αは、平滑化回路1169より平滑化完了後のコスト値を受信すると、このコスト値を予備系のツリーマネージャ1151に通知する。ツリーマネージャ1151は、このコスト情報を元に、スパニングツリーを再計算し、計算の結果、トポロジに変更があるか、ないかを、メインコントローラ1164αに通知する。(図18の状態1164A)
【0367】
メインコントローラ1164αは、状態1164Aにおいて、再計算後のツリーが計算前のツリーと同一もしくは、あらかじめ設定された変化よりも変化の度合いが小さい場合は、状態11645に遷移し、コスト参照タイマを再セットする。図18の状態遷移図では、一例として、わずかでも変化がある場合は、状態11645には遷移しない設定であるとして説明している。(状態1164A)
【0368】
メインコントローラ1164αは、状態1164Aにおいて、再計算後のツリーが計算前のツリーと異なる場合で、かつ、その変化があらかじめ設定された変化より大きいものであるとき、安定タイマ1165をセットし、タイマ満了後に状態1164Bに遷移する。図18の状態遷移図では、わずかでも変化がある場合には、1164Bに遷移する設定であるとして説明している。(状態1164A)
【0369】
メインコントローラ1164αは、安定タイマ1165の満了通知を受信すると、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。さらに、GVRP送受信機1162を通じて、新ツリーのルートノードに対して、利用タググループ変更通知を送信する。この利用タググループ変更通知の内容は、BPDUに反映され、全ノードに伝達される。その後、安定タイマ1165を作動させ、状態11646に遷移する。(状態1164B)
【0370】
メインコントローラ1164αは、安定タイマ1165の満了通知を受信すると、ツリーマネージャ1152に対して新規コストの通知を行い、新たに計算したコスト情報を元に、スパニングツリーを再計算させる。また、コスト参照タイマ1167をスケジュールする。(状態11646)
【0371】
次に図7を利用して、本実施の形態において、ノード15からノード13への転送経路が変更される場合の、スパニングツリー切り替え動作について、具体例を用いて詳細に説明する。
【0372】
図7を参照すると、本動作例では、ノード11〜16、クライアント91〜96、双方向リンク81〜86、および、双方向リンク21〜28を含む。
【0373】
ノード11にはリンク81によりクライアント91が、ノード12にはリンク82によりクライアント92が、ノード13にはリンク83によりクライアント93が、ノード14にはリンク84によりクライアント94が、ノード15にはリンク85によりクライアント95が、ノード16にはリンク26によりクライアント96が、それぞれ接続されている。
【0374】
ノード11とノード12の間はリンク21で、ノード12とノード13の間はリンク22で、ノード13とノード14の間はリンク23で、ノード11とノード15の間はリンク24で、ノード15とノード16の間はリンク25で、ノード16とノード14の間はリンク26で、ノード12とノード15の間はリンク27で、ノード13とノード16の間はリンク28で、それぞれ接続されている。
【0375】
ノード11〜16の全ポートが所属するタググループが2つすでに設定されており、1つめのタググループをタググループ41、2つめのタググループをタググループ42と呼ぶ。
【0376】
ノード11〜16には、独立して動作するスパニングツリー回路が2つ存在し、タググループ41上で動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶ。
【0377】
図7において、ツリー41は、ノード13をルートノードとし、すべてのリンクに等しく10に設定された初期コストを用いて、すでに安定しているとする。ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0378】
現在、クライアントからノード11〜16に送信されたデータには、現用系であるタググループ41のタグが付加されている。このタグが付加されたデータは、ツリー51に沿って転送されている。
【0379】
初期状態では、クライアント91〜96のうち、どのクライアントもデータ転送を行っていない。
【0380】
各ノードは、一定時間ごとに、Hello Timeで規定される周期でBPDUを送受信することにより、BPDUの状態を確認している。このフレームには、現用系と予備系の識別フラグがあり、現在は現用系であるタググループ41のタグが付加されたBPDUのみに、現用系のフラグがつき、予備系であるタググループ42のタグが付加されたBPDUには、現用系を示すフラグは付加されない。本例においては、現用系であるタググループ41のタグが付加されたBPDUのみにフラグが付く場合を用いて説明するが、本例とは逆に、現用系であるタググループ41のタグが付加されたBPDUには、現用系を示すフラグを付加せず、予備系であるタググループ42のタグが付加されたBPDUに、現用系を示すフラグを付加することも可能である。
【0381】
各ノードは、設定インタフェース118もしくはGVRP送受信機1162より、すでに動的なコスト計算を利用する指定を受けているため、コスト参照タイマが満了するごとに、前回のタイマ満了以降にリンクを流れたフレームの流量を参照し、コストの再計算および、予備系ツリーを用いたスパニングツリーの再計算を行う。
【0382】
ここで、クライアント95からクライアント93、および、クライアント96からクライアント93との間で、データ転送を開始したとする。
【0383】
転送初期においては、クライアント95からクライアント93へのデータは、ツリー51を利用し、リンク85、25、28、83を経由して転送される。また、クライアント96からクライアント93へのデータも、ツリー51を利用し、リンク86、28、83を経由して転送される。
【0384】
データ転送から一定時間が経過すると(各ノードのコスト参照タイマ1167が満了すると)、リンク21〜28の空き容量をもとに、ツリー52におけるリンク21〜28のコストが再計算され、関数演算器および平滑化回路にかけられる。ここで、リンク28の空き帯域は少なくなっているため、ノード16によりツリー52のリンク28のコストは15に、リンク25の空き帯域は、リンク28ほどではないが少なくなっているため、ノード15によりツリー52のリンク25のコストは12に、それぞれ変更されたとする。このとき、現在使用している、ツリー51のコストは変更されない。
【0385】
ノード16は、コスト変更を検知し、変更後のコストを利用して作成したBPDU(図5のRoot path Cost 22056の値が変更される)を、隣接するノード13、ノード14、ノード15に対して、それぞれ送信する。このBPDUにはタググループ42のタグが付加される。
【0386】
ノード15も同様に、コスト変更を検知し、変更後のコストを利用して作成したBPDUを、隣接するノード11、ノード12、ノード16に対して、それぞれ送信する。
【0387】
ノード15は、ノード16からコスト15が付加されたBPDUを受信すると、リンク25のコストも加算し、リンク25、リンク28経由でノード13に到達するために、コスト27がかかることを認識する。
【0388】
その後ノード15は、ノード12から、コスト10が付加されたBPDUを受信すると(ノード12は、ルートノード(ノード13)までのコストを、定期的に隣接ノード(ノード11、およびノード15)に送信する)、リンク27のコストも加算し、リンク27、リンク22経由でノード13に到達するために、コスト20がかかることを認識する。このコストは、リンク25経由のコストよりも小さいため、ノード15は停止ポートをリンク27側からリンク25側に切り替え、リンク27およびリンク22を利用して、リンク13に到達するツリーを形成する。リンク27、22経由のツリーを作成するときにもスパニングツリープロトコルが使用される。そして、安定タイマ1165を起動し、ツリーが安定するのを待つ。
【0389】
ここで、ツリー52が、ノード13をルートノードとして安定したとする。
【0390】
ツリー51のルートノードであるノード13は、図13の安定タイマ1165が満了すると、ツリー形成が安定したと判断し、新ツリーとなるツリー52のルートノードであるノード13に対して、転送に利用する現用系ツリーをツリー51からツリー52に切り替えるよう命令する、タググループ変更メッセージを送信する。その後、安定タイマ1165を作動させる。
【0391】
ツリー52のルートノードであるノード13は、ツリー切替メッセージを受信すると、旧現用系ツリーであるツリー41のルートであるノード13に対して、転送に利用する現用系ツリーをツリー51からツリー52に切り替えるよう命令する、タググループ変更メッセージを送信する。この利用タググループ変更通知の内容は、ノード13から送信される、ツリー51およびツリー52の各BPDUに反映され、全ノードに伝達される。
【0392】
ノード13は、旧現用系ルートノードへのタググループ変更メッセージの送信を完了させると、自ノードがクライアント93より受信して、ネットワーク内に送信するフレームの転送に利用するツリーを、今まで利用していたツリー51からツリー52へ切り替える。切り替えが完了すると、クライアント93からクライアント95に向けて送信されていたフレームは、リンク83、リンク22、リンク27、リンク85を経由して、クライアント95に転送されるようになる。
【0393】
このようにして、クライアント93からクライアント95、および、クライアント93からクライアント96に向けて送信されるフレームの転送経路は分散され、リンク28の混雑が解消される。
【0394】
以降、コスト参照タイマが満了するごとに、リンクの空き帯域に基づくコスト計算によってスパニングツリーが再計算され、周期的に空き帯域をコストに反映する動的な経路変更が行われる。この結果、各リンクのトラフィックが分散され、リンクの負荷を分散し、輻輳を防止することができる。
【0395】
次に、本実施の形態の効果について説明する。
【0396】
従来、リンク容量を用いてコストを計算し、スパニングツリー構築時の経路選択に利用しているため、トラフィックに応じた動的な負荷分散のための経路変更ができなかった。
【0397】
本実施の形態では、リンクコストを、空き帯域やサーバ負荷等の動的情報によって計算することにより、トラフィックの負荷分散が可能である。
【0398】
また従来、コストをトラフィック状況に応じて動的に変化させようとすると、局所的もしくはネットワーク全体で、データフレームの転送を停止させてスパニングツリーを構築しなおして経路を変更するため、再構築中にネットワークが停止する場合があった。
【0399】
本実施の形態では、変更前のツリーを運用したまま、コスト変更後のツリーを生成し、新規ツリーの安定後に利用するツリーを切り替えることにより、経路変更にともなうスパニングツリー再構成のために、ネットワークを停止させることなく負荷分散が可能である。
またこの結果、輻輳発生の可能性を下げることが可能である。
【0400】
以下、本発明の第3の実施の形態について、図面を参照して詳細に説明する。
【0401】
本発明の第3の実施の形態は、第2の実施の形態において、コストが変更されたかされなかったかに関わらず、現用系と予備系の遷移を行う点が異なる。なお、以降は空き帯域の容量をコストとして用いた場合について記述するが、通過TCPフロー数およびHTTPリクエスト数についても、特に断りのない限り同様に実現可能である。
【0402】
図19を参照すると、本発明の第3の実施の形態は、第2の実施の形態における図18において、状態1164Aと状態1164Bの間の遷移が発生しないこと、ならびに、状態11643と状態11644の間の遷移および、状態11647と状態11648の間の遷移が、安定タイマ1165の満了によって起こるのではなく、BPDU中の現用系フラグの切り替え検出によって発生する点が異なる。
【0403】
第3の実施の形態におけるメインコントローラ1164βは、リソースモニタ119より新たにネットワークに接続されたことの通知を受信すると、ツリーマネージャ1151もしくはツリーマネージャ1152からの現用系通知の到着を待つ。ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信すると、前記通知において指定されたツリーマネージャ1151もしくはツリーマネージャ1152を現用に、予備用に指定されたツリーマネージャ1151もしくは1152を予備用に設定し、状態11642もしくは状態11649に遷移する。ここでは、状態11642に遷移した場合を例に解説するが、今後の解説は状態11649に遷移した場合においても同様である。(図19の状態11641)
【0404】
メインコントローラ1164βは、ツリーマネージャ1151を現用、ツリーマネージャ1152を予備用に設定する。さらに、前記各ツリーマネージャ1151および1152に対して、BPDU送信停止命令を出す。(図19の状態11642)
【0405】
メインコントローラ1164βは、状態11642において、もし設定インタフェース118よりノードの追加要求を受信した場合は、状態11643に遷移する。また、もしツリーマネージャ1151もしくはツリーマネージャ1152より現用系通知を受信し、現用系と予備系の関係に変更があった場合には、状態11649に遷移する。(図19の状態11642)
【0406】
メインコントローラ1164βは、ツリーマネージャ1152に対してリンクupの通知を行い、同時に、ツリーマネージャ1152に対してBPDUの送信許可を行う。さらに、安定タイマ1165を作動させる。(図19の状態11643)
メインコントローラ1164βは、状態11643において、ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信し、もし現用系と予備系の関係に変更が生じた場合には、現用に登録されているツリーマネージャ1151と、予備用に登録されているツリーマネージャ1152を入れ替え、新しく現用をツリーマネージャ1152、予備用をツリーマネージャ1151とする。その後、安定タイマ1165を作動させる。(図19の状態11644)
【0407】
メインコントローラ1164βは、安定タイマ1165よりタイマ満了通知を受信すると、ツリーマネージャ1151に対してリンクupの通知を行い、同時に、ツリーマネージャ1152に対してBPDUの送信許可を行う。通常は、この状態で安定する。(図19の状態11645)
【0408】
状態11645において、もし現用であるツリーマネージャ1152がルートノードとなっている場合、このノードのメインコントローラ1164βは、安定タイマ1165を動作させ、安定タイマ1165よりタイマ満了通知を受信すると、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。さらに、GVRP送受信機1162を通じて、新ツリーのルートノードに対して、利用タググループ変更通知を送信する。この利用タググループ変更通知の内容は、BPDUに反映され、全ノードに伝達される。(図19の状態11645)
【0409】
前記ツリーマネージャの入れ替えは、予備用であるツリーマネージャ1151が行っても良い。この場合、状態11645において、もし予備用であるツリーマネージャ1151がルートノードとなっている場合、ノードのメインコントローラ1164は、安定タイマ1165を動作させ、安定タイマ1165よりタイマ満了通知を受信すると、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。さらに、GVRP送受信機1162を通じて、旧現用ツリーのルートノードに対して、利用タググループ変更通知を送信する。この利用タググループ変更通知の内容は、BPDUに反映され、全ノードに伝達される。(図19の状態11645)
【0410】
メインコントローラ1164βは、状態11645において、ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信し、もし現用系と予備系の関係に変更が生じた場合には、状態11646に遷移する。そして、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。(図19の状態11645)
【0411】
メインコントローラ1164βは、状態11645において、もし設定インタフェース118より、ノード削除要求を受信した場合は、状態11644に遷移する。(図19の状態11645)
【0412】
メインコントローラ1164βは、ツリーマネージャ1151に対して、接続されている全リンクリンクdownの通知を行い、同時に、ツリーマネージャ1151に対してBPDUの送信停止命令を出す。(図19の状態11644)
【0413】
メインコントローラ1164βは、状態11644において、ツリーマネージャ1151もしくはツリーマネージャ1152よりBPDUに含まれる現用系通知を受信し、もし現用系と予備系の関係に変更が生じた場合には、状態11643に遷移し、現用に登録されているツリーマネージャ1152と、予備用に登録されているツリーマネージャ1151を入れ替え、新しく現用をツリーマネージャ1151、予備用をツリーマネージャ1152とする。その後、安定タイマ1165を作動させる。(図19の状態11643)
【0414】
メインコントローラ1164βは、安定タイマ1165よりタイマ満了通知を受信すると、ツリーマネージャ1151に対してリンクdownの通知を行い、同時に、ツリーマネージャ1151に対してBPDUの受信停止命令を出す。さらに、無条件で状態11641に遷移し、ノード切離しまで待機する。(図19の状態11642)
【0415】
メインコントローラ1164βは、設定インタフェース118もしくはGVRP送受信機1162より、動的なコスト計算を利用する指定を受けた場合には、利用タググループ変更通知の受信から一定時間経過後に満了となるよう、コスト参照タイマ1167をセットする。(図19の状態11645)
【0416】
メインコントローラ1164βは、コスト参照タイマ1167からタイマ満了の通知を受信すると、リソースモニタ119より累積通過バイト数の情報を受信すると同時に、カウンタリセット通知を出して、リソースモニタ119の累積通過バイト数を0にリセットさせる。さらに、前記累積通過バイト数もしくはTCPフロー数またはHTTPリクエスト数よりコストを計算し、予備系であるツリーマネージャ1151通知する。ツリーマネージャ1151は、新たに計算したコスト情報を元に、スパニングツリーを再計算し、計算の結果、トポロジに変更があるか、ないかを、メインコントローラ1164βに通知する。そして、無条件で状態11645に遷移する。(図19の状態1164A)
【0417】
図14および図15を参照して、本実施の形態において、ノード17を追加する場合の動作について、具体例を用いて詳細に説明する。
【0418】
図14を参照すると、本動作例では、ノード11〜17、およびリンク21〜30を有する。ただし、ノード17、リンク29およびリンク30は、初期状態では接続されていない。
【0419】
図15を参照すると、本動作例では、ノード11〜17、およびリンク21〜30を有する。
【0420】
初期状態でノード11〜16の全ノード、全ポートが所属するタググループが2つすでに設定されており、1つめのタググループをタググループ41、2つめのタググループをタググループ42と呼ぶ。
【0421】
なお、基本的には全ノード、全ポートを2つのタググループに加入させるが、一部のポートもしくはノードのみで構成させるタググループを作成しても良い。以降、全ノード、全ポートが2つのタググループに加入するものとして説明する。
【0422】
ノード11〜16には、独立して動作するスパニングツリー回路が2つ存在し、タググループ41上で動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶ。
【0423】
スパニングツリーは必ず2系統作成するが、タググループは必ずしも2つ作成する必要は無い。前記タググループ41のみ設定してタググループ42を利用せず、タググループ41上で動作するスパニングツリーをツリー51、タググループに属さないで動作するスパニングツリーをツリー52と呼ぶこともできる。また逆に、前記タググループ42のみ設定してタググループ41を利用せず、タググループに属さないで動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶこともできる。
【0424】
ここでは、特にタググループ41とタググループ42の両方を用いた場合について説明を行うが、タググループ41及びタググループ42の両方を用いた場合の動作は、タググループ41のみ、もしくはタググループ42のみを用いた場合においても、同様に適用可能である。
【0425】
図14では、ツリー51は太線で表され、ノード11をルートノードとして安定しているとする。
【0426】
ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0427】
現在、クライアントからノード11〜16に送信されたデータには、タググループ41のタグが付加されている。このタグが付加されたデータは、ツリー51に沿って転送されている。
【0428】
ノード17は、リンク29およびリンク30と接続されると、どのタググループにも加入せず、BPDUの受信を開始する。
【0429】
ノード17は、各タググループのBPDUを受信すると、現時点での現用系がタググループ41で、現時点での予備系がタググループ42であると確認する。そして、自ノードをタググループ42にのみ参加させてBPDUの送受信を行い、タググループ41ではBPDUは受信のみ行い、送信を行わないように設定する。
【0430】
ノード17が追加されると、タググループ42のメンバに変更が発生するため、スパニングツリープロトコルにより、ツリー52を更新する動作が開始される。タググループ41のメンバには変更が無いため、ツリー51は更新されない。
【0431】
クライアントから送信されるフレームには、今までどおりタググループ41のタグが付加され、ツリー51に沿って転送され続ける。
【0432】
現用系ツリーであるツリー51のルートノードとなっているノード11は、安定タイマが満了すると、ツリー51のルートノードであるノード11に対して利用タググループ変更通知を送信し、ツリー51を予備系に遷移させるよう命令する。そして、タググループ42のフラグを付け、ツリー52のために送信するBPDUに、現用系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0433】
ノード11は、現用系フラグの付加状況の変更を感知し、ツリー51を予備系に遷移させ、タググループ41のフラグを付け、ツリー51のために送信するBPDUに、予備系フラグを立てる。BPDUは、各ノードで転送されながら、全ノードに伝播する。
【0434】
ノード11〜17は、タググループ42のタグが付いたBPDUに現用系フラグが付加させたのを確認し、クライアントより転送されてくるフレームに付加するタグを、タググループ41からタググループ42に切り替える。このタグが付加されたフレームは、ツリー52に沿って転送される。
【0435】
以上の切り替えが完了してしばらく経つと、ツリー51を流れるフレームはなくなる。
【0436】
ノード17は、利用タググループ変更通知の送信から一定時間経過後に、タググループ41のタグを付加するノードが存在しなくなったと判断し、自ノードをタググループ41に加入させ、次のトポロジ変更に備える。
【0437】
以上のようにして、ネットワークを停止させることなく、ノード17を追加することができた。以降ノードの追加の際は、同様の動作を繰り返す。ただし、上記説明文中のタググループ41とタググループ42は入れ替わる。
【0438】
次に図7を利用して、本実施の形態において、ノード15からノード13への転送経路が変更される場合の、スパニングツリー切り替え動作について、具体例を用いて詳細に説明する。
【0439】
図7を参照すると、本動作例では、ノード11〜16、クライアント91〜96、双方向リンク81〜86、および、双方向リンク21〜28を含む。
【0440】
ノード11にはリンク81によりクライアント91が、ノード12にはリンク82によりクライアント92が、ノード13にはリンク83によりクライアント93が、ノード14にはリンク84によりクライアント94が、ノード15にはリンク85によりクライアント95が、ノード16にはリンク26によりクライアント96が、それぞれ接続されている。
【0441】
ノード11とノード12の間はリンク21で、ノード12とノード13の間はリンク22で、ノード13とノード14の間はリンク23で、ノード11とノード15の間はリンク24で、ノード15とノード16の間はリンク25で、ノード16とノード14の間はリンク26で、ノード12とノード15の間はリンク27で、ノード13とノード16の間はリンク28で、それぞれ接続されている。
【0442】
ノード11〜16の全ポートが所属するタググループが2つすでに設定されており、1つめのタググループをタググループ41、2つめのタググループをタググループ42と呼ぶ。
【0443】
ノード11〜16には、独立して動作するスパニングツリー回路が2つ存在し、タググループ41上で動作するスパニングツリーをツリー51、タググループ42上で動作するスパニングツリーをツリー52と呼ぶ。
【0444】
ツリー41は太線で表され、ノード13をルートノードとし、すべてのリンクに等しく10に設定された初期コストを用いて、すでに安定しているとする。ツリー51のBPDUにはタググループ41のタグが、ツリー52のBPDUにはタググループ42のタグがつく。
【0445】
現在、クライアントからノード11〜16に送信されたデータには、現用系であるタググループ41のタグが付加されている。このタグが付加されたデータは、ツリー51に沿って転送されている。
【0446】
初期状態では、クライアント91〜96のうち、どのクライアントもデータ転送を行っていない。
【0447】
各ノードは、一定時間ごとに、HELLOフレームを送信し、BPDUの状態を確認している。このフレームには、現用系と予備系の識別フラグがあり、現在は現用系であるタググループ41のタグが付加されたBPDUのみに、現用系のフラグがつき、予備系であるタググループ42のタグが付加されたBPDUには、現用系を示すフラグは付加されない。
【0448】
各ノードは、設定インタフェース118もしくはGVRP送受信機1162より、すでに動的なコスト計算を利用する指定を受けているため、コスト参照タイマが満了するごとに、前回のタイマ満了以降にリンクを流れたフレームの流量を参照し、コストの再計算および、予備系ツリーを用いたスパニングツリーの再計算を行う。
【0449】
ここで、クライアント95からクライアント93、および、クライアント96からクライアント93との間で、データ転送を開始したとする。
【0450】
転送初期においては、クライアント95からクライアント93へのデータは、ツリー51を利用し、リンク85、25、28、83を経由して転送される。また、クライアント96からクライアント93へのデータも、ツリー51を利用し、リンク86、28、83を経由して転送される。
【0451】
データ転送から一定時間が経過すると、リンク21〜28の空き容量をもとに、ツリー52におけるリンク21〜28のコストが片側ずつ再計算される。ここで、リンク28の空き帯域は少なくなっているため、ノード16によりツリー52のリンク28のコストは15に、リンク25の空き帯域は、リンク28ほどではないが少なくなっているため、ノード15によりツリー52のリンク25のコストは12に、それぞれ変更されたとする。このとき、現在使用している、ツリー51のコストは変更されない。
【0452】
ノード16は、コスト変更を検知し、変更後のコストを利用して作成したBPDUを、隣接するノード13、ノード14、ノード15に対して、それぞれ送信する。
【0453】
ノード15も同様に、コスト変更を検知し、変更後のコストを利用して作成したBPDUを、隣接するノード11、ノード12、ノード16に対して、それぞれ送信する。
【0454】
ノード15は、ノード16からコスト15が付加されたBPDUを受信すると、リンク25のコストも加算し、リンク25、リンク28経由でノード13に到達するために、コスト27がかかることを認識する。
【0455】
その後ノード15は、ノード12から、コスト10が付加されたBPDUを受信すると、リンク27のコストも加算し、リンク27、リンク22経由でノード13に到達するために、コスト20がかかることを認識する。このコストは、リンク25経由のコストよりも小さいため、ノード15は停止ポートをリンク27側からリンク25側に切り替え、リンク27およびリンク22を利用して、リンク13に到達するツリーを形成する。
【0456】
ツリー51のルートノードであるノード13において起動していたトポロジ安定タイマが満了すると、旧現用系ツリーであるツリー41のルートであるノード13に対して、転送に利用する現用系ツリーをツリー51からツリー52に切り替えるよう命令する、タググループ変更メッセージを送信する。この利用タググループ変更通知の内容は、ノード13から送信される、ツリー51およびツリー52の各BPDUに反映され、全ノードに伝達される。
【0457】
ノード13は、旧現用系ルートノードへのタググループ変更メッセージの送信を完了させると、自ノードがクライアント93より受信して、ネットワーク内に送信するフレームの転送に利用するツリーを、今まで利用していたツリー51からツリー52へ切り替える。切り替えが完了すると、クライアント93からクライアント95に向けて送信されていたフレームは、リンク83、リンク22、リンク27、リンク85を経由して、クライアント95に転送されるようになる。
【0458】
このようにして、クライアント93からクライアント95、および、クライアント93からクライアント96に向けて送信されるフレームの転送経路は分散され、リンク28の混雑が解消される。
【0459】
以降、コスト参照タイマが満了するごとに、リンクの空き帯域に基づくコスト計算によってスパニングツリーが再計算され、周期的に空き帯域をコストに反映する動的な経路変更が行われる。この結果、各リンクのトラフィックが分散され、リンクの負荷を分散し、輻輳を防止することができる。
【0460】
次に、本実施の形態の効果について説明する。
【0461】
従来、リンク容量を用いてコストを計算し、スパニングツリー構築時の経路選択に利用しているため、トラフィックに応じた動的な負荷分散のための経路変更ができなかった。
【0462】
本実施の形態では、リンクコストを、空き帯域やサーバ負荷等の動的情報によって計算することにより、トラフィックの負荷分散が可能である。
【0463】
また従来、コストをトラフィック状況に応じて動的に変化させるたびに、局所的もしくはネットワーク全体で、データフレームの転送を停止させてスパニングツリーを構築しなおして経路を変更するため、再構築中にネットワークが停止する場合があった。
【0464】
本実施の形態では、変更前のツリーを運用したまま、コスト変更後のツリーを生成し、新規ツリーの安定後に利用するツリーを切り替えることにより、経路変更にともなうスパニングツリー再構成のために、ネットワークを停止させることなく負荷分散が可能である。
またこの結果、輻輳発生の可能性を下げることが可能である。
【0465】
以下、本発明の第4の実施の形態について、図面を参照して詳細に説明する。
【0466】
本発明の第4の実施の形態は、第1の実施の形態において、宛先ノード別に利用するタグおよびスパニングツリーを切り替え、さらに、宛先のノードをルートノードに設定する場合に対応する。
【0467】
IEEE802.1DおよびIEEE802.1Wが動作しているネットワークにおいてフレームを送信した場合、宛先への最低コスト経路が必ずしも選択されるとは限らず、使用されないリンクが出現するほか、ルートノードに負荷が集中する、ルートノード障害時に長時間ネットワークが停止するなどの問題があった。
【0468】
本実施の形態においては、宛先がルートノードとなるツリーを用いてフレームを転送することで、宛先への最低コストによるフレーム伝送のほか、リンク利用率の向上、さらにはルートノード障害への耐性強化を行う。
【0469】
図20を参照すると、本発明の第4の実施の形態は、第1の実施の形態における図8において、ツリーマネージャ1151が、ネットワークに存在するノードの数だけ設置されている点において異なる。
【0470】
ツリーマネージャ1151は、本発明の第1の実施の形態における図8に示すツリーマネージャ1151と同様の機能を有する。
【0471】
ツリーマネージャ1152および、ツリーマネージャ1153は、ツリーマネージャ1151と同様のツリーマネージャである。今後はツリーマネージャ1151〜ツリーマネージャ1153を代表してツリーマネージャ1151を用いて記述を行うが、ツリーマネージャ1151についての記述は、特に断りのない限りツリーマネージャ1152〜ツリーマネージャ1153においても同様に適用可能である。
【0472】
ツリーマネージャはツリーセレクタ116によって、ネットワーク内に存在するノードの数、もしくは、サブネット等を区切り階層化している場合は、同一階層内に存在するノードの数だけ作成される。したがって、ツリーマネージャは、1個以上無限大まで増える可能性があるが、図20においては前記ツリーマネージャを、ツリーマネージャ1151〜1153としてまとめて表現する。
【0473】
図20のツリーセレクタ116は、本発明の第1の実施の形態における図8に示すツリーセレクタ116の機能のほか、ネットワークもしくは階層内に新規ノードの存在を検出した場合に、新規のツリーマネージャを生成する機能を有する。また、前記新規ノードの検出を、他のノードに対して通知する機能、および、他のノードから新規ノードの検出通知を受信し、ツリーマネージャを生成する機能を有する。さらに、ノードの削除を検出して、ツリーマネージャを削除する機能、前記削除ノードの検出を他のノードに対して通知する機能、および、他のノードからノードの削除通知を受信し、ツリーマネージャを削除する機能を有する。
【0474】
図21は、本実施の形態の図20における、タグをキーとして出力ポートを決定する、フォワーディングテーブル114の構成例である。
【0475】
タグフィールド1141は、サーチのインデックスになるフィールドであり、このフィールドの情報と、受信したフレームのタグに書かれている内容が一致するかどうかを調べる。
【0476】
出力ポート1142は、受信したフレームのタグに書かれている内容とタグにフィールド1141の内容が一致した場合に、前記フレームをどのポートに転送すべきか記述するフィールドである。例えば、図21は、フォワーディングテーブル114に、受信したフレームのタグに、タググループ41を示す値が書かれていた場合には、Port1に当該受信フレームを出力し、受信したフレームのタグに、タググループ42を示す値が書かれていた場合には、Port2に当該受信フレームを出力し、同様に、受信フレームのタグがタググループ43を示す値であればPort2に、受信フレームのタグがタググループ44を示す値であればPort1に出力することを指定する情報、が記憶されている状態を示している。
【0477】
なお、本実施の形態は、本動作例に示すような、タグの内容によって転送先ポートを決定するタグフォワーディングを行う場合のみならず、従来より行われている、MACアドレスによって転送先を決定する通常のMACアドレス転送においても、同様に適用可能である。この場合は、出力ポートフィールド1142に、対応するMACアドレスに対応する複数のポートが記載される場合もある。
【0478】
図22は、本実施の形態の図20における、宛先MACアドレスをキーとして挿入するタグを決定する、タグテーブル117の構成例である。
【0479】
宛先MACアドレス1171は、サーチのインデックスになるフィールドであり、このフィールドの情報と、受信したフレームの宛先MACアドレスフィールド、すなわち、MAC DAフィールドに書かれている内容が一致するかどうか調べ、一致した場合には、前記受信フレームに対して、挿入タグフィールド1172に記載のタグを挿入する。
【0480】
挿入タグフィールド1172は、宛先MACアドレスフィールド1171に対する、挿入すべきタグが記載されるフィールドである。本実施例では、宛先ノードIDが記載されており、このIDが、タグとしてフレームに挿入される。例えば、図22は、MACアドレス91A,91Cのクライアントが共にノード11に接続されており、MACアドレス92Bのクライアントはノード12に接続されており、またMACアドレス93Xのクライアントはノード13に接続されている場合において、ノード11に対応するタググループがタググループ41、ノード12に対応するタググループがタググループ42、ノード13に対応するタググループがタググループ43となる場合を想定している。
【0481】
ここで、宛先MACアドレスが91Aまたは91Cであるフレームのタグには、ノード11に対応するタググループである、タググループ41を示す値が挿入し、宛先MACアドレスが92Bであるフレームのタグには、ノード12に対応するタググループである、タググループ42を示す値が挿入し、宛先MACアドレスが93Xであるフレームのタグには、ノード13に対応するタググループである、タググループ43を示す値が挿入することを指定する情報、が記憶されている状態を示している。
【0482】
図23は、ノード11をルートノードとするスパニングツリーの構成図である、ツリー61の構成図である。ツリー61は、ノード11のプライオリティ値を、ノード12〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー61は、ノード11に向かうフレームの送信および、ノード11よりノード12〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0483】
図24は、ノード12をルートノードとするスパニングツリーの構成図である、ツリー62の構成図である。ツリー62は、ノード12のプライオリティ値を、ノード11およびノード13〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー62は、ノード12に向かうフレームの送信および、ノード12よりノード11およびノード13〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0484】
図25は、ノード13をルートノードとするスパニングツリーの構成図である、ツリー63の構成図である。ツリー63は、ノード13のプライオリティ値を、ノード11〜ノード12およびノード14〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー63は、ノード13に向かうフレームの送信および、ノード13よりノード11〜ノード12およびノード14〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0485】
図26は、ノード14をルートノードとするスパニングツリーの構成図である、ツリー64の構成図である。ツリー64は、ノード14のプライオリティ値を、ノード11〜ノード13およびノード15〜ノード16の各ノードよりも小さい値に設定して作成される。ツリー64は、ノード14に向かうフレームの送信および、ノード14よりノード11〜ノード13およびノード15〜ノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0486】
図27は、ノード15をルートノードとするスパニングツリーの構成図である、ツリー65の構成図である。ツリー65は、ノード15のプライオリティ値を、ノード11〜ノード14およびノード16の各ノードよりも小さい値に設定して作成される。ツリー65は、ノード15に向かうフレームの送信および、ノード15よりノード11〜ノード14およびノード16の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0487】
図28は、ノード16をルートノードとするスパニングツリーの構成図である、ツリー66の構成図である。ツリー66は、ノード16のプライオリティ値を、ノード11〜ノード15よりも小さい値に設定して作成される。ツリー66は、ノード16に向かうフレームの送信および、ノード16よりノード11〜ノード15の各ノードに対して、ブロードキャストフレームを送信する場合に利用される。
【0488】
次に、図23〜図28を利用して、ノード13が、ノード11〜12およびノード14〜16ですでに構成されているネットワークに、新たに追加された場合の、ツリー63の作成動作について説明する。
【0489】
前記ネットワークにノード13が追加されると、ノード13は隣接ノードより送信されるBPDUフレームを受信して、新たに検出した識別タグごとにツリーマネージャを生成する。この例では、ノード11〜12およびノード14〜16の各ノードをルートノードとする、5個のツリーマネージャが生成される。
【0490】
次に、ノード13は、ノードIDよりタグIDを生成し、自ノードのプライオリティ値を低く設定したツリーマネージャを生成し、そのツリーマネージャから出力されるBPDUフレームに対して、前記タグIDを付加して送信する。ここで、タグIDは43であったとする。
【0491】
ノード12およびノード16は、タグIDが43のBPDUを新たに受信し、ツリーマネージャを生成してから、タグID43を付加したBPDUを隣接ノードに対して送信する。
【0492】
以上のBPDU送信動作が繰り返されることにより、ツリー63が完成する。
【0493】
次に、図23〜図28を参照して、前記の各図におけるノード11〜ノード16の各ノードが、ノード11〜ノード16の各ノードにフレームを送信する場合の手順について述べ、送信したフレームが最低コスト経路で宛先へ届けられること、並びに、リンク資源の負荷分散が行われていることを示す。なお、各リンクのコストは等しく、すでに各図におけるツリー61〜ツリー66の各ツリーは構成が完了し、トポロジが安定しているとする。
【0494】
ノード12〜ノード16の各ノードから、ノード11へフレームを送信する場合は、ツリー61を使用する。例えば、ノード15からノード11へフレームを送信する場合は、ノード15は、データフレームにツリー61の識別タグであるタグID41を付加して送信する。
【0495】
ノード11およびノード13〜ノード16の各ノードから、ノード12へフレームを送信する場合は、ツリー62を使用する。例えば、ノード14からノード12へフレームを送信する場合は、ノード14は、データフレームにツリー62の識別タグであるタグID42を付加して送信する。
【0496】
ノード11〜ノード12およびノード14〜ノード16の各ノードから、ノード13へフレームを送信する場合は、ツリー63を使用する。例えば、ノード11からノード13へフレームを送信する場合は、ノード11は、データフレームにツリー63の識別タグであるタグID43を付加して送信する。
【0497】
ノード11〜ノード13およびノード15〜ノード16の各ノードから、ノード14へフレームを送信する場合は、ツリー64を使用する。例えば、ノード12からノード14へフレームを送信する場合は、ノード12は、データフレームにツリー64の識別タグであるタグID44を付加して送信する。
【0498】
ノード11〜ノード14およびノード16の各ノードから、ノード15へフレームを送信する場合は、ツリー65を使用する。例えば、ノード16からノード15へフレームを送信する場合は、ノード16は、データフレームにツリー65の識別タグであるタグID45を付加して送信する。
【0499】
ノード11〜ノード15の各ノードから、ノード16へフレームを送信する場合は、ツリー66を使用する。例えば、ノード14からノード16へフレームを送信する場合は、ノード14は、データフレームにツリー66の識別タグであるタグID46を付加して送信する。
【0500】
ノード11が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー61を使用する。例えば、ノード11は、宛先がブロードキャストとなるデータフレームに対して、ツリー61の識別タグであるタグID41を付加して送信する。
【0501】
ノード12が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー62を使用する。例えば、ノード12は、宛先がブロードキャストとなるデータフレームに対して、ツリー62の識別タグであるタグID42を付加して送信する。
【0502】
ノード13が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー63を使用する。例えば、ノード13は、宛先がブロードキャストとなるデータフレームに対して、ツリー63の識別タグであるタグID43を付加して送信する。
【0503】
ノード14が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー64を使用する。例えば、ノード14は、宛先がブロードキャストとなるデータフレームに対して、ツリー64の識別タグであるタグID44を付加して送信する。
【0504】
ノード15が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー65を使用する。例えば、ノード15は、宛先がブロードキャストとなるデータフレームに対して、ツリー65の識別タグであるタグID45を付加して送信する。
【0505】
ノード16が、フレームをネットワーク内の全ノードにブロードキャスト送信する場合は、ツリー66を使用する。例えば、ノード16は、宛先がブロードキャストとなるデータフレームに対して、ツリー66の識別タグであるタグID46を付加して送信する。
【0506】
以上に示す方法で送信時タグを付加してデータフレームを転送することで、前記データフレームを最低コスト経路で転送することができる。また、ルートノードが異なる複数のツリーを利用してフレームを転送するため、従来技術1および従来技術2に示したスパニングツリーのように、ルートノード付近にトラフィックが集中し、ルートノードから遠ざかるほどリンクの使用率が減るという現象が発生せず、トラフィックの負荷を分散できることがわかる。
【0507】
次に、図23〜図28において、ノードに障害が発生した場合の動作について、ノード12に障害が発生した場合を例にして説明する。なお、最初の状態では、ツリー61〜ツリー66は、すでに構築されて安定しているとする。
【0508】
ツリー61は、ノード12が障害によって停止すると、IEEE802.1Wで規定されるラピッドスパニングツリー方式により、ノード13からノード11へのルートとして、リンク25、リンク27、リンク26、リンク23を経由するルートが選ばれ、ノード11へのフレーム及び、ノード11から各ノードへブロードキャストされるフレームの転送が継続される。
【0509】
ツリー62は、ノード12が障害によって停止すると、ノード12がルートノードであるので、ツリーを再構成しなくてはならない。ノード12以外の別のノードがルートノードとなり、ノード12の回復前にツリー62の再構成が行われる。この再構成には、IEEE802.1Dでは数十秒、IEEE802.1Wでは数秒間かかるが、そもそもツリー62は、各ノードからルート12へ向けて送信されるフレーム、および、ルート12から各ノードに向けてブロードキャスト送信されるフレームのためのツリーなので、再構成に時間がかかっても、ノード12以外の他のノード間で行われる通信には影響を与えない。
【0510】
ツリー63は、ノード12が障害によって停止すると、IEEE802.1Wで規定されるラピッドスパニングツリー方式により、ノード11からノード13へのルートとして、リンク23、リンク26、リンク27、リンク25を経由するルートが選ばれ、ノード13へのフレーム及び、ノード13から各ノードへブロードキャストされるフレームの転送が継続される。
【0511】
ツリー64は、ノード12が障害によって停止すると、IEEE802.1Wで規定されるラピッドスパニングツリー方式により、ツリーが再構成され、各ノードからノード14へ送信されるフレーム及び、ノード14から各ノードへブロードキャストされるフレームの転送が継続される。
【0512】
ツリー65は、ノード12が障害によって停止すると、IEEE802.1Wで規定されるラピッドスパニングツリー方式により、ツリーが再構成され、各ノードからノード15へのフレーム及び、ノード15から各ノードへブロードキャストされるフレームの転送が継続される。
【0513】
ツリー66は、ノード12が障害によって停止すると、IEEE802.1Wで規定されるラピッドスパニングツリー方式により、ノード11からノード16へのルートとして、リンク23、リンク26、リンク27を経由するルートが選ばれ、ノード16へのフレーム及び、ノード16から各ノードへブロードキャストされるフレームの転送が継続される。
【0514】
次に、図29と図30を参照して、第1の実施の形態の図7におけるクライアントの一部が、デュアルホーミングによって、複数のノードと接続されている場合の、スパニングツリーの構成方法について述べる。
【0515】
図29において、クライアント97は、1つ以上のクライアントの集合であり、リンク87およびリンク88を通じて、ノード11およびノード16との間でフレームの送受信を行う機能を有する。
【0516】
リンク87は、クライアント97からノード15、及び、ノード15からクライアント97を結ぶ双方向リンクである。
【0517】
リンク88は、クライアント97からノード16、及び、ノード16からクライアント97を結ぶ双方向リンクである。
【0518】
図29におけるクライアント97のように、複数のノードと接続されたクライアント群が存在する場合は、前記クライアントを仮想的なノードとみなして、スパニングツリーの設定を行う。
【0519】
図30は、図29において、クライアント97を仮想ノード18と見立てた場合のネットワーク構成図である。
【0520】
スパニングツリー74は、ノード18をルートノードとするスパニングツリーである。ノード11〜ノード16の各ノードから、ノード18へ送信されたフレームは、スパニングツリー74を利用してノード18、つまりクライアント97に到着する。また、クライアント97、すなわちノード18から送信されたブロードキャストフレームも、スパニングツリー74に沿って、ノード11〜ノード16の各ノードにブロードキャストされる。
【0521】
なお、ノード18は仮想的なノードであり、ノード18の実際の動作は、ノード15もしくは16が代行して行う。ノード15とノード16のどちらがノード18の動作を代行するかは、設定インタフェース118による手動設定のほか、ノードIDの小さい方に自動設定、ノードIDの大きい方に自動設定するなどの方法で決定される。
【0522】
次に、図29を参照して、クライアント97が、リンク87およびリンク88を通じて、ノード15およびノード16とデュアルホーミング接続されている場合において、仮想ノードを設置することなく通信を行う方法について説明する。
【0523】
図29において、ノード15およびノード16は、設定インタフェースでの設定、もしくは、ラーニングによって、クライアント97が複数のノードに接続されていることを検知する。ノード15は、ノード16にクライアント97が接続されていることを検知する。ノード16は、ノード15にクライアント97が接続されていることを検知する。
【0524】
ノード15およびノード16は、相互で制御メッセージの交換を行い、クライアント97へのフレームを、ノード15もしくはノード16のどちらが転送するかを決定する。この転送ノードは、ノードIDの小さいノード、ノードIDの大きいノード、もしくは、設定で定められたノード等に決定される。
【0525】
転送ノードが決定すると、クライアント97はノード16のみに接続されているとみなされ、フレーム転送が開始される。ノード11〜ノード16は、クライアント97がノード16に接続されていると学習等で認識し、クライアント97宛のフレームを、ノード16をルートノードとするツリーの識別タグを付加して送信する。
【0526】
ノード15およびノード16は、常にKeep Alive等により相互に状況を監視しあう。もし、ノード15がノード16の動作を確認できないときは、ノード15はクライアント97からのフレームを、ノード11〜16に転送するようになる。すると、ノード11〜ノード16は、クライアント97から送信されたフレームに、ノードIDとして15が付加されていることを学習し、クライアント97宛のフレームをノード15に向けて送信するようになる。
【0527】
以上の動作により、クライアント97は、フレームを送受信することができる。以上の動作は、ノード15とノード16が入れ替わった場合においても、同様に適用可能である。
【0528】
次に、図29を参照して、クライアント97が、リンク87およびリンク88を通じて、ノード15およびノード16とデュアルホーミング接続されている場合において、仮想ノードを設置することなく通信を行い、また、障害検出ノードがネットワーク内の全ノードに対して切替通知を送信することで、クライアント97の接続先が変更されたことを高速に通知する方法について説明する。
【0529】
図29において、ノード15およびノード16は、設定インタフェース118での設定、もしくは、ラーニングによって、クライアント97が複数のノードに接続されていることを検知する。ノード15は、ノード16にクライアント97が接続されていることを検知する。ノード16は、ノード15にクライアント97が接続されていることを検知する。
【0530】
ノード15およびノード16は、相互で制御メッセージの交換を行い、クライアント97へのフレームを、ノード15もしくはノード16のどちらが転送するかを決定する。この転送ノードは、ノードIDの小さいノード、ノードIDの大きいノード、もしくは、設定で定められたノード等に決定される。
【0531】
転送ノードが決定すると、クライアント97はノード16のみに接続されているとみなされ、フレーム転送が開始される。ノード11〜ノード16は、クライアント97がノード16に接続されていると学習等で認識し、クライアント97宛のフレームを、ノード16をルートノードとするツリーの識別タグを付加して送信する。
【0532】
ノード15およびノード16は、常にKeep Alive等により相互に状況を監視しあう。もし、ノード15がノード16の動作を確認できないときは、ノード15はクライアント97からのフレームを、ノード11〜16に転送するようになる。さらに、ノード15は、クライアント97宛のフレーム転送を、ノード16に代わってノード15が受け持つようになったことを、ネットワーク内の全ノードに通知する。
【0533】
ノード11〜ノード16は、前記通知を受け取り、クライアント97宛てのフレームに対してノード15宛のタグを挿入し、クライアント97宛のフレームをノード15に向けて送信するようになる。
【0534】
以上の動作により、クライアント97は、フレームを送受信することができる。以上の動作は、ノード15とノード16が入れ替わった場合においても、同様に適用可能である。
【0535】
次に、本実施の形態の効果について説明する。
【0536】
従来、宛先への最低コスト経路が必ずしも選択されるとは限らなかった。
【0537】
本実施の形態では、宛先がルートノードとなるツリーを用いてフレームを転送することにより、宛先への最低コスト経路を選択することができる。
【0538】
また従来、リンク利用率が低い一方、ルートノード付近に負荷が集中するという問題があった。
【0539】
本実施の形態では、ルートノードの異なるスパニングツリーを複数系統設定することにより、リンク利用率を高め、ルートノード付近に負荷を集中させずに分散させることが可能である。
【0540】
さらに従来、ルートノード障害時のツリー構築に時間がかかり、その間ネットワークが停止するという問題があった。
【0541】
本実施の形態では、宛先がルートノードとなるツリーを用いてフレームを転送することにより、ルートノードが宛先となるフレーム以外のフレームが、ルートノード障害の影響により長時間転送不能となることがないため、ルートノード障害によるネットワーク停止を回避可能である。
【0542】
またこの結果、輻輳発生の可能性を下げることが可能である。
【0543】
以下、本発明の第5の実施の形態について、図面を参照して詳細に説明する。
【0544】
本発明の第5の実施の形態は、第1の実施の形態において、BPDUのバージョンを識別し、低速なIEEE802.1Dすなわち従来技術1を用いている区間についてはコストを大きく設定し、高速なIEEE802.1Wすなわち従来技術2を用いている区間についてはコストを小さく設定したスパニングツリーを生成する場合に対応する。
【0545】
IEEE802.1Dを利用する区間は、障害時のルート切り替えが遅く、スパニングツリーの再構成にも時間がかかるため、この区間を通過するようなツリーを設定すると、障害発生時やルート変更に時間がかかり、輻輳が発生してフレームが欠落する問題があった。
【0546】
本実施の形態においては、IEEE802.1D利用区間のコストを大きく設定することで、スパニングツリーがIEEE802.1D利用区間を通過して設定されるのを防ぎ、障害時の切替やルート変更を高速化し、輻輳の発生やフレームの欠落を防止する。
【0547】
図31を参照すると、本発明の第5の実施の形態は、第1の実施の形態における図10において、コスト操作器11516が追加されている点において異なる。
【0548】
ツリーコントローラ11514は、本発明の第1の実施の形態におけるツリーコントローラ11514の動作のほかに、受信したBPDUのバージョンを判別し、もし設定されたバージョンより低いバージョンのBPDUが到着した場合は、前記BPDUを送信したノードが接続されているリンクのコストを、コスト操作器11516によって再設定し、ツリーテーブル11515に書き込む。なおこの動作は、ツリーセレクタ116よりコスト変更の通知を受信するごとに、1度のみ行う。
【0549】
コスト操作器11516は、ツリーコントローラ11514より入力された値に、あらかじめ設定された値を加算し、ツリーコントローラ11514に返答する。
【0550】
ツリーコントローラ11514は、BPDU送受信機11512よりをBPDU受信通知を受けると、通知の内容に従ってツリーテーブル11515に値を設定していく。PDU受信通知には、受信したBPDUのバージョンおよび受信ポートに関する情報も含まれ、前記情報もツリーテーブル11515において保持される。
【0551】
ツリーコントローラ11514は、ツリーセレクタ116より、コスト情報が通知されると、通知された情報に従ってテーブルにコスト値を設定する。このとき、あらかじめ設定されたバージョンより古いバージョンのBPDUを受信したポートに対してコストを設定する場合は、ツリーセレクタ116より通知されたコストをコスト操作器11516に通知する。
【0552】
コスト操作器11516は、ツリーコントローラ11514より入力された値に、あらかじめ設定された値を加算し、ツリーコントローラ11514に返答する。
【0553】
ツリーコントローラ11514は、コスト操作器11516より返答されたコストを、該当ポートのコストとして、ツリーテーブル11515に通知する。
【0554】
ツリーコントローラ11514は、すべてのポートに対するコスト更新が完了した後で、スパニングツリーアルゴリズムにしたがってツリーを再構成する。
【0555】
次に、図32〜図34を参照して、本実施の形態におけるスパニングツリー作成動作について述べる。
【0556】
図32〜図34において、ノード12がIEEE802.1W非対応のノードであり、IEEE802.1Dにのみ対応するとする。ノード12以外のノード、すなわち、ノード11、ノード13、ノード14、ノード15およびノード16は、IEEE802.1Wに対応するとする。
【0557】
ノード11、ノード15、ノード13の各ノードは、ノード12から送信されるBPDUフレーム内のバージョン情報もしくはプロトコルIDにより、ノード12が802.1Dのみに対応するノードであると認識する。
【0558】
ノード11、ノード15、ノード13の各ノードは、リンク21、リンク22およびリンク24の各リンクのコストを、他のリンクのコストよりも十分大きく設定する。ここでは、リンク21、リンク22、リンク24のコストが10に設定され、他のリンク、すなわち、リンク23、リンク26、リンク27、リンク25のコストが1に設定されるとする。
【0559】
図32は、前記コスト設定の状態において、ノード11もしくはノード14がルートノードとなる場合の、スパニングツリーの構成図である。
【0560】
図33は、前記コスト設定の状態において、ノード15、ノード16もしくはノード14がルートノードとなる場合の、スパニングツリーの構成図である。
【0561】
図34は、前記コスト設定の状態において、ノード13もしくはノード16がルートノードとなる場合の、スパニングツリーの構成図である。
【0562】
図32〜図34に示すように、本実施の形態では、障害回復に時間がかかるIEEE802.1D利用区間を避けるようにしてツリーを構成することが可能であり、障害時にネットワーク全体が受ける影響を小さくし、高速な障害回復ができる。
【0563】
次に、本実施の形態の効果について説明する。
【0564】
従来、IEEE802.1Dを利用する区間は、障害時のルート切り替えが遅く、スパニングツリーの再構成にも時間がかかった。
【0565】
本実施の形態では、IEEE802.1D利用区間のコストを大きく設定することにより、スパニングツリーがIEEE802.1D利用区間を通過して設定されるのを防ぎ、障害時の切替やルート変更を高速化し、輻輳発生の可能性やフレームの欠落の可能性を低下させることができる。
【0566】
以下、本発明の第6の実施の形態について、図面を参照して詳細に説明する。
【0567】
本発明の第6の実施の形態は、第1の実施の形態において、分別器がBPDUのバージョンを識別し、ツリーセレクタを通じて、ツリーマネージャを低速なIEEE802.1D利用区間の数だけ作成することで、IEEE802.1D利用区間で障害が発生した場合に、前記区間を迂回する経路を高速に提供する場合に対応する。
【0568】
IEEE802.1Dを利用する区間は、障害時のルート切り替えが遅く、スパニングツリーの再構成にも時間がかかるため、この区間において障害が発生すると、障害発生時やルート変更に時間がかかり、輻輳が発生してフレームが欠落する問題があった。
【0569】
本実施の形態においては、IEEE802.1D利用区間の数だけツリーマネージャを作成し、相異なる1つのIEEE802.1D利用区間のコストを大きく設定したツリーをIEEE802.1D利用区間分作成し、障害等により前記区間を迂回する必要が生じた場合は、前記区間に対して大きなコストを振ったツリーを利用することで、迂回操作を高速に行い、輻輳の発生やフレームの欠落を防止できる。
【0570】
図35を参照すると、本発明の第6の実施の形態は、本発明の第1の実施の形態における図8において、ツリーマネージャ1151がIEEE802.1D利用区間の数だけ存在する点において異なる。
【0571】
ツリーマネージャ1151は、本発明の第1の実施の形態における図8に示すツリーマネージャ1151の機能のほか、受信したBPDUフレームが、バージョンフィールドもしくはその他の手段によりIEEE802.1Dに準拠したBPDUフレームであると確認できた場合は、ツリーセレクタ116に対して、前記BPDUフレームに対して802.1Dフレーム受信通知を送信する。802.1Dフレーム受信通知には、802.1D準拠のBPDUフレームを送信したノードのノードIDが記入される。
【0572】
ツリーマネージャ1152および、ツリーマネージャ1153は、ツリーマネージャ1151と同様のツリーマネージャである。今後はツリーマネージャ1151〜ツリーマネージャ1153を代表してツリーマネージャ1151を用いて記述を行うが、ツリーマネージャ1151についての記述は、特に断りのない限りツリーマネージャ1152〜ツリーマネージャ1153においても同様に適用可能である。
【0573】
ツリーマネージャはツリーセレクタ116によってIEEE802.1D利用区間の数だけ作成される。したがって、ツリーマネージャは、1個以上無限大まで増える可能性があるが、図35においては前記ツリーマネージャを、ツリーマネージャ1151〜1153としてまとめて表現する。
【0574】
ツリーセレクタ116は、本発明の第1の実施の形態における図8に示すツリーセレクタ116の機能のほか、ツリーマネージャ1151〜ツリーマネージャ1153の何れかのツリーマネージャより802.1Dフレーム受信通知を受けた場合は、新規のツリーマネージャを生成する機能、802.11D利用ノードをネットワーク内の他のノードに通知する機能、および、他のノードより送信された、802.1D利用ノードの通知に基づき、ツリーマネージャを生成する機能を有する。
【0575】
ツリーセレクタ116は、前記機能のほか、802.1D利用ノードがバージョンアップ等の何らかの原因により802.1Wが利用可能になったことを検知し、ツリーマネージャを削除する機能、そして、前記削除に関する情報を、ネットワーク内の他のノードに伝達する機能、および、他のノードより通知された前記削除情報に基づき、ツリーマネージャを削除する機能を有する。
【0576】
図36は、ノード11をルートノードとし、IEEE802.1Wの通常の手順によって作成される、ツリー67の構成図である。
【0577】
図37は、ノード11をルートノードとし、ツリー21のコストを大きくして作成される、ツリー68の構成図である。このツリーは、リンク21に障害が発生した際にも利用される。
【0578】
図38は、ノード11をルートノードとし、ツリー22のコストを大きくして作成される、ツリー69の構成図である。このツリーは、リンク22に障害が発生した際にも利用される。
【0579】
図39は、ノード11をルートノードとし、ツリー24のコストを大きくして作成される、ツリー70の構成図である。このツリーは、リンク24に障害が発生した際にも利用される。
【0580】
次に、図36〜図39を参照して、図36〜図39におけるノード12がIEEE802.1W未対応のノードであり、リンク21とリンク22とリンク24において、IEEE802.1Dが利用されている場合の動作について述べる。なお、ルートノードは、ノード11とする。
【0581】
まず、IEEE802.1Wに従った通常の手順によって、図36に示すスパニングツリー67が形成される。このとき、ノード12は802.1W未対応のノードであるため、ノード12からは、IEEE802.1DのプロトコルIDが付加されたBPDUフレームが送信される。
【0582】
ノード11は、ノード12よりIEEE802.1DのプロトコルIDが付加されたBPDUを受信すると、新規のツリーマネージャを生成して、前記ツリーマネージャに対して、リンクIDおよびノードID等から算出する固有のタグIDを割り当て、GVRPフレームもしくはその他のフレームによって、全ノードに対して新規グループの作成をブロードキャスト通知する。ここでは新規のタグIDとして、タグID48が割り当てられたとする。このとき、リンク21のコストは大きく設定する。
【0583】
ノード12〜ノード16は、ノード11より送信された新規グループ作成通知を受信転送し、ツリーマネージャを生成してBPDUの交換を開始する。新規に作成されたツリーマネージャの間で交換されるBPDUには、タグID48のタグが付加される。ここで作成されるスパニングツリーを、ツリー68とする。
【0584】
ノード13は、ノード12よりIEEE802.1DのプロトコルIDが付加されたBPDUを受信すると、新規のツリーマネージャを生成して、前記ツリーマネージャに対して、リンクIDおよびノードID等から算出する固有のタグIDを割り当て、GVRPフレームもしくはその他のフレームによって、全ノードに対して新規グループの作成をブロードキャスト通知する。ここでは新規のタグIDとして、タグID49が割り当てられたとする。このとき、リンク22のコストは大きく設定する。
【0585】
ノード11〜ノード12およびノード14〜ノード16は、ノード13より送信された新規グループ作成通知を受信転送し、ツリーマネージャを生成してBPDUの交換を開始する。新規に作成されたツリーマネージャの間で交換されるBPDUには、タグID49のタグが付加される。ここで作成されるスパニングツリーを、ツリー69とする。
【0586】
ノード15は、ノード12よりIEEE802.1DのプロトコルIDが付加されたBPDUを受信し、新規のツリーマネージャを生成して、前記ツリーマネージャに対して、リンクIDおよびノードID等から算出する固有のタグIDを割り当て、GVRPフレームもしくはその他のフレームによって、全ノードに対して新規グループの作成をブロードキャスト通知する。ここでは新規のタグIDとして、タグID50が割り当てられたとする。このとき、リンク24のコストは大きく設定する。
【0587】
ノード11〜ノード14およびノード16は、ノード15より送信された新規グループ作成通知を受信転送し、ツリーマネージャを生成してBPDUの交換を開始する。新規に作成されたツリーマネージャの間で交換されるBPDUには、タグID50のタグが付加される。ここで作成されるスパニングツリーを、ツリー70とする。
【0588】
平常時においては、各ノード間の通信はツリー67を用いて行われ、ツリー68〜ツリー70は利用されない。
【0589】
ここで、もしリンク21に障害が発生したとすると、ノード11は、リンク21の障害を検知して、直ちに転送に使用するツリーを、ツリー67からツリー68に切り替える。また、利用タググループ変更通知を全ノードに対してブロードキャスト送信し、転送に使用するタグをタグID48に切り替えるように通知する。
【0590】
ノード12〜ノード16の各ノードは、ノード11より送信された利用タググループ変更通知を受信し、自ノードから送信するフレームに対してタグID48のタグを挿入し、転送に使用するツリーを、ツリー67からツリー68に切り替える。
【0591】
なお、リンク21に障害が発生した場合の、ツリー68への切替は、ノード11ではなくノード12が行ってもかまわない。もしノード12がリンク21の障害を検出した場合は、直ちに転送に使用するツリーを、ツリー67からツリー68に切り替える。また、利用タググループ変更通知を全ノードに対してブロードキャスト送信し、転送に使用するタグをタグID48に切り替えるように通知する。以降の動作は、ノード11が障害を検出した場合と同様である。
【0592】
ツリー67は、リンク21の障害によって再構成されるが、リンク21では802.1Dに従った再構成が行われるために、再構成が完了するまでに時間がかかる可能性がある。
【0593】
本実施の形態では、、リンク21の障害時に、転送に利用されるツリーを、ツリー67からツリー68にただちに切り替えることで、ツリー67の再構成を待たずに、フレームの転送を継続することができる。
【0594】
以上、リンク21に障害が発生した場合の動作について述べたが、前記動作はリンク22もしくはリンク24に障害が発生した場合においても、同様に適用可能である。
【0595】
次に、本実施の形態の効果について説明する。
【0596】
従来、IEEE802.1Dを利用する区間は、障害時のルート切り替えが遅く、スパニングツリーの再構成にも時間がかかった。
【0597】
本実施の形態では、IEEE802.1D利用区間の数だけツリーマネージャを作成し、相異なる1つのIEEE802.1D利用区間のコストを大きく設定したツリーをIEEE802.1D利用区間分作成し、障害等により前記区間を迂回する必要が生じた場合は、前記区間に対して大きなコストを振ったツリーを利用するよう切り替えることで、迂回操作を高速に行い、輻輳発生の可能性やフレームの欠落の可能性を低下させることができる。
【0598】
次いで、本発明の第7の実施の形態について、図面を参照して詳細に説明する。
【0599】
本発明の第7の実施の形態は、第1の実施の形態において、障害検出器を用いて定期的に短い間隔で障害検出用フレームを送信し、前記障害検出用フレームが到着しなくなったことにより、障害検出を行い、障害情報をリソースモニタおよびツリーセレクタを通じて、ツリーマネージャに通知する点が異なる。
【0600】
IEEE802.1DおよびIEEE802.1Wでは、定期的に送信されるHELLOフレームの未着により、障害を検出していた。しかしながら、HELLOフレームの送信間隔は長いため、障害を検出するまでに長い時間がかかった。
【0601】
本実施の形態では、障害検出器から定期的に短い間隔で障害検出用フレームを送信し、前記障害検出用フレームの一定個数もしくは一定時間以上の未着により、高速な障害検出を行う。
【0602】
図40を参照すると、本発明の第7の実施の形態は、第1の実施の形態におけるおける図4において、障害検出用フレームを送受信して障害を検出する、障害検出器120が追加されている点において異なる。
【0603】
障害検出器120は、障害検出用フレームをフレーム転送器111を通じて隣接ノードに対して定期的に送信し、また、隣接ノードより送信された障害検出用フレームを、フレーム転送器111より受信し、隣接ノードから送られる障害検出用フレームが一定時間以上受信できない場合、および、一定個数以上の障害検出用フレームの未着を検出した場合に、リソースモニタ119に対して障害検出通知を送信する。
【0604】
リソースモニタ119は、第1の実施の形態におけるリソースモニタ119の機能のほか、障害検出器120より障害通知を受信し、前記障害通知をツリーセレクタ116に転送する機能を有する。
【0605】
ツリーセレクタ116は、第1の実施の形態におけるツリーセレクタ116の機能のほか、リソースモニタ119より障害通知を受信し、これをツリーマネージャ1151および1152に転送する機能を有する。
【0606】
ツリーマネージャ1151および1152は、本発明の第1の実施の形態におけるツリーマネージャ1151および1152の機能のほか、ツリーセレクタ116より障害通知を受信し、IEEE802.1WもしくはIEEE802.1Dに従い、スパニングツリーの再構成を行う。
【0607】
次に、図40を参照して、本実施の形態においてノード11がリンク21の障害を検知する場合の動作例について述べる。
【0608】
障害検出器120は、定期的に、フレーム転送器111およびリンク21もしくはリンク24を経由して、隣接ノードであるノード12およびノード15に障害検出用フレームを送信する。
【0609】
障害検出器120は、また、隣接しているノード12およびノード15より、リンク21もしくはリンク24と、フレーム転送器111を経由して送信された障害検出用フレームを受信する。このとき、障害検出器120は、前記障害検出用フレームが到着したポートのIDも、識別することができる。
【0610】
障害検出器120は、障害検出用フレームが到着すると、前記障害検出用フレームが到着したポートのタイマを動作させ、一定時間が経過すると、通知を発信するように設定する。
【0611】
障害検出器120は、障害検出用フレームを受信すると、ポートごとに設置されたタイマをリセットする。例えば、リンク21より障害検出用フレームを受信した場合は、リンク21が接続されているポートのタイマがリセットされる。また、リンク24より障害検出用フレームを受信した場合は、リンク24が接続されているポートのタイマがリセットされる。
【0612】
ここで、障害検出器120において、もしリンク障害等により、障害検出用フレームが一定時間以上到着しない場合は、タイマがリセットされないためタイムアウトが起こる。障害検出器120は、タイムアウトが発生すると、何らかの障害が発生していると認識し、リソースモニタ119およびツリーセレクタ116を通じて、ツリーマネージャ1151およびツリーマネージャ1152に障害発生を通知する。
【0613】
通知を受けたツリーマネージャ1151およびツリーマネージャ1152は、障害発生ポートが使用不可能なものとして、直ちにスパニングツリーを再構成し、障害回避を行う。
【0614】
次に、本実施の形態の効果について説明する。
【0615】
従来、スパニングツリープロトコルで利用されているHELLOフレームの送信間隔が長かったため、高速な障害検出ができなかった。
【0616】
本実施の形態では、短い間隔で障害検出用フレームを送受信する障害検出器を追加することにより、HELLOフレームよりも高速な障害検出が可能である。
【0617】
また、この結果、輻輳発生およびフレーム欠落の可能性を下げることが可能である。
【0618】
本発明のネットワークにおけるスパニングツリー構成ノードの構成要素である各手段の機能については、それをハードウェア的に実現することは勿論として、上記した各手段の機能を実行するスパニングツリー再構成プログラム(アプリケーションプログラム)950をコンピュータ処理装置のメモリにロードしてコンピュータ処理装置を制御することで実現することができる。このスパニングツリー再構成プログラム950は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【0619】
以上好ましい実施の形態および実施例を挙げて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0620】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果が達成される。
【0621】
第1に、輻輳発生の確率を下げ、輻輳によるフレームの到着遅れや欠落が発生する頻度を減らすことができる。その理由は、構成変更前のスパニングツリーを運用したまま、新規追加ノードを含めたスパニングツリーを生成し、新規スパニングツリーの安定後に利用するスパニングツリーを切り替え、さらに、ルートノードの異なるスパニングツリーを複数系統設定するからである。
【0622】
第2に、ネットワークを停止させずに、スパニングツリーに属するノードの追加および削除等のスパニングツリー再構成できる。その理由は、構成変更前のスパニングツリーを運用したまま、新規追加ノードを含めたスパニングツリーを生成し、新規スパニングツリーの安定後に利用するスパニングツリーを切り替えるからである。
【0623】
第3に、トラフィックの負荷分散ができる。その理由は、リンクコストを、空き帯域やサーバ負荷等の動的情報によって計算するからである。
【0624】
第4に、経路変更にともなうスパニングツリー再構成のために、ネットワークを停止させることなく負荷分散ができる。その理由は、変更前のツリーを運用したまま、コスト変更後のツリーを生成し、新規ツリーの安定後に利用するツリーを切り替えるからである。
【0625】
第5に、宛先への最低コスト経路を選択することができる。その理由は、宛先がルートノードとなるツリーを用いてフレームを転送するからである。
【0626】
第6に、リンク利用率を高め、ルートノード付近に負荷を集中させずに分散可能である。その理由は、ルートノードの異なるスパニングツリーを複数系統設定するからである。
【0627】
第7に、ルートノード障害によるネットワーク停止を回避可能である。その理由は、宛先がルートノードとなるツリーを用いてフレームを転送することにより、ルートノードが宛先となるフレーム以外のフレームが、ルートノード障害の影響により長時間転送不能となることがないからである。
【0628】
第8に、スパニングツリーがIEEE802.1D利用区間を通過して設定されるのを防ぎ、障害時の切替やルート変更を高速化し、輻輳発生の可能性やフレームの欠落の可能性を低下させることが可能である。その理由は、IEEE802.1D利用区間のコストを大きく設定し、スパニングツリーがIEEE802.1D利用区間を通過して設定されるのを防ぐからである。
【0629】
第9に、迂回操作を高速に行い、輻輳の発生やフレームの欠落を防止できる。その理由は、IEEE802.1D利用区間の数だけツリーマネージャを作成し、相異なる1つのIEEE802.1D利用区間のコストを大きく設定したツリーをIEEE802.1D利用区間分作成し、障害等により前記区間を迂回する必要が生じた場合は、前記区間に対して大きなコストを振ったツリーを利用するよう切り替えるからである。
【0630】
第10に、従来、スパニングツリープロトコルで利用されているHELLOフレームの送信間隔が長かったため、高速な障害検出ができなかったが、短い間隔で障害検出用フレームを送受信する障害検出器を追加することにより、HELLOフレームよりも高速な障害検出が可能となる。また、この結果、輻輳発生およびフレーム欠落の可能性を下げることが可能となる。
【図面の簡単な説明】
【図1】従来のVLANタグ付きイーサネット(R)フレームの構成例を示す図である。
【図2】本発明の拡張タグ付きイーサネット(R)フレームの構成例を示す図である。
【図3】本発明の拡張タグ付きイーサネット(R)フレームの他の構成例を示す図である。
【図4】本発明の拡張タグ格納領域の構成例を示す図である。
【図5】本発明におけるConfiguration BPDUフレームのフレーム構成を示すフォーマット図である。
【図6】本発明におけるTopology Change Notification BPDUフレームのフレーム構成を示すフォーマット図である。
【図7】本発明の第1の実施の形態の構成を示すブロック図である。
【図8】本発明の第1の実施の形態における、ノード11の構成を示すブロック図である。
【図9】本発明の第1の実施の形態における、フォワーディングテーブル114の構成例を示す表である。
【図10】本発明の第1の実施の形態における、ツリーマネージャ1151の構成を示すブロック図である。
【図11】本発明の第1の実施の形態における、ツリーセレクタ116の構成を示すブロック図である。
【図12】本発明の第1の実施の形態における、メインコントローラ1164の動作を示す流れ図である。
【図13】本発明の第1の実施の形態における、タグテーブル117の構成例を示す表である。
【図14】本発明の第1の実施の形態における、ノード700が追加される前のスパニングツリー51の構成を示すブロック図である。
【図15】本発明の第1の実施の形態における、ノード700が追加された後のスパニングツリー52の構成を示すブロック図である。
【図16】本発明の第1の実施の形態における、制御フレームのやりとりを示すシーケンス図である。
【図17】本発明の第2の実施の形態における、ツリーセレクタ116の構成を示すブロック図である。
【図18】本発明の第2の実施の形態における、メインコントローラ1164の動作を示す流れ図である。
【図19】本発明の第3の実施の形態における、メインコントローラ1164の動作を示す流れ図である。
【図20】本発明の第4の実施の形態における、ノード11の構成を示すブロック図である。
【図21】本発明の第4の実施の形態における、フォワーディングテーブル114の構成例を示す表である。
【図22】本発明の第4の実施の形態における、タグテーブル117の構成例を示す表である。
【図23】本発明の第4の実施の形態における、ツリー61の構成を示すブロック図である。
【図24】本発明の第4の実施の形態における、ツリー62の構成を示すブロック図である。
【図25】本発明の第4の実施の形態における、ツリー63の構成を示すブロック図である。
【図26】本発明の第4の実施の形態における、ツリー64の構成を示すブロック図である。
【図27】本発明の第4の実施の形態における、ツリー65の構成を示すブロック図である。
【図28】本発明の第4の実施の形態における、ツリー66の構成を示すブロック図である。
【図29】本発明の第4の実施の形態の構成を示すブロック図である。
【図30】本発明の第4の実施の形態における、ツリー74の構成を示すブロック図である。
【図31】本発明の第5の実施の形態における、ツリーマネージャ1151の構成を示すブロック図である。
【図32】本発明の第5の実施の形態における、ツリー71の構成を示すブロック図である。
【図33】本発明の第5の実施の形態における、ツリー72の構成を示すブロック図である。
【図34】本発明の第5の実施の形態における、ツリー73の構成を示すブロック図である。
【図35】本発明の第6の実施の形態における、ノード11の構成を示すブロック図である。
【図36】本発明の第6の実施の形態における、ツリー67の構成を示すブロック図である。
【図37】本発明の第6の実施の形態における、ツリー68の構成を示すブロック図である。
【図38】本発明の第6の実施の形態における、ツリー69の構成を示すブロック図である。
【図39】本発明の第6の実施の形態における、ツリー70の構成を示すブロック図である。
【図40】本発明の第7の実施の形態における、ノード11の構成を示すブロック図である。
【符号の説明】
11〜18 ノード
21〜30 双方向リンク
31 現用系BPDU(タググループ41)
32 予備系BPDU(タググループ42)
33 現用系BPDU(タググループ42)
34 予備系BPDU(タググループ41)
35 利用タググループ変更通知(GVRP等)
41〜50 タググループ
51〜52 スパニングツリー
61〜73 スパニングツリー]
81〜88 双方向リンク
91〜97 クライアント
111 フレーム転送器
112 タグ挿入器
113 タグ削除器
114 フォワーディングテーブル
116 ツリーセレクタ
117 タグテーブル
118 設定インタフェース
119 リソースモニタ
1150 分別器
1151 ツリーマネージャ
1152 ツリーマネージャ
1153 ツリーマネージャ
1161 タグ削除器
1162 GVRP送信機
1163 タグ挿入器
1164 メインコントローラ
1165 安定タイマ
1166 到着間隔タイマ
1167 コスト参照タイマ
1168 関数演算器
1169 平滑化回路
11511 タグ削除器
11512 BPDU送信機
11513 タグ挿入器
11514 ツリーコントローラ
11515 ツリーテーブル
11516 コスト操作器
11641〜11649 状態
1164A 状態
1164B 状態
120 障害検出器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a spanning tree system, and more particularly, to a spanning tree system, a spanning tree configuration method, and a spanning tree configuration node that do not stop the network at the time of reconfiguration of the spanning tree and further have a load distribution function.
[0002]
[Prior art]
Conventionally, this kind of spanning tree is used to prevent data from circulating forever in a network formed in a loop (ring).
[0003]
For example, in a standardized document issued by the IEEE entitled "IEEE Std 802.1D (1998)", data is circulated forever in a network formed in a loop (circle). In order to prevent this from happening, control information called Bridge Protocol Data Unit (BPDU) is exchanged between nodes, and a part of a physically looped network is logically disabled and logically disabled. A control method called a spanning tree that forms a tree-like topology is defined. This is referred to as Prior Art 1.
[0004]
Also, in a standardized document issued by IEEE entitled "2001, I Triple E Standard 802.1W (IEEE Std 802.1W)", the tree creation in the prior art 1 is performed by extending the control information exchange method. A control method called a high-speed spanning tree is defined, in which a high-speed detour path is set in advance and a high-speed detour path is set when a failure occurs. This is referred to as Conventional Technique 2.
[0005]
[Problems to be solved by the invention]
The above-described conventional technique has the following problems.
[0006]
First, there has been a problem that the congestion causes a delay in the arrival of frames or a loss.
[0007]
In the prior art 1, when adding and deleting nodes and links belonging to the spanning tree, the spanning tree is stopped and rebuilt from the beginning, so that the entire network is stopped for a long time during rebuilding and congestion occurs. Frames could be delayed or missing.
[0008]
In the prior art 2, when a node and a link belonging to the spanning tree are added and deleted, the spanning tree is gradually reconstructed while locally stopping data frame transfer. Congestion, and the arrival of frames may be delayed or lost.
[0009]
Secondly, there is a problem that the network stops when the spanning tree is reconfigured such as addition or deletion of a node belonging to the spanning tree.
[0010]
In the prior art 1, when adding or deleting a node belonging to the spanning tree, the spanning tree is stopped and reconfigured from the beginning, so that the entire network may be stopped for a long time during the reconfiguration.
[0011]
In the prior art 2, when a node belonging to the spanning tree is added or deleted, the spanning tree is gradually reconstructed while locally stopping data frame transfer. was there.
[0012]
Third, there is a problem that the traffic load cannot be distributed.
[0013]
In the prior art 1 and the prior art 2, the cost is calculated using the link capacity, and the cost is used for the route selection at the time of constructing the spanning tree. Therefore, the route cannot be dynamically changed for load distribution according to the traffic. Was.
[0014]
Fourth, there is a problem that the network is stopped due to spanning tree reconfiguration when trying to distribute the load.
[0015]
In the prior art 1, when the cost is dynamically changed in accordance with the traffic situation, the route is changed by temporarily stopping the spanning tree and then rebuilding the network. There was a case.
[0016]
In the prior art 2, when the cost is dynamically changed in accordance with the traffic situation, a part of the spanning tree is gradually reconstructed and the route is changed while locally stopping the transfer of the data frame. In some cases, part of the network went down during the rebuild.
[0017]
Fifth, there is a problem that the lowest cost route to the destination is not always selected.
[0018]
In the prior arts 1 and 2, only one system of the spanning tree is set on the network, and a single root node on the network is determined based on a priority value and a MAC address preset for each node. In order to create a tree, when nodes located at the ends of the tree communicate with each other, even if the shortest path is separate, the node is blocked and may pass through a redundant path.
[0019]
Sixth, there is a problem that the load is concentrated near the root node while the link utilization is low.
[0020]
In the prior arts 1 and 2, only one system of the spanning tree is set on the network, the only root node on the network is determined from the priority value and the MAC address set for each node, and a single tree is formed. In order to create, at the end of the tree, some links that were installed but not used appeared, and the link utilization rate dropped. Conversely, in the vicinity of the root node, traffic is concentrated and the possibility of occurrence of congestion may increase.
[0021]
Seventh, there is a problem that it takes time to construct a tree when a root node fails, and the network is stopped during that time.
[0022]
In the prior art 1, since only one system of the spanning tree is set on the network and only one root node is provided, if a failure occurs in the root node, the spanning tree is stopped and reconfigured from the beginning. During the construction, the whole network was sometimes stopped for a long time.
[0023]
In the prior art 2, when a failure occurs in the root node, a part of the network may be stopped during the reconfiguration because the spanning tree is gradually reconstructed while locally stopping the transfer of the data frame. .
[0024]
Eighth, in a section using IEEE 802.1D, there is a problem that route switching at the time of failure is slow, and it takes time to reconfigure a spanning tree.
[0025]
This is because, in the related art 1, it may take several tens of seconds before data can be exchanged when the tree is constructed.
[0026]
Ninth, in both the prior art 1 and the prior art 2, since there is only a single tree, traffic is concentrated near the root node and congested, and the arrival of frames is delayed or lost. was there.
[0027]
A first object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node, which can reduce the probability of occurrence of congestion and reduce the frequency of occurrence of frame delay or loss due to congestion. Is to provide.
[0028]
A second object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node capable of performing spanning tree reconfiguration such as addition and deletion of a node belonging to the spanning tree without stopping the network. Is to provide.
[0029]
A third object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node capable of distributing traffic load.
[0030]
A fourth object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node capable of distributing the load without stopping the network for the spanning tree reconfiguration due to the route change. Is to do.
[0031]
A fifth object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node in which a lowest cost path to a destination is selected.
[0032]
A sixth object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node capable of increasing the link utilization rate and distributing the load without concentrating the load near the root node. is there.
[0033]
A seventh object of the present invention is to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node that can avoid a network stop due to a root node failure.
[0034]
An eighth object of the present invention is to prevent a spanning tree from being set through an IEEE 802.1D use section, speed up switching and route change in the event of a failure, and possibly cause congestion or drop frames. It is an object of the present invention to provide a spanning tree system, a spanning tree configuration method and a configuration program, and a spanning tree configuration node that can reduce the performance.
[0035]
[Means for Solving the Problems]
According to the first aspect of the present invention, in a node of a spanning tree system operating on a network connecting a plurality of nodes, a new spanning tree after a configuration change is generated while operating a spanning tree before a network configuration change, After the new spanning tree is stabilized, a spanning tree used for transfer is switched to the new spanning tree.
[0036]
The node according to the second aspect of the present invention is characterized in that the configuration change of the network is addition or deletion of a node or a change of a link topology.
[0037]
According to a third aspect of the present invention, in a node of a spanning tree system operating in a network connecting a plurality of nodes, when a network cost is changed, a new spanning tree after a link cost is changed is generated while the current spanning tree is operated. After the new spanning tree is stabilized, a spanning tree used for transfer is switched to the new spanning tree.
[0038]
According to a fourth aspect of the present invention, in a node of a spanning tree system operating in a network in which a plurality of nodes are connected, a plurality of tree managers for generating a plurality of independently operating spanning trees, and spanning used for forwarding. A tag table that replies a tag corresponding to the tree, a tag inserter that inserts a tag returned from the tag table into a frame, a tree selector that determines a spanning tree to be used for transfer, and transfer of a frame for each destination A forwarding table that records an output destination, a frame forwarder that forwards a frame to a forwarding output destination specified in the forwarding table, and a classifier that determines a tree manager of a forwarding destination of the frame according to the tag. Features.
[0039]
The node of the present invention according to claim 5, wherein the tree selector switches a spanning tree used for forwarding, a stability timer for notifying a timer expiration of a designated time indicating the stability of the spanning tree, and adding the frame to the frame. A tag deleter for deleting the tag, a GVRP transmitter / receiver for transmitting / receiving a control frame for switching the spanning tree, and a tag inserter for adding a tag to the frame.
[0040]
The node according to claim 6, wherein the tree selector includes an arrival interval timer that transmits a timer expiration notification after a predetermined time elapses to determine an arrival interval of a frame indicating stability of the spanning tree. I do.
[0041]
The node according to the present invention is characterized in that the tree selector includes a cost reference timer for notifying the expiration of a timer for a specified time used for calculating a link cost.
[0042]
9. The node according to claim 8, wherein the tree manager deletes a tag added to the frame, a BPDU transceiver that transmits and receives a BPDU, a tag inserter that adds a tag to the frame, and spanning. A tree controller that creates a spanning tree according to a tree protocol, and a tree table that holds parameters used in the spanning tree protocol are provided.
[0043]
According to a ninth aspect of the present invention, in the node according to the first aspect, the tree manager includes a cost manipulator that adds a predetermined set value to the notified link cost and responds.
[0044]
According to a tenth aspect of the present invention, there is provided a node including a resource monitor for measuring resource information including a link connection status and an available bandwidth.
[0045]
An eleventh aspect of the present invention is characterized in that the node calculates the link cost based on a use situation.
[0046]
The node according to the twelfth aspect of the present invention is characterized in that the use status is defined as a free bandwidth.
[0047]
A node according to a thirteenth aspect of the present invention is characterized in that the use status is defined as a CPU load.
[0048]
According to a fourteenth aspect of the present invention, in a node of a spanning tree system operating in a network in which a plurality of nodes are connected, a spanning tree in which each node in the network is a root node is generated, and a spanning tree in which a destination is a root node is generated. The method is characterized in that the frame is transferred by using this.
[0049]
The present invention according to claim 15 is a node of a spanning tree system operating on a network connecting a plurality of nodes, a plurality of tree managers for generating a plurality of independently operating spanning trees, and a spanning used for forwarding. A tag table that replies a tag corresponding to the tree, a tag inserter that inserts a tag returned from the tag table into a frame, a tree selector that generates as many tree managers as the number of root nodes existing in the network, A forwarding table for recording a transfer output destination of a frame for each destination, a frame transfer device for transferring a frame to a transfer output destination specified in the forwarding table, and a classification for determining a tree manager of a transfer destination of the frame according to the tag And a container
[0050]
17. The node according to claim 16, wherein the tree selector is a main controller for creating or deleting a tree manager, a tag deleter for deleting a tag added to a frame, and a control frame for switching a spanning tree. And a tag inserter for adding a tag to a frame.
[0051]
18. The node according to claim 17, wherein the tree manager deletes a tag added to the frame, a BPDU transceiver that transmits and receives a BPDU, a tag inserter that adds a tag to the frame, and spanning. A tree controller that creates a spanning tree according to a tree protocol, and a tree table that holds parameters used in the spanning tree protocol are provided.
[0052]
The node of the present invention according to claim 18 is characterized by comprising a resource monitor for measuring resource information including a link connection status and an available bandwidth.
[0053]
According to the present invention, in a node of a spanning tree system operating in a network connecting a plurality of nodes, a tree manager for generating a spanning tree adjusts a cost value according to a type and a version of a spanning tree protocol. It is characterized by having a vessel.
[0054]
According to a twentieth aspect of the present invention, the cost operator allocates a large cost to a link using a protocol having a slow failure recovery process.
[0055]
According to a twenty-first aspect of the present invention, in a node of a spanning tree system operating in a network in which a plurality of nodes are connected, the cost of each link in a network using a slow protocol is maximized. A spanning tree is generated, and when a failure occurs in each of the links, frame transfer is performed by using a tree having the maximum cost of the link.
[0056]
According to the present invention, in a node of a spanning tree system operating on a network in which a plurality of nodes are connected, a plurality of tree managers for generating a plurality of independently operating spanning trees, and a tag corresponding to a transfer tree , A tag inserter that inserts a tag returned from the tag table into a frame, and a tree selector that generates the same number of tree managers as the number of links using a slow-moving protocol existing in the network. A forwarding table that records a frame transfer output destination for each destination, a frame forwarder that forwards a frame to an output specified by the forwarding table, and a classifier that determines a tree manager of a forwarding destination according to a tag. It is characterized by.
[0057]
The node according to claim 23, wherein the tree selector transmits a main controller in the tree selector for creating or deleting a tree manager, a tag deleter for deleting a tag added to a frame, and a control frame. It is characterized by comprising a GVRP transceiver and a tag inserter for adding a tag to a frame.
[0058]
25. The node according to claim 24, wherein the tree manager deletes a tag added to the frame, a BPDU transceiver that transmits and receives a BPDU, a tag inserter that adds a tag to the frame, and spanning. It is characterized by comprising a tree controller that creates a spanning tree according to a tree protocol, and a tree table that holds parameters used in the spanning tree protocol.
[0059]
According to a twenty-fifth aspect of the present invention, the node includes a resource monitor that measures resource information including a link connection status and an available bandwidth.
[0060]
The node of the present invention according to claim 26 is characterized by comprising a failure detector for detecting a failure by transmitting / receiving a failure detection frame at a shorter interval than a HELLO frame used in the spanning tree protocol.
[0061]
According to a twenty-seventh aspect of the present invention, in the spanning tree configuration program operating on each node of a spanning tree system operating on a network in which a plurality of nodes are connected, the spanning tree after the network configuration is changed while the spanning tree before the network configuration change is operated And generating a new spanning tree, and after the new spanning tree is stabilized, executing a process of switching a spanning tree used for transfer to the new spanning tree.
[0062]
The present invention according to claim 28 is characterized in that the network configuration change is addition or deletion of a node or a change in link topology.
[0063]
A spanning tree configuration program operating on each node of a spanning tree system operating on a network in which a plurality of nodes are connected, wherein the link cost is maintained while operating the current spanning tree when the network cost is changed. A new spanning tree after the change is generated, and after the new spanning tree is stabilized, a process of switching a spanning tree used for transfer to the new spanning tree is executed.
[0064]
According to a thirtieth aspect of the present invention, in a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes, a plurality of independent spanning trees are generated by a plurality of tree managers. Processing, replying a tag corresponding to the spanning tree used for transfer, tag insertion processing for inserting the replying tag into a frame, and tree selector processing for determining a tree to be used for transfer. A forwarding table process for recording a transfer output destination of a frame for each destination, a frame transfer process for transferring a frame to a transfer output destination specified in the forwarding table, and a sorting process for determining a transfer destination tree manager according to the tag And performing the following.
[0065]
The spanning tree configuration program according to the present invention, wherein in the tree selector process, a controller process for switching a spanning tree used for transfer, and a stability timer process for notifying a timer expiration of a designated time indicating the stability of the spanning tree. Performing a tag deletion process of deleting a tag added to a frame, a GVRP transmission / reception process of transmitting a control frame for switching a spanning tree, and a tag insertion process of adding a tag to a frame. I do.
[0066]
33. An arrival interval timer process for transmitting a timer expiration notification after a predetermined time elapses in the tree selector process to determine an arrival interval of a frame indicating stability of the spanning tree in the tree selector process. Is performed.
[0067]
The spanning tree configuration program according to claim 33, wherein the tree selector process executes a cost reference timer process for notifying the expiration of a timer for a specified time used for calculating a link cost.
[0068]
35. The spanning tree configuration program according to claim 34, wherein the tree manager processing includes a tag deletion processing for deleting a tag added to a frame, a BPDU transmission / reception processing for transmitting / receiving a BPDU, and a tag insertion for adding a tag to a frame. Processing, a tree controller process for creating a spanning tree according to the spanning tree protocol, and a tree table process for retaining parameters used in the spanning tree protocol.
[0069]
A spanning tree configuration program according to a thirty-fifth aspect of the present invention is characterized in that the tree manager process executes a cost operation process of adding a predetermined set value to the notified link cost and responding.
[0070]
A spanning tree configuration program according to a thirty-sixth aspect of the present invention is characterized by executing a resource monitoring process for measuring resource information including a link connection status and an available bandwidth.
[0071]
A spanning tree configuration program according to a thirty-seventh aspect of the present invention is characterized by executing processing for calculating a link cost based on a use situation.
[0072]
A spanning tree configuration program according to a thirty-eighth aspect of the present invention is characterized in that the usage status is defined as an available bandwidth.
[0073]
A spanning tree configuration program according to a thirty-ninth aspect of the present invention is characterized in that the utilization status is defined as a CPU load.
[0074]
A spanning tree configuration program operating on each node of a spanning tree system operating on a network in which a plurality of nodes are connected generates a spanning tree in which each node in the network becomes a root node, A process of transferring a frame using a tree whose destination is a root node is performed.
[0075]
A spanning tree configuration program that operates on each node of a spanning tree system that operates on a network connecting a plurality of nodes, wherein the plurality of tree managers generate a plurality of independently operating spanning trees. Processing, tag table processing for replying to the tag corresponding to the spanning tree used for forwarding, tag insertion processing for inserting the tag returned from the tag table into the frame, and the number of root nodes existing in the network. Tree selector processing for generating the same number of tree managers, forwarding table processing for recording a frame transfer output destination for each destination, frame transfer processing for transferring a frame to the transfer output destination specified in the forwarding table, and Forwarding the frame And a classification process for determining the preceding tree manager.
[0076]
A spanning tree configuration program according to claim 42, wherein the tree selector processing includes: a main controller processing in a tree selector for creating or deleting a tree manager; a tag deletion processing for deleting a tag added to a frame; GVRP transmission / reception processing for transmitting a control frame for switching a spanning tree and tag insertion processing for adding a tag to a frame are performed.
[0077]
44. The spanning tree configuration program according to claim 43, wherein the tree manager processing includes a tag deletion processing for deleting a tag added to the frame, a BPDU transmission / reception processing for transmitting / receiving a BPDU, and a tag insertion for adding a tag to the frame. Processing, a tree controller process for creating a spanning tree according to the spanning tree protocol, and a tree table process for retaining parameters used in the spanning tree protocol.
[0078]
The spanning tree configuration program according to claim 44, wherein each of the nodes executes a resource monitor process for measuring resource information including a link connection status and an available bandwidth.
[0079]
The present invention according to claim 45 is a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes. Generating a spanning tree in which the cost of each link is maximum, and performing a process of performing frame transfer using the tree in which the cost of the link is maximum when a failure occurs in each link. Features.
[0080]
The present invention according to claim 46, wherein a plurality of tree manager processes for generating a plurality of independently operating spanning trees in a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes And tag table processing for replying a tag corresponding to the transfer tree, tag insertion processing for inserting a tag returned from the tag table into a frame, and the number of links using a slow-moving protocol existing in the network. Tree selector processing for generating the same number of tree managers as above, forwarding table processing for recording a frame transfer output destination for each destination, frame transfer processing for transferring a frame to an output specified by the forwarding table, and the tag according to the tag. The destination of the frame And executes a sorting process for determining the over manager.
[0081]
The spanning tree configuration program according to claim 47, wherein the tree selector processing includes: a main controller processing in a tree selector for creating or deleting a tree manager; a tag deletion processing for deleting a tag added to a frame; GVRP transmission / reception processing for transmitting / receiving a control frame and tag insertion processing for adding a tag to a frame are executed.
[0082]
49. The spanning tree configuration program according to claim 48, wherein the tree manager processing includes a tag deletion processing for deleting a tag added to the frame, a BPDU transmission / reception processing for transmitting / receiving a BPDU, and a tag insertion for adding a tag to the frame. Processing, a tree controller process for creating a spanning tree according to the spanning tree protocol, and a tree table process for storing parameters used in the spanning tree protocol.
[0083]
A spanning tree configuration program according to claim 49, wherein each of said nodes executes a resource monitor process for measuring resource information including a link connection status and an available bandwidth.
[0084]
The present invention according to claim 50 is a spanning tree system operating in a network in which a plurality of nodes are connected, wherein each of the nodes operates a new spanning tree after the configuration change while operating the spanning tree before the network configuration change. After generating and stabilizing the new spanning tree, a spanning tree used for transfer is switched to the new spanning tree.
[0085]
51. The spanning tree system according to claim 51, wherein in the spanning tree system operating in a network in which a plurality of nodes are connected, each of said nodes operates at the time of changing the network cost, while maintaining the current spanning tree, and performing new spanning after the link cost is changed. A tree is generated, and after the new spanning tree is stabilized, a spanning tree used for transfer is switched to the new spanning tree.
[0086]
The present invention according to claim 52, in a spanning tree system operating on a network connecting a plurality of nodes, wherein each of said nodes uses a plurality of tree managers for generating a plurality of independently operating spanning trees and a transfer. A tag table that replies a tag corresponding to the spanning tree that is being sent, a tag inserter that inserts a tag returned from the tag table into a frame, a tree selector that determines a spanning tree used for forwarding, A forwarding table that records the transfer output destination of the frame, a frame transfer device that transfers the frame to the transfer output destination specified in the forwarding table, and a classifier that determines a tree manager of the transfer destination of the frame according to the tag. It is characterized by having.
[0087]
The invention according to claim 53 is characterized in that the link cost is calculated based on the use situation.
[0088]
In a spanning tree system operating in a network in which a plurality of nodes are connected, a spanning tree in which each node in the network is a root node is generated, and a frame is generated using a tree in which a destination is a root node. Is transferred.
[0089]
The present invention according to claim 55, wherein in a spanning tree system operating in a network connecting a plurality of nodes, a plurality of tree managers for generating a plurality of independently operating spanning trees and a tag corresponding to a transfer tree are returned. Tag table, a tag inserter that inserts a tag returned from the tag table into a frame, a tree selector that generates the same number of tree managers as the number of nodes existing in the network, and a frame transfer output destination for each destination , A frame transfer unit that transfers a frame to an output destination specified by the forwarding table, and a classifier that determines a tree manager of a transfer destination according to the tag.
[0090]
The present invention according to claim 56 is characterized in that in a spanning tree system operating on a network connecting a plurality of nodes, a tree manager that generates a spanning tree includes:
A cost operation process for adjusting a cost value is executed according to the type and version of the spanning tree protocol.
[0091]
The present invention according to claim 57 is a spanning tree system operating on a network connecting a plurality of nodes, wherein a tree manager that generates a spanning tree includes:
It is characterized by comprising a cost controller that adjusts the cost value according to the type and version of the spanning tree protocol.
[0092]
58. A spanning tree system according to claim 58, wherein in a spanning tree system operating in a network in which a plurality of nodes are connected, the cost of each link is maximized for each of links using a slow protocol in the network. Is generated, and when a failure occurs in each of the links, frame transfer is performed using a tree having the maximum cost of the link.
[0093]
In a spanning tree system operating in a network in which a plurality of nodes are connected, a plurality of tree managers for generating a plurality of independently operating spanning trees and a tag corresponding to a transfer tree are returned. A tag table, a tag inserter that inserts a tag returned from the tag table into a frame, a tree selector that generates the same number of tree managers as the number of links using a slow-moving protocol existing in the network, A forwarding table that records a frame transfer output destination for each destination, a frame forwarder that forwards a frame to an output specified by the forwarding table, and a classifier that determines a tree manager of a forwarding destination according to the tag. Features.
[0094]
The present invention according to claim 60 is a spanning tree configuration method for a spanning tree system operating on a network in which a plurality of nodes are connected, wherein a new spanning after the configuration change is performed while the spanning tree before the network configuration change is operated. A tree is generated, and after the new spanning tree is stabilized, a spanning tree used for transfer is switched to the new spanning tree.
[0095]
The present invention according to claim 61 is a spanning tree configuration method for a spanning tree system operating on a network in which a plurality of nodes are connected, and when a network cost is changed, a new spanning tree after link cost is changed while the current spanning tree is operated. And generating a new spanning tree and, after stabilizing the new spanning tree, switching a spanning tree used for transfer to the new spanning tree.
[0096]
The present invention according to claim 62 is a spanning tree configuration method for a spanning tree system that operates in a network in which a plurality of nodes are connected. When a new node is added, the new node does not participate in the existing spanning tree, and It is characterized by participating only in the spanning tree.
[0097]
The present invention according to claim 63 is a spanning tree configuration method for a spanning tree system operating in a network connecting a plurality of nodes, wherein when deleting a node, the deleted node does not participate in the spare spanning tree and existing spanning is performed. It is characterized by participating only in the tree.
[0098]
The present invention according to claim 64 is a spanning tree configuration method for a spanning tree system operating on a network in which a plurality of nodes are connected, wherein when the network configuration is changed, the tree after the change is created by using the standby system. It is characterized by the following.
[0099]
The present invention according to claim 65 is a spanning tree configuration method for a spanning tree system operating in a network connecting a plurality of nodes, wherein a free band of a link is used for cost calculation.
[0100]
The present invention according to claim 66 is a spanning tree configuration method for a spanning tree system operating on a network in which a plurality of nodes are connected, wherein all nodes in the network are any one of spanning trees having all nodes as members. A feature is that a plurality of spanning trees are created so as to be one root node.
[0101]
The present invention according to claim 67 is a spanning tree configuration method for a spanning tree system operating on a network in which a plurality of nodes are connected, wherein a spanning tree having all nodes existing in the network as members is created, The method is characterized in that a plurality of spanning trees are created for each link using a slow recovery protocol.
[0102]
BEST MODE FOR CARRYING OUT THE INVENTION
In the following description, a description will be given using a tag as an identifier for identifying a plurality of spanning trees and a plurality of node groups. In addition to the VLAN tag, this tag is described in Japanese Patent Application No. 2002-239465 by the present applicant. Means one or a combination of any one or more of the extension tag and other tags or identification means disclosed in the above-mentioned publication.
[0103]
Here, among the tags used in the present invention, the format of a frame with an extended tag disclosed in the above-mentioned Japanese Patent Application No. 2002-239465 will be described.
[0104]
FIG. 1 shows a format of an Ethernet (R) frame with a VLAN tag specified by IEEE 802.1Q. The Ethernet (R) frame 3200 with a VLAN tag includes a destination MAC address 3201, a source MAC address 3202, a VLAN tag 3203, Ethernet (R) attribute information 3204, a payload 3205, and an FCS 3206.
[0105]
On the other hand, FIG. 2 shows the format of an Ethernet (R) frame with an extension tag according to the present invention. The Ethernet (R) frame with extension tag 3300 includes a destination MAC address 3201, a source MAC address 3202, an extension tag storage area 3301, Ethernet (R) attribute information 3204, a payload 3205, and an FCS 3206. Then, the VLAN tag 3203 of the existing Ethernet (R) frame with VLAN tag 3200 is replaced with the extended tag storage area 3301.
[0106]
As shown in FIG. 3, there is also an Ethernet (R) frame 3400 with an extension tag having another configuration, which includes a destination MAC address 3201, a source MAC address 3202, an extension tag storage area 3301, and a VLAN tag 3203. , Ethernet (R) attribute information 3204, a payload 3205, and an FCS 3206, and the extended tag storage area 3301 is inserted after the source MAC address 3202.
[0107]
The extension tag storage area 3301 can store one or more extension tags. The size of the extension tag is 4 bytes, which is the same size as the VLAN tag 3203. The extension tag inserted next to the source MAC address 3202 of the Ethernet frame with extension tag 3300, 3400 and the VLAN tag of the Ethernet frame with VLAN tag 3200 are stored in the same position and in the same size. The distinction is made by changing the value stored in the upper two bytes of each tag (details will be described later).
[0108]
As a result, the Ethernet (R) frames with extension tags 3300 and 3400 are compatible with the Ethernet (R) frame with VLAN tags 3200, and both the existing node and the node with the extension tag can process both frames. It is.
[0109]
FIG. 4 shows the extended tag storage area 3301. In the storage example shown in FIG. 4, eight extension tags 3500 to 3507 are stored.
[0110]
The forwarding tag 3500 stores an identifier of the destination node and a label (for example, an MPLS label) up to the destination. In addition, the identifier of the transmission source node may be stored in addition to the forwarding tag 3500 storing the identifier of the destination node. Each node determines a frame transfer destination with reference to the forwarding tag. The forwarding tag 3500 is always stored in the Ethernet® frames with extension tags 3300 and 3400.
[0111]
As the types of the extension tags, a customer separation tag 3501, a protection tag 3502, an OAM & P tag 3503, a quality information tag 3504, a frame control tag 3505, a security tag 3506, and a user extension tag 3507 are stored.
[0112]
The customer separation tag 3501 stores an identifier for separating information for each customer accommodated in each node. As the customers, customers belonging to the same VLAN may be the same customers, customers accommodated in specific ports of two or more nodes may be the same customers, or two customers connected to nodes in the network. There are cases where the above hosts are the same customer. Separation identifiers are assigned to these customers, and the frames from each customer store this separation identifier in a customer separation tag 3501. By identifying a customer using the customer separation tag 3501, it is possible to provide additional services (for example, priority control for a specific customer) on a customer basis. Further, a plurality of customer separation tags 3501 can be used in a stack. In this case, the number of separable customers can be greatly increased. When the customer separation tag 3501 is stacked, a special customer separation tag indicating that the customer separation tag 3501 at the last stacked stage is the last stage is used.
[0113]
The protection tag 3502 stores fault information at the time of fault occurrence and detour path information for fault recovery. The OAM & P tag 3504 stores operation / management information.
[0114]
The quality information tag 3504 stores quality information such as a delay, a jitter, a packet loss rate, a time stamp indicating a frame inflow time into the network, and band control information. When the time stamp value is stored in the quality information tag 3504, the node that has received the frame can calculate the intra-network delay (stay time in the network) of the frame from the current time and the time stamp value. When the guaranteed value of the intra-network delay is determined, priority processing can be performed so as to realize the guaranteed value. If the quality information tag 3504 stores bandwidth control information such as a required bandwidth, an accumulated data amount, and a traffic class, the quality information tag 3504 considers the accumulated data amount of the flow, the traffic class, and the traffic situation of other flows, and takes into account the request. Band control for securing a band can be performed.
[0115]
The frame control tag 3505 stores information such as a hop counter (TTL: Time To Live) for limiting the lifetime of the frame in the network and a CRC for error detection. When the TTL is stored, the TTL value is subtracted for each passing node, and when TTL = 0, the frame is discarded. As a result, it is possible to prevent the frame from continuing to circulate even when a loop path is established. When the CRC is stored, the CRC calculation result of the extended tag storage area 3301 at the entry-side node is stored. The CRC is again calculated at the exit-side node and compared with the stored value, so that the extended tag is stored. An error in the storage area 3301 can be detected.
[0116]
The security tag 3506 stores information for ensuring the reliability of the frame and the confidentiality at the time of constructing the network or changing the network configuration. The following is an example of the use of the security tag 3506. A security identifier for each customer is set in advance for the customer who communicates in the network, and the identifier is held at each node to which the customer connects. Each customer always stores the set security identifier in the security tag 3506 at the time of frame transfer, so that it is possible to prevent transmission and reception of a frame from a malicious customer who has altered the information of the customer separation tag 3501. When a network is constructed or a network configuration is changed, a common security identifier is set by negotiating between nodes. By always storing the set security identifier in the security tag 3506 during frame transfer between the nodes, it is possible to prevent a malicious node from connecting to the network.
[0117]
The user extension tag 3507 stores arbitrary information uniquely defined by the user. When the user independently defines the format and storage information of the tag, and defines the processing content, the function can be extended independently and the flexibility of the network can be increased.
[0118]
The extension tags 3501 to 3507 other than the forwarding tag 3500 are stored as needed. The forwarding tag 3500 is stored at the head of the expansion tag storage area 3301, and the other expansion tags 3501 to 507 are stored behind. As long as it is behind the forwarding tag 3500, it may be a predetermined fixed position or an arbitrary position.
[0119]
Hereinafter, of the two types of spanning trees, the spanning tree used for transferring a data frame newly invading the network is a working tree or a working tree, and a tree that is not the working tree is a spare tree or a spare tree. Is expressed as
[0120]
A tree manager that generates an active tree is called an active tree manager, and a tree manager that generates a standby tree is called a standby tree manager.
[0121]
A tag group refers to a node group identified using tags and other identifiers, that is, an aggregate of a plurality of nodes. When a tag group is formed using a VLAN tag as an identifier, the tag group is called a VLAN.
[0122]
A BPDU (Bridge Protocol Data Unit) refers to control data described in IEEE 802.1D (conventional technology 1) and IEEE 802.1W (conventional technology 2) exchanged for generation of a spanning tree, and a working system of the present invention. This refers to a control frame including identification information of the standby system.
[0123]
FIG. 5 is a format diagram showing the structure of a Configuration BPDU frame 2205 described in IEEE 802.1D (Prior Art 1) and IEEE 802.1W (Prior Art 2).
[0124]
The MAC DA 2201 is an area for storing a destination MAC address.
[0125]
The MAC SA 2202 is an area for storing a source MAC address.
[0126]
The tag area 2203 is an area for inserting a tag as an identifier for identifying a plurality of spanning trees. Although not described in the prior art, the tag may be a VLAN tag, an extended tag disclosed in Japanese Patent Application No. 2002-239465 filed by the present applicant, and any other tag or identification means. One or more combined tags may be used.
[0127]
Type 2204 is an area for storing a frame type identifier.
[0128]
The BPDU area 2205 is an area for storing information corresponding to Configuration BPDU parameters described in IEEE 802.1D (conventional technology 1) and IEEE 802.1W (conventional technology 2).
[0129]
The FCS 2206 is an area for storing a frame check sequence.
[0130]
The Protocol Identifier 22051 is an area for storing information equivalent to the Protocol Identifier described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0131]
The Protocol Version Identifier 22052 is an area for storing information equivalent to the Protocol Version Identifier described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0132]
The BPDU Type 22053 is an area for storing information equivalent to the BPDU Type described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0133]
Flags 22054 is an area for storing information equivalent to Flags described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0134]
The Root Identifier 22055 is an area for storing information equivalent to the Root Identifier described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0135]
The Root Path Cost 22056 is an area for storing information equivalent to the Root Path Cost described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0136]
The Bridge Identifier 22057 is an area for storing information equivalent to the Bridge Identifier described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0137]
The Port Identifier 22058 is an area for storing information equal to the Port Identifier described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0138]
The Message Age 22059 is an area for storing information equal to the Message Age described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0139]
The MAX Age 2205A is an area for storing information equivalent to MAX Age described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0140]
The Hello Time 2205B is an area for storing information equivalent to the Hello Time described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0141]
The Forward Delay 2205C is an area for storing information equivalent to the Forward Delay described in IEEE 802.1D (conventional technology 1) or IEEE 802.1W (conventional technology 2).
[0142]
FIG. 6 is a format diagram showing a structure of a Topology Change Notification BPDU frame described in IEEE 802.1D (conventional technology 1) and IEEE 802.1W (conventional technology 2).
[0143]
The MAC DA 2201 is an area for storing a destination MAC address.
[0144]
The MAC SA 2202 is an area for storing a source MAC address.
[0145]
Although not described in the related art, the tag area 2203 is an area for inserting a tag as an identifier for identifying a plurality of spanning trees. In addition to the VLAN tag, the tag may be an extended tag disclosed in Japanese Patent Application No. 2002-239465, or a tag obtained by combining one or more of other tags or identification means.
[0146]
Type 2204 is an area for storing a frame type identifier.
[0147]
The BPDU area 2205 is an area for storing information corresponding to Topology Change Notification BPDU parameters described in IEEE 802.1D (conventional technology 1) and IEEE 802.1W (conventional technology 2).
[0148]
The FCS 2206 is an area for storing a frame check sequence.
[0149]
The GVRP refers to a control frame transmitted and received for managing a tag group, identifying the active system and the standby system, and exchanging various setting information between nodes.
[0150]
Hereinafter, a first embodiment of the present invention will be described in detail with reference to the drawings.
[0151]
Referring to FIG. 7, the first embodiment of the present invention includes nodes 11 to 16, clients 91 to 96, links 81 to 86, and links 21 to 28.
[0152]
The node 11 is realized by a program-controlled CPU or the like and has the following functions.
[0153]
(1) The frame arriving from the link 21 or the link 24 is transferred to the link 24 or the link 21.
[0154]
(2) The frame arriving from the link 81 is transferred to the link 21 or the link 24 after adding a tag necessary for the transfer.
[0155]
(3) The frame arriving from the link 21 or the link 24 is transferred to the link 81 after deleting the tag necessary for the transfer.
[0156]
(4) In order to form a spanning tree, control frames are exchanged with other nodes, and ports of the links are closed as necessary.
[0157]
(5) Monitor the flow rate of the frame flowing through the link.
[0158]
The nodes 12 to 16 are the same as the node 11. In the future, description will be made using the node 11 on behalf of the nodes 11 to 16, but the description of the node 11 can be similarly realized in the other nodes 12 to 16 unless otherwise specified.
[0159]
The client 91 is a group of one or more clients, and has a function of transmitting and receiving frames to and from the node 11 via the link 81.
[0160]
The clients 92 to 96 are a client group similar to the client 91. In the future, description will be made using the client 91 on behalf of the clients 91 to 96, but the description of the client 91 can be similarly applied to other clients 92 to 96 unless otherwise specified.
[0161]
The link 81 is a bidirectional link connecting the client 91 to the node 11 and the node 11 to the client 91.
[0162]
The links 82 to 86 are the same links as the link 81. From now on, description will be made using the link 81 on behalf of the links 81 to 86, but the description of the link 81 can be similarly applied to the other links 82 to 86 unless otherwise specified.
[0163]
The link 21 is a bidirectional link connecting the node 11 to the node 12 and the node 12 to the node 11.
[0164]
The links 22 to 28 are the same links as the link 21. From now on, description will be made using the link 21 on behalf of the links 22 to 28, but the description of the link 21 can be similarly applied to the other links 22 to 28 unless otherwise specified.
[0165]
FIG. 8 is a diagram showing the configuration of the node 11 in detail. The node 11 includes a frame transfer unit 111, a tag insertion unit 112, a tag deletion unit 113, a forwarding table 114, a classifier 1150, a tree manager 1151, a tree manager 1152, a tree selector 116, a tag table 117 And a setting interface 118.
[0166]
The frame transfer unit 111 transfers the frame received from the link 21 or the link 24 and the tag insertion unit 112 to the link 21 or the link 24 and the tag deletion unit 113 or the tree selector 116 according to the description of the forwarding table 114. .
[0167]
The tag inserter 112 inserts a tag into the frame received from the link 81 according to the description in the tag table 117 and transfers the frame to the frame transfer unit 111. Note that, depending on the description in the tag table 117, the received frame can be directly transferred to the frame transfer device 111 without inserting a tag, and zero or more tags can be inserted into the same frame, or It is also possible to copy the arrived frame and insert zero or more identical or different tags into each copied frame.
[0168]
The tag delete unit 113 removes the tag added to the frame received from the frame transfer unit 111 and transfers the tag to the link 81. Note that, depending on the setting, the received frame can be directly transferred to the link 81 without removing the tag.
[0169]
The forwarding table 114 responds to the inquiry from the frame transfer unit 111 with one or more frame transfer destination ports to the frame transfer unit 111 using one or more combinations as a key in addition to the MAC address, the tag, or the input port. I do. The key and the transfer destination port are set by the tree manager 1151 or the tree manager 1152.
[0170]
The classifier 1150 determines an output destination port according to the tag of the received frame, and transfers the frame to the tree manager 1151 or 1152. Which tag is added to the frame to be transferred to the tree manager 1151 or the tree manager 1152 can be set by the tree selector 116.
[0171]
The tree manager 1151 receives the BPDU from the classifier 1150 and transmits the BPDU to the frame transfer unit 111 using the spanning tree algorithm according to the instruction of the tree selector 116, and sets the forwarding table 114. Further, the setting information is received from the tree selector 116 and used as a parameter of the BPDU. Further, the control information included in the BPDU is extracted and notified to the tree selector 116.
[0172]
The tree manager 1152 is a tree manager similar to the tree manager 1151. From now on, description will be made using the tree manager 1151 on behalf of the tree managers 1151 to 1152, but the description of the tree manager 1151 can be similarly applied to the tree manager 1152 unless otherwise specified.
[0173]
The tree selector 116 receives a setting frame such as GVRP from the frame transfer unit 111, receives control information included in a BPDU from the tree manager 1151 or 1152, receives notification of link information from the resource monitor 119, or Upon receiving the setting notification from the server 118, the tree manager 1151, the tree manager 1152, and the tag table 117 are set according to the information included in the setting frame or the notification. Also, it transmits the setting frame to the frame transfer unit 111.
[0174]
The tag table 117 responds to the inquiry from the tag inserter 112 to the tag inserter 112 with information on the tag to be inserted or an instruction to transfer without adding a tag. A tag to be inserted or a transfer instruction without tag insertion is set by the tree selector 116. It is also possible to set to insert zero or more tags in the same frame, or to copy the arriving frame and insert zero or more same or different tags into each copied frame. is there.
[0175]
The setting interface 118 transmits a tree selection command from a user, a node deletion request, a link cost, a spanning tree parameter value, and the like to the tree selector 116 through a serial connection, a command line interface such as TELNET, or a WEB server.
[0176]
The resource monitor 119 monitors the status of each link port of the node, and when detecting a link connection, transmits a link-up notification to the tree selector 116. In addition, one or more of the cumulative number of bytes of the frame passing through the link, the number of passing TCP sessions, and the number of HTTP requests are counted and held, and the value held is requested by the tree selector 116. In addition, the stored value is reset to 0 by an instruction from the tree selector 116. Furthermore, the frame selector 116 monitors passage of a frame of a type designated in advance, and notifies the tree selector 116 when the monitored frame passes.
[0177]
FIG. 9 is an example of the configuration of the forwarding table 114 in FIG. 8 of the present embodiment in which an output port is determined using a tag as a key.
[0178]
The tag field 1141 is a field serving as a search index, and it is checked whether information in this field matches the content written in the tag of the received frame.
[0179]
The output port 1142 is a field that describes to which port the frame should be forwarded when the content of the field 1141 matches the content written in the tag of the received frame.
[0180]
The present embodiment determines the transfer destination based on the MAC address, which is conventionally performed, as well as the case where the tag forwarding that determines the transfer destination port based on the content of the tag is performed as shown in the present operation example. The same applies to normal MAC address transfer. In this case, a plurality of ports are described in the output port field 1142.
[0181]
FIG. 10 is a diagram showing the configuration of the tree manager 1151 in FIG. 8 according to the first embodiment of the present invention in detail. The tree manager 1151 includes a tag deleter 11511, a BPDU transceiver 11512, a tag inserter 11513, a tree controller 11514, and a tree table 11515.
[0182]
The tag deleter 11511 deletes the tag inserted in the frame input from the classifier 1150 and transfers the tag to the BPDU transceiver 11512. If the tag is not attached to the frame received from the classifier 1150, the received frame is transferred to the BPDU transceiver 11512 as it is.
[0183]
The BPDU transceiver 11512 receives the BPDU from the tag remover 11511, and notifies the tree controller 11514 of the information included in the frame by a BPDU reception notification. In addition, upon receiving a BPDU transmission notification from the tree controller 11514, it generates a frame and transmits it to the tag inserter 11513.
[0184]
The tag inserter 11513 receives the frame from the BPDU transceiver 11512, inserts a preset tag, and transmits the tag to the frame transfer unit 111. It is also possible to set to transfer the frame as it is without inserting a tag.
[0185]
The tree controller 11514 has the following four functions.
[0186]
(1) Stop operation (initial state): In accordance with a stop command from the tree selector 116, the BPDU transmission notification to the BPDU transceiver 11512 is stopped. In addition, the state of the port is registered in the tree table 11515 assuming that all the links are down.
[0187]
(2) Start operation: In accordance with a start command from the tree selector 116, a BPDU transmission notification to the BPDU transceiver 11512 is started. In addition, based on the information included in the start instruction, an up port is registered in the tree table 11515.
[0188]
(3) BPDU reception operation: The BPDU reception notification is received from the BPDU transceiver 11512, and the tree table 11515 is updated. Further, the identification information of the working tree and the protection tree included in the BPDU reception notification is extracted and notified to the main controller 1164 in the tree selector 116.
[0189]
(4) topology update operation: after the stop operation, the start operation, and the BPDU reception operation, refer to the tree table 11515 according to the spanning tree protocol shown in the related art 1 or 2 and, if necessary, the tree table The setting of 11515, the setting of the forwarding table 114, and the transmission of BPDU are performed. The BPDU to be transmitted includes identification information of the working tree and the protection tree. Further, an operation of notifying the tree selector 116 of whether or not the topology has changed as a result of the tree recalculation is performed.
[0190]
The tree table 11515 is a table in which parameters relating to a port state and a node state, which are necessary for the spanning tree protocol shown in the related art 1 or the related art 2, are described. The priority and link cost of each port or link are also described in this table. In the first embodiment, a description will be given on the assumption that the thickness of a link band is used as the link cost.
[0191]
FIG. 11 is a diagram illustrating the configuration of the tree selector 116 in FIG. 8 according to the first embodiment of the present invention in detail. The tree selector 116 includes a tag deleter 1161, a GVRP transceiver 1162, a tag inserter 1163, a main controller 1164, a stability timer 1165, and an arrival interval timer 1166.
[0192]
The tag delete unit 1161 deletes a tag inserted in the frame input from the frame transfer unit 111 and transfers the tag to the GVRP transceiver 1162. If the tag is not attached to the frame received from the frame transfer unit 111, the received frame is transferred to the GVRP transceiver 1162 as it is.
[0193]
The GVRP transmitter / receiver 1162 receives the control frame from the tag deleter 1161, and notifies the main controller 1164 of information included in the frame by a GVRP frame reception notification. In addition, it receives a GVRP frame transmission notification from the main controller 1164, generates a frame, and transmits the frame to the tag inserter 1163.
[0194]
The tag inserter 1163 receives the frame from the GVRP transceiver 1162, inserts a preset tag, and transmits the tag to the frame transfer unit 111. It is also possible to set to transfer the frame as it is without inserting a tag.
[0195]
The main controller 1164 has the following four functions.
[0196]
(1) Link-up detection: The main controller 1164 receives a link-up notification from the resource monitor 119, and notifies the tree manager currently serving as a standby system of a link-up (start instruction). The start instruction stores information on the link that is up. After the start command is transmitted, the stability timer 1165 is set. When the expiration notification of the stability timer 1165 is received, a change command of the insertion tag is notified to the tag table 117, and further, the GVRP transceiver 1162 is instructed to reverse the registration of the standby system and the active system with a new tree. Instructs the root node to send a tree switch request frame. Further, a stability timer 1165 is set, and after the timer expires, the own node is added to the old tree.
[0197]
(2) Receiving a node deletion request: Upon receiving a node deletion request notification from the setting interface 118, a stop instruction is transmitted to the tree manager currently serving as the standby system. Also, after the transmission of the stop instruction, the stability timer 1165 is set, and upon receipt of the expiration notification of the stability timer 1165, an instruction for changing the insertion tag is notified to the tag table 117, and the registration of the standby system and the active system is reversed. Instruct the GVRP transceiver 1162 to transmit the usage tag group change GVRP frame to the root node of the new tree. Further, the stability timer 1165 is set, and after the timer expires, the setting interface 118 displays the permission to delete the own node.
[0198]
(3) Use tag group change GVRP reception: When the own node is the root node of the new tree, when the use tag group change GVRP frame is received, the BPDU transmitted from the own node is added with the active flag and transmitted. , The tree manager 1151 or the tree manager 1152. Further, it instructs the GVRP transceiver 1162 to cancel the attachment of the working flag to the root node of the old tree.
[0199]
(4) Receiving notification of change of active system bit: The tree manager 1151 or the tree manager 1152 checks the active system flag added to the BPDU when receiving the BPDU, and determines whether the own group is the active system or the standby system. Notify the main controller. As a result of receiving the notification, if there is a change between the active system and the standby system, an insertion tag change notification is transmitted to the tag table 117 to reverse the registration of the active system and the standby system.
[0200]
(5) Receiving notification of passing of designated frame: Upon receiving a notification from the resource monitor 119 that a preset monitoring target frame has passed, it transmits a set notification to the arrival interval timer 1166. When the timer expiration notification arrives from the arrival interval timer 1166, it is understood that the arrival interval of the monitoring target frame is longer than the time set by the set notification. As a result, it is possible to detect that the arrival interval of the BPDU has become longer, or that the arrival interval of the frame flowing through the standby system has become longer.
[0201]
The stability timer 1165 transmits a timer expiration notification to the main controller 1164 when a preset time elapses from the reception of the set notification transmitted from the main controller 1164.
[0202]
Upon receiving the set command from the main controller 1164, the arrival interval timer 1166 resets the currently held time to 0 to operate the timer, and when the time specified by the set command has elapsed, the arrival interval timer 1166 instructs the main controller 1164. Send a timer expiration notification.
[0203]
FIG. 12 is a flowchart showing in detail the state transition of the main controller 1164 in FIG. 11 of the first embodiment of the present invention.
[0204]
Hereinafter, of the two types of spanning trees, the spanning tree used for transferring a data frame newly invading the network is a working tree or a working tree, and a tree that is not the working tree is a spare tree or a spare tree. Is expressed as
[0205]
A tree manager that generates an active tree is called an active tree manager, and a tree manager that generates a standby tree is called a standby tree manager.
[0206]
The state 11641 is a state where it is not possible to determine whether the active tree manager is the tree manager 1151 or the tree manager 1152, and the BPDU transceiver 11512 in the tree manager 1151 and the BPDU in the tree manager 1152. In this state, the BPDU transmission function of the transceiver 11522 is disabled, and only the BPDU reception function is enabled.
[0207]
In the state 11642, the active tree manager is the tree manager 1151, the standby tree manager is the tree manager 1152, the BPDU transmitting / receiving function of the BPDU transceiver 11512 in the tree manager 1151 is disabled, and the status of the tree manager 1152 is The BPDU transmission function of the BPDU transceiver 11522 is also disabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0208]
In the state 11643, the active tree manager is the tree manager 1151, the standby tree manager is the tree manager 1152, the BPDU transmission function of the BPDU transceiver 11512 in the tree manager 1151 is disabled, and the state of the tree manager 1152 is The BPDU transmission function of the BPDU transceiver 11522 has been enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0209]
The state 11644 indicates that the active tree manager is the tree manager 1152, the backup tree manager is the tree manager 1151, the BPDU transmission function of the BPDU transceiver 11522 in the tree manager 1152 is enabled, and the state of the tree manager 1151 is The BPDU transmission function of the BPDU transceiver 11512 is in a disabled state. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0210]
The state 11645 indicates that the active tree manager is the tree manager 1152, the backup tree manager is the tree manager 1151, the BPDU transmission function of the BPDU transceiver 11522 in the tree manager 1152 is enabled, and the state of the tree manager 1151 is The BPDU transmission function of the BPDU transceiver 11512 is also enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0211]
The state 11646 indicates that the active tree manager is the tree manager 1151, the standby tree manager is the tree manager 1152, the BPDU transmission function of the BPDU transceiver 11512 in the tree manager 1151 is enabled, and the The BPDU transmission function of the BPDU transceiver 11522 is also enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0212]
The state 11647 indicates that the active tree manager is the tree manager 1151, the backup tree manager is the tree manager 1152, the BPDU transmission function of the BPDU transceiver 11512 in the tree manager 1151 is enabled, and the state of the tree manager 1152 is This is a state in which the BPDU transmission function of the BPDU transceiver 11522 is disabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0213]
The state 11648 indicates that the active tree manager is the tree manager 1152, the standby tree manager is the tree manager 1151, the BPDU transmission function of the BPDU transceiver 11522 in the tree manager 1152 is disabled, and the state of the tree manager 1151 is This is a state in which the BPDU transmission function of the BPDU transceiver 11512 is enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0214]
In the state 11649, the active tree manager is the tree manager 1152, the standby tree manager is the tree manager 1151, the BPDU transmission function of the BPDU transceiver 11522 in the tree manager 1152 is disabled, and the state of the tree manager 1151 is This is a state in which the BPDU transmission function of the BPDU transceiver 11512 is disabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0215]
Next, the operation of the main controller 1164 will be described with reference to FIG.
[0216]
When the main controller 1164 receives the notification from the resource monitor 119 that it is newly connected to the network, the main controller 1164 waits for the arrival of the active notification from the tree manager 1151 or the tree manager 1152. When an active system notification included in the BPDU is received from the tree manager 1151 or the tree manager 1152, the tree manager 1151 or 1152 specified in the notification is used for the current operation, and the tree manager 1151 or 1152 specified for the standby is used for the standby. The state is set, and the state transits to the state 11642 or the state 11649. Here, the case where the state has transitioned to the state 11642 will be described as an example, but the description in the future is the same when the state has transitioned to the state 11649. (State 11641)
[0219]
The main controller 1164 sets the tree manager 1151 for working and the tree manager 1152 for spare. Further, it issues a BPDU transmission stop command to each of the tree managers 1151 and 1152. (State 11642)
[0218]
If the main controller 1164 receives a node addition request from the setting interface 118 in the state 11642, the main controller 1164 makes a transition to the state 11643. If the active system notification is received from the tree manager 1151 or the tree manager 1152, and the relationship between the active system and the standby system is changed, the state changes to the state 11649. (State 11642)
[0219]
The main controller 1164 notifies the tree manager 1152 of the link up, and at the same time, permits the tree manager 1152 to transmit a BPDU. Further, the stability timer 1165 is operated. (State 11643)
[0220]
Upon receiving the timer expiration notification from the stabilization timer 1165, the main controller 1164 replaces the currently registered tree manager 1151 with the currently registered tree manager 1152, and replaces the currently used tree manager 1152 with the currently used tree manager 1152. The tree manager 1151 is assumed. Further, a use tag group change notification is transmitted to the root node of the new tree via the GVRP transceiver 1162. The content of the usage tag group change notification is reflected in the BPDU and transmitted to all nodes. Thereafter, the stability timer 1165 is operated. (State 11644)
[0221]
Upon receiving the timer expiration notification from the stability timer 1165, the main controller 1164 notifies the tree manager 1151 of the link up and, at the same time, permits the tree manager 1152 to transmit a BPDU. Usually, it is stabilized in this state. (State 11645)
[0222]
The main controller 1164 receives the active system notification included in the BPDU from the tree manager 1151 or the tree manager 1152 in the state 11645, and transitions to the state 11646 if the relationship between the active system and the standby system is changed. . Then, the currently registered tree manager 1152 and the registered tree manager 1151 are exchanged, and the currently used tree manager 1151 and the standby tree manager 1152 are replaced. (State 11645)
[0223]
If the main controller 1164 receives the node deletion request from the setting interface 118 in the state 11645, the main controller 1164 makes a transition to the state 11644. (State 11645)
[0224]
The main controller 1164 notifies the tree manager 1151 of all the linked links down, and at the same time, issues a BPDU transmission stop command to the tree manager 1151. Further, the stability timer 1165 is operated. (State 11644)
[0225]
Upon receiving the timer expiration notification from the stabilization timer 1165, the main controller 1164 replaces the currently registered tree manager 1152 with the currently registered tree manager 1151 and replaces the currently used tree manager 1151 with the newly registered tree manager 1151. The tree manager 1152 is assumed. Further, a use tag group change notification is transmitted to the root node of the new tree via the GVRP transceiver 1162. The content of the usage tag group change notification is reflected in the BPDU and transmitted to all nodes. Thereafter, the stability timer 1165 is operated. (State 11643)
[0226]
Upon receiving the timer expiration notification from the stability timer 1165, the main controller 1164 notifies the tree manager 1151 of the link down and simultaneously issues a BPDU reception stop instruction to the tree manager 1151. Further, the state unconditionally transitions to the state 11641, and waits until the node is disconnected. (State 11642)
FIG. 13 is a configuration example of the tag table 117 for determining a tag to be inserted using the destination MAC address as a key in FIG. 8 of the present embodiment.
[0227]
The destination MAC address 1171 is a field serving as a search index. It is checked whether or not the information in this field matches the destination MAC address field of the received frame, that is, the content written in the MAC DA field. In this case, the tag described in the insertion tag field 1172 is inserted into the received frame.
[0228]
The insertion tag field 1172 is a field in which a tag to be inserted into the destination MAC address field 1171 is described. In the present embodiment, the tag of the tag group that is currently active is inserted. This insertion tag field 1172 is rewritten by the tree selector 116 to the tag currently used.
[0229]
With reference to FIG. 7, FIG. 8, FIG. 14, FIG. 15, and FIG. 16, the operation of adding a node 17 in the present embodiment will be described in detail using a specific example.
[0230]
Before describing the operation at the time of adding the node 17, first, how the spanning tree is configured in the present invention in a state before the node 17 is added will be described.
[0231]
Also in the initial state (state before the node 17 is connected to the links 29 and 30), two systems of the spanning tree are prepared. Then, the two systems of spanning trees in the initial state have the same connection relationship. This is because the protocol for setting the spanning tree sets the spanning tree based on information such as the node and the priority value of the link. Therefore, setting two spanning trees for the same network results in the same connection relationship. is there. In this initial state, one of the spanning trees is set as the current one and the other is set as the spare (specifically, the tree managers 1151 and 1152 rewrite the tree table 11515, and the tree selector 116 rewrites the tag table 117 so that Configuration), this network is operated using the active spanning tree.
[0232]
A specific example of the spanning tree in this initial state will be described using the network shown in FIG. 7 as an example.
[0233]
For example, in the network shown in FIG. 7, if the spanning tree 51 having the connection relationship shown by the bold line in FIG. 14 is set as the active spanning tree in the initial state, the same connection relationship (the bold line in FIG. 14) Is set as a standby system.
[0234]
Hereinafter, an operation when the node 17 is added to the network in the above-described initial state will be described.
[0235]
Referring to FIG. 14, this operation example includes nodes 11 to 17, links 21 to 30, and a tree 51. However, the node 17, the link 29, and the link 30 are not connected in the initial state.
[0236]
FIG. 15 shows a state of the spanning tree 52 after the node 17 is added in the operation example. The tree 52 is indicated by a thick line in FIG.
[0237]
As described above, in the initial state, two spanning trees to which all the nodes 11 to 16 and all the ports belong are set. Then, two tag groups corresponding to these two spanning trees are set in a one-to-one correspondence. Here, the first tag group is referred to as a tag group 41, and the second tag group is referred to as a tag group 42. .
[0238]
Basically, all nodes and all ports are joined to two tag groups, but a tag group composed of only some ports or nodes may be created. Hereinafter, description will be made assuming that all nodes and all ports join two tag groups.
[0239]
Each of the nodes 11 to 16 includes two independently operating spanning tree circuits. A spanning tree operating on the tag group 41 is called a tree 51, and a spanning tree operating on the tag group 42 is called a tree 52.
[0240]
In addition, although two spanning trees are always created, it is not always necessary to create two tag groups. A spanning tree that operates on the tag group 41 without using the tag group 42 by setting only the tag group 41 can be called a tree 51, and a spanning tree that operates without belonging to the tag group can be called a tree 52. Conversely, a spanning tree that is set without using the tag group 41 by setting only the tag group 42 and operates without belonging to the tag group is called a tree 51, and a spanning tree that operates on the tag group 42 is called a tree 52. it can. That is, it is only necessary to be able to identify two spanning trees.
[0241]
Here, the case where both the tag group 41 and the tag group 42 are used will be particularly described. However, when both the tag group 41 and the tag group 42 are used, the operation when only the tag group 41 or the tag group 42 is used The same can be applied to the case where is used.
[0242]
In this network, by the initial setting from the setting interface 118, the tree 51 is set to be the active spanning tree, and the tree 52 is set to be the standby spanning tree. The tag of the tag group 41 is attached, and the BPDU of the tree 52 is attached with the spare system flag and the tag of the tag group 42.
[0243]
The spanning of the working tree, which is the tree 51, is performed by transmitting all the BPDU frames with the working flag or the protection flag to each other at a constant period defined by IEEE Std 802.1D or IEEE Std 802.1W. A spare spanning tree, which is a tree or tree 52, is constructed.
[0244]
The working flag or the protection flag can be represented by using, for example, the fields of the tag area 2203, Type 2204, BPDU Type 22053, etc. among the fields of the BPDU frame shown in FIG.
[0245]
At present, a sufficient time has elapsed since the start of the network, and the trees 51 and 52 have been replaced by the BPDU frames to which the tags of the tag groups 41 and 42 have been sufficiently added. It is assumed that 11 is stable as a root node.
[0246]
Stable refers to a state in which the tree structure of the spanning tree has not been changed for a sufficiently long time.
[0247]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52. Specifically, in the tag area 2203 of the BPDU transmitted using the tree 51, a value indicating that the BPDU belongs to the tag group 41 is described, and the tag area 2203 of the BPDU transmitted using the tree 52 is described. Describes a value indicating that this BPDU belongs to the tag group 42.
[0248]
At this time, since the tree 51 is set as the active system, tags of the tag group 41 are added to the data transmitted from the client to the nodes 11 to 16 by the tag inserter 112. Specifically, a value indicating that the tag belongs to the tag group 41 is described in the tag area of the data signal. The data to which the tag has been added is transferred by the frame transfer unit 111 along the tree 51 set as the active system at the present time.
[0249]
When connected to the link 29 and the link 30, the node 17 does not join any tag groups and starts receiving BPDUs. (At this time, the state of the main controller 1164 of the node 17 is the state 11641 of FIG. 12)
[0250]
Upon receiving the BPDU of each tag group, the node 17 confirms that the current active system is the tag group 41 and the current standby system is the tag group 42. (At this time, the state of the main controller 1164 of the node 17 is the state 11642 of FIG. 12.) Then, the own node participates only in the tag group 42 to transmit and receive BPDUs. Set to not send. (The state of the main controller 1164 of the node 17 at this time is the state 11643 of FIG. 12.)
[0251]
When the node 17 is added, a change occurs in the members of the tag group 42, so that the operation of updating the tree 52 is started by the spanning tree protocol. That is, when the node 17 transmits a BPDU and the adjacent node receives the BPDU, the adjacent node recognizes that the topology status has changed, and starts an operation for updating the tree 52. Since there is no change in the members of the tag group 41, the tree 51 is not updated.
[0252]
The frames transmitted from the client are added with the tags of the tag group 41 by the nodes 11 to 16 as before, and are continuously transferred along the tree 51.
[0253]
Here, it is assumed that the tree 52 is stabilized with the root node as the node 11 by the update operation of the tree 52 described in the paragraph 0251. FIG. 15 shows the configuration of the tree 52 at this time.
[0254]
The node 17 determines that the tree 52 has become stable after a certain period of time from being connected to the network, and transmits a use tag group change notification to the node 11 that is the root node of the tree 52, and transmits the tree 52 to the standby system. From the to the active system. For this command, for example, a control frame (GVRP) is used. (At this time, the state of the main controller 1164 of the node 17 is the state 11644 of FIG. 12.)
[0255]
It should be noted that the detection that the tree 52 is stable is detected when a certain period of time has passed since the node 17 was connected to the network, and also when the BPDU arrival interval of the tree 52 at the node 17 becomes longer than a certain period of time. You can also.
[0256]
The node 11 that has received the usage tag group change notification transmits the usage tag group change notification to the node 11 that is the root node of the tree 51, and instructs the node 11 to transition to the standby system. For this use tag group change notification, for example, a control frame (GVRP) is used. Then, a tag of the tag group 42 is attached, and an active flag is set in a BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0257]
The node 11 of the tree 51 receives the use tag group change notification, transitions the tree 51 to the standby system, attaches the tag of the tag group 41, and sets the standby system flag in the BPDU transmitted for the tree 51. This reserve flag is set, for example, in a predetermined field of the BPDU in FIG. The setting is executed by the tree managers 1151 and 1152 rewriting the tree table 11515 and the tree selector 116 rewriting the tag table 117. The BPDU propagates to all nodes while being transferred at each node.
[0258]
The nodes 11 to 17 confirm that the active flag has been added to the BPDU with the tag of the tag group 42 and switch the tag to be added to the frame transferred from the client from the tag group 41 to the tag group 42. . At this time, the insertion tag field 1172 in the tag table 117 can be rewritten. The frame to which this tag is added is transferred along the tree 52.
[0259]
Some time after the above switching is completed, there are no frames flowing through the tree 51.
[0260]
The node 17 determines that there is no longer a node to which the tag of the tag group 41 is added after a lapse of a predetermined time from the transmission of the use tag group change notification, and makes the node 17 join the tag group 41 to prepare for the next topology change. . In order to join the own node to the tag group 41, the node 17 permits the tree controller in the tree manager 1151 to transmit BPDUs, and permits the BPDU transceiver 11512 to transmit BPDUs. (At this time, the state of the main controller 1164 of the node 17 is the state 11645 of FIG. 12)
At this time, since the reconfiguration is performed on the spanning tree 51, the network stops when the network is viewed focusing on the spanning tree 51. However, since communication in the network is performed using the spanning tree 52 during this time, problems such as congestion and frame arrival delay do not occur with the addition of the node 17.
[0261]
Note that the operation of causing the node 17 to join the tag group 41 may be performed by the node 11 that is the root node of the tree 52 or the node 11 that is the root node of the tree 51.
[0262]
When the node 11 that is the root node of the tree 52 causes the node 17 to join the tag group 41, the tag of the tag group 41 is deleted after a certain period of time has elapsed since the node 11 received the use tag group change notification from the node 17. It determines that the node to be added no longer exists, and sends a GVRP frame to the node 17 to instruct the node 17 to join the tag group 41.
[0263]
When the node 11 that is the root node of the tree 51 causes the node 17 to join the tag group 41, the tag of the tag group 41 is deleted after a certain period of time has elapsed since the node 11 received the use tag group change notification from the node 11. It determines that the node to be added no longer exists, and sends a GVRP frame to the node 17 to instruct the node 17 to join the tag group 41. In this case, the node 11 of the tree 51 transmits the GVRP frame to the node 17 directly (not through the node 11 of the tree 52). This is because, in the operation of joining the node 17 to the tag group 41, the flag inserted into the BPDU does not change, so that it is not necessary to go through the root node.
[0264]
As described above, the node 17 can be added without stopping the network. Thereafter, when a node is added, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are switched as appropriate.
[0265]
FIG. 16 is a sequence diagram illustrating the above-described addition operation of the node 17.
[0266]
The arrow 31 indicates the flow of the BPDU with the active flag into which the tag indicating the tag group 41 has been inserted.
[0267]
The arrow 32 indicates the flow of the BPDU with the backup system flag into which the tag indicating the tag group 42 has been inserted.
[0268]
The arrow 33 indicates the flow of the BPDU with the active flag into which the tag indicating the tag group 42 has been inserted.
[0269]
The arrow 34 indicates the flow of the BPDU with the backup system flag into which the tag indicating the tag group 41 has been inserted.
[0270]
An arrow 35 indicates a flow of a use tag group change notification using a GVRP frame or the like in which a tag indicating a tag group is not inserted.
[0271]
Next, with reference to FIG. 15 and FIG. 14, an operation of deleting the node 17 in the present embodiment will be described in detail using a specific example.
[0272]
Referring to FIG. 15 and FIG. 14, in the present operation example, nodes 11 to 17 and links 21 to 30 are provided.
[0273]
Two tag groups to which all the ports of the nodes 11 to 17 belong are already set, and the first tag group is called a tag group 41 and the second tag group is called a tag group 42.
[0274]
The nodes 11 to 17 have two independently operating spanning tree paths. The spanning tree operating on the tag group 41 is called a tree 51, and the spanning tree operating on the tag group 42 is called a tree 52.
[0275]
In FIG. 15, the tree 52 is represented by a thick line, and it is assumed that the node 11 is stable with the node 11 as a root node.
[0276]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0277]
At present, the data transmitted from the client to the nodes 11 to 17 is tagged with the tag group 42 since the tree 52 is the active system. The data to which the tag has been added is transferred along the tree 52.
[0278]
It is assumed that the node 17 has received the BPDU of each tag group, and has already confirmed that the current active system is the tag group 42 and the current standby system is the tag group 41.
[0279]
When receiving the deletion request via the setting interface or other means, the node 17 sets the node 17 to participate only in the active tag group 42 and not to participate in the tag group 41. At this time, the node 17 stops transmitting the BPDU of the tag group 41.
[0280]
With this setting, it is recognized that the node 17 has been deleted because the BPDU is no longer received by the node adjacent to the node 17, and the members of the tag group 41 are changed. Therefore, the operation of updating the tree 51 is started. . Since there is no change in the members of the tag group 42, the tree 52 is not updated.
[0281]
The frame from the client is added to the tag of the tag group 42 at the nodes 11 to 17 as before, and is continuously transferred along the tree 52.
[0282]
Here, the tree 51 shows a stable state where the root node is the node 11 and the node 17 is not involved. FIG. 14 shows the configuration of the tree 51.
[0283]
Here, the term “stable” refers to a state in which the tree structure of the spanning tree does not change for a sufficiently long time.
[0284]
The node 17 determines that the tree 51 has been stabilized after a certain period of time has elapsed since the setting of the non-participation of the tag group 41, and transmits a use tag group change notification to the node 11, which is the root node of the tree 51, to reserve the tree 51. Command to change from system to working system. (At this time, the state of the main controller 1164 of the node 17 is the state 11644 of FIG. 12.)
[0285]
The node 11 that has received the usage tag group change notification transmits the usage tag group change notification to the node 11 that is the root node of the tree 52, and instructs the node 11 to transition to the standby system. Then, a flag of the tag group 41 is attached, and an active flag is set in the BPDU transmitted for the tree 51. The BPDU propagates to all nodes while being transferred at each node.
[0286]
The node 11 of the tree 51 receives the usage tag group change notification, transitions the tree 52 to the standby system, attaches the tag of the tag group 42, and sets the standby flag in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0287]
The nodes 11 to 17 confirm that the active flag has been added to the BPDU with the tag of the tag group 41 and switch the tag to be added to the frame transferred from the client from the tag group 42 to the tag group 41. . The frame to which the tag is added is transferred along the tree 51.
[0288]
Some time after the above switching is completed, there are no frames flowing through the tree 52.
[0289]
The node 17 determines that there is no longer a node to which the tag of the tag group 42 is added after a lapse of a predetermined time from the transmission of the use tag group change notification, and notifies the node 17 that the node itself may be deleted from the network. Is output to the setting interface 118. (The state of the main controller 1164 of the node 17 at this time is the state 11643 of FIG. 12.)
[0290]
Thereafter, when deleting a node, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are replaced as appropriate.
[0291]
Referring to FIG. 14 and FIG. 15, the operation of adding a node 17 in the case where a tag is added only to a BPDU and no tag is added to data in the present embodiment will be described in detail using a specific example. Will be described.
[0292]
In FIG. 14, the tree 51 is represented by a thick line, and it is assumed that the node 11 is stable with the node 11 as a root node. Stable refers to a state in which the tree structure of the spanning tree has not been changed for a sufficiently long time.
[0293]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0294]
At present, no tag is added to the data transmitted from the client to the nodes 11 to 16. The data is transferred along the tree 51 according to the settings in the forwarding table of each node.
[0295]
When connected to the link 29 and the link 30, the node 17 does not join any tag groups and starts receiving BPDUs. (The state of the main controller 1164 of the node 17 at this time is the state 11641 of FIG. 12.)
[0296]
When receiving the BPDU of each tag group, the node 17 confirms that the current active system is the tag group 41 and the current standby system is the tag group 42 by the flag in the tag added to the BPDU. The BPDU is transmitted and received only in the tag group 42, and the BPDU is only received and not transmitted in the tag group 41. (The state of the main controller 1164 of the node 17 at this time is the state 11642 in FIG. 12.)
[0297]
When the node 17 is added, a change occurs in the members of the tag group 42, so that the operation of updating the tree 52 is started by the spanning tree protocol. Since there is no change in the members of the tag group 41, the tree 51 is not updated. (The state of the main controller 1164 of the node 17 at this time is the state 11643 of FIG. 12.)
[0298]
The frame transmitted from the client is not added with a tag as before, and is continuously transferred along the tree 51.
[0299]
Here, it is assumed that the tree 52 is stable with the root node as the node 11. The structure of the tree 52 is shown in FIG.
[0300]
The node 17 determines that the tree 52 has become stable after a certain period of time from being connected to the network, and transmits a use tag group change notification to the node 11 that is the root node of the tree 52, and transmits the tree 52 to the standby system. From the to the active system. (At this time, the state of the main controller 1164 of the node 17 is the state 11644 of FIG. 12.)
[0301]
The node 11 of the tree 52 that has received the usage tag group change notification transmits the usage tag group change notification to the node 11 that is the root node of the tree 51, and instructs the tree 51 to transition to the standby system. Then, a flag of the tag group 42 is attached, and an active flag is set in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0302]
The node 11 of the tree 51 receives the use tag group change notification, transitions the tree 51 to the standby system, attaches the tag of the tag group 41, and sets the standby system flag in the BPDU transmitted for the tree 51. The BPDU propagates to all nodes while being transferred at each node.
[0303]
The nodes 11 to 17 confirm that the working flag has been added to the BPDU with the tag of the tag group 42, and change the routing table to a setting according to the tree 52. As a result, the frame transferred at the node is transferred along the tree 52.
[0304]
When the routing tables of all nodes are switched to those using the tree 52, no frames flow through the tree 51.
[0305]
The node 17 determines that there is no longer a node for performing table setting according to the tag group 41 after a lapse of a predetermined time from the transmission of the use tag group change notification, and causes the node 17 to join the tag group 41 and perform the next topology change. Prepare for. (At this time, the state of the main controller 1164 of the node 17 is the state 11644 of FIG. 12.)
[0306]
As described above, the node 17 can be added without stopping the network. Thereafter, when a node is added, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are switched as appropriate.
[0307]
In the above description, the stable state of the tree is confirmed using the timer. However, the method for confirming the stable state is not limited to this. As shown below, the arrival interval of the BPDU or the frame is measured, and thereby, It is also possible to confirm a stable state.
[0308]
In FIG. 14, the tree 51 is represented by a thick line, and it is assumed that the node 11 is stable with the node 11 as a root node.
[0309]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0310]
At present, the data of the tag group 41 is added to the data transmitted from the client to the nodes 11 to 16. The data to which the tag is added is transferred along the tree 51.
[0311]
When connected to the link 29 and the link 30, the node 17 does not join any tag groups and starts receiving BPDUs.
[0312]
Upon receiving the BPDU of each tag group, the node 17 confirms that the current active system is the tag group 41 and the current standby system is the tag group 42. Then, the own node joins only the tag group 42 to transmit and receive the BPDU, and the tag group 41 is set so as to receive only the BPDU and not transmit. Then, a frame for notifying that the node 17 has been added is transmitted to each of the node 11 that is the root node of the tag group 42 and the node 11 that is the root node of the tag group 41.
[0313]
When the node 17 is added, a change occurs in the members of the tag group 42, so that the operation of updating the tree 52 is started by the spanning tree protocol. Since there is no change in the members of the tag group 41, the tree 51 is not updated.
[0314]
The frame transmitted from the client is added with the tag of the tag group 41 as before, and is continuously transferred along the tree 51.
[0315]
Here, it is assumed that the tree 52 is stable with the root node as the node 11. The structure of the tree 52 is shown in FIG.
[0316]
When the node 11 which is the root node of the tree 52 detects that the BPDU arrival interval of the tree 52 becomes equal to or longer than a predetermined time, it determines that the tree 52 is stable and uses the node 11 which is the root node of the tree 51 for the tree 11. A tag group change notification is transmitted to instruct the tree 51 to transition to the standby system. Then, a flag of the tag group 42 is attached, and an active flag is set in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0317]
Note that the stability detection of the tree 52 may be performed by the node 11 that is the root node of the tree 51. In this case, when the node 11 which is the root node of the tree 51 detects that the BPDU arrival interval of the tree 52 is equal to or longer than a predetermined time, the node 11 determines that the tree 52 is stable, and the node 11 which is the root node of the tree 52 A change notification of the usage tag group is transmitted to the command, and an instruction is issued to transition the tree 52 to the standby system. The node 11, which is the root node of the tree 51, attaches the flag of the tag group 42, and sets the active flag in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0318]
The node 11 receives the use tag group change notification, transitions the tree 51 to the standby system, attaches the tag of the tag group 41, and sets the standby system flag in the BPDU transmitted for the tree 51. The BPDU propagates to all nodes while being transferred at each node.
[0319]
The nodes 11 to 17 confirm that the active flag has been added to the BPDU with the tag of the tag group 42 and switch the tag to be added to the frame transferred from the client from the tag group 41 to the tag group 42. . The frame to which this tag is added is transferred along the tree 52.
[0320]
Some time after the above switching is completed, there are no frames flowing through the tree 51.
[0321]
The node 11 that is the root node of the tag group 41 determines that the node to which the tag of the tag group 41 is no longer exists when the arrival interval of the frame that flows through the tree 51 by adding the tag of the tag group 41 exceeds a predetermined time. Judge, transmit a GVRP frame to the node 17 and instruct the node 17 to join the tag group 41 to prepare for the next topology change.
[0322]
The operation of causing the node 17 to join the tag group 41 may be performed by the node 11 that is the root node of the tree 52.
[0323]
When the node 11 that is the root node of the tree 52 causes the node 17 to join the tag group 41, the tag group 41 is added to the tag group 41, and when the arrival interval of the frames flowing through the tree 51 exceeds a predetermined time, the tag group 41 is added. It judges that the node to which the tag is added no longer exists, transmits a GVRP frame to the node 17, instructs to join the tag group 41, and prepares for the next topology change.
[0324]
As described above, the node 17 can be added without stopping the network. Thereafter, when a node is added, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are switched as appropriate.
[0325]
Referring to FIG. 14 and FIG. 15, in the present embodiment, the operation in the case of adding node 17 when detecting the transition to the standby system by receiving the notification of the completion of the migration to the standby system This will be described in detail using a specific example.
[0326]
In FIG. 14, the tree 51 is represented by a thick line, and it is assumed that the node 11 is stable with the node 11 as a root node.
[0327]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0328]
At present, the data of the tag group 41 is added to the data transmitted from the client to the nodes 11 to 16. The data to which the tag is added is transferred along the tree 51.
[0329]
When connected to the link 29 and the link 30, the node 17 does not join any tag groups and starts receiving BPDUs.
[0330]
Upon receiving the BPDU of each tag group, the node 17 confirms that the current active system is the tag group 41 and the current standby system is the tag group 42. Then, the own node transmits and receives the BPDU only to the tag group 42, and the tag group 41 is set so as to only receive the BPDU and not transmit the BPDU.
[0331]
When the node 17 is added, a change occurs in the members of the tag group 42, so that the operation of updating the tree 52 is started by the spanning tree protocol. Since there is no change in the members of the tag group 41, the tree 51 is not updated.
[0332]
The frame transmitted from the client is added with the tag of the tag group 41 as before, and is continuously transferred along the tree 51.
[0333]
Here, it is assumed that the tree 52 is stable with the root node as the node 11. The structure of the tree 52 is shown in FIG.
[0334]
The node 17 determines that the tree 52 has become stable after a certain period of time from being connected to the network, and transmits a use tag group change notification to the node 11 that is the root node of the tree 52, and transmits the tree 52 to the standby system. From the to the active system.
[0335]
The node 11 that has received the usage tag group change notification transmits the usage tag group change notification to the node 11 that is the root node of the tree 51, and instructs the node 11 to transition to the standby system. Then, a flag of the tag group 42 is attached, and an active flag is set in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0336]
The node 11 receives the use tag group change notification, transitions the tree 51 to the standby system, attaches the tag of the tag group 41, and sets the standby system flag in the BPDU transmitted for the tree 51. The BPDU propagates to all nodes while being transferred at each node.
[0337]
The nodes 11 to 17 confirm that the active flag has been added to the BPDU with the tag of the tag group 42, and switch the tag to be added to the frame transferred from the client from the tag group 41 to the tag group 42. Then, a switch completion notification is transmitted to the node 11 which is the root node of the tree 52.
[0338]
Some time after the above switching is completed, there are no frames flowing through the tree 51.
[0339]
When receiving the switching completion notification from all the nodes 11 to 17, the node 11 determines that the node to which the tag of the tag group 41 is added no longer exists, transmits a GVRP frame to the node 17, and Order to join 41.
[0340]
The operation of joining the node 17 to the tag group 41 may be performed by the node 17 that is a newly added node or the node 11 that is the root node of the tree 51.
[0341]
When the newly added node 17 adds the node 17 to the tag group 41, the nodes 11 to 16 add the active flag to the BPDU tagged with the tag group 42. When switching the tag to be added to the frame transferred from the client from the tag group 41 to the tag group 42, the switching completion notification is transmitted to the node 17 which is the newly added node. When receiving the switch completion notification from all the nodes 11 to 16, the node 17 determines that there is no longer any node to which the tag of the tag group 41 is to be added, and causes the node 17 itself to join the tag group 41.
[0342]
When the node 11 which is the root node of the tree 51 adds the node 17 to the tag group 41, it is confirmed that the nodes 11 to 17 have added the working flag to the BPDU with the tag of the tag group 42. When the tag added to the frame transferred from the client is switched from the tag group 41 to the tag group 42, a switch completion notification is transmitted to the node 11 which is the root node of the tree 51, and the node 11 When the switching completion notification is received from all the nodes 11 to 17, it is determined that there is no longer any node to which the tag of the tag group 41 is added, and a GVRP frame is transmitted to the node 17 to join the tag group 41. Command.
[0343]
As described above, the node 17 can be added without stopping the network. Thereafter, when a node is added, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are switched as appropriate.
[0344]
Next, effects of the present embodiment will be described.
[0345]
Conventionally, when a node belonging to a spanning tree is added or deleted, the transfer of all or a part of the data frame is stopped and the spanning tree is reconstructed, so that the network may be stopped during restructuring.
[0346]
In the present embodiment, the spanning tree including the newly added node is generated while the spanning tree before the configuration change is operated, and the spanning tree to be used after the new spanning tree is stabilized is switched without stopping the network. Spanning tree reconfiguration such as addition and deletion of nodes belonging to the spanning tree is possible.
[0347]
As a result, it is possible to reduce the possibility of occurrence of congestion.
[0348]
Hereinafter, a second embodiment of the present invention will be described in detail with reference to the drawings.
[0349]
In the second embodiment of the present invention, in the first embodiment, instead of the thickness of the link band at the time of calculating the cost, the capacity of the free band or the number of passing TCP flows, the number of HTTP requests, and the like are used. Furthermore, the difference is that when the cost is changed, a transition is made between the active system and the standby system as in the case of adding / deleting a node. In the following, a case will be described in which the capacity of the free band is used as the cost. However, the number of passing TCP flows and the number of HTTP requests can be similarly realized unless otherwise specified.
[0350]
In IEEE 802.1D and IEEE 802.1W, the cost of a link is determined by the reciprocal of the thickness of the link band. That is, the cost could not be dynamically changed according to the load.
[0351]
In the present embodiment, the cost of the link is determined by the reciprocal of the free band of the link, thereby dynamically changing the cost according to the load.
[0352]
FIG. 17 shows the configuration of the tree selector 116 according to the second embodiment. Referring to FIG. 17, in the second embodiment of the present invention, a cost reference timer 1167, a function calculator 1168, and a smoothing circuit 1169 are added to the tree selector of FIG. 11 in the first embodiment. Is different.
[0353]
When the main controller 1164α receives the expiration notification from the cost reference timer 1167, in addition to the operation in the first embodiment, the main controller 1164α receives, from the resource monitor, the flow rate information or the number of TCP flows of the frames flowing through the link since the previous expiration of the cost reference timer or An operation of acquiring the number of HTTP requests, calculating a cost based on the flow rate, the number of flows, or the number of requests, and notifying a tree manager registered as a spare (hereinafter, referred to as a spare tree manager) is performed. In the case of the flow rate, a free bandwidth of the link is obtained from the flow rate and the thickness of the link bandwidth, and the reciprocal of the free bandwidth of the ring is used as the cost. In the case of the number of TCP flows and the number of HTTP requests, the difference between the preset maximum allowable flow number and the maximum allowable request number and the number of TCP flows or requests actually passing through the link is calculated, and the reciprocal of the difference is calculated. Use as cost.
[0354]
After calculating the cost by the means, the main controller 1164α passes the cost to the function calculator 1168 for evaluation, and further passes the evaluation result of the function calculator to the smoothing circuit 1169 to smooth the result. Send the value to the standby tree manager.
[0355]
The function calculator 1168 determines an output cost value using an arbitrary function specified in advance, such as a proportional function, a hysteresis function, and a step function, using the cost value input from the main controller 1164α as a parameter. By the function of the function calculator 1168 returned to the controller 1164, it is possible to prevent the cost from being determined in direct proportion to the available bandwidth of the link and the like, and to prevent the oscillation of the state transition. For example, in the case of the step function, the output cost value is changed only when there is a change equal to or more than a certain value, and the output cost value is not changed with a slight change. In the step function, the threshold for outputting a large cost when the cost increases becomes equal to the threshold for outputting a small cost when the cost decreases.However, if a function having a directionality such as a hysteresis function is used, If the cost is increasing gradually, the input cost must be sufficiently large to output a certain large cost value, and if the cost is gradually decreasing, a certain small cost value In order to output, it is necessary that the input cost be sufficiently small. For this reason, oscillation of the state transition can be prevented.
[0356]
The smoothing circuit 1169 smoothes the previously stored input parameters and the input parameters newly passed from the main controller 1164α by using a low-pass filter or the like, and notifies the main controller 1164α of the result. By the operation of the smoothing circuit 1169, it is possible to prevent a rapid change in cost and oscillation of state transition.
[0357]
The cost reference timer 1167 transmits a timer expiration notification to the main controller 1164α when a preset time elapses after receiving the set notification transmitted from the main controller 1164α.
[0358]
FIG. 18 is a flowchart showing in detail the state transition of the main controller 1164A in FIG. 17 according to the second embodiment of the present invention. Referring to FIG. 18, the second embodiment of the present invention is different from the first embodiment in that a state 1164A and a state 1164B are added to FIG.
[0359]
The state 1164A indicates that the active tree manager is the tree manager 1152, the standby tree manager is the tree manager 1151, the BPDU transmission function of the BPDU transceiver 11522 in the tree manager 1152 is enabled, and the state of the tree manager 1151 is The BPDU transmission function of the BPDU transceiver 11512 is also enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0360]
In the state 1164B, the active tree manager is the tree manager 1151, the standby tree manager is the tree manager 1152, the BPDU transmission function of the BPDU transceiver 11512 in the tree manager 1151 is enabled, and the state of the tree manager 1152 is The BPDU transmission function of the BPDU transceiver 11522 is also enabled. Note that the BPDU receiving function of the BPDU transceiver 11512 and the BPDU transceiver 11522 is always valid regardless of whether the transmission function is valid or invalid.
[0361]
Hereinafter, the flow of cost calculation will be described with reference to FIG. 18 using state 11645 as a base point, but this operation can be similarly applied when state 11646 is used as a base point.
[0362]
The main controller 1164α sets the cost reference timer 1167 when receiving the designation to use the dynamic cost calculation from the setting interface 118 or the GVRP transceiver 1162 at the time of transition to the state 11645. (State 11645)
When the main controller 1164α receives the notification of the expiration of the timer from the cost reference timer 1167, the main controller 1164α receives the information of the accumulated passing byte number from the resource monitor 119 and issues a counter reset notice at the same time, and sets the accumulated passing byte number of the resource monitor 119 to 0. To reset. Further, the cost is calculated from the cumulative number of passing bytes, the number of TCP flows, or the number of HTTP requests, and the result is passed to the function calculator 1168.
[0363]
The function calculator 1168 evaluates the value input from the main controller 1164α by the set function, and returns the result to the main controller 1164α. Here, an example will be described in which a proportional function is set and an output value for a certain input value is the same.
[0364]
Upon receiving the cost evaluation result from the function calculator 1168, the main controller 1164α notifies the smoothing circuit 1169 of the value.
[0365]
The smoothing circuit 1169 smoothes the input value using a low-pass filter or the like according to the setting, and returns the result to the main controller 1164α.
[0366]
Upon receiving the cost value after the completion of the smoothing from the smoothing circuit 1169, the main controller 1164α notifies the spare tree manager 1151 of the cost value. The tree manager 1151 recalculates the spanning tree based on the cost information, and notifies the main controller 1164α whether the topology has changed or not as a result of the calculation. (State 1164A in FIG. 18)
[0367]
In the state 1164A, if the tree after the recalculation is the same as the tree before the calculation or the degree of change is smaller than a predetermined change in the state 1164A, the main controller 1164α makes a transition to the state 11645 and resets the cost reference timer. I do. In the state transition diagram of FIG. 18, as an example, if there is a slight change, it is described that the setting does not transition to the state 11645. (State 1164A)
[0368]
In the state 1164A, when the tree after the recalculation is different from the tree before the calculation and the change is larger than a predetermined change, the main controller 1164α sets the stability timer 1165, and the timer expires. Later, the state transits to the state 1164B. In the state transition diagram of FIG. 18, when there is a slight change, the setting is described as transition to 1164B. (State 1164A)
[0369]
When the main controller 1164α receives the expiration notification of the stability timer 1165, the main controller 1164α replaces the currently registered tree manager 1152 with the currently registered tree manager 1151 and replaces the currently used tree manager 1151 with the spare tree manager 1151. Manager 1152. Further, a use tag group change notification is transmitted to the root node of the new tree via the GVRP transceiver 1162. The content of the usage tag group change notification is reflected in the BPDU and transmitted to all nodes. Thereafter, the stability timer 1165 is operated, and the state transits to the state 11646. (State 1164B)
[0370]
Upon receiving the expiration notification of the stability timer 1165, the main controller 1164α notifies the tree manager 1152 of the new cost, and causes the spanning tree to be recalculated based on the newly calculated cost information. Further, a cost reference timer 1167 is scheduled. (State 11646)
[0371]
Next, a spanning tree switching operation in the case where the transfer route from the node 15 to the node 13 is changed in the present embodiment will be described in detail using a specific example with reference to FIG.
[0372]
Referring to FIG. 7, this operation example includes nodes 11 to 16, clients 91 to 96, bidirectional links 81 to 86, and bidirectional links 21 to 28.
[0373]
The node 11 has a client 91 by a link 81, the node 12 has a client 92 by a link 82, the node 13 has a client 93 by a link 83, the node 14 has a client 94 by a link 84, and the node 15 has a link 85. , And a client 96 is connected to the node 16 by a link 26.
[0374]
A link 21 is between node 11 and node 12, a link 22 is between node 12 and node 13, a link 23 is between node 13 and node 14, a link 24 is between node 11 and node 15, and a node 15 A link 25 between the nodes 16 and 14, a link 26 between the nodes 16 and 14, a link 27 between the nodes 12 and 15, and a link 28 between the nodes 13 and 16, respectively. I have.
[0375]
Two tag groups to which all the ports of the nodes 11 to 16 belong are already set, and the first tag group is called a tag group 41 and the second tag group is called a tag group 42.
[0376]
Each of the nodes 11 to 16 includes two independently operating spanning tree circuits. A spanning tree operating on the tag group 41 is called a tree 51, and a spanning tree operating on the tag group 42 is called a tree 52.
[0377]
In FIG. 7, assume that the tree 41 is already stable, with node 13 as the root node and an initial cost set equal to 10 for all links. The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0378]
At present, the data transmitted from the client to the nodes 11 to 16 has the tag of the tag group 41 which is the active system added. The data to which the tag is added is transferred along the tree 51.
[0379]
In the initial state, none of the clients 91 to 96 is performing data transfer.
[0380]
Each node confirms the state of the BPDU by transmitting and receiving the BPDU at regular intervals and at a period defined by Hello Time. In this frame, there are identification flags for the active system and the standby system, and only the BPDU to which the tag of the tag group 41 which is currently the active system is added has a flag of the active system and the BPDU of the tag group 42 which is the standby system. No flag indicating the active system is added to the BPDU to which the tag is added. In this example, a case will be described in which a flag is attached only to the BPDU to which the tag of the tag group 41 of the active system is added. Contrary to this example, the tag of the tag group 41 of the active system is added. It is also possible to add a flag indicating the active system to the BPDU to which the tag of the tag group 42 which is the standby system is added without adding the flag indicating the active system to the set BPDU.
[0381]
Since each node has already been designated to use the dynamic cost calculation from the setting interface 118 or the GVRP transceiver 1162, each time the cost reference timer expires, the frame that has flowed through the link since the previous timer expired. , And recalculate the cost and recalculate the spanning tree using the backup tree.
[0382]
Here, it is assumed that data transfer is started between the client 95 and the client 93 and between the client 96 and the client 93.
[0383]
In the initial stage of the transfer, data from the client 95 to the client 93 is transferred via the links 85, 25, 28 and 83 using the tree 51. Data from the client 96 to the client 93 is also transferred via the links 86, 28, and 83 using the tree 51.
[0384]
When a certain time has elapsed from the data transfer (when the cost reference timer 1167 of each node expires), the costs of the links 21 to 28 in the tree 52 are recalculated based on the free capacity of the links 21 to 28, and the function calculator And a smoothing circuit. Here, since the free bandwidth of the link 28 is reduced, the cost of the link 28 of the tree 52 is reduced to 15 by the node 16, and the free bandwidth of the link 25 is reduced although not as much as the link 28. It is assumed that the cost of the link 25 of the tree 52 has been changed to 12 respectively. At this time, the cost of the tree 51 currently used is not changed.
[0385]
The node 16 detects the cost change, and transfers the BPDU (the value of the Root path Cost 22056 in FIG. 5 is changed) created using the changed cost to the adjacent nodes 13, 14, and 15. And send each. The tag of the tag group 42 is added to this BPDU.
[0386]
Similarly, the node 15 detects the cost change and transmits the BPDU created using the changed cost to the adjacent nodes 11, 12, and 16, respectively.
[0387]
When receiving the BPDU to which the cost 15 is added from the node 16, the node 15 also adds the cost of the link 25, and recognizes that a cost 27 is required to reach the node 13 via the link 25 and the link 28.
[0388]
After that, the node 15 receives the BPDU to which the cost 10 is added from the node 12 (the node 12 periodically transmits the cost up to the root node (node 13) to the adjacent nodes (node 11 and node 15). ), Add the cost of the link 27, and recognize that the cost 20 is required to reach the node 13 via the link 27 and the link 22. Since this cost is smaller than the cost via the link 25, the node 15 switches the stop port from the link 27 side to the link 25 side, and forms a tree reaching the link 13 using the link 27 and the link 22. The spanning tree protocol is also used when creating a tree via the links 27 and 22. Then, the stabilization timer 1165 is activated and waits until the tree is stabilized.
[0389]
Here, it is assumed that the tree 52 is stabilized with the node 13 as a root node.
[0390]
When the stability timer 1165 in FIG. 13 expires, the node 13 that is the root node of the tree 51 determines that the tree formation has stabilized, and uses the node 13 that is the root node of the tree 52 that is a new tree for transfer. A tag group change message for instructing the active tree to be switched from the tree 51 to the tree 52 is transmitted. Thereafter, the stability timer 1165 is operated.
[0391]
Upon receiving the tree switching message, the node 13 that is the root node of the tree 52 transmits the active tree used for transfer from the tree 51 to the tree 52 with respect to the node 13 that is the root of the tree 41 that is the old active tree. Send a tag group change message instructing to switch. The content of the usage tag group change notification is reflected on each BPDU of the trees 51 and 52 transmitted from the node 13 and transmitted to all nodes.
[0392]
When the node 13 completes the transmission of the tag group change message to the old active root node, the node 13 uses the tree received by the node from the client 93 and used for transferring the frame to be transmitted in the network. The tree 51 is switched to the tree 52. When the switching is completed, the frame transmitted from the client 93 to the client 95 is transferred to the client 95 via the link 83, the link 22, the link 27, and the link 85.
[0393]
In this way, the transfer routes of frames transmitted from the client 93 to the client 95 and from the client 93 to the client 96 are dispersed, and congestion of the link 28 is eliminated.
[0394]
Thereafter, every time the cost reference timer expires, the spanning tree is recalculated by cost calculation based on the available bandwidth of the link, and a dynamic path change that periodically reflects the available bandwidth on the cost is performed. As a result, the traffic of each link is distributed, the load of the link is distributed, and congestion can be prevented.
[0395]
Next, effects of the present embodiment will be described.
[0396]
Conventionally, costs have been calculated using link capacity and used for route selection when constructing a spanning tree, so that it was not possible to change the route for dynamic load distribution according to traffic.
[0397]
In this embodiment, traffic load can be distributed by calculating link costs based on dynamic information such as available bandwidth and server load.
[0398]
Conventionally, when trying to dynamically change the cost according to the traffic situation, the transfer of data frames is stopped locally or in the entire network, the spanning tree is rebuilt, and the route is changed, so rebuilding is in progress. Sometimes the network went down.
[0399]
In the present embodiment, the tree before the change is operated, the tree after the cost change is generated, and the tree to be used is switched after the new tree is stabilized, so that the spanning tree reconfiguration accompanying the path change is performed. Can be distributed without stopping the operation.
As a result, it is possible to reduce the possibility of occurrence of congestion.
[0400]
Hereinafter, a third embodiment of the present invention will be described in detail with reference to the drawings.
[0401]
The third embodiment of the present invention is different from the second embodiment in that transition between the active system and the standby system is performed regardless of whether the cost is changed or not. In the following, a case will be described in which the capacity of the free band is used as the cost. However, the number of passing TCP flows and the number of HTTP requests can be similarly realized unless otherwise specified.
[0402]
Referring to FIG. 19, the third embodiment of the present invention differs from the second embodiment in FIG. 18 in that the transition between the state 1164A and the state 1164B does not occur and the state 11643 and the state 11644 The difference is that the transition between the states 11647 and 11648 does not occur due to the expiration of the stabilization timer 1165, but occurs due to the detection of the switching of the active flag in the BPDU.
[0403]
When the main controller 1164β in the third embodiment receives a notification from the resource monitor 119 that it is newly connected to the network, the main controller 1164β waits for the arrival of the active system notification from the tree manager 1151 or the tree manager 1152. When the active system notification included in the BPDU is received from the tree manager 1151 or 1152, the tree manager 1151 or 1152 specified in the notification is used for the current operation, and the tree manager 1151 or 1152 specified for the standby is used for the standby. And the state transits to the state 11642 or the state 11649. Here, the case where the state has transitioned to the state 11642 will be described as an example, but the description in the future is the same when the state has transitioned to the state 11649. (State 11641 in FIG. 19)
[0404]
The main controller 1164β sets the tree manager 1151 for working and the tree manager 1152 for spare. Further, it issues a BPDU transmission stop command to each of the tree managers 1151 and 1152. (State 11642 in FIG. 19)
[0405]
If the main controller 1164β receives the node addition request from the setting interface 118 in the state 11642, the main controller 1164β transitions to the state 11643. If the active system notification is received from the tree manager 1151 or the tree manager 1152, and the relationship between the active system and the standby system is changed, the state changes to the state 11649. (State 11642 in FIG. 19)
[0406]
The main controller 1164β notifies the tree manager 1152 of the link up, and at the same time, permits the tree manager 1152 to transmit a BPDU. Further, the stability timer 1165 is operated. (State 11643 in FIG. 19)
The main controller 1164β receives the active system notification included in the BPDU from the tree manager 1151 or the tree manager 1152 in the state 11643, and if the relationship between the active system and the standby system is changed, the main controller 1164β is registered as the active system. The existing tree manager 1151 and the registered tree manager 1152 are exchanged, and the currently used tree manager 1152 and the spare tree manager 1151 are used. Thereafter, the stability timer 1165 is operated. (State 11644 in FIG. 19)
[0407]
Upon receiving the timer expiration notification from the stability timer 1165, the main controller 1164β notifies the tree manager 1151 of the link up, and at the same time, permits the tree manager 1152 to transmit the BPDU. Usually, it is stabilized in this state. (State 11645 in FIG. 19)
[0408]
In the state 11645, if the active tree manager 1152 is the root node, the main controller 1164β of this node operates the stability timer 1165, and upon receiving the timer expiration notification from the stability timer 1165, the main controller 1164β is registered as the active node. The currently used tree manager 1152 and the registered tree manager 1151 are exchanged, and the currently used tree manager 1151 and the standby tree manager 1152 are replaced. Further, a use tag group change notification is transmitted to the root node of the new tree via the GVRP transceiver 1162. The content of the usage tag group change notification is reflected in the BPDU and transmitted to all nodes. (State 11645 in FIG. 19)
[0409]
The replacement of the tree manager may be performed by the spare tree manager 1151. In this case, if the standby tree manager 1151 is the root node in the state 11645, the main controller 1164 of the node operates the stability timer 1165 and, upon receiving a timer expiration notification from the stability timer 1165, returns to the current state. Is replaced with a tree manager 1151 registered as a spare, and a new active manager is designated as a tree manager 1151 and a spare is designated as a tree manager 1152. Further, a use tag group change notification is transmitted to the root node of the old working tree via the GVRP transceiver 1162. The content of the usage tag group change notification is reflected in the BPDU and transmitted to all nodes. (State 11645 in FIG. 19)
[0410]
The main controller 1164β receives the active system notification included in the BPDU from the tree manager 1151 or the tree manager 1152 in the state 11645, and transitions to the state 11646 if the relationship between the active system and the standby system is changed. . Then, the currently registered tree manager 1152 and the registered tree manager 1151 are exchanged, and the currently used tree manager 1151 and the standby tree manager 1152 are replaced. (State 11645 in FIG. 19)
[0411]
If the main controller 1164β receives the node deletion request from the setting interface 118 in the state 11645, the main controller 1164β transitions to the state 11644. (State 11645 in FIG. 19)
[0412]
The main controller 1164β notifies the tree manager 1151 of all the linked links down, and at the same time, issues a BPDU transmission stop instruction to the tree manager 1151. (State 11644 in FIG. 19)
[0413]
The main controller 1164β receives the active system notification included in the BPDU from the tree manager 1151 or the tree manager 1152 in the state 11644, and shifts to the state 11643 if the relationship between the active system and the standby system is changed. The tree manager 1152 registered for the current use is replaced with the tree manager 1151 registered for the backup, and the new current is used as the tree manager 1151 and the backup is used as the tree manager 1152. Thereafter, the stability timer 1165 is operated. (State 11643 in FIG. 19)
[0414]
Upon receiving the timer expiration notification from the stability timer 1165, the main controller 1164β notifies the tree manager 1151 of the link down, and at the same time, issues a BPDU reception stop command to the tree manager 1151. Further, the state unconditionally transitions to the state 11641, and waits until the node is disconnected. (State 11642 in FIG. 19)
[0415]
When the main controller 1164β receives a designation to use the dynamic cost calculation from the setting interface 118 or the GVRP transceiver 1162, the main controller 1164β refers to the cost so that it expires after a lapse of a predetermined time from the reception of the use tag group change notification. The timer 1167 is set. (State 11645 in FIG. 19)
[0416]
When the main controller 1164β receives the notification of the expiration of the timer from the cost reference timer 1167, the main controller 1164β receives the information of the cumulative passing byte number from the resource monitor 119 and issues a counter reset notification at the same time, and sets the cumulative passing byte number of the resource monitor 119 to 0. To reset. Further, the cost is calculated from the cumulative number of passing bytes, the number of TCP flows, or the number of HTTP requests, and the standby tree manager 1151 is notified. The tree manager 1151 recalculates the spanning tree based on the newly calculated cost information, and notifies the main controller 1164β whether the topology has changed or not as a result of the calculation. And it changes to the state 11645 unconditionally. (State 1164A in FIG. 19)
[0417]
With reference to FIG. 14 and FIG. 15, the operation when adding node 17 in the present embodiment will be described in detail using a specific example.
[0418]
Referring to FIG. 14, in the present operation example, nodes 11 to 17 and links 21 to 30 are provided. However, the node 17, the link 29, and the link 30 are not connected in the initial state.
[0419]
Referring to FIG. 15, in the present operation example, nodes 11 to 17 and links 21 to 30 are provided.
[0420]
In the initial state, two tag groups to which all the nodes and all the ports of the nodes 11 to 16 belong are already set, and the first tag group is called a tag group 41 and the second tag group is called a tag group 42.
[0421]
Basically, all nodes and all ports are joined to two tag groups, but a tag group composed of only some ports or nodes may be created. Hereinafter, description will be made assuming that all nodes and all ports join two tag groups.
[0422]
Each of the nodes 11 to 16 includes two independently operating spanning tree circuits. A spanning tree operating on the tag group 41 is called a tree 51, and a spanning tree operating on the tag group 42 is called a tree 52.
[0423]
Although two spanning trees are always created, it is not always necessary to create two tag groups. A spanning tree that operates on the tag group 41 without using the tag group 42 by setting only the tag group 41 can be called a tree 51, and a spanning tree that operates without belonging to the tag group can be called a tree 52. Conversely, a spanning tree that is set without using the tag group 41 by setting only the tag group 42 and operates without belonging to the tag group is called a tree 51, and a spanning tree that operates on the tag group 42 is called a tree 52. it can.
[0424]
Here, the case where both the tag group 41 and the tag group 42 are used will be particularly described. However, when both the tag group 41 and the tag group 42 are used, the operation when only the tag group 41 or the tag group 42 is used The same can be applied to the case where is used.
[0425]
In FIG. 14, the tree 51 is represented by a thick line, and it is assumed that the node 11 is stable with the node 11 as a root node.
[0426]
The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0427]
At present, the data of the tag group 41 is added to the data transmitted from the client to the nodes 11 to 16. The data to which the tag is added is transferred along the tree 51.
[0428]
When connected to the link 29 and the link 30, the node 17 does not join any tag groups and starts receiving BPDUs.
[0429]
Upon receiving the BPDU of each tag group, the node 17 confirms that the current active system is the tag group 41 and the current standby system is the tag group 42. Then, the own node is made to participate only in the tag group 42 to transmit and receive the BPDU, and the tag group 41 is set so as to only receive the BPDU and not transmit it.
[0430]
When the node 17 is added, a change occurs in the members of the tag group 42, so that the operation of updating the tree 52 is started by the spanning tree protocol. Since there is no change in the members of the tag group 41, the tree 51 is not updated.
[0431]
The frame transmitted from the client is added with the tag of the tag group 41 as before, and is continuously transferred along the tree 51.
[0432]
When the stabilization timer expires, the node 11 that is the root node of the tree 51 that is the active tree transmits a use tag group change notification to the node 11 that is the root node of the tree 51, and transmits the tree 51 to the standby node. Command to transition to. Then, a flag of the tag group 42 is attached, and an active flag is set in the BPDU transmitted for the tree 52. The BPDU propagates to all nodes while being transferred at each node.
[0433]
The node 11 detects a change in the status of addition of the active system flag, transitions the tree 51 to the standby system, attaches a flag of the tag group 41, and sets a backup system flag in the BPDU transmitted for the tree 51. The BPDU propagates to all nodes while being transferred at each node.
[0434]
The nodes 11 to 17 confirm that the active flag has been added to the BPDU with the tag of the tag group 42 and switch the tag to be added to the frame transferred from the client from the tag group 41 to the tag group 42. . The frame to which this tag is added is transferred along the tree 52.
[0435]
Some time after the above switching is completed, there are no frames flowing through the tree 51.
[0436]
The node 17 determines that there is no longer a node to which the tag of the tag group 41 is added after a lapse of a predetermined time from the transmission of the use tag group change notification, and makes the node 17 join the tag group 41 to prepare for the next topology change. .
[0437]
As described above, the node 17 can be added without stopping the network. Thereafter, when a node is added, the same operation is repeated. However, the tag group 41 and the tag group 42 in the above description are switched.
[0438]
Next, a spanning tree switching operation in the case where the transfer route from the node 15 to the node 13 is changed in the present embodiment will be described in detail using a specific example with reference to FIG.
[0439]
Referring to FIG. 7, this operation example includes nodes 11 to 16, clients 91 to 96, bidirectional links 81 to 86, and bidirectional links 21 to 28.
[0440]
The node 11 has a client 91 by a link 81, the node 12 has a client 92 by a link 82, the node 13 has a client 93 by a link 83, the node 14 has a client 94 by a link 84, and the node 15 has a link 85. , And a client 96 is connected to the node 16 by a link 26.
[0441]
A link 21 is between node 11 and node 12, a link 22 is between node 12 and node 13, a link 23 is between node 13 and node 14, a link 24 is between node 11 and node 15, and a node 15 A link 25 between the nodes 16 and 14, a link 26 between the nodes 16 and 14, a link 27 between the nodes 12 and 15, and a link 28 between the nodes 13 and 16, respectively. I have.
[0442]
Two tag groups to which all the ports of the nodes 11 to 16 belong are already set, and the first tag group is called a tag group 41 and the second tag group is called a tag group 42.
[0443]
Each of the nodes 11 to 16 includes two independently operating spanning tree circuits. A spanning tree operating on the tag group 41 is called a tree 51, and a spanning tree operating on the tag group 42 is called a tree 52.
[0444]
The tree 41 is represented by a bold line, with node 13 as the root node and already stable with an initial cost set equal to 10 for all links. The tag of the tag group 41 is attached to the BPDU of the tree 51, and the tag of the tag group 42 is attached to the BPDU of the tree 52.
[0445]
At present, the data transmitted from the client to the nodes 11 to 16 has the tag of the tag group 41 which is the active system added. The data to which the tag is added is transferred along the tree 51.
[0446]
In the initial state, none of the clients 91 to 96 is performing data transfer.
[0447]
Each node transmits a HELLO frame at regular intervals and checks the status of the BPDU. In this frame, there are identification flags for the active system and the standby system, and only the BPDU to which the tag of the tag group 41 which is currently the active system is added has a flag of the active system and the BPDU of the tag group 42 which is the standby system. No flag indicating the active system is added to the BPDU to which the tag is added.
[0448]
Since each node has already been designated to use the dynamic cost calculation from the setting interface 118 or the GVRP transceiver 1162, each time the cost reference timer expires, the frame that has flowed through the link since the previous timer expired. , And recalculate the cost and recalculate the spanning tree using the backup tree.
[0449]
Here, it is assumed that data transfer is started between the client 95 and the client 93 and between the client 96 and the client 93.
[0450]
In the initial stage of the transfer, data from the client 95 to the client 93 is transferred via the links 85, 25, 28 and 83 using the tree 51. Data from the client 96 to the client 93 is also transferred via the links 86, 28, and 83 using the tree 51.
[0451]
After a certain period of time has elapsed from the data transfer, the costs of the links 21 to 28 in the tree 52 are recalculated one by one based on the free capacity of the links 21 to 28. Here, since the free bandwidth of the link 28 is reduced, the cost of the link 28 of the tree 52 is reduced to 15 by the node 16, and the free bandwidth of the link 25 is reduced although not as much as the link 28. It is assumed that the cost of the link 25 of the tree 52 has been changed to 12 respectively. At this time, the cost of the tree 51 currently used is not changed.
[0452]
The node 16 detects the cost change, and transmits the BPDU created using the changed cost to the adjacent nodes 13, 14, and 15, respectively.
[0453]
Similarly, the node 15 detects the cost change and transmits the BPDU created using the changed cost to the adjacent nodes 11, 12, and 16, respectively.
[0454]
When receiving the BPDU to which the cost 15 is added from the node 16, the node 15 also adds the cost of the link 25, and recognizes that a cost 27 is required to reach the node 13 via the link 25 and the link 28.
[0455]
Thereafter, when receiving the BPDU to which the cost 10 is added from the node 12, the node 15 adds the cost of the link 27 and recognizes that the cost 20 is required to reach the node 13 via the link 27 and the link 22. I do. Since this cost is smaller than the cost via the link 25, the node 15 switches the stop port from the link 27 side to the link 25 side, and forms a tree reaching the link 13 using the link 27 and the link 22.
[0456]
When the topology stabilization timer started in the node 13 which is the root node of the tree 51 expires, the active tree used for transfer is transferred from the tree 51 to the node 13 which is the root of the tree 41 which is the old active tree. A tag group change message is sent, instructing the tree 52 to switch. The content of the usage tag group change notification is reflected on each BPDU of the trees 51 and 52 transmitted from the node 13 and transmitted to all nodes.
[0457]
When the node 13 completes the transmission of the tag group change message to the old active root node, the node 13 uses the tree received by the node from the client 93 and used for transferring the frame to be transmitted in the network. The tree 51 is switched to the tree 52. When the switching is completed, the frame transmitted from the client 93 to the client 95 is transferred to the client 95 via the link 83, the link 22, the link 27, and the link 85.
[0458]
In this way, the transfer routes of frames transmitted from the client 93 to the client 95 and from the client 93 to the client 96 are dispersed, and congestion of the link 28 is eliminated.
[0459]
Thereafter, every time the cost reference timer expires, the spanning tree is recalculated by cost calculation based on the available bandwidth of the link, and a dynamic path change that periodically reflects the available bandwidth on the cost is performed. As a result, the traffic of each link is distributed, the load of the link is distributed, and congestion can be prevented.
[0460]
Next, effects of the present embodiment will be described.
[0461]
Conventionally, costs have been calculated using link capacity and used for route selection when constructing a spanning tree, so that it was not possible to change the route for dynamic load distribution according to traffic.
[0462]
In this embodiment, traffic load can be distributed by calculating link costs based on dynamic information such as available bandwidth and server load.
[0463]
Conventionally, every time the cost is dynamically changed according to the traffic situation, the transfer of data frames is stopped locally or in the entire network, the spanning tree is rebuilt, and the route is changed, so during rebuilding, Sometimes the network went down.
[0464]
In the present embodiment, the tree before the change is operated, the tree after the cost change is generated, and the tree to be used is switched after the new tree is stabilized, so that the spanning tree reconfiguration accompanying the path change is performed. Can be distributed without stopping the operation.
As a result, it is possible to reduce the possibility of occurrence of congestion.
[0465]
Hereinafter, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
[0466]
The fourth embodiment of the present invention corresponds to the case of the first embodiment in which a tag and a spanning tree used for each destination node are switched, and a destination node is set as a root node.
[0467]
When a frame is transmitted in a network in which IEEE 802.1D and IEEE 802.1W operate, a lowest cost route to a destination is not always selected, and an unused link appears and a load is concentrated on a root node. And the network stops for a long time when the root node fails.
[0468]
In the present embodiment, by transferring a frame using a tree whose destination is the root node, in addition to frame transmission at the lowest cost to the destination, link utilization is improved, and resistance to root node failure is enhanced. I do.
[0469]
Referring to FIG. 20, the fourth embodiment of the present invention is different from the first embodiment in that tree managers 1151 are provided by the number of nodes existing in the network in FIG. 8 in the first embodiment.
[0470]
The tree manager 1151 has the same function as the tree manager 1151 shown in FIG. 8 according to the first embodiment of this invention.
[0471]
The tree manager 1152 and the tree manager 1153 are the same tree manager as the tree manager 1151. From now on, description will be made using the tree manager 1151 on behalf of the tree managers 1151 to 1153. However, the description of the tree manager 1151 can be similarly applied to the tree managers 1152 to 1153 unless otherwise specified. It is.
[0472]
The tree manager is created by the number of nodes existing in the network or the number of nodes existing in the same hierarchy when the subnets are divided and hierarchized by the tree selector 116. Therefore, the number of tree managers may increase to one or more to infinity. In FIG. 20, the tree managers are collectively expressed as tree managers 1151 to 1153.
[0473]
The tree selector 116 shown in FIG. 20 has the function of the tree selector 116 shown in FIG. 8 according to the first embodiment of the present invention, and a new tree manager when detecting the presence of a new node in a network or a hierarchy. Has the function of generating. Further, it has a function of notifying another node of the detection of the new node, and a function of receiving a notification of detection of a new node from another node and generating a tree manager. Further, a function of detecting the deletion of the node and deleting the tree manager, a function of notifying the detection of the deleted node to other nodes, and receiving a node deletion notification from the other nodes, It has a function to delete.
[0474]
FIG. 21 is a configuration example of the forwarding table 114 in FIG. 20 of the present embodiment, in which the output port is determined using the tag as a key.
[0475]
The tag field 1141 is a field serving as a search index, and it is checked whether information in this field matches the content written in the tag of the received frame.
[0476]
The output port 1142 is a field that describes to which port the frame should be forwarded when the content of the field 1141 matches the content written in the tag of the received frame. For example, FIG. 21 shows that, when a value indicating the tag group 41 is written in the tag of the received frame in the forwarding table 114, the received frame is output to Port1, and the tag of the received frame is added to the tag of the received frame. If the value indicating the group 42 is written, the received frame is output to Port2. Similarly, if the tag of the received frame is a value indicating the tag group 43, the received frame is output to Port2, and the tag of the received frame is set to the tag group. A value indicating 44 indicates a state in which information designating output to Port 1 is stored.
[0477]
The present embodiment determines the transfer destination based on the MAC address, which is conventionally performed, as well as the case where the tag forwarding that determines the transfer destination port based on the content of the tag is performed as shown in the present operation example. The same applies to normal MAC address transfer. In this case, a plurality of ports corresponding to the corresponding MAC address may be described in the output port field 1142.
[0478]
FIG. 22 is a configuration example of the tag table 117 for determining a tag to be inserted using the destination MAC address as a key in FIG. 20 of the present embodiment.
[0479]
The destination MAC address 1171 is a field serving as a search index. It is checked whether or not the information in this field matches the destination MAC address field of the received frame, that is, the content written in the MAC DA field. In this case, the tag described in the insertion tag field 1172 is inserted into the received frame.
[0480]
The insertion tag field 1172 is a field in which a tag to be inserted into the destination MAC address field 1171 is described. In this embodiment, the destination node ID is described, and this ID is inserted into the frame as a tag. For example, FIG. 22 shows that the client with the MAC address 91A and 91C is connected to the node 11, the client with the MAC address 92B is connected to the node 12, and the client with the MAC address 93X is connected to the node 13. In this case, it is assumed that the tag group corresponding to the node 11 is the tag group 41, the tag group corresponding to the node 12 is the tag group 42, and the tag group corresponding to the node 13 is the tag group 43.
[0481]
Here, a value indicating the tag group 41, which is a tag group corresponding to the node 11, is inserted into the tag of the frame whose destination MAC address is 91A or 91C, and the tag of the frame whose destination MAC address is 92B is inserted into the tag of the frame. , A value indicating the tag group 42, which is the tag group corresponding to the node 12, is inserted, and the tag of the frame whose destination MAC address is 93X is a value indicating the tag group 43, which is the tag group corresponding to the node 13. Indicates that information for specifying insertion is stored.
[0482]
FIG. 23 is a configuration diagram of a tree 61, which is a configuration diagram of a spanning tree having the node 11 as a root node. The tree 61 is created by setting the priority value of the node 11 to a value smaller than each of the nodes 12 to 16. The tree 61 is used when transmitting a frame toward the node 11 and transmitting a broadcast frame from the node 11 to each of the nodes 12 to 16.
[0483]
FIG. 24 is a configuration diagram of a tree 62, which is a configuration diagram of a spanning tree having the node 12 as a root node. The tree 62 is created by setting the priority value of the node 12 to a value smaller than each of the nodes 11 and 13 to 16. The tree 62 is used when transmitting a frame toward the node 12 and transmitting a broadcast frame from the node 12 to each of the nodes 11 and 13 to 16.
[0484]
FIG. 25 is a configuration diagram of a tree 63, which is a configuration diagram of a spanning tree having the node 13 as a root node. The tree 63 is created by setting the priority value of the node 13 to a value smaller than each of the nodes 11 to 12 and the nodes 14 to 16. The tree 63 is used when transmitting a frame toward the node 13 and transmitting a broadcast frame from the node 13 to each of the nodes 11 to 12 and the nodes 14 to 16.
[0485]
FIG. 26 is a configuration diagram of a tree 64, which is a configuration diagram of a spanning tree having the node 14 as a root node. The tree 64 is created by setting the priority value of the node 14 to a value smaller than each of the nodes 11 to 13 and 15 to 16. The tree 64 is used when transmitting a frame toward the node 14 and transmitting a broadcast frame from the node 14 to each of the nodes 11 to 13 and the nodes 15 to 16.
[0486]
FIG. 27 is a configuration diagram of a tree 65, which is a configuration diagram of a spanning tree having the node 15 as a root node. The tree 65 is created by setting the priority value of the node 15 to a value smaller than each of the nodes 11 to 14 and 16. The tree 65 is used when transmitting a frame toward the node 15 and transmitting a broadcast frame from the node 15 to each of the nodes 11 to 14 and 16.
[0487]
FIG. 28 is a configuration diagram of a tree 66, which is a configuration diagram of a spanning tree having the node 16 as a root node. The tree 66 is created by setting the priority value of the node 16 to a value smaller than that of the nodes 11 to 15. The tree 66 is used when transmitting a frame toward the node 16 and transmitting a broadcast frame from the node 16 to each of the nodes 11 to 15.
[0488]
Next, with reference to FIG. 23 to FIG. 28, an operation of creating the tree 63 when the node 13 is newly added to the network already configured by the nodes 11 to 12 and the nodes 14 to 16 explain.
[0489]
When the node 13 is added to the network, the node 13 receives a BPDU frame transmitted from an adjacent node and generates a tree manager for each newly detected identification tag. In this example, five tree managers having the nodes 11 to 12 and the nodes 14 to 16 as root nodes are generated.
[0490]
Next, the node 13 generates a tag ID from the node ID, generates a tree manager in which the priority value of the own node is set lower, and adds the tag ID to a BPDU frame output from the tree manager. To send. Here, it is assumed that the tag ID is 43.
[0490]
The node 12 and the node 16 newly receive the BPDU with the tag ID of 43, generate a tree manager, and then transmit the BPDU with the tag ID 43 added to the adjacent node.
[0492]
The tree 63 is completed by repeating the above-described BPDU transmission operation.
[0493]
Next, with reference to FIG. 23 to FIG. 28, a procedure when each of the nodes 11 to 16 in each of the above-described drawings transmits a frame to each of the nodes 11 to 16 will be described. Is delivered to the destination via the lowest cost route, and the load distribution of link resources is performed. It is assumed that the cost of each link is equal, that the configuration of each of the trees 61 to 66 in each figure has already been completed and that the topology is stable.
[0494]
When transmitting a frame from each of the nodes 12 to 16 to the node 11, the tree 61 is used. For example, when transmitting a frame from the node 15 to the node 11, the node 15 adds a tag ID41 which is an identification tag of the tree 61 to the data frame and transmits the data frame.
[0495]
When transmitting a frame from each of the nodes 11 and 13 to 16 to the node 12, the tree 62 is used. For example, when transmitting a frame from the node 14 to the node 12, the node 14 adds a tag ID 42 which is an identification tag of the tree 62 to the data frame and transmits the data frame.
[0496]
When transmitting a frame from each of the nodes 11 to 12 and the nodes 14 to 16 to the node 13, a tree 63 is used. For example, when transmitting a frame from the node 11 to the node 13, the node 11 adds a tag ID 43 which is an identification tag of the tree 63 to the data frame and transmits the data frame.
[0497]
When transmitting a frame from each of the nodes 11 to 13 and the nodes 15 to 16 to the node 14, a tree 64 is used. For example, when transmitting a frame from the node 12 to the node 14, the node 12 adds a tag ID 44 which is an identification tag of the tree 64 to the data frame and transmits the frame.
[0498]
When transmitting a frame from each of the nodes 11 to 14 and the node 16 to the node 15, a tree 65 is used. For example, when transmitting a frame from the node 16 to the node 15, the node 16 adds a tag ID 45 which is an identification tag of the tree 65 to the data frame and transmits the data frame.
[0499]
When transmitting a frame from each of the nodes 11 to 15 to the node 16, a tree 66 is used. For example, when transmitting a frame from the node 14 to the node 16, the node 14 adds a tag ID 46 which is an identification tag of the tree 66 to the data frame and transmits the data frame.
[0500]
When the node 11 broadcasts a frame to all nodes in the network, the tree 11 is used. For example, the node 11 adds a tag ID 41 which is an identification tag of the tree 61 to a data frame whose destination is broadcast, and transmits the data frame.
[0501]
When the node 12 broadcasts a frame to all nodes in the network, a tree 62 is used. For example, the node 12 adds a tag ID 42 that is an identification tag of the tree 62 to a data frame whose destination is broadcast, and transmits the data frame.
[0502]
When the node 13 broadcasts a frame to all nodes in the network, the tree 13 is used. For example, the node 13 adds a tag ID 43 which is an identification tag of the tree 63 to a data frame whose destination is broadcast, and transmits the data frame.
[0503]
When the node 14 broadcasts a frame to all nodes in the network, a tree 64 is used. For example, the node 14 adds a tag ID 44 which is an identification tag of the tree 64 to a data frame whose destination is broadcast, and transmits the data frame.
[0504]
When the node 15 broadcasts a frame to all nodes in the network, a tree 65 is used. For example, the node 15 adds a tag ID 45 which is an identification tag of the tree 65 to a data frame whose destination is broadcast, and transmits the data frame.
[0505]
When the node 16 broadcasts a frame to all nodes in the network, a tree 66 is used. For example, the node 16 adds a tag ID 46 that is an identification tag of the tree 66 to a data frame whose destination is broadcast, and transmits the data frame.
[0506]
By transferring a data frame with a tag at the time of transmission according to the method described above, the data frame can be transferred by the lowest cost route. Further, since the root node uses a plurality of different trees to transfer frames, as in the spanning trees described in the related art 1 and the related art 2, traffic concentrates near the root node, and the link increases as the distance from the root node increases. It can be seen that the traffic load can be distributed without the phenomenon that the usage rate of the traffic decreases.
[0507]
Next, in FIG. 23 to FIG. 28, an operation when a failure occurs in a node will be described by taking an example in which a failure occurs in the node 12. In the initial state, it is assumed that the trees 61 to 66 are already constructed and stable.
[0508]
When the node 12 stops due to a failure, the tree 61 has a route via the link 25, the link 27, the link 26, and the link 23 as a route from the node 13 to the node 11 by a rapid spanning tree method defined in IEEE 802.1W. Is selected, and the transfer of the frame to the node 11 and the frame broadcast from the node 11 to each node are continued.
[0509]
When the node 12 stops due to a failure, the tree 62 must be reconfigured because the node 12 is the root node. Another node other than the node 12 becomes a root node, and the tree 62 is reconfigured before the node 12 is recovered. This reassembly takes several tens of seconds for IEEE 802.1D and several seconds for IEEE 802.1W. However, the tree 62 initially includes a frame transmitted from each node to the root 12 and a frame transmitted from the root 12 to each node. Since the tree is for a frame to be broadcast-transmitted, even if the reconfiguration takes time, it does not affect communication performed between nodes other than the node 12.
[0510]
When the node 12 stops due to a failure, the tree 63 has a route via the link 23, the link 26, the link 27, and the link 25 as a route from the node 11 to the node 13 by a rapid spanning tree method defined in IEEE 802.1W. Is selected, and the transfer of the frame to the node 13 and the frame broadcast from the node 13 to each node are continued.
[0511]
When the node 12 stops due to a failure, the tree 64 is restructured by the rapid spanning tree method defined in IEEE 802.1W, and a frame transmitted from each node to the node 14 and broadcast from the node 14 to each node are broadcast. The transfer of the frame is continued.
[0512]
When the node 12 stops due to a failure, the tree 65 is reconfigured by the rapid spanning tree method defined in IEEE 802.1W, and is broadcast from each node to the node 15 and from the node 15 to each node. The transfer of the frame is continued.
[0513]
When the node 12 stops due to a failure, the tree 66 selects a route via the link 23, the link 26, and the link 27 as a route from the node 11 to the node 16 by a rapid spanning tree method defined by IEEE 802.1W. , And the transfer of the frame broadcast from the node 16 to each node is continued.
[0514]
Next, with reference to FIG. 29 and FIG. 30, a configuration method of a spanning tree when a part of the client in FIG. 7 of the first embodiment is connected to a plurality of nodes by dual homing State.
[0515]
In FIG. 29, a client 97 is a group of one or more clients, and has a function of transmitting / receiving a frame to / from the node 11 and the node 16 via the link 87 and the link 88.
[0516]
The link 87 is a bidirectional link connecting the client 97 to the node 15 and the node 15 to the client 97.
[0517]
The link 88 is a bidirectional link connecting the client 97 to the node 16 and the node 16 to the client 97.
[0518]
As in the case of the client 97 in FIG. 29, when there is a client group connected to a plurality of nodes, the client is regarded as a virtual node and the spanning tree is set.
[0519]
FIG. 30 is a network configuration diagram when the client 97 is regarded as the virtual node 18 in FIG.
[0520]
The spanning tree 74 is a spanning tree having the node 18 as a root node. The frame transmitted from each of the nodes 11 to 16 to the node 18 arrives at the node 18, that is, the client 97 by using the spanning tree 74. The broadcast frame transmitted from the client 97, that is, the node 18 is also broadcast to each of the nodes 11 to 16 along the spanning tree 74.
[0521]
The node 18 is a virtual node, and the actual operation of the node 18 is performed on behalf of the node 15 or 16. Which of the node 15 and the node 16 performs the operation of the node 18 is determined by a method such as manual setting by the setting interface 118, automatic setting for the smaller node ID, automatic setting for the larger node ID, or the like. You.
[0522]
Next, a method of performing communication without installing a virtual node when the client 97 is dual-homing-connected to the nodes 15 and 16 via the links 87 and 88 will be described with reference to FIG. .
[0523]
In FIG. 29, the nodes 15 and 16 detect that the client 97 is connected to a plurality of nodes by setting on the setting interface or by learning. The node 15 detects that the client 97 is connected to the node 16. The node 16 detects that the client 97 is connected to the node 15.
[0524]
The nodes 15 and 16 exchange control messages with each other, and determine which of the nodes 15 and 16 transfers the frame to the client 97. The transfer node is determined to be a node having a small node ID, a node having a large node ID, or a node determined by setting.
[0525]
When the transfer node is determined, the client 97 is considered to be connected only to the node 16 and the frame transfer is started. The nodes 11 to 16 recognize by learning or the like that the client 97 is connected to the node 16 and transmit a frame addressed to the client 97 with a tree identification tag having the node 16 as a root node added thereto.
[0526]
The node 15 and the node 16 always monitor each other's status using Keep Alive or the like. If the node 15 cannot confirm the operation of the node 16, the node 15 transfers the frame from the client 97 to the nodes 11 to 16. Then, the nodes 11 to 16 learn that the node ID 15 is added to the frame transmitted from the client 97, and transmit the frame addressed to the client 97 to the node 15.
[0527]
With the above operation, the client 97 can transmit and receive frames. The above operation is similarly applicable even when the node 15 and the node 16 are switched.
[0528]
Next, referring to FIG. 29, when the client 97 is dual-homed connected to the nodes 15 and 16 via the links 87 and 88, the client 97 performs communication without installing a virtual node, and A description will be given of a method in which the detection node transmits a switching notification to all nodes in the network to quickly notify that the connection destination of the client 97 has been changed.
[0529]
In FIG. 29, the node 15 and the node 16 detect that the client 97 is connected to a plurality of nodes by setting on the setting interface 118 or by learning. The node 15 detects that the client 97 is connected to the node 16. The node 16 detects that the client 97 is connected to the node 15.
[0530]
The nodes 15 and 16 exchange control messages with each other, and determine which of the nodes 15 and 16 transfers the frame to the client 97. The transfer node is determined to be a node having a small node ID, a node having a large node ID, or a node determined by setting.
[0531]
When the transfer node is determined, the client 97 is considered to be connected only to the node 16 and the frame transfer is started. The nodes 11 to 16 recognize by learning or the like that the client 97 is connected to the node 16 and transmit a frame addressed to the client 97 with a tree identification tag having the node 16 as a root node added thereto.
[0532]
The node 15 and the node 16 always monitor each other's status using Keep Alive or the like. If the node 15 cannot confirm the operation of the node 16, the node 15 transfers the frame from the client 97 to the nodes 11 to 16. Further, the node 15 notifies all the nodes in the network that the node 15 takes over the frame transfer to the client 97 instead of the node 16.
[0533]
The nodes 11 to 16 receive the notification, insert a tag addressed to the node 15 into the frame addressed to the client 97, and transmit the frame addressed to the client 97 to the node 15.
[0534]
With the above operation, the client 97 can transmit and receive frames. The above operation is similarly applicable even when the node 15 and the node 16 are switched.
[0535]
Next, effects of the present embodiment will be described.
[0536]
Conventionally, the lowest cost route to a destination has not always been selected.
[0537]
In this embodiment, the lowest cost path to the destination can be selected by transferring the frame using the tree whose destination is the root node.
[0538]
Further, conventionally, there has been a problem that the load is concentrated near the root node while the link utilization rate is low.
[0539]
In the present embodiment, by setting a plurality of spanning trees having different root nodes, it is possible to increase the link utilization rate and distribute the load without concentrating the load near the root node.
[0540]
Further, conventionally, there is a problem that it takes time to construct a tree when a root node fails, and the network is stopped during that time.
[0541]
In this embodiment, by transferring a frame using the tree whose destination is the root node, frames other than the frame whose destination is the root node will not be disabled for a long time due to the influence of the root node failure. Therefore, a network stop due to a root node failure can be avoided.
[0542]
As a result, it is possible to reduce the possibility of occurrence of congestion.
[0543]
Hereinafter, a fifth embodiment of the present invention will be described in detail with reference to the drawings.
[0544]
In the fifth embodiment of the present invention, in the first embodiment, the version of the BPDU is identified, the cost is set large for the section using the low speed IEEE 802.1D, that is, the section using the conventional technique 1, and the high speed is set. The section using IEEE 802.1W, that is, the conventional technique 2 corresponds to a case where a spanning tree with a low cost is generated.
[0545]
In the section using IEEE 802.1D, route switching at the time of failure is slow, and it takes time to reconfigure the spanning tree. Therefore, if a tree that passes through this section is set, it takes time for failure or route change. As a result, there is a problem that frames are lost due to congestion.
[0546]
In the present embodiment, by setting the cost of the IEEE 802.1D use section to be large, it is possible to prevent the spanning tree from being set through the IEEE 802.1D use section and to speed up the switching and route change at the time of failure. To prevent the occurrence of congestion and loss of frames.
[0547]
Referring to FIG. 31, the fifth embodiment of the present invention is different from the first embodiment in that a cost controller 11516 is added in FIG.
[0548]
The tree controller 11514 determines the version of the received BPDU in addition to the operation of the tree controller 11514 in the first embodiment of the present invention, and if a lower version of the BPDU arrives, The cost of the link to which the node that transmitted the BPDU is connected is reset by the cost manipulator 11516, and is written to the tree table 11515. This operation is performed only once each time a notification of the cost change is received from the tree selector 116.
[0549]
The cost manipulator 11516 adds a preset value to the value input from the tree controller 11514, and sends a reply to the tree controller 11514.
[0550]
Upon receiving the BPDU reception notification from the BPDU transceiver 11512, the tree controller 11514 sets a value in the tree table 11515 according to the content of the notification. The PDU reception notification includes information on the version of the received BPDU and the reception port, and the information is also held in the tree table 11515.
[0551]
When notified of the cost information from the tree selector 116, the tree controller 11514 sets the cost value in the table according to the notified information. At this time, when a cost is set for a port that has received a BPDU of a version older than the version set in advance, the cost notified by the tree selector 116 is notified to the cost manipulator 11516.
[0552]
The cost manipulator 11516 adds a preset value to the value input from the tree controller 11514, and sends a reply to the tree controller 11514.
[0553]
The tree controller 11514 notifies the tree table 11515 of the cost returned from the cost controller 11516 as the cost of the corresponding port.
[0554]
The tree controller 11514 reconfigures the tree according to the spanning tree algorithm after the cost update for all ports is completed.
[0555]
Next, a spanning tree creation operation in the present embodiment will be described with reference to FIGS.
[0556]
32 to 34, it is assumed that the node 12 is a node that does not support IEEE 802.1W, and supports only IEEE 802.1D. It is assumed that the nodes other than the node 12, that is, the nodes 11, 13, 14, 15, and 16 correspond to IEEE 802.1W.
[0557]
Each of the nodes 11, 15, and 13 recognizes that the node 12 is a node corresponding to only the 802.1D based on the version information or the protocol ID in the BPDU frame transmitted from the node 12.
[0558]
Each of the nodes 11, 15, and 13 sets the cost of each of the links 21, 22, and 24 to be sufficiently higher than the costs of the other links. Here, it is assumed that the cost of the link 21, the link 22, and the link 24 is set to 10, and the cost of the other links, that is, the links 23, 26, 27, and 25 is set to 1.
[0559]
FIG. 32 is a configuration diagram of a spanning tree in the case where the node 11 or the node 14 becomes a root node in the cost setting state.
[0560]
FIG. 33 is a configuration diagram of a spanning tree when the node 15, the node 16, or the node 14 is a root node in the cost setting state.
[0561]
FIG. 34 is a configuration diagram of a spanning tree in a case where the node 13 or the node 16 becomes a root node in the cost setting state.
[0562]
As shown in FIG. 32 to FIG. 34, in the present embodiment, it is possible to configure a tree so as to avoid an IEEE 802.1D use section that takes a long time to recover from a failure, and to influence an entire network upon failure. Smaller, faster failure recovery.
[0563]
Next, effects of the present embodiment will be described.
[0564]
Conventionally, in a section using IEEE 802.1D, route switching at the time of a failure is slow, and it takes time to reconfigure a spanning tree.
[0565]
In the present embodiment, by setting the cost of the IEEE 802.1D use section to be large, it is possible to prevent the spanning tree from being set through the IEEE 802.1D use section and to speed up the switching and route change at the time of failure, It is possible to reduce the possibility of occurrence of congestion and the possibility of frame loss.
[0566]
Hereinafter, a sixth embodiment of the present invention will be described in detail with reference to the drawings.
[0567]
A sixth embodiment of the present invention is different from the first embodiment in that the classifier identifies the version of the BPDU and creates a tree manager through the tree selector by the number of slow IEEE 802.1D use sections. , When a failure occurs in an IEEE 802.1D use section, a case where a route bypassing the section is provided at high speed.
[0568]
In a section using IEEE 802.1D, route switching at the time of failure is slow, and it takes time to reconfigure the spanning tree. Therefore, if a failure occurs in this section, it takes time to generate a failure or change the route, and congestion may occur. There was a problem that frames were dropped due to occurrence.
[0569]
In the present embodiment, tree managers are created for the number of IEEE 802.1D use sections, and a tree in which the cost of one different IEEE 802.1D use section is set to be large is created for the IEEE 802.1D use section, and the number of tree managers is reduced by failure or the like. If it becomes necessary to detour the section, the detour operation can be performed at high speed by using a tree having a large cost for the section, thereby preventing occurrence of congestion and loss of frames.
[0570]
Referring to FIG. 35, the sixth embodiment of the present invention is different from FIG. 8 in the first embodiment of the present invention in that the number of tree managers 1151 is equal to the number of IEEE 802.1D use sections.
[0571]
The tree manager 1151 has the function of the tree manager 1151 shown in FIG. 8 in the first embodiment of the present invention, and the received BPDU frame is a BPDU frame compliant with IEEE 802.1D by a version field or other means. If it is confirmed that the BPDU frame has been received, an 802.1D frame reception notification is transmitted to the tree selector 116. In the 802.1D frame reception notification, the node ID of the node that transmitted the BPDU frame conforming to the 802.1D is written.
[0572]
The tree manager 1152 and the tree manager 1153 are the same tree manager as the tree manager 1151. From now on, description will be made using the tree manager 1151 on behalf of the tree managers 1151 to 1153. However, the description of the tree manager 1151 can be similarly applied to the tree managers 1152 to 1153 unless otherwise specified. It is.
[0573]
Tree managers are created by the number of IEEE 802.1D use sections by the tree selector 116. Accordingly, the number of tree managers may increase to one or more to infinity. In FIG. 35, the tree managers are collectively expressed as tree managers 1151 to 1153.
[0574]
The tree selector 116 receives the 802.1D frame reception notification from any one of the tree managers 1151 to 1153 in addition to the function of the tree selector 116 shown in FIG. 8 in the first embodiment of the present invention. In this case, based on a function of generating a new tree manager, a function of notifying an 802.11D using node to other nodes in the network, and a notification of the 802.1D using node transmitted from another node, It has a function to create a manager.
[0575]
The tree selector 116 detects, in addition to the above-described functions, that the 802.1D-using node has become able to use 802.1W due to some reason such as version upgrade, and deletes the tree manager, and information on the deletion. Is transmitted to other nodes in the network, and the tree manager is deleted based on the deletion information notified from the other nodes.
[0576]
FIG. 36 is a configuration diagram of a tree 67 created by a normal procedure of IEEE 802.1W using the node 11 as a root node.
[0577]
FIG. 37 is a configuration diagram of a tree 68 created by setting the node 11 as a root node and increasing the cost of the tree 21. This tree is also used when a failure occurs in the link 21.
[0578]
FIG. 38 is a configuration diagram of a tree 69 created by setting the node 11 as a root node and increasing the cost of the tree 22. This tree is also used when a failure occurs in the link 22.
[0579]
FIG. 39 is a configuration diagram of a tree 70 created by setting the node 11 as a root node and increasing the cost of the tree 24. This tree is also used when a failure occurs in the link 24.
[0580]
Next, referring to FIG. 36 to FIG. 39, the node 12 in FIG. 36 to FIG. The operation in this case will be described. Note that the root node is the node 11.
[0581]
First, a spanning tree 67 shown in FIG. 36 is formed by a normal procedure according to IEEE 802.1W. At this time, since the node 12 is a node that does not support 802.1W, the node 12 transmits a BPDU frame to which an IEEE 802.1D protocol ID is added.
[0582]
Upon receiving the BPDU to which the IEEE 802.1D protocol ID is added from the node 12, the node 11 generates a new tree manager and gives the tree manager a unique tag calculated from the link ID, the node ID, and the like. An ID is assigned, and the creation of a new group is broadcasted to all nodes by a GVRP frame or another frame. Here, it is assumed that a tag ID 48 is assigned as a new tag ID. At this time, the cost of the link 21 is set large.
[0583]
The nodes 12 to 16 receive and transfer the new group creation notification transmitted from the node 11, generate a tree manager, and start exchanging BPDUs. A BPDU exchanged between newly created tree managers is tagged with a tag ID 48. The spanning tree created here is referred to as a tree 68.
[0584]
Upon receiving the BPDU to which the IEEE 802.1D protocol ID has been added from the node 12, the node 13 generates a new tree manager and gives the tree manager a unique tag calculated from the link ID, the node ID, and the like. An ID is assigned, and the creation of a new group is broadcasted to all nodes by a GVRP frame or another frame. Here, it is assumed that a tag ID 49 is assigned as a new tag ID. At this time, the cost of the link 22 is set large.
[0585]
The nodes 11 to 12 and the nodes 14 to 16 receive and transfer the new group creation notification transmitted from the node 13, generate a tree manager, and start exchanging BPDUs. A BPDU exchanged between newly created tree managers is tagged with a tag ID 49. The spanning tree created here is referred to as a tree 69.
[0586]
The node 15 receives the BPDU to which the IEEE 802.1D protocol ID is added from the node 12, generates a new tree manager, and gives the tree manager a unique tag calculated from the link ID, the node ID, and the like. An ID is assigned, and the creation of a new group is broadcasted to all nodes by a GVRP frame or another frame. Here, it is assumed that a tag ID 50 is assigned as a new tag ID. At this time, the cost of the link 24 is set large.
[0587]
The nodes 11 to 14 and the node 16 receive and transfer the new group creation notification transmitted from the node 15, generate a tree manager, and start exchanging BPDUs. A BPDU exchanged between newly created tree managers is tagged with a tag ID 50. The spanning tree created here is referred to as a tree 70.
[0588]
In normal times, communication between the nodes is performed using the tree 67, and the trees 68 to 70 are not used.
[0589]
Here, if a failure occurs in the link 21, the node 11 detects the failure of the link 21 and immediately switches the tree used for transfer from the tree 67 to the tree 68. In addition, a broadcast of the use tag group change notification is transmitted to all nodes, and a notification is made to switch the tag used for transfer to the tag ID 48.
[0590]
Each of the nodes 12 to 16 receives the use tag group change notification transmitted from the node 11, inserts the tag of the tag ID 48 into the frame transmitted from the own node, and converts the tree used for transfer into a tree. Switch from 67 to tree 68.
[0591]
When a failure occurs in the link 21, the switching to the tree 68 may be performed by the node 12 instead of the node 11. If the node 12 detects a failure in the link 21, the tree used for transfer is immediately switched from the tree 67 to the tree 68. In addition, a broadcast of the use tag group change notification is transmitted to all nodes, and a notification is made to switch the tag used for transfer to the tag ID 48. The subsequent operation is the same as when the node 11 detects a failure.
[0592]
Although the tree 67 is reconfigured due to the failure of the link 21, the link 21 is reconfigured according to 802.1D, so that it may take time to complete the reconfiguration.
[0593]
In this embodiment, when the link 21 fails, the tree used for transfer is immediately switched from the tree 67 to the tree 68, so that the frame transfer can be continued without waiting for the reconfiguration of the tree 67. it can.
[0594]
The operation in the case where a failure has occurred in the link 21 has been described above, but the above operation can be similarly applied to the case where a failure has occurred in the link 22 or the link 24.
[0595]
Next, effects of the present embodiment will be described.
[0596]
Conventionally, in a section using IEEE 802.1D, route switching at the time of a failure is slow, and it takes time to reconfigure a spanning tree.
[0597]
In the present embodiment, tree managers are created for the number of IEEE 802.1D use sections, and a tree in which the cost of one different IEEE 802.1D use section is set to be large is created for the IEEE 802.1D use section, and the tree is created due to a failure or the like. When it becomes necessary to detour a section, the detour operation is performed at high speed by switching to using a tree that has given a large cost to the section, and the possibility of occurrence of congestion and the possibility of frame loss are reduced. Can be reduced.
[0598]
Next, a seventh embodiment of the present invention will be described in detail with reference to the drawings.
[0599]
According to a seventh embodiment of the present invention, in the first embodiment, a failure detection frame is periodically transmitted at a short interval using a failure detector, and the failure detection frame no longer arrives. Is different from the first embodiment in that a fault is detected and fault information is notified to a tree manager through a resource monitor and a tree selector.
[0600]
In IEEE 802.1D and IEEE 802.1W, a failure was detected due to the non-arrival of a periodically transmitted HELLO frame. However, since the transmission interval of the HELLO frame is long, it takes a long time to detect a failure.
[0601]
In the present embodiment, a failure detection frame is periodically transmitted from a failure detector at short intervals, and high-speed failure detection is performed when a certain number of the failure detection frames have not arrived for a predetermined time or more.
[0602]
Referring to FIG. 40, a seventh embodiment of the present invention is different from FIG. 4 in the first embodiment in that a failure detector 120 for transmitting and receiving a failure detection frame to detect a failure is added. Is different.
[0603]
The failure detector 120 periodically transmits the failure detection frame to the adjacent node through the frame transfer unit 111, receives the failure detection frame transmitted from the adjacent node from the frame transfer unit 111, When a failure detection frame sent from the node cannot be received for a certain period of time or more, or when a failure detection frame of a certain number or more is detected, a failure detection notification is transmitted to the resource monitor 119.
[0604]
The resource monitor 119 has a function of receiving a failure notification from the failure detector 120 and transferring the failure notification to the tree selector 116, in addition to the function of the resource monitor 119 in the first embodiment.
[0605]
The tree selector 116 has a function of receiving a failure notification from the resource monitor 119 and transferring this to the tree managers 1151 and 1152, in addition to the function of the tree selector 116 in the first embodiment.
[0606]
The tree managers 1151 and 1152 receive the failure notification from the tree selector 116 in addition to the functions of the tree managers 1151 and 1152 in the first embodiment of the present invention and reconfigure the spanning tree according to IEEE 802.1W or IEEE 802.1D. Perform the configuration.
[0607]
Next, an operation example in the case where the node 11 detects a failure in the link 21 in the present embodiment will be described with reference to FIG.
[0608]
The failure detector 120 periodically transmits a failure detection frame to the adjacent nodes 12 and 15 via the frame transfer unit 111 and the link 21 or 24.
[0609]
The failure detector 120 also receives a failure detection frame transmitted from the adjacent nodes 12 and 15 via the link 21 or the link 24 and the frame transfer unit 111. At this time, the failure detector 120 can also identify the ID of the port at which the failure detection frame has arrived.
[0610]
The failure detector 120 operates such that when a failure detection frame arrives, it operates a timer of a port at which the failure detection frame arrives, and sends a notification when a predetermined time has elapsed.
[0611]
Upon receiving the failure detection frame, the failure detector 120 resets a timer installed for each port. For example, when a failure detection frame is received from the link 21, the timer of the port to which the link 21 is connected is reset. When a failure detection frame is received from the link 24, the timer of the port to which the link 24 is connected is reset.
[0612]
Here, in the failure detector 120, if a failure detection frame does not arrive for a predetermined time or more due to a link failure or the like, the timer is not reset and a timeout occurs. When a timeout occurs, the failure detector 120 recognizes that some failure has occurred, and notifies the tree manager 1151 and the tree manager 1152 of the occurrence of the failure through the resource monitor 119 and the tree selector 116.
[0613]
The tree manager 1151 and the tree manager 1152 having received the notification immediately reconfigure the spanning tree to avoid the failure, assuming that the failure port is unusable.
[0614]
Next, effects of the present embodiment will be described.
[0615]
Conventionally, high-speed failure detection was not possible because the transmission interval of HELLO frames used in the spanning tree protocol was long.
[0616]
In the present embodiment, by adding a failure detector that transmits and receives a failure detection frame at short intervals, it is possible to detect a failure faster than a HELLO frame.
[0617]
As a result, it is possible to reduce the possibility of occurrence of congestion and frame loss.
[0618]
Regarding the function of each means that is a component of the spanning tree configuration node in the network of the present invention, it is obvious that the function is realized by hardware, and the spanning tree reconfiguration program (application This can be realized by loading the program 950 into the memory of the computer processing device and controlling the computer processing device. The spanning tree reconfiguration program 950 is stored on a magnetic disk, a semiconductor memory, or another recording medium, loaded from the recording medium into a computer processing device, and controls the operation of the computer processing device to realize the above-described functions. I do.
[0619]
Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and may be variously modified within the scope of the technical idea. Can be implemented.
[0620]
【The invention's effect】
As described above, according to the present invention, the following effects are achieved.
[0621]
First, it is possible to reduce the probability of occurrence of congestion and reduce the frequency of occurrence of frame arrival delay or loss due to congestion. The reason is that the spanning tree including the newly added node is generated while the spanning tree before the configuration change is operated, the spanning tree used after the new spanning tree is stabilized is switched, and multiple spanning trees with different root nodes are used. This is because the system is set.
[0622]
Second, the spanning tree can be reconfigured such as adding and deleting nodes belonging to the spanning tree without stopping the network. The reason is that the spanning tree including the newly added node is generated while the spanning tree before the configuration change is operated, and the spanning tree to be used is switched after the new spanning tree is stabilized.
[0623]
Third, traffic load distribution can be performed. The reason is that the link cost is calculated based on dynamic information such as an available bandwidth and a server load.
[0624]
Fourth, load balancing can be performed without stopping the network due to spanning tree reconfiguration due to route change. The reason is that the tree after the cost change is generated while the tree before the change is operated, and the tree to be used is switched after the new tree is stabilized.
[0625]
Fifth, the lowest cost route to the destination can be selected. This is because frames are transferred using a tree whose destination is the root node.
[0626]
Sixth, it is possible to increase the link utilization rate and distribute the load without concentrating the load near the root node. The reason is that a plurality of spanning trees with different root nodes are set.
[0627]
Seventh, network stoppage due to root node failure can be avoided. The reason is that by transferring a frame using the tree whose destination is the root node, frames other than the frame whose destination is the root node will not be unable to be transferred for a long time due to the influence of the root node failure. is there.
[0628]
Eighth, to prevent the spanning tree from being set through the IEEE 802.1D use section, speed up switching and route change at the time of failure, and reduce the possibility of occurrence of congestion and loss of frames. Is possible. The reason is that the cost of the IEEE 802.1D use section is set large, and the spanning tree is prevented from being set through the IEEE 802.1D use section.
[0629]
Ninth, the detour operation can be performed at high speed, and occurrence of congestion and loss of frames can be prevented. The reason is that tree managers are created for the number of IEEE 802.1D use sections, a tree in which the cost of one different IEEE 802.1D use section is set to be large is created for the IEEE 802.1D use section, and the section is created due to a failure or the like. This is because, when it becomes necessary to make a detour, switching is made to use a tree that has given a large cost to the section.
[0630]
Tenth, high-speed failure detection was not possible because the transmission interval of HELLO frames conventionally used in the spanning tree protocol was long, but a failure detector that transmits and receives failure detection frames at short intervals has to be added. Accordingly, failure detection at a higher speed than that of the HELLO frame can be performed. As a result, it is possible to reduce the possibility of occurrence of congestion and frame loss.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of a conventional Ethernet® frame with a VLAN tag.
FIG. 2 is a diagram illustrating a configuration example of an Ethernet® frame with an extension tag according to the present invention;
FIG. 3 is a diagram showing another configuration example of an Ethernet (R) frame with an extension tag according to the present invention.
FIG. 4 is a diagram showing a configuration example of an extended tag storage area according to the present invention.
FIG. 5 is a format diagram illustrating a frame configuration of a Configuration BPDU frame according to the present invention.
FIG. 6 is a format diagram showing a frame configuration of a Topology Change Notification BPDU frame in the present invention.
FIG. 7 is a block diagram showing a configuration of the first exemplary embodiment of the present invention.
FIG. 8 is a block diagram illustrating a configuration of a node 11 according to the first embodiment of this invention.
FIG. 9 is a table showing a configuration example of a forwarding table 114 according to the first embodiment of the present invention.
FIG. 10 is a block diagram illustrating a configuration of a tree manager 1151 according to the first embodiment of this invention.
FIG. 11 is a block diagram showing a configuration of a tree selector 116 according to the first embodiment of the present invention.
FIG. 12 is a flowchart showing an operation of the main controller 1164 according to the first embodiment of the present invention.
FIG. 13 is a table showing a configuration example of a tag table 117 according to the first embodiment of the present invention.
FIG. 14 is a block diagram illustrating a configuration of a spanning tree 51 before a node 700 is added according to the first embodiment of this invention.
FIG. 15 is a block diagram illustrating a configuration of a spanning tree 52 after a node 700 is added according to the first embodiment of this invention.
FIG. 16 is a sequence diagram showing exchange of control frames according to the first embodiment of the present invention.
FIG. 17 is a block diagram showing a configuration of a tree selector 116 according to the second embodiment of the present invention.
FIG. 18 is a flowchart showing an operation of a main controller 1164 according to the second embodiment of the present invention.
FIG. 19 is a flowchart showing an operation of a main controller 1164 according to the third embodiment of the present invention.
FIG. 20 is a block diagram showing a configuration of a node 11 according to the fourth embodiment of the present invention.
FIG. 21 is a table showing a configuration example of a forwarding table 114 according to the fourth embodiment of the present invention.
FIG. 22 is a table showing a configuration example of a tag table 117 according to the fourth embodiment of the present invention.
FIG. 23 is a block diagram showing a configuration of a tree 61 according to the fourth embodiment of the present invention.
FIG. 24 is a block diagram showing a configuration of a tree 62 according to the fourth embodiment of the present invention.
FIG. 25 is a block diagram showing a configuration of a tree 63 according to the fourth embodiment of the present invention.
FIG. 26 is a block diagram showing a configuration of a tree 64 according to the fourth embodiment of the present invention.
FIG. 27 is a block diagram showing a configuration of a tree 65 according to the fourth embodiment of the present invention.
FIG. 28 is a block diagram showing a configuration of a tree 66 according to the fourth embodiment of the present invention.
FIG. 29 is a block diagram showing a configuration of a fourth exemplary embodiment of the present invention.
FIG. 30 is a block diagram showing a configuration of a tree 74 according to the fourth embodiment of the present invention.
FIG. 31 is a block diagram showing a configuration of a tree manager 1151 according to the fifth embodiment of the present invention.
FIG. 32 is a block diagram showing a configuration of a tree 71 according to the fifth embodiment of the present invention.
FIG. 33 is a block diagram showing a configuration of a tree 72 according to the fifth embodiment of the present invention.
FIG. 34 is a block diagram showing a configuration of a tree 73 according to the fifth embodiment of the present invention.
FIG. 35 is a block diagram showing a configuration of a node 11 according to the sixth embodiment of the present invention.
FIG. 36 is a block diagram showing a configuration of a tree 67 according to the sixth embodiment of the present invention.
FIG. 37 is a block diagram showing a configuration of a tree 68 according to the sixth embodiment of the present invention.
FIG. 38 is a block diagram showing a configuration of a tree 69 according to the sixth embodiment of the present invention.
FIG. 39 is a block diagram showing a configuration of a tree 70 according to the sixth embodiment of the present invention.
FIG. 40 is a block diagram showing a configuration of a node 11 according to the seventh embodiment of the present invention.
[Explanation of symbols]
11-18 nodes
21-30 bidirectional link
31 Active BPDU (tag group 41)
32 Reserved BPDU (Tag group 42)
33 Working BPDU (Tag Group 42)
34 Reserved BPDU (Tag Group 41)
35 Use tag group change notification (GVRP, etc.)
41-50 tag groups
51-52 Spanning Tree
61-73 Spanning Tree]
81-88 bidirectional link
91-97 Client
111 Frame Transfer
112 Tag Inserter
113 Tag remover
114 Forwarding Table
116 Tree Selector
117 Tag Table
118 Setting interface
119 Resource Monitor
1150 Classifier
1151 Tree Manager
1152 Tree Manager
1153 Tree Manager
1161 Tag remover
1162 GVRP transmitter
1163 Tag Inserter
1164 Main controller
1165 Stabilization timer
1166 Arrival interval timer
1167 Cost reference timer
1168 Function calculator
1169 Smoothing circuit
11511 Tag remover
11512 BPDU transmitter
11513 Tag Inserter
11514 Tree Controller
11515 Tree table
11516 Cost controller
11641-11649 state
1164A state
1164B state
120 failure detector

Claims (67)

複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
While operating the spanning tree before the network configuration change, generate a new spanning tree after the configuration change, and after the new spanning tree is stabilized, switch the spanning tree used for transfer to the new spanning tree. Node to be featured.
前記ネットワークの構成変更が、ノードの追加又は削除やリンクトポロジの変化であることを特徴とする請求項1に記載のノード。The node according to claim 1, wherein the network configuration change is addition or deletion of a node or a change in a link topology. 複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
At the time of network cost change, a new spanning tree after link cost change is generated while the current spanning tree is operated, and after the new spanning tree is stabilized, the spanning tree used for transfer is switched to the new spanning tree. A node characterized by the following:
複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
転送に利用するスパニングツリーを決定するツリーセレクタと、
宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table that returns tags corresponding to the spanning tree used for forwarding,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that determines the spanning tree to use for forwarding,
A forwarding table for recording the transfer output destination of the frame for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A classifier for determining a tree manager to which the frame is forwarded according to the tag.
前記ツリーセレクタが、
転送に利用するスパニングツリーの切り替えを行うメインコントローラと、
スパニングツリーの安定を示す指定した時間のタイマ満了を知らせる安定タイマと、
フレームに付加されたタグを削除するタグ削除器と、
スパニングツリーの切り替えのための制御フレームを送受信するGVRP送受信器と、
フレームにタグを付加するタグ挿入器とを備えることを特徴とする請求項4に記載のノード。
The tree selector is
A main controller that switches the spanning tree used for forwarding,
A stability timer for notifying a timer expiration of a specified time indicating the stability of the spanning tree;
A tag remover for removing a tag added to the frame,
A GVRP transceiver for transmitting and receiving a control frame for switching the spanning tree;
The node according to claim 4, further comprising a tag inserter for adding a tag to the frame.
前記ツリーセレクタは、
スパニングツリーの安定を示すフレームの到着間隔を判別するため、一定時間が経過するとタイマ満了通知を送信する到着間隔タイマを備えることを特徴とする請求項5に記載のノード。
The tree selector is:
The node according to claim 5, further comprising: an arrival interval timer that transmits a timer expiration notification after a predetermined time elapses to determine an arrival interval of a frame indicating stability of the spanning tree.
前記ツリーセレクタは、
リンクコストの算出に利用する指定時間のタイマ満了を知らせるコスト参照タイマを備えることを特徴とする請求項4から請求項6の何れか1項に記載のノード。
The tree selector is:
The node according to any one of claims 4 to 6, further comprising a cost reference timer that notifies a timer expiration of a designated time used for calculating a link cost.
前記ツリーマネージャが、
フレームに付加されたタグを削除するタグ削除器と、
BPDUを送受信するBPDU送受信器と、
フレームにタグを付加するタグ挿入器と、
スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラと、
前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする請求項4から請求項7の何れか1項に記載のノード。
The tree manager
A tag remover for removing a tag added to the frame,
A BPDU transceiver for transmitting and receiving BPDUs;
A tag inserter for adding a tag to a frame,
A tree controller that creates a spanning tree according to a spanning tree protocol;
The node according to any one of claims 4 to 7, further comprising: a tree table holding parameters used in the spanning tree protocol.
前記ツリーマネージャは、
通知されたリンクコストに所定の設定値を加算して返答するコスト操作器を備えることを特徴とする請求項8に記載のノード。
The tree manager comprises:
9. The node according to claim 8, further comprising a cost controller that adds a predetermined set value to the notified link cost and responds.
リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする請求項4から請求項9の何れか1項に記載のノード。The node according to any one of claims 4 to 9, further comprising a resource monitor that measures resource information including a link connection status and an available bandwidth. 前記リンクコストを、利用状況に基づいて計算することを特徴とする請求項3に記載のノード。The node according to claim 3, wherein the link cost is calculated based on a use situation. 前記利用状況を、空き帯域と定義することを特徴とする請求項11に記載のノード。The node according to claim 11, wherein the usage status is defined as a free bandwidth. 前記利用状況を、CPU負荷と定義することを特徴とする請求項11に記載のノード。The node according to claim 11, wherein the usage status is defined as a CPU load. 複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるスパニングツリーを用いてフレームを転送する
ことを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
A node characterized in that each node in a network generates a spanning tree in which a root node is used, and a frame is transferred using the spanning tree in which a destination is a root node.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
ネットワークに存在するルートノード数と同数のツリーマネージャを生成するツリーセレクタと、
宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table that returns tags corresponding to the spanning tree used for forwarding,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that generates as many tree managers as there are root nodes in the network,
A forwarding table for recording the transfer output destination of the frame for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A classifier for determining a tree manager to which the frame is forwarded according to the tag.
前記ツリーセレクタが、
ツリーマネージャの作成もしくは削除を行うメインコントローラと、
フレームに付加されたタグを削除するタグ削除器と、
スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信器と、
フレームにタグを付加するタグ挿入器とを備えることを特徴とする請求項15に記載のノード。
The tree selector is:
A main controller that creates or deletes the tree manager;
A tag remover for removing a tag added to the frame,
A GVRP transceiver for transmitting a control frame for switching spanning trees,
The node according to claim 15, further comprising a tag inserter for adding a tag to the frame.
前記ツリーマネージャが、
フレームに付加されたタグを削除するタグ削除器と、
BPDUを送受信するBPDU送受信器と、
フレームにタグを付加するタグ挿入器と、
スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラと、
前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする請求項15または請求項16に記載のノード。
The tree manager
A tag remover for removing a tag added to the frame,
A BPDU transceiver for transmitting and receiving BPDUs;
A tag inserter for adding a tag to a frame,
A tree controller that creates a spanning tree according to a spanning tree protocol;
17. The node according to claim 15, further comprising: a tree table holding parameters used in the spanning tree protocol.
リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする請求項15から請求項17の何れか1項に記載のノード。18. The node according to claim 15, further comprising a resource monitor that measures resource information including a link connection status and an available bandwidth. 複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
スパニングツリーを生成するツリーマネージャが、
スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作器を備えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
A tree manager that creates a spanning tree
A node comprising a cost controller for adjusting a cost value according to a type and a version of a spanning tree protocol.
前記コスト操作器は、
障害回復処理が遅いプロトコルを利用しているリンクに対して、大きなコストを割り振ることを特徴とする請求項19に記載のノード。
The cost manipulator,
20. The node according to claim 19, wherein a large cost is allocated to a link using a protocol whose failure recovery processing is slow.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前記各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行うことを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
For each link using a slow protocol in the network, generate a spanning tree that maximizes the cost of each link, and when each link fails, the cost of the link becomes maximum. A node characterized in that a frame is transferred by using a tree that is located.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのノードにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送用ツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタと、
宛先ごとのフレーム転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って転送先のツリーマネージャを決定する分別器
とを備えることを特徴とするノード。
In a node of a spanning tree system operating on a network connecting a plurality of nodes,
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table for returning tags corresponding to the transfer tree,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that generates as many tree managers as there are links using slow protocols present in the network,
A forwarding table for recording the frame transfer output destination for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A classifier for determining a destination tree manager according to the tag.
前記ツリーセレクタが、
ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラと、
フレームに付加されたタグを削除するタグ削除器と、
制御フレームを送信するGVRP送受信器と、
フレームにタグを付加するタグ挿入器とを備えることを特徴とする請求項22に記載のノード。
The tree selector is:
A main controller in the tree selector that creates or deletes the tree manager;
A tag remover for removing a tag added to the frame,
A GVRP transceiver transmitting a control frame;
23. The node according to claim 22, comprising: a tag inserter for adding a tag to a frame.
前記ツリーマネージャが、
フレームに付加されたタグを削除するタグ削除器と、
BPDUを送受信するBPDU送受信器と、
フレームにタグを付加するタグ挿入器と、
スパニングツリープロトコルにしたがってスパニングツリーを作成するツリーコントローラと、
スパニングツリープロトコルで使用するパラメータを保持するツリーテーブルとを備えることを特徴とする請求項22または請求項23に記載のノード。
The tree manager
A tag remover for removing a tag added to the frame,
A BPDU transceiver for transmitting and receiving BPDUs;
A tag inserter for adding a tag to a frame,
A tree controller that creates a spanning tree according to a spanning tree protocol;
24. The node according to claim 22, further comprising: a tree table holding parameters used in a spanning tree protocol.
リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタを備えることを特徴とする請求項22から請求項24の何れか1項に記載のノード。The node according to any one of claims 22 to 24, further comprising a resource monitor that measures resource information including a link connection status and an available bandwidth. スパニングツリープロトコルで利用されているHELLOフレームより、短い間隔で障害検出用フレームを送受信して障害を検出する障害検出器を備えることを特徴とする請求項4から請求項25の何れか1項に記載のノード。26. The apparatus according to claim 4, further comprising: a failure detector that detects a failure by transmitting / receiving a failure detection frame at a shorter interval than a HELLO frame used in the spanning tree protocol. The described node. 複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、
ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替える処理を実行することを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
A process of generating a new spanning tree after the configuration change while operating the spanning tree before the network configuration change, and switching the spanning tree used for transfer to the new spanning tree after the new spanning tree is stabilized. A spanning tree configuration program characterized by being executed.
前記ネットワークの構成変更が、ノードの追加又は削除やリンクトポロジの変化であることを特徴とする請求項26に記載のスパニングツリー構成プログラム。27. The spanning tree configuration program according to claim 26, wherein the change in the network configuration is addition or deletion of a node or a change in a link topology. 複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、
ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替える処理を実行することを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
At the time of network cost change, a new spanning tree after link cost change is generated while the current spanning tree is operated, and after the new spanning tree is stabilized, the spanning tree used for transfer is switched to the new spanning tree. A spanning tree configuration program for executing a process.
複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、
複数のツリーマネージャによる独立して動作する複数のスパニングツリーを生成する処理と、
転送に利用しているスパニングツリーに対応したタグを返答する処理と、
返答のあった前記タグをフレームに挿入するタグ挿入処理と、
転送に利用するツリーを決定するツリーセレクタ処理と、
宛先ごとのフレームの転送出力先を記録するフォワーディングテーブル処理と、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送処理と、
前記タグに従って転送先のツリーマネージャを決定する分別処理
とを実行することを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
A process of generating a plurality of spanning trees that operate independently by a plurality of tree managers;
Replying a tag corresponding to the spanning tree used for forwarding,
A tag insertion process for inserting the replied tag into a frame;
Tree selector processing for determining a tree to be used for transfer;
Forwarding table processing for recording the transfer output destination of the frame for each destination,
A frame transfer process for transferring a frame to a transfer output destination specified in the forwarding table;
A spanning tree configuration program for executing a sorting process for determining a transfer destination tree manager according to the tag.
前記ツリーセレクタ処理において、
転送に利用するスパニングツリーの切り替えを行うコントローラ処理と、
スパニングツリーの安定を示す指定した時間のタイマ満了を知らせる安定タイマ処理と、
フレームに付加されたタグを削除するタグ削除処理と、
スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信処理と、
フレームにタグを付加するタグ挿入処理
とを実行することを特徴とする請求項30に記載のスパニングツリー構成プログラム。
In the tree selector process,
Controller processing for switching the spanning tree used for forwarding,
A stability timer process for notifying a timer expiration of a specified time indicating the stability of the spanning tree;
A tag deletion process for deleting the tag added to the frame,
GVRP transmission / reception processing for transmitting a control frame for switching a spanning tree;
31. The spanning tree configuration program according to claim 30, wherein the program performs a tag insertion process of adding a tag to a frame.
前記ツリーセレクタ処理において、
スパニングツリーの安定を示すフレームの到着間隔を判別するため、一定時間が経過すると、タイマ満了通知を送信する到着間隔タイマ処理を実行することを特徴とする請求項31に記載のスパニングツリー構成プログラム。
In the tree selector process,
32. The spanning tree configuration program according to claim 31, wherein an arrival interval timer process for transmitting a timer expiration notification is executed after a predetermined time elapses to determine an arrival interval of a frame indicating the stability of the spanning tree.
前記ツリーセレクタ処理は、
リンクコストの算出に利用する指定時間のタイマ満了を知らせるコスト参照タイマ処理を実行することを特徴とする請求項30から請求項32に記載のスパニングツリー構成プログラム。
The tree selector processing includes:
33. The non-transitory computer-readable storage medium according to claim 30, wherein a cost reference timer process for notifying the expiration of a timer of a designated time used for calculating a link cost is executed.
前記ツリーマネージャ処理が、
フレームに付加されたタグを削除するタグ削除処理と、
BPDUを送受信するBPDU送受信処理と、
フレームにタグを付加するタグ挿入処理と、
スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラ処理と、
前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを実行することを特徴とする請求項30から請求項33の何れか1項に記載のスパニングツリー構成プログラム。
The tree manager process comprises:
A tag deletion process for deleting the tag added to the frame,
BPDU transmission / reception processing for transmitting / receiving a BPDU;
Tag insertion processing for adding a tag to a frame,
Tree controller processing for creating a spanning tree according to the spanning tree protocol;
34. The non-transitory computer-readable storage medium according to claim 30, wherein the non-transitory computer-readable recording medium executes a tree table process that retains parameters used in the spanning tree protocol.
前記ツリーマネージャ処理は、
通知されたリンクコストに所定の設定値を加算して返答するコスト操作処理を実行することを特徴とする請求項34に記載のスパニングツリー構成プログラム。
The tree manager process comprises:
35. The non-transitory computer-readable storage medium according to claim 34, further comprising executing a cost operation process of adding a predetermined set value to the notified link cost and responding.
リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする請求項30から請求項35の何れか1項に記載のスパニングツリー構成プログラム。The program according to any one of claims 30 to 35, wherein a resource monitoring process for measuring resource information including a link connection status and an available bandwidth is executed. リンクコストを、利用状況により計算する処理を実行することを特徴とする請求項29に記載のスパニングツリー構成プログラム。30. The spanning tree configuration program according to claim 29, wherein a process for calculating a link cost according to a use situation is executed. 前記利用状況を、空き帯域と定義することを特徴とする請求項37に記載のスパニングツリー構成プログラム。38. The storage medium according to claim 37, wherein the usage status is defined as an available bandwidth. 前記利用状況を、CPU負荷と定義することを特徴とする請求項37に記載のスパニングツリー構成プログラム。38. The storage medium according to claim 37, wherein the usage status is defined as a CPU load. 複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、
ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるツリーを用いてフレームを転送する
ことを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration program characterized by generating a spanning tree in which each node in a network becomes a root node, and transferring a frame using the tree whose destination is a root node.
複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノード上で動作するスパニングツリー構成プログラムにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャ処理と、
転送に利用しているスパニングツリーに対応したタグを返答するタグテーブル処理と、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入処理と、
ネットワークに存在するルートノード数と同数のツリーマネージャを生成するツリーセレクタ処理と、
宛先ごとのフレーム転送出力先を記録するフォワーディングテーブル処理と、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送処理と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別処理
とを備えることを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
A plurality of tree manager processes for generating a plurality of spanning trees that operate independently,
Tag table processing to return a tag corresponding to the spanning tree used for transfer,
A tag insertion process of inserting a tag that has returned from the tag table into a frame,
Tree selector processing for generating the same number of tree managers as the number of root nodes existing in the network;
Forwarding table processing for recording the frame transfer output destination for each destination,
A frame transfer process for transferring a frame to a transfer output destination specified in the forwarding table;
A classification process for determining a tree manager to which the frame is to be forwarded according to the tag.
前記ツリーセレクタ処理が、
ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラ処理と、
フレームに付加されたタグを削除するタグ削除処理と、
スパニングツリーの切り替えのための制御フレームを送信するGVRP送受信処理と、
フレームにタグを付加するタグ挿入処理
とを実行することを特徴とする請求項41に記載のスパニングツリー構成プログラム。
The tree selector processing includes:
Main controller processing in the tree selector that creates or deletes a tree manager,
A tag deletion process for deleting the tag added to the frame,
GVRP transmission / reception processing for transmitting a control frame for switching a spanning tree;
42. The spanning tree configuration program according to claim 41, wherein the program executes tag insertion processing for adding a tag to a frame.
前記ツリーマネージャ処理が、
フレームに付加されたタグを削除するタグ削除処理と、
BPDUを送受信するBPDU送受信処理と、
フレームにタグを付加するタグ挿入処理と、
スパニングツリープロトコルに従ってスパニングツリーを作成するツリーコントローラ処理と、
前記スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを実行することを特徴とする請求項41または請求項42に記載のスパニングツリー構成プログラム。
The tree manager process comprises:
A tag deletion process for deleting the tag added to the frame,
BPDU transmission / reception processing for transmitting / receiving a BPDU;
Tag insertion processing for adding a tag to a frame,
Tree controller processing for creating a spanning tree according to the spanning tree protocol;
43. The spanning tree configuration program according to claim 41, further comprising: executing a tree table process for retaining parameters used in the spanning tree protocol.
各前記ノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする請求項41から請求項43の何れか1項に記載のスパニングツリー構成プログラム。The spanning tree configuration program according to any one of claims 41 to 43, wherein each of the nodes executes a resource monitoring process for measuring resource information including a link connection status and an available bandwidth. 複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノードで動作するスパニングツリー構成プログラムにおいて、
ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前期各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行うことを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
For each of the links using the slow protocol in the network, a spanning tree in which the cost of each link is maximized in the previous period is generated, and when the failure of each link occurs, the cost of the link is maximized. A spanning tree configuration program for performing frame transfer by using a tree that is running.
複数のノードを接続したネットワークで動作するスパニングツリーシステムの各ノードで動作するスパニングツリー構成プログラムにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャ処理と、
転送用ツリーに対応したタグを返答するタグテーブル処理と、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入処理と、
ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタ処理と、
宛先ごとのフレームの転送出力先を記録するフォワーディングテーブル処理と、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送処理と、
前記タグに従ってフレームの転送先のツリーマネージャを決定する分別処理
とを備えることを特徴とするスパニングツリー構成プログラム。
In a spanning tree configuration program operating on each node of a spanning tree system operating on a network connecting a plurality of nodes,
A plurality of tree manager processes for generating a plurality of spanning trees that operate independently,
A tag table process for returning a tag corresponding to the transfer tree,
A tag insertion process of inserting a tag that has returned from the tag table into a frame,
Tree selector processing to generate as many tree managers as there are links using slow protocols present in the network,
Forwarding table processing for recording the transfer output destination of the frame for each destination,
A frame transfer process for transferring a frame to a transfer output destination specified in the forwarding table;
A classification process for determining a tree manager to which a frame is to be transferred according to the tag.
前記ツリーセレクタ処理が、
ツリーマネージャの作成もしくは削除を行うツリーセレクタ内のメインコントローラ処理と、
フレームに付加されたタグを削除するタグ削除処理と、
制御フレームを送受信するGVRP送受信処理と、
フレームにタグを付加するタグ挿入処理
とを備えることを特徴とする請求項46に記載のスパニングツリー構成プログラム。
The tree selector processing includes:
Main controller processing in the tree selector that creates or deletes a tree manager,
A tag deletion process for deleting the tag added to the frame,
GVRP transmission / reception processing for transmitting / receiving a control frame;
47. The spanning tree configuration program according to claim 46, further comprising: tag insertion processing for adding a tag to a frame.
前記ツリーマネージャ処理が、
フレームに付加されたタグを削除するタグ削除処理と、
BPDUを送受信するBPDU送受信処理と、
フレームにタグを付加するタグ挿入処理と、
スパニングツリープロトコルにしたがってスパニングツリーを作成するツリーコントローラ処理と、
スパニングツリープロトコルで使用するパラメータを保持するツリーテーブル処理とを備えることを特徴とする請求項46または請求項47に記載のスパニングツリー構成プログラム。
The tree manager process comprises:
A tag deletion process for deleting the tag added to the frame,
BPDU transmission / reception processing for transmitting / receiving a BPDU;
Tag insertion processing for adding a tag to a frame,
Tree controller processing for creating a spanning tree according to the spanning tree protocol,
48. The spanning tree configuration program according to claim 46, further comprising: a tree table process for storing parameters used in a spanning tree protocol.
各前記ノードは、リンクの接続状況や空き帯域を含むリソース情報を計測するリソースモニタ処理を実行することを特徴とする請求項46から請求項48の何れか1項に記載のスパニングツリー構成プログラム。49. The spanning tree configuration program according to any one of claims 46 to 48, wherein each of the nodes executes a resource monitoring process for measuring resource information including a link connection status and an available bandwidth. 複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
各前記ノードが、
ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
Each of the nodes is
While operating the spanning tree before the network configuration change, generate a new spanning tree after the configuration change, and after the new spanning tree is stabilized, switch the spanning tree used for transfer to the new spanning tree. Characteristic spanning tree system.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
各前記ノードが、
ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
Each of the nodes is
At the time of network cost change, a new spanning tree after link cost change is generated while the current spanning tree is operated, and after the new spanning tree is stabilized, the spanning tree used for transfer is switched to the new spanning tree. A spanning tree system.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
各前記ノードが、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送に利用しているスパニングツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
転送に利用するスパニングツリーを決定するツリーセレクタと、
宛先ごとのフレームの転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器とを備えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
Each of the nodes is
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table that returns tags corresponding to the spanning tree used for forwarding,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that determines the spanning tree to use for forwarding,
A forwarding table for recording the transfer output destination of the frame for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A discriminator that determines a tree manager to which the frame is to be forwarded according to the tag.
リンクコストを、利用状況により計算することを特徴とする請求項51に記載のスパニングツリーシステム。The spanning tree system according to claim 51, wherein the link cost is calculated according to a use situation. 複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
ネットワーク内の各ノードがルートノードとなるスパニングツリーを生成し、宛先がルートノードとなるツリーを用いてフレームを転送する
ことを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
A spanning tree system wherein each node in a network generates a spanning tree serving as a root node, and a frame is transferred using the tree having a destination serving as a root node.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送用ツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
ネットワークに存在するノード数と同数のツリーマネージャを生成するツリーセレクタと、
宛先ごとのフレーム転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器
とを備えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table for returning tags corresponding to the transfer tree,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that generates as many tree managers as there are nodes in the network;
A forwarding table for recording the frame transfer output destination for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A discriminator that determines a tree manager to which the frame is to be forwarded according to the tag.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
スパニングツリーを生成するツリーマネージャが、
スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作処理
を実行することを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
A tree manager that creates a spanning tree
A spanning tree system that executes cost operation processing for adjusting a cost value according to the type and version of a spanning tree protocol.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
スパニングツリーを生成するツリーマネージャが、
スパニングツリープロトコルの種類およびバージョンにより、コスト値を調整するコスト操作器
を備えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
A tree manager that creates a spanning tree
A spanning tree system comprising a cost controller that adjusts a cost value according to the type and version of a spanning tree protocol.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
ネットワーク内の動作の遅いプロトコルを使用中のリンクのそれぞれについて、前期各リンクのコストが最大となるスパニングツリーを生成し、前記各リンクに障害が発生した際に、前記リンクのコストが最大となっているツリーを利用してフレーム転送を行う
ことを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
For each of the links using the slow protocol in the network, a spanning tree in which the cost of each link is maximized in the previous period is generated, and when the failure of each link occurs, the cost of the link is maximized. A spanning tree system characterized in that frame transfer is performed by using a tree that is in use.
複数のノードを接続したネットワークで動作するスパニングツリーシステムにおいて、
独立して動作する複数のスパニングツリーを生成する複数のツリーマネージャと、
転送用ツリーに対応したタグを返答するタグテーブルと、
前記タグテーブルより返答のあったタグをフレームに挿入するタグ挿入器と、
ネットワークに存在する動作の遅いプロトコルを使用中のリンク数と同数のツリーマネージャを生成するツリーセレクタと、
宛先ごとのフレーム転送出力先を記録するフォワーディングテーブルと、
前記フォワーディングテーブルで指定された転送出力先にフレームを転送するフレーム転送器と、
前記タグに従って前記フレームの転送先のツリーマネージャを決定する分別器
とを備えることを特徴とするスパニングツリーシステム。
In a spanning tree system operating on a network connecting multiple nodes,
A plurality of tree managers that generate a plurality of spanning trees that operate independently,
A tag table for returning tags corresponding to the transfer tree,
A tag inserter that inserts a tag returned from the tag table into a frame,
A tree selector that generates as many tree managers as there are links using slow protocols present in the network,
A forwarding table for recording the frame transfer output destination for each destination,
A frame transfer unit that transfers a frame to a transfer output destination specified by the forwarding table;
A discriminator that determines a tree manager to which the frame is to be forwarded according to the tag.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ネットワークの構成変更前のスパニングツリーを運用したまま、構成変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
While operating the spanning tree before the network configuration change, generate a new spanning tree after the configuration change, and after the new spanning tree is stabilized, switch the spanning tree used for transfer to the new spanning tree. Characteristic spanning tree construction method.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ネットワークのコスト変更時に、現スパニングツリーを運用したまま、リンクコスト変更後の新たなスパニングツリーを生成し、前記新たなスパニングツリーの安定後に、転送に利用するスパニングツリーを前記新たなスパニングツリーに切り替えることを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
At the time of network cost change, a new spanning tree after link cost change is generated while the current spanning tree is operated, and after the new spanning tree is stabilized, the spanning tree used for transfer is switched to the new spanning tree. A spanning tree configuration method, characterized in that:
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
新規ノードを追加する際に、新規ノードを既存スパニングツリーに参加させず、予備スパニングツリーにのみ参加させることを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method characterized in that, when a new node is added, the new node does not participate in the existing spanning tree but only participates in the spare spanning tree.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ノードを削除する際に、削除ノードを予備スパニングツリーに参加させず、既存スパニングツリーのみに参加させることを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method, wherein when deleting a node, the deleted node is made to participate only in the existing spanning tree without participating in the spare spanning tree.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ネットワーク構成が変更された時、予備系を用いて変更後のツリー作成を行うことを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method, wherein when a network configuration is changed, a tree after the change is created using a standby system.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
コスト算出に、リンクの空き帯域を利用することを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method characterized by using a free band of a link for cost calculation.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ネットワーク内の全ノードが、全ノードをメンバに持つスパニングツリーのうち、どれか1つのルートノードとなるよう、複数のスパニングツリーを作成することを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method, wherein a plurality of spanning trees are created such that all nodes in a network become one of the root nodes among spanning trees having all nodes as members.
複数のノードを接続したネットワークで動作するスパニングツリーシステムのスパニングツリー構成方法であって、
ネットワーク内に存在する全ノードをメンバに持つスパニングツリーを作成し、うち、障害復旧の遅いプロトコルを使用しているリンクごとに複数のスパニングツリーを作成することを特徴とするスパニングツリー構成方法。
A spanning tree configuration method for a spanning tree system operating on a network connecting a plurality of nodes,
A spanning tree configuration method, comprising: creating a spanning tree having all nodes existing in a network as members, and creating a plurality of spanning trees for each link using a protocol with a slow failure recovery.
JP2002379945A 2002-12-27 2002-12-27 Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node Pending JP2004214816A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002379945A JP2004214816A (en) 2002-12-27 2002-12-27 Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002379945A JP2004214816A (en) 2002-12-27 2002-12-27 Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node

Publications (1)

Publication Number Publication Date
JP2004214816A true JP2004214816A (en) 2004-07-29

Family

ID=32816304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002379945A Pending JP2004214816A (en) 2002-12-27 2002-12-27 Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node

Country Status (1)

Country Link
JP (1) JP2004214816A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007094520A1 (en) * 2006-02-16 2007-08-23 Nec Corporation Node, network system, frame transfer method, and frame transfer program
US20100226251A1 (en) * 2009-03-03 2010-09-09 Fujitsu Limited Router and Packet Routing Program
JP2012205300A (en) * 2011-03-24 2012-10-22 Nec (China) Co Ltd Addressing method, addressing apparatus, fabric manager, switch, and data-routing method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007094520A1 (en) * 2006-02-16 2007-08-23 Nec Corporation Node, network system, frame transfer method, and frame transfer program
JPWO2007094520A1 (en) * 2006-02-16 2009-07-09 日本電気株式会社 Node, network system, frame transfer method, and frame transfer program
US8094584B2 (en) 2006-02-16 2012-01-10 Nec Corporation Node, network system, frame transfer method, and frame transfer program
CN101385284B (en) * 2006-02-16 2014-07-02 日本电气株式会社 Node, network system, frame transfer method, and frame transfer program
US20100226251A1 (en) * 2009-03-03 2010-09-09 Fujitsu Limited Router and Packet Routing Program
JP2010206467A (en) * 2009-03-03 2010-09-16 Fujitsu Ltd Router, and packet routing program
US8559308B2 (en) 2009-03-03 2013-10-15 Fujitsu Limited Data transmission apparatus for distributing packets
JP2012205300A (en) * 2011-03-24 2012-10-22 Nec (China) Co Ltd Addressing method, addressing apparatus, fabric manager, switch, and data-routing method

Similar Documents

Publication Publication Date Title
JP3729265B2 (en) Network system, spanning tree configuration method, spanning tree configuration node, and spanning tree configuration program
EP2016715B1 (en) A technique for efficiently managing bandwidth registration for multiple spanning tree options
US7558194B2 (en) Virtual private network fault tolerance
EP1986370B1 (en) Control system, data message transmission method and network device in the ethernet
CN102195865B (en) Communicating network path and status information in multi-homed networks
US20050010685A1 (en) Method and a system for enabling data to be stored in a computer network; a method and a system for storing data in a computer network
US20150003232A1 (en) Scaling OAM for Point-to-Point Trunking
EP2985960A1 (en) Network topology discovery method and system
US20150195178A1 (en) Method for resource optimized network virtualization overlay transport in virtualized data center environments
WO2007077998A1 (en) Communication system, communication method, node, and node program
JP2010517351A (en) Method and apparatus for network tree management
US12040966B2 (en) Path switching method, device, and system
US20130028094A1 (en) Fiber chanel device
WO2022194023A1 (en) Packet processing method, network device, and controller
US9787607B2 (en) End-to-end provisioning of Ethernet Virtual Circuits
EP3975511A1 (en) Neighbor discovery for border gateway protocol in a multi-access network
JP2004214816A (en) Spanning tree system, method and program for configuring spanning tree, and spanning tree configuration node
JP4137947B2 (en) Mesh network bridge
US20110128892A1 (en) Avoiding high-speed network partitions in favor of low-speed links
JP4123437B2 (en) Network system, spanning tree configuration method, spanning tree configuration node, and spanning tree configuration program
JP4089698B2 (en) Network system, tree reconfiguration processing method, node, tree reconfiguration processing program
CN114531393A (en) Method, device, equipment, medium and program product for issuing segmented routing strategy
KR101260646B1 (en) Method for transferring data and network system using the same
Nash Interconnecting data centers using VPLS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060815