(57)【要約】【課題】  パケットのフロー毎のカウント処理を高速に行い、また、トラヒック計測対象外のフローに対してメモリリソースの占有を回避する。【解決手段】  パケットのフロー毎の転送情報とエントリ番号とが登録されている検索テーブルと、メモリアドレスをエントリ番号にマッピングした、パケットのフロー毎のカウント値を保持するカウントメモリとを備え、検索結果であるエントリ番号を基にカウントメモリ内の該当エントリ番号に格納されているカウント値をカウントアップする。また、トラヒック計測対象外のフローに対しては、検索テーブルのエントリに番号を付与しない。さらに、双方向のフローを構成する２つのエントリに対して、エントリの構成要素であるエントリ番号の一部領域を用いて双方向ペアであることを識別する。【選択図】  図１
2006254337.tif 000002
【特許請求の範囲】
【請求項１】
パケットのフロー毎に、転送するパケット数を計数する手段を備えたネットワーク装置において、
パケットの転送情報を含むエントリ毎に番号が割り当てられた検索テーブルと、
この番号とこの番号に対応するカウント値が記録されるカウントメモリと、
パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込む手段と
を備え、
前記計数する手段は、前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数する手段を備えた
ことを特徴とするネットワーク装置。
【請求項２】
前記検索テーブルの計数対象となるパケットの転送情報を含むエントリに限定して前記番号が割り当てられた請求項１記載のネットワーク装置。
【請求項３】
双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、
前記カウントメモリには、前記番号と共に前記識別子が記録され、
前記計数する手段は、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数する手段を備えた
請求項１または２記載のネットワーク装置。
【請求項４】
パケットのフロー毎に、転送するパケット数を計数するネットワーク装置において実行されるトラヒックカウント方法において、
前記ネットワーク装置に備えられた検索テーブルには、パケットの転送情報を含むエントリ毎に番号が割り当てられ、
前記ネットワーク装置に備えられたカウントメモリには、この番号とこの番号に対応するカウント値が記録され、
前記ネットワーク装置は、
パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込むステップと、
前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数するステップと
を実行することを特徴とするトラヒックカウント方法。
【請求項５】
前記検索テーブルの計数対象となるパケットの転送情報を含むエントリに限定して前記番号が割り当てられた請求項４記載のトラヒックカウント方法。
【請求項６】
双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、
前記カウントメモリには、前記番号と共に前記識別子が記録され、
前記ネットワーク装置は、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数するステップを実行する
請求項４または５記載のトラヒックカウント方法。
【請求項７】
パケットのフロー毎に、転送するパケット数を計数する手段を備えたネットワーク装置に適用されるプログラムにおいて、
情報処理装置にインストールすることにより、その情報処理装置に、
前記ネットワーク装置に相応する機能として、
パケットの転送情報を含むエントリ毎に番号が割り当てられた検索テーブルに相応するメモリ機能と、
この番号とこの番号に対応するカウント値が記録されるカウントメモリに相応するメモリ機能と、
パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込む機能と
を実現させ、
前記計数する手段に相応する機能として、前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数する機能を実現させる
ことを特徴とするプログラム。
【請求項８】
双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、
前記カウントメモリには、前記番号と共に前記識別子が記録され、
前記計数する手段に相応する機能として、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数する機能を実現させる
請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム分野に関連し、パケットのフロー毎のトラヒック監視ならびにトラヒック計測方式を実現するネットワーク装置またはプログラムに関する。
【背景技術】
【０００２】
従来は、パケットのフロー毎のトラヒックカウントを行う場合に、検索テーブルのエントリにカウント値を保持し、フロー検索時にエントリ情報を引き出すと共に、前記検索テーブルのエントリ内で保持しているカウント値に対して加算を行い、加算されたカウント値を検索テーブルのエントリ内に書き込むことによってフロー毎のカウントを実現している。
【０００３】
この従来例を図１２ないし図１５を参照して説明する。図１２はネットワーク構成の概念を示す図である。図１３は従来のネットワーク装置のブロック構成図である。図１４は従来のネットワーク装置におけるトラヒックカウント手順を示すフローチャートである。図１５は従来の検索テーブルの一例を示す図である。
【０００４】
ネットワーク装置１０１は、図１２に示すようなネットワーク構成の下に設置される。ネットワーク装置１０１は、端末１０２、ネットワーク１０３とリンク１００により接続されている。
【０００５】
図１３に示すように、ヘッダ抽出部１２０２では、受信したＥｔｈｅｒフレームから転送処理に必要な情報であるＩＰアドレス、ポート番号などを抽出する。
【０００６】
パケット処理部１２０３では、ヘッダ抽出部１２０２で抽出された宛先・送信元ＩＰアドレス、宛先・送信元ポート番号を基に、検索テーブル１２０６に対して検索処理を行う。検索テーブル１２０６では、パケット処理部１２０３から通知された検索キー（ヘッダ抽出部１２０２で抽出された宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）を用いて図１５に示す構成を有する検索テーブル１２０６に対して検索処理を行い、検索結果をパケット処理部１２０３に通知する。
【０００７】
パケット処理部１２０３は、検索テーブル１２０６から得られた転送情報（宛先・送信元ＩＰアドレス、宛先・送信元ポート番号、出力先Ｅｔｈｅｒポート番号等）と送信データをインターフェイス部１２０１に通知する。
【０００８】
ここで、パケットのフロー毎のトラヒックカウントを行う場合には、図１４に示すように、検索テーブル１２０６において検索処理が行われ（Ｓ２００１）、検索ヒットすると（Ｓ２００２）、その検索結果はパケット処理部１２０３に通知される（Ｓ２００３）。パケット処理部１２０３では、そのエントリについてカウント値の加算を行う（Ｓ２００４）。加算が行われると、再び検索テーブル１２０６の検索が行われ（Ｓ２００５）、検索ヒットした後（Ｓ２００６）、加算されたカウント値によってエントリが書き替えられ、カウント値が更新される（Ｓ２００７）。
【０００９】
図１５に示すように、検索テーブル１２０６のエントリの一部にはカウント値が書き込まれる領域を有する。
【００１０】
例えば、特許文献１では、転送テーブルを拡張し、該当アドレスの参照回数をカウントするトラヒックカウンタを備えている。
【００１１】
また、特許文献２では、検索キーとしてフローを判別できるフロー情報(Source
Address、Destination Address、Identification、Protocol、ポート番号等)を用いてテーブル内を検索し、フロー情報に一致するエントリに対してパケット数ならびに、オクテット数を加算するカウント処理を行っている。
【００１２】
また、特許文献３では宛先サブネットワークと、送出元サブネットワークおよびＩＰヘッダから抽出されたＤＳＣＰ値の組み合わせ毎にエントリを作成し、カウント処理を実行している。
【００１３】
【特許文献１】特開２００４−２９７６０３号公報
【特許文献２】特開平１１−２０５３８６号公報
【特許文献３】特開２００１−２０３６９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、従来の技術（例えば、特許文献１または２）では、カウント処理のために検索結果であるカウント値にパケット数およびオクテット数を加算した値に更新するため、再度書き込み対象となるエントリを発見するための検索処理（図１４のＳ２００５）を行う必要があり、カウント処理に時間がかかるという問題がある。
【００１５】
また、従来の技術（例えば、特許文献１または２）では、トラヒック計測対象あるいは対象外に関わらず検索テーブル上に登録されるエントリの一部をカウント値を記録するカウント領域（図１５参照）として占有しなければいけないため、トラヒック計測対象外であるエントリにおいてもメモリリソースを消費してしまう問題がある。
【００１６】
さらに、従来の技術（例えば、特許文献３）では、検索キーとメモリアドレスがマッピングされていないため、カウントアップ対象となるエントリ検索処理（図１４のＳ２００５）が必要となりカウント処理に時間がかかる問題がある。
【００１７】
本発明は、上記に鑑みてなされたものであり、パケットのフロー毎のカウント処理を高速に行うことができ、また、トラヒック計測対象外のフローに対してメモリリソースの占有を回避することができるネットワーク装置およびトラヒックカウント方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決するために、本発明ではパケットのフロー毎の転送情報とエントリ番号とが登録されている検索テーブルと、メモリアドレスをエントリ番号にマッピングした、パケットのフロー毎のカウント値を保持するカウントメモリとを有し、検索結果であるエントリ番号を基にカウントメモリ内の該当エントリ番号に格納されているカウント値をカウントアップすることを特徴とする。
【００１９】
本発明によれば、カウント値を検索テーブルではなくメモリアドレスをエントリ番号にマッピングしたメモリ内に持つことで、検索テーブルのエントリ内にカウント値を保持する方式に比べ、カウント処理を高速に行うことができる。
【００２０】
また、トラヒック計測対象外のフローに対しては、検索テーブルのエントリに番号を付与しないことでカウントメモリを常に消費してしまう問題を回避することができる。
【００２１】
さらに、双方向のフローを構成する２つのエントリに対して、エントリの構成要素であるエントリ番号の一部領域を用いて双方向ペアであることを識別することで番号管理を体系的に行うことができ、カウント集計処理を高速に行うことができる。
【００２２】
すなわち、本発明の第一の観点は、パケットのフロー毎に、転送するパケット数を計数する手段を備えたネットワーク装置であって、本発明の特徴とするところは、パケットの転送情報を含むエントリ毎に番号が割り当てられた検索テーブルと、この番号とこの番号に対応するカウント値が記録されるカウントメモリと、パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込む手段とを備え、前記計数する手段は、前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数する手段を備えたところにある。
【００２３】
また、前記検索テーブルの計数対象となるパケットの転送情報を含むエントリに限定して前記番号を割り当てることができる。これによれば、計数対象とならないエントリに対してはカウントメモリのメモリリソースが占有されることがなく、メモリリソースの有効利用を図ることができる。
【００２４】
また、双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、前記カウントメモリには、前記番号と共に前記識別子が記録され、前記計数する手段は、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数する手段を備えることができる。
【００２５】
本発明の第二の観点は、パケットのフロー毎に、転送するパケット数を計数するネットワーク装置において実行されるトラヒックカウント方法であって、本発明の特徴とするところは、前記ネットワーク装置に備えられた検索テーブルには、パケットの転送情報を含むエントリ毎に番号が割り当てられ、前記ネットワーク装置に備えられたカウントメモリには、この番号とこの番号に対応するカウント値が記録され、前記ネットワーク装置は、パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込むステップと、前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数するステップとを実行するところにある。
【００２６】
また、前記検索テーブルの計数対象となるパケットの転送情報を含むエントリに限定して前記番号を割り当てることができる。
【００２７】
また、双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、前記カウントメモリには、前記番号と共に前記識別子が記録され、前記ネットワーク装置は、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数するステップを実行することができる。
【００２８】
本発明の第三の観点は、パケットのフロー毎に、転送するパケット数を計数する手段を備えたネットワーク装置に適用されるプログラムであって、本発明の特徴とするところは、情報処理装置にインストールすることにより、その情報処理装置に、前記ネットワーク装置に相応する機能として、パケットの転送情報を含むエントリ毎に番号が割り当てられた検索テーブルに相応するメモリ機能と、この番号とこの番号に対応するカウント値が記録されるカウントメモリに相応するメモリ機能と、パケットを転送する際に検索された前記検索テーブルの前記エントリに割り当てられた前記番号を基に前記カウントメモリに記録されたカウント値を読み出して加算し、この加算されたカウント値を前記カウントメモリの前記番号に対応する位置に書き込む機能とを実現させ、前記計数する手段に相応する機能として、前記カウントメモリに記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数する機能を実現させるところにある。
【００２９】
また、双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、前記カウントメモリには、前記番号と共に前記識別子が記録され、前記計数する手段に相応する機能として、前記カウントメモリに記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数する機能を実現させることができる。
【００３０】
これにより、汎用の情報処理装置を用いて、パケットのフロー毎のカウント処理を高速に行うことができ、また、トラヒック計測対象外のフローに対してメモリリソースの占有を回避することができる本発明のネットワーク装置を実現することができる。また、この本発明のネットワーク装置を用いて本発明のトラヒックカウント方法を実現することができる。
【発明の効果】
【００３１】
本発明によれば、パケットのフロー毎のカウント処理を高速に行うことができ、また、トラヒック計測対象外のフローに対してメモリリソースの占有を回避する効果を奏する。
【発明を実施するための最良の形態】
【００３２】
本発明の実施形態を図面に基づいて説明する。図１は本発明実施例のネットワーク装置のブロック構成図である。図２は本発明実施例の検索テーブルの内部構成例を示す図である。図３は本発明実施例のカウントメモリの内部構成例を示す図である。図１０は実施の形態３における検索テーブルの内部構成例を示す図である。図１１は実施の形態３におけるカウントメモリの内部構成例を示す図である。
【００３３】
本実施例は、図１に示すように、パケットのフロー毎に、転送するパケット数を計数するカウント集計部２０５を備えたネットワーク装置１０１である。このネットワーク装置１０１は、図１２に示すようなネットワーク構成の下に設置される。ネットワーク装置１０１は、端末１０２、ネットワーク１０３とリンク１００により接続されている。
【００３４】
ここで、本実施例の特徴とするところは、図１に示すように、パケットの転送情報を含むエントリ毎に番号が割り当てられた検索テーブル２０６と、この番号とこの番号に対応するカウント値が記録されるカウントメモリ２０４と、パケットを転送する際に検索された検索テーブル２０６の前記エントリに割り当てられた前記番号を基にカウントメモリ２０４に記録されたカウント値を読み出して加算し、この加算されたカウント値をカウントメモリ２０４の前記番号に対応する位置に書き込むパケット処理部２０３とを備え、カウント集計部２０５は、カウントメモリ２０４に記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数する手段を備えたところにある。また、検索テーブル２０６の計数対象となるパケットの転送情報を含むエントリに限定して前記番号が割り当てられる。
【００３５】
さらに、図１０に示すように、双方向フローを構成する２つのエントリについては、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、図１１に示すように、カウントメモリ２０４には、前記番号と共に前記識別子が記録され、カウント集計部２０５は、カウントメモリ２０４に記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数する手段を備える。
【００３６】
また、本実施例は、パケットのフロー毎に、転送するパケット数を計数するネットワーク装置１０１において実行されるトラヒックカウント方法である。図７、図８、図９は、本実施例のトラヒックカウント方法における主要手順（検索テーブル２０６の検索およびカウントメモリ２０４のカウント処理）を示すフローチャートである。
【００３７】
ここで、本実施例の特徴とするところは、ネットワーク装置１０１に備えられた検索テーブル２０６には、パケットの転送情報を含むエントリ毎に番号が割り当てられ、ネットワーク装置１０１に備えられたカウントメモリ２０４には、この番号とこの番号に対応するカウント値が記録され、ネットワーク装置１０１は、図８に示すように、パケットを転送する際に検索された検索テーブル２０６の前記エントリに割り当てられた前記番号を基にカウントメモリ２０４に記録されたカウント値を読み出して加算し（Ｓ８０４−１、Ｓ８０４−２）、この加算されたカウント値をカウントメモリ２０４の前記番号に対応する位置に書き込む（Ｓ８０４−３）ステップと、カウントメモリ２０４に記録された前記番号とこの番号に対応するカウント値とに基づきフロー毎に転送するパケット数を計数するステップとを実行するところにある。また、検索テーブル２０６の計数対象となるパケットの転送情報を含むエントリに限定して前記番号が割り当てられる。
【００３８】
さらに、双方向フローを構成する２つのエントリについては、図１０に示すように、前記番号と共に当該２つのエントリが双方向ペアであることを示す識別子が付与され、カウントメモリ２０４には、図１１に示すように、前記番号と共に前記識別子が記録され、ネットワーク装置１０１は、カウントメモリ２０４に記録された前記番号および前記識別子とこれらの番号および識別子に対応するカウント値とに基づき双方向フローの合計カウント値を計数するステップを実行する。
【００３９】
また、本実施例は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本実施例のネットワーク装置１０１に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、図１に示すインターフェイス部２０１、ヘッダ抽出部２０２、パケット処理部２０３、カウントメモリ２０４、カウント集計部２０５、検索テーブル２０６にそれぞれ相応する機能を実現させることができる。
【００４０】
以下では、本発明の実施の形態を図面に基づいて詳細に説明する。なお、下記に記載する実施の形態により本発明が限定されるものではない。
【００４１】
発明の実施の形態によるネットワーク装置１０１およびトラヒックカウント方法を説明するに先立ち、図１〜図３の構成図ならびに図４〜図６の各種ヘッダフォーマット図について説明する。なお、図７〜図９については、後述する実施の形態の中で説明する。
【００４２】
本発明が実施されるネットワーク構成の概念は図１２に示すとおりである。図１２に示すように、本実施例のネットワーク装置１０１は、端末１０２、ネットワーク１０３とリンク１００により接続されている。
【００４３】
図１は本発明実施例のネットワーク装置のブロック構成図である。図１に示すように、ネットワーク装置１０１は、インターフェイス部２０１、ヘッダ抽出部２０２、パケット処理部２０３、カウントメモリ２０４、カウント集計部２０５、検索テーブル２０６から構成されている。
【００４４】
次に各構成要素の機能について述べる。インターフェイス部２０１は、ネットワーク１０３とリンク１００により接続されており、Ｅｔｈｅｒフレームの送受信処理を行い、受信処理では、リンク１００からの受信信号からＥｔｈｅｒフレームを識別してＥｔｈｅｒフレームを受信し、送信処理では、パケット処理部２０３から通知されたＩＰアドレス、ポート番号を基に送信するＥｔｈｅｒフレームを構築しリンク１００へ送信を行う。
【００４５】
ヘッダ抽出部２０２では、受信したＥｔｈｅｒｎｅｔフレームから転送処理に必要な情報であるＩＰアドレス、ポート番号を抽出する。
【００４６】
パケット処理部２０３では、ヘッダ抽出部２０２で抽出された宛先・送信元ＩＰアドレス、宛先・送信元ポート番号を基に、検索テーブル２０６に対して検索処理を行う。また、検索テーブル２０６から得られたエントリ情報を基にカウントメモリ２０４に対してカウント処理を行う。すなわち、エントリ番号を用いて図３のカウントメモリ２０４に対してエントリ番号に該当するカウント値のカウントアップ処理を行う。さらに、検索テーブル２０６から得られた転送情報（宛先・送信元ＩＰアドレス、宛先・送信元ポート番号、出力先Ｅｔｈｅｒｎｅｔポート番号等）と送信データとをインターフェイス部２０１に通知する。
【００４７】
カウント集計部２０５では、カウントメモリ２０４内に格納されているエントリ番号毎のカウント値を集計する。
【００４８】
検索テーブル２０６では、パケット処理部２０３から通知された検索キー（ヘッダ抽出部２０２で抽出された宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）を用いて図２のテーブル（本実施例ではＮＡＴテーブル）に対して検索処理を行い、検索結果をパケット処理部２０３に通知する。
【００４９】
図２は、本発明の検索テーブル２０６（本実施例ではＮＡＴテーブル）の内部構成例を示す図である。検索テーブル２０６は、検索キー３０１（本実施例ではＮＡＴ前エントリである宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）と検索結果３０２（本実施例ではＮＡＴ後エントリ）、エントリ番号３０３にて構成される。
【００５０】
図３は、本発明のカウントメモリ２０４の内部構成例を示す図である。カウントメモリ２０４はメモリアドレスがエントリ番号３０３にマッピングされており、カウント値４０１の取得はエントリ番号３０３を検索キーとしたリード処理により行われ、カウントアップ値の書き込みはライト処理により行われる。
【００５１】
図４は、ＩＰｖ４ヘッダのヘッダフォーマットを示しており、ＩＰｖ４ヘッダの先頭から１３バイト目に送信元ＩＰアドレス５０１である４バイトが位置し、１７バイト目に宛先ＩＰアドレス５０２である４バイトが位置している。
【００５２】
図５は、ＴＣＰヘッダを示しており、ＴＣＰヘッダの先頭バイトに送信元ポート番号６０１である２バイトが位置し、４バイト目に宛先ポート番号６０２である２バイトが位置している。
【００５３】
図６はＵＤＰヘッダのヘッダフォーマットを示しており、ＵＤＰヘッダの先頭バイトに送信元ポート番号７０１である２バイトが位置し、４バイト目に宛先ポート番号７０２である２バイトが位置している。
【００５４】
（実施の形態１）
以上、図１〜図３の構成図ならびに図４〜図６の各種ヘッダフォーマット図、および実施の形態１でのフローチャート図７および図８を参照して本発明の実施例によるカウントトラヒック方法の動作について説明する。図８は、図７のカウント処理Ｓ８０４をさらに詳細に説明する図である。
【００５５】
図１２、図１のリンク１００上を流れるＥｔｈｅｒフレームは、インターフェイス部２０１を介してネットワーク装置１０１に受信され、プリアンブルの除去、ＦＣＳチェックといったＥｔｈｅｒフレーム受信処理が行われ、ヘッダ抽出部２０２に転送される。
【００５６】
次に、ヘッダ抽出部２０２では、図４、図５、図６に示す宛先・送信元ＩＰアドレス（５０２、５０１）、ＴＣＰヘッダ宛先・送信元ポート番号（６０２、６０１）またはＵＤＰヘッダ宛先・送信元ポート番号（７０２、７０１）を抽出し、受信データと共に、パケット処理部２０３に転送される。
【００５７】
パケット処理部２０３では、ヘッダ抽出部２０２で受信Ｅｔｈｅｒフレームから抽出された宛先・送信元ＩＰアドレス（５０２、５０１）、ＴＣＰヘッダ宛先・送信元ポート番号（６０２、６０１）またはＵＤＰヘッダ宛先・送信元ポート番号（７０２、７０１）を検索キーとして検索テーブル２０６に対してフローチャート図７で示す検索処理Ｓ８０１を実行する。
【００５８】
検索テーブル２０６ではフローチャート図７のＳ８０２にて検索キーにヒットした場合に、フローチャート図７のＳ８０３にてエントリ情報（３０２、３０３）をパケット処理部２０３に通知する。
【００５９】
次に、フローチャート図７のＳ８０４のカウント処理が行われ、パケット処理部２０３から、カウントメモリ２０４に対して検索テーブル２０６で得られたエントリ番号３０３を検索キーとしてリード処理を実行する（Ｓ８０４−１）。
【００６０】
カウントメモリ２０４は、パケット処理部２０３から通知された検索キー（エントリ番号３０３）のアドレス３０３をリードし、格納しているカウント値４０１をパケット処理部２０３に通知する。
【００６１】
パケット処理部２０３では、カウントメモリ２０４から通知されたカウント値４０１に対して１を加算し（Ｓ８０４−２）、加算したカウント値を前述したエントリ番号３０３に対してライト処理を行う（Ｓ８０４−３）。
【００６２】
カウントメモリ２０４では、パケット処理部２０３から通知されたエントリ番号３０３のアドレスに対して通知されたカウント値４０１をライトする。
【００６３】
パケット処理部２０３では、ＮＡＴ後エントリ３０２から送信Ｅｔｈｅｒフレーム構築時の宛先・送信元ＩＰアドレス（５０２、５０１）、ＴＣＰヘッダ宛先・送信元ポート番号（６０２、６０１）または、ＵＤＰヘッダ宛先・送信元ポート番号（７０２、７０１）を取得する。
【００６４】
次に、パケット処理部２０３では、検索結果である宛先・送信元ＩＰアドレス（５０２、５０１）、ＴＣＰヘッダ宛先・送信元ポート番号（６０２、６０１）または、ＵＤＰヘッダ宛先・送信元ポート番号（７０２、７０１）および、送信データをインターフェイス部２０１に通知する。
【００６５】
インターフェイス部２０１では、パケット処理部２０３から通知された各アドレス、ポート番号情報と、送信データを基に送信Ｅｔｈｅｒフレームを構築し、リンク１００に送信する。
【００６６】
このように実施の形態１によれば、エントリ番号がカウントメモリ２０４のメモリアドレスにマッピングされることにより、カウント処理時間を短縮することができる。
【００６７】
（実施の形態２）
実施の形態２では、実施の形態１にカウント対象外のフローに対しては検索テーブル登録エントリにエントリ番号を付加しない機能を付加した形態である。
【００６８】
装置内部構成要素と各ブロックでの動作については、上記実施の形態１に記載のため説明を省略し、パケット処理部２０３で実行される処理についてフローチャート図９を用いて説明する。なお、図９におけるカウント処理Ｓ９０５の詳細は図８に示すとおりである。
【００６９】
パケット処理部２０３では、ヘッダ抽出部２０２で受信Ｅｔｈｅｒフレームから抽出された宛先・送信元ＩＰアドレス（５０２、５０１）、ＴＣＰヘッダ宛先・送信元ポート番号（６０２、６０１）または、ＵＤＰヘッダ宛先・送信元ポート番号（７０２、７０１）を検索キーとして検索テーブル２０６に対してフローチャート図１０で示す検索処理Ｓ９０１を実行する。
【００７０】
検索テーブル２０６ではフローチャート図９のＳ９０２にて検索キーにヒットした場合には、フローチャート図９のＳ９０３にてエントリ情報（３０２、３０３）をパケット処理部２０３に通知する。
【００７１】
次に、フローチャート図９のＳ９０４にて検索結果にエントリ番号が付与されているか判断を行い、エントリ番号が付与されているのであればフローチャート図９のＳ９０４のカウント処理に移行し、エントリ番号が付与されていなければフローチャート図９のＳ９０６に移行し終了する。
【００７２】
フローチャート図９のＳ９０４のカウント処理では、パケット処理部２０３から、カウントメモリ２０４に対して検索テーブル２０６で得られたエントリ番号３０３を検索キーとしてリード処理を実行する（Ｓ８０４−１）。
【００７３】
カウントメモリ２０４は、パケット処理部２０３から通知された検索キー（エントリ番号３０３）のアドレス３０３をリードし、格納しているカウント値４０１をパケット処理部２０３に通知する。
【００７４】
パケット処理部２０３では、カウントメモリから通知されたカウント値４０１に対して１を加算し（Ｓ８０４−２）、加算したカウント値を前述したエントリ番号３０３に対してライト処理を行う（Ｓ８０４−３）。
【００７５】
カウントメモリ２０４では、パケット処理部２０３から通知されたエントリ番号３０３のアドレスに対して通知されたカウント値４０１のライトを行う。
【００７６】
このように実施の形態２によれば、検索テーブル２０６での登録エントリにエントリ番号が付与されていれば、カウント対象エントリと認識してカウント処理を行い、エントリ番号が付与されていなければカウント対象外エントリと認識してカウント処理は実行されないためカウント対象外エントリにはカウントメモリ２０４のリソースを割り当てずに済み、メモリリソース消費を抑えることができる。
【００７７】
（実施の形態３）
実施の形態３では、実施の形態１に検索テーブル登録エントリのエントリ番号の一部に方向を示す識別子を付加した形態である。装置内部構成要素と各ブロックでの動作については、上記実施の形態１に記載のため説明を省略し、検索テーブル図１０を用いて説明する。
【００７８】
検索テーブル図１０は、検索テーブル図１０の記載エントリ番号１０１０の一部領域（エントリ番号のＭＳＢビット）を入力方向（グローバルネットワーク←→ローカルネットワーク）識別のための方向識別子１０００としている。
【００７９】
また、エントリＡ（１００２〜１００５）、エントリＢ（１００６〜１００９）は、エントリＡのＮＡＴ前エントリＡ１００２と、エントリＢのＮＡＴ後エントリＡ１００７、エントリＢのＮＡＴ前エントリＢ１００６と、エントリＡのＮＡＴ後エントリＢ１００３とが同じであり、またエントリＡでは、グローバルネットワークからローカルネットワークへのフローであり、エントリＢ（１００６〜１００９）では、ローカルネットワークからグローバルネットワークへのフローであることを示しているためエントリＡ、Ｂは双方向フローとなっている。
【００８０】
方向識別子１０００とフロー番号１００１にて構成されるエントリ番号１０１０は、フロー番号１００１をエントリＡ、Ｂとも同じ値（フロー番号Ａ）に設定され、エントリＡ（１００２〜１００５）の方向識別子１０００には、グローバルネットワークからローカルネットワークへのフロー方向であることを示すＧｔｏＬ１００４が登録され、エントリＢ（１００６〜１００９）での方向識別子には、ローカルネットワークからグローバルネットワークへのフロー方向であることを示すＬｔｏＧ１００８が登録されている。
【００８１】
また、カウントメモリ２０４においても、図１１に示すように、エントリ番号には、方向識別子とフロー番号とを含む。
【００８２】
このため、カウント集計処理においてカウントメモリ２０４から双方向フロー（グローバルネットワークからローカルネットワークの方向、ローカルネットワークからグローバルネットワークの方向）の合計カウント値を取得したい場合には、方向識別子ＧｔｏＬ＋フロー番号Ａのアドレスのカウント値と、方向識別子ＬｔｏＧ＋フロー番号Ａのアドレスのカウント値を取得すればよい。
【００８３】
このように実施の形態３によれば、エントリ番号体系を実施の形態３のようにすれば、双方向フローを探し出すための処理が不要となり、カウント処理の高速化が図れる。
【産業上の利用可能性】
【００８４】
本発明によれば、パケットのフロー毎のカウント処理を高速に行うことができ、また、トラヒック計測対象外のフローに対してメモリリソースの占有を回避することができるネットワーク装置を実現することができるため、ネットワーク管理者の利便性を向上させることができる。
【図面の簡単な説明】
【００８５】
【図１】本発明実施例のネットワーク装置のブロック構成図。
【図２】本発明実施例の検索テーブルの内部構成例を示す図。
【図３】本発明実施例のカウントメモリの内部構成例を示す図。
【図４】ＩＰｖ４ヘッダのヘッダフォーマットを示す図。
【図５】ＴＣＰヘッダを示す図。
【図６】ＵＤＰヘッダのヘッダフォーマットを示す図。
【図７】実施の形態１のトラヒックカウント方法における主要手順を示すフローチャート。
【図８】本実施例のトラヒックカウント方法におけるカウント処理の詳細を示すフローチャート。
【図９】実施の形態２のトラヒックカウント方法における主要手順を示すフローチャート。
【図１０】実施の形態３における検索テーブルの内部構成例を示す図。
【図１１】実施の形態３におけるカウントメモリの内部構成例を示す図。
【図１２】ネットワーク構成の概念を示す図。
【図１３】従来のネットワーク装置のブロック構成図。
【図１４】従来のネットワーク装置におけるトラヒックカウント手順を示すフローチャート。
【図１５】従来の検索テーブルの一例を示す図。
【符号の説明】
【００８６】
１００  リンク
１０１  ネットワーク装置
１０２  端末
１０３  ネットワーク
１２０１、２０１  インターフェイス部
１２０２、２０２  ヘッダ抽出部
１２０３、２０３  パケット処理部
１２０４、２０４  カウントメモリ
１２０５、２０５  カウント集計部
１２０６、２０６  検索（ＮＡＴ）テーブル
３０１  ＮＡＴ前エントリ
３０２  ＮＡＴ後エントリ
３０３、１０１０  エントリ番号
４０１  カウント値
５０１  ＩＰｖ４ヘッダ送信元アドレス
５０２  ＩＰｖ４ヘッダ宛先アドレス
６０１  ＴＣＰヘッダ送信元ポート番号
６０２  ＴＣＰヘッダ宛先ポート番号
７０１  ＵＤＰヘッダ送信元ポート番号
７０２  ＵＤＰヘッダ宛先ポート番号
１０００  方向
１００１  フロー番号
１００２  ＮＡＴ前エントリＡ
１００３  ＮＡＴ後エントリＢ
１００４  ＧｔｏＬ
１００５、１００９  フロー番号Ａ
１００６  ＮＡＴ前エントリＢ
１００７  ＮＡＴ後エントリＡ
１００８  ＬｔｏＧ
【図１】
2006254337.tif 000003
【図２】
2006254337.tif 000004
【図３】
2006254337.tif 000005
【図４】
2006254337.tif 000006
【図５】
2006254337.tif 000007
【図６】
2006254337.tif 000008
【図７】
2006254337.tif 000009
【図８】
2006254337.tif 000010
【図９】
2006254337.tif 000011
【図１０】
2006254337.tif 000012
【図１１】
2006254337.tif 000013
【図１２】
2006254337.tif 000014
【図１３】
2006254337.tif 000015
【図１４】
2006254337.tif 000016
【図１５】
2006254337.tif 000017