KR100608541B1 - An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof - Google Patents

An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof Download PDF

Info

Publication number
KR100608541B1
KR100608541B1 KR1020050032363A KR20050032363A KR100608541B1 KR 100608541 B1 KR100608541 B1 KR 100608541B1 KR 1020050032363 A KR1020050032363 A KR 1020050032363A KR 20050032363 A KR20050032363 A KR 20050032363A KR 100608541 B1 KR100608541 B1 KR 100608541B1
Authority
KR
South Korea
Prior art keywords
signature
packet
sampling
search
signature search
Prior art date
Application number
KR1020050032363A
Other languages
Korean (ko)
Other versions
KR20060063564A (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 KR20060063564A publication Critical patent/KR20060063564A/en
Application granted granted Critical
Publication of KR100608541B1 publication Critical patent/KR100608541B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

본 발명은 고속의 인터넷 회선으로부터 패킷을 수집하기 위해서 지금까지 분석 소프트웨어에서 수행되던 샘플링 기능과 시그너쳐 검색 기능을 하드웨어로 구현한 IP 패킷 수집 장치 및 그 방법에 관한 것이다. 본 발명에 따르면, 지금까지 분석 소프트웨어에서 수행되던 샘플링 기능과 시그너쳐 검색 기능을 FPGA(Field Programmable Gate Array) 하드웨어로 구현함으로써 고속의 인터넷 회선에 대한 트래픽 수집에 요구되는 많은 컴퓨팅 자원을 줄일 수 있으며 보다 정확한 실시간 분석이 가능한 모니터링 시스템을 효율적으로 구축할 수 있다.The present invention relates to an IP packet collection device and method for hardware-implementing a sampling function and a signature retrieval function which have been performed in analysis software to collect packets from a high-speed Internet circuit. According to the present invention, the field-programmable gate array (FPGA) hardware, which has been performed in analysis software so far, can be implemented with FPGA (Field Programmable Gate Array) hardware to reduce the amount of computing resources required for traffic collection on high-speed Internet circuits, and more precisely. A monitoring system capable of real time analysis can be efficiently constructed.

IP 패킷 수집, 플로우 샘플링, 시그너쳐 검색, 모니터링, FPGA IP Packet Acquisition, Flow Sampling, Signature Search, Monitoring, FPGA

Description

샘플링과 시그너쳐 검색 기능을 구비한 인터넷 프로토콜 패킷 수집 장치 및 그 방법{An apparatus for capturing Internet Protocol(IP) packet with sampling and signature searching function, and a method thereof}An apparatus for capturing Internet Protocol (IP) packet with sampling and signature searching function, and a method

도 1은 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 장치의 블록 구성도이다.1 is a block diagram of an IP packet collection device having a sampling and signature search function according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법의 동작 흐름도이다.2 is an operation flowchart of an IP packet collection method having a sampling and signature search function according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 샘플링 방법을 나타내는 구체적인 동작 흐름도이다.3 is a detailed operation flowchart illustrating a sampling method according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 시그너쳐 검색 방법을 나타내는 구체적인 동작 흐름도이다.4 is a detailed operation flowchart illustrating a signature search method according to an embodiment of the present invention.

본 발명은 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 장치 및 그 방법에 관한 것으로, 고속의 인터넷 회선으로부터 패킷을 수집하기 위해서 지금까지 분석 소프트웨어에서 수행되던 샘플링 기능과 시그너쳐 검색 기능을 FPGA(Field Programmable Gate Array) 하드웨어로 구현한 IP 패킷 수집 장치 및 그 방법에 관한 것이다.The present invention relates to an IP packet collecting device having a sampling and signature retrieval function and a method thereof. The present invention relates to an FPGA (Field Programmable) method for collecting a sampling function and a signature retrieval function that have been performed in analysis software to collect packets from a high-speed Internet circuit. Gate Array) The present invention relates to an IP packet collecting device implemented in hardware and a method thereof.

먼저, 샘플링의 종류는 패킷 샘플링과 플로우 샘플링으로 구분할 수 있는데, 이중에서 플로우 샘플링은 같은 특성을 가지는 패킷들을 하나의 플로우로 정의하고, 이러한 플로우를 중심으로 미리 정해진 연산 규칙을 이용하여 패킷들을 샘플링하는 방법이다.First, the sampling type can be divided into packet sampling and flow sampling. Among them, flow sampling defines packets having the same characteristics as one flow and samples packets using a predetermined calculation rule based on the flow. Way.

인터넷에서 플로우에 대한 예를 들면, 소스 인터넷 프로토콜(IP) 주소, 목적지 IP 주소, 프로토콜, 소스 포트 번호, 목적지 포트 번호가 같은 패킷들의 모임을 하나의 플로우로 정의할 수 있다.For example, for a flow on the Internet, a collection of packets with the same source internet protocol (IP) address, destination IP address, protocol, source port number, and destination port number can be defined as a flow.

또한, 수집된 IP 패킷에 대한 TCP나 UDP와 같은 L4 PDU(Protocol Data Unit)의 페이로드 안에 패킷 속성을 미리 결정할 수 있는 특정 패턴이나 문자열과 같은 시그너쳐가 존재하는지 검사하여, 만약 정해진 시그너쳐가 존재하면 페이로드를 그냥 붙여 정해진 고정된 수집 크기만큼 잘라 보내고, 그렇지 않으면 페이로드를 버리고 L4 헤더까지만 분석 소프트웨어에게 수집된 패킷을 전달한다.It also checks whether a signature, such as a specific pattern or string, exists in the payload of an L4 PDU (Protocol Data Unit), such as TCP or UDP, for a collected IP packet. Just attach the payload and truncate it to a fixed fixed collection size, otherwise discard the payload and pass the collected packets up to the L4 header to the analysis software.

이렇게 함으로써, IP 패킷 수집 장치가 분석 서버에게 전달하는 수집 데이터 양을 최소한으로 줄여 트래픽 분석 시스템이 보다 많은 수의 패킷을 빠르고 정확하게 고속의 인터넷 회선에서도 분석이 가능할 수 있게 된다.By doing so, the amount of data collected by the IP packet collector to the analysis server is reduced to a minimum, so that the traffic analysis system can analyze a larger number of packets quickly and accurately even on a high-speed Internet circuit.

현재 운영 중인 망(Network)의 운영 상태와 트래픽 특성 파악, 설계 및 계획, 유해한 트래픽 차단, 과금, QoS(Quality of Service) 보장을 위해서는 트래픽 측정 기술이 필요하다.Traffic measurement technology is needed to understand the operational status and traffic characteristics, design and plan, block harmful traffic, billing and quality of service (QoS) of the currently operating network.

이러한 트래픽 측정은 능동적(Active) 측정과 수동적(Passive) 측정으로 구분할 수 있다.Such traffic measurement can be divided into active measurement and passive measurement.

능동적 측정은 측정을 위한 패킷들을 망에 직접 실어 보내어 그 결과를 측정하는 방법으로서, 단방향 지연과 같이 얻고자 하는 메트릭(metric)을 쉽게 구할 수 있는 장점이 있지만 인터넷 망의 최선의(best-effort) 서비스 특성으로 인한 측정 결과의 부정확성과 현재 정상적인 망 트래픽에 영향을 준다는 단점이 있다.Active measurement is a method of measuring the result by sending packets for measurement directly to the network, which has the advantage of easily obtaining the metric desired to obtain such as one-way delay, but the best-effort of the Internet network. There are disadvantages of inaccurate measurement results due to service characteristics and current normal network traffic.

반면에, 수동적 측정은 물리적인 링크 회선을 태핑(tapping)하거나 스위치 또는 라우터의 포트 미러링(mirroring) 기능을 이용하여 회선을 분류하고 모니터링을 위한 하나의 회선을 따로 두어 측정하는 방법이다. 이 방법은 회선에 흐르는 모든 트래픽을 수집할 수 있을 뿐만 아니라 현재 운영 중인 망에 전혀 영향을 주지 않는 장점이 있다. 그러나 회선의 물리적인 태핑을 위해서 현재 운영 중인 망을 일시적으로 중단해야 하는 문제가 있다.Passive measurement, on the other hand, is a method of tapping a physical link circuit or using a port mirroring function of a switch or a router to classify circuits and set one circuit separately for monitoring. This method has the advantage of not only collecting all the traffic flowing through the circuit but also having no effect on the current network. However, there is a problem that the network currently in operation must be temporarily stopped for physical tapping of the circuit.

그런데, 망 운영자는 망의 상황을 실시간으로 파악하여 관리하고, 현재 망 성능에 영향을 주지 않으면서 효율적으로 망을 운영하기를 원하기 때문에 수동적인 측정 방법이 더 많이 사용된다.However, because network operators want to know and manage the network situation in real time and operate the network efficiently without affecting the current network performance, manual measurement methods are more used.

한편, 인터넷 사용자의 증가와 다양한 응용 서비스들의 등장으로 인해서 오늘날 인터넷 망은 대규모화되어 수 100Mbps에서 수 10Gbps에 이르고 있다. 이러한 고속의 회선을 일반 범용 NIC(Network Interface Card) 카드를 이용해서 측정하고자 할 경우에는 몇 가지 문제점이 있다.Meanwhile, due to the increase in the number of Internet users and the emergence of various application services, the Internet network has become large in size, ranging from several 100Mbps to several 10Gbps. There are some problems when trying to measure such a high speed line using a general purpose network interface card (NIC) card.

첫 번째 문제점으로, 트래픽 양이 많아지면 매 패킷에 대한 인터럽트 처리의 증가로 인한 CPU(Central Processing Unit) 사용량이 급격히 증가하여 패킷 손실이 발생하고 심지어는 시스템 자체가 정지하는 경우도 있다.The first problem is that as the traffic volume increases, the central processing unit (CPU) usage increases rapidly due to the increased interrupt processing for every packet, causing packet loss and even the system itself to stop.

두 번째 문제점으로, 일반 NIC 카드는 시간을 계산하는 기능이 없기 때문에 시스템의 현재 시간을 패킷이 도착한 시간의 타임 스탬프(time stamp)로 사용하는데, 이것 또한 각 시스템마다 시간 차이가 존재하며 실제로 도착한 시간보다 뒤늦게 계산되는 문제가 있다.The second problem is that since a regular NIC card does not have the ability to calculate time, it uses the system's current time as the time stamp of the time the packet arrived, which also differs from time to time for each system. There is a problem that is calculated later.

세 번째 문제점으로는, 고속의 회선으로부터 수집된 많은 양의 데이터를 실시간으로 저장하기에 충분히 빠른 저장장치가 없다는 것이다.The third problem is that there is no storage fast enough to store large amounts of data collected from high speed lines in real time.

따라서 전술한 문제점을 해결하기 위해서는 수집 카드 내에서 GPS(Global Positioning System)나 CDMA(Code Division Multiple Access)를 이용하여 정확한 패킷 도착 시간에 대한 타임 스탬프를 계산하고, 매 패킷에 대한 인터럽트 처리를 수행하는 대신에 일정한 양의 수집 데이터를 모아서 한번에 처리함으로써 CPU 사용량을 줄일 수 있는 수집 전용 장치가 필요하다.Therefore, in order to solve the above-mentioned problem, a time stamp for accurate packet arrival time is calculated using a Global Positioning System (GPS) or a Code Division Multiple Access (CDMA) in a collection card, and interrupt processing is performed for every packet. Instead, a dedicated collection device is needed that can collect a certain amount of collected data and process it all at once to reduce CPU usage.

그러나, 고속의 링크를 모니터링하기 위해서는 수집 전용 장치만으로는 근본적으로 해결할 수 없기 때문에 회선에 흐르는 모든 패킷들에 대한 측정 대신에 샘플링을 통하여 수집할 수밖에 없다.However, in order to monitor a high-speed link, a collection-only device cannot solve the fundamental problem. Therefore, instead of measuring all packets flowing through a circuit, sampling is required.

현재 패킷 샘플링은 라우터의 인터페이스 카드별로 수행되고 있지만, 라우터의 성능 저하로 인해서 자주 사용하지 않고 있다. 특히, 플로우에 기반한 샘플링은 분석 소프트웨어에 의해서만 수행되기 때문에 모니터링 시스템의 성능에 많은 영향을 미친다.Currently, packet sampling is performed by the router's interface card, but it is not frequently used due to the poor performance of the router. In particular, flow-based sampling only affects the performance of the monitoring system because it is performed only by analysis software.

따라서 이러한 샘플링 기능이 하드웨어로 구현된 수집 장치가 필요하다. 그리고 고속의 회선으로부터 정해진 길이만큼의 패킷을 수집하게 되면 많은 양의 데이터가 생성되며, 이것을 수집 장치에서 시스템 메모리로 전달하고 다시 분석 소프트웨어가 분석하기 위해 이것을 저장할 수 있는 충분히 빠른 속도의 하드디스크 저장 장치가 필요하다. 그런데, 저장 장치의 속도는 고속의 인터넷 회선에서 발생하는 많은 양의 데이터를 모두 저장할 만큼 충분히 빠르지 않다는 문제가 있다.Therefore, there is a need for a collection device in which such a sampling function is implemented in hardware. Collecting packets of a given length from a high-speed line generates a large amount of data, which is a fast enough hard disk storage device that can pass it from the acquisition unit to system memory and store it for analysis software again. Is needed. However, there is a problem that the speed of the storage device is not fast enough to store all of a large amount of data generated in a high speed Internet line.

따라서 발생되는 수집 데이터 양을 최소한으로 줄여 저장 속도에 맞추어서 수집하고 또한 한편으로는 분석 소프트웨어가 분석하는 시간을 단축시킬 필요가 있다.Thus, there is a need to reduce the amount of collected data generated to a minimum, so that it can be collected at a storage speed and, on the other hand, to reduce the analysis software analysis time.

한편, 분석 소프트웨어는 응용 서비스별 통계값을 계산하기 위해서 수집된 패킷이 어느 응용에 속하는지 구분할 필요가 있는데, 이것은 특정 패턴이나 시그너쳐를 L4 패킷의 페이로드 내에서 검색함으로써 가능하다.On the other hand, the analysis software needs to distinguish which application the collected packet belongs to in order to calculate application-specific statistics. This can be done by searching for a specific pattern or signature in the payload of the L4 packet.

그러나 이러한 작업은 많은 시간과 컴퓨터 자원이 소요되는 것으로써 모니터링 시스템 전체 성능에 많은 영향을 준다.However, these tasks are time-consuming and computer-intensive, which greatly affects the overall performance of the monitoring system.

따라서 이 기능을 수집 장치 내에서 하드웨어로 구현하여 분석 소프트웨어의 분석 속도를 향상시키고 불필요한 데이터를 버림으로써 장치로부터 발생되는 데이터 양을 최소화시킬 필요가 있다.Therefore, it is necessary to implement this function in hardware in the collection device to speed up the analysis software analysis and to minimize the amount of data generated from the device by discarding unnecessary data.

또한, 최종적으로 수집되어 처리된 패킷이 생성될 때마다 DMA 인터럽트를 호출하여 PCI 버스를 통해 시스템 메모리로 복사하는 대신에, 일정 양의 수집된 패킷 데이터가 저장될 때까지 기다렸다가 한번의 DMA 인터럽트를 호출함으로써 고속 회 선에서 발생하는 많은 인터럽트 호출에 의한 CPU 자원 낭비를 줄일 필요가 있다.In addition, instead of invoking a DMA interrupt every time a packet is finally collected and processed, copying it to system memory over the PCI bus, wait until a certain amount of collected packet data is stored before invoking one DMA interrupt. By doing so, it is necessary to reduce CPU resource waste caused by many interrupt calls occurring on a high speed line.

상기 문제점을 해결하기 위한 본 발명의 목적은, 분석 소프트웨어에서 수행되던 샘플링 기능과 시그너쳐 검색 기능을 FPGA(Field Programmable Gate Array) 하드웨어로 구현함으로써 보다 빠르고 정확하게 패킷을 수집할 수 있는 샘플링과 시그너쳐 검색 기능을 구비한 인터넷 프로토콜 패킷 수집 장치 및 그 방법을 제공하기 위한 것이다.An object of the present invention to solve the above problems is to implement a sampling function and a signature search function performed in the analysis software with FPGA (Field Programmable Gate Array) hardware to provide a sampling and signature search function that can collect packets faster and more accurately. The present invention provides an apparatus for collecting internet protocol packets and a method thereof.

상기의 목적을 달성하기 위한 수단으로서, 본 발명에 따른 IP 패킷 수집 장치는,As a means for achieving the above object, the IP packet collection device according to the present invention,

물리적인 회선으로부터 비트 스트림을 생성하는 네트워크 인터페이스 접속부로부터 트래픽을 입력받아서 L2 링크 계층의 프레임을 생성하는 L2 프레임 생성부;An L2 frame generation unit configured to generate a frame of an L2 link layer by receiving traffic from a network interface connection unit generating a bit stream from a physical circuit;

상기 L2 프레임 생성부가 생성한 프레임 데이터를 저장하는 입력 프레임 저장부;An input frame storage unit for storing frame data generated by the L2 frame generation unit;

상기 입력 프레임 저장부로부터 하나의 프레임을 입력받아 L2 헤더, IP 헤더, L4 헤더 및 페이로드를 구분하고, 각 L4 프로토콜에 따라 정의된 시그너쳐 검색 규칙(rule)을 참조하여 시그너쳐 검색을 수행하는 시그너쳐 검색부; 및Signature search for distinguishing L2 header, IP header, L4 header and payload by receiving one frame from the input frame storage unit, and performing signature search with reference to signature search rules defined according to each L4 protocol part; And

상기 입력 프레임 저장부로부터 하나의 프레임을 입력받아 L2 헤더, IP 헤더, L4 헤더 및 페이로드를 구분한 후, IP 패킷에 대해서 샘플링 모드에 따라 샘플링을 수행하고, 상기 샘플링 결과가 성공인 패킷에 대해서 시그너쳐 검색 모드가 켜져 있으면, 상기 시그너쳐 검색부의 결과에 따라 시그너쳐 검색 실패일 경우 페이로드를 버리고, 시그너쳐 검색 성공일 경우 정해진 수집 크기에 따라 패킷을 처리하는 중앙 패킷 처리부After receiving one frame from the input frame storage unit, the L2 header, the IP header, the L4 header, and the payload are classified, and the IP packet is sampled according to a sampling mode. If the signature search mode is turned on, the central packet processing unit discards the payload if the signature search fails according to the result of the signature search unit, and processes the packet according to a predetermined collection size if the signature search succeeds.

를 포함하는 것을 특징으로 한다.Characterized in that it comprises a.

또한, 상기 목적을 달성하기 위한 다른 수단으로서, 본 발명에 따른 IP 패킷 수집 방법은,In addition, as another means for achieving the above object, the IP packet collection method according to the present invention,

범용 PC나 서버의 PCI 버스를 통해 데이터가 전달되며, 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법에 있어서,In the IP packet collection method that the data is transmitted through the PCI bus of the general-purpose PC or server, and has a sampling and signature search function,

a) 물리적인 회선으로부터 하나의 L2 프레임을 생성한 후, 상기 L2 프레임을 L2 헤더와 IP 패킷으로 구분하는 단계;a) generating one L2 frame from a physical circuit, and then dividing the L2 frame into an L2 header and an IP packet;

b) 상기 입력 패킷이 IP 패킷인 경우, 샘플링 모드를 검사하여, 샘플링 모드가 켜져 있으면 모드 유형에 해당하는 샘플링을 수행하는 단계;b) when the input packet is an IP packet, checking a sampling mode and performing sampling corresponding to a mode type if a sampling mode is turned on;

c) 상기 샘플링 수행 결과가 성공일 경우, 시그너쳐 모드를 검사하고, 상기 시그너쳐 모드가 켜져 있으면, 시그너쳐 검색 과정을 수행하는 단계;c) checking a signature mode when the sampling performance is successful, and performing a signature search process when the signature mode is turned on;

d) 상기 시그너쳐 검색 결과가 실패이면 TCP나 UDP의 L4 헤더 이후의 페이로드 부분을 버리고 시각 동기화 신호를 이용하여 타임 스탬프를 추가한 후 PCI 출력 버퍼에 처리된 수집 데이터를 저장하는 단계;d) discarding the payload portion after the L4 header of TCP or UDP if the signature search result is unsuccessful, adding a time stamp using a time synchronization signal, and storing the processed acquisition data in a PCI output buffer;

e) 상기 시그너쳐 모드가 꺼져 있거나 상기 시그너쳐 검색 결과가 성공일 경우, 미리 정해진 수집 길이 이후의 IP 패킷 부분을 버리고 시각 동기화 신호를 이용하여 타임 스탬프를 추가한 후, PCI 출력 버퍼에 처리된 수집 데이터를 저장하는 단계; 및e) If the signature mode is off or the signature search result is successful, discard the portion of the IP packet after a predetermined acquisition length, add a time stamp using a time synchronization signal, and then process the collected data into the PCI output buffer. Storing; And

f) 상기 저장된 최종 수집 데이터가 정해진 크기의 양에 도달했을 경우, DMA(Direct Memory Access) 인터럽트를 호출하여 PCI 버스를 통해 시스템 메모리로 전달하는 단계f) invoking a direct memory access (DMA) interrupt to the system memory via the PCI bus when the last collected stored data reaches a predetermined amount;

를 포함하는 것을 특징으로 한다.Characterized in that it comprises a.

이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 장치 및 그 방법을 상세히 설명한다.Hereinafter, an IP packet collecting device having a sampling and signature search function and a method thereof according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예는 고속 회선의 측정에 따르는 기술적인 문제점을 해결하도록, 샘플링과 시그너쳐 검색 기능을 포함하는 수집 장치의 일반적인 구성과 방법을 정의하며, 또한, 패킷 샘플링과 플로우 샘플링에 대한 방법을 정의하고, L4 패킷의 페이로드 안의 특정 시그너쳐를 검색하는 방법에 대하여 정의한다.Embodiments of the present invention define a general configuration and method of a collection device including sampling and signature retrieval functions, and also define methods for packet sampling and flow sampling, in order to solve the technical problems of measuring high-speed lines. Then, a method of searching for a specific signature in the payload of the L4 packet is defined.

또한, 본 발명의 실시예는 상기의 방법들을 하드웨어로 구현함으로써, 다양한 기능과 최적의 성능을 보장할 수 있는 모니터링 수집 전용 장치와 그 방법을 개시한다.In addition, an embodiment of the present invention discloses an apparatus and method for monitoring collection dedicated to ensure various functions and optimal performance by implementing the above methods in hardware.

한편, 도 1은 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 장치의 블록 구성도이다.FIG. 1 is a block diagram illustrating an IP packet collection apparatus having a sampling and signature search function according to an exemplary embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 IP 패킷 수집 장치(100)는, 부터(Booter: 110), 네트워크 인터페이스 접속부(120), L2 프레임 생성부(130), 입력 프레임 저장부(140), 시그너쳐 검색부(150), 중앙 패킷 처리부(160), GPS/CDMA 시각 신호 접속부(170), 수집 패킷 저장부(180) 및 PCI 버스 제어부(190)를 포함할 수 있고, 또한, SDRAM(Synchronous Dynamic Random Access Memory) 메모리(151) 및 TCAM(Ternary Content Addressable Memory) 메모리(152)를 추가로 포함할 수 있다.Referring to FIG. 1, the IP packet collecting apparatus 100 according to an exemplary embodiment of the present invention may include a (Booter) 110, a network interface connection unit 120, an L2 frame generation unit 130, and an input frame storage unit 140. ), The signature search unit 150, the central packet processing unit 160, the GPS / CDMA time signal access unit 170, the collection packet storage unit 180, and the PCI bus control unit 190, and the SDRAM ( Synchronous Dynamic Random Access Memory (151) memory 151 and TCAM (Ternary Content Addressable Memory) memory 152 may be further included.

먼저, 상기 네트워크 인터페이스 접속부(120)는 물리적인 회선으로부터 비트 스트림을 생성한다.First, the network interface connector 120 generates a bit stream from a physical circuit.

상기 GPS/CDMA 시각 신호 접속부(170)는 GPS 또는 CDMA 시간 정보를 RJ45 포트를 통해 입력받아서 정밀한 타임 스탬프를 생성할 수 있다.The GPS / CDMA visual signal access unit 170 may generate a precise time stamp by receiving GPS or CDMA time information through an RJ45 port.

상기 L2 프레임 생성부(130)는 상기 네트워크 접속부(120)로부터 트래픽을 입력받아서 L2 링크 계층의 프레임을 생성한다.The L2 frame generator 130 receives the traffic from the network access unit 120 to generate a frame of the L2 link layer.

상기 입력 프레임 저장부(140)는 상기 L2 프레임 생성부(130)가 생성한 프레임 데이터를 저장하며, FIFO(First In First Out) 버퍼로 구현된다.The input frame storage unit 140 stores the frame data generated by the L2 frame generation unit 130 and is implemented as a FIFO (First In First Out) buffer.

상기 시그너쳐 검색부(150)는 상기 입력 프레임 저장부(140)로부터 하나의 프레임을 입력받아 L2 헤더 및 IP 헤더 그리고 TCP나 UDP와 같은 L4 헤더와 페이로드를 구분한 후에, 각 L4 프로토콜에 따라 정의된 시그너쳐 검색 규칙(rule)을 참조하여 시그너쳐 검색을 수행하며, FPGA로 구현될 수 있다.The signature retrieval unit 150 receives one frame from the input frame storage unit 140, classifies the L2 header and the IP header, and the L4 header such as TCP or UDP and the payload, and then defines them according to each L4 protocol. The signature search is performed by referring to the signed signature search rule, and may be implemented in an FPGA.

여기서, 상기 SDRAM 메모리(151)는 상기 시그너쳐 검색에 사용될 규칙을 저장하며, 또한, 상기 TCAM 메모리(152)는 상기 시그너쳐 검색부(150)가 특정 패턴의 존재 유무를 결정하는데 필요한 메모리이다.Here, the SDRAM memory 151 stores a rule to be used for the signature search, and the TCAM memory 152 is a memory required for the signature search unit 150 to determine whether a specific pattern exists.

또한, 상기 중앙 패킷 처리부(160)는 상기 입력 프레임 저장부(140)로부터 하나의 프레임을 입력받아 L2 헤더 및 IP 헤더 그리고 TCP나 UDP와 같은 L4 헤더와 페이로드를 구분한 후에, IP 패킷인지를 검사하고 IP 패킷에 대해서 샘플링 모드에 따라 샘플링 과정을 수행한다. 이때, 그 결과가 성공인 패킷에 대해서만 다시 시그너쳐 검색 모드가 켜져 있으면 상기의 시그너쳐 검색부(150)의 결과에 따라 만약 실패일 경우에는 페이로드를 버리고 성공일 경우에는 정해진 수집 크기에 따라 패킷을 처리하며, 상기 GPS/CDMA 시각 신호 접속부(170)로부터 시간 정보를 입력받아 타임 스탬프와 함께 최종적으로 IP 패킷에 대한 수집 데이터를 생성하여 PCI 출력 버퍼에 저장한다.In addition, the central packet processing unit 160 receives one frame from the input frame storage unit 140 and classifies the L2 header and the IP header and the L4 header such as TCP or UDP and the payload, and then determines whether the packet is an IP packet. Inspects and performs the sampling process on the IP packet according to the sampling mode. At this time, if the signature retrieval mode is turned on only for the packet whose result is successful, the packet retrieval unit discards the payload in case of failure and processes the packet according to the predetermined collection size in case of success, according to the result of the signature retrieval unit 150. In addition, the time information is received from the GPS / CDMA time signal access unit 170 and finally, the collected data for the IP packet is generated together with the time stamp and stored in the PCI output buffer.

상기 수집 패킷 저장부(180)는 상기 중앙 패킷 처리부(160)에 의해 생성된 최종 수집 데이터를 저장하기 위한 것으로, FIFO 버퍼로 구현된다.The collected packet storage unit 180 is for storing the final collected data generated by the central packet processing unit 160, and is implemented as a FIFO buffer.

상기 PCI 버스 제어부(190)는 상기 수집 패킷 저장부(180)에 저장된 처리된 수집 데이터가 일정 크기의 양이 되면 DMA 인터럽트를 단 한번 호출하여 시스템 메모리로 전달하는 역할을 한다.The PCI bus controller 190 calls the DMA interrupt only once and delivers it to the system memory when the processed collection data stored in the collection packet storage unit 180 reaches a predetermined size.

상기 부터(110)는 수집 장치(100)의 모든 설정값들을 초기화하는 역할을 한다.From 110 serves to initialize all the set values of the collection device (100).

구체적으로, 본 발명의 실시예에 따른 IP 패킷 수집 장치(100)에 있어서, 네트워크 인터페이스 접속부(120)는 인터넷 고속 회선이 가능한 모든 종류의 물리적인 링크와 신호 프로토콜을 포함한다.Specifically, in the IP packet collection apparatus 100 according to the embodiment of the present invention, the network interface connection unit 120 includes all kinds of physical links and signaling protocols capable of Internet high-speed lines.

예를 들면, 가능한 케이블 회선은 UTP(Unshield Twisted Pair) 케이블, 광(optical) 케이블 형태이며, 물리적인 신호 프로토콜과 속도는 Giga 이더넷, ATM(Asynchronous Transfer Mode), 그리고 OC(Optical Carrier)-12/48/192/768 등이 있다.For example, possible cable lines are in the form of Unshield Twisted Pair (UTP) cables, optical cables, and the physical signal protocols and speeds are Giga Ethernet, Asynchronous Transfer Mode (ATM), and Optical Carrier (OC) -12 /. 48/192/768, etc.

한편, 도 2는 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법의 동작 흐름도이다.2 is a flowchart illustrating a method of collecting an IP packet having a sampling and signature search function according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법은, 먼저, 전원이 공급되면 Booter(110)에 의해 장치의 모든 설정값들을 초기화(S201)하고, 이후, 디바이스 드라이버에 의해서 업(up)이 되면 패킷 대기 상태(S202)로 이동한다.1 and 2, an IP packet collection method having a sampling and signature retrieval function according to an embodiment of the present invention, first, initializes all setting values of a device by a booter 110 when power is supplied. S201), and then, if up by the device driver, the process moves to the packet waiting state S202.

다음으로, 상기 패킷 대기 상태(S202)에서 네트워크 인터페이스 접속부(120)로부터 비트 스트림이 들어오면, 상기 L2 프레임 생성부(130)가 입력 프레임을 생성한 후에 입력 프레임 저장부(140)에 삽입한다(S203).Next, when the bit stream comes from the network interface connection unit 120 in the packet waiting state (S202), the L2 frame generation unit 130 generates an input frame and inserts it into the input frame storage unit 140 ( S203).

다음으로, 상기 입력 프레임 저장부(140)에 하나의 프레임이 들어오면 인터넷 회선의 인터페이스의 종류에 따라 L2 프레임 헤더와 IP 헤더를 분류한다(S204).Next, when one frame enters the input frame storage unit 140, the L2 frame header and the IP header are classified according to the type of the interface of the Internet line (S204).

다음으로, 입력 프레임이 IP 패킷인지 여부를 확인하여(S205), 만약 입력 프레임이 IP 패킷이 아니면 상기 패킷 대기 상태(S202)로 이동하고, IP 패킷에 대해서만 알고리즘을 계속 진행한다.Next, it is checked whether the input frame is an IP packet (S205), and if the input frame is not an IP packet, the process moves to the packet waiting state (S202), and the algorithm continues for only the IP packet.

다음으로, 상기 입력 프레임이 IP 패킷인 경우, 샘플링 모드가 켜져 있는지를 검사하고(S206), 샘플링 모드가 켜져 있는 경우, 샘플링 모드 유형이 Cyclic, Random, Hash 중에 하나이면 해당하는 유형에 따라 샘플링을 수행한다(S207).Next, when the input frame is an IP packet, it is checked whether a sampling mode is turned on (S206). When the sampling mode is turned on, if the sampling mode type is one of Cyclic, Random, and Hash, sampling is performed according to a corresponding type. It performs (S207).

이때, 상기 샘플링 수행 결과가 성공인지 확인하여(S208), 만일 샘플링 수행 결과가 실패이면 전술한 패킷 대기 상태(S202)로 이동하고, 만일 샘플링 수행 결과가 성공이면 다음 시그너쳐 검색 모드를 비교하는 부분(S209)으로 진행한다.In this case, it is checked whether the sampling performance is successful (S208). If the sampling performance is unsuccessful, the process moves to the aforementioned packet waiting state (S202), and if the sampling performance is successful, comparing the next signature search mode ( S209).

다음으로, 전술한 S206 단계에서 샘플링 기능이 꺼져 있거나, 또는 전술한 S208 과정에서 샘플링 수행 결과가 성공일 경우, 시그너쳐 검색 모드를 검사한다(S209).Next, when the sampling function is turned off in the above-described step S206 or the sampling execution result is successful in the above-described step S208, the signature search mode is checked (S209).

만약, 시그너쳐 검색 모드가 켜져 있으면 TCP나 UDP와 같은 L4 프로토콜에 따라 정해진 시그너쳐 검색 과정을 수행한다(S210). 이후, 시그너쳐 검색이 성공인 여부를 확인하여(S211), 상기 시그너쳐 검색 수행 결과가 실패이면, 후술할 S213 단계로 이동하고, 만일 시그너쳐 검색 수행 결과가 성공이면 다음의 S212 단계로 이동한다.If the signature search mode is turned on, the signature search process is performed according to the L4 protocol such as TCP or UDP (S210). Thereafter, it is checked whether the signature search is successful (S211). If the signature search execution result is unsuccessful, the procedure proceeds to step S213 which will be described later. If the signature search execution result is successful, the process moves to the next step S212.

만약, 전술한 S211 단계에서 시그너쳐 검색 수행 결과가 실패이면, TCP나 UDP와 같은 L4 프로토콜의 모든 페이로드 부분을 버리고, IP 헤더를 포함한 L4 헤더까지만 선택하고, 상기 GPS/CDMA 시각 신호 접속부(170)로부터 시간 정보를 입력받아 타임 스탬프를 추가하여, IP 패킷에 대한 최종 수집 정보를 만든 후에 수집 패킷 저장부(180) 출력 버퍼에 저장한다(S213).If the signature search execution fails in step S211 described above, all payload parts of the L4 protocol such as TCP or UDP are discarded, only the L4 header including the IP header is selected, and the GPS / CDMA visual signal access unit 170 is performed. After receiving the time information from the time stamp is added to create the final collection information for the IP packet, and stores it in the collection packet storage unit 180 output buffer (S213).

그렇지 않고, 만약 상기 S209 단계에서 시그너쳐 모드가 꺼져 있거나, 또는 상기 S211 단계에서 시그너쳐 검색 결과가 성공일 경우, 미리 정해진 IP 패킷 수집 길이 이후의 페이로드 부분을 버리고 상기 GPS/CDMA 시각 신호 접속부(170)로부터 시간 정보를 입력받아 타임 스탬프를 추가하여 IP 패킷에 대한 최종 수집 정보를 만든 후에 상기 수집 패킷 저장부(180)의 출력 버퍼에 저장한다(S212).Otherwise, if the signature mode is turned off in step S209 or the signature search result is successful in step S211, the payload portion after the predetermined IP packet collection length is discarded and the GPS / CDMA visual signal access unit 170 is discarded. After receiving the time information from the time stamp is added to create the final collection information for the IP packet and stored in the output buffer of the collected packet storage unit 180 (S212).

이와 같이, 전술한 S212 및 S213 단계에서 저장된 최종 수집 데이터는 PCI 버스 제어부(190)에 의해서 일정 양의 처리된 수집 데이터가 모아지면, 한번의 DMA 인터럽트를 호출하여 시스템의 커널 메모리로 패킷이 전달된다(S214).As such, when the collected data stored in the above-described steps S212 and S213 are collected by the PCI bus controller 190, a predetermined amount of processed data is collected, and a packet is transferred to the kernel memory of the system by calling one DMA interrupt. (S214).

한편, 도 3 및 도 4를 참조하여, 전술한 S207 단계의 샘플링 방법 및 S210 단계의 시그너쳐 검색 방법을 각각 구체적으로 설명한다.3 and 4, the above-described sampling method of step S207 and the signature search method of step S210 will be described in detail.

도 3은 본 발명의 실시예에 따른 샘플링 방법을 나타내는 구체적인 동작 흐름도이다.3 is a detailed operation flowchart illustrating a sampling method according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 샘플링(S207) 방법은, 먼저 샘플링 유형을 비교한다(S207-1).Referring to FIG. 3, the sampling method according to an embodiment of the present invention first compares sampling types (S207-1).

만약, 샘플링 모드 유형이 주기적(Cyclic)이면 현재의 입력 패킷 개수를 나타내는 InPktCnt 내부 변수를 하나 증가시킨다(S207-2). 이후, 이 InPktCnt 값과 미리 지정된 샘플링할 패킷 수인 Cyclic_N의 값을 비교하여(S207-5) 두 값이 다르면 검색 결과를 실패로 결정하고(S207-10), 만일 InPktCnt 값과 Cyclic_N의 값이 같으면 InPktCnt 값을 0으로 초기화(S207-8)하고, 샘플링 결과를 성공으로 결정한다(S207-9).If the sampling mode type is cyclic, the InPktCnt internal variable representing the current number of input packets is increased by one (S207-2). Then, this InPktCnt value is compared with the value of Cyclic_N, which is a predetermined number of packets to be sampled (S207-5), and if the two values are different, the search result is determined to be failed (S207-10). The value is initialized to 0 (S207-8), and the sampling result is determined to be successful (S207-9).

만약 샘플링 모드 유형이 랜덤(Random)이면, 균일 분포를 따르는 0과 1사이의 임의의 확률 값을 생성하여 내부 변수 p에 저장한다(S207-3). 이후, 생성된 확률 값 p와 미리 정의되어 샘플링할 확률을 나타내는 Random_P 값과 비교하여(S207-6), 상기 p 값이 Random_P 값보다 크면 샘플링 결과를 실패로 결정하고(S207-10), 그렇지 않고 생성된 확률 값 p가 Random_P 값보다 작거나 같으면 샘플링 결과를 성공으로 결정한다(S207-9).If the sampling mode type is random, a random probability value between 0 and 1 along a uniform distribution is generated and stored in the internal variable p (S207-3). Thereafter, the generated probability value p is compared with a random_P value that is predefined and represents a probability of sampling (S207-6). If the p value is larger than the Random_P value, the sampling result is determined as a failure (S207-10). If the generated probability value p is less than or equal to the Random_P value, the sampling result is determined to be success (S207-9).

만약 샘플링 모드 유형이 Hash이면, 플로우를 구별할 수 있는 키(key) 값들 나타내는 K=(k0, k1, ..., kn-1) 값을 패킷의 헤더로부터 추출한다(S207-4). 이렇게 추출된 키 값들인 K를 미리 정해진 해쉬 함수인 hash(K)에 입력하여 계산하고, 그 결과값을 미리 지정된 샘플링할 해쉬 값의 개수를 나타내는 Hahs_M 값으로 나눈 나머지 값과, 즉 hash(K) % Hash_M, 미리 입력되어 샘플링할 결과값을 나타내는 Hash_N과 비교한다(S207-7). 앞의 두 값의 비교 결과가 같으면 샘플링 검색 결과를 성공으로 결정하고(S207-9), 만일 두 값의 비교 결과가 다르면 샘플링 검색 결과를 실패로 결정한다(S207-10).If the sampling mode type is Hash, a value of K = (k 0 , k 1 , ..., k n-1 ) representing key values that can distinguish the flow is extracted from the header of the packet (S207-4). ). The extracted key values K are calculated by inputting them into hash (K), which is a predetermined hash function, and the result is divided by a Hahs_M value representing a predetermined number of hash values to be sampled, that is, hash (K). % Hash_M is compared with Hash_N indicating a result value to be input and sampled in advance (S207-7). If the comparison result of the previous two values is the same, the sampling search result is determined as success (S207-9). If the comparison result of the two values is different, the sampling search result is determined as failure (S207-10).

본 발명의 실시예에 따르는 샘플링 방법에서 샘플링 모드 유형이 Cyclic 또는 Random인 경우는 패킷 샘플링에 해당하고, Hash인 경우에는 플로우 샘플링에 해당한다.In the sampling method according to the embodiment of the present invention, when the sampling mode type is Cyclic or Random, it corresponds to packet sampling, and when Hash, it corresponds to flow sampling.

특히, 플로우 샘플링에서는 플로우 속성을 구별해 주는 키 값들인 K의 선택과 플로우가 샘플링 시에 균일하게 적용되기 위해서는 값의 분포가 거의 균일하게 계산되면서 빠르고 간단한 hash(K) 함수의 사용이 필요하다.In particular, in flow sampling, the selection of K, the key values that distinguish flow attributes, and the uniform distribution of values are required to use the fast and simple hash (K) function in order for the flow to be uniformly applied during sampling.

본 발명의 실시예에 다른 K와 hash(K)는 일반적인 대부분의 적용 가능한 K와 hash(K)의 경우를 포함한다. 예를 들면, 플로우를 구별하는 키 값들은 IP 패킷의 IP 헤더와 TCP나 UDP 헤더로부터 추출 가능하며, 그 예로는 K = (소스 IP 주소, 목적지 IP 주소, 프로토콜 번호, 소스 포트 번호, 목적지 포트 번호)와 같이 정의할 수 있다. 또한, 상기 해쉬 함수는 H(k) = (소스 IP 주소 + 목적지 IP 주소 + 프로토콜 번호 + 소스 포트 번호 + (목적지 포트 번호<<16))와 같이 정의할 수 있다.Other K's and hash (K) 's in the embodiments of the present invention include the general case of most applicable K's and hash (K). For example, key values that distinguish flows can be extracted from the IP header and TCP or UDP header of an IP packet, for example, K = (source IP address, destination IP address, protocol number, source port number, destination port number. Can be defined as In addition, the hash function may be defined as H (k) = (source IP address + destination IP address + protocol number + source port number + (destination port number << 16)).

한편, 도 4는 본 발명의 실시예에 따른 시그너쳐 검색 방법을 나타내는 구체적인 동작 흐름도이다.4 is a detailed flowchart illustrating a signature searching method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 시그너쳐 검색(S210) 방법은, 먼저 입력 패킷의 L4 프로토콜 유형을 비교한다(S210-1).Referring to FIG. 4, the signature search method according to an embodiment of the present invention first compares an L4 protocol type of an input packet (S210-1).

만약 L4 프로토콜 유형이 TCP나 UDP이면, 소스 포트 또는 목적지 포트에 대한 지정된 시그너쳐 검색 규칙(rule)이 있는지 검사하여(S210-2), 상기 시그너쳐 검색 규칙이 존재하면, 검색할 페이로드의 시작 위치에서 끝 위치 사이에 시그너쳐가 존재하는지 검색을 수행한다(S210-4).If the L4 protocol type is TCP or UDP, it is checked whether there is a specified signature search rule for the source port or the destination port (S210-2), and if the signature search rule exists, at the start position of the payload to be searched. A search is performed to see whether a signature exists between end positions (S210-4).

앞의 검색 수행 결과 상기 시그너쳐가 존재하는지 확인하여(S210-7), 상기 시그너쳐가 존재하는 경우, 시그너쳐 검색 결과를 성공으로 결정하고(S210-10), 그렇지 않으면 다시 S210-2 단계로 이동한다.As a result of the previous search, it is checked whether the signature exists (S210-7). If the signature exists, the signature search result is determined to be successful (S210-10).

그렇지 않고 S210-2 단계에서 소스 또는 목적지 포트에 대한 시그너쳐 검색 규칙이 더 이상 존재하지 않으면 임의의(any) 포트에 대한 시그너쳐 검색 규칙이 존재하는지를 검사한다(S210-3). 만약 S210-3 단계에서 시그너쳐 검색 규칙이 존재하면, 검색할 페이로드의 시작 위치에서 끝 위치 사이에 시그너쳐가 존재하는지 검색을 수행한다(S210-5).Otherwise, if the signature search rule for the source or destination port no longer exists in step S210-2, it is checked whether the signature search rule for any port exists (S210-3). If there is a signature search rule in step S210-3, a search is performed to see whether a signature exists between the start position and the end position of the payload to be searched (S210-5).

앞의 검색 수행 결과 상기 시그너쳐가 존재하는지 확인하여(S210-8), 상기 시그너쳐가 존재하는 경우, 시그너쳐 검색 결과를 성공으로 결정하고(S210-10), 그렇지 않으면 다시 S210-3 단계로 이동한다. 그렇지 않고 만약 S210-3 단계에서 임의의(any) 포트에 대한 시그너쳐 검색 규칙이 더 이상 존재하지 않으면, 시그너쳐 검색 결과를 실패로 결정한다(S210-11).As a result of the previous search, it is checked whether the signature exists (S210-8). If the signature exists, the signature search result is determined to be successful (S210-10), otherwise, the process proceeds to S210-3 again. Otherwise, if the signature search rule for any port no longer exists in step S210-3, the signature search result is determined to fail (S210-11).

만약 S210-1 단계에서, L4 프로토콜 유형이 TCP나 UDP가 아닌 경우, 각 해당 프로토콜에 정해진 검색 규칙에 따라 시그너쳐가 존재하는지 검색을 수행한다(S210-6). 만약, 앞의 검색 수행 결과 시그너쳐가 존재하는지 확인하여(S210-9), 상기 시그너쳐가 존재하는 경우, 시그너쳐 검색 결과를 성공으로 결정하고(S210-10), 그렇지 않으면 검색 결과를 실패로 결정한다(S210-11).If the L4 protocol type is not TCP or UDP in step S210-1, a search is performed to see whether a signature exists according to a search rule defined for each corresponding protocol (S210-6). If the signature check result is present (S210-9), if the signature exists, the signature search result is determined as success (S210-10), otherwise the search result is determined as failure (S210-9). S210-11).

본 발명의 실시예에 따른 시그너쳐 검색 방법에 있어서, 시그너쳐 검색 규칙의 한 예를 들면, <적용 프로토콜, 포트 번호, 검색 시작 위치, 검색 끝 위치, 시그너쳐 길이, 시그너쳐>와 같이 정의할 수 있다.In the signature retrieval method according to an embodiment of the present invention, one example of the signature retrieval rule may be defined as <application protocol, port number, retrieval start position, retrieval end position, signature length, signature>.

이때, 적용 프로토콜은 TCP 소스, TCP 목적지, UDP 소스, UDP 목적지로 구분할 수 있으며, 포트 번호가 0번일 경우는 임의의 포트 번호이고, 그 외에는 해당 포트 번호를 의미하며, 검색할 페이로드의 시작과 끝 위치, 검색할 시그너쳐의 길이와 실제 패턴으로 구성될 수 있다. 또한, TCP나 UDP가 아닌 다른 L4 프로토콜에 대해서는 각 프로토콜에 따라 시그너쳐 검색 규칙을 따로 적용할 수 있다.In this case, the applied protocol can be classified into TCP source, TCP destination, UDP source, and UDP destination. If the port number is 0, it is an arbitrary port number. Otherwise, it means the corresponding port number. It can consist of the end position, the length of the signature to retrieve and the actual pattern. In addition, for L4 protocols other than TCP or UDP, signature search rules may be applied separately according to each protocol.

본 발명의 실시예에서 입력 패킷과 최종 처리된 수집 패킷을 저장하기 위한 버퍼로 FIFO를 사용하였으나, 다른 버퍼 소자를 사용할 수도 있으며, 시그너쳐 검색 규칙을 저장하기 위해서 SDRAM을 사용하였으나 다른 저장 메모리를 사용할 수도 있다.In the embodiment of the present invention, although the FIFO is used as a buffer for storing the input packet and the last processed acquisition packet, another buffer element may be used, and an SDRAM is used to store the signature search rule, but another storage memory may be used. have.

또한, 시그너쳐 검색부 FPGA가 특정 패턴이 존재하는지 결정하는데 필요한 메모리 종류로 TCAM을 사용하였으나, 유사한 기능의 다른 종류의 메모리를 사용할 수도 있다. 또한, 샘플링 기능과 시그너쳐 검색 기능 중에 필요에 따라 하나의 기능만을 이용하여 수집 장치를 제작할 수도 있다.In addition, although the signature search unit FPGA uses TCAM as a memory type required to determine whether a specific pattern exists, other types of memory having similar functions may be used. In addition, a collection device may be manufactured using only one function, as needed, among the sampling function and the signature search function.

결국, 본 발명의 실시예는, 고속의 인터넷 회선으로부터 IP 패킷을 수집하고자 할 경우에 패킷 및 플로우 샘플링을 통하여 수집된 데이터 양을 줄이고 TCP(Transmission Control Protocol)나 UDP(User Datagram Protocol)와 같은 L4 패킷의 페이로드(payload)에서 특정 응용 패턴을 나타내는 시그너쳐를 검색하여 불필요한 페이로드 부분을 버림으로써, PCI(Peripheral Component Interconnect)를 통해 전달되는 데이터 양을 최소화하게 된다. 특히, 플로우 샘플링은 지정된 플로우에 해당하는 모든 패킷들을 추출할 수 있도록 함으로써 트래픽 분석 시스템이 보다 정확하게 응용 플로우들에 대하여 분석할 수 있다.As a result, embodiments of the present invention reduce the amount of data collected through packet and flow sampling and collect L4, such as Transmission Control Protocol (TCP) or User Datagram Protocol (UDP), when attempting to collect IP packets from a high-speed Internet circuit. By retrieving a signature representing a specific application pattern from the payload of the packet and discarding the unnecessary payload part, the amount of data transmitted through the Peripheral Component Interconnect (PCI) is minimized. In particular, flow sampling enables the traffic analysis system to analyze application flows more accurately by allowing all packets corresponding to a given flow to be extracted.

또한, 본 발명의 실시예는 상기 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법의 모든 단계, 상기의 샘플링 수행 방법의 모든 단계, 그리고 상기의 시그너쳐 검색 수행 방법에 포함되는 모든 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.Also, an embodiment of the present invention provides a method for executing all steps of the IP packet collection method including the sampling and signature retrieval functions, all the steps of the sampling retrieval method, and all the steps included in the signature retrieval method. A computer readable recording medium having recorded a program can be provided.

이상의 설명에서 본 발명은 특정의 실시예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described in connection with specific embodiments thereof, it will be appreciated that various modifications and changes can be made without departing from the spirit and scope of the invention as indicated by the claims. Anyone who owns it can easily find out.

본 발명에 따르면, 고속의 인터넷 회선으로부터 샘플링과 시그너쳐 검색 기 능을 포함한 IP 패킷 수집 장치를 제작할 경우에, GPS나 CDMA를 이용하여 시각 동기화를 수행하여 정밀한 타임 스탬프를 생성할 수 있고, 기존의 분석 소프트웨어서 수행되었던 패킷 샘플링과 플로우 샘플링 그리고 많은 컴퓨터 자원을 필요로 하는 시그너쳐 검색 기능을 하드웨어로 구현함으로써 보다 적은 CPU 자원을 사용하여 고속의 회선으로부터 발생하는 패킷을 수집하는데 필요한 다양한 기능을 빠르게 제공할 수 있다.According to the present invention, when manufacturing an IP packet collection device including sampling and signature retrieval functions from a high-speed Internet line, time synchronization can be performed using GPS or CDMA to generate precise time stamps, and existing analysis By implementing the packet sampling, flow sampling, and signature retrieval functions that require a lot of computer resources in software, the hardware can quickly provide the various functions needed to collect packets from high-speed lines using less CPU resources. have.

또한, 본 발명에 따르면, 플로우 샘플링은 응용 플로우에 해당하는 모든 패킷들을 수집할 수 있기 때문에 기존의 패킷 샘플링에서의 플로우별 분석에 있어서 부정확성 문제를 해결할 수 있으며, 특히, TCP나 UDP와 같은 L4 프로토콜에 따라 시그너쳐 검색 규칙을 적용하여 시그너쳐 검색만을 전담으로 수행하는 부분을 FPGA로 따로 구현함에 따라 속도를 향상시키고 최종적으로 처리되어 수집된 데이터 양을 최소화시킬 수 있다.In addition, according to the present invention, since the flow sampling can collect all packets corresponding to the application flow, it is possible to solve the inaccuracy problem in the flow analysis in the existing packet sampling, and in particular, L4 protocol such as TCP or UDP. By applying signature search rules, the FPGA can implement the part dedicated to signature search only to improve the speed and minimize the amount of data finally processed and collected.

또한, 본 발명에 따르면, 처리된 수집 데이터가 일정 양에 도달할 경우에만 DMA 인터럽트 호출을 하여 시스템 메모리로 데이터를 전달하기 때문에 CPU 자원을 효율적으로 사용할 수 있다.In addition, according to the present invention, CPU resources can be efficiently used because the DMA interrupt calls are transferred to the system memory only when the collected data reaches a predetermined amount.

또한, 본 발명에 따르면, 고속의 회선으로부터 샘플링과 시그너쳐 검색 기능이 가능하여 범용 PC나 서버가 실시간으로 패킷을 수집하여 분석할 수 있을 뿐만 아니라, 바이러스 침입 경고, DDoS(Distributed Denial of Service) 공격 탐지, 실시간 QoS 보장, NIDS(Network Intrusion Detection System), 트래픽 관리 등에 필요한 저비용의 고속 인터넷 회선 모니터링 시스템을 구축할 수 있다.In addition, according to the present invention, sampling and signature retrieval functions are possible from a high-speed line, so that a general-purpose PC or server can collect and analyze packets in real time, as well as detect virus intrusion alerts and distributed denial of service attacks. You can build a low-cost, high-speed Internet line monitoring system for real-time QoS assurance, Network Intrusion Detection System (NIDS), and traffic management.

Claims (14)

물리적인 회선으로부터 비트 스트림을 생성하는 네트워크 인터페이스 접속부로부터 트래픽을 입력받아서 L2 링크 계층의 프레임을 생성하는 L2 프레임 생성부;An L2 frame generation unit configured to generate a frame of an L2 link layer by receiving traffic from a network interface connection unit generating a bit stream from a physical circuit; 상기 L2 프레임 생성부가 생성한 프레임 데이터를 저장하는 입력 프레임 저장부;An input frame storage unit for storing frame data generated by the L2 frame generation unit; 상기 입력 프레임 저장부로부터 하나의 프레임을 입력받아 L2 헤더, IP 헤더, L4 헤더 및 페이로드를 구분하고, 각 L4 프로토콜에 따라 정의된 시그너쳐 검색 규칙(rule)을 참조하여 시그너쳐 검색을 수행하는 시그너쳐 검색부; 및Signature search for distinguishing L2 header, IP header, L4 header and payload by receiving one frame from the input frame storage unit, and performing signature search with reference to signature search rules defined according to each L4 protocol part; And 상기 입력 프레임 저장부로부터 하나의 프레임을 입력받아 L2 헤더, IP 헤더, L4 헤더 및 페이로드를 구분한 후, IP 패킷에 대해서 샘플링 모드에 따라 샘플링을 수행하고, 상기 샘플링 결과가 성공인 패킷에 대해서 시그너쳐 검색 모드가 켜져 있으면, 상기 시그너쳐 검색부의 결과에 따라 시그너쳐 검색 실패일 경우 페이로드를 버리고, 시그너쳐 검색 성공일 경우 정해진 수집 크기에 따라 패킷을 처리하는 중앙 패킷 처리부After receiving one frame from the input frame storage unit, the L2 header, the IP header, the L4 header, and the payload are classified, and the IP packet is sampled according to a sampling mode. If the signature search mode is turned on, the central packet processing unit discards the payload if the signature search fails according to the result of the signature search unit, and processes the packet according to a predetermined collection size if the signature search succeeds. 를 포함하는 IP 패킷 수집 장치.IP packet collection device comprising a. 제1항에 있어서,The method of claim 1, 정밀한 타임 스탬프를 생성하기 위한 GPS/CDMA 시각 신호 접속부;A GPS / CDMA visual signal connection for generating a precise time stamp; 상기 시그너쳐 검색에 사용될 규칙을 저장하는 메모리;A memory storing a rule to be used for the signature search; 상기 시그너쳐 검색부가 특정 패턴의 존재 유무를 결정하는데 필요한 TCAM(Ternary Content Addressable Memory) 메모리 소자;A TCAM (Ternary Content Addressable Memory) memory device required for the signature search unit to determine the presence or absence of a specific pattern; 상기 중앙 패킷 처리부 FPGA에 의해 생성된 최종 수집 데이터를 저장하기 위한 PCI 출력 버퍼인 수집 패킷 저장부; 및A collection packet storage unit which is a PCI output buffer for storing final collection data generated by the central packet processing unit FPGA; And 상기 수집 패킷 저장부에 일정 크기의 수집 패킷 양을 모아 한번의 DMA 인터럽트 호출을 이용하여 전달하는 PCI 버스 제어부PCI bus controller which collects a certain amount of collected packets in the collected packet storage unit and delivers them using one DMA interrupt call 를 추가로 포함하며,Additionally contains 상기 중앙 패킷 처리부는, 상기 시각 신호 접속부로부터 시간 정보를 입력받아 타임 스탬프와 함께 최종적으로 IP 패킷에 대한 수집 데이터를 생성하여 PCI 출력 버퍼에 저장하는 것을 특징으로 하는 IP 패킷 수집 장치.The central packet processing unit receives the time information from the time signal access unit, and finally collects the collected data for the IP packet with a time stamp and stores in the PCI output buffer, IP packet collecting apparatus. 제1항에 있어서,The method of claim 1, 상기 입력 프레임 저장부와 수집 패킷 저장부는 FIFO(First IN First Out) 버퍼를 사용하는 것을 특징으로 하는 IP 패킷 수집 장치.And the input frame storage unit and the collection packet storage unit use a first in first out (FIFO) buffer. 제1항에 있어서,The method of claim 1, 상기 시그너쳐 검색부와 중앙 패킷 처리부는 FPGA(Field Programmable Gate Array)로 구현되는 것을 특징으로 하는 IP 패킷 수집 장치.The signature retrieval unit and the central packet processor are implemented in a field programmable gate array (FPGA). 범용 PC나 서버의 PCI 버스를 통해 데이터가 전달되며, 샘플링과 시그너쳐 검색 기능을 구비한 IP 패킷 수집 방법에 있어서,In the IP packet collection method that the data is transmitted through the PCI bus of the general-purpose PC or server, and has a sampling and signature search function, a) 물리적인 회선으로부터 하나의 L2 프레임을 생성한 후, 상기 L2 프레임을 L2 헤더와 IP 패킷으로 구분하는 단계;a) generating one L2 frame from a physical circuit, and then dividing the L2 frame into an L2 header and an IP packet; b) 상기 입력 패킷이 IP 패킷인 경우, 샘플링 모드를 검사하여, 샘플링 모드가 켜져 있으면 모드 유형에 해당하는 샘플링을 수행하는 단계;b) when the input packet is an IP packet, checking a sampling mode and performing sampling corresponding to a mode type if a sampling mode is turned on; c) 상기 샘플링 수행 결과가 성공일 경우, 시그너쳐 모드를 검사하고, 상기 시그너쳐 모드가 켜져 있으면, 시그너쳐 검색 과정을 수행하는 단계;c) checking a signature mode when the sampling performance is successful, and performing a signature search process when the signature mode is turned on; d) 상기 시그너쳐 검색 결과가 실패이면 TCP나 UDP의 L4 헤더 이후의 페이로드 부분을 버리고 시각 동기화 신호를 이용하여 타임 스탬프를 추가한 후 PCI 출력 버퍼에 처리된 수집 데이터를 저장하는 단계;d) discarding the payload portion after the L4 header of TCP or UDP if the signature search result is unsuccessful, adding a time stamp using a time synchronization signal, and storing the processed acquisition data in a PCI output buffer; e) 상기 시그너쳐 모드가 꺼져 있거나 상기 시그너쳐 검색 결과가 성공일 경우, 미리 정해진 수집 길이 이후의 IP 패킷 부분을 버리고 시각 동기화 신호를 이용하여 타임 스탬프를 추가한 후, PCI 출력 버퍼에 처리된 수집 데이터를 저장하는 단계; 및e) If the signature mode is off or the signature search result is successful, discard the portion of the IP packet after a predetermined acquisition length, add a time stamp using a time synchronization signal, and then process the collected data into the PCI output buffer. Storing; And f) 상기 저장된 최종 수집 데이터가 정해진 크기의 양에 도달했을 경우, DMA(Direct Memory Access) 인터럽트를 호출하여 PCI 버스를 통해 시스템 메모리로 전달하는 단계f) invoking a direct memory access (DMA) interrupt to the system memory via the PCI bus when the last collected stored data reaches a predetermined amount; 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제5항에 있어서,The method of claim 5, 상기 b) 단계는, 상기 샘플링 모드의 유형(type)을 비교하여, 상기 샘플링 모드 유형이 주기적(Cyclic), 랜덤(Random) 또는 해쉬(Hash) 모드에 따른 각각의 샘플링을 수행하는 것을 특징으로 하는 IP 패킷 수집 방법.In step b), the types of the sampling modes are compared, and the sampling mode type performs each sampling according to a cyclical, random, or hash mode. How to collect IP packets. 제6항에 있어서,The method of claim 6, b-1) 상기 샘플링 모드 유형이 주기적(Cyclic) 입력 패킷 개수를 증가시키는 단계;b-1) increasing the number of cyclic input packets by the sampling mode type; b-2) 현재의 입력 패킷 개수와 미리 지정된 매번 샘플링할 입력 패킷 수와 비교하여, 같지 않으면 검색 결과를 실패로 결정하는 단계; 및b-2) comparing the current number of input packets with a predetermined number of input packets to be sampled each time and determining a search result as a failure if not equal; And b-3) 상기 입력 패킷 개수와 지정된 매번 샘플링할 패킷 개수가 같을 경우, 현재의 입력 패킷 개수를 0으로 초기화하고, 샘플링 결과를 성공으로 결정하는 단계b-3) if the number of input packets is equal to the number of packets to be sampled each time, initializing the current number of input packets to 0 and determining the sampling result as success. 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제6항에 있어서,The method of claim 6, b-1) 상기 샘플링 모드 유형이 랜덤(Random)이면, 균일 분포를 따르는 0과 1사이의 임의의 확률 값을 생성하는 단계;b-1) if the sampling mode type is Random, generating a random probability value between 0 and 1 along a uniform distribution; b-2) 상기 생성된 임의의 확률 값이 미리 정의된 샘플링할 확률 값보다 크면, 샘플링 결과를 실패로 결정하는 단계; 및b-2) if the generated random probability value is greater than a predefined probability value to sample, determining a sampling result as a failure; And b-3) 상기 생성된 임의의 확률 값이 미리 정의된 샘플링할 확률 값보다 작거 나 같으면 샘플링 결과를 성공으로 결정하는 단계b-3) if the generated random probability value is less than or equal to a predefined probability value to sample, determining the sampling result as success. 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제6항에 있어서,The method of claim 6, b-1) 상기 샘플링 모드 유형이 해쉬(Hash)이면, 플로우를 구별할 수 있는 키(key) 값들을 패킷의 IP 헤더, 또는 TCP와 UDP같은 L4 헤더로부터 추출하는 단계;b-1) if the sampling mode type is Hash, extracting key values distinguishable from the IP header of the packet or L4 headers such as TCP and UDP; b-2) 상기 추출된 키 값들을 미리 정해진 해쉬 함수에 입력하여 계산하고, 그 결과값을 지정된 샘플링할 해쉬 값의 개수로 나눈 나머지와 미리 지정된 샘플링할 값과 비교하는 단계; 및b-2) inputting the extracted key values into a predetermined hash function, calculating the result, and comparing the result value with a remainder obtained by dividing the number of hash values to be sampled with a predetermined sampled value; And b-3) 상기 비교 결과가 다르면 샘플링 결과를 실패로 결정하고, 같으면 성공으로 결정하는 단계b-3) determining the sampling result as a failure if the comparison result is different, and determining a success as the comparison result. 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제9항에 있어서,The method of claim 9, 상기 b-1) 단계의 플로우를 구별할 수 있는 키(key) 값들은 <소스 IP 주소, 목적지 IP 주소, 프로토콜 번호, 소스 포트 번호, 목적지 포트 번호>를 사용하고, 상기 해쉬 함수는 (소스 IP 주소 + 목적지 IP 주소 + 프로토콜 번호 + 소스 포트 번호 + (목적지 포트 번호 << 16))인 것을 특징으로 하는 IP 패킷 수집 방법.Key values that can distinguish the flow of step b-1) use <source IP address, destination IP address, protocol number, source port number, destination port number>, the hash function (source IP IP packet collection method characterized in that the address + destination IP address + protocol number + source port number + (destination port number << 16)). 제5항에 있어서,The method of claim 5, 상기 c) 단계는, 입력된 IP 패킷의 L4 프로토콜 유형을 비교하여, 상기 L4 프로토콜 유형이 TCP/UDP인 경우, 또는 이외의 경우에 대해 각각의 시그너쳐 검색규칙에 따라 시그너쳐 검색을 수행하는 것을 특징으로 하는 IP 패킷 수집 방법.In step c), the L4 protocol type of the input IP packet is compared, and the signature search is performed according to each signature search rule for the case where the L4 protocol type is TCP / UDP or other cases. IP packet collection method. 제11항에 있어서,The method of claim 11, c-1) 상기 L4 프로토콜 유형이 TCP나 UDP이면 소스 포트나 목적지 포트에 대한 지정된 시그너쳐 검색 규칙(rule)이 있는지 검사하는 단계;c-1) checking if there is a specified signature search rule for a source port or a destination port if the L4 protocol type is TCP or UDP; c-2) 상기 시그너쳐 검색 규칙이 존재하면 검색할 페이로드의 시작 위치에서 끝 위치 사이에 시그너쳐가 존재하는지 검색하는 단계;c-2) if the signature search rule exists, searching for whether a signature exists between a start position and an end position of a payload to be searched; c-3) 상기 c-2) 단계의 검색 결과 시그너쳐가 존재하면, 시그너쳐 검색 결과를 성공으로 결정하는 단계;c-3) if the search result signature of step c-2 exists, determining the signature search result as success; c-4) 상기 c-1) 단계의 시그너쳐 검색 규칙이 더 이상 존재하지 않으면, 임의의(any) 포트에 대하여 시그너쳐 검색 규칙이 존재하는지 검사하는 단계;c-4) checking whether a signature search rule exists for any port if the signature search rule of step c-1) no longer exists; c-5) 상기 c-4) 단계에서 시그너쳐 검색 규칙이 존재하면, 검색할 페이로드의 시작 위치에서 끝 위치 사이에 시그너쳐가 존재하는지 검색하는 단계;c-5) if a signature search rule exists in step c-4), searching for whether a signature exists between a start position and an end position of a payload to be searched; c-6) 상기 c-5) 단계의 검색 결과 시그너쳐가 존재하면, 시그너쳐 검색 결과를 성공으로 결정하는 단계; 및c-6) if the search result signature of step c-5) exists, determining the signature search result as success; And c-7) 상기 c-4) 단계에서 더 이상 검색 규칙이 존재하지 않으면, 시그너쳐 검색 결과를 실패로 결정하는 단계c-7) if the search rule no longer exists in step c-4), determining the signature search result as a failure 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제11항에 있어서,The method of claim 11, c-1) 상기 L4 프로토콜 유형이 TCP나 UDP가 아니면, 각 프로토콜에 정해진 시그너쳐 검색 규칙에 따라 시그너쳐 검색을 수행하는 단계; 및c-1) if the L4 protocol type is not TCP or UDP, performing a signature search according to a signature search rule defined for each protocol; And c-2) 상기 시그너쳐 검색 결과 시그너쳐가 존재하면 검색 결과를 성공으로 결정하고, 그렇지 않으면 실패로 결정하는 단계c-2) if the signature search result signature exists, determining a search result as a success, otherwise determining as a failure 를 포함하는 IP 패킷 수집 방법.IP packet collection method comprising a. 제11항에 있어서,The method of claim 11, 상기 시그너쳐 검색 규칙은 <적용 프로토콜, 포트 번호, 검색 시작 위치, 검색 끝 위치, 시그너쳐 길이, 시그너쳐>와 같은 형식을 따르며, 적용 프로토콜은 TCP 소스, TCP 목적지, UDP 소스, UDP 목적지의 값을 가지며, 프로토콜 번호가 0인 경우, 임의의(any) 포트 번호에 대해 적용하는 것을 특징으로 하는 IP 패킷 수집 방법.The signature search rule follows a format such as <application protocol, port number, search start location, search end location, signature length, signature>, and the application protocol has values of TCP source, TCP destination, UDP source, UDP destination, If the protocol number is 0, the IP packet collection method, characterized in that applied to any port number.
KR1020050032363A 2004-12-06 2005-04-19 An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof KR100608541B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040101957 2004-12-06
KR1020040101957 2004-12-06

Publications (2)

Publication Number Publication Date
KR20060063564A KR20060063564A (en) 2006-06-12
KR100608541B1 true KR100608541B1 (en) 2006-08-03

Family

ID=37159539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050032363A KR100608541B1 (en) 2004-12-06 2005-04-19 An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof

Country Status (1)

Country Link
KR (1) KR100608541B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895102B1 (en) 2007-05-21 2009-04-28 한국전자통신연구원 System and method detection of a file

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100869887B1 (en) * 2007-06-13 2008-11-24 주식회사 케이티 Traffic identification system and method with analysis on signature of packets
KR100901696B1 (en) 2007-07-04 2009-06-08 한국전자통신연구원 Apparatus of content-based Sampling for Security events and method thereof
KR100951930B1 (en) * 2007-11-19 2010-04-09 (주) 시스메이트 Method and Apparatus for classificating Harmful Packet
US8336098B2 (en) 2009-03-25 2012-12-18 Sysmate Co., Ltd. Method and apparatus for classifying harmful packet
WO2016175846A1 (en) * 2015-04-30 2016-11-03 Hewlett Packard Enterprise Development Lp Extracting data from network communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895102B1 (en) 2007-05-21 2009-04-28 한국전자통신연구원 System and method detection of a file

Also Published As

Publication number Publication date
KR20060063564A (en) 2006-06-12

Similar Documents

Publication Publication Date Title
CN108701187B (en) Apparatus and method for hybrid hardware-software distributed threat analysis
US8065722B2 (en) Semantically-aware network intrusion signature generator
EP1788490B1 (en) Method and apparatus for monitoring traffic in a network
US8180916B1 (en) System and method for identifying network applications based on packet content signatures
US8010685B2 (en) Method and apparatus for content classification
US10097464B1 (en) Sampling based on large flow detection for network visibility monitoring
US7602780B2 (en) Scalably detecting and blocking signatures at high speeds
US9100319B2 (en) Context-aware pattern matching accelerator
EP2868045B1 (en) A method of and network server for detecting data patterns in an input data stream
US9979624B1 (en) Large flow detection for network visibility monitoring
US10536360B1 (en) Counters for large flow detection
KR100608541B1 (en) An apparatus for capturing Internet ProtocolIP packet with sampling and signature searching function, and a method thereof
US10003515B1 (en) Network visibility monitoring
KR20110070464A (en) Apparatus for capturing traffic and apparatus, system and method for analyzing traffic
US20170295068A1 (en) Logical network topology analyzer
KR101602189B1 (en) traffic analysis and network monitoring system by packet capturing of 10-giga bit data
EP3364601A1 (en) Testing method, device and system
WO2023103231A1 (en) Low-rate ddos attack detection method and system, and related device
EP3065343B1 (en) Network monitoring method and apparatus, and packet filtering method and apparatus
CN107864110B (en) Botnet main control terminal detection method and device
Wu et al. Bcac: Batch classifier based on agglomerative clustering for traffic classification in a backbone network
CN114710444A (en) Data center flow statistical method and system based on tower abstract and evictable flow table
Hao et al. Fast payload-based flow estimation for traffic monitoring and network security
AU2004201907B2 (en) A searching apparatus and method
Park et al. A lightweight software model for signature-based application-level traffic classification system

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130624

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee