JP2014017639A - 通信装置及び通信装置においてデータユニットの転送を制御する方法 - Google Patents

通信装置及び通信装置においてデータユニットの転送を制御する方法 Download PDF

Info

Publication number
JP2014017639A
JP2014017639A JP2012153220A JP2012153220A JP2014017639A JP 2014017639 A JP2014017639 A JP 2014017639A JP 2012153220 A JP2012153220 A JP 2012153220A JP 2012153220 A JP2012153220 A JP 2012153220A JP 2014017639 A JP2014017639 A JP 2014017639A
Authority
JP
Japan
Prior art keywords
frame
data unit
address
unit
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012153220A
Other languages
English (en)
Inventor
Yukihide Hashimoto
幸英 橋本
Hideki Endo
英樹 遠藤
Katsuyoshi Suzuki
克剛 鈴木
Masahiko Mizutani
昌彦 水谷
Takayuki Sugano
隆行 菅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012153220A priority Critical patent/JP2014017639A/ja
Publication of JP2014017639A publication Critical patent/JP2014017639A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ネットワークにおけるアドレス未学習データユニットの転送が、他のネットワークのアドレス学習済みデータユニットの転送帯域に与える影響を低減する。
【解決手段】一例の通信装置は、受信したデータユニット(70)の宛先アドレスを、アドレス学習情報(207)において検索して、上記ユニットがアドレス学習済みか否かを判定し、アドレス未学習ユニットに第1優先度レベルを付与し、アドレス学習済みユニットに第2優先度レベルを含む1以上の優先度レベルから優先度レベルを付与し、第1優先度レベルのユニットを第2優先度レベルのユニットよりも優先的に廃棄し、アドレス学習済みユニットをアドレス学習情報が示す出力ポートに転送し、アドレス未学習ユニットを、複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報(211)が示す出力ポートに転送する。
【選択図】図2A

Description

本発明は、データユニットを転送する通信装置及びその通信装置においてデータユニットの転送を制御する方法に関し、特に、データユニットの宛先アドレスの出力ポートを学習する通信装置におけるデータユニットの転送制御に関する。
官庁をはじめ、銀行や証券会社などのミッションクリティカルな業務のために専用線サービスが利用されてきた。ミッションクリティカルな業務に利用される専用線サービスは、通信帯域が100%保証されており、年間の不稼働時間が数分程度に相当する99.999%の可用性が求められる。
99.999%の可用性を実現するために、従来から、通信経路の疎通を確認する方法として、通信経路の端点のポートから定期的に監視フレームを送信し、対向ポートでその監視フレームを受信して経路の接続状態を監視する方法や、通信経路の輻輳によるフレームロスを測定する為にフレームロス測定フレームを通信装置間で送受信して輻輳によるフレームロスを測定する方法が、広く使用されている。
例えば、イーサネットワーク(イーサネットは登録商標)では、イーサネットOAM(Operations Administration And Maintenance)が使用されている。また、イーサネットOAMは、標準化団体ITU−T(International Telecommunication Union Telecommunication Standardization)及びIEEE(Institute of Electrical and Electronics Engineers,Inc.)において議論されており、ITU−T勧告Y.1731やIEEE802.1agによって規定されている。
一方、企業活動のIT化に伴い、ミッションクリティカル以外の一般業務においても、通信サービスを利用した効率化が急速に拡大している。一般業務向けには、主に、広域イーサネットサービスが利用され、例えば地理的に離れた企業の本社と支社間を通信するために用いられる。一般業務の広域イーサネットサービスについて、専用線と同様に、契約帯域と可用性に関するSLA(Service Level Agreement)が結ばれる。しかし、専用線とは異なり、一般業務の広域イーサネットサービスは、一般業務向けであるが故に、低価格であることが不可欠である。
このため、通信帯域を100%保証するほどの過剰なプロビジョニングは必要ではなく、廃棄率を一定以下に抑えることができればよい。また、契約における可用性も99.999%ではなく、一日当たり数分程度の通信断を許容する99%程度が一般的である。
通信事業者は、上記の要求を満たすため、L2スイッチなどの安価な通信装置を用いて、広域イーサネットサービス向けのネットワークを構築している。通信サービスに求められる様々なサービス品質を保証するために個々の通信装置内部で求められる処理、及び複数の通信装置が連携して実現すべき処理の枠組みが確立されており、それぞれ以下のようにまとめられる。
まず、ユーザごとに、廃棄率を所定値以下に抑え、契約帯域を補償するため、通信装置は、ポリシングと呼ばれるフレーム識別処理によりユーザ毎に帯域利用状況を監視し、ユーザの通信量がその契約帯域を超過する場合には、超過分のフレームを廃棄する。又は、通信装置は、シェーピングと呼ばれるフレーム送出量制御機能を用いて、各ユーザの使用帯域を契約帯域以内に制限する処理を行い、ネットワーク内の輻輳を防止する。
99%の可用性を実現するため、通信装置は、障害時でも正常経路を検索し再構築するIEEE802.1dで規定されるSTP(Spanning Tree Protocol)機能、MAC(Media Access Control)アドレスの学習機能(MAC学習機能とも呼ぶ)、イーサOAM等を利用する。
MAC学習機能は、STPにより構築された経路上のユーザに受信フレームを転送するため、全ポートにブロードキャストする。これが、フラッディングである。すべての通信装置が、受信フレームをフラッディングすることにより、構築された全経路にフレームが行き渡るため、結果的にフレームを目的のユーザまで転送することが可能となる。
特開2008−160467号公報(特許文献1)は、フラッディング発生時に通信を早期に安定化させるため、MAC DAがFDBに登録されていないフレーム(以下、MAC未学習フレームとも呼ぶ)を受信した場合には、当該フレームをその他のフレームよりも優先的に処理し、転送する方法を開示する。これより、フラッディングフレームが優先的に転送され、目的のノードと素早く通信が確立される。この結果、経路の学習が早くなりフラッディングが早期に解消される。
特開2008−160467号公報
フラッディングによる通信品質の低下を抑える方法として、ポートベースVLAN(Virtual Local Area Network)によってブロードキャスト範囲を限定する方法が考えられる。ポートベースVLANは、通信装置が有する複数ポートをいくつかのグループに分けて、フラッディングの範囲となるブロードキャストドメインを分離することができる。
これにより、フラッディングの影響範囲を限定でき、他のVLANへの通信トラフィックへの影響を無くすことができる。しかし、物理ポート毎にVLANを構築してしまう本方法であると、物理ポートを一つのユーザが占有することになるため、ネットワークコストが割高となる。このため、複数ユーザを収容することが前提の広域イーサネットサービスには不向きである。
IEEE802.1qは、VLANタグと呼ばれるヘッダを用いて物理ポートに複数のVLANを収容するタグベースVLANを可能とする。通信装置は、フレームに付与されるVLANタグに従って当該フレームを転送することにより、一つの物理ポートに複数のVLANを構築できる。
しかし、この例のように、複数のネットワーク(上記例においてVLAN)が物理ポートを共有する構成において、あるネットワーク内の通信装置の障害によるフラッディングが、他のネットワークのトラフィックに影響を与える。つまり、あるネットワーク内の障害によるフラッディングフレームは、当該ネットワーク内の他の通信装置に転送される過程で、一部分が重なっている他のネットワーク内のアドレス学習済みフレームの帯域を圧迫する。その影響が大きいと、輻湊により他のネットワークのアドレス学習済みフレームのフレームロスが発生してしまう。
特許文献1に開示の手法は、フラッディングを早期に収束させるには効果があるが、フラッディングフレームを優先して転送するため、一部分が重なっている他のVLANのアドレス学習済みフレームにおいて、より多くのアドレス学習済みフレームを廃棄することになる。
本発明の一態様は、複数ネットワークにおけるデータユニットを転送する通信装置であって、複数ポートと、前記複数ポートの間において、前記複数ネットワークのデータユニットの転送制御を行う転送制御部と、を含み、前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、前記転送制御部は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、前記転送制御部は、受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、前記転送制御部は、アドレス未学習データユニットに第1優先度レベルを付与し、前記転送制御部は、アドレス学習済みデータユニットに、第2優先度レベルを含む1以上の優先度レベルから優先度レベルを付与し、前記転送制御部は、前記第1優先度レベルのデータユニットを、前記第2優先度レベルのデータユニットよりも優先的に廃棄し、前記転送制御部は、廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、前記転送制御部は、廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する。
本発明の一態様によれば、物理ポートを複数のネットワークで共有する通信装置において、あるネットワークにおいて発生したアドレス未学習データユニットの転送が、他のネットワークのアドレス学習済みデータユニットの転送帯域に与える影響を低減することができる。
実施例1における通信ネットワークの一例を示す図。 実施例1において、通信ネットワークの障害発生時の動作例を示す図。 実施例1において、通信ネットワークの経路再構築の動作例を示す図。 実施例1における通信装置間において使用される通信フレームフォーマットの例を示す図。 実施例1における通信装置の構成例を示すブロック図。 実施例1における通信フレームフォーマットに付与される装置内ヘッダフォーマットの例を示す図。 実施例1における入力ヘッダ解析部の解析処理のフローチャートの例。 実施例1における通信装置内のMAC学習テーブルの構成例を示す図。 実施例1における帯域監視処理部の帯域監視(帯域制御)処理のフローチャートの例。 実施例1における通信装置内の帯域監視テーブルの構成例を示す図。 実施例1における通信装置内の出力先テーブルの構成例を示す図。 実施例1における通信装置内のスイッチ部の構成例を示す図。 実施例1における通信装置内の送信OAMテーブルの構成例を示す図。 実施例1における通信装置内の受信OAMテーブルの構成例を示す図。 実施例1における通信装置内の経路制御テーブルの構成例を示す図。 実施例1における通信装置内のVLAN障害テーブルの構成例を示す図。 実施例1における通信装置内のVLANテーブルの構成例を示す図。 実施例1におけるOAM制御部の送信処理のフローチャートの例。 実施例1におけるOAM制御部の受信処理のフローチャートの例。 実施例2における通信装置の構成例を示すブロック図。 実施例2における装置内ヘッダフォーマットの例を示す図。 実施例2における通信装置内のスイッチ部の構成例を示す図。 実施例2におけるOAM制御部の送信フローチャートの例。
以下、添付図面を参照して本発明の実施形態について説明する。以下の説明及び添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
図1は、本実施例の通信システムを模式的に示すブロック図である。通信システムは、複数の通信装置20A〜20I及び複数のユーザ端末TE−1〜TE−4を含む。通信システムに含まれる通信装置及びユーザ端末の数は、通信システムに依存して変化する。
通信装置20A〜20Iは、それぞれ、複数のポートを有する。図1の例において、通信装置20A〜20Iのそれぞれの四つのポートが図示されている。通信装置20Aは、ポート201A−1〜201A−4を有し、通信装置20Bは、ポート201B−1〜201B−4を有し、通信装置20Cは、ポート201C−1〜201C−4を有する。
通信装置20Dは、ポート201D−1〜201D−4を有し、通信装置20Eは、ポート201E−1〜201E−4を有し、通信装置20Fは、ポート201F−1〜201F−4を有し、通信装置20Gは、ポート201G−1〜201G−4を有し、通信装置20Hは、ポート201H−1〜201H−4を有し、通信装置20Iは、ポート201I−1〜201I−4を有する。各通信装置のポート数は、その設計により変化する。
通信装置20A〜20Iは、それぞれ、ポートによって対向装置と接続する。本例において、対向装置は、通信装置又はユーザ端末である。通信装置20A〜20Iは、それぞれ、他の通信装置と、入出力回線50−1〜50−12のいずれかにより、通信可能に接続されている。通信装置のいずれかのポートが、入出力回線に接続している。ユーザ端末TE−1〜TE−4は、それぞれ、通信装置20A、通信装置20G、20C、通信装置20Iと、入出力回線55−1〜55−4を介して接続している。
本通信システムにおいて、VLAN(Virtual Local Area Network)タグを用いて構成されるVLANが、複数の通信装置にまたがって設定されている。本通信システムは、VLANタグ(ヘッダ)を用いて物理ポートに複数のVLANを収容するタグベースVLANを使用する。
タグベースVLANは、例えば、IEEE802.1qに規定されている。通信装置は、フレームに付与されるVLANタグに従って当該フレームを転送することにより、一つの物理ポートに複数のVLANを構築できる。
VLANタグを用いる方法は、物理的な構成を意識することなくVLANが構成可能である。これにより、VLANの一部分を重ね合わせ、通信装置のポートを複数のVLAN、つまりユーザが共有することが可能となる。従って、ネットワークに収容できるユーザ数が増加し、低コスト化が可能となる。
このタグベースVLAN上での経路構築のためには、例えば、IEEE802.1qで規定されるMST(Multi Spanning Tree)やPVST(Per VLAN Spanning Tree)が用いられる。MSTやPVSTは、VLAN毎にSTP(Spanning Tree Protocol)の制御を行うインスタンスを設け、インスタンス(VLAN)毎にスパニングツリーの制御を行うことで、一つの物理ポートに多重されたVLANの経路の構築、及び障害時の経路の再構築を行うことができる。
STPは、イーサネットにおいて経路ループを防止するため、一部の経路をブロックする技術である。障害によって既定の通信経路が利用不能になった場合には、通信装置はSTPによってブロックしていた経路を開放し、通信経路を再構築することで通信を継続することが可能である。
さらに、インスタンス(VLAN)毎に、MAC(Media Access Control)アドレス学習機能が配備され、障害時の再学習も実施される。MACアドレス学習機能は、STPにより構築された経路上のユーザに受信フレームを転送するため、VLANに割り当てられている全ポートにブロードキャストする(フラッディング)。
VLAN内の全ての通信装置が、受信フレームをフラッディングすることにより、構築された全経路にフレームが行き渡るため、結果的にフレームを目的のユーザまで転送することが可能となる。VLAN毎にブロードキャストドメインが分離できるため、各VLAN間でのフラッディングの影響も軽減することが可能である。
フラッディングは宛先以外の経路にもフレームを送出してしまうため、ネットワーク内部に不要なトラフィックが発生する。MACアドレス学習機能は、通信装置の記憶領域(アドレス学習テーブル)内に、受信したイーサネットフレームに含まれる送信元MACアドレスと当該フレームを受信したポートの識別子(PortID)を関連付けて記憶する。
MACアドレス学習機能は、フレームを転送する際に、当該フレームに含まれる宛先MACアドレスが登録済のMACアドレスと一致する場合は、該フレームを、登録されている特定の出力ポートにのみ転送する。これによりネットワーク内に不必要な信号が発生することを抑止できる。
図1の例において、二つのVLAN30A、30Bが構成されている。VLAN30Aの構成要素の通信装置は、通信装置20D、20G以外の通信装置である、VLAN30Bの構成要素の通信装置は、通信装置20G〜20Hである。図1は、通信装置20A〜20Iによるユーザ端末TE−1〜TE−4のMACアドレスの学習が完了し、VLAN30A、30B内のユーザ端末同士の通信データが、フラッディングされることなく転送されている状態を示す。
例えば、VLAN30Aに接続されているユーザ端末TE−1とユーザ端末TE−3と間の通信トラフィック30A−1は、通信装置20A、20B、20Cのみを経由し、他の通信装置に転送されることはない。また、VLAN30Bに接続されているユーザ端末TE−2とユーザ端末TE−4と間の通信トラフィック30B−1は、通信装置20G〜20Iを経由する。
本実施例は、MACアドレス学習済みの通信トラフィック(MAC学習済み通信トラフィックとも呼ぶ)のフレーム廃棄率を小さい範囲内に抑えるため、ユーザ端末TE−1〜TE−4のそれぞれと接続されているエッジ通信装置20A、20C、20G、20I(ユーザ端末の対向通信装置)において、VLAN毎に、トラフィックの帯域制御を行う。
通信装置20A、20C、20G、20Iのそれぞれは、VLAN毎に通過MAC学習済みフレームの帯域を監視する。通過フレームの帯域がそのVLANに設定された帯域未満であれば、通信装置20A、20C、20G、20Iは、そのVLANの送信フレームに低い廃棄優先度を付与する。通過MAC学習済みフレームの帯域がそのVLANに設定された帯域以上である場合、通信装置20A、20C、20G、20Iは、そのVLANの送信フレームに高い廃棄優先度を付与する。
オペレータは、各VLANの設定帯域の値を、システム全体として目標とする廃棄率から決定し、その値を、通信装置20A、20C、20G、20Iのうちの各VLANに含まれる通信装置のそれぞれに設定する。
ここで、VLAN30A、30Bのそれぞれの設定帯域は、通信回線50−1〜50−12のそれぞれの容量を超えることはないが、VLAN30Aの設定帯域とVLAN30Bの設定帯域とを加算すると、その合計が、通信回線50−1〜50−12のそれぞれの容量を超えるとする。
これは、ユーザ端末TE−1とユーザ端末TE−2との間のトラフィック30A−1は、ユーザ端末TE−3とTE−4間のトラフィック30B−1と競合すると輻輳が発生し、フレームの廃棄が発生する可能性があることを意味している。
図2Aは、図1の正常状態において入出力回線50−2で障害(切断)が発生し(P100)、その障害が発生した際に通信装置がフラッディングする経過と、その結果、輻輳が発生するメカニズムを示す。図2Aでは、入出力回線50−2が切断された結果、通信装置20B又は20Cは、障害が発生したことを、同じVLAN30A内の他の通信装置に通知するため、経路制御フレームを送信する。
この経路制御フレームを受信した各通信装置は、VLAN30Aの経路情報を更新し、この障害により影響を受けるVLAN30Aの学習済みMACアドレスを全て削除する。各通信装置は、更新した結果を、VLAN30A内の他の通信装置へ転送する。これにより、VLAN30Aの各通信装置は、VLAN30A内の全ての経路情報と学習済みMACアドレスを削除する。
このように、既定の通信経路に障害が発生した場合、STPにより経路を再構築するため、登録されているMACアドレス及び受信ポート(転送先ポート)の情報が消去される。これにより、通信装置が、受信する全フレームについて転送先出力ポートを特定できなくなり、アドレス学習のためのフラッディングが発生する。
VLAN30Aの各通信装置は、VLAN30Aにおいて経路の再構築があった旨を記憶しておき、MACアドレス未学習フレーム(MAC未学習フレームとも呼ぶ)であるフラッディングフレームには高い廃棄優先度を付与する。この点については、後に詳述する。
VLAN30Aの通信トラフィック301A−1のフレームは、全てフラッディングされる。図2Aにおいて、通信トラフィック301A−2、301A−3は、フラッディングされたフレームによる通信トラフィックである。これらは、MACアドレス未学習通信トラフィック(MAC未学習通信トラフィックとも呼ぶ)である。
フラッディングフレームの通信トラフィック301A−2は、本障害に関係のないVLAN30BのMAC学習済み通信トラフィック301B−1と競合し、入出力回線52−12において、輻輳が発生する。
しかし、本例においては、フラッディングフレームに、MACアドレス学習済みフレーム(MAC学習済みフレームとも呼ぶ)に付与されうる最も高い廃棄優先度が設定される。
そのため、MAC学習済み通信トラフィック301B−1のフレームよりも、全体として、優先的に廃棄される。このため、フラッディングフレームによるMAC学習済み通信トラフィック301B−1のフレーム廃数は防止される。後述するように、MACアドレス学習済みフレームはVLAN毎に帯域制御されており、一部のMAC学習済みフレームには、フラッディングフレームと同一の廃棄優先度が付与されうる。
このように、MAC未学習フレームを、全体として、MAC学習済みフレームよりも優先して廃棄することで、障害によるフラッディングが既存ネットワークを不安定にすることを防止できる。しかし、経路再構築の結果次第では、VLAN30BのMAC学習済み通信トラフィック301B−1と競合する、経路が再構築されるケースが存在する。
具体的には、図2Aの例において、MACアドレスの学習が完了し、通信トラフィック301A−2の経路が、新たなMAC学習済み経路として構築されると、MAC学習済み通信トラフィック301B−1、301A−2により、輻輳が発生してしまう。
図2Bは、VLAN30BのMAC学習済みトラフィック30B−1と競合し、輻輳が発生する経路(通信トラフィック301A−2の経路)が再構築されたケースにおいて、本実施例の通信装置が、輻輳の発生しない経路を新たに再構築するための動作を示す。本例において、通信トラフィック301A−3は、MAC学習済みトラフィック30B−1と競合せず、通信トラフィック301A−3の経路は輻輳を引き起こさない。
本例の通信装置20A〜20Iのそれぞれは、MAC学習済みフレームのフレームロスを監視している。通信装置20A〜20Iのそれぞれは、MAC学習済みフレームのロスが発生してしたことを検知することが可能であり、それにより、競合トラフィックの存在を検知することができる。
例えば、図2Bの例において、通信装置20H、20Iは、それぞれ、入出力回線50−12におけるフレーム送信において、MAC学習済みフレームのロス数を測定することができる。これにより、通信装置20H、20Iは、それぞれ、入出力回線50−12において、VLAN30Bの学習済みトラフィック30B−1と競合するVLAN30Aの経路が再構築されてしまったことを、検知することができる。
通信装置20H又は20Iは、フレームロスが発生しているポート201H−2又は201I−4において擬似的障害が発生していると判定し、VLAN30Aにおいて経路の再構築が必要であると判定する。図2Bの例において、ポート201H−2において疑似障害が発生し、その経路がブロックされている(P200)。通信装置20H又は20I(図2Bの例において通信装置20H)は、VLAN30A内経路を再構築するため、経路制御フレームをVLAN30A内の他の通信装置に送信する。
上記経路制御フレームを受信したVLAN30A内の各通信装置は、図2Aを参照して説明した経路再構築処理と同様に、VLAN30Aの経路情報を更新し、この障害により影響を受けるVLAN30Aの学習済みMACアドレスを全て削除し、更新した結果をVLAN30A内の他の通信装置へ転送する。これにより、VLAN30A内の各通信装置は、でVLAN30A内の全ての経路情報と学習済みアドレスを削除する。
その後、VLAN30A内の各通信装置は、MAC未学習フレームであるフラッディングフレームに、高い廃棄優先度を付与する。これにより、フラッディングフレームによるMAC学習済みトラフィックへの悪影響を低減する。
図2Aを参照して説明した経路再構築処理と同様に、VLAN30A内において、通信装置はMACアドレスを学習し、新たな経路を構築する。図2Bにおいて、新たに構築された経路の通信トラフィックは、通信トラフィック301A−3である。VLAN30A内で、ユーザ端末TE−1とユーザ端末TE−3は、この経路において通信が可能であり、この経路の通信トラフィック301A−3は、VLAN30BのMAC学習済みトラフィック301B−1と競合せず、輻輳が発生しない。
このように、障害発生した第1VLANにおいて再構築された経路の通信トラフィックが、第2VLANの通信トラフィックと競合し、MAC学習済み通信フレームのロスが所定値以上である場合に、本システムは、第1VLANにおいて、新たな経路を再構築する。
これにより、本システムは、障害発生したVLANにおいて、通信トラフィックが他のVLANの通信トラフィックと競合して輻湊を引き起こすことがない経路を、新たに構築することができる。障害発生した第1VLANにおいて経路を再構築することで、安定動作している既存経路を維持しつつ、新たな経路を構築することができる。
図3は、本実施例において、通信装置20A〜20Iの間で転送される通信フレームのフォーマットの一例を示す。ここでは、通信装置20A〜20Iに適用されるイーサネットフレーム(通信フレーム)のフォーマットを示してある。
イーサネットフレーム70は、宛先MACアドレスのフィールド701と、送信元MACアドレスのフィールド702と、VLANタグのフィールド703と、フレームの種類を示すTypeのフィールド704と、フレームのペイロードのフィールド705と、FCS(Frame Check Sequence)のフィールド706を含む。
宛先MACアドレスフィールド701は、当該フレームの宛先(例えばユーザ通信装置TE−3)のMACアドレスの値を格納し、送信元MACアドレスのフィールド702は、当該フレームの送信元(例えばユーザ通信装置TE−1)のMACアドレスの値を格納する。
VLANタグ(フィールド)703は、VLANIDのフィールド7031と、CFI(Canonical Format Indicator)フィールド7032と、優先度のフィールド7033を含む。VLANIDのフィールド7031は、VLANの識別子(例えば、VLAN30Aの識別子)を格納し、CFIのフィールド7032は、MACアドレスが正規フォーマットであるか否かを示すフラグを格納する。優先度のフィールド7033は、本例において、その通信フレームの廃棄優先度を示す値を格納する。上述のように、MAC未学習フレームには高い廃棄優先度が付与される。
ユーザ端末TE−1〜TE−4の対向装置であるエッジ通信装置20A、20C、20G、20Iのそれぞれは、優先度フィールド7033に、VLANの設定帯域とMAC学習済みフレームの通過帯域に応じて、廃棄優先度を示す値を格納する。優先度フィールド7033は、転送途中の各通信装置において、更新される又はその値が維持される。廃棄優先度及び優先度のフィールドの値の更新については後述する。
図4は、通信装置20A〜20Iの構成を模式的に示すブロック図である。本例において、通信装置20A〜20Iのそれぞれが、図4に示す構成を有する。以下において、通信装置20A〜20Iの任意の一つを、通信装置20と呼ぶ。
通信装置20は、複数の入出力回線50−1〜50−nのそれぞれと接続される物理ポート201〜201−nを有する。図4の説明において、nは2以上の整数である。通信装置20は、さらに、入出力フレームの処理を行う複数のフレーム処理ブロック202−1〜202−nを有する。フレーム処理ブロック202−1〜202−nは、それぞれ、対応する物理ポート201−1〜201−nに接続し、対応する物理ポート201−1〜201−nの入力フレーム及び出力フレームを処理する。
通信装置20は、さらに、物理ポート201〜201−n間で通信フレームの転送を制御する転送制御部200を有する。転送制御部200は、スイッチ部204と複数のスイッチインタフェース(SW−IF)203〜203−nとを有する。スイッチ部204は、フレーム処理ブロック間202−1〜202−nでフレームを転送する。SW−IF203−1〜203−nは、フレーム処理ブロック202−1〜202−nに、それぞれ対応する。SW−IF203−1〜203−nは、それぞれ、スイッチ部204と対応するフレーム処理部202−1〜202−nとを接続する。
SW−IF203−1〜203−nは、それぞれ、物理ポート201−1〜201−nと対応している。物理ポート201−1〜201−nのそれぞれが受信した入力フレームは、対応するSW−IF203−1〜203−nを介して、スイッチ部204に転送される。また、スイッチ部204がSW−IF203−1〜203−nのそれぞれに振り分けた出力フレームは、対応する物理ポート201−1〜201−nを介して、入出力回線50−1〜50−nに送出される。
転送制御部200は、さらに、経路制御部205、制御経路テーブル218、VLANテーブル219、VLAN障害テーブル223を有する。経路制御部205は、制御経路テーブル218、VLANテーブル219、VLAN障害テーブル223を使用して、経路再構築の処理を行う。
図3に示す例において、フレーム処理ブロック202−1は、入力ヘッダ解析部206、帯域監視部208、出力先決定部210、入力フレームバッファ212、OAM(Operations Administration And Maintenance)制御部213、入力フレーム読み出し部214、出力ヘッダ解析部215、出力フレームバッファ216、出力フレーム読み出し部217を含む。
フレーム処理ブロック202−1は、さらに、MAC学習テーブル207、帯域監視テーブル209、出力先テーブル211、送信OAMテーブル220、受信OAMテーブル221を含む。フレーム処理ブロック202−1〜20−1nは、それぞれ、これらの構成要素を含む。
以下において、通信装置20内の動作を、通信装置20が受信した通信フレーム70の流れに沿って説明する。通信装置20は、物理ポート201−1〜201−nを介して、他の通信装置又はユーザ端末と接続する。本実施例では、物理ポート201−1〜201−nは、イーサネット用の物理ポートである。
以下の説明において、物理ポート201−i(iは1〜nのいずれかの整数)が、通信フレーム70を受信する例を説明する。以下の説明は、全ての物理ポート201−1〜201−n、フレーム処理ブロック202−1〜202−n、SW−IF203−1〜203−nに、適用することができる。
物理ポート201−i(iは1〜nの任意の数字)は、入出力回線50−iから通信フレーム(入力フレーム)70を受信すると、その入力フレーム70に装置内ヘッダ80を付与する。装置内ヘッダ80は、当該通信装置内のみで使用されるヘッダであり、入出力回線から通信フレーム70が出力される前に除去される。
図5は、装置内ヘッダ80のフォーマット例を示す。装置内ヘッダ80は、コネクションIDのフィールド801、MAC未学習識別子のフィールド802、廃棄優先度のフィールド803、受信PortのフィールドID804、出力先PortIDのフィールド805、OAM識別子のフィールド806を含む。
コネクションIDのフィールド801は、VLANにおける学習済み宛先MACアドレスと送信ポートとの対応関係の識別子を格納する。後述するように、この識別子は、MAC学習テーブル207におけるエントリの識別子である。MAC未学習識別子のフールド802は、通信フレーム70がMAC未学習フレームであるか否かを示す値を格納する。
廃棄優先度のフィールド803は、通信フレーム70に付与された廃棄優先度の値を格納する。上述のように、MAC未学習フレーム(フラッディングフレーム)に対して、高い廃棄優先度が付与される。
受信PortのフィールドID804、出力先PortIDのフィールド805は、それぞれ、当該通信装置20における通信フレーム70の受信物理ポートの識別子及び出力物理ポートの識別子を格納する。出力先PortIDフィールド805の値は、内部ルーティング情報である。スイッチ部204は、この値に従って、入力フレーム70を対応する物理ポートのSW−IFに転送する。
OAM識別子のフィールド806は、通信フレーム70が、フレームロス測定用のOAフレームであるか否かを示す値を格納する。本例において、OAMフレームは、通信装置内でのMAC学習済みフレームのロス数、つまり、MAC学習済みフレームの廃棄数の測定に使用される。
物理ポート201−iは、通信フレーム70に付与した装置内ヘッダ80において、受信PortID804のフィールドに、自身の識別子を格納する。それ以外の、コネクションIDのフィールド801、MAC未学習識別子のフィールド802、廃棄優先度のフィールド803、出力先PortIDのフィールド805、OAM識別子806のフィールドは、空欄(例えばNULL値を格納)である。これらのフィールドには、入力ヘッダ解析部206、帯域監視部208、出力先決定部210によって有効な値が格納される。
物理ポート201−iと接続された、フレーム処理ブロック202−iの入力ヘッダ解析部206は、受信した通信フレーム70のヘッダを解析する。図6は、入力ヘッダ解析部206によるヘッダ解析処理のフローチャート例である。
入力ヘッダ解析部206は、入力された通信フレーム70を取得すると(S102)、通信フレーム70内の宛先MACアドレスフィールド701の値とVLANIDフィールド7031の値を検索キーとして、MAC学習テーブル207を検索する(S103)。
MAC学習テーブル207が検索エントリを含まない場合(S104:N)、このフレームのMACアドレスは未学習であるので、入力ヘッダ解析部206は、装置内ヘッダ80のコネクションIDのフィールド801及び出力先PortID805のフィールドに値を格納せず、MAC未学習識別子のフィールド802に「1」を格納する。MAC未学習識別子802のこの値「1」は、当該通信フレーム70が、MAC未学習フレームであることを示す。
さらに、入力ヘッダ解析部206は、装置内ヘッダ80のOAM識別子のフィールド806に「0」を格納し、装置内ヘッダ80を付された通信フレーム70を帯域監視部208へ転送する。OAM識別子806のこの値「0」は、当該通信フレーム70が、OAMフレームではないことを示す。
MAC学習テーブル207が検索エントリを含む場合(S104:Y)、このフレームのMACアドレスは学習済みである。入力ヘッダ解析部206は、MAC学習テーブル207から、当該検索したエントリを取得し、そのエントリにおけるコネクションIDの値を装置内ヘッダ80のコネクションIDのフィールド801に格納する。入力ヘッダ解析部206は、さらに、MAC未学習識別子のフィールド802に「0」を格納する。MAC未学習識別子802のこの値「0」は、当該通信フレーム70が、MAC学習済みフレームであることを示す。
図7は、MAC学習テーブル207の構成例を示す。MAC学習テーブル207は、各VLANにおける学習済みの宛先MACアドレスについて、その宛先MACアドレスと送信ポートIDとを関連付けて管理するテーブルである。MAC学習テーブル207は、宛先MACアドレスのカラム2071、VLANIDのカラム2072、送信ポートIDのカラム2073、コネクションIDのカラム2074を有する。
上述のように、入力ヘッダ解析部206は、通信フレーム70のVLANIDフィールド7031の値(MAC学習テーブル207のカラム2072)と、通信フレーム70の宛先MACアドレスフィールド701の値(MAC学習テーブル207のカラム2071)とを検索キーとして、送信PortID(MAC学習テーブル207のカラム2073)を示すエントリを検索する。
上述のように、一致するエントリがある場合は、入力ヘッダ解析部206は、このエントリのコネクションIDカラム2072の値を、装置内ヘッダ80のコネクションIDのフィールド801に格納し、エントリの送信PortIDカラム2073の値を、装置内ヘッダ80の出力先PortIDのフィールド805に格納する。入力ヘッダ解析部206は、さらに、MAC未学習識別子のフィールド802に「0」を格納する。
入力ヘッダ解析部と接続された帯域監視部208は、入力ヘッダ解析部206から装置内ヘッダ80を付された入力フレーム70を受信し、その通信フレーム70がMAC学習済みフレームである場合、帯域制御処理を実行する。その通信フレーム70がMAC未学習フレームである場合、帯域監視部208は、帯域監視処理(帯域の制御を含む)を省略する。
図8は、帯域監視部208の帯域監視のフローチャート例を示す。帯域監視部208は、受信した通信フレーム70の装置内ヘッダ80において、MAC未学習識別子のフィールド802を参照し、MAC未学習識別子のフィールド802の値が「1」であるか判定する(S201)。
MAC未学習識別子のフィールド802の値が「1」である場合(S201:Y)、それは、当該通信フレーム70は、MAC未学習フレームであることを示す。この場合、帯域監視部208は、帯域制御を省略して、装置内ヘッダ80の廃棄優先度フィールド803及びVLANタグ703の優先度フィールド7033に高い廃棄優先度を示す値として「1」を格納し、出力決定部210へ装置内ヘッダ80付き通信フレーム70を転送する。
一方、MAC未学習識別子フィールドの802が「0」の場合(S201:N)、当該通信フレーム70が、MAC学習済みフレームであることを示している。この場合、帯域監視部208は、VLAN毎に帯域を監視、制御する。まず、帯域監視部208は、通信フレーム70のVLANIDフィールド7031の値をキーとして、帯域監視テーブル209を検索する(S202)。
図9は、帯域監視テーブル209の構成例を示す。帯域監視テーブル209は、VLANIDのカラム2091、設定帯域のカラム2092、バケツの深さのカラム2093、前回トークン値のカラム2094、前回時刻カウンタ値のカラム2095、時刻カウンタ周回数のカラム2096を有する。
設定帯域のカラム2092は、各エントリにおいて、そのVLANにおいて予め設定されている帯域の値を格納する。バケツの深さのカラム2093は、受け入れることができるバースト長を示す。前回トークン値のカラム2094は、前回のトークン計算結果を格納する。前回時刻カウンタ値のカラム2095は、前回パケットを受信した際の時刻を示す値を格納する。時刻カウンタ周回数のカラム2096は、時刻カウンタが何周したかを示す値を格納する。
帯域監視テーブル209を検索した結果、通信フレーム70のVLANIDフィールド7031の値と一致するVLANIDカラム2091の値を有するエントリがあった場合(S203:Y)、帯域監視部208は、現在帯域(現在トークン値)を計算する(S204)。
具体的には、帯域監視部208は、帯域監視テーブル209において、受信パケットに対応するVLANIDの、今回パケットを受信した時刻カウンタ値から前回時刻カウンタ値(カラム2095)を引き、その値に対して規定の帯域値を掛けることで、前回パケット受信から今回パケット受信までの加算トークン値を算出する。帯域監視部208は、計算したトークン値を、前回トークン値(カラム2094)に加算することで、現在トークン値(帯域計算値)を得る。帯域監視部208は、この計算結果と、検索結果のエントリにおける設定帯域カラム2092の値とを比較する(S205)。
帯域計算値が、設定帯域カラム2092の値以下であれば(S205:Y)、帯域監視部208は、装置内ヘッダ80の廃棄優先度フィールド803及びVLANタグ703の優先度フィールド7033のそれぞれに、高い廃棄優先度を示す「1」を格納する(S207)。これにより、VLANのフレーム通信が、そのVLANに設定された帯域を超えることを防ぐ。
帯域計算値が設定帯域カラム2092の値より大きい場合(S205:N)、帯域監視部208は、装置内ヘッダ80の廃棄優先度フィールド803及び通信フレーム70内の優先度フィールド7033のそれぞれに、低い廃棄優先度を示す「0」を格納する(S206)。本通信フレーム70はMAC学習済みフレームであり、また、現在帯域値が当該VLANの設定帯域値より大きいため、当該通信フレーム70に低い廃棄優先度が付与される。
一方、帯域監視部208が帯域監視テーブル209を検索した結果、一致するVLANID2091のエントリがなかった場合には(S203:N)、帯域監視部208は、VLANタグ703における優先度フィールド7033の値を、装置内ヘッダ80の廃棄優先度フィールド803にコピーする(S208)。
これは、ネットワークのエッジであるユーザ端末と接続されている通信装置のみにオペレータが帯域監視テーブル209のエントリを設定し、帯域監視テーブル209の情報が他の通信装置に転送されていないことがあるため、エントリが設定されていない通信装置では、VLANタグ703の優先度7033に廃棄優先度を付与し、ネットワーク内で転送するための処理である。本例の帯域監視及び制御により、MAC学習済みフレームの帯域制御を、VLAN毎に適切に行うことができる。
次に、出力先決定部210は、帯域監視部208から装置内ヘッダ80付き通信フレーム70を受信する。出力先決定部210は、装置内ヘッダ80のMAC未学習識別子フィールド802を参照し、その通信フレーム70がMAC未学習フレームであるか判定する。MAC未学習識別子フィールド802の値が「0」であり、当該通信フレーム70がMAC学習済みフレームである場合、出力先決定部210は、出力先決定処理を省略して、装置内ヘッダ80を変更せずに入力フレームバッファ212にフレームを蓄積する。
一方、MAC未学習識別子フィールド802の値が「1」であり、当該通信フレーム70がMAC未学習フレームである場合、出力先決定部210は、出力先テーブル211を参照して、通信フレーム70のブロードキャスト範囲を決定する。
図10は、出力先テーブル211の構成例を示している。出力先テーブル211は、VLANIDのカラム2111、出力先PortIDのカラム2112を有する。出力先テーブル211は、VLANIDで識別される各VLANに割り当てられている出力先物理ポートを規定する。各エントリは、VLANIDと対応して、出力先PortIDの値を示している。出力先PortIDのカラム2112は、フラッディングにおいてフレーム送信される、一つ以上の出力先ポートが登録されている。
受信したフレーム70の装置内ヘッダ80におけるMAC未学習識別子802が「1」である場合(当該フレームがMAC未学習フレームである場合)、出力先決定部210は、出力先テーブル211において、フレーム70のVLANIDフィールド7031の値と対応するエントリを検索する。
出力先決定部210は、該当するエントリの出力先PortIDカラム2112の値(1つ以上の値)を、装置内ヘッダ80の出力先PortIDフィールド805に格納する。その後、出力先決定部210は、OAM制御部213に当該フレームを転送するとともに、入力フレームバッファ212に蓄積する。OAM制御部213の処理は後述する。
入力フレームバッファ212に蓄積されたフレーム70は、入力フレーム読出し部214によって読み出される。入力フレーム読出し部214は、読みだした装置内ヘッダ80付きフレーム70を、スイッチ処理部204とフレーム処理ブロック202とを接続するSW−IF203−iへ転送する。
スイッチ部204は、SW−IF203−iから装置内ヘッダ80付きフレーム70を受け取り、装置内ヘッダ80の出力先PortIDフィールド805の値で特定される1又は複数の物理ポートに対応するSW−IF(フレーム処理ブロック)に、それを装置内ヘッダ80付き出力フレーム70として転送する。
ここで、MAC未学習識別子フィールド802の値が「0」であり、当該フレームがMAC学習済みフレームの場合、装置内ヘッダ80の出力先PortIDフィールド805には、一つのみの出力先物理ポートのIDが格納されており、通信フレーム70の外部転送先は、一つのみである。従って、出力フレーム70は、一つのみの対応するフレーム処理ブロックに転送される。
一方、MAC未学習識別子802が「1」であり、当該フレームがMAC未学習フレームの場合、出力先PortIDフィールド805には一つ以上の出力先物理ポートのIDが格納されており、通信フレーム70の外部転送先は一つ以上である。従って、通信フレーム70は、一つ以上のフレーム処理ブロックに転送される。
図11は、スイッチ部204の構成例を示す。スイッチ部204は、SW−IF203−1〜203−nのそれぞれに対して、対応するSW−IFから受信したフレームの振り分けを行うクラシファイア2041と、振り分けられたフレームを一時的に保持するキュー2042−1〜2042−nとを有する。キュー2042−1〜2042−nは、それぞれ、出力先のSW−IF203−1〜203−nに対応している。図11は一つのクラシファイア2041と対応する一つのキュー群を図示するが、例えばSW−IF203−1〜203−nに対応するn個のクラシファイア及びキュー群がスイッチ部204に含まれる。
図11は、キュー2042−1、2042−nを例示する。図11において、キュー2042−1、2042−n内の矩形はフレームを示し、矩形内の「H」は当該フレームが高い廃棄優先度を有することを示し、矩形内の「L」は当該フレームが低い廃棄優先度を有することを示す。
クラシファイア2041は、スイッチ部204に入力したフレームの装置内ヘッダ80における出力先PortIDフィールド805を参照し、その値に応じて、当該フレームを保持するキューを決定し、そのキューに格納する。クラシファイア2041は、フレームを、出力先PortIDフィールド805が示す物理ポートに接続するフレーム処理ブロックのSW−IFへのキューに格納する。
装置内ヘッダ80のMAC未学習識別子フィールド802の値が「0」であり、当該フレームがMAC学習済みフレームの場合、装置内ヘッダ80の出力先PortIDフィールド805は一つの値のみ格納しており、フレーム格納先のキューも一つのみである。一方、MAC未学習識別子フィールド802の値が「1」であり、当該フレームがMAC未学習フレームの場合、出力先PortID805フィールドは一つ以上の値を格納しているため、格納先のキューも一つ以上である。
キュー2042−j(jは1〜nの任意の整数)は、キュー2042−j内に格納された順番で先頭フレーム2044−jから出力する。キュー2042−jの格納可能な最大数(閾値)が決まっており、最大数のフレームを格納している状態で他のフレームをクラシファイア2041から受けると、そのフレームを廃棄する。
キュー2042−jは、閾値2047−jを有しており、キュー長2046−jが当該閾値2047−jを超えた場合、廃棄優先度フィールド803の値が「1」であり高い廃棄優先度を示すフレームを格納せずに廃棄し、廃棄優先度フィールド803の値が「0」であり低い廃棄優先度を示すフレームのみを格納する。
図11において、キュー2042−1は、キュー2042−1内に格納された順番で先頭フレーム2044−1から出力する。キュー2042−1のキュー長2046−1は、閾値2047−1よりも大きい。従って、キュー2042−1は、高い廃棄優先度を示すフレーム2403−3を格納することなく廃棄する。
キュー2042−nは、キュー2042−n内に格納された順番で先頭フレーム2044−nから出力する。キュー2042−nのキュー長2046−nは、閾値2047−nよりも小さい。従って、キュー2042−1は、フレーム2403−3の廃棄優先度に関わらず、そのフレーム2403−3を格納する。
このように、輻輳発生時にMAC未学習のフレームがMAC学習済みフレームよりも優先的に廃棄することで、MAC未学習のフレームに起因するMACアドレス学習済みのフレームの廃棄を防止し、フラッディングによるMACアドレス学習済みトラフィックへの悪影響を実質的に防ぐことができる。なお、本例のスイッチ部204は、FIFOのキューを使用するが、これと異なる入出力を行うバッファを使用してもよい。
次に、スイッチ部204から出力された出力フレーム70は、1又は複数のSW−IFを介して、1又は複数のフレーム処理ブロックに転送される。以下において、フレーム処理ブロック202−kが、SW−IF203−kを介して、装置内ヘッダ80付き出力フレーム70をスイッチ部204から受信する例を説明する。
フレーム処理ブロック202−kの出力ヘッダ解析部215は、SW−IF203kと接続し、SW−IF203kから受信した装置内ヘッダ80付き出力フレーム70のヘッダを解析する。出力ヘッダ解析部215は、装置内ヘッダ80のOAM識別子フィールド806を参照する。OAM識別子フィールド806の値が「0」であり、当該フレーム70が、フレームロス数測定用のOAMフレームではない場合、出力ヘッダ解析部215は、MAC学習テーブル207を参照する。
出力ヘッダ解析部215は、MAC学習テーブル207において、フレーム70のVLANIDフィールド7031の値と、送信元MACアドレスフィールド702の値の組み合わせを検索キーとして、該当するエントリを検索する。
一致するエントリがMAC学習テーブル207において見つかった場合、出力ヘッダ解析部215は、出力フレーム70の装置内ヘッダ80を削除し、出力フレームバッファ216に格納する。出力ヘッダ解析部215は、装置内ヘッダ80付きの出力フレーム70を、OAM制御部213に転送する。
一方、一致するエントリがMAC学習テーブル207に存在しない場合、MAC学習テーブル207に、新たなエントリを登録する。出力ヘッダ解析部215は、出力フレーム70の送信元MACアドレスフィールド702の値、VLANIDフィールド7031の値、装置内ヘッダ80の受信PortIDフィールド804の値を、MAC学習テーブル207のエントリに登録する。
送信元MACアドレスフィールド702の値、VLANIDフィールド7031の値、受信PortIDフィールド804の値は、それぞれ、宛先MACアドレスカラム2071、VLANIDカラム2072、送信PortIDカラム2073に格納される。コネクションIDは新たに付与される。
その後、出力ヘッダ解析部215は、出力フレーム70の装置内ヘッダ80を削除し、出力フレームバッファ216に格納する。出力ヘッダ解析部215は、装置内ヘッダ80付きの出力フレーム70を、OAM制御部213に転送する。
一方、OAM識別子フィールド806の値が「1」であり、当該フレーム70が、フレームロス数測定用のOAMフレームである場合、装置内ヘッダ80付きの通信フレーム70を、OAM制御部213へ転送するが、そのフレームを出力フレームバッファ216には格納しない。
本例においては、OAM識別子が「1」のフレームは、通信装置内20−i内でのフレームロス数、つまり、スイッチ部204でのフレーム廃棄数を測定するためのOAMフレームであり、OAMフレームは、通信装置20−iの外部に出力されることなく、OAM制御部213へ転送される。
出力フレームバッファ216に格納された出力フレーム70は、出力フレーム読出し部116によって読み出され、物理ポート201−kに転送される。物理ポート201−kは、図4に示すフォーマットの出力フレーム70を、入出力回線50−kに送出する。
上述のように、OAM制御部213は、その通信装置20内でのMAC学習済みフレームのロス数(廃棄数)を測定する。後述するように、フレーム処理ブロック202−1〜202−nのOAM制御部213は、協働して、通信装置20内でのMAC学習済みフレームのロス数を測定する。
本例は、障害発生により新たに構築された経路と、他のVLANの経路とが重なる出力物理ポートにおいてMAC学習済みフレームの廃棄数を測定することで、新たな経路のMAC学習済みトラフィック(例えば図2Aにおけるトラフィック30A−2)と、他のVLANの経路のMAC学習済みトラフィック(例えば図2Aにおけるトラフィック30B−1)の輻湊による通信装置内フレームロスを検知する。
図11を参照して説明したように、スイッチ部204は、物理ポート201−jに割り当てられたキュー2042−jにおいてフレームを廃棄する。フレーム処理ブロック202−jのOAM制御部213は、キュー2042−jにおいて廃棄されたMAC学習済みフレームの数をカウントする。
例えば、フレーム処理ブロック202−jのOAM制御部213は、フレーム処理ブロック202−iのOAM制御部213から、フレーム処理ブロック202−iからフレーム処理ブロック202−jへ向けて送信されたMAC学習済みフレームのカウント数を取得する。フレーム処理ブロック202−jへ向けて送信されたMAC学習済みフレームは、装置内ヘッダ80における出力先PortIDのフィールド805の値で識別される。
これらMAC学習済みフレームのうちの一部は、スイッチ部204において廃棄され得る。フレーム処理ブロック202−jのOAM制御部213は、スイッチ部204から受信した、フレーム処理ブロック202−iを送信元とするMAC学習済みフレームの数をカウントする。MAC学習済みフレームの送信元フレーム処理ブロックは、その装置内ヘッダ80における受信PortIDフィールド804の値で識別される。
フレーム処理ブロック202−jのOAM制御部213は、上記二つのカウント数の差分により、受信物理ポート201−iから出力先物理ポート201−jへのMAC学習済みフレームにおける廃棄数を得ることができる。フレーム処理ブロック202−jのOAM制御部213は、同様に、他の受信物理ポート(フレーム処理ブロック)からのフレームの廃棄数を測定することができる。
具体的に説明する。フレーム処理ブロック202−1〜202−nのそれぞれのOAM制御部213は、出力先決定部210から受信した入力フレーム70の内、MAC未学習識別子フィールド802の値が「0」のフレーム(MAC学習済みフレーム)を、出力先PortID(フィールド805に格納)毎にカウントし、送信OAMテーブル221を更新する。
図12は、送信OAMテーブル221の構成例を示す。フレーム処理ブロック202−1〜201−nは、それぞれ、固有の送信OAMテーブル221を有する。送信OAMテーブル221は、出力先PortIDのカラム2211、ユーザフレーム送信数のカラム2212を有する。
フレーム処理ブロック202−iの送信OAMテーブル221は、物理ポート201−iにおいて受信されたMAC学習済みフレームの数を、出力先物理ポート201−1〜201−nのそれぞれについて管理する。
送信OAMテーブル221の更新において、OAM制御部213は、入力フレーム70の装置内ヘッダ80における出力先PortIDのフィールド805の値を検索キーとして、送信OAMテーブル221を検索する。OAM制御部213は、該当するエントリのユーザフレーム送信数のカラム2212の値に「1」を加算し、同じエントリに書き戻す。
OAM制御部213は、出力ヘッダ解析部216(スイッチ部204)から受信した出力フレーム70の内、そのMAC未学習識別子フィールド802の値が「0」であるMAC学習済みフレームを、受信PortID(フィールド804に格納)毎にカウントし、受信OAMテーブル220を更新する。
図13は、受信OAMテーブル220の構成例を示す。フレーム処理ブロック202−1〜201−nは、それぞれ、固有の受信OAMテーブル220を有する。受信OAMテーブル220は、受信PortIDのカラム2201、ユーザフレーム受信数のカラム2202、前回のユーザフレーム送信数のカラム2203、フレームロス数のカラム2204を有する。
ユーザフレーム受信数のカラム2202は、各受信PortIDについて、対応するフレーム処理ブロックからの前回のOAMフレーム受信の後に、当該対応するフレーム処理ブロックから受信したMAC学習済みのフレーム数を格納する。
前回のユーザフレーム送信数のカラム2203は、各受信PortIDについて、対応するフレーム処理ブロックから受信した前回のOAMフレームに格納されていたユーザフレーム送信数を示す値を格納する。フレームロス数のカラム2204は、各受信PortIDについて、前々回のOAMフレームから前回のOAMフレームまでの間のフレームロス数を格納する。
このように、フレーム処理ブロック202−iの受信OAMテーブル220は、物理ポート201−iから外部に送信されるMAC学習済みフレームの数(ユーザフレーム受信数カラム2202の値が相当)を、受信物理ポート201−1〜201−nのそれぞれについて管理する。本例において、受信OAMテーブル220は、受信物理ポート201−1〜201−nのそれぞれについて、フレームロス数を管理する。
OAMテーブル220の上記更新において、OAM制御部213は、MAC学習済みフレームの装置内ヘッダ80における受信PortIDフィールド804の値を検索キーとして、受信OAM220テーブルを検索する。OAM制御部213は、該当するエントリのユーザフレーム受信数のカラム2202の値に「1」を加算し、同じエントリに書き戻す。
以下において、OAMフレームの作成及び送受信を説明する。フレーム処理ブロック202−1〜202−nのそれぞれのOAM制御部213は、所定のタイミングで、OAMフレームを、フレーム処理ブロック202−1〜202−nのそれぞれに送信する。OAMフレームは、所定期間において、OAMフレームの送信元フレーム処理ブロックから送信先フレーム処理ブロックに向けて送信されたMAC学習済みフレーム数の情報を格納する。
上述のように、送信先フレーム処理ブロックは、送信元フレーム処理ブロック(受信PortID)毎に、スイッチ部204を介して受信したMAC学習済みのフレームをカウントし、そのカウント数を受信OAMテーブル220に格納する。送信先フレーム処理ブロックは、OAMフレーム内のフレーム送信数と、上記所定期間内のフレーム受信数との差分により、スイッチ部204において廃棄されたMAC学習済みフレームの数を知ることができる。
一例において、フレーム処理ブロック202−1〜202−nのそれぞれのOAM制御部213は、出力先PortIDを0から順に選択し、各出力先PortIDのOAMフレームを作成し、SW―IFを介してスイッチ部204へ出力する。OAMフレームにおいて、装置内ヘッダ80の出力先PortIDフィールド805は、選択されたPortIDの値を格納し、通信フレーム70のペイロードフィールド705は、当該出力先PortIDを有し、上記所定期間内にスイッチ部204に出力されたMAC学習済みフレーム数を格納する。
全てのOAMフレームにおいて、装置内ヘッダ80の受信PortIDフィールド804は、当該フレーム処理ブロックが対応する物理ポートのIDを格納する。OAM識別子フィールド806は、「1」を格納する。OAM制御部213は、作成したOAMフレームを、物理ポート201−1〜201−n(フレーム処理ブロック202−1〜202−nの)のそれぞれに、定期的に送信する。
スイッチ部204は、装置内ヘッダ80の出力先PorIDフィールド805の値が示す物理ポートに対応するフレーム処理ブロック(フレーム処理ブロック201−kとする)に、SW−IF203−kを介して、OAMフレームを転送する。
転送先フレーム処理ブロック201−kにおいて、出力ヘッダ解析部216は、そのOAMフレームを受信する。出力ヘッダ解析部216は、装置内ヘッダ80のOAM識別子フィールド806を参照する。OAMフレームのその値は「1」であり、出力ヘッダ解析部216は、受信したフレームロス測定用のOAMフレームをOAM制御部213へ転送する。
OAMフレームを受信したOAM制御部213は、当該OAMフレームに格納されているMACアドレス学習済みフレーム送信数の情報を装置内ヘッダ80の受信PortID(フィールド804)毎に記憶し、図18を参照して後述するフレームロス計算フローに従って、フレームロスの計算を行う。この結果、フレームロス数が予め定められた閾値以上であることが検出されると、OAM制御部213は、経路制御部205へ、対処すべきフレームロスの発生と発生した物理ポートのIDを通知する(フレームロス通知)。
経路制御部205は、OAM制御部213からのフレームロス通知に対応した処理を行う他、物理ポート201〜201−nの障害を監視している。物理ポート201−1〜201−nの何れかで障害が発生した際、IEEE802.1qまたはPVSTに即して他の通信装置の経路制御部205と経路制御フレームを送受信し、インスタンス(VLAN)毎に経路を再構築する。経路制御部205は、経路制御テーブル218を更新し、経路変更されたVLANについて、ブロッキングされていない(使用可の)物理ポートのIDを出力先テーブル211へ登録する。
図14は、経路制御テーブル218の構成例を示す。経路制御テーブル218は、VLANIDカラム2181とブロッキングPortIDカラム2182を有する。ブロッキングPortIDカラム2182は、経路ループを防ぐために、経路ループが発生するPortへのフレーム出力を行わないことを示す。
経路制御テーブル218は、それが格納されている通信装置において、各VLANにおいて使用不可の物理ポート(ブロッキングポート)を管理する。経路制御部205は、経路再構築によりブロッキングポートが変更されると、その変更により経路制御テーブル218のブロッキングPortIDカラム2182の値を更新する。
経路制御部205は、経路の再構築が完了した際、今回経路を再構築したVLANを記憶しておくため、VLAN障害テーブル223(図15参照して後述)を更新する。さらに、経路制御部205は、障害が発生した物理ポートのPortIDを検索キーとして、VLANテーブル219を検索する。
図16は、VLANテーブル219の構成例を示す。VLANテーブル219は、物理PortIDカラム2191と、VLANIDカラム2192を有する。経路制御部205は、物理PortIDカラム2191において障害を検出した物理ポートのエントリを検索し、障害を検出した物理ポートに関連するVLANIDの値をVLANIDカラム2192から取得する。経路制御部205は、取得したVLANIDの値に該当するMAC学習テーブル207のエントリを消去する。
図15は、VLAN障害テーブル223の構成例を示す。VLAN障害テーブル223は、各VLANにおける障害を管理する。VLAN障害テーブル223は、VLANIDカラム2231、障害発生有無を示すカラム2232、障害カウンタのカラム1122を有する。
各エントリは、VLANIDカラム2231の各IDと対応して、障害発生有無を示す値(カラム2232)、障害発生からの経過時間を示す値(カラム2233)を有する。障害発生有無カラム2232は、VLANで障害が発生したか否かを示す値を格納する。障害カウンタカラム2233は、障害発生時に規定値がセットされ、定期的にカウントダウンされる。
経路制御部205は、経路の再構築が完了した際、該当するVLANID2231のエントリの障害発生有無カラム2232に「あり」を示す値を、障害カウンタカラム2233に規定値(ここでは「10」)をセットする。
経路制御部205は、定期的にVLAN障害テーブル223の全エントリを参照し、障害カウンタカラム2233の値が「1」以上の場合、その値から「1」を減算し、それを当該エントリに書き戻す。障害カウンタカラム2233の値が「0」になると、経路制御部205は、当該エントリにおける障害発生有無カラム2232に「なし」を示す値を格納する。
上述のように、経路制御部205は、OAM制御部213からフレームロス通知(MAC学習済みフレームのロス数が所定の閾値より多いことを示す通知)を受けると、それに対応した処理を行う。フレームロス通知は、MAC学習済みフレームのロスが発生した出力物理ポートのIDを伴う。
経路制御部205は、VLAN障害テーブル223において、障害が発生しているVLANを検索する。具体的には、経路制御部205は、障害発生有無カラムの2232の値が「あり」を示すエントリを検索する。
さらに、経路制御部205は、出力先テーブル211において、OAM制御部213からフレームロス通知を受けた出力物理ポートを使用するVLANを検索する。具体的には、経路制御部205は、出力先PortIDカラム2112の値が、OAM制御部213からフレームロス通知とともに受信した物理ポートのIDと一致するエントリを検索する。
経路制御部205は、上記VLAN障害テーブル223の検索結果と、出力先テーブル211の検索結果に共通する、VLANIDを特定する。このVLANは、障害発生中であり、かつ、フレームロス発生に影響しているVLANである。例えば、図2Aを参照して説明したVLAN30Aが、このVLANに相当する。
経路制御部205は、上記検索により特定されたVLANのみの経路を再構築することを決定する。経路制御部205は、監視している物理ポート201〜201−nでの障害発生時に行う処理と同様に、特定したVLANにおける経路を再構築する。経路制御部205は、経路制御テーブル218を再構築し、ブロッキングされていない物理ポート201のIDを出力先テーブル211へ登録する。
以下において、OAM制御部213の処理を、図17及び図18のフローチャートを参照して説明する。OAM制御部213は、フレームロス測定用のOAMフレームを生成して各フレーム処理ブロックにスイッチ部204を介して送信するOAM送信処理と、スイッチ部204を介してOAMフレームを受信して、フレームロス数を計算するOAM受信処理とを行う。
図17は、OAM制御部213のOAMフレーム送信処理のフローチャート例を示す。ここで、フレーム処理ブロック202−iのOAM制御部213の処理例を説明する。フレーム処理ブロック202−1〜202−nのそれぞれのOAM制御部213が、このフローに従った処理を行う。
OAM送信処理において、OAM制御部213は、フレームロス測定試験を開始する。今まで送信した数を保持しているOAM制御部213内の送信PortIDカウンタ値をクリアする(S301)。
OAM制御部213が生成するOAMフレームは、図4に示す通信フレームト70に図5に示す装置内ヘッダ80を付与されたフォーマットである。OAM制御部213は、装置内ヘッダ80の出力先PortIDフィールド805に送信PortIDカウンタ値を格納し(S302)、装置内ヘッダ80の受信PortIDフィールド804に、自物理ポートID(物理ポート201−iのID)を格納し(S303)、OAM識別子フィールド806に「1」を格納する(S304)。
次に、OAM制御部213は、送信PortIDカウンタ値を用いて、送信OAMテーブル221を検索し(S305)、当該カウンタ値のエントリにおけるユーザフレーム送信数カラム2212から値を取得し、通信フレーム70のペイロードフィールド705に格納する(S306)。
OAM制御部213は、さらに、装置内ヘッダ80の廃棄優先度フィールド803に「0」を格納し(S307)する。これにより、スイッチ部204で、OAMフレームが廃棄されることを避ける。OAM制御部213は、生成したOAMフレームを、入力フレームバッファ212に出力する(S308)。
OAM制御部213は、送信PortIDカウンタ値が、Max値(本通信装置が有する全ポート数)に達しているか判定する。送信PortIDカウンタ値が、Max値に達していなければ(S309:N)、OAM制御部213は、送信PortIDカウンタ値に「1」加算し(S310)、再度OAMフレームを生成して処理を継続する。送信カウンタ値がMaxの場合は(S309:Y)、OAM制御部213は、試験を終了する。
図18は、OAM制御部213の受信処理フローチャートを示す。ここで、フレーム処理ブロック202−kのOAM制御部213の処理例を説明する。フレーム処理ブロック202−1〜202−nのそれぞれのOAM制御部213が、このフローに従った処理を行う。
OAM制御部213は、フレームを受信すると、装置内ヘッダ80のOAM識別子フィールド806の値が「1」であるかどうかを判定する(401)。OAM識別子フィールド806の値が「1」である場合(S401:Y)、そのフレームはOAMフレームである。
OAM制御部213は、装置内ヘッダ80の受信PortIDフィールド804の値を検索キーに、受信OAMテーブル220を検索し、当該エントリの前回のユーザフレーム送信数カラム2203の値とユーザフレーム受信数カラム2202の値を取得する(S402)。ここでは、受信したフレームの受信PortIDフィールド804の値は、物理ポート201−iを示すとする。
OAM制御部213は、OAMフレームのペイロードフィールド705内に格納されているフレーム送信数の値から、前回のユーザフレーム数カラム2203の値を減算する。この計算結果は、前回のOAMフレームを受信してから今回のOAMフレームを受信するまでの間に、フレーム処理ブロック202−iからフレーム処理ブロック202−kに向けて送信された、MAC学習済みフレームの数を示す。
さらに、OAM制御部213は、このようにして算出されたMAC学習済みフレーム送信数から、ユーザフレーム受信数カラム2202の値を減算する。ユーザフレーム受信数カラム2202の値は、フレーム処理ブロック202−kのOAM制御部213が、フレーム処理ブロック202−iからの前回OAMフレームの受信の後、スイッチ部204から受信した、フレーム処理ブロック202−iからのMAC学習済みフレームの数を示す。
従って、減算の結果は、前回OAMフレームの受信の後における、フレーム処理ブロック202−iからフレーム処理ブロック202−kへのMAC学習済みフレームのスイッチ部204による廃棄数(フレームロス数)を示す。OAM制御部213は、この算出した値を保持する(S403)。
次に、OAM制御部213は、今回計算して保持したフレームロス数を、受信OAMテーブル220における当該エントリのフレームロス数カラム2204の値に加算し、その和を、当該エントリのフレームロス数カラム2204に上書きする(S404、S405)。
OAM制御部213は、さらに、受信したOAMフレームのペイロードフィールド705内に格納されているユーザフレーム送信数カラム2212(送信OAMテーブル221)の値を、受信OAMテーブル220における当該エントリの前回のユーザフレーム送信数カラム2203に上書きし、ユーザフレー受信数カラム2202に「0」を上書きする(S404、S405)。
一方、ステップS401において受信したフレームの装置内ヘッダ80のOAM識別子フィールド806の値が「0」の場合(S401:N)、OAM制御部213は、MAC未学習識別子フィールド802の値が「0」であるかどうかをチェックする(S406)。その値が「0」の場合(S406:Y)、OAM制御部213は、装置内ヘッダ80の出力先PortIDフィールド804の値を検索キーとして、受信OAMテーブル220を検索し、当該エントリのユーザフレーム受信数カラム2202の値を取得する(S407)。
OAM制御部213は、取得したユーザフレーム受信数の値に「1」を加算して、検索したエントリのユーザフレーム受信数カラム2202に書き戻す(S408、S405)。ステップS406において受信したユーザフレームの装置内ヘッダ80のMAC未学習識別子が「1」の場合(S406:N)、OAM制御部213は処理を終了する。
本実施例によれば、フラッディングに高い廃棄優先度が付されるため、一つの物理ポートを複数のVLANで共有する場合に、あるVLANの障害により発生したフラッディングが、障害に無関係な他のVLANの帯域を圧迫することなく経路の再構築が可能となる。これにより、ネットワークの共用による低コスト化と、耐障害性の向上や帯域の安定利用が可能となる。本例は、廃棄優先度によりMAC未学習フレームの廃棄を制御し、帯域監視(ポリサ)による転送制御を行う通信装置において、フラッディングが、障害に無関係な他のVLANの帯域を圧迫することを防ぐことができる。
さらに、本例は、障害が発生したVLANにおいて再構築された経路が、障害に無関係な他のVLANの帯域を圧迫し、規定レベル以上のフレームロスが発生する場合、再構築された経路を変更することで、障害発生により再構築された経路のトラフィックにより、障害に無関係な他のVLANの経路のトラフィックが受ける悪影響を低減できる。再構築された経路を変更し、既存の経路を維持することで、より確実に輻湊を防止できる。
図19は、実施例2における通信装置2000のブロック構成を示す。通信装置2000は、実施例1の通信装置20と異なり、帯域監視(ポリサ)ではなく、帯域制御(シェーパ)を行う。通信装置2000は、帯域制御部2080、帯域制御テーブル2090を有する。スイッチ部2040は、実施例1のスイッチ部204と異なる。スイッチ部2040は、廃棄優先度ではなく、転送優先度によってフレーム転送を制御する。通信装置2000のその他の構成要素は、実施例1における通信装置20と同様である。
図20は、本実施例における装置内ヘッダ800のフォーマット例を示す。装置内ヘッダ800のフォーマットは、実施例1の装置内ヘッダ80と比較して、廃棄優先度807が転送優先度8030に変更されている。その他のフィールドは同じである。
帯域制御部2080は、入力ヘッダ解析部206から入力フレームを受信すると、装置内ヘッダ800のMAC未学習識別子フィールド802を参照する。MAC未学習識別子フィールド802の値が「1」の場合、帯域制御部2080は、帯域制御を省略して、装置内ヘッダ800の転送優先度フィールド807に低い転送優先を示す値として「0」を格納し、出力先決定部210へ転送する。
一方、MAC未学習識別子フィールド802の値が「0」の場合、帯域制御部2080は、装置内ヘッダ800のコネクションIDフィールド801の値を用いて、帯域制御テーブル2090を検索し、VLAN毎の帯域制御を行う。ここで、帯域制御テーブル2090の内容は帯域監視テーブル209と同様であり、その名称のみが帯域監視テーブル209と異なる。
帯域制御テーブル2090を検索した結果、一致するVLANIDの値(カラム2091)を有するエントリがあった場合、帯域制御部2080は、帯域計算を行い、設定帯域カラム2092の値と一致するように、出力帯域を制御する。その際、装置内ヘッダ800の転送優先度8030及びVLANタグ703の優先度フィールド7033に高い転送優先度を示す「1」を格納する又は低い転送優先度を示す「0」を格納する。
一方、帯域制御テーブル2090を検索した結果、一致するVLANIDの値(カラム2091)を有するエントリがなかった場合、帯域制御部2080は、優先度フィールド7033の値を、装置内ヘッダ80の転送優先度フィールド8030にコピーする。
これは、ネットワークのエッジであるユーザ端末と接続されている通信装置のみにオペレータが帯域制御テーブル2090のエントリを設定し、帯域制御テーブル2090の情報が他の通信装置に転送されていないことがあるため、エントリが設定されていない通信装置では、VLANタグ703の優先度7033に廃棄優先度を付与し、ネットワーク内で転送するための処理である。
図21は、スイッチ部2040の構成例を示す。スイッチ部2040は、受信フレームの振り分けを行うクラシファイア2041と、転送する優先度の高い受信フレームを一時的に保存する高優先キュー20402−1〜20402−nと、転送する優先度の低い受信フレームを一時的に保存する低優先キュー20407−1〜20407−nと、上記二種類のキューのどちらからフレームを読み出すかを決定する読み出し制御部20408−1〜20408−nとを含む。例えば、スイッチ部2040は、SF−IF203−1〜203−nのそれぞれに対して、図21に示す構成を有する。
キューに対してフレームを格納することができる最大数(閾値)が設定されており、キューの格納フレーム数が最大数に達している場合、そのキューに新たなフレームは格納されずに廃棄される。最大数の値は全てのキューに共通又は異なる。
図21において、キュー20402−1、20402−n、20407−1、20407−n内の矩形はフレームを示し、「H」は高い転送優先度を示し、「L」は低い転送優先度を示す。
フレーム2401−1、2401−nは、それぞれ、高優先キュー20402−1、20402−nに格納されるフレームである。フレーム2403−1、2403−nは、それぞれ、高優先キュー20402−1、20402−nから読みだされたフレームである。フレーム2404−1、2404−nは、それぞれ、低優先キュー20407−1、20407−nに格納されるフレームである。フレーム2405−1、2405−nは、それぞれ、低優先キュー20407−1、20407−nから読みだされたフレームである。
クラシファイア2041は、スイッチ部2040に入力したフレームを取得すると、装置内ヘッダ800の出力先PortIDフィールド805の値及び転送優先度フィールド8030の値に応じて、そのフレームを格納するキューを決定し、当該キューにそのフレームを格納する。
転送優先度フィールド8030の値が「0」の場合、クラシファイア2041は、低優先キューに受信フレームを格納する。転送優先度フィールド8030の値が「1」の場合、クラシファイア2041は、高優先キューに受信フレームを格納する。
装置内ヘッダ800のMAC未学習識別子フィールド802の値が「0」の場合、装置内ヘッダ800の出力先PortIDフィールド805には一つ値のみ記載されているため、格納先のキューも一つだけである。一方、MAC未学習識別子フィールド802の値が「1」の場合は、出力先PortIDフィールド805に一つ以上の値が記載されているため、格納先のキューも一つ以上である。
読み出し制御部20408−i(iは1〜nのいずれかの整数)は、高優先キュー20402−iに受信フレームが格納されている場合は、低優先キュー20407−iよりも、高優先キュー20402−iから先に(優先的に)格納されているフレームを読み出し、出力する。
一方、高優先キュー20402−iにフレームが格納されていない場合のみ、読み出し制御部20408−iは、低優先キュー20407−iから格納されているフレームを読み出し、出力する。これにより、輻輳発生時に転送優先度の低いMAC未学習フレームよりも転送優先度の高いMAC学習済みフレームが優先的に転送されるため、MAC学習済みフレームの廃棄を防止できる。
図22は、OAM制御部213のOAMフレーム送信処理のフローチャート例を示す。本フローチャートは、図17のフローチャートと比較して、S3070において、装置内ヘッダ80の廃棄優先度フィールド803ではなく、転送優先度フィールド8030に「1」を格納する点のみが異なり、その他は同様である。
本実施例によれば、シェーパにより帯域制御を行う通信装置において、一つの物理ポートを複数のVLANで共有する場合に、あるVLANの障害により発生したフラッディングが、障害に無関係な他のVLANの帯域を圧迫することなく経路の再構築が可能となる。さらに、障害が発生したVLANにおいて再構築された経路が、障害に無関係な他のVLANの帯域を圧迫し、規定レベル以上のフレームロスが発生する場合、再構築された経路を変更することで、障害発生により再構築された経路のトラフィックにより、障害に無関係な他のVLANの経路のトラフィックが受ける悪影響を低減できる。
以上、本発明の実施形態を説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換、削除することが可能である。ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
上記実施例は、VLANにおいて再構築した経路が輻湊を引き起こした場合、そのVLANにおいて、新たな経路を再構築する機能を有するが、上記例におけるMAC未学習フレームの廃棄制御機能と新たな経路の再構築機能が、通信装置に同時に実装されていなくともよい。
実施例1及び実施例2は、それぞれ、廃棄優先度と転送優先度を使用してフレームの廃棄を制御するが、これら優先度は、共に、フレーム廃棄における優先度(廃棄されやすさ)を示すものであって、廃棄における優先度の表し方が異なる。
上記実施例は、高優先度と低優先度の二つの優先度レベルを使用するが、三つ以上の優先度レベルが利用されてもよい。例えば、実施例1において、キューに対して二つの閾値が設定される。格納フレーム数が第1閾値に達しているが、第1閾値より大きい第2閾値に達していない場合、高廃棄優先度レベルのフレームが廃棄される。格納フレーム数が第2閾値に達している場合、高廃棄優先度レベル及び中廃棄優先度レベルのフレームが廃棄される。
例えば、MAC未学習フレームには高廃棄優先度レベルが付与され、MAC学習済みフレームには、三つの廃棄優先度レベルのいずれかが付与される。若しくは、MAC未学習フレームに高廃棄優先度レベルが付与され、MAC学習済みフレームには、中廃棄優先度レベル又は低廃棄優先度のいずれかが付与される。実施例2は、優先度レベルのそれぞれに対応するキューを使用することができる。
上記実施例におけるスイッチ部は、FIFOのキューを使用して、フレーム廃棄及び出力ポートへのフレーム転送を実行するが、スイッチ部は、これと異なる入出力方法のバッファ制御を行ってもよい。
上記二つの実施例は、MAC学習済みフレームの帯域制御を行うが、本実施形態のフレーム廃棄制御は、帯域制御とは別に使用することができる。MAC学習済みフレームの帯域制御を行わない場合、例えば、全MAC学習済みフレームに、MAC未学習フレームのよりも低い廃棄優先度(高い転送優先度)が付与される。
上記二つの実施例は、VLANにおけるMACアドレスによるデータフレームの転送制御を行うが、本発明のデータ転送制御は、これと異なる種類のネットワーク、異なるレイヤ、又は異なるプロトコルのデータユニットの転送制御に適用することができる。
通信装置における構成要素は、プロセッサ上で稼動するソフトウェアで実装してもよいし、専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装してもよい。上記実施例の各構成要素の動作は一例であって、いずれの処理をいずれの構成要素が実行するかは、通信装置の設計に依存する。上記例は、スイッチ部によるバッファ制御において、フレームを廃棄するが、これと異なる構成要素がこれと異なる方法でフレーム廃棄を行ってもよい。
20A〜20I 通信装置
70 通信フレーム
80 装置内部ヘッダ
200 転送制御部
201−1〜201−n 物理ポート
202−1〜202−n フレーム処理ブロック
204 スイッチ部
205 経路制御部
206 入力ヘッダ解析部
207 MAC学習テーブル
208 帯域監視部
209 帯域監視テーブル
210 出力先決定部
211 出力先テーブル
213 OAM制御部
215 出力ヘッダ解析部
218 経路制御テーブル
219 VLANテーブル
220 送信OAMテーブル
221 受信OAMテーブル
223 VLAN障害テーブル
800 装置内部ヘッダ
2040 スイッチ部
2080 帯域制御部
2090 帯域制御テーブル

Claims (10)

  1. 複数ネットワークにおけるデータユニットを転送する通信装置であって、
    複数ポートと、
    前記複数ポートの間において、前記複数ネットワークのデータユニットの転送制御を行う転送制御部と、を含み、
    前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、
    前記転送制御部は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、
    前記転送制御部は、受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、
    前記転送制御部は、アドレス未学習データユニットに第1優先度レベルを付与し、
    前記転送制御部は、アドレス学習済みデータユニットに、第2優先度レベルを含む1以上の優先度レベルから優先度レベルを付与し、
    前記転送制御部は、前記第1優先度レベルのデータユニットを、前記第2優先度レベルのデータユニットよりも優先的に廃棄し、
    前記転送制御部は、廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、
    前記転送制御部は、廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する、通信装置。
  2. 請求項1に記載の通信装置であって、
    前記複数ネットワークは、第1ネットワークと第2ネットワークとを含み、
    障害発生により再構築された前記第1ネットワークの経路におけるアドレス学習済みデータユニットの出力ポートが、前記第2ネットワークのアドレス学習済みデータユニットの出力ポートと同一の第1ポートであり、当該第1ポートから出力されるべきデータユニットの廃棄数が閾値に達している場合に、前記転送制御部は、前記第1ネットワークの前記経路を変更することを決定する、通信装置。
  3. 請求項1又は2に記載の通信装置であって、
    前記転送制御部は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力するバッファを有し、
    前記転送制御部は、格納されているデータユニット数が閾値に達している前記バッファに、前記第2優先度レベルのデータユニットを格納し、前記第1優先度レベルのデータユニットを格納することなく廃棄する、通信装置。
  4. 請求項1又は2に記載の通信装置であって、
    前記転送制御部は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力する第1バッファと第2バッファとを有し、
    前記転送制御部は、前記第1優先度レベルのデータユニットを前記第1バッファに格納し、
    前記転送制御部は、前記第2優先度レベルのデータユニットを前記第2バッファに格納し、
    前記転送制御部は、前記第2バッファにおけるデータユニットを前記第1バッファのデータユニットよりも先も出力する、通信装置。
  5. 請求項1又は2に記載の通信装置であって、
    前記転送制御部は、前記複数ネットワークのそれぞれにおいて、アドレス学習済みデータユニットの帯域制御を行い、
    前記転送制御部は、受信したアドレス学習済みデータユニットのネットワーク識別子を参照して、当該アドレス学習済みデータユニットが属するネットワークを特定し、
    前記転送制御部は、前記特定したネットワークの帯域制御において、前記受信したアドレス学習済みデータユニットに、前記第1優先度レベル及び前記第2優先度レベルを含む複数優先度レベルから選択した一つの優先度レベルを付与する、通信装置。
  6. 複数ポートを有し、複数ネットワークにおけるデータユニットを転送する通信装置において、前記複数ポートの間において前記複数ネットワークのデータユニットの転送を制御する方法であって、
    前記データユニットのそれぞれは、ネットワーク識別子と宛先アドレスとを含み、
    前記通信装置は、データユニットの宛先アドレスと学習された出力ポートとを関連づけるアドレス学習情報と、前記複数ネットワークのそれぞれに割り当てられた出力ポートを示す出力先情報と、を有し、
    前記方法は、
    受信したデータユニットに含まれる宛先アドレスを前記アドレス学習情報において検索して、前記受信したデータユニットがアドレス学習済みデータユニットであるか、アドレス未学習データユニットであるかを判定し、
    アドレス未学習データユニットに第1優先度レベルを付与し、
    アドレス学習済みデータユニットに、第2優先度レベルを含む1以上の優先度レベルから優先度レベルを付与し、
    前記第1優先度レベルのデータユニットを、前記第2優先度レベルのデータユニットよりも優先的に廃棄し、
    廃棄されなかったアドレス学習済みデータユニットを、当該廃棄されなかったアドレス学習済みデータユニットの宛先アドレスに対して前記アドレス学習情報が示す出力ポートに転送し、
    廃棄されなかったアドレス未学習データユニットを、当該廃棄されなかったアドレス未学習データユニットのネットワーク識別子に対して前記出力先情報が示す出力ポートに転送する、ことを含む方法。
  7. 請求項6に記載の方法であって、
    前記複数ネットワークは、第1ネットワークと第2ネットワークとを含み、
    障害発生により再構築された前記第1ネットワークの経路におけるアドレス学習済みデータユニットの出力ポートが、前記第2ネットワークのアドレス学習済みデータユニットの出力ポートと同一の第1ポートであり、当該第1ポートから出力されるべきデータユニットの廃棄数が閾値に達している場合に、前記第1ネットワークの前記経路を変更することを決定する、ことをさらに含む方法。
  8. 請求項6又は7に記載の方法であって、
    前記通信装置は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力するバッファを有し、
    格納されているデータユニット数が閾値に達しているバッファに、前記第2優先度レベルのデータユニットを格納し、前記第1優先度レベルのデータユニットを格納することなく廃棄する、ことをさらに含む方法。
  9. 請求項6又は7に記載の方法であって、
    前記通信装置は、前記複数ポートのそれぞれに対応し、対応するポートに向けてデータユニットを出力する第1バッファと第2バッファとを有し、
    前記第1優先度レベルのデータユニットを前記第1バッファに格納し、
    前記第2優先度レベルのデータユニットを前記第2バッファに格納し、
    前記第2バッファにおけるデータユニットを前記第1バッファのデータユニットよりも先も出力する、ことをさらに含む方法。
  10. 請求項6又は7に記載の方法であって、
    前記複数ネットワークのそれぞれにおいて、アドレス学習済みデータユニットの帯域制御を行い、
    受信したアドレス学習済みデータユニットのネットワーク識別子を参照して、当該アドレス学習済みデータユニットが属するネットワークを特定し、
    前記特定したネットワークの帯域制御において、前記受信したアドレス学習済みデータユニットに、前記第1優先度レベル及び前記第2優先度レベルを含む複数優先度レベルから選択した一つの優先度レベルを付与する、ことをさらに含む方法。
JP2012153220A 2012-07-09 2012-07-09 通信装置及び通信装置においてデータユニットの転送を制御する方法 Pending JP2014017639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012153220A JP2014017639A (ja) 2012-07-09 2012-07-09 通信装置及び通信装置においてデータユニットの転送を制御する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012153220A JP2014017639A (ja) 2012-07-09 2012-07-09 通信装置及び通信装置においてデータユニットの転送を制御する方法

Publications (1)

Publication Number Publication Date
JP2014017639A true JP2014017639A (ja) 2014-01-30

Family

ID=50111968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012153220A Pending JP2014017639A (ja) 2012-07-09 2012-07-09 通信装置及び通信装置においてデータユニットの転送を制御する方法

Country Status (1)

Country Link
JP (1) JP2014017639A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028521A (ja) * 2015-07-23 2017-02-02 富士通株式会社 フレーム処理装置及びフレーム処理方法
KR20200032823A (ko) * 2018-09-19 2020-03-27 한국전자통신연구원 수동형 광 네트워크에서의 기계학습 기반 대역 할당 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009239836A (ja) * 2008-03-28 2009-10-15 Hitachi Cable Ltd スイッチングハブ
JP2011172271A (ja) * 2011-05-06 2011-09-01 Hitachi Ltd 通信装置
JP2012114646A (ja) * 2010-11-24 2012-06-14 Hitachi Cable Ltd ネットワーク中継装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009239836A (ja) * 2008-03-28 2009-10-15 Hitachi Cable Ltd スイッチングハブ
JP2012114646A (ja) * 2010-11-24 2012-06-14 Hitachi Cable Ltd ネットワーク中継装置
JP2011172271A (ja) * 2011-05-06 2011-09-01 Hitachi Ltd 通信装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028521A (ja) * 2015-07-23 2017-02-02 富士通株式会社 フレーム処理装置及びフレーム処理方法
KR20200032823A (ko) * 2018-09-19 2020-03-27 한국전자통신연구원 수동형 광 네트워크에서의 기계학습 기반 대역 할당 방법 및 장치
KR102398021B1 (ko) 2018-09-19 2022-05-17 한국전자통신연구원 수동형 광 네트워크에서의 기계학습 기반 대역 할당 방법 및 장치
US11412317B2 (en) 2018-09-19 2022-08-09 Electronics And Telecommunications Research Institute Method and apparatus for allocating bandwidth based on machine learning in passive optical network

Similar Documents

Publication Publication Date Title
Fang et al. A loss-free multipathing solution for data center network using software-defined networking approach
KR101474186B1 (ko) 광역 통신망 인터넷 프로토콜 백본을 위한 응집형 코어-에너지 효율적 아키텍처
US8427958B2 (en) Dynamic latency-based rerouting
US7212490B1 (en) Dynamic load balancing for dual ring topology networks
US7606147B2 (en) Application aware traffic shaping service node positioned between the access and core networks
US8817807B2 (en) System and method for distributed resource control of switches in a network environment
US7719966B2 (en) Network element architecture for deep packet inspection
US6680948B1 (en) System and method for transmitting packets over a long-haul optical network
US7590054B1 (en) Protection switching in an ethernet packet-switched network
US7835279B1 (en) Method and apparatus for shared shaping
JP4547339B2 (ja) 送信制御機能を備えるパケット中継装置
EP2742657B1 (en) Dynamic bandwidth adjustment in packet transport network
US10389646B2 (en) Evading congestion spreading for victim flows
JP2003158539A (ja) ネットワーク転送システム及び転送方法
US20120002543A1 (en) Method and apparatus for handling traffic in a data communication network
BRPI0621939A2 (pt) método para processar pacotes de unidifusão por ethernet recebidos em um comutador de ethernet, e, comutador de ethernet
US20090185569A1 (en) Composite Transport Functions
Feng et al. A ring-based single-link failure recovery approach in SDN data plane
US20160269322A1 (en) Switch device, control method, and storage medium
US9197438B2 (en) Packet forwarding node
JP2005204002A (ja) パケット中継装置
JP2014017639A (ja) 通信装置及び通信装置においてデータユニットの転送を制御する方法
US9094313B2 (en) Data and media access controller (MAC) throughputs
US10541935B2 (en) Network processors
CN108512771A (zh) 一种数据流负载分担的方法和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160105