(57)【要約】【課題】高精度なタイミングで正しい制御フレームを送信可能な中継システムおよびスイッチ装置を提供する。【解決手段】中継システムは、装置跨ぎのＬＡＧが設定され、ブリッジ用ポートを介して制御フレームの通信を行う第１および第２スイッチ装置を備える。各スイッチ装置は、メモリ部４２で、選択部４３から出力されるメモリアドレスに記憶される制御フレームＣＦのデータを、タイマ部４０に基づく送信タイミングで読み出す。ソフトウェア処理部３１は、データ領域［ｋ］４８ａに第１情報を持つ制御フレームのデータが記憶され、かつ選択部４３が第１ポインタＰＴ１を選択している状態で、第１情報を第２情報に変更する場合に、データ領域［ｋ］４８ｂに、第２情報を持つ制御フレームのデータを書き込み、それが完了した以降に、選択部４３に第２ポインタＰＴ２を選択させる。【選択図】図６
2016058835.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ、ブリッジ用ポートおよびＭＣＬＡＧ用ポートを有し、前記ブリッジ用ポートを介して互いに通信回線で接続される第１スイッチ装置および第２スイッチ装置を備える中継システムであって、
前記第１スイッチ装置および前記第２スイッチ装置のそれぞれは、前記ブリッジ用ポートから他装置に向けて制御フレームを定期的に送信し、前記ブリッジ用ポートで、前記他装置からの制御フレームを受信する制御フレーム処理部を有し、自装置のＭＣＬＡＧ用ポートと、前記他装置のＭＣＬＡＧ用ポートとの間にリンクアグリゲーショングループを設定し、
前記制御フレーム処理部は、
前記制御フレームの定期的な送信タイミングを定めるタイマ部と、
第１メモリアドレスを保持する第１ポインタと、
第２メモリアドレスを保持する第２ポインタと、
前記第１ポインタまたは前記第２ポインタを選択し、当該選択したポインタで保持されるメモリアドレスを出力する選択部と、
前記選択部から出力されるメモリアドレスから、前記タイマ部で定められる前記定期的な送信タイミングで前記制御フレームのデータを読み出すメモリ部と、
プロセッサで構成されるソフトウェア処理部と、
を有し、
前記ソフトウェア処理部は、前記メモリ部の前記第１メモリアドレスに第１情報を持つ前記制御フレームのデータが記憶され、かつ前記選択部が前記第１ポインタを選択している状態で、前記制御フレームが持つ情報を前記第１情報から第２情報に変更する場合に、
前記メモリ部の前記第２メモリアドレスに、前記第２情報を持つ前記制御フレームのデータを書き込む第１処理と、
前記第１処理でのデータの書き込みが完了した以降に、前記選択部に前記第２ポインタを選択させる第２処理と、
を実行する、
中継システム。
【請求項２】
請求項１記載の中継システムにおいて、
前記制御フレーム処理部は、前記他装置からの制御フレームを、前記定期的な送信タイミングに基づいて予め定められる所定の期間内に受信しない場合、前記他装置を障害有りと判定する、
中継システム。
【請求項３】
請求項２記載の中継システムにおいて、
前記制御フレームには、前記ＭＣＬＡＧ用ポートの障害有無の情報が含まれる、
中継システム。
【請求項４】
請求項１記載の中継システムにおいて、
前記ソフトウェア処理部は、前記第１処理および前記第２処理ののちに、前記制御フレームに持たせる情報を前記第２情報から前記第１情報に変更する場合に、前記選択部に前記第１ポインタを選択させる第３処理を実行する、
中継システム。
【請求項５】
請求項１記載の中継システムにおいて、
前記ソフトウェア処理部は、前記第１処理および前記第２処理ののちに、前記制御フレームに持たせる情報を前記第２情報から第３情報に変更する場合に、
前記メモリ部の前記第１メモリアドレスに、前記第３情報を持つ前記制御フレームのデータを書き込む第４処理と、
前記第４処理でのデータの書き込みが完了した以降に、前記選択部に前記第１ポインタを選択させる第５処理と、
を実行する、
中継システム。
【請求項６】
ブリッジ用ポートおよびＭＣＬＡＧ用ポートを有し、前記ブリッジ用ポートが他のスイッチ装置のブリッジ用ポートに接続され、自装置のＭＣＬＡＧ用ポートと、前記他のスイッチ装置のＭＣＬＡＧ用ポートとの間にリンクアグリゲーショングループを設定するスイッチ装置であって、
前記ブリッジ用ポートから前記他のスイッチ装置に向けて制御フレームを定期的に送信し、前記ブリッジ用ポートで、前記他のスイッチ装置からの制御フレームを受信する制御フレーム処理部を有し、
前記制御フレーム処理部は、
前記制御フレームの定期的な送信タイミングを定めるタイマ部と、
第１メモリアドレスを保持する第１ポインタと、
第２メモリアドレスを保持する第２ポインタと、
前記第１ポインタまたは前記第２ポインタを選択し、当該選択したポインタで保持されるメモリアドレスを出力する選択部と、
前記選択部から出力されるメモリアドレスから、前記タイマ部で定められる前記定期的な送信タイミングで前記制御フレームのデータを読み出すメモリ部と、
プロセッサで構成されるソフトウェア処理部と、
を有し、
前記ソフトウェア処理部は、前記メモリ部の前記第１メモリアドレスに第１情報を持つ前記制御フレームのデータが記憶され、かつ前記選択部が前記第１ポインタを選択している状態で、前記制御フレームが持つ情報を前記第１情報から第２情報に変更する場合に、
前記メモリ部の前記第２メモリアドレスに、前記第２情報を持つ前記制御フレームのデータを書き込む第１処理と、
前記第１処理でのデータの書き込みが完了した以降に、前記選択部に前記第２ポインタを選択させる第２処理と、
スイッチ装置。
【請求項７】
請求項６記載のスイッチ装置において、
前記制御フレーム処理部は、前記他のスイッチ装置からの制御フレームを、前記定期的な送信タイミングに基づいて予め定められる所定の期間内に受信しない場合、前記他のスイッチ装置を障害有りと判定する、
スイッチ装置。
【請求項８】
請求項７記載のスイッチ装置において、
前記制御フレームには、前記ＭＣＬＡＧ用ポートの障害有無の情報が含まれる、
スイッチ装置。
【請求項９】
請求項６記載のスイッチ装置において、
前記ソフトウェア処理部は、前記第１処理および前記第２処理ののちに、前記制御フレームに持たせる情報を前記第２情報から前記第１情報に変更する場合に、前記選択部に前記第１ポインタを選択させる第３処理を実行する、
スイッチ装置。
【請求項１０】
請求項６記載のスイッチ装置において、
前記ソフトウェア処理部は、前記第１処理および前記第２処理ののちに、前記制御フレームに持たせる情報を前記第２情報から第３情報に変更する場合に、
前記メモリ部の前記第１メモリアドレスに、前記第３情報を持つ前記制御フレームのデータを書き込む第４処理と、
前記第４処理でのデータの書き込みが完了した以降に、前記選択部に前記第１ポインタを選択させる第５処理と、
を実行する、
スイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継システムおよびスイッチ装置に関し、例えば、２台のスイッチ装置を跨いでリンクアグリゲーショングループが設定される中継システムおよびスイッチ装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、装置跨ぎのリンクアグリゲーションが設定される２台の物理ネットワーク装置を備えたネットワークシステムが示されている。２台の物理ネットワーク装置は、仮想的に１台のネットワーク装置を構成し、その仮想化制御のための制御信号を互いにやり取りする。
【０００３】
特許文献２には、設定された出力帯域を保証するため、フレームの読み出し完了を待たずに次のスケジューリングを先行して行うフレーム出力装置が示されている。当該フレーム出力装置は、フレームバッファに対する書き込みアドレスおよび読み出しアドレスを生成する管理手段と、フレームの読み出し順序を調整して読み出し要求を生成するスケジューラ手段と、読み出し要求を蓄積し、それを順次取り出して管理手段に供給する要求バッファ手段とを備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５０１８５号公報
【特許文献２】特開２０１１−０４９９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、冗長化方式として、特許文献１に示されるように、２台のスイッチ装置のそれぞれのポートを含む複数のポートにリンクアグリゲーショングループ（以降、ＬＡＧと略す）を設定する方式が知られている。当該冗長化方式では、１台のスイッチ装置で設定される一般的なＬＡＧと異なり、２台のスイッチ装置を跨いでＬＡＧが設定される。このため、通信回線の障害に対する冗長化や通信帯域の拡大といった一般的なＬＡＧによって得られる効果に加えて、スイッチ装置の障害に対する冗長化が実現可能になる。
【０００６】
本明細書では、このような装置跨ぎのＬＡＧをマルチシャーシスリンクアグリゲーショングループ（以降、ＭＣＬＡＧと略す）と呼ぶ。また、ＭＣＬＡＧが設定される２台のスイッチ装置の集合体をＭＣＬＡＧスイッチと呼ぶ。さらに、２台のスイッチ装置の一方から他方を見た場合の他方のスイッチ装置を、ピア装置と呼ぶ。
【０００７】
ＭＣＬＡＧスイッチを構成する２台のスイッチ装置は、特許文献１に示されるように、互いに制御フレームを送信する。この制御フレームは、例えば、ＭＣＬＡＧに関する障害有無の情報等を含み、定期的に送信される。この場合、２台のスイッチ装置の一方は、ピア装置からの制御フレームを所定の期間内に受信しない場合に、ピア装置を障害有りと判定することができる。
【０００８】
このような制御フレームの送信処理は、例えば、ソフトウェア処理に担わせることができる。ただし、ソフトウェア処理では、制御フレームの送信間隔にばらつきが生じる恐れがある。さらに、ある程度短い間隔で制御フレームを送信することが求められるような場合には、この送信間隔を満たせない恐れがある。送信間隔のばらつきや、送信間隔を満たせない事態が生じると、例えば、ピア装置に対する障害有無の判定に誤判定が生じる恐れがある。
【０００９】
そこで、本発明者等は、制御フレームの送信処理を、ソフトウェア処理ではなくハードウェア処理で行うことを検討した。具体的には、ハードウェア処理によって、定期的な送信タイミングを定め、予めメモリ部に記憶させた制御フレームを、この送信タイミングに基づいて送信する方式を検討した。ただし、当該方式では、制御フレーム内の情報を変更した際に、正しい制御フレームを送信できない場合が生じ得ることが見いだされた。
【００１０】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、高精度なタイミングで正しい制御フレームを送信可能な中継システムおよびスイッチ装置を提供することにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
【００１３】
本実施の形態による中継システムは、それぞれ、ブリッジ用ポートおよびＭＣＬＡＧ用ポートを有し、ブリッジ用ポートを介して互いに通信回線で接続される第１および第２スイッチ装置を備える。第１および第２スイッチ装置のそれぞれは、ブリッジ用ポートから他装置に向けて制御フレームを定期的に送信し、ブリッジ用ポートで、他装置からの制御フレームを受信する制御フレーム処理部を有し、自装置のＭＣＬＡＧ用ポートと、他装置のＭＣＬＡＧ用ポートとの間にリンクアグリゲーショングループを設定する。制御フレーム処理部は、タイマ部と、第１および第２ポインタと、選択部と、メモリ部と、ソフトウェア処理部と、を備える。タイマ部は、制御フレームの定期的な送信タイミングを定める。第１および第２ポインタは、それぞれ、第１および第２メモリアドレスを保持する。選択部は、第１ポインタまたは第２ポインタを選択し、当該選択したポインタで保持されるメモリアドレスを出力する。メモリ部は、選択部から出力されるメモリアドレスから、タイマ部で定められる定期的な送信タイミングで制御フレームのデータを読み出す。ソフトウェア処理部は、プロセッサで構成され、メモリ部の第１メモリアドレスに第１情報を持つ制御フレームのデータが記憶され、かつ選択部が第１ポインタを選択している状態で、制御フレームが持つ情報を第１情報から第２情報に変更する場合に、第１および第２処理を実行する。ソフトウェア処理部は、第１処理において、メモリ部の第２メモリアドレスに、第２情報を持つ制御フレームのデータを書き込み、第２処理において、第１処理でのデータの書き込みが完了した以降に、選択部に第２ポインタを選択させる。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ＭＣＬＡＧスイッチを含む中継システムにおいて、高精度なタイミングで正しい制御フレームを送信することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１による中継システムにおいて、その構成例を示す概略図である。
【図２】（ａ）および（ｂ）は、図１の中継システムにおいて、フレーム中継時の概略的な動作例を示す説明図である。
【図３】図２における制御フレームの構造例を示す概略図である。
【図４】図１の中継システムにおいて、ＭＣＬＡＧスイッチを構成するスイッチ装置の主要部の構成例を示すブロック図である。
【図５】（ａ）は、図４におけるアドレステーブルの構成例を示す概略図であり、（ｂ）は、図４におけるＭＣＬＡＧテーブルの構成例を示す概略図である。
【図６】本発明の実施の形態１によるスイッチ装置において、図４の制御フレーム送信部周りの構成例を示す概略図である。
【図７】図６の構成例を用いた場合の概略的な動作例を示すシーケンス図である。
【図８】図７の後に行われる概略的な動作例を示すシーケンス図である。
【図９】本発明の実施の形態２によるスイッチ装置において、図７の後に行われる図８とは異なる概略的な動作例を示すシーケンス図である。
【図１０】本発明の実施の形態３によるスイッチ装置において、図４の制御フレーム送信部周りの図６とは異なる構成例を示す概略図である。
【図１１】本発明の比較例として検討したスイッチ装置において、図４の制御フレーム送信部周りの構成例を示す概略図である。
【図１２】図１１の構成例を用いた場合の概略的な動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１７】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
（実施の形態１）
《中継システムの構成およびフレーム中継動作》
図１は、本発明の実施の形態１による中継システムにおいて、その構成例を示す概略図である。図１に示す中継システムは、２台のスイッチ装置（第１および第２スイッチ装置）ＳＷ１，ＳＷ２で構成されるＭＣＬＡＧスイッチＭＣＬＡＧＳＷと、複数（ここではｎ台）の通信装置１０［１］〜１０［ｎ］と、を備える。スイッチ装置ＳＷ１，ＳＷ２のそれぞれは、レイヤ２（Ｌ２）の中継処理を行うＬ２スイッチやレイヤ３（Ｌ３）の中継処理を行うＬ３スイッチ等である。本実施の形態は、Ｌ２スイッチを用いる場合を例とする。
【００２０】
スイッチ装置（第１および第２スイッチ装置）ＳＷ１，ＳＷ２のそれぞれは、ブリッジ用ポートＰｂと、複数（ここではｎ個）のポートＰ１〜Ｐｎを有し、ブリッジ用ポートＰｂを介して互いに通信回線１２で接続される。通信回線１２は、イーサネット（登録商標）回線で構成される場合や、専用回線で構成される場合がある。ｎ個のポートＰ１〜Ｐｎのそれぞれは、ここでは、ＭＣＬＡＧ用ポートであるものとする。ただし、ｎ個のポートＰ１〜Ｐｎは、全てＭＣＬＡＧ用ポートである必要はなく、少なくとも１個以上がＭＣＬＡＧ用ポートであればよい。この場合、その残りのポートは、ＭＣＬＡＧが設定されない一般ポートとなる。
【００２１】
ｎ台の通信装置１０［１］〜１０［ｎ］のそれぞれは、例えば、サーバ装置等の情報処理装置や、Ｌ２スイッチ等のスイッチ装置などである。通信装置１０［１］〜１０［ｎ］のそれぞれは、ポート（ＬＡＧ用ポート）Ｐｕ１，Ｐｕ２を有する。スイッチ装置ＳＷ１，ＳＷ２の各ＭＣＬＡＧ用ポートＰ１は、それぞれ、通信回線１３を介して通信装置１０［１］のＬＡＧ用ポートＰｕ１，Ｐｕ２に接続される。この例では、ＬＡＧ用ポートＰｕ１はスイッチ装置ＳＷ１側に接続され、ＬＡＧ用ポートＰｕ２はスイッチ装置ＳＷ２側に接続される。
【００２２】
同様に、スイッチ装置ＳＷ１，ＳＷ２の各ＭＣＬＡＧ用ポートＰ２は、それぞれ、通信回線１３を介して通信装置１０［２］のＬＡＧ用ポートＰｕ１，Ｐｕ２に接続され、スイッチ装置ＳＷ１，ＳＷ２の各ＭＣＬＡＧ用ポートＰｎは、それぞれ、通信回線１３を介して通信装置１０［ｎ］のＬＡＧ用ポートＰｕ１，Ｐｕ２に接続される。通信回線１３は、例えば、イーサネット回線で構成される。
【００２３】
ここで、スイッチ装置ＳＷ１，ＳＷ２のそれぞれは、自装置のＭＣＬＡＧ用ポートと、他装置のＭＣＬＡＧ用ポートとの間にＬＡＧ（すなわちＭＣＬＡＧ）を設定する。例えば、スイッチ装置ＳＷ１は、自装置（ＳＷ１）のＭＣＬＡＧ用ポートＰ１と、他装置（ＳＷ２）のＭＣＬＡＧ用ポートＰ１との間にＭＣＬＡＧ［１］を設定し、スイッチ装置ＳＷ２も、自装置（ＳＷ２）のＭＣＬＡＧ用ポートＰ１と、他装置（ＳＷ１）のＭＣＬＡＧ用ポートＰ１との間にＭＣＬＡＧ［１］を設定する。
【００２４】
同様に、スイッチ装置ＳＷ１は、自装置（ＳＷ１）のＭＣＬＡＧ用ポートＰ２と、他装置（ＳＷ２）のＭＣＬＡＧ用ポートＰ２との間にＭＣＬＡＧ［２］を設定し、スイッチ装置ＳＷ２も、自装置（ＳＷ２）のＭＣＬＡＧ用ポートＰ２と、他装置（ＳＷ１）のＭＣＬＡＧ用ポートＰ２との間にＭＣＬＡＧ［２］を設定する。以降同様にして、スイッチ装置ＳＷ１，ＳＷ２は、共に、ＭＣＬＡＧ用ポートＰｎにＭＣＬＡＧ［ｎ］を設定する。
【００２５】
一方、通信装置１０［１］は、ＬＡＧ用ポートＰｕ１，Ｐｕ２にＭＣＬＡＧ［１］を設定する。同様に、通信装置１０［２］は、ＬＡＧ用ポートＰｕ１，Ｐｕ２にＭＣＬＡＧ［２］を設定し、通信装置１０［ｎ］は、ＬＡＧ用ポートＰｕ１，Ｐｕ２にＭＣＬＡＧ［ｎ］を設定する。なお、ここでは、通信装置１０［１］〜１０［ｎ］のそれぞれは、ＬＡＧ用ポートＰｕ１，Ｐｕ２にＭＣＬＡＧを設定することとしたが、実際には、通常のＬＡＧを設定すればよく、特に、ＭＣＬＡＧとＬＡＧとを区別して取り扱う必要はない。
【００２６】
図２（ａ）および図２（ｂ）は、図１の中継システムにおいて、フレーム中継時の概略的な動作例を示す説明図である。ここでは、通信装置１０［１］は、ＭＡＣ（Media Access Control）アドレスＭＡ１を持つ情報処理装置等であり、通信装置１０［ｎ］は、ＭＡＣアドレスＭＡ２を持つ情報処理装置等であり、通信装置１０［１］から通信装置１０［ｎ］に向けてユーザフレームが転送される場合を想定する。また、図２（ａ）には障害が無い場合の動作例が示され、図２（ｂ）にはスイッチ装置ＳＷ１と通信装置１０［ｎ］との間の通信回線１３に障害が有る場合の動作例が示される。
【００２７】
図２（ａ）（または図２（ｂ））において、通信装置１０［１］は、ユーザフレームＵＦ１ａ（またはＵＦ１ｂ）を生成し、ＭＣＬＡＧ［１］における所定の分散規則に基づき、ＬＡＧ用ポートＰｕ１，Ｐｕ２のいずれか一方からユーザフレームＵＦ１ａ（またはＵＦ１ｂ）を送信する。ここでは、通信装置１０［１］は、ユーザフレームＵＦ１ａ（またはＵＦ１ｂ）を、ＬＡＧ用ポートＰｕ１からスイッチ装置ＳＷ１に向けて送信したものとする。スイッチ装置ＳＷ１は、ユーザフレームＵＦ１ａ（またはＵＦ１ｂ）をＭＣＬＡＧ用ポートＰ１で受信し、その送信元ＭＡＣアドレス（ここではＭＡ１）をＭＣＬＡＧ［１］に対応付けてアドレステーブル（ＦＤＢ）に学習する。
【００２８】
さらに、スイッチ装置ＳＷ１は、ユーザフレームＵＦ１ａ（またはＵＦ１ｂ）に含まれる宛先ＭＡＣアドレス（ここではＭＡ２）を検索キーとしてアドレステーブル（ＦＤＢ）を検索する。その結果、スイッチ装置ＳＷ１は、宛先ポートとしてＭＣＬＡＧ［ｎ］を得る。ここで、図２（ａ）に示すように、スイッチ装置ＳＷ１は、ＭＣＬＡＧ［ｎ］のメンバポートである自装置のＭＣＬＡＧ用ポートＰｎに障害が無い場合、ユーザフレームＵＦ１ａをＭＣＬＡＧ用ポートＰｎに中継する。これにより、ユーザフレームＵＦ１ａは、通信装置１０［ｎ］に転送される。
【００２９】
一方、図２（ｂ）に示すように、スイッチ装置ＳＷ１は、ＭＣＬＡＧ［ｎ］のメンバポートである自装置のＭＣＬＡＧ用ポートＰｎに障害が有る場合、ユーザフレームＵＦ１ｂをブリッジ用ポートＰｂに中継する。すなわち、スイッチ装置ＳＷ１は、自装置（ＳＷ１）のＭＣＬＡＧ用ポートＰｎと他装置（ＳＷ２）のＭＣＬＡＧ用ポートＰｎとの間にＭＣＬＡＧ［ｎ］が設定されていることを認識すると共に、スイッチ装置ＳＷ２のＭＣＬＡＧ用ポートＰｎに障害が無いことを認識した上で、ユーザフレームＵＦ１ｂをブリッジ用ポートＰｂに中継する。スイッチ装置ＳＷ２は、ブリッジ用ポートＰｂで受信したユーザフレームＵＦ１ｂを、宛先ポートであるＭＣＬＡＧ［ｎ］に対応する自装置のＭＣＬＡＧ用ポートＰｎに中継する。これにより、ユーザフレームＵＦ１ｂは、通信装置１０［ｎ］に転送される。
【００３０】
なお、図２（ｂ）において、スイッチ装置ＳＷ２は、様々な方式を用いてユーザフレームＵＦ１ｂを中継することができる。例えば、スイッチ装置ＳＷ２は、スイッチ装置ＳＷ１から宛先ポートであるＭＣＬＡＧ［ｎ］の識別子が付加されたユーザフレームＵＦ１ｂを受け、当該識別子に基づきユーザフレームＵＦ１ｂを中継する。あるいは、スイッチ装置ＳＷ２は、ユーザフレームＵＦ１ｂを受けた際に、自装置のアドレステーブル（ＦＤＢ）を検索し、その検索結果に基づきユーザフレームＵＦ１ｂを中継する。
【００３１】
以上のように、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷでは、例えば、ＭＣＬＡＧの１個のメンバポート（例えばＳＷ１のＰｎ）に障害が有る場合でも、当該ＭＣＬＡＧの他のメンバポート（例えばＳＷ２のＰｎ）を用いて代替え経路を構築することができる。その前提として、スイッチ装置ＳＷ１，ＳＷ２のそれぞれは、図２（ａ）および図２（ｂ）に示すように、ピア装置との間でブリッジ用ポートＰｂを介して定期的に制御フレームＣＦの送信および受信を行うことで、ピア装置に装置障害が無いことを認識する必要がある。例えば、スイッチ装置ＳＷ１は、スイッチ装置ＳＷ２からの制御フレームＣＦを所定の期間内に受信することで、スイッチ装置ＳＷ２に装置障害が無いことを認識する必要がある。
【００３２】
さらに、スイッチ装置ＳＷ１，ＳＷ２のそれぞれは、定期的に制御フレームＣＦの送信および受信を行うことで、障害有無の情報等を共有する必要がある。例えば、図２（ｂ）の例では、スイッチ装置ＳＷ１は、スイッチ装置ＳＷ２に向けて制御フレームＣＦを送信する際に、当該制御フレームＣＦの中に、自装置のＭＣＬＡＧ［ｎ］のメンバポート（すなわち、自装置のＭＣＬＡＧ用ポートＰｎ）に障害が有ることを示す情報を持たせる。スイッチ装置ＳＷ２は、当該制御フレームＣＦを受信することで、スイッチ装置ＳＷ１のＭＣＬＡＧ［ｎ］のメンバポートに障害が有ることを認識する。
【００３３】
一方、スイッチ装置ＳＷ２は、スイッチ装置ＳＷ１に向けて制御フレームＣＦを送信する際に、当該制御フレームＣＦの中に、自装置のＭＣＬＡＧ［ｎ］のメンバポート（すなわち、自装置のＭＣＬＡＧ用ポートＰｎ）に障害が無いことを示す情報を持たせる。スイッチ装置ＳＷ１は、当該制御フレームＣＦを受信することで、スイッチ装置ＳＷ２のＭＣＬＡＧ［ｎ］のメンバポートに障害が無いことを認識する。スイッチ装置ＳＷ１は、この認識に基づいて、図２（ｂ）のように、ユーザフレームＵＦ１ｂをブリッジ用ポートＰｂに中継する。
【００３４】
なお、ＭＣＬＡＧスイッチの動作は、図２（ａ）および図２（ｂ）のような動作に限定されるものではなく、様々な動作方式を用いることができる。例えば、２台のスイッチ装置に優劣順位を持たせ、原則的に優先される側のスイッチ装置からフレームの送信を行うような方式が挙げられる。図２（ａ）において、スイッチ装置ＳＷ２が優先される場合、スイッチ装置ＳＷ１は、図２（ｂ）のような障害が無い場合でも、ユーザフレームＵＦ１ａをブリッジ用ポートＰｂに中継する。
【００３５】
また、場合によっては、分散ＩＤ等に基づいてユーザフレームを送信するポートを２台のスイッチ装置ＳＷ１，ＳＷ２に振り分けるような方式も考えられる。いずれの方式を用いた場合であっても、スイッチ装置ＳＷ１，ＳＷ２のそれぞれでは、制御フレームＣＦを用いて、ピア装置の装置障害の有無を監視することや、ＭＣＬＡＧ用ポートの障害情報を共有すること等が必要となる。
【００３６】
《制御フレームのフレーム形式》
図３は、図２における制御フレームの構造例を示す概略図である。図３に示す制御フレームＣＦは、例えば、一般的なイーサネットフレームに準じた構造となっている。当該制御フレームは、宛先ＭＡＣアドレス１５、送信元ＭＡＣアドレス１６、ＶＬＡＮ（Virtual Local Area Network）識別子（ＶＩＤ）１７、イーサネットタイプ１８、およびＭＣＬＡＧデータ１９等を含む。
【００３７】
宛先ＭＡＣアドレス１５および送信元ＭＡＣアドレス１６には、スイッチ装置ＳＷ１，ＳＷ２のＭＡＣアドレスが格納される。ＶＬＡＮ識別子１７には、例えば、ブリッジ用ポートＰｂ間のネットワークを対象としたＶＬＡＮ値が格納される。イーサネットタイプ１８には、所定の固定値が格納される。ＭＣＬＡＧデータ１９には、各ＭＣＬＡＧ用ポートの障害有無の情報等を代表に、ＭＣＬＡＧスイッチとして機能するのに必要な各種情報が格納される。
【００３８】
《スイッチ装置の構成および動作》
図４は、図１の中継システムにおいて、ＭＣＬＡＧスイッチを構成するスイッチ装置の主要部の構成例を示すブロック図である。図５（ａ）は、図４におけるアドレステーブルの構成例を示す概略図であり、図５（ｂ）は、図４におけるＭＣＬＡＧテーブルの構成例を示す概略図である。
【００３９】
図４に示すスイッチ装置ＳＷは、複数（ｎ個）のＭＣＬＡＧ用ポートＰ１〜Ｐｎと、ブリッジ用ポートＰｂと、インタフェース部２５と、中継処理部２６と、プロセッサＣＰＵと、制御フレームハード処理部２７と、アドレステーブルＦＤＢと、ＭＣＬＡＧテーブル２８と、を備える。複数のＭＣＬＡＧ用ポートＰ１〜Ｐｎは、前述したように、全てがＭＣＬＡＧ用ポートである必要はなく、少なくとも１個以上がＭＣＬＡＧ用ポートであればよい。
【００４０】
インタフェース部２５は、受信バッファおよび送信バッファを備え、複数のポート（ＭＣＬＡＧ用ポートＰ１〜Ｐｎおよびブリッジ用ポートＰｂ）との間でフレーム（ユーザフレームまたは制御フレーム）の送信または受信を行う。インタフェース部２５は、ポートでフレームを受信した場合、その受信ポートを表すポート識別子（受信ポート識別子と呼ぶ）を当該フレームに付加する。また、インタフェース部２５は、宛先ポートを表す宛先ポート識別子が付加されたフレームを受信した際に、当該フレームを当該宛先ポートから送信する。
【００４１】
さらに、インタフェース部２５は、フレーム識別部２９および障害検出部３０を備える。フレーム識別部２９は、受信バッファで受信したフレームに対して、当該フレームがユーザフレーム（図２（ａ）のＵＦ１ａ等）か制御フレームＣＦかの識別を行う。フレーム識別部２９は、特に限定はされないが、宛先ＭＡＣアドレス（例えば自装置宛てか否か）やフレーム内の各種識別子によって識別動作を行う。フレーム識別部２９は、識別結果がユーザフレームの場合には、当該ユーザフレームを中継処理部２６に送信し、制御フレームＣＦの場合には、当該制御フレームＣＦを制御フレームハード処理部２７に送信する。
【００４２】
障害検出部３０は、ハードウェアによって各ポート（Ｐ１〜Ｐｎ，Ｐｂ）における障害有無（リンクダウン有無）を検出する。障害検出部３０は、例えば、受信した光信号レベルを監視し、光信号レベルの不足といった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。あるいは、障害検出部３０は、受信した信号から、アイドル状態で生成されるリンクパルス信号の有無や非アイドル状態でのデータ信号の有無を監視し、リンクパルス信号およびデータ信号が共に無しといった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。
【００４３】
アドレステーブルＦＤＢは、図５（ａ）に示すように、ポート識別子／ＭＣＬＡＧ識別子と、当該識別子が示すポート／ＭＣＬＡＧの先に存在するＭＡＣアドレスと、当該ＭＡＣアドレスに対応するＶＬＡＮ（Virtual Local Area Network）識別子と、の対応関係を保持する。図５（ａ）において、例えば、｛ＭＣＬＡＧ［１］｝は、ＭＣＬＡＧ［１］の識別子（ＩＤ）を表し、本明細書では、同様にして、｛ＡＡ｝は、「ＡＡ」の識別子（ＩＤ）を表すものとする。
【００４４】
図５（ａ）のアドレステーブルＦＤＢでは、図２（ａ）および図２（ｂ）の場合を例として、ＭＡＣアドレスＭＡ１とＭＣＬＡＧ識別子｛ＭＣＬＡＧ［１］｝との対応関係と、ＭＡＣアドレスＭＡ２とＭＣＬＡＧ識別子｛ＭＣＬＡＧ［ｎ］｝との対応関係と、が保持される。なお、仮にポートＰ１〜Ｐｎのいずれかが一般ポートである場合、アドレステーブルＦＤＢでは、この一般ポートに関し、ＭＣＬＡＧ識別子ではなくポート識別子が用いられる。
【００４５】
ＭＣＬＡＧテーブル２８は、図５（ｂ）に示すように、ＭＣＬＡＧ識別子と、当該ＭＣＬＡＧの各メンバポートのポート識別子と、当該各メンバポート毎の障害有無の情報と、を保持する。図５（ｂ）のＭＣＬＡＧテーブル２８では、図２（ｂ）の場合を例として、例えば、ＭＣＬＡＧ識別子｛ＭＣＬＡＧ［ｎ］｝と、そのメンバポートのポート識別子｛Ｐｎ｝（ＳＷ１），｛Ｐｎ｝（ＳＷ２）と、メンバポートの一方（スイッチ装置ＳＷ１のＭＣＬＡＧ用ポートＰｎ）における障害有りの情報と、が保持される。
【００４６】
中継処理部２６は、主に、アドレステーブルＦＤＢの学習および検索を行い、このアドレステーブルＦＤＢ等に基づいて各ポート（Ｐ１〜Ｐｎ，Ｐｂ）間でフレーム（例えばユーザフレーム）を中継する。具体的には、中継処理部２６は、ＭＣＬＡＧ用ポートＰ１〜Ｐｎで受信したユーザフレームをインタフェース部２５を介して受信した際に、当該ユーザフレームの送信元ＭＡＣアドレスを、受信ポート識別子および所定のＶＬＡＮ識別子に対応付けてアドレステーブルＦＤＢに学習する。この際に、中継処理部２６は、ＭＣＬＡＧテーブル２８に基づいて、受信ポート識別子が示すポートがＭＣＬＡＧのメンバポートである場合、受信ポート識別子の代わりにＭＣＬＡＧ識別子を用いてアドレステーブルＦＤＢの学習を行う。
【００４７】
また、中継処理部２６は、当該ユーザフレームの宛先ＭＡＣアドレスと所定のＶＬＡＮ識別子とを検索キーとしてアドレステーブルＦＤＢを検索し、宛先ポート識別子を取得する。宛先ポート識別子がＭＣＬＡＧ識別子の場合、中継処理部２６は、ＭＣＬＡＧテーブル２８に基づいて、当該ＭＣＬＡＧ識別子のメンバポートとなる自装置および他装置（ピア装置）のＭＣＬＡＧ用ポートを認識する。
【００４８】
ここで、中継処理部２６は、ＭＣＬＡＧテーブル２８に基づいて、自装置のＭＣＬＡＧ用ポートが障害無しの場合には、当該ＭＣＬＡＧ用ポートを表す宛先ポート識別子を付加したユーザフレームをインタフェース部２５に送信する。インタフェース部２５は、当該宛先ポート識別子が表すＭＣＬＡＧ用ポートからユーザフレームを送信する。一方、中継処理部２６は、ＭＣＬＡＧテーブル２８に基づいて、自装置のＭＣＬＡＧ用ポートが障害有りで、かつピア装置のＭＣＬＡＧ用ポートが障害無しの場合には、ブリッジ用ポートＰｂを表す宛先ポート識別子｛Ｐｂ｝を付加したユーザフレームをインタフェース部２５に送信する。これに応じて、インタフェース部２５は、ブリッジ用ポートＰｂからユーザフレームを送信する。
【００４９】
さらに、中継処理部２６は、図２（ｂ）のスイッチ装置ＳＷ２に関して述べたように、ブリッジ用ポートＰｂにユーザフレームを中継する際や、ブリッジ用ポートＰｂでユーザフレームを受信した際の各種処理を行う。例えば、中継処理部２６は、アドレステーブルＦＤＢの検索によって得られたＭＣＬＡＧ識別子（宛先ポート識別子）を付加したユーザフレームをブリッジ用ポートＰｂに中継したり、ＭＣＬＡＧ識別子（宛先ポート識別子）が付加されたユーザフレームをブリッジ用ポートＰｂで受信した際に、当該宛先ポート識別子に基づく中継を行う。なお、中継処理部２６の処理内容は、特にこれに限定されるものではなく、図２（ａ）および図２（ｂ）で述べたように、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷの動作方式に応じて適宜変更可能である。
【００５０】
制御フレームハード処理部２７は、例えば、ＦＰＧＡ（Field Programmable Gate Array）等を代表とするハードウェアによって構成され、制御フレーム受信部３２および制御フレーム送信部３３を備える。制御フレーム受信部３２は、ブリッジ用ポートＰｂで、他装置（ピア装置）からの制御フレームＣＦを受信する。この例では、制御フレーム受信部３２は、ブリッジ用ポートＰｂで受信した制御フレームＣＦをインタフェース部２５を介して受信する。
【００５１】
そして、制御フレーム受信部３２は、当該制御フレームＣＦを所定の期間内に受信したか否かを判定し、その判定結果をプロセッサＣＰＵに通知する。当該所定の期間は、制御フレームＣＦの定期的な送信タイミングに基づいて予め定められる。また、制御フレーム受信部３２は、例えば、制御フレームＣＦに含まれるＭＣＬＡＧデータ１９等をプロセッサＣＰＵに送信する。
【００５２】
制御フレーム送信部３３は、詳細は後述するが、ブリッジ用ポートＰｂから他装置（ピア装置）に向けて制御フレームＣＦを定期的に送信する。この例では、制御フレーム送信部３３は、例えば、ブリッジ用ポートＰｂを表す宛先ポート識別子｛Ｐｂ｝を付加した制御フレームＣＦを定期的にインタフェース部２５に送信し、インタフェース部２５を介してブリッジ用ポートＰｂから送信する。
【００５３】
なお、制御フレームハード処理部２７は、このようなＭＣＬＡＧ用の制御フレームＣＦの処理に加えて、イーサネットＯＡＭ（Operations, Administration, and Maintenance）等の処理を行ってもよい。イーサネットＯＡＭでは、例えば、ＣＣＭ（Continuity Check Message）等と呼ばれる制御フレーム（試験フレーム）を定期的に送信および受信することで、装置外部との間の疎通性を監視することができ、これによって、各ポートの障害有無を検出することができる。
【００５４】
プロセッサＣＰＵは、図示しないＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）に記憶されたプログラムを実行することで構成される各種処理部を備える。その一つとして、プロセッサＣＰＵは、制御フレームソフト処理部（ソフトウェア処理部）３１を備える。制御フレームソフト処理部３１は、前述した制御フレームハード処理部２７と共に制御フレーム処理部を構成し、制御フレームＣＦに関する各種処理を、制御フレームハード処理部２７と連携して行う。
【００５５】
例えば、制御フレームソフト処理部３１は、制御フレーム受信部３２からＭＣＬＡＧデータ１９を受信し、当該ＭＣＬＡＧデータ１９に含まれるＭＣＬＡＧ用ポートの障害有無の情報（すなわちピア装置のＭＣＬＡＧ用ポートの障害有無の情報）に基づいて、ＭＣＬＡＧテーブル２８を更新する。また、制御フレームソフト処理部３１は、制御フレーム受信部３２から制御フレームＣＦを所定の期間内に受信しなかった旨の通知を受けた際には、ブリッジ用ポートＰｂの状態を障害有りとして管理する。
【００５６】
さらに、制御フレームソフト処理部３１は、障害検出部３０での検出結果（例えば自装置のＭＣＬＡＧ用ポートの障害有無の情報）に基づいて制御フレームＣＦを生成し、詳細は後述するが、制御フレーム送信部３３に当該制御フレームＣＦの送信を行わせるための各種処理を行う。なお、制御フレームソフト処理部３１は、前述したように、制御フレームハード処理部２７がイーサネットＯＡＭの処理を行うような場合には、その障害有無の検出結果（例えば自装置のＭＣＬＡＧ用ポートの障害有無の情報）に基づいてＭＣＬＡＧテーブル２８を更新してもよい。この際には、制御フレームソフト処理部３１は、当該障害有無の検出結果に基づいて制御フレームＣＦの生成等を行ってもよい。
【００５７】
プロセッサＣＰＵは、このような制御フレームソフト処理部３１での処理の他に、障害検出部３０での検出結果に基づくＭＣＬＡＧテーブル２８の更新や、ユーザフレームに関する中継処理部２６と連携したソフトウェア処理や、スイッチ装置ＳＷ全体の管理なども行う。
【００５８】
《スイッチ装置における問題点の一例》
図１１は、本発明の比較例として検討したスイッチ装置において、図４の制御フレーム送信部周りの構成例を示す概略図である。図１１に示す制御フレーム送信部３３’は、タイマ部４０と、読み出し制御部４１と、パケットメモリ（メモリ部）４２と、ポインタテーブル［１］（第１ポインタ）ＰＴ１と、を備える。タイマ部４０は、定期的にトリガ信号４６を出力し、これによって制御フレームＣＦの定期的な送信タイミングを定める。読み出し制御部４１は、トリガ信号４６が入力された際に読み出しコマンド４７を出力する。ポインタテーブル［１］（第１ポインタ）ＰＴ１は、メモリアドレス（第１メモリアドレス）ＡＤＲ［ｋ］を保持する。
【００５９】
パケットメモリ（メモリ部）４２は、読み出しコマンド４７が入力された際に、ポインタテーブル［１］ＰＴ１で保持されるメモリアドレスに記憶されるデータを読み出す。パケットメモリ４２のメモリアドレスＡＤＲ［ｋ］でアクセスされるデータ領域［ｋ］４８ａには、予め制御フレームＣＦのデータが記憶される。その結果、パケットメモリ４２は、メモリアドレス（第１メモリアドレス）ＡＤＲ［ｋ］に記憶される制御フレームＣＦのデータを、タイマ部４０で定められる定期的な送信タイミングで読み出す。
【００６０】
制御フレームＣＦは、障害箇所が異なる毎に異なる情報を持つ（例えば図３のＭＣＬＡＧデータ１９が異なる）など、多くのバリエーションを持つ。したがって、制御フレームＣＦのデータは、制御フレームソフト処理部３１’によって生成され、制御フレームソフト処理部３１’によって予めデータ領域［ｋ］４８ａに書き込まれる。
【００６１】
図１２は、図１１の構成例を用いた場合の概略的な動作例を示すシーケンス図である。図１２では、既に、パケットメモリ４２のデータ領域［ｋ］４８ａに、正常時（障害無し時）の制御フレームＣＦ１のデータが記憶されているものとする。この状態で、パケットメモリ４２は、まず、ポインタテーブル［１］ＰＴ１で保持されるメモリアドレスＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に記憶される制御フレームＣＦ１のデータを、制御フレームの送信タイミングｔ１で読み出す（ステップＳ４０１）。
【００６２】
その後、制御フレームソフト処理部３１’は、例えば、障害検出部３０の検出結果等に基づき、自装置のＭＣＬＡＧ用ポートの障害有りを認識する（ステップＳ４０２）。これに応じて、制御フレームソフト処理部３１’は、この障害情報を含んだ制御フレームＣＦ２のデータを生成する（ステップＳ４０３）。そして、制御フレームソフト処理部３１’は、パケットメモリ４２のデータ領域［ｋ］４８ａに書き込みアクセスを行い、当該制御フレームＣＦ２のデータをデータ領域［ｋ］４８ａに書き込む（ステップＳ４０４，Ｓ４０５）。
【００６３】
ここで、例えば、パケットメモリ４２の１個のメモリアドレス当たりのデータサイズは、制御フレームソフト処理部３１’による１回の書き込みアクセス当たりのデータサイズよりも大きい場合がある。そうすると、データ領域［ｋ］４８ａにおいて、制御フレームＣＦ２のデータを読み出す際には、読み出し制御部４１によって１回の読み出しアクセスが行われるのに対して、制御フレームＣＦ２のデータを書き込む際には、制御フレームソフト処理部３１’によって複数回の書き込みアクセスが必要とされる場合がある。その結果、制御フレームＣＦ２のデータの書き込み時間は、制御フレームＣＦ２のデータの読み出し時間よりも長くなり得る。
【００６４】
そうすると、図１２に示されるように、未完成な制御フレームＣＦ２が読み出され、ピア装置に送信される恐れがある。具体的には、制御フレームソフト処理部３１’によって複数回の書き込みアクセスが行われている途中（ステップＳ４０５）で、制御フレームの次の送信タイミングｔ２が生じ、これに応じてパケットメモリ４２がデータ領域［ｋ］４８ａの読み出しを行ってしまう場合（ステップＳ４０６）がある。
【００６５】
この場合、読み出された制御フレームは、例えば、新たな情報（制御フレームＣＦ２のデータ）と過去の情報（制御フレームＣＦ１のデータ）とが混在したような情報を持ち得る。そうすると、当該制御フレームを受信したピア装置は、この誤った制御フレームに基づき、誤動作する恐れがある。
【００６６】
《制御フレーム処理部の主要部の構成および動作（本実施の形態）》
図６は、本発明の実施の形態１によるスイッチ装置において、図４の制御フレーム送信部周りの構成例を示す概略図である。図６には、図４における制御フレーム送信部３３および制御フレームソフト処理部３１を含む制御フレーム処理部の主要部の構成例が示される。図６に示す制御フレーム送信部３３は、図１１に示したタイマ部４０、読み出し制御部４１、パケットメモリ（メモリ部）４２およびポインタテーブル［１］（第１ポインタ）ＰＴ１に加えて、さらに、ポインタテーブル［２］（第２ポインタ）ＰＴ２と、選択部４３と、を備える。タイマ部４０、読み出し制御部４１およびポインタテーブル［１］（第１ポインタ）ＰＴ１に関しては図１１と同様であるため詳細な説明は省略する。
【００６７】
ポインタテーブル［２］（第２ポインタ）ＰＴ２は、メモリアドレス（第２メモリアドレス）ＡＤＲ［ｊ］を保持する。選択部４３は、ポインタテーブル［１］（第１ポインタ）ＰＴ１またはポインタテーブル［２］（第２ポインタ）ＰＴ２を選択し、当該選択したポインタで保持されるメモリアドレスを出力する。パケットメモリ（メモリ部）４２は、図１１の場合と異なり、選択部４３から出力されるメモリアドレスから、タイマ部４０で定められる定期的な送信タイミングで制御フレームＣＦのデータを読み出す。
【００６８】
これに応じて、パケットメモリ（メモリ部）４２は、メモリアドレスＡＤＲ［ｋ］でアクセスされるデータ領域［ｋ］４８ａに加えて、メモリアドレスＡＤＲ［ｊ］でアクセスされるデータ領域［ｊ］４８ｂを備えている。制御フレームソフト処理部３１は、図１１の場合と同様にパケットメモリ４２に対してメモリアクセスを行うことに加えて、選択部４３に対して選択信号４５を出力する。
【００６９】
図７は、図６の構成例を用いた場合の概略的な動作例を示すシーケンス図である。図７では、図１２の場合と同様に、既に、パケットメモリ４２のメモリアドレス（第１メモリアドレス）ＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に、正常時の制御フレームＣＦ１のデータが記憶されているものとする。正常時の制御フレームＣＦ１のデータは、言い換えれば、障害無しの情報（第１情報）を持つデータである。また、選択部４３は、既に、ポインタテーブル［１］（第１ポインタ）ＰＴ１を選択しているものとする。
【００７０】
このような状態で、パケットメモリ４２は、選択部４３に基づき、ポインタテーブル［１］ＰＴ１で保持されるメモリアドレスＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に記憶される制御フレームＣＦ１のデータを、制御フレームの送信タイミングｔ１で読み出す（ステップＳ１０１）。その後、制御フレームソフト処理部３１は、例えば、障害検出部３０の検出結果等に基づき、自装置のＭＣＬＡＧ用ポート（例えばＰ１）の障害有りを認識する（ステップＳ１０２）。
【００７１】
これに応じて、制御フレームソフト処理部（ソフトウェア処理部）３１は、この障害情報を含んだ制御フレームＣＦ２のデータを生成する（ステップＳ１０３）。言い換えれば、制御フレームソフト処理部３１は、制御フレームＣＦが持つ情報を、障害無しの情報（第１情報）から、所定のＭＣＬＡＧ用ポート（例えばＰ１）での障害有りの情報（第２情報）に変更する。そして、制御フレームソフト処理部３１は、図１２の場合と異なり、パケットメモリ（メモリ部）４２のメモリアドレス（第２メモリアドレス）ＡＤＲ［ｊ］（すなわちデータ領域［ｊ］４８ｂ）に書き込みアクセスを行い、データ領域［ｊ］４８ｂに障害有りの情報（第２情報）を持つ制御フレームＣＦ２のデータを書き込む（ステップＳ１０４，Ｓ１０５（第１処理））。
【００７２】
ここで、図７では、ステップＳ１０４，Ｓ１０５におけるデータ領域［ｊ］４８ｂへの書き込みの途中で、図１２の場合と同様に、送信タイミングｔ１の次の送信タイミングｔ２が生じている。しかしながら、パケットメモリ４２は、図１２の場合と異なり、選択部４３が依然としてポインタテーブル［１］（第１ポインタ）ＰＴ１を選択しているため、送信タイミングｔ２に応じて、書き込み途中でないデータ領域［ｋ］４８ａから正常時の制御フレームＣＦ１のデータを読み出すことができる。すなわち、新たな情報と過去の情報とが混在したような情報を持つ制御フレームがピア装置に向けて送信される事態を防止できる。
【００７３】
そして、制御フレームソフト処理部（ソフトウェア処理部）３１は、ステップＳ１０４，Ｓ１０５（第１処理）でのデータの書き込みが完了した以降に、選択信号４５を用いて選択部４３にポインタテーブル［２］（第２ポインタ）ＰＴ２を選択させる（ステップＳ１０７（第２処理））。これに応じて、選択部４３は、ポインタテーブル［２］ＰＴ２を選択する（ステップＳ１０８）。その後、パケットメモリ４２は、選択部４３に基づき、ポインタテーブル［２］ＰＴ２で保持されるメモリアドレスＡＤＲ［ｊ］（すなわちデータ領域［ｊ］４８ｂ）に記憶される制御フレームＣＦ２のデータを、送信タイミングｔ２の次の送信タイミングｔ３で読み出す（ステップＳ１０９）。
【００７４】
図８は、図７の後に行われる概略的な動作例を示すシーケンス図である。図８では、まず、図７で述べたように、選択部４３は、ポインタテーブル［２］（第２ポインタ）ＰＴ２を選択し、パケットメモリ４２は、送信タイミングｔ１０においてデータ領域［ｊ］４８ｂから制御フレームＣＦ２のデータを読み出している（ステップＳ２０１）。
【００７５】
この状態で、制御フレームソフト処理部（ソフトウェア処理部）３１は、例えば、障害検出部３０の検出結果等に基づき、自装置のＭＣＬＡＧ用ポート（例えばＰ１）の障害回復を認識する（ステップＳ２０２）。これに応じて、制御フレームソフト処理部３１は、制御フレームＣＦが持つ情報を、所定のＭＣＬＡＧ用ポート（例えばＰ１）での障害有りの情報（第２情報）から障害無しの情報（第１情報）に変更する。ただし、制御フレームソフト処理部３１は、当該障害無しの情報（第１情報）を持つ正常時の制御フレームＣＦ１のデータが既にデータ領域［ｋ］４８ａに記憶されていることを認識している。
【００７６】
そこで、制御フレームソフト処理部３１は、選択信号４５を用いて選択部４３にポインタテーブル［１］（第１ポインタ）ＰＴ１を選択させる（ステップＳ２０３（第３処理））。これに応じて、選択部４３は、ポインタテーブル［１］ＰＴ１を選択する（ステップＳ２０４）。その後、パケットメモリ４２は、選択部４３に基づき、ポインタテーブル［１］ＰＴ１で保持されるメモリアドレスＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に記憶される制御フレームＣＦ１のデータを、送信タイミングｔ１０の次の送信タイミングｔ１１で読み出す（ステップＳ２０５）。
【００７７】
《本実施の形態１の主要な効果等》
以上、本実施の形態１の中継システムおよびスイッチ装置を用いることで、代表的には、高精度なタイミングで正しい制御フレームＣＦを送信することが可能になる。その結果、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷの誤動作を防止できる。具体的に説明すると、まず、制御フレームＣＦを、図６に示したようなハードウェア処理によって定期的に送信しているため、制御フレームＣＦの送信間隔を高精度で一定に保つことができる。特に、ポインタテーブル（ＰＴ１，ＰＴ２）を用いてメモリアドレスを指定すると共に、タイマ部４０を用いて読み出しタイミングを定めることで、読み出しに際してソフトウェア処理は一切介在せず、送信間隔の高精度化が図れる。
【００７８】
また、当該ハードウェア処理を用いることで、制御フレームＣＦの送信間隔を短くするような必要性が生じた場合であっても、送信間隔の高精度化が図れる。このように、送信間隔を高精度化することで、制御フレームＣＦの受信有無に基づくピア装置の障害有無の判定を正しく行うことが可能になり、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷの誤動作を防止できる。また、制御フレームＣＦの送信間隔を短くすることで、例えば、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷにおける障害時の切り換え動作を迅速に行うことも可能になる。
【００７９】
さらに、図７のような方式を用いることで、制御フレームＣＦが持つ情報を変更する必要性が生じた場合であっても、正しい制御フレームＣＦを送信することが可能になる。すなわち、混在した情報を持つ誤った制御フレームＣＦが送信されるような事態を防止できる。この観点からも、ＭＣＬＡＧスイッチＭＣＬＡＧＳＷの誤動作を防止することが可能になる。
【００８０】
（実施の形態２）
《制御フレーム処理部の主要部の動作（変形例）》
図９は、本発明の実施の形態２によるスイッチ装置において、図７の後に行われる図８とは異なる概略的な動作例を示すシーケンス図である。図９では、まず、図７で述べたように、選択部４３は、ポインタテーブル［２］（第２ポインタ）ＰＴ２を選択し、パケットメモリ４２は、送信タイミングｔ１０においてデータ領域［ｊ］４８ｂから制御フレームＣＦ２のデータを読み出している（ステップＳ３０１）。
【００８１】
この状態で、制御フレームソフト処理部（ソフトウェア処理部）３１は、例えば、障害検出部３０の検出結果等に基づき、ＭＣＬＡＧ用ポート（例えばＰ１）に加えて更に別のＭＣＬＡＧ用ポート（例えばＰ２）の障害有りを認識する（ステップＳ３０２）。これに応じて、制御フレームソフト処理部３１は、この障害情報を含んだ制御フレームＣＦ３のデータを生成する（ステップＳ３０３）。言い換えれば、制御フレームソフト処理部３１は、制御フレームＣＦが持つ情報を、単数のＭＣＬＡＧ用ポート（例えばＰ１）での障害有りの情報（第２情報）から、複数のＭＣＬＡＧ用ポート（例えばＰ１，Ｐ２）での障害有りの情報（第３情報）に変更する。
【００８２】
そして、制御フレームソフト処理部３１は、パケットメモリ（メモリ部）４２のメモリアドレス（第１メモリアドレス）ＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に書き込みアクセスを行い、データ領域［ｋ］４８ａに当該障害有りの情報（第３情報）を持つ制御フレームＣＦ３のデータを書き込む（ステップＳ３０４，Ｓ３０５（第４処理））。
【００８３】
ここで、図９では、ステップＳ３０４，Ｓ３０５におけるデータ領域［ｋ］４８ａへの書き込みの途中で、送信タイミングｔ１０の次の送信タイミングｔ１１が生じている。しかしながら、パケットメモリ４２は、選択部４３が依然としてポインタテーブル［２］（第２ポインタ）ＰＴ２を選択しているため、送信タイミングｔ１１に応じて、書き込み途中でないデータ領域［ｊ］４８ｂから制御フレームＣＦ２のデータを読み出すことができる。すなわち、新たな情報（制御フレームＣＦ３のデータ）と過去の情報（制御フレームＣＦ２のデータ）とが混在したような情報を持つ制御フレームがピア装置に向けて送信される事態を防止できる。
【００８４】
そして、制御フレームソフト処理部（ソフトウェア処理部）３１は、ステップＳ３０４，Ｓ３０５（第４処理）でのデータの書き込みが完了した以降に、選択信号４５を用いて選択部４３にポインタテーブル［１］（第１ポインタ）ＰＴ１を選択させる（ステップＳ３０７（第５処理））。これに応じて、選択部４３は、ポインタテーブル［１］ＰＴ１を選択する（ステップＳ３０８）。その後、パケットメモリ４２は、選択部４３に基づき、ポインタテーブル［１］ＰＴ１で保持されるメモリアドレスＡＤＲ［ｋ］（すなわちデータ領域［ｋ］４８ａ）に記憶される制御フレームＣＦ３のデータを、送信タイミングｔ１１の次の送信タイミングｔ１２で読み出す（ステップＳ３０９）。
【００８５】
以上のように、データ領域［ｋ］４８ａおよびデータ領域［ｊ］４８ｂを交互に使用することで、実施の形態１で述べたような各種効果を、制御フレームＣＦが持つ情報がどのように変更される場合であっても得ることができる。
【００８６】
（実施の形態３）
《制御フレーム処理部の主要部の構成（応用例）》
図１０は、本発明の実施の形態３によるスイッチ装置において、図４の制御フレーム送信部周りの図６とは異なる構成例を示す概略図である。図１０に示す制御フレーム送信部３３は、図６の構成例に対して、さらに、メモリアドレスＡＤＲ［ｉ］を保持するポインタテーブル［３］ＰＴ３が追加された構成となっている。これに応じて、選択部４３は、選択信号４５に基づいて、ポインタテーブル［１］ＰＴ１〜ポインタテーブル［３］ＰＴ３のいずれか一個を選択し、当該選択したポインタテーブルで保持されるメモリアドレスを出力する。
【００８７】
また、パケットメモリ４２は、データ領域［ｋ］４８ａおよびデータ領域［ｊ］４８ｂに加えて、メモリアドレスＡＤＲ［ｉ］でアクセスされるデータ領域［ｉ］４８ｃを備えている。ここで、例えば、データ領域［ｋ］４８ａには、正常時（障害無し時）の制御フレームＣＦ１が記憶される。一方、データ領域［ｋ］４８ｂおよびデータ領域［ｋ］４８ｃは、障害有り時の制御フレームＣＦを記憶させるために確保される。
【００８８】
例えば、実施の形態２の方式を用いた場合、正常時の制御フレームＣＦ１のデータが上書きされるため、障害回復時には、再度、正常時の制御フレームＣＦ１のデータを生成し、所定のデータ領域に書き込み必要がある。さらに、この正常時の制御フレームＣＦ１のデータが書き込まれるデータ領域は、適宜変わり得る。正常時の制御フレームＣＦ１のデータは、通常、多くの期間で使用されるため、正常時の制御フレームＣＦ１のデータが上書きされたり、記憶されるデータ領域が変更されることが望ましくない場合がある。
【００８９】
そこで、図１０の方式を用いると、実施の形態１および実施の形態２で述べた各種効果に加えて、データ領域［ｋ］４８ａを正常時の制御フレームＣＦ１のデータ用として固定した状態で、データ領域［ｊ］４８ｂおよびデータ領域［ｉ］４８ｃを用いて実施の形態２の場合と同様の動作を行うことができる。また、障害回復時には、図８と同様の動作を行えばよい。
【００９０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９１】
例えば、本実施の形態のスイッチ装置は、ボックス型の構成でも、シャーシ型の構成でも実現可能である。シャーシ型のスイッチ装置は、例えば、装置外部との間でフレームの通信を行う複数のラインカードや、複数のラインカードに接続され、複数のラインカードの管理等を行う管理カード等を備える。このようなシャーシ型の構成を用いる場合、図６等に示した制御フレーム処理部は、ラインカードに設けることも、管理カードに設けることも可能である。
【符号の説明】
【００９２】
１０［１］〜１０［ｎ］  通信装置
１２，１３  通信回線
１５  宛先ＭＡＣアドレス
１６  送信元ＭＡＣアドレス
１７  ＶＬＡＮ識別子
１８  イーサタイプ
１９  ＭＣＬＡＧデータ
２５  インタフェース部
２６  中継処理部
２７  制御フレームハード処理部
２８  ＭＣＬＡＧテーブル
２９  フレーム識別部
３０  障害検出部
３１，３１’  制御フレームソフト処理部
３２  制御フレーム受信部
３３，３３’  制御フレーム送信部
４０  タイマ部
４１  読み出し制御部
４２  パケットメモリ
４３  選択部
４５  選択信号
４６  トリガ信号
４７  読み出しコマンド
４８ａ，４８ｂ，４８ｃ  データ領域
ＣＦ  制御フレーム
ＣＰＵ  プロセッサ
ＦＤＢ  アドレステーブル
ＭＣＬＡＧＳＷ  ＭＣＬＡＧスイッチ
Ｐ１〜Ｐｎ  ポート（ＭＣＬＡＧ用ポート）
ＰＴ１〜ＰＴ３  ポインタテーブル
Ｐｂ  ブリッジ用ポート
Ｐｕ１，Ｐｕ２  ポート（ＬＡＧ用ポート）
ＳＷ，ＳＷ１，ＳＷ２  スイッチ装置
ＵＬ１ａ，ＵＬ１ｂ  ユーザフレーム
【図１】
2016058835.tif 000003
【図２】
2016058835.tif 000004
【図３】
2016058835.tif 000005
【図４】
2016058835.tif 000006
【図５】
2016058835.tif 000007
【図６】
2016058835.tif 000008
【図７】
2016058835.tif 000009
【図８】
2016058835.tif 000010
【図９】
2016058835.tif 000011
【図１０】
2016058835.tif 000012
【図１１】
2016058835.tif 000013
【図１２】
2016058835.tif 000014