(57)【要約】【課題】検索キーと一致するエントリが複数存在する場合であっても、ＣＡＭの検索回路の障害を診断可能な通信装置を提供することを目的とする。【解決手段】通信装置であって、フレームのヘッダ情報の少なくとも一部を保持するＣＡＭと、動作決定部と、ＣＡＭの異常を診断するＣＡＭ診断部と、を備え、ＣＡＭは、宛先が格納される複数のエントリと、エントリ毎に、検索キーと当該エントリに格納された情報とが一致するか否かを判定する検索回路と、を有し、検査用の検索キーは、検査用の検索キーと一致するエントリが存在するか否かを示す情報及び検査用の検索キーと一致するエントリの識別情報を含む検索結果期待値に対応付けられ、ＣＡＭ診断部は、検索キーと一致するエントリが存在するか否かをＣＡＭに検索させ、検索結果が検索キーに対応付けられた検索結果期待値と一致しないと判定された場合、検査対象となるエントリの検索回路に異常が発生したと診断することを特徴とする。【選択図】図１
2015158958.tif 000002
【特許請求の範囲】
【請求項１】
フレームを送受信する通信装置であって、
前記フレームのヘッダ情報の少なくとも一部を保持するＣＡＭと、
前記ＣＡＭを参照し、受信したフレームの転送に関する動作を決定する動作決定部と、
前記ＣＡＭの異常を診断するＣＡＭ診断部と、を備え、
前記ＣＡＭは、
前記フレームのヘッダ情報の少なくとも一部が格納される複数のエントリと、
前記エントリ毎に、検索キーと当該エントリに格納された情報とが一致するか否かを判定する検索回路と、を有し、
前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報の少なくとも一部を検索キーとして、前記フレームのヘッダ情報の少なくとも一部と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作を決定し、
前記ＣＡＭ診断部は、
検査対象となるエントリを決定し、
検査用の検索キーは、前記検査用の検索キーと一致するエントリが存在するか否かを示す情報及び前記検査用の検索キーと一致するエントリの識別情報を含む検索結果期待値に対応付けられ、
前記検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させ、
前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致するか否かを判定し、
前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致しないと判定された場合、前記検査対象となるエントリの前記検索回路に異常が発生したと診断することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記ＣＡＭ診断部は、
前記検査対象となるエントリに格納されたデータに基づいて、前記検査用の検索キー及び前記検索結果期待値を生成し、
前記生成した検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させることを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記検査対象となるエントリに格納する所定の診断時格納データと、前記診断時格納データに対応する前記検査用の検索キーと、前記検査用の検索キーに対応する前記検索結果期待値とが登録されたＣＡＭテストパターンを保持し、
前記ＣＡＭ診断部は、
前記検査対象となるエントリに前記診断時格納データを格納し、
前記診断時格納データに対応する検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させることを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記ＣＡＭ診断部は、
前記検査対象となるエントリを空にするために、前記検査対象となるエントリ以降のエントリに格納されたデータを一つずつ移動し、
前記空となった検査対象となるエントリに前記診断時格納データを格納することを特徴とする通信装置。
【請求項５】
請求項３に記載の通信装置であって、
前記検査対象となるエントリに格納されたデータを退避させるためのＣＡＭエントリ退避記憶領域を有し、
前記ＣＡＭ診断部は、
前記検査対象となるエントリを空にするために、前記検査対象となるエントリに格納されたデータを前記ＣＡＭエントリ退避記憶領域に退避させ、
前記空となった検査対象となるエントリに前記診断時格納データを格納することを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置であって、
前記ＣＡＭに、前記ＣＡＭ診断部、及び前記ＣＡＭエントリ退避記憶領域が実装されることを特徴とする通信装置。
【請求項７】
請求項１に記載の通信装置であって、
前記フレームの転送処理要求と前記ＣＡＭ診断部による前記ＣＡＭの異常の診断処理要求とを同じタイミングで受け付けた場合、
前記転送処理の実行タイミングと前記ＣＡＭの異常の診断処理の実行タイミングとを調停し、
いずれの処理も実行するようにすることを特徴とする通信装置。
【請求項８】
請求項１に記載の通信装置であって、
前記エントリに格納されたデータは、当該エントリが前記検査対象となるエントリであるか否かを示す検査エントリ識別情報を含み、
前記ＣＡＭ診断部は、前記検査対象となるエントリを決定した場合、当該エントリに格納されたデータに含まれる検査エントリ識別情報を前記検査対象となるエントリであることを示すように変更することを特徴とする通信装置。
【請求項９】
請求項８に記載の通信装置であって、
前記検査用の検索キーの前記検査エントリ識別情報が前記検査対象となるエントリであることを示す値に設定され、
前記検査用の検索キーに対応付けられた検索結果期待値に含まれる前記検査用の検索キーと一致するエントリの識別情報は、前記検査対象となるエントリの識別情報であることを特徴とする通信装置。
【請求項１０】
請求項９に記載の通信装置であって、
前記ＣＡＭ診断部は、
前記検査対象となるエントリに格納されたデータに基づいて、前記検査用の検索キー及び前記検索結果期待値を生成し、
前記生成した検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させ、
前記動作決定部は、前記受信したフレームの転送に関する動作を決定するために前記ＣＡＭを参照する場合、前記エントリに格納されたデータに含まれる前記検査エントリ識別情報を参照しないことを特徴とする通信装置。
【請求項１１】
請求項９に記載の通信装置であって、
前記検査対象となるエントリに格納する所定の診断時格納データと、前記診断時格納データに対応する前記検査用の検索キーと、前記検査用の検索キーに対応する前記検索結果期待値とが登録されたＣＡＭテストパターンを保持し、
前記診断時格納データは、前記検査エントリ識別情報が前記検査対象となるエントリであることを示す値に設定され、
前記ＣＡＭ診断部は、
前記検査対象となるエントリに前記診断時格納データを格納し、当該エントリに格納されたデータに含まれる検査エントリ識別情報を前記検査対象となるエントリであることを示すように変更し、
前記診断時格納データに対応する検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させ、
前記動作決定部は、前記受信したフレームの転送に関する動作を決定するために前記ＣＡＭを参照する場合、前記検査エントリ識別情報が前記検査対象となるエントリであることを示すエントリを参照しないことを特徴とする通信装置。
【請求項１２】
請求項１に記載の通信装置であって、
前記ＣＡＭは、前記フレームのヘッダ情報に含まれる宛先を保持し、
前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報に含まれる宛先を前記検索キーとして、前記宛先と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作として、前記受信したフレームの出力先を決定することを特徴とする通信装置。
【請求項１３】
請求項１に記載の通信装置であって、
前記ＣＡＭは、前記フレームのヘッダ情報に含まれる少なくとも一つの情報を保持し、
前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報に含まれる少なくとも一つの情報を前記検索キーとして、前記フレームのヘッダ情報に含まれる少なくとも一つの情報と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作として、前記受信したフレームを通過させるか廃棄するかを決定することを特徴とする通信装置。
【請求項１４】
請求項１に記載の通信装置であって、
前記ＣＡＭは、前記フレームのヘッダ情報に含まれる少なくとも一つの情報を保持し、
前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報に含まれる少なくとも一つの情報を前記検索キーとして、前記フレームのヘッダ情報に含まれる少なくとも一つの情報と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作として、前記受信したフレームを転送する場合の優先度を決定することを特徴とする通信装置。
【請求項１５】
フレームを送受信する通信装置におけるＣＡＭの異常診断方法であって、
前記ＣＡＭは、前記フレームのヘッダ情報の少なくとも一部を保持し、
前記通信装置は、
前記ＣＡＭを参照し、受信したフレームの転送に関する動作を決定する動作決定部と、
前記ＣＡＭの異常を診断するＣＡＭ診断部と、を備え、
前記ＣＡＭは、
前記フレームのヘッダ情報の少なくとも一部が格納される複数のエントリと、
前記エントリ毎に、検索キーと当該エントリに格納された情報とが一致するか否かを判定する検索回路と、を有し、
前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報の少なくとも一部を検索キーとして、前記フレームのヘッダ情報の少なくとも一部と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作を決定し、
検査用の検索キーは、前記検査用の検索キーと一致するエントリが存在するか否かを示す情報及び前記検査用の検索キーと一致するエントリの識別情報とを含む検索結果期待値に対応付けられ、
前記方法は、
前記ＣＡＭ診断部が、検査対象となるエントリを決定し、
前記ＣＡＭ診断部が、前記検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させ、
前記ＣＡＭ診断部が、前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致するか否かを判定し、
前記ＣＡＭ診断部が、前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致しないと判定された場合、前記検査対象となるエントリの前記検索回路に異常が発生したと診断することを特徴とするＣＡＭの異常診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
フレームを送受信する通信装置に関し、特に、高速なテーブル検索を行う連想メモリ（ＣＡＭ＝Contents Addressable Memory）の異常を診断する通信装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２００５−１１７１７１号公報（特許文献１）及び特開２０００−２０５３３号公報（特許文献２）がある。特許文献１の公報には、「パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を転送情報記憶部104に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部101を備え、転送情報取得部103は、前記ヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて検索キー記憶部101を検索し、検索キー記憶部101に記憶された検索キー及び照合情報と一致すると、検索キー記憶部101から転送情報の記憶位置情報を取得し、前記取得した記憶位置情報に基づいて転送情報記憶部104に記憶された転送情報を取得し、転送部106は前記取得した転送情報に基づいてパケットを転送する。」と記載されている（要約参照）。
【０００３】
特許文献２の公報には、「検索データと一致するデータが保持されているときに検索一致フラグを出力するＣＡＭ１と、外部からの検索指示および検索一致フラグに従って、検索一致アドレスをＣＡＭ１のアドレス入力に接続するアドレス生成部２と、検索一致フラグに従って、検索データをＣＡＭ１のデータ入力に接続するデータ生成部３とを設けて、該ＣＡＭ１の検索一致のアドレスに保持されたデータとデータ生成部３からの検索データとを比較部４にて比較し、検索回路の故障判断を行う。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１７１７１号公報
【特許文献２】特開２０００−２０５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、検索キー記憶部に記憶されている位置情報にソフトエラーが発生しデータが異なるものとなってしまった場合にも、照合情報によって誤った転送情報の取得を防止することができ、パケットの誤転送を防止することができるようにするものであり、ＣＡＭ（検索キー記憶部）に異常が発生しているか否かを判断するものではない。
【０００６】
特許文献２では、ＣＡＭが有する検索回路の故障を検出するものである。しかし、特許文献２のＣＡＭは、該ＣＡＭ１の検索一致のアドレスに保持されたデータとデータ生成部３からの検索データとを比較するため、検索キーがマスクされていること等によって検索キーと一致するエントリが複数存在する場合には、これらの複数のエントリのうちいずれかのエントリの検索回路に障害が発生していても、障害を検出できない。
【０００７】
例えば、経路検索のように、エントリ毎にマスクが異なっている場合、及び、フロー検索のように、各エントリのフィールド毎に検索が有効であるか否かが設定されている場合等には、検索キーと一致するエントリが複数する可能性がある。
【０００８】
本発明は、検索キーと一致するエントリが複数存在する場合であっても、ＣＡＭの検索回路の障害を診断可能な通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば、フレームを送受信する通信装置であって、前記フレームのヘッダ情報の少なくとも一部を保持するＣＡＭと、前記ＣＡＭを参照し、受信したフレームの転送に関する動作を決定する動作決定部と、前記ＣＡＭの異常を診断するＣＡＭ診断部と、を備え、前記ＣＡＭは、前記フレームのヘッダ情報の少なくとも一部が格納される複数のエントリと、前記エントリ毎に、検索キーと当該エントリに格納された情報とが一致するか否かを判定する検索回路と、を有し、前記動作決定部は、前記フレームを受信した場合、前記フレームのヘッダ情報の少なくとも一部を検索キーとして、前記フレームのヘッダ情報の少なくとも一部と一致するエントリの識別情報に基づいて、前記受信したフレームの転送に関する動作を決定し、前記ＣＡＭ診断部は、検査対象となるエントリを決定し、検査用の検索キーは、前記検査用の検索キーと一致するエントリが存在するか否かを示す情報及び前記検査用の検索キーと一致するエントリの識別情報を含む検索結果期待値に対応付けられ、前記検査用の検索キーと一致するエントリが存在するか否かを前記ＣＡＭに検索させ、前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致するか否かを判定し、前記検索結果が前記検査用の検索キーに対応付けられた検索結果期待値と一致しないと判定された場合、前記検査対象となるエントリの前記検索回路に異常が発生したと診断することを特徴とする。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、検索キーと一致するエントリが複数存在する場合であっても、ＣＡＭの検索回路の障害を診断可能な通信装置を提供できる。
【００１１】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１のネットワーク装置の説明図である。
【図２】実施例１の宛先情報ＣＡＭの各エントリに格納される情報、及び宛先情報テーブルの説明図である。
【図３】実施例１の宛先情報ＣＡＭのハードウェア構成図である。
【図４】実施例１のＣＡＭテストパターンの説明図である。
【図５】実施例１のネットワーク装置によるフレーム転送処理のフローチャートである。
【図６】実施例１のＣＡＭ診断処理の概略の説明図である。
【図７】実施例１のＣＡＭ異常診断処理のフローチャートである。
【図８】実施例１のＣＡＭテスト結果ログの説明図である。
【図９】実施例１の第一の変形例のＣＡＭ異常診断処理のフローチャートである。
【図１０】実施例１の第一の変形例のＣＡＭテスト結果ログの説明図である。
【図１１】実施例１の第二の変形例のＣＡＭ異常診断処理の概略の説明図である。
【図１２】実施例１の第三の変形例のＣＡＭ異常診断処理のフローチャートである。
【図１３】実施例２のＣＡＭ異常診断処理の概略の説明図である。
【図１４】実施例２のＣＡＭ異常診断処理のフローチャートである。
【図１５】実施例２のフレーム転送処理の説明図である。
【図１６】実施例３のネットワーク装置の説明図である。
【図１７】実施例３のフレーム転送処理の説明図である。
【発明を実施するための形態】
【実施例１】
【００１３】
実施例１について図１〜図８を用いて説明する。図１は、実施例１のネットワーク装置１００の説明図である。
【００１４】
ネットワーク装置１０は、宛先判定部２０、フレーム転送処理部３０、及び複数のポート４０ａ、４０ｂ〜４０ｎを備える。なお、ネットワーク装置１０は、ポート４０ａ〜４０ｎを少なくとも一つ備えていればよく、ポート４０ａ〜４０ｎの数は図１に限定されない。また、ポート４０ａ〜４０ｎを総称する場合には、ポート４０と記載する。
【００１５】
ポート４０は、ネットワークに接続され、ネットワークとのフレームを送受信するインタフェースである。
【００１６】
フレーム転送処理部３０は、ネットワーク装置１０が受信したフレームに所定の受信処理を実行し、受信処理を実行したフレームを宛先判定部２０に出力する。
【００１７】
宛先判定部２０は、フレーム転送処理部３０から入力されたフレームの宛先を判定し、宛先に対応する出力先となるポート４０を決定し、当該フレームをフレーム転送処理部３０に出力する。
【００１８】
フレーム転送処理部３０は、宛先判定部２０から入力されたフレームに対して所定の送信処理を実行し、送信処理を実行したフレームを出力先となるポート４０から送信する。
【００１９】
宛先判定部２０の詳細について説明する。
【００２０】
宛先判定部２０は、制御部２１、ヘッダ情報抽出部２２、宛先検索部２３、宛先情報ＣＡＭ（Contents Addressable Memory）、宛先情報テーブル２５、判定結果生成部２６、及びＣＡＭエントリ退避メモリ２７を有する。
【００２１】
ヘッダ情報抽出部２２は、フレーム転送処理部３０から入力されたフレームのヘッダ情報を抽出し、抽出したヘッダ情報を含む検索要求を宛先検索部２３が有するＣＡＭ検索処理部２３１に出力する。なお、ヘッダ情報は、フレームの宛先となるアドレス（宛先アドレス）を含むものとする。宛先アドレスは例えばＩＰアドレスであってもよい。
【００２２】
宛先検索部２３は、ヘッダ情報抽出部２２から入力された検索要求に含まれる宛先アドレスに対応する出力先となるポート４０が存在するか否かを判定し、判定結果を判定結果生成部２６に出力する。
【００２３】
宛先情報ＣＡＭ２４は、情報を格納可能な複数のエントリ、及び当該エントリ毎にエントリに格納された情報と検索キーとが一致するか否かを判定する検索回路を有する。宛先情報ＣＡＭ２４の構成は、図３で詳細に説明する。宛先情報ＣＡＭ２４の各エントリには、宛先アドレスとの関係が格納される。宛先情報ＣＡＭ２４の各エントリに格納される情報については、図２で詳細を説明する。
【００２４】
宛先情報テーブル２５には、宛先情報ＣＡＭ２４のエントリアドレスと出力先となるポート４０の識別情報との関係が登録される。宛先情報テーブル２５については、図２で詳細を説明する。なお、宛先情報ＣＡＭ２４のエントリアドレスとは、宛先情報ＣＡＭ２４の検索キーと一致するエントリの識別情報である。
【００２５】
判定結果生成部２６は、宛先検索部２３から入力された判定結果をフレーム転送処理部３０に出力する。
【００２６】
ＣＡＭエントリ退避メモリ２７は、宛先情報ＣＡＭ２４の検査対象となるエントリ（検査対象エントリ）に格納されたデータを一時的に退避させる記憶領域である。ＣＡＭエントリ退避メモリ２７は、実施例１では必須の構成ではなく、実施例２及び３で使用する。
【００２７】
次に、宛先検索部２３について説明する。
【００２８】
宛先検索部２３は、ＣＡＭ検索処理部２３１、宛先情報テーブル検索部２３２、制御部インタフェース２３３、及びＣＡＭ診断処理部２３４を有する。
【００２９】
ＣＡＭ検索処理部２３１は、ヘッダ情報抽出部２２から入力された検索要求に含まれるヘッダ情報の宛先アドレスを検索キーとして含む検索要求を宛先情報ＣＡＭ２４に出力する。ＣＡＭ検索処理部２３１は、宛先情報ＣＡＭ２４からエントリアドレスを含む判定結果が入力された場合、判定結果を宛先情報テーブル検索部２３２に出力する。
【００３０】
宛先情報テーブル検索部２３２は、ＣＡＭ検索処理部２３１から判定結果が入力された場合、宛先情報テーブル２５を参照し、判定結果に含まれるエントリアドレスに対応する出力先となるポート４０を示す出力先情報を取得し、出力先情報を判定結果に含めて、判定結果生成部２６に出力する。
【００３１】
制御部インタフェース２３３は、制御部２１に接続されるインタフェースである。
【００３２】
ＣＡＭ診断処理部２３４は、制御部２１が有するＣＡＭ診断制御部２１１からの指示に基づいて宛先情報ＣＡＭ２４の検索回路に異常が発生していないか否かをＣＡＭ検索処理部２３１に診断させる。ＣＡＭ診断制御部２１１及びＣＡＭ診断処理部２３４を総称してＣＡＭ診断部という。
【００３３】
制御部２１は、宛先判定部２０を制御し、ＣＡＭ診断制御部２１１、ＣＡＭテストパターン２１２、及びＣＡＭテスト結果ログ２１３を有する。なお、制御部２１は、図示しないプロセッサ及びメモリを有する。メモリは、ＣＡＭ診断制御部２１１に対応するプログラム、ＣＡＭテストパターン２１２、及びＣＡＭテスト結果ログ２１３を記憶する。プロセッサがメモリに記憶されたＣＡＭ診断制御部２１１に対応するプログラムを実行することによって、ＣＡＭ診断制御部２１１を実現する。
【００３４】
ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４の検索回路に異常が発生しているか否かを診断するＣＡＭ診断処理を実行する。ＣＡＭ診断処理は、図６及び図７で詳細に説明する。
【００３５】
ＣＡＭテストパターン２１２には、宛先情報ＣＡＭ２４の検査対象エントリに書き込むデータ（診断時格納データ）と、診断時格納データに対応する検査用の検索キーと、検索結果期待値との関係が登録される。ＣＡＭテストパターン２１２は、図４で詳細に説明する。
【００３６】
ＣＡＭテスト結果ログ２１３は、ＣＡＭ診断処理において異常があると診断された場合のログであり、図８で詳細に説明する。
【００３７】
図２は、実施例１の宛先情報ＣＡＭ２４の各エントリに格納される情報、及び宛先情報テーブル２５の説明図である。
【００３８】
宛先情報ＣＡＭ２４は、エントリアドレス２０１、宛先ＩＰアドレス２０２、及びその他２０３を含む。宛先情報ＣＡＭ２４の各エントリには、少なくとも宛先ＩＰアドレス２０２が保持されていればよい。
【００３９】
エントリアドレス２０１には、宛先情報ＣＡＭ２４のエントリの識別情報であるエントリアドレスが登録される。宛先ＩＰアドレス２０２には、フレームの宛先のＩＰアドレス（宛先アドレス）が登録される。なお、宛先ＩＰアドレス２０２に登録される情報は、ＩＰアドレスには限定されず、宛先を示すアドレスであればよい。その他２０３には、エントリアドレス及び宛先アドレス以外の情報が登録される。
【００４０】
例えば、エントリアドレス「１」によって識別されるエントリには、宛先アドレス「１．１．１．１」が格納される。
【００４１】
宛先情報テーブル２５は、エントリアドレス２０４、出力先情報２０５、及びその他２０６を含む。
【００４２】
エントリアドレス２０４には、宛先情報ＣＡＭ２４のエントリアドレスが登録される。出力先情報２０５には、出力先となるポート４０の識別情報（出力先情報）が登録される。その他２０６には、エントリアドレス及び出力先情報以外の情報が登録される。
【００４３】
例えば、エントリアドレス「１」には、出力先情報「Ｐ１」が登録される。宛先アドレスと出力先情報とは宛先情報ＣＡＭ２４のエントリアドレスによって関連付けられる。このため、宛先検索部２３は、宛先情報ＣＡＭ２４から受信したフレームの宛先アドレスと一致するエントリアドレスを取得し、宛先情報テーブル２５を参照して、取得したエントリアドレスに対応する出力先情報を決定する。
【００４４】
宛先情報ＣＡＭ２４は、宛先アドレスに一致するエントリアドレスの検索を高速化できるため、このような構成とすることによって、宛先アドレスを検索キーとした出力先情報の検索の高速化を実現できる。
【００４５】
図３は、実施例１の宛先情報ＣＡＭ２４のハードウェア構成図である。
【００４６】
宛先情報ＣＡＭ２４は、複数のエントリｅ１〜ｅｍ、ＯＲ回路２４１、及びプライオリティエンコーダ回路２４２を有する。宛先情報ＣＡＭ２４は少なくとも一つのエントリを有していればよく、宛先情報ＣＡＭ２４が有するエントリの数は図３に限定されない。なお、エントリｅ１〜ｅｍを総称する場合、エントリと記載する。
【００４７】
エントリには、宛先アドレスが格納される。
【００４８】
エントリは、データビットＤ０〜Ｄｍ、マスクビットＭ０〜Ｍｍ、比較器０〜ｍ、及びＡＮＤ回路２４３を有する。
【００４９】
データビットＤ０〜Ｄｍには宛先アドレスを示すビット列が格納される。マスクビットＭ０〜Ｍｍには、対応するデータビットＤ０〜Ｄｍをマスクするか否かを示すビットが格納される。
【００５０】
比較器０〜ｍは、検索キービット入力線Ｋ０〜Ｋ１から入力された各検索キービットと各データビットＤ０〜Ｄｍとを比較し、各検索キービットと各データビットＤ０〜Ｄｍとが一致するか否かを判定し、判定結果をＡＮＤ回路２４３に出力する。具体的には、比較器０〜ｍは、各検索キービットと各データビットＤ０〜Ｄｍとが一致する場合には「１」をＡＮＤ回路２４３に出力し、各検索キービットと各データビットＤ０〜Ｄｍとが一致しない場合には「０」をＡＮＤ回路２４３に出力する。
【００５１】
また、比較器０〜ｍは、各マスクビットＭ０〜Ｍｍが「１」である場合には、各検索キービットと各データビットＤ０〜Ｄｍとを比較せず、検索キービットとデータビットＤ０〜Ｄｍとが一致する旨の判定結果（「１」）をＡＮＤ回路２４３に出力する。
【００５２】
ＡＮＤ回路２４３は、比較器０〜ｍから入力された判定結果の論理積をＯＲ回路２４１及びプライオリティエンコーダ回路２４２に出力する。全ての比較器０〜ｍから検索キービットとデータビットＤ０〜Ｄｍとが一致する旨の判定結果（「１」）が入力された場合、論理積「１」をＯＲ回路２４１及びプライオリティエンコーダ回路２４２に出力する。この論理積「１」は、検索キーとエントリに格納された宛先アドレスとが一致することを示す。ＡＮＤ回路２４３は、少なくとも一つの比較器０〜ｍから検索キービットとデータビットＤ０〜Ｄｍとが一致しない旨の判定結果（「０」）が入力された場合、論理積「０」をＯＲ回路２４１及びプライオリティエンコーダ回路２４２に出力する。この論理積「０」は、検索キーとエントリに格納された宛先アドレスとが一致しないことを示す。
【００５３】
なお、各エントリｅ１〜ｅｍの比較器０〜ｍ、及びＡＮＤ回路２４３が各エントリｅ１〜ｅｍに対応する検索回路となる。
【００５４】
ＯＲ回路２４１は、各エントリｅ１〜ｅｍのＡＮＤ回路２４３からの論理和を算出し、算出した論理和をＣＡＭ検索処理部２３１に出力する。論理和が「１」であれば検索キーと一致するエントリが存在することを示し、論理和が「０」であれば検索キーと一致するエントリが存在しないことを示す。
【００５５】
プライオリティエンコーダ回路２４２は、検索キーと一致するエントリが存在する場合、一のエントリアドレスをＣＡＭ検索処理部２３１に出力する。なお、プライオリティエンコーダ回路２４２は、検索キーと一致するエントリが複数存在する場合、例えば、エントリアドレスが最小のエントリアドレスをＣＡＭ検索処理部２３１に出力する。
【００５６】
図４は、実施例１のＣＡＭテストパターン２１２の説明図である。
【００５７】
ＣＡＭテストパターン２１２は、パターンＩＤ４０１、データパターン４０２、検索キーパターン４０３、及び検索結果期待値４０４を含む。
【００５８】
パターンＩＤ４０１には、パターンの識別情報であるパターンＩＤが登録される。データパターン４０２には、検査対象のエントリに格納される診断時格納データが登録される。検索キーパターン４０３には、検査用の検索キーが登録される。
【００５９】
検索結果期待値４０４は、データパターン４０２に登録された診断時格納データが検査対象のエントリに格納され、検索キーパターン４０３に登録された検査用の検索キーで宛先情報ＣＡＭ２４を検索した場合の検索結果が登録される。具体的には、検索結果期待値４０４は、ヒット／ノーヒット４０５及びヒットエントリアドレス４０６を含む。ヒット／ノーヒット４０５には、検査用の検索キーと一致するエントリが存在するか否かを示す情報が登録され、ヒットエントリアドレス４０６には、ヒット／ノーヒット４０５に検査用の検索キーと一致するエントリが存在することを示す情報（「ヒット」）が登録されている場合に、検査用の検索キーと一致するエントリのエントリアドレスが登録される。
【００６０】
データパターン４０２に登録された診断時格納データの一桁目のビットは必ず「１」であり、当該ビットは検査対象のエントリであることを示す検査エントリ識別情報である。検査対象のエントリでないエントリの一桁目のビットは「０」である。また、検索キーパターン４０３に登録される検査用の検索キーの一桁目のビットも「１」である。このため、検査用の検索キーと一致する宛先情報ＣＡＭ２４のエントリは必ず検査対象のエントリとなるので、ヒットアドレス４０６には、検査対象エントリのエントリアドレスが登録される。
【００６１】
なお、検査用の検索キーの一桁目のビットは「０」であってもよい。
【００６２】
図５は、実施例１のネットワーク装置１０によるフレーム転送処理のフローチャートである。
【００６３】
ネットワーク装置１０は、ポート４０を介してフレームを受信した場合（Ｓ１０１）、フレーム転送処理を実行する。フレーム転送処理部３０は、ポート４０からフレームが入力された場合、入力されたフレームを蓄積し、入力されたフレームからヘッダ情報を抽出し、抽出したヘッダ情報をヘッダ情報抽出部２２に出力する（Ｓ１０２）。
【００６４】
ヘッダ情報抽出部２２は、ヘッダ情報が入力された場合、入力されたヘッダ情報から必要なヘッダ情報（例えば、宛先アドレス等）を抽出し、抽出したヘッダ情報を検索要求としてＣＡＭ検索処理部２３１に出力する（Ｓ１０３）。
【００６５】
ＣＡＭ検索処理部２３１は、検索要求が入力された場合、検索要求に含まれる宛先アドレスを検索キー情報として含む検索要求を宛先情報ＣＡＭ２４に出力する（Ｓ１０４）。
【００６６】
宛先情報ＣＡＭ２４は、検索要求が入力された場合、入力された検索要求に含まれる検索キー情報で各エントリを検索し、検索結果をＣＡＭ検索処理部２３１に出力する（Ｓ１０５）。検索キー情報に一致するエントリが存在する場合、検索結果は、一致エントリが存在する旨を示す情報と当該一致エントリのエントリアドレスを含む。一方、検索キー情報に一致するエントリが存在しない場合、検索結果は、一致エントリが存在しない旨を示す情報を含む。
【００６７】
ＣＡＭ検索処理部２３１は、検索結果が入力された場合、入力された検索結果を宛先情報テーブル検索部２３２に出力する（Ｓ１０６）。
【００６８】
宛先情報テーブル検索部２３２は、一致エントリが存在する旨を示す情報を検索結果が含む場合、エントリアドレスと出力先情報との関係を参照し、一致エントリのエントリアドレスに対応する出力先情報を取得する（Ｓ１０７）。具体的には、宛先情報テーブル検索部２３２は、宛先情報テーブル２５を参照し、エントリアドレス２０４に一致エントリのエントリアドレスが登録されたレコードの出力先情報を取得する。一方、宛先情報テーブル検索部２３２は、一致エントリが存在しない旨を示す情報を検索結果が含む場合、宛先情報テーブル２５を検索しない。
【００６９】
次に、宛先情報テーブル検索部２３２は、宛先情報ＣＡＭ２４で一致エントリが存在したか否かを示すＣＡＭ検索一致・不一致情報、及びＳ１０７で取得した出力先情報を判定結果生成部２６に出力する（Ｓ１０８）。
【００７０】
判定結果生成部２６は、ＣＡＭ検索一致・不一致情報が宛先情報ＣＡＭ２４で一致エントリが存在しないことを示す場合、所定の判定をし、判定結果をフレーム転送処理部３０に出力する（Ｓ１０９）。所定の判定とは、受信したフレームを廃棄するという判定、及び制御部２１に宛先情報ＣＡＭ２４に一致エントリが存在しないことを通知するという判定の少なくとも一方を含む。一方、判定結果生成部２６は、ＣＡＭ検索一致・不一致情報が宛先情報ＣＡＭ２４で一致エントリが存在することを示す場合、中継判定をし、判定結果及び出力先情報をフレーム転送処理部３０に出力する。
【００７１】
フレーム転送処理部３０は、判定結果が入力された場合、入力された判定結果が中継判定である場合、Ｓ１０２で蓄積したフレーム情報を読み出し、読み出したフレーム情報を出力先情報に対応するポート４０に転送し（Ｓ１１０）、処理を終了する。一方、フレーム転送処理部３０は、入力された判定結果が廃棄判定である場合、Ｓ１０２で蓄積したフレーム情報を廃棄し、処理を終了する。
【００７２】
以上によって、ネットワーク装置１０は、受信したフレームを宛先アドレスに基づく転送先に転送する。
【００７３】
図６は、実施例１のＣＡＭ診断処理の概略の説明図である。
【００７４】
宛先情報ＣＡＭ２４の各エントリには宛先ＩＰアドレス２０２（図２参照）が格納される。宛先ＩＰアドレス２０２は、検査エントリ識別ビット２０２１、及び宛先アドレスビット列２０２２を含む。検査エントリ識別ビット２０２１には、検査用のエントリであるか、検査用のエントリではなく中継用のエントリであるかを示す情報が格納される。検査対象となるエントリである場合、検査エントリ識別ビット２０２１には検査用である旨の情報（例えば「１」）が登録され、検査対象となるエントリでない場合、検査対象エントリ識別ビット２０２２には中継用である旨の情報（例えば「０」）である。宛先アドレスビット列２０２２には、図２で説明したフレームの宛先のＩＰアドレスが登録される。
【００７５】
検査対象エントリ識別ビット２０２１に検査用のエントリである旨が登録されたエントリの宛先アドレスビット２０２２には、ＣＡＭの異常に診断に用いられる診断時格納データが格納される。そして、格納された診断時格納データに対応する所定の検索キーが宛先情報ＣＡＭ２４に入力され、所定の検索キーで検索がされるＣＡＭ異常診断処理が実行される。なお、診断時格納データは、図４で説明したテストパターン２１２のデータパターン４０２に登録されており、検索キーは、図４で説明したテストパターン２１２の検索キーパターン４０３に登録されている。
【００７６】
なお、検査対象となるエントリには診断時格納データが格納され、フレームの中継の際に参照されると、フレームを誤転送してしまう可能性があるため、検査エントリ識別ビット２０２１に検査用のエントリである旨の情報が登録されたは、ネットワーク装置１０がフレームを受信した場合のフレーム転送処理では参照されず、検査エントリ識別ビット２０２１に中継用のエントリである旨の情報が登録されたエントリのみ参照される。これによって、診断時格納データが格納されたエントリがフレームの宛先アドレスと一致するエントリとして検索され、フレームが誤転送されてしまうことを防止できる。
【００７７】
ＣＡＭ診断処理について詳細に説明する。
【００７８】
まず、ＣＡＭ診断処理部２１４は、所定のタイミングでＣＡＭ異常診断処理を実行する。宛先情報ＣＡＭ２４のエントリから検査対象となるエントリを決定し、決定した検査対象となるエントリ以降の全てのエントリに格納されたデータを一つ先のエントリアドレスに格納（移動）する。これによって、検査対象となるエントリはデータが格納されていない状態となる。また、ＣＡＭ診断処理部２１４は、検査対象となるエントリ以降の全てのエントリに格納されたデータを一つ先のエントリアドレスに格納した後、宛先情報テーブル２５の検査対象となるエントリのエントリアドレス以降の全エントリアドレスをインクリメントする。これによって、宛先情報ＣＡＭ２４の検査対象となるエントリ以降のエントリに格納されたデータが一つ先のエントリアドレスに移動しても、宛先情報テーブル２５のエントリアドレスと関連付けることができる。
【００７９】
次に、ＣＡＭ診断処理部２１４は、ＣＡＭテストパターン２１２を参照し、検査対象のテストパターンを決定し、検査対象となるエントリの検査エントリ識別ビット２０２１に検査用のエントリである旨の情報を格納し、検査対象のテストパターンの診断時格納データ４０２に登録されたデータを検査対象となるエントリの宛先アドレスビット列２０２２に格納し、検査対象のテストパターンの検査機キーパターン４０３に登録された検索キーを含む検索要求をＣＡＭ診断処理部２３４に出力する。ＣＡＭ診断処理部２３４は、入力された検索要求をＣＡＭ検索処理部２３１に出力し、ＣＡＭ検索処理部２３１は、入力された検索要求を宛先情報ＣＡＭ２４に出力する。宛先情報ＣＡＭ２４は、検索要求が入力されると、フレーム転送処理と同様に、検査用の検索キーと一致するエントリが存在するか否かを判定し、判定結果をＣＡＭ検索処理部２３１に出力する。ＣＡＭ検索処理部２３１は、判定結果をＣＡＭ診断処理部２３４を介してＣＡＭ診断制御部２１１に出力する。ＣＡＭ診断制御部２１１は、入力された判定結果が検査対象のテストパターンの検索結果期待値４０４と一致するか否かを判定する。
【００８０】
検査対象のエントリに対して、全てのテストパターンが実行されると、新たな検査対象となるエントリが決定され、ＣＡＭ診断処理が実行され、全てのエントリにＣＡＭ診断処理が実行されると処理を終了する。
【００８１】
図７は、実施例１のＣＡＭ異常診断処理のフローチャートである。
【００８２】
まず、ＣＡＭ診断制御部２１１は、エントリアドレスが先頭であるエントリ（図３に示すｅ１）を検査対象のエントリに決定する（Ｓ２０１）。
【００８３】
次に、ＣＡＭ診断制御部２１１は、検査対象となるエントリ以降の全てのエントリに格納されたデータを一つ先のエントリに移動し、検査対象となるエントリを空の状態にする（Ｓ２０２）。Ｓ２０２では、ＣＡＭ診断制御部２１１は、宛先情報テーブル２５のエントリアドレス２０４に検査対象のエントリのエントリアドレスが登録されたレコード以降の全てのレコードのエントリアドレス２０４に登録されたエントリアドレスをインクリメントする。
【００８４】
次に、ＣＡＭ診断制御部２１１は、ＣＡＭテストパターン２１２のパターンＩＤ「Ｐ１」を検査対象のテストパターンに決定する（Ｓ２０３）。
【００８５】
次に、ＣＡＭ診断制御部２１１は、検査対象のテストパターンの診断時格納データを検査対象となるエントリに格納する（Ｓ２０４）。診断時格納データには、検査エントリ識別ビット２０２１が検査用のエントリである旨を示す情報（「１」）に設定されているので、診断時格納データが検査対象となるエントリに格納されることによって、検査対象となるエントリの検査エントリ識別ビット２０２１が「１」に変更され、当該エントリが検査対象となるエントリであることを示すようになる。
【００８６】
次に、ＣＡＭ診断制御部２１１は、検査対象のテストパターンの検査用の検索キーで宛先情報ＣＡＭ２４に検索要求を出力する（Ｓ２０５）。
【００８７】
次に、ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致するか否かを判定する（Ｓ２０６）。例えば、ＣＡＭ診断制御部２１１は、検査対象のエントリがエントリアドレス「ｅ１」によって識別されるエントリであって、検査対象のテストパターンがパターンＩＤ「Ｐ１」によって識別されるテストパターンである場合、検索結果が、検索キーと一致するエントリが存在することを示し、当該エントリのエントリアドレスが「ｅ１」であるか否かを判定する。
【００８８】
Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致すると判定された場合、ＣＡＭ診断制御部２１１は、ＣＡＭテストパターン２１２の全てのテストパターンで検査対象となるエントリの診断が実行されたか否かを判定する（Ｓ２０７）。
【００８９】
Ｓ２０７で、ＣＡＭテストパターン２１２の全てのテストパターンで検査対象となるエントリの診断が実行されていないと判定された場合、ＣＡＭ診断制御部２１１は、検査対象となるテストパターンのパターンＩＤに１を加算した値のパターンＩＤによって識別されるテストパターンを検査対象のテストパターンに決定し（Ｓ２０８）、Ｓ２０４に戻る。
【００９０】
一方、Ｓ２０７で、ＣＡＭテストパターン２１２の全てのテストパターンで検査対象となるエントリの診断が実行されたと判定された場合、検査対象となるエントリの診断が完了しため、ＣＡＭ診断制御部２１１は、検査対象となるエントリの一つ先のエントリに格納されたデータを検査対象となるエントリに移動し、検査対象となるエントリを診断前の状態に戻す（Ｓ２０９）。
【００９１】
そして、ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４の全てのエントリの診断が終了したか否かを判定する（Ｓ２１０）。
【００９２】
Ｓ２１０で、宛先情報ＣＡＭ２４の全てのエントリの診断が終了したと判定された場合、ＣＡＭ診断制御部２１１は、処理を終了する。
【００９３】
一方、Ｓ２１０で、宛先情報ＣＡＭ２４の全てのエントリの診断が終了していないと判定された場合、ＣＡＭ診断制御部２１１は、検査対象となるエントリのエントリアドレスに１を加算した値のエントリアドレスによって識別されるエントリを検査対象となるエントリに決定し（Ｓ２１１）、Ｓ２０３に戻る。
【００９４】
一方、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致しないと判定された場合、ＣＡＭ診断制御部２１１は、検査対象となるエントリの比較器及びＡＮＤ回路２４３（すなわち、検索回路）に異常があると判定し、その旨をユーザに通知する診断異常画面を表示し、ＣＡＭテスト結果ログ２１３を出力し、当該ＣＡＭテスト結果ログ２１３を記憶し（Ｓ２１２）、処理を終了する。ＣＡＭテスト結果ログ２１３は、障害を検出した検査対象となるエントリアドレス、テストパターンＩＤ、診断時格納データ、検索キー、検索結果期待値、及び検索結果を含む。ＣＡＭテスト結果ログ２１３の詳細は図８で説明する。
【００９５】
図８は、実施例１のＣＡＭテスト結果ログ２１３の説明図である。
【００９６】
ＣＡＭテスト結果ログ２１３は、障害検出エントリ５０１、パターンＩＤ５０２、データパターン５０３、検索キーパターン５０４、検索結果期待値５０５、及び検索結果５０６を含む。
【００９７】
障害検出エントリ５０１には、障害を検出したエントリのエントリアドレスが登録される。パターンＩＤ５０２には、障害を検出した場合の検査対象のテストパターンのパターンＩＤが登録される。データパターン５０３には、障害を検出した場合の検査対象のテストパターンの診断時格納データが登録される。検索キーパターン５０４には、障害を検出した場合の検査対象のテストパターンの検査用の検索キーが登録される。
【００９８】
検索結果期待値５０５には、障害を検出した場合の検査対象のテストパターンの検索結果期待値が登録される。検索結果期待値５０５は、ヒット／ノーヒット５０７及びヒットエントリアドレス５０８を含む。ヒット／ノーヒット５０７には、検査対象のテストパターンのヒット／ノーヒット４０５と同じ内容が登録され、ヒットエントリアドレス５０８には、検査対象のテストパターンのヒットエントリアドレス４０６と同じ内容が登録される。
【００９９】
検索結果５０６には、障害を検出した場合の宛先情報ＣＡＭ２４による検索結果が登録される。検索結果５０６は、ヒット／ノーヒット５０９及びヒットエントリアドレス５１０を含む。ヒット／ノーヒット５０９には、宛先情報ＣＡＭ２４による検索結果に含まれる検索キーと一致するエントリが存在したか否かを示す情報が登録される。ヒットエントリアドレス５１０には、宛先情報ＣＡＭ２４による検索結果に含まれる検索キーと一致するエントリのエントリアドレスが登録される。
【０１００】
なお、図７では、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定された場合に、ＣＡＭテスト結果ログ２１３を出力し、処理を終了するため、ＣＡＭテスト結果ログ２１３が有するエントリは一つのエントリのみである。
【０１０１】
ＣＡＭテスト結果ログ２１３によってユーザは宛先情報ＣＡＭ２４のどのエントリがどのようなテストパターンで正常に動作しないのかを把握することができる。
【０１０２】
次に、実施例１の第一の変形例について、図９及び図１０を用いて説明する。
【０１０３】
実施例１では、図７に示すように、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定された場合、即座にＳ２１２に進み、処理を終了する。
【０１０４】
本変形例では、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定されても、全てのエントリに全てのテストパターンで診断処理が実行されるまで処理を継続する。
【０１０５】
図９は、実施例１の第一の変形例のＣＡＭ異常診断処理のフローチャートである。図９に示す処理のうち、図７に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
【０１０６】
Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致しないと判定された場合、ＣＡＭ診断制御部２１１は、検査対象となるエントリの比較器、ＡＮＤ回路２４３に異常があると判定し、ＣＡＭテスト結果ログ２１３を出力し、ＣＡＭテスト結果ログ２１３を記憶し（Ｓ３０１）、Ｓ２０９に進む。
【０１０７】
Ｓ２１０で、宛先情報ＣＡＭ２４の全てのエントリの診断が終了したと判定された場合、ＣＡＭ診断制御部２１１は、ＣＡＭテスト結果ログ２１３を参照し、宛先情報ＣＡＭ２４のいずれかのエントリで異常が検出されたか否かを判定する（Ｓ３０２）。
【０１０８】
Ｓ３０２で、宛先情報ＣＡＭ２４のいずれかのエントリで異常が検出されたと判定された場合、ＣＡＭ診断制御部２１１は、診断異常画面を表示し（Ｓ３０３）、処理を終了する。
【０１０９】
Ｓ３０２で、宛先情報ＣＡＭ２４のいずれのエントリで異常が検出されていないと判定された場合、ＣＡＭ診断制御部２１１は、処理を終了する。
【０１１０】
これによって、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致しないと判定された場合であっても、処理を終了せず、宛先情報ＣＡＭ２４の全てエントリに全てテストパターンで診断処理が実行されるまで、処理を繰り返す。
【０１１１】
図１０は、実施例１の第一の変形例のＣＡＭテスト結果ログ２１３の説明図である。図１０に示す構成のうち、図８に示す構成と同じ構成は、同じ符号を付与し、説明を省略する。
【０１１２】
本変形例では、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値４０４と一致しないと判定された場合、Ｓ２１２に進み、ＣＡＭテスト結果ログ２１３が出力され、記憶されていくため、ＣＡＭ異常診断処理を終了した後、図１０に示すように、ＣＡＭテスト結果ログ２１３が複数のエントリを有する場合がある。
【０１１３】
以上によって、本変形例では、宛先情報ＣＡＭ２４の全てのエントリに全てのテストパターンで異常診断処理が実行されるため、ユーザは、宛先情報ＣＡＭ２４で異常が検出された全てのエントリ、テストパターン、及び検索結果を把握できる。
【０１１４】
本実施例では、ＣＡＭ診断制御部２１１は、検査用の検索キーに対応する一致エントリアドレスを含む検索結果期待値を把握している。このため、検査用の検索キーと一致するエントリが複数存在する場合であっても、検索結果が検査結果期待値と一致しない場合には、検査対象となるエントリで障害が発生していることを把握できる。
【０１１５】
また、検査対象となるエントリ以降のエントリに格納されたデータを移動させるため、ＣＡＭ異常診断処理の実行中であっても、通常のフレーム転送処理を正常に実行できる。
【０１１６】
また、宛先情報ＣＡＭ２４は、フレーム転送処理では、検査エントリ識別ビット２０２１が検査対象となるエントリであることを示すエントリを参照しないので、診断時格納データが格納された検査対象となるエントリのエントリアドレスをＣＡＭ検索処理部２３１に返すことなく、フレームが誤転送されることを防止できる。
【０１１７】
実施例１の第二の変形例について図１１を用いて説明する。本実施例では、宛先情報ＣＡＭ２４の検査対象のエントリには診断時格納データを格納せず、検査対象のエントリに格納されていたデータに基づいて少なくとも一つの検査用の検索キー及び検索結果期待値を生成し、生成した検査用の検索キー及び検索結果期待値でＣＡＭ異常診断処理を実行する。このため、検査対象となるエントリ以降のエントリに格納されたデータの移動、及び検査対象となるエントリに格納されたデータのＣＡＭエントリ退避メモリ２７への移動も必要なく、宛先情報ＣＡＭ２４の処理負荷を軽減できる。また、ＣＡＭテストパターン２１２を予め設定しなくてもよいので、管理者の負担も軽減できる。
【０１１８】
図１１は、実施例４のＣＡＭ異常診断処理の概略の説明図である。
【０１１９】
ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４の検査対象となるエントリを決定し、決定したエントリの検査エントリ識別ビット２０２１に「１」を変更して、検査対象となるエントリの検査エントリ識別ビット２０２１を検査対象となるエントリであることを示すようにする。なお、検査対象となるエントリ以外のエントリの検査エントリ識別ビット２０２１には「０」が格納される。
【０１２０】
そして、ＣＡＭ診断制御部２１１は、検査対象となるエントリに格納されたデータに基づいて検査用の検索キー及び検索結果期待値を生成し、生成した検査用の検索キー及び検索結果期待値を用いてＣＡＭ異常診断処理を実行する。なお、本実施例では、実施例１〜３のように、検査対象となるエントリに予め設定された診断時格納データを格納しない。
【０１２１】
宛先情報ＣＡＭ２４にはＩｎｖａｌｉｄ（無効）エントリがあり、生成した検索キーと一致するエントリがＩｎｖａｌｉｄエントリである場合には、ＣＡＭ診断制御部２１１は障害が発生したと判断する。
【０１２２】
例えば、検査対象となるエントリが図１１に示す「１０１Ｘ０１Ｘ」である場合の検索キーの生成について説明する。なお、「Ｘ」のビットは、Ｄｏｎ'ｔ  Ｃａｒｅであって、検索キーが「０」であっても「１」であっても当該ビットはヒットしたものとされる。
【０１２３】
第一に、ＣＡＭ診断制御部２１１は、検査対象となるエントリの「Ｘ」の全ビットを「０」とし、その他のビットは検査対象のエントリのビットと同じ値に設定された検査用の検索キー（「１０１００１０」）１６０１を生成する。この検査用の検索キー１６０１で宛先情報ＣＡＭ２４を検索した場合、検査対象のエントリがヒットするため、検索結果期待値は、検索結果、検索キー１６０１と一致するエントリが存在し、当該エントリアドレスは検査対象となるエントリアドレスとなる。
【０１２４】
第二に、ＣＡＭ診断制御部２１１は、検査対象となるエントリの「Ｘ」の全ビットを「１」とし、その他のビットは検査対象のエントリのビットと同じ値に設定された検査用の検索キー（「１０１１０１１」）１６０２を生成する。この検査用の検索キー１６０２で宛先情報ＣＡＭ２４を検索した場合、検査対象のエントリがヒットするため、検索結果期待値は、検索キー１６０２と一致するエントリが存在し、当該エントリアドレスは検査対象となるエントリアドレスとなる。
【０１２５】
第三に、ＣＡＭ診断制御部２１１は、検査対象となるエントリの「Ｘ」の全ビットを「０」とし、検査対象となるエントリの「Ｘ」以外の値（「０」又は「１」）が登録された一のビットの値を反転させた検査用の検索キー１６０３〜１６０６を生成する。この場合、検査エントリ識別ビット２０２１を反転させた検査用の検索キーは生成しない。
【０１２６】
例えば、検査対象となるエントリは「１０１Ｘ０１Ｘ」であるため、検査エントリ識別ビット２０２１、及び「Ｘ」のビット以外のビットは「０」、「１」、「０」、及び「１」であるので、これらを反転させた四つの検査用の検索キー１６０３〜１６０６が生成される。一つ目の「０」のビットを反転させた検査用の検索キーは「１１１００１０」１６０３であり、一つ目の「１」のビットを反転させた検査用の検索キーは「１００００１０」１６０４であり、二つ目の「０」のビットを反転させた検査用の検索キーは「１０１０１１０」１６０５であり、二つ目の「１」のビットを反転させた検査用の検索キーは「１０１００００」１６０６である。
【０１２７】
これらの検査用の検索キー１６０３〜１６０６は、検査エントリ識別ビット２０２１は「１」であり、いずれかのビットは検査対象のエントリのビットの値を反転させたものである。このため、これらの検査用の検索キーは宛先情報ＣＡＭ２４のいずれのエントリとも一致せず、これらの検査用の検索キーの検索結果期待値は、検査用の検索キーと一致するエントリが存在しないことを示す。
【０１２８】
なお、ＣＡＭ診断制御部２１１は、上記したＣＡＭ異常診断処理を、宛先情報ＣＡＭ２４のＩｎｖａｌｉｄエントリ以外の全てのエントリに対して実行する。
【０１２９】
また、フレーム転送処理で、宛先情報ＣＡＭ２４が検索キーと一致するエントリを検索する場合には、宛先情報ＣＡＭ２４のグローバルマスク機能によって全てのエントリ（検査対象のエントリ及び検査対象以外のエントリ）の検査エントリ識別ビット２０２１が共通して「Ｄｏｎ'ｔ  Ｃａｒｅ」に設定される。これによって、フレーム転送処理では、検査エントリ識別ビット２０２１が「Ｄｏｎ'ｔ  Ｃａｒｅ」に設定されているため、受信したフレームの宛先アドレスが検査対象となるエントリに格納されている場合には、検査対象となるエントリアドレスが取得される。これによって、ＣＡＭ異常診断処理の実行中であってもフレーム転送処理を実行できる。
【０１３０】
次に、本変形例のＣＡＭ異常診断処理のフローチャートである。本実施例１のＣＡＭ異常診断処理は、実施例１の図７に基づいて説明し、実施例１のＣＡＭ異常診断処理と異なる処理を詳細に説明する。
【０１３１】
ＣＡＭ診断制御部２１１は、Ｓ２０１で検査対象となるエントリを決定した後、Ｓ２０２の代わりに検査対象となるエントリの検査エントリ識別ビット２０２１に検査用のエントリである旨の情報（「１」）を設定する。
【０１３２】
次に、ＣＡＭ診断制御部２１１は、検査対象となるエントリに格納されたデータに基づいて、検査用の検索キー及び検索結果期待値を生成し、Ｓ２０３に進む。生成された検査用の検索キー及び検索結果期待値にはパターンＩＤが付与される。
【０１３３】
Ｓ２０３では、ＣＡＭ診断制御部２１１は、生成された検査用の検索キー及び検索結果期待値のうちパターンＩＤ「Ｐ１」を検査対象のテストパターンに決定し、Ｓ２０４を実行せずに、Ｓ２０５に進む。
【０１３４】
実施例１では、Ｓ２０４で検査対象のテストパターンの診断時格納データを検査対象となるエントリに格納するが、本実施例では、Ｓ２０４を実行しないで、Ｓ２０５に進み、Ｓ２０５〜Ｓ２０７を実行する。
【０１３５】
ＣＡＭ診断制御部２１１は、Ｓ２０７で、検査対象となるエントリに全てのテストパターンでＣＡＭ異常診断処理が実行されたと判定された場合、Ｓ２０９の代わりに、当該検査対象となるエントリの検査エントリ識別ビット２０２１を「０」に設定し（Ｓ５０３）、Ｓ２１０に進む。
【０１３６】
また、本変形例では、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定された場合に全てのエントリで診断処理が実行されていなくても、Ｓ２１２に進み、処理を終了するが、実施例１の変形例と同じく、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定されても、全てのエントリに全てのテストパターンで診断処理が実行されるまで処理を継続するようにしてもよい。
【０１３７】
以上によって、検査対象となるエントリに格納されたデータに基づいて検査用の検索キー及び検索結果期待値が生成されるため、管理者が予めテストパターンを生成しなくてもよいので、管理者の負担を軽減できる。フレーム転送のために、検査対象となるエントリ以降のエントリに格納されたデータの移動、及び検査対象となるエントリに格納されたデータのＣＡＭエントリ退避メモリ２７への移動も必要ないので、宛先情報ＣＡＭ２４の処理負荷も軽減できる。
【０１３８】
また、検査対象となるエントリに診断時格納データが格納されず、フレーム転送処理では、検査エントリ識別ビット２０２１が検索キーの検査エントリ識別ビット２０２１に対応するビットと一致するか否かを判定しないので、ＣＡＭ異常診断処理の実行中であってもフレーム転送処理を実行できる。
【０１３９】
実施例１の第三の変形例について図１２を用いて説明する。本実施例では、フレーム転送処理の処理要求とＣＡＭ異常診断処理の処理要求とが同じタイミングに入力された場合、フレーム転送処理の実行タイミングとＣＡＭ異常診断処理の実行タイミングとを調停することによって、いずれの処理も実行するようにする。
【０１４０】
図１２は、実施例１の第三の変形例のフレーム転送処理とＣＡＭ異常診断処理との調停の説明図である。
【０１４１】
この調停に関する処理は、例えば、ＣＡＭ診断制御部２１１によって実行されてもよいし、制御部２１の図示しないプログラムによって実行されてもよい。この場合、宛先検索部２３は、ヘッダ情報抽出部２２からヘッダ情報が入力された旨をフレーム転送処理に関する処理要求として制御部インタフェース２３３を介して制御部２１に出力する。
【０１４２】
時刻Ｔ１では、フレームＦＲ１のフレーム転送処理の処理要求が制御部２１に入力される。時刻Ｔ２では、フレームＦＲ２のフレーム転送処理の処理要求が制御部２１に入力され、フレームＦＲ１のフレーム転送処理が実行される。
【０１４３】
時刻Ｔ４では、ＣＡＭ異常診断処理の処理要求及びフレームＦＲ４のフレーム転送処理の処理要求が同じタイミングで制御部２１に入力される。この場合には、制御部２１は、時刻Ｔ５でＣＡＭ異常診断処理を優先して実行し、時刻Ｔ６でフレームＦＲ４のフレーム転送処理を実行する。
【０１４４】
なお、図１２では、ＣＡＭ異常診断処理が優先して実行される場合について説明したが、フレーム転送処理が優先して実行されてもよい。
【０１４５】
このように、同じタイミングでＣＡＭ異常診断処理の処理要求及びフレーム転送処理の処理要求を受け付けた場合、いずれかの処理を優先して実行することによって、ＣＡＭ異常診断処理及びフレーム転送処理の実行タイミングを調停し、いずれの処理も実行する。これによって、同じタイミングでＣＡＭ異常診断処理の処理要求及びフレーム転送処理の処理要求を受け付けた場合であっても、いずれかの処理要求を破棄し、いずれかの処理を実行しないという事態を防止できる。
【実施例２】
【０１４６】
実施例２について図１３〜図１５を用いて説明する。
【０１４７】
実施例１では、宛先情報ＣＡＭ２４の検査対象となるエントリを何も格納されていない状態とするために、当該検査対象となるエントリ以降のエントリに格納されたデータを一つ先のエントリに移動させる必要があった。本実施例では、検査対象となるエントリ以降のエントリに格納されたデータを一つ先のエントリに移動させなくてもよいネットワーク装置１０について説明する。
【０１４８】
本実施例のネットワーク装置１０では、ＣＡＭエントリ退避メモリ２７が必須の構成となる。本実施例では、ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４の検査対象となるエントリに格納されたデータをＣＡＭエントリ退避メモリ２７に移動させる指示をＣＡＭ診断処理部２３４に出力する。ＣＡＭ診断処理部２３４は、当該指示が入力された場合、宛先情報ＣＡＭ２４の検査対象となるエントリに格納されたデータをＣＡＭエントリ退避メモリ２７に移動し、検査対象となるエントリを何も格納されていない状態とする。これによって、検査対象となるエントリに格納されていた宛先アドレスはＣＡＭエントリ退避メモリ２７に移動することになる。したがって、ネットワーク装置１０は、フレーム転送処理で宛先情報ＣＡＭ２４及びＣＡＭエントリ退避メモリ２７を参照して、受信した宛先アドレスと一致するエントリアドレスを取得すれば、検査対象となるエントリ以降のエントリに格納されたデータを一つ先のエントリに移動させなくても、受信したフレームを転送できる。
【０１４９】
図１３は、実施例２のＣＡＭ異常診断処理の概略の説明図である。
【０１５０】
（１）では、ＣＡＭ診断制御部２１１は、宛先情報ＣＡＭ２４の検査対象となるエントリの決定後、検査対象となるエントリに診断時格納データを格納する前に、検査対象となるエントリに格納された宛先アドレス２０２をＣＡＭエントリ退避メモリ２７に移動させる。（１）では、診断時格納データが検査対象となるエントリに格納されていないので、検査対象となるエントリの検査エントリ識別ビット２０２１は中継用のままである。
【０１５１】
（２）では、ＣＡＭ診断制御部２１１は、検査対象となるエントリに検査対象のテストパターンの診断時格納データをＣＡＭ診断処理部２３４に格納させ、検査対象のテストパターンの検索キーで宛先情報ＣＡＭ２４をＣＡＭ診断処理部２３４に検索させる。
【０１５２】
（３）では、ＣＡＭ診断制御部２１１は、検索結果が入力された場合、ＣＡＭエントリ退避メモリ２７に退避させていた検査対象となるエントリに格納された宛先アドレスを、検査対象であったエントリに格納し、検査対象であったエントリを元の状態に戻す。
【０１５３】
（１）〜（３）の処理を宛先情報ＣＡＭ２４の全てのエントリに対して実行する。
【０１５４】
このように、検査対象となるエントリに診断時格納データが格納される前に、検査対象となるエントリに格納された宛先アドレス２０２がＣＡＭエントリ退避メモリ２７に格納されるため、検査対象となるエントリ以降のエントリに格納された宛先アドレス２０２を一つ先エントリに移動させなくても、ネットワーク装置１０は、宛先情報ＣＡＭ２４及びＣＡＭエントリ退避メモリ２７を参照することで、受信したフレームを転送できる。
【０１５５】
図１４は、実施例２のＣＡＭ異常診断処理のフローチャートである。図１４に示す処理のうち、実施例１の図７に示すと同じ処理は同じ符号を付与し、説明を省略する。
【０１５６】
ＣＡＭ診断制御部２１１は。Ｓ２０１又はＳ２１１で宛先情報ＣＡＭ２４の検査対象となるエントリを決定した後、検査対象となるエントリに格納されたデータをＣＡＭエントリ退避メモリ２７に移動し、検査対象となるエントリに格納されたデータを消去し（Ｓ４０１）、Ｓ２０３以降の処理に進み、検査対象となるエントリに対して異常が発生していないかを診断する。Ｓ４０１によって、検査対象となるエントリは何も格納されていない状態となる。
【０１５７】
Ｓ２０７で、ＣＡＭテストパターン２１２の全てのテストパターンで検査対象となるエントリの診断が実行されたと判定された場合、検査対象となるエントリの診断が完了しため、ＣＡＭ診断制御部２１１は、ＣＡＭエントリ退避メモリ２７に移動していた検査対象なるエントリに格納されていたデータを当該検査対象となるエントリに移動し（Ｓ４０２）、Ｓ２１０に進む。これによって、検査対象となるエントリへの診断処理の実行後、検査対象となるエントリには、診断処理実行前に格納されていた宛先アドレスが格納され、検査対象となるエントリは診断処理実行前の状態に戻る。
【０１５８】
なお、本実施例では、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定された場合に全てのエントリで診断処理が実行されていなくても、Ｓ２１２に進み、処理を終了するが、実施例１の変形例と同じく、Ｓ２０６で、宛先情報ＣＡＭ２４による検索結果が検査対象のテストパターンの検索結果期待値と一致しないと判定されても、全てのエントリに全てのテストパターンで診断処理が実行されるまで処理を継続するようにしてもよい。
【０１５９】
次に、宛先情報ＣＡＭ２４の検査対象となるエントリに格納された宛先アドレスがＣＡＭエントリ退避メモリ２７に移動している場合のフレーム転送処理について図１５を用いて説明する。図１５は、実施例２のフレーム転送処理の説明図である。
【０１６０】
ＣＡＭ異常診断処理の実行中でもフレーム転送処理が実行されるため、ＣＡＭエントリ退避メモリ２７に宛先情報ＣＡＭ２４の検査対象となるエントリに格納された宛先アドレス２０２が格納され、宛先情報ＣＡＭ２４の検査対象となるエントリに診断時格納データが格納されている状態で、ネットワーク装置１０がフレームを受信すると、フレーム転送処理を実行する。
【０１６１】
この場合、ＣＡＭ検索処理部２３１は、ヘッダ情報抽出部２２から検索要求が入力された場合、入力された検索要求に含まれる検索キー（受信したフレームの宛先アドレス）を宛先情報ＣＡＭ２４及びＣＡＭ診断処理部２３４に出力する。
【０１６２】
ＣＡＭ診断処理部２３４は、ＣＡＭエントリ退避メモリ２７に、検索キーと一致するデータが存在するかを検索し、検索結果をＣＡＭ検索処理部２３１に出力する。
【０１６３】
また、宛先情報ＣＡＭ２４は、検索キーと一致するエントリが存在するかを検索し、検索結果をＣＡＭ検索処理部２３１に出力する。
【０１６４】
ＣＡＭ検索処理部２３１は、ＣＡＭエントリ退避メモリ２７の検索結果及び宛先情報ＣＡＭ２４の検索結果のいずれかを最終的な検索結果に決定するする最終一致判定部を有する。
【０１６５】
最終一致判定部は、予め設定されたポリシーに従って、ＣＡＭエントリ退避メモリ２７の検索結果及び宛先情報ＣＡＭ２４の検索結果に基づいて最終的な検索結果を宛先情報テーブル検索部２３２に出力する。
【０１６６】
最終一致判定部のポリシーについて説明する。
【０１６７】
宛先情報ＣＡＭ２４の検索結果が不一致であって、かつ、ＣＡＭエントリ退避メモリ２７の検索結果が不一致であれば、最終一致判定部は、最終的な検索結果を不一致に決定する。
【０１６８】
宛先情報ＣＡＭ２４の検索結果が不一致であって、かつ、ＣＡＭエントリ退避メモリ２７の検索結果が一致であれば、最終一致判定部は、最終的な検索結果をＣＡＭエントリ退避メモリ２７の検索結果に決定する。最終的な検索結果は一致であり、最終的な検索結果に含まれる一致エントリアドレスは、ＣＡＭエントリ退避メモリ２７の検索結果に含まれるエントリアドレスである。
【０１６９】
宛先情報ＣＡＭ２４の検索結果が一致であって、かつ、ＣＡＭエントリ退避メモリ２７の検索結果が不一致であれば、最終一致判定部は、最終的な検索結果を宛先情報ＣＡＭ２４の検索結果に決定する。最終的な検索結果は一致であり、最終的な検索結果に含まれる一致エントリアドレスは、宛先情報ＣＡＭ２４の検索結果に含まれるエントリアドレスである。
【０１７０】
宛先情報ＣＡＭ２４の検索結果が一致であって、かつ、ＣＡＭエントリ退避メモリ２７の検索結果が一致であれば、最終一致判定部は、ＣＡＭエントリ退避メモリ２７の検索結果の一致エントリアドレスが宛先情報ＣＡＭ２４の検索結果の一致エントリアドレス以下であるか否かを判定する。ＣＡＭエントリ退避メモリ２７の検索結果の一致エントリアドレスが宛先情報ＣＡＭ２４の検索結果の一致エントリアドレス以下であると判定された場合、最終一致判定部は、最終的な検索結果をＣＡＭエントリ退避メモリ２７の検索結果に決定する。最終的な検索結果は一致であり、最終的な検索結果に含まれる一致エントリアドレスは、ＣＡＭエントリ退避メモリ２７の検索結果に含まれるエントリアドレスである。一方、ＣＡＭエントリ退避メモリ２７の検索結果の一致エントリアドレスが宛先情報ＣＡＭ２４の検索結果の一致エントリアドレスより大きいと判定された場合、最終一致判定部は、最終的な検索結果を宛先情報ＣＡＭ２４の検索結果に決定する。最終的な検索結果は一致であり、最終的な検索結果に含まれる一致エントリアドレスは、宛先情報ＣＡＭ２４の検索結果に含まれるエントリアドレスである。一致エントリアドレスが小さい方の検索結果を最終検索結果に決定するのは、宛先情報ＣＡＭ２４のプライオリティエンコーダ回路２４２（図３参照）のエントリアドレスの小さい方を検索結果に決定する仕様に対応させたものであり、これに限定されない。
【０１７１】
以上によって、本実施例では、検査対象となるエントリに格納されていたデータをＣＡＭエントリ退避メモリ２７に移動し、検査対象となるエントリには診断時格納データが格納されるため、検査対象となるエントリ以降のエントリに格納されたデータを移動させる必要がないので、宛先情報ＣＡＭ２４の処理負荷を軽減できる。
【実施例３】
【０１７２】
実施例３について図１６及び図１７を用いて説明する。本実施例の宛先情報ＣＡＭ２４はＣＡＭエントリ退避メモリ２７及びＣＡＭ診断処理部２３４を有し、宛先情報ＣＡＭ２４を既存のネットワーク装置に実装させるだけで、本発明のＣＡＭ異常診断処理が実行可能となる。
【０１７３】
図１６は、実施例３のネットワーク装置１００の説明図である。図１６に示す構成のうち実施例１の図１に示す構成と同じ構成は、同じ符号を付与し、説明を省略する。
【０１７４】
宛先情報ＣＡＭ２４は、ＣＡＭ診断処理部２３４、ＣＡＭエントリ退避メモリ２７、通常ＣＡＭエントリ２４４、及び最終一致判定部２４５を有する。
【０１７５】
通常ＣＡＭエントリ２４４は、宛先情報ＣＡＭ２４の宛先アドレスが登録されたエントリである。最終一致判定部２４５は実施例２で説明した最終一致判定部と同じ処理を実行する。
【０１７６】
ＣＡＭ異常診断処理については、ＣＡＭエントリ退避メモリ２７が宛先情報ＣＡＭ２４内部に存在する点以外は、実施例２と同じ処理であるので説明を省略する。
【０１７７】
本実施例のフレーム転送処理について図１７を用いて説明する。図１７は、実施例３のフレーム転送処理の説明図である。
【０１７８】
ＣＡＭ検索処理部２３１は、ヘッダ情報抽出部２２から検索要求が入力された場合、入力された検索要求に含まれる検索キー（受信したフレームの宛先アドレス）を宛先情報ＣＡＭ２４に出力する。
【０１７９】
宛先情報ＣＡＭ２４は、検索キーが入力された場合、ＣＡＭエントリ退避メモリ２７に、検索キーと一致するデータが存在するかを検索し、検索結果を最終一致判定部２４５に出力する。
【０１８０】
また、宛先情報ＣＡＭ２４は、通常ＣＡＭエントリ２４４に検索キーと一致するエントリが存在するかを検索し、検索結果を最終一致判定部２４５に出力する。
【０１８１】
最終一致判定部２４５は、ＣＡＭエントリ退避メモリ２７の検索結果及び通常ＣＡＭエントリ２４４の検索結果のいずれかを最終的な検索結果に決定し、決定した検索結果をＣＡＭ検索処理部２３１に出力する。なお、最終一致判定部２４５による最終的な検索結果の決定のポリシーは、図１４で説明したポリシーと同じなので、説明を省略する。
【０１８２】
以上によって、宛先情報ＣＡＭ２４が、ＣＡＭ診断処理部２３４、ＣＡＭエントリ退避メモリ２７、及び最終一致判定部２４５を有するので、宛先情報ＣＡＭ２４を既存のネットワーク装置に実装させるだけで、本発明のＣＡＭ異常診断処理が実行可能となる。
【０１８３】
なお、上記した実施例では、ＣＡＭの用途として宛先検索を例に示しているが、ＣＡＭの用途は宛先検索に限定されるものではなく、ＣＡＭは、様々な用途に適用可能である。例えば、ＣＡＭには、フレームのヘッダに含まれる複数のフィールドの情報の組み合わせが格納され、宛先検索部２３は、受信したフレームを廃棄するか通過させるかを決定するフィルタ検索処理を実行してもよい。また、ＣＡＭには、フレームのヘッダの少なくとも一部の情報が格納され、宛先検索部２３は、受信したフレームの処理優先度を決定する優先度検索処理を実行してもよい。
【０１８４】
フィルタ検索処理について詳細に説明する。宛先情報ＣＡＭ２４の各エントリには、宛先ＩＰアドレスの代わりに、フレームのヘッダに含まれる複数のフィールドの情報の組み合わせが登録され、宛先情報テーブル２５には、出力先情報の代わりに、フレームを廃棄するか通過させるかを決定するためのフィルタ情報が登録される。この場合、宛先情報テーブル２３２は、ＣＡＭ検索処理部２３１から宛先情報ＣＡＭ２４のエントリアドレスを含む判定結果が入力された場合、宛先情報テーブル２５を参照し、判定結果に含まれるエントリアドレスに対応するフィルタ情報を取得し、受信したフレームを廃棄するか通過させるかを決定し、決定結果を判定結果に含めて、判定結果生成部２６に出力する。
【０１８５】
なお、フィルタ検索処理では、宛先情報ＣＡＭ２４の各エントリには、フレームのヘッダに含まれる少なくとも一つのフィールドの情報が登録されていればよい。
【０１８６】
また、優先度検索処理について詳細に説明する。宛先情報ＣＡＭ２４の各エントリには、宛先ＩＰアドレスの代わりに、フレームのヘッダの少なくとも一部が登録され、宛先情報テーブル２５には、出力先情報の代わりに、処理優先度情報が登録される。この場合、宛先情報テーブル２３２は、ＣＡＭ検索処理部２３１から宛先情報ＣＡＭ２４のエントリアドレスを含む判定結果が入力された場合、宛先情報テーブル２５を参照し、判定結果に含まれるエントリアドレスに対応する処理優先度情報を取得し、受信したフレームの処理優先度を決定し、決定結果を判定結果に含めて、判定結果生成部２６に出力する。
【０１８７】
このように、本異常診断処理は、宛先を決定するために用いられるＣＡＭだけではなく、フレームを廃棄するか通過させるかを決定するために用いられるＣＡＭ、及びフレームの処理優先度を決定するために用いられるＣＡＭ等に適用可能である。すなわち、本異常診断処理は、受信したフレームの転送に関する動作を決定するために用いられるＣＡＭに適用可能である。
【０１８８】
したがって、宛先検索部２３は、ＣＡＭを参照し、受信したフレームの転送に関する動作を決定するものである。このため、特許請求の範囲では、宛先検索部２４を動作決定部と記載している。
【０１８９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１９０】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１９１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１９２】
１０    ネットワーク装置
２０    宛先判定部
２１    制御部
２２    ヘッダ情報抽出部
２３    宛先検索部
２４    宛先情報ＣＡＭ
２５    宛先情報テーブル
２６    判定結果生成部
２７    ＣＡＭエントリ退避メモリ
３０    フレーム転送処理部
４０    ポート
２１１    ＣＡＭ診断制御部
２１２    ＣＡＭテストパターン
２１３    ＣＡＭテスト結果ログ
２１４    ＣＡＭ診断処理部
２３１    ＣＡＭ検索処理部
２３２    宛先情報テーブル検索部
２３３    制御部インタフェース
２３４    ＣＡＭ診断処理部
【図１】
2015158958.tif 000003
【図２】
2015158958.tif 000004
【図３】
2015158958.tif 000005
【図４】
2015158958.tif 000006
【図５】
2015158958.tif 000007
【図６】
2015158958.tif 000008
【図７】
2015158958.tif 000009
【図８】
2015158958.tif 000010
【図９】
2015158958.tif 000011
【図１０】
2015158958.tif 000012
【図１１】
2015158958.tif 000013
【図１２】
2015158958.tif 000014
【図１３】
2015158958.tif 000015
【図１４】
2015158958.tif 000016
【図１５】
2015158958.tif 000017
【図１６】
2015158958.tif 000018
【図１７】
2015158958.tif 000019