JPWO2007094520A1 - ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム - Google Patents
ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム Download PDFInfo
- Publication number
- JPWO2007094520A1 JPWO2007094520A1 JP2008500596A JP2008500596A JPWO2007094520A1 JP WO2007094520 A1 JPWO2007094520 A1 JP WO2007094520A1 JP 2008500596 A JP2008500596 A JP 2008500596A JP 2008500596 A JP2008500596 A JP 2008500596A JP WO2007094520 A1 JPWO2007094520 A1 JP WO2007094520A1
- Authority
- JP
- Japan
- Prior art keywords
- port
- node
- frame
- output port
- output
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
スパニングツリープロトコルを拡張した最適経路転送技術におけるネットワーク全体でのスループット低下を解決するため、ネットワークのノードのフレームスイッチング部730は、スパニングツリーのポート状態に変更があると、テーブル制御部890に対してスパニングツリーの識別子と各ポートの中で所定のポートのポート番号を通知するSTP制御部880と、フォワーディングテーブル格納部840に対し、受信した所定のポートのポート番号をノードID=スパニングツリー識別子のエントリの出力ポートとして設定するテーブル制御部890と、フレーム解析部800からの受信フレーム情報の取得によって取得した出力ポートの中から出力先を決定するテーブルサーチ部830とを有する。
Description
本発明は、通信網におけるフレーム転送に関し、特に、フレームの最短経路転送を行なう通信網のノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラムに関する。
近年、安価な企業向けデータサービスとして、従来LANで広く使用されてきたイーサネット(登録商標)技術を広域網に展開した広域イーサネット(登録商標)VPNサービス(広域イーサ)が注目されている。広域イーサは、プラグアンドプレイの使い易さ、低コスト性という従来のイーサネット(登録商標)技術の利点を継承している。
図49は、広域イーサのネットワークの一例である。広域イーサのネットワークは、ユーザ端末T1、T2、T3、T4を収容するエッジスイッチE1、E2、E3、E4とユーザ端末を収容せずに中継動作のみを行なうコアスイッチC1、C2とから構成される。広域イーサのネットワーク内のフレーム転送方式は、通常のイーサネット(登録商標)フレーム転送方式を利用する場合の他、例えば、後述する文献1では、エッジスイッチE1〜E4にノードIDを割り当てて、広域イーサネット(登録商標)ワーク内の各ノードではノードIDに基づいてフレーム転送する方法が提案されている。文献1の方法では、ユーザ端末T1〜T4から受信したフレームに対して、Ingressエッジスイッチにおいて、宛先ユーザ端末T1〜T4が接続するEgressエッジスイッチのノードIDをVLANタグフィールドに格納し(以降、拡張タグを記す)、広域イーサネット(登録商標)ワーク内の各ノードでは拡張タグに基づいてフレーム転送し、Egressエッジスイッチではフレームから拡張タグを削除しユーザ端末T1〜T4に転送する。図49のネットワーク例では、エッジスイッチE1、E2、E3、E4に対して、それぞれノードIDとしてg1、g2、g3、g4が設定されている。
図50、図51を用いて、フレームフォーマットについて説明する。図50は、イーサネット(登録商標)フレーム200のフォーマットである。イーサネット(登録商標)フレーム200は、宛先MACアドレス210、送信元MACアドレス220、VLANタグ230、Type240、ペイロード250、FCS260から構成される。これに対して、図51は、拡張タグが付加された拡張タグフレームのフォーマットである。拡張タグフレーム300は、イーサネット(登録商標)フレーム200に対して、送信元MACアドレス220とVLANタグ230の間に拡張タグ310が挿入されている。なお、図50、図51に関しては、VLANタグ230が付加されない場合もある。本明細書では、VLANタグ230が付加されていることを前提として説明する。
イーサネット(登録商標)技術では、何も処置をしないと、ネットワーク内にループ構成がある場合にフレームがループ上を回り続けて、特にブロードキャストフレームが回り続けた場合にネットワークがダウンする可能性がある。これを回避するために、ネットワーク内にループ構成がある場合でも、論理的にループを排除して、ループフリーネットワークを構成するためのスパニングツリープロトコル(Spanning Tree Protocol。以降、STPと記す。本技術はIEEE802.1Dにて規定されている。)やその高速動作版の高速スパニングツリープロトコル(Rapid Spanning Tree Protocol。以降、RSTPと記す。本技術はIEEE802.1wにて規定されている。)を用いる場合が多い。STPやRSTPを用いる場合、ループ構成上のいずれかのポートがブロッキング状態(主信号フレームの送受信を行なわない状態。正確に言うと、転送はされているがブロッキング状態のポートでフレームを廃棄する。)となることにより、ループフリー構成となる。図49のネットワークを例にすると、例えばエッジスイッチE3/コアスイッチC1/コアスイッチC2/エッジスイッチE4の間でループ構成があるが、コアスイッチC2のポートp2がブロッキング状態となることでループフリーとなる。しかしながら、このようなSTP、RSTPを用いた場合、ブロッキングポートと接続されたリンクではフレーム転送できないため、あるスイッチ間でフレーム転送する場合に最短経路(最小ホップ数経路)で転送できない。図49の例では、ユーザ端末T2からユーザ端末T1にフレーム転送する場合、エッジスイッチE2のポートp1がブロッキング状態となっているため、エッジスイッチE2→エッジスイッチE1の経路では転送できず、エッジスイッチE2→コアスイッチC2→エッジスイッチE4→エッジスイッチE3→コアスイッチC1→エッジスイッチE1の経路で転送されて、ユーザ端末T1に到着する。すなわち、物理トポロジー的には1ホップの距離であっても、論理トポロジー的には5ホップを経由しなければならず、最短経路転送できない場合がある。
この問題を解決する技術として、文献2では、VLAN毎にSTP/RSTPを複数管理可能なMultiple STP(以降、MSTPと記す)を利用し、各エッジスイッチが、自スイッチがルートノードとなるSTP/RSTPを作成し、各々のSTP/RSTPのルートノードとなるエッジスイッチを宛先とするフレームの転送経路をそのSTP/RSTPとしている。STP/RSTPでアクティブとなるリンク(ブロッキングポートを含まないリンク)は、ルートノードからのリンクコストが最小となるリンクが選ばれるため、文献2の方法を用いると最短経路での転送が可能となる。図49で説明した前述のユーザ端末T2からT1へのフレーム転送に対し、文献2の方法を用いた例を図52に示している。図52では、ユーザ端末T2からT1へのフレーム転送は、エッジスイッチE1がルートノードとなるSTP/RSTPを用いて行なわれる(エッジスイッチE3、E4からE1への転送もエッジスイッチE1がルートノードとなるSTP/RSTPを用いて行なわれる)。したがって、ユーザ端末T2からのフレームは、エッジスイッチE2からエッジスイッチE1を経て、ユーザ端末T1に到着する。このように各ノード間の転送を最短経路で行なうことができる。
このような転送を行なうために、文献2では、以下のような処理を行なっている。エッジスイッチ間の転送は、各エッジスイッチに設定されたノードIDをVLANタグに格納し、各エッジスイッチ、コアスイッチではそのIDに基づき、フレーム転送する。図52では、前述のようにエッジスイッチE1、E2、E3、E4にそれぞれノードID=g1、g2、g3、g4が割り当てられており、エッジスイッチE2からエッジスイッチE1への転送では、エッジスイッチE2において、フレームにVLANタグ=g1がスタックされ(本VLANタグを拡張タグと記す)、エッジスイッチE2では拡張タグ=g1に基づきエッジスイッチE1方向にフレーム転送される。各スイッチのフォワーディングテーブルでは、拡張タグ値に対する出力ポートが管理され、出力ポートとしては、拡張タグ値と等しいノードIDを持つエッジスイッチがルートノードとなるSTP/RSTPのルートポート(その時のポート状態は転送可能状態を示すフォワーディング状態)のポート番号が設定される。図52では、各スイッチは、拡張タグg1に対する出力ポートはSTP−ID=g1のSTP/RSTPにおけるフォワーディング状態のルートポートのポート番号を設定する。同様に、宛先がユーザ端末T2のフレームを転送する場合はエッジスイッチE2がルートノードとなるSTP/RSTPが転送経路となり、宛先がユーザ端末T3のフレームを転送する場合はエッジスイッチE3がルートノードとなるSTP/RSTPツリーが転送経路となり、宛先がユーザ端末T4のフレームを転送する場合はエッジスイッチE4がルートノードとなるSTP/RSTPが転送経路となる。それぞれの転送経路の形状を図53の(A)〜(D)に示している。このように、フレームの宛先ユーザ端末に応じて、そのユーザ端末が接続しているエッジスイッチがルートノードとなるSTP/RSTPツリーを転送経路とすることで、いずれのノードに対するフレームの転送経路も最適経路となる。
文献1 飛鷹他、“次世代イーサネット(登録商標)アーキテクチャGOE (Global Optical Ethernet(登録商標))の提案 −(1)基本コンセプト・フレームワーク・要素技術”、2002年電子情報通信学会ソサイエティ大会、B−7−11
文献2 厩橋他、“次世代イーサネット(登録商標)アーキテクチャGOE (Global Optical Ethernet(登録商標)の提案 −(2)高効率ルーティングと高速プロテクション”、2002年電子情報通信学会ソサイエティ大会、B−7−12
しかしながら、ある転送経路に着目した場合、以下のような問題点がある。
例えば、図53の(A)に示したエッジスイッチE1が宛先ノードとなる経路の場合(エッジスイッチE1に接続するユーザ端末が宛先となるフレームの転送経路の場合)、選択されたリンクはエッジスイッチE1に対する最短経路を構成するが、STP/RSTPの元々の特性により、ブロッキング状態のポートの設定により転送に使用できないリングが存在する点である。
図53の(A)の例では、コアスイッチC1/コアスイッチC2間のリンクとエッジスイッチE3/エッジスイッチE4間のリンクである。図53の(B)〜(D)でも同様にフレーム転送に使用できないリングが存在する。特に図53の例では、コアスイッチC1/コアスイッチC2間のリンクは、いずれの転送経路においてもフレーム転送に使用されていないことになる(ただし、このようにまったく使用されないリンクが存在するかどうかはトポロジーやリンクコスト、ポート番号などのパラメータに依存する)。
すなわち、文献2の経路設定を行なうことにより、最短経路転送は行なえるものの、リンク使用率という点では改善の余地がある。
本発明の目的は、最短経路転送を行いつつ、ネットワーク全体でのスループットを向上させることのできるノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラムを提案することにある。
図49は、広域イーサのネットワークの一例である。広域イーサのネットワークは、ユーザ端末T1、T2、T3、T4を収容するエッジスイッチE1、E2、E3、E4とユーザ端末を収容せずに中継動作のみを行なうコアスイッチC1、C2とから構成される。広域イーサのネットワーク内のフレーム転送方式は、通常のイーサネット(登録商標)フレーム転送方式を利用する場合の他、例えば、後述する文献1では、エッジスイッチE1〜E4にノードIDを割り当てて、広域イーサネット(登録商標)ワーク内の各ノードではノードIDに基づいてフレーム転送する方法が提案されている。文献1の方法では、ユーザ端末T1〜T4から受信したフレームに対して、Ingressエッジスイッチにおいて、宛先ユーザ端末T1〜T4が接続するEgressエッジスイッチのノードIDをVLANタグフィールドに格納し(以降、拡張タグを記す)、広域イーサネット(登録商標)ワーク内の各ノードでは拡張タグに基づいてフレーム転送し、Egressエッジスイッチではフレームから拡張タグを削除しユーザ端末T1〜T4に転送する。図49のネットワーク例では、エッジスイッチE1、E2、E3、E4に対して、それぞれノードIDとしてg1、g2、g3、g4が設定されている。
図50、図51を用いて、フレームフォーマットについて説明する。図50は、イーサネット(登録商標)フレーム200のフォーマットである。イーサネット(登録商標)フレーム200は、宛先MACアドレス210、送信元MACアドレス220、VLANタグ230、Type240、ペイロード250、FCS260から構成される。これに対して、図51は、拡張タグが付加された拡張タグフレームのフォーマットである。拡張タグフレーム300は、イーサネット(登録商標)フレーム200に対して、送信元MACアドレス220とVLANタグ230の間に拡張タグ310が挿入されている。なお、図50、図51に関しては、VLANタグ230が付加されない場合もある。本明細書では、VLANタグ230が付加されていることを前提として説明する。
イーサネット(登録商標)技術では、何も処置をしないと、ネットワーク内にループ構成がある場合にフレームがループ上を回り続けて、特にブロードキャストフレームが回り続けた場合にネットワークがダウンする可能性がある。これを回避するために、ネットワーク内にループ構成がある場合でも、論理的にループを排除して、ループフリーネットワークを構成するためのスパニングツリープロトコル(Spanning Tree Protocol。以降、STPと記す。本技術はIEEE802.1Dにて規定されている。)やその高速動作版の高速スパニングツリープロトコル(Rapid Spanning Tree Protocol。以降、RSTPと記す。本技術はIEEE802.1wにて規定されている。)を用いる場合が多い。STPやRSTPを用いる場合、ループ構成上のいずれかのポートがブロッキング状態(主信号フレームの送受信を行なわない状態。正確に言うと、転送はされているがブロッキング状態のポートでフレームを廃棄する。)となることにより、ループフリー構成となる。図49のネットワークを例にすると、例えばエッジスイッチE3/コアスイッチC1/コアスイッチC2/エッジスイッチE4の間でループ構成があるが、コアスイッチC2のポートp2がブロッキング状態となることでループフリーとなる。しかしながら、このようなSTP、RSTPを用いた場合、ブロッキングポートと接続されたリンクではフレーム転送できないため、あるスイッチ間でフレーム転送する場合に最短経路(最小ホップ数経路)で転送できない。図49の例では、ユーザ端末T2からユーザ端末T1にフレーム転送する場合、エッジスイッチE2のポートp1がブロッキング状態となっているため、エッジスイッチE2→エッジスイッチE1の経路では転送できず、エッジスイッチE2→コアスイッチC2→エッジスイッチE4→エッジスイッチE3→コアスイッチC1→エッジスイッチE1の経路で転送されて、ユーザ端末T1に到着する。すなわち、物理トポロジー的には1ホップの距離であっても、論理トポロジー的には5ホップを経由しなければならず、最短経路転送できない場合がある。
この問題を解決する技術として、文献2では、VLAN毎にSTP/RSTPを複数管理可能なMultiple STP(以降、MSTPと記す)を利用し、各エッジスイッチが、自スイッチがルートノードとなるSTP/RSTPを作成し、各々のSTP/RSTPのルートノードとなるエッジスイッチを宛先とするフレームの転送経路をそのSTP/RSTPとしている。STP/RSTPでアクティブとなるリンク(ブロッキングポートを含まないリンク)は、ルートノードからのリンクコストが最小となるリンクが選ばれるため、文献2の方法を用いると最短経路での転送が可能となる。図49で説明した前述のユーザ端末T2からT1へのフレーム転送に対し、文献2の方法を用いた例を図52に示している。図52では、ユーザ端末T2からT1へのフレーム転送は、エッジスイッチE1がルートノードとなるSTP/RSTPを用いて行なわれる(エッジスイッチE3、E4からE1への転送もエッジスイッチE1がルートノードとなるSTP/RSTPを用いて行なわれる)。したがって、ユーザ端末T2からのフレームは、エッジスイッチE2からエッジスイッチE1を経て、ユーザ端末T1に到着する。このように各ノード間の転送を最短経路で行なうことができる。
このような転送を行なうために、文献2では、以下のような処理を行なっている。エッジスイッチ間の転送は、各エッジスイッチに設定されたノードIDをVLANタグに格納し、各エッジスイッチ、コアスイッチではそのIDに基づき、フレーム転送する。図52では、前述のようにエッジスイッチE1、E2、E3、E4にそれぞれノードID=g1、g2、g3、g4が割り当てられており、エッジスイッチE2からエッジスイッチE1への転送では、エッジスイッチE2において、フレームにVLANタグ=g1がスタックされ(本VLANタグを拡張タグと記す)、エッジスイッチE2では拡張タグ=g1に基づきエッジスイッチE1方向にフレーム転送される。各スイッチのフォワーディングテーブルでは、拡張タグ値に対する出力ポートが管理され、出力ポートとしては、拡張タグ値と等しいノードIDを持つエッジスイッチがルートノードとなるSTP/RSTPのルートポート(その時のポート状態は転送可能状態を示すフォワーディング状態)のポート番号が設定される。図52では、各スイッチは、拡張タグg1に対する出力ポートはSTP−ID=g1のSTP/RSTPにおけるフォワーディング状態のルートポートのポート番号を設定する。同様に、宛先がユーザ端末T2のフレームを転送する場合はエッジスイッチE2がルートノードとなるSTP/RSTPが転送経路となり、宛先がユーザ端末T3のフレームを転送する場合はエッジスイッチE3がルートノードとなるSTP/RSTPツリーが転送経路となり、宛先がユーザ端末T4のフレームを転送する場合はエッジスイッチE4がルートノードとなるSTP/RSTPが転送経路となる。それぞれの転送経路の形状を図53の(A)〜(D)に示している。このように、フレームの宛先ユーザ端末に応じて、そのユーザ端末が接続しているエッジスイッチがルートノードとなるSTP/RSTPツリーを転送経路とすることで、いずれのノードに対するフレームの転送経路も最適経路となる。
文献1 飛鷹他、“次世代イーサネット(登録商標)アーキテクチャGOE (Global Optical Ethernet(登録商標))の提案 −(1)基本コンセプト・フレームワーク・要素技術”、2002年電子情報通信学会ソサイエティ大会、B−7−11
文献2 厩橋他、“次世代イーサネット(登録商標)アーキテクチャGOE (Global Optical Ethernet(登録商標)の提案 −(2)高効率ルーティングと高速プロテクション”、2002年電子情報通信学会ソサイエティ大会、B−7−12
しかしながら、ある転送経路に着目した場合、以下のような問題点がある。
例えば、図53の(A)に示したエッジスイッチE1が宛先ノードとなる経路の場合(エッジスイッチE1に接続するユーザ端末が宛先となるフレームの転送経路の場合)、選択されたリンクはエッジスイッチE1に対する最短経路を構成するが、STP/RSTPの元々の特性により、ブロッキング状態のポートの設定により転送に使用できないリングが存在する点である。
図53の(A)の例では、コアスイッチC1/コアスイッチC2間のリンクとエッジスイッチE3/エッジスイッチE4間のリンクである。図53の(B)〜(D)でも同様にフレーム転送に使用できないリングが存在する。特に図53の例では、コアスイッチC1/コアスイッチC2間のリンクは、いずれの転送経路においてもフレーム転送に使用されていないことになる(ただし、このようにまったく使用されないリンクが存在するかどうかはトポロジーやリンクコスト、ポート番号などのパラメータに依存する)。
すなわち、文献2の経路設定を行なうことにより、最短経路転送は行なえるものの、リンク使用率という点では改善の余地がある。
本発明の目的は、最短経路転送を行いつつ、ネットワーク全体でのスループットを向上させることのできるノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラムを提案することにある。
上記の目的を達成するために本発明は、送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのノードにおいて、宛先端末に接続するノードがルートノードとなるスパニングツリーを、ネットワーク内の各ノードから前記ノードへの前記データフレームの転送経路として用い、前記スパニングツリーのポート情報を基に前記ノードに対する出力ポートを決定し、決定した前記出力ポートを経由して前記ノードに対してデータフレームを転送する構成としている。
また、好ましい他の態様では、宛先端末に接続する前記ノードに対する出力ポートを決定する際に、前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとする。
(作用)
本発明では、ネットワーク上の各ノードが、宛先端末に接続するノードがルートノードとなるスパニングツリーのポート情報に基づいて、宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルに、宛先端末に接続するノードがルートノードとなるスパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを宛先端末に接続するノードに対する出力ポートとして設定する。
そして、送信元端末から送信されるデータフレームを宛先端末に転送する場合に、宛先端末に接続するノードに対する出力ポートを設定したフォワーディングテーブルを参照して、ノードに対する出力ポートを取得し、取得した出力ポートが複数存在しなければ、当該出力ポートを出力先として決定しデータフレームを転送する。
取得した出力ポートが複数存在する場合には、所定のアルゴリズム、例えばラウンドロビンまたは重み付けラウンドロビン等の方式に基づいて、複数の出力ポートから宛先端末に接続するノードに対する出力ポートを決定し、データフレームを転送する。
本発明によれば、宛先端末に接続するノードがルートノードとなるスパニングツリーをネットワーク内のフレームの転送経路として用いるため、フレームの最短経路転送を行うことができ、かつ、スパニングツリーのポート情報を基に出力ポートを決定してフレームを転送するため、従来技術では未使用であったリンク(経路)もフレーム転送に利用できることから、ネットワーク全体のスループットを向上させることができる。
また、好ましい他の態様では、宛先端末に接続する前記ノードに対する出力ポートを決定する際に、前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとする。
(作用)
本発明では、ネットワーク上の各ノードが、宛先端末に接続するノードがルートノードとなるスパニングツリーのポート情報に基づいて、宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルに、宛先端末に接続するノードがルートノードとなるスパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを宛先端末に接続するノードに対する出力ポートとして設定する。
そして、送信元端末から送信されるデータフレームを宛先端末に転送する場合に、宛先端末に接続するノードに対する出力ポートを設定したフォワーディングテーブルを参照して、ノードに対する出力ポートを取得し、取得した出力ポートが複数存在しなければ、当該出力ポートを出力先として決定しデータフレームを転送する。
取得した出力ポートが複数存在する場合には、所定のアルゴリズム、例えばラウンドロビンまたは重み付けラウンドロビン等の方式に基づいて、複数の出力ポートから宛先端末に接続するノードに対する出力ポートを決定し、データフレームを転送する。
本発明によれば、宛先端末に接続するノードがルートノードとなるスパニングツリーをネットワーク内のフレームの転送経路として用いるため、フレームの最短経路転送を行うことができ、かつ、スパニングツリーのポート情報を基に出力ポートを決定してフレームを転送するため、従来技術では未使用であったリンク(経路)もフレーム転送に利用できることから、ネットワーク全体のスループットを向上させることができる。
図1は、本発明の広域イーサのネットワークモデル図である。
図2は、本発明のスイッチの構成図である。
図3は、本発明の第1の実施の形態におけるフレームスイッチング部の構成図である。
図4は、本発明のフォワーディングテーブル格納部の構成図である。
図5は、本発明のTagテーブルである。
図6は、本発明のMAC/Tagテーブルである。
図7は、本発明のMACテーブルである。
図8は、本発明のSTPポート状態管理テーブルである。
図9は、本発明のテーブル制御部890におけるTagテーブル900の設定フローである。
図10は、本発明のテーブルサーチ部830における受信フレームの出力先決定フローである。
図11は、本発明の各スイッチのSTPポート状態管理テーブルである。
図12は、本発明の第1の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図13は、本発明の第1の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図14は、本発明の第1の実施の形態におけるエッジスイッチE6のフォワーディングテーブルである。
図15は、本発明の第1の実施の形態におけるエッジスイッチE5のフォワーディングテーブルである。
図16は、本発明の第1の実施の形態におけるエッジスイッチE7のフォワーディングテーブルである。
図17は、本発明の第1の実施の形態におけるコアスイッチC5のフォワーディングテーブルである。
図18は、イーサネット(登録商標)フレームの一例である。
図19は、拡張タグフレームの一例である。
図20は、本発明の広域イーサのネットワークモデル図であり、障害発生時を示している。
図21は、本発明の第1の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図22は、本発明の第1の実施の形態におけるエッジスイッチE6のフォワーディングテーブルの他の例である。
図23は、本発明の第2の実施の形態におけるフレームスイッチング部の構成図である。
図24は、本発明のフォワーディングテーブル格納部の他の構成図である。
図25は、本発明のTagテーブルの他の例である。
図26は、本発明のテーブル制御部2690におけるTagテーブル2700の設定フローである。
図27は、本発明のテーブルサーチ部2630における受信フレームの出力先決定フローである。
図28は、本発明の第2の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図29は、本発明の第2の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図30は、本発明の第2の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図31は、本発明のTagテーブルの他の例である。
図32は、本発明の第3の実施の形態におけるフレームスイッチング部の構成図である。
図33は、本発明のテーブル制御部2890におけるTagテーブル2800の設定フローである。
図34は、本発明のテーブルサーチ部3230における受信フレームの出力先決定フローである。
図35は、本発明の広域イーサの他のネットワークモデル図である。
図36は、本発明の第3の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図37は、本発明の第3の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図38は、本発明の第3の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図39は、イーサネット(登録商標)フレームの他の一例である。
図40は、VLANタグの構成図である。
図41は、拡張タグフレームの他の一例である。
図42は、本発明の第4の実施の形態におけるフレームスイッチング部の構成図である。
図43は、本発明のフォワーディングテーブル格納部の他の構成図である。
図44は、本発明のTagテーブル他の例である。
図45は、本発明のテーブル制御部3790におけるTagテーブル3800の設定フローである。
図46は、本発明のテーブルサーチ部3730における受信フレームの出力先決定フローである。
図47は、本発明の第4の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図48は、本発明の第4の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図49は、従来の広域イーサのネットワークモデル図である。
図50は、イーサネット(登録商標)フレームのフォーマットである。
図51は、拡張タグフレームのフォーマットである。
図52は、従来の広域イーサの他のネットワークモデル図である。
図53は、従来技術を用いた時のフレーム転送経路である。
200、2100、3400:イーサネット(登録商標)フレーム、210:宛先MACアドレス、220:送信元MACアドレス、230、3500:VLANタグ、240:Type、250:ペイロード、260:FCS、300、2200、3600:拡張タグフレーム、310:拡張タグ、70:スイッチ、701、702、703、704:IF、711、712、713、714:PHY、721、722、723、724:MAC、730:フレームスイッチング部、740:メモリ、750:CPU、760:コンソールI/O、770:障害管理部、800:フレーム解析部、810:フレーム書換部、820:フレーム転送部、830、2630、2830、3230、3730:テーブルサーチ部、840、2640、2840、3740:フォワーディングテーブル格納部、850:MACラーニング部、870:制御フレーム振分け部、880:STP制御部、890、2690、2890、3790:テーブル制御部、895:設定制御部、900、1501、1601、1701、1801、1901、2001、2401、2700、2800、2901、3001、3101、3800、4001、4101:Tagテーブル、910、1502、1702、1802、1902:MAC/Tagテーブル、920、1503、1703、1803、1903:MACテーブル、930:テーブル書込み制御部、940:テーブル読込制御部、1300、1401、1402、1403、1404、1405、1406、2400、2500:STPポート状態管理テーブル、C1、C2、C5、C6:コアスイッチ、E1、E2、E3、E4、E5、E6、E7、E8:エッジスイッチ、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10:端末、t1、t2、t3、t4、t5、t6、t7、t8、t9、t10:MACアドレス、g1、g2、g3、g4、g5、g6、g7、g8:ノードID、p1、p2、p3:ポート番号
図2は、本発明のスイッチの構成図である。
図3は、本発明の第1の実施の形態におけるフレームスイッチング部の構成図である。
図4は、本発明のフォワーディングテーブル格納部の構成図である。
図5は、本発明のTagテーブルである。
図6は、本発明のMAC/Tagテーブルである。
図7は、本発明のMACテーブルである。
図8は、本発明のSTPポート状態管理テーブルである。
図9は、本発明のテーブル制御部890におけるTagテーブル900の設定フローである。
図10は、本発明のテーブルサーチ部830における受信フレームの出力先決定フローである。
図11は、本発明の各スイッチのSTPポート状態管理テーブルである。
図12は、本発明の第1の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図13は、本発明の第1の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図14は、本発明の第1の実施の形態におけるエッジスイッチE6のフォワーディングテーブルである。
図15は、本発明の第1の実施の形態におけるエッジスイッチE5のフォワーディングテーブルである。
図16は、本発明の第1の実施の形態におけるエッジスイッチE7のフォワーディングテーブルである。
図17は、本発明の第1の実施の形態におけるコアスイッチC5のフォワーディングテーブルである。
図18は、イーサネット(登録商標)フレームの一例である。
図19は、拡張タグフレームの一例である。
図20は、本発明の広域イーサのネットワークモデル図であり、障害発生時を示している。
図21は、本発明の第1の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図22は、本発明の第1の実施の形態におけるエッジスイッチE6のフォワーディングテーブルの他の例である。
図23は、本発明の第2の実施の形態におけるフレームスイッチング部の構成図である。
図24は、本発明のフォワーディングテーブル格納部の他の構成図である。
図25は、本発明のTagテーブルの他の例である。
図26は、本発明のテーブル制御部2690におけるTagテーブル2700の設定フローである。
図27は、本発明のテーブルサーチ部2630における受信フレームの出力先決定フローである。
図28は、本発明の第2の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図29は、本発明の第2の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図30は、本発明の第2の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図31は、本発明のTagテーブルの他の例である。
図32は、本発明の第3の実施の形態におけるフレームスイッチング部の構成図である。
図33は、本発明のテーブル制御部2890におけるTagテーブル2800の設定フローである。
図34は、本発明のテーブルサーチ部3230における受信フレームの出力先決定フローである。
図35は、本発明の広域イーサの他のネットワークモデル図である。
図36は、本発明の第3の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図37は、本発明の第3の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図38は、本発明の第3の実施の形態におけるコアスイッチC6のフォワーディングテーブルの他の例である。
図39は、イーサネット(登録商標)フレームの他の一例である。
図40は、VLANタグの構成図である。
図41は、拡張タグフレームの他の一例である。
図42は、本発明の第4の実施の形態におけるフレームスイッチング部の構成図である。
図43は、本発明のフォワーディングテーブル格納部の他の構成図である。
図44は、本発明のTagテーブル他の例である。
図45は、本発明のテーブル制御部3790におけるTagテーブル3800の設定フローである。
図46は、本発明のテーブルサーチ部3730における受信フレームの出力先決定フローである。
図47は、本発明の第4の実施の形態におけるエッジスイッチE8のフォワーディングテーブルである。
図48は、本発明の第4の実施の形態におけるコアスイッチC6のフォワーディングテーブルである。
図49は、従来の広域イーサのネットワークモデル図である。
図50は、イーサネット(登録商標)フレームのフォーマットである。
図51は、拡張タグフレームのフォーマットである。
図52は、従来の広域イーサの他のネットワークモデル図である。
図53は、従来技術を用いた時のフレーム転送経路である。
200、2100、3400:イーサネット(登録商標)フレーム、210:宛先MACアドレス、220:送信元MACアドレス、230、3500:VLANタグ、240:Type、250:ペイロード、260:FCS、300、2200、3600:拡張タグフレーム、310:拡張タグ、70:スイッチ、701、702、703、704:IF、711、712、713、714:PHY、721、722、723、724:MAC、730:フレームスイッチング部、740:メモリ、750:CPU、760:コンソールI/O、770:障害管理部、800:フレーム解析部、810:フレーム書換部、820:フレーム転送部、830、2630、2830、3230、3730:テーブルサーチ部、840、2640、2840、3740:フォワーディングテーブル格納部、850:MACラーニング部、870:制御フレーム振分け部、880:STP制御部、890、2690、2890、3790:テーブル制御部、895:設定制御部、900、1501、1601、1701、1801、1901、2001、2401、2700、2800、2901、3001、3101、3800、4001、4101:Tagテーブル、910、1502、1702、1802、1902:MAC/Tagテーブル、920、1503、1703、1803、1903:MACテーブル、930:テーブル書込み制御部、940:テーブル読込制御部、1300、1401、1402、1403、1404、1405、1406、2400、2500:STPポート状態管理テーブル、C1、C2、C5、C6:コアスイッチ、E1、E2、E3、E4、E5、E6、E7、E8:エッジスイッチ、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10:端末、t1、t2、t3、t4、t5、t6、t7、t8、t9、t10:MACアドレス、g1、g2、g3、g4、g5、g6、g7、g8:ノードID、p1、p2、p3:ポート番号
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
(第1の実施の形態)
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明を適用する物理ネットワーク構成例を示している。
図1のエッジスイッチE5、E6、E7、E8、コアスイッチC5、C6は、いずれも従来の機能に加えて、本発明による機能を備えている。各スイッチ間は以下のような接続形態となっている。
(1)エッジスイッチE5のポートp3とエッジスイッチE6のポートp1
(2)エッジスイッチE5のポートp2とコアスイッチC5のポートp1
(3)コアスイッチC5のポートp2とエッジスイッチE7のポートp1
(4)エッジスイッチE7のポートp3とエッジスイッチE8のポートp2
(5)エッジスイッチE8のポートp1とコアスイッチC6のポートp3
(6)コアスイッチC6のポートp1とエッジスイッチE6のポートp2
(7)コアスイッチC5のポートp3とコアスイッチC6のポートp2
また、各エッジスイッチE5〜E8は以下のようにユーザ端末T5〜T8を接続している。
(1)エッジスイッチE5のポートp1とユーザ端末T5
(2)エッジスイッチE6のポートp3とユーザ端末T6
(3)エッジスイッチE7のポートp2とユーザ端末T7
(4)エッジスイッチE8のポートp3とユーザ端末T8
このようなネットワークにおけるフレーム転送として、典型的な例として、ユーザ端末T5〜T8から送信されたイーサネット(登録商標)フレームがエッジスイッチE5〜E8において拡張タグが付加され拡張タグフレームに変換され、コアスイッチC5、C6では拡張タグに基づく転送が行なわれ、宛先ユーザ端末側のエッジスイッチE5〜E8において付加された拡張タグが削除され、宛先ユーザ端末T5〜T8に転送される場合を前提として説明を行う。
最初に、エッジスイッチE5〜E8、コアスイッチC5、C6の構成について、図2を用いて説明する。
図2のスイッチ700は、エッジスイッチE5〜E8、コアスイッチC5、C6に共通の構成となっている。
スイッチ700は、PHY711、712、713、714と、MAC721、722、723、724と、フレームスイッチング部730と、メモリ740と、CPU750と、コンソールI/O760と、障害管理部770とから構成される。
IF701、702、703、704にはそれぞれPHY711、712、713、714が接続され、PHY711、712、713、714にはMAC721、722、723、724が接続され、MAC721、722、723、724にはフレームスイッチング部730が接続される。
IF701、702、703、704から入力されるイーサネット(登録商標)フレームは、それぞれPHY711、712、713、714とMAC721、722、723、724を経由してフレームスイッチング部730に入力され、フレームスイッチング部730において後述する動作により適切な出力IFが決定され、それぞれMAC721、722、723、724とPHY711、712、713、714を経由して、IF701、702、703、704に出力される。
PHY711、712、713、714は、接続するIF701、702、703、704で障害を検知した場合、障害情報を障害管理部770に通知する。
障害管理部770は各IFの状態(正常/障害)を管理しており、PHY711、712、713、714から障害情報を受信すると、フレームスイッチング部730かCPU750かその両方に障害発生を通知する。
また、CPU750およびメモリ740にはフレームスイッチング部730の動作を制御するプログラムおよび必要なデータが格納され、フレームスイッチング部730に制御指示を行なう。
また、コンソールI/O760は、装置内の各部に対する設定管理に関する外部インタフェイスとなっている。
図3は、フレームスイッチング部730の詳細構成を示している。
フレームスイッチング部730は、フレーム解析部800、フレーム書換部810、フレーム転送部820、テーブルサーチ部830、フォワーディングテーブル格納部840、MACラーニング部850、制御フレーム振分け部870、STP制御部880、テーブル制御部890、設定制御部895とから構成される。
フレームスイッチング部730は、前述のように、MAC721〜724から入力されたイーサネット(登録商標)フレームの出力IFを決定し、所定のIFと接続するMAC721〜724に転送する機能を持っている。
スイッチ700がエッジスイッチE5〜E8である場合、入出力フレーム種別は、
−図50のイーサネット(登録商標)フレーム200が入力され、図51の拡張タグフレーム300が出力されるか、
−拡張タグフレーム300が入力され、イーサネット(登録商標)フレーム200が出力されるか、
−入出力フレーム共に、拡張タグフレーム300である、のいずれかとなる。
また、スイッチ700がコアスイッチC5、C6である場合、入出力フレーム種別は、
−入出力フレーム共に、拡張タグフレーム300となる。
以降では、フレームスイッチング部730の各部について説明する。
フレーム解析部800は、MAC721〜724から入力されたフレームを解析し、通常のイーサネット(登録商標)フレーム200または拡張タグフレーム300の主信号データフレームである場合は、ヘッダ情報とフレーム種別情報、入力ポート情報をテーブルサーチ部830に転送し、イーサネット(登録商標)フレーム200の場合は、MACラーニング部850にも転送する。また、フレーム全体またはペイロード部分をフレーム書換部810に転送する。また、入力フレームが制御フレームである場合は、フレーム全体を制御フレーム振分け部870に転送する。
フレーム書換部810は、フレーム解析部800から受信した主信号データフレームに対して、テーブルサーチ部830から指示があった場合に、フレームの書き換えを行なう。フレーム書き換えとしては、イーサネット(登録商標)フレーム200に対して、拡張タグをスタックして拡張タグフレーム300に書き換える。または、拡張タグフレーム300に対して、拡張タグを削除して、イーサネット(登録商標)フレーム200に書き換える。以上いずれかの書き換えを行なった後、または書き換えが不要な場合はフレーム解析部800からのフレーム受信後に、フレーム転送部820にフレームを転送する。
フレーム転送部820は、主信号データフレームに関しては、フレーム書換部810から受信する主信号データフレームをテーブルサーチ部830から受信する出力ポートに対応するMAC921〜924に転送する。また制御フレームに関しては、制御フレーム振分け部870から受信する制御フレームを同時に受信する出力ポートに対応するMAC921〜924に転送する。
テーブルサーチ部830は、フレーム解析部800から受信したヘッダ情報とフレーム種別情報、入力ポート情報を基にフォワーディングテーブル格納部840を参照して出力ポート情報とフレーム書き換え情報を取得する。
(1)フレーム種別情報が、イーサネット(登録商標)フレーム200で、入力ポートがユーザ端末側ポートである場合、フォワーディングテーブル格納部840のMAC/Tagテーブル910(図6、後述)を参照して、MAC_DAに対する拡張タグを取得すると共に、Tagテーブル900(図5、後述)を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム書換部810に対して、取得した拡張タグを通知し、拡張タグのスタックを指示する。また、フレーム転送部820に出力ポート情報を通知する。
(2)フレーム種別情報が、拡張タグフレーム300で、入力ポートがネットワーク側のポートである場合、拡張タグの値が自ノードアドレスか他ノードアドレスかにより、動作が異なる。
(2−1)他ノードアドレスの場合、フォワーディングテーブル格納部840のTagテーブル900を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム転送部820に出力ポート情報を通知するとともに、フレーム書換部810に対しフレーム書き換え無しを通知する。
(2−2)自ノードアドレスの場合、フォワーディングテーブル格納部840のMACテーブル920(図7、後述)を参照して、MAC_DAとVLANに対する出力ポートを取得する。その後、フレーム転送部820に出力ポート情報を通知するとともに、フレーム書換部810に対し拡張タグの削除を指示する。
Tagテーブル900を参照して拡張タグに対する出力ポートを取得する際、本発明では複数の出力ポートが得られる場合がある。複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、特に限定はなく、以下に示す一般的な方法を用いることが可能である。例としては、ラウンドロビンまたは重み付けラウンドロビンなどのアルゴリズムを用いることができる。重み付けラウンドロビンを用いる場合、各ポートに割り当てられる重みは、該当ポートのリンク速度などをパラメータとして設定すればよい。また、他の方法としては、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または、宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、または、これらを組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
出力ポートを決定後、フレーム転送部820に通知する。
フォワーディングテーブル格納部840は、フレームを転送するための情報を格納した各種テーブルを有する。テーブルとしては、拡張タグから出力ポートを取得するTagテーブルとMACアドレスとVLANタグから拡張タグを取得するMAC/Tagテーブルと、MACアドレスとVLANタグから出力ポートを取得するMACテーブルがある。
図4は、フォワーディングテーブル格納部840の構成例である。
フォワーディングテーブル格納部840は、Tagテーブル900と、MAC/Tagテーブル910と、MACテーブル920と、テーブル書込制御部930と、テーブル読込制御部940とから構成される。各テーブルへの新たなデータの書込みはテーブル書込制御部930を介して行なわれ、各テーブルからのデータの読み出しはテーブル読込制御部940を介して行なわれる。
Tagテーブル900とMAC/Tagテーブル910とMACテーブル920の構成は、それぞれ図5、11、12に示す通りである。テーブルの構成については、図5、図6、図7に限定されるわけではなく、例えば、図6のMAC/Tagテーブル910と図5のTagテーブルが一体化し、MAC/Tagテーブル910の拡張タグに対する出力ポートが追加されていても構わない。
以降では、図5、図6、図7の構成に従って説明する。
MACラーニング部850は、フレーム解析部800からヘッダ情報を受信すると、フォワーディングテーブル格納部840のMACテーブル920を参照して、受信したヘッダ情報のMAC_SAとVLANに対する出力ポートを検索し、エントリが存在しない場合は、MACアドレスフィールドにMAC_SAを、VLANフィールドにVLANを、出力ポートフィールドに受信ポートを格納する。ここで、設定によって、受信ポートがネットワーク側ポートである場合には、上記ラーニング機能を止めてもよい。
制御フレーム振分け部870は、フレーム解析部800から受信した制御フレームを所定の処理部に転送すると共に、処理部から受信した制御フレームおよび出力ポート情報をフレーム転送部820に転送する。本構成では、処理部はSTP制御部880のみであるため、制御フレーム(以降、Bridge Protocol Data Unit: BPDUと記す)をSTP制御部880に転送すると共に、STP制御部880から受信したBPDUおよび出力ポート情報をフレーム転送部820に転送する。
STP制御部880は、制御フレーム振分け部870から受信したBPDUに基づいてSTP/RSTPのポート情報の更新処理などを行ない、BPDUを再作成し、隣接のスイッチに転送すべく、BPDUと出力ポート情報を制御フレーム振分け部870に転送する。なお、本発明ではVLANごとにRSTPを起動するMSTPを前提としており、VLANごとにRSTPのポート情報を管理する。
本情報を管理するためのテーブルとして、図8に示すSTPポート情報管理テーブル1300を有する。
STPポート情報管理テーブル1300では、VLAN毎、すなわちツリーID毎にそのスイッチのポートに関するSTPの情報が管理されている。
STPのポート情報としては、ポートの役割とポートの状態を管理する。
ポートの役割としては、Root port、Designated port、Alternate portがある。図8では、それぞれR、D、Aと記載している。
また、ポートの状態としては、Forwarding状態、Learning状態、Discarding状態がある。図8では、それぞれf、l、dと記載しており、ポート役割/ポート状態とセットで記載している。
STP制御部880は、RSTP起動時やRSTP構成変更時など、STPポート状態管理テーブル1300のポート状態に変更があった場合、STPポート状態管理テーブル1300の内容を更新すると共に、ツリー毎に、ポート役割がRootポートでポート状態がForwarding状態であるポート(図8ではR/fと記載)、および、ポート役割がAlternateポートであるポート(ポート状態は問わないが基本的にDiscarding状態であり、図8ではA/dと記載)を抽出し、ツリーIDと該当するポートのポート番号をテーブル制御部890に通知する。
テーブル制御部890は、STP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する(フォワーディングテーブル格納部840内のTagテーブル900を更新する)機能を有する。
また、テーブル制御部890は、STP制御部880からツリーIDと対応するポート情報(ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号)を受信すると、フォワーディングテーブル格納部840内のTagテーブル900において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして受信したポート番号を記載する。
設定制御部895は、図2のコンソールI/O760経由で入力された設定情報を、CPU750を介して受信し、適切な処理部に対し設定処理を行なう。具体的にはSTP制御部880に対して、STPのパラメータ等を設定する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部890におけるTagテーブル900の設定処理のフローチャートを図9に、テーブルサーチ部830における受信フレームの出力ポート決定処理のフローチャートを図10にまとめた。
図9に示すように、テーブル制御部890は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップA2において、受信したSTPポート情報に基づき、Tagテーブル900を更新する。
また、図10に示すように、テーブルサーチ部830は、ステップB1において、フレーム解析部800から受信フレーム情報を受信すると、ステップB2において、Tagテーブル900を参照して、拡張タグに対する出力ポートを取得する。ここで、ステップB3において、取得した出力ポートが1つか複数かを判定し、複数存在している場合、ステップB4において、取得した複数ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。また、ステップB3において取得ポートが1ポートであった場合、ステップB5において、取得したポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1のネットワークにおいて、端末T8から端末T5へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。本発明のフレーム転送方法を用いると、従来技術の特徴であるユーザ端末T8からユーザ端末T5への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
図1では、端末T5が宛先端末となるため、端末T5が接続するエッジスイッチE5がルートノードとなるRSTPツリーがフレーム転送の経路となる。このツリーのSTP−IDはg5となっており、本ツリーはVLAN=g5で識別される。この場合の各スイッチにおけるSTPポート状態管理テーブル1300は、図11の(A)〜(F)に示す通りとなっており、エッジスイッチE5、E6、E7、E8、コアスイッチC5、C6に関して、それぞれ1401、1402、1403、1404、1405、1406の符号を付けている。ここでは、エッジスイッチE5がルートノードとなっているRSTPツリーのみを記載している。実際には、他ノードがルートノードとなるツリーに関する情報も有している。
図1によると、端末T8から端末T5へのフレーム転送は、従来技術に従い、エッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由する転送経路で端末T5に到着すると共に、本発明の特徴であるAlternateポートへの出力により、エッジスイッチE8からエッジスイッチE7に転送され、コアスイッチC5、エッジスイッチE5を経由する転送経路とコアスイッチC6からコアスイッチC5に転送され、エッジスイッチE5を経由する転送経路も利用して端末T5に到着する。これを行なうための各スイッチでのテーブル内容とテーブル設定手順について説明する。
エッジスイッチE8のテーブルを図12の(A)〜(D)にまとめた。
エッジスイッチE8では、STP制御部880において、STPポート状態管理テーブル1404を有している。
STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1、p2を設定する。
その結果のTagテーブル900は、図12の(B)において、Tagテーブル1501のようになる。
また、本発明では、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920については、静的に設定されていても、制御フレーム等により自動で設定されても、どちらでも構わないため、説明を簡単化するために設定された後の状態から説明することとする。
図12では、両テーブルは、MAC/Tagテーブル1502、MACテーブル1503のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図13で説明する。
コアスイッチC6では、STP制御部880において、図13の(A)に示すSTPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブルを設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1、p2を設定する。その結果のTagテーブル900は、図13の(B)において、Tagテーブル1601のようになる。コアスイッチC6では、MAC/Tagテーブル910、MACテーブル920を持たない。
続いて転送経路上でコアスイッチC6の次ホップのノードであるエッジスイッチE6のテーブルについて、図14の(A)〜(D)で説明する。
エッジスイッチE6では、STP制御部880において、図14の(A)のようなSTPポート状態管理テーブル1402を有している。STP制御部880では、前述のエッジスイッチE8と同様に、STPのポート状態が安定すると、STPポート状態管理テーブル1402を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1をテーブル制御部890に通知する。ここでは、ポート役割=Alternateポートはないため、これについては通知しない。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1を設定する。その結果のTagテーブル900は、図14の(B)において、Tagテーブル1701のようになる。また、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920は、図14の(C)、(D)のMAC/Tagテーブル1702、MACテーブル1703のように登録されている。
続いて転送経路上でエッジスイッチE6の次ホップのノードで最終段のノードであるエッジスイッチE5のテーブルについて、図15の(A)〜(D)で説明する。
エッジスイッチE5では、STP制御部880において、図15の(A)のようなSTPポート状態管理テーブル1401を有している。STP制御部880では、前述の各スイッチと同様に、STPのポート状態が安定すると、STPポート状態管理テーブル1401を参照して、条件に合致するポートを通知する。この場合、エッジスイッチE5は、本転送のEgressエッジスイッチであり、このツリーのルートノードであるため、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートは存在しないため、通知しない(すなわち、エッジスイッチE5は本転送のEgressエッジスイッチであるため、次ホップの出力ポートを設定する必要はない)。また、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920は、図15の(C)、(D)のMAC/Tagテーブル1802、MACテーブル1803のように登録されている。
前述のように、本発明では、Alternateポートへの出力も行なわれるため、エッジスイッチE8からエッジスイッチE7へ、コアスイッチC6からコアスイッチC5へもフレームが転送される。エッジスイッチE7、コアスイッチC5のテーブルはそれぞれ図16の(A)〜(D)、図17の(A)、(B)に示す通りとなる。STP状態管理テーブル1403、1405に基づくTagテーブル1901、2001の更新方法はこれまで説明したエッジスイッチE5、E6、E8、コアスイッチC6と同様であるため、詳細説明は省略する。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図3のノード構成図および図12〜図17のテーブルを用いて以降で説明する。
図21に示す端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部800において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部810に対して拡張タグのスタック処理を指示する。また、Tagテーブル1501を参照して、拡張タグg5に対する出力ポート=ポートp1、p2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部820に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部830から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図19の拡張タグフレーム2200となる。フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。ここで説明したフレーム転送処理と平行して、ラーニング処理も行なっている。
フレーム解析部800は、フレーム書換部810、テーブルサーチ部830に情報通知すると共に、MACラーニング部850に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したMACラーニング部850は、MACテーブル1502を参照して、受信したヘッダ情報のMAC_SA=t8、VLAN=Aに対する出力ポートを検索し、エントリが存在しない場合は、MACアドレスフィールドにMAC_SA=t8を、VLANフィールドにVLAN=Aを、出力ポートフィールドに受信ポートp3を格納する。なお、前述の通り、本実施の形態ではこのラーニング処理が終了後のテーブル状態をMACテーブル1503に記述している。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1601を参照して、拡張タグ=g5に対する出力ポート=ポートp1、p2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1またはp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチC6のポートp1側に接続される次ホップのエッジスイッチE6について説明する。
コアスイッチC6から拡張タグフレーム2200を受信したエッジスイッチE6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1701を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行わずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチE6の次ホップのエッジスイッチE5について説明する。
エッジスイッチE6から拡張タグフレーム2200を受信したエッジスイッチE5は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が自ノードのノードIDであるため、フレーム書換部810に対して拡張タグの削除処理を指示するとともに、MACテーブル1803を参照して、MAC_DA=t5、VLAN=Aに対する出力ポート=ポートp1を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部830から指示された拡張タグの削除処理を行なう。その結果、出力するフレームは図21のイーサネット(登録商標)フレーム2100となる。
フレーム書換部810は、イーサネット(登録商標)フレーム2100をフレーム転送部820に転送すると、フレーム転送部820はテーブルサーチ部830から受信している出力ポート=ポートp1に対してイーサネット(登録商標)フレーム2100を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチE8のポートp2側へ出力されたフレーム、コアスイッチC6のポートp2側へ出力されたフレームについて、受信スイッチの処理を説明する。
エッジスイッチE8のポートp2側に出力された拡張タグフレーム2200を受信したエッジスイッチE7は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1901を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
コアスイッチC6のポートp2側に出力された拡張タグフレーム2200を受信したコアスイッチC5について、続いて説明する。
コアスイッチC5は、コアスイッチC6と共にエッジスイッチE7からの拡張タグフレーム2200も受信している。
コアスイッチC5は、コアスイッチC6、エッジスイッチE7から拡張タグフレーム2200を受信すると、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル2001を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチC5の次ホップのエッジスイッチE5は、前述の処理と同様の処理を行い、拡張タグフレーム2200をイーサネット(登録商標)フレーム2100に変換すると共に、イーサネット(登録商標)フレーム2100をポートp1に出力することにより、宛先であるユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。
すなわち、本発明では、Alternateポートにもフレームを転送する。従来のRSTPでは、Alternateポートはループを阻止するために、ブロッキング状態となるポートであり、Alternateポートをフレーム転送可能にすると、形成されたループ上をフレームが巡回してしまう可能性がある。
これに対して、本発明では、Alternateポートをフレーム転送可能にしたとしても、転送したフレームを受信した対向ノードでは、受信フレームをRootポートに転送する。すなわち、フレームはそのツリーのRootノードに向けて、片方向転送される。そのため、論理経路的にループが形成されたとしても、フレームはRootノードに向けて片方向のみに転送され、ループ上を巡回することはないため、Alternateポートにフレームを転送することが可能となる。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。
ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。
図1のネットワークにおいて、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合、障害箇所の両端ノードにおける障害検知をトリガとして、RSTPの再構成処理が起動する。これはRSTPの標準動作に従うので詳細説明は省略する。再構成の結果、図20の形状に安定したとする。
ここでは、再構成により、コアスイッチC6とエッジスイッチE6にツリーのポート情報に変更が生じている。コアスイッチC6については、図13のSTP状態管理テーブル1406のポート状態だったのが、ツリー再構成の結果、図21のSTP状態管理テーブル2400のポート状態に変更されている。
コアスイッチC6では、STP制御部880において、STPのポート状態が安定すると、STPポート状態管理テーブル2400を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp2を設定する。その結果のTagテーブル900は、図21のTagテーブル2401のようになる。
エッジスイッチE6でもSTPのポート状態の変更に応じてTagテーブルが更新される。更新後のテーブルは図22に示す通りである(図22ではSTP状態管理テーブル2500が図14のSTP状態管理テーブル1402から変更されているものの、Rootポートに変更がなかったため、その他のテーブルは変更されていない)。
以上のように、障害発生時にテーブルが更新された時のフレーム転送処理を説明する。前述のユーザ端末T8からT5への転送に関しては、コアスイッチC6のみがテーブル変更されているので、コアスイッチC6の転送処理を説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1601を参照して、拡張タグ=g5に対する出力ポート=ポートp2を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行わずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp2に対して拡張タグフレーム2200を出力する。
障害発生前とは異なり、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームはコアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
以上説明したように、障害発生時でもRSTPの手順に従いツリーのポート状態が更新された後に、新たなポート情報に基づきTagテーブルの出力ポート設定し、フレーム転送時はTagテーブルの出力ポートに従いフレームを転送するため、通常時と同様の処理でフレーム転送可能である。
(第1の実施の形態による効果)
以上、本実施の形態で説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。障害発生時も障害後のツリー形状に従って、最短経路転送するととも、従来技術の未使用リンクを使用して転送可能である。
すなわち、以上説明したノード構成、テーブル作成方法、データ転送方法によると、エッジスイッチE8、コアスイッチC6において、図12のSTP状態管理テーブル1404とTagテーブル1501、図13のSTP状態管理テーブル1406とTagテーブル1601に示したように、Forwarding状態のRootポートのみならず、AlternateポートもTagテーブルにおいて出力ポートとして設定し、複数の出力ポートに対して負荷分散しながらフレームを転送する。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
また、新たに転送可能としたAlternateポートはRootポートの次にRootノードに対するコストが小さいポートであるため、Alternateポート側リンクを経由して宛先のRootノードに到着する新たにフレーム転送を許可した経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路であり、本発明のフレーム転送は負荷分散しながらの最短経路転送が可能である。
その結果、本発明のフレーム転送方法では、最短経路転送を行いつつ、従来技術におけるネットワーク内の未使用リンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
(第2の実施の形態)
本発明の第2の実施の形態について、図面を用いて詳細に説明する。
図23は、本実施の形態のフレームスイッチング部730の詳細構成を示している。図23では、図3で示した第1の実施の形態でのフレームスイッチング部730に対して、フォワーディングテーブル格納部840がフォワーディングテーブル格納部2640に変更され、それに伴いテーブル制御部890がテーブル制御部2690に、テーブルサーチ部830がテーブルサーチ部2630に変更されている。以降では、第1の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部2640について説明する。
図24は、フォワーディングテーブル格納部2640の構成例である。
フォワーディングテーブル格納部2640は、図4で説明した第1の実施の形態のフォワーディングテーブル格納部840に対して、Tagテーブル900がTagテーブル2700に変更されている。Tagテーブル2700の構成は、図25に示す通りである。
このTagテーブル2700も、第1の実施の形態のTagテーブル900が拡張タグに対する出力ポートを管理していたのと同様に、図25に示すように、拡張タグに対する出力ポートを管理する。
続いて、テーブル制御部2690について説明する。
テーブル制御部2690は、テーブル制御部890と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部2690は、STP制御部880からツリーIDと対応するポート情報、すなわち、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部840内のTagテーブル2700において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして、ポート役割=Rootポートかつポート状態=Forwarding状態であるポートのポート番号を記載し、ポート役割=Alternateポートであるポートのポート番号を記載する。
続いて、テーブルサーチ部2630について説明する。
テーブルサーチ部2630では、テーブルサーチ部830においてTagテーブル900を参照して拡張タグに対する出力ポートを取得していた処理と同様の処理を行う。すなわち、テーブルサーチ部830がTagテーブル900の出力ポートフィールドに格納された1つまたは複数のポートを取得していたのに対して、テーブルサーチ部2630は、Tagテーブル2700の出力ポートフィールドに格納された出力ポートフィールドに格納された1つまたは複数のポートを取得する。
Tagテーブル2700から取得した拡張タグに対する出力ポートが複数である場合、複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、第1の実施の形態で説明した方法を用いればよい。
また、障害が発生した場合、障害管理部770から通知を受けると、テーブルサーチ部2630は、Tagテーブル2700の出力ポートに格納されたポートから取得したポートが複数であった場合、障害が検出されたポートを取得したポート(出力ポートしての選択対象ポート)から除外する。
障害検出ポートを除外した後において、複数の出力ポートから出力先を決定するアルゴリズムは第1の実施の形態で示した方法のいずれかを用いる。
出力ポートを決定後、テーブルサーチ部2630は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部2690におけるTagテーブル2700の設定処理のフローチャートを図26に、テーブルサーチ部2630における受信フレームの出力ポート決定処理のフローチャートを図27に示す。
図26に示すように、テーブル制御部2690は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップA2として、受信したSTPポート情報に基づき、Tagテーブル2700を更新する。
また、図27に示すように、テーブルサーチ部2630は、ステップB1において、フレーム解析部800から受信フレーム情報を受信すると、ステップB2として、Tagテーブル2700を参照して、拡張タグに対する出力ポートを取得する。
ここで、ステップB3において、取得した出力ポートが1つか複数かを判定し、複数存在している場合、さらに、ステップD4において、取得した複数の出力ポートのうち障害管理部770によって障害検出されたポートが含まれるかどうかを判定する。
ステップD4で障害検出されたポートが含まれる場合には、ステップD5において、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行なう。
この障害検出された出力ポートはテーブル制御部2690によってTagテーブル2700の出力ポートから削除される。
そして、ステップB4において、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
また、ステップB3において取得ポートが1ポートであった場合、ステップB5において、取得した出力ポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1のネットワークにおいて、端末T8から端末T5へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。
本発明のフレーム転送方法を用いると、第1の実施の形態と同様に、従来技術の特徴であるユーザ端末T8からユーザ端末T5への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
以降では、第1の実施の形態との大きな差分である、障害検出されたポートが存在する場合における、Tagテーブル2700を有するエッジスイッチE8とコアスイッチC6について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチE8のテーブルを図28にまとめて示す。
エッジスイッチE8では、STP制御部880において、図28(A)のSTPポート状態管理テーブル1404を有している。STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1と、STP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図28(B)に示すTagテーブル2901のようになる。その他のテーブルは、図12と同じくMAC/Tagテーブル1502(図28(C))、MACテーブル1503(図28(D))のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図29を用いて説明する。
コアスイッチC6では、STP制御部880において、図29(A)に示すようなSTPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブル2700を設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1と、STP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図29(B)において、Tagテーブル3001のようになり、その出力ポートのフィールドには、ポートp1、p2が設定されている。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図23のノード構成図および図28、図29のテーブルを用いて以降で説明する。
図18に示す端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部800において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、Tagテーブル2901を参照して、拡張タグg5に対する出力ポート=ポートp1と出力ポート=ポートp2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部820に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部2630から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは、図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。また、フレーム転送処理と平行して、必要に応じて第1の実施の形態と同様にラーニング処理も行なっている。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポート=ポートp1、出力ポート=ポートp2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1またはp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1の実施の形態で説明したのと同様の処理を行ない、フレーム転送する。その結果、イーサネット(登録商標)フレーム2100は宛先のユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。本実施の形態の構成では、帯域利用効率の面では従来技術と比べて第1の実施の形態と同等の効果を持ちながら、第1の実施の形態に比べて、障害発生時の復旧が高速化される。
図1のネットワークにおいて、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合、コアスイッチC6では、障害を検知すると、障害管理部770は、STP制御部880およびテーブルサーチ部2630に障害通知する。
STP制御部880は、ツリーの再構成処理を開始する。これはRSTPの標準動作に従うので詳細説明は省略する。
テーブルサーチ部2630は、障害管理部770から障害通知を受けると、出力ポート決定法を変更する。テーブルサーチ部2630は、障害通知受信以降は、Tagテーブル2700から取得される出力ポートから障害が検出された出力ポートを除外し、残りの出力ポートのポート番号のみを取得する。図29を参照すると、通常時はTagテーブル3001において、ポートp1、p2を取得し、所定の方法で出力先を決定していたのに対して、障害通知受信以降は、Tagテーブル3001から取得されるポートp1、p2から障害が検出されたポートp1を除外し、ポートp2のみを取得し、出力先とする。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポートとして、出力ポートであるポートp2を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp2に対して拡張タグフレーム2200を出力する。
障害発生前とは異なり、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームは、コアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
また、コアスイッチC6では、STP制御部880において、障害発生後のツリー再構成処理が行なわれている。
図30は、STPのポート状態が安定後の各テーブルの状態を示す。
STPのポート状態が安定後、STPのポート状態は、図30(A)のSTPポート状態管理テーブル2400のようになったとする。
STP制御部880は、STPポート状態管理テーブル2400を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。STPポート状態管理テーブル2400にはポート役割=Alternateポートのポートは存在しないため、これについては通知しない。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp2を設定する。その結果のTagテーブル2700は、図30(B)のTagテーブル3101のようになる。
テーブル制御部2690は、Tagテーブル2700を更新する際に、同時にテーブルサーチ部2630にもTagテーブル3101の更新を通知する。
テーブルサーチ部2630は、Tagテーブル2700の出力ポートを参照して出力ポートを決定するよう、決定処理を通常処理に戻す。
ここで出力ポートに格納されるポート番号は、それまでの出力ポートであるため、結果として、出力先は変わらず、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームはコアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
以上説明したように、本実施の形態では、障害発生時に、RSTPの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
なお、上記第2の実施の形態では、Tagテーブル2700を参照して取得した出力ポートが複数存在する場合であって、さらに、取得した複数の出力ポートに障害検出されたポートが含まれる場合に、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行ない、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定するように構成したが、図31に示すTagテーブル2800に示すように、障害時出力ポートのフィールドを設け、この障害時出力ポートに、障害用出力ポートとして、ポート役割=Alternateポートであるポートのポート番号を設定するようにしてもよい。
この場合、障害通知のない通常時においてはTagテーブル2800の出力ポートと障害時出力ポートを対象として出力ポートを取得し、所定のアルゴリズムを使用して出力先を決定し、障害通知を受けた場合には、Tagテーブル2800の障害時出力ポートに設定されたポートを出力ポートする。これにより、障害時の復旧を高速化できる。
(第2の実施の形態による効果)
以上、本実施の形態で説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して負荷分散しながらフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
(第3の実施の形態)
本発明の第3の実施の形態について、図面を用いて詳細に説明する。
図32は、第3の実施の形態のフレームスイッチング部730の詳細構成を示している。
図32では、図23で示した第2の実施の形態でのフレームスイッチング部730に対して、テーブルサーチ部2630がテーブルサーチ部3230に変更され、フレーム解析部800がフレーム解析部3200に変更されている。また、フォワーディングテーブル格納部2640がフォワーディングテーブル格納部2840に変更され、それに伴いテーブル制御部2690がテーブル制御部2890に、テーブルサーチ部2630がテーブルサーチ部3230に変更されている。
まず、フォワーディングテーブル格納部2840について説明する。フォワーディングテーブル格納部2840のTagテーブルは、図31に示したような出力ポートと障害用出力ポートのフィールドを有するTagテーブル2800に変更されている。Tagテーブル2800の構成は、図31に示す通りであり、Tagテーブル900が拡張タグに対する出力ポートを管理していたのに対して、図31に示すようにTagテーブル2800は、拡張タグに対する通常時の出力ポートと障害時の出力ポートを管理する。
続いて、テーブル制御部2890について説明する。
テーブル制御部2890は、テーブル制御部890と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部2890は、STP制御部880からツリーIDと対応するポート情報、すなわち、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部2840内のTagテーブル2800において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして、ポート役割=Rootポートかつポート状態=Forwarding状態であるポートのポート番号を記載し、障害用出力ポートとして、ポート役割=Alternateポートであるポートのポート番号を記載する。
続いて、フレーム解析部3200について説明する。
フレーム解析部3200は、第1及び第2の実施の形態のフレーム解析部800の処理に加えて、テーブルサーチ部3230に対して通知するフレーム種別情報として、フレームの優先度情報も通知する。その他の処理はフレーム解析部800と同様である。
続いて、テーブルサーチ部3230について説明する。
テーブルサーチ部3230では、テーブルサーチ部830においてTagテーブル900を参照して拡張タグに対する出力ポートを取得していた処理が変更となる。テーブルサーチ部830がTagテーブル900の出力ポートフィールドに格納された1つまたは複数のポートを取得していたのに対して、テーブルサーチ部2630は、Tagテーブル2800の出力ポートフィールドに格納されたポートと障害時出力ポートフィールドに格納されたポートをあわせて取得する。障害時出力ポートは、該当無しの場合があるので、取得するポートは1つまたは複数のポートとなる。
テーブルサーチ部3230では、Tagテーブル2800を参照して拡張タグに対する出力ポートと障害時出力ポートを取得すると共に、取得したポートに障害時出力ポートが存在しない場合、フレームの優先度に関わらず、Tagテーブル2800の出力ポートフィールドから取得したポートから出力ポートを決定する。取得したポートが複数であった場合、複数の出力ポートから出力先を決定するアルゴリズムとしては第1の実施の形態で示した方法のいずれかを用いる。
取得したポートに障害時出力ポートが存在する場合、取得した通常の出力ポートと障害時出力ポートからフレームの優先度を考慮して出力ポートを決定する。
出力ポートを決定後、テーブルサーチ部3230は決定した出力ポート情報をフレーム転送部820に通知する。
前述の通り、本発明で新たに転送可能としたAlternateポートはRootポートの次にRootノードに対するコストが小さいポートであるため、Alternateポート側リンクを経由して宛先であるRootノードに到着する経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路である。そのため、テーブルサーチ部3230では、Tagテーブル2800を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先とする。
フレームの優先度については、一般的にはVLANタグのPriorityビットに基づいて決定する。また、場合によっては、宛先MACアドレスや送信元MACアドレスに対して優先度を設定して、それに基づいて決定してもかまわない。
このような転送処理を行なうことにより、高優先度フレームについては宛先に対して最短経路で転送することができ、低優先度フレームについては最短経路でないものの極力コストの低い経路を経由して宛先に到達することが可能である。
また、障害が発生した場合、障害管理部770から通知を受けると、テーブルサーチ部3230はTagテーブル2700の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部830は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブルサーチ部3230における受信フレームの出力ポート決定フローを図34にまとめた。なお、テーブル制御部2890におけるTagテーブル2800の設定処理のフローチャートは図33に示す。
図33に示すように、テーブル制御部2890は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップC2として、受信したSTPポート情報に基づき、Tagテーブル2800を更新する。
図34に示すように、テーブルサーチ部3230は、ステップB1において、フレーム解析部3200から受信フレーム情報(フレーム優先度情報を含む)を受信すると、ステップD2として、Tagテーブル2800を参照して、拡張タグに対する出力ポートと障害時出力ポートを取得する。
ここで、ステップD3において、障害時出力ポートが存在するかを判定し、存在している場合、ステップE4において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップD3において障害時出力ポートが存在しない場合、ステップE5において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。
その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1と同一トポロジーのネットワークにおいて、エッジスイッチE8に端末T8とともに端末T10が接続され、エッジスイッチE5に端末T5とともに端末T9が接続され、端末T8から端末T5へ、また、端末T10から端末T9へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。図35はネットワーク構成図である。
本発明のフレーム転送方法を用いると、第1と第2の実施の形態と同様に、従来技術の特徴であるユーザ端末T8、T10からユーザ端末T5、T9への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。さらに本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することができる。
ここで、第1の実施の形態との大きな差分であるTagテーブル2800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチE8のテーブルを図36にまとめた。
エッジスイッチE8では、STP制御部880において、STPポート状態管理テーブル1404を有している。STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2890に通知する。
テーブル制御部2890は、フォワーディングテーブル格納部2840のTagテーブル2800において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1を、障害時出力ポートとしてSTP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2800は、図36において、Tagテーブル2901のようになる。その他のテーブルは、図12と同じくMAC/Tagテーブル1502、MACテーブル1503のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図37で説明する。
コアスイッチC6では、STP制御部880において、STPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブルを設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2890に通知する。
テーブル制御部2890は、フォワーディングテーブル格納部2840のTagテーブル2800において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1を、障害時出力ポートとしてSTP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図37において、Tagテーブル3001のようになる。
以降では、本発明の特徴であるTagテーブル2800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、図32のノード構成図および図36、図37のテーブルを用いて、フレーム転送処理手順を説明する。
ユーザ端末T8からユーザ端末T5には、図18のイーサネット(登録商標)フレーム2100が転送され、ユーザ端末T10からユーザ端末T9には、図39のイーサネット(登録商標)フレーム3400が転送されることとする。
ここで、フレームの優先度は、イーサネット(登録商標)フレーム2100が高優先フレームで、イーサネット(登録商標)フレーム3400は低優先フレームであるとする。この優先度は、図40のVLANタグフォーマットに示すように、イーサネット(登録商標)フレーム2100、3400のVLANタグAの中のPriorityビットに記載される。
なお、本実施の形態では、イーサネット(登録商標)フレーム2100、3400のVLANタグにPriority情報が格納されることとしているが、Priority情報は拡張タグの中に格納されたり、また本明細書には記載していないが、カスタマを識別するためのタグが拡張タグとVLANタグの間に挿入される場合があり、そのカスタマ識別のためのタグの中にPriority情報が格納されてもよい。いずれの場合でも、本発明では以下に説明するように、フレームの優先度に基づいて、フレーム転送を行なう。
端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3230は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、受信フレームが高優先フレームであるため、Tagテーブル2901を参照して、拡張タグg5に対する出力ポート=ポートp1を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3230から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3230から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
また、受信フレームが端末T10から端末T9宛てのイーサネット(登録商標)フレーム3400である場合、エッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、低優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3230は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、受信フレームが低優先フレームであるため、Tagテーブル2901を参照して、拡張タグg5に対する障害時出力ポート=ポートp2を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3230から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図41の拡張タグフレーム3600となる。
フレーム書き換え後、フレーム書換部810は拡張タグフレーム3600をフレーム転送部820に転送する。フレーム転送部820はテーブルサーチ部3230から受信している出力ポート=ポートp2に対して拡張タグフレーム3600を出力する。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部3230は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであり、高優先フレームであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3230から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1及び第2の実施の形態で説明したのと同様の処理を行ない、フレーム転送する(それぞれTagテーブル2700において障害時出力ポートが新たに導入されているが、本ネットワーク構成では各スイッチはAlternateポートを保持しないため、実質的な処理は同様となっている)。その結果、イーサネット(登録商標)フレーム2100は宛先のユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2100は高優先フレームであるため、宛先のユーザ端末T5が接続しているエッジスイッチE5への最短経路であるエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、宛先のユーザ端末T5に到着可能である。
また、ユーザ端末T10からユーザ端末T9に送られたイーサネット(登録商標)フレーム3400は低優先フレームであるため、宛先のユーザ端末T9が接続しているエッジスイッチE5に向けて、従来技術では未使用であったエッジスイッチE8/エッジスイッチE7間のリンクを利用して、2番目にコストが低い転送経路であるエッジスイッチE8、エッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由して、宛先のユーザ端末T9に到着可能である。
このように、本実施の形態の転送方法では、高優先フレームに対しては最低コスト経路で転送され、低優先フレームに対しては従来技術では未使用となったリンクを利用することにより極力コストの低い経路で転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。
テーブルサーチ部3230は、通常時はフレームの優先度に従い、高優先フレームに対してはTagテーブル2800の出力ポートを出力先とし、低優先フレームに対しては障害時出力ポートを出力先としていた。これに対し、障害発生後、障害管理部770から障害通知を受けると、テーブルサーチ部3230は、Tagテーブル2800の障害時出力ポートのポート番号のみを取得して、高優先フレーム、低優先フレーム共に、障害時出力ポートを出力先とする。
また、コアスイッチC6では、STP制御部880において、障害発生後のツリー再構成処理が行なわれている。このツリー再構成処理については、第2の実施の形態の場合と同様であり、図38は、ツリー再構成後に、STPのポート状態が安定後の各テーブルである。
これにより、本実施の形態では、障害発生時に、RSTPの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
(第3の実施の形態による効果)
以上、本実施の形態で説明したように、転送フレームに優先度が考慮されている場合、高優先フレームについては最低コスト経路にて宛先ユーザ端末に到着可能であり、低優先フレームについては、従来技術では未使用であったリンクを利用して、極力コストの低い経路で宛先ユーザ端末まで転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して、フレームの優先度を考慮しながら負荷分散してフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
(第4の実施の形態)
本発明の第4の実施の形態について、図面を用いて詳細に説明する。
図42は、第4の実施の形態のフレームスイッチング部730の詳細構成を示している。
図42では、図32で示した第3の実施の形態でのフレームスイッチング部730に対して、テーブルサーチ部3230がテーブルサーチ部3730に変更され、フォワーディングテーブル格納部2640がフォワーディングテーブル格納部3740に変更され、テーブル制御部2690がテーブル制御部3790に変更されている。以降では、第3の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部3740について説明する。
図43は、フォワーディングテーブル格納部3740の構成例である。
フォワーディングテーブル格納部3740は、第3の実施の形態のフォワーディングテーブル格納部2840に対して、図31に示したTagテーブル2800がTagテーブル3800に変更されている。
Tagテーブル3800の構成は、図44に示す通りである。Tagテーブル2700が拡張タグに対する出力ポート、障害時出力ポートを管理していたのに対して、図44に示すようにTagテーブル3800は、出力ポート、障害時出力ポートと各ポートのルートパスコストを管理する。ルートパスコストとはSTP/RSTPのパラメータで、ルートノードのへのコストを示している。
続いてテーブル制御部3790について説明する。
テーブル制御部3790は、テーブル制御部2690と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定するのに加えて、各ポートのルートパスコストも設定する。
テーブル制御部3790は、STP制御部880からポート情報として、ポート役割、ポート状態と共にルートパスコストも合わせて取得する。そして、フォワーディングテーブル格納部3740内のTagテーブル3800において、出力ポート、障害時出力ポートにそれぞれのルートパスコストもあわせて記載する。
続いて、テーブルサーチ部3730について説明する。テーブルサーチ部3230では、フレームの優先度を考慮して出力ポートを決定していた。テーブルサーチ部3730では、同様にフレーム優先度を考慮して出力ポートを決定する際に、各ポートのルートパスコストも考慮して出力先を決定する。
テーブルサーチ部3230では、Tagテーブル2700を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先としていた。
障害時出力ポート=Alternateポートは、出力ポート=Rootポートに次いでルートノードへのコスト(ルートパスコスト)が低い経路が選択されている。
ネットワーク構成によっては、両ポートのルートパスコストが等しい場合には、ポート番号等のパラメータにより、Root、Alternateの決定が行なわれる。
ルートパスコストが等しい場合、障害時出力ポート=Alternateポートを選択したとしても出力ポート=Rootポートを選択した場合と同様に最短経路で宛先に到着することが可能である。
そこで、テーブルサーチ部3730では、Tagテーブル3800を参照して拡張タグに対する出力ポートと障害時出力ポートを取得した場合、両ポートのルートパスコストが等しい場合には、フレームの優先度に関わらず、両ポートを対象として前述の所定の方法を利用して出力先を決定し、出力ポート=Rootポートのルートパスコストが障害時出力ポート=Alternateポートのルートパスコストよりも小さい場合には、高優先フレームを出力ポートに出力し、低優先フレームを障害時出力ポートに出力する。
また、障害が発生した場合の処理は、テーブルサーチ部2630、3230と同様である。障害管理部770から通知を受けると、テーブルサーチ部3730はTagテーブル3800の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部3730は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部3790におけるTagテーブル3800の設定フローを図45に、テーブルサーチ部3730における受信フレームの出力ポート決定フローを図46にまとめた。
図45に示すように、テーブル制御部3790は、ステップF1において、STP制御部880からSTPポート情報(ルートパスコスト情報を含む)を受信すると、ステップF2として、受信したSTPポート情報に基づき、Tagテーブル3800を更新する。
また、図46に示すように、テーブルサーチ部3730は、ステップE1において、フレーム解析部3200から受信フレーム情報(フレーム優先度情報を含む)を受信すると、ステップG2として、Tagテーブル3800を参照して、拡張タグに対する出力ポートと障害時出力ポートと各ポートのルートパスコストを取得する。
ここで、ステップD3において、障害時出力ポートが存在するかを判定し、存在している場合、ステップG4において、取得した出力ポートと障害時出力ポートのルートパスコストを比較し、等しい場合、ステップG6において、フレーム優先度に関わらず、両ポートを対象として所定のアルゴリズムを使用して出力先を決定する。
また、ステップG4において、コストが等しくない場合、ステップE4において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップD3において障害時出力ポートが存在しない場合、ステップE5において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図35のネットワークにおいて、第3の実施の形態と同様に端末T8から端末T5へ、また、端末T10から端末T9へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。なお、本実施の形態では、コアスイッチC5/コアスイッチC6間のリンクのみ100Mbpsの帯域で、その他のリンクは1Gbpsの帯域であるとする。よって、本実施の形態では、各リンクのコストを100Mbpsリンクが10、他の1Gbpsリンクが1とする。
本発明のフレーム転送方法を用いると、第1〜第3の実施の形態と同様に、従来技術の特徴であるユーザ端末T8、T10からユーザ端末T5、T9への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
また、本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することが可能であり、さらに、候補となる経路のコストが等しい場合は優先度を考慮せずに分散させ、コストに差がある場合に優先度に応じた転送を行うことで、優先度による偏りを極力なくしつつ、高優先フレームについては最短経路で転送することが可能である。
以降では、本発明の特徴であるTagテーブル3800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、フレーム転送処理手順を説明する。エッジスイッチE8のテーブルを図47の(A)から(D)、コアスイッチC6のテーブルを図48の(A)、(B)に示す。
第3の実施の形態と同様に、ユーザ端末T8からユーザ端末T5には、図18のイーサネット(登録商標)フレーム2100が転送され、ユーザ端末T10からユーザ端末T9には、図35のイーサネット(登録商標)フレーム3300が転送されており、フレームの優先度はイーサネット(登録商標)フレーム2100が高優先フレームで、イーサネット(登録商標)フレーム3300は低優先フレームであるとする。
端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3730は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが3、また、障害時出力ポートはポートp2でルートパスコストが3であることを取得する。
受信フレームは高優先フレームであるが、両ポートのルートパスコストが等しいため、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、決定した出力ポートをフレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3730から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは、図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820はテーブルサーチ部3230から受信している出力ポート=ポートp1またはポートp2に対して拡張タグフレーム2200を出力する。
また、受信フレームが端末T10から端末T9宛てのイーサネット(登録商標)フレーム3300である場合、エッジスイッチE8は、上述の通り拡張タグg5に対する出力ポートとルートパスコストが等しいため、フレーム優先度は考慮せず、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、出力する。なお、出力されるフレームは拡張タグフレーム3600である。詳細は上述の端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100と同様であるため、省略する。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部3730は、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが2、また、障害時出力ポートはポートp2でルートパスコストが11であることを取得する。
受信フレームは高優先フレームであり、両ポートのルートパスコストが等しくないため、出力ポート=ポートp1を出力先として決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3730から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
一方、コアスイッチC6が、エッジスイッチE8から拡張タグフレーム3600を受信した場合は以下のようになる。フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は低優先フレームとなっている。
テーブルサーチ部3730は、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが2、また、障害時出力ポートはポートp2でルートパスコストが11であることを取得しており、受信フレームが低優先フレームであるため、出力ポート=ポートp2を出力先として決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム3600に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3730から受信している出力ポート=ポートp2に対して拡張タグフレーム3600を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1及び第2の実施の形態で説明したのと同様の処理を行ない、フレーム転送する(それぞれTagテーブル3800において、出力ポートと障害時出力ポートのルートパスコストが新たに導入されているが、本ネットワーク構成では各スイッチはAlternateポートを保持しないため、実質的な処理は同様となっている)。その結果、イーサネット(登録商標)フレーム2100、3400は宛先のユーザ端末T5、T9に到着する。
ネットワーク内に障害が発生した時のフレーム転送については第3の実施の形態と同様であるため、説明を省略する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られた高優先のイーサネット(登録商標)フレーム2100と、ユーザ端末T10からユーザ端末T9に送られた低優先のイーサネット(登録商標)フレーム3300は、宛先のエッジスイッチE5に対する最低コストの経路である、(a)エッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5か、(b)エッジスイッチE8、エッジスイッチE7、コアスイッチC5、エッジスイッチE5を通って、宛先のユーザ端末T5、T9に転送される。
ここで、(a)の経路上に転送されたフレームについては、コアスイッチC6で障害時出力ポートを備えており、受信フレームの中の低優先フレームについてはポートp2側に出力され、コアスイッチC6、コアスイッチC5、エッジスイッチE5を通って、宛先のユーザ端末T9に転送される。
なお、送付先の端末までのルートパスコストが、当該ネットワークシステムについて予め設定されるルートパスコストの許容値を超える場合には、Tagテーブル3800から当該経路宛のポートを削除するように構成することも可能である。
このように構成することで、ルートパスコストが許容値を超えるような経路が選択されてしまうことを防止することができる。
(第4の実施の形態による効果)
このように、本実施の形態の転送方法では、従来技術では未使用であったリンクを利用してネットワーク全体の帯域利用率を向上することができる。
その際、宛先までコストが等しい経路が複数ある場合は優先度を考慮せずに分散して転送し、コストが異なる経路が複数ある場合は、高優先フレームを最低コスト経路で転送し、低優先フレームをその他の極力コストの低い経路で転送する。
これにより、データの優先度に基づく転送を行なうと共に、優先度によるデータ量の偏りを小さくして、フレーム転送量を平準化できる。
以上好ましい複数の実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
(第1の実施の形態)
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明を適用する物理ネットワーク構成例を示している。
図1のエッジスイッチE5、E6、E7、E8、コアスイッチC5、C6は、いずれも従来の機能に加えて、本発明による機能を備えている。各スイッチ間は以下のような接続形態となっている。
(1)エッジスイッチE5のポートp3とエッジスイッチE6のポートp1
(2)エッジスイッチE5のポートp2とコアスイッチC5のポートp1
(3)コアスイッチC5のポートp2とエッジスイッチE7のポートp1
(4)エッジスイッチE7のポートp3とエッジスイッチE8のポートp2
(5)エッジスイッチE8のポートp1とコアスイッチC6のポートp3
(6)コアスイッチC6のポートp1とエッジスイッチE6のポートp2
(7)コアスイッチC5のポートp3とコアスイッチC6のポートp2
また、各エッジスイッチE5〜E8は以下のようにユーザ端末T5〜T8を接続している。
(1)エッジスイッチE5のポートp1とユーザ端末T5
(2)エッジスイッチE6のポートp3とユーザ端末T6
(3)エッジスイッチE7のポートp2とユーザ端末T7
(4)エッジスイッチE8のポートp3とユーザ端末T8
このようなネットワークにおけるフレーム転送として、典型的な例として、ユーザ端末T5〜T8から送信されたイーサネット(登録商標)フレームがエッジスイッチE5〜E8において拡張タグが付加され拡張タグフレームに変換され、コアスイッチC5、C6では拡張タグに基づく転送が行なわれ、宛先ユーザ端末側のエッジスイッチE5〜E8において付加された拡張タグが削除され、宛先ユーザ端末T5〜T8に転送される場合を前提として説明を行う。
最初に、エッジスイッチE5〜E8、コアスイッチC5、C6の構成について、図2を用いて説明する。
図2のスイッチ700は、エッジスイッチE5〜E8、コアスイッチC5、C6に共通の構成となっている。
スイッチ700は、PHY711、712、713、714と、MAC721、722、723、724と、フレームスイッチング部730と、メモリ740と、CPU750と、コンソールI/O760と、障害管理部770とから構成される。
IF701、702、703、704にはそれぞれPHY711、712、713、714が接続され、PHY711、712、713、714にはMAC721、722、723、724が接続され、MAC721、722、723、724にはフレームスイッチング部730が接続される。
IF701、702、703、704から入力されるイーサネット(登録商標)フレームは、それぞれPHY711、712、713、714とMAC721、722、723、724を経由してフレームスイッチング部730に入力され、フレームスイッチング部730において後述する動作により適切な出力IFが決定され、それぞれMAC721、722、723、724とPHY711、712、713、714を経由して、IF701、702、703、704に出力される。
PHY711、712、713、714は、接続するIF701、702、703、704で障害を検知した場合、障害情報を障害管理部770に通知する。
障害管理部770は各IFの状態(正常/障害)を管理しており、PHY711、712、713、714から障害情報を受信すると、フレームスイッチング部730かCPU750かその両方に障害発生を通知する。
また、CPU750およびメモリ740にはフレームスイッチング部730の動作を制御するプログラムおよび必要なデータが格納され、フレームスイッチング部730に制御指示を行なう。
また、コンソールI/O760は、装置内の各部に対する設定管理に関する外部インタフェイスとなっている。
図3は、フレームスイッチング部730の詳細構成を示している。
フレームスイッチング部730は、フレーム解析部800、フレーム書換部810、フレーム転送部820、テーブルサーチ部830、フォワーディングテーブル格納部840、MACラーニング部850、制御フレーム振分け部870、STP制御部880、テーブル制御部890、設定制御部895とから構成される。
フレームスイッチング部730は、前述のように、MAC721〜724から入力されたイーサネット(登録商標)フレームの出力IFを決定し、所定のIFと接続するMAC721〜724に転送する機能を持っている。
スイッチ700がエッジスイッチE5〜E8である場合、入出力フレーム種別は、
−図50のイーサネット(登録商標)フレーム200が入力され、図51の拡張タグフレーム300が出力されるか、
−拡張タグフレーム300が入力され、イーサネット(登録商標)フレーム200が出力されるか、
−入出力フレーム共に、拡張タグフレーム300である、のいずれかとなる。
また、スイッチ700がコアスイッチC5、C6である場合、入出力フレーム種別は、
−入出力フレーム共に、拡張タグフレーム300となる。
以降では、フレームスイッチング部730の各部について説明する。
フレーム解析部800は、MAC721〜724から入力されたフレームを解析し、通常のイーサネット(登録商標)フレーム200または拡張タグフレーム300の主信号データフレームである場合は、ヘッダ情報とフレーム種別情報、入力ポート情報をテーブルサーチ部830に転送し、イーサネット(登録商標)フレーム200の場合は、MACラーニング部850にも転送する。また、フレーム全体またはペイロード部分をフレーム書換部810に転送する。また、入力フレームが制御フレームである場合は、フレーム全体を制御フレーム振分け部870に転送する。
フレーム書換部810は、フレーム解析部800から受信した主信号データフレームに対して、テーブルサーチ部830から指示があった場合に、フレームの書き換えを行なう。フレーム書き換えとしては、イーサネット(登録商標)フレーム200に対して、拡張タグをスタックして拡張タグフレーム300に書き換える。または、拡張タグフレーム300に対して、拡張タグを削除して、イーサネット(登録商標)フレーム200に書き換える。以上いずれかの書き換えを行なった後、または書き換えが不要な場合はフレーム解析部800からのフレーム受信後に、フレーム転送部820にフレームを転送する。
フレーム転送部820は、主信号データフレームに関しては、フレーム書換部810から受信する主信号データフレームをテーブルサーチ部830から受信する出力ポートに対応するMAC921〜924に転送する。また制御フレームに関しては、制御フレーム振分け部870から受信する制御フレームを同時に受信する出力ポートに対応するMAC921〜924に転送する。
テーブルサーチ部830は、フレーム解析部800から受信したヘッダ情報とフレーム種別情報、入力ポート情報を基にフォワーディングテーブル格納部840を参照して出力ポート情報とフレーム書き換え情報を取得する。
(1)フレーム種別情報が、イーサネット(登録商標)フレーム200で、入力ポートがユーザ端末側ポートである場合、フォワーディングテーブル格納部840のMAC/Tagテーブル910(図6、後述)を参照して、MAC_DAに対する拡張タグを取得すると共に、Tagテーブル900(図5、後述)を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム書換部810に対して、取得した拡張タグを通知し、拡張タグのスタックを指示する。また、フレーム転送部820に出力ポート情報を通知する。
(2)フレーム種別情報が、拡張タグフレーム300で、入力ポートがネットワーク側のポートである場合、拡張タグの値が自ノードアドレスか他ノードアドレスかにより、動作が異なる。
(2−1)他ノードアドレスの場合、フォワーディングテーブル格納部840のTagテーブル900を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム転送部820に出力ポート情報を通知するとともに、フレーム書換部810に対しフレーム書き換え無しを通知する。
(2−2)自ノードアドレスの場合、フォワーディングテーブル格納部840のMACテーブル920(図7、後述)を参照して、MAC_DAとVLANに対する出力ポートを取得する。その後、フレーム転送部820に出力ポート情報を通知するとともに、フレーム書換部810に対し拡張タグの削除を指示する。
Tagテーブル900を参照して拡張タグに対する出力ポートを取得する際、本発明では複数の出力ポートが得られる場合がある。複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、特に限定はなく、以下に示す一般的な方法を用いることが可能である。例としては、ラウンドロビンまたは重み付けラウンドロビンなどのアルゴリズムを用いることができる。重み付けラウンドロビンを用いる場合、各ポートに割り当てられる重みは、該当ポートのリンク速度などをパラメータとして設定すればよい。また、他の方法としては、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または、宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、または、これらを組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
出力ポートを決定後、フレーム転送部820に通知する。
フォワーディングテーブル格納部840は、フレームを転送するための情報を格納した各種テーブルを有する。テーブルとしては、拡張タグから出力ポートを取得するTagテーブルとMACアドレスとVLANタグから拡張タグを取得するMAC/Tagテーブルと、MACアドレスとVLANタグから出力ポートを取得するMACテーブルがある。
図4は、フォワーディングテーブル格納部840の構成例である。
フォワーディングテーブル格納部840は、Tagテーブル900と、MAC/Tagテーブル910と、MACテーブル920と、テーブル書込制御部930と、テーブル読込制御部940とから構成される。各テーブルへの新たなデータの書込みはテーブル書込制御部930を介して行なわれ、各テーブルからのデータの読み出しはテーブル読込制御部940を介して行なわれる。
Tagテーブル900とMAC/Tagテーブル910とMACテーブル920の構成は、それぞれ図5、11、12に示す通りである。テーブルの構成については、図5、図6、図7に限定されるわけではなく、例えば、図6のMAC/Tagテーブル910と図5のTagテーブルが一体化し、MAC/Tagテーブル910の拡張タグに対する出力ポートが追加されていても構わない。
以降では、図5、図6、図7の構成に従って説明する。
MACラーニング部850は、フレーム解析部800からヘッダ情報を受信すると、フォワーディングテーブル格納部840のMACテーブル920を参照して、受信したヘッダ情報のMAC_SAとVLANに対する出力ポートを検索し、エントリが存在しない場合は、MACアドレスフィールドにMAC_SAを、VLANフィールドにVLANを、出力ポートフィールドに受信ポートを格納する。ここで、設定によって、受信ポートがネットワーク側ポートである場合には、上記ラーニング機能を止めてもよい。
制御フレーム振分け部870は、フレーム解析部800から受信した制御フレームを所定の処理部に転送すると共に、処理部から受信した制御フレームおよび出力ポート情報をフレーム転送部820に転送する。本構成では、処理部はSTP制御部880のみであるため、制御フレーム(以降、Bridge Protocol Data Unit: BPDUと記す)をSTP制御部880に転送すると共に、STP制御部880から受信したBPDUおよび出力ポート情報をフレーム転送部820に転送する。
STP制御部880は、制御フレーム振分け部870から受信したBPDUに基づいてSTP/RSTPのポート情報の更新処理などを行ない、BPDUを再作成し、隣接のスイッチに転送すべく、BPDUと出力ポート情報を制御フレーム振分け部870に転送する。なお、本発明ではVLANごとにRSTPを起動するMSTPを前提としており、VLANごとにRSTPのポート情報を管理する。
本情報を管理するためのテーブルとして、図8に示すSTPポート情報管理テーブル1300を有する。
STPポート情報管理テーブル1300では、VLAN毎、すなわちツリーID毎にそのスイッチのポートに関するSTPの情報が管理されている。
STPのポート情報としては、ポートの役割とポートの状態を管理する。
ポートの役割としては、Root port、Designated port、Alternate portがある。図8では、それぞれR、D、Aと記載している。
また、ポートの状態としては、Forwarding状態、Learning状態、Discarding状態がある。図8では、それぞれf、l、dと記載しており、ポート役割/ポート状態とセットで記載している。
STP制御部880は、RSTP起動時やRSTP構成変更時など、STPポート状態管理テーブル1300のポート状態に変更があった場合、STPポート状態管理テーブル1300の内容を更新すると共に、ツリー毎に、ポート役割がRootポートでポート状態がForwarding状態であるポート(図8ではR/fと記載)、および、ポート役割がAlternateポートであるポート(ポート状態は問わないが基本的にDiscarding状態であり、図8ではA/dと記載)を抽出し、ツリーIDと該当するポートのポート番号をテーブル制御部890に通知する。
テーブル制御部890は、STP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する(フォワーディングテーブル格納部840内のTagテーブル900を更新する)機能を有する。
また、テーブル制御部890は、STP制御部880からツリーIDと対応するポート情報(ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号)を受信すると、フォワーディングテーブル格納部840内のTagテーブル900において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして受信したポート番号を記載する。
設定制御部895は、図2のコンソールI/O760経由で入力された設定情報を、CPU750を介して受信し、適切な処理部に対し設定処理を行なう。具体的にはSTP制御部880に対して、STPのパラメータ等を設定する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部890におけるTagテーブル900の設定処理のフローチャートを図9に、テーブルサーチ部830における受信フレームの出力ポート決定処理のフローチャートを図10にまとめた。
図9に示すように、テーブル制御部890は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップA2において、受信したSTPポート情報に基づき、Tagテーブル900を更新する。
また、図10に示すように、テーブルサーチ部830は、ステップB1において、フレーム解析部800から受信フレーム情報を受信すると、ステップB2において、Tagテーブル900を参照して、拡張タグに対する出力ポートを取得する。ここで、ステップB3において、取得した出力ポートが1つか複数かを判定し、複数存在している場合、ステップB4において、取得した複数ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。また、ステップB3において取得ポートが1ポートであった場合、ステップB5において、取得したポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1のネットワークにおいて、端末T8から端末T5へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。本発明のフレーム転送方法を用いると、従来技術の特徴であるユーザ端末T8からユーザ端末T5への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
図1では、端末T5が宛先端末となるため、端末T5が接続するエッジスイッチE5がルートノードとなるRSTPツリーがフレーム転送の経路となる。このツリーのSTP−IDはg5となっており、本ツリーはVLAN=g5で識別される。この場合の各スイッチにおけるSTPポート状態管理テーブル1300は、図11の(A)〜(F)に示す通りとなっており、エッジスイッチE5、E6、E7、E8、コアスイッチC5、C6に関して、それぞれ1401、1402、1403、1404、1405、1406の符号を付けている。ここでは、エッジスイッチE5がルートノードとなっているRSTPツリーのみを記載している。実際には、他ノードがルートノードとなるツリーに関する情報も有している。
図1によると、端末T8から端末T5へのフレーム転送は、従来技術に従い、エッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由する転送経路で端末T5に到着すると共に、本発明の特徴であるAlternateポートへの出力により、エッジスイッチE8からエッジスイッチE7に転送され、コアスイッチC5、エッジスイッチE5を経由する転送経路とコアスイッチC6からコアスイッチC5に転送され、エッジスイッチE5を経由する転送経路も利用して端末T5に到着する。これを行なうための各スイッチでのテーブル内容とテーブル設定手順について説明する。
エッジスイッチE8のテーブルを図12の(A)〜(D)にまとめた。
エッジスイッチE8では、STP制御部880において、STPポート状態管理テーブル1404を有している。
STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1、p2を設定する。
その結果のTagテーブル900は、図12の(B)において、Tagテーブル1501のようになる。
また、本発明では、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920については、静的に設定されていても、制御フレーム等により自動で設定されても、どちらでも構わないため、説明を簡単化するために設定された後の状態から説明することとする。
図12では、両テーブルは、MAC/Tagテーブル1502、MACテーブル1503のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図13で説明する。
コアスイッチC6では、STP制御部880において、図13の(A)に示すSTPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブルを設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1、p2を設定する。その結果のTagテーブル900は、図13の(B)において、Tagテーブル1601のようになる。コアスイッチC6では、MAC/Tagテーブル910、MACテーブル920を持たない。
続いて転送経路上でコアスイッチC6の次ホップのノードであるエッジスイッチE6のテーブルについて、図14の(A)〜(D)で説明する。
エッジスイッチE6では、STP制御部880において、図14の(A)のようなSTPポート状態管理テーブル1402を有している。STP制御部880では、前述のエッジスイッチE8と同様に、STPのポート状態が安定すると、STPポート状態管理テーブル1402を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1をテーブル制御部890に通知する。ここでは、ポート役割=Alternateポートはないため、これについては通知しない。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp1を設定する。その結果のTagテーブル900は、図14の(B)において、Tagテーブル1701のようになる。また、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920は、図14の(C)、(D)のMAC/Tagテーブル1702、MACテーブル1703のように登録されている。
続いて転送経路上でエッジスイッチE6の次ホップのノードで最終段のノードであるエッジスイッチE5のテーブルについて、図15の(A)〜(D)で説明する。
エッジスイッチE5では、STP制御部880において、図15の(A)のようなSTPポート状態管理テーブル1401を有している。STP制御部880では、前述の各スイッチと同様に、STPのポート状態が安定すると、STPポート状態管理テーブル1401を参照して、条件に合致するポートを通知する。この場合、エッジスイッチE5は、本転送のEgressエッジスイッチであり、このツリーのルートノードであるため、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートは存在しないため、通知しない(すなわち、エッジスイッチE5は本転送のEgressエッジスイッチであるため、次ホップの出力ポートを設定する必要はない)。また、フォワーディングテーブル格納部840のMAC/Tagテーブル910、MACテーブル920は、図15の(C)、(D)のMAC/Tagテーブル1802、MACテーブル1803のように登録されている。
前述のように、本発明では、Alternateポートへの出力も行なわれるため、エッジスイッチE8からエッジスイッチE7へ、コアスイッチC6からコアスイッチC5へもフレームが転送される。エッジスイッチE7、コアスイッチC5のテーブルはそれぞれ図16の(A)〜(D)、図17の(A)、(B)に示す通りとなる。STP状態管理テーブル1403、1405に基づくTagテーブル1901、2001の更新方法はこれまで説明したエッジスイッチE5、E6、E8、コアスイッチC6と同様であるため、詳細説明は省略する。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図3のノード構成図および図12〜図17のテーブルを用いて以降で説明する。
図21に示す端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部800において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部810に対して拡張タグのスタック処理を指示する。また、Tagテーブル1501を参照して、拡張タグg5に対する出力ポート=ポートp1、p2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部820に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部830から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図19の拡張タグフレーム2200となる。フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。ここで説明したフレーム転送処理と平行して、ラーニング処理も行なっている。
フレーム解析部800は、フレーム書換部810、テーブルサーチ部830に情報通知すると共に、MACラーニング部850に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したMACラーニング部850は、MACテーブル1502を参照して、受信したヘッダ情報のMAC_SA=t8、VLAN=Aに対する出力ポートを検索し、エントリが存在しない場合は、MACアドレスフィールドにMAC_SA=t8を、VLANフィールドにVLAN=Aを、出力ポートフィールドに受信ポートp3を格納する。なお、前述の通り、本実施の形態ではこのラーニング処理が終了後のテーブル状態をMACテーブル1503に記述している。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1601を参照して、拡張タグ=g5に対する出力ポート=ポートp1、p2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1またはp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチC6のポートp1側に接続される次ホップのエッジスイッチE6について説明する。
コアスイッチC6から拡張タグフレーム2200を受信したエッジスイッチE6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1701を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行わずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチE6の次ホップのエッジスイッチE5について説明する。
エッジスイッチE6から拡張タグフレーム2200を受信したエッジスイッチE5は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が自ノードのノードIDであるため、フレーム書換部810に対して拡張タグの削除処理を指示するとともに、MACテーブル1803を参照して、MAC_DA=t5、VLAN=Aに対する出力ポート=ポートp1を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部830から指示された拡張タグの削除処理を行なう。その結果、出力するフレームは図21のイーサネット(登録商標)フレーム2100となる。
フレーム書換部810は、イーサネット(登録商標)フレーム2100をフレーム転送部820に転送すると、フレーム転送部820はテーブルサーチ部830から受信している出力ポート=ポートp1に対してイーサネット(登録商標)フレーム2100を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチE8のポートp2側へ出力されたフレーム、コアスイッチC6のポートp2側へ出力されたフレームについて、受信スイッチの処理を説明する。
エッジスイッチE8のポートp2側に出力された拡張タグフレーム2200を受信したエッジスイッチE7は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1901を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
コアスイッチC6のポートp2側に出力された拡張タグフレーム2200を受信したコアスイッチC5について、続いて説明する。
コアスイッチC5は、コアスイッチC6と共にエッジスイッチE7からの拡張タグフレーム2200も受信している。
コアスイッチC5は、コアスイッチC6、エッジスイッチE7から拡張タグフレーム2200を受信すると、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル2001を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチC5の次ホップのエッジスイッチE5は、前述の処理と同様の処理を行い、拡張タグフレーム2200をイーサネット(登録商標)フレーム2100に変換すると共に、イーサネット(登録商標)フレーム2100をポートp1に出力することにより、宛先であるユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。
すなわち、本発明では、Alternateポートにもフレームを転送する。従来のRSTPでは、Alternateポートはループを阻止するために、ブロッキング状態となるポートであり、Alternateポートをフレーム転送可能にすると、形成されたループ上をフレームが巡回してしまう可能性がある。
これに対して、本発明では、Alternateポートをフレーム転送可能にしたとしても、転送したフレームを受信した対向ノードでは、受信フレームをRootポートに転送する。すなわち、フレームはそのツリーのRootノードに向けて、片方向転送される。そのため、論理経路的にループが形成されたとしても、フレームはRootノードに向けて片方向のみに転送され、ループ上を巡回することはないため、Alternateポートにフレームを転送することが可能となる。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。
ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。
図1のネットワークにおいて、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合、障害箇所の両端ノードにおける障害検知をトリガとして、RSTPの再構成処理が起動する。これはRSTPの標準動作に従うので詳細説明は省略する。再構成の結果、図20の形状に安定したとする。
ここでは、再構成により、コアスイッチC6とエッジスイッチE6にツリーのポート情報に変更が生じている。コアスイッチC6については、図13のSTP状態管理テーブル1406のポート状態だったのが、ツリー再構成の結果、図21のSTP状態管理テーブル2400のポート状態に変更されている。
コアスイッチC6では、STP制御部880において、STPのポート状態が安定すると、STPポート状態管理テーブル2400を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=2をテーブル制御部890に通知する。
テーブル制御部890は、フォワーディングテーブル格納部840のTagテーブル900において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp2を設定する。その結果のTagテーブル900は、図21のTagテーブル2401のようになる。
エッジスイッチE6でもSTPのポート状態の変更に応じてTagテーブルが更新される。更新後のテーブルは図22に示す通りである(図22ではSTP状態管理テーブル2500が図14のSTP状態管理テーブル1402から変更されているものの、Rootポートに変更がなかったため、その他のテーブルは変更されていない)。
以上のように、障害発生時にテーブルが更新された時のフレーム転送処理を説明する。前述のユーザ端末T8からT5への転送に関しては、コアスイッチC6のみがテーブル変更されているので、コアスイッチC6の転送処理を説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部830に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部830は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル1601を参照して、拡張タグ=g5に対する出力ポート=ポートp2を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行わずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部830から受信している出力ポート=ポートp2に対して拡張タグフレーム2200を出力する。
障害発生前とは異なり、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームはコアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
以上説明したように、障害発生時でもRSTPの手順に従いツリーのポート状態が更新された後に、新たなポート情報に基づきTagテーブルの出力ポート設定し、フレーム転送時はTagテーブルの出力ポートに従いフレームを転送するため、通常時と同様の処理でフレーム転送可能である。
(第1の実施の形態による効果)
以上、本実施の形態で説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。障害発生時も障害後のツリー形状に従って、最短経路転送するととも、従来技術の未使用リンクを使用して転送可能である。
すなわち、以上説明したノード構成、テーブル作成方法、データ転送方法によると、エッジスイッチE8、コアスイッチC6において、図12のSTP状態管理テーブル1404とTagテーブル1501、図13のSTP状態管理テーブル1406とTagテーブル1601に示したように、Forwarding状態のRootポートのみならず、AlternateポートもTagテーブルにおいて出力ポートとして設定し、複数の出力ポートに対して負荷分散しながらフレームを転送する。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
また、新たに転送可能としたAlternateポートはRootポートの次にRootノードに対するコストが小さいポートであるため、Alternateポート側リンクを経由して宛先のRootノードに到着する新たにフレーム転送を許可した経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路であり、本発明のフレーム転送は負荷分散しながらの最短経路転送が可能である。
その結果、本発明のフレーム転送方法では、最短経路転送を行いつつ、従来技術におけるネットワーク内の未使用リンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
(第2の実施の形態)
本発明の第2の実施の形態について、図面を用いて詳細に説明する。
図23は、本実施の形態のフレームスイッチング部730の詳細構成を示している。図23では、図3で示した第1の実施の形態でのフレームスイッチング部730に対して、フォワーディングテーブル格納部840がフォワーディングテーブル格納部2640に変更され、それに伴いテーブル制御部890がテーブル制御部2690に、テーブルサーチ部830がテーブルサーチ部2630に変更されている。以降では、第1の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部2640について説明する。
図24は、フォワーディングテーブル格納部2640の構成例である。
フォワーディングテーブル格納部2640は、図4で説明した第1の実施の形態のフォワーディングテーブル格納部840に対して、Tagテーブル900がTagテーブル2700に変更されている。Tagテーブル2700の構成は、図25に示す通りである。
このTagテーブル2700も、第1の実施の形態のTagテーブル900が拡張タグに対する出力ポートを管理していたのと同様に、図25に示すように、拡張タグに対する出力ポートを管理する。
続いて、テーブル制御部2690について説明する。
テーブル制御部2690は、テーブル制御部890と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部2690は、STP制御部880からツリーIDと対応するポート情報、すなわち、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部840内のTagテーブル2700において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして、ポート役割=Rootポートかつポート状態=Forwarding状態であるポートのポート番号を記載し、ポート役割=Alternateポートであるポートのポート番号を記載する。
続いて、テーブルサーチ部2630について説明する。
テーブルサーチ部2630では、テーブルサーチ部830においてTagテーブル900を参照して拡張タグに対する出力ポートを取得していた処理と同様の処理を行う。すなわち、テーブルサーチ部830がTagテーブル900の出力ポートフィールドに格納された1つまたは複数のポートを取得していたのに対して、テーブルサーチ部2630は、Tagテーブル2700の出力ポートフィールドに格納された出力ポートフィールドに格納された1つまたは複数のポートを取得する。
Tagテーブル2700から取得した拡張タグに対する出力ポートが複数である場合、複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、第1の実施の形態で説明した方法を用いればよい。
また、障害が発生した場合、障害管理部770から通知を受けると、テーブルサーチ部2630は、Tagテーブル2700の出力ポートに格納されたポートから取得したポートが複数であった場合、障害が検出されたポートを取得したポート(出力ポートしての選択対象ポート)から除外する。
障害検出ポートを除外した後において、複数の出力ポートから出力先を決定するアルゴリズムは第1の実施の形態で示した方法のいずれかを用いる。
出力ポートを決定後、テーブルサーチ部2630は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部2690におけるTagテーブル2700の設定処理のフローチャートを図26に、テーブルサーチ部2630における受信フレームの出力ポート決定処理のフローチャートを図27に示す。
図26に示すように、テーブル制御部2690は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップA2として、受信したSTPポート情報に基づき、Tagテーブル2700を更新する。
また、図27に示すように、テーブルサーチ部2630は、ステップB1において、フレーム解析部800から受信フレーム情報を受信すると、ステップB2として、Tagテーブル2700を参照して、拡張タグに対する出力ポートを取得する。
ここで、ステップB3において、取得した出力ポートが1つか複数かを判定し、複数存在している場合、さらに、ステップD4において、取得した複数の出力ポートのうち障害管理部770によって障害検出されたポートが含まれるかどうかを判定する。
ステップD4で障害検出されたポートが含まれる場合には、ステップD5において、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行なう。
この障害検出された出力ポートはテーブル制御部2690によってTagテーブル2700の出力ポートから削除される。
そして、ステップB4において、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
また、ステップB3において取得ポートが1ポートであった場合、ステップB5において、取得した出力ポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1のネットワークにおいて、端末T8から端末T5へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。
本発明のフレーム転送方法を用いると、第1の実施の形態と同様に、従来技術の特徴であるユーザ端末T8からユーザ端末T5への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
以降では、第1の実施の形態との大きな差分である、障害検出されたポートが存在する場合における、Tagテーブル2700を有するエッジスイッチE8とコアスイッチC6について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチE8のテーブルを図28にまとめて示す。
エッジスイッチE8では、STP制御部880において、図28(A)のSTPポート状態管理テーブル1404を有している。STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1と、STP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図28(B)に示すTagテーブル2901のようになる。その他のテーブルは、図12と同じくMAC/Tagテーブル1502(図28(C))、MACテーブル1503(図28(D))のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図29を用いて説明する。
コアスイッチC6では、STP制御部880において、図29(A)に示すようなSTPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブル2700を設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1と、STP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図29(B)において、Tagテーブル3001のようになり、その出力ポートのフィールドには、ポートp1、p2が設定されている。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図23のノード構成図および図28、図29のテーブルを用いて以降で説明する。
図18に示す端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部800において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、Tagテーブル2901を参照して、拡張タグg5に対する出力ポート=ポートp1と出力ポート=ポートp2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部820に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先MACアドレス、送信元MACアドレスなどのイーサネット(登録商標)フレームのヘッダ情報、または宛先IPアドレスや送信元IPアドレスなどのIPパケットのヘッダ情報といったイーサネット(登録商標)フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部810は、フレーム解析部800から受信しているフレームまたはペイロードに対して、テーブルサーチ部2630から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは、図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。また、フレーム転送処理と平行して、必要に応じて第1の実施の形態と同様にラーニング処理も行なっている。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポート=ポートp1、出力ポート=ポートp2を取得する。その後、取得したポートp1、p2を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1またはp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp1またはp2に対して拡張タグフレーム2200を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1の実施の形態で説明したのと同様の処理を行ない、フレーム転送する。その結果、イーサネット(登録商標)フレーム2100は宛先のユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。
これにより、従来技術では未使用リンクとなっていたエッジスイッチE8/エッジスイッチE7間のリンク、コアスイッチC6/コアスイッチC5間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。本実施の形態の構成では、帯域利用効率の面では従来技術と比べて第1の実施の形態と同等の効果を持ちながら、第1の実施の形態に比べて、障害発生時の復旧が高速化される。
図1のネットワークにおいて、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合、コアスイッチC6では、障害を検知すると、障害管理部770は、STP制御部880およびテーブルサーチ部2630に障害通知する。
STP制御部880は、ツリーの再構成処理を開始する。これはRSTPの標準動作に従うので詳細説明は省略する。
テーブルサーチ部2630は、障害管理部770から障害通知を受けると、出力ポート決定法を変更する。テーブルサーチ部2630は、障害通知受信以降は、Tagテーブル2700から取得される出力ポートから障害が検出された出力ポートを除外し、残りの出力ポートのポート番号のみを取得する。図29を参照すると、通常時はTagテーブル3001において、ポートp1、p2を取得し、所定の方法で出力先を決定していたのに対して、障害通知受信以降は、Tagテーブル3001から取得されるポートp1、p2から障害が検出されたポートp1を除外し、ポートp2のみを取得し、出力先とする。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部800において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部2630に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部2630は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポートとして、出力ポートであるポートp2を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部800から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部2630から受信している出力ポート=ポートp2に対して拡張タグフレーム2200を出力する。
障害発生前とは異なり、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームは、コアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
また、コアスイッチC6では、STP制御部880において、障害発生後のツリー再構成処理が行なわれている。
図30は、STPのポート状態が安定後の各テーブルの状態を示す。
STPのポート状態が安定後、STPのポート状態は、図30(A)のSTPポート状態管理テーブル2400のようになったとする。
STP制御部880は、STPポート状態管理テーブル2400を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=2をテーブル制御部2690に通知する。STPポート状態管理テーブル2400にはポート役割=Alternateポートのポートは存在しないため、これについては通知しない。
テーブル制御部2690は、フォワーディングテーブル格納部2640のTagテーブル2700において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポートp2を設定する。その結果のTagテーブル2700は、図30(B)のTagテーブル3101のようになる。
テーブル制御部2690は、Tagテーブル2700を更新する際に、同時にテーブルサーチ部2630にもTagテーブル3101の更新を通知する。
テーブルサーチ部2630は、Tagテーブル2700の出力ポートを参照して出力ポートを決定するよう、決定処理を通常処理に戻す。
ここで出力ポートに格納されるポート番号は、それまでの出力ポートであるため、結果として、出力先は変わらず、コアスイッチC6ではエッジスイッチE8から受信したフレームを全てポートp2に出力し、そのフレームはコアスイッチC5、エッジスイッチE5を経由して宛先ユーザ端末T5に到着する。
以上説明したように、本実施の形態では、障害発生時に、RSTPの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
なお、上記第2の実施の形態では、Tagテーブル2700を参照して取得した出力ポートが複数存在する場合であって、さらに、取得した複数の出力ポートに障害検出されたポートが含まれる場合に、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行ない、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定するように構成したが、図31に示すTagテーブル2800に示すように、障害時出力ポートのフィールドを設け、この障害時出力ポートに、障害用出力ポートとして、ポート役割=Alternateポートであるポートのポート番号を設定するようにしてもよい。
この場合、障害通知のない通常時においてはTagテーブル2800の出力ポートと障害時出力ポートを対象として出力ポートを取得し、所定のアルゴリズムを使用して出力先を決定し、障害通知を受けた場合には、Tagテーブル2800の障害時出力ポートに設定されたポートを出力ポートする。これにより、障害時の復旧を高速化できる。
(第2の実施の形態による効果)
以上、本実施の形態で説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2200は、従来技術に従いエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、最短経路で宛先のユーザ端末T5に到着可能であると共に、本発明の特徴として、エッジスイッチE8からエッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由する経路、または、コアスイッチC6からコアスイッチC5、エッジスイッチE5を経由する経路を利用して宛先のユーザ端末T5に到着可能である。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して負荷分散しながらフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
(第3の実施の形態)
本発明の第3の実施の形態について、図面を用いて詳細に説明する。
図32は、第3の実施の形態のフレームスイッチング部730の詳細構成を示している。
図32では、図23で示した第2の実施の形態でのフレームスイッチング部730に対して、テーブルサーチ部2630がテーブルサーチ部3230に変更され、フレーム解析部800がフレーム解析部3200に変更されている。また、フォワーディングテーブル格納部2640がフォワーディングテーブル格納部2840に変更され、それに伴いテーブル制御部2690がテーブル制御部2890に、テーブルサーチ部2630がテーブルサーチ部3230に変更されている。
まず、フォワーディングテーブル格納部2840について説明する。フォワーディングテーブル格納部2840のTagテーブルは、図31に示したような出力ポートと障害用出力ポートのフィールドを有するTagテーブル2800に変更されている。Tagテーブル2800の構成は、図31に示す通りであり、Tagテーブル900が拡張タグに対する出力ポートを管理していたのに対して、図31に示すようにTagテーブル2800は、拡張タグに対する通常時の出力ポートと障害時の出力ポートを管理する。
続いて、テーブル制御部2890について説明する。
テーブル制御部2890は、テーブル制御部890と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部2890は、STP制御部880からツリーIDと対応するポート情報、すなわち、ポート役割=Rootポートかつポート状態=Forwarding状態であるポート、または、ポート役割=Alternateポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部2840内のTagテーブル2800において、拡張タグフィールドが受信したツリーIDと等しいエントリに関して、出力ポートとして、ポート役割=Rootポートかつポート状態=Forwarding状態であるポートのポート番号を記載し、障害用出力ポートとして、ポート役割=Alternateポートであるポートのポート番号を記載する。
続いて、フレーム解析部3200について説明する。
フレーム解析部3200は、第1及び第2の実施の形態のフレーム解析部800の処理に加えて、テーブルサーチ部3230に対して通知するフレーム種別情報として、フレームの優先度情報も通知する。その他の処理はフレーム解析部800と同様である。
続いて、テーブルサーチ部3230について説明する。
テーブルサーチ部3230では、テーブルサーチ部830においてTagテーブル900を参照して拡張タグに対する出力ポートを取得していた処理が変更となる。テーブルサーチ部830がTagテーブル900の出力ポートフィールドに格納された1つまたは複数のポートを取得していたのに対して、テーブルサーチ部2630は、Tagテーブル2800の出力ポートフィールドに格納されたポートと障害時出力ポートフィールドに格納されたポートをあわせて取得する。障害時出力ポートは、該当無しの場合があるので、取得するポートは1つまたは複数のポートとなる。
テーブルサーチ部3230では、Tagテーブル2800を参照して拡張タグに対する出力ポートと障害時出力ポートを取得すると共に、取得したポートに障害時出力ポートが存在しない場合、フレームの優先度に関わらず、Tagテーブル2800の出力ポートフィールドから取得したポートから出力ポートを決定する。取得したポートが複数であった場合、複数の出力ポートから出力先を決定するアルゴリズムとしては第1の実施の形態で示した方法のいずれかを用いる。
取得したポートに障害時出力ポートが存在する場合、取得した通常の出力ポートと障害時出力ポートからフレームの優先度を考慮して出力ポートを決定する。
出力ポートを決定後、テーブルサーチ部3230は決定した出力ポート情報をフレーム転送部820に通知する。
前述の通り、本発明で新たに転送可能としたAlternateポートはRootポートの次にRootノードに対するコストが小さいポートであるため、Alternateポート側リンクを経由して宛先であるRootノードに到着する経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路である。そのため、テーブルサーチ部3230では、Tagテーブル2800を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先とする。
フレームの優先度については、一般的にはVLANタグのPriorityビットに基づいて決定する。また、場合によっては、宛先MACアドレスや送信元MACアドレスに対して優先度を設定して、それに基づいて決定してもかまわない。
このような転送処理を行なうことにより、高優先度フレームについては宛先に対して最短経路で転送することができ、低優先度フレームについては最短経路でないものの極力コストの低い経路を経由して宛先に到達することが可能である。
また、障害が発生した場合、障害管理部770から通知を受けると、テーブルサーチ部3230はTagテーブル2700の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部830は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブルサーチ部3230における受信フレームの出力ポート決定フローを図34にまとめた。なお、テーブル制御部2890におけるTagテーブル2800の設定処理のフローチャートは図33に示す。
図33に示すように、テーブル制御部2890は、ステップA1において、STP制御部880からSTPポート情報を受信すると、ステップC2として、受信したSTPポート情報に基づき、Tagテーブル2800を更新する。
図34に示すように、テーブルサーチ部3230は、ステップB1において、フレーム解析部3200から受信フレーム情報(フレーム優先度情報を含む)を受信すると、ステップD2として、Tagテーブル2800を参照して、拡張タグに対する出力ポートと障害時出力ポートを取得する。
ここで、ステップD3において、障害時出力ポートが存在するかを判定し、存在している場合、ステップE4において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップD3において障害時出力ポートが存在しない場合、ステップE5において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。
その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図1と同一トポロジーのネットワークにおいて、エッジスイッチE8に端末T8とともに端末T10が接続され、エッジスイッチE5に端末T5とともに端末T9が接続され、端末T8から端末T5へ、また、端末T10から端末T9へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。図35はネットワーク構成図である。
本発明のフレーム転送方法を用いると、第1と第2の実施の形態と同様に、従来技術の特徴であるユーザ端末T8、T10からユーザ端末T5、T9への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。さらに本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することができる。
ここで、第1の実施の形態との大きな差分であるTagテーブル2800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチE8のテーブルを図36にまとめた。
エッジスイッチE8では、STP制御部880において、STPポート状態管理テーブル1404を有している。STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1404を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2890に通知する。
テーブル制御部2890は、フォワーディングテーブル格納部2840のTagテーブル2800において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1を、障害時出力ポートとしてSTP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2800は、図36において、Tagテーブル2901のようになる。その他のテーブルは、図12と同じくMAC/Tagテーブル1502、MACテーブル1503のように登録されている。
続いて、転送経路上でエッジスイッチE8の次ホップのノードであるコアスイッチC6のテーブルについて、図37で説明する。
コアスイッチC6では、STP制御部880において、STPポート状態管理テーブル1406を有している。
STP制御部880は、前述のE8の説明と同様の処理によりSTPポート状態からTagテーブルを設定する。すなわち、STP制御部880では、STPのポート状態が安定すると、STPポート状態管理テーブル1406を参照して、ポート役割=Rootポートかつポート状態=Forwarding状態のポートである、VLAN=g5、ポート=1と、ポート役割=Alternateポートである、VLAN=g5、ポート=2をテーブル制御部2890に通知する。
テーブル制御部2890は、フォワーディングテーブル格納部2840のTagテーブル2800において、拡張タグ=g5に対する出力ポートとしてSTP制御部880から通知されたポート役割=Rootポートかつポート状態=Forwarding状態のポートであるポートp1を、障害時出力ポートとしてSTP制御部880から通知されたポート役割=Alternateポートであるポートp2を設定する。
その結果のTagテーブル2700は、図37において、Tagテーブル3001のようになる。
以降では、本発明の特徴であるTagテーブル2800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、図32のノード構成図および図36、図37のテーブルを用いて、フレーム転送処理手順を説明する。
ユーザ端末T8からユーザ端末T5には、図18のイーサネット(登録商標)フレーム2100が転送され、ユーザ端末T10からユーザ端末T9には、図39のイーサネット(登録商標)フレーム3400が転送されることとする。
ここで、フレームの優先度は、イーサネット(登録商標)フレーム2100が高優先フレームで、イーサネット(登録商標)フレーム3400は低優先フレームであるとする。この優先度は、図40のVLANタグフォーマットに示すように、イーサネット(登録商標)フレーム2100、3400のVLANタグAの中のPriorityビットに記載される。
なお、本実施の形態では、イーサネット(登録商標)フレーム2100、3400のVLANタグにPriority情報が格納されることとしているが、Priority情報は拡張タグの中に格納されたり、また本明細書には記載していないが、カスタマを識別するためのタグが拡張タグとVLANタグの間に挿入される場合があり、そのカスタマ識別のためのタグの中にPriority情報が格納されてもよい。いずれの場合でも、本発明では以下に説明するように、フレームの優先度に基づいて、フレーム転送を行なう。
端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3230は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、受信フレームが高優先フレームであるため、Tagテーブル2901を参照して、拡張タグg5に対する出力ポート=ポートp1を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3230から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3230から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
また、受信フレームが端末T10から端末T9宛てのイーサネット(登録商標)フレーム3400である場合、エッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、低優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3230は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、受信フレームが低優先フレームであるため、Tagテーブル2901を参照して、拡張タグg5に対する障害時出力ポート=ポートp2を取得し、フレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3230から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは図41の拡張タグフレーム3600となる。
フレーム書き換え後、フレーム書換部810は拡張タグフレーム3600をフレーム転送部820に転送する。フレーム転送部820はテーブルサーチ部3230から受信している出力ポート=ポートp2に対して拡張タグフレーム3600を出力する。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3230に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部3230は、受信フレームが拡張タグフレーム300であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードIDであり、高優先フレームであるため、Tagテーブル3001を参照して、拡張タグ=g5に対する出力ポート=ポートp1を取得する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3230から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1及び第2の実施の形態で説明したのと同様の処理を行ない、フレーム転送する(それぞれTagテーブル2700において障害時出力ポートが新たに導入されているが、本ネットワーク構成では各スイッチはAlternateポートを保持しないため、実質的な処理は同様となっている)。その結果、イーサネット(登録商標)フレーム2100は宛先のユーザ端末T5に到着する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られたイーサネット(登録商標)フレーム2100は高優先フレームであるため、宛先のユーザ端末T5が接続しているエッジスイッチE5への最短経路であるエッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5を経由して、宛先のユーザ端末T5に到着可能である。
また、ユーザ端末T10からユーザ端末T9に送られたイーサネット(登録商標)フレーム3400は低優先フレームであるため、宛先のユーザ端末T9が接続しているエッジスイッチE5に向けて、従来技術では未使用であったエッジスイッチE8/エッジスイッチE7間のリンクを利用して、2番目にコストが低い転送経路であるエッジスイッチE8、エッジスイッチE7、コアスイッチC5、エッジスイッチE5を経由して、宛先のユーザ端末T9に到着可能である。
このように、本実施の形態の転送方法では、高優先フレームに対しては最低コスト経路で転送され、低優先フレームに対しては従来技術では未使用となったリンクを利用することにより極力コストの低い経路で転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるAlternateポート側リンクへの転送に変化が生じる障害の一例として、図20に示すように、コアスイッチC6とエッジスイッチE6の間のリンクに障害が生じた場合について説明する。
テーブルサーチ部3230は、通常時はフレームの優先度に従い、高優先フレームに対してはTagテーブル2800の出力ポートを出力先とし、低優先フレームに対しては障害時出力ポートを出力先としていた。これに対し、障害発生後、障害管理部770から障害通知を受けると、テーブルサーチ部3230は、Tagテーブル2800の障害時出力ポートのポート番号のみを取得して、高優先フレーム、低優先フレーム共に、障害時出力ポートを出力先とする。
また、コアスイッチC6では、STP制御部880において、障害発生後のツリー再構成処理が行なわれている。このツリー再構成処理については、第2の実施の形態の場合と同様であり、図38は、ツリー再構成後に、STPのポート状態が安定後の各テーブルである。
これにより、本実施の形態では、障害発生時に、RSTPの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
(第3の実施の形態による効果)
以上、本実施の形態で説明したように、転送フレームに優先度が考慮されている場合、高優先フレームについては最低コスト経路にて宛先ユーザ端末に到着可能であり、低優先フレームについては、従来技術では未使用であったリンクを利用して、極力コストの低い経路で宛先ユーザ端末まで転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して、フレームの優先度を考慮しながら負荷分散してフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
(第4の実施の形態)
本発明の第4の実施の形態について、図面を用いて詳細に説明する。
図42は、第4の実施の形態のフレームスイッチング部730の詳細構成を示している。
図42では、図32で示した第3の実施の形態でのフレームスイッチング部730に対して、テーブルサーチ部3230がテーブルサーチ部3730に変更され、フォワーディングテーブル格納部2640がフォワーディングテーブル格納部3740に変更され、テーブル制御部2690がテーブル制御部3790に変更されている。以降では、第3の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部3740について説明する。
図43は、フォワーディングテーブル格納部3740の構成例である。
フォワーディングテーブル格納部3740は、第3の実施の形態のフォワーディングテーブル格納部2840に対して、図31に示したTagテーブル2800がTagテーブル3800に変更されている。
Tagテーブル3800の構成は、図44に示す通りである。Tagテーブル2700が拡張タグに対する出力ポート、障害時出力ポートを管理していたのに対して、図44に示すようにTagテーブル3800は、出力ポート、障害時出力ポートと各ポートのルートパスコストを管理する。ルートパスコストとはSTP/RSTPのパラメータで、ルートノードのへのコストを示している。
続いてテーブル制御部3790について説明する。
テーブル制御部3790は、テーブル制御部2690と同様にSTP制御部880から通知されたSTPのポート情報に基づいて、拡張タグに対する出力ポートを設定するのに加えて、各ポートのルートパスコストも設定する。
テーブル制御部3790は、STP制御部880からポート情報として、ポート役割、ポート状態と共にルートパスコストも合わせて取得する。そして、フォワーディングテーブル格納部3740内のTagテーブル3800において、出力ポート、障害時出力ポートにそれぞれのルートパスコストもあわせて記載する。
続いて、テーブルサーチ部3730について説明する。テーブルサーチ部3230では、フレームの優先度を考慮して出力ポートを決定していた。テーブルサーチ部3730では、同様にフレーム優先度を考慮して出力ポートを決定する際に、各ポートのルートパスコストも考慮して出力先を決定する。
テーブルサーチ部3230では、Tagテーブル2700を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先としていた。
障害時出力ポート=Alternateポートは、出力ポート=Rootポートに次いでルートノードへのコスト(ルートパスコスト)が低い経路が選択されている。
ネットワーク構成によっては、両ポートのルートパスコストが等しい場合には、ポート番号等のパラメータにより、Root、Alternateの決定が行なわれる。
ルートパスコストが等しい場合、障害時出力ポート=Alternateポートを選択したとしても出力ポート=Rootポートを選択した場合と同様に最短経路で宛先に到着することが可能である。
そこで、テーブルサーチ部3730では、Tagテーブル3800を参照して拡張タグに対する出力ポートと障害時出力ポートを取得した場合、両ポートのルートパスコストが等しい場合には、フレームの優先度に関わらず、両ポートを対象として前述の所定の方法を利用して出力先を決定し、出力ポート=Rootポートのルートパスコストが障害時出力ポート=Alternateポートのルートパスコストよりも小さい場合には、高優先フレームを出力ポートに出力し、低優先フレームを障害時出力ポートに出力する。
また、障害が発生した場合の処理は、テーブルサーチ部2630、3230と同様である。障害管理部770から通知を受けると、テーブルサーチ部3730はTagテーブル3800の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部3730は決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部3790におけるTagテーブル3800の設定フローを図45に、テーブルサーチ部3730における受信フレームの出力ポート決定フローを図46にまとめた。
図45に示すように、テーブル制御部3790は、ステップF1において、STP制御部880からSTPポート情報(ルートパスコスト情報を含む)を受信すると、ステップF2として、受信したSTPポート情報に基づき、Tagテーブル3800を更新する。
また、図46に示すように、テーブルサーチ部3730は、ステップE1において、フレーム解析部3200から受信フレーム情報(フレーム優先度情報を含む)を受信すると、ステップG2として、Tagテーブル3800を参照して、拡張タグに対する出力ポートと障害時出力ポートと各ポートのルートパスコストを取得する。
ここで、ステップD3において、障害時出力ポートが存在するかを判定し、存在している場合、ステップG4において、取得した出力ポートと障害時出力ポートのルートパスコストを比較し、等しい場合、ステップG6において、フレーム優先度に関わらず、両ポートを対象として所定のアルゴリズムを使用して出力先を決定する。
また、ステップG4において、コストが等しくない場合、ステップE4において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップD3において障害時出力ポートが存在しない場合、ステップE5において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。その後、ステップB6において、決定した出力ポート情報をフレーム転送部820に通知する。
以上説明した構成を有するエッジスイッチE5〜E8、コアスイッチC5、C6からなる図35のネットワークにおいて、第3の実施の形態と同様に端末T8から端末T5へ、また、端末T10から端末T9へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。なお、本実施の形態では、コアスイッチC5/コアスイッチC6間のリンクのみ100Mbpsの帯域で、その他のリンクは1Gbpsの帯域であるとする。よって、本実施の形態では、各リンクのコストを100Mbpsリンクが10、他の1Gbpsリンクが1とする。
本発明のフレーム転送方法を用いると、第1〜第3の実施の形態と同様に、従来技術の特徴であるユーザ端末T8、T10からユーザ端末T5、T9への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
また、本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することが可能であり、さらに、候補となる経路のコストが等しい場合は優先度を考慮せずに分散させ、コストに差がある場合に優先度に応じた転送を行うことで、優先度による偏りを極力なくしつつ、高優先フレームについては最短経路で転送することが可能である。
以降では、本発明の特徴であるTagテーブル3800における障害時出力ポートが存在するエッジスイッチE8とコアスイッチC6について、フレーム転送処理手順を説明する。エッジスイッチE8のテーブルを図47の(A)から(D)、コアスイッチC6のテーブルを図48の(A)、(B)に示す。
第3の実施の形態と同様に、ユーザ端末T8からユーザ端末T5には、図18のイーサネット(登録商標)フレーム2100が転送され、ユーザ端末T10からユーザ端末T9には、図35のイーサネット(登録商標)フレーム3300が転送されており、フレームの優先度はイーサネット(登録商標)フレーム2100が高優先フレームで、イーサネット(登録商標)フレーム3300は低優先フレームであるとする。
端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100を受信したエッジスイッチE8は、フレーム解析部3200において、入力フレームが通常のイーサネット(登録商標)フレーム200であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。
テーブルサーチ部3730は、受信フレームがイーサネット(登録商標)フレーム200であり、入力ポートがユーザ端末側ポートであるため、MAC/Tagテーブル1502を参照して、宛先MACアドレスt5、VLAN=Aに対する拡張タグ=g5を取得し、フレーム書換部1020に対して拡張タグのスタック処理を指示する。また、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが3、また、障害時出力ポートはポートp2でルートパスコストが3であることを取得する。
受信フレームは高優先フレームであるが、両ポートのルートパスコストが等しいため、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、決定した出力ポートをフレーム転送部820に通知する。
フレーム書換部810は、フレーム解析部3200から受信しているフレームまたはペイロードに対して、テーブルサーチ部3730から指示された拡張タグ=g5のスタック処理を行なう。その結果、出力するフレームは、図19の拡張タグフレーム2200となる。
フレーム書き換え後、フレーム書換部810は、拡張タグフレーム2200をフレーム転送部820に転送する。
フレーム転送部820はテーブルサーチ部3230から受信している出力ポート=ポートp1またはポートp2に対して拡張タグフレーム2200を出力する。
また、受信フレームが端末T10から端末T9宛てのイーサネット(登録商標)フレーム3300である場合、エッジスイッチE8は、上述の通り拡張タグg5に対する出力ポートとルートパスコストが等しいため、フレーム優先度は考慮せず、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、出力する。なお、出力されるフレームは拡張タグフレーム3600である。詳細は上述の端末T8から端末T5宛てのイーサネット(登録商標)フレーム2100と同様であるため、省略する。
続いて、エッジスイッチE8のポートp1側に接続される次ホップのコアスイッチC6について説明する。
エッジスイッチE8から拡張タグフレーム2200を受信したコアスイッチC6は、フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部3730は、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが2、また、障害時出力ポートはポートp2でルートパスコストが11であることを取得する。
受信フレームは高優先フレームであり、両ポートのルートパスコストが等しくないため、出力ポート=ポートp1を出力先として決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp1を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム2200に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3730から受信している出力ポート=ポートp1に対して拡張タグフレーム2200を出力する。
一方、コアスイッチC6が、エッジスイッチE8から拡張タグフレーム3600を受信した場合は以下のようになる。フレーム解析部3200において、入力フレームが拡張タグフレーム300であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部3730に通知し、フレーム全体またはペイロード部をフレーム書換部810に通知する。ここでは、入力フレームの入力情報は低優先フレームとなっている。
テーブルサーチ部3730は、Tagテーブル4001を参照して、拡張タグ=g5に対する出力ポートはポートp1でルートパスコストが2、また、障害時出力ポートはポートp2でルートパスコストが11であることを取得しており、受信フレームが低優先フレームであるため、出力ポート=ポートp2を出力先として決定する。その後、フレーム書換部810に対してフレーム書換無しを通知し、フレーム転送部820には決定した出力ポートp2を通知する。
フレーム書換部810は、フレーム解析部3200から受信している拡張タグフレーム3600に対し書換処理を行なわずにフレーム転送部820に転送する。
フレーム転送部820は、テーブルサーチ部3730から受信している出力ポート=ポートp2に対して拡張タグフレーム3600を出力する。
コアスイッチC6のポートp1側に接続するエッジスイッチE6、エッジスイッチE6の次ホップのエッジスイッチE5、エッジスイッチE8のポートp2側に接続するエッジスイッチE7、コアスイッチC6のポートp2側に接続するコアスイッチC5は、それぞれ第1及び第2の実施の形態で説明したのと同様の処理を行ない、フレーム転送する(それぞれTagテーブル3800において、出力ポートと障害時出力ポートのルートパスコストが新たに導入されているが、本ネットワーク構成では各スイッチはAlternateポートを保持しないため、実質的な処理は同様となっている)。その結果、イーサネット(登録商標)フレーム2100、3400は宛先のユーザ端末T5、T9に到着する。
ネットワーク内に障害が発生した時のフレーム転送については第3の実施の形態と同様であるため、説明を省略する。
以上説明したように、ユーザ端末T8からユーザ端末T5に送られた高優先のイーサネット(登録商標)フレーム2100と、ユーザ端末T10からユーザ端末T9に送られた低優先のイーサネット(登録商標)フレーム3300は、宛先のエッジスイッチE5に対する最低コストの経路である、(a)エッジスイッチE8、コアスイッチC6、エッジスイッチE6、エッジスイッチE5か、(b)エッジスイッチE8、エッジスイッチE7、コアスイッチC5、エッジスイッチE5を通って、宛先のユーザ端末T5、T9に転送される。
ここで、(a)の経路上に転送されたフレームについては、コアスイッチC6で障害時出力ポートを備えており、受信フレームの中の低優先フレームについてはポートp2側に出力され、コアスイッチC6、コアスイッチC5、エッジスイッチE5を通って、宛先のユーザ端末T9に転送される。
なお、送付先の端末までのルートパスコストが、当該ネットワークシステムについて予め設定されるルートパスコストの許容値を超える場合には、Tagテーブル3800から当該経路宛のポートを削除するように構成することも可能である。
このように構成することで、ルートパスコストが許容値を超えるような経路が選択されてしまうことを防止することができる。
(第4の実施の形態による効果)
このように、本実施の形態の転送方法では、従来技術では未使用であったリンクを利用してネットワーク全体の帯域利用率を向上することができる。
その際、宛先までコストが等しい経路が複数ある場合は優先度を考慮せずに分散して転送し、コストが異なる経路が複数ある場合は、高優先フレームを最低コスト経路で転送し、低優先フレームをその他の極力コストの低い経路で転送する。
これにより、データの優先度に基づく転送を行なうと共に、優先度によるデータ量の偏りを小さくして、フレーム転送量を平準化できる。
以上好ましい複数の実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
Claims (40)
- 送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのノードにおいて、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、ネットワーク内の各ノードから前記ノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記ノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記ノードに対してデータフレームを転送することを特徴とするノード。 - 宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項1に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、所定のアルゴリズムに基づいて、複数のポートから、前記ノードに対する出力ポートを決定することを特徴とする請求項1または請求項2に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、転送するデータフレームの優先度を考慮して、複数のポートから、前記ノードに対する出力ポートを決定することを特徴とする請求項1または請求項2に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記優先度の高い前記データフレームの出力ポートをルートポートであって状態がフォワーディング状態であるポートとし、前記優先度の低い前記データフレームの出力ポートをオルタネイトポートであるポートとすることを特徴とする請求項4に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記優先度の高い前記データフレームの出力ポートをオルタネイトポートであるポートとし、前記優先度の低い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとすることを特徴とする請求項4に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記ノードまでのパスコストとデータフレームの優先度を考慮して、前記ノードに対する出力ポートを決定することを特徴とする請求項1または請求項2に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記パスコストとデータフレームの優先度を考慮して、前記ノードに対する出力ポートを決定することを特徴とする請求項7に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記優先度の高い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとし、前記優先度の低い前記データフレームの出力先をオルタネイトポートであるポートとすることを特徴とする請求項8に記載のノード。 - 前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記優先度の高い前記データフレームの出力先をオルタネイトポートであるポートとし、前記優先度の低い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとすることを特徴とする請求項8に記載のノード。 - 出力ポートを決定する前記アルゴリズムが、ラウンドロビンまたは重み付けラウンドロビンにより、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項3または請求項8に記載のノード。
- 出力ポートを決定する前記アルゴリズムが、データフレームのヘッダ情報に基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項3または請求項8に記載のノード。
- 出力ポートを決定する前記アルゴリズムが、データフレームのペイロードに記載された内容に基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項3または請求項8に記載のノード。
- 出力ポートを決定する前記アルゴリズムが、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項3または請求項8に記載のノード。
- 前記アルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの接続リンクのリンク速度により決定されることを特徴とする請求項11に記載のノード。
- 前記アルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの宛先端末に接続する前記ノードまでのパスコストにより決定されることを特徴とする請求項11に記載のノード。
- 前記宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項1または請求項2に記載のノード。 - 前記宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを取得し、前記出力ポートが複数存在する場合に、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項1から請求項3のいずれか1項に記載のノード。 - 前記宛先端末に接続するノードの識別子に対応する出力ポートと障害時出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを取得し、取得したポートが複数存在する場合に、複数のポートに障害検出されたポートが含まれる場合、当該障害検出されたポートを前記複数のポートから除外し、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項1から請求項3のいずれか1項に記載のノード。 - 前記宛先端末に接続するノードの識別子に対応する出力ポートと障害時出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込み、役割がオルタネイトポートであるポートを前記ノードに対する障害時出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記データフレームの優先度を考慮して出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項1、請求項2、請求項4のいずれか1項に記載のノード。 - 前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードに対する優先度の高いデータフレームの出力先を前記出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記障害時出力ポートとして決定することを特徴とする請求項20に記載のノード。
- 前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードに対する優先度の高いデータフレームの出力先を前記障害時出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記出力ポートとして決定することを特徴とする請求項20に記載のノード。
- 前記宛先端末に接続するノードの識別子に対する出力ポートとそのルートパスコスト、障害時出力ポートとそのルートパスコストを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポートを前記ノードに対する出力ポートとして、そのルートパスコストと共に前記フォワーディングテーブルに書込み、役割がオルタネイトポートであるポートを前記ノードに対する障害時出力ポートとして、そのルートパスコストとして前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードまでのパスコストであるルートパスコストとデータフレームの優先度を考慮して出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項1、請求項2、請求項7のいずれか1項に記載のノード。 - 前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記ルートパスコストが等しくない場合には、前記データフレームの優先度を考慮して前記ノードに対する出力ポートを決定することを特徴とする請求項23に記載のノード。
- 前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力先を決定し、前記ルートパスコストが等しくない場合には、前記ノードに対する優先度の高いデータフレームの出力先を前記出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記障害時出力ポートとして決定することを特徴とする請求項23に記載のノード。
- 前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力先を決定し、前記ルートパスコストが等しくない場合には、前記ノードに対する優先度の高いデータフレームの出力先を前記障害時出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記出力ポートとして決定することを特徴とする請求項23に記載のノード。
- 前記出力ポート決定部が、前記所定のアルゴリズムとして、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項18、請求項19、請求項24から請求項26のいずれか1項に記載のノード。
- 前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのヘッダ情報に基づいてデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項18、請求項19、請求項24から請求項26のいずれか1項に記載のノード。
- 前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのペイロードに記載された内容に基づいてデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項18、請求項19、請求項24から請求項26のいずれか1項に記載のノード。
- 前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、データフレームを出力するポートを決定する方式を使用することを特徴とする請求項18、請求項19、請求項24から請求項26のいずれか1項に記載のノード。
- 前記出力ポート決定部が、使用する前記所定のアルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの接続リンクのリンク速度により決定されることを特徴とする請求項27に記載のノード。
- 前記出力ポート決定部が、使用する前記所定のアルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの宛先端末に接続する前記ノードまでのパスコストにより決定されることを特徴とする請求項27に記載のノード。
- 前記宛先端末に接続するノードの識別子がVLANタグに格納されることを特徴とする請求項1から請求項32のいずれか1項に記載のノード。
- 前記宛先端末に接続するノードの識別子がMACアドレスであることを特徴とする請求項1から請求項32のいずれか1項に記載のノード。
- 送信元端末から送信されるデータフレームを宛先端末に転送するネットワークにおけるフレーム転送方法であって、
前記ネットワーク内の各ノードが、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続する前記ノードに対してデータフレームを転送することを特徴とするフレーム転送方法。 - 宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項35に記載のフレーム転送方法。 - 送信元端末から送信されるデータフレームを宛先端末に転送するネットワークシステムにおいて、
前記ネットワーク内の各ノードが、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続するノードに対してデータフレームを転送することを特徴とするネットワークシステム。 - 宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項37に記載のネットワークシステム。 - 送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのコンピュータであるノード上で実行されるフレーム転送プログラムであって、
前記ネットワーク内の各ノードに、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続するノードに対してフレームを転送する機能を持たせることを特徴とするフレーム転送プログラム。 - 前記ネットワーク内の各ノードに、
宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとする機能を持たせることを特徴とする請求項39に記載のフレーム転送プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006038894 | 2006-02-16 | ||
JP2006038894 | 2006-02-16 | ||
PCT/JP2007/053339 WO2007094520A1 (ja) | 2006-02-16 | 2007-02-16 | ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2007094520A1 true JPWO2007094520A1 (ja) | 2009-07-09 |
Family
ID=38371687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008500596A Pending JPWO2007094520A1 (ja) | 2006-02-16 | 2007-02-16 | ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8094584B2 (ja) |
JP (1) | JPWO2007094520A1 (ja) |
CN (1) | CN101385284B (ja) |
WO (1) | WO2007094520A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009065429A (ja) * | 2007-09-06 | 2009-03-26 | Hitachi Communication Technologies Ltd | パケット転送装置 |
JP5387349B2 (ja) * | 2009-11-11 | 2014-01-15 | 富士通株式会社 | 中継装置 |
US8619546B2 (en) * | 2010-08-17 | 2013-12-31 | Alcatel Lucent | Method and apparatus for coping with link failures in central control plane architectures |
DE102011004064A1 (de) * | 2011-02-14 | 2012-08-16 | Siemens Aktiengesellschaft | Zwischennetzwerk in Ringtopologie und Verfahren zum Herstellen einer Netzwerkverbindung zwischen zwei Netzwerkdomänen |
US9124524B2 (en) * | 2011-06-29 | 2015-09-01 | Broadcom Corporation | System and method for priority based flow control between nodes |
JP2013198077A (ja) * | 2012-03-22 | 2013-09-30 | Yazaki Corp | ネットワーク及びブリッジ |
CN102739309B (zh) * | 2012-06-15 | 2014-12-24 | 烽火通信科技股份有限公司 | 智能odn系统中快速感知端口状态的方法 |
US9246821B1 (en) * | 2014-01-28 | 2016-01-26 | Google Inc. | Systems and methods for implementing weighted cost multi-path using two-level equal cost multi-path tables |
NO2776466T3 (ja) * | 2014-02-13 | 2018-01-20 | ||
CN106453022A (zh) * | 2016-09-14 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种网络设备和数据包发送方法 |
CN108683580B (zh) * | 2018-05-24 | 2020-11-03 | 西安电子科技大学 | 基于Mac地址划分的虚拟局域网数据处理方法 |
US10721163B1 (en) * | 2019-03-15 | 2020-07-21 | Dell Products L.P. | Spanning tree protocol bridge-based link selection system |
US11354269B2 (en) | 2020-01-27 | 2022-06-07 | Bank Of America Corporation | Snapshot load framework |
US11308065B2 (en) | 2020-01-27 | 2022-04-19 | Bank Of America Corporation | Condenser framework |
US11269826B2 (en) * | 2020-01-27 | 2022-03-08 | Bank Of America Corporation | View tables framework |
US11689455B2 (en) * | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
EP4183119A1 (en) | 2020-07-14 | 2023-05-24 | Oracle International Corporation | Virtual layer-2 network |
CN112422447B (zh) * | 2020-11-13 | 2022-04-26 | 新华三技术有限公司合肥分公司 | 一种成员端口的选择方法及装置 |
CN112104451B (zh) * | 2020-11-20 | 2021-02-09 | 武汉绿色网络信息服务有限责任公司 | 一种数据包传输端口的刷新方法和装置 |
US11757773B2 (en) | 2020-12-30 | 2023-09-12 | Oracle International Corporation | Layer-2 networking storm control in a virtualized cloud environment |
US11671355B2 (en) | 2021-02-05 | 2023-06-06 | Oracle International Corporation | Packet flow control in a header of a packet |
US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
CN113783806B (zh) * | 2021-08-31 | 2023-10-17 | 上海新氦类脑智能科技有限公司 | 分流器路由跳转方法、装置、介质、设备及其应用的多核系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003318933A (ja) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | 冗長ポートの有効利用方法 |
JP2004214816A (ja) * | 2002-12-27 | 2004-07-29 | Nec Corp | スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード |
WO2004088931A1 (ja) * | 2003-03-31 | 2004-10-14 | Fujitsu Limited | データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 |
JP2006279842A (ja) * | 2005-03-30 | 2006-10-12 | Nec Corp | ネットワークシステム、ツリー再構成処理方法、ノード、ツリー再構成処理プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178448B1 (en) * | 1997-06-18 | 2001-01-23 | International Business Machines Corporation | Optimal link scheduling for multiple links by obtaining and utilizing link quality information |
US6556541B1 (en) * | 1999-01-11 | 2003-04-29 | Hewlett-Packard Development Company, L.P. | MAC address learning and propagation in load balancing switch protocols |
US6717950B2 (en) * | 2002-01-20 | 2004-04-06 | General Instrument Corporation | Method and apparatus for priority-based load balancing for use in an extended local area network |
JP3799010B2 (ja) * | 2002-12-19 | 2006-07-19 | アンリツ株式会社 | メッシュ型ネットワーク用ブリッジ |
CN1510873A (zh) * | 2002-12-26 | 2004-07-07 | 华为技术有限公司 | 基于多生成树协议的域根切换实现方法 |
US20040225725A1 (en) * | 2003-02-19 | 2004-11-11 | Nec Corporation | Network system, learning bridge node, learning method and its program |
US7532588B2 (en) * | 2003-02-19 | 2009-05-12 | Nec Corporation | Network system, spanning tree configuration method and configuration program, and spanning tree configuration node |
-
2007
- 2007-02-16 WO PCT/JP2007/053339 patent/WO2007094520A1/ja active Application Filing
- 2007-02-16 JP JP2008500596A patent/JPWO2007094520A1/ja active Pending
- 2007-02-16 CN CN200780005887.1A patent/CN101385284B/zh not_active Expired - Fee Related
- 2007-02-16 US US12/279,682 patent/US8094584B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003318933A (ja) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | 冗長ポートの有効利用方法 |
JP2004214816A (ja) * | 2002-12-27 | 2004-07-29 | Nec Corp | スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード |
WO2004088931A1 (ja) * | 2003-03-31 | 2004-10-14 | Fujitsu Limited | データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 |
JP2006279842A (ja) * | 2005-03-30 | 2006-10-12 | Nec Corp | ネットワークシステム、ツリー再構成処理方法、ノード、ツリー再構成処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100232322A1 (en) | 2010-09-16 |
CN101385284B (zh) | 2014-07-02 |
US8094584B2 (en) | 2012-01-10 |
CN101385284A (zh) | 2009-03-11 |
WO2007094520A1 (ja) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2007094520A1 (ja) | ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム | |
US8565124B2 (en) | Node, network, correspondence relationship generation method and frame transfer program | |
WO2021169258A1 (zh) | 转发报文的方法、发布路由信息的方法、装置及系统 | |
US9178762B2 (en) | Configuring networks including spanning trees | |
EP1925126B1 (en) | System and method for generating symmetrical spanning trees | |
US9485194B2 (en) | Virtual link aggregation of network traffic in an aggregation switch | |
US8811398B2 (en) | Method for routing data packets using VLANs | |
US6628661B1 (en) | Spanning tree recovery in computer networks | |
US8498297B2 (en) | Forwarding table minimisation in ethernet switches | |
EP1766530B1 (en) | Scaling vlans in a data network | |
EP2057788B1 (en) | Multi-chassis emulated switch | |
JP5103892B2 (ja) | 先着学習方法、中継装置および中継装置用プログラム | |
US8107482B2 (en) | Multipath discovery in switched ethernet networks | |
EP2756638B1 (en) | Method for shortest path bridging of multicast traffic | |
US20070127367A1 (en) | Communication system and communication method | |
US8331241B2 (en) | Routing control method, communication apparatus and communication system | |
WO2004019560A1 (ja) | ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム | |
EP2667544B1 (en) | Media access control bridging in a mesh network | |
JP4780340B2 (ja) | ノード,ネットワーク,対応関係作成方法及びフレーム転送プログラム | |
US20090122800A1 (en) | Frame transfer route confirmation method, node, frame transfer route confirmation program and frame transfer route confirmation system | |
EP2652920B1 (en) | Managing stale route removal in a routing information base of a network element | |
JP2013198077A (ja) | ネットワーク及びブリッジ | |
Sharma et al. | Meshed tree protocol for faster convergence in switched networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120329 |