(57)【特許請求の範囲】
【請求項１】
フレームの転送に関する機能が実装された機能実装部と、
複数のポート間での前記フレームの転送を行う転送部と、
を備え、
前記機能実装部は、第１制御部、及び第１記憶部を有し、
前記転送部は、第２制御部、及び第２記憶部を有し、
前記第１記憶部は、前記機能に係わる複数の制御状態に対応するための、複数の種類の制御パケットを、リストとして格納し、
前記第２記憶部は、前記制御状態に応じた設定情報を格納し、
前記第１制御部は、前記制御状態に応じて、前記第１記憶部のリストから、複数の制御パケットからなるセットを読み出し、前記第２制御部へ送信し、
前記第２制御部は、前記セットの複数の制御パケットに従い、前記第２記憶部の設定情報を書き替え、
前記第１制御部は、送信制御部、及び送信部を含み、
前記送信制御部は、前記制御状態に応じた変換信号を出力し、
前記送信部は、選択表を含み、
前記選択表には、前記変換信号の値に応じて前記第１記憶部のリストのアドレスから前記セットを選択して読み出すための、対応付けの情報が設定されており、
前記機能実装部は、複数の機能が実装されており、
前記第１記憶部は、複数のリストを格納し、
前記リストは、複数の機能に対応付けられた複数のグループにおけるグループ毎のリストであり、
前記送信部は、前記グループを指定するオフセット信号が設定される設定レジスタを含み、
前記選択表には、前記オフセット信号の値に応じて、前記第１記憶部の複数のリストから、指定されたグループのリストを選択するための、対応付けの情報が設定されており、
前記リストの複数の種類の制御パケットは、前記設定情報における所定の設定の有効化の制御パケットと無効化の制御パケットとの２種類の制御パケットに分類され、
前記選択表は、前記有効化の制御パケットまたは無効化の制御パケットを選択するための有効無効選択ビットを含み、
前記設定情報は、前記ポートでの前記フレームの転送に係わるフィルタリングを規定するフィルタを含み、
前記リストは、前記フィルタを書き替えるための制御パケットを含み、
前記機能実装部の機能は、リング型ネットワークにおける経路の切り替えを含む制御処理を行うリング冗長機能を含み、
前記フィルタには、前記リング冗長機能による制御状態に応じて、前記ポート毎の前記フレームの廃棄の有効または無効の状態が設定され、
前記リストは、前記フレームの廃棄の有効化の制御パケットと無効化の制御パケットとを含む、
中継装置。
【請求項２】
請求項１記載の中継装置において、
前記第１制御部は、設定部を有し、
前記設定部は、前記リストに格納される制御パケット、及び前記選択表に格納される情報を設定する、
中継装置。
【請求項３】
第１の中継装置と第２の中継装置とを備える通信システムであって、
前記第１の中継装置は、フレームの転送に関する機能が実装された機能実装部を備え、
前記機能実装部は、第１制御部、及び第１記憶部を有し、
前記第２の中継装置は、複数のポート間での前記フレームの転送を行う転送部を備え、
前記転送部は、第２制御部、及び第２記憶部を有し、
前記第１記憶部は、前記機能に係わる複数の制御状態に対応するための、複数の種類の制御パケットを、リストとして格納し、
前記第２記憶部は、前記制御状態に応じた設定情報を格納し、
前記第１の中継装置の前記第１制御部は、前記制御状態に応じて、前記第１記憶部のリストから、複数の制御パケットからなるセットを読み出し、前記第２の中継装置へ送信し、
前記第２の中継装置の前記第２制御部は、前記セットの複数の制御パケットに従い、前記第２記憶部の設定情報を書き替え、
前記第１制御部は、送信制御部、及び送信部を含み、
前記送信制御部は、前記制御状態に応じた変換信号を出力し、
前記送信部は、選択表を含み、
前記選択表には、前記変換信号の値に応じて前記第１記憶部のリストのアドレスから前記セットを選択して読み出すための、対応付けの情報が設定されており、
前記機能実装部は、複数の機能が実装されており、
前記第１記憶部は、複数のリストを格納し、
前記リストは、複数の機能に対応付けられた複数のグループにおけるグループ毎のリストであり、
前記送信部は、前記グループを指定するオフセット信号が設定される設定レジスタを含み、
前記選択表には、前記オフセット信号の値に応じて、前記第１記憶部の複数のリストから、指定されたグループのリストを選択するための、対応付けの情報が設定されており、
前記リストの複数の種類の制御パケットは、前記設定情報における所定の設定の有効化の制御パケットと無効化の制御パケットとの２種類の制御パケットに分類され、
前記選択表は、前記有効化の制御パケットまたは無効化の制御パケットを選択するための有効無効選択ビットを含み、
前記設定情報は、前記ポートでの前記フレームの転送に係わるフィルタリングを規定するフィルタを含み、
前記リストは、前記フィルタを書き替えるための制御パケットを含み、
前記機能実装部の機能は、リング型ネットワークにおける経路の切り替えを含む制御処理を行うリング冗長機能を含み、
前記フィルタには、前記リング冗長機能による制御状態に応じて、前記ポート毎の前記フレームの廃棄の有効または無効の状態が設定され、
前記リストは、前記フレームの廃棄の有効化の制御パケットと無効化の制御パケットとを含む、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網における中継装置の技術に関し、特に、制御パケットを格納するメモリの技術に関する。
【背景技術】
【０００２】
リング型ネットワーク等の通信網を構成する中継装置は、プロトコルに応じた制御機能を備える。中継装置は、制御機能に係わる制御状態に応じて、内部の設定情報を設定する。従来の中継装置は、制御状態を切り替える場合、ソフトウェア処理により、内部の設定情報を書き替える。
【０００３】
通信装置におけるパケットを格納するメモリに関する先行技術例として、特開２０１３−４６１７３号公報（特許文献１）が挙げられる。特許文献１には、通信装置の制御装置において、ＴＣＰ／ＩＰ処理に係わり、ヘッダ情報をキューに蓄積し、ペイロードとの組合せによりパケットを合成して送信する構成により、メモリの量を削減する旨が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４６１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の中継装置は、ソフトウェア処理により内部の設定情報を書き替える構成の場合、高速な制御を実現しにくい。高速な制御を実現するためには、ハードウェア処理により内部の設定情報を書き替える構成を採用することが挙げられる。
【０００６】
ハードウェア処理により内部の設定情報を書き替える構成の場合、中継装置は、複数の制御状態に対応できるように、予め、複数の制御パケットを内部のメモリに格納しておく。なお、制御パケットを格納するメモリを、パケットメモリと呼ぶ場合がある。中継装置は、制御状態に応じてパケットメモリから制御パケットを読み出し、当該制御パケットを用いて設定情報を書き替える。
【０００７】
しかし、パケットメモリの容量は限られている。パケットメモリに複数の制御パケットを格納しておく構成とする場合、パケットメモリの使用容量が多くなる。
【０００８】
本発明の目的は、中継装置に関して、高速な制御を実現でき、制御パケットを格納するパケットメモリにおける使用容量を削減できる技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明のうち代表的な実施の形態は、中継装置及び通信システムであって、以下に示す構成を有することを特徴とする。
【００１０】
一実施の形態の中継装置は、フレームの転送に関する機能が実装された機能実装部と、複数のポート間でのフレームの転送を行う転送部と、を備え、機能実装部は、第１制御部、及び第１記憶部を有し、転送部は、第２制御部、及び第２記憶部を有し、第１記憶部は、機能に係わる複数の制御状態に対応するための、複数の種類の制御パケットを、リストとして格納し、第２記憶部は、制御状態に応じた設定情報を格納し、第１制御部は、制御状態に応じて、第１記憶部のリストから、複数の制御パケットからなるセットを読み出し、第２制御部へ送信し、第２制御部は、セットの複数の制御パケットに従い、第２記憶部の設定情報を書き替える。
【００１１】
一実施の形態の通信システムは、第１の中継装置と第２の中継装置とを備える通信システムであって、第１の中継装置は、フレームの転送に関する機能が実装された機能実装部を備え、機能実装部は、第１制御部、及び第１記憶部を有し、第２の中継装置は、複数のポート間でのフレームの転送を行う転送部を備え、転送部は、第２制御部、及び第２記憶部を有し、第１記憶部は、機能に係わる複数の制御状態に対応するための、複数の種類の制御パケットを、リストとして格納し、第２記憶部は、制御状態に応じた設定情報を格納し、第１の中継装置の第１制御部は、制御状態に応じて、第１記憶部のリストから、複数の制御パケットからなるセットを読み出し、第２の中継装置へ送信し、第２の中継装置の第２制御部は、セットの複数の制御パケットに従い、第２記憶部の設定情報を書き替える。
【発明の効果】
【００１２】
本発明のうち代表的な実施の形態によれば、中継装置に関して、高速な制御を実現でき、制御パケットを格納するパケットメモリにおける使用容量を削減できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１の中継装置を含む通信システムの構成例を示す図である。
【図２】本発明の実施の形態１の中継装置の構成を示す図である。
【図３】実施の形態１の中継装置の制御ＬＳＩの構成を示す図である。
【図４】実施の形態１における、制御ＬＳＩの第１制御部の処理例として、選択表を参照するまでの処理例を示す図である。
【図５】実施の形態１における、パケットメモリの構成を示す図である。
【図６】実施の形態１における、制御ＬＳＩの第１制御部の処理例として、パケットメモリから制御パケットを読み出す処理例を示す図である。
【図７】実施の形態１における、フィルタの構成例を示す図である。
【図８】実施の形態１における、フィルタの設定の切り替えの例を示す図である。
【図９】比較例の中継装置における、パケットメモリの構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１５】
（実施の形態１）
図１〜図８を用いて、本発明の実施の形態１の中継装置について説明する。
【００１６】
［通信システム］
図１は、本発明の実施の形態１の中継装置を含む通信システムの構成例を示す。通信システムは、実施の形態１の中継装置である４台の中継装置１００Ａ〜１００Ｄにより構成されるリング型ネットワークである。なお、リング型ネットワークをリングと称する場合がある。
【００１７】
実施の形態１の中継装置は、レイヤ２のフレームを中継するスイッチであり、プロトコルに応じた制御機能として、リング冗長機能を備える。リング冗長機能は、冗長の経路を含むリングの構成に基づいて、リングの状態を制御する機能であり、障害時の経路の切り替えを高速に実現する。リング冗長機能は、リングの各中継装置の各ポートを所定の状態に制御することにより、通常時の経路や、障害時の代替の経路を構成する。リング冗長機能は、データのループが発生しない経路を設定する。
【００１８】
中継装置１００Ａは、ポート４ａ，４ｂを含む複数のポートを有する。中継装置１００Ｂは、ポート４ｃ，４ｄを含む複数のポートを有する。中継装置１００Ｃは、ポート４ｅ，４ｆを含む複数のポートを有する。中継装置１００Ｄは、ポート４ｇ，４ｈを含む複数のポートを有する。
【００１９】
４台の中継装置１００Ａ〜１００Ｄは、ポート間がリンク９ａ〜９ｄで接続される。中継装置１００Ａのポート４ａと中継装置１００Ｂのポート４ｃはリンク９ａで接続される。中継装置１００Ｂのポート４ｄと中継装置１００Ｃのポート４ｆはリンク９ｂで接続される。中継装置１００Ｃのポート４ｅと中継装置１００Ｄのポート４ｇはリンク９ｃで接続される。中継装置１００Ｄのポート４ｈと中継装置１００Ａのポート４ｂはリンク９ｄで接続される。
【００２０】
各中継装置１００Ａ〜１００Ｄは、各ポートでフレームの送受信を行う。フレームは、制御フレームやユーザデータフレームがある。なお、図１中、破線の矢印は制御フレームを示し、実線の矢印はユーザデータフレームを示す。
【００２１】
各中継装置１００Ａ〜１００Ｄは、リング冗長機能に係わるフィルタ６ａ〜６ｄを有する。例えば、フィルタ６ａは、中継装置１００Ａのポート４ａ，４ｂを含む複数のポートに関するフィルタリングを規定する設定情報である。フィルタには、ポート毎にフレームに関する開閉状態が設定される。各フィルタ６ａ〜６ｄには、リング冗長機能による制御状態に応じたそれぞれの内容が設定される。
【００２２】
通常時の経路に対応したフィルタの設定例は以下である。フィルタ６ａにより、中継装置１００Ａのポート４ａがフォワーディングポート、ポート４ｂがブロッキングポートに設定される。フィルタ６ｂ〜６ｄにより、中継装置１００Ｂのポート４ｃ及びポート４ｄ、中継装置１００Ｃのポート４ｅ及びポート４ｆ、中継装置１００Ｄのポート４ｇ及びポート４ｈは、それぞれ、フォワーディングポートに設定される。
【００２３】
フォワーディングポートは、制御フレーム及びユーザデータフレームに関して開状態である。ブロッキングポートは、制御フレームに関して開状態、ユーザデータフレームに関して閉状態である。開状態は、ポートでフレームを通過させる状態である。閉状態は、ポートでフレームを通過させない状態、言い換えるとフレームを破棄する状態である。
【００２４】
通常時の経路では、中継装置１００Ａのポート４ｂがブロッキングポートであるため、ポート４ｂでユーザデータフレーム１０６，１０８の送受信が禁止される。これにより、リングにおけるデータのループが防止される。
【００２５】
［リング冗長機能］
リング冗長機能は、リングの障害を検出する機能、リングの障害を他の中継装置へ通知する機能、リングの障害やその復旧に応じて経路を切り替える機能、等を含む。経路を切り替える機能は、フィルタの設定を切り替える機能や、転送ＤＢを更新する機能を含む。リング冗長機能は、障害検出時、リングの各中継装置の各ポートの状態を切り替えることにより、通常時の経路から代替の経路へ切り替える。リング冗長機能は、障害復旧時、リングの各中継装置の各ポートの状態を切り替えることにより、代替の経路から通常時の経路へ切り替える。
【００２６】
実施の形態１では、リング冗長機能は、フィルタを用いる機能として、機能５１及び機能５２を含む。
【００２７】
機能５１は、隣接する中継装置間においてポートでリンクの障害を検出し、リンクの正常または障害の状態に応じて、フィルタを用いて、中継装置のポート毎のフレームに関する開閉状態を切り替える機能である。
【００２８】
機能５１による処理例は以下である。中継装置１００Ｄのフィルタ６ｄに着目して説明する。通常時の経路において、中継装置１００Ｄは、隣接する中継装置１００Ｃとのリンク９ｃの状態を、開状態のポート４ｇで監視する。中継装置１００Ｄは、ポート４ｇからリンク９ｃへ定期的に制御フレーム１０１を送信する。同様に、中継装置１００Ｃは、ポート４ｅからリンク９ｃへ定期的に制御フレーム１０３を送信する。
【００２９】
図１で、リングに障害１１０が発生しているとする。中継装置１００Ｄは、ポート４ｇでリンク９ｃからの制御フレーム１０３が受信できない場合、リンク９ｃの障害１１０として検出する。中継装置１００Ｄは、リンク９ｃの障害１１０を検出した場合、ポート４ｇを開状態から閉状態へ切り替えるように、フィルタ６ｄの設定を切り替える。これにより、中継装置１００Ｄは、リンク９ｃに対するフレームの送受信を停止する状態となる。
【００３０】
機能５２は、リングの障害やその復旧の通知に基づいて、リングの状態に応じて、フィルタを用いて、経路を切り替える機能である。機能５２は、経路の切り替えにおいて、所定の経路を含むリングの制御状態になるように、中継装置のポート毎の各種フレームに関する開閉状態を切り替える。この各種フレームは、制御フレームとユーザデータフレームとが区別される。すなわち、機能５２は、制御フレームに関する制御機能と、ユーザデータフレームに関する制御機能とを含む。それらの制御機能による制御は、独立に実行可能である。
【００３１】
機能５２による処理例は以下である。中継装置１００Ａのフィルタ６ａに着目して説明する。通常時の経路では、ポート４ｂがブロッキングポートである。図１で、リングに障害１１０が発生しているとする。中継装置１００Ｄは、中継装置１００Ｃとのリンク９ｃにおける障害１１０を、例えば前述の機能５１を用いて検出する。中継装置１００Ｄは、障害１１０を検出した場合、障害を通知するための制御フレーム１０７を、ポート４ｈからリンク９ｄへ送信する。中継装置１００Ａは、ポート４ｂで制御フレーム１０７を受信すると、リングの障害を認識し、フィルタ６ａの設定の切り替えにより、通常時の経路から代替の経路へ切り替える。すなわち、中継装置１００Ａは、ポート４ｂをブロッキングポートからフォワーディングポートへ切り替えることにより、リンク９ｄに対するユーザデータフレーム１０６，１０８の送受信を可能な状態にする。
【００３２】
同様に、中継装置１００Ａは、リングの障害復旧が通知された場合、フィルタ６ａの設定の切り替えにより、代替の経路から通常時の経路へ切り替える。すなわち、中継装置１００Ａは、ポート４ｂをフォワーディングポートからブロッキングポートへ切り替えることにより、リンク９ｄに対するユーザデータフレーム１０６，１０８の送受信を禁止の状態にする。
【００３３】
上記例のように、リング冗長機能による制御のため、中継装置１００Ａ〜１００Ｄ間では制御フレームが送受信される。そして、各中継装置１００Ａ〜１００Ｄは、内部では、リング冗長機能による制御状態に応じて、制御パケットを用いて、フィルタの設定を切り替える。
【００３４】
［中継装置］
図２は、本発明の実施の形態１の中継装置の構成を示す。図２の実施の形態１の中継装置は、いわゆるボックス型の中継装置である。実施の形態１の中継装置は、制御ＬＳＩ１、インタフェースＬＳＩ２、及び複数のポート４を備える。制御ＬＳＩ１とインタフェースＬＳＩ２とは、端子間がパス２１１で接続され、パス２１１を通じて通信可能である。制御ＬＳＩ１と複数のポート４とは、図示を省略するが、端子間がパス２１２により接続され、パス２１２を通じて通信可能である。インタフェースＬＳＩ２と複数のポート４とは、端子間がパス２１３により接続され、パス２１３を通じて通信可能である。
【００３５】
制御ＬＳＩ１は、中継装置の特有の機能が実装された機能実装部である。制御ＬＳＩ１は、インタフェースＬＳＩ２と連携して中継制御処理を行う。実施の形態１では、制御ＬＳＩ１に実装される機能は、図１のリング冗長機能を含む。制御ＬＳＩ１は、第１制御部１０、及びパケットメモリ３０を含む。制御ＬＳＩ１は、制御パケットを用いてインタフェースＬＳＩ２の内部の設定情報を書き替える機能を有する。
【００３６】
第１制御部１０は、機能に係わる制御処理を行う。第１制御部１０は、ハードウェア回路により構成され、ハードウェア処理を行う。第１制御部１０は、例えばＡＳＩＣ（Application Specific IC）やＦＰＧＡ（Field Programmable Gate Array）で構成される。第１制御部１０の処理は、パケットメモリ３０のリスト７に格納されている制御パケットを読み出してインタフェースＬＳＩ２の第２制御部２０へ送信する処理を含む。この制御パケットは、インタフェースＬＳＩ２の第２制御部２０に対する制御用のパケットであり、より詳しくはメモリ４０のフィルタ６の設定の切り替えの制御用のパケットである。
【００３７】
パケットメモリ３０は、第１制御部１０から直接アクセス可能な第１記憶部であり、複数のリスト７が格納される。パケットメモリ３０は、所定の容量を有し、複数のリスト７を格納するために一定の容量が使用される。リスト７は、グループ毎のリストである。グループは、機能に対応付けられたグループである。パケットメモリ３０の複数のリスト７には、リング冗長機能に係わる複数の全ての制御状態に対応するための、複数の種類の制御パケットが格納される。制御パケットは、制御状態に応じたフィルタ６の設定状態にするためのパケットである。複数のリスト７には、重複しないように分類及び整理された、必要最小限の複数の種類の制御パケットが格納される。複数の種類の制御パケットは、フィルタ６に設定する要素の組合せにより構成される。
【００３８】
インタフェースＬＳＩ２は、ハードウェア回路の処理により複数のポート４間でのフレームの転送を制御する転送部である。インタフェースＬＳＩ２は、第２制御部２０、メモリ４０、及び転送ＤＢ５を含む。インタフェースＬＳＩ２は、ポート４で受信するフレーム２０３や、ポート４から送信するフレーム２０４について、転送ＤＢ５の情報を読み書きしながら、複数のポート４間での転送を制御する。フレーム２０３，２０４は、制御フレームやユーザデータフレームがある。
【００３９】
第２制御部２０は、フレームの転送に関する制御処理を行う。第２制御部２０は、ハードウェア回路により構成され、ハードウェア処理を行う。第２制御部２０は、例えばＡＳＩＣやＦＰＧＡで構成される。第２制御部２０の処理は、メモリ４０に格納されているフィルタ６を含む設定情報を読み書きする処理を含む。第２制御部２０は、第１制御部１０から受信した制御パケットに従い、フィルタ６の情報を書き替える。
【００４０】
メモリ４０は、第２制御部２０から直接アクセス可能な第２記憶部であり、フィルタ６を含む各種の設定情報が格納される。メモリ４０は、例えばレジスタやＲＡＭで構成される。
【００４１】
フィルタ６は、後述の図７に示すが、リング冗長機能による制御状態に応じて、ポート４毎に、入口及び出口における各種フレームに関する開閉状態が設定される。フィルタ６は、例えば特定のレジスタまたは表で構成される。
【００４２】
複数のポート４は、イーサネット（登録商標）等の外部インタフェースに対応しており、フレームを送受信する機能を有し、図１のようにリンクを通じて他の中継装置のポートに接続される。
【００４３】
転送ＤＢ５は、ポートとＭＡＣアドレスとの対応関係の情報が学習情報として格納されるデータベースである。インタフェースＬＳＩ２は、転送ＤＢ５に対する学習情報の書き込み、検索、消去、等を行う機能を有する。
【００４４】
インタフェースＬＳＩ２は、外部からのフレーム２０３をポート４で受信すると、転送ＤＢ５に、フレーム２０３を受信したポート４のポートＩＤと、フレーム２０３の送信元ＭＡＣアドレスとの対応関係の情報を格納して学習する。インタフェースＬＳＩ２は、フレーム２０３の宛先ＭＡＣアドレスをキーに転送ＤＢ５を検索し、宛先ＭＡＣアドレスに対応付けられたポートＩＤが得られた場合、当該ポートＩＤのポート４へフレーム２０３を転送し、当該ポート４から外部へ送信する。
【００４５】
また、インタフェースＬＳＩ２や制御ＬＳＩ１は、内部で生成した制御フレームを、パス２１２，２１３を通じてポート４から外部へ送信する。また、インタフェースＬＳＩ２や制御ＬＳＩ１は、ポート４で受信した制御フレームを、パス２１２，２１３を通じて受け取り、制御フレームの内容に従い、処理を行う。
【００４６】
インタフェースＬＳＩ２は、ポート４で受信するフレーム２０３やポート４から送信するフレーム２０４について、フィルタ６を参照して所定のフィルタリングを適用する処理を行う。インタフェースＬＳＩ２は、フィルタ６の設定内容において例えば当該ポート４の入口側が閉状態の場合、当該ポート４で受信するフレーム２０３を破棄し、当該ポート４の出口側が閉状態の場合、当該ポート４から送信するフレーム２０４を破棄する。
【００４７】
中継装置の内部での処理概要は以下である。制御ＬＳＩ１の第１制御部１０は、リング冗長機能による制御状態に応じて、パケットメモリ３０のリスト７から、フィルタ６の設定の切り替えのために必要な、複数の制御パケットからなるセットを選択して読み出す。第１制御部１０は、読み出したセットを、要求のパケット２０１として、パス２１１を通じて、インタフェースＬＳＩ２の第２制御部２０へ送信する。この要求は、制御状態に応じた設定の切り替えのためにフィルタ６の表の情報を書き替える指示に相当する。
【００４８】
インタフェースＬＳＩ２の第２制御部２０は、制御ＬＳＩ１の第１制御部１０から、パス２１１を通じて、要求のパケット２０１を受信する。第２制御部２０は、受信した要求のパケット２０１における、セットの複数の制御パケットに従い、メモリ４０のフィルタ６の情報を書き替えることにより、制御状態に応じた設定状態へ切り替える。
【００４９】
第２制御部２０は、フィルタ６の設定の切り替えの処理を成功した場合、成功を示す応答のパケット２０２を、パス２１１を通じて、制御ＬＳＩ１の第１制御部１０へ送信する。第１制御部１０は、成功を示す応答のパケット２０２を受信し、一連の処理の完了を認識する。
【００５０】
第２制御部２０は、フィルタ６の設定の切り替えの処理を失敗した場合、失敗を示す応答のパケット２０２を、パス２１１を通じて、制御ＬＳＩ１の第１制御部１０へ送信する。第１制御部１０は、失敗を示す応答のパケット２０２を受信した場合、あるいは、応答のパケット２０２を受信できない場合、要求のパケット２０１の再送によるリトライを行う。第２制御部２０は、リトライの要求のパケット２０１を受信した場合、設定の切り替えの処理をリトライする。
【００５１】
中継装置は、その他、図示しないが、設定機能に対応したユーザインタフェースを有する。例えば、管理者は、運用管理保守用の端末から中継装置にアクセスし、設定機能により提供される画面において、中継装置の設定の状態の確認や、設定の変更が可能である。
【００５２】
上記のように、実施の形態１の中継装置は、制御ＬＳＩ１のパケットメモリ３０から読み出した制御パケットにより、インタフェースＬＳＩ２のフィルタ６の情報を書き替える構成である。これにより、実施の形態１の中継装置は、リング冗長機能に対応して、設定及び動作を高速に切り替え可能である。
【００５３】
［制御ＬＳＩ］
図３は、実施の形態１の中継装置の制御ＬＳＩ１の構成を示す。制御ＬＳＩ１は、第１制御部１０、パケットメモリ３０、及びリング冗長機能処理部１５を有する。
【００５４】
リング冗長機能処理部１５は、図１のリング冗長機能に対応した処理が実装された部分である。リング冗長機能処理部１５は、中継装置の外部から受信した制御フレームや、中継装置の内部で生成された情報に従い、リング冗長機能に対応した制御処理を行う。リング冗長機能処理部１５は、制御状態３０１の情報を出力する。制御状態３０１の情報は、リング冗長機能のうちのどの機能によるどのような制御状態であるかを表す情報である。
【００５５】
制御状態は、独立な機能ごとに複数のグループに分割される。実施の形態１では、次の３つの機能を３つのグループＧＲ０〜ＧＲ２に分割する。第１グループＧＲ０は、機能５１に関するグループである。第２グループＧＲ１は、機能５２のうち制御フレームに関するグループである。第３グループＧＲ２は、機能５２のうちユーザデータフレームに関するグループである。
【００５６】
実施の形態１では、パケットメモリ３０には、３つのリスト７１〜７３が格納されている。３つのリスト７１〜７３は、３つのグループＧＲ０〜ＧＲ２に対応付けられる。リスト７１は、第１グループＧＲ０に対応した複数の種類の制御パケットを格納する。リスト７２は、第２グループＧＲ１に対応した複数の種類の制御パケットを格納する。リスト７３は、第３グループＧＲ２に対応した複数の種類の制御パケットを格納する。
【００５７】
実施の形態１の中継装置は、リング冗長機能及びその制御状態に応じて、対応するグループのリスト７を選択して、複数の制御パケットからなるセットを読み出し、フィルタ６の設定を切り替える。各グループのリスト７を用いた設定の切り替えは、独立に実行可能である。
【００５８】
第１制御部１０は、送信制御部１１、送信部１２、及び設定部１３を有する。送信制御部１１は、グループ分割部１１Ａ、検出部１１Ｂ、及び優先度制御部１１Ｃを含む。送信部１２は、選択信号生成部１２Ａ、選択表８、及びパケット送信部１２Ｃを含む。
【００５９】
第１制御部１０は、リング冗長機能処理部１５からの制御状態３０１の情報を送信制御部１１に入力する。送信制御部１１は、制御状態３０１の情報をグループ分割部１１Ａに入力する。
【００６０】
グループ分割部１１Ａは、制御状態３０１を所定のグループに分割し、グループ毎の状態を表す変換信号３０２として出力する。この変換は、送信部１２での処理のために必要な変換であり、制御状態３０１に応じて選択表８の情報を選択するためのマッピングを含む。変換信号３０２は、検出部１１Ｂに入力される。
【００６１】
検出部１１Ｂは、変換信号３０２に基づいて、グループ毎に状態変化を検出し、変換信号３０２及びそのグループを指定するグループ信号３０６を出力する。
【００６２】
優先度制御部１１Ｃには、変換信号３０２及びグループ信号３０６が入力される。優先度制御部１１Ｃは、グループ信号３０６及び所定の優先度に応じて、変換信号３０２から最優先のグループの信号を選択して、その変換信号３０２を出力する。所定の優先度として、具体的には、グループＧＲ０，ＧＲ１，ＧＲ２の順に優先度が高い。例えば、グループＧＲ０の方が、グループＧＲ１よりも優先される。送信制御部１１は、変換信号３０２及びグループ信号３０６を、送信部１２へ出力する。
【００６３】
送信部１２は、制御状態３０１に応じた変換信号３０２及びグループ信号３０６を選択信号生成部１２Ａに入力する。選択信号生成部１２Ａは、変換信号３０２及びグループ信号３０６に基づいて、選択表８のインデックスを表す選択信号３０４を生成する。
【００６４】
また、第１制御部１０は、外部から、機能あるいはグループの指定に関する指示３１０が入力された場合、指示３１０に従い、設定部１３により、選択信号生成部１２Ａ（後述の図４の設定レジスタ１２Ｂ）に、特定の機能に対応するグループを指定する設定ができる。指示３１０は、リング冗長機能処理部１５からの指示、中継装置内の他の部位からの指示、管理者による指示、等が挙げられる。
【００６５】
送信部１２は、選択信号３０４により選択表８を参照し、選択表８からパケットメモリ３０のリスト７のアドレスを得る。そして、送信部１２は、リスト７のアドレスから、複数の制御パケットからなるセット３０５を選択して読み出す。
【００６６】
パケット送信部１２Ｃは、読み出されたセット３０５を、図２の要求のパケット２０１として構成し、パス２１１を通じて、インタフェースＬＳＩ２の第２制御部２０へ送信する。
【００６７】
実施の形態１の中継装置は、パケットメモリ３０の構成に合わせて、選択表８を設けている。選択表８には、制御状態３０１に応じてパケットメモリ３０のリスト７から制御パケットを選択して読み出すための対応付けの情報が設定されている。選択表８の対応付けの情報は、機能に応じたグループのリスト７を選択し、そのリスト７から制御状態に応じた必要な制御パケットのセットを選択するための情報である。
【００６８】
更に、実施の形態１の中継装置は、パケットメモリ３０及び選択表８の内容を可変に設定する設定機能を提供する。設定部１３は、この設定機能に対応した処理機能も備える。設定部１３は、パケットメモリ３０のリスト７に登録する制御パケット、及びそれに合わせた選択表８の情報の設定が可能である。例えば、リング冗長機能やフィルタ６の構成が更新される場合、それに合わせて、フィルタ６の設定の切り替えのために必要な制御パケットの構成も変わる場合がある。その場合、管理者は、設定機能を利用する。管理者は、端末から中継装置にアクセスし、設定機能により提供される画面で、パケットメモリ３０のリスト７の制御パケット及び選択表８の情報を表示して確認できる。そして、管理者は、画面で、パケットメモリ３０のリスト７に登録する制御パケット、及び選択表８の情報を変更し、設定更新を実行する。これに従い、設定部１３は、パケットメモリ３０のリスト７の制御パケット及び選択表８の情報の設定を更新する処理を行う。
【００６９】
［第１制御部の処理例（１）］
図４は、第１制御部１０の処理例として、選択表８を参照するまでの処理例を示す。本処理例では、制御状態３０１は、図１の機能５１による、中継装置１００Ｄの２個のポート４ｇ，４ｈの制御状態とし、「第１状態」から「第２状態」へ変化する場合とする。「第１状態」は、通常時、リンク９ｃの正常の状態に応じて、ポート４ｇを開状態にする制御状態である。「第２状態」は、リンク９ｃの障害１１０の状態に応じて、ポート４ｇを閉状態にする制御状態である。なお、ポート４ｇの開閉状態の制御に合わせて、ポート４ｈも開閉状態が制御される。本処理例では、「第１状態」は、ポート４ｇを開状態、かつポート４ｈを開状態とし、「第２状態」は、ポート４ｇを閉状態、かつポート４ｈを開状態とする。
【００７０】
送信制御部１１には、リング冗長機能処理部１５から、制御状態３０１として、機能５１による「第２状態」が入力される。送信制御部１１は、グループ分割部１１Ａにより「第２状態」を変換信号３０２へ変換し、検出部１１Ｂへ出力する。このとき、「第１状態」から「第２状態」への変化により、機能５１に対応付けられるグループにおける第１グループＧＲ０のみが変化するとする。検出部１１Ｂは、この第１グループＧＲ０の変化を検出し、第１グループＧＲ０を指定するグループ信号３０６を出力する。また、検出部１１Ｂは、変換信号３０２をそのまま出力する。変換信号３０２及びグループ信号３０６は、優先度制御部１１Ｃへ入力される。このグループ信号３０６が第１グループＧＲ０を示しているため、優先度制御部１１Ｃにより、変換信号３０２のうちの第１グループＧＲ０の変換信号３０２のみが送信部１２へ出力される。また、それに合わせて第１グループＧＲ０を示すグループ信号３０６も送信部１２へ出力される。
【００７１】
送信部１２の選択信号生成部１２Ａは、設定レジスタ１２Ｂ及び加算部１２Ｄを含む。
【００７２】
送信部１２の選択信号生成部１２Ａには、「第２状態」に応じた変換信号３０２及びグループ信号３０６が入力される。この変換信号３０２は、ポート制御状態に対応し、「ＧＲｎ＿ＲＥＦ＿ＳＴＡＴ（Ｐ２，Ｐ１）」といった形式である。Ｐ１，Ｐ２は、ポートＩＤを示す。例えば、図１の中継装置１００Ｄ内において、ポート４ｇのポートＩＤが「Ｐ１」、ポート４ｈのポートＩＤが「Ｐ２」とする。ポート毎の状態の値として、例えば、値０を開状態、値１を閉状態とする。「ＳＴＡＴ（Ｐ２，Ｐ１）」の各ポートＩＤの位置には、ポート毎の状態の値が格納される。「第１状態」の場合、「Ｐ１」の状態が値０、「Ｐ２」の状態が値０である。「第２状態」の場合、「Ｐ１」の状態が値１、「Ｐ２」の状態が値０である。「第２状態」の場合の変換信号３０２は、「ＧＲｎ＿ＲＥＦ＿ＳＴＡＴ（０，１）」のようになり、この値は十進数で例えば１になる。
【００７３】
グループ信号３０６は、「ＧＲｎ」で示すグループＩＤを含む。グループＩＤは、ＧＲ０〜ＧＲ２とする。グループ信号３０６は、ＧＲ０〜ＧＲ２のうち１つが指定される。本例では、グループ信号３０６は、機能５１に応じた第１グループＧＲ０が指定される。
【００７４】
送信部１２は、入力されたグループ信号３０６に応じて、設定レジスタ１２Ｂから、第１グループＧＲ０に応じた選択表８のインデックスのオフセット信号３０３を読み出す。オフセット信号３０３は、「ＧＲｎ＿ＳＥＬ＿ＴＢＬ＿ＯＦＦＳＥＴ」といった形式である。例えば、第１グループＧＲ０に応じたオフセット信号３０３の値は十進数で０であり、第２グループＧＲ１に応じたオフセット信号３０３の値は十進数で４である。
【００７５】
選択信号生成部１２Ａの設定レジスタ１２Ｂには、予め、設定部１３により、グループの指定に応じたオフセット信号３０３が設定可能である。第１制御部１０は、例えば中継装置の起動時あるいは必要な時に、設定部１３により、設定レジスタ１２Ｂに、特定の機能に対応するグループを指定する設定を行う。
【００７６】
選択表８には、制御状態３０１及びグループに応じた選択信号３０４の値と、パケットメモリ３０のリスト７のアドレスとの対応付けがビットマップで設定されている。選択表８は、インデックス８１の列と、パケット選択ビット８２の列とを含む。インデックス８１毎の１行は、１つの制御状態に対応する情報である。インデックス８１を十進数で示す。選択信号３０４の値は、インデックス８１を選択する値となっている。パケット選択ビット８２は、パケットメモリ３０のリスト７の複数のアドレスを指し示す情報である。
【００７７】
選択表８は、カバーする必要がある複数の制御状態に応じた分の情報が、インデックス８１毎の行の情報として設定される。複数の制御状態は、選択表８のインデックス８１の複数の値にマッピングされる。送信制御部１１での変換は、このマッピングを含む。例えば、機能５１に関して４つの制御状態がある。これら４つの制御状態は、機能５１に対応するグループＧＲ０の表４０１におけるインデックス８１が「０」〜「３」の行にマッピングされている。
【００７８】
選択表８は、グループ毎の表が連結された構成である。図４の選択表８は、第１グループＧＲ０の表４０１と第２グループＧＲ１の表４０２との２つの表の部分を示す。オフセット信号３０３の値は、選択表８の中のグループ毎の表の先頭のインデックス８１を指す値となっている。送信部１２は、変換信号３０２とオフセット信号３０３とを加算部１２Ｄで加算することにより、各グループにおける変換信号に対する、選択表８のインデックスを生成し、選択信号３０４とする。
【００７９】
送信部１２は、選択信号３０４の値により、選択表８のインデックス８１を検索し、該当するインデックス８１の行から、パケット選択ビット８２の値を読み出す。本例では、「第２状態」に応じて、変換信号３０２の値が１、オフセット信号３０３の値が０、選択信号３０４の値が１である。その選択信号３０４の値に応じて、第１グループＧＲ０の表４０１におけるインデックス８１が「１」の行が選択され、パケット選択ビット８２の値（０，１，０，１）が読み出される。
【００８０】
［パケットメモリの構成］
図５は、実施の形態１におけるパケットメモリ３０の構成を示す。図５の（ａ）は、第１グループＧＲ０に対応したリスト７１の構成を示す。図５の（ｂ）は、第２グループＧＲ１に対応したリスト７２の構成を示す。パケットメモリ３０は、アドレス３１毎の記憶領域に、制御パケット３２を格納している。格納される制御パケット３２のサイズは、制御内容及びフィルタ６の構成に応じた所定のサイズである。
【００８１】
リスト７１には、４つのブロック５１１〜５１４に、パケット「Ａ」〜「Ｈ」で示す８種類の８個の制御パケットが格納されている。第１のブロック５１１において、アドレス３１が「０−０」の記憶領域には、パケット「Ａ」が格納され、「０−１」の記憶領域には、パケット「Ｂ」が格納されている。パケット「Ａ」とパケット「Ｂ」とは、関係する２種類の制御パケットである。パケット「Ａ」は、「設定の無効化」の制御パケット５０１であり、パケット「Ｂ」は、「設定の有効化」の制御パケット５０２である。この「設定」とは、実施の形態１では、フィルタ６の所定の設定であり、具体的にはポートでのフレームの廃棄を指す。「設定の無効化」とは、廃棄を無効の状態にすること、すなわち開状態にすることに相当する。「設定の有効化」とは、廃棄を有効の状態にすること、すなわち閉状態にすることに相当する。
【００８２】
同様に、他のブロック５１２〜５１４には、他のパケット「Ｃ」〜「Ｈ」が格納されている。これらのパケット「Ａ」〜「Ｈ」は、それぞれ、「設定の無効化」の制御パケットと「設定の有効化」の制御パケットとの２種類に大別される。なお、「設定の無効化」の制御パケットを実線の四角、「設定の有効化」の制御パケットを破線の四角で示す。
【００８３】
リスト７２には、４つのブロック５１５〜５１８に、パケット「Ｉ」〜「Ｐ」で示す８種類の８個の制御パケットが格納されている。図示しないが、同様に、リスト７３には、４つのブロックに、８種類の８個の制御パケットが格納されている。それらのパケットは、同様に、「設定の無効化」の制御パケットと「設定の有効化」の制御パケットとの２種類に大別される。
【００８４】
図５の（ｃ）は、第１グループＧＲ０のリスト７１の場合における、複数の種類の制御パケット３２の内容の具体例を表で示す。この表は、列として、「パケット」、「ポートＩＤ」、「イングレス／イーグレス」、「設定の無効化／設定の有効化」がある。「パケット」は、パケット「Ａ」〜「Ｈ」を示す。「ポートＩＤ」は、例えば中継装置の２個のポート「Ｐ１」「Ｐ２」の区別を示す。「イングレス／イーグレス」は、当該ポートにおける、イングレスとイーグレスとの区別を示す。イングレスは入口及び受信側に対応し、イーグレスは出口及び送信側に対応する。「設定の無効化／設定の有効化」は、「設定の無効化」を値０で示し、「設定の有効化」を値１で示す。
【００８５】
パケット「Ａ」〜「Ｈ」は、中継装置の２個のポート「Ｐ１」「Ｐ２」の入口及び出口におけるフレームに関する開閉状態の組合せによる、８種類の制御パケットである。「Ｐ１」／「Ｐ２」、入口／出口、開状態（０）／閉状態（１）、という３つの要素の組合せで、２×２×２＝８通りの状態がある。フレームは、制御フレーム及びユーザデータフレームを区別せずに含む。
【００８６】
パケット「Ａ」は、「Ｐ１」の入口側の廃棄の無効化、パケット「Ｂ」は、「Ｐ１」の入口側の廃棄の有効化の制御パケットである。パケット「Ｃ」は、「Ｐ２」の入口側の無効化、パケット「Ｄ」は、「Ｐ２」の入口側の有効化の制御パケットである。パケット「Ｅ」は、「Ｐ１」の出口側の無効化、パケット「Ｆ」は、「Ｐ１」の出口側の有効化の制御パケットである。パケット「Ｇ」は、「Ｐ２」の出口側の無効化、パケット「Ｈ」は、「Ｐ２」の出口側の有効化の制御パケットである。
【００８７】
同様に、リスト７２，７３についても、機能５２の制御内容に応じた複数の種類の制御パケットが格納される。第２グループＧＲ１のリスト７２は、中継装置の２個のポート「Ｐ１」「Ｐ２」の入口及び出口における、制御フレームに関する開閉状態（廃棄の無効化または有効化）の組合せによる、８種類のパケット「Ｉ」〜「Ｐ」を格納する。第３グループＧＲ２のリスト７３は、中継装置の２個のポート「Ｐ１」「Ｐ２」の入口及び出口における、ユーザデータフレームに関する開閉状態の組合せによる、８種類のパケットを格納する。
【００８８】
パケットメモリ３０の使用容量は、必要な制御パケットの数に応じて決まる。リスト７１の場合の使用容量は、［１個の制御パケットのサイズ］×８、の分の容量である。
【００８９】
［第１制御部の処理例（２）］
図６は、図４に続く第１制御部１０による処理例として、選択表８に基づいてパケットメモリ３０から制御パケットのセット３０５を読み出す処理例を示す。
【００９０】
第１制御部１０の送信部１２は、図４のように選択表８から読み出したパケット選択ビット８２の値（０，１，０，１）により、パケットメモリ３０のリスト７１から、複数の制御パケットを選択して読み出す。送信部１２は、リスト７１の開始位置のブロックＳＢであるブロック５１１から、終了位置のブロックＥＢであるブロック５１４までの記憶領域において、パケット選択ビット８２の各ビットの値で指し示す各アドレス３１に格納されている制御パケット３２を読み出す。
【００９１】
パケット選択ビット８２は、それぞれ有効無効選択ビット８３である複数のビットにより構成される。実施の形態１では、パケット選択ビット８２は、リスト７から４個のパケットを選択することに対応した、４ビットの構成である。各ビットは、リスト７のブロックを指し示す。パケット選択ビット８２の右端列の第１ビットは、リスト７の開始位置のブロックＳＢである第１のブロックを指し示し、左端列の第４ビットは、終了位置のブロックＥＢである第４のブロックを指し示す。
【００９２】
有効無効選択ビット８３は、１つのブロックの２種類の制御パケットである「設定の無効化」の制御パケットと「設定の有効化」の制御パケットとの一方を選択するための情報である。有効無効選択ビット８３における値０は、アドレス３２の下位が「０」である奇数行の「設定の無効化」の制御パケットを指し、値１は、アドレス３２の下位が「１」である偶数行の「設定の有効化」の制御パケットを指す。
【００９３】
本例では、表４０１の「１」の行のパケット選択ビット８２のうち、第１ビットは、リスト７１の第１のブロック５１１を指す。第１ビットは、値１であるため、第１のブロック５１１のうちのアドレス３１が「０−１」の記憶領域に格納されたパケット「Ｂ」を指す。同様に、第２ビットの値０は、第２のブロック５１２の「１−０」のパケット「Ｃ」を指す。第３ビットの値１は、第３のブロック５１３の「２−１」のパケット「Ｆ」を指す。第４ビットの値０は、第４のブロック５１４の「３−０」のパケット「Ｇ」を指す。
【００９４】
送信部１２は、パケットメモリ３０のリスト７１から、セット３０５として、４個のパケット「Ｂ」「Ｃ」「Ｆ」「Ｇ」を、順に読み出す。このセット３０５は、「第２状態」に応じてフィルタ６の設定を切り替えるために必要なセットである。すなわち、このセット３０５は、中継装置１００Ｄのフィルタ６ｄの設定として、「Ｐ１」の入口及び出口で閉状態にし、かつ、「Ｐ２」の入口及び出口で開状態にするためのセットである。
【００９５】
なお、インデックス８１が「０」の行が選択された場合、パケット選択ビット８２の値が（０，０，０，０）であり、パケット「Ａ」「Ｃ」「Ｅ」「Ｇ」が選択される。このセットは、「Ｐ１」及び「Ｐ２」を開状態にする。「２」の行が選択された場合、パケット選択ビット８２の値が（１，０，１，０）であり、パケット「Ａ」「Ｄ」「Ｅ」「Ｈ」が選択される。このセットは、「Ｐ１」を開状態、「Ｐ２」を閉状態にする。「３」の行が選択された場合、パケット選択ビット８２の値が（１，１，１，１）であり、パケット「Ｂ」「Ｄ」「Ｆ」「Ｈ」が選択される。このセットは、「Ｐ１」及び「Ｐ２」を閉状態にする。
【００９６】
他のリスト７２，７３が選択される場合も処理は同様である。例えば、機能５２を用いた制御フレームに関する所定の制御状態に応じて、第２グループＧＲ１の表４０２のインデックス８１が「４」の行が選択される。この行のパケット選択ビット８２の値は（１，１，０，０）であり、リスト７２からパケット「Ｉ」「Ｋ」「Ｎ」「Ｐ」が選択される。このセットは、「Ｐ１」及び「Ｐ２」の入口側の制御フレームに関して開状態、出口側の制御フレームに関して閉状態にする。
【００９７】
なお、選択表８のサイズは、パケットメモリ３０の制御パケットの数やグループの数に応じる。例えば、１つのグループのリスト７で８個の制御パケットを用いる場合、パケット選択ビット８２は、４ビットが必要である。インデックス８１のサイズは、カバーする制御状態の数に応じる。第１グループＧＲ０の表４０１の場合、制御状態の数が４つであり、インデックス８１として２ビットが必要であり、パケット選択ビット８２として４×４＝１６ビットが必要である。また、グループの数が３つ、各グループで４つの制御状態がある場合、選択表８は、パケット選択ビット８２として３×１６＝４８ビットが必要である。選択表８のサイズは、パケットメモリ３０のサイズに比べて十分に小さい。
【００９８】
パケット送信部１２Ｃは、読み出されたセット３０５の各制御パケットにトランザクションＩＤを付与する。トランザクションＩＤは、中継装置の内部での制御用のＩＤであり、例えばインクリメントによる連番である。例えば、第１パケットであるパケット「Ｂ」にはトランザクションＩＤ＝「１」、第４パケットであるパケット「Ｇ」にはトランザクションＩＤ＝「４」が付与される。パケット送信部１２Ｃは、トランザクションＩＤが付与された複数の制御パケットからなるセット３０５を、図２の１つの要求のパケット２０１としてまとめた形として、インタフェースＬＳＩ２の第２制御部２０へ送信する。第２制御部２０は、トランザクションＩＤの順序で複数の制御パケットを受信し、設定情報の書き替えに使用する。
【００９９】
なお、変形例として、中継装置は、要求のパケット２０１の送信において、セット３０５のうちの各制御パケットを、個別の要求のパケット２０１として順に送信してもよい。また、中継装置は、トランザクションＩＤの付与を省略してもよい。
【０１００】
［フィルタの構成例］
図７は、実施の形態１におけるフィルタ６の構成例である表を示す。図７の（ａ）は、中継装置１００Ｄのフィルタ６ｄの設定例、図７の（ｂ）は、中継装置１００Ａのフィルタ６ａの設定例を示す。図７のフィルタ６の表は、列として、「ポートＩＤ」、「ＦＰ／ＢＰ」、「イングレス／イーグレス」、「開閉状態」がある。「開閉状態」列は、「全フレーム」列、「制御フレーム」列、「ユーザデータフレーム」列を含む。「全フレーム」は、制御フレーム及びユーザデータフレームの両方を含む。「ＦＰ／ＢＰ」は、ＦＰで示すフォワーディングポートとＢＰで示すブロッキングポートとの区別を示す。なお、「ＦＰ／ＢＰ」の情報は、説明上わかりやすいように設けているが、省略可能である。「開閉状態」は、「制御フレーム」と「ユーザデータフレーム」とで区別して、それぞれ、フレームの廃棄の無効または有効を示す値が格納される。値０は、廃棄が無効の状態、すなわち開状態に相当する。値１は、廃棄が有効の状態、すなわち閉状態に相当する。
【０１０１】
図７の（ａ）のフィルタ６ｄの設定例は、前述の機能５１に関する「第１状態」に相当する。７０１の行は、中継装置１００ＤのポートＩＤが「Ｐ１」であるポート４ｇの設定例を示す。「Ｐ１」は、フォワーディングポートの状態であり、入口及び出口の両方において、制御フレーム及びユーザデータフレームの両方について、開状態である。７０２の行は、ポートＩＤが「Ｐ２」であるポート４ｈの設定例を示す。「Ｐ２」は、同様に、フォワーディングポートの状態である。
【０１０２】
図７の（ｂ）のフィルタ６ａの設定例は、前述の機能５２に関する通常時の経路の状態に対応する。７０３の行は、中継装置１００ＡのポートＩＤが「Ｐ１」であるポート４ａの設定例を示す。「Ｐ１」は、フォワーディングポートの状態であり、入口及び出口の両方において、制御フレーム及びユーザデータフレームの両方について、開状態である。７０４の行は、ポートＩＤが「Ｐ２」であるポート４ｂの設定例を示す。「Ｐ２」は、ブロッキングポートの状態であり、入口及び出口の両方において、制御フレームについては開状態、ユーザデータフレームについては閉状態である。なお、この「Ｐ２」の設定状態では、「全フレーム」列では値０、「ユーザデータフレーム」列では値１となっている。このような場合、フィルタリングとしては、ユーザデータフレームに関し、値１による廃棄の方が優先的に適用される。
【０１０３】
［フィルタの設定の切り替えの例］
図８は、図７のフィルタ６の設定の切り替えの例を示す。図８の（ａ）は、機能５１による制御に対応した例である。本例は、図１の中継装置１００Ｄのリンク９ｃの障害１１０の状態に応じた「第１状態」から「第２状態」への切り替えに相当する。図７の（ａ）の「第１状態」に対応する設定状態から、第１グループＧＲ０のリスト７１の制御パケットのセット８１０により、８０１，８０２の行に示す「第２状態」に対応した設定状態に切り替えられる。セット８１０は、図６のパケット「Ｂ」「Ｃ」「Ｆ」「Ｇ」である。なお、この際、廃棄の無効化／有効化を設定する対象箇所、すなわち値が変更され得る箇所は、「全フレーム」列である。破線枠は、切り替え前後で異なる部分を示す。
【０１０４】
８０１の行のポート「Ｐ１」は、入口及び出口の両方において、制御フレーム及びユーザデータフレームの両方について、閉状態である。詳しく言えば、図１のポート４ｇの入口側で、リンク９ｃから受信した全フレームが破棄され、かつ、ポート４ｇの出口側で、リンク９ｃへ送信する全フレームが破棄される。８０２の行のポート「Ｐ２」の設定状態は、７０２と同じである。
【０１０５】
図８の（ｂ）は、機能５２による制御フレームに関する制御に対応した例である。本例は、図１の中継装置１００Ａにおいて、リングの障害１１０の状態に応じて、通常時の経路から代替の経路へ切り替える場合に対応する。切り替え前の図７の（ｂ）の設定状態から、第２グループＧＲ１のリスト７２の制御パケットのセット８２０により、８０３，８０４の行に示す設定状態に切り替えられる。セット８２０における４つの制御パケットは、「Ｐ１」及び「Ｐ２」の入口側及び出口側における制御フレームに関する廃棄の無効化を行うパケットである。対象箇所は、「制御フレーム」列である。
【０１０６】
８０３の行のポート「Ｐ１」の設定状態は、７０３と同じである。８０４の行のポート「Ｐ２」の設定状態は、７０４と同じである。この処理例では、制御フレームに関して開状態のままであるため、結果的に設定状態は図７の（ｂ）と同じである。
【０１０７】
図８の（ｃ）は、機能５２によるユーザデータフレームに関する制御に対応した例である。本処理例は、図８の（ｂ）の処理例と同じ場合であり、対象が制御フレームではなくユーザデータフレームである。切り替え前の図７の（ｂ）の設定状態から、第３グループＧＲ２のリスト７３の制御パケットのセット８３０により、８０５，８０６の行に示す設定状態に切り替えられる。セット８３０における４つの制御パケットは、「Ｐ１」の入口側の廃棄の無効化、「Ｐ２」の入口側の廃棄の有効化、「Ｐ１」の出口側の廃棄の無効化、及び「Ｐ２」の出口側の廃棄の有効化、を行うパケットである。対象箇所は、「ユーザデータフレーム」列である。
【０１０８】
８０５の行のポート「Ｐ１」の設定状態は、７０３と同じである。８０６の行のポート「Ｐ２」の設定状態は、７０４のブロッキングポートから、フォワーディングポートに変更されており、入口及び出口の両方で、制御フレーム及びユーザデータフレームの両方について、開状態である。
【０１０９】
上記例のように、リングの所定の状態を実現するため、各中継装置は、内部の複数のポートを、所定の関係を持つ所定の制御状態になるように、フィルタ６の設定状態を切り替える。その際、中継装置は、フィルタ６の構成に合わせて、フィルタ６内の情報を書き替える。そのため、中継装置は、１つの制御状態に応じて、複数の制御パケットからなるセットを用いる。
【０１１０】
［効果等］
以上説明したように、実施の形態１の中継装置によれば、高速な制御を実現でき、パケットメモリ３０の使用容量を削減できる。
【０１１１】
実施の形態１の中継装置は、制御ＬＳＩ１からインタフェースＬＳＩ２に対してハードウェア処理により設定の切り替えを行う構成である。これにより、実施の形態１は、従来の中継装置でインタフェースＬＳＩに対してソフトウェア処理により設定の切り替えを行う構成に比べて、高速に設定の切り替えが可能である。実施の形態１は、リング型ネットワークの障害時にも、リング冗長機能による高速な経路の切り替えが可能である。
【０１１２】
実施の形態１の中継装置は、制御ＬＳＩ１のパケットメモリ３０において、リング冗長機能に対応するグループのリスト７に、重複しない必要最小限の複数の種類の制御パケットを設けた構成である。リスト７の複数の種類の制御パケットは、必要な複数の全ての制御状態に対応したフィルタ６の設定状態をカバーできるように、フィルタ６の設定の要素の組合せにより構成されている。そして、選択表８には、必要な制御状態に応じた情報が設定されている。これにより、実施の形態１の中継装置は、限られたパケットメモリ３０の使用容量を少なくでき、空き容量を多くできる。空き容量を他の機能に使用することも容易になる。
【０１１３】
また、実施の形態１は、設定機能により、パケットメモリ３０の制御パケット及び選択表８の設定を更新できるので、プロトコルに応じた制御機能や設定情報の更新の際にも柔軟に対応できる。
【０１１４】
（比較例）
図９を用いて、実施の形態１に対する比較例の中継装置におけるパケットメモリ３０Ｂに関する構成を説明する。図９は、パケットメモリ３０Ｂにおける複数の制御パケットを格納する構成例を示す。比較例の中継装置は、制御ＬＳＩに、パケットメモリ３０Ｂを備える。制御ＬＳＩの第１制御部は、機能による制御状態に応じてフィルタの設定状態を切り替える際、パケットメモリ３０Ｂから、設定の切り替えのために必要な複数の制御パケットからなるセットを読み出し、インタフェースＬＳＩの第２制御部へ送信する。比較例の他の構成は、実施の形態１の構成と同様である。
【０１１５】
パケットメモリ３０Ｂには、制御状態に対応した「状態」毎に、複数の制御パケットからなるセットが予め格納される。また、パケットメモリ３０Ｂには、機能に対応付けられたグループ毎に、複数のセットが格納される。
【０１１６】
第１グループ９１０において、４つの制御状態として「状態Ａ」〜「状態Ｄ」がある。制御状態毎のセットとして、セット９０１〜９０４がある。パケット「Ａ」〜「Ｈ」は、制御パケットを示す。例えば、「状態Ａ」用のセット９０１は、アドレス「０」〜「３」に格納される、４個のパケット「Ａ」「Ｅ」「Ｃ」「Ｇ」からなる。「状態Ｂ」用のセット９０２は、パケット「Ｂ」「Ｆ」「Ｃ」「Ｇ」からなる。「状態Ｃ」用のセット９０３は、パケット「Ａ」「Ｅ」「Ｄ」「Ｈ」からなる。「状態Ｄ」用のセット９０４は、パケット「Ｂ」「Ｆ」「Ｄ」「Ｈ」からなる。なお、このパケット「Ａ」等の内容は、図５のパケット「Ａ」等の内容と対応している。
【０１１７】
制御パケットのセットの内容の具体例は以下である。「状態Ａ」用のセット９０１における４個のパケット「Ａ」「Ｅ」「Ｃ」「Ｇ」は、中継装置の２個のポート「Ｐ１」及び「Ｐ２」における入口及び出口において開状態にするための制御パケットである。同様に、「状態Ｂ」用のセット９０２における４個のパケット「Ｂ」「Ｆ」「Ｃ」「Ｇ」は、「Ｐ１」の入口及び出口を閉状態にし、「Ｐ２」の入口及び出口を開状態にする。「状態Ｃ」用のセット９０３における４個のパケット「Ａ」「Ｅ」「Ｄ」「Ｈ」は、「Ｐ１」の入口及び出口を開状態にし、「Ｐ２」の入口及び出口を閉状態にする。「状態Ｄ」用のセット９０４における４個のパケット「Ｂ」「Ｆ」「Ｄ」「Ｈ」は、「Ｐ１」及び「Ｐ２」の入口及び出口において閉状態にする。
【０１１８】
第１グループ９１０において、「状態Ａ」〜「状態Ｄ」は、２個のポート「Ｐ１」「Ｐ２」の入口及び出口の開閉状態の組合せのうちの、必要な４つの制御状態である。パケットメモリ３０Ｂは、第１グループ９１０において、「状態Ａ」〜「状態Ｄ」をカバーするために、４つのセット９０１〜９０４、合計１６個の制御パケットを格納する。
【０１１９】
同様に、第２グループ９２０において、４つの制御状態として「状態Ｅ」〜「状態Ｈ」があり、これらをカバーするため、４つのセット９０５〜９０８がある。第２グループ９２０は、パケット「Ｉ」〜「Ｐ」を用いた合計１６個の制御パケットを格納する。
【０１２０】
パケットメモリ３０Ｂ内に格納される制御パケットは、重複する制御パケットが存在する。例えば、「状態Ａ」用のセット９０１と「状態Ｃ」用のセット９０３とにおいて、パケット「Ａ」「Ｅ」は、重複する同じ制御パケットである。「状態Ａ」用のセット９０１と「状態Ｂ」用のセット９０２とにおいて、パケット「Ｃ」「Ｇ」は、重複する同じ制御パケットである。制御パケットの重複の分、パケットメモリ３０Ｂの使用容量は多くなる。
【０１２１】
上記のように、比較例の中継装置は、予め、制御状態毎に複数の制御パケットからなるセットをパケットメモリ３０Ｂに格納しておく構成である。これにより、比較例は、高速な設定の切り替えを実現できる。ただし、比較例は、カバーする制御状態の数に比例して、必要なセットが増える。これにより、パケットメモリ３０Ｂの使用容量は増大する。
【０１２２】
それに対し、実施の形態１の中継装置は、図５のように、パケットメモリ３０に、重複しないように分類及び整理された、複数の種類の制御パケットをリスト７として格納する。実施の形態１は、カバーする機能、制御状態及び設定状態の数が増えても、必要な制御パケットは、比例して増大するわけではなく、必要最小限に抑えられる。実施の形態１のパケットメモリ３０は、比較例のパケットメモリ３０Ｂに比べて、格納する制御パケットの数が少なく、一定のエントリのみが使用されるので、使用容量を節約できる。
【０１２３】
比較例のパケットメモリ３０Ｂの場合、第１グループ９１０の４つの制御状態に関して、１６個の制御パケットを格納する分の使用容量が必要である。それに対し、実施の形態１のパケットメモリ３０の場合、第１グループＧＲ０の４つの制御状態に関して、リスト７１の８個の制御パケットを格納する分の使用容量で済む。
【０１２４】
（実施の形態２）
本発明の実施の形態２の通信システムについて説明する。制御パケットの送受信は、単一の中継装置内に限らず、複数の中継装置間にまたがって行われてもよい。この場合、以下のような実施の形態２の通信システムの構成である。
【０１２５】
実施の形態２の通信システムは、第１の中継装置と第２の中継装置とを備える通信システムである。第１の中継装置は、フレームの転送に関する機能が実装された機能実装部を備える。機能実装部は、第１制御部、及び第１記憶部を有する。第２の中継装置は、複数のポート間での前記フレームの転送を行う転送部を備える。転送部は、第２制御部、及び第２記憶部を有する。第１記憶部は、機能に係わる複数の制御状態に対応するための、複数の種類の制御パケットを、リストとして格納する。第２記憶部は、制御状態に応じた設定情報を格納する。第１の中継装置の第１制御部は、制御状態に応じて、第１記憶部のリストから、複数の制御パケットからなるセットを読み出し、第２の中継装置へ送信する。第２の中継装置の第２制御部は、セットの複数の制御パケットに従い、第２記憶部の設定情報を書き替える。
【０１２６】
例えば、第１の中継装置は、リングの制御状態に応じて、第２の中継装置のフィルタの設定の切り替えを制御する。その場合、第１の中継装置の第１制御部は、実施の形態１と同様に、パケットメモリから必要な複数の制御パケットからなるセットを読み出し、これによる要求のパケットを、ポートから第２の中継装置へ向けて制御フレームとして送信する。第２の中継装置は、その制御フレームによる要求のパケットをポートで受信する。第２の中継装置の第２制御部は、その要求のパケットにおけるセットの複数の制御パケットに従い、フィルタの情報を書き替えることにより、設定状態を切り替える。そして、第２の中継装置は、応答のパケットを、第１の中継装置へ制御フレームとして送信する。
【０１２７】
実施の形態２の通信システムによれば、複数の中継装置間で制御パケットを送受信することにより、高速な制御を実現でき、パケットメモリにおける使用容量を削減できる。
【０１２８】
（他の実施の形態）
他の実施の形態の中継装置として、以下が挙げられる。
【０１２９】
実施の形態１の技術は、ボックス型の中継装置に限らず、シャーシ型の中継装置にも適用可能である。シャーシ型の中継装置は、ラインカードや管理カードを含む複数のカードが接続される構成である。例えば、ラインカードの内部において、図２と同様の構成を有してもよい。
【０１３０】
他の実施の形態の中継装置として、グループ毎のリスト７を設けない構成も可能である。その場合、パケットメモリ３０には、１つのリスト７のみが格納され、グループを指定する手段は不要である。
【０１３１】
実施の形態１の技術は、中継装置において制御状態に応じて制御パケットを用いて設定状態を切り替える用途に適用可能である。実施の形態１の技術は、図７のフィルタ６の構成に限らず、他のフィルタの構成の場合にも、適用可能である。実施の形態１の技術は、フィルタ６の設定を制御する場合に限らず、他の設定情報の設定を制御する場合にも、適用可能である。
【０１３２】
実施の形態１の技術は、リングを構成する中継装置や、リング冗長機能に限らず、適用可能である。実施の形態１の技術は、イーサネットＯＡＭに対応した機能にも適用可能である。イーサネットＯＡＭは、イーサネットの拡張仕様であり、ネットワークの運用管理保守を支援する機能である。
【０１３３】
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【０１３４】
１…制御ＬＳＩ、２…インタフェースＬＳＩ、４…ポート、５…転送ＤＢ、６…フィルタ、７，７１，７２，７３…リスト、８…選択表、１０…第１制御部、１１…送信制御部、１１Ａ…グループ分割部、１１Ｂ…検出部、１１Ｃ…優先度制御部、１２…送信部、１２Ａ…選択信号生成部、１２Ｂ…設定レジスタ、１２Ｃ…パケット送信部、１２Ｄ…加算部、１３…設定部、１５…リング冗長機能処理部、２０…第２制御部、３０…パケットメモリ、４０…メモリ、５１，５２…機能、１００Ａ〜１００Ｄ…中継装置、２０１，２０２…パケット、２０３，２０４…フレーム、３０１…制御状態、３０２…変換信号、３０３…オフセット信号、３０４…選択信号、３０５…セット、３０６…グループ信号
【図１】
0006393586.tif 000002
【図２】
0006393586.tif 000003
【図３】
0006393586.tif 000004
【図４】
0006393586.tif 000005
【図５】
0006393586.tif 000006
【図６】
0006393586.tif 000007
【図７】
0006393586.tif 000008
【図８】
0006393586.tif 000009
【図９】
0006393586.tif 000010