JP2006279531A - Network processor, network processing method, and network processing program - Google Patents

Network processor, network processing method, and network processing program Download PDF

Info

Publication number
JP2006279531A
JP2006279531A JP2005095543A JP2005095543A JP2006279531A JP 2006279531 A JP2006279531 A JP 2006279531A JP 2005095543 A JP2005095543 A JP 2005095543A JP 2005095543 A JP2005095543 A JP 2005095543A JP 2006279531 A JP2006279531 A JP 2006279531A
Authority
JP
Japan
Prior art keywords
session
timeout time
rate
time
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005095543A
Other languages
Japanese (ja)
Other versions
JP4475156B2 (en
Inventor
Masato Yasuda
真人 安田
Kenshin Yamada
憲晋 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005095543A priority Critical patent/JP4475156B2/en
Publication of JP2006279531A publication Critical patent/JP2006279531A/en
Application granted granted Critical
Publication of JP4475156B2 publication Critical patent/JP4475156B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform protocol processing without making a session memory overflow at the time of high-load access. <P>SOLUTION: A time-out time of a session is dynamically varied according to a session rate to enable the protocol processing without making the session memory overflow at the time of high-load access. A session rate measurement part 22 receives packets from a packet receiving means 10, and measures and stores a session rate (a) in a session rate storage part 31. A time-out time arithmetic part 23 reads the session rate (a) and session memory maximum capacity D out of the session rate storage part 31 and a session memory maximum capacity storage part 32, respectively, calculates a time-out time of the session from t=D/a, and registers the time-out time (t) in a session information storage part 33 through a time-out time registration part 24. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関し、特に新規セッションのタイムアウト時間を動的に登録し更新するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関する。   The present invention relates to a network processing device, a network processing method, and a network processing program for processing a high load state caused by mass access, and more particularly to a network processing device, a network processing method, and a network for dynamically registering and updating a timeout time of a new session. It relates to a processing program.

近年のインターネット技術の発展に伴い、インターネット上のサーバやルータ等のネットワーク装置を、より高負荷及び大量アクセスに耐えられるように設計することが求められている。また、大量アクセスを続けることによって、インターネット上のサーバを攻撃する不正が増えつつある。このように大量アクセスを続ける不正行為は、一般にDoS(Denial of Service )と呼ばれる。   With the recent development of Internet technology, it is required to design network devices such as servers and routers on the Internet so that they can withstand higher loads and mass access. In addition, fraud attacking servers on the Internet is increasing due to continued mass access. Such fraud that continues mass access is generally called DoS (Denial of Service).

DoS攻撃の一形態としてTCP−SYN−Flood攻撃が存在する。「TCP−SYN−Flood」とは、ヘッダフィールドにSYNフラグを立てたTCP(Transmission Control Protocol )パケットを多量に送りつける攻撃のことである。一般に、サーバ(ネットワーク装置)は、TCPの送信元アドレスや、送信先のアドレス、TCPステート等のTCPセッションの管理情報(セッション情報)を記憶するセッションメモリを有する。また、SYNパケットを受けると、サーバは、SYNパケットに対応するセッションを、セッションメモリに新規セッションとして登録する。また、サーバは、送信元IPアドレスに示されるホストに対して、SYN−ACKパケットを返す。この場合、送信元ホストからの応答が無ければ、サーバは、タイムアウト(Connection Establishment Timeout)になるまでの間、SYN−ACKパケットを送信元ホストに再送し続ける。   A TCP-SYN-Flood attack exists as a form of DoS attack. “TCP-SYN-Flood” is an attack in which a large amount of TCP (Transmission Control Protocol) packets with the SYN flag set in the header field are sent. Generally, a server (network device) has a session memory that stores TCP session management information (session information) such as a TCP source address, a destination address, and a TCP state. When receiving the SYN packet, the server registers the session corresponding to the SYN packet as a new session in the session memory. In addition, the server returns a SYN-ACK packet to the host indicated by the source IP address. In this case, if there is no response from the transmission source host, the server continues to retransmit the SYN-ACK packet to the transmission source host until a timeout (Connection Establishment Timeout) occurs.

TCP−SYN−Flood攻撃が行われている場合、攻撃対象のサーバは、攻撃元のホストから、送信元アドレスを偽ったSYNパケットを受信することが多い。SourceIPアドレスを偽ったSYNパケットを受信した場合、攻撃対象のサーバは、SYN−ACKパケットを、偽られたIPアドレスに対して送るので、送信元からの応答を得られないことになる。このような不正なSYNパケットを受信し続けると、攻撃対象のサーバは、セッションメモリを使い果たしてしまい、正当なホストからのアクセスに対して応答を行うことができなくなってしまう。   When a TCP-SYN-Flood attack is performed, the attack target server often receives a SYN packet with a false source address from the attack source host. When a SYN packet in which the SourceIP address is false is received, the attack target server sends a SYN-ACK packet to the false IP address, so that a response from the transmission source cannot be obtained. If such an illegal SYN packet is continuously received, the attack target server runs out of session memory and cannot respond to an access from a legitimate host.

また、DoS攻撃の他の形態として、複数のホストが攻撃対象のサーバに対して同時に大量アクセスするDDoS(Distributed DoS )と呼ばれる攻撃も存在する。この場合、大量アクセスしてくるホストは、通常不正アクセスを行う攻撃者自身が所有するものとは限らず、攻撃者に利用された他のサーバから攻撃されている場合が多い。   Further, as another form of DoS attack, there is an attack called DDoS (Distributed DoS) in which a plurality of hosts simultaneously access a large number of attack target servers. In this case, a host that accesses a large amount is not necessarily owned by an attacker who normally performs unauthorized access, and is often attacked by another server used by the attacker.

これらDoS攻撃を受けている場合、攻撃を受けているサーバは、一般に、どのホストから攻撃を受けているかを知ることができない。また、一般に、これらの攻撃はプログラムによる自動化処理によって実行されるので、攻撃対象のサーバは、長時間に渡って攻撃を受けるのが通常である。   When receiving these DoS attacks, the server under attack generally cannot know which host is being attacked. In general, since these attacks are executed by an automatic process by a program, the attack target server is usually attacked for a long time.

DoS攻撃に対処する方法として、例えば、特許文献1には、予め保護対象のサーバが受け付けられるTCP−SYNの最大トラヒックの閾値を設定して、モニタを行うネットワーク装置が記載されている。特許文献1に記載されたネットワーク装置は、トラヒックが閾値を越えた場合、越えた分のフィルタリングを行い、同一ISP内の全加入者収容エッジ及び全ボーダルータにサーバのアドレス及び閾値を通知する。そのようにすることによって、ネットワーク装置は、ネットワーク内のDDoS攻撃対策処理を最小限に抑えている。   As a method for coping with a DoS attack, for example, Patent Literature 1 describes a network device that performs monitoring by setting a threshold value of the maximum traffic of TCP-SYN that is accepted in advance by a server to be protected. When the traffic exceeds the threshold, the network device described in Patent Document 1 performs filtering for the excess and notifies the address and threshold of the server to all subscriber accommodation edges and all border routers in the same ISP. By doing so, the network device minimizes DDoS attack countermeasure processing in the network.

また、非特許文献1には、TCP−SYN−Floodに対処するためのネットワークプログラムの実装方法が記載されている。非特許文献1に記載された方法では、TCP−SYN−Flood対策用の内部フラグが1になっている時、TCPのHalf−Openコネクション数が予め内部パラメータで設定された閾値を越えているか否かを判断する。そして、閾値を越えると、SYNに対するSYN−ACKパケットの再送回数を減らす。   Non-Patent Document 1 describes a network program mounting method for dealing with TCP-SYN-Flood. In the method described in Non-Patent Document 1, when the TCP-SYN-Flood countermeasure internal flag is 1, whether the number of TCP Half-Open connections exceeds the threshold set in advance by the internal parameter. Determine whether. When the threshold value is exceeded, the number of times the SYN-ACK packet is retransmitted for SYN is reduced.

特開2004−166029号公報(段落0026−0030、図1−2)JP 2004-166029 A (paragraph 0026-0030, FIG. 1-2) ”Security Considerations for Network Attacks ”、[online]、マイクロソフト株式会社、[2005年1月7日検索]、インターネット< URL : http://www.microsoft.com/technet/archive/security/prodtech/windows/iis/dosrv.mspx>"Security Considerations for Network Attacks", [online], Microsoft Corporation, [Search January 7, 2005], Internet <URL: http://www.microsoft.com/technet/archive/security/prodtech/windows/ iis / dosrv.mspx>

特許文献1に記載されたネットワーク装置や非特許文献1に記載された方法を用いる場合、ネットワーク管理者が予め所定の閾値を設定しなければならない。しかし、最適な閾値は、ネットワークの状況(時間、曜日又は季節による変動や、イベント、網構成の変化、ウイルスの蔓延)によって変動する可能性がある。そのため、予め最適な閾値を判断し設定することは、ネットワーク管理者にとって負担が大きい。   When using the network device described in Patent Document 1 or the method described in Non-Patent Document 1, a network administrator must set a predetermined threshold value in advance. However, the optimum threshold value may vary depending on the network conditions (variation due to time, day of the week or season, event, change in network configuration, spread of virus). Therefore, it is burdensome for the network administrator to determine and set the optimal threshold value in advance.

また、非特許文献1に記載された方法では、ネットワーク装置は、閾値より僅かに小さい値の場合には全てのセッションを受け付けるが、一方で僅かにセッション数が増えて閾値を越えると、セッション数の変化が微少であるにも関わらず、全く異なる応答をすることになる。すなわち、ネットワーク装置は、閾値を越えない程度の「軽い」攻撃に対しては一切DoS攻撃の対策を行わないが、閾値を越えると、どれだけ「重い」攻撃を受けている場合であっても、DoS攻撃の対策を同様に施すことになる。そのため、閾値を用いた処理を行うことによって、閾値近辺におけるネットワーク装置の挙動(処理)が不連続になってしまう。   In the method described in Non-Patent Document 1, the network device accepts all sessions when the value is slightly smaller than the threshold value. On the other hand, when the number of sessions slightly increases and exceeds the threshold value, the number of sessions Even though the change in the signal is small, the response is completely different. That is, the network device does not take any DoS attack countermeasures for “light” attacks that do not exceed the threshold, but if the threshold is exceeded, no matter how “heavy” the attack is. Thus, countermeasures for DoS attacks are similarly taken. Therefore, by performing processing using the threshold value, the behavior (processing) of the network device near the threshold value becomes discontinuous.

また、特許文献1に記載されたネットワーク装置は、TCP Half−Openの閾値を越えた分の新規セッションについて、全てフィルタリングを行う。そのため、DoS攻撃のトラヒックが大きくなる程、正当なクライアント(ホスト)がアクセス拒否される頻度も大きくなる。従って、サーバが不正なホストから攻撃を受けている間、正当なクライアントであってもサーバにアクセスを拒否されてしまう。   In addition, the network device described in Patent Literature 1 performs filtering for all new sessions that exceed the TCP Half-Open threshold. Therefore, as the DoS attack traffic increases, the frequency at which legitimate clients (hosts) are denied access increases. Therefore, while the server is under attack from an unauthorized host, even a legitimate client is denied access to the server.

DoS攻撃を受けている最中であっても、セッションメモリの最大エントリ数が充分に大きければ、全てのセッションのハンドリングを行うことができる。例えば、100(sessions/second )のレートでTCP−SYN−Flood攻撃を受けた場合、ConnectionEstablishment Timeout (タイムアウト時間)が75秒であるとすると、セッションメモリの最大エントリ数が100(sessions/second )×75(second)=7500エントリ以上あれば、全てのコネクションをハンドリングすることができる。しかし、セッションメモリのエントリの最大数は有限であるので、TCP−SYN−Flood攻撃のレートが100(sessions/second )より高くなると、セッションメモリが溢れ(オーバフローし)応答できないコネクションが生じてしまう。例えセッションメモリの最大エントリ数が充分に大きかったとしても、無限に大きくすることはできず、TCP−SYN−Flood攻撃のレートが大きい場合には、応答できないコネクションが生じてしまう。   Even during a DoS attack, if the maximum number of entries in the session memory is sufficiently large, all sessions can be handled. For example, if a TCP-SYN-Flood attack is received at a rate of 100 (sessions / second) and the ConnectionEstablishment Timeout (timeout time) is 75 seconds, the maximum number of entries in the session memory is 100 (sessions / second) × If 75 (second) = 7500 entries or more, all connections can be handled. However, since the maximum number of entries in the session memory is finite, if the rate of the TCP-SYN-Flood attack is higher than 100 (sessions / second), the session memory overflows (overflows), and a connection that cannot respond is generated. Even if the maximum number of entries in the session memory is sufficiently large, it cannot be increased indefinitely. If the rate of the TCP-SYN-Flood attack is large, a connection that cannot be responded occurs.

そこで、本発明は、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。   Therefore, the present invention provides a network processing device, a network processing method, and a network processing program capable of responding to access from a legitimate client even during overload access from an unauthorized host. Objective. It is another object of the present invention to provide a network processing device, a network processing method, and a network processing program that do not require a network administrator to perform threshold setting work and can reduce the burden on the network administrator. It is another object of the present invention to provide a network processing device, a network processing method, and a network processing program that can cope with an unauthorized attack access rate without providing a threshold.

本発明によるネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段(例えば、タイムアウト時間演算部23によって実現される)と、タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段(例えば、エージング処理手段40によって実現される)と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データ(例えば、応答パケット)を送信する応答手段(例えば、応答パケット送出手段50によって実現される)とを備えたことを特徴とする。   The network processing device according to the present invention is a network processing device for processing a high load state caused by mass access, and when a new session to be handled by the network processing device is detected, a timeout corresponding to the new session is determined according to a predetermined condition. Timeout deletion means for dynamically obtaining the time (for example, realized by the timeout time calculator 23) and entry deletion for deleting the entry of the session that has timed out based on the timeout time obtained by the timeout time calculation means Means (for example, realized by the aging processing means 40) and response means (for example, a response packet) for transmitting response data (for example, a response packet) to the client corresponding to the entry of the currently registered session. response Characterized by comprising a to) and implemented by packet sending unit 50.

また、ネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段(例えば、パケット受信手段10によって実現される)と、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段(例えば、セッション情報記憶部33によって実現される)と、パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、セッション情報記憶手段に記憶させることによって、新たなセッションのエントリを登録するエントリ登録手段(例えば、タイムアウト時間登録部24によって実現される)と、セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段(例えば、エージング処理手段40によって実現される)と、タイムアウト判断手段がタイムアウト時間が経過したと判断すると、セッション情報記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段(例えば、応答パケット送出手段50によって実現される)とを備えたものであることが望ましい。   The network processing apparatus is a network processing apparatus that processes a high load state caused by mass access, and is realized by a packet receiving unit (for example, the packet receiving unit 10) that receives a packet from a client via a communication network. ), A session information storage means (for example, realized by the session information storage unit 33) for storing session information indicating a session currently handled by the network processing apparatus, and a packet reception means receiving a packet of a new session A time-out time calculating means for dynamically obtaining a time-out time corresponding to a new session according to a predetermined condition; and session information including the time-out time obtained by the time-out time calculating means is stored in the session information storage means. Based on the time-out time indicated in the session information stored in the session information storage means by the entry registration means (for example, realized by the time-out time registration unit 24) for registering a new session entry, Timeout determination means (for example, realized by the aging processing means 40) for determining whether or not the timeout time has elapsed for the currently handled session, and session information when the timeout determination means determines that the timeout time has elapsed. By deleting the session information corresponding to the session for which the timeout period has elapsed from the storage means, the entry deletion means for deleting the session entry and the client corresponding to the currently registered session entry are communicated. Reply packet transmitting means for transmitting a response packet through the network (e.g., as implemented by the response packet transmitting unit 50) is desirably that a.

また、ネットワーク処理装置は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求めるセッションレート算出手段(例えば、セッションレート測定部22によって実現される)を備え、タイムアウト時間算出手段は、セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求めるものであってもよい。   Further, the network processing apparatus includes a session rate calculation unit (for example, realized by the session rate measurement unit 22) that obtains a session rate indicating a ratio of new sessions that occur per predetermined unit, and the timeout time calculation unit includes: A timeout time corresponding to a new session may be dynamically obtained based on the session rate obtained by the session rate calculation means.

また、ネットワーク処理装置において、セッションレート算出手段は、所定のサンプリング単位に従って、受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求めるものであってもよい。   In the network processing apparatus, the session rate calculation means may determine the session rate by calculating an average of the number of received packets of a new session according to a predetermined sampling unit.

また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として所定の時間単位に従って、セッションレートを求めるものであってもよい。   Further, in the network processing device, the session rate calculation means may obtain the session rate according to a predetermined time unit as a sampling unit.

また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求めるものであってもよい。   In the network processing apparatus, the session rate calculation means may obtain the session rate according to a unit of the number of packets received in the past as a sampling unit.

また、ネットワーク処理装置において、セッションレート算出手段は、指数平滑法を用いてセッションレートを求めるものであってもよい。   In the network processing apparatus, the session rate calculation means may obtain a session rate using an exponential smoothing method.

また、ネットワーク処理装置は、セッションレート算出手段が求めたセッションレートを記憶するセッションレート記憶手段(例えば、セッションレート記憶部31によって実現される)を備え、タイムアウト時間算出手段は、セッションレート記憶手段からセッションレートaを読み出し、所定の関数t=f(a)を用いて、タイムアウト時間tを求めるものであってもよい。   Further, the network processing apparatus includes a session rate storage unit (for example, realized by the session rate storage unit 31) that stores the session rate obtained by the session rate calculation unit, and the timeout time calculation unit includes: The session rate a may be read and the timeout time t may be obtained using a predetermined function t = f (a).

また、ネットワーク処理装置は、セッション情報記憶手段に登録できるセッションのエントリの最大量を示す最大登録可能量D(例えば、セッションメモリ最大量)を記憶する最大量記憶手段(例えば、セッションメモリ最大量記憶部32によって実現される)を備え、タイムアウト時間算出手段は、最大量記憶手段から、最大登録可能量Dを読み出し、所定の関数f(a)としてt=f(a)=D/aを用いて、タイムアウト時間tを求めるものであってもよい。   Further, the network processing apparatus stores maximum amount storage means (for example, session memory maximum amount storage) for storing a maximum registerable amount D (for example, maximum session memory amount) indicating the maximum amount of session entries that can be registered in the session information storage means. The time-out time calculation means reads the maximum registerable amount D from the maximum amount storage means and uses t = f (a) = D / a as the predetermined function f (a). Thus, the timeout time t may be obtained.

また、ネットワーク処理装置は、セッション情報記憶手段に登録されているエントリ数dを記憶するセッションエントリ数記憶手段(例えば、セッションメモリ登録エントリ数記憶部34によって実現される)を備え、タイムアウト時間算出手段は、セッションレート記憶手段から、セッションレートaを読み出し、セッションエントリ数記憶手段から、エントリ数dを読み出し、所定の関数f(a)と関数g(d)とを合成した合成関数f{g(a,d)}を用いて、タイムアウト時間tを求めるものであってもよい。   Further, the network processing apparatus includes a session entry number storage unit (for example, realized by the session memory registration entry number storage unit 34) for storing the entry number d registered in the session information storage unit, and a timeout time calculation unit Reads the session rate a from the session rate storage means, reads the entry number d from the session entry number storage means, and synthesizes a predetermined function f (a) and function g (d). a, d)} may be used to determine the timeout time t.

また、ネットワーク処理装置において、タイムアウト時間算出手段は、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間tを求めるものであってもよい。   Further, in the network processing apparatus, the timeout time calculation means may obtain the timeout time t by using different calculation methods depending on whether the session rate is increased or the session rate is decreased.

本発明によるネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを含むことを特徴とする。   The network processing method according to the present invention is a network processing method for processing a high load state caused by mass access, and when a new session to be handled by a network processing apparatus that processes access from a client is detected, according to a predetermined condition, Dynamically determining the timeout period corresponding to the new session, deleting the session entry that has timed out based on the determined timeout period, and the client corresponding to the currently registered session entry. And transmitting response data via a communication network.

また、ネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、クライアントから、通信ネットワークを介してパケットを受信するステップと、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録するステップと、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを含むものであることが望ましい。   The network processing method is a network processing method for processing a high load state caused by mass access, and stores session information indicating a session currently handled by a network processing device that processes access from a client in a storage unit. A step of receiving a packet from a client via a communication network, and a step of dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition upon receiving a packet of the new session The network processing device is currently handling the step of registering a new session entry by newly storing the session information including the timeout time in the storage means and the timeout time indicated in the stored session information. The step of determining whether or not the timeout time has elapsed for the session, and if it is determined that the timeout time has elapsed, the session entry corresponding to the session for which the timeout time has elapsed is deleted from the storage means. And a step of transmitting a response packet to the client corresponding to the currently registered session entry via the communication network.

本発明によるネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させることを特徴とする。   The network processing program according to the present invention is a network processing program for processing a high load state caused by mass access. When a new session to be handled by the network processing device is detected in the computer, a new processing is performed according to a predetermined condition. Processing to dynamically determine the timeout time corresponding to the session, processing to delete the entry of the session that has timed out based on the calculated timeout time, and communication to the client corresponding to the currently registered session entry And processing for transmitting response data via a network.

また、ネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、クライアントから、通信ネットワークを介してパケットを受信する処理と、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録する処理と、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを実行させるものであることが望ましい。   The network processing program is a network processing program for processing a high load state caused by mass access, and a computer having storage means for storing session information indicating a session currently handled by the network processing device. Processing for receiving a packet from a client via a communication network, processing for dynamically determining a timeout time corresponding to a new session according to a predetermined condition when receiving a packet for a new session, and calculating the calculated timeout time Based on the time-out time indicated in the stored session information based on the process of registering a new session entry by newly storing the session information including the storage means, the session currently handled by the network processing device, Processing for determining whether or not the timeout time has elapsed, and determining that the timeout time has elapsed, deletes the session entry by deleting session information corresponding to the session for which the timeout time has elapsed from the storage means It is desirable to cause the client corresponding to the currently registered session entry to execute a process of transmitting a response packet via the communication network.

本発明のネットワーク処理装置は、新規SYNパケットのレートを測定するセッションレート測定部と、セッションのタイムアウト時間を演算するタイムアウト時間演算部と、タイムアウト時間登録部と、タイムアウト時間を記憶するセッション情報記憶部とを含む。セッション情報記憶部は、セッションメモリに相当し、各種プロトコル処理に必要なセッション情報を登録してもよい。   A network processing apparatus of the present invention includes a session rate measuring unit that measures a rate of a new SYN packet, a timeout time calculating unit that calculates a timeout time of a session, a timeout time registering unit, and a session information storage unit that stores a timeout time Including. The session information storage unit corresponds to a session memory, and may register session information necessary for various protocol processes.

上記の構成により、ネットワーク処理装置は、連続的に変化するコネクションレートに応じて、動的にタイムアウト時間を演算し登録することによって、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるようにするという本発明の目的を達成することができる。   With the above configuration, the network processing apparatus is in the process of receiving an overload access from an unauthorized host by dynamically calculating and registering the timeout time according to the connection rate that changes continuously. However, it is possible to achieve the object of the present invention to be able to respond to access from a legitimate client.

また、ネットワーク処理装置は、クライアントからのセッションレートをaとしセッショメモリ最大量をDとして、セッションタイムアウト時間=tを式t=f(a)=D/aを用いて求め、タイムアウト値を設定する。そのようにすることによって、ネットワーク管理者が閾値を設定する必要がなくなり、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるようにするという本発明の目的を達成することができる。また、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるようにするという本発明の目的を達成することができる。   Further, the network processing apparatus obtains a session timeout time = t using the equation t = f (a) = D / a, where a is the session rate from the client and D is the maximum session memory, and sets the timeout value. . By doing so, there is no need for the network administrator to set a threshold value, the network administrator does not need to perform threshold setting work, and the object of the present invention is to reduce the burden on the network administrator. Can be achieved. Further, the object of the present invention can be achieved so that it is possible to cope with an illegal attack access rate without providing a threshold.

本発明によれば、過負荷時であっても動的にタイムアウト時間を求める。そして、求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除する。動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。   According to the present invention, the timeout time is obtained dynamically even during overload. Then, the entry of the session that has timed out is deleted based on the obtained time-out time. Since it is possible to delete the entry of the session that has timed out based on the dynamically determined time-out time, it is possible to cope with an overloaded access from an unauthorized host. In addition, since it is not necessary to perform filtering based on traffic threshold determination, it is possible to respond to all registered clients. Therefore, even during an overloaded access from an unauthorized host, it is possible to respond to an access from a legitimate client.

また、本発明によれば、指数平滑法を用いてセッションレートを求め、セッションレートに基づいてタイムアウト時間を動的に求める。そのため、タイムアウト時間を求める際の、メモリリソース及び演算数を低減することができる。   Further, according to the present invention, the session rate is obtained using the exponential smoothing method, and the timeout time is obtained dynamically based on the session rate. Therefore, it is possible to reduce the memory resources and the number of operations when obtaining the timeout time.

また、本発明によれば、トラヒックの閾値を用いなくても、セッションレートに対してt=f(a)を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。   Further, according to the present invention, it is possible to deal with an overloaded access from an unauthorized host by obtaining a timeout time using t = f (a) for the session rate without using a traffic threshold. Can do. Therefore, it is not necessary for the network administrator to set the threshold value, and the burden on the network administrator can be reduced. Further, it is possible to cope with an illegal attack access rate without providing a traffic threshold.

また、本発明によれば、合成関数f{g(a,d)}を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、関数g(d)を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないように制御することができる。   Further, according to the present invention, it is possible to deal with an overloaded access from an unauthorized host by obtaining a timeout time using the synthesis function f {g (a, d)}. Therefore, by adjusting the function g (d), it is possible to control so as not to exceed the maximum number of session entries even if the session rate varies greatly.

また、本発明によれば、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間tを求める。そのようにすることによって、タイムアウト時間tの特性にヒステリシスをもたせてることができる。従って、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。   Further, according to the present invention, the timeout time t is obtained using different calculation methods when the session rate is increased and when the session rate is decreased. By doing so, hysteresis can be given to the characteristic of the timeout time t. Therefore, it is possible to set the session timeout time to a larger value when the session rate is reduced, and to have a value closer to the original timeout value of the protocol when the session rate is reduced.

実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明によるネットワーク処理装置の構成の一例を示すブロック図である。図1に示すように、ネットワーク処理装置は、パケット受信手段10と、プロトコル処理手段20と、記憶手段30と、エージング処理手段40と、応答パケット送出手段50とを含む。なお、本実施の形態において、ネットワーク処理装置は、具体的には、各種TCP処理を実行したり、ファイアウォールやゲートウェイを実現するサーバや中継装置(例えば、ルータ)によって実現される。
Embodiment 1 FIG.
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a network processing apparatus according to the present invention. As shown in FIG. 1, the network processing apparatus includes a packet receiving unit 10, a protocol processing unit 20, a storage unit 30, an aging processing unit 40, and a response packet sending unit 50. In the present embodiment, the network processing device is specifically realized by a server or a relay device (for example, a router) that executes various TCP processes or implements a firewall or a gateway.

パケット受信手段10は、具体的には、プログラムに従って動作するサーバや中継装置のCPU及びネットワークインタフェース部によって実現される。パケット受信手段10は、クライアントが送信したパケットを、インターネット等の通信ネットワークを介して受信する機能を備える。   Specifically, the packet receiving unit 10 is realized by a server operating according to a program, a CPU of a relay device, and a network interface unit. The packet receiving means 10 has a function of receiving a packet transmitted by a client via a communication network such as the Internet.

プロトコル処理手段20は、具体的には、プログラムに従って動作するサーバや中継装置のCPUによって実現される。プロトコル処理手段20は、図1に示すように、新規パケット判定部21と、セッションレート測定部22と、タイムアウト時間演算部23と、タイムアウト時間登録部24と、プロトコル応答処理部25とを含む。   Specifically, the protocol processing means 20 is realized by a server that operates according to a program or a CPU of a relay device. As shown in FIG. 1, the protocol processing means 20 includes a new packet determination unit 21, a session rate measurement unit 22, a timeout time calculation unit 23, a timeout time registration unit 24, and a protocol response processing unit 25.

新規パケット判定部21は、パケット受信手段10が受信したパケットが、新規セッションのパケットか否かを判定する機能を備える。本実施の形態では、「セッション」とは、ネットワーク処理装置とクライアントとの間で行われる一連の通信の開始から終了までをいう。また、本実施の形態では、新たなセッションの開始時にネットワーク処理装置が最初にクライアントから受信するパケットを「新規パケット」ともいう。   The new packet determining unit 21 has a function of determining whether or not the packet received by the packet receiving unit 10 is a packet for a new session. In the present embodiment, a “session” refers to a period from the start to the end of a series of communications performed between a network processing apparatus and a client. In the present embodiment, the packet that the network processing apparatus first receives from the client at the start of a new session is also referred to as a “new packet”.

本実施の形態では、新規パケット判定部21は、受信したパケットのヘッダ情報に基づいて、受信パケットが新規パケットであるか否かを判定する。例えば、新規パケット判定部21は、ヘッダ情報に基づいて、受信したパケットがTCP−SYNパケットであるか否かを判断する。そして、TCP−SYNパケットであると判断すると、新規パケット判定部21は、受信したパケットが新規パケットであると判定する。   In the present embodiment, the new packet determination unit 21 determines whether or not the received packet is a new packet based on the header information of the received packet. For example, the new packet determination unit 21 determines whether the received packet is a TCP-SYN packet based on the header information. If it is determined that the packet is a TCP-SYN packet, the new packet determination unit 21 determines that the received packet is a new packet.

セッションレート測定部22は、パケット受信手段10が新規セッションのパケットをどの程度のレートで受信しているかを判定する機能を備える。本実施の形態では、セッションレート測定部22は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求める。   The session rate measuring unit 22 has a function of determining at what rate the packet receiving means 10 is receiving a packet of a new session. In the present embodiment, the session rate measuring unit 22 obtains a session rate indicating the ratio of new sessions that occur per predetermined unit.

本実施の形態では、セッションレート測定部22は、所定のサンプリング単位に従って受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求める。例えば、セッションレート測定部22は、サンプリング単位として所定の時間単位に従って、セッションレートを求める。また、例えば、セッションレート測定部22は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求める。   In the present embodiment, session rate measurement unit 22 obtains a session rate by obtaining an average of the number of packets of a new session received according to a predetermined sampling unit. For example, the session rate measuring unit 22 obtains a session rate according to a predetermined time unit as a sampling unit. Further, for example, the session rate measuring unit 22 obtains a session rate according to a unit of the number of packets received in the past as a sampling unit.

例えば、セッションレート測定部22は、新規パケットが単位時間あたりどの程度通過したかをカウントする。そして、セッションレート測定部22は、カウント値に基づいて、単位時間あたりにパケット受信手段10が受信した新規セッションのパケット数aをセッションレートとして求める。例えば、セッションレート測定部22は、新規パケット判定部21が1秒間に判定した新規セッションパケットの数をカウントし、1秒間あたりの新規セッションの数a(sessions/second )をセッションレートとして求める。また、セッションレート測定部22は、求めたセッションレートaの値をセッションレート記憶部31に書き込む。   For example, the session rate measuring unit 22 counts how much a new packet has passed per unit time. Then, the session rate measuring unit 22 obtains the number of packets a of the new session received by the packet receiving unit 10 per unit time as the session rate based on the count value. For example, the session rate measuring unit 22 counts the number of new session packets determined by the new packet determining unit 21 per second, and obtains the number of new sessions a (sessions / second) per second as the session rate. In addition, the session rate measuring unit 22 writes the obtained value of the session rate a into the session rate storage unit 31.

タイムアウト時間演算部23は、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部23は、所定のタイミングで、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23は、セッションメモリ最大量記憶部32から、セッションメモリが記憶できるセッションのエントリの最大量を示すセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23は、所定の演算関数をf(a)とし、セッションレートa及びセッションメモリ最大量Dに基づいて、式(1)を用いてタイムアウト時間tを求める。   The timeout time calculation unit 23 has a function of calculating a timeout time for a new session. In the present embodiment, the timeout time calculation unit 23 reads the session rate a from the session rate storage unit 31 at a predetermined timing. In addition, the timeout time calculation unit 23 reads the session memory maximum amount D indicating the maximum amount of session entries that can be stored in the session memory from the session memory maximum amount storage unit 32. Then, the timeout time calculation unit 23 determines a timeout time t using Expression (1) based on the session rate a and the session memory maximum amount D, with a predetermined calculation function being f (a).

t=f(a)=D/a 式(1) t = f (a) = D / a Formula (1)

例えば、タイムアウト時間演算部23は、読み出したセッションレートa(sessions/second )及びセッションメモリ最大量D(sessions)を式(1)に代入し、タイムアウト時間t(second)を求める。   For example, the timeout time calculation unit 23 substitutes the read session rate a (sessions / second) and the maximum session memory amount D (sessions) into the equation (1) to obtain the timeout time t (second).

タイムアウト時間登録部24は、タイムアウト時間tを、セッション情報記憶部(セッションメモリ)33に新規セッションのエントリとして登録する機能を備える。本実施の形態では、タイムアウト時間登録部24は、タイムアウト時間演算部23がタイムアウト時間tを求めると、新規セッションのプロトコル処理に必要なセッション情報を、セッション情報記憶部33に記憶させる。なお、本実施の形態において、セッション情報記憶部33が記憶するセッション情報は、ネットワーク処理装置が現在扱っているセッションを示す。   The timeout time registration unit 24 has a function of registering the timeout time t as an entry for a new session in the session information storage unit (session memory) 33. In the present embodiment, the timeout time registration unit 24 causes the session information storage unit 33 to store session information necessary for protocol processing of a new session when the timeout time calculation unit 23 obtains the timeout time t. In the present embodiment, the session information stored in the session information storage unit 33 indicates a session currently handled by the network processing apparatus.

「プロトコル処理」とは、例えば、TCPのSYNパケットに対して、SYN−ACKパケットを送信元に送信するか否かを判断する処理である。本実施の形態では、タイムアウト時間登録部24は、例えば、タイムアウト時間tに加えて、送信元のIPアドレスやポート番号、TCPシーケンス番号、確認応答番号、TCP内部ステートを含むセッション情報をセッション情報記憶部33に記憶させる。また、本実施の形態において、「新規エントリの登録」は、タイムアウト時間登録部24が、タイムアウト時間tを含むセッション情報を、セッションに対応付けてセッション情報記憶部33に記憶させることによって実現される。   “Protocol processing” is, for example, processing for determining whether or not to transmit a SYN-ACK packet to a transmission source for a TCP SYN packet. In the present embodiment, the timeout time registration unit 24 stores session information including, for example, the transmission source IP address, port number, TCP sequence number, confirmation response number, and TCP internal state in addition to the timeout time t. Store in the unit 33. In the present embodiment, “new entry registration” is realized by the timeout time registration unit 24 storing session information including the timeout time t in the session information storage unit 33 in association with the session. .

プロトコル応答処理部25は、受信したSYNパケットに対する各種TCP処理を実行する機能を備える。本実施の形態では、プロトコル応答処理部25は、プロトコル処理で応答すべきパケットを判定する。また、プロトコル応答処理部25は、セッション情報記憶部33から、タイムアウト時間tを含むプロトコル情報(セッション情報)を読み出す。また、プロトコル応答処理部25は、読み出したセッション情報に基づいて、送信元クライアントへの応答を応答パケット送出手段50に指示する。   The protocol response processing unit 25 has a function of executing various TCP processes for the received SYN packet. In the present embodiment, the protocol response processing unit 25 determines a packet to be responded by the protocol processing. Further, the protocol response processing unit 25 reads protocol information (session information) including the timeout time t from the session information storage unit 33. Further, the protocol response processing unit 25 instructs the response packet sending unit 50 to respond to the transmission source client based on the read session information.

また、プロトコル応答処理部25は、更新されたプロトコル情報をセッション情報記憶部33に書き込む機能を備える。本実施の形態では、プロトコル応答処理部25は、各種TCP処理による更新後のTCP内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部33に書き込む。また、本実施の形態では、プロトコル応答処理部25は、エージング処理手段40がタイムアウト時間tを更新すると、セッション情報記憶部33が記憶する情報を、更新後のタイムアウト時間を含むセッション情報に更新させる。   The protocol response processing unit 25 has a function of writing the updated protocol information in the session information storage unit 33. In the present embodiment, the protocol response processing unit 25 writes session information including the updated TCP internal state, sequence number, and confirmation response number by various TCP processes in the session information storage unit 33. In the present embodiment, when the aging processing unit 40 updates the timeout time t, the protocol response processing unit 25 updates the information stored in the session information storage unit 33 to the session information including the updated timeout time. .

記憶手段30は、具体的には、サーバや中継装置の記憶装置(例えば、磁気ディスク装置)によって実現される。記憶手段30は、図1に示すように、セッションレート記憶部31と、セッションメモリ最大量記憶部32と、セッション情報記憶部33とを含む。   Specifically, the storage unit 30 is realized by a storage device (for example, a magnetic disk device) of a server or a relay device. As shown in FIG. 1, the storage unit 30 includes a session rate storage unit 31, a session memory maximum amount storage unit 32, and a session information storage unit 33.

セッションレート記憶部31は、セッションレート測定部22が測定した(求めた)セッションレートaを記憶する。セッションメモリ最大量記憶部32は、セッション情報記憶部33の最大登録可能量(セッションメモリ最大量D)を予め記憶する。   The session rate storage unit 31 stores the session rate a measured (obtained) by the session rate measuring unit 22. The session memory maximum amount storage unit 32 stores in advance the maximum registerable amount (session memory maximum amount D) of the session information storage unit 33.

セッション情報記憶部33は、タイムアウト時間登録部24の指示に従って、タイムアウト時間演算部23が求めたタイムアウト時間tを記憶する。また、セッション情報記憶部33は、各セッションのタイムアウト時間を含むプロトコル処理に必要なセッション情報を記憶する。なお、本実施の形態において、セッションメモリは、セッション情報記憶部33によって実現される。   The session information storage unit 33 stores the timeout time t obtained by the timeout time calculation unit 23 in accordance with an instruction from the timeout time registration unit 24. Further, the session information storage unit 33 stores session information necessary for protocol processing including the timeout time of each session. In the present embodiment, the session memory is realized by the session information storage unit 33.

エージング処理手段40は、具体的には、プログラムに従って動作するサーバや中継装置のCPUによって実現される。エージング処理手段40は、セッション情報記憶部33が記憶する各エントリのタイムアウト時間を更新し、新規パケットを受信してからの経過時間がタイムアウト時間を経過したか否かを判断する機能を備える。また、エージング処理手段40は、タイムアウト時間を経過したと判断すると、タイムアウトになったセッションのエントリを削除する処理を行う機能を備える。なお、本実施の形態において、「エントリの削除」は、エージング処理手段40が、タイムアウト時間を含むセッション情報をセッション情報記憶部33から削除することによって実現される。   Specifically, the aging processing means 40 is realized by a CPU that operates according to a program or a CPU of a relay device. The aging processing means 40 has a function of updating the timeout time of each entry stored in the session information storage unit 33 and determining whether or not the elapsed time after receiving a new packet has exceeded the timeout time. Further, the aging processing means 40 has a function of performing processing for deleting an entry of a session that has timed out when it is determined that the time-out time has elapsed. In the present embodiment, “deletion of entry” is realized by the aging processing unit 40 deleting session information including a timeout time from the session information storage unit 33.

応答パケット送出手段50は、具体的には、プログラムに従って動作するサーバや中継装置のCPU及びネットワークインタフェース部によって実現される。応答パケット送出手段50は、プロトコル応答処理部25からの応答指示に従って、応答パケットを送信元クライアントに送信する機能を備える。   Specifically, the response packet sending unit 50 is realized by a server operating according to a program, a CPU of a relay device, and a network interface unit. The response packet sending unit 50 has a function of sending a response packet to the transmission source client in accordance with a response instruction from the protocol response processing unit 25.

なお、本実施の形態において、ネットワーク処理装置の記憶装置は、不正な大量アクセスに対処するための各種プログラムを記憶している。例えば、ネットワーク処理装置の記憶装置は、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させるネットワーク処理プログラムを記憶している。   In the present embodiment, the storage device of the network processing device stores various programs for dealing with unauthorized mass access. For example, when the storage device of the network processing device detects a new session to be handled by the network processing device in the computer, the processing for dynamically obtaining the timeout time corresponding to the new session according to a predetermined condition and the obtained timeout A network processing program for executing processing for deleting a session entry that has timed out based on time and processing for transmitting response data via a communication network to a client corresponding to the currently registered session entry Is remembered.

次に、動作について説明する。図2は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の一例を示す流れ図である。パケット受信手段10は、各クライアントから、通信ネットワークを介して各種パケットを随時受信している(ステップS11)。パケット受信手段10は、クライアントからパケットを受信すると、受信したパケットを新規パケット判定部21に出力する。   Next, the operation will be described. FIG. 2 is a flowchart illustrating an example of a process in which the network processing apparatus registers an entry for a new session and a process in which a response packet is transmitted to the transmission source client. The packet receiving means 10 receives various packets from each client as needed via the communication network (step S11). When receiving a packet from the client, the packet receiving unit 10 outputs the received packet to the new packet determining unit 21.

新規パケット判定部21は。パケット受信手段10からのパケットが、新規セッションのパケットであるか否かを判定する(ステップS12,S13)。例えば、TCPを用いて通信を行う場合、新規パケット判定部21は、パケットにTCP−SYNフラグが立っているか否かを調べる。この場合、例えば、新規パケット判定部21は、パケットのヘッダ情報にTCP−SYNフラグが含まれるか否かを判断する。TCP−SYNフラグが立っている(ヘッダ情報に含まれる)と判断すると、新規パケット判定部21は、受信パケットが新規セッションパケットであると判断する。TCP−SYNフラグが立っていない(ヘッダ情報に含まれない)と判断すると、新規パケット判定部21は、受信パケットが新規セッションパケットでないと判断する。   The new packet determination unit 21. It is determined whether or not the packet from the packet receiving means 10 is a packet for a new session (steps S12 and S13). For example, when communication is performed using TCP, the new packet determination unit 21 checks whether a TCP-SYN flag is set in the packet. In this case, for example, the new packet determination unit 21 determines whether the TCP-SYN flag is included in the header information of the packet. If it is determined that the TCP-SYN flag is set (included in the header information), the new packet determination unit 21 determines that the received packet is a new session packet. If it is determined that the TCP-SYN flag is not set (not included in the header information), the new packet determination unit 21 determines that the received packet is not a new session packet.

新規パケットでないと判断すると、新規パケット判定部21は、ステップS14からステップS16までの処理を行わずに、そのままプロトコル応答処理部25に処理を渡す。   If it is determined that the packet is not a new packet, the new packet determination unit 21 passes the processing to the protocol response processing unit 25 as it is without performing the processing from step S14 to step S16.

新規パケットであると判断すると、新規パケット判定部21は、セッションレート測定部22に処理を渡す。セッションレート処理部22は、単位時間あたりに流れる新規セッションのパケットをカウントし、カウントした値をセッションレートaとして求める(ステップS14)。また、セッションレート測定部22は、求めたセッションレートaをセッションレート記憶部31に登録する。すなわち、セッションレート測定部22は、カウント値に基づいて、単位時間あたりにパケット受信手段10が受信した新規セッションのパケット数aをセッションレートとして求める。そして、セッションレート測定部22は、求めたセッションレートaをセッションレート記憶部31に記憶させる。   If it is determined that the packet is a new packet, the new packet determination unit 21 passes the processing to the session rate measurement unit 22. The session rate processing unit 22 counts new session packets flowing per unit time, and obtains the counted value as the session rate a (step S14). In addition, the session rate measuring unit 22 registers the obtained session rate a in the session rate storage unit 31. That is, the session rate measuring unit 22 obtains the number of packets a of a new session received by the packet receiving unit 10 per unit time as the session rate based on the count value. Then, the session rate measuring unit 22 stores the obtained session rate a in the session rate storage unit 31.

タイムアウト時間演算部23は、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23は、セッションメモリ最大量記憶部32からセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23は、セッションタイムアウト時間tの値を求める関数をf(a)とし、読み出したセッションレートa及びセッションメモリ最大量Dに基づいて、式(1)を用いてタイムアウト時間tを求める(ステップS15)。また、タイムアウト時間演算部23は、求めたタイムアウト時間tを、タイムアウト時間登録部24に渡す。   The timeout time calculation unit 23 reads the session rate a from the session rate storage unit 31. Further, the timeout time calculation unit 23 reads the session memory maximum amount D from the session memory maximum amount storage unit 32. Then, the timeout time calculating unit 23 sets f (a) as a function for obtaining the value of the session timeout time t, and uses the expression (1) to calculate the timeout time t based on the read session rate a and session memory maximum amount D. Is obtained (step S15). Further, the timeout time calculation unit 23 passes the obtained timeout time t to the timeout time registration unit 24.

タイムアウト時間登録部24は、セッション情報記憶部(セッションメモリ)33に、新規セッションエントリとして、タイムアウト時間tを登録する(ステップS16)。この場合、タイムアウト時間登録部24は、タイムアウト時間演算部23が求めたタイムアウト時間tを含むセッション情報を、セッション情報記憶部33に記憶させることによって、新規セッションのエントリを登録する。そして、タイムアウト時間登録部24は、プロトコル応答処理部25に処理を移す。   The timeout time registration unit 24 registers the timeout time t as a new session entry in the session information storage unit (session memory) 33 (step S16). In this case, the timeout time registration unit 24 registers the new session entry by causing the session information storage unit 33 to store the session information including the timeout time t obtained by the timeout time calculation unit 23. Then, the timeout time registration unit 24 moves the process to the protocol response processing unit 25.

以上のように、ステップS11からステップS16までの処理を実行することによって、ネットワーク処理装置は、新規セッションのパケットを受信すると、現在のセッションレートaに応じてタイムアウト時間を動的に求め、新規セッションのエントリを登録する。   As described above, by executing the processing from step S11 to step S16, when the network processing apparatus receives a packet for a new session, it dynamically obtains a timeout time according to the current session rate a, Register the entry.

次に、ネットワーク処理装置が、各セッションに対応するクライアントに対して、所定時間毎に応答パケットを送信する動作を説明する。プロトコル応答処理部25は、所定の時間毎に、プロトコル動作の主要処理を行う。「プロトコル動作の主要処理」とは、例えば、受信したパケットのTCPシーケンス番号及びACK番号をチェックしたり、各種ウインドウ制御を行う処理である。   Next, an operation in which the network processing apparatus transmits a response packet every predetermined time to the client corresponding to each session will be described. The protocol response processing unit 25 performs main processing of protocol operation at every predetermined time. The “main process of protocol operation” is, for example, a process of checking the TCP sequence number and ACK number of a received packet and performing various window controls.

プロトコル応答処理部25は、所定時間毎に、各セッションのタイムアウト時間を含む主要処理の情報(セッション情報)を、セッションメモリ(セッション情報記憶部33)から読み出す。また、プロトコル応答処理部25は、読み出したセッション情報に基づいて、送信元クライアントへの応答パケットの送信を応答パケット送出手段50にエントリ毎に指示する。例えば、プロトコル応答処理部25は、読み出したセッション情報に示される送信元アドレスに従って、応答パケットの送信を指示する。   The protocol response processing unit 25 reads main processing information (session information) including the timeout time of each session from the session memory (session information storage unit 33) at predetermined time intervals. Further, the protocol response processing unit 25 instructs the response packet sending unit 50 for each entry to transmit a response packet to the transmission source client based on the read session information. For example, the protocol response processing unit 25 instructs transmission of a response packet according to the transmission source address indicated in the read session information.

また、ネットワーク処理装置は、プロトコル処理により更新した値を再びセッションメモリ33に書き込む(ステップS17)。例えば、プロトコル応答処理部25は、各種TCP処理による更新後のTCP内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部33に書き込む。また、例えば、プロトコル応答処理部25は、エージング処理手段40が更新したタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部33を更新させる。   In addition, the network processing device writes the value updated by the protocol processing in the session memory 33 again (step S17). For example, the protocol response processing unit 25 writes the session information including the updated TCP internal state, sequence number, and confirmation response number by various TCP processes in the session information storage unit 33. For example, the protocol response processing unit 25 updates the session information storage unit 33 based on the session information including the timeout time updated by the aging processing unit 40.

応答パケット送出手段50は、プロトコル応答処理部25からの指示に従って、応答パケットを、通信ネットワークを介してクライアントに送信する(ステップS18)。例えば、TCPを用いる場合、応答パケット送出手段50は、SYNパケットに対してSYN−ACKパケットをクライアントに送信し、データパケットに対してACKパケットをクライアントに送信し、FIN−ACKパケットに対してFIN−ACK応答パケットをクライアントに送信する。   The response packet sending means 50 transmits the response packet to the client via the communication network in accordance with the instruction from the protocol response processing unit 25 (step S18). For example, when TCP is used, the response packet sending means 50 sends a SYN-ACK packet to the client for the SYN packet, sends an ACK packet to the client for the data packet, and performs a FIN for the FIN-ACK packet. -Send an ACK response packet to the client.

以上のように、ステップS17及びステップS18の処理を実行することによって、ネットワーク処理装置は、所定時間毎に、現在エントリ登録されている各セッションについて、それぞれ各送信元クライアントに応答パケットを送信する。   As described above, by executing the processing of step S17 and step S18, the network processing apparatus transmits a response packet to each transmission source client for each session currently registered for entry every predetermined time.

次に、エージング処理手段40の動作を説明する。エージング処理手段40は、セッションメモリのエージング処理を行っている。「エージング処理」とはセッションメモリのタイマ更新処理のことである。本実施の形態では、エージング処理手段40は、例えば、ステップS17のプロトコル処理を行うタイミングでエージング処理を実行し、各セッションのタイムアウト時間を更新する。そして、エージング処理手段40は、更新後のタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部33を更新させる。また、本実施の形態では、エージング処理手段40は、所定のエージング処理を実行することによって、タイムアウト時間を経過してもクライアントからの応答がないエントリを削除する。   Next, the operation of the aging processing means 40 will be described. The aging processing means 40 performs an aging process for the session memory. The “aging process” is a timer update process for the session memory. In the present embodiment, the aging processing means 40 executes, for example, the aging process at the timing of performing the protocol process in step S17, and updates the timeout time of each session. Then, the aging processing means 40 updates the session information storage unit 33 based on the session information including the updated timeout time. Further, in the present embodiment, the aging processing means 40 deletes an entry for which there is no response from the client even after the timeout time has elapsed by executing a predetermined aging process.

図3は、エージング処理手段が行うエージング処理の一例を示す流れ図である。エージング処理手段40は、所定のタイミングで、あるエントリポインタのセッション情報記憶部(セッションメモリ)33からタイムアウト値を読み出す(ステップS21)。本実施の形態では、エージング処理手段40は、所定時間Δtが経過すると、セッション情報記憶部33からタイムアウト時間tを読み出す。   FIG. 3 is a flowchart showing an example of the aging processing performed by the aging processing means. The aging processing means 40 reads the timeout value from the session information storage unit (session memory) 33 of a certain entry pointer at a predetermined timing (step S21). In the present embodiment, the aging processing means 40 reads the timeout time t from the session information storage unit 33 when the predetermined time Δt has elapsed.

また、エージング処理手段40は、読み出したタイムアウト時間tから、所定の経過時間Δtだけ減算する(ステップS22)。また、エージング処理手段40は、減算後のタイムアウト時間tが0より小さいか否かを判断する(ステップS23)。本実施の形態では、エージング処理手段40は、減算後のタイムアウト時間tが0より小さいと判断すると、そのタイムアウト時間に対応するエントリがタイムアウトになったと判断する。また、エージング処理手段40は、減算後のタイムアウト時間tが0より小さくないと判断すると、そのタイムアウト時間に対応するエントリがまだタイムアウトになっていないと判断する。   Further, the aging processing means 40 subtracts a predetermined elapsed time Δt from the read timeout time t (step S22). Further, the aging processing means 40 determines whether or not the timeout time t after subtraction is smaller than 0 (step S23). In the present embodiment, when the aging processing means 40 determines that the time-out time t after subtraction is smaller than 0, it determines that the entry corresponding to the time-out time has timed out. If the aging processing means 40 determines that the time-out time t after subtraction is not smaller than 0, it determines that the entry corresponding to the time-out time has not yet timed out.

減算後のタイムアウト時間tが0よりも小さいと判断すると、エージング処理手段40は、セッション情報記憶部33から、そのタイムアウト時間に対応するエントリを削除する(ステップS24)。この場合、エージング処理手段40は、タイムアウト時間tを含むセッション情報を、セッション情報記憶部33から削除することによって、エントリを削除する。   If it is determined that the time-out time t after subtraction is smaller than 0, the aging processing means 40 deletes the entry corresponding to the time-out time from the session information storage unit 33 (step S24). In this case, the aging processing unit 40 deletes the entry by deleting the session information including the timeout time t from the session information storage unit 33.

また、エージング処理手段40は、エントリポインタを1つ進め(ポインタを1加算し)、セッション情報記憶部33に登録されている次のエントリにポインタを進める(ステップS25)。そして、エージング処理手段40は、ステップS21の処理に戻り、ステップS21からステップS25までの処理を繰り返し実行する。   Further, the aging processing means 40 advances the entry pointer by 1 (adds 1 to the pointer), and advances the pointer to the next entry registered in the session information storage unit 33 (step S25). And the aging process means 40 returns to the process of step S21, and repeatedly performs the process from step S21 to step S25.

なお、ステップS23で減算後のタイムアウト時間tが0よりも小さくないと判断すると、エージング処理手段40は、エントリの削除を行わずに、エントリポインタを1つ進める。そして、エージング処理手段40は、ステップS21の処理に戻り、ステップS21からステップS25までの処理を繰り返し実行する。   If it is determined in step S23 that the time-out time t after subtraction is not smaller than 0, the aging processing means 40 advances the entry pointer by one without deleting the entry. And the aging process means 40 returns to the process of step S21, and repeatedly performs the process from step S21 to step S25.

以上に示すステップS21からステップS25までのエージング処理を実行することによって、エージング処理手段40は、タイムアウト時間演算部23が最初に求めたタイムアウト時間tが経過すると、タイムアウトになったエントリを削除する。   By executing the aging processing from step S21 to step S25 described above, the aging processing means 40 deletes the entry that has timed out when the time-out time t first obtained by the time-out time calculator 23 has elapsed.

ここで、一定のセッションレートaで登録されるセッションは、タイムアウト時間t(秒)が経過すると、エージング処理によって一定レートaで削除されることになる。そのため、タイムアウトt(秒)後のセッション情報記憶部33へのエントリ数は、a×tで一定値になるはずである。この場合、できるだけ多くのセッションを受け付けられるようにするためには、エントリ数の値がセッションメモリの最大容量Dに等しくなるようにすればよい。従って、最も多くのセッションを受け付けられるようにするためには、式(2)を満たすように設計すればよい。   Here, a session registered at a constant session rate a is deleted at a constant rate a by the aging process when the timeout time t (seconds) elapses. Therefore, the number of entries in the session information storage unit 33 after the timeout t (seconds) should be a constant value of a × t. In this case, in order to accept as many sessions as possible, the value of the number of entries may be set equal to the maximum capacity D of the session memory. Therefore, in order to be able to accept the largest number of sessions, it is sufficient to design so as to satisfy Equation (2).

D=a×t 式(2) D = a × t Formula (2)

式(2)より、最適なタイムアウト時間tを算出するための関数をf(a)として、式(1)が求まる。   From Expression (2), Expression (1) is obtained with f (a) as a function for calculating the optimum timeout time t.

図4は、セッションメモリへの登録セッション数dと経過時間との関係の一例を示す説明図である。図4に示すように、セッションレートa0で入力したセッション数dは、タイムアウト時間tまでは線形に増加する。しかし、経過時間t0=D/a0を越えると、最大セッション数(セッションメモリ最大量D)の値で一定となる。また、セッションレートa1(a1>a0)で入力したセッション数dは、経過時間t1=D/a1を越えると、同様に最大セッション数(セッションメモリ最大量D)で一定となる。   FIG. 4 is an explanatory diagram showing an example of the relationship between the number d of sessions registered in the session memory and the elapsed time. As shown in FIG. 4, the number of sessions d input at the session rate a0 increases linearly until the timeout time t. However, when the elapsed time t0 = D / a0 is exceeded, the maximum session number (session memory maximum amount D) is constant. Further, the number of sessions d input at the session rate a1 (a1> a0) becomes constant at the maximum number of sessions (maximum amount of session memory D) when the elapsed time t1 = D / a1 is exceeded.

タイムアウト時間tをプロトコルの挙動に準拠させるため、タイムアウト時間tはできるだけプロトコルの規定値に近いほうがよい。また、ネットワーク処理装置は、新規セッションが正当なクライアントからのセッションであるか、不正な攻撃によるセッションであるか、送信元アドレスを偽って送信されたセッションであるかを区別(判定)できない。そのため、ネットワーク処理装置は、全てのセッションに対して応答しなければならない。また、セッションレートに対して動的にタイムアウト処理を変えられるようにして、セッションレートに応じた対処を行えるようにすることが望ましい。   In order to make the timeout time t conform to the protocol behavior, the timeout time t should be as close as possible to the specified value of the protocol. Further, the network processing device cannot distinguish (determine) whether the new session is a session from a valid client, a session due to an unauthorized attack, or a session transmitted with a false source address. Therefore, the network processing device must respond to all sessions. In addition, it is desirable that the timeout process can be dynamically changed with respect to the session rate so that a response corresponding to the session rate can be performed.

本実施の形態では、ネットワーク処理装置は、セッションレートa及びセッションエントリの最大容量(セッションメモリ最大量D)に基づいて、式(1)を用いて、連続的にタイムアウト時間tを変動させる。そのようにすることによって、全てのセッションに対して応答しつつ、DoS攻撃のセッションレートに応じて動的にDoS攻撃に対する対処を行うことができる。   In the present embodiment, the network processing apparatus continuously varies the timeout time t using the equation (1) based on the session rate a and the maximum capacity of the session entry (maximum amount of session memory D). By doing so, it is possible to cope with the DoS attack dynamically according to the session rate of the DoS attack while responding to all the sessions.

以上のように、本実施の形態によれば、ネットワーク処理装置は、過負荷時であっても、アクセスレート(セッションレート)に応じて、セッションメモリが溢れないように動的にセッションタイムアウト時間を設定する。そして、ネットワーク処理装置は、動的に設定したタイムアウト時間tに基づいてタイムアウトになったセッションのエントリを削除する。本実施の形態によれば、動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、本実施の形態によれば、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。   As described above, according to the present embodiment, the network processing apparatus dynamically sets the session timeout time so that the session memory does not overflow in accordance with the access rate (session rate) even during an overload. Set. Then, the network processing device deletes the entry of the session that has timed out based on the dynamically set time-out time t. According to the present embodiment, it is possible to delete an entry of a session that has timed out based on a dynamically obtained time-out time, and thus it is possible to cope with an overloaded access from an unauthorized host. Also, according to the present embodiment, since it is not necessary to perform filtering based on traffic threshold determination, it is possible to respond to all registered clients. Therefore, even during an overloaded access from an unauthorized host, it is possible to respond to an access from a legitimate client.

また、本実施の形態によれば、トラヒックの閾値を用いなくても、入力レートに対してt=f(a)を用いてタイムアウト値を求めて設定し、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。   Further, according to the present embodiment, even if a traffic threshold is not used, a timeout value is obtained and set using t = f (a) for the input rate, and an overloaded access from an unauthorized host Can deal with. Therefore, it is not necessary for the network administrator to set the threshold value, and the burden on the network administrator can be reduced. Further, it is possible to cope with an illegal attack access rate without providing a traffic threshold.

実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図5は、ネットワーク処理装置の他の構成例を示すブロック図である。図5に示すように、本実施の形態では、記憶手段30Aが、図1で示したセッションレート記憶部31、セッションメモリ最大容量記憶部32及びセッション情報記憶部33に加え、セッションメモリ登録エントリ数記憶部34を含む点で、第1の実施の形態と異なる。また、本実施の形態では、プロトコル処理手段20Aのタイムアウト時間演算部23A及びタイムアウト時間登録部24Aの機能が、第1の実施の形態で示したそれらの機能と異なる。また、本実施の形態では、エージング処理手段40Aの機能が、第1の実施の形態で示したエージング処理手段40の機能と異なる。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 5 is a block diagram illustrating another configuration example of the network processing apparatus. As shown in FIG. 5, in the present embodiment, the storage means 30 </ b> A includes the session memory registration entry number in addition to the session rate storage unit 31, the session memory maximum capacity storage unit 32, and the session information storage unit 33 shown in FIG. 1. It differs from the first embodiment in that it includes the storage unit 34. Further, in the present embodiment, the functions of the timeout time calculation unit 23A and the timeout time registration unit 24A of the protocol processing unit 20A are different from those shown in the first embodiment. In the present embodiment, the function of the aging processing means 40A is different from the function of the aging processing means 40 shown in the first embodiment.

また、本実施の形態では、タイムアウト時間演算部23Aが、タイムアウト時間の演算式として、式(1)に代えて式(3)を用いてタイムアウト時間tを求める点で、第1の実施の形態と異なる。   Further, in the present embodiment, the timeout time calculation unit 23A obtains the timeout time t by using the expression (3) instead of the expression (1) as the expression for calculating the timeout time. And different.

t=f・g(a,d) 式(3) t = f · g (a, d) Equation (3)

なお、式(3)において、dは、セッションメモリに登録されているエントリ数を示す。   In equation (3), d indicates the number of entries registered in the session memory.

セッションメモリ登録エントリ数記憶部34は、セッション情報記憶部(セッションメモリ)に現在登録されているエントリ数dを記憶する。   The session memory registration entry number storage unit 34 stores the number of entries d currently registered in the session information storage unit (session memory).

タイムアウト時間演算部23Aは、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部23Aは、所定のタイミングで、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ最大量記憶部32から、エントリ最大量(セッションメモリ最大量D)を読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ登録エントリ数記憶部34から、現在セッションメモリに登録されているエントリ数dを読み出す。そして、タイムアウト時間演算部23Aは、セッションレートa、セッションメモリ最大量D及びエントリ数dに基づいて、所定の演算関数を用いてタイムアウト時間tを求める。また、タイムアウト時間演算部23Aは、求めたタイムアウト時間tをタイムアウト時間登録部24Aに登録させる。   The timeout time calculation unit 23A has a function of calculating a timeout time for a new session. In the present embodiment, the timeout time calculation unit 23A reads the session rate a from the session rate storage unit 31 at a predetermined timing. Further, the timeout time calculation unit 23A reads the maximum entry amount (maximum session memory amount D) from the maximum session memory amount storage unit 32. Further, the timeout time calculation unit 23A reads the number of entries d currently registered in the session memory from the session memory registration entry number storage unit 34. Then, the timeout time calculation unit 23A obtains the timeout time t using a predetermined calculation function based on the session rate a, the session memory maximum amount D, and the number of entries d. Further, the timeout time calculation unit 23A causes the timeout time registration unit 24A to register the obtained timeout time t.

タイムアウト時間登録部24Aは、第1の実施の形態で示したタイムアウト時間登録部24と同様に、セッションメモリ記憶部33に新規エントリを登録する機能を備える。また、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶するエントリ数dの値を1増加させる機能を備える。   The timeout time registration unit 24A has a function of registering a new entry in the session memory storage unit 33, similarly to the timeout time registration unit 24 described in the first embodiment. Further, the timeout time registration unit 24A has a function of incrementing the value of the entry number d stored in the session memory registration entry number storage unit 34 by 1 when a new entry is registered.

エージング処理手段40Aは、第1の実施の形態で示したエージング処理手段40と同様に、タイムアウト時間が経過しタイムアウトになったエントリを削除する機能を備える。また、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶するエントリ数dの値を1減少させる機能を備える。   As with the aging processing unit 40 described in the first embodiment, the aging processing unit 40A has a function of deleting an entry that has timed out due to a time-out period. Further, the aging processing unit 40A has a function of reducing the value of the entry number d stored in the session memory registered entry number storage unit 34 by 1 when an entry is deleted.

なお、プロトコル処理手段20の新規パケット判定部21、セッションレート測定部22、及びプロトコル応答処理部25の機能は、第1の実施の形態で示したそれらの機能と同様である。また、記憶手段30Aのセッションレート記憶部31、セッションメモリ最大量記憶部32及びセッション情報記憶部33が記憶する情報は、第1の実施の形態で示したそれらが記憶する情報と同様である。また、パケット受信手段10及び応答パケット送出手段50の機能は、第1の実施の形態で示したそれらの機能と同様である。   Note that the functions of the new packet determination unit 21, the session rate measurement unit 22, and the protocol response processing unit 25 of the protocol processing unit 20 are the same as those described in the first embodiment. Information stored in the session rate storage unit 31, the session memory maximum amount storage unit 32, and the session information storage unit 33 of the storage unit 30A is the same as the information stored in the first embodiment. The functions of the packet receiving means 10 and the response packet sending means 50 are the same as those shown in the first embodiment.

次に、動作について説明する。第1の実施の形態では、クライアントからの新規セッションレートが一定値である場合に、ネットワーク処理装置が、全てのセッションのハンドリングを行う場合を説明した。しかし、新規セッションレートが時間毎に大きく変動する場合には、セッションエントリがセッションメモリから溢れてしまう可能性がある。そこで、本実施の形態では、ネットワーク処理装置は、セッションメモリ登録エントリ数記憶部34を用意し、セッション情報記憶部33が現在記憶する登録エントリ数dをセッションメモリ登録エントリ数記憶部34に記憶させる。   Next, the operation will be described. In the first embodiment, the case has been described in which the network processing apparatus handles all sessions when the new session rate from the client is a constant value. However, if the new session rate varies greatly with time, the session entry may overflow from the session memory. Therefore, in the present embodiment, the network processing device prepares the session memory registration entry number storage unit 34 and stores the registration entry number d currently stored in the session information storage unit 33 in the session memory registration entry number storage unit 34. .

図6は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の他の例を示す流れ図である。ネットワーク処理装置は、第1の実施の形態で示したステップS11からステップS14までと同様の処理に従って、各クライアントから各種パケットを受信すると、新規セッションのパケットであるか否かを判定し、セッションレートaを測定する(ステップS31〜ステップS34)。   FIG. 6 is a flowchart illustrating another example of the process of registering a new session entry and the process of transmitting a response packet to the transmission source client by the network processing apparatus. When the network processing apparatus receives various packets from each client in accordance with the same processing from step S11 to step S14 described in the first embodiment, it determines whether or not the packet is a new session, and determines the session rate. a is measured (steps S31 to S34).

タイムアウト時間演算部23Aは、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ最大量記憶部記憶部32からセッションメモリ最大量Dを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ登録エントリ数記憶部34から、セッションメモリ登録数(登録エントリ数)dをを読み出す。そして、タイムアウト時間演算部23Aは、第1の実施形態で用いた関数f(a)に加えて、セッションメモリ登録数dについての関数g(d)を用いた演算関数を用いて、タイムアウト値を求める。本実施の形態では、タイムアウト時間演算部23Aは、読み出したセッションレートa、セッションメモリ最大量D及び登録エントリ数dに基づいて、式(3)を用いてタイムアウト時間tを求める(ステップS35)。   The timeout time calculation unit 23A reads the session rate a from the session rate storage unit 31. The timeout time calculation unit 23A reads the session memory maximum amount D from the session memory maximum amount storage unit storage unit 32. Further, the timeout time calculation unit 23A reads the session memory registration number (registration entry number) d from the session memory registration entry number storage unit 34. Then, the timeout time calculation unit 23A uses the calculation function using the function g (d) for the session memory registration number d in addition to the function f (a) used in the first embodiment to calculate the timeout value. Ask. In the present embodiment, the timeout time calculation unit 23A obtains the timeout time t using Expression (3) based on the read session rate a, the session memory maximum amount D, and the number of registered entries d (step S35).

なお、式(3)において、f・g(a,d)は、関数f(a)と関数g(d)との合成関数f{g(a,d)}を表す。また、式(3)において、g(d)は、任意の関数である。   In Expression (3), f · g (a, d) represents a composite function f {g (a, d)} of the function f (a) and the function g (d). In the formula (3), g (d) is an arbitrary function.

タイムアウト時間登録部24Aは、第1の実施の形態で示したステップS16と同様の処理に従って、セッション情報記憶部33に、新規セッションエントリとして、タイムアウト時間tを登録する(ステップS36)。この場合、タイムアウト時間登録部24Aは、タイムアウト時間演算部23Aが求めたタイムアウト時間tを含むセッション情報を、セッション情報記憶部33に記憶させることによって、新規セッションのエントリを登録する。   The timeout time registration unit 24A registers the timeout time t as a new session entry in the session information storage unit 33 according to the same process as step S16 described in the first embodiment (step S36). In this case, the timeout time registration unit 24A registers the new session entry by causing the session information storage unit 33 to store the session information including the timeout time t obtained by the timeout time calculation unit 23A.

また、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dを更新する(ステップS37)。本実施の形態では、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dに1加算する。   Further, when registering a new entry, the timeout time registration unit 24A updates the registration entry number d stored in the session memory registration entry number storage unit 34 (step S37). In the present embodiment, when a new entry is registered, the timeout time registration unit 24A adds 1 to the registration entry number d stored in the session memory registration entry number storage unit 34.

また、ネットワーク処理装置は、第1の実施の形態で示したステップS17及びステップS18と同様の処理に従ってプロトコル応答処理を実行し、各セッションに対応する送信元クライアントに対して、所定時間毎に応答パケットを送信する(ステップS38,S39)。   In addition, the network processing apparatus executes a protocol response process according to the same process as step S17 and step S18 described in the first embodiment, and responds to the transmission source client corresponding to each session at predetermined time intervals. A packet is transmitted (steps S38 and S39).

次に、エージング処理手段40Aの動作を説明する。図7は、エージング処理手段が行うエージング処理の他の例を示す流れ図である。エージング処理手段40Aは、第1の実施の形態で示したステップS21からステップS24までと同様の処理に従って、タイムアウト時間tを更新し、エントリがタイムアウトになったと判断すると、そのエントリをセッション情報記憶部33から削除する(ステップS41〜ステップS44)。   Next, the operation of the aging processing means 40A will be described. FIG. 7 is a flowchart showing another example of aging processing performed by the aging processing means. The aging processing means 40A updates the timeout time t according to the same processing from step S21 to step S24 shown in the first embodiment, and if it is determined that the entry has timed out, the entry is stored in the session information storage unit. It deletes from 33 (step S41-step S44).

また、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dを更新する(ステップS45)。本実施の形態では、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dから1減算する。   Further, when the entry is deleted, the aging processing means 40A updates the registered entry number d stored in the session memory registered entry number storage unit 34 (step S45). In the present embodiment, when the entry is deleted, the aging processing means 40A subtracts 1 from the registered entry number d stored in the session memory registered entry number storage unit 34.

そして、エージング処理手段40Aは、第1の実施の形態で示したステップS25と同様の処理に従って、エントリポインタを1つ進め(ポインタを1加算し)、セッション情報記憶部33に登録されている次のエントリにポインタを進める(ステップS46)。そして、エージング処理手段40Aは、ステップS41の処理に戻り、ステップS41からステップS46までの処理を繰り返し実行する。   Then, the aging processing means 40A advances the entry pointer by 1 (adds 1 to the pointer) according to the same processing as in step S25 described in the first embodiment, and the next registered in the session information storage unit 33. The pointer is advanced to the entry (step S46). Then, the aging processing means 40A returns to the process of step S41, and repeatedly executes the processes from step S41 to step S46.

図8は、セッションメモリへの登録セッション数dと経過時間との関係の他の例を示す説明図である。図8に示すように、クライアント側からのセッションレートが大きく変動する場合、エントリ数dは、線形とは異なる変動をする。また、クライアント側からの変動レートが法則性をもっていない場合、エントリ数dの変化を予測することができない。よって、クライアント側の変動送出レートによって、セッションメモリ登録数dがセッションメモリの最大数Dを越え、新規エントリがセッションメモリから溢れてしまう可能性がある。   FIG. 8 is an explanatory diagram showing another example of the relationship between the number d of sessions registered in the session memory and the elapsed time. As shown in FIG. 8, when the session rate from the client side greatly fluctuates, the number of entries d fluctuates different from linear. Further, when the fluctuation rate from the client side does not have the law, the change in the number of entries d cannot be predicted. Therefore, depending on the variable transmission rate on the client side, the session memory registration number d may exceed the maximum number D of session memories, and new entries may overflow from the session memory.

そこで、本実施の形態では、登録エントリ数dがセッションメモリ最大量Dの近傍付近になったときにタイムアウト値を減らすためのウエイト用の関数g(d)を用意する。例えば、ネットワーク処理装置は、g(d)として、dに対しての逆数を示す関数を用いる。すると、ネットワーク処理装置は、タイムアウト時間tを求めるための関数として、式(4)を用いて、タイムアウト時間を求めることができる。   Therefore, in the present embodiment, a wait function g (d) for reducing the timeout value is prepared when the number of registered entries d is near the maximum session memory amount D. For example, the network processing apparatus uses a function indicating an inverse number with respect to d as g (d). Then, the network processing apparatus can obtain the timeout time using Expression (4) as a function for obtaining the timeout time t.

t=f・g(a,d)=D/(a×d) 式(4) t = f · g (a, d) = D / (a × d) Equation (4)

式(4)に示すように、タイムアウト時間tは、セッションレートaと登録セッション数(登録エントリ数d)との逆数となる。   As shown in Expression (4), the timeout time t is the inverse of the session rate a and the number of registered sessions (number of registered entries d).

図9は、式(4)を用いてタイムアウト時間を制御した場合の登録セッション数dと経過時間との関係を示す説明図である。図9に示すように、登録セッション数(登録エントリ数d)が大きくなると、ネットワーク処理装置は、登録エントリ数dの増加分だけタイムアウト値を減らす。登録セッション数が大きくなる程、セッションのタイムアウト時間は小さくなるが、ネットワーク処理装置は、関数g(d)を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないようにすることができる。   FIG. 9 is an explanatory diagram showing the relationship between the number of registered sessions d and the elapsed time when the timeout time is controlled using Expression (4). As illustrated in FIG. 9, when the number of registered sessions (registered entry number d) increases, the network processing device decreases the timeout value by an increase in the registered entry number d. As the number of registered sessions increases, the session timeout time decreases. However, the network processing apparatus does not exceed the maximum number of session entries even if the session rate varies greatly by adjusting the function g (d). Can be.

実施の形態3.
次に、本発明の第3の実施の形態を説明する。本実施の形態において、ネットワーク処理装置の構成は、第1の実施の形態と同様である。本実施の形態では、セッションレート測定部22がレートを測定する方法が、第1の実施の形態で示した方法と異なる。本実施の形態では、セッションレート測定部22は、単位時間あたりに通過する新規パケットの数をカウントしセッションレートを求めるのでなく、先に通過したパケットと現時刻に通過したパケットとの時間間隔から速度を求め、過去のパケットが通過する速度の関数としてコネクションレートR1を求める。
Embodiment 3 FIG.
Next, a third embodiment of the present invention will be described. In the present embodiment, the configuration of the network processing apparatus is the same as that of the first embodiment. In the present embodiment, the method by which the session rate measuring unit 22 measures the rate is different from the method shown in the first embodiment. In the present embodiment, the session rate measurement unit 22 does not calculate the session rate by counting the number of new packets that pass per unit time, but based on the time interval between the packet that passed first and the packet that passed at the current time. The speed is obtained, and the connection rate R1 is obtained as a function of the speed at which past packets pass.

例えば、先にパケットが通過した時間をt1とし、現時刻に新規パケットが通過した時間をt2とすると、セッションレート測定部22は、コネクションレートR1として、時間差t2−t1と先に測定したレートR0との関数を求める。例えば、セッションレート測定部22は、コネクションレートの関数をhとして、式(5)を用いてコネクションレートR1を求める。   For example, assuming that the time when a packet has passed first is t1 and the time when a new packet has passed at the current time is t2, the session rate measuring unit 22 uses the time difference t2−t1 and the previously measured rate R0 as the connection rate R1. Find the function with. For example, the session rate measurement unit 22 obtains the connection rate R1 using Equation (5), where h is the function of the connection rate.

R1=h(t2−t1,R0) 式(5) R1 = h (t2-t1, R0) Formula (5)

例えば、指数平滑法を用いた関数に基づいてコネクションレートR1を求めるとすると、セッションレート測定部22は、重み付けの係数をα(0<α<1)として、式(6)を用いてコネクションレートR1を求める。   For example, when the connection rate R1 is obtained based on a function using exponential smoothing, the session rate measurement unit 22 sets the weighting coefficient α (0 <α <1) and uses the connection rate using the equation (6). Find R1.

R1=α(t2−t1間のSYNパケット通過速度)+(1−α)R0
=α/(t2−t1)+(1−α)R0 式(6)
R1 = α (the SYN packet passing speed between t2 and t1) + (1-α) R0
= Α / (t2−t1) + (1−α) R0 Formula (6)

第1の実施の形態では、一定時間に通過する新規パケット数に基づいて、セッションレートaを算出する場合を説明した。しかし、通過する新規パケット数が時間毎にばらついている場合、レート演算のためのサンプリングパケット数が不均一になる。そのため、サンプリング時間毎の演算レートの信頼度が低くなる可能性がある。   In the first embodiment, a case has been described in which the session rate a is calculated based on the number of new packets passing in a certain time. However, when the number of new packets passing through varies from time to time, the number of sampling packets for rate calculation becomes uneven. Therefore, the reliability of the calculation rate for each sampling time may be lowered.

本実施の形態では、1つ前のパケット受信時のレートと次にパケットを受信するまでの時間とに基づいて、パケット受信毎にレートを演算する。そのため、パケット間隔がばらついている場合であっても、より信頼性の高いレートを求めることができ、新規パケットのタイムアウト時間を適切に求めることができる。また、新規パケットをカウントすることによりセッションレートを求める場合と比べて、メモリリソース及び演算数を低減することができる。   In the present embodiment, the rate is calculated for each packet reception based on the rate at the time of receiving the previous packet and the time until the next packet is received. Therefore, even when the packet interval varies, a more reliable rate can be obtained, and a new packet timeout time can be obtained appropriately. Also, memory resources and the number of operations can be reduced compared to the case where the session rate is obtained by counting new packets.

実施の形態4.
次に、本発明の第4の実施の形態を図面を参照して説明する。本実施の形態において、ネットワーク処理装置の構成は、第1の実施の形態と同様である。本実施の形態では、タイムアウト時間演算部23が、タイムアウト時間の算出を行う際に、セッションレートの増加時と減少時とで異なる演算関数を用いる点で、第1の実施の形態と異なる。
Embodiment 4 FIG.
Next, a fourth embodiment of the present invention will be described with reference to the drawings. In the present embodiment, the configuration of the network processing apparatus is the same as that of the first embodiment. This embodiment is different from the first embodiment in that the timeout time calculation unit 23 uses different calculation functions when the session rate is increased and decreased when calculating the timeout time.

図10は、セッションレートaと、タイムアウト時間演算部23が求めるタイムアウト時間との関係の例を示す説明図である。図10に示すように、タイムアウト時間演算部23は、セッションレートaの増加時には、演算関数t=D/aを用いてタイムアウト時間を求め、求めたタイムアウト時間を登録する。また、図10に示すように、タイムアウト時間演算部23は、セッションレートの減少時には、演算関数t=i(a)を用いてタイムアウト時間を求め、タイムアウト時間の特性にヒステリシスをもたせてもよい。そのようにすることによって、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。   FIG. 10 is an explanatory diagram showing an example of the relationship between the session rate a and the timeout time calculated by the timeout time calculation unit 23. As shown in FIG. 10, when the session rate a increases, the timeout time calculation unit 23 obtains a timeout time using the calculation function t = D / a and registers the obtained timeout time. As shown in FIG. 10, when the session rate is decreased, the timeout time calculation unit 23 may obtain a timeout time using the calculation function t = i (a), and may give hysteresis to the characteristic of the timeout time. By doing so, it is possible to set the session timeout time to a larger value when the session rate is decreased, and to have a value closer to the original timeout value of the protocol when the session rate is decreased.

次に、本発明の第1の実施例を図面を参照して説明する。なお、本実施例は、第1の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図11は、ネットワーク処理装置の更に他の構成例を示すブロック図である。本実施例では、ネットワーク処理装置は、プロトコルとしてTCPを実装するネットワーク装置であるとする。   Next, a first embodiment of the present invention will be described with reference to the drawings. Note that this example corresponds to a specific implementation of the network processing apparatus shown in the first embodiment. FIG. 11 is a block diagram illustrating still another configuration example of the network processing apparatus. In this embodiment, it is assumed that the network processing apparatus is a network apparatus that implements TCP as a protocol.

本実施例では、図11に示すように、ネットワーク装置は、パケット受信手段としてTCPパケット受信部10Bと、プロトコル処理手段としてプロトコル処理部20Bと、記憶手段として磁気ディスク記憶装置30Bと、エージング処理手段としてエージング処理部40Bと、応答パケット送出手段としてTCP応答パケット送出部50Bとを含む。また、プロトコル処理部20Bは、TCP処理を行うためのプログラムに従って動作するCPU等の装置内部回路によって実現される。また、エージング処理部40Bは、プログラムに従って動作するCPU等の装置内部回路によって実現される。   In this embodiment, as shown in FIG. 11, the network device includes a TCP packet receiving unit 10B as a packet receiving unit, a protocol processing unit 20B as a protocol processing unit, a magnetic disk storage device 30B as a storage unit, and an aging processing unit. As an aging processing unit 40B and a TCP response packet sending unit 50B as a response packet sending means. The protocol processing unit 20B is realized by a device internal circuit such as a CPU that operates according to a program for performing TCP processing. The aging processing unit 40B is realized by a device internal circuit such as a CPU that operates according to a program.

また、プロトコル処理部20Bは、入力(新規)パケット判定部21B、セッションレート測定部22B、タイムアウト時間演算部23B、タイムアウト時間登録部24B及びプロトコル応答処理部25Bを含む。   The protocol processing unit 20B includes an input (new) packet determination unit 21B, a session rate measurement unit 22B, a timeout time calculation unit 23B, a timeout time registration unit 24B, and a protocol response processing unit 25B.

また、磁気ディスク装置30Bは、セッションレート記憶部31B、セッションメモリ最大量記憶部32B及びセッション情報記憶部33Bを含む。セッションレート記憶部31Bは、セッションレートを記憶する。また、セッションメモリ最大量記憶部32Bは、セッションメモリ最大量を記憶する。また、セッション情報記憶部33は、タイムアウト時間を含むセッション情報を記憶する。   The magnetic disk device 30B also includes a session rate storage unit 31B, a session memory maximum amount storage unit 32B, and a session information storage unit 33B. The session rate storage unit 31B stores a session rate. The session memory maximum amount storage unit 32B stores the session memory maximum amount. The session information storage unit 33 stores session information including a timeout time.

次に、ネットワーク装置の動作について説明する。クライアントからTCPを用いたSYNパケットによるアクセスがあると、ネットワーク装置のパケット受信部10Bは、クライアントから通信ネットワークを介してTCPパケットを受信する。また、ネットワーク装置の新規パケット判定部21Bは、受信パケットが新規パケットであるか否かを判定する。また、セッションレート判定部22Bは、受信パケットをカウントし、セッションレートaを求める。また、単位時間が経過すると、セッションレート判定部22Bは、測定したセッションレートaをセッションレート記憶部31Bに書き込む。   Next, the operation of the network device will be described. When there is an access by a SYN packet using TCP from the client, the packet receiving unit 10B of the network device receives the TCP packet from the client via the communication network. Further, the new packet determination unit 21B of the network device determines whether or not the received packet is a new packet. In addition, the session rate determination unit 22B counts received packets to obtain a session rate a. When the unit time has elapsed, the session rate determination unit 22B writes the measured session rate a in the session rate storage unit 31B.

タイムアウト時間演算部23Bは、セッションレート記憶部31Bからセッションレートaを読み出し、セッションメモリ最大量記憶部32Bからセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23Bは、読み出したセッションレートa及びセッションメモリ最大量Dに基づいて、式t=D/aを用いて、タイムアウト時間tを求める。   The timeout time calculation unit 23B reads the session rate a from the session rate storage unit 31B, and reads the session memory maximum amount D from the session memory maximum amount storage unit 32B. Then, the timeout time calculation unit 23B obtains the timeout time t using the equation t = D / a based on the read session rate a and session memory maximum amount D.

タイムアウト時間登録部24Bは、タイムアウト時間演算部23Bが求めたタイムアウト時間を含むセッション情報を、磁気ディスク装置30Bのセッション情報記憶部33Bに登録する。また、エージング処理部40Bは、タイムアウト時間tが経過すると、セッションメモリ(セッション情報記憶部33B)から登録したエントリを削除する。   The timeout time registration unit 24B registers the session information including the timeout time obtained by the timeout time calculation unit 23B in the session information storage unit 33B of the magnetic disk device 30B. In addition, when the timeout time t elapses, the aging processing unit 40B deletes the registered entry from the session memory (session information storage unit 33B).

プロトコル応答処理部25Bは、入力(受信)したSYNパケットに対して、TCPに必要な処理であるプロトコル処理を実行する。例えば、プロトコル応答処理部25Bは、セッション情報に含まれるIPアドレスやポート番号、TCPセッションを特定する情報、各種内部パラメータを更新する。また、プロトコル応答処理部25Bは、タイムアウト値をセッション情報記憶部33Bから読み出し、更新した各種内部パラメータとともにセッションメモリ(セッション情報記憶部33B)に再び書き込む。   The protocol response processing unit 25B executes protocol processing, which is processing necessary for TCP, on the input (received) SYN packet. For example, the protocol response processing unit 25B updates the IP address and port number included in the session information, information for specifying the TCP session, and various internal parameters. Further, the protocol response processing unit 25B reads the timeout value from the session information storage unit 33B and writes it again in the session memory (session information storage unit 33B) together with the updated various internal parameters.

また、プロトコル応答処理部25Bは、SYNパケットに対するSYN−ACKパケットの送信指示を、応答パケット送出部50Bに出力する。応答パケット送出部50Bは、プロトコル応答処理部25Bの指示に従って、SYN−ACKパケットをクライアントに対して送信する。   Further, the protocol response processing unit 25B outputs a transmission instruction of the SYN-ACK packet for the SYN packet to the response packet transmission unit 50B. The response packet sending unit 50B transmits a SYN-ACK packet to the client in accordance with an instruction from the protocol response processing unit 25B.

次に、本発明の第2の実施例を図面を参照して説明する。なお、本実施例は、第2の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図12は、ネットワーク処理装置の更に他の構成例を示すブロック図である。   Next, a second embodiment of the present invention will be described with reference to the drawings. This example corresponds to a specific implementation of the network processing apparatus shown in the second embodiment. FIG. 12 is a block diagram illustrating still another configuration example of the network processing apparatus.

本実施例では、磁気ディスク装置30Cが、セッションレート記憶部31B、セッションメモリ最大量記憶部32B及びセッション情報記憶部33Bに加えて、セッションメモリ登録エントリ数記憶部34Bを含む点で、第1の実施例と異なる。また、本実施例では、プロトコル処理部20Cのタイムアウト時間演算部23C及びタイムアウト時間登録部24Cの機能が、第1の実施例で示したプロトコル処理部20Bのそれらの機能と異なる。また、本実施例では、エージング処理部40Cの機能が、第1の実施例で示したエージング処理部40Bの機能と異なる。   In this embodiment, the magnetic disk device 30C includes the session memory registration entry number storage unit 34B in addition to the session rate storage unit 31B, the session memory maximum amount storage unit 32B, and the session information storage unit 33B. Different from the embodiment. In this embodiment, the functions of the timeout time calculator 23C and the timeout time register 24C of the protocol processor 20C are different from those of the protocol processor 20B shown in the first embodiment. In the present embodiment, the function of the aging processing unit 40C is different from the function of the aging processing unit 40B shown in the first embodiment.

なお、プロトコル処理部20Cの新規パケット判定部21B、セッションレート測定部22B及びプロトコル応答処理部25Bの機能は、第1の実施例で示したそれらの機能と同様である。また、TCPパケット受信部10B及びTCP応答パケット送出部50Bの機能は、第1の実施例で示したそれらの機能と同様である。   The functions of the new packet determination unit 21B, the session rate measurement unit 22B, and the protocol response processing unit 25B of the protocol processing unit 20C are the same as those shown in the first embodiment. The functions of the TCP packet receiving unit 10B and the TCP response packet sending unit 50B are the same as those shown in the first embodiment.

セッションメモリ登録エントリ数記憶部34Bは、現在セッションメモリ(セッション情報記憶部33B)に登録されているTCPセッション数を記憶している。セッションレートaに基づいてタイムアウト時間tを求める方法は、一定のセッションレートでクライアントからアクセスがある場合に有効であるが、セッションレートが大きく変動する場合には、エントリがセッションメモリの最大登録数Dを超えてしまう可能性がある。   The session memory registration entry number storage unit 34B stores the number of TCP sessions currently registered in the session memory (session information storage unit 33B). The method of obtaining the timeout time t based on the session rate a is effective when there is an access from a client at a constant session rate. However, when the session rate fluctuates greatly, the entry is the maximum registration number D of the session memory. May be exceeded.

そこで、本実施例では、セッションエントリの登録数dがセッションエントリの最大数Dに近づくに従って、よりタイムアウト値が小さくなるような重み付け関数g(d)を用意し、タイムアウト時間演算部23Cは、式(3)を用いてタイムアウト時間を求める。そのようにすることにより、ネットワーク処理装置は、セッションエントリ数dがセッションエントリの最大数Dを超えないように、登録エントリを調整することができる。   Therefore, in this embodiment, a weighting function g (d) is prepared so that the timeout value becomes smaller as the registered number d of session entries approaches the maximum number D of session entries. The time-out time is obtained using (3). By doing so, the network processing apparatus can adjust the registered entries so that the number of session entries d does not exceed the maximum number D of session entries.

次に、本発明の第3の実施例を説明する。第1の実施例では、単位時間あたりに通過する新規パケットの個数を計算しセッションレートaを求めたが、本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって速度(コネクションレート)R1を求める。   Next, a third embodiment of the present invention will be described. In the first embodiment, the number of new packets passing per unit time is calculated and the session rate a is obtained. In this embodiment, the network processing apparatus uses the exponential smoothing method to obtain a speed (connection rate). Find R1.

例えば、パケットn−1が到達した時点でのセッションレートをR0とし、到達時間をt0とする。また、パケットnが到達した時の時間をt1とし、所定の重み付け係数をα=0.125とする。そして、セッションレート測定部22Bは、セッションレートR1を式(7)を用いて求める。   For example, it is assumed that the session rate when the packet n−1 arrives is R0, and the arrival time is t0. The time when the packet n arrives is t1, and the predetermined weighting coefficient is α = 0.125. Then, the session rate measuring unit 22B obtains the session rate R1 using Expression (7).

R1=0.125/(t2−t1)+0.875R0 式(7) R1 = 0.125 / (t2-t1) + 0.875R0 Formula (7)

本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって、先のパケットが到達した時のレートと、現時刻にパケットが到達するまでの時間との2つのパラメータを用いて、速度を求めることができる。   In this embodiment, the network processing device uses the exponential smoothing method to adjust the speed using two parameters, the rate when the previous packet arrives and the time until the packet arrives at the current time. Can be sought.

次に、本発明の第4の実施例を説明する。本実施例では、ネットワーク処理装置は、タイムアウト値の演算を行う場合に、タイムアウト時間の特性や関数にヒステリシス特性をもたせる。本実施例では、ネットワーク処理装置は、セッションレートの増加時には、式t=D/aを用いてタイムアウト時間tを計算する。また、ネットワーク処理装置は、セッションレートの減少時には、関数t=i(a)を用いてタイムアウト時間tを計算する。   Next, a fourth embodiment of the present invention will be described. In this embodiment, the network processing apparatus gives a hysteresis characteristic to the characteristic or function of the timeout time when calculating the timeout value. In this embodiment, the network processing device calculates the timeout time t using the equation t = D / a when the session rate increases. Further, the network processing apparatus calculates the timeout time t using the function t = i (a) when the session rate is decreased.

本発明は、サーバ装置等のTCP処理を行うブロックやゲートウェイ、アプリケーションファイアウォール等のネットワークの中継装置内に実装し、DoS攻撃を防御する用途に適用できる。また、TCPに限らず、タイムアウト処理を行う全てのプロトコルを用いた装置において、高レートでアクセスがなされた場合に、登録エントリが溢れないように調整する用途に適用することができる。   The present invention can be installed in a network relay device such as a block that performs TCP processing of a server device or the like, a gateway, an application firewall, or the like, and can be applied to a use for preventing a DoS attack. Further, the present invention can be applied not only to TCP but also to an application that adjusts so that registration entries do not overflow when access is made at a high rate in an apparatus using all protocols that perform timeout processing.

本発明によるネットワーク処理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the network processing apparatus by this invention. ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の一例を示す流れ図である。10 is a flowchart illustrating an example of processing for registering an entry for a new session and processing for transmitting a response packet to a transmission source client. エージング処理手段が行うエージング処理の一例を示す流れ図である。It is a flowchart which shows an example of the aging process which an aging process means performs. セッションメモリへの登録セッション数dと経過時間との関係の一例を示す説明図である。It is explanatory drawing which shows an example of the relationship between the registration session number d to session memory, and elapsed time. ネットワーク処理装置の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of a network processing apparatus. ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の他の例を示す流れ図である。12 is a flowchart illustrating another example of processing for registering an entry for a new session and processing for transmitting a response packet to a transmission source client by a network processing apparatus. エージング処理手段が行うエージング処理の他の例を示す流れ図である。It is a flowchart which shows the other example of the aging process which an aging process means performs. セッションメモリへの登録セッション数dと経過時間との関係の他の例を示す説明図である。It is explanatory drawing which shows the other example of the relationship between the registration session number d to session memory, and elapsed time. 式(4)を用いてタイムアウト時間を制御した場合の登録セッション数dと経過時間との関係を示す説明図である。It is explanatory drawing which shows the relationship between the number d of registration sessions at the time of controlling timeout time using Formula (4), and elapsed time. セッションレートaと、タイムアウト時間演算部23が求めるタイムアウト時間との関係の例を示す説明図である。It is explanatory drawing which shows the example of the relationship between the session rate a and the timeout time which the timeout time calculating part 23 calculates | requires. ネットワーク処理装置の更に他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of a network processing apparatus. ネットワーク処理装置の更に他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of a network processing apparatus.

符号の説明Explanation of symbols

10 パケット受信手段
20 プロトコル処理手段
21 新規パケット判定部
22 セッションレート測定部
23 タイムアウト時間演算部
24 タイムアウト時間登録部
25 プロトコル応答処理部
30 記憶手段
31 セッションレート記憶部
32 セッションメモリ最大量記憶部
33 セッション情報記憶部
40 エージング処理手段
50 応答パケット送出手段
DESCRIPTION OF SYMBOLS 10 Packet receiving means 20 Protocol processing means 21 New packet determination part 22 Session rate measurement part 23 Timeout time calculation part 24 Timeout time registration part 25 Protocol response processing part 30 Storage means 31 Session rate storage part 32 Session memory maximum amount storage part 33 Session Information storage unit 40 Aging processing means 50 Response packet sending means

Claims (15)

大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する応答手段とを
備えたことを特徴とするネットワーク処理装置。
A network processing device for processing a high load state caused by mass access,
When detecting a new session to be handled by the network processing device, according to a predetermined condition, a timeout time calculation means for dynamically obtaining a timeout time corresponding to the new session;
Based on the timeout time obtained by the timeout time calculating means, an entry deleting means for deleting an entry of a session that has timed out;
A network processing apparatus comprising: response means for transmitting response data to a client corresponding to an entry of a currently registered session via a communication network.
大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、
クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段と、
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段と、
前記パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、前記セッション情報記憶手段に記憶させることによって、前記新たなセッションのエントリを登録するエントリ登録手段と、
前記セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段と、
前記タイムアウト判断手段がタイムアウト時間が経過したと判断すると、前記セッション情報記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段とを
備えたことを特徴とするネットワーク処理装置。
A network processing device for processing a high load state caused by mass access,
A packet receiving means for receiving a packet from a client via a communication network;
Session information storage means for storing session information indicating a session currently handled by the network processing device;
When the packet receiving means receives a packet for a new session, a timeout time calculating means for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
Entry registration means for registering the entry of the new session by storing session information including the timeout time obtained by the timeout time calculation means in the session information storage means;
Timeout determination means for determining whether or not a timeout time has elapsed for a session currently handled by the network processing device based on a timeout time indicated in session information stored by the session information storage means;
When the timeout determination unit determines that a timeout period has elapsed, an entry deletion unit that deletes a session entry by deleting session information corresponding to the session for which the timeout period has elapsed from the session information storage unit;
A network processing apparatus comprising: response packet transmission means for transmitting a response packet to a client corresponding to an entry of a currently registered session via a communication network.
所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求めるセッションレート算出手段を備え、
タイムアウト時間算出手段は、前記セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求める
請求項2記載のネットワーク処理装置。
A session rate calculating means for obtaining a session rate indicating a ratio of new sessions generated per predetermined unit;
The network processing device according to claim 2, wherein the timeout time calculating unit dynamically calculates a timeout time corresponding to a new session based on the session rate calculated by the session rate calculating unit.
セッションレート算出手段は、所定のサンプリング単位に従って、受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求める請求項3記載のネットワーク処理装置。   The network processing device according to claim 3, wherein the session rate calculation means calculates the session rate by calculating an average of the number of packets of the received new session according to a predetermined sampling unit. セッションレート算出手段は、サンプリング単位として所定の時間単位に従って、セッションレートを求める請求項4記載のネットワーク処理装置。   The network processing device according to claim 4, wherein the session rate calculation means calculates the session rate according to a predetermined time unit as a sampling unit. セッションレート算出手段は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求める請求項4記載のネットワーク処理装置。   The network processing device according to claim 4, wherein the session rate calculation means calculates the session rate according to a unit of the number of packets received in the past as a sampling unit. セッションレート算出手段は、指数平滑法を用いてセッションレートを求める請求項3記載のネットワーク処理装置。   The network processing apparatus according to claim 3, wherein the session rate calculation means obtains the session rate using an exponential smoothing method. セッションレート算出手段が求めたセッションレートを記憶するセッションレート記憶手段を備え、
タイムアウト時間算出手段は、
前記セッションレート記憶手段からセッションレートaを読み出し、
所定の関数t=f(a)を用いて、タイムアウト時間tを求める
請求項3から請求項7のうちのいずれか1項に記載のネットワーク処理装置
Session rate storage means for storing the session rate obtained by the session rate calculation means,
The timeout time calculation means is
Read session rate a from the session rate storage means;
The network processing device according to any one of claims 3 to 7, wherein a timeout time t is obtained using a predetermined function t = f (a).
セッション情報記憶手段に登録できるセッションのエントリの最大量を示す最大登録可能量Dを記憶する最大量記憶手段を備え、
タイムアウト時間算出手段は、
前記最大量記憶手段から、前記最大登録可能量Dを読み出し、
所定の関数f(a)としてt=f(a)=D/aを用いて、タイムアウト時間tを求める
請求項8記載のネットワーク処理装置。
A maximum amount storage means for storing a maximum registerable amount D indicating the maximum amount of session entries that can be registered in the session information storage means;
The timeout time calculation means is
Reading the maximum registerable amount D from the maximum amount storage means,
The network processing device according to claim 8, wherein the timeout time t is obtained by using t = f (a) = D / a as the predetermined function f (a).
セッション情報記憶手段に登録されているエントリ数dを記憶するセッションエントリ数記憶手段を備え、
タイムアウト時間算出手段は、
セッションレート記憶手段から、セッションレートaを読み出し、
前記セッションエントリ数記憶手段から、エントリ数dを読み出し、
所定の関数f(a)と関数g(d)とを合成した合成関数f{g(a,d)}を用いて、タイムアウト時間tを求める
請求項8記載のネットワーク処理装置。
Session entry number storage means for storing the number of entries d registered in the session information storage means,
The timeout time calculation means is
Read session rate a from the session rate storage means,
Read the entry number d from the session entry number storage means,
The network processing device according to claim 8, wherein the timeout time t is obtained using a composite function f {g (a, d)} obtained by combining a predetermined function f (a) and a function g (d).
タイムアウト時間算出手段は、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間tを求める請求項8から請求項10のうちのいずれか1項に記載のネットワーク処理装置。   The network according to any one of claims 8 to 10, wherein the time-out time calculation means obtains the time-out time t by using different calculation methods when the session rate is increased and when the session rate is decreased. Processing equipment. 大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、
クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを
含むことを特徴とするネットワーク処理方法。
A network processing method for processing a high load state caused by mass access,
When a new session to be handled by a network processing device that processes access from a client is detected, a timeout time corresponding to the new session is dynamically determined according to a predetermined condition;
Deleting a session entry that has timed out based on the determined time-out period;
Transmitting response data via a communication network to a client corresponding to a currently registered session entry.
大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、
クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、
クライアントから、通信ネットワークを介してパケットを受信するステップと、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録するステップと、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを
含むことを特徴とするネットワーク処理方法。
A network processing method for processing a high load state caused by mass access,
Storing session information indicating a session currently handled by a network processing device that processes access from a client in a storage unit;
Receiving a packet from a client via a communication network;
Dynamically receiving a timeout period corresponding to the new session according to a predetermined condition upon receiving a packet of the new session;
Registering the new session entry by newly storing session information including the determined timeout time in the storage means;
Determining whether or not a timeout time has elapsed for a session currently handled by the network processing device based on a timeout time indicated in the stored session information;
Determining that the timeout period has elapsed, deleting a session entry from the storage means by deleting session information corresponding to the session for which the timeout period has elapsed; and
Transmitting a response packet to a client corresponding to an entry of a currently registered session via a communication network.
大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、
コンピュータに、
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを
実行させるネットワーク処理プログラム。
A network processing program for processing a high load state caused by mass access,
On the computer,
When a new session to be handled by the network processing device is detected, a process for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
A process of deleting an entry of a session that has timed out based on the determined time-out period;
A network processing program that causes a client corresponding to an entry of a currently registered session to execute response data transmission processing via a communication network.
大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、
クライアントから、通信ネットワークを介してパケットを受信する処理と、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録する処理と、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを
実行させるネットワーク処理プログラム。
A network processing program for processing a high load state caused by mass access,
In a computer comprising storage means for storing session information indicating a session currently handled by the network processing device,
Receiving a packet from a client via a communication network;
When a packet for a new session is received, a process for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
A process of registering an entry for the new session by newly storing session information including the determined timeout time in the storage means;
Based on the time-out time indicated in the stored session information, a process for determining whether or not the time-out time has elapsed for the session currently handled by the network processing device;
When it is determined that the timeout time has elapsed, processing for deleting a session entry by deleting session information corresponding to the session for which the timeout time has elapsed from the storage unit;
A network processing program that causes a client corresponding to an entry of a currently registered session to execute a process of transmitting a response packet via a communication network.
JP2005095543A 2005-03-29 2005-03-29 Network processing apparatus, network processing method, and network processing program Expired - Fee Related JP4475156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005095543A JP4475156B2 (en) 2005-03-29 2005-03-29 Network processing apparatus, network processing method, and network processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005095543A JP4475156B2 (en) 2005-03-29 2005-03-29 Network processing apparatus, network processing method, and network processing program

Publications (2)

Publication Number Publication Date
JP2006279531A true JP2006279531A (en) 2006-10-12
JP4475156B2 JP4475156B2 (en) 2010-06-09

Family

ID=37213807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005095543A Expired - Fee Related JP4475156B2 (en) 2005-03-29 2005-03-29 Network processing apparatus, network processing method, and network processing program

Country Status (1)

Country Link
JP (1) JP4475156B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120566A1 (en) * 2007-03-29 2008-10-09 Nec Corporation Engine/processor cooperation system and cooperation method
JP2008250496A (en) * 2007-03-29 2008-10-16 Nec Corp Engine-processor coordination system and method
WO2013133400A1 (en) 2012-03-09 2013-09-12 日本電気株式会社 Controller, communication system, switch control method and program
JP2015529371A (en) * 2012-09-18 2015-10-05 アマゾン テクノロジーズ インク Adaptive service timeout
WO2018022267A1 (en) * 2016-07-27 2018-02-01 Microsoft Technology Licensing, Llc Storing and expiring non-tcp traffic
JPWO2018163464A1 (en) * 2017-03-09 2019-07-04 日本電信電話株式会社 Attack countermeasure determination apparatus, attack countermeasure determination method and attack countermeasure determination program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547503B (en) * 2017-06-12 2020-12-25 新华三信息安全技术有限公司 Session table item processing method and device, firewall equipment and storage medium

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120566A1 (en) * 2007-03-29 2008-10-09 Nec Corporation Engine/processor cooperation system and cooperation method
JP2008250496A (en) * 2007-03-29 2008-10-16 Nec Corp Engine-processor coordination system and method
JP5278705B2 (en) * 2007-03-29 2013-09-04 日本電気株式会社 Engine / processor linkage system and linkage method
WO2013133400A1 (en) 2012-03-09 2013-09-12 日本電気株式会社 Controller, communication system, switch control method and program
US9559959B2 (en) 2012-03-09 2017-01-31 Nec Corporation Control apparatus, communication system, switch controlling method and program
JP2015529371A (en) * 2012-09-18 2015-10-05 アマゾン テクノロジーズ インク Adaptive service timeout
US10263876B2 (en) 2012-09-18 2019-04-16 Amazon Technologies, Inc. Adaptive service timeouts
WO2018022267A1 (en) * 2016-07-27 2018-02-01 Microsoft Technology Licensing, Llc Storing and expiring non-tcp traffic
US10091089B2 (en) 2016-07-27 2018-10-02 Microsoft Technology Licensing, Llc Storing and expiring non-TCP traffic
JPWO2018163464A1 (en) * 2017-03-09 2019-07-04 日本電信電話株式会社 Attack countermeasure determination apparatus, attack countermeasure determination method and attack countermeasure determination program
US11652845B2 (en) 2017-03-09 2023-05-16 Nippon Telegraph And Telephone Corporation Attack countermeasure determination apparatus, attack countermeasure determination method, and attack countermeasure determination program

Also Published As

Publication number Publication date
JP4475156B2 (en) 2010-06-09

Similar Documents

Publication Publication Date Title
JP6542313B2 (en) System and method for traffic filtering upon detection of DDoS attack
US10038715B1 (en) Identifying and mitigating denial of service (DoS) attacks
EP2289221B1 (en) Network intrusion protection
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
JP4475156B2 (en) Network processing apparatus, network processing method, and network processing program
JP6957675B2 (en) Network attack protection system and method
US20060041667A1 (en) Method and apparatus for protecting legitimate traffic from dos and ddos attacks
JP4794197B2 (en) Mitigating network amplification attacks
KR20130017333A (en) Attack decision system of slow distributed denial of service based application layer and method of the same
François et al. Network security through software defined networking: a survey
US11196712B1 (en) Proxy scraper detector
US20140304817A1 (en) APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK
JP4373306B2 (en) Method and apparatus for preventing distributed service denial attack against TCP server by TCP stateless hog
US11363044B2 (en) Method and system for detecting and mitigating HTTPS flood attacks
US9961066B1 (en) Method and apparatus for limiting traffic rate to an origin server
JP2018508166A (en) System and method for regulating access requests
Sudar et al. TFAD: TCP flooding attack detection in software-defined networking using proxy-based and machine learning-based mechanisms
JP2018026747A (en) Aggression detection device, aggression detection system and aggression detection method
Arafat et al. A practical approach and mitigation techniques on application layer DDoS attack in web server
Boteanu et al. A comprehensive study of queue management as a DoS counter-measure
CN106656912A (en) Method and device for detecting denial of service attack
EP3396920B1 (en) System and method of traffic filtering upon detection of a ddos attack
JP7363503B2 (en) Information processing device, information processing method, and information processing system
KR102162991B1 (en) Integrated security router for idc and integrated secutiry service based on traffic shaping and ips fusion implementation
Bellaïche et al. Avoiding DDoS with active management of backlog queues

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees