(57)【要約】スパニングツリープロトコルを拡張した最適経路転送技術におけるネットワーク全体でのスループット低下を解決するため、ネットワークのノードのフレームスイッチング部７３０は、スパニングツリーのポート状態に変更があると、テーブル制御部８９０に対してスパニングツリーの識別子と各ポートの中で所定のポートのポート番号を通知するＳＴＰ制御部８８０と、フォワーディングテーブル格納部８４０に対し、受信した所定のポートのポート番号をノードＩＤ＝スパニングツリー識別子のエントリの出力ポートとして設定するテーブル制御部８９０と、フレーム解析部８００からの受信フレーム情報の取得によって取得した出力ポートの中から出力先を決定するテーブルサーチ部８３０とを有する。
2007094520.tif 000002
【特許請求の範囲】
【請求項１】
送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのノードにおいて、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、ネットワーク内の各ノードから前記ノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記ノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記ノードに対してデータフレームを転送することを特徴とするノード。
【請求項２】
宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項１に記載のノード。
【請求項３】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、所定のアルゴリズムに基づいて、複数のポートから、前記ノードに対する出力ポートを決定することを特徴とする請求項１または請求項２に記載のノード。
【請求項４】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、転送するデータフレームの優先度を考慮して、複数のポートから、前記ノードに対する出力ポートを決定することを特徴とする請求項１または請求項２に記載のノード。
【請求項５】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記優先度の高い前記データフレームの出力ポートをルートポートであって状態がフォワーディング状態であるポートとし、前記優先度の低い前記データフレームの出力ポートをオルタネイトポートであるポートとすることを特徴とする請求項４に記載のノード。
【請求項６】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記優先度の高い前記データフレームの出力ポートをオルタネイトポートであるポートとし、前記優先度の低い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとすることを特徴とする請求項４に記載のノード。
【請求項７】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、前記ノードまでのパスコストとデータフレームの優先度を考慮して、前記ノードに対する出力ポートを決定することを特徴とする請求項１または請求項２に記載のノード。
【請求項８】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記パスコストとデータフレームの優先度を考慮して、前記ノードに対する出力ポートを決定することを特徴とする請求項７に記載のノード。
【請求項９】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記優先度の高い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとし、前記優先度の低い前記データフレームの出力先をオルタネイトポートであるポートとすることを特徴とする請求項８に記載のノード。
【請求項１０】
前記宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートが複数存在する場合に、各ポートの前記ノードまでのパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記パスコストが等しくない場合には、前記優先度の高い前記データフレームの出力先をオルタネイトポートであるポートとし、前記優先度の低い前記データフレームの出力先をルートポートであって状態がフォワーディング状態であるポートとすることを特徴とする請求項８に記載のノード。
【請求項１１】
出力ポートを決定する前記アルゴリズムが、ラウンドロビンまたは重み付けラウンドロビンにより、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項３または請求項８に記載のノード。
【請求項１２】
出力ポートを決定する前記アルゴリズムが、データフレームのヘッダ情報に基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項３または請求項８に記載のノード。
【請求項１３】
出力ポートを決定する前記アルゴリズムが、データフレームのペイロードに記載された内容に基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項３または請求項８に記載のノード。
【請求項１４】
出力ポートを決定する前記アルゴリズムが、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、複数のポートからデータフレームを出力するポートを決定する方式であることを特徴とする請求項３または請求項８に記載のノード。
【請求項１５】
前記アルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの接続リンクのリンク速度により決定されることを特徴とする請求項１１に記載のノード。
【請求項１６】
前記アルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの宛先端末に接続する前記ノードまでのパスコストにより決定されることを特徴とする請求項１１に記載のノード。
【請求項１７】
前記宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項１または請求項２に記載のノード。
【請求項１８】
前記宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを取得し、前記出力ポートが複数存在する場合に、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項１から請求項３のいずれか１項に記載のノード。
【請求項１９】
前記宛先端末に接続するノードの識別子に対応する出力ポートと障害時出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートを取得し、取得したポートが複数存在する場合に、複数のポートに障害検出されたポートが含まれる場合、当該障害検出されたポートを前記複数のポートから除外し、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項１から請求項３のいずれか１項に記載のノード。
【請求項２０】
前記宛先端末に接続するノードの識別子に対応する出力ポートと障害時出力ポートを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポートを前記ノードに対する出力ポートとして、前記フォワーディングテーブルに書込み、役割がオルタネイトポートであるポートを前記ノードに対する障害時出力ポートとして、前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記データフレームの優先度を考慮して出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項１、請求項２、請求項４のいずれか１項に記載のノード。
【請求項２１】
前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードに対する優先度の高いデータフレームの出力先を前記出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記障害時出力ポートとして決定することを特徴とする請求項２０に記載のノード。
【請求項２２】
前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードに対する優先度の高いデータフレームの出力先を前記障害時出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記出力ポートとして決定することを特徴とする請求項２０に記載のノード。
【請求項２３】
前記宛先端末に接続するノードの識別子に対する出力ポートとそのルートパスコスト、障害時出力ポートとそのルートパスコストを保持するフォワーディングテーブルと、
前記スパニングツリーの処理を行なうスパニングツリー制御部と、
前記スパニングツリー制御部から通知される前記スパニングツリーのポート情報に基づき、前記ノードがルートノードとなる前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポートを前記ノードに対する出力ポートとして、そのルートパスコストと共に前記フォワーディングテーブルに書込み、役割がオルタネイトポートであるポートを前記ノードに対する障害時出力ポートとして、そのルートパスコストとして前記フォワーディングテーブルに書込みを行なうテーブル制御部と、
前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、前記ノードまでのパスコストであるルートパスコストとデータフレームの優先度を考慮して出力ポートを決定する出力ポート決定部と
を備えることを特徴とする請求項１、請求項２、請求項７のいずれか１項に記載のノード。
【請求項２４】
前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力ポートを決定し、前記ルートパスコストが等しくない場合には、前記データフレームの優先度を考慮して前記ノードに対する出力ポートを決定することを特徴とする請求項２３に記載のノード。
【請求項２５】
前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力先を決定し、前記ルートパスコストが等しくない場合には、前記ノードに対する優先度の高いデータフレームの出力先を前記出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記障害時出力ポートとして決定することを特徴とする請求項２３に記載のノード。
【請求項２６】
前記出力ポート決定部が、前記フォワーディングテーブルを参照して、前記ノードに対する出力ポートと障害時出力ポートを取得し、取得したポートが複数存在する場合に、それぞれの前記ルートパスコストが等しい場合には、所定のアルゴリズムに基づいて、前記ノードに対する出力先を決定し、前記ルートパスコストが等しくない場合には、前記ノードに対する優先度の高いデータフレームの出力先を前記障害時出力ポートとし、前記ノードに対する優先度の低いデータフレームの出力先を前記出力ポートとして決定することを特徴とする請求項２３に記載のノード。
【請求項２７】
前記出力ポート決定部が、前記所定のアルゴリズムとして、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項１８、請求項１９、請求項２４から請求項２６のいずれか１項に記載のノード。
【請求項２８】
前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのヘッダ情報に基づいてデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項１８、請求項１９、請求項２４から請求項２６のいずれか１項に記載のノード。
【請求項２９】
前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのペイロードに記載された内容に基づいてデータフレームを出力するポートを決定する方式を使用することを特徴とする請求項１８、請求項１９、請求項２４から請求項２６のいずれか１項に記載のノード。
【請求項３０】
前記出力ポート決定部が、前記所定のアルゴリズムとして、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、データフレームを出力するポートを決定する方式を使用することを特徴とする請求項１８、請求項１９、請求項２４から請求項２６のいずれか１項に記載のノード。
【請求項３１】
前記出力ポート決定部が、使用する前記所定のアルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの接続リンクのリンク速度により決定されることを特徴とする請求項２７に記載のノード。
【請求項３２】
前記出力ポート決定部が、使用する前記所定のアルゴリズムが重み付けラウンドロビンによる方式である場合に、前記条件に適合するポートの中でデータフレームを出力するポートとして選択される確率が、前記ポートの宛先端末に接続する前記ノードまでのパスコストにより決定されることを特徴とする請求項２７に記載のノード。
【請求項３３】
前記宛先端末に接続するノードの識別子がＶＬＡＮタグに格納されることを特徴とする請求項１から請求項３２のいずれか１項に記載のノード。
【請求項３４】
前記宛先端末に接続するノードの識別子がＭＡＣアドレスであることを特徴とする請求項１から請求項３２のいずれか１項に記載のノード。
【請求項３５】
送信元端末から送信されるデータフレームを宛先端末に転送するネットワークにおけるフレーム転送方法であって、
前記ネットワーク内の各ノードが、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続する前記ノードに対してデータフレームを転送することを特徴とするフレーム転送方法。
【請求項３６】
宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項３５に記載のフレーム転送方法。
【請求項３７】
送信元端末から送信されるデータフレームを宛先端末に転送するネットワークシステムにおいて、
前記ネットワーク内の各ノードが、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの前記データフレームの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続するノードに対してデータフレームを転送することを特徴とするネットワークシステム。
【請求項３８】
宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとすることを特徴とする請求項３７に記載のネットワークシステム。
【請求項３９】
送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのコンピュータであるノード上で実行されるフレーム転送プログラムであって、
前記ネットワーク内の各ノードに、
宛先端末に接続するノードがルートノードとなるスパニングツリーを、前記宛先端末に接続するノードへの転送経路として用い、
前記スパニングツリーのポート情報を基に前記宛先端末に接続するノードに対する出力ポートを決定し、
決定した前記出力ポートを経由して前記宛先端末に接続するノードに対してフレームを転送する機能を持たせることを特徴とするフレーム転送プログラム。
【請求項４０】
前記ネットワーク内の各ノードに、
宛先端末に接続する前記ノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとする機能を持たせることを特徴とする請求項３９に記載のフレーム転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網におけるフレーム転送に関し、特に、フレームの最短経路転送を行なう通信網のノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラムに関する。
【背景技術】
【０００２】
近年、安価な企業向けデータサービスとして、従来ＬＡＮで広く使用されてきたイーサネット（登録商標）技術を広域網に展開した広域イーサネット（登録商標）ＶＰＮサービス（広域イーサ）が注目されている。広域イーサは、プラグアンドプレイの使い易さ、低コスト性という従来のイーサネット（登録商標）技術の利点を継承している。
図４９は、広域イーサのネットワークの一例である。広域イーサのネットワークは、ユーザ端末Ｔ１、Ｔ２、Ｔ３、Ｔ４を収容するエッジスイッチＥ１、Ｅ２、Ｅ３、Ｅ４とユーザ端末を収容せずに中継動作のみを行なうコアスイッチＣ１、Ｃ２とから構成される。広域イーサのネットワーク内のフレーム転送方式は、通常のイーサネット（登録商標）フレーム転送方式を利用する場合の他、例えば、後述する文献１では、エッジスイッチＥ１〜Ｅ４にノードＩＤを割り当てて、広域イーサネット（登録商標）ワーク内の各ノードではノードＩＤに基づいてフレーム転送する方法が提案されている。文献１の方法では、ユーザ端末Ｔ１〜Ｔ４から受信したフレームに対して、Ｉｎｇｒｅｓｓエッジスイッチにおいて、宛先ユーザ端末Ｔ１〜Ｔ４が接続するＥｇｒｅｓｓエッジスイッチのノードＩＤをＶＬＡＮタグフィールドに格納し（以降、拡張タグを記す）、広域イーサネット（登録商標）ワーク内の各ノードでは拡張タグに基づいてフレーム転送し、Ｅｇｒｅｓｓエッジスイッチではフレームから拡張タグを削除しユーザ端末Ｔ１〜Ｔ４に転送する。図４９のネットワーク例では、エッジスイッチＥ１、Ｅ２、Ｅ３、Ｅ４に対して、それぞれノードＩＤとしてｇ１、ｇ２、ｇ３、ｇ４が設定されている。
図５０、図５１を用いて、フレームフォーマットについて説明する。図５０は、イーサネット（登録商標）フレーム２００のフォーマットである。イーサネット（登録商標）フレーム２００は、宛先ＭＡＣアドレス２１０、送信元ＭＡＣアドレス２２０、ＶＬＡＮタグ２３０、Ｔｙｐｅ２４０、ペイロード２５０、ＦＣＳ２６０から構成される。これに対して、図５１は、拡張タグが付加された拡張タグフレームのフォーマットである。拡張タグフレーム３００は、イーサネット（登録商標）フレーム２００に対して、送信元ＭＡＣアドレス２２０とＶＬＡＮタグ２３０の間に拡張タグ３１０が挿入されている。なお、図５０、図５１に関しては、ＶＬＡＮタグ２３０が付加されない場合もある。本明細書では、ＶＬＡＮタグ２３０が付加されていることを前提として説明する。
イーサネット（登録商標）技術では、何も処置をしないと、ネットワーク内にループ構成がある場合にフレームがループ上を回り続けて、特にブロードキャストフレームが回り続けた場合にネットワークがダウンする可能性がある。これを回避するために、ネットワーク内にループ構成がある場合でも、論理的にループを排除して、ループフリーネットワークを構成するためのスパニングツリープロトコル（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ。以降、ＳＴＰと記す。本技術はＩＥＥＥ８０２．１Ｄにて規定されている。）やその高速動作版の高速スパニングツリープロトコル（Ｒａｐｉｄ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ。以降、ＲＳＴＰと記す。本技術はＩＥＥＥ８０２．１ｗにて規定されている。）を用いる場合が多い。ＳＴＰやＲＳＴＰを用いる場合、ループ構成上のいずれかのポートがブロッキング状態（主信号フレームの送受信を行なわない状態。正確に言うと、転送はされているがブロッキング状態のポートでフレームを廃棄する。）となることにより、ループフリー構成となる。図４９のネットワークを例にすると、例えばエッジスイッチＥ３／コアスイッチＣ１／コアスイッチＣ２／エッジスイッチＥ４の間でループ構成があるが、コアスイッチＣ２のポートｐ２がブロッキング状態となることでループフリーとなる。しかしながら、このようなＳＴＰ、ＲＳＴＰを用いた場合、ブロッキングポートと接続されたリンクではフレーム転送できないため、あるスイッチ間でフレーム転送する場合に最短経路（最小ホップ数経路）で転送できない。図４９の例では、ユーザ端末Ｔ２からユーザ端末Ｔ１にフレーム転送する場合、エッジスイッチＥ２のポートｐ１がブロッキング状態となっているため、エッジスイッチＥ２→エッジスイッチＥ１の経路では転送できず、エッジスイッチＥ２→コアスイッチＣ２→エッジスイッチＥ４→エッジスイッチＥ３→コアスイッチＣ１→エッジスイッチＥ１の経路で転送されて、ユーザ端末Ｔ１に到着する。すなわち、物理トポロジー的には１ホップの距離であっても、論理トポロジー的には５ホップを経由しなければならず、最短経路転送できない場合がある。
この問題を解決する技術として、文献２では、ＶＬＡＮ毎にＳＴＰ／ＲＳＴＰを複数管理可能なＭｕｌｔｉｐｌｅ  ＳＴＰ（以降、ＭＳＴＰと記す）を利用し、各エッジスイッチが、自スイッチがルートノードとなるＳＴＰ／ＲＳＴＰを作成し、各々のＳＴＰ／ＲＳＴＰのルートノードとなるエッジスイッチを宛先とするフレームの転送経路をそのＳＴＰ／ＲＳＴＰとしている。ＳＴＰ／ＲＳＴＰでアクティブとなるリンク（ブロッキングポートを含まないリンク）は、ルートノードからのリンクコストが最小となるリンクが選ばれるため、文献２の方法を用いると最短経路での転送が可能となる。図４９で説明した前述のユーザ端末Ｔ２からＴ１へのフレーム転送に対し、文献２の方法を用いた例を図５２に示している。図５２では、ユーザ端末Ｔ２からＴ１へのフレーム転送は、エッジスイッチＥ１がルートノードとなるＳＴＰ／ＲＳＴＰを用いて行なわれる（エッジスイッチＥ３、Ｅ４からＥ１への転送もエッジスイッチＥ１がルートノードとなるＳＴＰ／ＲＳＴＰを用いて行なわれる）。したがって、ユーザ端末Ｔ２からのフレームは、エッジスイッチＥ２からエッジスイッチＥ１を経て、ユーザ端末Ｔ１に到着する。このように各ノード間の転送を最短経路で行なうことができる。
このような転送を行なうために、文献２では、以下のような処理を行なっている。エッジスイッチ間の転送は、各エッジスイッチに設定されたノードＩＤをＶＬＡＮタグに格納し、各エッジスイッチ、コアスイッチではそのＩＤに基づき、フレーム転送する。図５２では、前述のようにエッジスイッチＥ１、Ｅ２、Ｅ３、Ｅ４にそれぞれノードＩＤ＝ｇ１、ｇ２、ｇ３、ｇ４が割り当てられており、エッジスイッチＥ２からエッジスイッチＥ１への転送では、エッジスイッチＥ２において、フレームにＶＬＡＮタグ＝ｇ１がスタックされ（本ＶＬＡＮタグを拡張タグと記す）、エッジスイッチＥ２では拡張タグ＝ｇ１に基づきエッジスイッチＥ１方向にフレーム転送される。各スイッチのフォワーディングテーブルでは、拡張タグ値に対する出力ポートが管理され、出力ポートとしては、拡張タグ値と等しいノードＩＤを持つエッジスイッチがルートノードとなるＳＴＰ／ＲＳＴＰのルートポート（その時のポート状態は転送可能状態を示すフォワーディング状態）のポート番号が設定される。図５２では、各スイッチは、拡張タグｇ１に対する出力ポートはＳＴＰ−ＩＤ＝ｇ１のＳＴＰ／ＲＳＴＰにおけるフォワーディング状態のルートポートのポート番号を設定する。同様に、宛先がユーザ端末Ｔ２のフレームを転送する場合はエッジスイッチＥ２がルートノードとなるＳＴＰ／ＲＳＴＰが転送経路となり、宛先がユーザ端末Ｔ３のフレームを転送する場合はエッジスイッチＥ３がルートノードとなるＳＴＰ／ＲＳＴＰツリーが転送経路となり、宛先がユーザ端末Ｔ４のフレームを転送する場合はエッジスイッチＥ４がルートノードとなるＳＴＰ／ＲＳＴＰが転送経路となる。それぞれの転送経路の形状を図５３の（Ａ）〜（Ｄ）に示している。このように、フレームの宛先ユーザ端末に応じて、そのユーザ端末が接続しているエッジスイッチがルートノードとなるＳＴＰ／ＲＳＴＰツリーを転送経路とすることで、いずれのノードに対するフレームの転送経路も最適経路となる。
文献１  飛鷹他、“次世代イーサネット（登録商標）アーキテクチャＧＯＥ  （Ｇｌｏｂａｌ  Ｏｐｔｉｃａｌ  Ｅｔｈｅｒｎｅｔ（登録商標））の提案  −（１）基本コンセプト・フレームワーク・要素技術”、２００２年電子情報通信学会ソサイエティ大会、Ｂ−７−１１
文献２  厩橋他、“次世代イーサネット（登録商標）アーキテクチャＧＯＥ  （Ｇｌｏｂａｌ  Ｏｐｔｉｃａｌ  Ｅｔｈｅｒｎｅｔ（登録商標）の提案  −（２）高効率ルーティングと高速プロテクション”、２００２年電子情報通信学会ソサイエティ大会、Ｂ−７−１２
しかしながら、ある転送経路に着目した場合、以下のような問題点がある。
例えば、図５３の（Ａ）に示したエッジスイッチＥ１が宛先ノードとなる経路の場合（エッジスイッチＥ１に接続するユーザ端末が宛先となるフレームの転送経路の場合）、選択されたリンクはエッジスイッチＥ１に対する最短経路を構成するが、ＳＴＰ／ＲＳＴＰの元々の特性により、ブロッキング状態のポートの設定により転送に使用できないリングが存在する点である。
図５３の（Ａ）の例では、コアスイッチＣ１／コアスイッチＣ２間のリンクとエッジスイッチＥ３／エッジスイッチＥ４間のリンクである。図５３の（Ｂ）〜（Ｄ）でも同様にフレーム転送に使用できないリングが存在する。特に図５３の例では、コアスイッチＣ１／コアスイッチＣ２間のリンクは、いずれの転送経路においてもフレーム転送に使用されていないことになる（ただし、このようにまったく使用されないリンクが存在するかどうかはトポロジーやリンクコスト、ポート番号などのパラメータに依存する）。
すなわち、文献２の経路設定を行なうことにより、最短経路転送は行なえるものの、リンク使用率という点では改善の余地がある。
本発明の目的は、最短経路転送を行いつつ、ネットワーク全体でのスループットを向上させることのできるノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラムを提案することにある。
【発明の開示】
【０００３】
上記の目的を達成するために本発明は、送信元端末から送信されるデータフレームを宛先端末に転送するネットワークのノードにおいて、宛先端末に接続するノードがルートノードとなるスパニングツリーを、ネットワーク内の各ノードから前記ノードへの前記データフレームの転送経路として用い、前記スパニングツリーのポート情報を基に前記ノードに対する出力ポートを決定し、決定した前記出力ポートを経由して前記ノードに対してデータフレームを転送する構成としている。
また、好ましい他の態様では、宛先端末に接続する前記ノードに対する出力ポートを決定する際に、前記スパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを、前記ノードに対する出力ポートとする。
（作用）
本発明では、ネットワーク上の各ノードが、宛先端末に接続するノードがルートノードとなるスパニングツリーのポート情報に基づいて、宛先端末に接続するノードの識別子に対応する出力ポートを保持するフォワーディングテーブルに、宛先端末に接続するノードがルートノードとなるスパニングツリーのポートのうち、役割がルートポートであって状態がフォワーディング状態であるポート、または、役割がオルタネイトポートであるポートの条件に適合するポートを宛先端末に接続するノードに対する出力ポートとして設定する。
そして、送信元端末から送信されるデータフレームを宛先端末に転送する場合に、宛先端末に接続するノードに対する出力ポートを設定したフォワーディングテーブルを参照して、ノードに対する出力ポートを取得し、取得した出力ポートが複数存在しなければ、当該出力ポートを出力先として決定しデータフレームを転送する。
取得した出力ポートが複数存在する場合には、所定のアルゴリズム、例えばラウンドロビンまたは重み付けラウンドロビン等の方式に基づいて、複数の出力ポートから宛先端末に接続するノードに対する出力ポートを決定し、データフレームを転送する。
本発明によれば、宛先端末に接続するノードがルートノードとなるスパニングツリーをネットワーク内のフレームの転送経路として用いるため、フレームの最短経路転送を行うことができ、かつ、スパニングツリーのポート情報を基に出力ポートを決定してフレームを転送するため、従来技術では未使用であったリンク（経路）もフレーム転送に利用できることから、ネットワーク全体のスループットを向上させることができる。
【図面の簡単な説明】
【０００４】
図１は、本発明の広域イーサのネットワークモデル図である。
図２は、本発明のスイッチの構成図である。
図３は、本発明の第１の実施の形態におけるフレームスイッチング部の構成図である。
図４は、本発明のフォワーディングテーブル格納部の構成図である。
図５は、本発明のＴａｇテーブルである。
図６は、本発明のＭＡＣ／Ｔａｇテーブルである。
図７は、本発明のＭＡＣテーブルである。
図８は、本発明のＳＴＰポート状態管理テーブルである。
図９は、本発明のテーブル制御部８９０におけるＴａｇテーブル９００の設定フローである。
図１０は、本発明のテーブルサーチ部８３０における受信フレームの出力先決定フローである。
図１１は、本発明の各スイッチのＳＴＰポート状態管理テーブルである。
図１２は、本発明の第１の実施の形態におけるエッジスイッチＥ８のフォワーディングテーブルである。
図１３は、本発明の第１の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルである。
図１４は、本発明の第１の実施の形態におけるエッジスイッチＥ６のフォワーディングテーブルである。
図１５は、本発明の第１の実施の形態におけるエッジスイッチＥ５のフォワーディングテーブルである。
図１６は、本発明の第１の実施の形態におけるエッジスイッチＥ７のフォワーディングテーブルである。
図１７は、本発明の第１の実施の形態におけるコアスイッチＣ５のフォワーディングテーブルである。
図１８は、イーサネット（登録商標）フレームの一例である。
図１９は、拡張タグフレームの一例である。
図２０は、本発明の広域イーサのネットワークモデル図であり、障害発生時を示している。
図２１は、本発明の第１の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルの他の例である。
図２２は、本発明の第１の実施の形態におけるエッジスイッチＥ６のフォワーディングテーブルの他の例である。
図２３は、本発明の第２の実施の形態におけるフレームスイッチング部の構成図である。
図２４は、本発明のフォワーディングテーブル格納部の他の構成図である。
図２５は、本発明のＴａｇテーブルの他の例である。
図２６は、本発明のテーブル制御部２６９０におけるＴａｇテーブル２７００の設定フローである。
図２７は、本発明のテーブルサーチ部２６３０における受信フレームの出力先決定フローである。
図２８は、本発明の第２の実施の形態におけるエッジスイッチＥ８のフォワーディングテーブルである。
図２９は、本発明の第２の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルである。
図３０は、本発明の第２の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルの他の例である。
図３１は、本発明のＴａｇテーブルの他の例である。
図３２は、本発明の第３の実施の形態におけるフレームスイッチング部の構成図である。
図３３は、本発明のテーブル制御部２８９０におけるＴａｇテーブル２８００の設定フローである。
図３４は、本発明のテーブルサーチ部３２３０における受信フレームの出力先決定フローである。
図３５は、本発明の広域イーサの他のネットワークモデル図である。
図３６は、本発明の第３の実施の形態におけるエッジスイッチＥ８のフォワーディングテーブルである。
図３７は、本発明の第３の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルである。
図３８は、本発明の第３の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルの他の例である。
図３９は、イーサネット（登録商標）フレームの他の一例である。
図４０は、ＶＬＡＮタグの構成図である。
図４１は、拡張タグフレームの他の一例である。
図４２は、本発明の第４の実施の形態におけるフレームスイッチング部の構成図である。
図４３は、本発明のフォワーディングテーブル格納部の他の構成図である。
図４４は、本発明のＴａｇテーブル他の例である。
図４５は、本発明のテーブル制御部３７９０におけるＴａｇテーブル３８００の設定フローである。
図４６は、本発明のテーブルサーチ部３７３０における受信フレームの出力先決定フローである。
図４７は、本発明の第４の実施の形態におけるエッジスイッチＥ８のフォワーディングテーブルである。
図４８は、本発明の第４の実施の形態におけるコアスイッチＣ６のフォワーディングテーブルである。
図４９は、従来の広域イーサのネットワークモデル図である。
図５０は、イーサネット（登録商標）フレームのフォーマットである。
図５１は、拡張タグフレームのフォーマットである。
図５２は、従来の広域イーサの他のネットワークモデル図である。
図５３は、従来技術を用いた時のフレーム転送経路である。
２００、２１００、３４００：イーサネット（登録商標）フレーム、２１０：宛先ＭＡＣアドレス、２２０：送信元ＭＡＣアドレス、２３０、３５００：ＶＬＡＮタグ、２４０：Ｔｙｐｅ、２５０：ペイロード、２６０：ＦＣＳ、３００、２２００、３６００：拡張タグフレーム、３１０：拡張タグ、７０：スイッチ、７０１、７０２、７０３、７０４：ＩＦ、７１１、７１２、７１３、７１４：ＰＨＹ、７２１、７２２、７２３、７２４：ＭＡＣ、７３０：フレームスイッチング部、７４０：メモリ、７５０：ＣＰＵ、７６０：コンソールＩ／Ｏ、７７０：障害管理部、８００：フレーム解析部、８１０：フレーム書換部、８２０：フレーム転送部、８３０、２６３０、２８３０、３２３０、３７３０：テーブルサーチ部、８４０、２６４０、２８４０、３７４０：フォワーディングテーブル格納部、８５０：ＭＡＣラーニング部、８７０：制御フレーム振分け部、８８０：ＳＴＰ制御部、８９０、２６９０、２８９０、３７９０：テーブル制御部、８９５：設定制御部、９００、１５０１、１６０１、１７０１、１８０１、１９０１、２００１、２４０１、２７００、２８００、２９０１、３００１、３１０１、３８００、４００１、４１０１：Ｔａｇテーブル、９１０、１５０２、１７０２、１８０２、１９０２：ＭＡＣ／Ｔａｇテーブル、９２０、１５０３、１７０３、１８０３、１９０３：ＭＡＣテーブル、９３０：テーブル書込み制御部、９４０：テーブル読込制御部、１３００、１４０１、１４０２、１４０３、１４０４、１４０５、１４０６、２４００、２５００：ＳＴＰポート状態管理テーブル、Ｃ１、Ｃ２、Ｃ５、Ｃ６：コアスイッチ、Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６、Ｅ７、Ｅ８：エッジスイッチ、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７、Ｔ８、Ｔ９、Ｔ１０：端末、ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７、ｔ８、ｔ９、ｔ１０：ＭＡＣアドレス、ｇ１、ｇ２、ｇ３、ｇ４、ｇ５、ｇ６、ｇ７、ｇ８：ノードＩＤ、ｐ１、ｐ２、ｐ３：ポート番号
【発明を実施するための最良の形態】
【０００５】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
（第１の実施の形態）
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図１は、本発明を適用する物理ネットワーク構成例を示している。
図１のエッジスイッチＥ５、Ｅ６、Ｅ７、Ｅ８、コアスイッチＣ５、Ｃ６は、いずれも従来の機能に加えて、本発明による機能を備えている。各スイッチ間は以下のような接続形態となっている。
（１）エッジスイッチＥ５のポートｐ３とエッジスイッチＥ６のポートｐ１
（２）エッジスイッチＥ５のポートｐ２とコアスイッチＣ５のポートｐ１
（３）コアスイッチＣ５のポートｐ２とエッジスイッチＥ７のポートｐ１
（４）エッジスイッチＥ７のポートｐ３とエッジスイッチＥ８のポートｐ２
（５）エッジスイッチＥ８のポートｐ１とコアスイッチＣ６のポートｐ３
（６）コアスイッチＣ６のポートｐ１とエッジスイッチＥ６のポートｐ２
（７）コアスイッチＣ５のポートｐ３とコアスイッチＣ６のポートｐ２
また、各エッジスイッチＥ５〜Ｅ８は以下のようにユーザ端末Ｔ５〜Ｔ８を接続している。
（１）エッジスイッチＥ５のポートｐ１とユーザ端末Ｔ５
（２）エッジスイッチＥ６のポートｐ３とユーザ端末Ｔ６
（３）エッジスイッチＥ７のポートｐ２とユーザ端末Ｔ７
（４）エッジスイッチＥ８のポートｐ３とユーザ端末Ｔ８
このようなネットワークにおけるフレーム転送として、典型的な例として、ユーザ端末Ｔ５〜Ｔ８から送信されたイーサネット（登録商標）フレームがエッジスイッチＥ５〜Ｅ８において拡張タグが付加され拡張タグフレームに変換され、コアスイッチＣ５、Ｃ６では拡張タグに基づく転送が行なわれ、宛先ユーザ端末側のエッジスイッチＥ５〜Ｅ８において付加された拡張タグが削除され、宛先ユーザ端末Ｔ５〜Ｔ８に転送される場合を前提として説明を行う。
最初に、エッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６の構成について、図２を用いて説明する。
図２のスイッチ７００は、エッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６に共通の構成となっている。
スイッチ７００は、ＰＨＹ７１１、７１２、７１３、７１４と、ＭＡＣ７２１、７２２、７２３、７２４と、フレームスイッチング部７３０と、メモリ７４０と、ＣＰＵ７５０と、コンソールＩ／Ｏ７６０と、障害管理部７７０とから構成される。
ＩＦ７０１、７０２、７０３、７０４にはそれぞれＰＨＹ７１１、７１２、７１３、７１４が接続され、ＰＨＹ７１１、７１２、７１３、７１４にはＭＡＣ７２１、７２２、７２３、７２４が接続され、ＭＡＣ７２１、７２２、７２３、７２４にはフレームスイッチング部７３０が接続される。
ＩＦ７０１、７０２、７０３、７０４から入力されるイーサネット（登録商標）フレームは、それぞれＰＨＹ７１１、７１２、７１３、７１４とＭＡＣ７２１、７２２、７２３、７２４を経由してフレームスイッチング部７３０に入力され、フレームスイッチング部７３０において後述する動作により適切な出力ＩＦが決定され、それぞれＭＡＣ７２１、７２２、７２３、７２４とＰＨＹ７１１、７１２、７１３、７１４を経由して、ＩＦ７０１、７０２、７０３、７０４に出力される。
ＰＨＹ７１１、７１２、７１３、７１４は、接続するＩＦ７０１、７０２、７０３、７０４で障害を検知した場合、障害情報を障害管理部７７０に通知する。
障害管理部７７０は各ＩＦの状態（正常／障害）を管理しており、ＰＨＹ７１１、７１２、７１３、７１４から障害情報を受信すると、フレームスイッチング部７３０かＣＰＵ７５０かその両方に障害発生を通知する。
また、ＣＰＵ７５０およびメモリ７４０にはフレームスイッチング部７３０の動作を制御するプログラムおよび必要なデータが格納され、フレームスイッチング部７３０に制御指示を行なう。
また、コンソールＩ／Ｏ７６０は、装置内の各部に対する設定管理に関する外部インタフェイスとなっている。
図３は、フレームスイッチング部７３０の詳細構成を示している。
フレームスイッチング部７３０は、フレーム解析部８００、フレーム書換部８１０、フレーム転送部８２０、テーブルサーチ部８３０、フォワーディングテーブル格納部８４０、ＭＡＣラーニング部８５０、制御フレーム振分け部８７０、ＳＴＰ制御部８８０、テーブル制御部８９０、設定制御部８９５とから構成される。
フレームスイッチング部７３０は、前述のように、ＭＡＣ７２１〜７２４から入力されたイーサネット（登録商標）フレームの出力ＩＦを決定し、所定のＩＦと接続するＭＡＣ７２１〜７２４に転送する機能を持っている。
スイッチ７００がエッジスイッチＥ５〜Ｅ８である場合、入出力フレーム種別は、
−図５０のイーサネット（登録商標）フレーム２００が入力され、図５１の拡張タグフレーム３００が出力されるか、
−拡張タグフレーム３００が入力され、イーサネット（登録商標）フレーム２００が出力されるか、
−入出力フレーム共に、拡張タグフレーム３００である、のいずれかとなる。
また、スイッチ７００がコアスイッチＣ５、Ｃ６である場合、入出力フレーム種別は、
−入出力フレーム共に、拡張タグフレーム３００となる。
以降では、フレームスイッチング部７３０の各部について説明する。
フレーム解析部８００は、ＭＡＣ７２１〜７２４から入力されたフレームを解析し、通常のイーサネット（登録商標）フレーム２００または拡張タグフレーム３００の主信号データフレームである場合は、ヘッダ情報とフレーム種別情報、入力ポート情報をテーブルサーチ部８３０に転送し、イーサネット（登録商標）フレーム２００の場合は、ＭＡＣラーニング部８５０にも転送する。また、フレーム全体またはペイロード部分をフレーム書換部８１０に転送する。また、入力フレームが制御フレームである場合は、フレーム全体を制御フレーム振分け部８７０に転送する。
フレーム書換部８１０は、フレーム解析部８００から受信した主信号データフレームに対して、テーブルサーチ部８３０から指示があった場合に、フレームの書き換えを行なう。フレーム書き換えとしては、イーサネット（登録商標）フレーム２００に対して、拡張タグをスタックして拡張タグフレーム３００に書き換える。または、拡張タグフレーム３００に対して、拡張タグを削除して、イーサネット（登録商標）フレーム２００に書き換える。以上いずれかの書き換えを行なった後、または書き換えが不要な場合はフレーム解析部８００からのフレーム受信後に、フレーム転送部８２０にフレームを転送する。
フレーム転送部８２０は、主信号データフレームに関しては、フレーム書換部８１０から受信する主信号データフレームをテーブルサーチ部８３０から受信する出力ポートに対応するＭＡＣ９２１〜９２４に転送する。また制御フレームに関しては、制御フレーム振分け部８７０から受信する制御フレームを同時に受信する出力ポートに対応するＭＡＣ９２１〜９２４に転送する。
テーブルサーチ部８３０は、フレーム解析部８００から受信したヘッダ情報とフレーム種別情報、入力ポート情報を基にフォワーディングテーブル格納部８４０を参照して出力ポート情報とフレーム書き換え情報を取得する。
（１）フレーム種別情報が、イーサネット（登録商標）フレーム２００で、入力ポートがユーザ端末側ポートである場合、フォワーディングテーブル格納部８４０のＭＡＣ／Ｔａｇテーブル９１０（図６、後述）を参照して、ＭＡＣ＿ＤＡに対する拡張タグを取得すると共に、Ｔａｇテーブル９００（図５、後述）を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム書換部８１０に対して、取得した拡張タグを通知し、拡張タグのスタックを指示する。また、フレーム転送部８２０に出力ポート情報を通知する。
（２）フレーム種別情報が、拡張タグフレーム３００で、入力ポートがネットワーク側のポートである場合、拡張タグの値が自ノードアドレスか他ノードアドレスかにより、動作が異なる。
（２−１）他ノードアドレスの場合、フォワーディングテーブル格納部８４０のＴａｇテーブル９００を参照して、拡張タグに対する出力ポートを取得する。その後、フレーム転送部８２０に出力ポート情報を通知するとともに、フレーム書換部８１０に対しフレーム書き換え無しを通知する。
（２−２）自ノードアドレスの場合、フォワーディングテーブル格納部８４０のＭＡＣテーブル９２０（図７、後述）を参照して、ＭＡＣ＿ＤＡとＶＬＡＮに対する出力ポートを取得する。その後、フレーム転送部８２０に出力ポート情報を通知するとともに、フレーム書換部８１０に対し拡張タグの削除を指示する。
Ｔａｇテーブル９００を参照して拡張タグに対する出力ポートを取得する際、本発明では複数の出力ポートが得られる場合がある。複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、特に限定はなく、以下に示す一般的な方法を用いることが可能である。例としては、ラウンドロビンまたは重み付けラウンドロビンなどのアルゴリズムを用いることができる。重み付けラウンドロビンを用いる場合、各ポートに割り当てられる重みは、該当ポートのリンク速度などをパラメータとして設定すればよい。また、他の方法としては、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスなどのイーサネット（登録商標）フレームのヘッダ情報、または、宛先ＩＰアドレスや送信元ＩＰアドレスなどのＩＰパケットのヘッダ情報といったイーサネット（登録商標）フレームのペイロードに格納された情報、または、これらを組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
出力ポートを決定後、フレーム転送部８２０に通知する。
フォワーディングテーブル格納部８４０は、フレームを転送するための情報を格納した各種テーブルを有する。テーブルとしては、拡張タグから出力ポートを取得するＴａｇテーブルとＭＡＣアドレスとＶＬＡＮタグから拡張タグを取得するＭＡＣ／Ｔａｇテーブルと、ＭＡＣアドレスとＶＬＡＮタグから出力ポートを取得するＭＡＣテーブルがある。
図４は、フォワーディングテーブル格納部８４０の構成例である。
フォワーディングテーブル格納部８４０は、Ｔａｇテーブル９００と、ＭＡＣ／Ｔａｇテーブル９１０と、ＭＡＣテーブル９２０と、テーブル書込制御部９３０と、テーブル読込制御部９４０とから構成される。各テーブルへの新たなデータの書込みはテーブル書込制御部９３０を介して行なわれ、各テーブルからのデータの読み出しはテーブル読込制御部９４０を介して行なわれる。
Ｔａｇテーブル９００とＭＡＣ／Ｔａｇテーブル９１０とＭＡＣテーブル９２０の構成は、それぞれ図５、１１、１２に示す通りである。テーブルの構成については、図５、図６、図７に限定されるわけではなく、例えば、図６のＭＡＣ／Ｔａｇテーブル９１０と図５のＴａｇテーブルが一体化し、ＭＡＣ／Ｔａｇテーブル９１０の拡張タグに対する出力ポートが追加されていても構わない。
以降では、図５、図６、図７の構成に従って説明する。
ＭＡＣラーニング部８５０は、フレーム解析部８００からヘッダ情報を受信すると、フォワーディングテーブル格納部８４０のＭＡＣテーブル９２０を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡとＶＬＡＮに対する出力ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡを、ＶＬＡＮフィールドにＶＬＡＮを、出力ポートフィールドに受信ポートを格納する。ここで、設定によって、受信ポートがネットワーク側ポートである場合には、上記ラーニング機能を止めてもよい。
制御フレーム振分け部８７０は、フレーム解析部８００から受信した制御フレームを所定の処理部に転送すると共に、処理部から受信した制御フレームおよび出力ポート情報をフレーム転送部８２０に転送する。本構成では、処理部はＳＴＰ制御部８８０のみであるため、制御フレーム（以降、Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ：  ＢＰＤＵと記す）をＳＴＰ制御部８８０に転送すると共に、ＳＴＰ制御部８８０から受信したＢＰＤＵおよび出力ポート情報をフレーム転送部８２０に転送する。
ＳＴＰ制御部８８０は、制御フレーム振分け部８７０から受信したＢＰＤＵに基づいてＳＴＰ／ＲＳＴＰのポート情報の更新処理などを行ない、ＢＰＤＵを再作成し、隣接のスイッチに転送すべく、ＢＰＤＵと出力ポート情報を制御フレーム振分け部８７０に転送する。なお、本発明ではＶＬＡＮごとにＲＳＴＰを起動するＭＳＴＰを前提としており、ＶＬＡＮごとにＲＳＴＰのポート情報を管理する。
本情報を管理するためのテーブルとして、図８に示すＳＴＰポート情報管理テーブル１３００を有する。
ＳＴＰポート情報管理テーブル１３００では、ＶＬＡＮ毎、すなわちツリーＩＤ毎にそのスイッチのポートに関するＳＴＰの情報が管理されている。
ＳＴＰのポート情報としては、ポートの役割とポートの状態を管理する。
ポートの役割としては、Ｒｏｏｔ  ｐｏｒｔ、Ｄｅｓｉｇｎａｔｅｄ  ｐｏｒｔ、Ａｌｔｅｒｎａｔｅ  ｐｏｒｔがある。図８では、それぞれＲ、Ｄ、Ａと記載している。
また、ポートの状態としては、Ｆｏｒｗａｒｄｉｎｇ状態、Ｌｅａｒｎｉｎｇ状態、Ｄｉｓｃａｒｄｉｎｇ状態がある。図８では、それぞれｆ、ｌ、ｄと記載しており、ポート役割／ポート状態とセットで記載している。
ＳＴＰ制御部８８０は、ＲＳＴＰ起動時やＲＳＴＰ構成変更時など、ＳＴＰポート状態管理テーブル１３００のポート状態に変更があった場合、ＳＴＰポート状態管理テーブル１３００の内容を更新すると共に、ツリー毎に、ポート役割がＲｏｏｔポートでポート状態がＦｏｒｗａｒｄｉｎｇ状態であるポート（図８ではＲ／ｆと記載）、および、ポート役割がＡｌｔｅｒｎａｔｅポートであるポート（ポート状態は問わないが基本的にＤｉｓｃａｒｄｉｎｇ状態であり、図８ではＡ／ｄと記載）を抽出し、ツリーＩＤと該当するポートのポート番号をテーブル制御部８９０に通知する。
テーブル制御部８９０は、ＳＴＰ制御部８８０から通知されたＳＴＰのポート情報に基づいて、拡張タグに対する出力ポートを設定する（フォワーディングテーブル格納部８４０内のＴａｇテーブル９００を更新する）機能を有する。
また、テーブル制御部８９０は、ＳＴＰ制御部８８０からツリーＩＤと対応するポート情報（ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポート、または、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号）を受信すると、フォワーディングテーブル格納部８４０内のＴａｇテーブル９００において、拡張タグフィールドが受信したツリーＩＤと等しいエントリに関して、出力ポートとして受信したポート番号を記載する。
設定制御部８９５は、図２のコンソールＩ／Ｏ７６０経由で入力された設定情報を、ＣＰＵ７５０を介して受信し、適切な処理部に対し設定処理を行なう。具体的にはＳＴＰ制御部８８０に対して、ＳＴＰのパラメータ等を設定する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部８９０におけるＴａｇテーブル９００の設定処理のフローチャートを図９に、テーブルサーチ部８３０における受信フレームの出力ポート決定処理のフローチャートを図１０にまとめた。
図９に示すように、テーブル制御部８９０は、ステップＡ１において、ＳＴＰ制御部８８０からＳＴＰポート情報を受信すると、ステップＡ２において、受信したＳＴＰポート情報に基づき、Ｔａｇテーブル９００を更新する。
また、図１０に示すように、テーブルサーチ部８３０は、ステップＢ１において、フレーム解析部８００から受信フレーム情報を受信すると、ステップＢ２において、Ｔａｇテーブル９００を参照して、拡張タグに対する出力ポートを取得する。ここで、ステップＢ３において、取得した出力ポートが１つか複数かを判定し、複数存在している場合、ステップＢ４において、取得した複数ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。また、ステップＢ３において取得ポートが１ポートであった場合、ステップＢ５において、取得したポートを出力先として決定する。その後、ステップＢ６において、決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した構成を有するエッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６からなる図１のネットワークにおいて、端末Ｔ８から端末Ｔ５へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。本発明のフレーム転送方法を用いると、従来技術の特徴であるユーザ端末Ｔ８からユーザ端末Ｔ５への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
図１では、端末Ｔ５が宛先端末となるため、端末Ｔ５が接続するエッジスイッチＥ５がルートノードとなるＲＳＴＰツリーがフレーム転送の経路となる。このツリーのＳＴＰ−ＩＤはｇ５となっており、本ツリーはＶＬＡＮ＝ｇ５で識別される。この場合の各スイッチにおけるＳＴＰポート状態管理テーブル１３００は、図１１の（Ａ）〜（Ｆ）に示す通りとなっており、エッジスイッチＥ５、Ｅ６、Ｅ７、Ｅ８、コアスイッチＣ５、Ｃ６に関して、それぞれ１４０１、１４０２、１４０３、１４０４、１４０５、１４０６の符号を付けている。ここでは、エッジスイッチＥ５がルートノードとなっているＲＳＴＰツリーのみを記載している。実際には、他ノードがルートノードとなるツリーに関する情報も有している。
図１によると、端末Ｔ８から端末Ｔ５へのフレーム転送は、従来技術に従い、エッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由する転送経路で端末Ｔ５に到着すると共に、本発明の特徴であるＡｌｔｅｒｎａｔｅポートへの出力により、エッジスイッチＥ８からエッジスイッチＥ７に転送され、コアスイッチＣ５、エッジスイッチＥ５を経由する転送経路とコアスイッチＣ６からコアスイッチＣ５に転送され、エッジスイッチＥ５を経由する転送経路も利用して端末Ｔ５に到着する。これを行なうための各スイッチでのテーブル内容とテーブル設定手順について説明する。
エッジスイッチＥ８のテーブルを図１２の（Ａ）〜（Ｄ）にまとめた。
エッジスイッチＥ８では、ＳＴＰ制御部８８０において、ＳＴＰポート状態管理テーブル１４０４を有している。
ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０４を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部８９０に通知する。
テーブル制御部８９０は、フォワーディングテーブル格納部８４０のＴａｇテーブル９００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポートｐ１、ｐ２を設定する。
その結果のＴａｇテーブル９００は、図１２の（Ｂ）において、Ｔａｇテーブル１５０１のようになる。
また、本発明では、フォワーディングテーブル格納部８４０のＭＡＣ／Ｔａｇテーブル９１０、ＭＡＣテーブル９２０については、静的に設定されていても、制御フレーム等により自動で設定されても、どちらでも構わないため、説明を簡単化するために設定された後の状態から説明することとする。
図１２では、両テーブルは、ＭＡＣ／Ｔａｇテーブル１５０２、ＭＡＣテーブル１５０３のように登録されている。
続いて、転送経路上でエッジスイッチＥ８の次ホップのノードであるコアスイッチＣ６のテーブルについて、図１３で説明する。
コアスイッチＣ６では、ＳＴＰ制御部８８０において、図１３の（Ａ）に示すＳＴＰポート状態管理テーブル１４０６を有している。
ＳＴＰ制御部８８０は、前述のＥ８の説明と同様の処理によりＳＴＰポート状態からＴａｇテーブルを設定する。すなわち、ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０６を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部８９０に通知する。
テーブル制御部８９０は、フォワーディングテーブル格納部８４０のＴａｇテーブル９００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポートｐ１、ｐ２を設定する。その結果のＴａｇテーブル９００は、図１３の（Ｂ）において、Ｔａｇテーブル１６０１のようになる。コアスイッチＣ６では、ＭＡＣ／Ｔａｇテーブル９１０、ＭＡＣテーブル９２０を持たない。
続いて転送経路上でコアスイッチＣ６の次ホップのノードであるエッジスイッチＥ６のテーブルについて、図１４の（Ａ）〜（Ｄ）で説明する。
エッジスイッチＥ６では、ＳＴＰ制御部８８０において、図１４の（Ａ）のようなＳＴＰポート状態管理テーブル１４０２を有している。ＳＴＰ制御部８８０では、前述のエッジスイッチＥ８と同様に、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０２を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１をテーブル制御部８９０に通知する。ここでは、ポート役割＝Ａｌｔｅｒｎａｔｅポートはないため、これについては通知しない。
テーブル制御部８９０は、フォワーディングテーブル格納部８４０のＴａｇテーブル９００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポートｐ１を設定する。その結果のＴａｇテーブル９００は、図１４の（Ｂ）において、Ｔａｇテーブル１７０１のようになる。また、フォワーディングテーブル格納部８４０のＭＡＣ／Ｔａｇテーブル９１０、ＭＡＣテーブル９２０は、図１４の（Ｃ）、（Ｄ）のＭＡＣ／Ｔａｇテーブル１７０２、ＭＡＣテーブル１７０３のように登録されている。
続いて転送経路上でエッジスイッチＥ６の次ホップのノードで最終段のノードであるエッジスイッチＥ５のテーブルについて、図１５の（Ａ）〜（Ｄ）で説明する。
エッジスイッチＥ５では、ＳＴＰ制御部８８０において、図１５の（Ａ）のようなＳＴＰポート状態管理テーブル１４０１を有している。ＳＴＰ制御部８８０では、前述の各スイッチと同様に、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０１を参照して、条件に合致するポートを通知する。この場合、エッジスイッチＥ５は、本転送のＥｇｒｅｓｓエッジスイッチであり、このツリーのルートノードであるため、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポート、または、ポート役割＝Ａｌｔｅｒｎａｔｅポートは存在しないため、通知しない（すなわち、エッジスイッチＥ５は本転送のＥｇｒｅｓｓエッジスイッチであるため、次ホップの出力ポートを設定する必要はない）。また、フォワーディングテーブル格納部８４０のＭＡＣ／Ｔａｇテーブル９１０、ＭＡＣテーブル９２０は、図１５の（Ｃ）、（Ｄ）のＭＡＣ／Ｔａｇテーブル１８０２、ＭＡＣテーブル１８０３のように登録されている。
前述のように、本発明では、Ａｌｔｅｒｎａｔｅポートへの出力も行なわれるため、エッジスイッチＥ８からエッジスイッチＥ７へ、コアスイッチＣ６からコアスイッチＣ５へもフレームが転送される。エッジスイッチＥ７、コアスイッチＣ５のテーブルはそれぞれ図１６の（Ａ）〜（Ｄ）、図１７の（Ａ）、（Ｂ）に示す通りとなる。ＳＴＰ状態管理テーブル１４０３、１４０５に基づくＴａｇテーブル１９０１、２００１の更新方法はこれまで説明したエッジスイッチＥ５、Ｅ６、Ｅ８、コアスイッチＣ６と同様であるため、詳細説明は省略する。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図３のノード構成図および図１２〜図１７のテーブルを用いて以降で説明する。
図２１に示す端末Ｔ８から端末Ｔ５宛てのイーサネット（登録商標）フレーム２１００を受信したエッジスイッチＥ８は、フレーム解析部８００において、入力フレームが通常のイーサネット（登録商標）フレーム２００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームがイーサネット（登録商標）フレーム２００であり、入力ポートがユーザ端末側ポートであるため、ＭＡＣ／Ｔａｇテーブル１５０２を参照して、宛先ＭＡＣアドレスｔ５、ＶＬＡＮ＝Ａに対する拡張タグ＝ｇ５を取得し、フレーム書換部８１０に対して拡張タグのスタック処理を指示する。また、Ｔａｇテーブル１５０１を参照して、拡張タグｇ５に対する出力ポート＝ポートｐ１、ｐ２を取得する。その後、取得したポートｐ１、ｐ２を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部８２０に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスなどのイーサネット（登録商標）フレームのヘッダ情報、または宛先ＩＰアドレスや送信元ＩＰアドレスなどのＩＰパケットのヘッダ情報といったイーサネット（登録商標）フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部８１０は、フレーム解析部８００から受信しているフレームまたはペイロードに対して、テーブルサーチ部８３０から指示された拡張タグ＝ｇ５のスタック処理を行なう。その結果、出力するフレームは図１９の拡張タグフレーム２２００となる。フレーム書き換え後、フレーム書換部８１０は、拡張タグフレーム２２００をフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ１またはｐ２に対して拡張タグフレーム２２００を出力する。ここで説明したフレーム転送処理と平行して、ラーニング処理も行なっている。
フレーム解析部８００は、フレーム書換部８１０、テーブルサーチ部８３０に情報通知すると共に、ＭＡＣラーニング部８５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部８５０は、ＭＡＣテーブル１５０２を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ８、ＶＬＡＮ＝Ａに対する出力ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ８を、ＶＬＡＮフィールドにＶＬＡＮ＝Ａを、出力ポートフィールドに受信ポートｐ３を格納する。なお、前述の通り、本実施の形態ではこのラーニング処理が終了後のテーブル状態をＭＡＣテーブル１５０３に記述している。
続いて、エッジスイッチＥ８のポートｐ１側に接続される次ホップのコアスイッチＣ６について説明する。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル１６０１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１、ｐ２を取得する。その後、取得したポートｐ１、ｐ２を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には決定した出力ポートｐ１またはｐ２を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ１またはｐ２に対して拡張タグフレーム２２００を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチＣ６のポートｐ１側に接続される次ホップのエッジスイッチＥ６について説明する。
コアスイッチＣ６から拡張タグフレーム２２００を受信したエッジスイッチＥ６は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル１７０１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には出力ポートｐ１を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行わずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチＥ６の次ホップのエッジスイッチＥ５について説明する。
エッジスイッチＥ６から拡張タグフレーム２２００を受信したエッジスイッチＥ５は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が自ノードのノードＩＤであるため、フレーム書換部８１０に対して拡張タグの削除処理を指示するとともに、ＭＡＣテーブル１８０３を参照して、ＭＡＣ＿ＤＡ＝ｔ５、ＶＬＡＮ＝Ａに対する出力ポート＝ポートｐ１を取得し、フレーム転送部８２０に通知する。
フレーム書換部８１０は、フレーム解析部８００から受信しているフレームまたはペイロードに対して、テーブルサーチ部８３０から指示された拡張タグの削除処理を行なう。その結果、出力するフレームは図２１のイーサネット（登録商標）フレーム２１００となる。
フレーム書換部８１０は、イーサネット（登録商標）フレーム２１００をフレーム転送部８２０に転送すると、フレーム転送部８２０はテーブルサーチ部８３０から受信している出力ポート＝ポートｐ１に対してイーサネット（登録商標）フレーム２１００を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
続いて、エッジスイッチＥ８のポートｐ２側へ出力されたフレーム、コアスイッチＣ６のポートｐ２側へ出力されたフレームについて、受信スイッチの処理を説明する。
エッジスイッチＥ８のポートｐ２側に出力された拡張タグフレーム２２００を受信したエッジスイッチＥ７は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル１９０１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には出力ポートｐ１を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。本スイッチはエッジスイッチであるが、フレームの受信ポートがネットワーク側ポートであるため、ここではラーニング処理は行なわない。
コアスイッチＣ６のポートｐ２側に出力された拡張タグフレーム２２００を受信したコアスイッチＣ５について、続いて説明する。
コアスイッチＣ５は、コアスイッチＣ６と共にエッジスイッチＥ７からの拡張タグフレーム２２００も受信している。
コアスイッチＣ５は、コアスイッチＣ６、エッジスイッチＥ７から拡張タグフレーム２２００を受信すると、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル２００１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には出力ポートｐ１を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。本スイッチはコアスイッチのため、ラーニング処理は行なわない。
続いて、コアスイッチＣ５の次ホップのエッジスイッチＥ５は、前述の処理と同様の処理を行い、拡張タグフレーム２２００をイーサネット（登録商標）フレーム２１００に変換すると共に、イーサネット（登録商標）フレーム２１００をポートｐ１に出力することにより、宛先であるユーザ端末Ｔ５に到着する。
以上説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られたイーサネット（登録商標）フレーム２２００は、従来技術に従いエッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由して、最短経路で宛先のユーザ端末Ｔ５に到着可能であると共に、本発明の特徴として、エッジスイッチＥ８からエッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を経由する経路、または、コアスイッチＣ６からコアスイッチＣ５、エッジスイッチＥ５を経由する経路を利用して宛先のユーザ端末Ｔ５に到着可能である。
すなわち、本発明では、Ａｌｔｅｒｎａｔｅポートにもフレームを転送する。従来のＲＳＴＰでは、Ａｌｔｅｒｎａｔｅポートはループを阻止するために、ブロッキング状態となるポートであり、Ａｌｔｅｒｎａｔｅポートをフレーム転送可能にすると、形成されたループ上をフレームが巡回してしまう可能性がある。
これに対して、本発明では、Ａｌｔｅｒｎａｔｅポートをフレーム転送可能にしたとしても、転送したフレームを受信した対向ノードでは、受信フレームをＲｏｏｔポートに転送する。すなわち、フレームはそのツリーのＲｏｏｔノードに向けて、片方向転送される。そのため、論理経路的にループが形成されたとしても、フレームはＲｏｏｔノードに向けて片方向のみに転送され、ループ上を巡回することはないため、Ａｌｔｅｒｎａｔｅポートにフレームを転送することが可能となる。
これにより、従来技術では未使用リンクとなっていたエッジスイッチＥ８／エッジスイッチＥ７間のリンク、コアスイッチＣ６／コアスイッチＣ５間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。
ここでは、本発明の特徴であるＡｌｔｅｒｎａｔｅポート側リンクへの転送に変化が生じる障害の一例として、図２０に示すように、コアスイッチＣ６とエッジスイッチＥ６の間のリンクに障害が生じた場合について説明する。
図１のネットワークにおいて、コアスイッチＣ６とエッジスイッチＥ６の間のリンクに障害が生じた場合、障害箇所の両端ノードにおける障害検知をトリガとして、ＲＳＴＰの再構成処理が起動する。これはＲＳＴＰの標準動作に従うので詳細説明は省略する。再構成の結果、図２０の形状に安定したとする。
ここでは、再構成により、コアスイッチＣ６とエッジスイッチＥ６にツリーのポート情報に変更が生じている。コアスイッチＣ６については、図１３のＳＴＰ状態管理テーブル１４０６のポート状態だったのが、ツリー再構成の結果、図２１のＳＴＰ状態管理テーブル２４００のポート状態に変更されている。
コアスイッチＣ６では、ＳＴＰ制御部８８０において、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル２４００を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部８９０に通知する。
テーブル制御部８９０は、フォワーディングテーブル格納部８４０のＴａｇテーブル９００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポートｐ２を設定する。その結果のＴａｇテーブル９００は、図２１のＴａｇテーブル２４０１のようになる。
エッジスイッチＥ６でもＳＴＰのポート状態の変更に応じてＴａｇテーブルが更新される。更新後のテーブルは図２２に示す通りである（図２２ではＳＴＰ状態管理テーブル２５００が図１４のＳＴＰ状態管理テーブル１４０２から変更されているものの、Ｒｏｏｔポートに変更がなかったため、その他のテーブルは変更されていない）。
以上のように、障害発生時にテーブルが更新された時のフレーム転送処理を説明する。前述のユーザ端末Ｔ８からＴ５への転送に関しては、コアスイッチＣ６のみがテーブル変更されているので、コアスイッチＣ６の転送処理を説明する。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部８３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部８３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル１６０１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ２を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には出力ポートｐ２を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行わずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部８３０から受信している出力ポート＝ポートｐ２に対して拡張タグフレーム２２００を出力する。
障害発生前とは異なり、コアスイッチＣ６ではエッジスイッチＥ８から受信したフレームを全てポートｐ２に出力し、そのフレームはコアスイッチＣ５、エッジスイッチＥ５を経由して宛先ユーザ端末Ｔ５に到着する。
以上説明したように、障害発生時でもＲＳＴＰの手順に従いツリーのポート状態が更新された後に、新たなポート情報に基づきＴａｇテーブルの出力ポート設定し、フレーム転送時はＴａｇテーブルの出力ポートに従いフレームを転送するため、通常時と同様の処理でフレーム転送可能である。
（第１の実施の形態による効果）
以上、本実施の形態で説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られたイーサネット（登録商標）フレーム２２００は、従来技術に従いエッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由して、最短経路で宛先のユーザ端末Ｔ５に到着可能であると共に、本発明の特徴として、エッジスイッチＥ８からエッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を経由する経路、または、コアスイッチＣ６からコアスイッチＣ５、エッジスイッチＥ５を経由する経路を利用して宛先のユーザ端末Ｔ５に到着可能である。障害発生時も障害後のツリー形状に従って、最短経路転送するととも、従来技術の未使用リンクを使用して転送可能である。
すなわち、以上説明したノード構成、テーブル作成方法、データ転送方法によると、エッジスイッチＥ８、コアスイッチＣ６において、図１２のＳＴＰ状態管理テーブル１４０４とＴａｇテーブル１５０１、図１３のＳＴＰ状態管理テーブル１４０６とＴａｇテーブル１６０１に示したように、Ｆｏｒｗａｒｄｉｎｇ状態のＲｏｏｔポートのみならず、ＡｌｔｅｒｎａｔｅポートもＴａｇテーブルにおいて出力ポートとして設定し、複数の出力ポートに対して負荷分散しながらフレームを転送する。
これにより、従来技術では未使用リンクとなっていたエッジスイッチＥ８／エッジスイッチＥ７間のリンク、コアスイッチＣ６／コアスイッチＣ５間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
また、新たに転送可能としたＡｌｔｅｒｎａｔｅポートはＲｏｏｔポートの次にＲｏｏｔノードに対するコストが小さいポートであるため、Ａｌｔｅｒｎａｔｅポート側リンクを経由して宛先のＲｏｏｔノードに到着する新たにフレーム転送を許可した経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路であり、本発明のフレーム転送は負荷分散しながらの最短経路転送が可能である。
その結果、本発明のフレーム転送方法では、最短経路転送を行いつつ、従来技術におけるネットワーク内の未使用リンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
（第２の実施の形態）
本発明の第２の実施の形態について、図面を用いて詳細に説明する。
図２３は、本実施の形態のフレームスイッチング部７３０の詳細構成を示している。図２３では、図３で示した第１の実施の形態でのフレームスイッチング部７３０に対して、フォワーディングテーブル格納部８４０がフォワーディングテーブル格納部２６４０に変更され、それに伴いテーブル制御部８９０がテーブル制御部２６９０に、テーブルサーチ部８３０がテーブルサーチ部２６３０に変更されている。以降では、第１の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部２６４０について説明する。
図２４は、フォワーディングテーブル格納部２６４０の構成例である。
フォワーディングテーブル格納部２６４０は、図４で説明した第１の実施の形態のフォワーディングテーブル格納部８４０に対して、Ｔａｇテーブル９００がＴａｇテーブル２７００に変更されている。Ｔａｇテーブル２７００の構成は、図２５に示す通りである。
このＴａｇテーブル２７００も、第１の実施の形態のＴａｇテーブル９００が拡張タグに対する出力ポートを管理していたのと同様に、図２５に示すように、拡張タグに対する出力ポートを管理する。
続いて、テーブル制御部２６９０について説明する。
テーブル制御部２６９０は、テーブル制御部８９０と同様にＳＴＰ制御部８８０から通知されたＳＴＰのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部２６９０は、ＳＴＰ制御部８８０からツリーＩＤと対応するポート情報、すなわち、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポート、または、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部８４０内のＴａｇテーブル２７００において、拡張タグフィールドが受信したツリーＩＤと等しいエントリに関して、出力ポートとして、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポートのポート番号を記載し、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号を記載する。
続いて、テーブルサーチ部２６３０について説明する。
テーブルサーチ部２６３０では、テーブルサーチ部８３０においてＴａｇテーブル９００を参照して拡張タグに対する出力ポートを取得していた処理と同様の処理を行う。すなわち、テーブルサーチ部８３０がＴａｇテーブル９００の出力ポートフィールドに格納された１つまたは複数のポートを取得していたのに対して、テーブルサーチ部２６３０は、Ｔａｇテーブル２７００の出力ポートフィールドに格納された出力ポートフィールドに格納された１つまたは複数のポートを取得する。
Ｔａｇテーブル２７００から取得した拡張タグに対する出力ポートが複数である場合、複数の出力ポートからそのフレームに対する出力ポートを決定するアルゴリズムとしては、第１の実施の形態で説明した方法を用いればよい。
また、障害が発生した場合、障害管理部７７０から通知を受けると、テーブルサーチ部２６３０は、Ｔａｇテーブル２７００の出力ポートに格納されたポートから取得したポートが複数であった場合、障害が検出されたポートを取得したポート（出力ポートしての選択対象ポート）から除外する。
障害検出ポートを除外した後において、複数の出力ポートから出力先を決定するアルゴリズムは第１の実施の形態で示した方法のいずれかを用いる。
出力ポートを決定後、テーブルサーチ部２６３０は決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部２６９０におけるＴａｇテーブル２７００の設定処理のフローチャートを図２６に、テーブルサーチ部２６３０における受信フレームの出力ポート決定処理のフローチャートを図２７に示す。
図２６に示すように、テーブル制御部２６９０は、ステップＡ１において、ＳＴＰ制御部８８０からＳＴＰポート情報を受信すると、ステップＡ２として、受信したＳＴＰポート情報に基づき、Ｔａｇテーブル２７００を更新する。
また、図２７に示すように、テーブルサーチ部２６３０は、ステップＢ１において、フレーム解析部８００から受信フレーム情報を受信すると、ステップＢ２として、Ｔａｇテーブル２７００を参照して、拡張タグに対する出力ポートを取得する。
ここで、ステップＢ３において、取得した出力ポートが１つか複数かを判定し、複数存在している場合、さらに、ステップＤ４において、取得した複数の出力ポートのうち障害管理部７７０によって障害検出されたポートが含まれるかどうかを判定する。
ステップＤ４で障害検出されたポートが含まれる場合には、ステップＤ５において、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行なう。
この障害検出された出力ポートはテーブル制御部２６９０によってＴａｇテーブル２７００の出力ポートから削除される。
そして、ステップＢ４において、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定する。その後、ステップＢ６において、決定した出力ポート情報をフレーム転送部８２０に通知する。
また、ステップＢ３において取得ポートが１ポートであった場合、ステップＢ５において、取得した出力ポートを出力先として決定する。その後、ステップＢ６において、決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した構成を有するエッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６からなる図１のネットワークにおいて、端末Ｔ８から端末Ｔ５へのフレーム転送を例にとって、本発明のフレーム転送方法について説明する。
本発明のフレーム転送方法を用いると、第１の実施の形態と同様に、従来技術の特徴であるユーザ端末Ｔ８からユーザ端末Ｔ５への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
以降では、第１の実施の形態との大きな差分である、障害検出されたポートが存在する場合における、Ｔａｇテーブル２７００を有するエッジスイッチＥ８とコアスイッチＣ６について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチＥ８のテーブルを図２８にまとめて示す。
エッジスイッチＥ８では、ＳＴＰ制御部８８０において、図２８（Ａ）のＳＴＰポート状態管理テーブル１４０４を有している。ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０４を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部２６９０に通知する。
テーブル制御部２６９０は、フォワーディングテーブル格納部２６４０のＴａｇテーブル２７００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートであるポートｐ１と、ＳＴＰ制御部８８０から通知されたポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートｐ２を設定する。
その結果のＴａｇテーブル２７００は、図２８（Ｂ）に示すＴａｇテーブル２９０１のようになる。その他のテーブルは、図１２と同じくＭＡＣ／Ｔａｇテーブル１５０２（図２８（Ｃ））、ＭＡＣテーブル１５０３（図２８（Ｄ））のように登録されている。
続いて、転送経路上でエッジスイッチＥ８の次ホップのノードであるコアスイッチＣ６のテーブルについて、図２９を用いて説明する。
コアスイッチＣ６では、ＳＴＰ制御部８８０において、図２９（Ａ）に示すようなＳＴＰポート状態管理テーブル１４０６を有している。
ＳＴＰ制御部８８０は、前述のＥ８の説明と同様の処理によりＳＴＰポート状態からＴａｇテーブル２７００を設定する。すなわち、ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０６を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部２６９０に通知する。
テーブル制御部２６９０は、フォワーディングテーブル格納部２６４０のＴａｇテーブル２７００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートであるポートｐ１と、ＳＴＰ制御部８８０から通知されたポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートｐ２を設定する。
その結果のＴａｇテーブル２７００は、図２９（Ｂ）において、Ｔａｇテーブル３００１のようになり、その出力ポートのフィールドには、ポートｐ１、ｐ２が設定されている。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図２３のノード構成図および図２８、図２９のテーブルを用いて以降で説明する。
図１８に示す端末Ｔ８から端末Ｔ５宛てのイーサネット（登録商標）フレーム２１００を受信したエッジスイッチＥ８は、フレーム解析部８００において、入力フレームが通常のイーサネット（登録商標）フレーム２００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部２６３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部２６３０は、受信フレームがイーサネット（登録商標）フレーム２００であり、入力ポートがユーザ端末側ポートであるため、ＭＡＣ／Ｔａｇテーブル１５０２を参照して、宛先ＭＡＣアドレスｔ５、ＶＬＡＮ＝Ａに対する拡張タグ＝ｇ５を取得し、フレーム書換部１０２０に対して拡張タグのスタック処理を指示する。また、Ｔａｇテーブル２９０１を参照して、拡張タグｇ５に対する出力ポート＝ポートｐ１と出力ポート＝ポートｐ２を取得する。その後、取得したポートｐ１、ｐ２を対象として、所定の方法により、出力先ポートを決定し、フレーム転送部８２０に通知する。
所定の方法とは、前述のようにラウンドロビンや重み付けラウンドロビンなどのアルゴリズムを用いても良いし、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスなどのイーサネット（登録商標）フレームのヘッダ情報、または宛先ＩＰアドレスや送信元ＩＰアドレスなどのＩＰパケットのヘッダ情報といったイーサネット（登録商標）フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
フレーム書換部８１０は、フレーム解析部８００から受信しているフレームまたはペイロードに対して、テーブルサーチ部２６３０から指示された拡張タグ＝ｇ５のスタック処理を行なう。その結果、出力するフレームは、図１９の拡張タグフレーム２２００となる。
フレーム書き換え後、フレーム書換部８１０は、拡張タグフレーム２２００をフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部２６３０から受信している出力ポート＝ポートｐ１またはｐ２に対して拡張タグフレーム２２００を出力する。また、フレーム転送処理と平行して、必要に応じて第１の実施の形態と同様にラーニング処理も行なっている。
続いて、エッジスイッチＥ８のポートｐ１側に接続される次ホップのコアスイッチＣ６について説明する。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部２６３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部２６３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル３００１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１、出力ポート＝ポートｐ２を取得する。その後、取得したポートｐ１、ｐ２を対象として、所定の方法により、出力先ポートを決定する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には決定した出力ポートｐ１またはｐ２を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部２６３０から受信している出力ポート＝ポートｐ１またはｐ２に対して拡張タグフレーム２２００を出力する。
コアスイッチＣ６のポートｐ１側に接続するエッジスイッチＥ６、エッジスイッチＥ６の次ホップのエッジスイッチＥ５、エッジスイッチＥ８のポートｐ２側に接続するエッジスイッチＥ７、コアスイッチＣ６のポートｐ２側に接続するコアスイッチＣ５は、それぞれ第１の実施の形態で説明したのと同様の処理を行ない、フレーム転送する。その結果、イーサネット（登録商標）フレーム２１００は宛先のユーザ端末Ｔ５に到着する。
以上説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られたイーサネット（登録商標）フレーム２２００は、従来技術に従いエッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由して、最短経路で宛先のユーザ端末Ｔ５に到着可能であると共に、本発明の特徴として、エッジスイッチＥ８からエッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を経由する経路、または、コアスイッチＣ６からコアスイッチＣ５、エッジスイッチＥ５を経由する経路を利用して宛先のユーザ端末Ｔ５に到着可能である。
これにより、従来技術では未使用リンクとなっていたエッジスイッチＥ８／エッジスイッチＥ７間のリンク、コアスイッチＣ６／コアスイッチＣ５間のリンクもフレーム転送に利用できるため、ネットワーク全体の帯域利用効率を向上できる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるＡｌｔｅｒｎａｔｅポート側リンクへの転送に変化が生じる障害の一例として、図２０に示すように、コアスイッチＣ６とエッジスイッチＥ６の間のリンクに障害が生じた場合について説明する。本実施の形態の構成では、帯域利用効率の面では従来技術と比べて第１の実施の形態と同等の効果を持ちながら、第１の実施の形態に比べて、障害発生時の復旧が高速化される。
図１のネットワークにおいて、コアスイッチＣ６とエッジスイッチＥ６の間のリンクに障害が生じた場合、コアスイッチＣ６では、障害を検知すると、障害管理部７７０は、ＳＴＰ制御部８８０およびテーブルサーチ部２６３０に障害通知する。
ＳＴＰ制御部８８０は、ツリーの再構成処理を開始する。これはＲＳＴＰの標準動作に従うので詳細説明は省略する。
テーブルサーチ部２６３０は、障害管理部７７０から障害通知を受けると、出力ポート決定法を変更する。テーブルサーチ部２６３０は、障害通知受信以降は、Ｔａｇテーブル２７００から取得される出力ポートから障害が検出された出力ポートを除外し、残りの出力ポートのポート番号のみを取得する。図２９を参照すると、通常時はＴａｇテーブル３００１において、ポートｐ１、ｐ２を取得し、所定の方法で出力先を決定していたのに対して、障害通知受信以降は、Ｔａｇテーブル３００１から取得されるポートｐ１、ｐ２から障害が検出されたポートｐ１を除外し、ポートｐ２のみを取得し、出力先とする。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部８００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部２６３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部２６３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであるため、Ｔａｇテーブル３００１を参照して、拡張タグ＝ｇ５に対する出力ポートとして、出力ポートであるポートｐ２を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には出力ポートｐ２を通知する。
フレーム書換部８１０は、フレーム解析部８００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部２６３０から受信している出力ポート＝ポートｐ２に対して拡張タグフレーム２２００を出力する。
障害発生前とは異なり、コアスイッチＣ６ではエッジスイッチＥ８から受信したフレームを全てポートｐ２に出力し、そのフレームは、コアスイッチＣ５、エッジスイッチＥ５を経由して宛先ユーザ端末Ｔ５に到着する。
また、コアスイッチＣ６では、ＳＴＰ制御部８８０において、障害発生後のツリー再構成処理が行なわれている。
図３０は、ＳＴＰのポート状態が安定後の各テーブルの状態を示す。
ＳＴＰのポート状態が安定後、ＳＴＰのポート状態は、図３０（Ａ）のＳＴＰポート状態管理テーブル２４００のようになったとする。
ＳＴＰ制御部８８０は、ＳＴＰポート状態管理テーブル２４００を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部２６９０に通知する。ＳＴＰポート状態管理テーブル２４００にはポート役割＝Ａｌｔｅｒｎａｔｅポートのポートは存在しないため、これについては通知しない。
テーブル制御部２６９０は、フォワーディングテーブル格納部２６４０のＴａｇテーブル２７００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポートｐ２を設定する。その結果のＴａｇテーブル２７００は、図３０（Ｂ）のＴａｇテーブル３１０１のようになる。
テーブル制御部２６９０は、Ｔａｇテーブル２７００を更新する際に、同時にテーブルサーチ部２６３０にもＴａｇテーブル３１０１の更新を通知する。
テーブルサーチ部２６３０は、Ｔａｇテーブル２７００の出力ポートを参照して出力ポートを決定するよう、決定処理を通常処理に戻す。
ここで出力ポートに格納されるポート番号は、それまでの出力ポートであるため、結果として、出力先は変わらず、コアスイッチＣ６ではエッジスイッチＥ８から受信したフレームを全てポートｐ２に出力し、そのフレームはコアスイッチＣ５、エッジスイッチＥ５を経由して宛先ユーザ端末Ｔ５に到着する。
以上説明したように、本実施の形態では、障害発生時に、ＲＳＴＰの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
なお、上記第２の実施の形態では、Ｔａｇテーブル２７００を参照して取得した出力ポートが複数存在する場合であって、さらに、取得した複数の出力ポートに障害検出されたポートが含まれる場合に、当該障害検出されたポートを、取得した複数の出力ポートから除外する処理を行ない、障害検出されたポートを除外した出力ポートを対象として、所定のアルゴリズムを使用して出力先を決定するように構成したが、図３１に示すＴａｇテーブル２８００に示すように、障害時出力ポートのフィールドを設け、この障害時出力ポートに、障害用出力ポートとして、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号を設定するようにしてもよい。
この場合、障害通知のない通常時においてはＴａｇテーブル２８００の出力ポートと障害時出力ポートを対象として出力ポートを取得し、所定のアルゴリズムを使用して出力先を決定し、障害通知を受けた場合には、Ｔａｇテーブル２８００の障害時出力ポートに設定されたポートを出力ポートする。これにより、障害時の復旧を高速化できる。
（第２の実施の形態による効果）
以上、本実施の形態で説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られたイーサネット（登録商標）フレーム２２００は、従来技術に従いエッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由して、最短経路で宛先のユーザ端末Ｔ５に到着可能であると共に、本発明の特徴として、エッジスイッチＥ８からエッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を経由する経路、または、コアスイッチＣ６からコアスイッチＣ５、エッジスイッチＥ５を経由する経路を利用して宛先のユーザ端末Ｔ５に到着可能である。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して負荷分散しながらフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
（第３の実施の形態）
本発明の第３の実施の形態について、図面を用いて詳細に説明する。
図３２は、第３の実施の形態のフレームスイッチング部７３０の詳細構成を示している。
図３２では、図２３で示した第２の実施の形態でのフレームスイッチング部７３０に対して、テーブルサーチ部２６３０がテーブルサーチ部３２３０に変更され、フレーム解析部８００がフレーム解析部３２００に変更されている。また、フォワーディングテーブル格納部２６４０がフォワーディングテーブル格納部２８４０に変更され、それに伴いテーブル制御部２６９０がテーブル制御部２８９０に、テーブルサーチ部２６３０がテーブルサーチ部３２３０に変更されている。
まず、フォワーディングテーブル格納部２８４０について説明する。フォワーディングテーブル格納部２８４０のＴａｇテーブルは、図３１に示したような出力ポートと障害用出力ポートのフィールドを有するＴａｇテーブル２８００に変更されている。Ｔａｇテーブル２８００の構成は、図３１に示す通りであり、Ｔａｇテーブル９００が拡張タグに対する出力ポートを管理していたのに対して、図３１に示すようにＴａｇテーブル２８００は、拡張タグに対する通常時の出力ポートと障害時の出力ポートを管理する。
続いて、テーブル制御部２８９０について説明する。
テーブル制御部２８９０は、テーブル制御部８９０と同様にＳＴＰ制御部８８０から通知されたＳＴＰのポート情報に基づいて、拡張タグに対する出力ポートを設定する。
テーブル制御部２８９０は、ＳＴＰ制御部８８０からツリーＩＤと対応するポート情報、すなわち、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポート、または、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号を受信すると、フォワーディングテーブル格納部２８４０内のＴａｇテーブル２８００において、拡張タグフィールドが受信したツリーＩＤと等しいエントリに関して、出力ポートとして、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポートのポート番号を記載し、障害用出力ポートとして、ポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートのポート番号を記載する。
続いて、フレーム解析部３２００について説明する。
フレーム解析部３２００は、第１及び第２の実施の形態のフレーム解析部８００の処理に加えて、テーブルサーチ部３２３０に対して通知するフレーム種別情報として、フレームの優先度情報も通知する。その他の処理はフレーム解析部８００と同様である。
続いて、テーブルサーチ部３２３０について説明する。
テーブルサーチ部３２３０では、テーブルサーチ部８３０においてＴａｇテーブル９００を参照して拡張タグに対する出力ポートを取得していた処理が変更となる。テーブルサーチ部８３０がＴａｇテーブル９００の出力ポートフィールドに格納された１つまたは複数のポートを取得していたのに対して、テーブルサーチ部２６３０は、Ｔａｇテーブル２８００の出力ポートフィールドに格納されたポートと障害時出力ポートフィールドに格納されたポートをあわせて取得する。障害時出力ポートは、該当無しの場合があるので、取得するポートは１つまたは複数のポートとなる。
テーブルサーチ部３２３０では、Ｔａｇテーブル２８００を参照して拡張タグに対する出力ポートと障害時出力ポートを取得すると共に、取得したポートに障害時出力ポートが存在しない場合、フレームの優先度に関わらず、Ｔａｇテーブル２８００の出力ポートフィールドから取得したポートから出力ポートを決定する。取得したポートが複数であった場合、複数の出力ポートから出力先を決定するアルゴリズムとしては第１の実施の形態で示した方法のいずれかを用いる。
取得したポートに障害時出力ポートが存在する場合、取得した通常の出力ポートと障害時出力ポートからフレームの優先度を考慮して出力ポートを決定する。
出力ポートを決定後、テーブルサーチ部３２３０は決定した出力ポート情報をフレーム転送部８２０に通知する。
前述の通り、本発明で新たに転送可能としたＡｌｔｅｒｎａｔｅポートはＲｏｏｔポートの次にＲｏｏｔノードに対するコストが小さいポートであるため、Ａｌｔｅｒｎａｔｅポート側リンクを経由して宛先であるＲｏｏｔノードに到着する経路は従来技術の最短経路と同等またはそれに次ぐコストの小さい経路である。そのため、テーブルサーチ部３２３０では、Ｔａｇテーブル２８００を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先とする。
フレームの優先度については、一般的にはＶＬＡＮタグのＰｒｉｏｒｉｔｙビットに基づいて決定する。また、場合によっては、宛先ＭＡＣアドレスや送信元ＭＡＣアドレスに対して優先度を設定して、それに基づいて決定してもかまわない。
このような転送処理を行なうことにより、高優先度フレームについては宛先に対して最短経路で転送することができ、低優先度フレームについては最短経路でないものの極力コストの低い経路を経由して宛先に到達することが可能である。
また、障害が発生した場合、障害管理部７７０から通知を受けると、テーブルサーチ部３２３０はＴａｇテーブル２７００の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部８３０は決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブルサーチ部３２３０における受信フレームの出力ポート決定フローを図３４にまとめた。なお、テーブル制御部２８９０におけるＴａｇテーブル２８００の設定処理のフローチャートは図３３に示す。
図３３に示すように、テーブル制御部２８９０は、ステップＡ１において、ＳＴＰ制御部８８０からＳＴＰポート情報を受信すると、ステップＣ２として、受信したＳＴＰポート情報に基づき、Ｔａｇテーブル２８００を更新する。
図３４に示すように、テーブルサーチ部３２３０は、ステップＢ１において、フレーム解析部３２００から受信フレーム情報（フレーム優先度情報を含む）を受信すると、ステップＤ２として、Ｔａｇテーブル２８００を参照して、拡張タグに対する出力ポートと障害時出力ポートを取得する。
ここで、ステップＤ３において、障害時出力ポートが存在するかを判定し、存在している場合、ステップＥ４において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップＤ３において障害時出力ポートが存在しない場合、ステップＥ５において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。
その後、ステップＢ６において、決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した構成を有するエッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６からなる図１と同一トポロジーのネットワークにおいて、エッジスイッチＥ８に端末Ｔ８とともに端末Ｔ１０が接続され、エッジスイッチＥ５に端末Ｔ５とともに端末Ｔ９が接続され、端末Ｔ８から端末Ｔ５へ、また、端末Ｔ１０から端末Ｔ９へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。図３５はネットワーク構成図である。
本発明のフレーム転送方法を用いると、第１と第２の実施の形態と同様に、従来技術の特徴であるユーザ端末Ｔ８、Ｔ１０からユーザ端末Ｔ５、Ｔ９への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。さらに本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することができる。
ここで、第１の実施の形態との大きな差分であるＴａｇテーブル２８００における障害時出力ポートが存在するエッジスイッチＥ８とコアスイッチＣ６について、テーブル内容とテーブル設定手順を説明する。
エッジスイッチＥ８のテーブルを図３６にまとめた。
エッジスイッチＥ８では、ＳＴＰ制御部８８０において、ＳＴＰポート状態管理テーブル１４０４を有している。ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０４を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部２８９０に通知する。
テーブル制御部２８９０は、フォワーディングテーブル格納部２８４０のＴａｇテーブル２８００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートであるポートｐ１を、障害時出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートｐ２を設定する。
その結果のＴａｇテーブル２８００は、図３６において、Ｔａｇテーブル２９０１のようになる。その他のテーブルは、図１２と同じくＭＡＣ／Ｔａｇテーブル１５０２、ＭＡＣテーブル１５０３のように登録されている。
続いて、転送経路上でエッジスイッチＥ８の次ホップのノードであるコアスイッチＣ６のテーブルについて、図３７で説明する。
コアスイッチＣ６では、ＳＴＰ制御部８８０において、ＳＴＰポート状態管理テーブル１４０６を有している。
ＳＴＰ制御部８８０は、前述のＥ８の説明と同様の処理によりＳＴＰポート状態からＴａｇテーブルを設定する。すなわち、ＳＴＰ制御部８８０では、ＳＴＰのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０６を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートである、ＶＬＡＮ＝ｇ５、ポート＝１と、ポート役割＝Ａｌｔｅｒｎａｔｅポートである、ＶＬＡＮ＝ｇ５、ポート＝２をテーブル制御部２８９０に通知する。
テーブル制御部２８９０は、フォワーディングテーブル格納部２８４０のＴａｇテーブル２８００において、拡張タグ＝ｇ５に対する出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態のポートであるポートｐ１を、障害時出力ポートとしてＳＴＰ制御部８８０から通知されたポート役割＝Ａｌｔｅｒｎａｔｅポートであるポートｐ２を設定する。
その結果のＴａｇテーブル２７００は、図３７において、Ｔａｇテーブル３００１のようになる。
以降では、本発明の特徴であるＴａｇテーブル２８００における障害時出力ポートが存在するエッジスイッチＥ８とコアスイッチＣ６について、図３２のノード構成図および図３６、図３７のテーブルを用いて、フレーム転送処理手順を説明する。
ユーザ端末Ｔ８からユーザ端末Ｔ５には、図１８のイーサネット（登録商標）フレーム２１００が転送され、ユーザ端末Ｔ１０からユーザ端末Ｔ９には、図３９のイーサネット（登録商標）フレーム３４００が転送されることとする。
ここで、フレームの優先度は、イーサネット（登録商標）フレーム２１００が高優先フレームで、イーサネット（登録商標）フレーム３４００は低優先フレームであるとする。この優先度は、図４０のＶＬＡＮタグフォーマットに示すように、イーサネット（登録商標）フレーム２１００、３４００のＶＬＡＮタグＡの中のＰｒｉｏｒｉｔｙビットに記載される。
なお、本実施の形態では、イーサネット（登録商標）フレーム２１００、３４００のＶＬＡＮタグにＰｒｉｏｒｉｔｙ情報が格納されることとしているが、Ｐｒｉｏｒｉｔｙ情報は拡張タグの中に格納されたり、また本明細書には記載していないが、カスタマを識別するためのタグが拡張タグとＶＬＡＮタグの間に挿入される場合があり、そのカスタマ識別のためのタグの中にＰｒｉｏｒｉｔｙ情報が格納されてもよい。いずれの場合でも、本発明では以下に説明するように、フレームの優先度に基づいて、フレーム転送を行なう。
端末Ｔ８から端末Ｔ５宛てのイーサネット（登録商標）フレーム２１００を受信したエッジスイッチＥ８は、フレーム解析部３２００において、入力フレームが通常のイーサネット（登録商標）フレーム２００であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３２３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部３２３０は、受信フレームがイーサネット（登録商標）フレーム２００であり、入力ポートがユーザ端末側ポートであるため、ＭＡＣ／Ｔａｇテーブル１５０２を参照して、宛先ＭＡＣアドレスｔ５、ＶＬＡＮ＝Ａに対する拡張タグ＝ｇ５を取得し、フレーム書換部１０２０に対して拡張タグのスタック処理を指示する。また、受信フレームが高優先フレームであるため、Ｔａｇテーブル２９０１を参照して、拡張タグｇ５に対する出力ポート＝ポートｐ１を取得し、フレーム転送部８２０に通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３２３０から指示された拡張タグ＝ｇ５のスタック処理を行なう。その結果、出力するフレームは図１９の拡張タグフレーム２２００となる。
フレーム書き換え後、フレーム書換部８１０は、拡張タグフレーム２２００をフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部３２３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。
また、受信フレームが端末Ｔ１０から端末Ｔ９宛てのイーサネット（登録商標）フレーム３４００である場合、エッジスイッチＥ８は、フレーム解析部３２００において、入力フレームが通常のイーサネット（登録商標）フレーム２００であることを解析し、低優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３２３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部３２３０は、受信フレームがイーサネット（登録商標）フレーム２００であり、入力ポートがユーザ端末側ポートであるため、ＭＡＣ／Ｔａｇテーブル１５０２を参照して、宛先ＭＡＣアドレスｔ５、ＶＬＡＮ＝Ａに対する拡張タグ＝ｇ５を取得し、フレーム書換部１０２０に対して拡張タグのスタック処理を指示する。また、受信フレームが低優先フレームであるため、Ｔａｇテーブル２９０１を参照して、拡張タグｇ５に対する障害時出力ポート＝ポートｐ２を取得し、フレーム転送部８２０に通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３２３０から指示された拡張タグ＝ｇ５のスタック処理を行なう。その結果、出力するフレームは図４１の拡張タグフレーム３６００となる。
フレーム書き換え後、フレーム書換部８１０は拡張タグフレーム３６００をフレーム転送部８２０に転送する。フレーム転送部８２０はテーブルサーチ部３２３０から受信している出力ポート＝ポートｐ２に対して拡張タグフレーム３６００を出力する。
続いて、エッジスイッチＥ８のポートｐ１側に接続される次ホップのコアスイッチＣ６について説明する。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部３２００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３２３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部３２３０は、受信フレームが拡張タグフレーム３００であり、入力ポートがネットワーク側ポートであり、拡張タグの値が他ノードのノードＩＤであり、高優先フレームであるため、Ｔａｇテーブル３００１を参照して、拡張タグ＝ｇ５に対する出力ポート＝ポートｐ１を取得する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には決定した出力ポートｐ１を通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部３２３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。
コアスイッチＣ６のポートｐ１側に接続するエッジスイッチＥ６、エッジスイッチＥ６の次ホップのエッジスイッチＥ５、エッジスイッチＥ８のポートｐ２側に接続するエッジスイッチＥ７、コアスイッチＣ６のポートｐ２側に接続するコアスイッチＣ５は、それぞれ第１及び第２の実施の形態で説明したのと同様の処理を行ない、フレーム転送する（それぞれＴａｇテーブル２７００において障害時出力ポートが新たに導入されているが、本ネットワーク構成では各スイッチはＡｌｔｅｒｎａｔｅポートを保持しないため、実質的な処理は同様となっている）。その結果、イーサネット（登録商標）フレーム２１００は宛先のユーザ端末Ｔ５に到着する。
以上説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られたイーサネット（登録商標）フレーム２１００は高優先フレームであるため、宛先のユーザ端末Ｔ５が接続しているエッジスイッチＥ５への最短経路であるエッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５を経由して、宛先のユーザ端末Ｔ５に到着可能である。
また、ユーザ端末Ｔ１０からユーザ端末Ｔ９に送られたイーサネット（登録商標）フレーム３４００は低優先フレームであるため、宛先のユーザ端末Ｔ９が接続しているエッジスイッチＥ５に向けて、従来技術では未使用であったエッジスイッチＥ８／エッジスイッチＥ７間のリンクを利用して、２番目にコストが低い転送経路であるエッジスイッチＥ８、エッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を経由して、宛先のユーザ端末Ｔ９に到着可能である。
このように、本実施の形態の転送方法では、高優先フレームに対しては最低コスト経路で転送され、低優先フレームに対しては従来技術では未使用となったリンクを利用することにより極力コストの低い経路で転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。
続いて、ネットワーク内に障害が発生した時のフレーム転送について説明する。ここでは、本発明の特徴であるＡｌｔｅｒｎａｔｅポート側リンクへの転送に変化が生じる障害の一例として、図２０に示すように、コアスイッチＣ６とエッジスイッチＥ６の間のリンクに障害が生じた場合について説明する。
テーブルサーチ部３２３０は、通常時はフレームの優先度に従い、高優先フレームに対してはＴａｇテーブル２８００の出力ポートを出力先とし、低優先フレームに対しては障害時出力ポートを出力先としていた。これに対し、障害発生後、障害管理部７７０から障害通知を受けると、テーブルサーチ部３２３０は、Ｔａｇテーブル２８００の障害時出力ポートのポート番号のみを取得して、高優先フレーム、低優先フレーム共に、障害時出力ポートを出力先とする。
また、コアスイッチＣ６では、ＳＴＰ制御部８８０において、障害発生後のツリー再構成処理が行なわれている。このツリー再構成処理については、第２の実施の形態の場合と同様であり、図３８は、ツリー再構成後に、ＳＴＰのポート状態が安定後の各テーブルである。
これにより、本実施の形態では、障害発生時に、ＲＳＴＰの手順に従いツリーのポート状態が更新されて出力先が決定するのに先行して、出力先となるポートに予めフレーム転送することにより、障害時の復旧を高速化できる。
（第３の実施の形態による効果）
以上、本実施の形態で説明したように、転送フレームに優先度が考慮されている場合、高優先フレームについては最低コスト経路にて宛先ユーザ端末に到着可能であり、低優先フレームについては、従来技術では未使用であったリンクを利用して、極力コストの低い経路で宛先ユーザ端末まで転送される。これにより、ネットワーク全体の帯域利用率を向上すると共に、データの優先度に基づく転送が可能となる。また、障害発生時には、障害後のトポロジーで転送先となるポートに障害検知後に先行して切り替えることにより、障害復旧を高速化できる。
まとめると、本実施の形態では、最短経路転送するととも、従来技術の未使用リンクを使用して、フレームの優先度を考慮しながら負荷分散してフレーム転送可能とし、ネットワーク全体の帯域利用効率を向上でき、さらに障害時の復旧を高速化できる。
（第４の実施の形態）
本発明の第４の実施の形態について、図面を用いて詳細に説明する。
図４２は、第４の実施の形態のフレームスイッチング部７３０の詳細構成を示している。
図４２では、図３２で示した第３の実施の形態でのフレームスイッチング部７３０に対して、テーブルサーチ部３２３０がテーブルサーチ部３７３０に変更され、フォワーディングテーブル格納部２６４０がフォワーディングテーブル格納部３７４０に変更され、テーブル制御部２６９０がテーブル制御部３７９０に変更されている。以降では、第３の実施の形態との差分を中心に説明する。
まず、フォワーディングテーブル格納部３７４０について説明する。
図４３は、フォワーディングテーブル格納部３７４０の構成例である。
フォワーディングテーブル格納部３７４０は、第３の実施の形態のフォワーディングテーブル格納部２８４０に対して、図３１に示したＴａｇテーブル２８００がＴａｇテーブル３８００に変更されている。
Ｔａｇテーブル３８００の構成は、図４４に示す通りである。Ｔａｇテーブル２７００が拡張タグに対する出力ポート、障害時出力ポートを管理していたのに対して、図４４に示すようにＴａｇテーブル３８００は、出力ポート、障害時出力ポートと各ポートのルートパスコストを管理する。ルートパスコストとはＳＴＰ／ＲＳＴＰのパラメータで、ルートノードのへのコストを示している。
続いてテーブル制御部３７９０について説明する。
テーブル制御部３７９０は、テーブル制御部２６９０と同様にＳＴＰ制御部８８０から通知されたＳＴＰのポート情報に基づいて、拡張タグに対する出力ポートを設定するのに加えて、各ポートのルートパスコストも設定する。
テーブル制御部３７９０は、ＳＴＰ制御部８８０からポート情報として、ポート役割、ポート状態と共にルートパスコストも合わせて取得する。そして、フォワーディングテーブル格納部３７４０内のＴａｇテーブル３８００において、出力ポート、障害時出力ポートにそれぞれのルートパスコストもあわせて記載する。
続いて、テーブルサーチ部３７３０について説明する。テーブルサーチ部３２３０では、フレームの優先度を考慮して出力ポートを決定していた。テーブルサーチ部３７３０では、同様にフレーム優先度を考慮して出力ポートを決定する際に、各ポートのルートパスコストも考慮して出力先を決定する。
テーブルサーチ部３２３０では、Ｔａｇテーブル２７００を参照して出力ポートと障害時出力ポートを取得した場合、優先度の高いフレームについては、出力ポートを出力先とし、優先度の低いフレームについては、障害時出力ポートを出力先としていた。
障害時出力ポート＝Ａｌｔｅｒｎａｔｅポートは、出力ポート＝Ｒｏｏｔポートに次いでルートノードへのコスト（ルートパスコスト）が低い経路が選択されている。
ネットワーク構成によっては、両ポートのルートパスコストが等しい場合には、ポート番号等のパラメータにより、Ｒｏｏｔ、Ａｌｔｅｒｎａｔｅの決定が行なわれる。
ルートパスコストが等しい場合、障害時出力ポート＝Ａｌｔｅｒｎａｔｅポートを選択したとしても出力ポート＝Ｒｏｏｔポートを選択した場合と同様に最短経路で宛先に到着することが可能である。
そこで、テーブルサーチ部３７３０では、Ｔａｇテーブル３８００を参照して拡張タグに対する出力ポートと障害時出力ポートを取得した場合、両ポートのルートパスコストが等しい場合には、フレームの優先度に関わらず、両ポートを対象として前述の所定の方法を利用して出力先を決定し、出力ポート＝Ｒｏｏｔポートのルートパスコストが障害時出力ポート＝Ａｌｔｅｒｎａｔｅポートのルートパスコストよりも小さい場合には、高優先フレームを出力ポートに出力し、低優先フレームを障害時出力ポートに出力する。
また、障害が発生した場合の処理は、テーブルサーチ部２６３０、３２３０と同様である。障害管理部７７０から通知を受けると、テーブルサーチ部３７３０はＴａｇテーブル３８００の障害時出力ポートに格納されたポートのポート番号を取得して出力先を決定する。
出力ポートを決定後、テーブルサーチ部３７３０は決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した各部の中で本発明の特徴的な処理となるテーブル制御部３７９０におけるＴａｇテーブル３８００の設定フローを図４５に、テーブルサーチ部３７３０における受信フレームの出力ポート決定フローを図４６にまとめた。
図４５に示すように、テーブル制御部３７９０は、ステップＦ１において、ＳＴＰ制御部８８０からＳＴＰポート情報（ルートパスコスト情報を含む）を受信すると、ステップＦ２として、受信したＳＴＰポート情報に基づき、Ｔａｇテーブル３８００を更新する。
また、図４６に示すように、テーブルサーチ部３７３０は、ステップＥ１において、フレーム解析部３２００から受信フレーム情報（フレーム優先度情報を含む）を受信すると、ステップＧ２として、Ｔａｇテーブル３８００を参照して、拡張タグに対する出力ポートと障害時出力ポートと各ポートのルートパスコストを取得する。
ここで、ステップＤ３において、障害時出力ポートが存在するかを判定し、存在している場合、ステップＧ４において、取得した出力ポートと障害時出力ポートのルートパスコストを比較し、等しい場合、ステップＧ６において、フレーム優先度に関わらず、両ポートを対象として所定のアルゴリズムを使用して出力先を決定する。
また、ステップＧ４において、コストが等しくない場合、ステップＥ４において、取得した出力ポートを高優先フレームの出力先とし、障害時出力ポートを低優先フレームの出力先として、出力先を決定する。
また、ステップＤ３において障害時出力ポートが存在しない場合、ステップＥ５において、フレーム優先度に関わらず、取得した出力ポートを出力先として決定する。その後、ステップＢ６において、決定した出力ポート情報をフレーム転送部８２０に通知する。
以上説明した構成を有するエッジスイッチＥ５〜Ｅ８、コアスイッチＣ５、Ｃ６からなる図３５のネットワークにおいて、第３の実施の形態と同様に端末Ｔ８から端末Ｔ５へ、また、端末Ｔ１０から端末Ｔ９へとフレーム転送されている場合の本発明のフレーム転送方法について説明する。なお、本実施の形態では、コアスイッチＣ５／コアスイッチＣ６間のリンクのみ１００Ｍｂｐｓの帯域で、その他のリンクは１Ｇｂｐｓの帯域であるとする。よって、本実施の形態では、各リンクのコストを１００Ｍｂｐｓリンクが１０、他の１Ｇｂｐｓリンクが１とする。
本発明のフレーム転送方法を用いると、第１〜第３の実施の形態と同様に、従来技術の特徴であるユーザ端末Ｔ８、Ｔ１０からユーザ端末Ｔ５、Ｔ９への最短経路転送を実現すると共に、従来技術で未使用リンクとなっていたリンクもフレーム転送に使用することにより、ネットワーク全体の帯域利用効率を向上できる。
また、本実施の形態では上記の特徴に加えて、転送されるフレームの優先度に応じて、高優先フレームは最短経路で転送し、低優先フレームは最短経路に次ぐ極力コストの低い経路で転送することが可能であり、さらに、候補となる経路のコストが等しい場合は優先度を考慮せずに分散させ、コストに差がある場合に優先度に応じた転送を行うことで、優先度による偏りを極力なくしつつ、高優先フレームについては最短経路で転送することが可能である。
以降では、本発明の特徴であるＴａｇテーブル３８００における障害時出力ポートが存在するエッジスイッチＥ８とコアスイッチＣ６について、フレーム転送処理手順を説明する。エッジスイッチＥ８のテーブルを図４７の（Ａ）から（Ｄ）、コアスイッチＣ６のテーブルを図４８の（Ａ）、（Ｂ）に示す。
第３の実施の形態と同様に、ユーザ端末Ｔ８からユーザ端末Ｔ５には、図１８のイーサネット（登録商標）フレーム２１００が転送され、ユーザ端末Ｔ１０からユーザ端末Ｔ９には、図３５のイーサネット（登録商標）フレーム３３００が転送されており、フレームの優先度はイーサネット（登録商標）フレーム２１００が高優先フレームで、イーサネット（登録商標）フレーム３３００は低優先フレームであるとする。
端末Ｔ８から端末Ｔ５宛てのイーサネット（登録商標）フレーム２１００を受信したエッジスイッチＥ８は、フレーム解析部３２００において、入力フレームが通常のイーサネット（登録商標）フレーム２００であることを解析し、高優先フレームであることを取得し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３７３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。
テーブルサーチ部３７３０は、受信フレームがイーサネット（登録商標）フレーム２００であり、入力ポートがユーザ端末側ポートであるため、ＭＡＣ／Ｔａｇテーブル１５０２を参照して、宛先ＭＡＣアドレスｔ５、ＶＬＡＮ＝Ａに対する拡張タグ＝ｇ５を取得し、フレーム書換部１０２０に対して拡張タグのスタック処理を指示する。また、Ｔａｇテーブル４００１を参照して、拡張タグ＝ｇ５に対する出力ポートはポートｐ１でルートパスコストが３、また、障害時出力ポートはポートｐ２でルートパスコストが３であることを取得する。
受信フレームは高優先フレームであるが、両ポートのルートパスコストが等しいため、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、決定した出力ポートをフレーム転送部８２０に通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３７３０から指示された拡張タグ＝ｇ５のスタック処理を行なう。その結果、出力するフレームは、図１９の拡張タグフレーム２２００となる。
フレーム書き換え後、フレーム書換部８１０は、拡張タグフレーム２２００をフレーム転送部８２０に転送する。
フレーム転送部８２０はテーブルサーチ部３２３０から受信している出力ポート＝ポートｐ１またはポートｐ２に対して拡張タグフレーム２２００を出力する。
また、受信フレームが端末Ｔ１０から端末Ｔ９宛てのイーサネット（登録商標）フレーム３３００である場合、エッジスイッチＥ８は、上述の通り拡張タグｇ５に対する出力ポートとルートパスコストが等しいため、フレーム優先度は考慮せず、両ポートを出力先対象として、所定の方法を用いて出力先を決定し、出力する。なお、出力されるフレームは拡張タグフレーム３６００である。詳細は上述の端末Ｔ８から端末Ｔ５宛てのイーサネット（登録商標）フレーム２１００と同様であるため、省略する。
続いて、エッジスイッチＥ８のポートｐ１側に接続される次ホップのコアスイッチＣ６について説明する。
エッジスイッチＥ８から拡張タグフレーム２２００を受信したコアスイッチＣ６は、フレーム解析部３２００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３７３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。ここでは、入力フレームの入力情報は高優先フレームとなっている。
テーブルサーチ部３７３０は、Ｔａｇテーブル４００１を参照して、拡張タグ＝ｇ５に対する出力ポートはポートｐ１でルートパスコストが２、また、障害時出力ポートはポートｐ２でルートパスコストが１１であることを取得する。
受信フレームは高優先フレームであり、両ポートのルートパスコストが等しくないため、出力ポート＝ポートｐ１を出力先として決定する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には決定した出力ポートｐ１を通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信している拡張タグフレーム２２００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部３７３０から受信している出力ポート＝ポートｐ１に対して拡張タグフレーム２２００を出力する。
一方、コアスイッチＣ６が、エッジスイッチＥ８から拡張タグフレーム３６００を受信した場合は以下のようになる。フレーム解析部３２００において、入力フレームが拡張タグフレーム３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報、優先度情報をテーブルサーチ部３７３０に通知し、フレーム全体またはペイロード部をフレーム書換部８１０に通知する。ここでは、入力フレームの入力情報は低優先フレームとなっている。
テーブルサーチ部３７３０は、Ｔａｇテーブル４００１を参照して、拡張タグ＝ｇ５に対する出力ポートはポートｐ１でルートパスコストが２、また、障害時出力ポートはポートｐ２でルートパスコストが１１であることを取得しており、受信フレームが低優先フレームであるため、出力ポート＝ポートｐ２を出力先として決定する。その後、フレーム書換部８１０に対してフレーム書換無しを通知し、フレーム転送部８２０には決定した出力ポートｐ２を通知する。
フレーム書換部８１０は、フレーム解析部３２００から受信している拡張タグフレーム３６００に対し書換処理を行なわずにフレーム転送部８２０に転送する。
フレーム転送部８２０は、テーブルサーチ部３７３０から受信している出力ポート＝ポートｐ２に対して拡張タグフレーム３６００を出力する。
コアスイッチＣ６のポートｐ１側に接続するエッジスイッチＥ６、エッジスイッチＥ６の次ホップのエッジスイッチＥ５、エッジスイッチＥ８のポートｐ２側に接続するエッジスイッチＥ７、コアスイッチＣ６のポートｐ２側に接続するコアスイッチＣ５は、それぞれ第１及び第２の実施の形態で説明したのと同様の処理を行ない、フレーム転送する（それぞれＴａｇテーブル３８００において、出力ポートと障害時出力ポートのルートパスコストが新たに導入されているが、本ネットワーク構成では各スイッチはＡｌｔｅｒｎａｔｅポートを保持しないため、実質的な処理は同様となっている）。その結果、イーサネット（登録商標）フレーム２１００、３４００は宛先のユーザ端末Ｔ５、Ｔ９に到着する。
ネットワーク内に障害が発生した時のフレーム転送については第３の実施の形態と同様であるため、説明を省略する。
以上説明したように、ユーザ端末Ｔ８からユーザ端末Ｔ５に送られた高優先のイーサネット（登録商標）フレーム２１００と、ユーザ端末Ｔ１０からユーザ端末Ｔ９に送られた低優先のイーサネット（登録商標）フレーム３３００は、宛先のエッジスイッチＥ５に対する最低コストの経路である、（ａ）エッジスイッチＥ８、コアスイッチＣ６、エッジスイッチＥ６、エッジスイッチＥ５か、（ｂ）エッジスイッチＥ８、エッジスイッチＥ７、コアスイッチＣ５、エッジスイッチＥ５を通って、宛先のユーザ端末Ｔ５、Ｔ９に転送される。
ここで、（ａ）の経路上に転送されたフレームについては、コアスイッチＣ６で障害時出力ポートを備えており、受信フレームの中の低優先フレームについてはポートｐ２側に出力され、コアスイッチＣ６、コアスイッチＣ５、エッジスイッチＥ５を通って、宛先のユーザ端末Ｔ９に転送される。
なお、送付先の端末までのルートパスコストが、当該ネットワークシステムについて予め設定されるルートパスコストの許容値を超える場合には、Ｔａｇテーブル３８００から当該経路宛のポートを削除するように構成することも可能である。
このように構成することで、ルートパスコストが許容値を超えるような経路が選択されてしまうことを防止することができる。
（第４の実施の形態による効果）
このように、本実施の形態の転送方法では、従来技術では未使用であったリンクを利用してネットワーク全体の帯域利用率を向上することができる。
その際、宛先までコストが等しい経路が複数ある場合は優先度を考慮せずに分散して転送し、コストが異なる経路が複数ある場合は、高優先フレームを最低コスト経路で転送し、低優先フレームをその他の極力コストの低い経路で転送する。
これにより、データの優先度に基づく転送を行なうと共に、優先度によるデータ量の偏りを小さくして、フレーム転送量を平準化できる。
以上好ましい複数の実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図１】
2007094520.tif 000003
【図２】
2007094520.tif 000004
【図３】
2007094520.tif 000005
【図４】
2007094520.tif 000006
【図５】
2007094520.tif 000007
【図６】
2007094520.tif 000008
【図７】
2007094520.tif 000009
【図８】
2007094520.tif 000010
【図９】
2007094520.tif 000011
【図１０】
2007094520.tif 000012
【図１１】
2007094520.tif 000013
【図１２】
2007094520.tif 000014
【図１３】
2007094520.tif 000015
【図１４】
2007094520.tif 000016
【図１５】
2007094520.tif 000017
【図１６】
2007094520.tif 000018
【図１７】
2007094520.tif 000019
【図１８】
2007094520.tif 000020
【図１９】
2007094520.tif 000021
【図２０】
2007094520.tif 000022
【図２１】
2007094520.tif 000023
【図２２】
2007094520.tif 000024
【図２３】
2007094520.tif 000025
【図２４】
2007094520.tif 000026
【図２５】
2007094520.tif 000027
【図２６】
2007094520.tif 000028
【図２７】
2007094520.tif 000029
【図２８】
2007094520.tif 000030
【図２９】
2007094520.tif 000031
【図３０】
2007094520.tif 000032
【図３１】
2007094520.tif 000033
【図３２】
2007094520.tif 000034
【図３３】
2007094520.tif 000035
【図３４】
2007094520.tif 000036
【図３５】
2007094520.tif 000037
【図３６】
2007094520.tif 000038
【図３７】
2007094520.tif 000039
【図３８】
2007094520.tif 000040
【図３９】
2007094520.tif 000041
【図４０】
2007094520.tif 000042
【図４１】
2007094520.tif 000043
【図４２】
2007094520.tif 000044
【図４３】
2007094520.tif 000045
【図４４】
2007094520.tif 000046
【図４５】
2007094520.tif 000047
【図４６】
2007094520.tif 000048
【図４７】
2007094520.tif 000049
【図４８】
2007094520.tif 000050
【図４９】
2007094520.tif 000051
【図５０】
2007094520.tif 000052
【図５１】
2007094520.tif 000053
【図５２】
2007094520.tif 000054
【図５３】
2007094520.tif 000055
【国際調査報告】
2007094520.tif 000056
2007094520.tif 000057