KR101136967B1 - System and method for flow detection - Google Patents

System and method for flow detection Download PDF

Info

Publication number
KR101136967B1
KR101136967B1 KR1020090102996A KR20090102996A KR101136967B1 KR 101136967 B1 KR101136967 B1 KR 101136967B1 KR 1020090102996 A KR1020090102996 A KR 1020090102996A KR 20090102996 A KR20090102996 A KR 20090102996A KR 101136967 B1 KR101136967 B1 KR 101136967B1
Authority
KR
South Korea
Prior art keywords
flow
packet
layers
identification value
storing
Prior art date
Application number
KR1020090102996A
Other languages
Korean (ko)
Other versions
KR20110046138A (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 주식회사 케이티
Priority to KR1020090102996A priority Critical patent/KR101136967B1/en
Publication of KR20110046138A publication Critical patent/KR20110046138A/en
Application granted granted Critical
Publication of KR101136967B1 publication Critical patent/KR101136967B1/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/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

플로우 검출 시스템은 링크를 통과하는 패킷의 출발지 주소, 도착지 주소, 출발지 포트, 도착지 포트 및 프로토콜 타입에 따라 패킷의 플로우를 생성하고, 복수의 계층 중 일부의 계층의 각각에 해당 패킷의 플로우에 대응하는 플로우 식별값이 저장되어 있는 경우, 해당 패킷의 플로우를 저장한다.The flow detection system generates a flow of packets according to the source address, the destination address, the source port, the destination port, and the protocol type of the packet passing through the link, and corresponds to the flow of the packet to each of some of the plurality of layers. If the flow identification value is stored, the flow of the packet is stored.

패킷, 플로우, 트래픽, 캐시 Packet, flow, traffic, cache

Description

플로우 검출 시스템 및 방법{SYSTEM AND METHOD FOR FLOW DETECTION}Flow detection system and method {SYSTEM AND METHOD FOR FLOW DETECTION}

본 발명은 플로우 검출 시스템 및 방법에 관한 것이다. 특히 본 발명은 고속 네트워크 링크에서 헤비 플로우를 검출하는 시스템 및 방법에 관한 것이다.The present invention relates to a flow detection system and method. In particular, the present invention relates to systems and methods for detecting heavy flow in a high speed network link.

네트워크 링크에서 비정상 트래픽을 감시하거나 공격을 탐지하기 위해 패킷을 감시하는 작업이 필요하다. 하지만 대역폭이 매우 크기 때문에 수백만 개의 패킷을 동시에 감시해야 하는 백본망(backbone network)에서는 메모리 및 컴퓨팅 자원의 한계로 인해 이와 같은 패킷 감시 작업을 수행하기 어렵다.It is necessary to monitor packets to detect abnormal traffic or detect attacks on network links. However, due to the very high bandwidth, backbone networks that need to monitor millions of packets at the same time are difficult to perform such packet monitoring due to the limitations of memory and computing resources.

이때 네트워크 링크에서 상대적으로 많은 대역폭의 트래픽을 전송하는 네트워크 전송 플로우를 헤비 플로우(heavy flow)라고 하고, 상위 약 20 퍼센트의 헤비 플로우가 전송하는 트래픽의 양이 전체의 약 80 퍼센트를 차지하는 것으로 측정된다.In this case, a network transmission flow that transmits a relatively large amount of traffic in a network link is called a heavy flow, and the amount of traffic transmitted by the upper approximately 20 percent of the heavy flow is estimated to occupy about 80 percent of the total. .

따라서 작은 대역폭을 차지하는 다수의 플로우를 불필요하게 감시하지 않으면서 헤비 플로우만을 검출하는 방법이 필요하다.Therefore, there is a need for a method of detecting only heavy flows without unnecessarily monitoring a plurality of flows that occupy a small bandwidth.

본 발명이 이루고자 하는 기술적 과제는 대역폭이 큰 고속 네트워크 링크에서 헤비 플로우를 검출하기 위한 시스템 및 방법을 제공하는 것이다.It is an object of the present invention to provide a system and method for detecting heavy flow in a high bandwidth high speed network link.

본 발명의 특징에 따른 플로우 검출 방법은 메모리를 포함하는 시스템이 플로우(flow)를 검출하는 방법으로써, 이때 메모리는 복수의 계층으로 구성되고, 복수의 계층의 각각은 복수의 플로우 식별값을 저장하며, 시스템이 링크를 통과하는 패킷의 출발지 주소, 도착지 주소, 출발지 포트, 도착지 포트 및 프로토콜 타입에 따라 패킷의 플로우를 생성하는 단계, 그리고 복수의 계층 중 일부의 계층의 각각에 플로우에 대응하는 플로우 식별값이 저장되어 있는 경우, 시스템이 플로우 리스트에 플로우를 저장하는 단계를 포함한다.A flow detection method according to an aspect of the present invention is a method in which a system including a memory detects a flow, wherein the memory is composed of a plurality of layers, each of the plurality of layers storing a plurality of flow identification values. Generating, by the system, a flow of packets according to a source address, a destination address, a source port, a destination port, and a protocol type of the packet passing through the link, and identifying a flow corresponding to each of the layers of some of the plurality of layers. If the value is stored, the system includes storing the flow in the flow list.

본 발명의 다른 특징에 따른 플로우 검출 시스템은 캐시 메모리 및 제어부를 포함한다. 캐시 메모리는 복수의 계층으로 구성되고, 복수의 계층의 각각에 복수의 플로우 식별값을 저장한다. 제어부는 복수의 계층의 각각에 모두 저장된 플로우 식별값에 대응하는 플로우를 저장한다.A flow detection system according to another aspect of the present invention includes a cache memory and a controller. The cache memory is composed of a plurality of layers, and stores a plurality of flow identification values in each of the plurality of layers. The control unit stores flows corresponding to flow identification values stored in each of the plurality of layers.

본 발명의 특징에 따르면, 플로우들을 감시 및 추적하는데 있어서 대역폭이 큰 헤비 플로우들을 선별적 감시를 가능하게 함으로써, 구현의 비용을 감소시키고 플로우의 개수가 많아 전체 플로우의 추적이 불가능한 고속 백본망에서도 구현이 가능하다.According to a feature of the present invention, it is possible to selectively monitor heavy flows having high bandwidth in monitoring and tracking flows, thereby reducing the cost of implementation and implementing the high speed backbone network in which the number of flows is large so that the entire flow cannot be tracked. This is possible.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.

이제 도면을 참고하여 본 발명의 실시예에 따른 플로우 검출 시스템 및 방법에 대해 설명한다.Referring now to the drawings will be described a flow detection system and method according to an embodiment of the present invention.

먼저 도 1을 참고하여 본 발명의 실시예에 따른 플로우 검출 시스템의 구성에 대해 설명한다.First, a configuration of a flow detection system according to an exemplary embodiment of the present invention will be described with reference to FIG. 1.

도 1은 본 발명의 실시예에 따른 플로우 검출 시스템의 구성을 도시한 도면이다.1 is a view showing the configuration of a flow detection system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 플로우 검출 시스템(100)은 제어부(110), 패킷 수집부(130), 플로우 생성부(150) 및 캐시 메모리(170)를 포함한다.As shown in FIG. 1, the flow detection system 100 includes a controller 110, a packet collector 130, a flow generator 150, and a cache memory 170.

제어부(110)는 패킷 수집부(130), 플로우 생성부(150) 및 캐시 메모리(170)를 제어한다.The controller 110 controls the packet collector 130, the flow generator 150, and the cache memory 170.

패킷 수집부(130)는 제어부(110)의 제어에 따라 네트워크 링크(10)를 통과하 는 패킷을 수집한다.The packet collector 130 collects packets passing through the network link 10 under the control of the controller 110.

플로우 생성부(150)는 제어부(110)의 제어에 따라 패킷 수집부(130)가 수집한 패킷의 플로우(flow)를 생성한다.The flow generator 150 generates a flow of packets collected by the packet collector 130 under the control of the controller 110.

캐시 메모리(170)는 제어부(110)의 제어에 따라 플로우 생성부(150)가 생성한 플로우에 대한 플로우 식별값을 저장한다.The cache memory 170 stores the flow identification value for the flow generated by the flow generator 150 under the control of the controller 110.

다음은 도 2를 참고하여 본 발명의 실시예에 따른 플로우 검출 시스템의 캐시 메모리의 구조에 대해 설명한다.Next, a structure of the cache memory of the flow detection system according to the embodiment of the present invention will be described with reference to FIG. 2.

도 2는 본 발명의 실시예에 따른 캐시 메모리의 구조를 도시한 도면이다.2 is a diagram illustrating the structure of a cache memory according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 캐시 메모리(170)는 복수의 계층을 포함하고, 각각의 계층은 복수의 플로우 엔트리(flow entry)를 포함한다. 이때 도 2에서는 캐시 메모리(170)가 2개의 계층 즉, 제1 계층(171) 및 제2 계층(173)을 포함하는 것으로 도시되었지만 반드시 이에 한정되는 것은 아니다.As shown in FIG. 2, cache memory 170 includes a plurality of layers, each layer including a plurality of flow entries. In FIG. 2, the cache memory 170 is illustrated as including two layers, that is, the first layer 171 and the second layer 173, but is not necessarily limited thereto.

제1 계층(171)의 플로우 엔트리(171a) 및 제2 계층(173)의 플로우 엔트리(173a)의 각각은 하나의 플로우 식별값을 저장한다.Each of the flow entry 171a of the first layer 171 and the flow entry 173a of the second layer 173 stores one flow identification value.

다음은 도 3을 참고하여 본 발명의 실시예에 따른 플로우 검출 시스템이 헤비 플로우를 검출하기 위해 캐시 메모리를 업데이트하는 방법에 대해 설명한다.Next, a method of updating a cache memory to detect a heavy flow by a flow detection system according to an embodiment of the present invention will be described with reference to FIG. 3.

도 3은 본 발명의 실시예에 따른 캐시 메모리 업데이트 방법을 도시한 도면이다.3 is a diagram illustrating a cache memory update method according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 먼저, 패킷 수집부(130)는 네트워크 링크(10)를 통과하는 패킷을 수집한다(S100). 이때 패킷 수집부(130)는 제어부(110)의 제어에 따라 샘플링(sampling) 방식으로 복수의 패킷 중 임의의 패킷을 수집할 수 있다.As shown in FIG. 3, first, the packet collector 130 collects a packet passing through the network link 10 (S100). In this case, the packet collecting unit 130 may collect an arbitrary packet of the plurality of packets by a sampling method under the control of the controller 110.

다음, 제어부(110)는 미리 정해진 확률(p1)에 따라 캐시 메모리(170)에 저장된 플로우 식별값에 대한 업데이트 수행여부를 판단한다(S110). 이때 확률(p1)은 0이상 1이하의 값을 가질 수 있으며, 캐시 메모리(170)를 업데이트 하는 확률을 조절하는 값으로 캐시 메모리(170)가 반영하는 플로우 분포가 얼마나 최신값을 반영하는가를 나타낸다. 즉, 확률(p1)이 1에 가까울수록 최신의 트래픽을 반영하고, 0에 가까울수록 긴 시간 동안의 트래픽을 반영한다.Next, the controller 110 determines whether to perform an update on the flow identification value stored in the cache memory 170 according to a predetermined probability p1 (S110). In this case, the probability p1 may have a value of 0 or more and 1 or less, and is a value that adjusts the probability of updating the cache memory 170 and indicates how up-to-date the flow distribution reflected by the cache memory 170 reflects. . That is, the closer the probability p1 is to 1, the more recent traffic is reflected, and the closer to 0, the longer traffic is.

이후, 제어부(110)는 캐시 메모리(170)의 복수의 계층 중 업데이트할 계층을 선택한다(S120).Thereafter, the controller 110 selects a layer to be updated among a plurality of layers of the cache memory 170 (S120).

이후, 플로우 생성부(150)는 수집된 패킷을 바탕으로 해당 패킷의 플로우를 생성한다(S130). 이때 플로우 생성부(150)는 수집된 패킷의 출발지 주소(source address), 도착지 주소(destination address), 출발지 포트(source port), 도착지 포트(destination port) 및 프로토콜 타입(protocol type)에 따라 해당 패킷의 플로우를 생성할 수 있다.Thereafter, the flow generator 150 generates a flow of the corresponding packet based on the collected packet (S130). At this time, the flow generation unit 150 according to the source address, the destination address (destination address), the source port (source port), the destination port (destination port) and the protocol type (protocol type) of the collected packet Can generate a flow of.

다음, 제어부(110)는 생성된 플로우에 대한 플로우 식별값을 선택된 계층의 복수의 플로우 엔트리 중 임의의 플로우 엔트리에 저장한다(S140).Next, the controller 110 stores the flow identification value of the generated flow in an arbitrary flow entry among the plurality of flow entries of the selected layer (S140).

다음은 도 4를 참고하여 본 발명의 실시예에 따른 플로우 검출 시스템이 헤비 플로우를 검출하기 위해 플로우를 검사하는 방법에 대해 설명한다.Next, a method of inspecting a flow to detect a heavy flow by a flow detection system according to an exemplary embodiment of the present invention will be described with reference to FIG. 4.

도 4는 본 발명의 실시예에 따른 플로우 검사 방법을 도시한 도면이다.4 is a view showing a flow inspection method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 먼저, 패킷 수집부(130)는 네트워크 링크(10)를 통과하는 패킷을 수집한다(S200). 이때 패킷 수집부(130)는 제어부(110)의 제어에 따라 샘플링(sampling) 방식으로 복수의 패킷 중 임의의 패킷을 수집할 수 있다.As shown in FIG. 4, first, the packet collector 130 collects a packet passing through the network link 10 (S200). In this case, the packet collecting unit 130 may collect an arbitrary packet of the plurality of packets by a sampling method under the control of the controller 110.

다음, 제어부(110)는 미리 정해진 확률(p2)에 따라 수집된 패킷에 대한 플로우 검사를 수행할지를 판단한다(S210). 이때 확률(p2)는 0이상 1이하의 값을 가질 수 있으며, 헤비 플로우를 검출하기 위해 얼마나 자주 플로우 검사를 수행하느냐를 결정한다. 즉, 확률(p2)이 1인 경우, 제어부(110)는 수집된 모든 패킷의 플로우에 대해 검사를 수행하며, 확률(p2)을 높일수록 헤비 플로우를 빠르게 찾을 수 있지만 검사 횟수가 증가하기 때문에 높은 하드웨어 성능이 요청된다.Next, the controller 110 determines whether to perform a flow check on the collected packets according to a predetermined probability p2 (S210). In this case, the probability p2 may have a value of 0 or more and 1 or less, and determines how often the flow check is performed to detect the heavy flow. That is, when the probability p2 is 1, the controller 110 checks the flow of all the collected packets, and as the probability p2 increases, the heavy flow can be found quickly, but because the number of checks increases, Hardware performance is requested.

만약, 수집된 패킷에 대한 플로우 검사를 수행하는 경우, 플로우 생성부(150)는 수집된 패킷을 바탕으로 해당 패킷의 플로우를 생성한다(S220). 이때 플로우 생성부(150)는 수집된 패킷의 출발지 주소(source address), 도착지 주소(destination address), 출발지 포트(source port), 도착지 포트(destination port) 및 프로토콜 타입(protocol type)에 따라 해당 패킷의 플로우를 생성할 수 있다.If a flow check is performed on the collected packets, the flow generator 150 generates a flow of the corresponding packet based on the collected packets (S220). At this time, the flow generation unit 150 according to the source address, the destination address (destination address), the source port (source port), the destination port (destination port) and the protocol type (protocol type) of the collected packet Can generate a flow of.

이후, 제어부(110)는 생성된 플로우와 캐시 메모리(170)의 각 계층의 플로우 엔트리에 저장된 플로우 식별값을 비교하여 생성된 플로우에 대응하는 플로우 식별값이 캐시 메모리(170)의 모든 계층에서 발견되는지 판단한다(S230). 이때 제어부(110)는 플로우 식별값에 대한 비교를 고속으로 처리하기 위해 병렬처리가 가능한 고속의 하드웨어장치로 구현될 수 있다. 또한 캐시 메모리(170)의 각 계층의 플로우 엔트리는 빠른 검색과 접근을 위해 해쉬(hash) 알고리즘을 기반으로 구현될 수 있다.Subsequently, the controller 110 compares the generated flow with the flow identification values stored in the flow entries of the respective layers of the cache memory 170, and the flow identification values corresponding to the generated flows are found in all the layers of the cache memory 170. It is determined whether or not (S230). In this case, the control unit 110 may be implemented as a high-speed hardware device capable of parallel processing in order to process the comparison of the flow identification value at high speed. In addition, the flow entry of each layer of the cache memory 170 may be implemented based on a hash algorithm for fast searching and access.

만약, 모든 계층에서 발견된 경우, 제어부(110)는 생성된 플로우를 헤비 플로우 리스트에 저장한다(S240).If found in all layers, the controller 110 stores the generated flow in the heavy flow list (S240).

다음은 도 5를 참고하여 본 발명의 실시예의 일 예에 따른 플로우 검출 시스템의 캐시 메모리에 대해 설명한다.Next, a cache memory of a flow detection system according to an embodiment of the present invention will be described with reference to FIG. 5.

도 5는 본 발명의 실시예의 일 예에 따른 캐시 메모리의 구조를 도시한 도면이다.5 is a diagram illustrating a structure of a cache memory according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 캐시 메모리(200)는 N개의 계층 즉, 제1 계층(210) 및 제N 계층(230)을 포함한다.As shown in FIG. 5, the cache memory 200 includes N layers, that is, the first layer 210 and the N-th layer 230.

제1 계층(210)은 K개의 플로우 엔트리 즉, 제1 플로우 엔트리(211), 제2 플로우 엔트리(212), 제3 플로우 엔트리(213), 제K-1 플로우 엔트리(214) 및 제K 플로우 엔트리(215)를 포함한다.The first layer 210 includes K flow entries, that is, the first flow entry 211, the second flow entry 212, the third flow entry 213, the K-1 flow entry 214, and the K th flow. Entry 215.

제1 계층(210)의 제1 플로우 엔트리(211)는 플로우 식별값 "7"을 저장한다.The first flow entry 211 of the first layer 210 stores the flow identification value "7".

제1 계층(210)의 제2 플로우 엔트리(212)는 플로우 식별값 "4"를 저장한다.The second flow entry 212 of the first layer 210 stores the flow identification value "4".

제1 계층(210)의 제3 플로우 엔트리(213)는 플로우 식별값 "8"을 저장한다.The third flow entry 213 of the first layer 210 stores the flow identification value "8".

제1 계층(210)의 제K-1 플로우 엔트리(214)는 플로우 식별값 "2"를 저장한다.K-1 th flow entry 214 of the first layer 210 stores the flow identification value "2".

제1 계층(210)의 제K 플로우 엔트리(215)는 플로우 식별값 "5"룰 저장한다.The K-th flow entry 215 of the first layer 210 stores the flow identification value "5".

제N 계층(230)은 K개의 플로우 엔트리 즉, 제1 플로우 엔트리(231), 제2 플로우 엔트리(232), 제3 플로우 엔트리(233), 제K-1 플로우 엔트리(234) 및 제K 플 로우 엔트리(235)를 포함한다.The N-th layer 230 includes K flow entries, that is, the first flow entry 231, the second flow entry 232, the third flow entry 233, the K-th flow entry 234, and the K-th flow entry. Row entry 235.

제N 계층(230)의 제1 플로우 엔트리(231)는 플로우 식별값 "9"를 저장한다.The first flow entry 231 of the N-th layer 230 stores the flow identification value "9".

제N 계층(230)의 제2 플로우 엔트리(232)는 플로우 식별값 "3"을 저장한다.The second flow entry 232 of the N-th layer 230 stores the flow identification value "3".

제N 계층(230)의 제3 플로우 엔트리(233)는 플로우 식별값 "4"를 저장한다.The third flow entry 233 of the N-th layer 230 stores the flow identification value "4".

제N 계층(230)의 제K-1 플로우 엔트리(234)는 플로우 식별값 "0"을 저장한다.K-th flow entry 234 of the N-th layer 230 stores the flow identification value "0".

제N 계층(230)의 제K 플로우 엔트리(235)는 플로우 식별값 "6"을 저장한다.The K-th flow entry 235 of the N-th layer 230 stores the flow identification value "6".

위와 같이 각 계층의 플로우 엔트리에 플로우 식별값이 저장되어 있고, 플로우 식별값 "4"를 가지는 제1 패킷이 수집된 경우, 제1 패킷의 플로우 식별값과 동일한 값이 저장된 플로우 엔트리가 제1 계층(210) 및 제N 계층(230)에 각각 존재한다. 따라서 플로우 검출 시스템(100)은 제1 패킷의 플로우를 헤비 플로우 리스트에 추가한다.When the flow identification value is stored in the flow entry of each layer as described above, and the first packet having the flow identification value "4" is collected, the flow entry in which the same value as the flow identification value of the first packet is stored is the first layer. 210 and N-th layer 230, respectively. Thus, the flow detection system 100 adds the flow of the first packet to the heavy flow list.

이때 캐시 메모리(170)에 포함된 계층의 개수(N)가 커질수록 대역폭이 큰 플로우가 헤비 플로우로 선택될 확률이 높아지고, 대역폭이 작은 플로우가 헤비 플로우로 선택될 확률이 작아지지만, 플로우를 검사하는데 걸리는 시간이 증가한다.In this case, as the number N of layers included in the cache memory 170 increases, the probability that a flow with a large bandwidth is selected as a heavy flow increases, and the probability that a flow with a small bandwidth is selected as a heavy flow decreases, but the flow is inspected. The time it takes to increase.

또한 각 계층에 포함된 플로우 엔트리의 개수(K)가 커질수록 각 계층에 저장되는 플로우 식별값이 증가하기 때문에 헤비 플로우를 검출하는데 걸리는 시간이 단축될 수 있다.In addition, since the flow identification value stored in each layer increases as the number K of flow entries included in each layer increases, the time taken to detect the heavy flow can be shortened.

따라서 계층의 개수(N)는 대역폭이 작은 플로우를 얼마나 필터링하여 줄일지를 조절하는데 사용되고, 플로우 엔트리의 개수(K)는 헤비 플로우의 검출 속도를 조절하는데 사용된다.Therefore, the number N of layers is used to control how much the bandwidth of a small flow is filtered and reduced, and the number K of flow entries is used to adjust the detection speed of a heavy flow.

그러나 캐시 메모리(170)의 크기를 결정하는 계층의 개수(N) 및 플로우 엔트리의 개수(K)는 값이 커질수록 더 큰 메모리를 필요하게 되어 구현 가격이 증가하게 된다.However, as the number N of layers and the number K of flow entries, which determine the size of the cache memory 170, the larger the value, the larger memory is required, and the implementation price increases.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not only implemented by the apparatus and method but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded, The embodiments can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 실시예에 따른 플로우 검출 시스템의 구성을 도시한 도면이다.1 is a view showing the configuration of a flow detection system according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 캐시 메모리의 구조를 도시한 도면이다.2 is a diagram illustrating the structure of a cache memory according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 캐시 메모리 업데이트 방법을 도시한 도면이다.3 is a diagram illustrating a cache memory update method according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 플로우 검사 방법을 도시한 도면이다.4 is a view showing a flow inspection method according to an embodiment of the present invention.

도 5는 본 발명의 실시예의 일 예에 따른 캐시 메모리의 구조를 도시한 도면이다.5 is a diagram illustrating a structure of a cache memory according to an embodiment of the present invention.

Claims (10)

메모리를 포함하는 시스템이 플로우(flow)를 검출하는 방법에 있어서,A method for detecting a flow in a system comprising a memory, the method comprising: 상기 메모리는 복수의 계층으로 구성되고, 상기 복수의 계층의 각각은 복수의 플로우 식별값을 저장하며,The memory comprises a plurality of layers, each of the plurality of layers storing a plurality of flow identification values, 상기 방법은The method 상기 시스템이 링크를 통과하는 패킷의 출발지 주소, 도착지 주소, 출발지 포트, 도착지 포트 및 프로토콜 타입에 따라 상기 패킷의 플로우를 생성하는 단계;Generating, by the system, a flow of the packet according to a source address, a destination address, a source port, a destination port, and a protocol type of the packet passing through the link; 상기 복수의 계층 중 일부의 계층의 각각에 상기 플로우에 대응하는 플로우 식별값이 저장되어 있는 경우, 상기 시스템이 플로우 리스트에 상기 플로우를 저장하는 단계; 및If the flow identification value corresponding to the flow is stored in each of some of the plurality of layers, the system storing the flow in a flow list; And 상기 플로우 식별값 중 어느 하나인 임의의 플로우 식별값이 상기 복수의 계층에 모두 저장되어 있다면, 상기 임의의 플로우 식별값에 해당하는 플로우를 해비 플로우로 선택하는 단계를 포함하는 플로우 검출 방법.If any flow identification value, which is any one of the flow identification values, is all stored in the plurality of layers, selecting a flow corresponding to the arbitrary flow identification value as a heavy flow. 제1항에 있어서,The method of claim 1, 상기 플로우를 저장하는 단계는The step of storing the flow 상기 복수의 계층의 각각에 상기 플로우 식별값이 저장되어 있는 경우 상기 시스템이 상기 플로우를 상기 플로우 리스트에 저장하는 플로우 검출 방법.And when the flow identification value is stored in each of the plurality of layers, the system stores the flow in the flow list. 제1항에 있어서,The method of claim 1, 상기 방법은The method 상기 시스템이 상기 링크를 통과하는 복수의 패킷 중 상기 패킷을 수집하는 단계를 더 포함하는 플로우 검출 방법.And the system collecting the packet among a plurality of packets passing through the link. 제1항에 있어서,The method of claim 1, 상기 방법은The method 상기 시스템이 상기 복수의 계층 중 어느 하나의 계층에 상기 플로우 식별값을 저장하여 상기 메모리를 업데이트하는 단계를 더 포함하는 플로우 검출 방법.And storing, by the system, the flow identification value in any one of the plurality of layers to update the memory. 제4항에 있어서,5. The method of claim 4, 상기 어느 하나의 계층은 복수의 플로우 엔트리로 구성되며,The one layer is composed of a plurality of flow entries, 상기 플로우 식별값을 저장하는 단계는The storing of the flow identification value 상기 시스템이 상기 복수의 플로우 엔트리 중 어느 하나의 플로우 엔트리에 상기 플로우 식별값을 저장하는 플로우 검출 방법.And the system stores the flow identification value in any one of the plurality of flow entries. 제4항에 있어서,5. The method of claim 4, 상기 방법은The method 상기 업데이트하는 단계 이전에, 상기 시스템이 미리 정해진 확률을 바탕으로 상기 업데이트하는 단계의 수행여부를 판단하는 단계를 더 포함하는 플로우 검출 방법.Prior to the updating, the flow detection method further comprises the step of determining whether the performing of the updating step based on a predetermined probability. 복수의 계층으로 구성되고, 상기 복수의 계층의 각각에 복수의 플로우 식별값을 저장하는 캐시 메모리; 및A cache memory comprising a plurality of hierarchies, and storing a plurality of flow identification values in each of the plurality of hierarchies; And 상기 복수의 계층의 각각에 모두 저장된 플로우 식별값에 대응하는 플로우를 저장하고, 상기 플로우 식별값 중 어느 하나인 임의의 플로우 식별값이 상기 복수의 계층에 모두 저장되어 있다면, 상기 임의의 플로우 식별값에 해당하는 플로우를 해비 플로우로 선택하는 제어부를 포함하는 플로우 검출 시스템.Storing a flow corresponding to all of the flow identification values stored in each of the plurality of hierarchies, and if any of the flow identification values are any of the flow identification values stored in the plurality of hierarchies, Flow control system including a control unit for selecting the flow corresponding to the empty flow. 제7항에 있어서,The method of claim 7, wherein 패킷에 포함된 정보를 바탕으로 상기 플로우를 생성하는 플로우 생성부를 더 포함하는 플로우 검출 시스템.And a flow generating unit for generating the flow based on the information included in the packet. 제8항에 있어서,The method of claim 8, 상기 플로우 생성부는The flow generating unit 상기 패킷에 포함된 출발지 주소 정보, 도착지 주소 정보, 출발지 포트 정보, 도착지 포트 정보 및 프로토콜 타입 정보를 바탕으로 상기 플로우를 생성하는 플로우 검출 시스템.And generating the flow based on source address information, destination address information, source port information, destination port information, and protocol type information included in the packet. 제8항에 있어서,The method of claim 8, 네트워크 링크를 통과하는 복수의 패킷 중 상기 패킷을 수집하는 패킷 수집부를 더 포함하는 플로우 검출 시스템.And a packet collector configured to collect the packet among a plurality of packets passing through a network link.
KR1020090102996A 2009-10-28 2009-10-28 System and method for flow detection KR101136967B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090102996A KR101136967B1 (en) 2009-10-28 2009-10-28 System and method for flow detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090102996A KR101136967B1 (en) 2009-10-28 2009-10-28 System and method for flow detection

Publications (2)

Publication Number Publication Date
KR20110046138A KR20110046138A (en) 2011-05-04
KR101136967B1 true KR101136967B1 (en) 2012-04-19

Family

ID=44241075

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090102996A KR101136967B1 (en) 2009-10-28 2009-10-28 System and method for flow detection

Country Status (1)

Country Link
KR (1) KR101136967B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030026240A (en) * 2000-05-01 2003-03-31 리버델타네트웍스,인코포레이티드 Data packet discarding
US7460487B2 (en) * 2004-06-04 2008-12-02 Lucent Technologies Inc. Accelerated per-flow traffic estimation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030026240A (en) * 2000-05-01 2003-03-31 리버델타네트웍스,인코포레이티드 Data packet discarding
US7460487B2 (en) * 2004-06-04 2008-12-02 Lucent Technologies Inc. Accelerated per-flow traffic estimation

Also Published As

Publication number Publication date
KR20110046138A (en) 2011-05-04

Similar Documents

Publication Publication Date Title
US11818025B2 (en) Methods, systems, and apparatus to generate information transmission performance alerts
US10805174B2 (en) Using machine learning to monitor link quality and predict link faults
US20220353146A1 (en) Data analytics on internal state
CN103442008B (en) A kind of routing safety detecting system and detection method
US9934379B2 (en) Methods, systems, and computer readable media for detecting a compromised computing host
US9071545B2 (en) Network appliance that determines what processor to send a future packet to based on a predicted future arrival time
CN105745870B (en) Extend operation from for detecting the serial multistage filter flowed greatly removal nose filter to remove stream to realize
CN108933694B (en) Data center network fault node diagnosis method and system based on dial testing data
US7869349B2 (en) Method and system for deducing network routes by querying routers
CN104685850A (en) Securing software defined networks via flow deflection
Tayfour et al. Collaborative detection and mitigation of DDoS in software-defined networks
CN106909310B (en) Method and apparatus for path selection for storage systems
Garg et al. A probabilistic data structures-based anomaly detection scheme for software-defined Internet of vehicles
CN106534068B (en) Method and device for cleaning counterfeit source IP in DDOS defense system
US11438376B2 (en) Problematic autonomous system routing detection
CN104243192B (en) Fault handling method and system
US7616561B1 (en) Systems and methods for routing data in a communications network
Dong et al. Integration of edge computing and blockchain for provision of data fusion and secure big data analysis for Internet of Things
US8433667B2 (en) Embedded reactive and proactive intelligence
US20210120097A1 (en) Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device
US10805206B1 (en) Method for rerouting traffic in software defined networking network and switch thereof
KR101136967B1 (en) System and method for flow detection
CN110768975B (en) Flow cleaning method and device, electronic equipment and machine readable storage medium
US8284044B2 (en) Poll-based alarm handling system and method
JP6636474B2 (en) Response instruction device, response instruction method, response instruction program

Legal Events

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

Payment date: 20180403

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 8