(57)【要約】【課題】  高負荷アクセス時に、セッションメモリを溢れさせることなしにプロトコル処理を行えるようにする。【解決手段】  セッションレートに応じて動的にセッションのタイムアウト時間を変えることによって、高負荷アクセス時に、セッションメモリを溢れさせることなしにプロトコル処理を行うことを可能にする。セッションレート測定部２２は、パケット受信手段１０からパケットを受け取ってセッションレートａを測定し、セッションレート記憶部３１に保存する。タイムアウト時間演算部２３は、セッションレート記憶部３１及びセッションメモリ最大容量記憶部３２から、それぞれセッションレートａ及びセッションメモリ最大容量Ｄを読み出し、セッションのタイムアウト時間ｔを式ｔ＝Ｄ／ａを用いて計算し、タイムアウト時間登録部２４を介してセッション情報記憶部３３に登録する。【選択図】  図１
2006279531.tif 000002
【特許請求の範囲】
【請求項１】
大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する応答手段とを
備えたことを特徴とするネットワーク処理装置。
【請求項２】
大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、
クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段と、
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段と、
前記パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、前記セッション情報記憶手段に記憶させることによって、前記新たなセッションのエントリを登録するエントリ登録手段と、
前記セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段と、
前記タイムアウト判断手段がタイムアウト時間が経過したと判断すると、前記セッション情報記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段とを
備えたことを特徴とするネットワーク処理装置。
【請求項３】
所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求めるセッションレート算出手段を備え、
タイムアウト時間算出手段は、前記セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求める
請求項２記載のネットワーク処理装置。
【請求項４】
セッションレート算出手段は、所定のサンプリング単位に従って、受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求める請求項３記載のネットワーク処理装置。
【請求項５】
セッションレート算出手段は、サンプリング単位として所定の時間単位に従って、セッションレートを求める請求項４記載のネットワーク処理装置。
【請求項６】
セッションレート算出手段は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求める請求項４記載のネットワーク処理装置。
【請求項７】
セッションレート算出手段は、指数平滑法を用いてセッションレートを求める請求項３記載のネットワーク処理装置。
【請求項８】
セッションレート算出手段が求めたセッションレートを記憶するセッションレート記憶手段を備え、
タイムアウト時間算出手段は、
前記セッションレート記憶手段からセッションレートａを読み出し、
所定の関数ｔ＝ｆ（ａ）を用いて、タイムアウト時間ｔを求める
請求項３から請求項７のうちのいずれか１項に記載のネットワーク処理装置
【請求項９】
セッション情報記憶手段に登録できるセッションのエントリの最大量を示す最大登録可能量Ｄを記憶する最大量記憶手段を備え、
タイムアウト時間算出手段は、
前記最大量記憶手段から、前記最大登録可能量Ｄを読み出し、
所定の関数ｆ（ａ）としてｔ＝ｆ（ａ）＝Ｄ／ａを用いて、タイムアウト時間ｔを求める
請求項８記載のネットワーク処理装置。
【請求項１０】
セッション情報記憶手段に登録されているエントリ数ｄを記憶するセッションエントリ数記憶手段を備え、
タイムアウト時間算出手段は、
セッションレート記憶手段から、セッションレートａを読み出し、
前記セッションエントリ数記憶手段から、エントリ数ｄを読み出し、
所定の関数ｆ（ａ）と関数ｇ（ｄ）とを合成した合成関数ｆ｛ｇ（ａ，ｄ）｝を用いて、タイムアウト時間ｔを求める
請求項８記載のネットワーク処理装置。
【請求項１１】
タイムアウト時間算出手段は、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間ｔを求める請求項８から請求項１０のうちのいずれか１項に記載のネットワーク処理装置。
【請求項１２】
大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、
クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを
含むことを特徴とするネットワーク処理方法。
【請求項１３】
大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、
クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、
クライアントから、通信ネットワークを介してパケットを受信するステップと、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録するステップと、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを
含むことを特徴とするネットワーク処理方法。
【請求項１４】
大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、
コンピュータに、
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを
実行させるネットワーク処理プログラム。
【請求項１５】
大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、
クライアントから、通信ネットワークを介してパケットを受信する処理と、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録する処理と、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを
実行させるネットワーク処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関し、特に新規セッションのタイムアウト時間を動的に登録し更新するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関する。
【背景技術】
【０００２】
近年のインターネット技術の発展に伴い、インターネット上のサーバやルータ等のネットワーク装置を、より高負荷及び大量アクセスに耐えられるように設計することが求められている。また、大量アクセスを続けることによって、インターネット上のサーバを攻撃する不正が増えつつある。このように大量アクセスを続ける不正行為は、一般にＤｏＳ（Denial of Service ）と呼ばれる。
【０００３】
ＤｏＳ攻撃の一形態としてＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ攻撃が存在する。「ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ」とは、ヘッダフィールドにＳＹＮフラグを立てたＴＣＰ（Transmission Control Protocol ）パケットを多量に送りつける攻撃のことである。一般に、サーバ（ネットワーク装置）は、ＴＣＰの送信元アドレスや、送信先のアドレス、ＴＣＰステート等のＴＣＰセッションの管理情報（セッション情報）を記憶するセッションメモリを有する。また、ＳＹＮパケットを受けると、サーバは、ＳＹＮパケットに対応するセッションを、セッションメモリに新規セッションとして登録する。また、サーバは、送信元ＩＰアドレスに示されるホストに対して、ＳＹＮ−ＡＣＫパケットを返す。この場合、送信元ホストからの応答が無ければ、サーバは、タイムアウト（Connection Establishment Timeout）になるまでの間、ＳＹＮ−ＡＣＫパケットを送信元ホストに再送し続ける。
【０００４】
ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ攻撃が行われている場合、攻撃対象のサーバは、攻撃元のホストから、送信元アドレスを偽ったＳＹＮパケットを受信することが多い。ＳｏｕｒｃｅＩＰアドレスを偽ったＳＹＮパケットを受信した場合、攻撃対象のサーバは、ＳＹＮ−ＡＣＫパケットを、偽られたＩＰアドレスに対して送るので、送信元からの応答を得られないことになる。このような不正なＳＹＮパケットを受信し続けると、攻撃対象のサーバは、セッションメモリを使い果たしてしまい、正当なホストからのアクセスに対して応答を行うことができなくなってしまう。
【０００５】
また、ＤｏＳ攻撃の他の形態として、複数のホストが攻撃対象のサーバに対して同時に大量アクセスするＤＤｏＳ(Distributed DoS )と呼ばれる攻撃も存在する。この場合、大量アクセスしてくるホストは、通常不正アクセスを行う攻撃者自身が所有するものとは限らず、攻撃者に利用された他のサーバから攻撃されている場合が多い。
【０００６】
これらＤｏＳ攻撃を受けている場合、攻撃を受けているサーバは、一般に、どのホストから攻撃を受けているかを知ることができない。また、一般に、これらの攻撃はプログラムによる自動化処理によって実行されるので、攻撃対象のサーバは、長時間に渡って攻撃を受けるのが通常である。
【０００７】
ＤｏＳ攻撃に対処する方法として、例えば、特許文献１には、予め保護対象のサーバが受け付けられるＴＣＰ−ＳＹＮの最大トラヒックの閾値を設定して、モニタを行うネットワーク装置が記載されている。特許文献１に記載されたネットワーク装置は、トラヒックが閾値を越えた場合、越えた分のフィルタリングを行い、同一ＩＳＰ内の全加入者収容エッジ及び全ボーダルータにサーバのアドレス及び閾値を通知する。そのようにすることによって、ネットワーク装置は、ネットワーク内のＤＤｏＳ攻撃対策処理を最小限に抑えている。
【０００８】
また、非特許文献１には、ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄに対処するためのネットワークプログラムの実装方法が記載されている。非特許文献１に記載された方法では、ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ対策用の内部フラグが１になっている時、ＴＣＰのＨａｌｆ−Ｏｐｅｎコネクション数が予め内部パラメータで設定された閾値を越えているか否かを判断する。そして、閾値を越えると、ＳＹＮに対するＳＹＮ−ＡＣＫパケットの再送回数を減らす。
【０００９】
【特許文献１】特開２００４−１６６０２９号公報（段落００２６−００３０、図１−２）
【非特許文献１】”Security Considerations for Network Attacks ”、[online]、マイクロソフト株式会社、［２００５年１月７日検索］、インターネット＜ URL : http://www.microsoft.com/technet/archive/security/prodtech/windows/iis/dosrv.mspx＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献１に記載されたネットワーク装置や非特許文献１に記載された方法を用いる場合、ネットワーク管理者が予め所定の閾値を設定しなければならない。しかし、最適な閾値は、ネットワークの状況（時間、曜日又は季節による変動や、イベント、網構成の変化、ウイルスの蔓延）によって変動する可能性がある。そのため、予め最適な閾値を判断し設定することは、ネットワーク管理者にとって負担が大きい。
【００１１】
また、非特許文献１に記載された方法では、ネットワーク装置は、閾値より僅かに小さい値の場合には全てのセッションを受け付けるが、一方で僅かにセッション数が増えて閾値を越えると、セッション数の変化が微少であるにも関わらず、全く異なる応答をすることになる。すなわち、ネットワーク装置は、閾値を越えない程度の「軽い」攻撃に対しては一切ＤｏＳ攻撃の対策を行わないが、閾値を越えると、どれだけ「重い」攻撃を受けている場合であっても、ＤｏＳ攻撃の対策を同様に施すことになる。そのため、閾値を用いた処理を行うことによって、閾値近辺におけるネットワーク装置の挙動（処理）が不連続になってしまう。
【００１２】
また、特許文献１に記載されたネットワーク装置は、ＴＣＰ  Ｈａｌｆ−Ｏｐｅｎの閾値を越えた分の新規セッションについて、全てフィルタリングを行う。そのため、ＤｏＳ攻撃のトラヒックが大きくなる程、正当なクライアント（ホスト）がアクセス拒否される頻度も大きくなる。従って、サーバが不正なホストから攻撃を受けている間、正当なクライアントであってもサーバにアクセスを拒否されてしまう。
【００１３】
ＤｏＳ攻撃を受けている最中であっても、セッションメモリの最大エントリ数が充分に大きければ、全てのセッションのハンドリングを行うことができる。例えば、１００（sessions/second ）のレートでＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ攻撃を受けた場合、ConnectionEstablishment Timeout （タイムアウト時間）が７５秒であるとすると、セッションメモリの最大エントリ数が１００（sessions/second ）×７５（second）＝７５００エントリ以上あれば、全てのコネクションをハンドリングすることができる。しかし、セッションメモリのエントリの最大数は有限であるので、ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ攻撃のレートが１００（sessions/second ）より高くなると、セッションメモリが溢れ（オーバフローし）応答できないコネクションが生じてしまう。例えセッションメモリの最大エントリ数が充分に大きかったとしても、無限に大きくすることはできず、ＴＣＰ−ＳＹＮ−Ｆｌｏｏｄ攻撃のレートが大きい場合には、応答できないコネクションが生じてしまう。
【００１４】
そこで、本発明は、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によるネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段（例えば、タイムアウト時間演算部２３によって実現される）と、タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段（例えば、エージング処理手段４０によって実現される）と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データ（例えば、応答パケット）を送信する応答手段（例えば、応答パケット送出手段５０によって実現される）とを備えたことを特徴とする。
【００１６】
また、ネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段（例えば、パケット受信手段１０によって実現される）と、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段（例えば、セッション情報記憶部３３によって実現される）と、パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、セッション情報記憶手段に記憶させることによって、新たなセッションのエントリを登録するエントリ登録手段（例えば、タイムアウト時間登録部２４によって実現される）と、セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段（例えば、エージング処理手段４０によって実現される）と、タイムアウト判断手段がタイムアウト時間が経過したと判断すると、セッション情報記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段（例えば、応答パケット送出手段５０によって実現される）とを備えたものであることが望ましい。
【００１７】
また、ネットワーク処理装置は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求めるセッションレート算出手段（例えば、セッションレート測定部２２によって実現される）を備え、タイムアウト時間算出手段は、セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求めるものであってもよい。
【００１８】
また、ネットワーク処理装置において、セッションレート算出手段は、所定のサンプリング単位に従って、受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求めるものであってもよい。
【００１９】
また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として所定の時間単位に従って、セッションレートを求めるものであってもよい。
【００２０】
また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求めるものであってもよい。
【００２１】
また、ネットワーク処理装置において、セッションレート算出手段は、指数平滑法を用いてセッションレートを求めるものであってもよい。
【００２２】
また、ネットワーク処理装置は、セッションレート算出手段が求めたセッションレートを記憶するセッションレート記憶手段（例えば、セッションレート記憶部３１によって実現される）を備え、タイムアウト時間算出手段は、セッションレート記憶手段からセッションレートａを読み出し、所定の関数ｔ＝ｆ（ａ）を用いて、タイムアウト時間ｔを求めるものであってもよい。
【００２３】
また、ネットワーク処理装置は、セッション情報記憶手段に登録できるセッションのエントリの最大量を示す最大登録可能量Ｄ（例えば、セッションメモリ最大量）を記憶する最大量記憶手段（例えば、セッションメモリ最大量記憶部３２によって実現される）を備え、タイムアウト時間算出手段は、最大量記憶手段から、最大登録可能量Ｄを読み出し、所定の関数ｆ（ａ）としてｔ＝ｆ（ａ）＝Ｄ／ａを用いて、タイムアウト時間ｔを求めるものであってもよい。
【００２４】
また、ネットワーク処理装置は、セッション情報記憶手段に登録されているエントリ数ｄを記憶するセッションエントリ数記憶手段（例えば、セッションメモリ登録エントリ数記憶部３４によって実現される）を備え、タイムアウト時間算出手段は、セッションレート記憶手段から、セッションレートａを読み出し、セッションエントリ数記憶手段から、エントリ数ｄを読み出し、所定の関数ｆ（ａ）と関数ｇ（ｄ）とを合成した合成関数ｆ｛ｇ（ａ，ｄ）｝を用いて、タイムアウト時間ｔを求めるものであってもよい。
【００２５】
また、ネットワーク処理装置において、タイムアウト時間算出手段は、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間ｔを求めるものであってもよい。
【００２６】
本発明によるネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを含むことを特徴とする。
【００２７】
また、ネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、クライアントから、通信ネットワークを介してパケットを受信するステップと、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録するステップと、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを含むものであることが望ましい。
【００２８】
本発明によるネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させることを特徴とする。
【００２９】
また、ネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、クライアントから、通信ネットワークを介してパケットを受信する処理と、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録する処理と、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを実行させるものであることが望ましい。
【００３０】
本発明のネットワーク処理装置は、新規ＳＹＮパケットのレートを測定するセッションレート測定部と、セッションのタイムアウト時間を演算するタイムアウト時間演算部と、タイムアウト時間登録部と、タイムアウト時間を記憶するセッション情報記憶部とを含む。セッション情報記憶部は、セッションメモリに相当し、各種プロトコル処理に必要なセッション情報を登録してもよい。
【００３１】
上記の構成により、ネットワーク処理装置は、連続的に変化するコネクションレートに応じて、動的にタイムアウト時間を演算し登録することによって、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるようにするという本発明の目的を達成することができる。
【００３２】
また、ネットワーク処理装置は、クライアントからのセッションレートをａとしセッショメモリ最大量をＤとして、セッションタイムアウト時間＝ｔを式ｔ＝ｆ（ａ）＝Ｄ／ａを用いて求め、タイムアウト値を設定する。そのようにすることによって、ネットワーク管理者が閾値を設定する必要がなくなり、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるようにするという本発明の目的を達成することができる。また、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるようにするという本発明の目的を達成することができる。
【発明の効果】
【００３３】
本発明によれば、過負荷時であっても動的にタイムアウト時間を求める。そして、求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除する。動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。
【００３４】
また、本発明によれば、指数平滑法を用いてセッションレートを求め、セッションレートに基づいてタイムアウト時間を動的に求める。そのため、タイムアウト時間を求める際の、メモリリソース及び演算数を低減することができる。
【００３５】
また、本発明によれば、トラヒックの閾値を用いなくても、セッションレートに対してｔ＝ｆ（ａ）を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。
【００３６】
また、本発明によれば、合成関数ｆ｛ｇ（ａ，ｄ）｝を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、関数ｇ（ｄ）を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないように制御することができる。
【００３７】
また、本発明によれば、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間ｔを求める。そのようにすることによって、タイムアウト時間ｔの特性にヒステリシスをもたせてることができる。従って、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。
【発明を実施するための最良の形態】
【００３８】
実施の形態１．
以下、本発明の第１の実施の形態を図面を参照して説明する。図１は、本発明によるネットワーク処理装置の構成の一例を示すブロック図である。図１に示すように、ネットワーク処理装置は、パケット受信手段１０と、プロトコル処理手段２０と、記憶手段３０と、エージング処理手段４０と、応答パケット送出手段５０とを含む。なお、本実施の形態において、ネットワーク処理装置は、具体的には、各種ＴＣＰ処理を実行したり、ファイアウォールやゲートウェイを実現するサーバや中継装置（例えば、ルータ）によって実現される。
【００３９】
パケット受信手段１０は、具体的には、プログラムに従って動作するサーバや中継装置のＣＰＵ及びネットワークインタフェース部によって実現される。パケット受信手段１０は、クライアントが送信したパケットを、インターネット等の通信ネットワークを介して受信する機能を備える。
【００４０】
プロトコル処理手段２０は、具体的には、プログラムに従って動作するサーバや中継装置のＣＰＵによって実現される。プロトコル処理手段２０は、図１に示すように、新規パケット判定部２１と、セッションレート測定部２２と、タイムアウト時間演算部２３と、タイムアウト時間登録部２４と、プロトコル応答処理部２５とを含む。
【００４１】
新規パケット判定部２１は、パケット受信手段１０が受信したパケットが、新規セッションのパケットか否かを判定する機能を備える。本実施の形態では、「セッション」とは、ネットワーク処理装置とクライアントとの間で行われる一連の通信の開始から終了までをいう。また、本実施の形態では、新たなセッションの開始時にネットワーク処理装置が最初にクライアントから受信するパケットを「新規パケット」ともいう。
【００４２】
本実施の形態では、新規パケット判定部２１は、受信したパケットのヘッダ情報に基づいて、受信パケットが新規パケットであるか否かを判定する。例えば、新規パケット判定部２１は、ヘッダ情報に基づいて、受信したパケットがＴＣＰ−ＳＹＮパケットであるか否かを判断する。そして、ＴＣＰ−ＳＹＮパケットであると判断すると、新規パケット判定部２１は、受信したパケットが新規パケットであると判定する。
【００４３】
セッションレート測定部２２は、パケット受信手段１０が新規セッションのパケットをどの程度のレートで受信しているかを判定する機能を備える。本実施の形態では、セッションレート測定部２２は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求める。
【００４４】
本実施の形態では、セッションレート測定部２２は、所定のサンプリング単位に従って受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求める。例えば、セッションレート測定部２２は、サンプリング単位として所定の時間単位に従って、セッションレートを求める。また、例えば、セッションレート測定部２２は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求める。
【００４５】
例えば、セッションレート測定部２２は、新規パケットが単位時間あたりどの程度通過したかをカウントする。そして、セッションレート測定部２２は、カウント値に基づいて、単位時間あたりにパケット受信手段１０が受信した新規セッションのパケット数ａをセッションレートとして求める。例えば、セッションレート測定部２２は、新規パケット判定部２１が１秒間に判定した新規セッションパケットの数をカウントし、１秒間あたりの新規セッションの数ａ（sessions/second ）をセッションレートとして求める。また、セッションレート測定部２２は、求めたセッションレートａの値をセッションレート記憶部３１に書き込む。
【００４６】
タイムアウト時間演算部２３は、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部２３は、所定のタイミングで、セッションレート記憶部３１からセッションレートａを読み出す。また、タイムアウト時間演算部２３は、セッションメモリ最大量記憶部３２から、セッションメモリが記憶できるセッションのエントリの最大量を示すセッションメモリ最大量Ｄを読み出す。そして、タイムアウト時間演算部２３は、所定の演算関数をｆ（ａ）とし、セッションレートａ及びセッションメモリ最大量Ｄに基づいて、式（１）を用いてタイムアウト時間ｔを求める。
【００４７】
ｔ＝ｆ（ａ）＝Ｄ／ａ                                                    式（１）
【００４８】
例えば、タイムアウト時間演算部２３は、読み出したセッションレートａ（sessions/second ）及びセッションメモリ最大量Ｄ（sessions）を式（１）に代入し、タイムアウト時間ｔ（second）を求める。
【００４９】
タイムアウト時間登録部２４は、タイムアウト時間ｔを、セッション情報記憶部（セッションメモリ）３３に新規セッションのエントリとして登録する機能を備える。本実施の形態では、タイムアウト時間登録部２４は、タイムアウト時間演算部２３がタイムアウト時間ｔを求めると、新規セッションのプロトコル処理に必要なセッション情報を、セッション情報記憶部３３に記憶させる。なお、本実施の形態において、セッション情報記憶部３３が記憶するセッション情報は、ネットワーク処理装置が現在扱っているセッションを示す。
【００５０】
「プロトコル処理」とは、例えば、ＴＣＰのＳＹＮパケットに対して、ＳＹＮ−ＡＣＫパケットを送信元に送信するか否かを判断する処理である。本実施の形態では、タイムアウト時間登録部２４は、例えば、タイムアウト時間ｔに加えて、送信元のＩＰアドレスやポート番号、ＴＣＰシーケンス番号、確認応答番号、ＴＣＰ内部ステートを含むセッション情報をセッション情報記憶部３３に記憶させる。また、本実施の形態において、「新規エントリの登録」は、タイムアウト時間登録部２４が、タイムアウト時間ｔを含むセッション情報を、セッションに対応付けてセッション情報記憶部３３に記憶させることによって実現される。
【００５１】
プロトコル応答処理部２５は、受信したＳＹＮパケットに対する各種ＴＣＰ処理を実行する機能を備える。本実施の形態では、プロトコル応答処理部２５は、プロトコル処理で応答すべきパケットを判定する。また、プロトコル応答処理部２５は、セッション情報記憶部３３から、タイムアウト時間ｔを含むプロトコル情報（セッション情報）を読み出す。また、プロトコル応答処理部２５は、読み出したセッション情報に基づいて、送信元クライアントへの応答を応答パケット送出手段５０に指示する。
【００５２】
また、プロトコル応答処理部２５は、更新されたプロトコル情報をセッション情報記憶部３３に書き込む機能を備える。本実施の形態では、プロトコル応答処理部２５は、各種ＴＣＰ処理による更新後のＴＣＰ内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部３３に書き込む。また、本実施の形態では、プロトコル応答処理部２５は、エージング処理手段４０がタイムアウト時間ｔを更新すると、セッション情報記憶部３３が記憶する情報を、更新後のタイムアウト時間を含むセッション情報に更新させる。
【００５３】
記憶手段３０は、具体的には、サーバや中継装置の記憶装置（例えば、磁気ディスク装置）によって実現される。記憶手段３０は、図１に示すように、セッションレート記憶部３１と、セッションメモリ最大量記憶部３２と、セッション情報記憶部３３とを含む。
【００５４】
セッションレート記憶部３１は、セッションレート測定部２２が測定した（求めた）セッションレートａを記憶する。セッションメモリ最大量記憶部３２は、セッション情報記憶部３３の最大登録可能量（セッションメモリ最大量Ｄ）を予め記憶する。
【００５５】
セッション情報記憶部３３は、タイムアウト時間登録部２４の指示に従って、タイムアウト時間演算部２３が求めたタイムアウト時間ｔを記憶する。また、セッション情報記憶部３３は、各セッションのタイムアウト時間を含むプロトコル処理に必要なセッション情報を記憶する。なお、本実施の形態において、セッションメモリは、セッション情報記憶部３３によって実現される。
【００５６】
エージング処理手段４０は、具体的には、プログラムに従って動作するサーバや中継装置のＣＰＵによって実現される。エージング処理手段４０は、セッション情報記憶部３３が記憶する各エントリのタイムアウト時間を更新し、新規パケットを受信してからの経過時間がタイムアウト時間を経過したか否かを判断する機能を備える。また、エージング処理手段４０は、タイムアウト時間を経過したと判断すると、タイムアウトになったセッションのエントリを削除する処理を行う機能を備える。なお、本実施の形態において、「エントリの削除」は、エージング処理手段４０が、タイムアウト時間を含むセッション情報をセッション情報記憶部３３から削除することによって実現される。
【００５７】
応答パケット送出手段５０は、具体的には、プログラムに従って動作するサーバや中継装置のＣＰＵ及びネットワークインタフェース部によって実現される。応答パケット送出手段５０は、プロトコル応答処理部２５からの応答指示に従って、応答パケットを送信元クライアントに送信する機能を備える。
【００５８】
なお、本実施の形態において、ネットワーク処理装置の記憶装置は、不正な大量アクセスに対処するための各種プログラムを記憶している。例えば、ネットワーク処理装置の記憶装置は、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させるネットワーク処理プログラムを記憶している。
【００５９】
次に、動作について説明する。図２は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の一例を示す流れ図である。パケット受信手段１０は、各クライアントから、通信ネットワークを介して各種パケットを随時受信している（ステップＳ１１）。パケット受信手段１０は、クライアントからパケットを受信すると、受信したパケットを新規パケット判定部２１に出力する。
【００６０】
新規パケット判定部２１は。パケット受信手段１０からのパケットが、新規セッションのパケットであるか否かを判定する（ステップＳ１２，Ｓ１３）。例えば、ＴＣＰを用いて通信を行う場合、新規パケット判定部２１は、パケットにＴＣＰ−ＳＹＮフラグが立っているか否かを調べる。この場合、例えば、新規パケット判定部２１は、パケットのヘッダ情報にＴＣＰ−ＳＹＮフラグが含まれるか否かを判断する。ＴＣＰ−ＳＹＮフラグが立っている（ヘッダ情報に含まれる）と判断すると、新規パケット判定部２１は、受信パケットが新規セッションパケットであると判断する。ＴＣＰ−ＳＹＮフラグが立っていない（ヘッダ情報に含まれない）と判断すると、新規パケット判定部２１は、受信パケットが新規セッションパケットでないと判断する。
【００６１】
新規パケットでないと判断すると、新規パケット判定部２１は、ステップＳ１４からステップＳ１６までの処理を行わずに、そのままプロトコル応答処理部２５に処理を渡す。
【００６２】
新規パケットであると判断すると、新規パケット判定部２１は、セッションレート測定部２２に処理を渡す。セッションレート処理部２２は、単位時間あたりに流れる新規セッションのパケットをカウントし、カウントした値をセッションレートａとして求める（ステップＳ１４）。また、セッションレート測定部２２は、求めたセッションレートａをセッションレート記憶部３１に登録する。すなわち、セッションレート測定部２２は、カウント値に基づいて、単位時間あたりにパケット受信手段１０が受信した新規セッションのパケット数ａをセッションレートとして求める。そして、セッションレート測定部２２は、求めたセッションレートａをセッションレート記憶部３１に記憶させる。
【００６３】
タイムアウト時間演算部２３は、セッションレート記憶部３１からセッションレートａを読み出す。また、タイムアウト時間演算部２３は、セッションメモリ最大量記憶部３２からセッションメモリ最大量Ｄを読み出す。そして、タイムアウト時間演算部２３は、セッションタイムアウト時間ｔの値を求める関数をｆ（ａ）とし、読み出したセッションレートａ及びセッションメモリ最大量Ｄに基づいて、式（１）を用いてタイムアウト時間ｔを求める（ステップＳ１５）。また、タイムアウト時間演算部２３は、求めたタイムアウト時間ｔを、タイムアウト時間登録部２４に渡す。
【００６４】
タイムアウト時間登録部２４は、セッション情報記憶部（セッションメモリ）３３に、新規セッションエントリとして、タイムアウト時間ｔを登録する（ステップＳ１６）。この場合、タイムアウト時間登録部２４は、タイムアウト時間演算部２３が求めたタイムアウト時間ｔを含むセッション情報を、セッション情報記憶部３３に記憶させることによって、新規セッションのエントリを登録する。そして、タイムアウト時間登録部２４は、プロトコル応答処理部２５に処理を移す。
【００６５】
以上のように、ステップＳ１１からステップＳ１６までの処理を実行することによって、ネットワーク処理装置は、新規セッションのパケットを受信すると、現在のセッションレートａに応じてタイムアウト時間を動的に求め、新規セッションのエントリを登録する。
【００６６】
次に、ネットワーク処理装置が、各セッションに対応するクライアントに対して、所定時間毎に応答パケットを送信する動作を説明する。プロトコル応答処理部２５は、所定の時間毎に、プロトコル動作の主要処理を行う。「プロトコル動作の主要処理」とは、例えば、受信したパケットのＴＣＰシーケンス番号及びＡＣＫ番号をチェックしたり、各種ウインドウ制御を行う処理である。
【００６７】
プロトコル応答処理部２５は、所定時間毎に、各セッションのタイムアウト時間を含む主要処理の情報（セッション情報）を、セッションメモリ（セッション情報記憶部３３）から読み出す。また、プロトコル応答処理部２５は、読み出したセッション情報に基づいて、送信元クライアントへの応答パケットの送信を応答パケット送出手段５０にエントリ毎に指示する。例えば、プロトコル応答処理部２５は、読み出したセッション情報に示される送信元アドレスに従って、応答パケットの送信を指示する。
【００６８】
また、ネットワーク処理装置は、プロトコル処理により更新した値を再びセッションメモリ３３に書き込む（ステップＳ１７）。例えば、プロトコル応答処理部２５は、各種ＴＣＰ処理による更新後のＴＣＰ内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部３３に書き込む。また、例えば、プロトコル応答処理部２５は、エージング処理手段４０が更新したタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部３３を更新させる。
【００６９】
応答パケット送出手段５０は、プロトコル応答処理部２５からの指示に従って、応答パケットを、通信ネットワークを介してクライアントに送信する（ステップＳ１８）。例えば、ＴＣＰを用いる場合、応答パケット送出手段５０は、ＳＹＮパケットに対してＳＹＮ−ＡＣＫパケットをクライアントに送信し、データパケットに対してＡＣＫパケットをクライアントに送信し、ＦＩＮ−ＡＣＫパケットに対してＦＩＮ−ＡＣＫ応答パケットをクライアントに送信する。
【００７０】
以上のように、ステップＳ１７及びステップＳ１８の処理を実行することによって、ネットワーク処理装置は、所定時間毎に、現在エントリ登録されている各セッションについて、それぞれ各送信元クライアントに応答パケットを送信する。
【００７１】
次に、エージング処理手段４０の動作を説明する。エージング処理手段４０は、セッションメモリのエージング処理を行っている。「エージング処理」とはセッションメモリのタイマ更新処理のことである。本実施の形態では、エージング処理手段４０は、例えば、ステップＳ１７のプロトコル処理を行うタイミングでエージング処理を実行し、各セッションのタイムアウト時間を更新する。そして、エージング処理手段４０は、更新後のタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部３３を更新させる。また、本実施の形態では、エージング処理手段４０は、所定のエージング処理を実行することによって、タイムアウト時間を経過してもクライアントからの応答がないエントリを削除する。
【００７２】
図３は、エージング処理手段が行うエージング処理の一例を示す流れ図である。エージング処理手段４０は、所定のタイミングで、あるエントリポインタのセッション情報記憶部（セッションメモリ）３３からタイムアウト値を読み出す（ステップＳ２１）。本実施の形態では、エージング処理手段４０は、所定時間Δｔが経過すると、セッション情報記憶部３３からタイムアウト時間ｔを読み出す。
【００７３】
また、エージング処理手段４０は、読み出したタイムアウト時間ｔから、所定の経過時間Δｔだけ減算する（ステップＳ２２）。また、エージング処理手段４０は、減算後のタイムアウト時間ｔが０より小さいか否かを判断する（ステップＳ２３）。本実施の形態では、エージング処理手段４０は、減算後のタイムアウト時間ｔが０より小さいと判断すると、そのタイムアウト時間に対応するエントリがタイムアウトになったと判断する。また、エージング処理手段４０は、減算後のタイムアウト時間ｔが０より小さくないと判断すると、そのタイムアウト時間に対応するエントリがまだタイムアウトになっていないと判断する。
【００７４】
減算後のタイムアウト時間ｔが０よりも小さいと判断すると、エージング処理手段４０は、セッション情報記憶部３３から、そのタイムアウト時間に対応するエントリを削除する（ステップＳ２４）。この場合、エージング処理手段４０は、タイムアウト時間ｔを含むセッション情報を、セッション情報記憶部３３から削除することによって、エントリを削除する。
【００７５】
また、エージング処理手段４０は、エントリポインタを１つ進め（ポインタを１加算し）、セッション情報記憶部３３に登録されている次のエントリにポインタを進める（ステップＳ２５）。そして、エージング処理手段４０は、ステップＳ２１の処理に戻り、ステップＳ２１からステップＳ２５までの処理を繰り返し実行する。
【００７６】
なお、ステップＳ２３で減算後のタイムアウト時間ｔが０よりも小さくないと判断すると、エージング処理手段４０は、エントリの削除を行わずに、エントリポインタを１つ進める。そして、エージング処理手段４０は、ステップＳ２１の処理に戻り、ステップＳ２１からステップＳ２５までの処理を繰り返し実行する。
【００７７】
以上に示すステップＳ２１からステップＳ２５までのエージング処理を実行することによって、エージング処理手段４０は、タイムアウト時間演算部２３が最初に求めたタイムアウト時間ｔが経過すると、タイムアウトになったエントリを削除する。
【００７８】
ここで、一定のセッションレートａで登録されるセッションは、タイムアウト時間ｔ（秒）が経過すると、エージング処理によって一定レートａで削除されることになる。そのため、タイムアウトｔ（秒）後のセッション情報記憶部３３へのエントリ数は、ａ×ｔで一定値になるはずである。この場合、できるだけ多くのセッションを受け付けられるようにするためには、エントリ数の値がセッションメモリの最大容量Ｄに等しくなるようにすればよい。従って、最も多くのセッションを受け付けられるようにするためには、式（２）を満たすように設計すればよい。
【００７９】
Ｄ＝ａ×ｔ                                                              式（２）
【００８０】
式（２）より、最適なタイムアウト時間ｔを算出するための関数をｆ（ａ）として、式（１）が求まる。
【００８１】
図４は、セッションメモリへの登録セッション数ｄと経過時間との関係の一例を示す説明図である。図４に示すように、セッションレートａ０で入力したセッション数ｄは、タイムアウト時間ｔまでは線形に増加する。しかし、経過時間ｔ０＝Ｄ／ａ０を越えると、最大セッション数（セッションメモリ最大量Ｄ）の値で一定となる。また、セッションレートａ１（ａ１＞ａ０）で入力したセッション数ｄは、経過時間ｔ１＝Ｄ／ａ１を越えると、同様に最大セッション数（セッションメモリ最大量Ｄ）で一定となる。
【００８２】
タイムアウト時間ｔをプロトコルの挙動に準拠させるため、タイムアウト時間ｔはできるだけプロトコルの規定値に近いほうがよい。また、ネットワーク処理装置は、新規セッションが正当なクライアントからのセッションであるか、不正な攻撃によるセッションであるか、送信元アドレスを偽って送信されたセッションであるかを区別（判定）できない。そのため、ネットワーク処理装置は、全てのセッションに対して応答しなければならない。また、セッションレートに対して動的にタイムアウト処理を変えられるようにして、セッションレートに応じた対処を行えるようにすることが望ましい。
【００８３】
本実施の形態では、ネットワーク処理装置は、セッションレートａ及びセッションエントリの最大容量（セッションメモリ最大量Ｄ）に基づいて、式（１）を用いて、連続的にタイムアウト時間ｔを変動させる。そのようにすることによって、全てのセッションに対して応答しつつ、ＤｏＳ攻撃のセッションレートに応じて動的にＤｏＳ攻撃に対する対処を行うことができる。
【００８４】
以上のように、本実施の形態によれば、ネットワーク処理装置は、過負荷時であっても、アクセスレート（セッションレート）に応じて、セッションメモリが溢れないように動的にセッションタイムアウト時間を設定する。そして、ネットワーク処理装置は、動的に設定したタイムアウト時間ｔに基づいてタイムアウトになったセッションのエントリを削除する。本実施の形態によれば、動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、本実施の形態によれば、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。
【００８５】
また、本実施の形態によれば、トラヒックの閾値を用いなくても、入力レートに対してｔ＝ｆ（ａ）を用いてタイムアウト値を求めて設定し、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。
【００８６】
実施の形態２．
次に、本発明の第２の実施の形態を図面を参照して説明する。図５は、ネットワーク処理装置の他の構成例を示すブロック図である。図５に示すように、本実施の形態では、記憶手段３０Ａが、図１で示したセッションレート記憶部３１、セッションメモリ最大容量記憶部３２及びセッション情報記憶部３３に加え、セッションメモリ登録エントリ数記憶部３４を含む点で、第１の実施の形態と異なる。また、本実施の形態では、プロトコル処理手段２０Ａのタイムアウト時間演算部２３Ａ及びタイムアウト時間登録部２４Ａの機能が、第１の実施の形態で示したそれらの機能と異なる。また、本実施の形態では、エージング処理手段４０Ａの機能が、第１の実施の形態で示したエージング処理手段４０の機能と異なる。
【００８７】
また、本実施の形態では、タイムアウト時間演算部２３Ａが、タイムアウト時間の演算式として、式（１）に代えて式（３）を用いてタイムアウト時間ｔを求める点で、第１の実施の形態と異なる。
【００８８】
ｔ＝ｆ・ｇ（ａ，ｄ）                                                    式（３）
【００８９】
なお、式（３）において、ｄは、セッションメモリに登録されているエントリ数を示す。
【００９０】
セッションメモリ登録エントリ数記憶部３４は、セッション情報記憶部（セッションメモリ）に現在登録されているエントリ数ｄを記憶する。
【００９１】
タイムアウト時間演算部２３Ａは、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部２３Ａは、所定のタイミングで、セッションレート記憶部３１からセッションレートａを読み出す。また、タイムアウト時間演算部２３Ａは、セッションメモリ最大量記憶部３２から、エントリ最大量（セッションメモリ最大量Ｄ）を読み出す。また、タイムアウト時間演算部２３Ａは、セッションメモリ登録エントリ数記憶部３４から、現在セッションメモリに登録されているエントリ数ｄを読み出す。そして、タイムアウト時間演算部２３Ａは、セッションレートａ、セッションメモリ最大量Ｄ及びエントリ数ｄに基づいて、所定の演算関数を用いてタイムアウト時間ｔを求める。また、タイムアウト時間演算部２３Ａは、求めたタイムアウト時間ｔをタイムアウト時間登録部２４Ａに登録させる。
【００９２】
タイムアウト時間登録部２４Ａは、第１の実施の形態で示したタイムアウト時間登録部２４と同様に、セッションメモリ記憶部３３に新規エントリを登録する機能を備える。また、タイムアウト時間登録部２４Ａは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部３４が記憶するエントリ数ｄの値を１増加させる機能を備える。
【００９３】
エージング処理手段４０Ａは、第１の実施の形態で示したエージング処理手段４０と同様に、タイムアウト時間が経過しタイムアウトになったエントリを削除する機能を備える。また、エージング処理手段４０Ａは、エントリを削除すると、セッションメモリ登録エントリ数記憶部３４が記憶するエントリ数ｄの値を１減少させる機能を備える。
【００９４】
なお、プロトコル処理手段２０の新規パケット判定部２１、セッションレート測定部２２、及びプロトコル応答処理部２５の機能は、第１の実施の形態で示したそれらの機能と同様である。また、記憶手段３０Ａのセッションレート記憶部３１、セッションメモリ最大量記憶部３２及びセッション情報記憶部３３が記憶する情報は、第１の実施の形態で示したそれらが記憶する情報と同様である。また、パケット受信手段１０及び応答パケット送出手段５０の機能は、第１の実施の形態で示したそれらの機能と同様である。
【００９５】
次に、動作について説明する。第１の実施の形態では、クライアントからの新規セッションレートが一定値である場合に、ネットワーク処理装置が、全てのセッションのハンドリングを行う場合を説明した。しかし、新規セッションレートが時間毎に大きく変動する場合には、セッションエントリがセッションメモリから溢れてしまう可能性がある。そこで、本実施の形態では、ネットワーク処理装置は、セッションメモリ登録エントリ数記憶部３４を用意し、セッション情報記憶部３３が現在記憶する登録エントリ数ｄをセッションメモリ登録エントリ数記憶部３４に記憶させる。
【００９６】
図６は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の他の例を示す流れ図である。ネットワーク処理装置は、第１の実施の形態で示したステップＳ１１からステップＳ１４までと同様の処理に従って、各クライアントから各種パケットを受信すると、新規セッションのパケットであるか否かを判定し、セッションレートａを測定する（ステップＳ３１〜ステップＳ３４）。
【００９７】
タイムアウト時間演算部２３Ａは、セッションレート記憶部３１からセッションレートａを読み出す。また、タイムアウト時間演算部２３Ａは、セッションメモリ最大量記憶部記憶部３２からセッションメモリ最大量Ｄを読み出す。また、タイムアウト時間演算部２３Ａは、セッションメモリ登録エントリ数記憶部３４から、セッションメモリ登録数（登録エントリ数）ｄをを読み出す。そして、タイムアウト時間演算部２３Ａは、第１の実施形態で用いた関数ｆ（ａ）に加えて、セッションメモリ登録数ｄについての関数ｇ（ｄ）を用いた演算関数を用いて、タイムアウト値を求める。本実施の形態では、タイムアウト時間演算部２３Ａは、読み出したセッションレートａ、セッションメモリ最大量Ｄ及び登録エントリ数ｄに基づいて、式（３）を用いてタイムアウト時間ｔを求める（ステップＳ３５）。
【００９８】
なお、式（３）において、ｆ・ｇ（ａ，ｄ）は、関数ｆ（ａ）と関数ｇ（ｄ）との合成関数ｆ｛ｇ（ａ，ｄ）｝を表す。また、式（３）において、ｇ（ｄ）は、任意の関数である。
【００９９】
タイムアウト時間登録部２４Ａは、第１の実施の形態で示したステップＳ１６と同様の処理に従って、セッション情報記憶部３３に、新規セッションエントリとして、タイムアウト時間ｔを登録する（ステップＳ３６）。この場合、タイムアウト時間登録部２４Ａは、タイムアウト時間演算部２３Ａが求めたタイムアウト時間ｔを含むセッション情報を、セッション情報記憶部３３に記憶させることによって、新規セッションのエントリを登録する。
【０１００】
また、タイムアウト時間登録部２４Ａは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部３４が記憶する登録エントリ数ｄを更新する（ステップＳ３７）。本実施の形態では、タイムアウト時間登録部２４Ａは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部３４が記憶する登録エントリ数ｄに１加算する。
【０１０１】
また、ネットワーク処理装置は、第１の実施の形態で示したステップＳ１７及びステップＳ１８と同様の処理に従ってプロトコル応答処理を実行し、各セッションに対応する送信元クライアントに対して、所定時間毎に応答パケットを送信する（ステップＳ３８，Ｓ３９）。
【０１０２】
次に、エージング処理手段４０Ａの動作を説明する。図７は、エージング処理手段が行うエージング処理の他の例を示す流れ図である。エージング処理手段４０Ａは、第１の実施の形態で示したステップＳ２１からステップＳ２４までと同様の処理に従って、タイムアウト時間ｔを更新し、エントリがタイムアウトになったと判断すると、そのエントリをセッション情報記憶部３３から削除する（ステップＳ４１〜ステップＳ４４）。
【０１０３】
また、エージング処理手段４０Ａは、エントリを削除すると、セッションメモリ登録エントリ数記憶部３４が記憶する登録エントリ数ｄを更新する（ステップＳ４５）。本実施の形態では、エージング処理手段４０Ａは、エントリを削除すると、セッションメモリ登録エントリ数記憶部３４が記憶する登録エントリ数ｄから１減算する。
【０１０４】
そして、エージング処理手段４０Ａは、第１の実施の形態で示したステップＳ２５と同様の処理に従って、エントリポインタを１つ進め（ポインタを１加算し）、セッション情報記憶部３３に登録されている次のエントリにポインタを進める（ステップＳ４６）。そして、エージング処理手段４０Ａは、ステップＳ４１の処理に戻り、ステップＳ４１からステップＳ４６までの処理を繰り返し実行する。
【０１０５】
図８は、セッションメモリへの登録セッション数ｄと経過時間との関係の他の例を示す説明図である。図８に示すように、クライアント側からのセッションレートが大きく変動する場合、エントリ数ｄは、線形とは異なる変動をする。また、クライアント側からの変動レートが法則性をもっていない場合、エントリ数ｄの変化を予測することができない。よって、クライアント側の変動送出レートによって、セッションメモリ登録数ｄがセッションメモリの最大数Ｄを越え、新規エントリがセッションメモリから溢れてしまう可能性がある。
【０１０６】
そこで、本実施の形態では、登録エントリ数ｄがセッションメモリ最大量Ｄの近傍付近になったときにタイムアウト値を減らすためのウエイト用の関数ｇ（ｄ）を用意する。例えば、ネットワーク処理装置は、ｇ（ｄ）として、ｄに対しての逆数を示す関数を用いる。すると、ネットワーク処理装置は、タイムアウト時間ｔを求めるための関数として、式（４）を用いて、タイムアウト時間を求めることができる。
【０１０７】
ｔ＝ｆ・ｇ（ａ，ｄ）＝Ｄ／（ａ×ｄ）                                    式（４）
【０１０８】
式（４）に示すように、タイムアウト時間ｔは、セッションレートａと登録セッション数（登録エントリ数ｄ）との逆数となる。
【０１０９】
図９は、式（４）を用いてタイムアウト時間を制御した場合の登録セッション数ｄと経過時間との関係を示す説明図である。図９に示すように、登録セッション数（登録エントリ数ｄ）が大きくなると、ネットワーク処理装置は、登録エントリ数ｄの増加分だけタイムアウト値を減らす。登録セッション数が大きくなる程、セッションのタイムアウト時間は小さくなるが、ネットワーク処理装置は、関数ｇ（ｄ）を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないようにすることができる。
【０１１０】
実施の形態３．
次に、本発明の第３の実施の形態を説明する。本実施の形態において、ネットワーク処理装置の構成は、第１の実施の形態と同様である。本実施の形態では、セッションレート測定部２２がレートを測定する方法が、第１の実施の形態で示した方法と異なる。本実施の形態では、セッションレート測定部２２は、単位時間あたりに通過する新規パケットの数をカウントしセッションレートを求めるのでなく、先に通過したパケットと現時刻に通過したパケットとの時間間隔から速度を求め、過去のパケットが通過する速度の関数としてコネクションレートＲ１を求める。
【０１１１】
例えば、先にパケットが通過した時間をｔ１とし、現時刻に新規パケットが通過した時間をｔ２とすると、セッションレート測定部２２は、コネクションレートＲ１として、時間差ｔ２−ｔ１と先に測定したレートＲ０との関数を求める。例えば、セッションレート測定部２２は、コネクションレートの関数をｈとして、式（５）を用いてコネクションレートＲ１を求める。
【０１１２】
Ｒ１＝ｈ（ｔ２−ｔ１，Ｒ０）                                            式（５）
【０１１３】
例えば、指数平滑法を用いた関数に基づいてコネクションレートＲ１を求めるとすると、セッションレート測定部２２は、重み付けの係数をα（０＜α＜１）として、式（６）を用いてコネクションレートＲ１を求める。
【０１１４】
Ｒ１＝α（ｔ２−ｔ１間のＳＹＮパケット通過速度）＋（１−α）Ｒ０
＝α／（ｔ２−ｔ１）＋（１−α）Ｒ０                                式（６）
【０１１５】
第１の実施の形態では、一定時間に通過する新規パケット数に基づいて、セッションレートａを算出する場合を説明した。しかし、通過する新規パケット数が時間毎にばらついている場合、レート演算のためのサンプリングパケット数が不均一になる。そのため、サンプリング時間毎の演算レートの信頼度が低くなる可能性がある。
【０１１６】
本実施の形態では、１つ前のパケット受信時のレートと次にパケットを受信するまでの時間とに基づいて、パケット受信毎にレートを演算する。そのため、パケット間隔がばらついている場合であっても、より信頼性の高いレートを求めることができ、新規パケットのタイムアウト時間を適切に求めることができる。また、新規パケットをカウントすることによりセッションレートを求める場合と比べて、メモリリソース及び演算数を低減することができる。
【０１１７】
実施の形態４．
次に、本発明の第４の実施の形態を図面を参照して説明する。本実施の形態において、ネットワーク処理装置の構成は、第１の実施の形態と同様である。本実施の形態では、タイムアウト時間演算部２３が、タイムアウト時間の算出を行う際に、セッションレートの増加時と減少時とで異なる演算関数を用いる点で、第１の実施の形態と異なる。
【０１１８】
図１０は、セッションレートａと、タイムアウト時間演算部２３が求めるタイムアウト時間との関係の例を示す説明図である。図１０に示すように、タイムアウト時間演算部２３は、セッションレートａの増加時には、演算関数ｔ＝Ｄ／ａを用いてタイムアウト時間を求め、求めたタイムアウト時間を登録する。また、図１０に示すように、タイムアウト時間演算部２３は、セッションレートの減少時には、演算関数ｔ＝ｉ（ａ）を用いてタイムアウト時間を求め、タイムアウト時間の特性にヒステリシスをもたせてもよい。そのようにすることによって、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。
【実施例１】
【０１１９】
次に、本発明の第１の実施例を図面を参照して説明する。なお、本実施例は、第１の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図１１は、ネットワーク処理装置の更に他の構成例を示すブロック図である。本実施例では、ネットワーク処理装置は、プロトコルとしてＴＣＰを実装するネットワーク装置であるとする。
【０１２０】
本実施例では、図１１に示すように、ネットワーク装置は、パケット受信手段としてＴＣＰパケット受信部１０Ｂと、プロトコル処理手段としてプロトコル処理部２０Ｂと、記憶手段として磁気ディスク記憶装置３０Ｂと、エージング処理手段としてエージング処理部４０Ｂと、応答パケット送出手段としてＴＣＰ応答パケット送出部５０Ｂとを含む。また、プロトコル処理部２０Ｂは、ＴＣＰ処理を行うためのプログラムに従って動作するＣＰＵ等の装置内部回路によって実現される。また、エージング処理部４０Ｂは、プログラムに従って動作するＣＰＵ等の装置内部回路によって実現される。
【０１２１】
また、プロトコル処理部２０Ｂは、入力（新規）パケット判定部２１Ｂ、セッションレート測定部２２Ｂ、タイムアウト時間演算部２３Ｂ、タイムアウト時間登録部２４Ｂ及びプロトコル応答処理部２５Ｂを含む。
【０１２２】
また、磁気ディスク装置３０Ｂは、セッションレート記憶部３１Ｂ、セッションメモリ最大量記憶部３２Ｂ及びセッション情報記憶部３３Ｂを含む。セッションレート記憶部３１Ｂは、セッションレートを記憶する。また、セッションメモリ最大量記憶部３２Ｂは、セッションメモリ最大量を記憶する。また、セッション情報記憶部３３は、タイムアウト時間を含むセッション情報を記憶する。
【０１２３】
次に、ネットワーク装置の動作について説明する。クライアントからＴＣＰを用いたＳＹＮパケットによるアクセスがあると、ネットワーク装置のパケット受信部１０Ｂは、クライアントから通信ネットワークを介してＴＣＰパケットを受信する。また、ネットワーク装置の新規パケット判定部２１Ｂは、受信パケットが新規パケットであるか否かを判定する。また、セッションレート判定部２２Ｂは、受信パケットをカウントし、セッションレートａを求める。また、単位時間が経過すると、セッションレート判定部２２Ｂは、測定したセッションレートａをセッションレート記憶部３１Ｂに書き込む。
【０１２４】
タイムアウト時間演算部２３Ｂは、セッションレート記憶部３１Ｂからセッションレートａを読み出し、セッションメモリ最大量記憶部３２Ｂからセッションメモリ最大量Ｄを読み出す。そして、タイムアウト時間演算部２３Ｂは、読み出したセッションレートａ及びセッションメモリ最大量Ｄに基づいて、式ｔ＝Ｄ／ａを用いて、タイムアウト時間ｔを求める。
【０１２５】
タイムアウト時間登録部２４Ｂは、タイムアウト時間演算部２３Ｂが求めたタイムアウト時間を含むセッション情報を、磁気ディスク装置３０Ｂのセッション情報記憶部３３Ｂに登録する。また、エージング処理部４０Ｂは、タイムアウト時間ｔが経過すると、セッションメモリ（セッション情報記憶部３３Ｂ）から登録したエントリを削除する。
【０１２６】
プロトコル応答処理部２５Ｂは、入力（受信）したＳＹＮパケットに対して、ＴＣＰに必要な処理であるプロトコル処理を実行する。例えば、プロトコル応答処理部２５Ｂは、セッション情報に含まれるＩＰアドレスやポート番号、ＴＣＰセッションを特定する情報、各種内部パラメータを更新する。また、プロトコル応答処理部２５Ｂは、タイムアウト値をセッション情報記憶部３３Ｂから読み出し、更新した各種内部パラメータとともにセッションメモリ（セッション情報記憶部３３Ｂ）に再び書き込む。
【０１２７】
また、プロトコル応答処理部２５Ｂは、ＳＹＮパケットに対するＳＹＮ−ＡＣＫパケットの送信指示を、応答パケット送出部５０Ｂに出力する。応答パケット送出部５０Ｂは、プロトコル応答処理部２５Ｂの指示に従って、ＳＹＮ−ＡＣＫパケットをクライアントに対して送信する。
【実施例２】
【０１２８】
次に、本発明の第２の実施例を図面を参照して説明する。なお、本実施例は、第２の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図１２は、ネットワーク処理装置の更に他の構成例を示すブロック図である。
【０１２９】
本実施例では、磁気ディスク装置３０Ｃが、セッションレート記憶部３１Ｂ、セッションメモリ最大量記憶部３２Ｂ及びセッション情報記憶部３３Ｂに加えて、セッションメモリ登録エントリ数記憶部３４Ｂを含む点で、第１の実施例と異なる。また、本実施例では、プロトコル処理部２０Ｃのタイムアウト時間演算部２３Ｃ及びタイムアウト時間登録部２４Ｃの機能が、第１の実施例で示したプロトコル処理部２０Ｂのそれらの機能と異なる。また、本実施例では、エージング処理部４０Ｃの機能が、第１の実施例で示したエージング処理部４０Ｂの機能と異なる。
【０１３０】
なお、プロトコル処理部２０Ｃの新規パケット判定部２１Ｂ、セッションレート測定部２２Ｂ及びプロトコル応答処理部２５Ｂの機能は、第１の実施例で示したそれらの機能と同様である。また、ＴＣＰパケット受信部１０Ｂ及びＴＣＰ応答パケット送出部５０Ｂの機能は、第１の実施例で示したそれらの機能と同様である。
【０１３１】
セッションメモリ登録エントリ数記憶部３４Ｂは、現在セッションメモリ（セッション情報記憶部３３Ｂ）に登録されているＴＣＰセッション数を記憶している。セッションレートａに基づいてタイムアウト時間ｔを求める方法は、一定のセッションレートでクライアントからアクセスがある場合に有効であるが、セッションレートが大きく変動する場合には、エントリがセッションメモリの最大登録数Ｄを超えてしまう可能性がある。 
【０１３２】
そこで、本実施例では、セッションエントリの登録数ｄがセッションエントリの最大数Ｄに近づくに従って、よりタイムアウト値が小さくなるような重み付け関数ｇ（ｄ）を用意し、タイムアウト時間演算部２３Ｃは、式（３）を用いてタイムアウト時間を求める。そのようにすることにより、ネットワーク処理装置は、セッションエントリ数ｄがセッションエントリの最大数Ｄを超えないように、登録エントリを調整することができる。
【実施例３】
【０１３３】
次に、本発明の第３の実施例を説明する。第１の実施例では、単位時間あたりに通過する新規パケットの個数を計算しセッションレートａを求めたが、本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって速度（コネクションレート）Ｒ１を求める。
【０１３４】
例えば、パケットｎ−１が到達した時点でのセッションレートをＲ０とし、到達時間をｔ０とする。また、パケットｎが到達した時の時間をｔ１とし、所定の重み付け係数をα＝０．１２５とする。そして、セッションレート測定部２２Ｂは、セッションレートＲ１を式（７）を用いて求める。
【０１３５】
Ｒ１＝０．１２５／（ｔ２−ｔ１）＋０．８７５Ｒ０                        式（７）
【０１３６】
本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって、先のパケットが到達した時のレートと、現時刻にパケットが到達するまでの時間との２つのパラメータを用いて、速度を求めることができる。
【実施例４】
【０１３７】
次に、本発明の第４の実施例を説明する。本実施例では、ネットワーク処理装置は、タイムアウト値の演算を行う場合に、タイムアウト時間の特性や関数にヒステリシス特性をもたせる。本実施例では、ネットワーク処理装置は、セッションレートの増加時には、式ｔ＝Ｄ／ａを用いてタイムアウト時間ｔを計算する。また、ネットワーク処理装置は、セッションレートの減少時には、関数ｔ＝ｉ（ａ）を用いてタイムアウト時間ｔを計算する。
【産業上の利用可能性】
【０１３８】
本発明は、サーバ装置等のＴＣＰ処理を行うブロックやゲートウェイ、アプリケーションファイアウォール等のネットワークの中継装置内に実装し、ＤｏＳ攻撃を防御する用途に適用できる。また、ＴＣＰに限らず、タイムアウト処理を行う全てのプロトコルを用いた装置において、高レートでアクセスがなされた場合に、登録エントリが溢れないように調整する用途に適用することができる。
【図面の簡単な説明】
【０１３９】
【図１】本発明によるネットワーク処理装置の構成の一例を示すブロック図である。
【図２】ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の一例を示す流れ図である。
【図３】エージング処理手段が行うエージング処理の一例を示す流れ図である。
【図４】セッションメモリへの登録セッション数ｄと経過時間との関係の一例を示す説明図である。
【図５】ネットワーク処理装置の他の構成例を示すブロック図である。
【図６】ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の他の例を示す流れ図である。
【図７】エージング処理手段が行うエージング処理の他の例を示す流れ図である。
【図８】セッションメモリへの登録セッション数ｄと経過時間との関係の他の例を示す説明図である。
【図９】式（４）を用いてタイムアウト時間を制御した場合の登録セッション数ｄと経過時間との関係を示す説明図である。
【図１０】セッションレートａと、タイムアウト時間演算部２３が求めるタイムアウト時間との関係の例を示す説明図である。
【図１１】ネットワーク処理装置の更に他の構成例を示すブロック図である。
【図１２】ネットワーク処理装置の更に他の構成例を示すブロック図である。
【符号の説明】
【０１４０】
１０  パケット受信手段
２０  プロトコル処理手段
２１  新規パケット判定部
２２  セッションレート測定部
２３  タイムアウト時間演算部
２４  タイムアウト時間登録部
２５  プロトコル応答処理部
３０  記憶手段
３１  セッションレート記憶部
３２  セッションメモリ最大量記憶部
３３  セッション情報記憶部
４０  エージング処理手段
５０  応答パケット送出手段
【図１】
2006279531.tif 000003
【図２】
2006279531.tif 000004
【図３】
2006279531.tif 000005
【図４】
2006279531.tif 000006
【図５】
2006279531.tif 000007
【図６】
2006279531.tif 000008
【図７】
2006279531.tif 000009
【図８】
2006279531.tif 000010
【図９】
2006279531.tif 000011
【図１０】
2006279531.tif 000012
【図１１】
2006279531.tif 000013
【図１２】
2006279531.tif 000014