(57)【特許請求の範囲】
【請求項１】
ネットワーク中継装置であって、
複数の外部装置との間でフレームを送受信するための複数のポートと、
前記ポートから受信したフレームである受信フレームを中継するためにフラッディングをする際に、前記受信フレームを送信するポートである送信ポートの属性に応じて、予め定められたフラッディング先に対してフラッディングを実行するフレーム処理部と、
前記複数のポートのそれぞれについて、ポートの属性を対応付けて記憶するポート属性記憶部と、
前記ポートの属性毎に予め定められたフラッディング先を記憶するフラッディング宛先記憶部と、
を備え、
前記フレーム処理部は、
前記ポート属性記憶部と、前記フラッディング宛先記憶部に格納された情報を用いて、前記送信ポートの属性に応じたフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
【請求項２】
請求項１記載のネットワーク中継装置であって、さらに、
前記複数のポートと、前記複数の外部装置のＭＡＣアドレスと、を対応付けて記憶するＭＡＣアドレス記憶部と、
前記ＭＡＣアドレスの学習処理を行う際に、前記ポート属性記憶部を用いて前記受信ポートの属性を検索し、前記検索した属性を、前記ＭＡＣアドレス記憶部のポートに対応付けて記憶させる学習処理部と、
前記複数のポートと、フラッディングの有無と、を対応付けて記憶するフラッディング指示記憶部と、
を備え、
前記フレーム処理部は、
前記ＭＡＣアドレス記憶部を用いた宛先検索により、前記送信ポートと、前記送信ポートの属性とを決定し、
決定した前記送信ポートをもとにして前記フラッディング指示記憶部を検索し、フラッディング有の場合は、決定した前記送信ポートの属性をもとに、フラッディング宛先記憶部を検索してフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
【請求項３】
請求項１記載のネットワーク中継装置であって、さらに、
前記複数のポートと、前記複数の外部装置のＭＡＣアドレスと、を対応付けて記憶するＭＡＣアドレス記憶部と、
前記複数のポートと、フラッディングの有無と、を対応付けて記憶するフラッディング指示記憶部と、
を備え、
前記フレーム処理部は、
前記ＭＡＣアドレス記憶部を用いた宛先検索により、前記送信ポートを決定するとともに、前記決定した送信ポートをもとに前記ポート属性記憶部を検索し、前記送信ポートの属性を決定し、
決定した前記送信ポートをもとにして前記フラッディング指示記憶部を検索し、フラッディング有の場合は、決定した前記送信ポートの属性をもとに、フラッディング宛先記憶部を検索してフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
【請求項４】
請求項２または３記載のネットワーク中継装置であって、さらに、
前記ＭＡＣアドレス記憶部に格納されている情報の更新を行うテーブル管理部を備え、
前記テーブル管理部は、
前記ＭＡＣアドレス記憶部に直接的または間接的に格納されている前記複数のポートの属性が、予め定められた特定の属性と一致する場合には、前記複数のポートと前記複数の外部装置のＭＡＣアドレスとを対応づけた情報を、前記ＭＡＣアドレス記憶部から削除する旨の要求を受信しても、前記ＭＡＣアドレス記憶部からの情報の削除を行わない、ネットワーク中継装置。
【請求項５】
請求項２ないし４のいずれか一項記載のネットワーク中継装置であって、さらに、
前記ネットワーク中継装置に接続される外部装置からの削除指示を受信して、前記複数のポートと前記複数の外部装置のＭＡＣアドレスとを対応づけた情報を、前記ＭＡＣアドレス記憶部から削除させる装置管理部を備える、ネットワーク中継装置。
【請求項６】
請求項２記載のネットワーク中継装置であって、
前記学習管理部は、さらに、
前記受信ポートの属性毎に異なる仮想ネットワークの識別番号を付与し、前記ＭＡＣアドレス記憶部のポートに、前記付与した仮想ネットワークの識別番号を対応付けて記憶させる、ネットワーク中継装置。
【請求項７】
ネットワーク中継装置を制御する方法であって、
受信フレームを中継するためにフラッディングをする際に、前記受信フレームを送信するポートである送信ポートの属性に応じて、予め定められたフラッディング先に対してフラッディングを実行する工程と、
複数のポートのそれぞれについて、ポートの属性を対応付けて記憶する工程と、
前記ポートの属性毎に予め定められたフラッディング先を記憶する工程と、
を備え、
前記フラッディングを実行する工程は、前記フラッディング先を記憶する工程によって記憶された情報を用いて、前記送信ポートの属性に応じたフラッディング先を決定し、フラッディングを実行する、方法。
【請求項８】
コンピュータプログラムであって、
受信フレームを中継するためにフラッディングをする際に、前記受信フレームを送信するポートである送信ポートの属性に応じて、予め定められたフラッディング先に対してフラッディングを実行する機能と、
複数のポートのそれぞれについて、ポートの属性を対応付けて記憶する機能と、
前記ポートの属性毎に予め定められたフラッディング先を記憶する機能と、を実現し、
前記フラッディングを実行する機能は、前記フラッディング先を記憶する機能によって記憶された情報を用いて、前記送信ポートの属性に応じたフラッディング先を決定し、フラッディングを実行する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの中継を行うネットワーク中継装置に関する。
【背景技術】
【０００２】
レイヤ２ネットワークの冗長性を確保するために、フレームを中継するネットワーク中継装置をリング状に接続したネットワークが用いられている。また、ネットワーク中継装置をリング状に接続したネットワークで使用される冗長化プロトコルを、リングプロトコルとも呼ぶ。このようなリングプロトコルにおいて、ネットワーク内の経路で障害が発生した場合、フレームを受信したネットワーク中継装置は、受信フレームを中継するためにフラッディングを行っている（例えば、特許文献１）。
【０００３】
従来のネットワーク中継装置は、フレームを受信したポートを除く全てのポートに対してフラッディングを行っていた。このため、フラッディングによって送信されるフレームが通信回線の帯域を圧迫するという問題があった。さらに、フラッディングによるフレームは、当該フレームを必要としない装置にまで送信されていたため、セキュリティ上好ましくないという問題があった。
【０００４】
また、このような問題は、リングプロトコルに限らず、他のネットワーク構成において使用される他のプロトコルにも共通する問題であった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２０１００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、フラッディングによる帯域の圧迫を抑制しつつ、セキュリティを向上させることが可能なネットワーク中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］
ネットワーク中継装置であって、
複数の外部装置との間でフレームを送受信するための複数のポートと、
前記ポートから受信したフレームである受信フレームを中継するためにフラッディングをする際に、前記受信フレームを送信するポートである送信ポートの属性に応じて、予め定められたフラッディング先に対してフラッディングを実行するフレーム処理部と、
を備える、ネットワーク中継装置。
この構成によれば、フレーム処理部は、受信フレームを送信する送信ポートの属性に応じて、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行するため、不要なフラッディングによる帯域の圧迫を抑制しつつ、セキュリティを向上させることができる。
【０００９】
［適用例２］
適用例１記載のネットワーク中継装置であって、さらに、
前記複数のポートのそれぞれについて、ポートの属性を対応付けて記憶するポート属性記憶部と、
前記ポートの属性毎に予め定められたフラッディング先を記憶するフラッディング宛先記憶部と、
を備え、
前記フレーム処理部は、
前記ポート属性記憶部と、前記フラッディング宛先記憶部に格納された情報を用いて、前記送信ポートの属性に応じたフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
この構成によれば、フレーム処理部は、受信フレームを送信する送信ポートの属性に応じて、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行するため、不要なフラッディングによる帯域の圧迫を抑制しつつ、セキュリティを向上させることができる。
【００１０】
［適用例３］
適用例２記載のネットワーク中継装置であって、さらに、
前記複数のポートと、前記複数の外部装置のＭＡＣアドレスと、を対応付けて記憶するＭＡＣアドレス記憶部と、
前記ＭＡＣアドレスの学習処理を行う際に、前記ポート属性記憶部を用いて前記受信ポートの属性を検索し、前記検索した属性を、前記ＭＡＣアドレス記憶部のポートに対応付けて記憶させる学習処理部と、
前記複数のポートと、フラッディングの有無と、を対応付けて記憶するフラッディング指示記憶部と、
を備え、
前記フレーム処理部は、
前記ＭＡＣアドレス記憶部を用いた宛先検索により、前記送信ポートと、前記送信ポートの属性とを決定し、
決定した前記送信ポートをもとにして前記フラッディング指示記憶部を検索し、フラッディング有の場合は、決定した前記送信ポートの属性をもとに、フラッディング宛先記憶部を検索してフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
この構成によれば、学習処理部は、ＭＡＣアドレスの学習処理を行う際に、学習対象となったポートの属性をＭＡＣアドレス記憶部に記憶させる。このためフレーム処理部は、ＭＡＣアドレス記憶部を用いた宛先検索によって、フレームを送信する送信ポートと、当該ポートの属性との両方の情報を得ることができる。この結果、ネットワーク中継装置におけるフレーム転送処理速度を向上させることができる。
【００１１】
［適用例４］
適用例２記載のネットワーク中継装置であって、さらに、
前記複数のポートと、前記複数の外部装置のＭＡＣアドレスと、を対応付けて記憶するＭＡＣアドレス記憶部と、
前記複数のポートと、フラッディングの有無と、を対応付けて記憶するフラッディング指示記憶部と、
を備え、
前記フレーム処理部は、
前記ＭＡＣアドレス記憶部を用いた宛先検索により、前記送信ポートを決定するとともに、前記決定した送信ポートをもとに前記ポート属性記憶部を検索し、前記送信ポートの属性を決定し、
決定した前記送信ポートをもとにして前記フラッディング指示記憶部を検索し、フラッディング有の場合は、決定した前記送信ポートの属性をもとに、フラッディング宛先記憶部を検索してフラッディング先を決定し、フラッディングを実行する、ネットワーク中継装置。
この構成によれば、フレーム処理部は、ＭＡＣアドレス記憶部を用いた宛先検索によって、フレームを送信する送信ポートを決定し、決定した送信ポートをもとにポート属性記憶部を検索して送信ポートの属性を決定する。このように、ポートの属性はポート属性記憶部に記憶されているため、ネットワーク中継装置の構成変更を容易に行うことができる。
【００１２】
［適用例５］
適用例３または４記載のネットワーク中継装置であって、さらに、
前記ＭＡＣアドレス記憶部に格納されている情報の更新を行うテーブル管理部を備え、
前記テーブル管理部は、
前記ＭＡＣアドレス記憶部に直接的または間接的に格納されている前記複数のポートの属性が、予め定められた特定の属性と一致する場合には、前記複数のポートと前記複数の外部装置のＭＡＣアドレスとを対応づけた情報を、前記ＭＡＣアドレス記憶部から削除する旨の要求を受信しても、前記ＭＡＣアドレス記憶部からの情報の削除を行わない、ネットワーク中継装置。
この構成によれば、テーブル管理部は、ＭＡＣアドレス記憶部に直接的または間接的に格納されているポートの属性が、予め定められた特定の属性と一致する場合には、ＭＡＣアドレス記憶部からの情報の削除を行わない。ＭＡＣアドレス記憶部からの情報の削除が行われないため、フレーム処理部は、ＭＡＣアドレス記憶部を宛先検索することにより、受信フレームを送信するポートである送信ポートを決定することができる。この結果、フレーム処理部は、受信フレームを送信する送信ポートの属性に応じて、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行することができ、不要なフラッディングによる帯域の圧迫を抑制しつつ、セキュリティを向上させることができる。
【００１３】
［適用例６］
適用例３ないし５のいずれか一項記載のネットワーク中継装置であって、さらに、
前記ネットワーク中継装置に接続される外部装置からの削除指示を受信して、前記複数のポートと前記複数の外部装置のＭＡＣアドレスとを対応づけた情報を、前記ＭＡＣアドレス記憶部から削除させる装置管理部を備える、ネットワーク中継装置。
この構成によれば、外部装置からの削除指示を受信して、ＭＡＣアドレス記憶部から情報が削除されるため、削除されずに残っていた情報を任意のタイミングで削除することができ、柔軟なネットワーク運用が可能となる。
【００１４】
［適用例７］
適用例３記載のネットワーク中継装置であって、
前記学習管理部は、さらに、
前記受信ポートの属性毎に異なる仮想ネットワークの識別番号を付与し、前記ＭＡＣアドレス記憶部のポートに、前記付与した仮想ネットワークの識別番号を対応付けて記憶させる、ネットワーク中継装置。
【００１５】
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継装置および方法、ネットワーク中継システム、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例としてのネットワーク中継装置が用いられたネットワークの概略構成を示す説明図である。
【図２】障害発生後にスイッチ＃１が行うフラッディングについての説明図である。
【図３】送信ポートとフラッディング先との関係を示す説明図である。
【図４】本発明の一実施例としてのスイッチの概略構成を示す説明図である。
【図５】スイッチで用いられるデータフレームの構造を示す説明図である。
【図６】スイッチで用いられるリングプロトコル制御フレームの構造を示す説明図である。
【図７】リングポート判定テーブルの一例を示す説明図である。
【図８】ＶＬＡＮ判定テーブルの一例を示す説明図である。
【図９】面番号テーブルの一例を示す説明図である。
【図１０】ＭＡＣアドレステーブルの一例を示す説明図である。
【図１１】フラッディング指示テーブルの一例を示す説明図である。
【図１２】フラッディング宛先テーブルの一例を示す説明図である。
【図１３】フレーム転送処理の手順を示すフローチャートである。
【図１４】フレーム転送処理の手順を示すフローチャートである。
【図１５】学習処理の手順を示すフローチャートである。
【図１６】リングプロトコル制御フレーム識別テーブルの一例を示す説明図である。
【図１７】リングプロトコル制御フレーム検出処理の手順を示すフローチャートである。
【図１８】ヘルスチェック受信監視処理の手順を示すフローチャートである。
【図１９】プロトコル制御処理の手順を示すフローチャートである。
【図２０】面番号管理テーブルの一例を示す説明図である。
【図２１】ＭＡＣアドレステーブルクリア処理の手順を示すフローチャートである。
【図２２】ＭＡＣアドレステーブルエージング処理の手順を示すフローチャートである。
【図２３】指示によるＭＡＣアドレステーブルクリア処理の手順を示すフローチャートである。
【図２４】第２実施例におけるスイッチの概略構成を示す説明図である。
【図２５】第２実施例における面番号テーブルの一例を示す説明図である。
【図２６】第２実施例におけるフラッディング指示テーブルの一例を示す説明図である。
【図２７】第２実施例における面番号管理テーブルの一例を示す説明図である。
【図２８】第３実施例におけるスイッチの概略構成を示す説明図である。
【図２９】第３実施例における面番号テーブルの一例を示す説明図である。
【図３０】第３実施例におけるフラッディング指示テーブルの一例を示す説明図である。
【図３１】第３実施例における面番号管理テーブルの一例を示す説明図である。
【図３２】第４実施例におけるスイッチの概略構成を示す説明図である。
【図３３】第４実施例におけるＭＡＣアドレステーブルの一例を示す説明図である。
【図３４】第４実施例における出力ポート判定テーブルの一例を示す説明図である。
【図３５】第４実施例におけるフレーム転送処理の一部の手順を示すフローチャートである。
【図３６】第４実施例における学習処理の手順を示すフローチャートである。
【図３７】第５実施例におけるスイッチの概略構成を示す説明図である。
【図３８】第５実施例におけるフラッディング宛先テーブルの一例を示す説明図である。
【発明を実施するための形態】
【００１７】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
（Ａ−１）概略説明：
（Ａ−２）システム構成：
（Ａ−３）フレーム転送処理：
（Ａ−４）学習処理：
（Ａ−５）リングプロトコル制御フレーム検出処理：
（Ａ−６）ヘルスチェック受信監視処理：
（Ａ−７）プロトコル制御処理：
（Ａ−８）ＭＡＣアドレステーブルクリア処理：
（Ａ−９）ＭＡＣアドレステーブルエージング処理：
（Ａ−１０）指示によるＭＡＣアドレステーブルクリア処理：
Ｂ〜Ｅ．第２〜第５実施例：
Ｆ．変形例：
【００１８】
Ａ．第１実施例：
（Ａ−１）概略説明：
図１は、本発明の一実施例としてのネットワーク中継装置が用いられたネットワークの概略構成を示す説明図である。このネットワークは、３台のネットワーク中継装置＃１〜＃３（以降、単に「スイッチ」とも呼ぶ。）と、４台の外部装置＃１〜＃４（以降、単に「ＰＣ」とも呼ぶ。）と、を備えている。スイッチは、いわゆるＬＡＮスイッチであり、ブリッジ機能やルータ機能を備えている。なお、ここでは、外部装置の例としてＰＣ（パーソナルコンピュータ）を例示するが、外部装置はＰＣに限らず、例えば、他のＬＡＮスイッチや、ネットワーク接続機能を有する家電製品等の任意のデバイスとすることができる。
【００１９】
スイッチ＃１と＃２とは、ポートＰ１１２とＰ２２１により接続されている。同様に、スイッチ＃２と＃３とはポートＰ２２３とＰ３３２により、スイッチ＃３と＃１とはポートＰ３３１とＰ１１３により、それぞれ接続されている。これにより、スイッチ＃１〜＃３は、リング状のネットワークを構成している。なお、ポートＰ１１２、Ｐ１１３、Ｐ２２１、Ｐ３３１のように、リング状のネットワークを構成するために他のＬＡＮスイッチと接続されるポートを、リングポートとも呼ぶ。また、スイッチ＃１のポートＰ１０１にはＰＣ＃１が接続されている。同様に、スイッチ＃１のポートＰ１０２にはＰＣ＃２が、スイッチ＃２のポートＰ２０１にはＰＣ＃３が、スイッチ＃３のポートＰ３０１にはＰＣ＃４がそれぞれ接続されている。なお、ポートＰ１０１、Ｐ１０２、Ｐ２０１、Ｐ３０１のように、リング状のネットワークを構成するためには用いられず、単に他のＬＡＮスイッチや、パーソナルコンピュータ等が接続されるポートを、非リングポートとも呼ぶ。
【００２０】
リングプロトコルでは、リングネットワークを構成するスイッチを、マスタノードと、トランジットノードとに分ける。図１の例では、スイッチ＃１がマスタノード、スイッチ＃２および＃３がトランジットノードである。そして、マスタノードのリングポートのうち、一方を通信可能な状態、他方を通信不可能な状態とする。図１の例では、スイッチ＃１のポートＰ１１２が通信可能な状態、ポートＰ１１３が通信不可能な状態とされている。このようにすることによって、ネットワーク内でのフレームのループを抑制している。図１の例では、例えば、ＰＣ＃１からＰＣ＃３宛てのパケットは、経路ＲＴ１１を用いて中継される。一方、ＰＣ＃１からＰＣ＃４宛てのパケットは、スイッチ＃２を経る経路ＲＴ１２を用いて中継される。
【００２１】
図２は、障害発生後にスイッチ＃１が行うフラッディングについての説明図である。障害発生後、障害を検出したマスタノードであるスイッチ＃１はまず、通信不可能な状態であったポートＰ１１３を通信可能な状態へと変更する。これにより、他のスイッチとの物理的な通信路を確保することができる。
【００２２】
図２（Ａ）は、スイッチ＃１が非リングポート（Ｐ１０１）から受信したフレームのフラッディング先を示す説明図である。図のように、ＰＣ＃１からＰＣ＃３宛てのフレームを受信したスイッチ＃１は、受信したフレームを中継するために、フラッディングを行う。このとき、スイッチ＃１は、フレームを受信したポート（Ｐ１０１）を除く全てのポートのうち、リングポート（Ｐ１１２、Ｐ１１３）にフラッディングをし、非リングポート（Ｐ１０２）にはフラッディングをしない。一方、ＰＣ＃１からＰＣ＃２宛てのフレームを受信したスイッチ＃１は、フレームを受信したポート（Ｐ１０１）を除く全てのポートのうち、リングポート（Ｐ１１２、Ｐ１１３）と非リングポート（Ｐ１０２）の両方に対してフラッディングを行う。
【００２３】
図２（Ｂ）は、スイッチ＃１がリングポート（Ｐ１１３）から受信したフレームのフラッディング先を示す説明図である。図のように、ＰＣ＃４からＰＣ＃３宛てのフレームを受信したスイッチ＃１は、同様にフラッディングを行う。このとき、スイッチ＃１は、フレームを受信したポート（Ｐ１１３）を除く全てのポートのうち、リングポート（Ｐ１１２）にフラッディングをし、非リングポート（Ｐ１０１、Ｐ１０２）にはフラッディングをしない。一方、ＰＣ＃４からＰＣ＃１宛てのフレームを受信したスイッチ＃１は、フレームを受信したポート（Ｐ１１３）を除く全てのポートのうち、リングポート（Ｐ１１２）と非リングポート（Ｐ１０１、Ｐ１０２）の両方に対してフラッディングを行う。
【００２４】
このように、スイッチ＃１は、フレームを受信したポートの属性（リングポート・非リングポート）に拘わらず、受信フレームを送信するポートである送信ポートの属性（リングポート・非リングポート）に応じて、フラッディング先を変える。なお、マスタノードであるスイッチ＃１が通信不可能な状態であったポートＰ１１３を通信可能な状態へと変更した後、スイッチ＃２、＃３についても、スイッチ＃１と同様の動作を行うため、説明を省略する。
【００２５】
図３は、送信ポートとフラッディング先との関係を示す説明図である。図のように、本実施例におけるスイッチは、受信フレームを送信する送信ポートがリングポートである場合は、リングポートにのみフラッディングを行う。これは、フレームを中継するという観点からは、非リングポートにフラッディングをしなくてもよく、また、障害が発生したことによる経路の変更という観点からも非リングポートにフラッディングをしなくてもよいからである。
【００２６】
一方、受信フレームを送信する送信ポートが非リングポートである場合、本実施例におけるスイッチは、リングポートと、非リングポートの両方にフラッディングを行う。これは、フレームを中継するという観点から非リングポートにフラッディングを行い、また、障害が発生したことによる経路の変更という観点から、リングポートにフラッディングを行うためである。
【００２７】
このように、本実施例におけるスイッチは、受信フレームを送信する送信ポートの属性（リングポート・非リングポート）に応じて、図３に示すように、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行する。このため、不要なフラッディング（具体的には、受信フレームを送信する送信ポートがリングポートである場合の非リングポートへのフラッディング）による帯域の圧迫を抑制することができる。また、フラッディングにより送信されるフレームを必要としない装置へはフラッディングがされないため、セキュリティを向上させることができる。
【００２８】
（Ａ−２）システム構成：
図４は、本発明の一実施例としてのスイッチ１０の概略構成を示す説明図である。スイッチ１０は、図１におけるスイッチ＃１〜＃３であり、面番号管理テーブル１００と、テーブル管理部２００と、リングプロトコル管理部３００と、学習管理部４００と、宛先判定部５００と、転送処理部６００と、ポート７００と、装置管理部８００と、リングポート判定テーブル９００とを備えている。
【００２９】
面番号管理テーブル１００は、現在使用中の面番号をポート番号毎に記憶するためのテーブルである。「面番号」とは、情報の組み合わせを相互に識別するための識別情報である。面番号についての詳細は後述する。テーブル管理部２００は、スイッチ１０が有する各テーブルを管理する。装置管理部８００は、スイッチ１０に接続される外部装置としての装置制御端末からの削除指示を受信して、ＭＡＣアドレスの学習情報の削除を行う。リングプロトコル管理部３００は、リングプロトコルを管理する機能を有する。学習管理部４００は、スイッチ１０の学習処理を管理する機能を有する。ポート属性記憶部としてのリングポート判定テーブル９００は、スイッチ１０の有する複数のポートのそれぞれについて、ポートの属性（リングポート・非リングポート）を対応付けて記憶するためのテーブルである。
【００３０】
宛先判定部５００は、スイッチ１０が受信したフレームの宛先検索処理を行う機能を有する。宛先判定部５００は、さらに、リングプロトコル制御フレーム識別テーブル５１０と、リングプロトコル制御フレーム検出部５２０と、ヘッダ解析部５３０と、検索処理部５４０と、ＶＬＡＮ判定テーブル５５０と、面番号テーブル５６０と、ＭＡＣアドレステーブル５７０と、フラッディング指示テーブル５８０と、フラッディング宛先テーブル５９０とを備える。リングプロトコル制御フレーム識別テーブル５１０は、リングプロトコルの制御（例えば、障害の検出等）を行うために用いられるテーブルである。リングプロトコル制御フレーム検出部５２０は、リングプロトコル制御フレーム識別テーブル５１０を用いて、スイッチ１０が受信した制御フレームを処理する。ヘッダ解析部５３０は、受信したフレームのヘッダ情報を解析する。
【００３１】
ＶＬＡＮ判定テーブル５５０は、フレームを受信したポート番号から、スイッチ１０内でのみ用いられる装置内ＶＬＡＮ番号を求めるためのテーブルである。なお、ＶＬＡＮ判定テーブル５５０は省略可能である。面番号テーブル５６０は、面番号管理テーブル１００と同様に、現在使用中の面番号を求めるためのテーブルである。ＭＡＣアドレス記憶部としてのＭＡＣアドレステーブル５７０は、後述する学習処理および宛先検索処理に用いられるテーブルである。フラッディング指示記憶部としてのフラッディング指示テーブル５８０は、フラッディングの有無を求めるためのテーブルである。フラッディング宛先記憶部としてのフラッディング宛先テーブル５９０は、ポートの属性毎に予め定められたフラッディングの宛先を格納しておくためのテーブルである。フレーム処理部としての検索処理部５４０は、受信したフレームの情報をもとにして前述した各テーブルを検索し、受信フレームの送信先を決定する（宛先検索処理を行う）。
【００３２】
転送処理部６００は、ポート７００を経由して外部とフレームを送受信する機能や、スイッチ１０内の各部へフレームを転送する機能を有する。ポート７００は、スイッチ１０と、スイッチ１０に接続されるＰＣとの間でフレームを送受信するためのインタフェースである。本実施例においては、４つのポート（識別番号：Ｐ１０１、Ｐ１０２、Ｐ１１２、Ｐ１１３）を備えるものとしたが、ポートの個数や識別番号は任意に定めることができる。
【００３３】
図５は、スイッチ１０で用いられるデータフレームの構造を示す説明図である。このフレームＦＭは、レイヤ１ヘッダＬ１ＨＤと、レイヤ２ヘッダＬ２ＨＤと、レイヤ３ヘッダＬ３ＨＤと、レイヤ４ヘッダＬ４ＨＤと、データＤＴとを含んでいる。レイヤ１ヘッダＬ１ＨＤは、プリアンブルＰＲＥを含んでいる。レイヤ２ヘッダＬ２ＨＤは、宛先ＭＡＣアドレスＴＭＡと、送信元ＭＡＣアドレスＦＭＡと、ＴＡＧプロトコル番号ＴＰＮと、ＵＰＲＩと、ＣＦＩと、ＶＬＡＮ番号ＶＬＮと、タイプＴＰＹとを含んでいる。レイヤ２ヘッダＬ２ＨＤのうち、宛先ＭＡＣアドレスＴＭＡには、フレームの宛先となるＰＣのＭＡＣアドレスが格納される。一方、送信元ＭＡＣアドレスＦＭＡには、当該フレームの送信元であるＰＣのＭＡＣアドレスが格納される。なお、ＴＡＧプロトコル番号ＴＰＮと、ＵＰＲＩと、ＣＦＩと、ＶＬＡＮ番号ＶＬＮとは省略可能である。
【００３４】
図６は、スイッチ１０で用いられるリングプロトコル制御フレームの構造を示す説明図である。このフレームＬＦＭは、レイヤ１ヘッダＬ１ＨＤと、レイヤ２ヘッダＬ２ＨＤと、データＤＴとを含んでいる。レイヤ１ヘッダＬ１ＨＤと、レイヤ２ヘッダＬ２ＨＤについては、図５で説明した通りである。データＤＴは、制御フレームタイプＣＦＴと、その他の情報ＣＯＴとを含んでいる。制御フレームタイプＣＦＴには、制御フレームの種別（例えば、ヘルスチェックフレームや、ＦＤＢフラッシュフレーム）を示す情報が格納される。
【００３５】
図７は、リングポート判定テーブル９００の一例を示す説明図である。リングポート判定テーブル９００は、スイッチ１０の有する複数のポートのそれぞれについて、ポートの属性（リングポート・非リングポート）を対応付けて記憶するためのテーブルである。リングポート判定テーブル９００は、受信ポート番号ＲＰＮと、ポート属性ＲＰＴとを含んでいる。受信ポート番号フィールドＲＰＮには、スイッチ１０が有する全てのポートについて、当該ポートの識別番号が格納されている。ポート属性フィールドＲＰＴには、受信ポート番号ＲＰＮに格納されているポート毎のポート属性を示す識別記号が格納されている。本実施例では、ポート属性を示す識別番号として、リングポートの場合は「ＲＰ」を、非リングポートの場合は「ＮＲＰ」を使用している。すなわち、図７の例では、ポートＰ１０１とＰ１０２とが非リングポート（ＮＲＰ）、ポートＰ１１２とＰ１１３とがリングポート（ＲＰ）である。
【００３６】
図８は、ＶＬＡＮ判定テーブル５５０の一例を示す説明図である。ＶＬＡＮ判定テーブル５５０は、フレームを受信したポート番号から、スイッチ１０内でのみ用いられる装置内ＶＬＡＮ番号を求めるためのテーブルである。ＶＬＡＮ判定テーブル５５０は、受信ポート番号ＶＮＰと、ＶＬＡＮ番号ＶＮＯと、タイプＶＴＹと、装置内ＶＬＡＮ番号ＶＳＮとを含んでいる。受信ポート番号フィールドＶＮＰには、フレームを識別する情報として、フレームを受信したポート番号を格納することができる。ＶＬＡＮ番号フィールドＶＮＯには、フレームを識別する情報として、所属しているＶＬＡＮの識別記号を格納することができる。タイプフィールドＶＴＹには、フレームを識別する情報として、フレームＦＭのタイプフィールドＴＹＰ（図５）に格納されるべき情報（上位層のプロトコルを示す情報）を格納することができる。装置内ＶＬＡＮ番号フィールドＶＳＮには、受信フレーム毎に定まる装置内ＶＬＡＮの識別記号が格納される。なお、上記はあくまでテーブルに設けられるフィールドの一例であり、これら条件となる項目は任意に設定することができる。例えば、フレームＦＭ中の他の情報を条件として加えてもよい。なお、条件フィールド（受信ポート番号ＶＮＰ、ＶＬＡＮ番号ＶＮＯ、タイプＶＴＹ）に格納されている「*」は、どのような値であっても一致するという意味である。
【００３７】
図９は、面番号テーブル５６０の一例を示す説明図である。面番号テーブル５６０は、現在使用中の面番号を求めるためのテーブルである。面番号テーブル５６０は、ポート番号ＦＮＰＴと、面番号ＦＮＮＯとを含んでいる。ポート番号フィールドＦＮＰＴには、スイッチ１０が有する全てのポートについての識別記号がそれぞれ格納される。ポート番号フィールドＦＮＰＴは、後述するＭＡＣアドレステーブル５７０から送信ポートとＭＡＣアドレスとを対応づけた情報を削除する際に用いられるキー項目である。面番号フィールドＦＮＮＯには、ポート番号フィールドＦＮＰＴに格納されているポート毎の現在使用中の面番号が格納される。
【００３８】
図１０は、ＭＡＣアドレステーブル５７０の一例を示す説明図である。ＭＡＣアドレステーブル５７０は、スイッチ１０が有する複数のポートと、当該ポートを経由して中継可能なＰＣのＭＡＣアドレスとを対応付けて記憶するためのテーブルであり、後述する学習処理および宛先検索処理に用いられる。ＭＡＣアドレステーブル５７０は、装置内ＶＬＡＮ番号ＭＳＮと、ＭＡＣアドレスＭＭＡと、面番号ＭＦＯと、ポート番号ＭＰＴと、ポート属性ＭＴＹと、ヒットビットＭＨＢとを含んでいる。装置内ＶＬＡＮ番号フィールドＭＳＮには、フレームを受信した受信ポート番号や受信フレームのヘッダ情報から導かれる装置内ＶＬＡＮ番号が格納される。ＭＡＣアドレスフィールドＭＭＡには、宛先となり得る同じサブネットに属する各ＰＣのＭＡＣアドレスが格納される。面番号フィールドＭＦＯには、ポート番号フィールドＭＰＴに格納されているポート毎の面番号（ここでは初期値なので０とする）が格納される。面番号は、初期値であるため０が格納されている。ポート番号フィールドＭＰＴには、ＭＡＣアドレスフィールドＭＭＡに格納されているＭＡＣアドレスを有するＰＣへフレームを送信するための送信ポートが格納される。ポート属性フィールドＭＴＹには、ポート番号フィールドＭＰＴに格納されている各ポートのポート属性を示す識別記号が格納される。ヒットビットフィールドＭＨＢは、後述するパケット転送処理において使用される。
【００３９】
図１１は、フラッディング指示テーブル５８０の一例を示す説明図である。フラッディング指示テーブル５８０は、スイッチ１０が有する全てのポート番号に対して個別に定められたフラッディング有無を示す複数の情報の組み合わせ（ＥＧ１、ＥＧ２、ＥＧ３）を記憶するためのテーブルである。この複数の情報の組合せ（ＥＧ１〜ＥＧ３）を総称して「情報群」とも呼ぶ。なお、この例では情報の組み合わせ数は３であるものとしているが、情報の組み合わせ数は任意に定めることができる。
【００４０】
フラッディング指示テーブル５８０は、面番号ＦＦＯと、キー項目であるポート番号ＦＰＴと、フラッディング指示ＦＩＮとを含んでいる。面番号フィールドＦＦＯには、面番号が格納される。図１１の例では、組合せＥＧ１を識別するための番号として面番号「０」が格納されている。同様に、組合せＥＧ２を識別するための番号として面番号「１」が、組合せＥＧ３を識別するための番号として面番号「２」がそれぞれ格納されている。ポート番号フィールドＦＰＴには、面番号毎に、スイッチ１０が有する全てのポートについての識別記号がそれぞれ格納される。フラッディング指示フィールドＦＩＮには、フラッディングの有無を示す識別記号が格納されている。具体的には、フラッディング有の場合は「ＦＬＤ」、フラッディング無の場合は「-」が格納される。
【００４１】
図１２は、フラッディング宛先テーブル５９０の一例を示す説明図である。フラッディング宛先テーブル５９０は、ポートの属性毎に予め定められたフラッディング先を記憶するためのテーブルである。フラッディング宛先テーブル５９０は、ポート属性ＦＡＰＴと、装置内ＶＬＡＮ番号ＦＡＳＮと、送信ポート番号ＦＡＰＮとを含んでいる。ポート属性フィールドＦＡＰＴには、ポートの属性が格納される。装置内ＶＬＡＮ番号フィールドＦＡＳＮには、フレームを受信した受信ポート番号や受信フレームのヘッダ情報から導かれる装置内ＶＬＡＮ番号が格納される。送信ポート番号フィールドＦＡＰＮには、フラッディングフレームの出力先となるポート番号のリストが格納される。このフラッディング宛先テーブル５９０は、図に示すように、ポートの属性毎に、装置内ＶＬＡＮ番号から定まる送信ポート番号の組合せを有している。具体的には、フラッディング宛先テーブル５９０は、ポート属性フィールドＦＡＰＴの値が非リングポート（ＮＲＰ）の場合のフラッディング先を示す情報の組合せＮＦと、ポート属性フィールドＦＡＰＴの値がリングポート（ＲＰ）の場合のフラッディング先を示す情報の組合せＲＦとの２種類のリストを含んでいる。
【００４２】
（Ａ−３）フレーム転送処理：
図１３および図１４は、フレーム転送処理の手順を示すフローチャートである。まず、ステップＳ１０２において、転送処理部６００は、ポート７００からフレームＦＭを受信する。ステップＳ１０４において、転送処理部６００は、受信したフレームＦＭを転送処理部６００内の図示しないバッファメモリへ蓄積する。さらに、転送処理部６００は、フレームＦＭのレイヤ２ヘッダＬ２ＨＤの情報と、レイヤ３ヘッダＬ３ＨＤの情報と、レイヤ４ヘッダＬ４ＨＤの情報と、フレームＦＭを受信した受信ポートの情報を、検索処理部５４０へ送信する。
【００４３】
ステップＳ１０６において、ヘッダ解析部５３０は、受信したヘッダ情報を解析して必要な情報を抽出する。必要な情報とは、レイヤ２ヘッダＬ２ＨＤのうちの宛先ＭＡＣアドレスＴＭＡと、送信元ＭＡＣアドレスＦＭＡと、ＶＬＡＮ番号ＶＬＮと、タイプＴＰＹとである。その後、ヘッダ解析部５３０は、抽出された情報と、フレームＦＭを受信した受信ポート番号とを併せて、検索処理部５４０およびリングプロトコル制御フレーム検出部５２０へ通知する。通知を受けたリングプロトコル制御フレーム検出部５２０は、ステップＳ１１０において、リングプロトコル制御フレーム検出処理を行う。リングプロトコル制御フレーム検出処理についての詳細は後述する。
【００４４】
ステップＳ１０８において、ヘッダ情報の通知を受けた検索処理部５４０は、装置内ＶＬＡＮ番号を決定する。具体的には、フレームＦＭを受信した受信ポート番号と、ヘッダ情報のＶＬＡＮ番号ＶＬＮと、タイプＴＰＹとをキーとして、ＶＬＡＮ判定テーブル５５０（図８）を検索し、一致するエントリの装置内ＶＬＡＮ番号フィールドＶＳＮの値を装置内ＶＬＡＮ番号と決定する。ステップＳ１１２において、検索処理部５４０は、面番号を決定する。具体的には、フレームＦＭを受信した受信ポート番号をキーとして、面番号テーブル５６０（図９）を検索し、一致するエントリの面番号フィールドＦＮＮＯの値を面番号と決定する。
【００４５】
ステップＳ１１４において、検索処理部５４０は、ＭＡＣアドレステーブル５７０（図１０）を学習検索する。具体的には、学習検索キー（フレームＦＭを受信した受信ポート番号と、ステップＳ１０８で決定した装置内ＶＬＡＮ番号と、レイヤ２ヘッダＬ２ＨＤのうちの送信元ＭＡＣアドレスＦＭＡと、ステップＳ１１２で決定した面番号）を用いてＭＡＣアドレステーブル５７０を検索し、学習検索キーの組に一致するエントリの有無を調べる。一致するエントリがない場合、ステップＳ１１８において、検索処理部５４０は、学習検索キーを学習管理部４００へ通知する。その後、ステップＳ１２０において、学習管理部４００は学習処理を行う。学習処理についての詳細は後述する。一方、ステップＳ１１６において、一致するエントリがある場合、検索処理部５４０は、一致したエントリについてのヒットビットフィールドＭＨＢの値を「１」へ書き換えた後、ステップＳ１２２へ遷移する。
【００４６】
なお、図１３のステップＳ１１４における学習検索キーにポートの属性を含めても良い。こうすれば、ポートの属性が変更された場合にも、後述する学習処理によってＭＡＣアドレステーブル５７０内のポート属性ＭＴＹを更新することができる。また、この場合は、フレームを受信した受信ポート番号からポートの属性を検索するテーブル（リングポート判定テーブル９００と同一内容のテーブル）を検索処理部５４０内に備えることが好ましい。
【００４７】
ステップＳ１２２において、検索処理部５４０は、宛先検索処理を行う。具体的には、レイヤ２ヘッダＬ２ＨＤの宛先ＭＡＣアドレスＴＭＡと、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号とをキーとして、ＭＡＣアドレステーブル５７０（図１０）を検索する。ステップＳ１２４において、検索処理部５４０は、一致するエントリがあるか否かを判断する。一致するエントリがある場合、ステップＳ１２６において、検索処理部５４０は、一致するエントリの面番号フィールドＭＦＯの値を出力用面番号と決定する。同様に、一致するエントリのポート番号フィールドＭＰＴの値を出力用ポート番号（送信ポートの番号）と、ポート属性フィールドＭＴＹの値を送信ポートの属性と決定する。
【００４８】
ステップＳ１２８において、検索処理部５４０は、フラッディング指示テーブル５８０（図１１）を検索する。具体的には、ステップＳ１２６で決定した出力用ポート番号と、出力用面番号とをキーとしてフラッディング指示テーブル５８０を検索し、一致するエントリのフラッディング指示フィールドＦＩＮの値を求める。ステップＳ１３０において、検索処理部５４０はフラッディング指示の有無を判断する。フラッディング指示が無の場合、すなわち、フラッディング指示フィールドＦＩＮの値が「−」の場合、ステップＳ１３２において、検索処理部５４０は、ステップＳ１２６で決定した出力用ポート番号を結果とする検索結果情報を生成する。
【００４９】
一方、フラッディング指示が有の場合、すなわち、フラッディング指示フィールドＦＩＮの値が「ＦＬＤ」の場合、ステップＳ１３４において、検索処理部５４０は１つ以上の送信ポートを決定する。具体的には、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、ステップＳ１２６で決定した送信ポートの属性とをキーとして、フラッディング宛先テーブル５９０（図１２）を検索し、一致するエントリの送信ポート番号フィールドＦＡＰＮの値を送信ポートと決定する。そして、ステップＳ１３６において、フレーム処理部としての検索処理部５４０は、ステップＳ１３４で決定した送信ポートからフレームＦＭを受信した受信ポート番号を除いた全てのポート番号を結果とする検索結果情報を生成することで、フラッディングを実行する。
【００５０】
ステップＳ１３８において、検索処理部５４０は、検索結果情報を転送処理部６００へ送信する。これを受け取った転送処理部６００は、ステップＳ１４０においてフレームを送信する。具体的には、転送処理部６００は、バッファメモリに蓄積したフレーム情報を読み出し、検索結果情報として与えられた全ての出力先ポートに対してフレームを送信する。
【００５１】
（Ａ−４）学習処理：
図１５は、学習処理の手順を示すフローチャートである。まず、ステップＳ２０２において、学習管理部４００は、検索処理部５４０にポート移動検索キーを用いたポート移動検索要求を送信する。ポート移動検索キーとは、図１３のステップＳ１１８において学習管理部４００に通知された学習検索キー（フレームＦＭを受信した受信ポート番号と、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、レイヤ２ヘッダＬ２ＨＤのうちの送信元ＭＡＣアドレスＦＭＡと、ステップＳ１１２（図１３）で決定した面番号）のうち、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、レイヤ２ヘッダＬ２ＨＤのうちの送信元ＭＡＣアドレスＦＭＡとを意味する。ステップＳ２０４において、検索処理部５４０は、ＭＡＣアドレステーブル５７０（図１０）をポート移動検索する。具体的には、検索処理部５４０は、ポート移動検索キーをキーとしてＭＡＣアドレステーブル５７０を検索し、一致するエントリの有無を求める。ステップＳ２０６において、検索処理部５４０は、ポート移動検索結果（一致するエントリの有無）を学習管理部４００へ送信する。ステップＳ２０８およびステップＳ２１０において、学習管理部４００は、一致するエントリの有無を判定する。
【００５２】
一致するエントリがない場合、ステップＳ２１１において、ポートの属性を決定する。具体的には、フレームＦＭを受信した受信ポート番号をキーとして、リングポート判定テーブル９００（図７）を検索し、一致するエントリのポート属性フィールドＲＰＴの値をポート属性と決定する。次に、ステップＳ２１２において、学習管理部４００は、学習検索キーと、ステップＳ２１１で決定したポート属性とを登録情報とした新規ＭＡＣアドレス登録要求を検索処理部５４０に対して送信する。新規ＭＡＣアドレス登録要求を受信した検索処理部５４０は、ステップＳ２１４において、受信した登録情報をＭＡＣアドレステーブル５７０へ新規に登録する。
【００５３】
一方、一致するエントリがある場合、ステップＳ２１６において、学習管理部４００は、ポート／面番号書換要求を検索処理部５４０に対して送信する。ポート／面番号書換要求とは、学習検索キーのうち、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、レイヤ２ヘッダＬ２ＨＤのうちの送信元ＭＡＣアドレスＦＭＡとを検索キーとし、フレームＦＭを受信した受信ポート番号と、ステップＳ１１２（図１３）で決定した面番号とを登録情報とした、ＭＡＣアドレステーブル５７０の更新要求である。ポート／面番号書換要求を受信した検索処理部５４０は、ステップＳ２１８において、受信した検索キーをキーとしてＭＡＣアドレステーブル５７０を検索する。そして、一致するエントリについて、面番号フィールドＭＦＯの値を受信した面番号へ、ポート番号フィールドＭＰＴの値を受信したポート番号へとそれぞれ更新する。
【００５４】
このように、外部装置からフレームを受信した際、学習管理部４００は、ＭＡＣアドレステーブル５７０に受信フレームの情報を登録または更新する（なお、この処理を「学習処理」とも呼ぶ。）。このため、受信フレームの情報を用いたＭＡＣアドレステーブル５７０の更新が可能となる。従って、早期にフラッディングを解消し、ネットワークトラフィックの軽減を図ることができる。また、学習管理部４００は、学習処理の際に、リングポート判定テーブル９００を用いて受信ポートの属性を検索し、検索した属性をＭＡＣアドレステーブル５７０のポートに対応付けて記憶させる。このため、フレーム処理部としての検索処理部５４０は、図１４で説明した宛先検索処理によって、フレームを送信する送信ポートと、当該ポートの属性との両方の情報を得ることができる。この結果、ネットワーク中継装置におけるフレーム転送処理速度を向上させることができる。
【００５５】
図１６は、リングプロトコル制御フレーム識別テーブル５１０の一例を示す説明図である。リングプロトコル制御フレーム識別テーブル５１０は、リングプロトコルにおける障害検知に使用される。ネットワークの障害検知は、マスタノードであるスイッチが行う。具体的には、マスタノードであるスイッチは、ヘルスチェックフレームという制御用のフレームをリングネットワーク上に周回させる。そして、このヘルスチェックフレームがネットワーク上を周回して、再度マスタノードへ戻ってきた場合、ネットワークは正常であると判断される。一方、ヘルスチェックフレームがマスタノードへ戻ってこない場合は、ネットワーク上の経路のどこかで障害が発生していると判断される。障害の発生を検出した場合、マスタノードは、リングネットワーク上にフラッシュ制御フレームと呼ばれるＭＡＣアドレスの学習情報をクリアするためのフレームを周回させる。トランジットノードであるスイッチは、このフラッシュ制御フレームを受信することにより、ＭＡＣアドレスの学習情報をクリアする。これにより、経路の更新が行われるしくみである。
【００５６】
図１６は、マスタノードであるスイッチが有するリングプロトコル制御フレーム識別テーブル５１０の一例を示している。なお、トランジットノードのスイッチが有するリングプロトコル制御フレーム識別テーブル５１０は、ヘルスチェックフレームを示すエントリ（Ｅ０１）を保有しない点のみ図１６と異なり、その他は同じである。
【００５７】
リングプロトコル制御フレーム識別テーブル５１０は、装置内ＶＬＡＮ番号ＦＤＳＮと、ポート番号ＦＤＰＮと、ＭＡＣアドレスＦＤＭＡと、制御フレームタイプＦＤＦＴと、フレーム処理種別ＦＤＰＯと、通知条件ＦＤＩと、タイムアウト時間ＦＤＴＴと、未受信時間ＦＤＮＴと、通知状態ＦＤＣＤとを含んでいる。装置内ＶＬＡＮ番号フィールドＦＤＳＮには、所属しているＶＬＡＮの識別記号を格納することができる。ポート番号フィールドＦＤＰＮには、フレームを受信したポート番号を格納することができる。ＭＡＣアドレスフィールドＦＤＭＡには、受信フレームＦＭの宛先ＭＡＣアドレスフィールドＴＭＡ（図５）に格納されるべき情報を格納することができる。制御フレームタイプフィールドＦＤＦＴには、制御フレームの種別を格納することができる。「ＨＣ」はヘルスチェックフレームを、「ＦＦ」はフラッシュ制御フレームを意味する。これらの装置内ＶＬＡＮ番号ＦＤＳＮと、ポート番号ＦＤＰＮと、ＭＡＣアドレスＦＤＭＡと、制御フレームタイプＦＤＦＴとは、制御フレームを識別するための条件フィールドである。なお、ポート番号フィールドＦＤＰＮに格納されている「*」は、どのような値であっても一致するという意味である。
【００５８】
フレーム処理種別フィールドＦＤＰＯには、制御フレームの処理種別が格納される。「廃棄」は、受信したフレームを転送せず、バッファを開放することを意味する。一方、「転送」は、受信したフレームを、転送処理部６００を通じて転送することを意味する。通知条件フィールドＦＤＩには、後述するリングプロトコル制御フレーム検出処理において用いられる通知条件が格納される。タイムアウト時間フィールドＦＤＴＴには、スイッチ１０がマスタノードとして動作する場合のヘルスチェック受信監視処理において用いられるタイムアウト時間が格納される。未受信時間フィールドＦＤＮＴには、ヘルスチェック受信監視処理において用いられるフレームの未受信時間が格納される。通知状態フィールドＦＤＣＤには、リングプロトコル管理部３００に対して障害の通知を行ったか否かを示す情報が格納される。
【００５９】
（Ａ−５）リングプロトコル制御フレーム検出処理：
図１７は、リングプロトコル制御フレーム検出処理の手順を示すフローチャートである。リングプロトコル制御フレーム検出処理は、スイッチ１０がフレームを受信した際に行われる処理で、制御用のフレームを検出するための処理である。制御用のフレームには、図１６で説明したヘルスチェックフレームやフラッシュ制御フレーム等がある。まず、ステップＳ３０２において、リングプロトコル制御フレーム検出部５２０は、リングプロトコル制御フレーム識別テーブル５１０を検索する。具体的には、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、フレームＬＦＭ（図６）を受信した受信ポート番号と、レイヤ２ヘッダＬ２ＨＤのうちの宛先ＭＡＣアドレスＴＭＡと、データＤＴのうちの制御フレームタイプＣＦＴとをキーとしてリングプロトコル制御フレーム識別テーブル５１０（図１６）を検索する。そして、一致するエントリのフレーム処理種別フィールドＦＤＰＯと、通知条件フィールドＦＤＩとの値を求める。
【００６０】
ステップＳ３０４において、リングプロトコル制御フレーム検出部５２０は、通知条件フィールドＦＤＩの値から通知条件を判断する。通知条件が受信時である場合、ステップＳ３０６においてリングプロトコル制御フレーム検出部５２０は、リングプロトコル管理部３００に対して必要な情報を通知する。具体的には、フレームＬＦＭを受信した受信ポート番号と、受信フレームのヘッダ情報と、ステップＳ１０８（図１３）で決定した装置内ＶＬＡＮ番号と、その他必要な情報を通知する。一方、通知条件がタイムアウト時である場合、ステップＳ３０７においてリングプロトコル制御フレーム検出部５２０は、リングプロトコル制御フレーム識別テーブル５１０内の未受信時間フィールドＦＤＮＴの値を「０」に更新する。フレーム受信に伴う未受信時間リセットのためである。その後、ステップＳ３０８において、リングプロトコル制御フレーム検出部５２０は、フレーム処理種別を検索処理部５４０へ通知する。これを受信した検索処理部５４０は、受信内容が「廃棄」である場合は、転送処理部６００へその旨を通知し、バッファメモリに保存されたフレーム情報を削除させる。一方、受信内容が「転送」である場合は、検索処理部５４０は、転送処理部６００へその旨を通知し、バッファメモリに保存されたフレームをリングプロトコル管理部３００へ転送させる。
【００６１】
（Ａ−６）ヘルスチェック受信監視処理：
図１８は、ヘルスチェック受信監視処理の手順を示すフローチャートである。このヘルスチェック受信監視処理は、図１３で説明したフレーム転送処理とは独立して行われる。まず、ステップＳ６０２においてリングプロトコル制御フレーム検出部５２０は、リングプロトコル制御フレーム識別テーブル５１０を参照する。具体的には、リングプロトコル制御フレーム識別テーブル５１０の通知条件フィールドＦＤＩの値が「タイムアウト」かつ、通知状態フィールドＦＤＣＤの値が「未」であるエントリを検索し、タイムアウト時間フィールドＦＤＴＴの値と、未受信時間フィールドＦＤＮＴの値とを読み出す。次に、ステップＳ６０４においてリングプロトコル制御フレーム検出部５２０は、タイムアウトであるか否かを判断する。タイムアウトでない場合（タイムアウト時間ＦＤＴＴ＜未受信時間ＦＤＮＴ）は、ステップＳ６１０に遷移する。
【００６２】
一方、タイムアウトである場合（タイムアウト時間ＦＤＴＴ≧未受信時間ＦＤＮＴ）、ステップＳ６０６において、リングプロトコル制御フレーム検出部５２０は、リングプロトコル管理部３００に必要な情報を通知する。具体的には、リングプロトコル制御フレーム検出部５２０は、装置内ＶＬＡＮ番号フィールドＦＤＳＮの値と、フレーム処理種別フィールドＦＤＰＯの値と、その他必要な情報を通知する。この情報を受信したリングプロトコル管理部３００は、後述するプロトコル制御処理を行う。次に、ステップＳ６０８においてリングプロトコル制御フレーム検出部５２０は、ステップＳ６０６において通知したエントリの通知状態フィールドＦＤＣＤの値を「済」へ更新する。こうすることにより、タイムアウトを検出した（換言すれば、故障を検出した）後の、リングプロトコル管理部３００に対しての通知有無を管理することができる。その後、ステップＳ６１０においてリングプロトコル制御フレーム検出部５２０は、予め定められた所定の時間待機し、ステップＳ６０２へ戻る。
【００６３】
（Ａ−７）プロトコル制御処理：
図１９は、プロトコル制御処理の手順を示すフローチャートである。プロトコル制御処理は、図１８のステップＳ６０６において通知を受けたリングプロトコル管理部３００が行う処理である。まず、ステップＳ４０６において、リングプロトコル管理部３００は、制御フレームの種別（例えば、ヘルスチェックフレームやフラッシュ制御フレーム等）を識別し、必要な処理を実行する。処理終了後、ステップＳ４０８において、リングプロトコル管理部３００は、後述するＭＡＣアドレステーブルのクリア処理を行うか否かを判断する。ＭＡＣアドレステーブルのクリア処理を行うか否かを決定する情報は予め制御フレーム内に含まれている。ＭＡＣアドレステーブルのクリア処理をしない場合は、処理を終了する。一方、ＭＡＣアドレステーブルのクリア処理をする場合は、ステップＳ４１０において、リングプロトコル管理部３００は、ＭＡＣアドレステーブルのクリア処理に用いる条件をテーブル管理部２００へ通知する。ＭＡＣアドレステーブルのクリア処理に用いる条件とは、ＭＡＣアドレステーブル５７０から情報を削除する際に用いられるキー項目（本実施例においては「ポート番号」という項目）と、ＭＡＣアドレステーブル５７０から情報を削除する対象を特定するためのキー項目中の要素（例えば、本実施例においては、具体的なポート番号）である。
【００６４】
次に、ステップＳ４１２において、リングプロトコル管理部３００は、テーブル管理部２００に対してＭＡＣアドレステーブルクリア処理を要求する。ＭＡＣアドレステーブルクリア処理についての詳細は後述する。ステップＳ４１４においてリングプロトコル管理部３００は、ＭＡＣアドレステーブルクリア処理を待つか否かを判断する。ＭＡＣアドレステーブルクリア処理を待たない場合は、処理を終了する。一方、ＭＡＣアドレステーブルクリア処理を待つ場合は、処理終了まで待機した後、処理を終了する。
【００６５】
図２０は、面番号管理テーブル１００の一例を示す説明図である。面番号管理テーブル１００は、現在使用中の面番号をポート番号毎に記憶するためのテーブルである。面番号管理テーブル１００は、ポート番号ＦＭＰＴと、使用中面番号ＦＭＮＯとを含んでいる。ポート番号フィールドＦＭＰＴには、スイッチ１０が有する全てのポートについての識別記号がそれぞれ格納される。使用中面番号フィールドＦＭＮＯには、ポート番号フィールドＦＭＰＴに格納されているポート毎の現在使用中の面番号（ここでは初期値なので０とする）が格納される。なお、面番号管理テーブル１００と、面番号テーブル５６０とは、いずれか一方を省略し、他方を併用する構成としても良い。
【００６６】
（Ａ−８）ＭＡＣアドレステーブルクリア処理：
図２１は、ＭＡＣアドレステーブルクリア処理の手順を示すフローチャートである。まず、ステップＳ５０２において、テーブル管理部２００は、現在使用されている面番号である現在面番号Ｍａを判定する。具体的には、図１９のステップＳ４１０にて通知されたキー項目中の要素（例えば、本実施例においては、具体的なポート番号）をキーとして面番号管理テーブル１００（図２０）を検索し、一致するエントリの使用中面番号フィールドＦＭＮＯの値を、現在面番号Ｍａと決定する。次に、ステップＳ５０４において、テーブル管理部２００は、次に使用される面番号である次の面番号Ｍｂを決定する。次の面番号Ｍｂは、例えば、現在面番号Ｍａにある数字（例えば、１）を加えることにより決定することができる。また、次の面番号Ｍｂの候補となるリストを作成し、当該リストから任意の番号を選択することにより決定してもよい。その他、任意の方法を採用することができる。なお、現在面番号Ｍａは現在識別情報とも呼ぶ。また、次の面番号Ｍｂは次の識別情報とも呼ぶ。
【００６７】
ステップＳ５０６において、テーブル管理部２００は、フラッディング指示テーブル５８０（図１１）を更新する。フラッディング指示テーブル５８０は、具体的には、以下の手順ｉ、手順ｉｉを行うことによって更新する。
【００６８】
手順ｉ）図１９のステップＳ４１０にて通知されたキー項目中の要素（例えば、本実施例においては、具体的なポート番号）と、現在面番号Ｍａとをキーとして、フラッディング指示テーブル５８０を検索し、一致するエントリのフラッディング指示フィールドＦＩＮの値を「ＦＬＤ」（フラッディング有）へ変更する。
手順ｉｉ）図１９のステップＳ４１０にて通知されたキー項目中の要素（例えば、本実施例においては、具体的なポート番号）と、次の面番号Ｍｂとをキーとして、フラッディング指示テーブル５８０を検索し、一致するエントリのフラッディング指示フィールドＦＩＮの値を「−」（フラッディング無）へ変更する。
【００６９】
ステップＳ５０８において、テーブル管理部２００は、面番号管理テーブル１００（図２０）および面番号テーブル５６０（図９）を更新する。具体的には、図１９のステップＳ４１０にて通知されたキー項目中の要素（例えば、本実施例においては、具体的なポート番号）をキーとして面番号管理テーブル１００を検索し、一致するエントリの使用中面番号フィールドＦＭＮＯの値を次の面番号Ｍｂへ更新する。さらに、同じキー項目中の要素をキーとして面番号テーブル５６０を検索し、一致するエントリの面番号フィールドＦＮＮＯの値を次の面番号Ｍｂへ更新する。
【００７０】
ステップＳ５０９において、テーブル管理部２００は、図１９のステップＳ４１０にて通知されたキー項目中の要素（本実施例においては、具体的なポート番号）から導かれるポートの属性を判断する。具体的には、テーブル管理部２００は、テーブル管理部２００内に所持されるリングポート判定テーブル９００と同一内容のテーブル（図示せず）を検索することにより、ポートの属性を求める。ポートの属性がリングポート（ＲＰ）である場合、処理を終了する。一方、ポートの属性が非リングポート（ＮＲＰ）である場合、ステップＳ５１０において、テーブル管理部２００は、ＭＡＣアドレステーブル５７０（図１０）の古いエントリを削除する。具体的には、現在面番号Ｍａと、図１９のステップＳ４１０にて通知されたキー項目中の要素（例えば、本実施例においては、具体的なポート番号）とをキーとしてＭＡＣアドレステーブル５７０を検索し、一致するエントリを全て削除する。
【００７１】
このように、テーブル管理部２００は、ＭＡＣアドレステーブル５７０に格納されているポートの属性が予め定められた特定の属性（本実施例ではリングポートという属性）と一致する場合には、複数のポートとＭＡＣアドレスとを対応づけた情報をＭＡＣアドレス記憶部から削除する旨の要求を受信しても、ＭＡＣアドレス記憶部からの情報の削除を行わない。このため、フレーム処理部としての検索処理部５４０は、ＭＡＣアドレステーブル５７０を宛先検索することにより、受信フレームを送信するポートである送信ポートの属性（図１４：Ｓ１２６）を決定することができる。この結果、フレーム処理部は、受信フレームを送信する送信ポートの属性に応じて、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行することができ、不要なフラッディングによる帯域の圧迫を抑制しつつ、セキュリティを向上させることができる。なお、ここで削除されなかったエントリは、後述するＭＡＣアドレステーブルエージング処理によって削除することができる。一方、ポートの属性が非リングポートである場合は、ＭＡＣアドレステーブル５７０中の古い情報を削除することによって、使用されない情報による無駄なリソース消費を抑制することができる。
【００７２】
（Ａ−９）ＭＡＣアドレステーブルエージング処理：
図２２は、ＭＡＣアドレステーブルエージング処理の手順を示すフローチャートである。ＭＡＣアドレステーブルエージング処理は、ＭＡＣアドレステーブル５７０の使用されていないエントリを削除する処理であり、他の処理とは独立して実行される。まず、ステップＳ７０２においてテーブル管理部２００は、検索処理部５４０を経由して、ＭＡＣアドレステーブル５７０のヒットビットを読み出す。ステップＳ７０４においてテーブル管理部２００は、ヒットビットフィールドＭＨＢの値が１であるか否かを判断する。ヒットビットＭＨＢが１である場合、テーブル管理部２００は、ヒットビットフィールドＭＨＢの値を０へ更新し、ステップＳ７１０へ遷移する。一方、ヒットビットＭＨＢが１でない場合（換言すれば、ヒットビットＭＨＢが０である場合）、テーブル管理部２００は、当該エントリを削除する（ステップＳ７０８）。ヒットビットＭＨＢが０であるエントリは、使用されていないからである。その後、ステップＳ７１０においてテーブル管理部２００は、予め定められた所定の時間待機し、ステップＳ７０２へ遷移する。
【００７３】
なお、ステップＳ７０２からステップＳ７０６（またはステップＳ７０８）までの処理は、ＭＡＣアドレステーブル５７０の全てのエントリについて個々に実行される。このようにすれば、比較的長い時間間隔でＭＡＣアドレスエントリが使用されているか否かを判断し、使用されていないエントリを削除することで、使用されない情報による無駄なリソース消費を抑制することができる。
【００７４】
（Ａ−１０）指示によるＭＡＣアドレステーブルクリア処理：
図２３は、指示によるＭＡＣアドレステーブルクリア処理の手順を示すフローチャートである。図２１で説明したＭＡＣアドレステーブルクリア処理との違いは、ステップＳ５０２の前にステップＳ８０２、Ｓ８０４が追加されている点と、ステップＳ５０９が削除されている点だけであり、他の動作は図２１で説明したＭＡＣアドレステーブルクリア処理と同様である。
【００７５】
まず、ステップＳ８０２において装置管理部８００は、スイッチ１０に接続されている外部装置としての装置制御端末からの削除指示を受け付ける。この削除指示には、ＭＡＣアドレステーブル５７０から情報を削除するキー項目中の要素（例えば、本実施例においては、具体的なポート番号）が含まれる。次に、ステップＳ８０４において装置管理部８００は、ＭＡＣアドレステーブルのクリア処理に用いる条件をテーブル管理部２００へ通知する。ＭＡＣアドレステーブルのクリア処理に用いる条件とは、ＭＡＣアドレステーブル５７０から情報を削除する際に用いられるキー項目（本実施例においては「ポート番号」という項目）と、ＭＡＣアドレステーブル５７０から情報を削除する対象を特定するためのキー項目中の要素（例えば、本実施例においては、具体的なポート番号）である。
【００７６】
このようにすれば、外部装置からの削除指示を受信して、ＭＡＣアドレス記憶部から情報が削除されるため、削除されずに残っていた情報を任意のタイミングで削除することができる。この結果、柔軟なネットワーク運用が可能となる。
【００７７】
以上のように、第１実施例では、受信フレームを送信する送信ポートの属性（リングポート・非リングポート）に応じて、当該属性毎に予め定められたフラッディング先に対してフラッディングを実行する。このため、不要なフラッディング（具体的には、受信フレームを送信する送信ポートがリングポートである場合の非リングポートへのフラッディング）による帯域の圧迫を抑制することができる。また、フラッディングにより送信されるフレームを必要としない装置へはフラッディングがされないため、セキュリティを向上させることができる。
【００７８】
Ｂ．第２実施例：
図２４は、第２実施例におけるスイッチ１０ａの概略構成を示す説明図である。図４で示した第１実施例との違いは、面番号管理テーブル１００の代わりに面番号管理テーブル１００ａを、面番号テーブル５６０の代わりに面番号テーブル５６０ａを、フラッディング指示テーブル５８０の代わりにフラッディング指示テーブル５８０ａを備える点であり、他の構成については第１実施例と同様である。
【００７９】
図２５は、第２実施例における面番号テーブル５６０ａの一例を示す説明図である。図９に示した第１実施例との違いは、キー項目として、ポート番号ＦＮＰＴの代わりに装置内ＶＬＡＮ番号ＦＮＳＮを備える点のみであり、他の構成については第１実施例と同様である。装置内ＶＬＡＮ番号フィールドＦＮＳＮには、受信フレーム毎に定まる装置内ＶＬＡＮの識別記号が格納される。このように、第２実施例においては、装置内ＶＬＡＮ番号がＭＡＣアドレステーブル５７０から情報を削除する際に用いられるキー項目とされている。このため、図１３のステップＳ１１２において、検索処理部５４０は、フレームＦＭを受信した受信ポート番号に代えて、ステップＳ１０８において求めた装置内ＶＬＡＮ番号をキーとして、面番号テーブル５６０ａを検索し、一致するエントリの面番号フィールドＦＮＮＯの値を面番号と決定する。
【００８０】
図２６は、第２実施例におけるフラッディング指示テーブル５８０ａの一例を示す説明図である。図１１に示した第１実施例との違いは、キー項目として、ポート番号ＦＰＴの代わりに装置内ＶＬＡＮ番号ＦＳＮを備える点のみであり、他の構成については第１実施例と同様である。装置内ＶＬＡＮ番号フィールドＦＳＮには、受信フレーム毎に定まる装置内ＶＬＡＮの識別記号が格納される。このため、図１４のステップＳ１２８において、検索処理部５４０は、ステップＳ１２６で決定した出力用ポート番号に代えて、ステップＳ１０８（図１３）において求めた装置内ＶＬＡＮ番号と、出力用面番号とをキーとしてフラッディング指示テーブル５８０ａを検索し、一致するエントリのフラッディング指示フィールドＦＩＮの値を求める。
【００８１】
図２７は、第２実施例における面番号管理テーブル１００ａの一例を示す説明図である。図２０に示した第１実施例との違いは、キー項目として、ポート番号ＦＭＰＴの代わりに装置内ＶＬＡＮ番号ＦＭＳＮを備える点のみであり、他の構成については第１実施例と同様である。装置内ＶＬＡＮ番号フィールドＦＭＳＮには、受信フレーム毎に定まる装置内ＶＬＡＮの識別記号が格納される。このため、図１９のステップＳ４１０においてリングプロトコル管理部３００は、ＭＡＣアドレステーブル５７０をクリアする条件として、「装置内ＶＬＡＮ番号」という項目と、具体的な装置内ＶＬＡＮ番号を通知する。
【００８２】
このように、第２実施例においては、キー項目として、ポート番号の代わりに装置内ＶＬＡＮ番号を用いている。キー項目としてのポート番号や装置内ＶＬＡＮ番号はあくまで一例であり、キー項目は任意に定めることができる。例えば、キー項目として、リンクアグリゲーションのグループを示すリンクアグリゲーショングループ番号を用いることもできる。その場合、上述したキー項目を装置内ＶＬＡＮ番号とした場合と同様に、面番号テーブル５６０と、フラッディング指示テーブル５８０と、面番号管理テーブル１００とに加えて、ＭＡＣアドレステーブル５７０に対してリンクアグリゲーショングループ番号の情報を格納するためのフィールドを設ける。その上で、各テーブルを検索する際の検索キー項目として、リンクアグリゲーショングループ番号を用いればよい。
【００８３】
さらに、キー項目として、ポート番号と、装置内ＶＬＡＮ番号と、リンクアグリゲーショングループ番号との中から選択した２つ以上の要素の組合せを設定してもよい。このようにすれば、ネットワーク中継装置で取り扱われる通信プロトコルの性質に応じたキー項目を定めることが可能となる。
【００８４】
Ｃ．第３実施例：
図２８は、第３実施例におけるスイッチ１０ｂの概略構成を示す説明図である。図４で示した第１実施例との違いは、面番号管理テーブル１００の代わりに面番号管理テーブル１００ｂを、面番号テーブル５６０の代わりに面番号テーブル５６０ｂを、フラッディング指示テーブル５８０の代わりにフラッディング指示テーブル５８０ｂを備える点であり、他の構成については第１実施例と同様である。
【００８５】
図２９は、第３実施例における面番号テーブル５６０ｂの一例を示す説明図である。図９に示した第１実施例との違いは、キー項目として、ポート番号ＦＮＰＴに加えて、装置内ＶＬＡＮ番号ＦＮＳＮを備える点のみであり、他の構成については第１実施例と同様である。このため、図１３のステップＳ１１２において、検索処理部５４０は、フレームＦＭを受信した受信ポート番号と、ステップＳ１０８において求めた装置内ＶＬＡＮ番号のうちの少なくともいずれか一方（両方でもよい）をキーとして、面番号テーブル５６０ｂを検索し、一致するエントリの面番号フィールドＦＮＮＯの値を面番号と決定することができる。
【００８６】
図３０は、第３実施例におけるフラッディング指示テーブル５８０ｂの一例を示す説明図である。図１１に示した第１実施例との違いは、キー項目として、ポート番号ＦＰＴに加えて、装置内ＶＬＡＮ番号ＦＳＮを備える点のみであり、他の構成については第１実施例と同様である。このため、図１４のステップＳ１２８において、検索処理部５４０は、ステップＳ１２６で決定した出力用ポート番号と、ステップＳ１０８（図１３）において求めた装置内ＶＬＡＮ番号とのうちの少なくともいずれか一方（両方でもよい）と、出力用面番号とをキーとしてフラッディング指示テーブル５８０ｂを検索し、一致するエントリのフラッディング指示フィールドＦＩＮの値を求めることができる。
【００８７】
図３１は、第３実施例における面番号管理テーブル１００ｂの一例を示す説明図である。図２０に示した第１実施例との違いは、キー項目として、ポート番号ＦＭＰＴに加えて、装置内ＶＬＡＮ番号ＦＭＳＮを備える点のみであり、他の構成については第１実施例と同様である。このため、図１９のステップＳ４１０においてリングプロトコル管理部３００は、ＭＡＣアドレステーブル５７０をクリアする条件として、「ポート番号」という項目と、「装置内ＶＬＡＮ番号」という項目の少なくともいずれか一方と、それに対応した具体的なポート番号、具体的な装置内ＶＬＡＮ番号とを通知する。
【００８８】
このように、第３実施例においては、キー項目として、ポート番号と装置内ＶＬＡＮ番号とを併用することができる。この結果、よりきめ細かい制御を行うことが可能である。
【００８９】
Ｄ．第４実施例：
図３２は、第４実施例におけるスイッチ１０ｃの概略構成を示す説明図である。図４で示した第１実施例との違いは、検索処理部５４０ｃと学習管理部４００ｃの動作と、出力ポート判定テーブル９１０を備える点、および、ＭＡＣアドレステーブル５７０の代わりにＭＡＣアドレステーブル５７０ｃを備える点であり、他の構成や動作については第１実施例と同じである。
【００９０】
図３３は、第４実施例におけるＭＡＣアドレステーブル５７０ｃの一例を示す説明図である。図１０に示した第１実施例との違いは、ポート種別ＭＴＹを備えない点のみであり、他の構成や動作は第１実施例と同様である。
【００９１】
図３４は、第４実施例における出力ポート判定テーブル９１０の一例を示す説明図である。本実施例では、この出力ポート判定テーブル９１０がポート属性記憶部として機能する。出力ポート判定テーブル９１０は、送信ポート番号ＲＰＯと、ポート属性ＲＰＴとを含んでいる。送信ポート番号フィールドＲＰＯには、スイッチ１０が有する全てのポートについて、当該ポートの識別番号が格納されている。ポート属性フィールドＲＰＴには、送信ポート番号ＲＰＯに格納されているポート毎のポート属性を示す識別記号が格納されている。ポート属性フィールドＲＰＴの値は、図７と同様、リングポートの場合は「ＲＰ」を、非リングポートの場合は「ＮＲＰ」を使用している。
【００９２】
図３５は、第４実施例におけるフレーム転送処理の一部の手順を示すフローチャートである。図１４に示した第１実施例との違いは、ステップＳ１２６がステップＳ９０２に置き換えられており、かつ、ステップＳ９０４が追加されている点だけであり、他の動作については第１実施例と同様である。ステップＳ９０２において、検索処理部５４０ｃは、一致するエントリの面番号フィールドＭＦＯの値を出力用面番号と決定する。同様に、一致するエントリのポート番号フィールドＭＰＴの値を出力用ポート番号と決定する。次に、ステップＳ９０４において、検索処理部５４０ｃは、出力ポート判定テーブル９１０からポート属性を決定する。具体的には、検索処理部５４０ｃは、ステップＳ９０４において決定した出力用ポート番号をキーとして出力ポート判定テーブル９１０を検索し、一致するエントリのポート属性フィールドＲＰＴの値をポート属性として決定する。
【００９３】
図３６は、第４実施例における学習処理の手順を示すフローチャートである。図１５に示した第１実施例との違いは、ステップＳ２１１を含まない点と、ステップＳ２１２、Ｓ２１４がステップＳ９１２、Ｓ９１４に置き換えられている点だけであり、他の動作は第１実施例と同様である。ステップＳ２１０において一致するエントリがないと判断した場合、ステップＳ９１２において学習管理部４００ｃは、学習検索キーを登録情報とした新規ＭＡＣアドレス登録要求を検索処理部５４０ｃに対して送信する。新規ＭＡＣアドレス登録要求を受信した検索処理部５４０ｃは、ステップＳ２１４において、受信した登録情報をＭＡＣアドレステーブル５７０ｃへ新規に登録する。
【００９４】
このようにすれば、フレーム処理部としての検索処理部５４０ｃは、ＭＡＣアドレス記憶部としてのＭＡＣアドレステーブル５７０ｃを用いた宛先検索によって、フレームを送信する送信ポートを決定し、決定した送信ポートをもとにポート属性記憶部としての出力ポート判定テーブル９１０を検索して送信ポートの属性を決定する。このように、ポートの属性はポート属性記憶部に記憶されているため、ポートの属性がＭＡＣアドレス記憶部に記憶されている第１実施例と比較して、ネットワーク中継装置の構成変更を容易に行うことができる。
【００９５】
Ｅ．第５実施例：
図３７は、第５実施例におけるスイッチ１０ｄの概略構成を示す説明図である。図４で示した第１実施例との違いは、フラッディング宛先テーブル５９０の代わりにフラッディング宛先テーブル５９０ｄを備える点だけであり、他の構成や動作は第１実施例と同じである。
【００９６】
図３８は、第５実施例におけるフラッディング宛先テーブル５９０ｄの一例を示す説明図である。図１２に示した第１実施例との違いは、送信ポート番号がリストで保持されている点である。図３８（Ａ）は、リストの構造体の凡例を示している。図に示すように、このリストは、上段が送信ポート番号を示している。また、中段は次のリストの送信ポート番号が対応するポート属性を示している。下段は次のリストへのポインタを示している。
【００９７】
図３８（Ｂ）は、フラッディング宛先テーブル５９０ｄの一例を示している。具体的には、図３８（Ｂ）の例では、装置内ＶＬＡＮ番号がＶ１０１のものについての第１リストは、送信先ポート番号がＰ１１２のポートにフラッディングすること（上段）、次のリストの送信先ポートはリングポートであること（中段）、次のリストのポインタはポインタ２であること（下段）をそれぞれ示している。なお、「Ｎｅｘｔ  ＲＰ」は、次のリストの送信ポート番号が対応するポート属性がリングポートであることを示している。同様に、「Ｎｅｘｔ  ＮＲＰ」は、次のリストの送信ポート番号が対応するポート属性が非リングポートであることを示している。また、第４リストの中段および下段がＮＵＬＬであるのは、次のリストがないことを示している。
【００９８】
このリストは、送信先ポート番号から導かれるポートの属性がリングポートのものを先頭に配置することが好ましい。本実施例においては、非リングポートのみにフラッディングを行う場合は無いため、リングポートのものを先頭に配置するほうが効率的だからである。また、同様に、効率化の観点から、例えば、第１リストがリングポート、第２リストが非リングポート、第３リストがリングポートというように、異なるポート属性を交互に接続することは好ましくない。また、高速化のため、１つのリストに複数の送信ポート番号を格納しても良い。
【００９９】
このようにすれば、リングポートにのみフラッディングをする場合、検索処理部５４０は、次のリストの送信ポート番号が対応するポート属性（中段）が「Ｎｅｘｔ  ＮＲＰ」の場合に、リスト検索を終了することができ、効率的である。
【０１００】
Ｆ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１０１】
Ｆ１．変形例１：  上記実施例では、リングネットワークを例示して説明した。しかし、本発明は、リングネットワークに限らず種々のネットワークにおいて利用可能である。具体的には、例えば、ＳＴＰ（Spanning Tree Protocol）、ＭＳＴＰ（Multiple Spanning Tree Protocol）、ＰＶＳＴＰ（Per virtual LAN Spanning Tree Protocol）、ＧＳＲＰ（Gigabit Switch Redundancy Protocol）等のプロトコルを用いるネットワークにおいても利用することができる。
【０１０２】
Ｆ２．変形例２：
上記実施例では、受信フレームを送信するポートである送信ポートの属性は、リングポートか、非リングポートかであるものとした。しかし、送信ポートの属性は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、他のネットワーク構成において使用される他のプロトコルにおいて定義されるポートの属性を使用することもできる。
【０１０３】
Ｆ３．変形例３：
上記実施例では、ネットワーク中継装置の構成の一例を示した。しかし、ネットワーク中継装置の構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。具体的には、例えば、宛先検索を行う検索処理部を複数有することにより、処理負荷を分散させるような構成とすることもできる。また、図４に示さない処理部等を含む構成とすることもできる。
【０１０４】
Ｆ４．変形例４：
上記実施例では、面番号管理テーブル、制御フレーム識別テーブル、ＶＬＡＮ判定テーブル、面番号テーブル、ＭＡＣアドレステーブル、フラッディング指示テーブル、フラッディング宛先テーブル、リングポート判定テーブル、出力ポート判定テーブルが備えるフィールドについて例示した。しかし、これらのテーブルが備えるフィールドは、その発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、上記に例示したフィールド以外のフィールドを備えるものとしても良い。また、各テーブルには、ダイレクトマップ方式を用いることも可能である。
【０１０５】
Ｆ５．変形例５：
上記第２、３、５実施例は、上記第１実施例からの構成変更であるものとして記載した。しかし、上記第２、３、５実施例は、上記第４実施例からの構成変更として適用することも可能である。またこれら上記第２、３、５実施例を組み合わせて適用することもできる。
【符号の説明】
【０１０６】
１０、１０ａ〜ｄ…スイッチ
１００、１００ａ〜ｂ…面番号管理テーブル
２００…テーブル管理部
３００…リングプロトコル管理部
３２０リングプロトコル管理部
４００、４００ｃ…学習管理部
５００…宛先判定部
５１０…リングプロトコル制御フレーム識別テーブル
５２０…リングプロトコル制御フレーム検出部
５３０…ヘッダ解析部
５４０、５４０ｃ…検索処理部
５６０、５６０ａ〜ｂ…面番号テーブル
５８０、５８０ａ〜ｂ…フラッディング指示テーブル
５９０、５９０ｄ…フラッディング宛先テーブル
６００…転送処理部
７００…ポート
８００…装置管理部
９００…リングポート判定テーブル
９１０…出力ポート判定テーブル
【図１】
0005433332.tif 000002
【図２】
0005433332.tif 000003
【図３】
0005433332.tif 000004
【図４】
0005433332.tif 000005
【図５】
0005433332.tif 000006
【図６】
0005433332.tif 000007
【図７】
0005433332.tif 000008
【図８】
0005433332.tif 000009
【図９】
0005433332.tif 000010
【図１０】
0005433332.tif 000011
【図１１】
0005433332.tif 000012
【図１２】
0005433332.tif 000013
【図１３】
0005433332.tif 000014
【図１４】
0005433332.tif 000015
【図１５】
0005433332.tif 000016
【図１６】
0005433332.tif 000017
【図１７】
0005433332.tif 000018
【図１８】
0005433332.tif 000019
【図１９】
0005433332.tif 000020
【図２０】
0005433332.tif 000021
【図２１】
0005433332.tif 000022
【図２２】
0005433332.tif 000023
【図２３】
0005433332.tif 000024
【図２４】
0005433332.tif 000025
【図２５】
0005433332.tif 000026
【図２６】
0005433332.tif 000027
【図２７】
0005433332.tif 000028
【図２８】
0005433332.tif 000029
【図２９】
0005433332.tif 000030
【図３０】
0005433332.tif 000031
【図３１】
0005433332.tif 000032
【図３２】
0005433332.tif 000033
【図３３】
0005433332.tif 000034
【図３４】
0005433332.tif 000035
【図３５】
0005433332.tif 000036
【図３６】
0005433332.tif 000037
【図３７】
0005433332.tif 000038
【図３８】
0005433332.tif 000039