JP4994323B2 - Relay device - Google Patents

Relay device Download PDF

Info

Publication number
JP4994323B2
JP4994323B2 JP2008192768A JP2008192768A JP4994323B2 JP 4994323 B2 JP4994323 B2 JP 4994323B2 JP 2008192768 A JP2008192768 A JP 2008192768A JP 2008192768 A JP2008192768 A JP 2008192768A JP 4994323 B2 JP4994323 B2 JP 4994323B2
Authority
JP
Japan
Prior art keywords
flow
action
information
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.)
Expired - Fee Related
Application number
JP2008192768A
Other languages
Japanese (ja)
Other versions
JP2010034708A (en
Inventor
大機 矢野
剛之 秋元
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2008192768A priority Critical patent/JP4994323B2/en
Publication of JP2010034708A publication Critical patent/JP2010034708A/en
Application granted granted Critical
Publication of JP4994323B2 publication Critical patent/JP4994323B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、中継装置に係り、特に、ネットワーク上に配置され、フロー制御を実行することができる中継装置に関する。   The present invention relates to a relay device, and more particularly to a relay device that is arranged on a network and can execute flow control.

インターネットなどの広域ネットワークはオープンな環境であり、誰もが自由に接続することが可能である。また、近年のFTTH(Fiber to the Home)等の普及により回線の高速化が進んでいる。また、さまざまなアプリケーションの登場により、ネットワーク上を流れるフローの種類が増え挙動が複雑になってきている。キャリアやISP(Internet Service Provider)のネットワーク上では、ユーザ間の公平性を確保したり、DoS(Denial of Service)攻撃等から装置を守るために、フィルタ等の技術を使用している。現状のフィルタ技術は、予想されるフロー条件をあらかじめ設定し、そのフロー条件に合致したフローに対してどのような制裁を実行するかといった条件もあらかじめ設定しておく。フィルタが設定された装置は、自装置内を流れるフローと設定されている複数個の条件を常に比較し、条件に合致したフローを発見した場合、その条件に設定されている制裁を実行する。
また、特許文献1〜3には、トラフィック情報を統計的に処理しながら不正なトラフィックを検出し、トラフィックの遮断や帯域制限を行う技術が開示されている。
Wide-area networks such as the Internet are open environments, and anyone can connect freely. In addition, the speed of the line is increasing due to the recent spread of FTTH (Fiber to the Home) and the like. In addition, with the advent of various applications, the types of flows that flow on the network have increased and the behavior has become complicated. On a carrier or ISP (Internet Service Provider) network, a technique such as a filter is used in order to ensure fairness among users and protect the device from DoS (Denial of Service) attacks. In the current filter technology, an expected flow condition is set in advance, and conditions such as what kind of sanctions are executed for a flow that matches the flow condition are also set in advance. The device in which the filter is set always compares the flow flowing in the device with a plurality of conditions set, and if a flow that matches the conditions is found, the sanctions set in the conditions are executed.
Patent Documents 1 to 3 disclose techniques for detecting illegal traffic while statistically processing traffic information, and blocking traffic or limiting bandwidth.

特開2006−314077号公報JP 2006-314077 A 特開2004−356906号公報JP 2004-356906 A 特開2005−277804号公報JP 2005-277804 A

従来の技術では、装置内を流れるフロー条件を予測し、かつ、そのフローに対して有効に動作する制御条件を事前に設定しておく必要があった。しかし、回線を流れるフローの増加により、事前にフロー条件を設定しておくことが困難になりつつある。さらにさまざまなアプリケーションやプロトコルの出現により、該当フローに有効な制御を一意に決定し事前に設定しておくことも困難になりつつある。
本発明は、以上の点に鑑み、複数の装置が接続される通信ネットワーク上に配置され、設定されたポリシ違反であるフローを自動的に検出し、そのようなフローに対し複数の制裁条件を実行することを目的とする。
In the conventional technique, it is necessary to predict a flow condition flowing in the apparatus and to set in advance a control condition that operates effectively for the flow. However, it is becoming difficult to set the flow conditions in advance due to an increase in the flow through the line. Furthermore, with the advent of various applications and protocols, it is becoming difficult to uniquely determine and set in advance control effective for the corresponding flow.
In view of the above, the present invention is arranged on a communication network to which a plurality of devices are connected, automatically detects a flow that is a set policy violation, and sets a plurality of sanction conditions for such a flow. The purpose is to execute.

本発明の解決手段によると、
パケットの送信処理を行うパケット送信部と、
受信または送信するパケットからフローを検出するフロー検出部と、
フロー情報と帯域と初回違反時間と前回違反時間と使用中又は未使用のフラグとを含むエントリを記憶する帯域監視テーブルを有し、前記フロー検出部が検出したフローがあらかじめ設定されたポリシに違反するか遵守するかを判定する帯域監視部と、
前記帯域監視部が判定したポリシに違反したフローに対して、あらかじめ設定された複数のアクション制御動作を順番に実行するアクション制御部と、
を備え、
パケット送信部は、受信したパケットのヘッダ情報を前記フロー検出部に送信し、
前記フロー検出部は、前記パケット送信部から受信したパケットのヘッダ情報を用いてフローを特定し、特定したフローのフロー情報毎にパケット数をカウントし、該パケット数が設定された閾値を超えたフローのフロー情報を含む閾値越え情報を前記帯域監視部へ送信し、

前記帯域監視部は
前記フロー検出部より送られてきた閾値越え情報をもとに帯域監視テーブルのエントリを作成し、
受信したパケットのヘッダ情報に含まれるフロー情報と、帯域監視テーブルに格納されているフロー情報とを、フラグが使用中の全てのエントリについて比較し、
a. 一致するエントリが存在しなかった場合、エントリ無しの情報及びフロー情報を含む監視情報を前記アクション制御部へ送信し、
b. 一致するエントリが存在した場合、帯域を測定し、予め定められた閾値を超えているか確認し、
i) 帯域が閾値を超えていない場合、帯域遵守であると判定し、現在時刻と該当するエントリの前回違反時間との差分の時間が、時刻閾値を超えているかを確認し、
時刻閾値を超えている場合、監視対象から除外するために、帯域監視テーブルから該当エントリをフラグを未使用にすることで削除し、一方、時刻閾値を超えていない場合、監視対象のままとし、
該当フローの、エントリ有りの情報とフロー情報と帯域遵守情報と一定時間以上帯域を遵守していたかどうかの情報を含む監視情報を前記アクション制御部へ送信し、
ii) 帯域が閾値以上の場合、帯域違反が発生したと判定し、初回違反時間に基づき違反回数を確認し、
該当フローのエントリの初回違反時間と前回違反時間を更新し、
該フローの、エントリ有の情報とフロー情報と帯域違反情報と違反が1回目又は2回目以降であるという情報とを含む監視情報を前記アクション制御部へ送信し、

前記アクション制御部は、監視情報に基づき、実行するアクション制御を決定し、フロー情報とアクション内容を含むアクション指示情報を前記パケット送信部へ送信し、
前記パケット送信部では、前記アクション制御部から送られてきたアクション指示情報を元に、該当フローに対して制御を行い、一方、アクションが指示されていなければ、該当フローに相当するパケットをそのまま送信する
ようにしたパケットを中継する中継装置が提供される。
According to the solution of the present invention,
A packet transmitter that performs packet transmission processing;
A flow detector for detecting a flow from a packet to be received or transmitted;
It has a bandwidth monitoring table that stores entries including flow information, bandwidth, initial violation time, previous violation time, and in-use or unused flag, and the flow detected by the flow detector violates a preset policy. A bandwidth monitoring unit for determining whether to comply or
An action control unit that sequentially executes a plurality of preset action control operations for a flow that violates the policy determined by the bandwidth monitoring unit;
With
The packet transmission unit transmits header information of the received packet to the flow detection unit,
The flow detection unit identifies a flow using header information of a packet received from the packet transmission unit, counts the number of packets for each flow information of the identified flow, and the number of packets exceeds a set threshold value Sending information exceeding the threshold value including flow information of the flow to the bandwidth monitoring unit,

The bandwidth monitoring unit
Create a bandwidth monitoring table entry based on the threshold value exceeded information sent from the flow detection unit,
The flow information included in the header information of the received packet is compared with the flow information stored in the bandwidth monitoring table for all entries in which the flag is in use,
a. If there is no matching entry, send monitoring information including no entry information and flow information to the action control unit,
b. If there is a matching entry, measure the bandwidth and check if it exceeds a predetermined threshold,
i) If the bandwidth does not exceed the threshold, it is determined that the bandwidth is being observed, and whether the time of the difference between the current time and the previous violation time of the corresponding entry exceeds the time threshold,
If the time threshold is exceeded, the corresponding entry is deleted from the bandwidth monitoring table by making the flag unused in order to exclude it from the monitoring target.
Sending the monitoring information including the information of the corresponding flow, the entry information, the flow information, the band compliance information, and whether or not the band has been observed for a certain period of time to the action control unit,
ii) If the bandwidth is above the threshold, determine that a bandwidth violation has occurred, check the number of violations based on the initial violation time,
Update the first violation time and last violation time for the entry in the flow,
Sending the monitoring information including the information with entry of the flow, the flow information, the bandwidth violation information, and the information that the violation is first or second time to the action control unit,

The action control unit determines action control to be executed based on the monitoring information, and transmits action instruction information including flow information and action content to the packet transmission unit ,
The packet transmission unit controls the corresponding flow based on the action instruction information sent from the action control unit. On the other hand, if no action is instructed, the packet corresponding to the corresponding flow is transmitted as it is. There is provided a relay device for relaying a packet configured to do so.

本発明によると、事前にフロー条件を設定せずにすみ、該当フローに有効な制裁を自動的に発動することが可能となる。
また、本発明によると、中継装置でフロー条件をあらかじめ設定しておくのではなく、ポリシのみを設定しておくだけで、ポリシに違反する自律的フローを特定し、そのフローの特性にあった帯域制御などの制御を実行することができる。
According to the present invention, it is not necessary to set flow conditions in advance, and it is possible to automatically activate sanctions effective for the relevant flow.
In addition, according to the present invention, an autonomous flow that violates the policy is specified by setting only the policy, not by setting the flow condition in advance in the relay device, and the flow has characteristics. Control such as bandwidth control can be executed.

図1は、本実施の形態のルータ100を示す。以下に、本実施の形態のフロー制御機構を所持するルータ(中継装置)100の構成を図1を用いて説明する。
ルータ100は、パケットが入力する入力回線110とパケットの受信処理を行うパケット受信回路120と、パケットを出力する出力回線190の識別子である出力回線番号の判定等を実行するヘッダ処理部130と、パケットを前記出力回線番号に基づきスイッチングするパケット中継処理手段140と、送信側バッファ170へパケットを書き出してパケットの送信処理を行うパケット送信回路150と、受信したパケットのフロー情報を抽出し、事前に定義された複数のアクションから一つを決定し実行するフロー制御部160と、パケットを出力する出力回線190を備える。管理端末180は、ルータ100の管理と各種設定を行なう。ヘッダ処理部130は、経路検索処理部12を有する。フロー制御部160は、フロー検出部300と帯域監視部600とアクション制御部900を有する。図1には入力回線110と出力回線190がそれぞれ1回線ずつ記載されているが、実際には、ルータ100は、通常、複数の入力回線110と出力回線190から構成される。
FIG. 1 shows a router 100 of the present embodiment. Hereinafter, the configuration of a router (relay apparatus) 100 having the flow control mechanism of the present embodiment will be described with reference to FIG.
The router 100 includes an input line 110 to which a packet is input, a packet reception circuit 120 that performs packet reception processing, a header processing unit 130 that performs determination of an output line number that is an identifier of an output line 190 that outputs a packet, Packet relay processing means 140 for switching packets based on the output line number, packet transmission circuit 150 for writing packets to the transmission side buffer 170 and performing packet transmission processing, and extracting flow information of received packets in advance A flow control unit 160 that determines and executes one of a plurality of defined actions and an output line 190 that outputs a packet are provided. The management terminal 180 performs management of the router 100 and various settings. The header processing unit 130 includes a route search processing unit 12. The flow control unit 160 includes a flow detection unit 300, a bandwidth monitoring unit 600, and an action control unit 900. Although one input line 110 and one output line 190 are shown in FIG. 1, in practice, the router 100 is usually composed of a plurality of input lines 110 and output lines 190.

図2に、ネットワーク上を流れるパケットのフォーマットの一例を示す。
図2には一例としてEthrenet回線の場合を示した。パケットはL2ヘッダ部220とL3ヘッダ部221とL4ヘッダ部222とデータ部223を含む。L2ヘッダ部220は、L2のアドレス情報などパケットの入力回線の種類によって異なる情報から構成される。この例ではL2ヘッダ部220は、送信元MACアドレス210と、宛先MACアドレス211を含む。L3ヘッダ部221は、IPのバージョンを示すIPバージョン212と上位層(L4層)の種別を示すプロトコル番号213と送信元アドレスである送信元IPアドレス214と、宛先アドレスである宛先IPアドレス215、L3ヘッダ部221とL4ヘッダ部222とデータ部223を足したバイト長であるL3パケット長216を含む。L4ヘッダ部222は、送信元ポート217と宛先ポートを表す宛先ポート218を含む。また、データ部223は任意のユーザデータである、データ219を含む。
FIG. 2 shows an example of a format of a packet flowing on the network.
FIG. 2 shows the case of an Ethernet line as an example. The packet includes an L2 header part 220, an L3 header part 221, an L4 header part 222, and a data part 223. The L2 header section 220 is composed of information that differs depending on the type of input line of the packet, such as L2 address information. In this example, the L2 header unit 220 includes a source MAC address 210 and a destination MAC address 211. The L3 header section 221 includes an IP version 212 indicating the IP version, a protocol number 213 indicating the type of the upper layer (L4 layer), a source IP address 214 that is a source address, a destination IP address 215 that is a destination address, An L3 packet length 216 that is a byte length obtained by adding the L3 header portion 221, the L4 header portion 222, and the data portion 223 is included. The L4 header portion 222 includes a transmission source port 217 and a destination port 218 representing a destination port. The data portion 223 includes data 219, which is arbitrary user data.

次に、本発明のルータ100の動作概要を図1を用いて説明する。
パケットはまず入力回線110よりパケット受信回路120に入力する。パケットがパケット受信回路120に入力すると、パケット受信回路120は、受信したパケットのL2ヘッダ部220、L3ヘッダ部221、L4ヘッダ部222を含むパケットヘッダ情報10をヘッダ処理部130に送信する。ヘッダ処理部130は、パケット受信回路120より受信したパケットヘッダ情報10を用いて経路検索処理12を実行し、出力回線番号を検索し、その検索結果をパケット受信回路120へ送信する。
パケット中継処理手段140は、パケット受信回路120がヘッダ処理部130から受信した出力回線番号11に従いパケットをスイッチングし、出力回線190毎のパケット送信回路150へパケットを送信する。
パケット送信回路150は、パケット中継処理手段140より受信したパケットのL3ヘッダ部221とL4ヘッダ部222をフロー制御部160に送信する。フロー検出部300は、L3ヘッダ情報221とL4ヘッダ情報222を用いてフローを特定する。フロー検出部300では、例えば、IPバージョン212、プロトコル番号213、送信元IPアドレス214、宛先IPアドレス215、送信元ポート217、宛先ポート218の全フィールドが同じ値のものを同一のフローとして定義する。フロー検出部300では、フロー毎にパケット数をカウントし、パケット数が設定された閾値を超えたフローの情報(閾値越え情報16)を帯域監視部600へ送信する。帯域監視部600は、閾値越え情報16に含まれるフロー情報で指定されたフローの監視を行い、帯域の監視を行った結果と違反回数と遵守時間を含む監視情報19を生成し、監視情報19をアクション制御部900に送信する。アクション制御部900は、監視情報19を基に実行する制御を決定し、アクション指示情報13をパケット送信回路150へ送信する。なお、フロー検出部300、帯域監視部600、アクション制御部900による処理の詳細は、後述する。パケット送信回路150は、アクション指示情報13の指示に従い、該当パケットのパケット送信バッファ190への送信、もしくは該当パケットの廃棄もしくは、パケットヘッダの書き換え等を実行する。
パケット送信バッファ170に送信されたパケットは、出力回線190に送信される。
Next, an outline of the operation of the router 100 of the present invention will be described with reference to FIG.
The packet is first input to the packet receiving circuit 120 from the input line 110. When the packet is input to the packet receiving circuit 120, the packet receiving circuit 120 transmits the packet header information 10 including the L2 header part 220, the L3 header part 221, and the L4 header part 222 of the received packet to the header processing part 130. The header processing unit 130 executes the route search processing 12 using the packet header information 10 received from the packet receiving circuit 120, searches for an output line number, and transmits the search result to the packet receiving circuit 120.
The packet relay processing unit 140 switches the packet according to the output line number 11 received from the header processing unit 130 by the packet receiving circuit 120 and transmits the packet to the packet transmission circuit 150 for each output line 190.
The packet transmission circuit 150 transmits the L3 header part 221 and the L4 header part 222 of the packet received from the packet relay processing unit 140 to the flow control unit 160. The flow detection unit 300 identifies the flow using the L3 header information 221 and the L4 header information 222. In the flow detection unit 300, for example, all the fields of the IP version 212, the protocol number 213, the source IP address 214, the destination IP address 215, the source port 217, and the destination port 218 have the same value are defined as the same flow. . The flow detection unit 300 counts the number of packets for each flow, and transmits information on a flow in which the number of packets exceeds the set threshold (threshold exceeding information 16) to the bandwidth monitoring unit 600. The bandwidth monitoring unit 600 monitors the flow specified by the flow information included in the threshold value excess information 16, generates monitoring information 19 including the results of bandwidth monitoring, the number of violations, and the compliance time. Is transmitted to the action control unit 900. The action control unit 900 determines the control to be executed based on the monitoring information 19 and transmits the action instruction information 13 to the packet transmission circuit 150. Details of processing by the flow detection unit 300, the bandwidth monitoring unit 600, and the action control unit 900 will be described later. The packet transmission circuit 150 executes transmission of the corresponding packet to the packet transmission buffer 190, discarding of the corresponding packet, rewriting of the packet header, or the like according to the instruction of the action instruction information 13.
The packet transmitted to the packet transmission buffer 170 is transmitted to the output line 190.

図3に、本実施の形態のフロー検出部を示すブロック図を示す。フロー検出部300は、閾値情報30、フロー解析部31、フローテーブル32を備える。
図5に、本実施の形態のフロー検出部のフローチャートを示す。
次に、フロー検出部300の詳細動作について図5を用いて説明する。フロー検出部300のフロー解析部31は、受信したL3ヘッダ情報221とL4ヘッダ情報222に含まれる、フロー情報を抽出する(ステップ501)。フロー情報としては、例えば、IPバージョン、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号が含まれる。フロー情報の要素はこれらに限定されるわけではなく、これらの要素のうち所望のいずれか複数のみとしてもよいし、必要に応じて他の要素を加えてもよい。また、ステップ501におけるパケットからのフロー情報の取り出しは、受信パケット全てではなく、適当なサンプリング処理により選択されたパケットに対してのみ行うようにしてもよい。これにより、膨大なトラフィックが流れる高速ネットワークにおいても処理可能となる。
次に、フロー解析部31は、ステップ501で選択された項目の組み合わせより、パケット数を積算するためのフローテーブル32のテーブル番号を生成する(ステップ502)。
FIG. 3 is a block diagram showing the flow detection unit of the present embodiment. The flow detection unit 300 includes threshold information 30, a flow analysis unit 31, and a flow table 32.
FIG. 5 shows a flowchart of the flow detection unit of the present embodiment.
Next, the detailed operation of the flow detection unit 300 will be described with reference to FIG. The flow analysis unit 31 of the flow detection unit 300 extracts the flow information included in the received L3 header information 221 and L4 header information 222 (step 501). The flow information includes, for example, an IP version, a source IP address, a destination IP address, a source port number, a destination port number, and a protocol number. The elements of the flow information are not limited to these, and any desired plural of these elements may be added, or other elements may be added as necessary. Further, the extraction of the flow information from the packet in step 501 may be performed only for the packet selected by an appropriate sampling process instead of all the received packets. As a result, processing is possible even in a high-speed network through which a large amount of traffic flows.
Next, the flow analysis unit 31 generates a table number of the flow table 32 for accumulating the number of packets from the combination of items selected in step 501 (step 502).

図4に、フローテーブル32の一例を示す。
1フロー分のフローテーブル32は、テーブル番号401、フロー情報(送信元IPアドレス402、宛先IPアドレス403、送信元ポート番号404、宛先ポート番号405、プロトコル番号406、IPバージョン407)、パケット数カウンタ408を含み、これらの組みが複数格納された構造となっている。全てのフローが格納できるような広大なフローテーブル32空間を割り当てることは難しい場合もあるため、テーブル番号決定方法としては、選択された項目の組み合わせに対して適当なハッシュ関数を適用し、得られたハッシュ値をテーブル番号とする方法をとることができる。また、異なるフローが同一のハッシュ値となり、フローテーブル32の利用が偏ってしまうことが考えられるため、ハッシュ関数を複数使用するとよい。ここでは、一例として、ハッシュ関数を4つ用意し、一つのフローに対して、4つのハッシュ値を生成する。このハッシュ値そのものをフローテーブル32のテーブル番号として使用する。フローテーブル32は、テーブル番号1のテーブルには、テーブル番号を“1”を書き込み、それ以外のフィールドには“0”を書き込んでおく。同様にテーブル番号Nのテーブルには、テーブル番号“N”を書き込み、それ以外のフィールドには“0”を書き込んでおく。フロー解析部31は、このようにしてN個のフローテーブル32を予め用意しておく。
フロー解析部31は、ステップ502で、例えば4つのハッシュ関数に対する4つのテーブル番号を生成したら、4つ全てのテーブル番号に相当するフローテーブル32の内容を確認する(ステップ503)。ここでは、まず、フロー解析部31は、フローテーブル32の送信元IPアドレス402、宛先IPアドレス403、送信元ポート番号404、宛先ポート番号405、プロトコル番号406、IPバージョン407の各値と、ステップ501で抽出されたフロー情報の各値がすべて一致するテーブルが存在するか確認する。フロー情報中の全てのフィールドが一致するテーブルが存在した場合、同一テーブル有と判定する。フロー解析部31は、フロー情報中の全てのフィールドが一致するテーブルが存在しなかった場合、未使用のテーブルが存在するか確認する。未使用かどうかは、パケット数カウンタが“0”であるかどうかで判断する。フロー解析部31は、パケット数カウンタが“0”の場合、未使用であると判断し、空きテーブル有と判定する。全てのテーブルのパケット数カウンタが“0”以外であった場合、空きテーブル無と判定する。
また、フロー解析部31は、ステップ503の結果、空きテーブル有と判定された場合は、フロー解析部31は、該当するテーブル番号のフローテーブル32にステップ501で抽出されたフロー情報を書き込む(ステップ505)。テーブル番号nのテーブルが空きテーブル有りと判定されたとすると、送信IPアドレスフィールド402−n、宛先IPアドレスフィールド403−n、送信元ポート番号404−n、宛先ポート番号405−n、プロトコル番号406−n、IPバージョン407−nにステップ501で抽出されたフロー情報を書き込み、パケット数カウンタ408−nには“0”を書き込む。複数個のエントリが未使用であった場合、テーブル番号が予め定められた順番で、例えば、最も小さい(又は最も大きい)エントリを使用する。次に、フロー解析部31は、前記エントリ内のパケット数カウンタ値408−nに1を加える(ステップ506)。
FIG. 4 shows an example of the flow table 32.
The flow table 32 for one flow includes a table number 401, flow information (source IP address 402, destination IP address 403, source port number 404, destination port number 405, protocol number 406, IP version 407), packet number counter. 408 and a structure in which a plurality of these sets are stored. Since it may be difficult to allocate a vast flow table 32 space that can store all the flows, the table number determination method is obtained by applying an appropriate hash function to the selected combination of items. The hash value can be used as a table number. In addition, since different flows may have the same hash value and the use of the flow table 32 may be biased, a plurality of hash functions may be used. Here, as an example, four hash functions are prepared, and four hash values are generated for one flow. This hash value itself is used as the table number of the flow table 32. In the flow table 32, a table number “1” is written in the table of the table number 1, and “0” is written in the other fields. Similarly, the table number “N” is written in the table of the table number N, and “0” is written in the other fields. In this way, the flow analysis unit 31 prepares the N flow tables 32 in advance.
When the flow analysis unit 31 generates, for example, four table numbers for four hash functions in step 502, the flow analysis unit 31 checks the contents of the flow table 32 corresponding to all four table numbers (step 503). Here, first, the flow analysis unit 31 sets each value of the source IP address 402, the destination IP address 403, the source port number 404, the destination port number 405, the protocol number 406, and the IP version 407 of the flow table 32, and the step It is confirmed whether there exists a table in which all values of the flow information extracted in 501 match. When there is a table in which all the fields in the flow information match, it is determined that the same table exists. When there is no table in which all the fields in the flow information match, the flow analysis unit 31 checks whether there is an unused table. Whether or not it is unused is determined by whether or not the packet number counter is “0”. When the packet number counter is “0”, the flow analysis unit 31 determines that it is unused and determines that there is a free table. When the packet number counters of all the tables are other than “0”, it is determined that there is no empty table.
If the flow analysis unit 31 determines that there is an empty table as a result of step 503, the flow analysis unit 31 writes the flow information extracted in step 501 into the flow table 32 of the corresponding table number (step 501). 505). If it is determined that the table with the table number n is a free table, the transmission IP address field 402-n, the destination IP address field 403-n, the transmission source port number 404-n, the destination port number 405-n, and the protocol number 406- n, the flow information extracted in step 501 is written in the IP version 407-n, and “0” is written in the packet counter 408-n. When a plurality of entries are not used, the smallest (or largest) entry is used in the order in which the table numbers are determined in advance. Next, the flow analysis unit 31 adds 1 to the packet number counter value 408-n in the entry (step 506).

また、ステップ503の結果、同一テーブル有と判定された場合は、フロー解析部31は、同一テーブル内のパケット数カウンタ値に1を加える(ステップ506)。ここではテーブル番号yのテーブルが同一テーブルであると判定されたとする。パケット数カウンタフィールド408−yに“1”を加え、それ以外のフィールドには何も実行しない。
さらに、ステップ503の結果、空きテーブル無と判定された場合は、フロー解析部31は、4つのテーブル中のどれか一つのテーブルを上書きする。4つのテーブル中どのテーブルを上書きするかは、例えば、4つのテーブルのパケット数カウンタフィールドを比較し、一番小さいパケット数のテーブルを上書き可能テーブルとして決定する(ステップ504)。ここではテーブル番号zのテーブルが上書き可能テーブルとして決定されたとする。決定されたテーブルに対し、送信IPアドレスフィールド402−z、宛先IPアドレスフィールド403−z、送信元ポート番号404−z、宛先ポート番号405−z、プロトコル番号406−z、IPバージョン407−zの各フィールドに該当パケットから抽出された情報を書き込み、パケット数カウンタ値フィールド408−zに“0”を書き込む(ステップ505)。次に、フロー解析部31は、パケット数カウンタフィールド408−zに“1”を加える(ステップ506)。
次に、フロー解析部31は、上述のようにステップ506でパケット数カウンタフィールドに“1”を加えた結果、パケット数カウンタが規定の閾値を超えているかどうかを確認する(ステップ507)。前記閾値は、閾値情報30に格納されているので、フロー解析部31はこれを参照する。閾値情報30の内容は、例えば、管理端末180を用いて事前に設定しておくことができる。フロー解析部31は、ステップ507において、前記パケット数フィールドの値が閾値情報30の閾値フィールドに定義されている値と一致した場合又はそれ以上の場合、閾値越えが発生したと判断し、閾値越え情報16を生成し、帯域監視部600に送信する(ステップ508)。閾値越え情報16の内容は、例えば、前記エントリ内に格納されている、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等のフロー情報を含む。閾値を超えていなかった場合は、何もしない。
If it is determined in step 503 that the same table exists, the flow analysis unit 31 adds 1 to the packet number counter value in the same table (step 506). Here, it is assumed that the tables with the table number y are determined to be the same table. “1” is added to the packet number counter field 408-y, and nothing is executed in the other fields.
Furthermore, when it is determined in step 503 that there is no empty table, the flow analysis unit 31 overwrites any one of the four tables. Which of the four tables is to be overwritten is determined, for example, by comparing the packet number counter fields of the four tables and determining the table with the smallest number of packets as an overwritable table (step 504). Here, it is assumed that the table with the table number z is determined as an overwritable table. For the determined table, the transmission IP address field 402-z, destination IP address field 403-z, transmission source port number 404-z, destination port number 405-z, protocol number 406-z, IP version 407-z Information extracted from the corresponding packet is written in each field, and “0” is written in the packet counter value field 408-z (step 505). Next, the flow analysis unit 31 adds “1” to the packet number counter field 408-z (step 506).
Next, as described above, the flow analysis unit 31 adds “1” to the packet number counter field in step 506, and as a result, checks whether the packet number counter exceeds a prescribed threshold (step 507). Since the threshold is stored in the threshold information 30, the flow analysis unit 31 refers to this. The contents of the threshold information 30 can be set in advance using the management terminal 180, for example. In step 507, the flow analysis unit 31 determines that the threshold has been exceeded if the value of the packet number field matches or exceeds the value defined in the threshold field of the threshold information 30, and the threshold is exceeded. Information 16 is generated and transmitted to the bandwidth monitoring unit 600 (step 508). The contents of the threshold crossing information 16 include flow information such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol number, and an IP version stored in the entry. If the threshold is not exceeded, do nothing.

図6に、本実施の形態の帯域監視部を示すブロック図を示す。
次に帯域監視部600の構成を図6を用いて説明する。帯域監視部600は、帯域監視処理部61と、監視対象を格納しておく帯域監視テーブル62と、監視帯域閾値を格納しておく帯域閾値情報60と、監視時間情報を格納しておく時刻閾値情報63と、現在時刻を示す時刻情報64を備える。帯域閾値情報60と時刻閾値情報は、例えば、管理端末180より設定される。
以下に、帯域監視部600の詳細動作を図7を用いて説明する。帯域監視部600の帯域監視処理部61はフロー検出部300から情報をもらう場合と、パケット送信回路150より情報をもらう場合、の二つの場合が存在する。フロー検出部300から情報をもらった場合はステップ701を実行し、パケット送信回路から情報をもらった場合はステップ702以降を実行する。
ステップ701で、帯域監視処理部61は、フロー検出部300より送られてきた閾値越え情報16をもとに帯域監視テーブル62のエントリを作成する。
FIG. 6 is a block diagram showing the bandwidth monitoring unit of the present embodiment.
Next, the configuration of the bandwidth monitoring unit 600 will be described with reference to FIG. The bandwidth monitoring unit 600 includes a bandwidth monitoring processing unit 61, a bandwidth monitoring table 62 that stores a monitoring target, bandwidth threshold information 60 that stores a monitoring bandwidth threshold, and a time threshold that stores monitoring time information. Information 63 and time information 64 indicating the current time are provided. The bandwidth threshold information 60 and the time threshold information are set by the management terminal 180, for example.
The detailed operation of the bandwidth monitoring unit 600 will be described below with reference to FIG. The bandwidth monitoring processing unit 61 of the bandwidth monitoring unit 600 has two cases: receiving information from the flow detection unit 300 and receiving information from the packet transmission circuit 150. If information is received from the flow detection unit 300, step 701 is executed. If information is received from the packet transmission circuit, step 702 and subsequent steps are executed.
In step 701, the bandwidth monitoring processing unit 61 creates an entry in the bandwidth monitoring table 62 based on the threshold value excess information 16 sent from the flow detection unit 300.

図8に、帯域監視テーブルの一例を示す。帯域監視テーブル800は、フロー情報801と帯域802と初回違反時間803と前回違反時間804とフラグ805を含む。フロー情報801には送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等の情報が格納され、帯域802にはフロー情報801で指示されるフローの現在の帯域情報が格納され、初回違反時間803には、初めて帯域違反と判定された時刻が格納され、前回違反時間には、直前に帯域違反と判定された時刻が格納されて、フラグ805には、当該テーブルが使用中のテーブルであれば“1”が、未使用のテーブルであれば“0”が格納される。初期状態では全てのテーブルのフラグが“0”に設定されている。   FIG. 8 shows an example of the bandwidth monitoring table. The bandwidth monitoring table 800 includes flow information 801, bandwidth 802, first violation time 803, previous violation time 804, and flag 805. The flow information 801 stores information such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol number, and an IP version, and a bandwidth 802 stores the current flow of the flow indicated by the flow information 801. The bandwidth information is stored, the first violation time 803 stores the time when the bandwidth violation was determined for the first time, the previous violation time stores the time when the bandwidth violation was determined immediately before, and the flag 805 If the table is in use, “1” is stored. If the table is not used, “0” is stored. In the initial state, the flags of all tables are set to “0”.

ステップS701では、まず、帯域監視処理部61は、既に存在する全ての帯域監視テーブル62のフロー情報801と、フロー検出部300より送られてきた閾値越え情報16とを比較する。フロー情報801と閾値越え情報16にはともに、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等の情報が格納されている。帯域監視処理部61は、この比較では、フラグが“1”のテーブルのフロー情報801と閾値越え情報16の全てのフィールドが一致するテーブルがあるかどうかをチェックする。
帯域監視処理部61は、一致するテーブルが存在しなかった場合には、新規エントリを作成する。フロー情報801には閾値越え情報16として送られてきた、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン、が格納され、帯域802、初回違反時間803、前回違反時間804のフィールドには0が格納され、フラグ805が“1”に設定される。新規テーブルを作成する場合は、予め定められた順番により、例えば、フラグが“0”で一番アドレスが小さいテーブルを選択する。
一方、一致するエントリが存在した場合には、帯域監視処理部61は、該等閾値越え情報16を無視する。
In step S701, first, the bandwidth monitoring processing unit 61 compares the flow information 801 of all the existing bandwidth monitoring tables 62 with the threshold value exceeding information 16 sent from the flow detection unit 300. Both the flow information 801 and the threshold crossing information 16 store information such as a transmission source IP address, a destination IP address, a transmission source port number, a destination port number, a protocol number, and an IP version. In this comparison, the bandwidth monitoring processing unit 61 checks whether there is a table in which all the fields of the flow information 801 and the threshold value exceeding information 16 of the table with the flag “1” match.
The bandwidth monitoring processing unit 61 creates a new entry when there is no matching table. The flow information 801 stores the source IP address, the destination IP address, the source port number, the destination port number, the protocol number, and the IP version sent as the threshold value exceeding information 16, and the bandwidth 802 and the initial violation time 803. In the previous violation time 804 field, 0 is stored, and the flag 805 is set to “1”. When creating a new table, for example, a table with a flag of “0” and the smallest address is selected in a predetermined order.
On the other hand, if there is a matching entry, the bandwidth monitoring processing unit 61 ignores the equal threshold value exceeding information 16.

ステップ702として、帯域監視処理部61は、受信したパケットヘッダ情報221に含まれる、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョンから生成したフロー情報と、帯域監視テーブル800に格納されているフロー情報801の、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等とを比較する。帯域監視処理部61は、帯域監視テーブル800に格納されているフラグが“1”の全てのエントリと比較を行い、一致するエントリを検索する。
一致するエントリが存在しなかった場合、該当フロー情報を含む監視情報19をアクション制御部900へ送信する(ステップ713)。送信する監視情報19は、帯域監視テーブル800に“エントリ無”の情報と、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、を送信する。
帯域監視処理部61は、ステップ702で、一致するエントリが存在した場合、帯域を測定する(ステップ703)。帯域とは、例えば、単位時間(1秒)あたりの受信バイト数とすることができる。受信バイト数とは、受信したパケットのパケットヘッダ情報221に含まれるL3パケット長216を単位時間に受信した数だけ加算した値とすることができる。また、これ以外の方法で帯域を測定してもよく、そのために、帯域監視テーブル800に帯域を監視するための受信バイト数を格納しておくフィールド等の帯域計算に必要なフィールドを加えても良い。
次に、帯域監視処理部61は、ステップ703で計測された帯域の値が、閾値を超えているか確認する(ステップ704)。前記閾値は帯域閾値情報60に設定されているので、帯域監視処理部61はこれを参照する。閾値を超えるかもしくは等しい場合、帯域監視処理部61は、帯域違反が発生したと判定する。一方、閾値を超えていない場合、帯域監視処理部61は、帯域遵守であると判定する。
In step 702, the bandwidth monitoring processing unit 61 includes the flow information generated from the source IP address, destination IP address, source port number, destination port number, protocol number, and IP version included in the received packet header information 221. The source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc. of the flow information 801 stored in the bandwidth monitoring table 800 are compared. The bandwidth monitoring processing unit 61 compares all entries whose flag stored in the bandwidth monitoring table 800 is “1”, and searches for a matching entry.
If there is no matching entry, the monitoring information 19 including the corresponding flow information is transmitted to the action control unit 900 (step 713). The monitoring information 19 to be transmitted includes information “no entry” in the bandwidth monitoring table 800, flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.), Send.
If there is a matching entry in step 702, the bandwidth monitoring processor 61 measures the bandwidth (step 703). The bandwidth can be, for example, the number of received bytes per unit time (1 second). The number of received bytes can be a value obtained by adding the L3 packet length 216 included in the packet header information 221 of the received packet by the number received in unit time. In addition, the bandwidth may be measured by other methods, and for this purpose, a field necessary for bandwidth calculation such as a field for storing the number of received bytes for monitoring the bandwidth may be added to the bandwidth monitoring table 800. good.
Next, the bandwidth monitoring processing unit 61 confirms whether the bandwidth value measured in Step 703 exceeds the threshold (Step 704). Since the threshold is set in the bandwidth threshold information 60, the bandwidth monitoring processor 61 refers to this. If the threshold value is exceeded or equal, the bandwidth monitoring processing unit 61 determines that a bandwidth violation has occurred. On the other hand, if the threshold is not exceeded, the bandwidth monitoring processing unit 61 determines that the bandwidth is being observed.

ステップ704で帯域遵守と判定された場合、帯域監視処理部61は、現在時刻情報64及び時刻閾値情報63を参照し、ステップ702で一致するエントリとして検索されたフローが書き込まれている帯域監視テーブル800のエントリの前回違反時間804と現在時刻の差分の時間が、時刻閾値情報63を超えているかを確認する(ステップ705)。閾値を超えている場合、帯域監視処理部61は、一定時間以上該当フローは帯域を遵守していると判断し、監視対象から除外する。帯域監視処理部61は、この該当フローを監視対象から除外するために、帯域監視テーブル800から該当エントリを削除する(ステップ707)。エントリの削除とは該当エントリのフラグ805を“0”にすることである。ステップ704で時刻閾値情報63を超えていない場合、帯域監視処理部61は、一定時間以上該当フローが帯域を遵守していないと判断し、監視対象のままとする。
次に、帯域監視処理部61は、該当フローのエントリ情報を含む監視情報19をアクション制御部900へ送信する(ステップ712)。送信する監視情報19は、帯域監視テーブルに“エントリ有”の情報と、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、帯域を遵守したことを表す帯域遵守情報と、ステップ705で確認した一定時間以上帯域を遵守していたかどうかの情報である。
When it is determined in step 704 that the bandwidth is observed, the bandwidth monitoring processing unit 61 refers to the current time information 64 and the time threshold information 63, and the bandwidth monitoring table in which the flow searched for as a matching entry in step 702 is written. It is checked whether the time of the difference between the previous violation time 804 of the 800 entry and the current time exceeds the time threshold information 63 (step 705). When the threshold value is exceeded, the bandwidth monitoring processing unit 61 determines that the corresponding flow complies with the bandwidth for a certain time or more and excludes it from the monitoring target. The bandwidth monitoring processor 61 deletes the corresponding entry from the bandwidth monitoring table 800 in order to exclude the corresponding flow from the monitoring target (step 707). Deleting an entry means setting the flag 805 of the corresponding entry to “0”. If the time threshold information 63 is not exceeded in step 704, the bandwidth monitoring processing unit 61 determines that the corresponding flow does not comply with the bandwidth for a certain period of time and remains as a monitoring target.
Next, the bandwidth monitoring processing unit 61 transmits the monitoring information 19 including the entry information of the corresponding flow to the action control unit 900 (Step 712). The monitoring information 19 to be transmitted includes information indicating “entry present” in the bandwidth monitoring table, flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.), bandwidth Information indicating whether the band has been observed and whether the band has been observed for a predetermined time or more confirmed in step 705.

ステップ704で帯域違反と判定された場合、帯域監視処理部61は、違反回数を確認する(ステップ706)。該当フローのエントリの初回違反時間803が0である場合、1回目であると判定される。
1回目と判断された場合、帯域監視処理部61は、該当フローのエントリの初回違反時間803と前回違反時間804に、現在時刻を書き込む(ステップ708)。次に、帯域監視処理部61は、該フローのエントリ情報を含む監視情報19をアクション制御部900へ送信する(ステップ710)。送信する監視情報19は、帯域監視テーブルに“エントリ有”の情報と、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、帯域を違反したことを表す帯域違反情報と、違反が1回目であるという情報である。
ステップ706で2回目以降であると判断された場合、帯域監視処理部61は、該当フローのエントリの前回違反時間804に現在時刻を格納する(ステップ709)。次に該当フローのエントリ情報を含む監視情報19をアクション制御部900へ送信する(ステップ711)。送信する監視情報19は、帯域監視テーブルに“エントリ有”の情報と、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、帯域違反情報と、違反が2回目以降であるという情報である。
If it is determined in step 704 that the bandwidth has been violated, the bandwidth monitoring processing unit 61 checks the number of violations (step 706). When the initial violation time 803 of the entry of the corresponding flow is 0, it is determined to be the first time.
If it is determined as the first time, the bandwidth monitoring processing unit 61 writes the current time in the first violation time 803 and the previous violation time 804 of the entry of the corresponding flow (step 708). Next, the bandwidth monitoring processing unit 61 transmits the monitoring information 19 including the entry information of the flow to the action control unit 900 (Step 710). The monitoring information 19 to be transmitted includes information indicating “entry present” in the bandwidth monitoring table, flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.), bandwidth Information indicating that the violation has been violated and information indicating that the violation is the first time.
If it is determined in step 706 that it is the second time or later, the bandwidth monitoring processing unit 61 stores the current time in the previous violation time 804 of the entry of the corresponding flow (step 709). Next, the monitoring information 19 including the entry information of the corresponding flow is transmitted to the action control unit 900 (step 711). The monitoring information 19 to be transmitted includes information indicating “entry present” in the bandwidth monitoring table, flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.), bandwidth Violation information and information that the violation is the second time or later.

図9に、本実施の形態のアクション実行部を示すブロック図を示す。
アクション制御部900を図9を用いて説明する。アクション制御部900は、フロー情報を格納しておくフローデータベース90と、アクションを決定するアクション決定部91と、実行すべきアクションの内容と順序が格納されているアクションデータベース92と、時間閾値情報93と、現在時刻情報94とを含む。
図10に、フローデータベースの例を示す。
フローデータベース1000は、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等の情報を格納するフロー情報フィールド1001と、該当エントリが登録された時刻を格納するアクション開始時刻フィールド1002と、アクションが実行されていた時間の長さを格納するアクション実行時間フィールド1003を含む。
図12に、アクションデータベースの例を示す。
アクションデータベース1200は、アクションの開始時刻を表すフィールド1201と、アクションの終了時刻を表すフィールド1202と、アクション内容1203を含む。例えば、開始時刻0秒から終了時刻10秒まではアクション内容としてアクションTOS値を“5”にマーキングの処理を実行、開始時刻10秒から終了時刻30秒まではアクション内容としてWREDを実行、開始時刻30秒から終了時刻60秒まではアクション内容としてUPCを実行、といったように、一連又は一組等のアクション処理を構成する各々のアクション内容とアクションの順序が設定される。開始時刻と終了時刻の間の時間が複数のテーブルで重複して設定された場合は、予め定められた順番により、例えば、テーブルアドレスが小さいものが優先して選択されるものとする。アクションデータベース92と時間閾値情報93は、例えば、管理端末180を用いて事前に設定することができる。
FIG. 9 is a block diagram showing the action execution unit of the present embodiment.
The action control unit 900 will be described with reference to FIG. The action control unit 900 includes a flow database 90 that stores flow information, an action determination unit 91 that determines an action, an action database 92 that stores the content and order of actions to be executed, and time threshold information 93. And current time information 94.
FIG. 10 shows an example of the flow database.
The flow database 1000 stores a flow information field 1001 for storing information such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol number, an IP version, and the time when the corresponding entry is registered. An action start time field 1002 and an action execution time field 1003 for storing the length of time during which the action has been executed are included.
FIG. 12 shows an example of the action database.
The action database 1200 includes a field 1201 that represents an action start time, a field 1202 that represents an action end time, and action content 1203. For example, from the start time 0 seconds to the end time 10 seconds, the marking process is performed with the action TOS value “5” as the action content, and from the start time 10 seconds to the end time 30 seconds, WRED is executed as the action content, and the start time From 30 seconds to an end time of 60 seconds, UPC is executed as the action contents, and the action contents and the order of actions constituting a series or a set of action processes are set. When the time between the start time and the end time is set redundantly in a plurality of tables, for example, a table having a small table address is preferentially selected in a predetermined order. The action database 92 and the time threshold information 93 can be set in advance using the management terminal 180, for example.

図11に、本実施の形態のアクション実行部のフローチャートを示す。
次にアクション制御部900の詳細動作を図11を用いて説明する。
アクション制御部900のアクション決定部91は、帯域監視部600から送られてきた監視情報19を元に、帯域監視テーブル62にエントリが有ったかどうかのチェックを行う(ステップ1100)。
ステップ1100でエントリが無かったと判定された場合、アクション決定部91は、パケット送信回路150に対し該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信する(ステップ1105)。
ステップ1100でエントリ有と判定された場合、アクション決定部91は、次に帯域を遵守していたか違反していたかのチェックを行う(ステップ1101)。
ステップ1101で遵守していたと判定された場合、アクション決定部91は、さらに帯域監視部600から送られてきた監視情報19をもとに、一定時間以上帯域を遵守していたか判定する(ステップ1102)。
FIG. 11 shows a flowchart of the action execution unit of the present embodiment.
Next, the detailed operation of the action control unit 900 will be described with reference to FIG.
The action determination unit 91 of the action control unit 900 checks whether there is an entry in the bandwidth monitoring table 62 based on the monitoring information 19 sent from the bandwidth monitoring unit 600 (step 1100).
If it is determined in step 1100 that there is no entry, the action determination unit 91 transmits information indicating that transmission is possible without performing any action for the corresponding flow to the packet transmission circuit 150 (step 1105).
If it is determined in step 1100 that there is an entry, the action determination unit 91 next checks whether the band has been observed or violated (step 1101).
If it is determined in step 1101 that the information has been observed, the action determination unit 91 further determines whether the band has been observed for a predetermined time or more based on the monitoring information 19 sent from the band monitoring unit 600 (step 1102). ).

ステップ1102で一定時間以上帯域を遵守していたと判定された場合、アクション決定部91は、フローデータベース90より、フロー情報フィールドに格納されている送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等のフロー情報が一致するエントリが存在するかどうかを検索する(ステップ1103)。
ステップ1103の検索の結果、該当エントリが存在した場合、アクション決定部91は、現在時刻情報94及び時間閾値情報93を参照し、現在時刻からアクション開始時刻1002の差を求め、その差からさらに遵守していた時間である時間閾値情報93に設定された値を減算した時間を求め、その時間を該当エントリのアクション実行時間フィールド1003に書き込む(ステップ1104)。このフィールドを使用することで、次回同一のフローが帯域違反をした場合に、最も有効であったアクションを違反した直後から実行できるようにする。例えば、アクション開始時刻と現在時刻との差が30秒であったならば(時間閾値情報93に0が設定されている場合)、アクション実行時間フィールド1003に30という値が書き込まれる。次に、アクション決定部91は、パケット送信回路150に対し、該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信する(ステップ1105)。
If it is determined in step 1102 that the band has been observed for a predetermined time or more, the action determination unit 91 determines from the flow database 90 the transmission source IP address, destination IP address, transmission source port number, It is searched whether there is an entry that matches the flow information such as the destination port number, protocol number, and IP version (step 1103).
If there is a corresponding entry as a result of the search in step 1103, the action determination unit 91 refers to the current time information 94 and the time threshold information 93, obtains a difference between the current time and the action start time 1002, and further complies with the difference. The time obtained by subtracting the value set in the time threshold value information 93, which is the current time, is obtained, and the time is written in the action execution time field 1003 of the corresponding entry (step 1104). By using this field, when the same flow violates the bandwidth next time, the most effective action can be executed immediately after violating. For example, if the difference between the action start time and the current time is 30 seconds (when 0 is set in the time threshold information 93), a value of 30 is written in the action execution time field 1003. Next, the action determination unit 91 transmits to the packet transmission circuit 150 information indicating that no action is performed on the corresponding flow and transmission is possible (step 1105).

ステップ1102で一定時間以上帯域を遵守していないと判定された場合、アクション決定部91は、エントリ削除対象では無いと判断し、エントリの削除は行わず、パケット送信回路150に対し、該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信する(ステップ1105)。
ステップ1103での検索の結果、該当エントリが存在しなかった場合、アクション決定部91は、特にアクションは行わず、パケット送信回路150に対し、該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信する(ステップ1105)。
If it is determined in step 1102 that the bandwidth has not been observed for a certain period of time, the action determination unit 91 determines that the entry is not to be deleted, and does not delete the entry. No action is executed, and information indicating that transmission is possible is transmitted (step 1105).
If the corresponding entry does not exist as a result of the search in step 1103, the action determination unit 91 performs no action on the packet transmission circuit 150, and can perform transmission without executing any action for the corresponding flow. The information that there is is transmitted (step 1105).

一方、ステップ1101で違反していたと判定された場合、アクション決定部91は、さらに帯域監視部600から送られてきた監視情報19を元に、違反が1回目か2回目以降なのかの判定を行う(ステップ1106)。
ステップ1106で1回目であると判定された場合、アクション決定部91は、フローデータベース90を参照し、フロー情報フィールドに格納されている送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等のフロー情報が一致するエントリが存在するかどうかを検索する(ステップ1107)。
On the other hand, if it is determined in step 1101 that the violation has occurred, the action determination unit 91 further determines whether the violation is the first time or the second time or more based on the monitoring information 19 sent from the bandwidth monitoring unit 600. Perform (step 1106).
If it is determined in step 1106 that it is the first time, the action determination unit 91 refers to the flow database 90 and stores the source IP address, destination IP address, source port number, destination port stored in the flow information field. It is searched whether there is an entry with the same flow information such as number, protocol number, IP version, etc. (step 1107).

ステップ1107でエントリが存在した場合、アクション決定部91は、該当のエントリのアクション開始時刻1002に“0”を書き込み、アクション実行時間1003を読み込む。アクション決定部91は、アクション実行時間1003の情報より、次のように実行すべきアクションを決定する。すなわち、アクション決定部91は、アクションデータベース92より、アクション実行時間1003の時間が開始時刻と終了時刻の間に入っているアクションを検索し決定する(ステップ1108)。次にアクション決定部91は、パケット送信回路150に対して決定されたアクションを実行するようにアクション指示情報13を送信する(ステップ1109)。送信するアクション指示情報13は、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、アクション内容である。   If there is an entry in step 1107, the action determination unit 91 writes “0” in the action start time 1002 of the corresponding entry and reads the action execution time 1003. The action determination unit 91 determines an action to be executed as follows from the information of the action execution time 1003. That is, the action determination unit 91 searches the action database 92 for an action whose time of the action execution time 1003 is between the start time and the end time (step 1108). Next, the action determination unit 91 transmits the action instruction information 13 to execute the determined action to the packet transmission circuit 150 (step 1109). The action instruction information 13 to be transmitted includes flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.) and action contents.

ステップ1107でエントリが存在していなかった場合、アクション決定部91は、フローデータベース90に新規にエントリを登録する。新しく、フロー情報フィールド1001に送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョンを書き込み、アクション開始時刻1002に現在時刻94より現在時刻情報を読み込み値を書き込み、アクション実行時間に“0”を書き込む(ステップ1110)。次に、アクション決定部91は、アクション開始時刻1002と現在時刻94の差にアクション実行時間を加算した値(ここでは“0”秒)が開始時刻1201と終了時刻1202の間に入っているアクションを、アクションデータベースより検索しアクション内容1203を決定する(ステップ1111)。この場合、開始時刻が0秒に設定されているアクションを検索することになる。次に、アクション決定部91は、パケット送信回路150に対して決定されたアクションを実行するようにアクション指示情報13を送信する(ステップ1109)。送信するアクション指示情報13は、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、アクション内容である。   If no entry exists in step 1107, the action determination unit 91 newly registers an entry in the flow database 90. A new source IP address, destination IP address, source port number, destination port number, protocol number, and IP version are written in the flow information field 1001, and the current time information is read from the current time 94 and written in the action start time 1002. Then, “0” is written in the action execution time (step 1110). Next, the action determination unit 91 adds an action execution time to the difference between the action start time 1002 and the current time 94 (here, “0” seconds) between the start time 1201 and the end time 1202. Are searched from the action database to determine the action content 1203 (step 1111). In this case, an action whose start time is set to 0 seconds is searched. Next, the action determination unit 91 transmits the action instruction information 13 to execute the determined action to the packet transmission circuit 150 (step 1109). The action instruction information 13 to be transmitted includes flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.) and action contents.

ステップ1106で2回目以降であると判定された場合、アクション決定部91は、フローデータベース90を参照し、フロー情報フィールドに格納されている送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等のフロー情報が一致するエントリが存在するかどうかを検索する。2回目以降の場合は必ずエントリが存在するので、アクション決定部91は、該当エントリのアクション開始時刻1002とアクション実行時間1003を読み込む。アクション決定部91は、現在時刻情報94を参照し、アクション開始時刻と現在時刻との差を求め、その値とアクション実行時間の値を加算する。アクション決定部91は、その加算した値が開始時刻1201と終了時刻1202の間に入っているアクションをアクションデータベース92より検索し、アクション内容1203を決定する。例えば、アクション開始時刻と現在時刻との差が10秒であり、アクション実行時間の値が30秒であれば、合計40秒となる。この40秒の値を元に、アクションデータベース92より開始時刻1201と終了時刻1202の間に40秒を含むアクション内容1203を検索することになる。例えば、開始時刻10秒、終了時刻60秒のアクションがあれば、そのアクションが選択される。次にアクション決定部91は、パケット送信回路150に対して決定されたアクションを実行するように情報を送信する(ステップ1109)。送信するアクション指示情報13は、フロー情報(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョン等)と、アクション内容である。   If it is determined in step 1106 that it is the second time or later, the action determination unit 91 refers to the flow database 90 and transmits the source IP address, destination IP address, source port number, destination stored in the flow information field. It is searched whether there is an entry with matching flow information such as port number, protocol number, and IP version. Since the entry always exists in the second and subsequent times, the action determination unit 91 reads the action start time 1002 and the action execution time 1003 of the corresponding entry. The action determination unit 91 refers to the current time information 94, obtains a difference between the action start time and the current time, and adds the value and the action execution time value. The action determination unit 91 searches the action database 92 for an action whose added value is between the start time 1201 and the end time 1202, and determines the action content 1203. For example, if the difference between the action start time and the current time is 10 seconds and the action execution time value is 30 seconds, the total time is 40 seconds. Based on the value of 40 seconds, the action content 1203 including 40 seconds between the start time 1201 and the end time 1202 is searched from the action database 92. For example, if there is an action with a start time of 10 seconds and an end time of 60 seconds, that action is selected. Next, the action determination unit 91 transmits information to the packet transmission circuit 150 so as to execute the determined action (step 1109). The action instruction information 13 to be transmitted includes flow information (source IP address, destination IP address, source port number, destination port number, protocol number, IP version, etc.) and action contents.

パケット送信回路150では、アクション制御部900から送られてきたアクション指示情報13を元に、該当フローに対して制御を行う。例えば、アクション内容としての実行情報がTOS値の書き換えといったパケットヘッダの書き換え指示であったならば、パケット送信回路150は、パケットの該当フィールドの値を書き換える。例えば、アクション内容としての実行情報がパケットの廃棄であったならば、パケット送信回路150は、該当パケットの廃棄処理を行う。特にアクションが指示されていなければ、パケット送信回路150は、該当フローに相当するパケットをそのまま送信する。   The packet transmission circuit 150 controls the corresponding flow based on the action instruction information 13 sent from the action control unit 900. For example, if the execution information as the action content is a packet header rewriting instruction such as rewriting the TOS value, the packet transmission circuit 150 rewrites the value of the corresponding field of the packet. For example, if the execution information as the action content is a packet discard, the packet transmission circuit 150 performs a discard process for the packet. If no action is instructed, the packet transmission circuit 150 transmits a packet corresponding to the corresponding flow as it is.

本実施の形態ではアクションデータベースを一組だけ持つ例を示したが、複数組みのアクションデータベースをもっても良い。どの組みのアクションデータベースを選択するかは、フローの特長毎に割り当てれば良い。例えば、受信パケットの宛先ポート番号の範囲でアクションデータベースの組みを決定しても良い。例えば、宛先ポートが0〜1024まではアクションデータベースの1組目からアクションを決定、1025〜2048まではアクションデータベースの2組目からアクションを決定、それ以外はアクションデータベースの3組目から決定、等としてもよい。また同様に、プロトコル番号の範囲でアクションデータベースの範囲を決定しても良い。さらには、時刻によりアクションデータベースを決定してもよい。0時〜12時まではアクションデータベースの1組目からアクションを決定。12時〜24時まではアクションデータベースの2組目からアクションを決定としてもよい。
以上のように、複数の制御動作を順番に実行するアクション制御部900において、あらかじめ設定された制御順番を最適なものに自律的に変更することができる。また、アクション制御部900は、フローがポリシ違反している時間の長さにより、制御動作の切替を行うことができる。さらに、アクション制御部900は、制御の順番と制御内容を記載した組みを複数組み持つことができる。
In the present embodiment, an example in which only one set of action databases is provided is shown, but a plurality of sets of action databases may be provided. Which set of action databases to select may be assigned for each flow feature. For example, the combination of action databases may be determined within the range of the destination port number of the received packet. For example, when the destination port is 0 to 1024, the action is determined from the first set of the action database, from 1025 to 2048, the action is determined from the second set of the action database, and the other is determined from the third set of the action database. It is good. Similarly, the range of the action database may be determined by the range of protocol numbers. Furthermore, the action database may be determined based on time. From 0 o'clock to 12 o'clock, the action is determined from the first set in the action database. From 12:00 to 24:00, the action may be determined from the second set of the action database.
As described above, in the action control unit 900 that sequentially executes a plurality of control operations, the preset control order can be autonomously changed to an optimal one. Further, the action control unit 900 can switch the control operation according to the length of time that the flow violates the policy. Furthermore, the action control unit 900 can have a plurality of sets describing the order of control and control contents.

以上、本発明の実施の形態について説明したが、本システムは上述の図示例にのみ限定されるものではない。上述の説明では帯域監視部600で監視を実行するにあたり、帯域を用いたが、これを帯域ではなく、該当フローが消費している電力を算出し、電力を監視することで遵守、違反を判定しても良い。また、単位時間あたりのセッション開始数を監視対象としても良い。
As mentioned above, although embodiment of this invention was described, this system is not limited only to the above-mentioned illustration example. In the above description, the band monitoring unit 600 uses the band when executing the monitoring. However, this is not the band, but the power consumed by the corresponding flow is calculated, and the compliance is determined by monitoring the power. You may do it. Also, the number of sessions started per unit time may be monitored.

本実施の形態を適用したルータ100を説明するブロック図。The block diagram explaining the router 100 to which this Embodiment is applied. パケットのフォーマットを表す図。The figure showing the format of a packet. 本実施の形態のフロー検出部を示すブロック図。The block diagram which shows the flow detection part of this Embodiment. 本実施の形態のフローテーブルのフォーマットを表す図。The figure showing the format of the flow table of this Embodiment. 本実施の形態のフロー検出部のフローチャートを表す図。The figure showing the flowchart of the flow detection part of this Embodiment. 本実施の形態の帯域監視部を示すブロック図。The block diagram which shows the band monitoring part of this Embodiment. 本実施の形態の帯域監視部のフローチャートを表す図。The figure showing the flowchart of the zone | band monitoring part of this Embodiment. 本実施の形態の帯域監視テーブルのフォーマットを表す図。The figure showing the format of the bandwidth monitoring table of this Embodiment. 本実施の形態のアクション実行部を示すブロック図。The block diagram which shows the action execution part of this Embodiment. 本実施の形態のフローデータベースのフォーマットを表す図。The figure showing the format of the flow database of this Embodiment. 本実施の形態のアクション実行部のフローチャートを表す図。The figure showing the flowchart of the action execution part of this Embodiment. 本実施の形態のアクションデータベースのフォーマットを表す図。The figure showing the format of the action database of this Embodiment.

符号の説明Explanation of symbols

160…フロー制御部
300…フロー検出部
600…帯域監視部
900…アクション制御部
10…パケットヘッダ情報
11…出力回線番号
13…アクション指示情報
14…パケットヘッダ情報
16…閾値越え情報
19…監視情報
160 ... Flow control unit 300 ... Flow detection unit 600 ... Bandwidth monitoring unit 900 ... Action control unit 10 ... Packet header information 11 ... Output line number 13 ... Action instruction information 14 ... Packet header information 16 ... Threshold exceeded information 19 ... Monitoring information

Claims (9)

パケットの送信処理を行うパケット送信部と、
受信または送信するパケットからフローを検出するフロー検出部と、
フロー情報と帯域と初回違反時間と前回違反時間と使用中又は未使用のフラグとを含むエントリを記憶する帯域監視テーブルを有し、前記フロー検出部が検出したフローがあらかじめ設定されたポリシに違反するか遵守するかを判定する帯域監視部と、
前記帯域監視部が判定したポリシに違反したフローに対して、あらかじめ設定された複数のアクション制御動作を順番に実行するアクション制御部と、
を備え、
パケット送信部は、受信したパケットのヘッダ情報を前記フロー検出部に送信し、
前記フロー検出部は、前記パケット送信部から受信したパケットのヘッダ情報を用いてフローを特定し、特定したフローのフロー情報毎にパケット数をカウントし、該パケット数が設定された閾値を超えたフローのフロー情報を含む閾値越え情報を前記帯域監視部へ送信し、

前記帯域監視部は
前記フロー検出部より送られてきた閾値越え情報をもとに帯域監視テーブルのエントリを作成し、
受信したパケットのヘッダ情報に含まれるフロー情報と、帯域監視テーブルに格納されているフロー情報とを、フラグが使用中の全てのエントリについて比較し、
a. 一致するエントリが存在しなかった場合、エントリ無しの情報及びフロー情報を含む監視情報を前記アクション制御部へ送信し、
b. 一致するエントリが存在した場合、帯域を測定し、予め定められた閾値を超えているか確認し、
i) 帯域が閾値を超えていない場合、帯域遵守であると判定し、現在時刻と該当するエントリの前回違反時間との差分の時間が、時刻閾値を超えているかを確認し、
時刻閾値を超えている場合、監視対象から除外するために、帯域監視テーブルから該当エントリをフラグを未使用にすることで削除し、一方、時刻閾値を超えていない場合、監視対象のままとし、
該当フローの、エントリ有りの情報とフロー情報と帯域遵守情報と一定時間以上帯域を遵守していたかどうかの情報を含む監視情報を前記アクション制御部へ送信し、
ii) 帯域が閾値以上の場合、帯域違反が発生したと判定し、初回違反時間に基づき違反回数を確認し、
該当フローのエントリの初回違反時間と前回違反時間を更新し、
該フローの、エントリ有の情報とフロー情報と帯域違反情報と違反が1回目又は2回目以降であるという情報とを含む監視情報を前記アクション制御部へ送信し、

前記アクション制御部は、監視情報に基づき、実行するアクション制御を決定し、フロー情報とアクション内容を含むアクション指示情報を前記パケット送信部へ送信し、
前記パケット送信部では、前記アクション制御部から送られてきたアクション指示情報を元に、該当フローに対して制御を行い、一方、アクションが指示されていなければ、該当フローに相当するパケットをそのまま送信する
ようにしたパケットを中継する中継装置。
A packet transmitter that performs packet transmission processing;
A flow detector for detecting a flow from a packet to be received or transmitted;
It has a bandwidth monitoring table that stores entries including flow information, bandwidth, initial violation time, previous violation time, and in-use or unused flag, and the flow detected by the flow detector violates a preset policy. A bandwidth monitoring unit for determining whether to comply or
An action control unit that sequentially executes a plurality of preset action control operations for a flow that violates the policy determined by the bandwidth monitoring unit;
With
The packet transmission unit transmits header information of the received packet to the flow detection unit,
The flow detection unit identifies a flow using header information of a packet received from the packet transmission unit, counts the number of packets for each flow information of the identified flow, and the number of packets exceeds a set threshold value Sending information exceeding the threshold value including flow information of the flow to the bandwidth monitoring unit,

The bandwidth monitoring unit
Create a bandwidth monitoring table entry based on the threshold value exceeded information sent from the flow detection unit,
The flow information included in the header information of the received packet is compared with the flow information stored in the bandwidth monitoring table for all entries in which the flag is in use,
a. If there is no matching entry, send monitoring information including no entry information and flow information to the action control unit,
b. If there is a matching entry, measure the bandwidth and check if it exceeds a predetermined threshold,
i) If the bandwidth does not exceed the threshold, it is determined that the bandwidth is being observed, and whether the time of the difference between the current time and the previous violation time of the corresponding entry exceeds the time threshold,
If the time threshold is exceeded, the corresponding entry is deleted from the bandwidth monitoring table by making the flag unused in order to exclude it from the monitoring target.
Sending the monitoring information including the information of the corresponding flow, the entry information, the flow information, the band compliance information, and whether or not the band has been observed for a certain period of time to the action control unit,
ii) If the bandwidth is above the threshold, determine that a bandwidth violation has occurred, check the number of violations based on the initial violation time,
Update the first violation time and last violation time for the entry in the flow,
Sending the monitoring information including the information with entry of the flow, the flow information, the bandwidth violation information, and the information that the violation is first or second time to the action control unit,

The action control unit determines action control to be executed based on the monitoring information, and transmits action instruction information including flow information and action content to the packet transmission unit ,
The packet transmission unit controls the corresponding flow based on the action instruction information sent from the action control unit. On the other hand, if no action is instructed, the packet corresponding to the corresponding flow is transmitted as it is. A relay device that relays packets that are to be sent.
前記フロー検出部は、テーブル番号とフロー情報とパケット数カウンタとを含むエントリを記憶するフローテーブルを備え、
前記フロー検出部は、
受信したヘッダ情報に含まれる、フロー情報を抽出し、
抽出された項目の組み合わせより、パケット数を積算するための前記フローテーブルのテーブル番号を複数生成し、
複数のテーブル番号を生成したら、複数の全てのテーブル番号に相当する前記フローテーブルの内容を確認し、該当するエントリ内のパケット数カウンタに1を加え、
パケット数カウンタが、予め定められた閾値を超えているかどうかを確認し、
閾値を越えていた場合、前記フロー情報を含む閾値越え情報を生成し、前記帯域監視部に送信し、
閾値を越えていなかった場合は、閾値越え情報を送信しないこと
を特徴とする請求項1に記載の中継装置。
The flow detection unit includes a flow table that stores an entry including a table number, flow information, and a packet number counter.
The flow detector is
Extract the flow information included in the received header information,
From the combination of the extracted items, generate a plurality of table numbers of the flow table for integrating the number of packets,
After generating a plurality of table numbers, check the contents of the flow table corresponding to all the table numbers, add 1 to the packet number counter in the corresponding entry,
Check if the packet counter exceeds a predetermined threshold,
If the threshold is exceeded, generate threshold exceeding information including the flow information, and send to the bandwidth monitoring unit,
The relay apparatus according to claim 1, wherein if the threshold value is not exceeded, the threshold value exceeded information is not transmitted.
前記テーブル番号を生成するとき、フロー情報のうち予め定められた選択項目に対してハッシュ関数を複数使用し、得られた複数のハッシュ値をテーブル番号とすることを特徴とする請求項2に記載の中継装置。
The table number is generated by using a plurality of hash functions for predetermined selection items in the flow information, and using the obtained hash values as table numbers. Relay device.
前記帯域監視部は、
前記フロー検出部より送られてきた閾値越え情報をもとに、既に存在する全ての帯域監視テーブルのフロー情報と、前記フロー検出部より送られてきた閾値越え情報に含まれるフロー情報とを比較し、
一致するテーブルが存在しなかった場合には、前記フロー情報と、帯域及び初回違反時間及び前回違反時間の予め定められた設定値と、フラグの使用中設定値とにより、帯域監視テーブルに新規エントリを作成すること
を特徴とする請求項に記載の中継装置。
The bandwidth monitoring unit
Based on the threshold crossing information sent from the flow detection unit, the flow information of all the existing bandwidth monitoring tables is compared with the flow information included in the threshold crossing information sent from the flow detection unit And
If there is no matching table, a new entry is entered in the bandwidth monitoring table based on the flow information, the preset values of the bandwidth, the initial violation time, and the previous violation time, and the setting value in use of the flag. The relay device according to claim 1 , wherein the relay device is created.
前記アクション制御部は、
フロー情報と、該当エントリが登録された時刻を格納するアクション開始時刻と、アクションが実行されていた時間の長さを格納するアクション実行時間を含むエントリを記憶するフローデータベースと、
一連又は一組のアクションについて、アクションの開始時刻とアクションの終了時刻とアクション内容とを含むエントリをアクションの順序に従い記憶されているアクションデータベースと
を備え、
前記アクション制御部は、
前記帯域監視部から送られてきた監視情報に基づき、前記帯域監視部の帯域監視テーブルにエントリが有ったか無かったかのチェックを行い、

a. エントリが無かったと判定された場合、パケット送信回路に対し、該当フローに対するアクションは何も実行せず送信可能であるというアクション指示情報を送信し、

b. エントリが有りと判定された場合、帯域を遵守していたか違反していたかの帯域遵守/違反チェックを行い、
前記帯域遵守/違反チェックにより、帯域を違反していたと判定された場合、前記帯域監視部から送られてきた監視情報を元に、違反が1回目か2回目以降なのかの回数判定を行い、
i) 前記回数判定で1回目であると判定された場合、前記フローデータベースより、監視情報に含まれるフロー情報とフロー情報が一致するエントリが存在するかどうかを検索し、
エントリが存在した場合、該当のエントリのアクション開始時刻に‘0’を書き込み、アクション実行時間を読み込み、前記アクションデータベースより、アクション実行時間の時間が開始時刻と終了時刻の間に入っているアクションを検索し決定し、
一方、エントリが存在しなかった場合、フロー情報に書き込み、アクション開始時刻に現在時刻を書き込み、アクション実行時間に‘0’を書き込むことにより、新規にエントリを登録し、
アクション開始時刻と現在時刻の差にアクション実行時間を加算した値が、開始時刻と終了時刻の間に入っているアクションを、前記アクションデータベースより検索しアクションを決定し、

ii) 前記回数判定で2回目以降であると判定された場合、前記フローデータベースより、監視情報に含まれるフロー情報とフロー情報が一致するエントリのアクション開始時刻とアクション実行時間を読み込み、
アクション開始時刻と現在時刻より差を求め、その値とアクション実行時間の値を加算し、その加算した値が開始時刻と終了時刻の間に入っているアクションを前記アクションデータベースより検索し、決定し、

パケット送信回路に対して、決定されたアクションを実行するように、フロー情報とアクション内容を含むアクション指示情報を送信すること
を特徴とする請求項1乃至4のいずれかに記載の中継装置。
The action control unit
A flow database for storing an entry including flow information, an action start time for storing the time when the corresponding entry is registered, and an action execution time for storing a length of time during which the action has been executed;
An action database storing entries including a start time of action, an end time of action, and an action content for a series or set of actions in accordance with the order of actions;
The action control unit
Based on the monitoring information sent from the bandwidth monitoring unit, check whether there is an entry in the bandwidth monitoring table of the bandwidth monitoring unit,

a. When it is determined that there is no entry, the action instruction information is transmitted to the packet transmission circuit, indicating that the action can be transmitted without executing any action for the corresponding flow.

b. If it is determined that there is an entry, a band compliance / violation check is performed to see if the band was observed or was violated.
If it is determined by the band compliance / violation check that the band has been violated, based on the monitoring information sent from the band monitoring unit , determine the number of times the violation is first or second,
i) When the number of times is determined to be the first time, the flow database is searched for whether or not there is an entry that matches the flow information included in the monitoring information.
If there is an entry, write “0” to the action start time of the corresponding entry, read the action execution time, and select an action whose action execution time is between the start time and end time from the action database. Search and decide,
On the other hand, if the entry does not exist, the entry is newly registered by writing in the flow information, writing the current time in the action start time, and writing “0” in the action execution time.
A value obtained by adding the action execution time to the difference between the action start time and the current time is searched from the action database for an action that falls between the start time and the end time, and the action is determined.

ii) If the number of times is determined to be the second time or later, the action start time and the action execution time of the entry in which the flow information and the flow information included in the monitoring information match are read from the flow database,
Find the difference from the action start time and the current time, add the value and the action execution time value, search the action database for the action that the added value is between the start time and end time, and determine ,

5. The relay apparatus according to claim 1, wherein action instruction information including flow information and action content is transmitted to the packet transmission circuit so as to execute the determined action.
前記帯域遵守/違反チェックにより、帯域を遵守していたと判定された場合、
前記帯域監視部から送られてきた監視情報をもとに、一定時間以上帯域を遵守していたか判定し、
一定時間以上帯域を遵守していたと判定された場合、前記フローデータベースより、フロー情報が一致するエントリが存在するかどうかを検索し、
i) 前記フローデータベースに該当エントリが存在した場合、該当エントリのアクション実行時間に、現在時刻からアクション開始時刻の差を求め、その差からさらに遵守していた時間である時間閾値情報に設定された値を減算した時間を書き込み、パケット送信回路に対し、該当フローに対するアクションは何も実行せず送信可能であるというアクション指示情報を送信し、
一方、一定時間以上帯域を遵守していないと判定された場合、パケット送信回路に対し、該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信し、

ii) 一方、前記フローデータベースに該当エントリが存在しなかった場合、特にアクションは行わず、パケット送信回路に対し、該当フローに対するアクションは何も実行せず、送信可能であるという情報を送信すること
を特徴とする請求項に記載の中継装置。
If it is determined by the band compliance / violation check that the band has been observed,
Based on the monitoring information sent from the band monitoring unit , determine whether or not the band has been observed for a certain period of time,
If it is determined that the band has been observed for a certain period of time, the flow database is searched for an entry with the matching flow information,
i) When there is a corresponding entry in the flow database, the action execution time of the corresponding entry is determined as the time threshold information, which is the time that the action start time is calculated from the current time, and the difference is further observed from the difference. Write the time after subtracting the value, and send action instruction information to the packet transmission circuit that it can be sent without executing any action for the flow.
On the other hand, if it is determined that the bandwidth has not been observed for a certain time or longer, the packet transmission circuit performs no action on the corresponding flow and transmits information indicating that transmission is possible.

ii) On the other hand, when the corresponding entry does not exist in the flow database, no action is performed, and no action is performed on the corresponding flow to the packet transmission circuit, and information indicating that transmission is possible is transmitted. The relay device according to claim 5 .
前記アクションデータベースを複数備え、
前記アクションデータベースのうちどの一つ又は複数選択するかを、宛先、送信元、プロトコル番号、又は、時間等のフローの特長毎に割り当てることを特徴とする請求項又はのいずれかに記載の中継装置。
A plurality of the action databases;
How one or more selected ones of said action database, the destination, source, protocol number, or, according to claim 5 or 6, characterized in that assigned to each feature of the flow of time, etc. Relay device.
前記フロー情報は、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、IPバージョンの情報を含むことを特徴とする請求項1乃至のいずれかに記載の中継装置。
The flow information, source IP address, destination IP address, source port number, destination port number, protocol number, the relay apparatus according to any one of claims 1 to 7, characterized in that it comprises an IP version information .
前記帯域監視部は、監視を実行するにあたり、帯域の代わりに、該当フローが消費している電力、又は、単位時間あたりのセッション開始数を監視することで遵守、違反を判定することを特徴とする請求項1乃至に記載の中継装置。
The bandwidth monitoring unit, in executing the monitoring, determines compliance or violation by monitoring the power consumed by the corresponding flow or the number of session starts per unit time instead of the bandwidth. The relay device according to claim 1 to 8 .
JP2008192768A 2008-07-25 2008-07-25 Relay device Expired - Fee Related JP4994323B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008192768A JP4994323B2 (en) 2008-07-25 2008-07-25 Relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008192768A JP4994323B2 (en) 2008-07-25 2008-07-25 Relay device

Publications (2)

Publication Number Publication Date
JP2010034708A JP2010034708A (en) 2010-02-12
JP4994323B2 true JP4994323B2 (en) 2012-08-08

Family

ID=41738723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008192768A Expired - Fee Related JP4994323B2 (en) 2008-07-25 2008-07-25 Relay device

Country Status (1)

Country Link
JP (1) JP4994323B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158401B (en) * 2011-03-03 2013-08-21 江苏方天电力技术有限公司 Flow monitoring model based on electric automation system
JP5710418B2 (en) * 2011-08-08 2015-04-30 アラクサラネットワークス株式会社 Packet relay apparatus and method
JP5916234B2 (en) * 2013-11-01 2016-05-11 日本電気株式会社 COMMUNICATION DEVICE, CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM
JP6470201B2 (en) * 2016-02-16 2019-02-13 日本電信電話株式会社 Attack detection device, attack detection system, and attack detection method
WO2023112173A1 (en) * 2021-12-14 2023-06-22 日本電信電話株式会社 Traffic monitoring device, traffic monitoring method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085139A (en) * 2001-09-10 2003-03-20 Mitsubishi Electric Corp Intrusion detecting control system

Also Published As

Publication number Publication date
JP2010034708A (en) 2010-02-12

Similar Documents

Publication Publication Date Title
US11855967B2 (en) Method for identifying application information in network traffic, and apparatus
JP4547342B2 (en) Network control apparatus, control system, and control method
KR102569305B1 (en) Data message detection method, device and system
WO2022017249A1 (en) Programmable switch, traffic statistics method, defense method, and packet processing method
JP4774357B2 (en) Statistical information collection system and statistical information collection device
CN109889547B (en) Abnormal network equipment detection method and device
US7379426B2 (en) Routing loop detection program and routing loop detection method
US10735501B2 (en) System and method for limiting access request
EP2482497B1 (en) Data forwarding method, data processing method, system and device thereof
JP6142702B2 (en) Monitoring device, monitoring method and program
JP4994323B2 (en) Relay device
CN110166480B (en) Data packet analysis method and device
WO2008062787A1 (en) Flow information restricting apparatus and method
WO2022105691A1 (en) Method for preventing ipfix message loss, application thereof, and asic chip
CN112929376A (en) Flow data processing method and device, computer equipment and storage medium
WO2022100581A1 (en) Method for processing ipfix message, storage medium, network switching chip and asic chip
RU2358395C2 (en) Method of reducing transmission time of run file through test point
CN115017502A (en) Flow processing method and protection system
JP4871775B2 (en) Statistical information collection device
CN108833282A (en) Data forwarding method, system, device and SDN switch
CN114615200A (en) Elephant flow detection method and device based on ACL
KR101472523B1 (en) Security device controlling unidentified traffic and operating method thereof
CN100484029C (en) Network controller, network control system and network control method
JP4165828B2 (en) Communication network, network control server, traffic control method, and program
KR101707073B1 (en) Error detection network system based on sdn

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120315

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: 20120410

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: 20120508

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4994323

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees