(57)【要約】【課題】ネットワークにおけるアドレス未学習データユニットの転送が、他のネットワークのアドレス学習済みデータユニットの転送帯域に与える影響を低減する。【解決手段】一例の通信装置は、受信したデータユニット（７０）の宛先アドレスを、アドレス学習情報（２０７）において検索して、上記ユニットがアドレス学習済みか否かを判定し、アドレス未学習ユニットに第１優先度レベルを付与し、アドレス学習済みユニットに第２優先度レベルを含む１以上の優先度レベルから優先度レベルを付与し、第１優先度レベルのユニットを第２優先度レベルのユニットよりも優先的に廃棄し、アドレス学習済みユニットをアドレス学習情報が示す出力ポートに転送し、アドレス未学習ユニットを、複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報（２１１）が示す出力ポートに転送する。【選択図】図２Ａ
2014017639.tif 000002
【特許請求の範囲】
【請求項１】
複数ネットワークにおけるデータユニットを転送する通信装置であって、
複数ポートと、
前記複数ポートの間において、前記複数ネットワークのデータユニットの転送制御を行う転送制御部と、を含み、
前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、
前記転送制御部は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、
前記転送制御部は、受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、
前記転送制御部は、アドレス未学習データユニットに第１優先度レベルを付与し、
前記転送制御部は、アドレス学習済みデータユニットに、第２優先度レベルを含む１以上の優先度レベルから優先度レベルを付与し、
前記転送制御部は、前記第１優先度レベルのデータユニットを、前記第２優先度レベルのデータユニットよりも優先的に廃棄し、
前記転送制御部は、廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、
前記転送制御部は、廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する、通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記複数ネットワークは、第１ネットワークと第２ネットワークとを含み、
障害発生により再構築された前記第１ネットワークの経路におけるアドレス学習済みデータユニットの出力ポートが、前記第２ネットワークのアドレス学習済みデータユニットの出力ポートと同一の第１ポートであり、当該第１ポートから出力されるべきデータユニットの廃棄数が閾値に達している場合に、前記転送制御部は、前記第１ネットワークの前記経路を変更することを決定する、通信装置。
【請求項３】
請求項１又は２に記載の通信装置であって、
前記転送制御部は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力するバッファを有し、
前記転送制御部は、格納されているデータユニット数が閾値に達している前記バッファに、前記第２優先度レベルのデータユニットを格納し、前記第１優先度レベルのデータユニットを格納することなく廃棄する、通信装置。
【請求項４】
請求項１又は２に記載の通信装置であって、
前記転送制御部は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力する第１バッファと第２バッファとを有し、
前記転送制御部は、前記第１優先度レベルのデータユニットを前記第１バッファに格納し、
前記転送制御部は、前記第２優先度レベルのデータユニットを前記第２バッファに格納し、
前記転送制御部は、前記第２バッファにおけるデータユニットを前記第１バッファのデータユニットよりも先も出力する、通信装置。
【請求項５】
請求項１又は２に記載の通信装置であって、
前記転送制御部は、前記複数ネットワークのそれぞれにおいて、アドレス学習済みデータユニットの帯域制御を行い、
前記転送制御部は、受信したアドレス学習済みデータユニットのネットワーク識別子を参照して、当該アドレス学習済みデータユニットが属するネットワークを特定し、
前記転送制御部は、前記特定したネットワークの帯域制御において、前記受信したアドレス学習済みデータユニットに、前記第１優先度レベル及び前記第２優先度レベルを含む複数優先度レベルから選択した一つの優先度レベルを付与する、通信装置。
【請求項６】
複数ポートを有し、複数ネットワークにおけるデータユニットを転送する通信装置において、前記複数ポートの間において前記複数ネットワークのデータユニットの転送を制御する方法であって、
前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、
前記通信装置は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、
前記方法は、
受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、
アドレス未学習データユニットに第１優先度レベルを付与し、
アドレス学習済みデータユニットに、第２優先度レベルを含む１以上の優先度レベルから優先度レベルを付与し、
前記第１優先度レベルのデータユニットを、前記第２優先度レベルのデータユニットよりも優先的に廃棄し、
廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、
廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する、ことを含む方法。
【請求項７】
請求項６に記載の方法であって、
前記複数ネットワークは、第１ネットワークと第２ネットワークとを含み、
障害発生により再構築された前記第１ネットワークの経路におけるアドレス学習済みデータユニットの出力ポートが、前記第２ネットワークのアドレス学習済みデータユニットの出力ポートと同一の第１ポートであり、当該第１ポートから出力されるべきデータユニットの廃棄数が閾値に達している場合に、前記第１ネットワークの前記経路を変更することを決定する、ことをさらに含む方法。
【請求項８】
請求項６又は７に記載の方法であって、
前記通信装置は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力するバッファを有し、
格納されているデータユニット数が閾値に達しているバッファに、前記第２優先度レベルのデータユニットを格納し、前記第１優先度レベルのデータユニットを格納することなく廃棄する、ことをさらに含む方法。
【請求項９】
請求項６又は７に記載の方法であって、
前記通信装置は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力する第１バッファと第２バッファとを有し、
前記第１優先度レベルのデータユニットを前記第１バッファに格納し、
前記第２優先度レベルのデータユニットを前記第２バッファに格納し、
前記第２バッファにおけるデータユニットを前記第１バッファのデータユニットよりも先も出力する、ことをさらに含む方法。
【請求項１０】
請求項６又は７に記載の方法であって、
前記複数ネットワークのそれぞれにおいて、アドレス学習済みデータユニットの帯域制御を行い、
受信したアドレス学習済みデータユニットのネットワーク識別子を参照して、当該アドレス学習済みデータユニットが属するネットワークを特定し、
前記特定したネットワークの帯域制御において、前記受信したアドレス学習済みデータユニットに、前記第１優先度レベル及び前記第２優先度レベルを含む複数優先度レベルから選択した一つの優先度レベルを付与する、ことをさらに含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データユニットを転送する通信装置及びその通信装置においてデータユニットの転送を制御する方法に関し、特に、データユニットの宛先アドレスの出力ポートを学習する通信装置におけるデータユニットの転送制御に関する。
【背景技術】
【０００２】
官庁をはじめ、銀行や証券会社などのミッションクリティカルな業務のために専用線サービスが利用されてきた。ミッションクリティカルな業務に利用される専用線サービスは、通信帯域が１００％保証されており、年間の不稼働時間が数分程度に相当する９９．９９９％の可用性が求められる。
【０００３】
９９．９９９％の可用性を実現するために、従来から、通信経路の疎通を確認する方法として、通信経路の端点のポートから定期的に監視フレームを送信し、対向ポートでその監視フレームを受信して経路の接続状態を監視する方法や、通信経路の輻輳によるフレームロスを測定する為にフレームロス測定フレームを通信装置間で送受信して輻輳によるフレームロスを測定する方法が、広く使用されている。
【０００４】
例えば、イーサネットワーク（イーサネットは登録商標）では、イーサネットＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ Ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）が使用されている。また、イーサネットＯＡＭは、標準化団体ＩＴＵ−Ｔ(Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ)及びＩＥＥＥ(Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ.)において議論されており、ＩＴＵ−Ｔ勧告Ｙ.１７３１やＩＥＥＥ８０２．１ａｇによって規定されている。
【０００５】
一方、企業活動のＩＴ化に伴い、ミッションクリティカル以外の一般業務においても、通信サービスを利用した効率化が急速に拡大している。一般業務向けには、主に、広域イーサネットサービスが利用され、例えば地理的に離れた企業の本社と支社間を通信するために用いられる。一般業務の広域イーサネットサービスについて、専用線と同様に、契約帯域と可用性に関するＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）が結ばれる。しかし、専用線とは異なり、一般業務の広域イーサネットサービスは、一般業務向けであるが故に、低価格であることが不可欠である。
【０００６】
このため、通信帯域を１００％保証するほどの過剰なプロビジョニングは必要ではなく、廃棄率を一定以下に抑えることができればよい。また、契約における可用性も９９．９９９％ではなく、一日当たり数分程度の通信断を許容する９９％程度が一般的である。
【０００７】
通信事業者は、上記の要求を満たすため、Ｌ２スイッチなどの安価な通信装置を用いて、広域イーサネットサービス向けのネットワークを構築している。通信サービスに求められる様々なサービス品質を保証するために個々の通信装置内部で求められる処理、及び複数の通信装置が連携して実現すべき処理の枠組みが確立されており、それぞれ以下のようにまとめられる。
【０００８】
まず、ユーザごとに、廃棄率を所定値以下に抑え、契約帯域を補償するため、通信装置は、ポリシングと呼ばれるフレーム識別処理によりユーザ毎に帯域利用状況を監視し、ユーザの通信量がその契約帯域を超過する場合には、超過分のフレームを廃棄する。又は、通信装置は、シェーピングと呼ばれるフレーム送出量制御機能を用いて、各ユーザの使用帯域を契約帯域以内に制限する処理を行い、ネットワーク内の輻輳を防止する。
【０００９】
９９％の可用性を実現するため、通信装置は、障害時でも正常経路を検索し再構築するＩＥＥＥ８０２．１ｄで規定されるＳＴＰ（Ｓｐａｎｎｉｎｇ  Ｔｒｅe  Ｐｒｏｔｏｃｏｌ）機能、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスの学習機能（ＭＡＣ学習機能とも呼ぶ）、イーサＯＡＭ等を利用する。
【００１０】
ＭＡＣ学習機能は、ＳＴＰにより構築された経路上のユーザに受信フレームを転送するため、全ポートにブロードキャストする。これが、フラッディングである。すべての通信装置が、受信フレームをフラッディングすることにより、構築された全経路にフレームが行き渡るため、結果的にフレームを目的のユーザまで転送することが可能となる。
【００１１】
特開２００８−１６０４６７号公報（特許文献１）は、フラッディング発生時に通信を早期に安定化させるため、ＭＡＣ  ＤＡがＦＤＢに登録されていないフレーム（以下、ＭＡＣ未学習フレームとも呼ぶ）を受信した場合には、当該フレームをその他のフレームよりも優先的に処理し、転送する方法を開示する。これより、フラッディングフレームが優先的に転送され、目的のノードと素早く通信が確立される。この結果、経路の学習が早くなりフラッディングが早期に解消される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−１６０４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
フラッディングによる通信品質の低下を抑える方法として、ポートベースＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によってブロードキャスト範囲を限定する方法が考えられる。ポートベースＶＬＡＮは、通信装置が有する複数ポートをいくつかのグループに分けて、フラッディングの範囲となるブロードキャストドメインを分離することができる。
【００１４】
これにより、フラッディングの影響範囲を限定でき、他のＶＬＡＮへの通信トラフィックへの影響を無くすことができる。しかし、物理ポート毎にＶＬＡＮを構築してしまう本方法であると、物理ポートを一つのユーザが占有することになるため、ネットワークコストが割高となる。このため、複数ユーザを収容することが前提の広域イーサネットサービスには不向きである。
【００１５】
ＩＥＥＥ８０２．１ｑは、ＶＬＡＮタグと呼ばれるヘッダを用いて物理ポートに複数のＶＬＡＮを収容するタグベースＶＬＡＮを可能とする。通信装置は、フレームに付与されるＶＬＡＮタグに従って当該フレームを転送することにより、一つの物理ポートに複数のＶＬＡＮを構築できる。
【００１６】
しかし、この例のように、複数のネットワーク（上記例においてＶＬＡＮ）が物理ポートを共有する構成において、あるネットワーク内の通信装置の障害によるフラッディングが、他のネットワークのトラフィックに影響を与える。つまり、あるネットワーク内の障害によるフラッディングフレームは、当該ネットワーク内の他の通信装置に転送される過程で、一部分が重なっている他のネットワーク内のアドレス学習済みフレームの帯域を圧迫する。その影響が大きいと、輻湊により他のネットワークのアドレス学習済みフレームのフレームロスが発生してしまう。
【００１７】
特許文献１に開示の手法は、フラッディングを早期に収束させるには効果があるが、フラッディングフレームを優先して転送するため、一部分が重なっている他のＶＬＡＮのアドレス学習済みフレームにおいて、より多くのアドレス学習済みフレームを廃棄することになる。
【課題を解決するための手段】
【００１８】
本発明の一態様は、複数ネットワークにおけるデータユニットを転送する通信装置であって、複数ポートと、前記複数ポートの間において、前記複数ネットワークのデータユニットの転送制御を行う転送制御部と、を含み、前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、前記転送制御部は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、前記転送制御部は、受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、前記転送制御部は、アドレス未学習データユニットに第１優先度レベルを付与し、前記転送制御部は、アドレス学習済みデータユニットに、第２優先度レベルを含む１以上の優先度レベルから優先度レベルを付与し、前記転送制御部は、前記第１優先度レベルのデータユニットを、前記第２優先度レベルのデータユニットよりも優先的に廃棄し、前記転送制御部は、廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、前記転送制御部は、廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する。
【発明の効果】
【００１９】
本発明の一態様によれば、物理ポートを複数のネットワークで共有する通信装置において、あるネットワークにおいて発生したアドレス未学習データユニットの転送が、他のネットワークのアドレス学習済みデータユニットの転送帯域に与える影響を低減することができる。
【図面の簡単な説明】
【００２０】
【図１】実施例１における通信ネットワークの一例を示す図。
【図２Ａ】実施例１において、通信ネットワークの障害発生時の動作例を示す図。
【図２Ｂ】実施例１において、通信ネットワークの経路再構築の動作例を示す図。
【図３】実施例１における通信装置間において使用される通信フレームフォーマットの例を示す図。
【図４】実施例１における通信装置の構成例を示すブロック図。
【図５】実施例１における通信フレームフォーマットに付与される装置内ヘッダフォーマットの例を示す図。
【図６】実施例１における入力ヘッダ解析部の解析処理のフローチャートの例。
【図７】実施例１における通信装置内のＭＡＣ学習テーブルの構成例を示す図。
【図８】実施例１における帯域監視処理部の帯域監視（帯域制御）処理のフローチャートの例。
【図９】実施例１における通信装置内の帯域監視テーブルの構成例を示す図。
【図１０】実施例１における通信装置内の出力先テーブルの構成例を示す図。
【図１１】実施例１における通信装置内のスイッチ部の構成例を示す図。
【図１２】実施例１における通信装置内の送信ＯＡＭテーブルの構成例を示す図。
【図１３】実施例１における通信装置内の受信ＯＡＭテーブルの構成例を示す図。
【図１４】実施例１における通信装置内の経路制御テーブルの構成例を示す図。
【図１５】実施例１における通信装置内のＶＬＡＮ障害テーブルの構成例を示す図。
【図１６】実施例１における通信装置内のＶＬＡＮテーブルの構成例を示す図。
【図１７】実施例１におけるＯＡＭ制御部の送信処理のフローチャートの例。
【図１８】実施例１におけるＯＡＭ制御部の受信処理のフローチャートの例。
【図１９】実施例２における通信装置の構成例を示すブロック図。
【図２０】実施例２における装置内ヘッダフォーマットの例を示す図。
【図２１】実施例２における通信装置内のスイッチ部の構成例を示す図。
【図２２】実施例２におけるＯＡＭ制御部の送信フローチャートの例。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態について説明する。以下の説明及び添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００２２】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【実施例１】
【００２３】
図１は、本実施例の通信システムを模式的に示すブロック図である。通信システムは、複数の通信装置２０Ａ〜２０Ｉ及び複数のユーザ端末ＴＥ−１〜ＴＥ−４を含む。通信システムに含まれる通信装置及びユーザ端末の数は、通信システムに依存して変化する。
【００２４】
通信装置２０Ａ〜２０Ｉは、それぞれ、複数のポートを有する。図１の例において、通信装置２０Ａ〜２０Ｉのそれぞれの四つのポートが図示されている。通信装置２０Ａは、ポート２０１Ａ−１〜２０１Ａ−４を有し、通信装置２０Ｂは、ポート２０１Ｂ−１〜２０１Ｂ−４を有し、通信装置２０Ｃは、ポート２０１Ｃ−１〜２０１Ｃ−４を有する。
【００２５】
通信装置２０Ｄは、ポート２０１Ｄ−１〜２０１Ｄ−４を有し、通信装置２０Ｅは、ポート２０１Ｅ−１〜２０１Ｅ−４を有し、通信装置２０Ｆは、ポート２０１Ｆ−１〜２０１Ｆ−４を有し、通信装置２０Ｇは、ポート２０１Ｇ−１〜２０１Ｇ−４を有し、通信装置２０Ｈは、ポート２０１Ｈ−１〜２０１Ｈ−４を有し、通信装置２０Ｉは、ポート２０１Ｉ−１〜２０１Ｉ−４を有する。各通信装置のポート数は、その設計により変化する。
【００２６】
通信装置２０Ａ〜２０Ｉは、それぞれ、ポートによって対向装置と接続する。本例において、対向装置は、通信装置又はユーザ端末である。通信装置２０Ａ〜２０Ｉは、それぞれ、他の通信装置と、入出力回線５０−１〜５０−１２のいずれかにより、通信可能に接続されている。通信装置のいずれかのポートが、入出力回線に接続している。ユーザ端末ＴＥ−１〜ＴＥ−４は、それぞれ、通信装置２０Ａ、通信装置２０Ｇ、２０Ｃ、通信装置２０Ｉと、入出力回線５５−１〜５５−４を介して接続している。
【００２７】
本通信システムにおいて、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグを用いて構成されるＶＬＡＮが、複数の通信装置にまたがって設定されている。本通信システムは、ＶＬＡＮタグ（ヘッダ）を用いて物理ポートに複数のＶＬＡＮを収容するタグベースＶＬＡＮを使用する。
【００２８】
タグベースＶＬＡＮは、例えば、ＩＥＥＥ８０２．１ｑに規定されている。通信装置は、フレームに付与されるＶＬＡＮタグに従って当該フレームを転送することにより、一つの物理ポートに複数のＶＬＡＮを構築できる。
【００２９】
ＶＬＡＮタグを用いる方法は、物理的な構成を意識することなくＶＬＡＮが構成可能である。これにより、ＶＬＡＮの一部分を重ね合わせ、通信装置のポートを複数のＶＬＡＮ、つまりユーザが共有することが可能となる。従って、ネットワークに収容できるユーザ数が増加し、低コスト化が可能となる。
【００３０】
このタグベースＶＬＡＮ上での経路構築のためには、例えば、ＩＥＥＥ８０２．１ｑで規定されるＭＳＴ（Ｍｕｌｔｉ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ）やＰＶＳＴ（Ｐｅｒ  ＶＬＡＮ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ）が用いられる。ＭＳＴやＰＶＳＴは、ＶＬＡＮ毎にＳＴＰ（Ｓｐａｎｎｉｎｇ  Ｔｒｅe  Ｐｒｏｔｏｃｏｌ）の制御を行うインスタンスを設け、インスタンス（ＶＬＡＮ）毎にスパニングツリーの制御を行うことで、一つの物理ポートに多重されたＶＬＡＮの経路の構築、及び障害時の経路の再構築を行うことができる。
【００３１】
ＳＴＰは、イーサネットにおいて経路ループを防止するため、一部の経路をブロックする技術である。障害によって既定の通信経路が利用不能になった場合には、通信装置はＳＴＰによってブロックしていた経路を開放し、通信経路を再構築することで通信を継続することが可能である。
【００３２】
さらに、インスタンス（ＶＬＡＮ）毎に、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス学習機能が配備され、障害時の再学習も実施される。ＭＡＣアドレス学習機能は、ＳＴＰにより構築された経路上のユーザに受信フレームを転送するため、ＶＬＡＮに割り当てられている全ポートにブロードキャストする（フラッディング）。
【００３３】
ＶＬＡＮ内の全ての通信装置が、受信フレームをフラッディングすることにより、構築された全経路にフレームが行き渡るため、結果的にフレームを目的のユーザまで転送することが可能となる。ＶＬＡＮ毎にブロードキャストドメインが分離できるため、各ＶＬＡＮ間でのフラッディングの影響も軽減することが可能である。
【００３４】
フラッディングは宛先以外の経路にもフレームを送出してしまうため、ネットワーク内部に不要なトラフィックが発生する。ＭＡＣアドレス学習機能は、通信装置の記憶領域（アドレス学習テーブル）内に、受信したイーサネットフレームに含まれる送信元ＭＡＣアドレスと当該フレームを受信したポートの識別子（ＰｏｒｔＩＤ）を関連付けて記憶する。
【００３５】
ＭＡＣアドレス学習機能は、フレームを転送する際に、当該フレームに含まれる宛先ＭＡＣアドレスが登録済のＭＡＣアドレスと一致する場合は、該フレームを、登録されている特定の出力ポートにのみ転送する。これによりネットワーク内に不必要な信号が発生することを抑止できる。
【００３６】
図１の例において、二つのＶＬＡＮ３０Ａ、３０Ｂが構成されている。ＶＬＡＮ３０Ａの構成要素の通信装置は、通信装置２０Ｄ、２０Ｇ以外の通信装置である、ＶＬＡＮ３０Ｂの構成要素の通信装置は、通信装置２０Ｇ〜２０Ｈである。図１は、通信装置２０Ａ〜２０Ｉによるユーザ端末ＴＥ−１〜ＴＥ−４のＭＡＣアドレスの学習が完了し、ＶＬＡＮ３０Ａ、３０Ｂ内のユーザ端末同士の通信データが、フラッディングされることなく転送されている状態を示す。
【００３７】
例えば、ＶＬＡＮ３０Ａに接続されているユーザ端末ＴＥ−１とユーザ端末ＴＥ−３と間の通信トラフィック３０Ａ−１は、通信装置２０Ａ、２０Ｂ、２０Ｃのみを経由し、他の通信装置に転送されることはない。また、ＶＬＡＮ３０Ｂに接続されているユーザ端末ＴＥ−２とユーザ端末ＴＥ−４と間の通信トラフィック３０Ｂ−１は、通信装置２０Ｇ〜２０Ｉを経由する。
【００３８】
本実施例は、ＭＡＣアドレス学習済みの通信トラフィック（ＭＡＣ学習済み通信トラフィックとも呼ぶ）のフレーム廃棄率を小さい範囲内に抑えるため、ユーザ端末ＴＥ−１〜ＴＥ−４のそれぞれと接続されているエッジ通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉ（ユーザ端末の対向通信装置）において、ＶＬＡＮ毎に、トラフィックの帯域制御を行う。
【００３９】
通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉのそれぞれは、ＶＬＡＮ毎に通過ＭＡＣ学習済みフレームの帯域を監視する。通過フレームの帯域がそのＶＬＡＮに設定された帯域未満であれば、通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉは、そのＶＬＡＮの送信フレームに低い廃棄優先度を付与する。通過ＭＡＣ学習済みフレームの帯域がそのＶＬＡＮに設定された帯域以上である場合、通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉは、そのＶＬＡＮの送信フレームに高い廃棄優先度を付与する。
【００４０】
オペレータは、各ＶＬＡＮの設定帯域の値を、システム全体として目標とする廃棄率から決定し、その値を、通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉのうちの各ＶＬＡＮに含まれる通信装置のそれぞれに設定する。
【００４１】
ここで、ＶＬＡＮ３０Ａ、３０Ｂのそれぞれの設定帯域は、通信回線５０−１〜５０−１２のそれぞれの容量を超えることはないが、ＶＬＡＮ３０Ａの設定帯域とＶＬＡＮ３０Ｂの設定帯域とを加算すると、その合計が、通信回線５０−１〜５０−１２のそれぞれの容量を超えるとする。
【００４２】
これは、ユーザ端末ＴＥ−１とユーザ端末ＴＥ−２との間のトラフィック３０Ａ−１は、ユーザ端末ＴＥ−３とＴＥ−４間のトラフィック３０Ｂ−１と競合すると輻輳が発生し、フレームの廃棄が発生する可能性があることを意味している。
【００４３】
図２Ａは、図１の正常状態において入出力回線５０−２で障害（切断）が発生し（Ｐ１００）、その障害が発生した際に通信装置がフラッディングする経過と、その結果、輻輳が発生するメカニズムを示す。図２Ａでは、入出力回線５０−２が切断された結果、通信装置２０Ｂ又は２０Ｃは、障害が発生したことを、同じＶＬＡＮ３０Ａ内の他の通信装置に通知するため、経路制御フレームを送信する。
【００４４】
この経路制御フレームを受信した各通信装置は、ＶＬＡＮ３０Ａの経路情報を更新し、この障害により影響を受けるＶＬＡＮ３０Ａの学習済みＭＡＣアドレスを全て削除する。各通信装置は、更新した結果を、ＶＬＡＮ３０Ａ内の他の通信装置へ転送する。これにより、ＶＬＡＮ３０Ａの各通信装置は、ＶＬＡＮ３０Ａ内の全ての経路情報と学習済みＭＡＣアドレスを削除する。
【００４５】
このように、既定の通信経路に障害が発生した場合、ＳＴＰにより経路を再構築するため、登録されているＭＡＣアドレス及び受信ポート（転送先ポート）の情報が消去される。これにより、通信装置が、受信する全フレームについて転送先出力ポートを特定できなくなり、アドレス学習のためのフラッディングが発生する。
【００４６】
ＶＬＡＮ３０Ａの各通信装置は、ＶＬＡＮ３０Ａにおいて経路の再構築があった旨を記憶しておき、ＭＡＣアドレス未学習フレーム（ＭＡＣ未学習フレームとも呼ぶ）であるフラッディングフレームには高い廃棄優先度を付与する。この点については、後に詳述する。
【００４７】
ＶＬＡＮ３０Ａの通信トラフィック３０１Ａ−１のフレームは、全てフラッディングされる。図２Ａにおいて、通信トラフィック３０１Ａ−２、３０１Ａ−３は、フラッディングされたフレームによる通信トラフィックである。これらは、ＭＡＣアドレス未学習通信トラフィック（ＭＡＣ未学習通信トラフィックとも呼ぶ）である。
【００４８】
フラッディングフレームの通信トラフィック３０１Ａ−２は、本障害に関係のないＶＬＡＮ３０ＢのＭＡＣ学習済み通信トラフィック３０１Ｂ−１と競合し、入出力回線５２−１２において、輻輳が発生する。
【００４９】
しかし、本例においては、フラッディングフレームに、ＭＡＣアドレス学習済みフレーム（ＭＡＣ学習済みフレームとも呼ぶ）に付与されうる最も高い廃棄優先度が設定される。
【００５０】
そのため、ＭＡＣ学習済み通信トラフィック３０１Ｂ−１のフレームよりも、全体として、優先的に廃棄される。このため、フラッディングフレームによるＭＡＣ学習済み通信トラフィック３０１Ｂ−１のフレーム廃数は防止される。後述するように、ＭＡＣアドレス学習済みフレームはＶＬＡＮ毎に帯域制御されており、一部のＭＡＣ学習済みフレームには、フラッディングフレームと同一の廃棄優先度が付与されうる。
【００５１】
このように、ＭＡＣ未学習フレームを、全体として、ＭＡＣ学習済みフレームよりも優先して廃棄することで、障害によるフラッディングが既存ネットワークを不安定にすることを防止できる。しかし、経路再構築の結果次第では、ＶＬＡＮ３０ＢのＭＡＣ学習済み通信トラフィック３０１Ｂ−１と競合する、経路が再構築されるケースが存在する。
【００５２】
具体的には、図２Ａの例において、ＭＡＣアドレスの学習が完了し、通信トラフィック３０１Ａ−２の経路が、新たなＭＡＣ学習済み経路として構築されると、ＭＡＣ学習済み通信トラフィック３０１Ｂ−１、３０１Ａ−２により、輻輳が発生してしまう。
【００５３】
図２Ｂは、ＶＬＡＮ３０ＢのＭＡＣ学習済みトラフィック３０Ｂ−１と競合し、輻輳が発生する経路（通信トラフィック３０１Ａ−２の経路）が再構築されたケースにおいて、本実施例の通信装置が、輻輳の発生しない経路を新たに再構築するための動作を示す。本例において、通信トラフィック３０１Ａ−３は、ＭＡＣ学習済みトラフィック３０Ｂ−１と競合せず、通信トラフィック３０１Ａ−３の経路は輻輳を引き起こさない。
【００５４】
本例の通信装置２０Ａ〜２０Ｉのそれぞれは、ＭＡＣ学習済みフレームのフレームロスを監視している。通信装置２０Ａ〜２０Ｉのそれぞれは、ＭＡＣ学習済みフレームのロスが発生してしたことを検知することが可能であり、それにより、競合トラフィックの存在を検知することができる。
【００５５】
例えば、図２Ｂの例において、通信装置２０Ｈ、２０Ｉは、それぞれ、入出力回線５０−１２におけるフレーム送信において、ＭＡＣ学習済みフレームのロス数を測定することができる。これにより、通信装置２０Ｈ、２０Ｉは、それぞれ、入出力回線５０−１２において、ＶＬＡＮ３０Ｂの学習済みトラフィック３０Ｂ−１と競合するＶＬＡＮ３０Ａの経路が再構築されてしまったことを、検知することができる。
【００５６】
通信装置２０Ｈ又は２０Ｉは、フレームロスが発生しているポート２０１Ｈ−２又は２０１Ｉ−４において擬似的障害が発生していると判定し、ＶＬＡＮ３０Ａにおいて経路の再構築が必要であると判定する。図２Ｂの例において、ポート２０１Ｈ−２において疑似障害が発生し、その経路がブロックされている（Ｐ２００）。通信装置２０Ｈ又は２０Ｉ（図２Ｂの例において通信装置２０Ｈ）は、ＶＬＡＮ３０Ａ内経路を再構築するため、経路制御フレームをＶＬＡＮ３０Ａ内の他の通信装置に送信する。
【００５７】
上記経路制御フレームを受信したＶＬＡＮ３０Ａ内の各通信装置は、図２Ａを参照して説明した経路再構築処理と同様に、ＶＬＡＮ３０Ａの経路情報を更新し、この障害により影響を受けるＶＬＡＮ３０Ａの学習済みＭＡＣアドレスを全て削除し、更新した結果をＶＬＡＮ３０Ａ内の他の通信装置へ転送する。これにより、ＶＬＡＮ３０Ａ内の各通信装置は、でＶＬＡＮ３０Ａ内の全ての経路情報と学習済みアドレスを削除する。
【００５８】
その後、ＶＬＡＮ３０Ａ内の各通信装置は、ＭＡＣ未学習フレームであるフラッディングフレームに、高い廃棄優先度を付与する。これにより、フラッディングフレームによるＭＡＣ学習済みトラフィックへの悪影響を低減する。
【００５９】
図２Ａを参照して説明した経路再構築処理と同様に、ＶＬＡＮ３０Ａ内において、通信装置はＭＡＣアドレスを学習し、新たな経路を構築する。図２Ｂにおいて、新たに構築された経路の通信トラフィックは、通信トラフィック３０１Ａ−３である。ＶＬＡＮ３０Ａ内で、ユーザ端末ＴＥ−１とユーザ端末ＴＥ−３は、この経路において通信が可能であり、この経路の通信トラフィック３０１Ａ−３は、ＶＬＡＮ３０ＢのＭＡＣ学習済みトラフィック３０１Ｂ−１と競合せず、輻輳が発生しない。
【００６０】
このように、障害発生した第１ＶＬＡＮにおいて再構築された経路の通信トラフィックが、第２ＶＬＡＮの通信トラフィックと競合し、ＭＡＣ学習済み通信フレームのロスが所定値以上である場合に、本システムは、第１ＶＬＡＮにおいて、新たな経路を再構築する。
【００６１】
これにより、本システムは、障害発生したＶＬＡＮにおいて、通信トラフィックが他のＶＬＡＮの通信トラフィックと競合して輻湊を引き起こすことがない経路を、新たに構築することができる。障害発生した第１ＶＬＡＮにおいて経路を再構築することで、安定動作している既存経路を維持しつつ、新たな経路を構築することができる。
【００６２】
図３は、本実施例において、通信装置２０Ａ〜２０Ｉの間で転送される通信フレームのフォーマットの一例を示す。ここでは、通信装置２０Ａ〜２０Ｉに適用されるイーサネットフレーム（通信フレーム）のフォーマットを示してある。
【００６３】
イーサネットフレーム７０は、宛先ＭＡＣアドレスのフィールド７０１と、送信元ＭＡＣアドレスのフィールド７０２と、ＶＬＡＮタグのフィールド７０３と、フレームの種類を示すＴｙｐeのフィールド７０４と、フレームのペイロードのフィールド７０５と、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）のフィールド７０６を含む。
【００６４】
宛先ＭＡＣアドレスフィールド７０１は、当該フレームの宛先（例えばユーザ通信装置ＴＥ−３）のＭＡＣアドレスの値を格納し、送信元ＭＡＣアドレスのフィールド７０２は、当該フレームの送信元（例えばユーザ通信装置ＴＥ−１）のＭＡＣアドレスの値を格納する。
【００６５】
ＶＬＡＮタグ（フィールド）７０３は、ＶＬＡＮＩＤのフィールド７０３１と、ＣＦＩ（Ｃａｎｏｎｉｃａｌ  Ｆｏｒｍａｔ  Ｉｎｄｉｃａｔｏｒ）フィールド７０３２と、優先度のフィールド７０３３を含む。ＶＬＡＮＩＤのフィールド７０３１は、ＶＬＡＮの識別子（例えば、ＶＬＡＮ３０Ａの識別子）を格納し、ＣＦＩのフィールド７０３２は、ＭＡＣアドレスが正規フォーマットであるか否かを示すフラグを格納する。優先度のフィールド７０３３は、本例において、その通信フレームの廃棄優先度を示す値を格納する。上述のように、ＭＡＣ未学習フレームには高い廃棄優先度が付与される。
【００６６】
ユーザ端末ＴＥ−１〜ＴＥ−４の対向装置であるエッジ通信装置２０Ａ、２０Ｃ、２０Ｇ、２０Ｉのそれぞれは、優先度フィールド７０３３に、ＶＬＡＮの設定帯域とＭＡＣ学習済みフレームの通過帯域に応じて、廃棄優先度を示す値を格納する。優先度フィールド７０３３は、転送途中の各通信装置において、更新される又はその値が維持される。廃棄優先度及び優先度のフィールドの値の更新については後述する。
【００６７】
図４は、通信装置２０Ａ〜２０Ｉの構成を模式的に示すブロック図である。本例において、通信装置２０Ａ〜２０Ｉのそれぞれが、図４に示す構成を有する。以下において、通信装置２０Ａ〜２０Ｉの任意の一つを、通信装置２０と呼ぶ。
【００６８】
通信装置２０は、複数の入出力回線５０−１〜５０−ｎのそれぞれと接続される物理ポート２０１〜２０１−ｎを有する。図４の説明において、ｎは２以上の整数である。通信装置２０は、さらに、入出力フレームの処理を行う複数のフレーム処理ブロック２０２−１〜２０２−ｎを有する。フレーム処理ブロック２０２−１〜２０２−ｎは、それぞれ、対応する物理ポート２０１−１〜２０１−ｎに接続し、対応する物理ポート２０１−１〜２０１−ｎの入力フレーム及び出力フレームを処理する。
【００６９】
通信装置２０は、さらに、物理ポート２０１〜２０１−ｎ間で通信フレームの転送を制御する転送制御部２００を有する。転送制御部２００は、スイッチ部２０４と複数のスイッチインタフェース（ＳＷ−ＩＦ）２０３〜２０３−ｎとを有する。スイッチ部２０４は、フレーム処理ブロック間２０２−１〜２０２−ｎでフレームを転送する。ＳＷ−ＩＦ２０３−１〜２０３−ｎは、フレーム処理ブロック２０２−１〜２０２−ｎに、それぞれ対応する。ＳＷ−ＩＦ２０３−１〜２０３−ｎは、それぞれ、スイッチ部２０４と対応するフレーム処理部２０２−１〜２０２−ｎとを接続する。
【００７０】
ＳＷ−ＩＦ２０３−１〜２０３−ｎは、それぞれ、物理ポート２０１−１〜２０１−ｎと対応している。物理ポート２０１−１〜２０１−ｎのそれぞれが受信した入力フレームは、対応するＳＷ−ＩＦ２０３−１〜２０３−ｎを介して、スイッチ部２０４に転送される。また、スイッチ部２０４がＳＷ−ＩＦ２０３−１〜２０３−ｎのそれぞれに振り分けた出力フレームは、対応する物理ポート２０１−１〜２０１−ｎを介して、入出力回線５０−１〜５０−ｎに送出される。
【００７１】
転送制御部２００は、さらに、経路制御部２０５、制御経路テーブル２１８、ＶＬＡＮテーブル２１９、ＶＬＡＮ障害テーブル２２３を有する。経路制御部２０５は、制御経路テーブル２１８、ＶＬＡＮテーブル２１９、ＶＬＡＮ障害テーブル２２３を使用して、経路再構築の処理を行う。
【００７２】
図３に示す例において、フレーム処理ブロック２０２−１は、入力ヘッダ解析部２０６、帯域監視部２０８、出力先決定部２１０、入力フレームバッファ２１２、ＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）制御部２１３、入力フレーム読み出し部２１４、出力ヘッダ解析部２１５、出力フレームバッファ２１６、出力フレーム読み出し部２１７を含む。
【００７３】
フレーム処理ブロック２０２−１は、さらに、ＭＡＣ学習テーブル２０７、帯域監視テーブル２０９、出力先テーブル２１１、送信ＯＡＭテーブル２２０、受信ＯＡＭテーブル２２１を含む。フレーム処理ブロック２０２−１〜２０−１ｎは、それぞれ、これらの構成要素を含む。
【００７４】
以下において、通信装置２０内の動作を、通信装置２０が受信した通信フレーム７０の流れに沿って説明する。通信装置２０は、物理ポート２０１−１〜２０１−ｎを介して、他の通信装置又はユーザ端末と接続する。本実施例では、物理ポート２０１−１〜２０１−ｎは、イーサネット用の物理ポートである。
【００７５】
以下の説明において、物理ポート２０１−ｉ（ｉは１〜ｎのいずれかの整数）が、通信フレーム７０を受信する例を説明する。以下の説明は、全ての物理ポート２０１−１〜２０１−ｎ、フレーム処理ブロック２０２−１〜２０２−ｎ、ＳＷ−ＩＦ２０３−１〜２０３−ｎに、適用することができる。
【００７６】
物理ポート２０１−ｉ（ｉは１〜ｎの任意の数字）は、入出力回線５０−ｉから通信フレーム（入力フレーム）７０を受信すると、その入力フレーム７０に装置内ヘッダ８０を付与する。装置内ヘッダ８０は、当該通信装置内のみで使用されるヘッダであり、入出力回線から通信フレーム７０が出力される前に除去される。
【００７７】
図５は、装置内ヘッダ８０のフォーマット例を示す。装置内ヘッダ８０は、コネクションＩＤのフィールド８０１、ＭＡＣ未学習識別子のフィールド８０２、廃棄優先度のフィールド８０３、受信ＰｏｒｔのフィールドＩＤ８０４、出力先ＰｏｒｔＩＤのフィールド８０５、ＯＡＭ識別子のフィールド８０６を含む。
【００７８】
コネクションＩＤのフィールド８０１は、ＶＬＡＮにおける学習済み宛先ＭＡＣアドレスと送信ポートとの対応関係の識別子を格納する。後述するように、この識別子は、ＭＡＣ学習テーブル２０７におけるエントリの識別子である。ＭＡＣ未学習識別子のフールド８０２は、通信フレーム７０がＭＡＣ未学習フレームであるか否かを示す値を格納する。
【００７９】
廃棄優先度のフィールド８０３は、通信フレーム７０に付与された廃棄優先度の値を格納する。上述のように、ＭＡＣ未学習フレーム（フラッディングフレーム）に対して、高い廃棄優先度が付与される。
【００８０】
受信ＰｏｒｔのフィールドＩＤ８０４、出力先ＰｏｒｔＩＤのフィールド８０５は、それぞれ、当該通信装置２０における通信フレーム７０の受信物理ポートの識別子及び出力物理ポートの識別子を格納する。出力先ＰｏｒｔＩＤフィールド８０５の値は、内部ルーティング情報である。スイッチ部２０４は、この値に従って、入力フレーム７０を対応する物理ポートのＳＷ−ＩＦに転送する。
【００８１】
ＯＡＭ識別子のフィールド８０６は、通信フレーム７０が、フレームロス測定用のＯＡフレームであるか否かを示す値を格納する。本例において、ＯＡＭフレームは、通信装置内でのＭＡＣ学習済みフレームのロス数、つまり、ＭＡＣ学習済みフレームの廃棄数の測定に使用される。
【００８２】
物理ポート２０１−ｉは、通信フレーム７０に付与した装置内ヘッダ８０において、受信ＰｏｒｔＩＤ８０４のフィールドに、自身の識別子を格納する。それ以外の、コネクションＩＤのフィールド８０１、ＭＡＣ未学習識別子のフィールド８０２、廃棄優先度のフィールド８０３、出力先ＰｏｒｔＩＤのフィールド８０５、ＯＡＭ識別子８０６のフィールドは、空欄（例えばＮＵＬＬ値を格納）である。これらのフィールドには、入力ヘッダ解析部２０６、帯域監視部２０８、出力先決定部２１０によって有効な値が格納される。
【００８３】
物理ポート２０１−ｉと接続された、フレーム処理ブロック２０２−ｉの入力ヘッダ解析部２０６は、受信した通信フレーム７０のヘッダを解析する。図６は、入力ヘッダ解析部２０６によるヘッダ解析処理のフローチャート例である。
【００８４】
入力ヘッダ解析部２０６は、入力された通信フレーム７０を取得すると（Ｓ１０２）、通信フレーム７０内の宛先ＭＡＣアドレスフィールド７０１の値とＶＬＡＮＩＤフィールド７０３１の値を検索キーとして、ＭＡＣ学習テーブル２０７を検索する（Ｓ１０３）。
【００８５】
ＭＡＣ学習テーブル２０７が検索エントリを含まない場合（Ｓ１０４：Ｎ）、このフレームのＭＡＣアドレスは未学習であるので、入力ヘッダ解析部２０６は、装置内ヘッダ８０のコネクションＩＤのフィールド８０１及び出力先ＰｏｒｔＩＤ８０５のフィールドに値を格納せず、ＭＡＣ未学習識別子のフィールド８０２に「１」を格納する。ＭＡＣ未学習識別子８０２のこの値「１」は、当該通信フレーム７０が、ＭＡＣ未学習フレームであることを示す。
【００８６】
さらに、入力ヘッダ解析部２０６は、装置内ヘッダ８０のＯＡＭ識別子のフィールド８０６に「０」を格納し、装置内ヘッダ８０を付された通信フレーム７０を帯域監視部２０８へ転送する。ＯＡＭ識別子８０６のこの値「０」は、当該通信フレーム７０が、ＯＡＭフレームではないことを示す。
【００８７】
ＭＡＣ学習テーブル２０７が検索エントリを含む場合（Ｓ１０４：Ｙ）、このフレームのＭＡＣアドレスは学習済みである。入力ヘッダ解析部２０６は、ＭＡＣ学習テーブル２０７から、当該検索したエントリを取得し、そのエントリにおけるコネクションＩＤの値を装置内ヘッダ８０のコネクションＩＤのフィールド８０１に格納する。入力ヘッダ解析部２０６は、さらに、ＭＡＣ未学習識別子のフィールド８０２に「０」を格納する。ＭＡＣ未学習識別子８０２のこの値「０」は、当該通信フレーム７０が、ＭＡＣ学習済みフレームであることを示す。
【００８８】
図７は、ＭＡＣ学習テーブル２０７の構成例を示す。ＭＡＣ学習テーブル２０７は、各ＶＬＡＮにおける学習済みの宛先ＭＡＣアドレスについて、その宛先ＭＡＣアドレスと送信ポートＩＤとを関連付けて管理するテーブルである。ＭＡＣ学習テーブル２０７は、宛先ＭＡＣアドレスのカラム２０７１、ＶＬＡＮＩＤのカラム２０７２、送信ポートＩＤのカラム２０７３、コネクションＩＤのカラム２０７４を有する。
【００８９】
上述のように、入力ヘッダ解析部２０６は、通信フレーム７０のＶＬＡＮＩＤフィールド７０３１の値（ＭＡＣ学習テーブル２０７のカラム２０７２）と、通信フレーム７０の宛先ＭＡＣアドレスフィールド７０１の値（ＭＡＣ学習テーブル２０７のカラム２０７１）とを検索キーとして、送信ＰｏｒｔＩＤ（ＭＡＣ学習テーブル２０７のカラム２０７３）を示すエントリを検索する。
【００９０】
上述のように、一致するエントリがある場合は、入力ヘッダ解析部２０６は、このエントリのコネクションＩＤカラム２０７２の値を、装置内ヘッダ８０のコネクションＩＤのフィールド８０１に格納し、エントリの送信ＰｏｒｔＩＤカラム２０７３の値を、装置内ヘッダ８０の出力先ＰｏｒｔＩＤのフィールド８０５に格納する。入力ヘッダ解析部２０６は、さらに、ＭＡＣ未学習識別子のフィールド８０２に「０」を格納する。
【００９１】
入力ヘッダ解析部と接続された帯域監視部２０８は、入力ヘッダ解析部２０６から装置内ヘッダ８０を付された入力フレーム７０を受信し、その通信フレーム７０がＭＡＣ学習済みフレームである場合、帯域制御処理を実行する。その通信フレーム７０がＭＡＣ未学習フレームである場合、帯域監視部２０８は、帯域監視処理（帯域の制御を含む）を省略する。
【００９２】
図８は、帯域監視部２０８の帯域監視のフローチャート例を示す。帯域監視部２０８は、受信した通信フレーム７０の装置内ヘッダ８０において、ＭＡＣ未学習識別子のフィールド８０２を参照し、ＭＡＣ未学習識別子のフィールド８０２の値が「１」であるか判定する（Ｓ２０１）。
【００９３】
ＭＡＣ未学習識別子のフィールド８０２の値が「１」である場合（Ｓ２０１：Ｙ）、それは、当該通信フレーム７０は、ＭＡＣ未学習フレームであることを示す。この場合、帯域監視部２０８は、帯域制御を省略して、装置内ヘッダ８０の廃棄優先度フィールド８０３及びＶＬＡＮタグ７０３の優先度フィールド７０３３に高い廃棄優先度を示す値として「１」を格納し、出力決定部２１０へ装置内ヘッダ８０付き通信フレーム７０を転送する。
【００９４】
一方、ＭＡＣ未学習識別子フィールドの８０２が「０」の場合（Ｓ２０１：Ｎ）、当該通信フレーム７０が、ＭＡＣ学習済みフレームであることを示している。この場合、帯域監視部２０８は、ＶＬＡＮ毎に帯域を監視、制御する。まず、帯域監視部２０８は、通信フレーム７０のＶＬＡＮＩＤフィールド７０３１の値をキーとして、帯域監視テーブル２０９を検索する（Ｓ２０２）。
【００９５】
図９は、帯域監視テーブル２０９の構成例を示す。帯域監視テーブル２０９は、ＶＬＡＮＩＤのカラム２０９１、設定帯域のカラム２０９２、バケツの深さのカラム２０９３、前回トークン値のカラム２０９４、前回時刻カウンタ値のカラム２０９５、時刻カウンタ周回数のカラム２０９６を有する。
【００９６】
設定帯域のカラム２０９２は、各エントリにおいて、そのＶＬＡＮにおいて予め設定されている帯域の値を格納する。バケツの深さのカラム２０９３は、受け入れることができるバースト長を示す。前回トークン値のカラム２０９４は、前回のトークン計算結果を格納する。前回時刻カウンタ値のカラム２０９５は、前回パケットを受信した際の時刻を示す値を格納する。時刻カウンタ周回数のカラム２０９６は、時刻カウンタが何周したかを示す値を格納する。
【００９７】
帯域監視テーブル２０９を検索した結果、通信フレーム７０のＶＬＡＮＩＤフィールド７０３１の値と一致するＶＬＡＮＩＤカラム２０９１の値を有するエントリがあった場合（Ｓ２０３：Ｙ）、帯域監視部２０８は、現在帯域（現在トークン値）を計算する（Ｓ２０４）。
【００９８】
具体的には、帯域監視部２０８は、帯域監視テーブル２０９において、受信パケットに対応するＶＬＡＮＩＤの、今回パケットを受信した時刻カウンタ値から前回時刻カウンタ値（カラム２０９５）を引き、その値に対して規定の帯域値を掛けることで、前回パケット受信から今回パケット受信までの加算トークン値を算出する。帯域監視部２０８は、計算したトークン値を、前回トークン値（カラム２０９４）に加算することで、現在トークン値（帯域計算値）を得る。帯域監視部２０８は、この計算結果と、検索結果のエントリにおける設定帯域カラム２０９２の値とを比較する（Ｓ２０５）。
【００９９】
帯域計算値が、設定帯域カラム２０９２の値以下であれば（Ｓ２０５：Ｙ）、帯域監視部２０８は、装置内ヘッダ８０の廃棄優先度フィールド８０３及びＶＬＡＮタグ７０３の優先度フィールド７０３３のそれぞれに、高い廃棄優先度を示す「１」を格納する（Ｓ２０７）。これにより、ＶＬＡＮのフレーム通信が、そのＶＬＡＮに設定された帯域を超えることを防ぐ。
【０１００】
帯域計算値が設定帯域カラム２０９２の値より大きい場合（Ｓ２０５：Ｎ）、帯域監視部２０８は、装置内ヘッダ８０の廃棄優先度フィールド８０３及び通信フレーム７０内の優先度フィールド７０３３のそれぞれに、低い廃棄優先度を示す「０」を格納する（Ｓ２０６）。本通信フレーム７０はＭＡＣ学習済みフレームであり、また、現在帯域値が当該ＶＬＡＮの設定帯域値より大きいため、当該通信フレーム７０に低い廃棄優先度が付与される。
【０１０１】
一方、帯域監視部２０８が帯域監視テーブル２０９を検索した結果、一致するＶＬＡＮＩＤ２０９１のエントリがなかった場合には（Ｓ２０３：Ｎ）、帯域監視部２０８は、ＶＬＡＮタグ７０３における優先度フィールド７０３３の値を、装置内ヘッダ８０の廃棄優先度フィールド８０３にコピーする（Ｓ２０８）。
【０１０２】
これは、ネットワークのエッジであるユーザ端末と接続されている通信装置のみにオペレータが帯域監視テーブル２０９のエントリを設定し、帯域監視テーブル２０９の情報が他の通信装置に転送されていないことがあるため、エントリが設定されていない通信装置では、ＶＬＡＮタグ７０３の優先度７０３３に廃棄優先度を付与し、ネットワーク内で転送するための処理である。本例の帯域監視及び制御により、ＭＡＣ学習済みフレームの帯域制御を、ＶＬＡＮ毎に適切に行うことができる。
【０１０３】
次に、出力先決定部２１０は、帯域監視部２０８から装置内ヘッダ８０付き通信フレーム７０を受信する。出力先決定部２１０は、装置内ヘッダ８０のＭＡＣ未学習識別子フィールド８０２を参照し、その通信フレーム７０がＭＡＣ未学習フレームであるか判定する。ＭＡＣ未学習識別子フィールド８０２の値が「０」であり、当該通信フレーム７０がＭＡＣ学習済みフレームである場合、出力先決定部２１０は、出力先決定処理を省略して、装置内ヘッダ８０を変更せずに入力フレームバッファ２１２にフレームを蓄積する。
【０１０４】
一方、ＭＡＣ未学習識別子フィールド８０２の値が「１」であり、当該通信フレーム７０がＭＡＣ未学習フレームである場合、出力先決定部２１０は、出力先テーブル２１１を参照して、通信フレーム７０のブロードキャスト範囲を決定する。
【０１０５】
図１０は、出力先テーブル２１１の構成例を示している。出力先テーブル２１１は、ＶＬＡＮＩＤのカラム２１１１、出力先ＰｏｒｔＩＤのカラム２１１２を有する。出力先テーブル２１１は、ＶＬＡＮＩＤで識別される各ＶＬＡＮに割り当てられている出力先物理ポートを規定する。各エントリは、ＶＬＡＮＩＤと対応して、出力先ＰｏｒｔＩＤの値を示している。出力先ＰｏｒｔＩＤのカラム２１１２は、フラッディングにおいてフレーム送信される、一つ以上の出力先ポートが登録されている。
【０１０６】
受信したフレーム７０の装置内ヘッダ８０におけるＭＡＣ未学習識別子８０２が「１」である場合（当該フレームがＭＡＣ未学習フレームである場合）、出力先決定部２１０は、出力先テーブル２１１において、フレーム７０のＶＬＡＮＩＤフィールド７０３１の値と対応するエントリを検索する。
【０１０７】
出力先決定部２１０は、該当するエントリの出力先ＰｏｒｔＩＤカラム２１１２の値（１つ以上の値）を、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５に格納する。その後、出力先決定部２１０は、ＯＡＭ制御部２１３に当該フレームを転送するとともに、入力フレームバッファ２１２に蓄積する。ＯＡＭ制御部２１３の処理は後述する。
【０１０８】
入力フレームバッファ２１２に蓄積されたフレーム７０は、入力フレーム読出し部２１４によって読み出される。入力フレーム読出し部２１４は、読みだした装置内ヘッダ８０付きフレーム７０を、スイッチ処理部２０４とフレーム処理ブロック２０２とを接続するＳＷ−ＩＦ２０３−ｉへ転送する。
【０１０９】
スイッチ部２０４は、ＳＷ−ＩＦ２０３−ｉから装置内ヘッダ８０付きフレーム７０を受け取り、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５の値で特定される１又は複数の物理ポートに対応するＳＷ−ＩＦ（フレーム処理ブロック）に、それを装置内ヘッダ８０付き出力フレーム７０として転送する。
【０１１０】
ここで、ＭＡＣ未学習識別子フィールド８０２の値が「０」であり、当該フレームがＭＡＣ学習済みフレームの場合、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５には、一つのみの出力先物理ポートのＩＤが格納されており、通信フレーム７０の外部転送先は、一つのみである。従って、出力フレーム７０は、一つのみの対応するフレーム処理ブロックに転送される。
【０１１１】
一方、ＭＡＣ未学習識別子８０２が「１」であり、当該フレームがＭＡＣ未学習フレームの場合、出力先ＰｏｒｔＩＤフィールド８０５には一つ以上の出力先物理ポートのＩＤが格納されており、通信フレーム７０の外部転送先は一つ以上である。従って、通信フレーム７０は、一つ以上のフレーム処理ブロックに転送される。
【０１１２】
図１１は、スイッチ部２０４の構成例を示す。スイッチ部２０４は、ＳＷ−ＩＦ２０３−１〜２０３−ｎのそれぞれに対して、対応するＳＷ−ＩＦから受信したフレームの振り分けを行うクラシファイア２０４１と、振り分けられたフレームを一時的に保持するキュー２０４２−１〜２０４２−ｎとを有する。キュー２０４２−１〜２０４２−ｎは、それぞれ、出力先のＳＷ−ＩＦ２０３−１〜２０３−ｎに対応している。図１１は一つのクラシファイア２０４１と対応する一つのキュー群を図示するが、例えばＳＷ−ＩＦ２０３−１〜２０３−ｎに対応するｎ個のクラシファイア及びキュー群がスイッチ部２０４に含まれる。
【０１１３】
図１１は、キュー２０４２−１、２０４２−ｎを例示する。図１１において、キュー２０４２−１、２０４２−ｎ内の矩形はフレームを示し、矩形内の「Ｈ」は当該フレームが高い廃棄優先度を有することを示し、矩形内の「Ｌ」は当該フレームが低い廃棄優先度を有することを示す。
【０１１４】
クラシファイア２０４１は、スイッチ部２０４に入力したフレームの装置内ヘッダ８０における出力先ＰｏｒｔＩＤフィールド８０５を参照し、その値に応じて、当該フレームを保持するキューを決定し、そのキューに格納する。クラシファイア２０４１は、フレームを、出力先ＰｏｒｔＩＤフィールド８０５が示す物理ポートに接続するフレーム処理ブロックのＳＷ−ＩＦへのキューに格納する。
【０１１５】
装置内ヘッダ８０のＭＡＣ未学習識別子フィールド８０２の値が「０」であり、当該フレームがＭＡＣ学習済みフレームの場合、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５は一つの値のみ格納しており、フレーム格納先のキューも一つのみである。一方、ＭＡＣ未学習識別子フィールド８０２の値が「１」であり、当該フレームがＭＡＣ未学習フレームの場合、出力先ＰｏｒｔＩＤ８０５フィールドは一つ以上の値を格納しているため、格納先のキューも一つ以上である。
【０１１６】
キュー２０４２−ｊ（ｊは１〜ｎの任意の整数）は、キュー２０４２−ｊ内に格納された順番で先頭フレーム２０４４−ｊから出力する。キュー２０４２−ｊの格納可能な最大数（閾値）が決まっており、最大数のフレームを格納している状態で他のフレームをクラシファイア２０４１から受けると、そのフレームを廃棄する。
【０１１７】
キュー２０４２−ｊは、閾値２０４７−ｊを有しており、キュー長２０４６−ｊが当該閾値２０４７−ｊを超えた場合、廃棄優先度フィールド８０３の値が「１」であり高い廃棄優先度を示すフレームを格納せずに廃棄し、廃棄優先度フィールド８０３の値が「０」であり低い廃棄優先度を示すフレームのみを格納する。
【０１１８】
図１１において、キュー２０４２−１は、キュー２０４２−１内に格納された順番で先頭フレーム２０４４−１から出力する。キュー２０４２−１のキュー長２０４６−１は、閾値２０４７−１よりも大きい。従って、キュー２０４２−１は、高い廃棄優先度を示すフレーム２４０３−３を格納することなく廃棄する。
【０１１９】
キュー２０４２−ｎは、キュー２０４２−ｎ内に格納された順番で先頭フレーム２０４４−ｎから出力する。キュー２０４２−ｎのキュー長２０４６−ｎは、閾値２０４７−ｎよりも小さい。従って、キュー２０４２−１は、フレーム２４０３−３の廃棄優先度に関わらず、そのフレーム２４０３−３を格納する。
【０１２０】
このように、輻輳発生時にＭＡＣ未学習のフレームがＭＡＣ学習済みフレームよりも優先的に廃棄することで、ＭＡＣ未学習のフレームに起因するＭＡＣアドレス学習済みのフレームの廃棄を防止し、フラッディングによるＭＡＣアドレス学習済みトラフィックへの悪影響を実質的に防ぐことができる。なお、本例のスイッチ部２０４は、ＦＩＦＯのキューを使用するが、これと異なる入出力を行うバッファを使用してもよい。
【０１２１】
次に、スイッチ部２０４から出力された出力フレーム７０は、１又は複数のＳＷ−ＩＦを介して、１又は複数のフレーム処理ブロックに転送される。以下において、フレーム処理ブロック２０２−ｋが、ＳＷ−ＩＦ２０３−ｋを介して、装置内ヘッダ８０付き出力フレーム７０をスイッチ部２０４から受信する例を説明する。
【０１２２】
フレーム処理ブロック２０２−ｋの出力ヘッダ解析部２１５は、ＳＷ−ＩＦ２０３ｋと接続し、ＳＷ−ＩＦ２０３ｋから受信した装置内ヘッダ８０付き出力フレーム７０のヘッダを解析する。出力ヘッダ解析部２１５は、装置内ヘッダ８０のＯＡＭ識別子フィールド８０６を参照する。ＯＡＭ識別子フィールド８０６の値が「０」であり、当該フレーム７０が、フレームロス数測定用のＯＡＭフレームではない場合、出力ヘッダ解析部２１５は、ＭＡＣ学習テーブル２０７を参照する。
【０１２３】
出力ヘッダ解析部２１５は、ＭＡＣ学習テーブル２０７において、フレーム７０のＶＬＡＮＩＤフィールド７０３１の値と、送信元ＭＡＣアドレスフィールド７０２の値の組み合わせを検索キーとして、該当するエントリを検索する。
【０１２４】
一致するエントリがＭＡＣ学習テーブル２０７において見つかった場合、出力ヘッダ解析部２１５は、出力フレーム７０の装置内ヘッダ８０を削除し、出力フレームバッファ２１６に格納する。出力ヘッダ解析部２１５は、装置内ヘッダ８０付きの出力フレーム７０を、ＯＡＭ制御部２１３に転送する。
【０１２５】
一方、一致するエントリがＭＡＣ学習テーブル２０７に存在しない場合、ＭＡＣ学習テーブル２０７に、新たなエントリを登録する。出力ヘッダ解析部２１５は、出力フレーム７０の送信元ＭＡＣアドレスフィールド７０２の値、ＶＬＡＮＩＤフィールド７０３１の値、装置内ヘッダ８０の受信ＰｏｒｔＩＤフィールド８０４の値を、ＭＡＣ学習テーブル２０７のエントリに登録する。
【０１２６】
送信元ＭＡＣアドレスフィールド７０２の値、ＶＬＡＮＩＤフィールド７０３１の値、受信ＰｏｒｔＩＤフィールド８０４の値は、それぞれ、宛先ＭＡＣアドレスカラム２０７１、ＶＬＡＮＩＤカラム２０７２、送信ＰｏｒｔＩＤカラム２０７３に格納される。コネクションＩＤは新たに付与される。
【０１２７】
その後、出力ヘッダ解析部２１５は、出力フレーム７０の装置内ヘッダ８０を削除し、出力フレームバッファ２１６に格納する。出力ヘッダ解析部２１５は、装置内ヘッダ８０付きの出力フレーム７０を、ＯＡＭ制御部２１３に転送する。
【０１２８】
一方、ＯＡＭ識別子フィールド８０６の値が「１」であり、当該フレーム７０が、フレームロス数測定用のＯＡＭフレームである場合、装置内ヘッダ８０付きの通信フレーム７０を、ＯＡＭ制御部２１３へ転送するが、そのフレームを出力フレームバッファ２１６には格納しない。
【０１２９】
本例においては、ＯＡＭ識別子が「１」のフレームは、通信装置内２０−ｉ内でのフレームロス数、つまり、スイッチ部２０４でのフレーム廃棄数を測定するためのＯＡＭフレームであり、ＯＡＭフレームは、通信装置２０−ｉの外部に出力されることなく、ＯＡＭ制御部２１３へ転送される。
【０１３０】
出力フレームバッファ２１６に格納された出力フレーム７０は、出力フレーム読出し部１１６によって読み出され、物理ポート２０１−ｋに転送される。物理ポート２０１−ｋは、図４に示すフォーマットの出力フレーム７０を、入出力回線５０−ｋに送出する。
【０１３１】
上述のように、ＯＡＭ制御部２１３は、その通信装置２０内でのＭＡＣ学習済みフレームのロス数（廃棄数）を測定する。後述するように、フレーム処理ブロック２０２−１〜２０２−ｎのＯＡＭ制御部２１３は、協働して、通信装置２０内でのＭＡＣ学習済みフレームのロス数を測定する。
【０１３２】
本例は、障害発生により新たに構築された経路と、他のＶＬＡＮの経路とが重なる出力物理ポートにおいてＭＡＣ学習済みフレームの廃棄数を測定することで、新たな経路のＭＡＣ学習済みトラフィック（例えば図２Ａにおけるトラフィック３０Ａ−２）と、他のＶＬＡＮの経路のＭＡＣ学習済みトラフィック（例えば図２Ａにおけるトラフィック３０Ｂ−１）の輻湊による通信装置内フレームロスを検知する。
【０１３３】
図１１を参照して説明したように、スイッチ部２０４は、物理ポート２０１−ｊに割り当てられたキュー２０４２−ｊにおいてフレームを廃棄する。フレーム処理ブロック２０２−ｊのＯＡＭ制御部２１３は、キュー２０４２−ｊにおいて廃棄されたＭＡＣ学習済みフレームの数をカウントする。
【０１３４】
例えば、フレーム処理ブロック２０２−ｊのＯＡＭ制御部２１３は、フレーム処理ブロック２０２−ｉのＯＡＭ制御部２１３から、フレーム処理ブロック２０２−ｉからフレーム処理ブロック２０２−ｊへ向けて送信されたＭＡＣ学習済みフレームのカウント数を取得する。フレーム処理ブロック２０２−ｊへ向けて送信されたＭＡＣ学習済みフレームは、装置内ヘッダ８０における出力先ＰｏｒｔＩＤのフィールド８０５の値で識別される。
【０１３５】
これらＭＡＣ学習済みフレームのうちの一部は、スイッチ部２０４において廃棄され得る。フレーム処理ブロック２０２−ｊのＯＡＭ制御部２１３は、スイッチ部２０４から受信した、フレーム処理ブロック２０２−ｉを送信元とするＭＡＣ学習済みフレームの数をカウントする。ＭＡＣ学習済みフレームの送信元フレーム処理ブロックは、その装置内ヘッダ８０における受信ＰｏｒｔＩＤフィールド８０４の値で識別される。
【０１３６】
フレーム処理ブロック２０２−ｊのＯＡＭ制御部２１３は、上記二つのカウント数の差分により、受信物理ポート２０１−ｉから出力先物理ポート２０１−ｊへのＭＡＣ学習済みフレームにおける廃棄数を得ることができる。フレーム処理ブロック２０２−ｊのＯＡＭ制御部２１３は、同様に、他の受信物理ポート（フレーム処理ブロック）からのフレームの廃棄数を測定することができる。
【０１３７】
具体的に説明する。フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれのＯＡＭ制御部２１３は、出力先決定部２１０から受信した入力フレーム７０の内、ＭＡＣ未学習識別子フィールド８０２の値が「０」のフレーム（ＭＡＣ学習済みフレーム）を、出力先ＰｏｒｔＩＤ（フィールド８０５に格納）毎にカウントし、送信ＯＡＭテーブル２２１を更新する。
【０１３８】
図１２は、送信ＯＡＭテーブル２２１の構成例を示す。フレーム処理ブロック２０２−１〜２０１−ｎは、それぞれ、固有の送信ＯＡＭテーブル２２１を有する。送信ＯＡＭテーブル２２１は、出力先ＰｏｒｔＩＤのカラム２２１１、ユーザフレーム送信数のカラム２２１２を有する。
【０１３９】
フレーム処理ブロック２０２−ｉの送信ＯＡＭテーブル２２１は、物理ポート２０１−ｉにおいて受信されたＭＡＣ学習済みフレームの数を、出力先物理ポート２０１−１〜２０１−ｎのそれぞれについて管理する。
【０１４０】
送信ＯＡＭテーブル２２１の更新において、ＯＡＭ制御部２１３は、入力フレーム７０の装置内ヘッダ８０における出力先ＰｏｒｔＩＤのフィールド８０５の値を検索キーとして、送信ＯＡＭテーブル２２１を検索する。ＯＡＭ制御部２１３は、該当するエントリのユーザフレーム送信数のカラム２２１２の値に「１」を加算し、同じエントリに書き戻す。
【０１４１】
ＯＡＭ制御部２１３は、出力ヘッダ解析部２１６（スイッチ部２０４）から受信した出力フレーム７０の内、そのＭＡＣ未学習識別子フィールド８０２の値が「０」であるＭＡＣ学習済みフレームを、受信ＰｏｒｔＩＤ（フィールド８０４に格納）毎にカウントし、受信ＯＡＭテーブル２２０を更新する。
【０１４２】
図１３は、受信ＯＡＭテーブル２２０の構成例を示す。フレーム処理ブロック２０２−１〜２０１−ｎは、それぞれ、固有の受信ＯＡＭテーブル２２０を有する。受信ＯＡＭテーブル２２０は、受信ＰｏｒｔＩＤのカラム２２０１、ユーザフレーム受信数のカラム２２０２、前回のユーザフレーム送信数のカラム２２０３、フレームロス数のカラム２２０４を有する。
【０１４３】
ユーザフレーム受信数のカラム２２０２は、各受信ＰｏｒｔＩＤについて、対応するフレーム処理ブロックからの前回のＯＡＭフレーム受信の後に、当該対応するフレーム処理ブロックから受信したＭＡＣ学習済みのフレーム数を格納する。
【０１４４】
前回のユーザフレーム送信数のカラム２２０３は、各受信ＰｏｒｔＩＤについて、対応するフレーム処理ブロックから受信した前回のＯＡＭフレームに格納されていたユーザフレーム送信数を示す値を格納する。フレームロス数のカラム２２０４は、各受信ＰｏｒｔＩＤについて、前々回のＯＡＭフレームから前回のＯＡＭフレームまでの間のフレームロス数を格納する。
【０１４５】
このように、フレーム処理ブロック２０２−ｉの受信ＯＡＭテーブル２２０は、物理ポート２０１−ｉから外部に送信されるＭＡＣ学習済みフレームの数（ユーザフレーム受信数カラム２２０２の値が相当）を、受信物理ポート２０１−１〜２０１−ｎのそれぞれについて管理する。本例において、受信ＯＡＭテーブル２２０は、受信物理ポート２０１−１〜２０１−ｎのそれぞれについて、フレームロス数を管理する。
【０１４６】
ＯＡＭテーブル２２０の上記更新において、ＯＡＭ制御部２１３は、ＭＡＣ学習済みフレームの装置内ヘッダ８０における受信ＰｏｒｔＩＤフィールド８０４の値を検索キーとして、受信ＯＡＭ２２０テーブルを検索する。ＯＡＭ制御部２１３は、該当するエントリのユーザフレーム受信数のカラム２２０２の値に「１」を加算し、同じエントリに書き戻す。
【０１４７】
以下において、ＯＡＭフレームの作成及び送受信を説明する。フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれのＯＡＭ制御部２１３は、所定のタイミングで、ＯＡＭフレームを、フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれに送信する。ＯＡＭフレームは、所定期間において、ＯＡＭフレームの送信元フレーム処理ブロックから送信先フレーム処理ブロックに向けて送信されたＭＡＣ学習済みフレーム数の情報を格納する。
【０１４８】
上述のように、送信先フレーム処理ブロックは、送信元フレーム処理ブロック（受信ＰｏｒｔＩＤ）毎に、スイッチ部２０４を介して受信したＭＡＣ学習済みのフレームをカウントし、そのカウント数を受信ＯＡＭテーブル２２０に格納する。送信先フレーム処理ブロックは、ＯＡＭフレーム内のフレーム送信数と、上記所定期間内のフレーム受信数との差分により、スイッチ部２０４において廃棄されたＭＡＣ学習済みフレームの数を知ることができる。
【０１４９】
一例において、フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれのＯＡＭ制御部２１３は、出力先ＰｏｒｔＩＤを０から順に選択し、各出力先ＰｏｒｔＩＤのＯＡＭフレームを作成し、ＳＷ―ＩＦを介してスイッチ部２０４へ出力する。ＯＡＭフレームにおいて、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５は、選択されたＰｏｒｔＩＤの値を格納し、通信フレーム７０のペイロードフィールド７０５は、当該出力先ＰｏｒｔＩＤを有し、上記所定期間内にスイッチ部２０４に出力されたＭＡＣ学習済みフレーム数を格納する。
【０１５０】
全てのＯＡＭフレームにおいて、装置内ヘッダ８０の受信ＰｏｒｔＩＤフィールド８０４は、当該フレーム処理ブロックが対応する物理ポートのＩＤを格納する。ＯＡＭ識別子フィールド８０６は、「１」を格納する。ＯＡＭ制御部２１３は、作成したＯＡＭフレームを、物理ポート２０１−１〜２０１−ｎ（フレーム処理ブロック２０２−１〜２０２−ｎの）のそれぞれに、定期的に送信する。
【０１５１】
スイッチ部２０４は、装置内ヘッダ８０の出力先ＰｏｒＩＤフィールド８０５の値が示す物理ポートに対応するフレーム処理ブロック（フレーム処理ブロック２０１−ｋとする）に、ＳＷ−ＩＦ２０３−ｋを介して、ＯＡＭフレームを転送する。
【０１５２】
転送先フレーム処理ブロック２０１−ｋにおいて、出力ヘッダ解析部２１６は、そのＯＡＭフレームを受信する。出力ヘッダ解析部２１６は、装置内ヘッダ８０のＯＡＭ識別子フィールド８０６を参照する。ＯＡＭフレームのその値は「１」であり、出力ヘッダ解析部２１６は、受信したフレームロス測定用のＯＡＭフレームをＯＡＭ制御部２１３へ転送する。
【０１５３】
ＯＡＭフレームを受信したＯＡＭ制御部２１３は、当該ＯＡＭフレームに格納されているＭＡＣアドレス学習済みフレーム送信数の情報を装置内ヘッダ８０の受信ＰｏｒｔＩＤ（フィールド８０４）毎に記憶し、図１８を参照して後述するフレームロス計算フローに従って、フレームロスの計算を行う。この結果、フレームロス数が予め定められた閾値以上であることが検出されると、ＯＡＭ制御部２１３は、経路制御部２０５へ、対処すべきフレームロスの発生と発生した物理ポートのＩＤを通知する（フレームロス通知）。
【０１５４】
経路制御部２０５は、ＯＡＭ制御部２１３からのフレームロス通知に対応した処理を行う他、物理ポート２０１〜２０１−ｎの障害を監視している。物理ポート２０１−１〜２０１−ｎの何れかで障害が発生した際、ＩＥＥＥ８０２．１ｑまたはＰＶＳＴに即して他の通信装置の経路制御部２０５と経路制御フレームを送受信し、インスタンス（ＶＬＡＮ）毎に経路を再構築する。経路制御部２０５は、経路制御テーブル２１８を更新し、経路変更されたＶＬＡＮについて、ブロッキングされていない（使用可の）物理ポートのＩＤを出力先テーブル２１１へ登録する。
【０１５５】
図１４は、経路制御テーブル２１８の構成例を示す。経路制御テーブル２１８は、ＶＬＡＮＩＤカラム２１８１とブロッキングＰｏｒｔＩＤカラム２１８２を有する。ブロッキングＰｏｒｔＩＤカラム２１８２は、経路ループを防ぐために、経路ループが発生するＰｏｒｔへのフレーム出力を行わないことを示す。
【０１５６】
経路制御テーブル２１８は、それが格納されている通信装置において、各ＶＬＡＮにおいて使用不可の物理ポート（ブロッキングポート）を管理する。経路制御部２０５は、経路再構築によりブロッキングポートが変更されると、その変更により経路制御テーブル２１８のブロッキングＰｏｒｔＩＤカラム２１８２の値を更新する。
【０１５７】
経路制御部２０５は、経路の再構築が完了した際、今回経路を再構築したＶＬＡＮを記憶しておくため、ＶＬＡＮ障害テーブル２２３（図１５参照して後述）を更新する。さらに、経路制御部２０５は、障害が発生した物理ポートのＰｏｒｔＩＤを検索キーとして、ＶＬＡＮテーブル２１９を検索する。
【０１５８】
図１６は、ＶＬＡＮテーブル２１９の構成例を示す。ＶＬＡＮテーブル２１９は、物理ＰｏｒｔＩＤカラム２１９１と、ＶＬＡＮＩＤカラム２１９２を有する。経路制御部２０５は、物理ＰｏｒｔＩＤカラム２１９１において障害を検出した物理ポートのエントリを検索し、障害を検出した物理ポートに関連するＶＬＡＮＩＤの値をＶＬＡＮＩＤカラム２１９２から取得する。経路制御部２０５は、取得したＶＬＡＮＩＤの値に該当するＭＡＣ学習テーブル２０７のエントリを消去する。
【０１５９】
図１５は、ＶＬＡＮ障害テーブル２２３の構成例を示す。ＶＬＡＮ障害テーブル２２３は、各ＶＬＡＮにおける障害を管理する。ＶＬＡＮ障害テーブル２２３は、ＶＬＡＮＩＤカラム２２３１、障害発生有無を示すカラム２２３２、障害カウンタのカラム１１２２を有する。
【０１６０】
各エントリは、ＶＬＡＮＩＤカラム２２３１の各ＩＤと対応して、障害発生有無を示す値（カラム２２３２）、障害発生からの経過時間を示す値（カラム２２３３）を有する。障害発生有無カラム２２３２は、ＶＬＡＮで障害が発生したか否かを示す値を格納する。障害カウンタカラム２２３３は、障害発生時に規定値がセットされ、定期的にカウントダウンされる。
【０１６１】
経路制御部２０５は、経路の再構築が完了した際、該当するＶＬＡＮＩＤ２２３１のエントリの障害発生有無カラム２２３２に「あり」を示す値を、障害カウンタカラム２２３３に規定値（ここでは「１０」）をセットする。
【０１６２】
経路制御部２０５は、定期的にＶＬＡＮ障害テーブル２２３の全エントリを参照し、障害カウンタカラム２２３３の値が「１」以上の場合、その値から「１」を減算し、それを当該エントリに書き戻す。障害カウンタカラム２２３３の値が「０」になると、経路制御部２０５は、当該エントリにおける障害発生有無カラム２２３２に「なし」を示す値を格納する。
【０１６３】
上述のように、経路制御部２０５は、ＯＡＭ制御部２１３からフレームロス通知（ＭＡＣ学習済みフレームのロス数が所定の閾値より多いことを示す通知）を受けると、それに対応した処理を行う。フレームロス通知は、ＭＡＣ学習済みフレームのロスが発生した出力物理ポートのＩＤを伴う。
【０１６４】
経路制御部２０５は、ＶＬＡＮ障害テーブル２２３において、障害が発生しているＶＬＡＮを検索する。具体的には、経路制御部２０５は、障害発生有無カラムの２２３２の値が「あり」を示すエントリを検索する。
【０１６５】
さらに、経路制御部２０５は、出力先テーブル２１１において、ＯＡＭ制御部２１３からフレームロス通知を受けた出力物理ポートを使用するＶＬＡＮを検索する。具体的には、経路制御部２０５は、出力先ＰｏｒｔＩＤカラム２１１２の値が、ＯＡＭ制御部２１３からフレームロス通知とともに受信した物理ポートのＩＤと一致するエントリを検索する。
【０１６６】
経路制御部２０５は、上記ＶＬＡＮ障害テーブル２２３の検索結果と、出力先テーブル２１１の検索結果に共通する、ＶＬＡＮＩＤを特定する。このＶＬＡＮは、障害発生中であり、かつ、フレームロス発生に影響しているＶＬＡＮである。例えば、図２Ａを参照して説明したＶＬＡＮ３０Ａが、このＶＬＡＮに相当する。
【０１６７】
経路制御部２０５は、上記検索により特定されたＶＬＡＮのみの経路を再構築することを決定する。経路制御部２０５は、監視している物理ポート２０１〜２０１−ｎでの障害発生時に行う処理と同様に、特定したＶＬＡＮにおける経路を再構築する。経路制御部２０５は、経路制御テーブル２１８を再構築し、ブロッキングされていない物理ポート２０１のＩＤを出力先テーブル２１１へ登録する。
【０１６８】
以下において、ＯＡＭ制御部２１３の処理を、図１７及び図１８のフローチャートを参照して説明する。ＯＡＭ制御部２１３は、フレームロス測定用のＯＡＭフレームを生成して各フレーム処理ブロックにスイッチ部２０４を介して送信するＯＡＭ送信処理と、スイッチ部２０４を介してＯＡＭフレームを受信して、フレームロス数を計算するＯＡＭ受信処理とを行う。
【０１６９】
図１７は、ＯＡＭ制御部２１３のＯＡＭフレーム送信処理のフローチャート例を示す。ここで、フレーム処理ブロック２０２−ｉのＯＡＭ制御部２１３の処理例を説明する。フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれのＯＡＭ制御部２１３が、このフローに従った処理を行う。
【０１７０】
ＯＡＭ送信処理において、ＯＡＭ制御部２１３は、フレームロス測定試験を開始する。今まで送信した数を保持しているＯＡＭ制御部２１３内の送信ＰｏｒｔＩＤカウンタ値をクリアする（Ｓ３０１）。
【０１７１】
ＯＡＭ制御部２１３が生成するＯＡＭフレームは、図４に示す通信フレームト７０に図５に示す装置内ヘッダ８０を付与されたフォーマットである。ＯＡＭ制御部２１３は、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０５に送信ＰｏｒｔＩＤカウンタ値を格納し（Ｓ３０２）、装置内ヘッダ８０の受信ＰｏｒｔＩＤフィールド８０４に、自物理ポートＩＤ（物理ポート２０１−ｉのＩＤ）を格納し（Ｓ３０３）、ＯＡＭ識別子フィールド８０６に「１」を格納する（Ｓ３０４）。
【０１７２】
次に、ＯＡＭ制御部２１３は、送信ＰｏｒｔＩＤカウンタ値を用いて、送信ＯＡＭテーブル２２１を検索し（Ｓ３０５）、当該カウンタ値のエントリにおけるユーザフレーム送信数カラム２２１２から値を取得し、通信フレーム７０のペイロードフィールド７０５に格納する（Ｓ３０６）。
【０１７３】
ＯＡＭ制御部２１３は、さらに、装置内ヘッダ８０の廃棄優先度フィールド８０３に「０」を格納し（Ｓ３０７）する。これにより、スイッチ部２０４で、ＯＡＭフレームが廃棄されることを避ける。ＯＡＭ制御部２１３は、生成したＯＡＭフレームを、入力フレームバッファ２１２に出力する（Ｓ３０８）。
【０１７４】
ＯＡＭ制御部２１３は、送信ＰｏｒｔＩＤカウンタ値が、Ｍａｘ値（本通信装置が有する全ポート数）に達しているか判定する。送信ＰｏｒｔＩＤカウンタ値が、Ｍａｘ値に達していなければ（Ｓ３０９：Ｎ）、ＯＡＭ制御部２１３は、送信ＰｏｒｔＩＤカウンタ値に「１」加算し（Ｓ３１０）、再度ＯＡＭフレームを生成して処理を継続する。送信カウンタ値がＭａｘの場合は（Ｓ３０９：Ｙ）、ＯＡＭ制御部２１３は、試験を終了する。
【０１７５】
図１８は、ＯＡＭ制御部２１３の受信処理フローチャートを示す。ここで、フレーム処理ブロック２０２−ｋのＯＡＭ制御部２１３の処理例を説明する。フレーム処理ブロック２０２−１〜２０２−ｎのそれぞれのＯＡＭ制御部２１３が、このフローに従った処理を行う。
【０１７６】
ＯＡＭ制御部２１３は、フレームを受信すると、装置内ヘッダ８０のＯＡＭ識別子フィールド８０６の値が「１」であるかどうかを判定する（４０１）。ＯＡＭ識別子フィールド８０６の値が「１」である場合（Ｓ４０１：Ｙ）、そのフレームはＯＡＭフレームである。
【０１７７】
ＯＡＭ制御部２１３は、装置内ヘッダ８０の受信ＰｏｒｔＩＤフィールド８０４の値を検索キーに、受信ＯＡＭテーブル２２０を検索し、当該エントリの前回のユーザフレーム送信数カラム２２０３の値とユーザフレーム受信数カラム２２０２の値を取得する（Ｓ４０２）。ここでは、受信したフレームの受信ＰｏｒｔＩＤフィールド８０４の値は、物理ポート２０１−ｉを示すとする。
【０１７８】
ＯＡＭ制御部２１３は、ＯＡＭフレームのペイロードフィールド７０５内に格納されているフレーム送信数の値から、前回のユーザフレーム数カラム２２０３の値を減算する。この計算結果は、前回のＯＡＭフレームを受信してから今回のＯＡＭフレームを受信するまでの間に、フレーム処理ブロック２０２−ｉからフレーム処理ブロック２０２−ｋに向けて送信された、ＭＡＣ学習済みフレームの数を示す。
【０１７９】
さらに、ＯＡＭ制御部２１３は、このようにして算出されたＭＡＣ学習済みフレーム送信数から、ユーザフレーム受信数カラム２２０２の値を減算する。ユーザフレーム受信数カラム２２０２の値は、フレーム処理ブロック２０２−ｋのＯＡＭ制御部２１３が、フレーム処理ブロック２０２−ｉからの前回ＯＡＭフレームの受信の後、スイッチ部２０４から受信した、フレーム処理ブロック２０２−ｉからのＭＡＣ学習済みフレームの数を示す。
【０１８０】
従って、減算の結果は、前回ＯＡＭフレームの受信の後における、フレーム処理ブロック２０２−ｉからフレーム処理ブロック２０２−ｋへのＭＡＣ学習済みフレームのスイッチ部２０４による廃棄数（フレームロス数）を示す。ＯＡＭ制御部２１３は、この算出した値を保持する（Ｓ４０３）。
【０１８１】
次に、ＯＡＭ制御部２１３は、今回計算して保持したフレームロス数を、受信ＯＡＭテーブル２２０における当該エントリのフレームロス数カラム２２０４の値に加算し、その和を、当該エントリのフレームロス数カラム２２０４に上書きする（Ｓ４０４、Ｓ４０５）。
【０１８２】
ＯＡＭ制御部２１３は、さらに、受信したＯＡＭフレームのペイロードフィールド７０５内に格納されているユーザフレーム送信数カラム２２１２（送信ＯＡＭテーブル２２１）の値を、受信ＯＡＭテーブル２２０における当該エントリの前回のユーザフレーム送信数カラム２２０３に上書きし、ユーザフレー受信数カラム２２０２に「０」を上書きする（Ｓ４０４、Ｓ４０５）。
【０１８３】
一方、ステップＳ４０１において受信したフレームの装置内ヘッダ８０のＯＡＭ識別子フィールド８０６の値が「０」の場合（Ｓ４０１：Ｎ）、ＯＡＭ制御部２１３は、ＭＡＣ未学習識別子フィールド８０２の値が「０」であるかどうかをチェックする（Ｓ４０６）。その値が「０」の場合（Ｓ４０６：Ｙ）、ＯＡＭ制御部２１３は、装置内ヘッダ８０の出力先ＰｏｒｔＩＤフィールド８０４の値を検索キーとして、受信ＯＡＭテーブル２２０を検索し、当該エントリのユーザフレーム受信数カラム２２０２の値を取得する（Ｓ４０７）。
【０１８４】
ＯＡＭ制御部２１３は、取得したユーザフレーム受信数の値に「１」を加算して、検索したエントリのユーザフレーム受信数カラム２２０２に書き戻す（Ｓ４０８、Ｓ４０５）。ステップＳ４０６において受信したユーザフレームの装置内ヘッダ８０のＭＡＣ未学習識別子が「１」の場合（Ｓ４０６：Ｎ）、ＯＡＭ制御部２１３は処理を終了する。
【０１８５】
本実施例によれば、フラッディングに高い廃棄優先度が付されるため、一つの物理ポートを複数のＶＬＡＮで共有する場合に、あるＶＬＡＮの障害により発生したフラッディングが、障害に無関係な他のＶＬＡＮの帯域を圧迫することなく経路の再構築が可能となる。これにより、ネットワークの共用による低コスト化と、耐障害性の向上や帯域の安定利用が可能となる。本例は、廃棄優先度によりＭＡＣ未学習フレームの廃棄を制御し、帯域監視（ポリサ）による転送制御を行う通信装置において、フラッディングが、障害に無関係な他のＶＬＡＮの帯域を圧迫することを防ぐことができる。
【０１８６】
さらに、本例は、障害が発生したＶＬＡＮにおいて再構築された経路が、障害に無関係な他のＶＬＡＮの帯域を圧迫し、規定レベル以上のフレームロスが発生する場合、再構築された経路を変更することで、障害発生により再構築された経路のトラフィックにより、障害に無関係な他のＶＬＡＮの経路のトラフィックが受ける悪影響を低減できる。再構築された経路を変更し、既存の経路を維持することで、より確実に輻湊を防止できる。
【実施例２】
【０１８７】
図１９は、実施例２における通信装置２０００のブロック構成を示す。通信装置２０００は、実施例１の通信装置２０と異なり、帯域監視（ポリサ）ではなく、帯域制御（シェーパ）を行う。通信装置２０００は、帯域制御部２０８０、帯域制御テーブル２０９０を有する。スイッチ部２０４０は、実施例１のスイッチ部２０４と異なる。スイッチ部２０４０は、廃棄優先度ではなく、転送優先度によってフレーム転送を制御する。通信装置２０００のその他の構成要素は、実施例１における通信装置２０と同様である。
【０１８８】
図２０は、本実施例における装置内ヘッダ８００のフォーマット例を示す。装置内ヘッダ８００のフォーマットは、実施例１の装置内ヘッダ８０と比較して、廃棄優先度８０７が転送優先度８０３０に変更されている。その他のフィールドは同じである。
【０１８９】
帯域制御部２０８０は、入力ヘッダ解析部２０６から入力フレームを受信すると、装置内ヘッダ８００のＭＡＣ未学習識別子フィールド８０２を参照する。ＭＡＣ未学習識別子フィールド８０２の値が「１」の場合、帯域制御部２０８０は、帯域制御を省略して、装置内ヘッダ８００の転送優先度フィールド８０７に低い転送優先を示す値として「０」を格納し、出力先決定部２１０へ転送する。
【０１９０】
一方、ＭＡＣ未学習識別子フィールド８０２の値が「０」の場合、帯域制御部２０８０は、装置内ヘッダ８００のコネクションＩＤフィールド８０１の値を用いて、帯域制御テーブル２０９０を検索し、ＶＬＡＮ毎の帯域制御を行う。ここで、帯域制御テーブル２０９０の内容は帯域監視テーブル２０９と同様であり、その名称のみが帯域監視テーブル２０９と異なる。
【０１９１】
帯域制御テーブル２０９０を検索した結果、一致するＶＬＡＮＩＤの値（カラム２０９１）を有するエントリがあった場合、帯域制御部２０８０は、帯域計算を行い、設定帯域カラム２０９２の値と一致するように、出力帯域を制御する。その際、装置内ヘッダ８００の転送優先度８０３０及びＶＬＡＮタグ７０３の優先度フィールド７０３３に高い転送優先度を示す「１」を格納する又は低い転送優先度を示す「０」を格納する。
【０１９２】
一方、帯域制御テーブル２０９０を検索した結果、一致するＶＬＡＮＩＤの値（カラム２０９１）を有するエントリがなかった場合、帯域制御部２０８０は、優先度フィールド７０３３の値を、装置内ヘッダ８０の転送優先度フィールド８０３０にコピーする。
【０１９３】
これは、ネットワークのエッジであるユーザ端末と接続されている通信装置のみにオペレータが帯域制御テーブル２０９０のエントリを設定し、帯域制御テーブル２０９０の情報が他の通信装置に転送されていないことがあるため、エントリが設定されていない通信装置では、ＶＬＡＮタグ７０３の優先度７０３３に廃棄優先度を付与し、ネットワーク内で転送するための処理である。
【０１９４】
図２１は、スイッチ部２０４０の構成例を示す。スイッチ部２０４０は、受信フレームの振り分けを行うクラシファイア２０４１と、転送する優先度の高い受信フレームを一時的に保存する高優先キュー２０４０２−１〜２０４０２−ｎと、転送する優先度の低い受信フレームを一時的に保存する低優先キュー２０４０７−１〜２０４０７−ｎと、上記二種類のキューのどちらからフレームを読み出すかを決定する読み出し制御部２０４０８−１〜２０４０８−ｎとを含む。例えば、スイッチ部２０４０は、ＳＦ−ＩＦ２０３−１〜２０３−ｎのそれぞれに対して、図２１に示す構成を有する。
【０１９５】
キューに対してフレームを格納することができる最大数（閾値）が設定されており、キューの格納フレーム数が最大数に達している場合、そのキューに新たなフレームは格納されずに廃棄される。最大数の値は全てのキューに共通又は異なる。
【０１９６】
図２１において、キュー２０４０２−１、２０４０２−ｎ、２０４０７−１、２０４０７−ｎ内の矩形はフレームを示し、「Ｈ」は高い転送優先度を示し、「Ｌ」は低い転送優先度を示す。
【０１９７】
フレーム２４０１−１、２４０１−ｎは、それぞれ、高優先キュー２０４０２−１、２０４０２−ｎに格納されるフレームである。フレーム２４０３−１、２４０３−ｎは、それぞれ、高優先キュー２０４０２−１、２０４０２−ｎから読みだされたフレームである。フレーム２４０４−１、２４０４−ｎは、それぞれ、低優先キュー２０４０７−１、２０４０７−ｎに格納されるフレームである。フレーム２４０５−１、２４０５−ｎは、それぞれ、低優先キュー２０４０７−１、２０４０７−ｎから読みだされたフレームである。
【０１９８】
クラシファイア２０４１は、スイッチ部２０４０に入力したフレームを取得すると、装置内ヘッダ８００の出力先ＰｏｒｔＩＤフィールド８０５の値及び転送優先度フィールド８０３０の値に応じて、そのフレームを格納するキューを決定し、当該キューにそのフレームを格納する。
【０１９９】
転送優先度フィールド８０３０の値が「０」の場合、クラシファイア２０４１は、低優先キューに受信フレームを格納する。転送優先度フィールド８０３０の値が「１」の場合、クラシファイア２０４１は、高優先キューに受信フレームを格納する。
【０２００】
装置内ヘッダ８００のＭＡＣ未学習識別子フィールド８０２の値が「０」の場合、装置内ヘッダ８００の出力先ＰｏｒｔＩＤフィールド８０５には一つ値のみ記載されているため、格納先のキューも一つだけである。一方、ＭＡＣ未学習識別子フィールド８０２の値が「１」の場合は、出力先ＰｏｒｔＩＤフィールド８０５に一つ以上の値が記載されているため、格納先のキューも一つ以上である。
【０２０１】
読み出し制御部２０４０８−ｉ（ｉは１〜ｎのいずれかの整数）は、高優先キュー２０４０２−ｉに受信フレームが格納されている場合は、低優先キュー２０４０７−ｉよりも、高優先キュー２０４０２−ｉから先に（優先的に）格納されているフレームを読み出し、出力する。
【０２０２】
一方、高優先キュー２０４０２−ｉにフレームが格納されていない場合のみ、読み出し制御部２０４０８−ｉは、低優先キュー２０４０７−ｉから格納されているフレームを読み出し、出力する。これにより、輻輳発生時に転送優先度の低いＭＡＣ未学習フレームよりも転送優先度の高いＭＡＣ学習済みフレームが優先的に転送されるため、ＭＡＣ学習済みフレームの廃棄を防止できる。
【０２０３】
図２２は、ＯＡＭ制御部２１３のＯＡＭフレーム送信処理のフローチャート例を示す。本フローチャートは、図１７のフローチャートと比較して、Ｓ３０７０において、装置内ヘッダ８０の廃棄優先度フィールド８０３ではなく、転送優先度フィールド８０３０に「１」を格納する点のみが異なり、その他は同様である。
【０２０４】
本実施例によれば、シェーパにより帯域制御を行う通信装置において、一つの物理ポートを複数のＶＬＡＮで共有する場合に、あるＶＬＡＮの障害により発生したフラッディングが、障害に無関係な他のＶＬＡＮの帯域を圧迫することなく経路の再構築が可能となる。さらに、障害が発生したＶＬＡＮにおいて再構築された経路が、障害に無関係な他のＶＬＡＮの帯域を圧迫し、規定レベル以上のフレームロスが発生する場合、再構築された経路を変更することで、障害発生により再構築された経路のトラフィックにより、障害に無関係な他のＶＬＡＮの経路のトラフィックが受ける悪影響を低減できる。
【０２０５】
以上、本発明の実施形態を説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換、削除することが可能である。ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２０６】
上記実施例は、ＶＬＡＮにおいて再構築した経路が輻湊を引き起こした場合、そのＶＬＡＮにおいて、新たな経路を再構築する機能を有するが、上記例におけるＭＡＣ未学習フレームの廃棄制御機能と新たな経路の再構築機能が、通信装置に同時に実装されていなくともよい。
【０２０７】
実施例１及び実施例２は、それぞれ、廃棄優先度と転送優先度を使用してフレームの廃棄を制御するが、これら優先度は、共に、フレーム廃棄における優先度（廃棄されやすさ）を示すものであって、廃棄における優先度の表し方が異なる。
【０２０８】
上記実施例は、高優先度と低優先度の二つの優先度レベルを使用するが、三つ以上の優先度レベルが利用されてもよい。例えば、実施例１において、キューに対して二つの閾値が設定される。格納フレーム数が第１閾値に達しているが、第１閾値より大きい第２閾値に達していない場合、高廃棄優先度レベルのフレームが廃棄される。格納フレーム数が第２閾値に達している場合、高廃棄優先度レベル及び中廃棄優先度レベルのフレームが廃棄される。
【０２０９】
例えば、ＭＡＣ未学習フレームには高廃棄優先度レベルが付与され、ＭＡＣ学習済みフレームには、三つの廃棄優先度レベルのいずれかが付与される。若しくは、ＭＡＣ未学習フレームに高廃棄優先度レベルが付与され、ＭＡＣ学習済みフレームには、中廃棄優先度レベル又は低廃棄優先度のいずれかが付与される。実施例２は、優先度レベルのそれぞれに対応するキューを使用することができる。
【０２１０】
上記実施例におけるスイッチ部は、ＦＩＦＯのキューを使用して、フレーム廃棄及び出力ポートへのフレーム転送を実行するが、スイッチ部は、これと異なる入出力方法のバッファ制御を行ってもよい。
【０２１１】
上記二つの実施例は、ＭＡＣ学習済みフレームの帯域制御を行うが、本実施形態のフレーム廃棄制御は、帯域制御とは別に使用することができる。ＭＡＣ学習済みフレームの帯域制御を行わない場合、例えば、全ＭＡＣ学習済みフレームに、ＭＡＣ未学習フレームのよりも低い廃棄優先度（高い転送優先度）が付与される。
【０２１２】
上記二つの実施例は、ＶＬＡＮにおけるＭＡＣアドレスによるデータフレームの転送制御を行うが、本発明のデータ転送制御は、これと異なる種類のネットワーク、異なるレイヤ、又は異なるプロトコルのデータユニットの転送制御に適用することができる。
【０２１３】
通信装置における構成要素は、プロセッサ上で稼動するソフトウェアで実装してもよいし、専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装してもよい。上記実施例の各構成要素の動作は一例であって、いずれの処理をいずれの構成要素が実行するかは、通信装置の設計に依存する。上記例は、スイッチ部によるバッファ制御において、フレームを廃棄するが、これと異なる構成要素がこれと異なる方法でフレーム廃棄を行ってもよい。
【符号の説明】
【０２１４】
２０Ａ〜２０Ｉ  通信装置
７０  通信フレーム
８０  装置内部ヘッダ
２００  転送制御部
２０１−１〜２０１−ｎ  物理ポート
２０２−１〜２０２−ｎ  フレーム処理ブロック
２０４  スイッチ部
２０５  経路制御部
２０６  入力ヘッダ解析部
２０７  ＭＡＣ学習テーブル
２０８  帯域監視部
２０９  帯域監視テーブル
２１０  出力先決定部
２１１  出力先テーブル
２１３  ＯＡＭ制御部
２１５  出力ヘッダ解析部
２１８  経路制御テーブル
２１９  ＶＬＡＮテーブル
２２０  送信ＯＡＭテーブル
２２１  受信ＯＡＭテーブル
２２３  ＶＬＡＮ障害テーブル
８００  装置内部ヘッダ
２０４０  スイッチ部
２０８０  帯域制御部
２０９０  帯域制御テーブル
【図１】
2014017639.tif 000003
【図２Ａ】
2014017639.tif 000004
【図２Ｂ】
2014017639.tif 000005
【図３】
2014017639.tif 000006
【図４】
2014017639.tif 000007
【図５】
2014017639.tif 000008
【図６】
2014017639.tif 000009
【図７】
2014017639.tif 000010
【図８】
2014017639.tif 000011
【図９】
2014017639.tif 000012
【図１０】
2014017639.tif 000013
【図１１】
2014017639.tif 000014
【図１２】
2014017639.tif 000015
【図１３】
2014017639.tif 000016
【図１４】
2014017639.tif 000017
【図１５】
2014017639.tif 000018
【図１６】
2014017639.tif 000019
【図１７】
2014017639.tif 000020
【図１８】
2014017639.tif 000021
【図１９】
2014017639.tif 000022
【図２０】
2014017639.tif 000023
【図２１】
2014017639.tif 000024
【図２２】
2014017639.tif 000025