KR100997182B1 - Flow information restricting apparatus and method - Google Patents

Flow information restricting apparatus and method Download PDF

Info

Publication number
KR100997182B1
KR100997182B1 KR1020097009813A KR20097009813A KR100997182B1 KR 100997182 B1 KR100997182 B1 KR 100997182B1 KR 1020097009813 A KR1020097009813 A KR 1020097009813A KR 20097009813 A KR20097009813 A KR 20097009813A KR 100997182 B1 KR100997182 B1 KR 100997182B1
Authority
KR
South Korea
Prior art keywords
flow information
flow
information
item
aggregation
Prior art date
Application number
KR1020097009813A
Other languages
Korean (ko)
Other versions
KR20090079945A (en
Inventor
히토시 이리노
마사루 카타야마
Original Assignee
니폰 덴신 덴와 가부시끼가이샤
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 니폰 덴신 덴와 가부시끼가이샤 filed Critical 니폰 덴신 덴와 가부시끼가이샤
Publication of KR20090079945A publication Critical patent/KR20090079945A/en
Application granted granted Critical
Publication of KR100997182B1 publication Critical patent/KR100997182B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/129Avoiding congestion; Recovering from congestion at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

트래픽 전체의 계측 정보를 보유한 채, 플로우 정보의 송신수를 제한하기 위한 플로우 정보 제한장치가 제공된다. 해당 플로우 정보 제한장치는, 동일 속성의 패킷의 집합을 동일 통신의 플로우로 하고, 상기 플로우마다, 상기 패킷의 헤더 정보에 기초하여 플로우 정보를 생성하는 플로우 정보 생성부(202)와, 상기 생성한 플로우 정보를 일시적으로 저장하는 관리용 버퍼를 구비하고, 상기 관리용 버퍼로부터 플로우 정보를 독출하여 출력하는 플로우 정보수 제한 기능부(203)와, 상기 출력된 플로우 정보를 패킷화하여 상기 측정용 네트워크상으로 송출하는 플로우 정보 송신부(204)를 가지며, 플로우 정보수 제한 기능부(203)가, 관리용 버퍼에 저장되어 있는 플로우 정보의 수가 미리 설정된 상한값을 초과하면, 상기 저장되어 있는 플로우 정보의 일부를 집약한다.

Figure R1020097009813

플로우, 플로우 정보, 네트워크, 버퍼

A flow information limiting device is provided for limiting the number of transmissions of flow information while retaining measurement information of the entire traffic. The flow information restricting apparatus uses the flow information generation unit 202 for generating flow information based on the header information of the packet for each of the flows, using the set of packets having the same attribute as the flow of the same communication. A flow buffer for temporarily storing flow information, the flow information limiting function unit 203 for reading out and outputting flow information from the management buffer, and packetizing the output flow information into the measurement network; And a flow information transmitting unit 204 for transmitting to the upper part, and when the number of flow information stored in the management buffer exceeds the preset upper limit, the flow information number limiting function unit 203 is a part of the stored flow information. To aggregate.

Figure R1020097009813

Flow, flow information, network, buffer

Description

플로우 정보 제한장치 및 방법 {FLOW INFORMATION RESTRICTING APPARATUS AND METHOD} Flow Information Limiter and Method {FLOW INFORMATION RESTRICTING APPARATUS AND METHOD}

본 발명은, 인터넷 등으로 대표되는 오픈 네트워크 환경상에서 사용되는 네트워크 장치에 관한 것으로, 특히, 네트워크상의 트래픽을 측정하기 위한 정보(플로우 정보)를 수집하는 것이 가능한, 노드 등으로 대표되는 정보통신기기에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network device used in an open network environment represented by the Internet, and more particularly, to an information communication device represented by a node or the like capable of collecting information (flow information) for measuring traffic on a network. It is about.

인터넷에서 사용되는 IP(Internet Protocol)에서는, 프로토콜, 소스 IP 어드레스, 수신처 IP 어드레스의 정보가 관리되고, 또 일부 트랜스포트 프로토콜에서는, 소스 포트와 수신처 포트의 정보가 관리된다. 이들의 프로토콜을 사용하여 전송되는 패킷은, 각각의 프로토콜에서 관리되고 있는 정보를 포함한다. 그와 같은 패킷이 갖는 정보에 기초하여, 통신의 종별을 분류하는 방법이 플로우 계측(flow measurement)이다. In IP (Internet Protocol) used in the Internet, information of a protocol, a source IP address, and a destination IP address are managed, and in some transport protocols, information of a source port and a destination port is managed. The packet transmitted using these protocols contains the information managed by each protocol. Based on the information that such a packet has, a method of classifying the type of communication is flow measurement.

플로우 계측에서는, 동일 속성의 패킷, 예를 들면 프로토콜, 소스 IP 어드레스, 수신처(destination) IP 어드레스, 소스 포트 및 수신처 포트의 각 정보항목에 대해서 같은 정보를 갖는 패킷을 동일 통신에 속하는 패킷으로 간주한다. 동일 통신에 속하는 패킷의 집합을 플로우라 부른다. 플로우의 데이터량과 패킷량을 계측 함으로써, 복수의 지점간에서 복수의 통신 서비스를 감시할 수 있으며, 통신량이 이상하게 많은 지점간이나 통신 서비스를 특정하거나, 통신 경향을 파악하거나 할 수 있다. In flow measurement, a packet having the same information for each information item of a protocol, a source IP address, a destination IP address, a source port, and a destination port, for example, is regarded as a packet belonging to the same communication. . A set of packets belonging to the same communication is called a flow. By measuring the data amount and the packet amount of the flow, it is possible to monitor a plurality of communication services between a plurality of points, to identify points or communication services with unusually large amounts of communication, or to identify communication trends.

인터넷은, 경로 제어를 수행하는 복수의 라우터를 포함하는 복수의 네트워크를 상호 접속함으로써 구축되어 있으며, 송신원으로부터 송출된 패킷은 몇 개의 라우터를 경유하여 송신처에 도달한다. 라우터는, 패킷의 IP 헤더와, 경우에 따라서는, 트랜스포트 레이어의 헤더를 참조하여 패킷의 전송을 수행하므로, 플로우의 분류를 수행하는 기기로서 적합하다. 라우터를 통과한 패킷의 플로우 정보를 다른 기기에 통지하는 기술로서, NetFlow(비 특허문헌 1 참조)와 IPFIX(IP Flow InformatThe Internet is constructed by interconnecting a plurality of networks including a plurality of routers for performing path control, and packets sent from a source arrive at a destination via several routers. A router performs packet transmission by referring to an IP header of a packet and in some cases, a header of a transport layer, and thus is suitable as a device for performing flow classification. NetFlow (see Non-Patent Document 1) and IPFIX (IP Flow Informat) as a technology for notifying other devices of flow information of packets passing through a router.

ion eXport)가 있다. ion eXport).

플로우 정보를 특정의 포맷에 따라서 패킷화한 계측용 패킷을 라우터로부터 네트워크상의 계측용 단말로 송신함으로써, 그 노드의 통신내용을 파악할 수 있다. 그러나, 비 특허문헌 2에 따르면, DDoS라 불리는, 소스 어드레스를 분산시켜서 대량의 데이터를 계속 보내는 공격 트래픽과, 포트 스캔(port scan)이라 불리는, 대상 호스트의 전(全) 포트에의 접속을 시도하여 서비스 상태 및 취약성을 검출하는 공격 트래픽 등이 발생했을 때, 플로우 수가 급격히 증대한다.By transmitting the measurement packet obtained by packetizing the flow information according to a specific format from the router to the measurement terminal on the network, it is possible to grasp the communication contents of the node. However, according to Non-Patent Document 2, an attempt is made to connect to all ports of a target host, called a port scan, and attack traffic, which continuously distributes a large amount of data by distributing source addresses called DDoS. The number of flows increases rapidly when attack traffic or the like for detecting service status and vulnerability are generated.

또, 비 특허문헌 3에 따르면, 플로우 정보의 통지를 수행하는 IPFIX에 있어서는, 트랜스포트 프로토콜로서, 폭주 제어가 없는 UDP(User Datagram Protocol)와 폭주 제어가 있는 TCP(Transmission Control Protocol)와 SCTP(Stream Control Transmission Protocol)를 사용할 수 있다. 플로우의 송수신장치가 폭주 제어 기능 이 없는 UDP를 이용하여 송신을 수행하는 경우, 플로우 수가 급격히 증대하면, 그에 수반하여 라우터 등의 플로우 송신장치로부터 계측용 단말로 송신되는 패킷도 증대하고, 그 결과, 플로우 송신장치와 계측용 단말 사이의 계측용 네트워크에 있어서 폭주가 발생할 가능성이 있다. According to Non-Patent Document 3, in IPFIX for notifying flow information, UDP (User Datagram Protocol) without congestion control, Transmission Control Protocol (TCP) with congestion control and SCTP (Stream) are used as transport protocols. Control Transmission Protocol) can be used. When the transceiver of a flow performs transmission using UDP without a congestion control function, when the number of flows increases rapidly, the packet transmitted from a flow transmitter such as a router to the measurement terminal also increases, and as a result, Congestion may occur in the measurement network between the flow transmitter and the measurement terminal.

한편, 플로우의 송수신장치가 폭주 제어 기능을 갖는 TCP와 SCTP를 이용하여 송신을 수행하는 경우는, 플로우 수가 급격히 증대해도, 폭주는 발생하지 않는다. 그러나, 플로우 송신장치에 있어서, 폭주 제어 기능에 의해 송신할 수 있는 플로우 정보수가 한정되기 때문에, 생성되는 플로우 정보수에 대해서 송신되는 폴로우 정보수가 적어지게 되어, 내부의 송신 버퍼가 넘치는 경우가 있다. 이 결과, 송신된 정보는 먼저 생성한 플로우 정보에 한정되어, 관측한 트래픽 전체의 정보를 송신할 수 없게 된다. On the other hand, when the transmission / reception apparatus of a flow performs transmission using TCP and SCTP which have a congestion control function, even if the number of flows increases rapidly, congestion does not occur. However, in the flow transmitting apparatus, since the number of flow information that can be transmitted by the congestion control function is limited, the number of follow information to be transmitted decreases with respect to the generated flow information, and the internal transmission buffer may overflow. . As a result, the transmitted information is limited to the flow information generated earlier, and the information on the entire observed traffic cannot be transmitted.

비 특허문헌 1: [평성 18년 9월 8일 열람 인터넷] B. Claise. Cisco Systems Net Flow Services Export Version 9. RFC 3954 (Informational), October 2004. http://www.ietf.org/rfc/rfc3954.txt[Non-Patent Document 1] [Browse Internet on September 8, 2008] B. Claise. Cisco Systems Net Flow Services Export Version 9.RFC 3954 (Informational), October 2004. http://www.ietf.org/rfc/rfc3954.txt

비 특허문헌 2: Cristian Eatan, Ken Keys, David Moore, George Varghese: "Building a better netflow", ACM SIGCOMM Computer Communication Review, 34, Issue 4, pp. 245-256(2004)[Non-Patent Document 2] Cristian Eatan, Ken Keys, David Moore, George Varghese: "Building a better netflow", ACM SIGCOMM Computer Communication Review, 34, Issue 4, pp. 245-256 (2004)

비 특허문헌 3: B. Claise. IPFIX Protocal Specification. Internet Draft, June 2006. HYPERLINK "http://tools.ietf.org/id/draft-ieft-ipfix-protocol-22.txt" http://tools.ietf.org/id/draft-ietf-ipfix-protocol-22.txt(22판)Non Patent Literature 3: B. Claise. IPFIX Protocal Specification. Internet Draft, June 2006.HYPERLINK "http://tools.ietf.org/id/draft-ieft-ipfix-protocol-22.txt" http://tools.ietf.org/id/draft-ietf-ipfix- protocol-22.txt (22th edition)

발명의 개시Disclosure of Invention

발명이 해결하고자 하는 과제Problems to be Solved by the Invention

상술한 바와 같이, NetFlow(비 특허문헌 1 참조)와 IPFIX의 플로우 기술을 채용하는 통신시스템에 있어서는, 공격 트래픽에 의해 플로우가 증대한 경우에, 계측용 네트워크에 있어서의 통신에 폭주가 발생한다는 문제가 생긴다. 또는, 폭주는 발생하지 않으나, 관측한 트래픽 전체의 정보를 송신할 수 없기 때문에 부정확한 정보 송신이 발생한다는 문제가 생긴다. 이하에, 이 문제를 구체적으로 설명한다. As described above, in a communication system employing NetFlow (see Non-Patent Document 1) and the flow technology of IPFIX, when the flow increases due to the attack traffic, congestion occurs in the communication in the measurement network. Occurs. Alternatively, congestion does not occur, but incorrect information transmission occurs because information on the entire observed traffic cannot be transmitted. This problem will be described below in detail.

도 20에, 계측용 네트워크를 포함하는 인터넷을 통해서 패킷에 의한 통신을 수행하는 정보통신시스템을 나타낸다. 도 20에 있어서, 인터넷(10)은, 패킷 전송을 수행하는 복수의 노드(12∼14, 111)를 포함하는 복수의 네트워크끼리를 상호 접속한 것이다. 노드(12∼14, 111)는 상호 통신 가능하게 접속되어 있다. 노드(111)에는, 계측용 단말(20) 및 단말(30)이 접속되어 있다. 노드(12)에는 단말(41)이 접속되고, 노드(13)에는 단말(42)이 접속되고, 노드(14)에는 단말(43)이 접속되어 있다. 20 shows an information communication system for performing communication by packet via the Internet including a measurement network. In FIG. 20, the Internet 10 interconnects a plurality of networks including a plurality of nodes 12 to 14 and 111 that perform packet transmission. The nodes 12-14, 111 are connected so that mutual communication is possible. The measurement terminal 20 and the terminal 30 are connected to the node 111. The terminal 41 is connected to the node 12, the terminal 42 is connected to the node 13, and the terminal 43 is connected to the node 14.

계측용 단말(20) 및 단말(30, 41∼43)의 각각은, 통신기능을 구비한 컴퓨터 시스템이다. 컴퓨터 시스템의 주요부는, 프로그램 등을 축적하는 기억장치, 키보드와 마우스 등의 입력장치, CRT와 LCD 등의 표시장치, 외부와의 통신을 수행하는 모뎀 등의 통신장치, 프린터 등의 출력장치 및 입력장치로부터의 입력을 접수하여 통신장치, 출력장치, 표시장치의 동작을 제어하는 제어장치를 갖는다. 단말(41∼43)은 클라이언트 단말이고, 단말(30)은 클라이언트에 통신 서비스를 제공하는 서버이며, 서버 - 클라이언트 간에 통신이 수행된다.Each of the measurement terminal 20 and the terminals 30, 41 to 43 is a computer system having a communication function. The main part of the computer system is a storage device for storing programs, an input device such as a keyboard and a mouse, a display device such as a CRT and an LCD, a communication device such as a modem for communicating with the outside, an output device such as a printer, and an input. It has a control device which receives an input from the device and controls the operation of the communication device, the output device, and the display device. The terminals 41 to 43 are client terminals, the terminal 30 is a server providing communication services to the clients, and server-client communication is performed.

단말(41∼43)은, 바이러스와 웜에 감염되거나, 제3자에 의한 부정한 제어가 수행되거나 하는 경우가 있다. 그와 같은 경우, 단말(41∼43)은, 단말(30)에 대한 네트워크 공격을 수행한다. 복수의 단말이 동시에 네트워크 공격을 개시한 경우는, 소스 어드레스가 분산한다. 또, 단일의 단말이 네트워크 공격을 수행한 경우도, 소스 어드레스의 사칭에 의해 소스 어드레스가 분산하는 경우가 있다. 노드에는, 이와 같이 소스 어드레스가 분산한 대량의 데이터가 도달하고, 이상 트래픽이 발생한다. The terminals 41 to 43 may be infected with viruses and worms, or illegal control by third parties may be performed. In such a case, the terminals 41 to 43 perform a network attack on the terminal 30. When a plurality of terminals simultaneously initiate a network attack, source addresses are distributed. In addition, even when a single terminal performs a network attack, the source addresses may be distributed by impersonation of the source addresses. A large amount of data obtained by distributing source addresses in this way arrives at the node, and abnormal traffic occurs.

게다가, IP 스캔과 포트 스캔 등의 공격에 준하는 행동, 바이러스와 웜 등의 감염 활동 등에서는, 노드의 존재와는 관계없이 수신처 어드레스를 분산시켜서 통신이 수행되어, 이상 트래픽이 발생하는 경우가 있다. 이 경우도, 소스 어드레스는 사칭(fraud) 등에 의해 분산하는 경우가 있다. In addition, in response to attacks such as IP scans and port scans, and infection activities such as viruses and worms, communication may be performed by distributing destination addresses regardless of the existence of nodes, and abnormal traffic may occur. Also in this case, the source addresses may be distributed by impersonation or the like.

상기와 같은 공격 등에 의해 인터넷(10) 전체에 있어서의 통신량이 증대하고, 단말(30)로의 트래픽 등, 노드(111)가 게이트웨이가 되는 네트워크상을 흐르는 트래픽이 증대한다. 이 트래픽의 증대는, 노드(111)에 있어서의, 계측용 네트워크에 있어서의 통신에 폭주가 발생하거나, 관측한 트래픽 전체의 정보를 송신할 수 없거나 하는 이하와 같은 문제를 일으킨다. As a result of the above-described attack, the amount of communication in the entire Internet 10 increases, and the traffic that flows on the network where the node 111 becomes a gateway, such as traffic to the terminal 30, increases. This increase in traffic causes the following problems such that congestion occurs in the communication in the measurement network in the node 111, or information on the entire observed traffic cannot be transmitted.

노드(111)는, 플로우 정보를 패킷화한 계측용 패킷을 계측용 단말(20)로 송신한다. 폭주 제어를 수행하지 않는 UDP를 트랜스포트 프로토콜로서 이용하는 경우는, 노드(111)상에서 관측되는 플로우 수가 증가하면, 그에 수반하여 계측용 패킷의 송신량도 증대한다. 때문에, 노드(111)와 계측용 단말(20) 사이의 계측용 네트워크에 있어서 폭주가 발생하고, 공격의 2차 피해가 발생한다. The node 111 transmits the measurement packet which packetized the flow information to the measurement terminal 20. When using UDP as a transport protocol without performing congestion control, when the number of flows observed on the node 111 increases, the amount of transmission of the measurement packet also increases with it. Therefore, congestion occurs in the measurement network between the node 111 and the measurement terminal 20, and secondary damage of the attack occurs.

노드(111)와 단말(30) 사이와 노드(111)와 인터넷(10) 사이의 통상의 통신에 이용하는 회선이 이상상태가 된 경우에, 이상성이 있는 트래픽을 발견하기 위해서, 계측용 단말(20)이 배치되어 있다. 그러나, 플로우의 급격한 증대에 의해, 노드(111)와 계측용 단말(20) 사이의 통신에 있어서 폭주가 발생하면, 계측용 패킷의 로스가 높아져, 계측용 단말(20)에서 충분한 계측을 수행하는 것이 곤란해진다. 게다가, 다른 통신이 수행되고 있는 경우에는, 그 통신에 악영향을 미치는 경우가 있다. 경우에 따라서는, 계측용 단말(20)이 자원부족 상태에 빠지는 경우가 있다. In the case where a line used for normal communication between the node 111 and the terminal 30 and between the node 111 and the Internet 10 has become an abnormal state, the measurement terminal 20 is used to detect abnormal traffic. ) Is arranged. However, when congestion occurs in communication between the node 111 and the measurement terminal 20 due to the rapid increase in flow, the loss of the measurement packet is increased, and the measurement terminal 20 performs sufficient measurement. It becomes difficult. In addition, when other communication is being performed, the communication may be adversely affected. In some cases, the measurement terminal 20 may fall into a resource shortage state.

또, 계측용 단말(20)이 복수대의 노드로부터 플로우 정보를 수신하는 것과 같은 시스템을 구축한 경우에는, 폭주의 피해는 더 커지게 된다. In addition, when the measurement terminal 20 builds a system such as receiving flow information from a plurality of nodes, the damage of congestion becomes greater.

한편, 폭주 제어 기능을 갖는 TCP와 SCTP를 트랜스포트 프로토콜로서 이용한 경우는, 노드(111)와 계측용 단말(20) 사이의 통신에 있어서 폭주는 발생하지 않는다. 그러나, 폭주 제어 기능에 의해 노드(111)의 출력 플로우 수가 제한되기 때문에, 상기 이상시에 관측된 플로우 수에 대해서 노드(111)가 출력할 수 있는 플로우 수가 적어지게 되는 경우가 있다. 이와 같이 출력 플로우 수에 비해서 입력 플로우 수가 많아지면, 노드(111)의 내부 버퍼가 파탄(overflow)하여 계측 정보의 일부가 결락하고, 노드(111)는, 계측한 트래픽 전체의 정보를 계측용 단말(20)에 정확히 송신할 수 없다. On the other hand, when TCP and SCTP having a congestion control function are used as the transport protocol, congestion does not occur in communication between the node 111 and the measurement terminal 20. However, since the number of output flows of the node 111 is limited by the congestion control function, the number of flows that the node 111 can output with respect to the number of flows observed at the time of abnormality may be reduced. As described above, when the number of input flows increases compared to the number of output flows, the internal buffer of the node 111 overflows and a part of the measurement information is dropped, and the node 111 displays the information of the entire measured traffic. Could not transmit correctly to (20).

본 발명의 목적은, 상기 문제를 해결하고, 트래픽 전체의 계측 정보를 보유한 채, 송신하는 플로우 정보의 수를 제한할 수 있는 플로우 정보 제한장치를 제공하는 것에 있다. SUMMARY OF THE INVENTION An object of the present invention is to provide a flow information restricting apparatus which can solve the above problem and limit the number of flow information to be transmitted while retaining the measurement information of the entire traffic.

과제를 해결하기 위한 수단Means to solve the problem

상기 목적을 달성하기 위해, 본 발명의 플로우 정보 제한장치는, 복수의 단말을 상호 접속하는 네트워크상에 배치되고, 상기 네트워크에 있어서의 트래픽을 계측하는 측정용 단말에 측정용 네트워크를 통해서 접속되는 플로우 정보 제한장치에 있어서, 동일 속성을 갖는 패킷의 집합을 동일 통신의 플로우로 하고, 상기 플로우마다, 상기 패킷의 헤더 정보에 기초하여 플로우 정보를 생성하는 플로우 정보 생성부와, 상기 플로우 정보 생성부에서 생성한 플로우 정보를 일시적으로 저장하는 관리용 버퍼를 구비하고, 상기 관리용 버퍼로부터 플로우 정보를 독출하여 출력하는 플로우 정보수 제한부와, 상기 플로우 정보수 제한부로부터 출력된 플로우 정보를 패킷화하여 상기 측정용 네트워크상으로 송출하는 플로우 정보 송신부를 가지며, 상기 플로우 정보수 제한부는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보의 수가 미리 설정된 상한값을 초과하면, 상기 저장되어 있는 플로우 정보를, 비집약 플로우 정보와 상기 트래픽의 계측에 있어서의 중요성이 상기 비집약 플로우 정보보다 낮은 집약후보로 나누고, 상기 집약후보가 된 플로우 정보를 집약하여, 상기 관리용 버퍼에 보유되어 있는 플로우 정보의 수가 일정수 이하가 되도록 제어한다.In order to achieve the above object, the flow information restricting apparatus of the present invention is disposed on a network interconnecting a plurality of terminals, and is connected to a measurement terminal for measuring traffic in the network via a measurement network. In the information limiting apparatus, a flow information generation section for generating flow information based on header information of the packet for each of the flows, using a set of packets having the same attribute as the flow of the same communication, and the flow information generation section. And a flow buffer for temporarily storing the generated flow information, wherein the flow information number limiter reads and outputs flow information from the management buffer, and the flow information output from the flow information number limiter is packetized. The flow information transmission part which transmits on the said measurement network, The said flow When the number of flow information stored in the management buffer exceeds a preset upper limit value, the reward limiting unit stores the stored flow information as non-intensive flow information and importance in measuring the traffic. It divides into lower aggregation candidates, aggregates the flow information which became the aggregation candidate, and controls so that the number of flow informations which are hold | maintained in the said management buffer may be below a fixed number.

상기의 구성에 있어서는, 공격 트래픽에 의해 플로우가 증대하고, 그것에 수반하여 플로우 정보 생성부에 의해 생성되는 플로우 정보의 수가 증대하나, 플로우 정보수 제한부가, 플로우 정보 생성부로부터 입력되는 플로우 정보의 수가 증대하면, 현재, 저장하고 있는 플로우 정보를 집약한다. 이 플로우 정보의 집약에 의해, 플로우 정보 송신부에는, 일정수 이하의 플로우 정보밖에 공급되지 않는다. 따라서, 플로우 정보 송신부가, 계측용 네트워크상으로 송출하는 플로우 정보의 수도 일정수 이하로 제한된다. In the above configuration, the flow increases due to the attack traffic, and the number of flow information generated by the flow information generation unit increases with the attack traffic, but the number of flow information input from the flow information generation unit is limited by the flow information number limiting unit. If it is increased, the stored flow information is collected. By the aggregation of this flow information, only flow information of a predetermined number or less is supplied to the flow information transmitter. Therefore, the number of flow informations transmitted by the flow information transmitter on the measurement network is limited to a certain number or less.

또, 플로우 정보 송신부에는, 일정수 이하의 플로우 정보밖에 공급되지 않으므로, 플로우 정보 송신부 내의 버퍼가 넘쳐 플로우 정보가 결락하는 경우도 없다. 따라서, 트랜스포트 프로토콜에 폭주 제어 기능이 있는 TCP와 SCTP를 이용한 경우에 발생했던, 플로우 정보 송신부 내의 버퍼의 파탄에 의한 플로우 정보의 결락때문에, 관측한 트래픽 전체의 정보를 정확히 송신할 수 없다는 문제도 발생하지 않는다.In addition, since only flow information of a predetermined number or less is supplied to the flow information transmitter, the buffer in the flow information transmitter is overflowed so that the flow information may not be dropped. Therefore, the problem of not being able to accurately transmit the entire observed traffic information due to the failure of the flow information due to the failure of the buffer in the flow information transmitter that occurred when TCP and SCTP with the congestion control function are used in the transport protocol. Does not occur.

발명의 효과Effects of the Invention

본 발명에 따르면, 플로우의 증대에 관계없이, 계측용 네트워크상에는, 일정수 이하의 플로우 정보밖에 송신되지 않으므로, 트랜스포트 프로토콜에 폭주 제어 기능이 없는 UDP를 이용한 경우에 있어서 발생했던 계측용 네트워크에 있어서의 통신의 폭주를 억제할 수 있다. According to the present invention, since only a certain number of flow information or less is transmitted on the measurement network regardless of the flow increase, in the measurement network that occurred when UDP without the congestion control function was used in the transport protocol, The congestion of communication can be suppressed.

또, 트랜스포트 프로토콜에 폭주 제어 기능이 있는 TCP와 SCTP를 이용한 경우에 발생했던 플로우 정보 송신부 내의 버퍼의 파탄에 의한 플로우 정보의 결락을 억제할 수 있으므로, 관측한 트래픽 전체의 정보를 정확히 측정용 단말로 송신할 수 있다.In addition, the loss of flow information due to the failure of the buffer in the flow information transmitter that occurred when TCP and SCTP having a congestion control function are used in the transport protocol can be suppressed, so that the information for the entire observed traffic can be accurately measured. Can be sent by

도 1은 본 발명이 적용되는 정보통신시스템의 일 예를 나타내는 블록도이다. 1 is a block diagram illustrating an example of an information communication system to which the present invention is applied.

도 2는 본 발명의 플로우 정보 제한장치의 일 실시형태인 노드의 구성을 나타내는 블록도이다. Fig. 2 is a block diagram showing the configuration of a node which is one embodiment of the flow information restricting apparatus of the present invention.

도 3은 도 2에 나타내는 플로우 정보수 제한 기능부에서 관리되는 관리용 버퍼 구조의 일 예를 나타내는 모식도이다. 3 is a schematic diagram illustrating an example of a management buffer structure managed by the flow information number limiting function unit illustrated in FIG. 2.

도 4는 플로우 정보 및 데이터 구조 정의 정보를 설명하기 위한 도이다. 4 is a diagram for describing flow information and data structure definition information.

도 5는 옵션 정보에 의한 통지방법을 설명하기 위한 도이다. 5 is a diagram for explaining a notification method using option information.

도 6은 조건 우선도를 부여한 정의 정보 및 그것에 의해 전개되어 사용되는 조건의 일 예를 나타내는 모식도이다. 6 is a schematic diagram showing an example of definition information to which condition priority is given and conditions to be developed and used thereby.

도 7은 조건 우선도를 부여한 정의 정보(definition information) 및 그것에 의해 전개되어 사용되는 조건의 다른 예를 나타내는 모식도이다.FIG. 7 is a schematic diagram showing another example of definition information to which condition priority is given and conditions to be developed and used thereby.

도 8은 우선순위에 관한 외부입력을 접수할 수 있는 플로우 정보 처리부의 구성을 나타내는 블록도이다. 8 is a block diagram showing a configuration of a flow information processing unit capable of accepting an external input relating to priority.

도 9는 정의 정보의 입력 형식을 설명하기 위한 도이다. 9 is a diagram for explaining an input format of definition information.

도 10은 정의 정보의 다른 입력 형식을 설명하기 위한 도이다. 10 is a diagram for explaining another input format of definition information.

도 11은 도 2에 나타내는 플로우 정보수 제한 기능부에서 수행되는 플로우 정보 집약 처리의 일 수순을 나타내는 흐름도이다. FIG. 11 is a flowchart showing a procedure of flow information intensive processing performed by the flow information number limiting function unit shown in FIG. 2.

도 12는 도 2에 나타내는 플로우 정보수 제한 기능부에 의한 플로우 정보 집 약의 일 예를 나타내는 모식도이다. FIG. 12 is a schematic diagram showing an example of flow information aggregation by the flow information number limiting function unit shown in FIG. 2.

도 13은 도 2에 나타내는 플로우 정보수 제한 기능부에 의한 플로우 정보 집약의 다른 예를 나타내는 모식도이다.FIG. 13 is a schematic diagram showing another example of flow information aggregation by the flow information number limiting function unit shown in FIG. 2.

도 14는 도 2에 나타내는 플로우 정보수 제한 기능부에 의한 플로우 정보 집약의 또다른 예를 나타내는 모식도이다.FIG. 14 is a schematic diagram illustrating still another example of flow information aggregation by the flow information number limiting function unit shown in FIG. 2.

도 15는 검색용 인덱스의 작성 수순을 설명하기 위한 도이다. 15 is a diagram for explaining a procedure for creating a search index.

도 16은 검색용 인덱스의 다른 작성 수순을 설명하기 위한 도이다. 16 is a diagram for explaining another creation procedure of the search index.

도 17은 조건마다 트리구조를 재작성하는 경우의 효율저하를 억제하는 방법을 설명하기 위한 도이다. 17 is a diagram for explaining a method of suppressing a decrease in efficiency when the tree structure is recreated for each condition.

도 18은 포트를 집약하는 예를 나타내는 모식도이다. It is a schematic diagram which shows the example which aggregates a port.

도 19는 어드레스를 집약하는 예를 나타내는 모식도이다. 19 is a schematic diagram illustrating an example of aggregation of addresses.

도 20은 계측용 네트워크를 포함하는 정보통신시스템의 일반적인 구성을 나타내는 블록도이다. 20 is a block diagram showing a general configuration of an information communication system including a measurement network.

부호의 설명Explanation of the sign

10 인터넷10 internet

11∼14 노드11-14 nodes

20 계측용 단말20 measurement terminals

30, 41∼43 단말30, 41 to 43 terminals

200 플로우 정보 처리부200 flow information processing unit

201 계측용 네트워크 인터페이스201 Instrumentation Network Interface

202 플로우 생성 기능부202 Flow generation function

203 플로우 정보수 제한 기능부203 flow information limit function

204 플로우 송신 기능부204 flow transmission function

205 출력용 네트워크 인터페이스205 network interface for output

발명을 실시하기 위한 최량의 형태BEST MODE FOR CARRYING OUT THE INVENTION

다음으로, 본 발명의 실시형태에 대해서 도면을 참조하여 설명한다. Next, embodiment of this invention is described with reference to drawings.

도 1은, 본 발명이 적용되는 정보통신시스템의 일 예를 나타내는 도이다. 이 정보통신시스템은, 노드(111)를 대신해 노드(11)를 마련한 이외는, 도 20에 도시한 시스템과 동일한 것이다. 인터넷(10)은, 패킷 전송을 수행하는 복수의 노드(11∼14)를 포함하는 복수의 네트워크끼리를 상호 접속한 것이다. 노드(11∼14)는 상호 통신 가능하게 접속되어 있다. 노드(11)에는, 계측용 단말(20) 및 단말(30)이 접속되어 있다. 1 is a diagram illustrating an example of an information communication system to which the present invention is applied. This information communication system is the same as the system shown in FIG. 20 except that the node 11 is provided in place of the node 111. The Internet 10 interconnects a plurality of networks including a plurality of nodes 11 to 14 that perform packet transmission. The nodes 11-14 are connected so that mutual communication is possible. The measurement terminal 20 and the terminal 30 are connected to the node 11.

이 정보통신시스템에서는, 노드(11)가 플로우 정보 집약 기능을 구비한 플로우 정보 처리부(200)를 갖고 있으며, 이 점이, 도 20에 도시한 정보통신시스템과 다르다. In this information communication system, the node 11 has a flow information processing unit 200 having a flow information aggregation function, which is different from the information communication system shown in FIG.

도 2에, 본 발명의 플로우 정보 제한장치의 일 실시형태인 노드(11)의 플로우 정보 처리부(200)의 구성을 나타낸다. 도 2를 참조하면, 플로우 정보 처리부(200)는, 계측용 네트워크 인터페이스(201), 플로우 생성 기능부(202), 플로우 정보수 제한 기능부(203), 플로우 송신 기능부(204) 및 출력용 네트워크 인터페이 스(205)를 갖는다. 2 shows a configuration of the flow information processing unit 200 of the node 11 which is one embodiment of the flow information restricting apparatus of the present invention. Referring to FIG. 2, the flow information processing unit 200 includes a measurement network interface 201, a flow generating function unit 202, a flow information number limiting function unit 203, a flow transmission function unit 204, and an output network. Has an interface 205.

계측용 네트워크 인터페이스(201)는, 각 단말로부터 인터넷(10)을 통해서 도달하는 패킷을 각각 수집하는 복수의 네트워크 인터페이스로 이루어진다. 계측용 네트워크 인터페이스(201)에서 수집된 패킷은 플로우 생성 기능부(202)로 공급된다. The measurement network interface 201 consists of a plurality of network interfaces that collect packets arriving from each terminal via the Internet 10, respectively. Packets collected at the measurement network interface 201 are supplied to the flow generation function unit 202.

플로우 생성 기능부(202)는, NetFlow, IPFIX 등의 플로우 통지 프로토콜을 이용하는 기존의 송신기기가 구비하고 있는 플로우 생성 기능부로, 계측용 네트워크 인터페이스(201)를 통해서 수집된 패킷의 헤더 정보에 기초하여 플로우 정보를 생성한다. 구체적으로는, 플로우 생성 기능부(202)는, 프로토콜, 소스 IP 어드레스, 수신처 IP 어드레스, 소스 포트 및 수신처 포트 등, 패킷의 헤더에 포함되는 정보, 또는 경로 정보 등의 패킷의 헤더로부터 판단되는 정보가 동일한 패킷을 동일한 통신에 속하는 패킷으로 간주하여, 그 패킷의 집합인 플로우에 대한 정보(플로우 정보)를 생성한다. 이 플로우 정보의 생성에서는, 플로우화하기 위한 조건에 기초하는 시간정보 갱신 등의 처리도 수행된다. 일반적으로 플로우 정보는, 프로토콜, 소스 IP 어드레스, 수신처 IP 어드레스, 소스 포트 및 수신처 포트의 각 정보를 포함하는 경우가 많다. 플로우 생성 기능부(202)에서 생성된 플로우 정보는, 플로우 정보수 제한 기능부(203)로 공급된다. The flow generation function unit 202 is a flow generation function unit included in an existing transmitter using a flow notification protocol such as NetFlow or IPFIX. The flow generation function unit 202 is based on the header information of the packet collected through the measurement network interface 201. Generate information. Specifically, the flow generation function unit 202 includes information determined from the header of the packet such as information included in the header of the packet, such as a protocol, a source IP address, a destination IP address, a source port, and a destination port, or path information. Regards the same packet as a packet belonging to the same communication, and generates information (flow information) about a flow that is a collection of the packet. In the generation of this flow information, processing such as time information update based on a condition for flow is also performed. In general, flow information often includes information of protocol, source IP address, destination IP address, source port, and destination port. Flow information generated by the flow generation function unit 202 is supplied to the flow information number limiting function unit 203.

플로우 정보수 제한 기능부(203)는, 플로우 생성 기능부(202)로부터 입력되는 플로우 정보를 일시적으로 저장하여 관리하기 위한 관리용 버퍼부를 구비하고, 상기 관리용 버퍼부로부터 플로우 정보를 독출하여 플로우 송신 기능부(204)로 공 급한다. 관리용 버퍼부에서 관리하는 플로우 정보수의 상한값이 미리 설정되어 있으며, 플로우 정보수 제한 기능부(203)는, 플로우 생성 기능부(202)로부터 일정 시간당 공급되는 플로우 정보의 수가 증대하여, 관리용 버퍼부에 저장되어 관리되고 있는 플로우 정보의 수가 상한값을 초과하면, 관리용 버퍼부에 저장되어 있는 플로우 정보군을 집약후보와 비집약 플로우 정보로 나누어, 집약후보에 대해서 집약 처리를 수행한다. 상한값은, 계측용 네트워크의 통신능력(노드(11)와 계측용 단말(20) 사이의 네트워크의 통신능력), 플로우 송신 기능부(204)의 처리능력 및 관리용 버퍼부로부터의 독출 속도 등을 고려하여, 괸리용 버퍼부와 플로우 송신 기능부(204)의 내부 버퍼가 파탄하지 않고, 계측용 네트워크의 통신에 폭주가 생기지 않도록 하는 값이 된다. 집약후보의 트래픽 계측에 있어서의 중요성은, 비집약 플로우 정보보다 낮다. The flow information number limiting function unit 203 includes a management buffer unit for temporarily storing and managing flow information input from the flow generation function unit 202, and reads flow information from the management buffer unit to perform flows. It is supplied to the transmission function unit 204. The upper limit value of the number of flow information managed by the management buffer unit is set in advance, and the flow information number limiting function unit 203 increases the number of flow information supplied from the flow generating function unit 202 per fixed time, thereby increasing the number of flow information. If the number of flow information stored and managed in the buffer portion exceeds the upper limit value, the flow information group stored in the management buffer portion is divided into aggregate candidates and non-intensive flow information, and the aggregate candidate is performed. The upper limit value indicates the communication capability of the measurement network (the communication capability of the network between the node 11 and the measurement terminal 20), the processing capability of the flow transmission function unit 204, the read speed from the management buffer unit, and the like. In consideration of this, the internal buffer of the query buffer unit and the flow transmission function unit 204 does not break, and the value is such that congestion does not occur in communication of the measurement network. The importance in the traffic measurement of the aggregate candidate is lower than the non-intensive flow information.

플로우 송신 기능부(204)는, NetFlow, IPFIX 등의 플로우 통지 프로토콜을 이용하는 기존의 송신기기가 구비하고 있는 플로우 송신 기능부로, 플로우 정보수 제한 기능부(203)로부터 공급된 플로우 정보를 일시적으로 저장하기 위한 내부 버퍼를 구비하고, 내부 버퍼로부터 독출한 플로우 정보를 적절한 사이즈로 패킷화하여 계측용 패킷을 생성하고, 상기 계측용 패킷에 전용의 헤더를 부여하여 출력용 네트워크 인터페이스(205)로부터 네트워크상으로 송출한다. 출력용 네트워크 인터페이스(205)로부터 송출된 계측용 패킷은, 계측용 단말(20)로 공급된다. 계측용 네트워크 인터페이스(201)와 출력용 네트워크 인터페이스(205)는 물리적으로 같은 것이어도 좋다. The flow transmission function unit 204 is a flow transmission function unit provided by an existing transmitter using a flow notification protocol such as NetFlow, IPFIX, and the like, to temporarily store flow information supplied from the flow information number limiting function unit 203. An internal buffer for generating a measurement packet by packetizing the flow information read from the internal buffer into an appropriate size, and assigning a dedicated header to the measurement packet, and sending it from the output network interface 205 onto the network. do. The measurement packet sent out from the output network interface 205 is supplied to the measurement terminal 20. The measurement network interface 201 and the output network interface 205 may be physically the same.

플로우 생성 기능부(202)가 생성한 플로우 정보를 저장하는 버퍼, 플로우 정보 제한 기능부(203)가 관리하기 위한 관리용 버퍼부, 플로우 송신 기능부(204)가 플로우 정보를 일시적으로 저장하기 위한 버퍼는 그 기억영역의 일부 또는 전체가 각각 독립하고 있어도 공유되고 있어도 좋다. A buffer for storing the flow information generated by the flow generating function unit 202, a management buffer unit for managing the flow information limiting function unit 203, and a flow transmitting function unit 204 for temporarily storing the flow information. The buffers may be part or whole of the storage area may be independent or shared.

다음으로, 노드(11)의 동작을 구체적으로 설명한다. Next, the operation of the node 11 will be described in detail.

노드(11)에서는, 플로우 정보수 제한 기능부(203)가, 플로우 생성 기능부(202)로부터 입력되는 플로우 정보의 수에 관계없이, 플로우 송신 기능부(204)에 대해서, 일정수 이하의 플로우 정보밖에 송신하지 않으므로, 노드(11)로부터 계측용 단말(20)에 송신되는 계측용 패킷의 양도 일정수 이하로 제한된다. In the node 11, the flow information number limiting function unit 203 has a flow of a predetermined number or less with respect to the flow transmission function unit 204 regardless of the number of flow information input from the flow generation function unit 202. Since only information is transmitted, the amount of the measurement packet transmitted from the node 11 to the measurement terminal 20 is also limited to a certain number or less.

도 3에, 플로우 정보수 제한 기능부(203)에서 관리되는 관리용 버퍼 구조의 일 예를 나타낸다. 관리용 버퍼는, 플로우 생성 기능부(202)로부터 입력되는 플로우 정보가 계측 목적에 따른 순위매김에 기초하여 재배열되어 저장되는 버퍼(B1)와, 플로우 생성조건의 각 항목의 조합으로 이루어지는, 집약하는 조건에 포함되는 비교항목이 다른 복수의 집약조건의 각각에 대응하여 마련된 버퍼(B2∼B7)를 갖는다. 3 shows an example of a management buffer structure managed by the flow information number limiting function unit 203. The management buffer is composed of a combination of a buffer B1 in which flow information input from the flow generating function unit 202 is rearranged and stored based on the ranking according to the measurement purpose, and each item of the flow generating conditions. The comparison item included in the condition to have buffers B2 to B7 provided corresponding to each of a plurality of different intensive conditions.

버퍼(B1)는, 비집약(B1-1)과 집약후보(B1-2)로 이루어진다. 버퍼(B1)에 저장되는 각 플로우 정보는, 플로우 생성 기능부(202)에서의 플로우 정보의 생성에 있어서 이용한, 동일 통신에 속하는 패킷을 식별하기 위한 조건(플로우 생성조건)을 만족하는 플로우 정보이다. 여기에서는, 플로우 생성조건은, 프로토콜, 소스 IP 어드레스, 수신처 IP 어드레스, 소스 포트 및 수신처 포트의 5개의 항목에 관한 조건 으로 되어 있다. The buffer B1 consists of non-intensive B1-1 and aggregate candidate B1-2. Each flow information stored in the buffer B1 is flow information that satisfies a condition (flow generation condition) for identifying a packet belonging to the same communication used in the generation of the flow information in the flow generation function unit 202. . Here, the flow generating conditions are conditions relating to five items of protocol, source IP address, destination IP address, source port, and destination port.

또한, 플로우 생성조건은, 상기 5개의 항목에 한정되는 것은 아니다. MAC 어드레스, IP 어드레스, 포트 번호 등을 비롯한 패킷 헤더에 기초하는 정보, 또는, 그들 정보로부터 판단되는 Next hop과 AS 번호 등의 경로 제어에 관한 정보 등을, 플로우 생성조건으로서 이용할 수 있다. 마찬가지로, 집약완료 정보를 관리하는 버퍼도 본래 조건의 항목 일부를 삭제하여 작성되기 때문에, 도 3 중의 버퍼(B2∼B7)에 예시하는 조건에 한정되는 것은 아니다. In addition, the flow generation conditions are not limited to the above five items. Information based on packet headers including MAC addresses, IP addresses, port numbers, and the like, or information on path control such as Next hop and AS numbers determined from those information can be used as flow generation conditions. Similarly, since the buffer managing the aggregation completion information is created by deleting a part of the original condition item, the buffer is not limited to the conditions illustrated in the buffers B2 to B7 in FIG.

NextFlow, IPFIX와 같은 플로우 정보를 다른 기기에 통지하기 위한 프로토콜을 이용한 경우, 계측용 단말(20)에 대해서는, 관측된 트래픽의 플로우 정보와, 그 플로우 정보의 포맷을 정의하기 위한 데이터 구조 정의 정보(템플릿이라 불린다)가 송신된다. When a protocol for notifying other devices of flow information such as NextFlow and IPFIX is used, the measurement terminal 20 includes the flow information of the observed traffic and the data structure definition information for defining the format of the flow information. Called a template) is transmitted.

도 4에, 플로우 정보 및 데이터 구조 정의 정보의 일 예를 나타낸다. 이 정의 정보에 따르면, 정의 정보·플로우 정보 공통의 4바이트의 헤더 뒤에, 정의정보용 4바이트의 헤더가 이어지고, 그 뒤에, 플로우 정보를 구성하는 항목이 열거된다. 4 shows an example of flow information and data structure definition information. According to this definition information, a header of four bytes for definition information is followed by a header of four bytes common to the definition information and flow information, followed by items constituting the flow information.

정의 정보·플로우 정보 공통의 4바이트의 헤더에서는, Set ID라 불리는 ID가 2바이트로 나타나고, 다음의 2바이트로 정보의 길이가 나타난다. Set ID는, 통상의 정의 정보인지, 후술하는 옵션용 정의 정보인지, 그들 정의 정보에 대응하는 플로우 정보·옵션 정보인지를 구별하기 위해서 이용된다. NetFlow의 경우는, 0이 통상의 정의 정보에 대응하고, 1이 옵션 정보에 대응하고, 256 이상의 값이 플로우 정보·옵션 정보에 대응한다. IPFIX의 경우는, 2가 통상의 정의 정보에 대응하고, 3이 옵션 정보에 대응하고, 256 이상의 값이 플로우 정보·옵션 정보에 대응한다. In the 4-byte header common to the definition information and flow information, an ID called Set ID is represented by 2 bytes, and the length of the information is represented by the next 2 bytes. The Set ID is used to distinguish between normal definition information, optional definition information to be described later, and flow information and option information corresponding to the definition information. In the case of NetFlow, 0 corresponds to normal definition information, 1 corresponds to option information, and 256 or more values correspond to flow information and option information. In the case of IPFIX, 2 corresponds to normal definition information, 3 corresponds to option information, and 256 or more values correspond to flow information and option information.

정의정보·플로우 정보 공통의 4바이트의 헤더에 이어지는 통상의 정의 정보용 헤더는, 2바이트의 템플릿 ID와 2바이트의 필드 카운트로 구성된다. 2바이트의 템플릿 ID는, 어느 플로우 정보의 데이터 구조를 정의하는지를 나타내기 위한 것이며, 대응하는 플로우 정보의 Set ID와 동일하게 된다. 필드 카운트는, 이것에 이어지는 항목수를 나타낸다. The normal definition information header following the 4-byte header common to the definition information and flow information is composed of a template ID of 2 bytes and a field count of 2 bytes. The two-byte template ID is for indicating which flow information data structure is defined and becomes the same as the Set ID of the corresponding flow information. The field count indicates the number of items following this.

필드 정보를 구성하는 각 항목은 4바이트마다 하나의 정보를 나타낸다. 4바이트 중의 전반의 2바이트는 항목의 ID를 나타내고, 후반의 2바이트는 항목의 사이즈(바이트수)를 나타낸다. 도 4에 도시한 예에서는, 필드 정보를 구성하는 항목이 12개 있고, 각각의 항목의 ID 및 바이트 수가 나타나 있다. 예를 들면, 최초의 항목에서는, IPv4의 소스 어드레스를 나타내는 sourceIPv4Address(ID:8번)가 4바이트인 것이 나타나고, 다음의 항목에서는, IPv4의 수신처 어드레스를 나타내는 distinationIPv4Address(ID:12번)가 4바이트인 것이 나타나 있다. 이와 같이 각 항목에 따라 플로우 정보의 데이터 구조가 정의되어 있다. Each item constituting the field information represents one piece of information every four bytes. The first two bytes of the four bytes indicate the item ID, and the second two bytes indicate the size (number of bytes) of the item. In the example shown in FIG. 4, there are 12 items constituting field information, and the ID and byte number of each item are shown. For example, the first item indicates that sourceIPv4Address (ID: No. 8) indicating a source address of IPv4 is 4 bytes. In the next item, distinationIPv4Address (ID: No. 12) indicating a destination address of IPv4 is 4 bytes. It is shown. Thus, the data structure of flow information is defined according to each item.

도 4에 도시한 필드 정보를 구성하는 각 항목 모두가 플로우 생성조건으로서 이용되는 것은 아니다. 예를 들면, 패킷량과 바이트량을 나타내는 카운트(도 4 중의 packetDeltaCount(ID:2번), octetDeltaCount(ID:1번))와 시간정보(도 4 중의 flowStartSysUpTime(ID:22번), flowEndSysUpTime(ID:21번))는, 플로우 생성조건으로서 이용할 수는 없다. 이 이외의 항목에 대해서도, 반드시 모두 플로우 생성조건 으로서 이용하는 것은 아니며, IPFIX의 경우, 다른 옵션 정보에 의해 명시적으로 플로우 생성조건이 되는 항목이 통지된다. 또한, NetFlow에서는, 그와 같은 통지 기능은 없기 때문에, 기기 실장 의존이 된다. IPFIX의 경우, 플로우 생성조건이 되는 항목은 플로우 키(Flow Key)라 불리고 있다. Not all items constituting the field information shown in FIG. 4 are used as the flow generating conditions. For example, a count (packetDeltaCount (ID: No. 2), octetDeltaCount (ID: No. 1) in Fig. 4) and time information (flowStartSysUpTime (ID: No. 22) in Fig. 4) and flowEndSysUpTime (ID) are shown. (21) cannot be used as the flow generation condition. The items other than these items are not necessarily used as flow generating conditions, and in the case of IPFIX, items which are explicitly set as flow generating conditions are notified by other option information. In addition, since NetFlow does not have such a notification function, it is device implementation dependent. In the case of IPFIX, an item that is a flow generating condition is called a flow key.

도 5에, 옵션 정보에 의한 통지방법을 모식적으로 나타낸다. 옵션 정보를 나타내는 경우, 옵션 데이터 구조 정의 정보와 옵션 정보의 관계는, 통상의 플로우 데이터 구조 정의 정보와 플로우 정보의 관계와 같다. 단, 옵션 정보에는, 스코프(Scope)라 불리는 정보의 범위를 나타내는 정보가 부여된다. 5, the notification method by option information is shown typically. In the case of indicating option information, the relationship between the option data structure definition information and the option information is the same as the relationship between the normal flow data structure definition information and the flow information. However, the option information is given information indicating a range of information called a scope.

옵션 데이터 구조 정의 정보는, 필드 카운트에 이어서, 2바이트의 스코프 필드 카운트가 부여되고, 그 뒤에 항목이 열거된다. 항목 중 최초의 스코프 필드 카운트가 부여된 수가 스코프(scope)가 된다. 도 5에 도시한 예에서는, Template ID(상술한 템플릿 ID와 용도는 같음)가 스코프가 된다. 또, 플로우 생성조건을 나타내는 flowkeyIndicator가 정의된다. Following the field count, the option data structure definition information is given a 2-byte scope field count, followed by items. The number to which the first scope field count is given among the items becomes a scope. In the example shown in FIG. 5, Template ID (same use as Template ID described above) becomes a scope. In addition, a flowkeyIndicator representing a flow generation condition is defined.

옵션 데이터 구조 정의 정보에 따라서 옵션 정보의 포맷이 작성되고, 옵션 정보로서 구체적인 값이 설정된다. 예를 들면, 도 4에 도시한 플로우 정보에 대한 옵션 정보를 나타내기 위해서는, Template ID에 대응하는 값은 256이 된다. flowKeyIndicator는, 64bit의 비트맵으로 되어 있으며, 1bit씩 1항목이 플로우 생성조건으로서 이용할 수 있는지를 나타낸다. 즉, flowKeyIndicator는, 선두로부터 최대 64개의 항목에 관해서, 플로우 생성조건으로서 이용하고 있는지 여부를 나타내는 정보를 설정할 수 있다. The format of the option information is created in accordance with the option data structure definition information, and specific values are set as the option information. For example, in order to indicate the option information with respect to the flow information shown in FIG. 4, the value corresponding to Template ID is 256. FIG. The flowKeyIndicator is a 64-bit bitmap and indicates whether one item of each bit can be used as a flow generation condition. That is, the flowKeyIndicator can set information indicating whether or not the flowKeyIndicator is used as a flow generation condition for up to 64 items from the head.

도 4에 도시한 정의 정보 중, sourceIPv4Address, destinationIPv4Address, protocolIdentifier, sourceTransportPort, destinationTransportPort가 플로우 생성조건인 경우, 각각 선두로부터 1번째, 2번째, 6번째, 7번째, 8번째에 위치하기 때문에, flowKeyIndicator의 데이터는 1bit째, 2bit째, 6bit째, 7bit째, 8bit째가 각각 1이 된다. In the definition information shown in Fig. 4, when sourceIPv4Address, destinationIPv4Address, protocolIdentifier, sourceTransportPort, and destinationTransportPort are flow creation conditions, they are located in the first, second, sixth, seventh, and eighth positions, respectively. Is 1 bit, 2 bit, 6 bit, 7 bit, 8 bit is 1 respectively.

이들의 플로우 정보 통지용 프로토콜을 이용하는 경우, 이용자는, 송신하고 싶은 플로우 정보에 포함시킬 항목의 ID와 사이즈를 지정하게 된다. 본 실시형태에서는, 또한, 플로우 생성조건에 이용하는 조건에 대해서, 이용자에 의해 설정된 우선순위를 부여한다. 이 우선순위가 낮은 것부터 조건을 삭제함으로써 새로운 조건을 작성한다. When using these flow information notification protocols, the user specifies the ID and size of the item to be included in the flow information to be transmitted. In this embodiment, the priority set by the user is also given to the conditions used for the flow generation conditions. Create a new condition by deleting the condition from the lower priority.

도 6 및 도 7에, 조건 우선도를 부여한 정의 정보 및 그것에 의해 전개되어 사용되는 조건의 일 예를 나타낸다. 6 and 7 show an example of definition information given a condition priority and conditions developed and used thereby.

도 6에 도시하는 예에서는, sourceIPv4Address, destinationIPv4Address, protocolIdentifier, sourceTransportPort, destinationTransportPort의 5개의 항목에 대해서 조건의 우선순위로서 다른 값이 주어져 있다. 이 우선순위에 따르면, 삭감수가 0인 경우, 삭감수가 1인 경우, 삭감수가 2인 경우, 삭감수가 3인 경우, 삭감수가 4인 경우의 각각에서 하나의 조건 세트가 생성되므로, 최대 5개의 조건 세트가 생성되게 된다.In the example shown in FIG. 6, five values of sourceIPv4Address, destinationIPv4Address, protocolIdentifier, sourceTransportPort, and destinationTransportPort are given different values as priority of conditions. According to this priority, one set of conditions is generated for each of 0 cuts, 1 cuts, 2 cuts, 3 cuts, and 4 cuts. The set will be created.

복수의 항목에 대해서 같은 우선순위가 주어진 경우는, 동일 우선순위의 항목은 배타적으로 이용된다. 도 7에 도시하는 예에서는, sourceIPv4Address 및 destinationIPv4Address 항목의 우선순위가 2가 되고, protocolIdentifier 항목의 우선순위가 1이 되고, sourceTransportPort 및 destinationTransportPort 항목의 우선순위가 4가 되어 있다. 이 우선순위에 따르면, 삭감수가 0인 경우에 하나의 조건 세트가 생성되고, 삭감수가 1인 경우에 2개의 조건 세트가 생성되고, 삭감수가 2인 경우에 하나의 조건 세트가 생성되고, 삭감수가 3인 경우에 2개의 조건 세트가 생성되고, 삭감수가 4인 경우에 하나의 조건 세트가 생성되므로, 최대 7개의 조건 세트가 생성되게 된다. When the same priority is given to a plurality of items, items of the same priority are used exclusively. In the example shown in FIG. 7, the priority of the sourceIPv4Address and the destinationIPv4Address items is 2, the priority of the protocolIdentifier item is 1, and the priority of the sourceTransportPort and destinationTransportPort items is 4. According to this priority, one condition set is generated when the reduction is 0, two condition sets are generated when the reduction is 1, and one condition set is generated when the reduction is 2. In the case of 3, two sets of conditions are generated, and in the case of the reduction factor of 4, one set of conditions is generated, so that up to seven sets of conditions are generated.

이들 우선순위에 관한 외부입력을 접수하기 위해서, 플로우 정보 처리부(200)를 도 8에 도시하는 바와 같은 구성으로 해도 좋다. 도 8에 도시하는 플로우 정보 처리부(200)는, 도 2에 도시한 구성에 더하여 제어부(206)를 구비한다. 플로우 생성 기능부(202), 플로우 정보수 제한 기능부(203) 및 플로우 송신 기능부(204)의 각각은, 제어부(206)와의 사이에서 정보를 송수신한다. 정의 정보의 입력 형식은, 도 9에 도시하는 바와 같은 cvs(콤마 구분 텍스트)와 스페이스·탭 구분 텍스트이어도 좋으며, 또, 도 10에 도시하는 바와 같은, XML 등의 기술언어를 이용한 것이어도 좋다. 도 10에 도시하는 예는, IETF에 제안되어 있는 "Configuration Data Model for IPFIX and PSAMP"(http://tools.ietf.org/wg/ipfixIn order to receive the external input regarding these priorities, the flow information processing part 200 may be configured as shown in FIG. The flow information processing unit 200 shown in FIG. 8 includes a control unit 206 in addition to the configuration shown in FIG. 2. Each of the flow generation function unit 202, the flow information number limiting function unit 203, and the flow transmission function unit 204 transmits and receives information with the control unit 206. The input format of the definition information may be cvs (comma separated text) and space tab separated text as shown in FIG. 9, or may be a description language such as XML as shown in FIG. 10. The example shown in FIG. 10 is a "Configuration Data Model for IPFIX and PSAMP" proposed by the IETF (http://tools.ietf.org/wg/ipfix

/draft-muenz-ipfix-configuration-01.txt(2006년 5월 15일 입수)의 기술방식에, flowKeyPrecedence라는 조건의 우선순위를 나타내는 요소를 독자로 추가한 것이다. In the description of /draft-muenz-ipfix-configuration-01.txt (available on May 15, 2006), the reader added an element that indicates the priority of the condition flowKeyPrecedence.

플로우 생성 기능부(202)에서 생성된 정보는, 플로우 정보수 제한 기능부(203)로 공급되고, 거기서, 플로우 송신 기능부(204)로 송신되기 전에, 플로우 집약조건에서 삭제된 항목이 템플릿으로부터 삭제되거나, 또는, flowKeyIndicator의 비트맵으로부터 제외된다. 이들은 모두, 다른 템플릿으로서 취급할 필요가 있기 때문에, 플로우 송신 기능부(204)에서 다른 템플릿 ID가 부여되어 출력용 네트워크 인터페이스(205) 경유로 송신된다. 이와 같이, 플로우 정보수 제한 기능부(203)가, 플로우 생성 기능부(202)가 수행하는 플로우 정보의 생성에 이용되는 패킷의 속성에 대응하는 항목과 외부입력된 상기 항목의 우선순위를 보유하고, 상기 우선순위가 최하위인 항목을 플로우 정보 생성의 항목으로부터 삭제하는 처리를 반복하여 수행함으로써, 비교항목을 단계적으로 변경한다. The information generated by the flow generating function unit 202 is supplied to the flow information number limiting function unit 203, where an item deleted in the flow intensive condition is removed from the template before being transmitted to the flow transmitting function unit 204. Removed or excluded from the bitmap of the flowKeyIndicator. Since these all need to be handled as different templates, different template IDs are given by the flow transmission function unit 204 and transmitted via the output network interface 205. In this way, the flow information number limiting function unit 203 holds an item corresponding to an attribute of a packet used for generating flow information performed by the flow generating function unit 202 and the priority of the externally inputted item. The comparison item is gradually changed by repeatedly performing the process of deleting the item having the lowest priority from the item of the flow information generation.

계측 목적에 따른 재배열은, 예를 들면, 계측 목적이 DoS 등의 공격에 의해 통신되는 데이터량이 증대한 트래픽의 검출인 경우는, 플로우 정보에 포함되어 있는 데이터량의 대소관계에 기초하여 플로우 정보를 재배열한다. 계측 목적이 TCP SYN DoS 등의 공격에 관한 트래픽의 검출인 경우는, 플로우 정보에 포함되어 있는 SYN 등의 메시지 수의 대소관계에 기초하여 플로우 정보를 재배열한다. 계측 목적이 복수의 항목으로 이루어지는 경우는, 플로우 정보에 포함되어 있는, 각각의 항목의 데이터 수에 대해서, 우선순위와 가중을 수행한 후에, 플로우 정보를 재배열한다. 또한 그들의 값의 표준편차·분산값 등의 통계값도 재배열의 지표로서 이용할 수 있다. 재배열의 방법도 목적에 따라서 내림순, 올림순을 전환하는 것이 가능하다. The rearrangement according to the measurement purpose is, for example, in the case where the measurement purpose is detection of traffic in which the amount of data communicated by an attack such as DoS is increased, the flow information is based on the magnitude relation of the amount of data included in the flow information. Rearrange When the measurement purpose is detection of traffic related to an attack such as TCP SYN DoS, the flow information is rearranged based on the magnitude relationship of the number of messages such as SYN included in the flow information. When the measurement purpose consists of a plurality of items, the flow information is rearranged after prioritizing and weighting the data number of each item included in the flow information. Statistical values such as standard deviation and variance of these values can also be used as indicators of rearrangement. The rearrangement method can also be switched in descending order, according to the purpose.

비집약(B1-1)에는, 외부로부터 주어진 비집약수에 기초하여, 재배열이 수행된 플로우 정보군의 상위 비집약 수개의 플로우 정보가 비집약 플로우 정보로서 저 장되고, 집약후보(B1-2)에는, 재배열이 수행된 플로우 정보군의 비집약 플로우 정보 이외의 플로우 정보가 집약후보로서 저장된다. 도 3 중, 비집약(B1-1) 및 집약후보(B1-2)에 저장된 정보 플로우는, 도면을 마주보아 좌측으로 갈수록 순위가 낮고, 우측으로 갈수록 순위가 높게 되어있다. In the non-intensive B1-1, based on the non-intensive number given from the outside, several pieces of high-density flow information of the flow information group in which the rearrangement is performed are stored as non-intensive flow information, and the concentrated candidate B1- In 2), flow information other than the non-intensive flow information of the flow information group in which the rearrangement was performed is stored as the aggregate candidate. In FIG. 3, the information flows stored in the non-intensive (B1-1) and aggregated candidates (B1-2) have a lower rank as the left side faces the drawing, and a higher rank as the right side.

버퍼(B2)에는, 플로우 생성조건 중, 프로토콜, 소스 어드레스, 수신처 어드레스 및 수신처 포트의 4개의 항목(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. 버퍼(B3)에는, 플로우 생성조건 중, 프로토콜, 소스 어드레스, 수신처 어드레스 및 소스 포트의 4개의 항목(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. In the buffer B2, the aggregated flow information group in which the flow information in which the four items (the aggregation conditions) of the protocol, the source address, the destination address, and the destination port are matched are stored. In the buffer B3, the aggregated flow information group in which the flow information in which the four items (the aggregation conditions) of the protocol, the source address, the destination address, and the source port are matched are stored.

버퍼(B4)에는, 플로우 생성조건 중, 프로토콜, 소스 어드레스 및 수신처 어드레스의 3개의 항목(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. 버퍼(B5)에는, 플로우 생성조건 중, 프로토콜 및 수신처 어드레스의 2개의 항목(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. 버퍼(B6)에는, 플로우 생성조건 중, 프로토콜 및 소스 어드레스의 2개의 항목(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. 버퍼(B7)에는, 플로우 생성조건 중 프로토콜(집약조건)이 합치하는 플로우 정보를 집약한 집약완료 플로우 정보군이 저장된다. In the buffer B4, the aggregated flow information group in which the flow information in which the three items (the aggregation conditions) of the protocol, the source address, and the destination address are matched are stored. In the buffer B5, the aggregated flow information group in which the flow information in which the two items (the aggregation conditions) of the protocol and the destination address are matched are stored. In the buffer B6, the aggregated flow information group in which the flow information in which two items (the aggregate conditions) of the protocol and the source address are matched are stored among the flow generation conditions. In the buffer B7, the aggregated flow information group in which the flow information that the protocol (the aggregated condition) matches among the flow generation conditions is collected is stored.

집약조건은, 조건을 구성하는 항목이 많은 쪽부터, 버퍼 B2, B3, B4, B5, B6, B7의 순번으로 되어있다. 도 3 중에서는, 도면을 마주보아 상측일수록, 조건을 구성하는 항목이 많게 되어 있으며, 하측일수록, 조건을 구성하는 항목이 적게 되 어 있다.The intensive condition is a sequence of buffers B2, B3, B4, B5, B6, and B7, starting from the larger number of items constituting the condition. In FIG. 3, the items constituting the conditions become larger as the upper side faces the drawing, and the items constituting the conditions become smaller as the lower side.

관리용 버퍼부에 저장되어 관리되고 있는 플로우 정보의 수가 상한값 이하인 경우는, 플로우 정보수 제한 기능부(203)는, 버퍼(B1)로부터 플로우 정보를 순차 독출하여 플로우 송신 기능부(204)에 공급한다. 관리용 버퍼부에 저장되어 관리되고 있는 플로우 정보의 수가 상한값을 초과한 경우는, 플로우 정보수 제한 기능부(203)는, 버퍼(B1)에 저장되어 있는 플로우 정보에 대해서 계측 목적에 따른 재배열을 수행하여, 상위의 플로우 정보를 비집약(B1-1)에 저장하고, 하위의 플로우 정보를 집약후보(B1-2)에 저장한다. 그리고, 집약후보(B1-2)에 저장한 플로우 정보(집약후보)에 대해서, 플로우 정보 집약 처리를 실행한다. 비집약(B1-1)에 저장한 플로우 정보는, 집약되지 않고, 순차 독출되어, 플로우 송신 기능부(204)에 공급된다. When the number of flow information stored and managed in the management buffer unit is equal to or lower than the upper limit value, the flow information number limiting function unit 203 sequentially reads the flow information from the buffer B1 and supplies it to the flow transmission function unit 204. do. When the number of flow information stored and managed in the management buffer unit exceeds the upper limit, the flow information number limiting function unit 203 rearranges the flow information stored in the buffer B1 according to the measurement purpose. Then, the upper flow information is stored in the non-intensive B1-1, and the lower flow information is stored in the aggregate candidate B1-2. Then, the flow information aggregation process is executed on the flow information (aggregation candidate) stored in the aggregation candidate B1-2. The flow information stored in the non-intensive B1-1 is not aggregated but is read out sequentially and supplied to the flow transmission function unit 204.

또한, 여기에서는, 관리되고 있는 플로우 정보의 수가 상한값을 초과한 경우에 버퍼(B1)에 저장되어 있는 플로우 정보의 재배열을 수행하도록 되어 있으나, 삽입 소트 등의 알고리즘을 이용하여, 플로우 생성 기능부(202)로부터 공급되는 플로우 정보를 재배열한 상태에서 버퍼(B1)에 저장하도록 해도 좋다. In addition, in this case, when the number of managed flow information exceeds the upper limit, the flow information stored in the buffer B1 is rearranged. However, the flow generation function unit uses an algorithm such as an insertion sort. The flow information supplied from 202 may be stored in the buffer B1 in a rearranged state.

다음으로, 플로우 정보수 제한 기능부(203)에서 수행되는 플로우 정보 집약 처리에 대해서 구체적으로 설명한다. 도 11에, 그 플로우 정보 집약 처리의 일 수순을 나타낸다. Next, the flow information aggregation process performed by the flow information number limiting function unit 203 will be described in detail. 11 shows one procedure of the flow information aggregation process.

우선, 관리용 버퍼부에 저장되어 관리되고 있는 플로우 정보의 수가 상한값을 초과했는지 여부를 판단한다(단계 S1). 이 판단은, 일정시간 걸러, 또는, 플로 우 생성 기능부(202)로부터 플로우 정보가 입력될때마다 수행된다. First, it is determined whether or not the number of flow information stored and managed in the management buffer unit has exceeded the upper limit (step S1). This determination is performed every other time, or whenever flow information is input from the flow generating function unit 202.

관리되고 있는 플로우 정보의 수가 상한값을 초과한 경우는, 버퍼(B1)에 저장되어 있는 플로우 정보의 재배열을 수행하여 집약후보와 비집약 플로우 정보로 나눈다(단계 S2). 다음으로, 집약후보 중의 순위가 가장 낮은 플로우 정보를 집약 대상으로서 추출한다(단계 S3). 다음으로, 초기 집약조건을 설정한다(단계 S4). 초기 집약조건은, 플로우 생성조건보다 1개 항목이 적은 조건이며, 구체적으로는, 도 3에 도시한 버퍼(B2)에 관한 집약조건이다. 다음으로, 검색 대상 버퍼로서 집약조건에 대응하는 버퍼를 설정한다(단계 S5). 도 3에 도시한 버퍼(B2)에 관한 집약조건이 설정된 경우는, 버퍼(B2)가 검색 대상 버퍼가 된다. If the number of managed flow information exceeds the upper limit, the flow information stored in the buffer B1 is rearranged and divided into aggregate candidates and non-intensive flow information (step S2). Next, the flow information with the lowest rank among the aggregate candidates is extracted as the aggregate target (step S3). Next, an initial aggregation condition is set (step S4). The initial aggregate condition is a condition in which one item is smaller than the flow generation condition, and specifically, the aggregate condition regarding the buffer B2 shown in FIG. 3. Next, a buffer corresponding to the aggregation condition is set as the search target buffer (step S5). When the aggregation condition for the buffer B2 shown in Fig. 3 is set, the buffer B2 becomes the search target buffer.

다음으로, 검색 대상 버퍼 내에, 집약대상으로 설정된 집약조건의 전 항목이 일치하는 집약완료 플로우 정보가 있는지 여부를 판정한다(단계 S6). 집약조건의 전 항목이 일치하는 집약완료 플로우 정보가 있는 경우는, 집약 대상을 그 집약완료 플로우 정보와 집약하여 현재 설정되어 있는 집약조건에 대응하는 버퍼에 저장한다(단계 S7). 검색시에 집약조건의 전 항목이 일치하는 집약완료 플로우 정보가 복수 검색된 경우는, 그들 전체의 집약완료 플로우 정보와 집약 대상을 집약한다. Next, it is determined whether or not there is aggregated flow information in the search target buffer in which all items of the aggregated condition set as the aggregated target match (step S6). If there is aggregated flow information in which all items of the aggregated condition match, the aggregated object is aggregated with the aggregated flow information and stored in a buffer corresponding to the currently set aggregated condition (step S7). When a plurality of aggregated flow information in which all items of the aggregated conditions match at the time of retrieval are retrieved, the aggregated flow information and the aggregate target of all of them are aggregated.

단계 S6에서 집약조건의 전 항목이 일치하는 집약완료 플로우 정보가 없다고 판단된 경우는, 단계 S5에서 설정한 대상 버퍼가 집약후보(B1-2)인지 여부를 판단한다(단계 S8). 대상 버퍼가 집약후보(B1-2)가 아닌 경우는, 검색 대상 버퍼로서 현재보다 1개 상위의 버퍼(조건을 구성하는 항목이 많은 버퍼)를 설정하고(단계 S9), 단계 S6으로 이행한다.If it is determined in step S6 that there is no aggregate completion flow information that matches all of the aggregate conditions, it is determined whether or not the target buffer set in step S5 is the aggregate candidate B1-2 (step S8). If the target buffer is not the aggregate candidate B1-2, a buffer higher than the current one (the buffer having many items constituting the condition) is set as the search target buffer (step S9), and the process proceeds to step S6.

단계 S8에서 대상 버퍼가 집약후보(B1-2)라고 판단한 경우는, 현재 설정되어 있는 집약조건이, 조건을 구성하는 항목이 가장 적은 조건인지 여부를 판단한다(단계 S10). 집약조건이, 조건을 구성하는 항목이 가장 적은 조건이 아닌 경우는, 집약조건을 현재보다도 항목이 1개 적은 조건으로 변경하고(단계 S11), 단계 S5로 이행한다. 집약조건이, 조건을 구성하는 항목이 가장 적은 조건인 경우는, 집약대상을, 조건을 구성하는 항목이 가장 적은 조건의 버퍼에 저장한다(단계 S12).If it is determined in step S8 that the target buffer is the aggregate candidate B1-2, it is determined whether the currently set aggregate condition is the condition that has the fewest items constituting the condition (step S10). If the aggregated condition is not the condition that has the fewest items, the aggregated condition is changed to the one having fewer items than the present one (step S11), and the process proceeds to step S5. If the aggregate condition is a condition with the fewest items constituting the condition, the aggregate target is stored in a buffer of the condition with the fewest items constituting the condition (step S12).

이상의 플로우 정보 집약 처리를, 도 3에 도시한 관리용 버퍼를 예로, 구체적으로 설명한다. The above flow information intensive process will be described in detail with reference to the management buffer shown in FIG. 3 as an example.

단계 S2에서, 상위의 플로우 정보를 비집약(B1-1)에 저장하고, 하위의 플로우 정보를 집약후보(B1-2)에 저장한 후, 단계 S3에서, 집약후보(B1-2)에 저장한 플로우 정보 중에서 순위가 가장 낮은 플로우 정보를 집약 대상으로서 추출한다. 도 3 중, 집약후보(B1-2) 내의, 가장 좌측에 위치하는 플로우 정보가 집약 대상이 된다. In step S2, the upper flow information is stored in non-intensive B1-1, the lower flow information is stored in aggregate candidate B1-2, and in step S3, it is stored in aggregate candidate B1-2. Flow information with the lowest rank among the flow information is extracted as the aggregation target. In FIG. 3, the flow information located at the leftmost point in the aggregation candidate B1-2 becomes the aggregation target.

다음으로, 단계 S4에서, 초기 집약조건으로서, 플로우 생성조건에 비하여, 조건을 구성하는 항목이 1개 적은 조건(버퍼(B2)의 집약조건)이 설정된다. 즉, 초기 집약조건으로서, 플로우 생성조건 중, 프로토콜, 소스 어드레스, 수신처 어드레스 및 수신처 포트의 4개의 항목이 설정된다. 다음으로, 단계 S5에서, 검색 대상 버퍼로서, 설정된 집약조건에 대응하는 버퍼를 설정하고, 단계 S6에서, 그 버퍼를 검색한다. 이 단계에서는, 단계 S4에서 설정한 초기 집약조건에 대응하는 버퍼(B2) 내에, 집약대상과 초기 집약조건의 전 항목이 일치하는 집약완료 플로우 정보가 있 는지 여부의 판정이 수행된다. 도 12에, 버퍼(B2) 내의 왼쪽부터 4번째의 집약완료 플로우 정보가, 집약대상과 일치하는 상태가 도시되어 있다. 이 경우, 집약대상은, 그 4번째의 집약완료 플로우 정보에 집약된다. 또한, 집약대상은, 집약후보(B1-2)로부터 삭제된다. Next, in step S4, as the initial aggregation condition, a condition (the aggregation condition of the buffer B2) in which one item constituting the condition is smaller than the flow generating condition is set. That is, four items of a protocol, a source address, a destination address, and a destination port are set among the flow generating conditions as the initial aggregation condition. Next, in step S5, a buffer corresponding to the set aggregation condition is set as the search target buffer, and in step S6, the buffer is searched. In this step, determination is made in the buffer B2 corresponding to the initial aggregation condition set in step S4 whether there is aggregated flow information in which all items of the aggregation target and the initial aggregation condition match. 12 shows a state in which the fourth aggregated flow information from the left in the buffer B2 coincides with the aggregated object. In this case, the aggregation target is aggregated into the fourth aggregated flow information. Also, the aggregation target is deleted from the aggregation candidate B1-2.

단계 S6에서의 판정에서 '해당 플로우 없음'이 된 경우는, 단계 S8에서, 검색 대상 버퍼가 집약후보(B1-2)인지 여부가 판단된다. 검색 대상 버퍼가 집약후보(B1-2)가 아닌 경우는, 단계 S8에서 현재보다 1개 상위의 버퍼를 검색 대상 버퍼로 설정하고, 단계 S6으로 이행하여 해당 플로우가 있는지 여부를 판단한다. 도 13에, 집약후보(B1-2) 내의 왼쪽부터 5번째의 플로우 정보가, 집약대상과 일치하는 상태가 도시되어 있다. 이 경우, 집약대상 및 5번째의 플로우 정보가 집약되어 집약완료 플로우 정보로서 버퍼(B2)에 저장된다. 또한, 집약대상 및 5번째의 플로우 정보는, 집약후보(B1-2)로부터 삭제된다. 또한, 상위 버퍼의 검색에 있어서, 집약대상과 합치하는 플로우 정보가 복수 존재하는 경우가 있다. 그와 같은 경우는, 그들 복수의 플로우 정보 모두를 집약대상과 집약한다. In the case where the determination in step S6 results in "no corresponding flow", it is determined in step S8 whether the search target buffer is the aggregate candidate B1-2. If the search target buffer is not the aggregate candidate B1-2, in step S8, a buffer higher than the current one is set as the search target buffer, and the flow advances to step S6 to determine whether there is a corresponding flow. FIG. 13 shows a state in which the fifth flow information from the left in the aggregation candidate B1-2 coincides with the aggregation target. In this case, the aggregation target and the fifth flow information are aggregated and stored in the buffer B2 as the aggregation completion flow information. In addition, the aggregation target and the fifth flow information are deleted from the aggregation candidate B1-2. In the search for the upper buffer, there may be a plurality of flow informations matching the aggregation target. In such a case, all of the plurality of flow informations are aggregated with the aggregation target.

단계 S6에서의 판정에서 '해당 플로우 없음'이 되고, 단계 S8에서의 판정에서 대상 버퍼가 집약후보라고 판단된 경우는, 단계 S10에서, 집약조건이, 조건을 구성하는 항목이 가장 적은 조건(버퍼(B7)에 대응하는 집약조건)인지가 판단된다. 집약조건이, 조건을 구성하는 항목이 가장 적은 조건이 아닌 경우는, 단계 S11에서, 집약조건을 현재보다 1개 항목이 적은 조건으로 변경하고, 단계 S5로 이행하여, 그 변경한 집약조건에 대응하는 버퍼를 검색 대상 버퍼로 설정한다. 예를 들 면, 버퍼(B2)의 집약조건이 초기 집약조건으로서 설정된 경우에 있어서, 버퍼(B2) 내에 검색 대상과 집약조건이 일치하는 집약완료 플로우 정보가 없고, 그리고, 집약후보(B1-2)에도 검색 대상과 집약조건이 일치하는 플로우 정보가 없는 경우는, 집약조건은, 현재보다 1개 항목이 적은 조건인 버퍼(B3)의 집약조건으로 변경되고, 집약대상 버퍼는 버퍼(B3)로 설정된다. 그리고, 변경된 집약조건에서, 버퍼(B3) 내의 검색이 수행된다. 도 14에, 버퍼(B3)에 대한 검색의 상태가 도시되어 있다. 이 예에서는, 버퍼(B3)에는, 집약대상과 집약조건이 일치하는 집약완료 플로우 정보는 없기 때문에, 단계 S6에서의 판단은 '해당 플로우 없음'이 된다. If the determination in step S6 results in "no flow applicable", and the determination in step S8 determines that the target buffer is the aggregate candidate, in step S10, the condition in which the aggregate condition is the least includes the items that constitute the condition (buffer). It is determined whether or not the intensive condition corresponding to (B7). If the intensive condition is not the condition that has the least number of items, the intensive condition is changed to a condition in which one item is smaller than the current one in step S11, and the process proceeds to step S5 to correspond to the changed intensive condition. Set the buffer to be the search target buffer. For example, in the case where the aggregation condition of the buffer B2 is set as the initial aggregation condition, there is no aggregation completion flow information in which the search target and the aggregation condition match in the buffer B2, and the aggregation candidate B1-2 If there is no flow information that matches the search target and the aggregate condition, the aggregate condition is changed to the aggregate condition of the buffer B3, which is a condition that one item is smaller than the current one, and the aggregate target buffer is changed to the buffer B3. Is set. Then, in the changed aggregate condition, a search in the buffer B3 is performed. In Fig. 14, the state of the search for the buffer B3 is shown. In this example, since there is no aggregated flow information in which the aggregate target and the aggregate condition match in the buffer B3, the determination in step S6 is 'no corresponding flow'.

단계 S6∼S9의 루프에서, 단계 S4 또는 단계 S11에서 설정한 집약조건으로, 대상이 되는 버퍼의 조건을 단계적으로 변경한다. 또, 단계 S5∼S11의 루프에서, 집약조건을 단계적으로 변경한다. 이 대상 버퍼 및 집약조건의 단계적인 변경에 의해, 집약에 수반하는 플로우 정보의 결락 양을 최소한으로 하고, 계측 대상인 트래픽에 있어서의 중요한 정보를 보유하는 것이 가능하게 되어 있다. In the loop of steps S6 to S9, the condition of the target buffer is changed in stages by the aggregation condition set in step S4 or step S11. In the loop of steps S5 to S11, the aggregation condition is changed in steps. With this step-by-step change of the target buffer and the aggregation conditions, it is possible to minimize the amount of missing flow information accompanying the aggregation and to retain important information in the traffic to be measured.

또, 이 집약 처리에 따르면, 집약조건의 항목수가 필요이상으로 적어지게 되지 않고, 집약대상을 집약할 수 있으며, 집약한 분량만큼 플로우 정보의 수가 감소한다. 또한, 도 3, 도 12∼도 14에 도시한 버퍼 구성의 예, 도 11에 도시한 알고리즘의 예에서는, 복수의 버퍼를 이동하여 처리를 수행하고 있으나, 버퍼 자체는 1개이고 버퍼 내의 각 플로우 정보에 집약의 조건을 나타내는 ID를 기록하여 식별하는 방법도 있다. 모두 집약의 조건을 구성하는 항목이 다른 경우는, 기본적으로 플로우 송신 기능부에서 창출되는 템플릿이 다르게 되며, 그 때, 템플릿 ID가 다르다. 따라서, 집약의 조건을 나타내는 ID는 템플릿 ID에 상당하는 값을 사용하면 좋다. 또, 마찬가지로 집약되어 사용하지 않게 된 플로우 정보는, 버퍼로부터 삭제하는 방법과, 실제로는 삭제하지 않고, 정보가 무효인 특별한 유의의 ID를 부여하여 참조하지 않는 방법이 있다. According to this aggregation process, the number of items in the aggregation condition is not reduced more than necessary, and the aggregation targets can be aggregated, and the number of flow information decreases by the aggregated amount. In the example of the buffer configuration shown in Figs. 3 and 12 to 14 and the algorithm shown in Fig. 11, a plurality of buffers are moved to perform processing. However, there is only one buffer itself and each flow information in the buffer. There is also a method of identifying and recording an ID indicating an aggregation condition in the. If the items constituting the aggregation conditions are all different, the template generated by the flow transmission function unit is different basically, and the template ID is different at that time. Therefore, the ID representing the aggregation condition may use a value corresponding to the template ID. Similarly, there is a method of deleting the aggregated and unused flow information from the buffer, and a method of not deleting the actual information and assigning a reference of a particular significant ID whose information is invalid.

도 11에 도시한 집약 처리의 변형 예로서, 단계 S2와 S3 사이에서, 초기의 플로우 정보의 집약을 수행하는 것도 생각할 수 있다. 플로우 정보는, 플로우 생성·집약조건으로서 사용되는 항목이 같은 값이라도, 플로우의 종료에 의해 다른 플로우로서 카운트되는 경우가 있다. 예를 들면, 다음과 같은 2개의 조건이 있다. As a modification of the aggregation processing shown in Fig. 11, it is also conceivable to perform the aggregation of the initial flow information between steps S2 and S3. The flow information may be counted as another flow by the end of the flow even if the items used as the flow generation / aggregation conditions have the same value. For example, there are two conditions as follows.

하나는, TCP 등의 커넥션형 프로토콜을 이용하는 경우로, 종료를 나타내는 메시지(TCP이면, FIN, RST 등)를 관측한 경우에, 플로우의 종료로서 간주된다. 또 하나는, 일정시간마다 데이터 송신을 수행하기 위해서, 타임아웃 시간이 마련되어 있는 경우로, 이 타임아웃 시간을 초과한 플로우는 일단 종료하고, 플로우 생성·집약조건으로서 사용되는 항목이 같은 값인 다른 플로우 정보로서 카운트된다. 타임아웃 시간으로서는, UDP 등의 커넥션형 프로토콜용의 비계속시간(최종 패킷으로부터의 경과시간)과 TCP 등의 커넥션형 프로토콜용의 계속시간(개시 패킷으로부터의 경과시간)의 2종류가 있다. 이들의 조건에 의해, 플로우 생성·집약조건으로 사용되는 항목이 같은 값이라도, 각각의 플로우로서 분단될 가능성이 있다.One is a case where a connection type protocol such as TCP is used, and when a message indicating termination (in case of TCP, FIN, RST, etc.) is observed, it is regarded as the end of the flow. Another is a case in which a timeout time is provided in order to perform data transmission every fixed time. A flow exceeding this timeout time is once terminated, and another flow whose item is used as a flow generation / aggregation condition has the same value. It is counted as information. There are two types of timeout times: non-continuity time for connection type protocols such as UDP (elapsed time from the last packet) and duration time for connection type protocols such as TCP (elapsed time from the start packet). Depending on these conditions, even if the items used in the flow generation / aggregation conditions have the same value, there is a possibility that they are divided as respective flows.

플로우 집약조건을 필요이상으로 작게하지 않고, 플로우 정보를 가능한 보유하는 것을 목적으로 하는 경우, 집약조건 삭감의 처리를 수행하기 전에, 메시지와 타임아웃에 의해 분단된 플로우의 집약을 수행함으로써, 집약조건 삭감의 처리를 수행할 필요가 없어지는 경우가 있다. 이 경우는, 플로우 집약에 의한 정보의 손실을 최소한으로 그치게 할 수 있다. In order to retain the flow information as much as possible without reducing the flow intensive condition more than necessary, the intensive condition is performed by performing the aggregation of flows divided by the message and the timeout before performing the process of reducing the intensive condition. There is a case where it is not necessary to perform the process of reduction. In this case, loss of information due to flow aggregation can be minimized.

또한, 도 11에 도시한 집약 처리의, 집약조건의 단계적인 변화의 처리 과정에 있어서, 이미 집약조건의 항목이 배타적인 경우는, 그 항목에 대한 검색은 수행하지 않는다. 예를 들면, 버퍼(B2)의 집약조건(프로토콜, 소스 어드레스, 수신처 어드레스 및 수신처 포트)과 버퍼(B3)의 집약조건(프로토콜, 소스 어드레스, 수신처 어드레스 및 소스 포트)은, 항목수가 같으며, 배타적이다. 따라서, 버퍼(B3)에 대응하는 집약조건에서의 검색 처리에 있어서 버퍼(B2)의 검색은 스킵하는 것이 바람직하다. In the intensive process shown in Fig. 11, when the items of the intensive condition are already exclusive in the process of the stepwise change of the intensive condition, the search for the item is not performed. For example, the aggregation conditions (protocol, source address, destination address, and destination port) of the buffer B2 and the aggregation conditions (protocol, source address, destination address, and source port) of the buffer B3 have the same number of items. Exclusive. Therefore, it is preferable to skip the search of the buffer B2 in the search processing under the intensive condition corresponding to the buffer B3.

또, 단계 S4에서 설정하는 초기 집약조건은, 프로토콜, 소스 어드레스, 수신처 어드레스 및 소스 포트의 4개의 항목에 한정되는 것은 당연히 아니다. 타임아웃에 의해 분단된 플로우의 집약을 수행하는 경우는, 조건과 우선도로부터 도출되는 삭감수 0(플로우 생성조건과 동일)의 조건을 구성하는 항목이 되고, 타임아웃에 의해 분단된 플로우의 집약을 수행하지 않는 경우는, 삭감수 1의 조건을 구성하는 항목이 된다. In addition, the initial aggregation condition set in step S4 is not necessarily limited to four items of a protocol, a source address, a destination address, and a source port. When the aggregation of flows segmented by timeout is performed, it becomes an item constituting a condition of a reduction factor 0 (same as the flow generating condition) derived from the condition and the priority, and the aggregation of flows segmented by timeout. In the case of not performing this, the item constitutes a condition of the reduction factor 1.

이상이 기본적인 조건 삭감 방법이다. 이 조건 삭감 방법에 있어서의 처리의 고속화를 수행하기 위해서, 검색용 인덱스(색인)를 작성하는 것을 생각할 수 있다. 검색용 인덱스를 이용함으로써, 검색 횟수를 삭감할 수 있다. This is the basic condition reduction method. In order to speed up the process in this condition reduction method, it is conceivable to create a search index (index). By using the search index, the number of searches can be reduced.

검색용 인덱스의 작성에는, 예를 들면 이진트리(binary partition tree)의 알고리즘을 이용할 수 있다. 밸런스 잡힌 이진트리에 의하면, Log2N의 속도로 검색 을 수행하는 것이 가능하다. 복수의 항목마다 정보를 갖는 플로우 정보를 이진트리로 보유하는 경우, 2개의 이진트리의 구축방법을 생각할 수 있다. 일반적으로, 이진트리의 구축방법에서는, 이미 저장완료한 요소의 값과 신규로 삽입하는 요소의 값을 비교하고, 그 대소관계에 의해 저장위치를 결정한다. For example, a binary partition tree algorithm can be used to create a search index. With a balanced binary tree, it is possible to perform searches at the speed of Log2N. In the case where the flow information having information for a plurality of items is held in a binary tree, a construction method of two binary trees can be considered. In general, in the binary tree construction method, the value of an already stored element and the value of a newly inserted element are compared, and the storage position is determined by the magnitude relationship.

제1의 구축방법은, 복수 항목 중, 우선순위가 상위인 항목부터 대소비교를 수행하는 방법이다. 이 제1의 구축방법에서는, 결과로서 복수 항목의 우선순위가 상위인 항목부터 값을 상위의 자리수에 맵핑해 가서, 하나의 값으로 변환하고, 그 값을 대소비교한다. The first construction method is a method of performing large and small comparisons from a plurality of items having higher priority. In this first construction method, as a result, values are mapped to higher order digits from the items having the higher priority of the plurality of items, converted into one value, and the values are compared largely.

도 15는, 제1의 구축방법에 의해 작성되는 검색용 인덱스를 설명하기 위한 도이다. 도 15에 도시하는 예에서는, 플로우 정보 A∼E에 관한 항목으로서, protoFig. 15 is a diagram for explaining a search index created by the first construction method. In the example shown in FIG. 15, as an item regarding flow information AE, it is proto.

colIdentifier(우선순위는 1), destinationTransportPort(우선순위는 2), sourceIcolIdentifier (priority is 1), destinationTransportPort (priority is 2), sourceI

Pv4Address(우선순위는 3), destinationIPv4Address(우선순위는 4), sourceTranspoPv4Address (3 is priority), destinationIPv4Address (4 is priority), sourceTranspo

rtPort(우선순위는 5)의 5개의 항목이 주어져 있다. 플로우 정보 A∼E의 사이에는, 우선순위는 설정되어 있지 않다. 이들 항목에 기초하여, 검색용 인덱스가 이하의 수순으로 작성된다. Five entries of rtPort (priority 5) are given. Priority is not set between flow information AE. Based on these items, a search index is created in the following procedure.

우선, A의 플로우를 인덱스에 추가한다. 이 A는 1번째 플로우가 되므로, 루트(root)로서 설정된다.First, the flow of A is added to the index. Since A becomes the first flow, it is set as the root.

다음으로, B의 플로우를 인덱스에 추가한다. 그리고, A 및 B의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제1 우선순위의 protocolIdentifier 및 제2 우선순위의 destinationTransportPort의 항목은, A 및 B의 플로우 간에 동일하다. 제3 우선순위의 sourceIPv4Address의 항목에 대해서, A의 플로우에 있어서의 값 '10.0.0.1'보다 B의 플로우에 있어서의 값 '10.0.0.2'이 크다. 따라서, A를 대신해 B를 루트로 하고, A는 좌측의 리프(leaf)가 된다. Next, the flow of B is added to the index. And the magnitude relationship of each flow item of A and B is compared in order from the item with high priority. The items of the protocolIdentifier of the first priority and the destinationTransportPort of the second priority are the same between the flows of A and B. For the item of sourceIPv4Address of the third priority, the value '10 .0.0.2 'in the flow of B is larger than the value '10 .0.0.1' in the flow of A. Therefore, instead of A, B is the root, and A is the leaf on the left.

다음으로, C의 플로우를 인덱스에 추가한다. 그리고, B 및 C의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제1 우선순위의 protocolIdentifier의 항목에 대해서, B의 플로우에 있어서의 값 '6'보다 C의 플로우에 있어서의 값 '17'이 크다. 따라서, C는 우측의 리프가 된다. Next, add the flow of C to the index. And the magnitude relationship of each flow item of B and C is compared in order from the item with high priority. The value '17' in the flow of C is larger than the value '6' in the flow of B for the item of protocolIdentifier of the first priority. Thus, C becomes the leaf on the right.

다음으로, D의 플로우를 인덱스에 추가한다. 그리고, B 및 D의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제1 우선순위의 protocolIdentifier의 항목에 대해서, B의 플로우에 있어서의 값 '6'보다 D의 플로우에 있어서의 값 '17'이 크다. 따라서, D는 우측 배치가 된다. 여기서, 우측에는 이미 C가 존재하므로, 이 C와 D의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제2 우선순위의 destinationTransportPort의 항목에 대해서, D의 플로우에 있어서의 값 '10.0.0.1'보다 C의 플로우에 있어서의 값 '192.168.0.1'이 크다. 따라서, D는 C의 좌측 리프(leaf)가 된다.Next, the flow of D is added to the index. And the magnitude relationship of each flow item of B and D is compared in order from the item with high priority. The value '17' in the flow of D is larger than the value '6' in the flow of B for the item of the protocolIdentifier of the first priority. Therefore, D becomes the right side arrangement. Here, since C already exists on the right side, the magnitude relationship of each flow item of C and D is compared in order from the item with the highest priority. The value '192.168.0.1' in the flow of C is larger than the value '10 .0.0.1 'in the flow of D for the item of the destinationTransportPort of the second priority. Thus, D becomes the left leaf of C.

마지막으로, E의 플로우를 인덱스에 추가한다. 그리고, B 및 E의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제1 우선순위의 protocolIdentifier의 항목에 대해서, E의 플로우에 있어서의 값 '1'보다 B의 플로우에 있어서의 값 '6'이 크다. 따라서, E는 좌측 배치가 된다. 여기서, 좌측에는 이미 A가 존재하므로, 이 A와 E의 각 플로우 항목의 대소관계를 우선순위가 높은 항목부터 순서대로 비교한다. 제1 우선순위의 protocolIdentifier의 항목에 대해서, E의 플로우에 있어서의 값 '1'보다 A의 플로우에 있어서의 값 '6'이 크다. 따라서, E는 A의 좌측 리프가 된다.Finally, the flow of E is added to the index. And the magnitude relationship of each flow item of B and E is compared in order from the item with high priority. The value '6' in the flow of B is larger than the value '1' in the flow of E for the item of the protocolIdentifier of the first priority. Therefore, E becomes a left arrangement. Here, since A already exists on the left side, the magnitude relationship between each flow item of A and E is compared in order of the item having the highest priority. The value '6' in the flow of A is larger than the value '1' in the flow of E for the item of the protocolIdentifier of the first priority. Thus, E becomes the left leaf of A.

제2의 구축방법은, 최상위의 항목부터 이진트리를 작성하고, 그 이하의 항목은, 상위 항목의 리프를 루트로 하는 방법이다. 도 16에, 제2의 구축방법에 의해 작성된 검색용 인덱스를 설명하기 위한 도이다. 도 16에 도시한 예에 있어서도, 플로우 정보 A∼E에 관한 항목으로서, 도 15에 도시한 예와 동일한 우선순위를 갖는 5개의 항목이 주어져 있으며, 이들 항목에 기초하여, 검색용 인덱스가 이하의 수순으로 작성된다. In the second construction method, a binary tree is created from the top item, and the following items are rooted at the leaf of the parent item. 16 is a diagram for explaining a search index created by the second construction method. Also in the example shown in FIG. 16, five items having the same priority as those in the example shown in FIG. 15 are provided as items related to the flow information A to E. Based on these items, the search index is as follows. It is created in the order.

우선, A의 플로우를 인덱스에 추가한다. 트리의 정점이 되는 포인터로서 제1 우선순위의 protocolIdentifier의 요소(값:6)가 추가되고, 이 트리의 정점이 되는 포인터는 그 요소를 가리킨다. 또한 그 요소는, 제2 우선순위를 가리키는 포인터를 보유한다. 동일하게 하여, 제2 우선순위의 destinationTransportPort의 요소(값:192.168.0.1), 제3 우선순위의 sourceIPv4Address의 요소(값:10.0.0.1), 제4 우선순위의 destinationIPv4Address의 요소(값:80), 제5 우선순위의 sourceTranspFirst, the flow of A is added to the index. An element (value: 6) of the protocolIdentifier of the first priority is added as a pointer to the tree's vertex, and the pointer to the tree's vertex points to that element. The element also holds a pointer to the second priority. Similarly, an element of the destinationTransportPort of the second priority (value: 192.168.0.1), an element of the sourceIPv4Address of the third priority (value: 10.0.0.1), an element of the destinationIPv4Address of the fourth priority (value: 80), SourceTransp of fifth priority

ortPort의 요소(값:23456)가 추가되고, 그 트리 아래에 요소번호(값:A)를 나타내는 요소가 추가된다. An element (value: 23456) of ortPort is added, and an element indicating an element number (value: A) is added below the tree.

다음으로, B의 플로우를 추가한다. 제1 우선순위의 protocolIdentifier의 요소(값:6), 제2 우선순위의 destinationTransportPort의 요소(값:192.168.0.1)는, A의 플로우와 같기 때문에, A와 같은 트리의 요소를 지나간다. 제3 우선순위의 sourceIPv4Address의 요소(값:10.0.0.2)는, 기존 요소의 '10.0.0.1'의 우측 리프가 된다. 이 이후의 우선순위의 요소는, A의 플로우와 동일한 수순으로, 우측 리프가 된 요소에 추가되고, 그 트리 아래에 요소번호(값:B)를 나타내는 요소가 추가된다.Next, flow of B is added. Since the element (value: 6) of the protocolIdentifier of the first priority and the element (value: 192.168.0.1) of the destinationTransportPort of the second priority are the same as the flow of A, they pass through elements of the tree such as A. The element (value: 10.0.0.2) of sourceIPv4Address of the third priority is the right leaf of '10 .0.0.1 'of the existing element. The elements of the subsequent priority are added to the right leaf element in the same procedure as the flow of A, and an element indicating an element number (value: B) is added under the tree.

다음으로, C의 플로우를 추가한다. 제1 우선순위의 protocolIdentifier의 요소(값:17)는 기존의 요소(값:6)보다 크기 때문에, 우측 리프가 된다. 이 이후의 우선순위의 요소는, A의 플로우와 동일한 수순으로, 우측 리프가 된 요소에 추가되고, 그 트리 아래에 요소번호(값:C)를 나타내는 요소가 추가된다.Next, add the flow of C. The element (value: 17) of the protocolIdentifier of the first priority is larger than the existing element (value: 6), and thus becomes the right leaf. The elements of the subsequent priority are added to the right leaf element in the same procedure as the flow of A, and an element indicating an element number (value: C) is added under the tree.

다음으로, D의 플로우를 추가한다. 제1 우선순위의 protocolIdentifier의 요소(값:17)는, C의 플로우와 같기 때문에, C와 같은 트리의 요소를 지나간다. 제2 우선순위의 destinationTransportPort의 요소(값:10.0,0,1)는, 기존의 요소(192.16Next, the flow of D is added. Since the element (value: 17) of the protocolIdentifier of the first priority is the same as the flow of C, it passes through the element of the tree like C. The element (value: 10.0, 0, 1) of the destinationTransportPort of the second priority is an existing element (192.16).

8.0.1)보다 작기 때문에, 좌측 리프가 된다. 이 이후의 우선순위의 요소는, A의 플로우와 동일한 수순으로, 좌측 리프가 된 요소에 추가되고, 그 트리 아래에 요소번호(값:D)를 나타내는 요소가 추가된다.Since it is smaller than 8.0.1), it becomes the left leaf. The elements of the subsequent priority are added to the left leafed element in the same procedure as the flow of A, and an element indicating an element number (value: D) is added under the tree.

마지막으로, E의 플로우를 추가한다. 제1 우선순위의 protocolIdentifier의 요소(값:1)은 기존의 요소(값:6)보다 작기 때문에, 좌측 리프가 된다. 이 이후의 우선순위의 요소는, A의 플로우와 동일한 수순으로, 좌측 리프가 된 요소에 추가되고, 그 트리 아래에 요소번호(값:E)를 나타내는 요소가 추가된다.Finally, add the flow of E. The element (value: 1) of the protocolIdentifier of the first priority is smaller than the existing element (value: 6), and thus becomes the left leaf. The elements of the subsequent priority are added to the left leafed element in the same procedure as the flow of A, and an element indicating an element number (value: E) is added under the tree.

상술한 제1 및 제2의 구축방법에는, 이하와 같은 특징이 있다. The above-mentioned first and second construction methods have the following characteristics.

제1의 구축방법에 따르면, 트리 구조가 단순하고, 트리가 깊어지지 않으며, 또한, 밸런스(평형트리)를 작성할 수 있다. 그러나, 조건을 구성하는 항목을 삭감 하여 새로운 조건을 작성하는 경우에, 재차, 트리 구조를 재작성할 필요가 있다. According to the first construction method, the tree structure is simple, the tree is not deepened, and a balance (balanced tree) can be created. However, when creating a new condition by reducing the items constituting the condition, it is necessary to recreate the tree structure again.

한편, 제2의 구축방법에 따르면, 트리가 깊어지나, 중복하는 우선순위가 존재하지 않는 한, 한번 트리 구조를 작성하면, 조건을 삭감해도, 일부의 리프를 절약하는 것이 가능하므로, 재차 트리 구조를 재작성할 필요는 없다. 또, 예를 들면 특정의 포트를 제외하는 것과 같이, 항목마다 정보의 취급 방법을 변경할 수 있다. 단, 제2의 구축방법은, 우선순위가 중복하는 경우에는 적용할 수 없다. On the other hand, according to the second construction method, as long as the tree is deep but there is no overlapping priority, once the tree structure is created, it is possible to save some leaves even if the conditions are reduced, so that the tree structure is again present. There is no need to rewrite. In addition, the handling method of information can be changed for each item, for example, excluding a specific port. However, the second construction method cannot be applied when the priorities overlap.

상술한 제1 또는 제2의 구축방법에 의해 인덱스를 작성하여 보유하고, 플로우 정보의 생성 및 집약시에 그 보유하고 있는 인덱스를 참조하여 조건의 삭감을 수행함으로써, 생성 및 집약 처리의 효율화를 수행하는 것이 가능하다. By creating and retaining an index according to the first or second construction method described above, the generation and aggregation of the flow information is carried out by reducing the condition by referring to the index held in the generation and aggregation of the flow information. It is possible to.

구체적으로는, 플로우 생성 기능부는, 관리용 버퍼에 저장되어 있는 플로우 정보에 대해서, 외부입력된 항목의 우선순위 순서에 기초하여, 플로우 정보가 보유하는 항목마다 대소비교를 반복하여 플로우 정보간의 대소를 판정하고, 그 결과를 검색용 색인으로서 보유하고, 상기 검색용 색인을 참조하여 플로우 정보의 생성을 수행한다. 이에 따라, 플로우 정보 생성시 조건(항목의 조합)의 비교 횟수를 삭감할 수 있으며, 결과적으로, 처리의 효율화를 도모할 수 있다.Specifically, the flow generating function unit repeats the comparison between the flow information stored in the management buffer and the flow information stored in the management buffer based on the priority order of the externally input items for each item possessed by the flow information. The result is determined as a search index, and flow information is generated with reference to the search index. As a result, the number of comparisons of conditions (combinations of items) when generating flow information can be reduced, and as a result, processing can be made more efficient.

또, 플로우 정보수 제한 기능부는, 관리용 버퍼에 저장되어 있는 플로우 정보에 대해서, 외부입력된 항목의 우선순위 순서에 기초하여, 플로우 정보가 보유하는 항목마다 대소비교를 반복하여 플로우 정보간의 대소를 판정하고, 그 결과를 검색용 색인으로서 보유하고, 상기 검색용 색인을 참조하여 플로우 정보의 집약을 수행한다. 이에 따라, 플로우 정보 집약시 조건(항목의 조합)의 비교 횟수를 삭감할 수 있으며, 결과적으로, 처리의 효율화를 도모할 수 있다.In addition, the flow information number limit function unit compares the flow information stored in the management buffer with the flow information stored in the management buffer based on the priority order of the externally input items, and compares the flow information with the flow information. The result is determined as a search index and the flow information is aggregated with reference to the search index. As a result, the number of comparisons of the conditions (combination of items) when the flow information is collected can be reduced, and as a result, the processing can be made more efficient.

또한, 제1의 구축방법에 있어서, 조건마다 트리구조를 재작성하는 경우의 효율저하를 최소한으로 억제하는 방법으로서, 과거의 동일조건의 집약후보수와 조건마다의 플로우 정보 보유수를 갖는 방법이 있다.Further, in the first construction method, a method of minimizing the decrease in efficiency in recreating the tree structure for each condition is provided. have.

이 방법에서는, 플로우 정보수 제한 기능부가, 이미 보유하고 있는 상한값과 비집약수를 이용하여 산출되는 집약 후보수와 집약 결과수 및, 플로우 정보 제한시 집약조건의 각 항목마다의 플로우 수의 이력을 기록하고, 차회 이후의 집약시에 그 기록정보에 기초하여, 검색용 인덱스의 작성시에 이용하는 초기 항목수를 추측함으로써, 검색용 인덱스의 작성 횟수를 삭감한다. In this method, the flow information number limiting function unit records the history of the number of aggregate candidates and aggregate results calculated using the upper limit value and the non-intensive number already held, and the number of flows for each item of the aggregated condition when the flow information is restricted. The number of creation of the retrieval index is reduced by estimating the number of initial items to be used when the retrieval index is created based on the record information at the time of aggregation after the next time.

여기서, 상한값은, 최종적으로 플로우 정보수 제한 기능부가 플로우 송신 기능부에 건네는 플로우 정보의 수(외부로부터 주어지거나, 혹은 관리용 버퍼의 용량으로부터 내부적으로 결정된다)이다. 비집약수는, 재배열 후에 상위에 위치하는 비집약이 되는 플로우 정보의 수(외부로부터 주어진다)이다. 집약 후보수는, 플로우 생성 기능부가 생성한 플로우 정보의 총수로부터 비집약수를 감산한 값이다. 집약 결과수는, 집약한 결과의 값, 즉 상한값으로부터 비집약수를 감산한 값이다. Here, the upper limit value is the number of flow information (given from the outside or determined internally from the capacity of the management buffer) that the flow information number limiting function finally passes to the flow transmission function. The non-intensive number is the number of non-intensive flow information (given from the outside) which is located at a higher level after rearrangement. The aggregation candidate number is a value obtained by subtracting the non-aggregation number from the total number of flow information generated by the flow generation function unit. The concentrated result number is a value obtained by subtracting the non-intensive number from the value of the aggregated result, that is, the upper limit.

이하, 플로우 정보수 제한 기능부에 의한 초기 항목수의 추측 처리를 구체적으로 설명한다. Hereinafter, the process of estimating the initial number of items by the flow information number limiting function unit will be specifically described.

플로우 정보수 제한 기능부는, 각회마다, 생성된 플로우 정보의 총수로부터 비집약수를 감산하여 구해지는 집약 후보수, 상한값으로부터 비집약수를 감산하여 구해지는 집약 결과수, 및 집약에 이용한 조건(플로우 키) 중 각 정보의 항 목(Information Element) 각각에 관하여, 플로우 정보의 수를 보유한다. 도 17에, 플로우 정보수 제한 기능부가 보유하는 정보의 일 예를 나타낸다. 도 17에 도시하는 예에서는, 집약 후보수, 집약 결과수, protocolIdentifier(우선순위는 1), destinationTransportPort(우선순위는 2), sourceIPv4Address(우선순위는 3), destinationIPv4Address(우선순위는 4), sourceTransportPort(우선순위는 5)라고 하는 각 항목의 정보에 대해서, 과거 5회분의 정보가 기록된다. The number of flow information limiting functions each time includes the number of candidates obtained by subtracting the non-intensive number from the total number of generated flow information, the number of aggregated results obtained by subtracting the non-intensive number from the upper limit value, and the conditions used for the aggregate (flow The number of flow information is held for each information element of each key). 17 shows an example of information held by the flow information number limiting function unit. In the example shown in Fig. 17, the number of aggregation candidates, the number of aggregation results, protocolIdentifier (priority is 1), destinationTransportPort (priority is 2), sourceIPv4Address (priority is 3), destinationIPv4Address (priority is 4), and sourceTransportPort ( The information of the past five times is recorded with respect to the information of each item of priority 5).

예를 들면, 직전의 1회의 정보를 참조하면, 집약 후보수가 120034가 되고, 집약 결과수가 20000이 된다. 그리고, 그 집약 결과수의 내역으로서, 집약조건이 제1 우선순위까지의 항목을 포함한 조건인 protocolIdentifier만(도 6의 삭감수 4의 조건)을 이용하여 집약된 결과의 플로우 수가 4가 되고, 집약조건이 제2 우선순위까지의 항목을 포함한 조건(도 6의 삭감수 3의 조건)을 이용하여 집약된 결과의 플로우 수가 6442가 되고, 집약조건이 제3 우선순위까지의 항목을 포함한 조건(도 6의 삭감수 2의 조건)을 이용하여 집약된 결과의 플로우 수가 12321이 되고, 집약조건이 제4 우선순위까지의 항목을 포함한 조건(도 6의 삭감수 1의 조건)을 이용하여 집약된 결과의 플로우 수가 1233이 되고, 집약조건이 제5 우선순위까지의 항목을 포함한 조건(도 6의 삭감수 0인 조건)을 이용하여 집약된 결과의 플로우 수가 0이 된다. For example, referring to the immediately preceding information, the aggregate candidate number is 120034, and the aggregate result number is 20000. As the breakdown of the aggregate result number, the number of flows of the result aggregated using only protocolIdentifier (the condition of the reduction factor 4 in FIG. 6), which is a condition including the item up to the first priority, is aggregated. The number of flows of results aggregated using the condition including the condition up to the second priority (condition of reduction 3 in FIG. 6) becomes 6442, and the condition including the item up to the third priority (the condition The number of flows of the result aggregated using the reduction 2 condition of 6) is 12321, and the result is the aggregated condition using the condition (the condition of the reduction 1 of FIG. 6) including the items up to the fourth priority. The number of flows of is 1233, and the number of flows of the result which is aggregated using the condition (the condition of the reduction count of FIG. 6) including the item up to the fifth priority is the result.

플로우 수가 0이 된 집약은 결과적으로 필요가 없는 집약으로 간주한다. 즉, 직전의 1회의 집약은, 제5 우선순위까지의 항목을 포함한 조건을 생략하고, 제4 우선순위까지의 항목을 포함한 조건으로부터 인덱스의 작성을 개시한다. 이에 따라, 처리수가 줄고, 처리속도가 향상한다. Aggregates with zero flows are considered to be aggregates that do not need as a result. In other words, the one previous aggregation skips the condition including the item up to the fifth priority and starts the creation of the index from the condition including the item up to the fourth priority. This reduces the number of treatments and improves the processing speed.

플로우 정보수 제한 기능부에서는, 과거의 기록으로부터 집약을 생략할 수 있는 경우를 판정한다. 도 17에 도시한 예에서는, 직전의 1회, 3회, 5회에 있어서, 제5 우선순위까지의 항목을 포함한 조건을 이용한 경우에 플로우 수가 0이 되어 있다. 그리고, 1회, 3회, 5회에 있어서의 집약시의 집약 후보수는 각각, 120034, 93898, 108270이 되어 있다. 이들의 정보를 참조하면, 집약 결과수가 20000개인 경우로, 집약 대상이 되는 플로우 정보수가, 생략 가능한 상태의 최소값인 93898개 이상인 경우는, 제4 우선순위까지의 항목을 포함한 조건(즉, protocolIdentifier, sourceIPv4Address, destinationTransportPort, destinationIPv4Address 항목의 조합)으로부터 인덱스를 만들기 시작하면 된다고 추측할 수 있다. 이 경우, 제5 우선순위까지의 항목을 포함한 조건에 의한 인덱스를 작성할 필요가 없어지므로, 그만큼, 전체의 처리를 빠르게 할 수 있다. In the flow information number limiting function unit, it is determined when aggregation can be omitted from past recording. In the example shown in FIG. 17, the number of flows becomes 0 when the conditions including the item to the 5th priority are used in 1 time, 3 times, and 5 times immediately before. The number of candidates for aggregation at the time of aggregation in one, three, and five times is 120034, 93898, and 108270, respectively. Referring to these pieces of information, if the number of aggregated results is 20000, and the number of flow information to be aggregated is 93898 or more, which is the minimum value of an omitted state, a condition including an item up to the fourth priority (i.e., protocolIdentifier, You can assume that you can start creating an index from the combination of sourceIPv4Address, destinationTransportPort, and destinationIPv4Address. In this case, it is not necessary to create an index based on a condition including an item up to a fifth priority, so that the entire process can be made faster.

이하, 집약의 일 예를 설명한다. 도 18에, 포트를 집약하는 예를 나타낸다. 도 18에 있어서, A 및 B는, 프로토콜, 소스 어드레스, 수신처 어드레스, 소스 포트 및 수신처 포트의 5개 항목 조건(플로우 생성조건)으로 생성된 플로우 정보이며, C는, 이들 플로우 정보 A, B를, 그 플로우 생성조건의 각 항목을 집약조건으로서 집약한 집약완료 플로우 정보이며, 이 예에서는 소스 포트가 집약조건을 구성하는 항목으로부터 삭제되어 있다. 'SA'는 소스 어드레스이고, 'DA'는 수신처 어드레스이고, 'SAMask' 및 'DAMask'는 넷마스크이고, 'SP'는 소스 포트이고, 'DP'는 수신처 포트이고, 'Packets'는 패킷수이고, 'octets'는 바이트수이고, 'First'는 플로우의 개시시간이고, 'Last'는 플로우의 종료시간이다. An example of the aggregation will be described below. 18 shows an example of aggregation of ports. In Fig. 18, A and B are flow information generated under five item conditions (flow generation conditions) of a protocol, a source address, a destination address, a source port, and a destination port, and C denotes these flow information A, B. In this example, the source port is deleted from the items constituting the aggregation condition. 'SA' is the source address, 'DA' is the destination address, 'SAMask' and 'DAMask' are the netmask, 'SP' is the source port, 'DP' is the destination port, and 'Packets' is the number of packets. 'Octets' is the number of bytes, 'First' is the start time of the flow, and 'Last' is the end time of the flow.

집약완료 플로우 정보 C에서는, 소스 포트 'SP'의 값은 '0'이 되고, 패킷수 'Packets' 및 바이트수 'octets'는 각각, 플로우 정보 A, B의 대응하는 값을 가산한 것이 된다. 또, 개시시간 'First' 및 종료시간 'Last'는, 플로우 정보 A, B의 대응하는 시간의 합집합이 되는 범위로 설정된다. 이 예에서는, 플로우 정보 A의 개시시간 'First' 및 종료시간 'Last'는 각각 '134598098987' 및 '134598100384'가 되고, 플로우 정보 B의 개시시간 'First' 및 종료시간 'Last'는 각각 '134598098222' 및 '134598100001'이 되어 있으므로, 집약완료 플로우 정보 C의 개시시간 'First' 및 종료시간 'Last'는 각각 '134598098222' 및 '134598100384'가 된다. 이와 같이, 플로우 정보 A, B에 대해서, 소스 포트 'SP', 패킷수 'Packets', 바이트수 'octets', 개시시간 'First' 및 종료시간 'Last'를 집약함으로써 집약완료 플로우 정보 C를 얻는다. 또한, 이 예에서는, 플로우 정보 A, B에서 소스 포트에 공통항이 없기 때문에, 집약완료 플로우 정보 C에서는, 소스 포트를 '0'으로 하였으나, 복수의 플로우를 집약하는 경우는, 각 플로우 정보 중 데이터량 등 감시항목에 있어서의 임의의 양이 가장 많은 플로우의 집약항목의 값을 대표값으로서 이용해도 좋고, 소스 포트의 예에 있어서는 가장 데이터량이 많은 소스 포트 번호를 설정해도 좋다. 또, 플로우의 선두 패킷의 정보를 대표값으로서 이용해도 좋으며, 집약을 수행한 것을 나타내는 정보를 추가해도 좋다. 집약조건을 구성하는 항목을 삭감했을 때, 템플릿으로부터 해당하는 필드 정보를 구성하는 항목을 삭제하는 방식과, 템플릿으로부터는 삭제하지 않고 플로우 키로부터 삭제하는 방식을 생각할 수 있다. 전자의 경우는, 삭제된 항목은 송신되지 않기 때문에, 내부적으로 어떠한 값을 가지고 있어도 무관하다. 후자의 경우는, 삭제된 항목의 대표값이 송신된다. 또한, IPFIX 프로토콜의 규정에 따르면, 플로우 키로서 이용하지 않은 항목은, 최초로 관측된 값을 사용할 것을 권장하고 있다. In the aggregated flow information C, the value of the source port 'SP' is '0', and the number of packets 'Packets' and the number of bytes 'octets' are obtained by adding corresponding values of the flow information A, B, respectively. In addition, start time "First" and end time "Last" are set to the range which becomes the union of the corresponding time of flow information A, B. FIG. In this example, the start time 'First' and the end time 'Last' of the flow information A are '134598098987' and '134598100384', respectively, and the start time 'First' and the end time 'Last' of the flow information B are '134598098222', respectively. And '134598100001', the start time 'First' and the end time 'Last' of the aggregated flow information C become '134598098222' and '134598100384', respectively. Thus, the aggregated flow information C is obtained by condensing the source ports 'SP', the number of packets 'Packets', the number of bytes 'octets', the start time 'First' and the end time 'Last' for the flow information A and B. . In this example, since there is no common term for the source ports in the flow information A and B, in the aggregated flow information C, the source port is set to '0', but when a plurality of flows are aggregated, data in each flow information is used. The value of the aggregate item of the flow with the largest amount in the monitoring item such as the quantity may be used as a representative value, and in the example of the source port, the source port number with the largest amount of data may be set. Moreover, the information of the head packet of a flow may be used as a representative value, and the information which shows that aggregation was performed may be added. When the items constituting the aggregation condition are reduced, a method of deleting an item constituting corresponding field information from a template and a method of deleting from a flow key without deleting from a template can be considered. In the former case, since the deleted item is not transmitted, it may have any value internally. In the latter case, the representative value of the deleted item is transmitted. The IPFIX protocol also recommends that the first observed value be used for items not used as flow keys.

도 19에, 어드레스를 집약하는 예를 나타낸다. 도 19에 있어서, A 및 B는, 프로토콜, 소스 어드레스, 수신처 어드레스, 소스 포트 및 수신처 포트의 5개 항목 조건(플로우 생성조건)으로 생성된 플로우 정보이며, C는, 이들 플로우 정보 A, B를, 그 플로우 생성조건 중의, 프로토콜, 소스 어드레스 및 수신처 어드레스의 3개의 항목을 집약조건으로서 집약한 집약완료 플로우 정보이다. 19 shows an example of aggregation of addresses. In Fig. 19, A and B are flow information generated under five item conditions (flow generation conditions) of a protocol, a source address, a destination address, a source port, and a destination port, and C denotes these flow information A, B. , The aggregated flow information in which three items of the protocol, the source address, and the destination address are collected as the aggregate conditions in the flow generation conditions.

집약완료 플로우 정보 C에서는, 도 18에 도시한 경우와 마찬가지로, 소스 포트 'SP'의 값은 '0'이 되고, 패킷수 'Packets' 및 바이트수 'octets'는 각각, 플로우 정보 A, B의 대응하는 값을 가산한 것이 되고, 개시시간 'First' 및 종료시간 'Last'는, 플로우 정보 A, B의 대응하는 시간의 합집합이 되는 범위로 설정된다. 어드레스는, 플로우 정보 A, B의 대응하는 어드레스의 값을 곱집합에 의해 얻어지는 새로운 값이 된다. 이 예에서는, 플로우 정보 A의 수신처 어드레스 '192.168.0.2'와 플로우 정보 B의 수신처 어드레스 '192.168.0.254'의 곱집합에 의해, 새로운 수신처 어드레스 '192.168.0.0'을 얻는다. 이 어드레스값의 변경에 수반하여, 넷마스크 'SAMask'도 '24'로 변경된다. 상기 템플릿으로부터 삭제하는 방식의 경우는, 집약조건을 구성하는 항목으로부터 삭제된 항목에 관한 정보는 송신되지 않으므로, 상기와 마찬가지로 내부적으로 어떠한 값을 가지고 있어도 무관하 다. 플로우 키로부터 제외하는 방식의 경우는, 여기서 예시하고 있는 IPv4 환경하에 있어서는, SAMask가 32비트 이외의 경우는, 송출하는 항목은 어드레스를 나타내는 항목(sourceIPv4Address)이 아니라, 프리픽스를 나타내는 항목(sourceIPv4PrefIn the aggregated flow information C, as in the case shown in Fig. 18, the value of the source port 'SP' is '0', and the number of packets 'Packets' and the number of bytes 'octets' are the values of the flow information A, B, respectively. The corresponding value is added, and the start time 'First' and the end time 'Last' are set in a range which is the union of the corresponding times of the flow information A, B. FIG. The address becomes a new value obtained by multiplying the values of the corresponding addresses of the flow information A, B. In this example, a new destination address '192.168.0.0' is obtained by the product set of the destination address '192.168.0.2' of the flow information A and the destination address '192.168.0.254' of the flow information B. With the change of this address value, the netmask "SAMask" is also changed to "24". In the case of the method of deleting from the template, since information on an item deleted from the item constituting the aggregation condition is not transmitted, any value may be internally similar to the above. In the case of the method of excluding from the flow key, under the IPv4 environment illustrated here, when SAMask is other than 32 bits, the item to be sent is not an item indicating an address (sourceIPv4Address), but an item indicating a prefix (sourceIPv4Pref).

ix)으로 변경하여 표현하지 않으면 안된다. 프리픽스로 변경하지 않는다면, 대표값을 이용해야 하며, 곱집합을 취하기 전의 대표값(상기한 대로 프로토콜 규정에 따르면 선두 패킷의 값이 바람직하다.)을 이용하게 된다. 또, 이 경우는, SAMask도 호스트 어드레스를 나타내는 32가 이용되게 된다. ix) to change the expression. If the prefix is not changed, the representative value should be used, and the representative value before taking the product set (the value of the first packet is preferable according to the protocol provision as described above). In this case, 32 also represents a host address of SAMask.

또, 본 방식에 있어서, 일정수 이하로 제한하는 경우에, 삭감수가 가장 많은 상태에 있어서의 집약조건을 구성하는 항목이 취할 수 있는 값의 총수가 상한값으로서 일정수 이하로 제한할 수 있는 것을 보장하는 최저값이 된다. In addition, in the present system, in the case of limiting to a certain number or less, it is ensured that the total number of values that an item constituting the aggregation condition in the state with the largest reduction can take can be limited to a certain number or less as an upper limit. Is the lowest value.

이상 설명한 본 발명에 따르면, 공격 트래픽에 의해 플로우가 증대하고, 그에 수반하여 플로우 생성 기능부에 의해 생성되는 플로우 정보의 수가 증대하나, 플로우 정보수 제한 기능부가, 플로우 생성 기능부로부터 입력되는 플로우 정보의 수가 증대하면, 현재, 저장하고 있는 플로우 정보의 일부(집약후보)를 집약한다. 이 플로우 정보의 집약에 의해, 플로우 송신 기능부로 공급되는 플로우 정보의 일정 시간당 수가 일정수 이하로 제한된다. 따라서, 플로우 송신 기능부가, 계측용 네트워크상으로 송출하는 플로우 정보의 일정 시간당 수도 일정수 이하로 제한된다. 이와 같이, 플로우의 증대에 관계없이, 계측용 네트워크상에는, 일정수 이하의 플로우 정보밖에 송신되지 않으므로, 트랜스포트 프로토콜에 폭주 제어 기능이 없는 UDP를 이용한 경우에 있어서 발생했던 계측용 네트워크에 있어서의 통신의 폭주 를 억제할 수 있다. According to the present invention described above, the flow increases due to the attack traffic, and the number of flow information generated by the flow generating function unit increases with the increase of the flow information, but the flow information number limiting function unit inputs the flow information input from the flow generating function unit. If the number increases, a part of the stored flow information (integrated candidate) is collected. By the aggregation of the flow information, the number of pieces of flow information supplied to the flow transmission function unit is limited to a certain number or less. Therefore, the number of flow information of the flow information which the flow transmission function sends to the measurement network is limited to a certain number or less. Thus, regardless of the increase in flow, since only a certain number of flow information is transmitted on the measurement network, communication in the measurement network that occurred when using UDP without a congestion control function in the transport protocol is used. Can curb congestion.

게다가, 트래픽의 계측에 있어서 중요한 정보를 포함하는 플로우 정보는, 집약의 대상으로부터 제외되고, 중요하지 않은 플로우 정보를 집약하도록 되어 있으므로, 계측 목적에 있어서, 트래픽을 특징짓는 플로우 정보는 보유된다. In addition, since the flow information including the important information in the measurement of the traffic is excluded from the object of aggregation and aggregates the insignificant flow information, the flow information characterizing the traffic is retained for the measurement purpose.

또한, 집약하는 조건에 포함되는 비교항목이 단계적으로 변경되므로, 필요이상으로 항목이 적은 조건에서 집약되지 않고, 집약 후의 플로우 정보에 있어서의 정보의 손실을 필요최소한으로 억제할 수 있다. In addition, since the comparison items included in the conditions to be aggregated are changed in stages, the items are not aggregated in a condition where there are fewer items than necessary, and loss of information in the flow information after aggregation can be suppressed to the minimum necessary.

또, 플로우 송신 기능부에는, 일정수 이하의 플로우 정보밖에 공급되지 않으므로, 플로우 송신 기능부의 내부 버퍼가 넘쳐 플로우 정보가 결락하는 경우도 없다. 따라서 트랜스포트 프로토콜에 폭주 제어 기능이 있는 TCP와 SCTP를 이용한 경우에 발생했던, 플로우 송신 기능부의 내부 버퍼의 파탄에 의한 플로우 정보의 결락때문에, 관측한 트래픽 전체의 정보를 정확히 송신할 수 없다는 문제도 발생하지 않는다. 이와 같이, 트랜스포트 프로토콜에 폭주 제어 기능이 있는 TCP와 SCTP를 이용한 경우에 발생했던, 플로우 송신 기능부의 내부 버퍼의 파탄에 의한 플로우 정보의 결락을 억제할 수 있으므로, 관측한 트래픽 전체의 정보를 정확히 측정용 단말에 송신할 수 있다. In addition, since only flow information of a predetermined number or less is supplied to the flow transmission function unit, the internal buffer of the flow transmission function unit overflows, so that the flow information may not be dropped. Therefore, due to the loss of flow information due to the destruction of the internal buffer of the flow transmission function part, which occurred when TCP and SCTP with congestion control function were used in the transport protocol, the problem of not being able to accurately transmit the entire information of the observed traffic also occurred. Does not occur. In this way, it is possible to suppress the loss of flow information due to the failure of the internal buffer of the flow transmission function unit, which occurs when TCP and SCTP with the congestion control function are used in the transport protocol. It can transmit to a measurement terminal.

이상 설명한 본 실시형태의 플로우 정보 제한장치(노드)는, 본 발명의 일 예이며, 그 구성 및 동작은, 본 발명의 취지를 일탈하지 않는 범위에서 적절히 변경할 수 있다. The flow information restricting apparatus (node) of this embodiment described above is an example of this invention, The structure and operation can be changed suitably in the range which does not deviate from the meaning of this invention.

또, 플로우 생성 기능부, 플로우 정보수 제한 기능부 및 플로우 송신 기능부 의 각 기능부에 있어서의 처리는, 컴퓨터시스템을 구성하는 제어장치가 기억장치에 저장된 프로그램을 실행함으로써 실현하는 것이 가능하다. 프로그램은, CD-ROM이나 DVD 등의 디스크형의 기록매체를 통해서 제공되어도 좋으며, 또, 인터넷을 통해서 필요한 프로그램을 다운로드함으로써 제공되어도 좋다. The processing in each of the functional units of the flow generating function unit, the flow information number limiting function unit, and the flow transmission function unit can be realized by executing a program stored in the storage device by the control device constituting the computer system. The program may be provided through a disk-type recording medium such as a CD-ROM or a DVD, or may be provided by downloading a necessary program through the Internet.

또, 플로우의 생성조건 및 집약조건 항목의 일 예로서, 프로토콜, 소스 IP 어드레스, 수신처 IP 어드레스, 소스 포트 및 수신처 포트의 5개 항목을 들었으나, 본 발명은 이것에 한정되는 것은 아니다. 플로우의 생성조건 및 집약조건의 항목은, 헤더 정보에 기초한 정보를 포함한다면, 이들 이외의 다른 항목을 포함하는 것이어도, 이들 항목을 포함하지 않는 것이어도 좋다. 헤더 정보에 기초한 정보란, 헤더 그 자체에 포함되어 있지 않아도, 헤더 정보로부터 판단되는 정보도 포함된다. 일 예로서는, 경로 제어 정보 등도 헤더 정보에 기초한 정보에 포함된다. 또, 헤더 정보는, 네트워크층, 트랜스포트층에 한정되지 않고, 그것보다 하위 및 상위의 프로토콜도 포함한다. 또, 플로우의 생성조건 및 집약조건의 항목 수는, 플로우의 생성 및 집약이 가능한 범위에서 적절히 설정할 수 있다.In addition, as an example of the conditions for generating and intensive conditions of the flow, five items of protocol, source IP address, destination IP address, source port, and destination port are mentioned, but the present invention is not limited thereto. The items for generating and intensive conditions of the flow may include items other than these, or may not include these items as long as they contain information based on the header information. The information based on the header information also includes information determined from the header information even though it is not included in the header itself. As an example, path control information and the like are also included in the information based on the header information. The header information is not limited to the network layer and the transport layer, but also includes lower and upper protocols. In addition, the number of items of the flow generating condition and the aggregation condition can be appropriately set within a range in which the flow can be generated and aggregated.

본 국제출원은, 2006년 11월 21일에 출원된 일본국 특허출원 제2006-314299호, 및 2007년 7월 31일에 출원된 일본국 특허출원 제2007-199499호에 기초한 우선권을 주장하는 것이며, 그 전 내용을 본 국제출원에 원용한다. This international application claims priority based on Japanese Patent Application No. 2006-314299, filed November 21, 2006, and Japanese Patent Application No. 2007-199499, filed July 31, 2007. The entire contents shall be incorporated in this international application.

Claims (10)

복수의 단말을 상호 접속하는 네트워크상에 배치되고, 상기 네트워크에 있어서의 트래픽을 계측하는 측정용 단말에 측정용 네트워크를 통해서 접속되는 플로우 정보 제한장치에 있어서,In the flow information restricting apparatus which is arrange | positioned on the network which mutually connects several terminal, and is connected through the measuring network to the measuring terminal which measures the traffic in the said network, 동일 속성을 갖는 패킷의 집합을 동일 통신의 플로우로 하고, 상기 플로우마다, 상기 패킷의 헤더 정보에 기초하여 플로우 정보를 생성하는 플로우 정보 생성부;A flow information generation unit for setting a set of packets having the same attribute as the flow of the same communication and for each flow, generating flow information based on header information of the packet; 상기 플로우 정보 생성부에서 생성한 플로우 정보를 일시적으로 저장하는 관리용 버퍼를 구비하고, 상기 관리용 버퍼로부터 플로우 정보를 독출하여 출력하는 플로우 정보수 제한부;A flow information limiting unit including a management buffer for temporarily storing the flow information generated by the flow information generation unit, and reading and outputting flow information from the management buffer; 상기 플로우 정보수 제한부로부터 출력된 플로우 정보를 패킷화하여 상기 측정용 네트워크상으로 송출하는 플로우 정보 송신부;를 가지며,And a flow information transmitter for packetizing the flow information output from the flow information number limiter and transmitting the packet to the measurement network. 상기 플로우 정보수 제한부는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보의 수가 미리 설정된 상한값을 초과하면, 상기 저장되어 있는 플로우 정보를, 비집약 플로우 정보와 상기 트래픽의 계측에 있어서의 중요성이 상기 비집약 플로우 정보보다 낮은 집약후보로 나누고, 상기 집약후보가 된 플로우 정보를 집약하여, 상기 관리용 버퍼에 보유되어 있는 플로우 정보의 수가 일정수 이하가 되도록 제어하는, 플로우 정보 제한장치.When the number of flow information stored in the management buffer exceeds a preset upper limit value, the flow information number limiting unit stores the stored flow information as non-intensive flow information and importance in measuring the traffic. And dividing the aggregate candidate information lower than the aggregate flow information, and collecting the aggregated flow information and controlling the number of flow information held in the management buffer to be equal to or less than a predetermined number. 제 1항에 있어서,The method of claim 1, 상기 플로우 정보는, 상기 트래픽의 계측에 필요한 계측 정보를 포함하고,The flow information includes measurement information necessary for measurement of the traffic; 상기 플로우 정보수 제한부는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보를 상기 계측 정보의 양 또는 통계값의 대소관계에 기초하여 순위매김하여 재배열하고, 상기 재배열한 플로우 정보 중, 상위의 플로우 정보를 상기 비집약 플로우 정보로 하고, 하위의 플로우 정보를 상기 집약후보로 하는, 플로우 정보 제한장치.The flow information number limiting unit ranks and rearranges the flow information stored in the management buffer based on a magnitude relationship between the quantity of the measurement information and a statistical value, and the higher flow information among the rearranged flow information. Is the non-intensive flow information, and lower flow information is the aggregate candidate. 제 1항 또는 2항에 있어서,The method according to claim 1 or 2, 상기 플로우 정보수 제한부는, 상기 플로우 정보를 집약하는 조건에 포함되는 비교항목을 단계적으로 변경하는, 플로우 정보 제한장치.The flow information limiting unit changes the comparison item included in the condition for collecting the flow information step by step. 제 3항에 있어서,The method of claim 3, wherein 상기 플로우 정보수 제한부는, 상기 플로우 정보 생성부가 수행하는 플로우 정보의 생성에 이용되는 패킷의 속성에 대응하는 항목과 외부입력된 상기 항목의 우선순위를 보유하고, 상기 우선순위가 최하위인 항목을 상기 플로우 정보 생성의 항목으로부터 삭제하는 처리를 반복하여 상기 비교항목을 단계적으로 변경하는, 플로우 정보 제한장치. The flow information number limiting unit holds an item corresponding to an attribute of a packet used to generate flow information performed by the flow information generator and a priority of the externally input item, and selects an item having the lowest priority. And a step of changing the comparison item stepwise by repeating the process of deleting from the item of flow information generation. 제 1항에 있어서,The method of claim 1, 상기 플로우 정보 생성부는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보 에 대해서, 외부입력된 항목의 우선순위의 순서에 기초하여, 상기 플로우 정보가 보유하는 항목마다 대소비교를 반복하여 플로우 정보간의 대소를 판정하고, 상기 판정결과를 검색용 색인으로서 보유하고, 상기 검색용 색인을 참조하여 상기 플로우 정보의 생성을 수행하는, 플로우 정보 제한장치.The flow information generation unit repeats the comparison between the flow information stored in the management buffer based on the order of the priority of the externally input items and compares the flow information with the flow information. And determine the result of the determination as a search index and generate the flow information with reference to the search index. 제 1항에 있어서,The method of claim 1, 상기 플로우 정보수 제한부는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보에 대해서, 외부입력된 항목의 우선순위의 순서에 기초하여, 상기 플로우 정보가 보유하는 항목마다 대소비교를 반복하여 플로우 정보간의 대소를 판정하고, 상기 판정결과를 검색용 색인으로서 보유하고, 상기 검색용 색인을 참조하여 상기 플로우 정보의 집약을 수행하는, 플로우 정보 제한장치.The flow information number limiting unit repeats the comparison of the flow information stored in the management buffer based on the order of the priority of the externally inputted items for each item possessed by the flow information, and compares the flow information between the flow information. Determine, and hold the determination result as a search index, and perform aggregation of the flow information with reference to the search index. 제 6항에 있어서,The method of claim 6, 상기 플로우 정보수 제한부는, 상기 플로우 정보 생성부가 생성한 플로우 정보의 총수로부터 재배열 후에 상위에 위치하는 비집약이 되는 플로우 정보의 수인 비집약수를 감산한 값인 집약 후보수와, 상기 상한값으로부터 상기 비집약수를 감산한 값인 집약 결과수와, 플로우 정보 제한시의 집약조건의 각 항목마다의 플로우수를 포함하는 정보의 이력을 기록하고, 상기 이력에 기초하여, 차회의 집약시에 있어서의 상기 검색용 색인의 작성에 이용되는 초기 항목수를 추측하는, 플로우 정보 제한장치.The flow information number limiting unit is an aggregate candidate number that is a value obtained by subtracting the non-intensive number, which is the number of non-intensive aggregated flow information located after the rearrangement, from the total number of flow information generated by the flow information generation unit, and the upper limit value. The history of the information including the number of aggregation results, which is a value obtained by subtracting the non-aggregation number, and the number of flows for each item of the aggregation condition at the time of flow information limitation, is recorded, and based on the history, the above-mentioned at the time of the next aggregation A flow information limiting device for guessing the number of initial items used to create a search index. 제 5항 내지 7항 중 어느 한 항에 있어서,The method according to any one of claims 5 to 7, 상기 검색용 색인이, 우선도가 상위인 항목의 리프를 우선도가 하위인 항목의 루트로 하는 이진트리의 데이터 구조를 갖는, 플로우 정보 제한장치.And the search index has a data structure of a binary tree having a leaf of an item having a higher priority as a root of an item having a lower priority. 제 3항에 있어서,The method of claim 3, wherein 상기 플로우 정보 생성부는, 상기 헤더 정보를 구성하는, 상기 통신에 사용된 프로토콜, 소스 어드레스, 수신처 어드레스, 소스 포트 및 수신처 포트의 각 항목이 합치하는 패킷의 집합을 플로우로 하고, 상기 플로우의 정보로서, 상기 각 항목에 관한 정보를 포함하는 플로우 정보를 생성하고,The flow information generation unit uses a set of packets matching each item of a protocol, a source address, a destination address, a source port, and a destination port used in the communication, which constitute the header information, as a flow and is used as information of the flow. Generating flow information including information about each item; 상기 플로우 정보수 제한부는, 상기 각 항목의 조합으로 이루어지는, 집약하는 조건에 포함되는 비교항목이 다른 복수의 집약조건의 범위에 있어서, 집약조건을 변경하여 상기 집약후보가 된 플로우 정보를 집약하는, 플로우 정보 제한장치.The flow information number limiting unit may be configured to change the aggregation condition to aggregate the flow information that is the candidate for aggregation in a range of a plurality of aggregation conditions that are different from the comparison items included in the aggregation condition, which is a combination of the respective items. Flow Information Restrictor. 복수의 단말을 상호 접속하는 네트워크상에 배치되고, 상기 네트워크에 있어서의 트래픽을 계측하는 측정용 단말에 측정용 네트워크를 통해서 접속되는 통신장치에 있어서 수행되는 플로우 정보 제한방법에 있어서,In the flow information restriction method performed in the communication apparatus which is arrange | positioned on the network which mutually connects several terminal, and is connected through the measurement network to the measurement terminal which measures the traffic in the said network, 동일 속성을 갖는 패킷의 집합을 동일 통신의 플로우로 하고, 상기 플로우마다, 상기 패킷의 헤더 정보에 기초하여 플로우 정보를 생성하는 제1 단계;A first step of setting a set of packets having the same attribute as a flow of the same communication, and for each flow, generating flow information based on header information of the packet; 상기 제1 단계에서 생성한 플로우 정보를 일시적으로 관리용 버퍼에 저장하 고, 상기 관리용 버퍼로부터 플로우 정보를 독출하는 제2 단계;A second step of temporarily storing the flow information generated in the first step in a management buffer and reading the flow information from the management buffer; 상기 제2 단계에서 출력한 플로우 정보를 패킷화하여 상기 측정용 네트워크상으로 송출하는 제3 단계;를 포함하며,And a third step of packetizing and outputting the flow information output in the second step onto the measurement network. 상기 제2 단계는, 상기 관리용 버퍼에 저장되어 있는 플로우 정보의 수가 미리 설정된 상한값을 초과하면, 상기 저장되어 있는 플로우 정보를, 비집약 플로우 정보와 상기 트래픽의 계측에 있어서의 중요성이 상기 비집약 플로우 정보보다 낮은 집약후보로 나누고, 상기 집약후보가 된 플로우 정보를 집약하여, 상기 관리용 버퍼에 보유되어 있는 플로우 정보의 수가 일정수 이하가 되도록 제어하는 단계;를 포함하는, 플로우 정보 제한방법.In the second step, when the number of flow information stored in the management buffer exceeds a preset upper limit value, the stored flow information is deemed important in measuring non-intensive flow information and the traffic. Dividing into aggregate candidates lower than flow information, and aggregating flow information that has become the aggregate candidate, and controlling the number of flow information held in the management buffer to be equal to or less than a predetermined number.
KR1020097009813A 2006-11-21 2007-11-20 Flow information restricting apparatus and method KR100997182B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006314299 2006-11-21
JPJP-P-2006-314299 2006-11-21
JPJP-P-2007-199499 2007-07-31
JP2007199499A JP4658098B2 (en) 2006-11-21 2007-07-31 Flow information limiting apparatus and method

Publications (2)

Publication Number Publication Date
KR20090079945A KR20090079945A (en) 2009-07-22
KR100997182B1 true KR100997182B1 (en) 2010-11-29

Family

ID=39429717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009813A KR100997182B1 (en) 2006-11-21 2007-11-20 Flow information restricting apparatus and method

Country Status (6)

Country Link
US (1) US8239565B2 (en)
EP (1) EP2086183B1 (en)
JP (1) JP4658098B2 (en)
KR (1) KR100997182B1 (en)
CN (1) CN101536437B (en)
WO (1) WO2008062787A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026674B1 (en) * 2010-03-22 2015-05-05 Satish K Kanna System and method for accurately displaying communications traffic information
JP5102844B2 (en) 2006-12-19 2012-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for analyzing network flow
US9258217B2 (en) * 2008-12-16 2016-02-09 At&T Intellectual Property I, L.P. Systems and methods for rule-based anomaly detection on IP network flow
US8125920B2 (en) * 2009-03-04 2012-02-28 Cisco Technology, Inc. System and method for exporting structured data in a network environment
US8443434B1 (en) * 2009-10-06 2013-05-14 Palo Alto Networks, Inc. High availability security device
US8724487B1 (en) 2010-02-15 2014-05-13 Cisco Technology, Inc. System and method for synchronized reporting in a network environment
CN102075412B (en) * 2010-10-22 2013-06-19 北京神州绿盟信息安全科技股份有限公司 Network data transmission rate control equipment and method
KR101433420B1 (en) * 2010-11-16 2014-08-28 한국전자통신연구원 Apparatus and method for parallel processing flow-based data
EP2530874B1 (en) * 2011-06-03 2020-04-29 AirMagnet, Inc. Method and apparatus for detecting network attacks using a flow based technique
US9674207B2 (en) * 2014-07-23 2017-06-06 Cisco Technology, Inc. Hierarchical attack detection in a network
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10674394B2 (en) * 2017-10-27 2020-06-02 Futurewei Technologies, Inc. Method and apparatus for reducing network latency
US10999167B2 (en) * 2018-04-13 2021-05-04 At&T Intellectual Property I, L.P. Varying data flow aggregation period relative to data value
US11546185B2 (en) * 2020-04-27 2023-01-03 Hewlett Packard Enterprise Development Lp Multicast route summarization
WO2023105647A1 (en) * 2021-12-07 2023-06-15 日本電信電話株式会社 Flow information collecting system, flow information collecting method, and flow information collecting program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244321A (en) 2002-02-15 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> Traffic data generation device
JP2005010756A (en) 2003-05-23 2005-01-13 Olympus Corp Optical system
JP2006050442A (en) 2004-08-06 2006-02-16 Nippon Telegr & Teleph Corp <Ntt> Traffic monitoring method and system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466703B1 (en) * 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6671258B1 (en) * 2000-02-01 2003-12-30 Alcatel Canada Inc. Dynamic buffering system having integrated random early detection
JP3994614B2 (en) * 2000-03-13 2007-10-24 株式会社日立製作所 Packet switch, network monitoring system, and network monitoring method
US6836466B1 (en) * 2000-05-26 2004-12-28 Telcordia Technologies, Inc. Method and system for measuring IP performance metrics
AU2001281150A1 (en) * 2000-08-07 2002-02-18 Xacct Technologies Limited System, method and computer program product for processing network accounting information
US20020035698A1 (en) * 2000-09-08 2002-03-21 The Regents Of The University Of Michigan Method and system for protecting publicly accessible network computer services from undesirable network traffic in real-time
US7039013B2 (en) * 2001-12-31 2006-05-02 Nokia Corporation Packet flow control method and device
US7286482B2 (en) * 2002-11-29 2007-10-23 Alcatel Lucent Decentralized SLS monitoring in a differentiated service environment
US7701863B2 (en) * 2002-12-12 2010-04-20 Alcatel Lucent Decentralized SLS monitoring for throughput in a differentiated service environment
US7453806B2 (en) * 2003-06-26 2008-11-18 International Business Machines Corporation Dynamic data packet flow control for packet switching node
US7385924B1 (en) * 2003-09-30 2008-06-10 Packeteer, Inc. Enhanced flow data records including traffic type data
US7515591B1 (en) * 2004-08-31 2009-04-07 Adtran, Inc. Primary channel bank-resident mechanism for scheduling downstream data transmissions to ports of multiple channel banks
JP2005210756A (en) * 2005-04-08 2005-08-04 Hitachi Ltd Network monitoring method
US7738375B1 (en) * 2005-08-19 2010-06-15 Juniper Networks, Inc. Shared shaping of network traffic
US20070140282A1 (en) * 2005-12-21 2007-06-21 Sridhar Lakshmanamurthy Managing on-chip queues in switched fabric networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244321A (en) 2002-02-15 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> Traffic data generation device
JP2005010756A (en) 2003-05-23 2005-01-13 Olympus Corp Optical system
JP2006050442A (en) 2004-08-06 2006-02-16 Nippon Telegr & Teleph Corp <Ntt> Traffic monitoring method and system

Also Published As

Publication number Publication date
EP2086183A1 (en) 2009-08-05
KR20090079945A (en) 2009-07-22
US20100070647A1 (en) 2010-03-18
JP2008154204A (en) 2008-07-03
US8239565B2 (en) 2012-08-07
JP4658098B2 (en) 2011-03-23
WO2008062787A1 (en) 2008-05-29
EP2086183B1 (en) 2013-01-30
CN101536437B (en) 2012-02-01
EP2086183A4 (en) 2010-01-06
CN101536437A (en) 2009-09-16

Similar Documents

Publication Publication Date Title
KR100997182B1 (en) Flow information restricting apparatus and method
US11700275B2 (en) Detection of malware and malicious applications
US7787442B2 (en) Communication statistic information collection apparatus
Xiong et al. Robust dynamic network traffic partitioning against malicious attacks
JP4341413B2 (en) PACKET TRANSFER APPARATUS HAVING STATISTICS COLLECTION APPARATUS AND STATISTICS COLLECTION METHOD
US8005012B1 (en) Traffic analysis of data flows
Tammaro et al. Exploiting packet‐sampling measurements for traffic characterization and classification
US8311039B2 (en) Traffic information aggregating apparatus
CN101399711B (en) Network monitoring system and network monitoring method
CN101827073B (en) Tracking fragmented data flows
US9634851B2 (en) System, method, and computer readable medium for measuring network latency from flow records
JP2007336512A (en) Statistical information collecting system, and apparatus thereof
CN1953392A (en) Detection method for abnormal traffic and packet relay apparatus
CN114050994B (en) Network telemetry method based on SRv6
US7266088B1 (en) Method of monitoring and formatting computer network data
CN110198315A (en) A kind of method and device of Message processing
KR100770643B1 (en) Method of High Performance Packet Classification Using TCAM and Apparatus Thereof
JP2018029303A (en) Notification system and notification method
JP4489714B2 (en) Packet aggregation method, apparatus, and program
JP6883470B2 (en) Packet relay device and packet relay system
WO2021001879A1 (en) Traffic monitoring device, and traffic monitoring method
CN116016391A (en) Message forwarding method and system based on NAT gateway
JP2011049757A (en) Flow information generator, storage method and program

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141014

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151006

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161111

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181120

Year of fee payment: 9