(58)【調査した分野】(Int.Cl.,DB名)
前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第4のパケット情報を受信した場合に、前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部
を含むことを特徴とする請求項1乃至3のいずれかの請求項に記載の通信装置。
前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第4のパケット情報を受信した場合に、前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部を含み、
前記ヘルスチェック実行手段の前記パケット情報受信部は、前記第4のパケット情報を受信すると、前記第4のパケットを前記パケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部は、前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第4のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示するとともに、前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする請求項3に記載の通信装置。
【発明を実施するための形態】
【0019】
本発明を実施するための形態について図面を参照して説明する。
【0020】
図1は、本発明の第1の実施形態の通信装置の構成を示すブロック図である。
【0021】
尚、実施の形態は例示であり、開示の装置は以下の実施の形態の構成には限定されない。
【0022】
第1の実施形態の通信装置100は、ヘルスチェック実行手段1、パケット処理手段2およびパケット格納メモリ3を含んで構成される。
【0023】
パケット格納メモリ3には、受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納される。そして、パケット格納メモリ3は、ヘルスチェック実行手段1とパケット処理手段2の両方からアクセスすることができるように配備されている。
【0024】
パケット処理手段2は、受信パケットがパケット格納メモリ3に格納された旨を通知する第2のパケット情報を出力する。パケット処理手段2は、受信パケットに所定の処理を施す。また、パケット処理手段2は、処理パケットをパケット格納メモリ3に格納した旨を通知する第3のパケット情報を出力する。
【0025】
なお、第1の実施形態では、説明の便宜上、パケット処理手段2が第2のパケット情報と第3のパケット情報を出力するとしている。第1のパケット情報については後述する第2の実施形態で説明する。
【0026】
ヘルスチェック実行手段1は、第2のパケット情報の入力に応じて、パケット格納メモリ3に格納された受信パケットを読み出して所定の処理を施し、第2のパケットを生成する。ヘルスチェック実行手段1は、第3のパケット情報の入力に応じて、パケット格納メモリ3に格納されている処理パケットと第2のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する。
【0027】
図2は、第1の実施形態の通信装置の動作を示すシーケンス図である。
【0028】
まず、パケット処理手段が、受信した受信パケット(S101)をパケット格納メモリに格納する(S102)。そして、パケット処理手段が、受信パケットがパケット格納メモリに格納された旨を通知する第2のパケット情報を出力する(S103)。さらに、パケット処理手段が、受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納する(S104、S105)。
【0029】
一方、ヘルスチェック実行手段が、第2のパケット情報の入力に応じて、パケット格納メモリに格納された受信パケットを読み出し(S106)、所定の処理を施して第2のパケットを生成する(S107)。
【0030】
また、パケット処理手段が、処理パケットをパケット格納メモリに格納した旨を通知する第3のパケット情報を出力する(S108)。
【0031】
そして、ヘルスチェック実行手段が、第3のパケット情報の入力に応じて、パケット格納メモリに格納されている処理パケットと第2のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する。
【0032】
このように、本実施形態の通信装置は、ヘルスチェック実行手段とパケット処理手段が、同一パケットに対して所定の処理をそれぞれが施して、その結果を比較する。そして、不一致を検出した場合にはその旨の情報を出力する。このように構成することにより、通信装置内で発生した異常を早期に検出することができ、その異常に関連する情報を簡単な構成で収集して障害原因の解析に資することができる。
【0033】
次に、第2の実施形態の通信装置を説明する。
【0034】
図3は、本発明の第2の実施形態の通信装置の構成を示すブロック図である。
【0035】
第2の実施形態の通信装置200は、ヘルスチェック実行手段10、パケット処理手段20およびパケット格納メモリ30を含んで構成される。
【0036】
パケット格納メモリ30は、ヘルスチェック実行手段10とパケット処理手段20の両方からアクセスすることができるように配備されている。
【0037】
ヘルスチェック実行手段10は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力する。また、ヘルスチェック実行手段10は、ヘルスチェック検証部11を含む。
【0038】
パケット処理手段20は、処理機能部21−1乃至21−3を含む。パケット処理手段20は、処理機能部21−1乃至21−3を用いて、受信したパケットをパケット格納メモリ30に格納し、そのパケットに対して予め決められた内容の処理を施し、送信する。
【0039】
パケット処理手段20は、パケットの処理転送引継ぎに使用する第1のパケット情報を、それぞれの処理機能部間に転送してパケット格納メモリ30に格納されたパケットの処理を実行させるように機能する。そして、パケット処理手段20は、ヘルスチェック指示信号を受信した場合には、第1のパケット情報にヘルスチェックフラグを付して転送する。
【0040】
なお、パケットの処理転送引継ぎを行うとは、実際のパケットはパケット格納メモリ30に格納されており、処理機能部間は第1のパケット情報のみが転送され、第1のパケット情報に基づいて各処理機能部がパケット格納メモリ30に格納されたパケットの処理を順次実行することを意味する。つまり、第1のパケット情報を受け取った処理機能部は、パケット格納メモリ30にアクセスして、第1のパケット情報に基づいてパケット格納メモリ30に格納されたパケットの処理を実行する。
【0041】
パケット処理手段20は、第2のパケット情報と第3のパケット情報をヘルスチェック実行手段10に送信する。
【0042】
第2のパケット情報は、受信したパケットがパケット格納メモリ30に格納されたことを通知する情報である。
【0043】
第3のパケット情報は、パケット処理手段20が処理を施したパケットをパケット格納メモリ30に格納した旨を通知する情報である。
【0044】
ヘルスチェック実行手段10のヘルスチェック検証部11は、第2のパケット情報を受信すると、パケット格納メモリ30に格納されている受信パケットを第1のパケットとして取得する。つまり、第1のパケットは、パケット処理手段20で処理される前のパケットである。そして、ヘルスチェック検証部11は、第1のパケットに対してパケット処理手段20で実行される処理と同じ処理を実行して第2のパケットを生成する。
【0045】
その後、ヘルスチェック検証部11は、第3のパケット情報を受信すると、パケット格納メモリ30に格納されている、パケット処理手段20で処理された後の第3のパケットを取得する。そして、ヘルスチェック検証部11は、第2のパケットと第3のパケットとを比較するヘルスチェック検証を実行し、不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する。
【0046】
次に、本実施形態の通信装置の動作を説明する。
【0047】
図4は、第2の実施形態の通信装置の動作を示すシーケンス図である。
【0048】
この動作は、ヘルスチェック実行手段がヘルスチェック指示信号を出力するところから説明する。
【0049】
ヘルスチェック実行手段は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力する(S201)。
【0050】
パケット処理手段には、それぞれが予め決められた内容の処理をパケットに施す複数の処理機能部が配備されている。
【0051】
パケット処理手段は、受信したパケットにパケット識別子を付与してパケット格納メモリに格納する。なお、パケット格納メモリに格納されたパケットは、パケット処理手段の各処理機能部により処理が順次施され、処理機能部による処理が全て済むと送信される。
【0052】
パケット処理手段の、例えば最前段に配備された処理機能部は、パケットの受信を行う(S202)。そして、この処理機能部は、受信したパケットにパケット識別子を付与してパケット格納メモリに格納する(S203)。
【0053】
この処理機能部は、パケットの処理転送引継ぎに使用する第1のパケット情報にパケット識別子を付して、中間段に配備されている処理機能部に転送する(S204)。
【0054】
パケット処理手段がヘルスチェック指示信号を受信した場合には、第1のパケット情報にヘルスチェックフラグを付して転送する。つまり、ステップS201でヘルスチェック指示信号を受信しているので、ステップS204で転送される第1のパケット情報にはヘルスチェックフラグが付されている。
【0055】
さらに、パケット処理手段は、受信したパケットがパケット格納メモリに格納されたことを通知する第2のパケット情報をヘルスチェック実行手段に送信する(S205)。なお、第2のパケット情報は、ステップS204で中間段の処理機能部に転送された第1のパケット情報と同じ内容のパケット情報であるが、ヘルスチェック実行手段に対しては、受信したパケットがパケット格納メモリに格納されたことを通知する意味を持つ。
【0056】
第2のパケット情報を受信したヘルスチェック実行手段は、第2のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されている、パケット処理手段で処理される前の第1のパケットを取得する(S206、S207)。つまり、ステップS203で格納されたパケットを読み出す。
【0057】
そして、ヘルスチェック実行手段は、ステップS207で取得した第1のパケットに対してパケット処理手段で実行される処理と同じ処理を実行して第2のパケットを生成する(S208)。
【0058】
一方、ステップS204で第1のパケット情報を受け取った中間段の処理機能部は、第1のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されているパケットにアクセスし、当該処理機能部が担当するパケット処理を実行する(S209)。
【0059】
処理されたパケットはパケット格納メモリに格納される(S210)。そして、第1のパケット情報が最後段の処理機能部に転送される(S211)。
【0060】
ここでも、第1のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されているパケットにアクセスし、当該処理機能部が担当するパケット処理を実行する(S212)。そして、処理されたパケットはパケット格納メモリに格納される(S213)。
【0061】
第1のパケット情報にヘルスチェックフラグが付されている場合、最後段に配備された処理機能部は、第3のパケット情報をヘルスチェック実行手段に送信する(S214)。第3のパケット情報は、処理済みのパケットがパケット格納メモリに格納されたことを通知する情報である。
【0062】
ヘルスチェック実行手段は、第3のパケット情報を受信すると、第3のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されている、パケット処理手段で処理された後の第3のパケットを取得する(S215、S216)。つまり、ステップS213で格納されたパケットを読み出す。
【0063】
そして、ヘルスチェック実行手段は、パケット処理手段で処理された後の第3のパケットと、ヘルスチェック実行手段が同じように処理を実行した第2のパケットとを比較する(S217)。
【0064】
この比較において不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する(S218)。
【0065】
以上に説明したように、本実施形態の通信装置は、ヘルスチェックを行うことにより異常の発生を早期に検出することができる。しかも、ヘルスチェックには特別なヘルスチェックパケットを使うことなく、実際の運用状態で処理されるパケットを用いてパケット処理手段の処理内容を検証するという簡単な構成で異常を検出することができる。さらに、処理内容の不一致が発生した検証内容を用いることにより障害原因の解析に資することができる。
【0066】
次に第3の実施形態の通信装置を説明する。
【0067】
第3の実施形態の通信装置は、実際の運用状態で処理されるパケットをヘルスチェックパケットとして用いるヘルスチェック機能を備えている。また、第3の実施形態の通信装置は、パケット廃棄に相当する事象を検出した場合に、そのパケット廃棄が正常かどうかを確認する機能を備えている。さらに、第3の実施形態の通信装置は、異常が発生した時には、関連情報を収集して管理装置に通知する機能を備えている。
【0068】
以下に図面を参照して第3の実施形態の通信装置を詳細に説明する。
【0069】
図5は、本発明の第3の実施形態の通信装置の構成を示すブロック図である。
【0070】
第3の実施形態の通信装置300は、主要な構成として、ヘルスチェック実行部100、パケット処理部200及びパケット格納メモリ部300を備える。また、第3の実施形態の通信装置300は、パケット処理部200の関連構成として受信バッファ400、送信バッファ500、ポリシー検索デバイス600及びパケット処理情報蓄積部700を備える。さらに、第3の実施形態の通信装置300は、ヘルスチェック実行部100がヘルスチェックの実施結果等で異常を検出した際の報告先として装置管理部800を備える。装置管理部800は、この通信装置300の障害処理を含む装置全体の管理を司る装置である。
【0071】
また、パケット処理部200は、受信部201、ヘッダ処理部202及び送信部203の各処理機能部を含む構成になっている。
【0072】
図5に示した本実施形態の通信装置300のそれぞれの構成間の関連を説明する。
【0073】
パケットは、それぞれの構成により概略次のようにして処理される。
【0074】
受信バッファ400に入力したパケットは、パケット処理部200の受信部201で取り出され、パケット識別子が付与されてパケット格納メモリ部300に格納される。そして、パケットの処理転送引継ぎに使用するパケット識別子を付した第1のパケット情報が生成されてヘッダ処理部202に転送される。
【0075】
ヘッダ処理部202は、転送された第1のパケット情報に基づいてパケット格納メモリ部300にアクセスして、処理すべきパケットのヘッダ情報を取り出す。ヘッダ処理部202は、ポリシー検索デバイス600およびパケット処理情報蓄積部700を参照して、ポリシー等に従ったヘッダ処理を実行する。処理されたヘッダ情報はパケット格納メモリ部300に格納される。
【0076】
送信部203は、ヘッダ処理部202から第1のパケット情報を受け取り、第1のパケット情報に基づいてパケット格納メモリ部300にアクセスして、送信すべきパケットを取り出す。取り出されたパケットは、送信バッファ500に入れられて、図示しない外部インタフェースに出力される。
【0077】
したがって、
図5の受信部201、ヘッダ処理部202および送信部203とパケット格納メモリ部300の間に示されている破線矢印(a)は、パケット格納メモリ部300へのアクセスの処理を示している。
【0078】
また、
図5のヘッダ処理部202とポリシー検索デバイス600およびパケット処理情報蓄積部700の間に示されている点線矢印(b)は、ヘッダ処理に必要なポリシー情報等の取得、参照の処理を示している。つまり、ヘッダ処理部202は、パケット毎にポリシー検索デバイス600を検索して、そのパケットの処理に必要なパケット処理内容を取り出して処理するとともに、パケット処理情報蓄積部700に格納する。
【0079】
ヘルスチェックは、それぞれの構成により概略次のようにして処理される。
【0080】
ヘルスチェック実行部100は、ヘルスチェックの実行指示と、ヘルスチェック結果の異常有無の判定、パケット廃棄の廃棄要因の妥当性確認を行う。
【0081】
ヘルスチェック実行部100が、パケット処理部200の受信部201にヘルスチェック指示信号を出力する(
図5のヘルスチェック実行部100と受信部201の間に示されている太実線)。
【0082】
受信部201は、ヘルスチェック指示信号を受信した後に受信バッファ400から取り出したパケットをヘルスチェックパケットとして扱う。
【0083】
そのため、受信部201は、パケットの処理転送引継ぎを行うために生成した第1のパケット情報にヘルスチェックフラグを付してヘッダ処理部202に転送する。また、受信部201は、ヘルスチェックフラグを付した第2のパケット情報をヘルスチェック実行部100に送信する(
図5の実線矢印(c))。第2のパケット情報は、ヘルスチェック指示信号を受信した旨と、受信したパケットがパケット格納メモリ部300に格納された旨をヘルスチェック実行部100に対して通知する情報である。
【0084】
また、順次転送されたヘルスチェックフラグが付された第1のパケット情報を受け取った送信部203は、パケット送信を行う前に、第3のパケット情報をヘルスチェック実行部100に送信する(
図5の実線矢印(c))。第3のパケット情報は、パケット処理部200で処理されたパケットがパケット格納メモリ部300に格納された旨をヘルスチェック実行部100に対して通知する情報である。
【0085】
ヘルスチェック実行部100は、受信部201からヘルスチェックフラグを付した第2のパケット情報を受信すると、パケット格納メモリ部300にアクセスして、受信部201が格納したパケット(第1のパケット)のヘッダ部を取り出す。
図5の破線矢印(e)参照。
【0086】
そして、ヘルスチェック実行部100は、ヘッダ処理部201が実行する処理を検証するために、ポリシー検索デバイス600およびパケット処理情報蓄積部700を参照して(
図5の点線矢印(f))、パケットヘッダの処理を行う。ヘルスチェック実行部100は、このようにしてヘッダ処理が行われたパケットを第2のパケットとして保持する。
【0087】
また、ヘルスチェック実行部100は、送信部203からヘルスチェックフラグを付した第3のパケット情報を受信すると、パケット格納メモリ部300にアクセスして、ヘッダ処理部202が処理して格納したパケットのヘッダ部を取り出す。
図5の破線矢印(e)参照。ヘルスチェック実行部100は、このようにして取り出したパケットを第3のパケットとして保持する。
【0088】
ヘルスチェック実行部100は、第2のパケットと第3のパケットのそれぞれのヘッダ部を比較して、パケット処理部200でのパケット処理が正しく行われたか否かを検証する(ヘルスチェック検証)。
【0089】
ヘルスチェック実行部100は、ヘルスチェック検証の結果で異常を検出した場合には、異常に関連する情報を収集して装置管理部800に報告する。
【0090】
パケット処理部200の各処理機能部でパケット廃棄に相当する事象を検出すると概略次のようにして処理される。
【0091】
受信部201、ヘッダ処理部202、送信部203の各処理機能部は、パケット廃棄に相当する事象を検出すると、その内容を報告する第4のパケット情報をヘルスチェック実行部100に送信する(
図5の実線矢印(d))。
【0092】
第4のパケット情報を受信したヘルスチェック実行部100は、パケット廃棄の要因の異常/正常を解析し、異常な要因で廃棄される場合には、異常に関連する情報を収集して装置管理部800に報告する。ヘルスチェック実行部100は、正常な要因による廃棄と判断した場合には何もしない。なお、ヘルスチェック実行部100は、解析の過程でパケット格納メモリ部300、ポリシー検索デバイス600またはパケット処理情報蓄積部700を適宜参照する。
【0093】
第3の実施形態の通信装置300は、上述したような構成になっている。
【0094】
ここでパケット情報について説明する。
【0095】
パケット情報は次の3つの目的で使用される。
【0096】
第1の目的はパケットの処理転送引継ぎを行うために使用される(第1のパケット情報)。
【0097】
これは上述したように、パケットそのものはパケット格納メモリ部300に格納され、パケット処理部200の各処理機能部は第1のパケット情報が転送されることにより、パケット格納メモリ部300にアクセスして対象となるパケットの処理を行う。
【0098】
第2の目的は運用中のパケットをヘルスチェックパケットとして扱う目的で使用される(第2のパケット情報および第3のパケット情報)。
【0099】
ヘルスチェック実行部100は、ヘルスチェック指示信号を出力してパケット処理部200に対してヘルスチェックの実行を指示する。パケット処理部200は、ヘルスチェック指示信号を受信すると、その後で受信バッファ400から取り出したパケットをヘルスチェックパケットとして扱う。そして、パケット処理部200は、処理前のヘルスチェックパケットおよび処理後のヘルスチェックパケットが、それぞれパケット格納メモリ部300に格納されるタイミングをヘルスチェック実行部10に知らせる。つまり、第2のパケット情報は処理前のヘルスチェックパケットがパケット格納メモリ部300に格納されたタイミングを知らせ、第3のパケット情報は処理後のヘルスチェックパケットがパケット格納メモリ部300に格納されたタイミングを知らせる。
【0100】
第3の目的はパケット廃棄に相当する事象の検出をヘルスチェック実行部100に知らせる目的で使用される(第4のパケット情報)。
【0101】
パケット処理部200の各処理機能部は、処理の過程でパケット廃棄に相当する事象を検出した場合は、廃棄に関する詳細を第4のパケット情報によりヘルスチェック実行部100に知らせる。
【0102】
以上のように、各処理機能部でパケット廃棄に相当する事象を検出しない限り、第1のパケット情報が各処理機能部間を転送し、第2のパケット情報が受信部201から、第3のパケット情報が送信部203からそれぞれ出力される。なお、ヘルスチェックが行われない場合、第1のパケット情報は、最後段の送信部203で終端される。また、パケット廃棄に相当する事象が検出された場合には、処理機能部が受信していた第1のパケット情報にパケット廃棄に関する情報が書き込まれ、第4のパケット情報としてヘルスチェック実行部10に送信される。
【0103】
図6はパケット情報の内容を説明する図である。
【0104】
上述した第1乃至第4のパケット情報は、すべて同じフォーマットである。
パケット情報は、
図6に示すように、「パケットID、ヘルスチェックフラグ、パケット廃棄有無、廃棄発生部、廃棄要因および異常有無」の各フィールドを含む。
【0105】
「パケットID」は、処理対象としているパケットに付与されたパケット識別子である。「ヘルスチェックフラグ」は、処理対象としているパケットがヘルスチェックパケットとして処理されている場合に書き込まれる。
【0106】
「パケット廃棄有無」は、このパケット情報がパケット廃棄を報告するものかどうかを示す。したがって、第1乃至第3のパケット情報には「廃棄無」が書き込まれ、第4のパケット情報には「廃棄有」が書き込まれる。
【0107】
「廃棄発生部」は、パケット廃棄に相当する事象を検出したパケット処理部200の各処理機能部(受信部、ヘッダ処理部、送信部)を示す。「廃棄要因」はパケット廃棄の原因となる事象を示す。したがって、これらのフィールドは、第4のパケット情報の場合にのみ書き込まれている。
【0108】
「異常有無」はヘルスチェック実行部100で使用されるフィールドで、ヘルスチェック実行部内での通知情報として使用される。
【0109】
次に、本実施形態の通信装置300の各構成の処理機能について説明する。
【0110】
図5を参照してパケット処理部200の処理機能について説明する。
【0111】
受信部201は、図示しない外部インタフェースからパケットが入力して、受信バッファ400に格納される状況を常時監視している。受信部201は、受信バッファ400から取り出したパケットにパケット識別子を付与してパケット格納メモリ部300に格納する。
【0112】
その後、パケットのヘッダ部分に付与されているチェックサム値を用いて、受信データの正常性確認を行う。
【0113】
チェックサム値の不一致によりこの正常性確認の段階で異常が検出された場合は、パケット廃棄に相当する事象の検出なので、受信部201は、第4のパケット情報をヘルスチェック実行部100へ送信する。
【0114】
第4のパケット情報には、前述したように廃棄発生部、廃棄要因が書き込まれる。つまり、受信部201は、「パケットID」と「パケット廃棄有」、および「廃棄発生部」として「受信部」、「廃棄要因」として「チェックサム値不一致」が書き込まれたパケット情報を作成してヘルスチェック実行部100へ送信する。
【0115】
受信データが正常な場合は、パケットの処理転送引継ぎを目的とした第1のパケット情報が次段の処理機能部であるヘッダ処理部202に転送される。つまり、受信部201は、「パケットID」と「パケット廃棄無」が書き込まれた第1のパケット情報を作成してヘッダ処理部202へ転送する。
【0116】
また、受信部201は、ヘルスチェック実行部10からヘルスチェック指示信号を受信すると、その後で受信バッファ400から取り出したパケットをヘルスチェックパケットとして扱う。この場合、受信部201は、「パケットID」、「ヘルスチェックフラグ」と「パケット廃棄無」が書き込まれた第1のパケット情報を作成して、ヘッダ処理部202へ転送すると同時にヘルスチェック実行部100には、第2のパケット情報を送信する。このとき、第1のパケット情報と第2のパケット情報の内容は同じである。
【0117】
ヘッダ処理部202は、受信部201から第1のパケット情報を受け取ると、パケット格納メモリ部300にアクセスし、第1のパケット情報に示されている「パケットID」に基づいて、格納されている処理対象のパケットのヘッダ部分を取得して解析、処理を実施する。
【0118】
ヘッダ処理部202は、パケットのヘッダに異常がないかどうかのヘッダチェックを実施する。例えば、ヘッダ処理部202は、ヘッダチェックにより、バージョン、ヘッダ長、パケット長等が不正確なものでないことを確認する。
【0119】
その後、ヘッダ処理部202は、ポリシー検索に使用される検索キーの抽出を行い、ポリシー検索デバイス600にて検索を実施する。パケットをどのように処理すればよいのかを示すパケット処理内容(例えばルーティングのためのIP(Internet Protocol)アドレスの変更等)がパケット処理情報蓄積部700に示されている。そこで、ヘッダ処理部202は、処理対象のパケットから得られる検索キー(例えばIPアドレスのhash値等)に基づいて、ポリシー検索デバイス600を検索することにより、パケット処理情報蓄積部700とのリンク情報を得ることができる。そして、ヘッダ処理部202は、パケット処理情報蓄積部700に示されるパケット処理内容を実施する。
【0120】
ここでは、ネットワークの運用方針に基づく各種の処理が行われる。例えば、IPアドレス、プロトコル、ポート番号、優先度等を参照して、予め決められたポリシーに応じた通過許可や廃棄を行うフィルタリングや、経路の変更を行うルーティングの処理等が行われる。
【0121】
したがって、ヘッダ処理部202が行う処理内容に応じてヘッダ部分が書き換えらえたり、パケット廃棄に相当する事象に遭遇したりする。
【0122】
ヘッダ処理部202は、正常にヘッダ処理が終了すると、そのヘッダ部をパケット格納メモリ部300に格納し、「パケットID」と「パケット廃棄無」が書き込まれている第1のパケット情報を送信部203に転送する。
【0123】
一方、ヘッダ処理部202は、処理の過程でパケット廃棄に相当する事象を検出した場合、第4のパケット情報をヘルスチェック実行部100へ送信する。この場合、受信していた第1のパケット情報に、「パケット廃棄有」、「廃棄発生部」、「廃棄要因」を書き込むことにより第4のパケット情報を生成する。したがって、この場合、送信部203に転送される第1のパケット情報は無くなる。
【0124】
パケットの廃棄要因としては、ヘッダ部分のチェックにより、バージョン、ヘッダ長、パケット長等が不正確であることが検出された場合がある。また、特定のIPアドレス、プロトコル、ポート番号、優先度等を有するパケットがフィルタリングで通過が許可されない場合もある。
【0125】
送信部203はパケットの送信処理を実行する。
【0126】
送信部203は、ヘッダ処理部202から第1のパケット情報を受け取り、第1のパケット情報にヘルスチェックフラグが付されていない場合、パケット格納メモリ部300にアクセスして、「パケットID」に対応するパケットを取り出す。パケット格納メモリ部300から取り出されたパケットは、送信バッファ500に転送される。そして、第1のパケット情報は送信部203で終端される。
【0127】
一方、第1のパケット情報にヘルスチェックフラグが付されていた場合、送信部203は、この第1のパケット情報を、第3のパケット情報としてヘルスチェック実行部100に送信する。第3のパケット情報は、ヘルスチェックパケットの処理が終了し、処理済みのヘルスチェックパケットがパケット格納メモリ部300に格納されていることをヘルスチェック実行部100に通知する情報である。
【0128】
送信部203は、第3のパケット情報を送信した場合、ヘルスチェック実行部100からヘルスチェック検証の結果の通知を受けるまでは、パケット格納メモリ部300に格納されているパケットの送信を保留する。
【0129】
また、送信部203は、送信バッファ500の状態を常時監視している。ヘッダ処理部202から第1のパケット情報を受け取ったときに、送信バッファ500にパケットを正常に格納できない状況を検出した場合には、パケット廃棄に相当する事象を検出したものとして第4のパケット情報をヘルスチェック実行部100に送信する。
【0130】
ヘルスチェック実行部100の構成と処理機能について説明する。
【0131】
ヘルスチェック実行部100は、パケット処理部200の動作の正常性を確認するためにヘルスチェックを周期的に実施する。
【0132】
ヘルスチェックは、ヘルスチェック実行部100がヘルスチェックの開始を指示するヘルスチェック指示信号をパケット処理部200に送信することにより開始される。
【0133】
前述したように、パケット処理部200は、ヘルスチェック指示信号を受信すると、次に受信した運用パケットをヘルスチェックパケットとして扱う処理を行う。パケット処理部200は、処理前のヘルスチェックパケットおよび処理後のヘルスチェックパケットが、それぞれパケット格納メモリ部300に格納されるタイミングを第2および第3のパケット情報によりヘルスチェック実行部100に知らせる。
【0134】
ヘルスチェック実行部100は、処理前のヘルスチェックパケットがパケット格納メモリ部300に格納されたことを知らされると、そのパケットのヘッダ部を取り出し、パケット処理部200が実行する処理と同じヘッダ処理を行う。
【0135】
ヘルスチェック実行部100は、パケット処理部200による処理後のヘルスチェックパケットがパケット格納メモリ部300に格納されたことを知らされると、そのパケットのヘッダ部を取り出す。
【0136】
そして、ヘルスチェック実行部100は、ヘルスチェック実行部100が処理したヘッダ部とパケット処理部200が処理したヘッダ部を比較して、正常にパケットが処理されたかどうかを確認する。
【0137】
この比較の結果、両者の内容が不一致となり、正常な処理がされていないと判断された場合には、ヘルスチェックNGとして、異常に関連する情報を収集して、装置管理部800に異常通知が出力される。
【0138】
なお、前述したように、送信部203は処理済みのヘルスチェックパケットの送信を保留しているので、ヘルスチェック実行部100は、ヘルスチェックの検証結果を送信部203に通知する。送信部203は、ヘルスチェックの検証結果でヘルスチェックOKを通知された場合に、保留していたヘルスチェックパケットの送信を実行する。一方、ヘルスチェックの検証結果でヘルスチェックNGを通知された場合、送信部203は、処理済みのヘルスチェックパケットを廃棄する。
【0139】
また、ヘルスチェック実行部100は、パケット処理部200からパケット廃棄に相当する事象を検出した旨の通知を受けた場合、そのパケット廃棄が正常なパケット廃棄かどうかの確認を行う。異常状態に起因するパケット廃棄である場合には、ヘルスチェック実行部100は、パケット廃棄の要因などのログを収集、保存し、装置管理部800に異常通知を出力する。
【0140】
ヘルスチェック実行部100は、パケット廃棄の正常/異常の解析を行った後、第4のパケット情報を送信してきた各処理機能部に対してパケット廃棄を指示する。つまり、この段階でパケット格納メモリ部300に格納されているパケットが廃棄される。
【0141】
図7乃至
図11を参照してヘルスチェック実行部100の詳細を説明する。
【0142】
図7は、ヘルスチェック実行部100の構成を示すブロック図である。
【0143】
ヘルスチェック実行部100は、ヘルスチェックの実行に関連する構成として、ヘルスチェック判定・実行指示部101、パケット情報受信部102、ヘルスチェックヘッダメモリ103およびヘルスチェックヘッダ処理部104を含む。つまり、これらの構成が第2の実施形態におけるヘルスチェック検証部11に相当する。
【0144】
また、パケット廃棄の正常/異常を判定する処理に関連する構成として、ヘルスチェック実行部100はパケット廃棄解析部105を備える。
【0145】
さらに、ヘルスチェック実行部100は、収集した異常情報を蓄積するためにログ格納用メモリ106を含む構成となっている。
【0146】
ヘルスチェック判定・実行指示部101は、ヘルスチェック指示信号を出力してヘルスチェックの実行をパケット処理部200に指示する。また、ヘルスチェック判定・実行指示部101は、パケット情報受信部102やパケット廃棄解析部105からの通知を受けて、ヘルスチェックが正常か否か、また、発生したパケット廃棄が正常か否かを判定する。
【0147】
上記の判定の結果、異常と判定した場合、ヘルスチェック判定・実行指示部101は、関連する異常情報を収集してログ格納用メモリ106に格納し、蓄積する。蓄積したログ情報は任意のタイミングで装置管理部800に転送される。
【0148】
パケット情報受信部102は、パケット処理部200が送信する第2乃至第4のパケット情報を受信して、ヘルスチェックの処理に関するパケット情報かそれともパケット廃棄に関するパケット情報かを識別する。
【0149】
ヘルスチェックの処理に関する第2および第3のパケット情報を受信した場合、パケット情報受信部102は、ヘルスチェックヘッダメモリ103およびヘルスチェックヘッダ処理部104を用いて、後述するヘルスチェックの処理を実行する。
【0150】
一方、パケット廃棄に関する第4のパケット情報を受信した場合、パケット情報受信部102は、受信した第4のパケット情報をパケット廃棄解析部105に転送して、パケット廃棄が正常か否かの解析処理を実行させる。
【0151】
図8乃至11を参照してヘルスチェック実行部100の動作を説明する。
【0152】
図8は、ヘルスチェック実行部のヘルスチェックの動作を示すシーケンス図である。
【0153】
ヘルスチェック判定・実行指示部101は、ヘルスチェック指示信号を出力してヘルスチェックの実行をパケット処理部200に指示する(S301)。
【0154】
ヘルスチェック指示信号を受信したパケット処理部200では、前述したように、受信部201が次に受信した運用パケットをヘルスチェックパケットとして扱う処理を行う。つまり、パケット処理部200は、受信してパケット格納用メモリ部300に格納したパケットの識別子およびヘルチェックフラグを付した第2のパケット情報をヘルスチェック実行部100に送信する(S302)。
【0155】
ヘルスチェック実行部100では、パケット情報受信部102が第2のパケット情報を受信する。パケット情報受信部102は、パケット処理部200から受信したパケット情報の種別を識別する。
【0156】
ヘルスチェックフラグが付され、「パケット廃棄無」が書き込まれていることから、パケット情報受信部102は、ヘルスチェック処理に関する第2または第3のパケット情報であることを識別する。また、パケット情報受信部102は、「パケットID」が示す識別子が処理中の識別子でないことを確認すると、受信したパケット情報は第2のパケット情報であることを識別する。
【0157】
第2のパケット情報を受信したことを識別したパケット情報受信部102は、ヘルスチェックの前半の処理を開始する。
【0158】
まず、第2のパケット情報の「パケットID」が示す識別子に基づいて、パケット情報受信部102は、パケット格納用メモリ部300にアクセスして、対応するパケットのヘッダ部(第1のパケット)を取得する(S303)。この第1のパケットは、パケット処理部200が受信した際の状態のパケットのヘッダ部である。この第1のパケットはヘルスチェックヘッダメモリ103に格納される。
【0159】
続いて、パケット情報受信部102は、第1のパケットのヘッダ処理をヘルスチェックヘッダ処理部104に指示する(S304)。
【0160】
パケット情報受信部102から指示を受けたヘルスチェックヘッダ処理部104は、第1のパケットをヘルスチェックヘッダメモリ103から取り出し、第1のパケットに対して、パケット処理部200が実施する処理と同じパケット処理を行う。つまり、
図5を参照して説明したように、ヘッダ部分の正常性のチェックや、ポリシー検索デバイス600およびパケット処理情報蓄積部700を参照して、ポリシーに応じたフィルタリングやルーティングの処理を行う。この処理で生成されたパケットヘッダ部を第2のパケットと称する(S305)。
【0161】
ヘルスチェックヘッダ処理部104は、生成した第2のパケットをヘルスチェックヘッダメモリ103に格納する(S306)。
【0162】
なお、上述したステップS303およびステップS304の処理は、次のようにしてもよい。つまり、第2のパケット情報を受信したことを識別したパケット情報受信部102は、第1のパケットの取得とその処理をすべてヘルスチェックヘッダ処理部104に指示してもよい。
【0163】
この場合、第2のパケット情報を受信したことを識別したパケット情報受信部102は、第2のパケット情報を転送することにより、第1のパケットの取得とその処理をヘルスチェックヘッダ処理部104に指示する。
【0164】
そして、パケット情報受信部102から第2のパケット情報を受け取ったヘルスチェックヘッダ処理部104は、パケット格納用メモリ部300にアクセスして、第1のパケットを取得してヘルスチェックヘッダメモリ103に格納する。その後、第1のパケットに対して、パケット処理部200が実施する処理と同じパケット処理を行って第2のパケットを生成する。
【0166】
パケット処理部200のヘッダ処理部202による運用パケットの処理が済んで、パケット処理部200では送信部203に第1のパケット情報が転送される。つまり、パケット格納用メモリ部300には、パケット処理部200で処理されたパケットが格納されている。
【0167】
パケット処理部200の送信部203は受け取った第1のパケット情報にヘルスチェックフラグが付されている場合、第3のパケット情報をヘルスチェック実行部100に送信する(S307)。送信部203は、第3のパケット情報を新たに生成することなく、ヘッダ処理部202から受け取った第1のパケット情報をそのまま第3のパケット情報として送信してよい。このとき、送信部203は、パケット格納メモリ部300に格納されているパケットの送信を保留する。
【0168】
パケット情報受信部102は、パケット処理部200の送信部203から受信したパケット情報の種別を識別する。
【0169】
ヘルスチェックフラグが付され、「パケット廃棄無」が書き込まれていることから、パケット情報受信部102は、ヘルスチェック処理に関する第2または第3のパケット情報であることを識別する。また、パケット情報受信部102は、「パケットID」が示す識別子が処理中の識別子であることを確認すると、受信したパケット情報が第3のパケット情報であることを識別する。
【0170】
第3のパケット情報を受信したことを識別したパケット情報受信部102は、ヘルスチェックの後半の処理を開始する。
【0171】
まず、第3のパケット情報の「パケットID」が示す識別子に基づいて、パケット情報受信部102は、パケット格納用メモリ部300にアクセスして、対応するパケットのヘッダ部(第3のパケット)を取得する(S308)。この第3のパケットは、パケット処理部200が処理を済ませた状態のパケットのヘッダ部である。この第3のパケットはヘルスチェックヘッダメモリ103に格納される。
【0172】
続いて、パケット情報受信部102は、ヘルスチェックの応答があった旨をヘルスチェック判定・実行指示部101に通知する(S309)。このとき、パケット情報受信部102は、受信した第3のパケット情報をヘルスチェック応答通知としてヘルスチェック判定・実行指示部101に転送する。
【0173】
パケット情報受信部102からヘルスチェック応答通知を受け取ったヘルスチェック判定・実行指示部101は、ヘルスチェックヘッダメモリ103に格納されている第2のパケットと第3のパケットを比較する(S310)。つまり、パケット処理部200で処理されたパケットのヘッダ部と、それを検証したヘルスチェック実行部100の処理に基づくパケットのヘッダ部が比較される。
【0174】
両者が一致していた場合、ヘルスチェック判定・実行指示部101は、ヘルスチェックOKと判定して、パケット情報受信部102から受信したヘルスチェック応答通知のパケット情報に「異常無」を書き込んでログ格納用メモリ106に格納する。
【0175】
両者が一致していなかった場合、ヘルスチェック判定・実行指示部101は、ヘルスチェックNGと判定して、パケット情報受信部102から受信したヘルスチェック応答通知のパケット情報に「異常有」を書き込んでログ格納用メモリ106に格納する。そして、ヘルスチェック判定・実行指示部101は、装置管理部80に異常の発生を通知する(S311)。
【0176】
なお、ヘルスチェックNG発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報やデータ、パケット処理情報などもログ格納用メモリ106に格納される。
【0177】
装置管理部800への通知は任意のタイミングで実施するようにしてもよい。
【0178】
装置管理部800は、ログ格納用メモリ106に格納されているログ情報を取り出して、ヘルスチェックの結果の解析に用いる。
【0179】
ヘルスチェック判定・実行指示部101は、ヘルスチェック検証結果をパケット処理部200の送信部203に通知する(S312)。
【0180】
これは、前述したように、送信部203が処理済みのパケットの送信を保留して第3のパケット情報を送信したためである。送信部203は、ヘルスチェックの検証結果でヘルスチェックOKを通知された場合に、保留していたヘルスチェックパケットの送信を実行する。一方、ヘルスチェックの検証結果でヘルスチェックNGを通知された場合、送信部203は、処理済みのヘルスチェックパケットを廃棄する。
【0181】
なお、ヘルスチェック判定・実行指示部101は、ヘルスチェックを継続するため、パケット処理部200に対してヘルスチェック指示信号を次の周期で送信する。つまり、ステップS301からの処理が繰り返される。
【0182】
次に、
図9を参照してパケット処理部200でパケット廃棄に相当する事象を検出した場合のヘルスチェック実行部100の動作を説明する。
【0183】
パケット処理部200では、パケットに付与されているチェックサムの異常や、フィルタリング機能、レートリミット機能などでパケットを廃棄することがある。しかし、この場合のパケット廃棄は装置としては正常な動作となるため、「パケット廃棄=装置の異常」とはならない。
【0184】
そのため、ヘルスチェック実行部100は、パケット処理部200から報告されたパケット廃棄に関する情報について、パケット廃棄解析部105で、そのパケット廃棄の要因を解析する処理を行う。
【0185】
図9は、パケット廃棄に相当する事象を検出した場合のヘルスチェック実行部100の動作を示すシーケンス図である。
【0186】
前述したように、パケット処理部200の処理の過程でパケット廃棄に相当する事象を検出すると、パケット処理部200は、「パケット廃棄有、廃棄発生部、廃棄要因」を書き込んだ第4のパケット情報をヘルスチェック実行部100に送信する(S401)。
【0187】
ヘルスチェック実行部100では、パケット情報受信部102が第4のパケット情報を受信する。パケット情報受信部102は、第4のパケット情報に書き込まれた「パケット廃棄有」により、受信したパケット情報がパケット廃棄を報告する第4のパケット情報であることを識別する(S402)。
【0188】
パケット廃棄を報告する第4のパケット情報であることを識別したパケット情報受信部102は、第4のパケット情報をパケット廃棄解析部105に転送する(S403)。
【0189】
パケット廃棄解析部105は、第4のパケット情報からパケット廃棄に相当する事象を検出した処理機能部とパケット廃棄要因を確認し、廃棄要因が正しいかどうかの解析を行う(S404)。
【0190】
例えば、第4のパケット情報からパケット処理部200の受信部201でパケットのチェックサム異常を要因としたパケット廃棄であることを判別すると、パケット廃棄解析部105は、受信部201と同様にチェックサムの確認を行う。つまり、パケット格納メモリ部300に格納されている対象パケットのヘッダ部を取り出してチェックサムの検証計算を行う。パケット廃棄解析部105は、検証した結果、チェックサム異常が再現すれば正常な廃棄と判定し、チェックサムが正常であれば受信部201の異常と判定する。
【0191】
パケット廃棄解析部105は、第4のパケット情報の「異常有無」フィールドに解析結果に基づいて異常の有無を書き込んで、第4のパケット情報をヘルスチェック判定・実行指示部101に転送する(S405)。つまり、パケット廃棄が正常な動作に基づく廃棄であれば「異常無」が、パケット廃棄が異常な動作に基づく廃棄であれば「異常有」が書き込まれる。
【0192】
ヘルスチェック判定・実行指示部101は、受け取った第4のパケット情報に「異常無」が書き込まれている場合は、異常報告は行わない。
【0193】
ヘルスチェック判定・実行指示部101は、受け取った第4のパケット情報に「異常有」が書き込まれている場合は、異常に関連するログをログ格納用メモリ106に格納する(S406)。ログ格納用メモリ106に格納される情報には、パケット廃棄発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報やデータ、パケット処理情報などがある。
【0194】
その後、ヘルスチェック判定・実行指示部101は、装置管理部800に対して異常を通知する(S407)。
【0195】
また、ヘルスチェック判定・実行指示部101は、パケット廃棄要因検証が終わったので、第4のパケット情報を送信してきたパケット処理部200の処理機能部に対してパケット廃棄を指示する(S408)。パケット廃棄に相当する事象を検出して第4のパケットを送信したパケット処理部200の処理機能部は、パケット格納用メモリ部300に格納されている対象パケットを廃棄する。
【0196】
図10を参照してパケット廃棄の対象となるパケットがヘルスチェックパケットであった場合のヘルスチェック実行部100の動作を説明する。
【0197】
図10は、ヘルスチェックパケットがパケット廃棄の対象となるパケットであった場合のヘルスチェック実行部100の動作を示すシーケンス図である。
【0198】
ヘルスチェック判定・実行指示部101は、ヘルスチェックの実行を指示するヘルスチェック指示信号をパケット処理部200に送信する(S501)。
【0199】
ヘルスチェック指示信号を受信したパケット処理部200は、次に受信した運用パケットをヘルスチェックパケットとして扱う。そして、パケット格納用メモリ部300に格納したそのパケットのパケット識別子およびヘルチェックフラグを付した第2のパケット情報をヘルスチェック実行部100に送信する(S502)。
【0200】
パケット情報受信部102が第2のパケット情報を受信してから、ヘルスチェックヘッダ処理部104が第2のパケットを生成するまでの処理は、
図8を参照して説明したステップS303からステップS305の処理と同じである。
【0201】
そして、ヘルスチェックヘッダ処理部104は、パケット処理部200が実施する処理と同じパケット処理を受信したパケットに対して実施して生成した、第2のパケットをヘルスチェックヘッダメモリ103に格納する(S504)。
【0202】
パケット処理部200の処理の過程でパケット廃棄に相当する事象を検出すると、パケット処理部200は、「パケット廃棄有、廃棄発生部、廃棄要因」を書き込んだ第4のパケット情報をヘルスチェック実行部100に送信する(S505)。このとき、パケット情報には「ヘルスチェックフラグ」も付されている。
【0203】
第4のパケット情報を受信したパケット情報受信部102は、第4のパケット情報の「パケット廃棄有」と「ヘルスチェックフラグ」に基づき、ヘルスチェックにおいてパケット廃棄が発生したことを識別する(S506)。
【0204】
パケット情報受信部102は、第4のパケット情報をパケット廃棄解析部105に転送する(S507)。
【0205】
パケット廃棄解析部105は、第4のパケット情報からパケット廃棄に相当する事象を検出した処理機能部とパケット廃棄要因を確認し、廃棄要因が正しいかどうかの解析を行う(S508)。つまり、パケット廃棄解析部105は、第4のパケット情報に書き込まれた情報に基づいて、パケット格納メモリ部300に格納されている対象パケットのヘッダ部を取り出して検証処理を行う。パケット廃棄解析部105は、検証した結果、機能処理部の正常な動作に基づくパケット廃棄であることを確認すると正常な廃棄と判定し、機能処理部の異常に起因するパケット廃棄であることを確認すると異常と判定する。
【0206】
パケット廃棄解析部105は、第4のパケット情報の「異常有無」フィールドに解析結果に基づいて異常の有無を書き込んで、そのパケット情報をヘルスチェック判定・実行指示部101に転送する(S509)。
【0207】
ヘルスチェック判定・実行指示部101は、受け取った第4のパケット情報に「異常有」が書き込まれている場合は、異常に関連するログをログ格納用メモリ106に格納する(S510)。
【0208】
また、ヘルスチェック判定・実行指示部101は、第4のパケット情報にヘルスチェックフラグが付されている場合は、「異常有無」フィールドの内容にかかわらず、装置管理部800に対してヘルスチェックNGを通知する(S511)。
【0209】
また、ヘルスチェック判定・実行指示部101は、パケット廃棄要因検証が終わったので、第4のパケット情報を送信してきたパケット処理部200の処理機能部に対してパケット廃棄を指示する(S512)。パケット廃棄に相当する事象を検出して第4のパケットを送信したパケット処理部200の処理機能部は、パケット格納用メモリ部300に格納されている対象パケットを廃棄する。
【0210】
最後に、ヘルスチェックが所定時間内に終了しなかった場合の処理について
図11を参照して説明する。
【0211】
図11は、ヘルスチェックにおいて所定時間内にヘルスチェック応答通知を受信しなかった場合のヘルスチェック判定・実行指示部101の動作を示すフロー図である。
【0212】
ヘルスチェック判定・実行指示部101は、パケット処理部200に対してヘルスチェック指示信号を出力してから、ヘルスチェック応答を受けるまでの時間を監視している。パケット廃棄が無ければ、パケット情報受信部102から受信するヘルスチェック応答通知(
図8のステップS309参照)がこのヘルスチェック応答になる。また、パケット廃棄がある場合は、パケット廃棄解析部105から受信するヘルスチェックフラグが付された第4のパケット情報がこのヘルスチェック応答になる。
【0213】
ヘルスチェック判定・実行指示部101は、ヘルスチェック指示信号を出力し(S601)、所定時間内にヘルスチェック応答を受信したか否かを判定する(S602)。
【0214】
所定時間内にヘルスチェック応答を受信した場合(S602、YES)、ヘルスチェック判定・実行指示部101は、
図8のステップS310以降の処理または
図10のステップS510以降の処理を行う。
【0215】
一方、所定時間内にヘルスチェック応答を受信しなかった場合(S602、NO)、ヘルスチェック判定・実行指示部101は、パケット廃棄以外のパケット処理部200の異常と判断する。この場合、ヘルスチェック判定・実行指示部101は、ヘルスチェックNG発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報およびデータ、パケット処理情報などをログ格納用メモリ106へ格納する(S603)。
【0216】
その後、ヘルスチェック判定・実行指示部101は、装置管理部800に対してヘルスチェックNGを通知する(S604)。
【0217】
以上に説明したように、本実施形態の通信装置は、ヘルスチェックを行うことにより異常の発生を早期に検出することができる。しかも、ヘルスチェックには特別なヘルスチェックパケットを使うことなく、実際の運用状態で処理されるパケットを用いてパケット処理部の処理内容を検証するという簡単な構成で異常を検出することができる。さらに、処理内容の不一致が発生した検証内容および収集したログを用いることにより障害原因の解析に資することができる。また、パケット廃棄の場合にも、その要因を解析することにより、処理機能部の正常な機能に基づくパケット廃棄と、異常が発生したことに起因するパケット廃棄とを判別することができる。そして、異常によるパケット廃棄が発生した場合には、異常に関連するログを収集するので、障害原因の解析に資することができる。
【0218】
なお、上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) 受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納されるパケット格納メモリと、
前記受信パケットに前記所定の処理を施し、前記受信パケットが前記格納された旨を通知する第2のパケット情報と、前記処理パケットを前記格納した旨を通知する第3のパケット情報を出力するパケット処理手段と、
前記第2のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第2のパケットを生成し、前記第3のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第2のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力するヘルスチェック実行手段と
を備えていることを特徴とする通信装置。
(付記2) 前記ヘルスチェック実行手段は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段は、前記ヘルスチェック指示信号を受信した場合に前記第2のパケット情報および前記第3のパケット情報を出力する
ことを特徴とする付記1に記載の通信装置。
(付記3) 前記パケット処理手段は、
前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第1のパケット情報にヘルスチェックフラグを付して転送し、前記第2のパケット情報を出力する最前段に配備された処理機能部と、
受信した前記第1のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第1のパケット情報を転送する中間段に配備された処理機能部と、
受信した前記第1のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第3のパケット情報を出力する最後段に配備された処理機能部と
を備えることを特徴とする付記2に記載の通信装置。
(付記4) 前記パケット処理手段の前記最後段に配備された処理機能部は、前記パケット格納メモリに格納されている前記処理パケットを送信する送信部であって、
前記送信部は、受信した前記第1のパケット情報に前記ヘルスチェックフラグが付されている場合、前記処理パケットの送信を保留して、前記第3のパケット情報を前記ヘルスチェック実行手段に出力し、前記ヘルスチェック実行手段から、前記格納されている前記処理パケットと前記第2のパケットとの比較によるヘルスチェック検証が正常終了した旨の通知を受けてから前記処理パケットを送信する
ことを特徴とする付記3に記載の通信装置。
(付記5) 前記送信部は、前記ヘルスチェック実行手段から、前記ヘルスチェック検証が異常終了したヘルスチェック異常の通知を受けると、前記処理パケットを廃棄することを特徴とする付記4に記載の通信装置。
(付記6) 前記パケット処理手段の前記中間段に配備された処理機能部は、前記パケット格納メモリに格納されている前記受信パケットに対して運用ポリシーに応じて予め決められた内容の処理を施すヘッダ処理部であることを特徴とする付記3乃至付記5のいずれかの付記に記載の通信装置。
(付記7) 前記ヘルスチェック実行手段は、
前記パケット処理手段が送信した前記第2および第3のパケット情報を受信し、前記第2のパケット情報を受信すると、前記パケット格納メモリに格納されている前記受信パケットを第1のパケットとしてパケットヘルスチェックメモリに格納し、前記所定の処理を施す実行指示を出力し、前記第3のパケット情報を受信すると、前記パケット格納メモリに格納されている前記処理パケットを前記第3のパケットとして前記パケットヘルスチェックメモリに格納して前記第3のパケット情報を転送するパケット情報受信部と、
前記パケット情報受信部が出力する前記実行指示を受けて、前記第1のパケットに対して、前記所定の処理を施して前記第2のパケットを生成し、前記パケットヘルスチェックメモリに格納するヘルスチェックヘッダ処理部と、
前記パケット情報受信部から転送された前記第3のパケット情報を受けて、前記パケットヘルスチェックメモリに格納された前記第2のパケットと前記第3のパケットとを比較し、不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力するヘルスチェック判定・実行指示部
を含むことを特徴とする付記6に記載の通信装置。
(付記8) 前記ヘルスチェック実行手段の前記ヘルスチェックヘッダ処理部は、前記パケット処理手段の前記ヘッダ処理部が実行する処理と同じ処理を前記第1のパケットに対して施すことを特徴とする付記7に記載の通信装置。
(付記9) 前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第4のパケット情報を受信した場合に、前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部
を含むことを特徴とする付記1乃至付記8のいずれかの付記に記載の通信装置。
(付記10) 前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第4のパケット情報を受信した場合に、前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部を含み、
前記ヘルスチェック実行手段の前記パケット情報受信部は、前記第4のパケット情報を受信すると、前記第4のパケットを前記パケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部は、前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第4のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示するとともに、前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする付記7または付記8に記載の通信装置。
(付記11) 前記ヘルスチェック実行手段は、前記ヘルスチェック指示信号を出力してから、所定時間内に前記パケット処理手段からの前記第3のパケット情報または前記ヘルスチェックフラグを付した前記第4のパケット情報を受信しない場合は、ヘルスチェック異常と判断し、当該ヘルスチェック異常に関する情報を収集して出力することを特徴とする付記2乃至付記10のいずれかの付記に記載の通信装置。
(付記12) パケット処理手段が、受信した受信パケットをパケット格納メモリに格納し、
前記パケット処理手段が、前記受信パケットが前記格納された旨を通知する第2のパケット情報を出力し、
前記パケット処理手段が、前記受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納し、
ヘルスチェック実行手段が、前記第2のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第2のパケットを生成し、
前記パケット処理手段が、前記処理パケットを前記格納した旨を通知する第3のパケット情報を出力し、
前記ヘルスチェック実行手段が、前記第3のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第2のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する
ことを特徴とする障害検出方法。
(付記13) 前記ヘルスチェック実行手段が、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段が、前記ヘルスチェック指示信号を受信した場合に前記第2のパケット情報および前記第3のパケット情報を出力する
ことを特徴とする付記12に記載の障害検出方法。
(付記14) 前記パケット処理手段の最前段に配備された処理機能部が、前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第1のパケット情報にヘルスチェックフラグを付して転送し、前記第2のパケット情報を出力し、
前記パケット処理手段の中間段に配備された処理機能部が、受信した前記第1のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第1のパケット情報を転送し、
前記パケット処理手段の最後段に配備された処理機能部が、受信した前記第1のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第3のパケット情報を出力する
ことを特徴とする付記13に記載の障害検出方法。
(付記15) 前記パケット処理手段の前記最後段に配備された処理機能部は、前記パケット格納メモリに格納されている前記処理パケットを送信する送信部であって、
前記送信部が、受信した前記第1のパケット情報に前記ヘルスチェックフラグが付されている場合、前記処理パケットの送信を保留して、前記第3のパケット情報を前記ヘルスチェック実行手段に出力し、
前記送信部が、前記ヘルスチェック実行手段から、前記格納されている前記処理パケットと前記第2のパケットとの比較によるヘルスチェック検証が正常終了した旨の通知を受けてから前記処理パケットを送信する
ことを特徴とする付記14に記載の障害検出方法。
(付記16) 前記送信部が、前記ヘルスチェック実行手段から、前記ヘルスチェック検証が異常終了したヘルスチェック異常の通知を受けると、前記処理パケットを廃棄することを特徴とする付記15に記載の障害検出方法。
(付記17) 前記パケット処理手段の前記中間段に配備された処理機能部が、前記パケット格納メモリに格納されている前記受信パケットに対して運用ポリシーに応じて予め決められた内容の処理を施すことを特徴とする付記14乃至付記16のいずれかの付記に記載の障害検出方法。
(付記18) 前記ヘルスチェック実行手段のパケット情報受信部が、
前記パケット処理手段が送信した前記第2および第3のパケット情報を受信し、
前記第2のパケット情報を受信すると、前記パケット格納メモリに格納されている前記受信パケットを第1のパケットとしてパケットヘルスチェックメモリに格納し、前記所定の処理を施す実行指示を出力し、
前記第3のパケット情報を受信すると、前記パケット格納メモリに格納されている前記処理パケットを前記第3のパケットとして前記パケットヘルスチェックメモリに格納して前記第3のパケット情報を転送し、
前記ヘルスチェック実行手段のヘルスチェックヘッダ処理部が、
前記パケット情報受信部が出力する前記実行指示を受けて、前記第1のパケットに対して、前記所定の処理を施して前記第2のパケットを生成して前記パケットヘルスチェックメモリに格納し、
前記ヘルスチェック実行手段のヘルスチェック判定・実行指示部が、
前記パケット情報受信部から転送された前記第3のパケット情報を受けて、前記パケットヘルスチェックメモリに格納された前記第2のパケットと前記第3のパケットとを比較し、
不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する
ことを特徴とする付記16または付記17に記載の障害検出方法。
(付記19) 前記パケット処理手段が、パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段が、前記第4のパケット情報を受信した場合に、前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力する
ことを特徴とする付記12乃至付記18のいずれかの付記に記載の障害検出方法。
(付記20) 前記パケット処理手段が、
パケット廃棄に相当する事象を検出すると、前記第1のパケット情報を、検出したパケット廃棄に関する情報を含む第4のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段の前記パケット情報受信部が、
前記第4のパケット情報を受信すると、前記第4のパケットを前記ヘルスチェック実行手段のパケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記パケット廃棄解析部が、
前記第4のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、
前記パケット廃棄検証の結果を出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部が、
前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第4のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示し、
前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする付記18の障害検出方法。
(付記21) 前記ヘルスチェック実行手段が、前記ヘルスチェック指示信号を出力してから、所定時間内に前記パケット処理手段からの前記第3のパケット情報または前記ヘルスチェックフラグを付した前記第4のパケット情報を受信しない場合は、ヘルスチェック異常と判断し、当該ヘルスチェック異常に関する情報を収集して出力することを特徴とする付記13乃至付記20のいずれかの付記に記載の障害検出方法。