KR101344398B1 - Router and method for application awareness and traffic control on flow based router - Google Patents

Router and method for application awareness and traffic control on flow based router Download PDF

Info

Publication number
KR101344398B1
KR101344398B1 KR1020110108235A KR20110108235A KR101344398B1 KR 101344398 B1 KR101344398 B1 KR 101344398B1 KR 1020110108235 A KR1020110108235 A KR 1020110108235A KR 20110108235 A KR20110108235 A KR 20110108235A KR 101344398 B1 KR101344398 B1 KR 101344398B1
Authority
KR
South Korea
Prior art keywords
packet
application
received packet
flow block
received
Prior art date
Application number
KR1020110108235A
Other languages
Korean (ko)
Other versions
KR20130044002A (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 KR1020110108235A priority Critical patent/KR101344398B1/en
Publication of KR20130044002A publication Critical patent/KR20130044002A/en
Application granted granted Critical
Publication of KR101344398B1 publication Critical patent/KR101344398B1/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • 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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Abstract

라우터 장치 및 라우터 장치의 애플리케이션 인지 및 트래픽 제어방법이 개시된다. 본 발명의 일 실시예에 따르면, 정밀 패킷 분석(Deep Packet Inspection: DPI) 장비가 별도의 장비가 아닌, 네트워크 구성요소 중에 하나인 라우터에 탑재되어 DPI 기능이 수행된다.Disclosed are a router device and an application recognition and traffic control method of the router device. According to an embodiment of the present invention, the Deep Packet Inspection (DPI) equipment is mounted on a router which is one of network components, rather than a separate equipment, to perform a DPI function.

Description

애플리케이션 인지와 트래픽 제어를 위한 라우터 장치 및 그 방법 {Router and method for application awareness and traffic control on flow based router}Router device and method for application awareness and traffic control {Router and method for application awareness and traffic control on flow based router}

본 발명의 일 양상은 네트워크의 패킷 처리 기술에 관한 것으로, 보다 상세하게는 데이터 패킷과 연관된 애플리케이션 인지 및 트래픽 제어 기술에 관한 것이다.One aspect of the present invention relates to packet processing techniques in a network, and more particularly, to application awareness and traffic control techniques associated with data packets.

정밀 패킷 분석(Deep Packet Inspection: 이하 'DPI'라 칭함) 장비는 라우터와 같은 네트워크 구성요소와는 별도로 설치되는 구성요소이다. 즉, DPI 장치는 망 구성시에 라우터와 함께 사용되고, 별도의 장비로 구성되어 DPI 기능을 수행한다. DPI 기능이란, 데이터 또는 패킷의 헤더 검색은 물론 콘텐츠 검색을 가능하게 하는 컴퓨터 네트워크 패킷 필터링 기술을 말한다.Deep Packet Inspection (DPI) equipment is a component that is installed separately from network components such as routers. In other words, the DPI device is used together with a router when the network is configured, and is configured as a separate device to perform the DPI function. The DPI function refers to a computer network packet filtering technique that enables content retrieval as well as header retrieval of data or packets.

DPI 장비는 서비스 요구에 따라 망의 여러 곳에 위치할 수 있다. 예를 들면, 사용자 단말로부터 생성된 트래픽은 네트워크 상의 라우터와 DPI 장비 등을 거쳐 서버로 전달된다. 네트워크 관리자의 요구에 의해 전송되는 트래픽을 정밀하게 분석하기 위하여는 별도의 DPI 장비를 두어야 한다.DPI devices can be located in different places in the network depending on service needs. For example, the traffic generated from the user terminal is delivered to the server via a router and DPI equipment on the network. In order to precisely analyze the traffic transmitted at the request of the network administrator, a separate DPI device should be provided.

그러나, 전술한 방식은 여러 장비를 이용하여 인라인으로 네트워크를 구성해야하므로, 네트워크 관리자 측면에서 관리해야 하는 장비의 숫자가 많아져 장비 관리의 부담이 커지게 된다. 또한 DPI 장비에서 정밀분석을 통해서 찾아낸 특정 애플리케이션 혹은 플로우에 관리자가 원하는 트래픽 제어를 수행하기 위해서는, 외부의 트래픽 제어 장비로 해당 플로우 정보를 전송한 후 비로소 트래픽 제어를 수행할 수 있다.However, in the above-described method, since the network must be configured in-line using a plurality of devices, the number of devices to be managed from the network administrator side increases the burden of equipment management. In addition, in order to control traffic desired by an administrator for a specific application or flow found through the precision analysis in the DPI device, the traffic control may be performed after transmitting the flow information to an external traffic control device.

선행기술 미국 공개특허 2009-0238192에는 별도의 장비를 이용하여 DPI 기능을 수행하는 네트워크 기술에 대해, 미국 공개특허 2009-0252041에는 통계정보 수집을 위한 라우터 기술에 대해 각각 개시하고 있다.Prior art US Patent Publication No. 2009-0238192 discloses a network technology for performing a DPI function using a separate equipment, US Patent Publication No. 2009-0252041 discloses a router technology for collecting statistical information.

일 양상에 따라, 애플리케이션 인지와 트래픽 제어를 위한 라우터 장치 및 라우터 장치의 애플리케이션 인지 및 트래픽 제어방법을 제안한다.According to an aspect, a router device for application recognition and traffic control and an application recognition and traffic control method of the router device are proposed.

일 양상에 따른 라우터 장치는, 네트워크 패킷을 수신하는 패킷 수신부와, 수신 패킷으로부터 플로우 블록을 생성하고, 플로우 블록 내 수신 패킷을 정밀분석(Deep Packet Inspection)하여 수신 패킷과 연관된 애플리케이션을 식별하고, 이후 패킷 수신부를 통해 수신되는 동일 플로우의 패킷들에 대해서는 애플리케이션 식별 정보를 이용하여 패킷 처리하는 패킷 제어부와, 애플리케이션 식별 정보를 포함하는 플로우 블록을 저장하는 메모리를 포함한다.According to an aspect, a router apparatus may include: a packet receiving unit receiving a network packet, a flow block from the received packet, deep packet inspection of the received packet in the flow block, and identifying an application associated with the received packet; The packets of the same flow received through the packet receiver include a packet controller configured to process packets using application identification information, and a memory configured to store a flow block including the application identification information.

다른 양상에 따른 라우터의 애플리케이션 인지 및 트래픽 제어방법은, 네트워크 패킷을 수신하는 단계와, 수신 패킷으로부터 플로우 블록을 생성하는 단계와, 플로우 블록 내 수신 패킷을 정밀분석하여 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 플로우 블록에 저장하는 단계와, 이후 수신되는 동일 플로우의 패킷들에 대해서는 플로우 블록에 저장된 애플리케이션 식별 정보를 이용하여 패킷 처리하는 단계를 포함한다.According to another aspect, an application recognition and traffic control method of a router includes: receiving a network packet, generating a flow block from the received packet, precisely analyzing the received packet in the flow block, and identifying an application associated with the received packet; Storing the application identification information in the flow block, and then processing the packet using the application identification information stored in the flow block for packets of the same flow received thereafter.

일 실시예에 따르면, 네트워크 구성요소 중에 하나인 라우터에서 정밀 패킷 분석(Deep Packet Inspection: 이하 'DPI'라 칭함) 기능을 수행함에 따라 별도의 DPI 장비가 불필요하게 되어, 여러 장비를 인라인으로 배치하여 DPI 기능을 수행하는 불편함과 문제점을 해결할 수 있다.According to an embodiment of the present invention, as a deep packet inspection function is performed in a router which is one of the network components, a separate DPI device is unnecessary, and multiple devices are arranged inline. It can solve the inconvenience and problem of performing DPI function.

나아가, DPI 기능의 사용 여부는 CLI(Command Line Interface)와 같은 인터페이스를 이용하여 설정할 수 있으므로, 필요시에만 DPI 기능을 동작하도록 구현할 수 있어서 네트워크 구축 비용을 절약할 수 있다.Furthermore, since the DPI function can be set using an interface such as a command line interface (CLI), the DPI function can be implemented to operate only when necessary, thereby reducing the network construction cost.

나아가, 플로우 블록을 생성한 이후 패킷 관련 애플리케이션을 인지하기 위해서 동일한 플로우의 처음 몇 개의 패킷만을 분석하면 되므로, 네트워크에 많은 부하를 발생시키지 않을 수 있다. 나아가, 1단계인 간단한 애플리케이션 인지 단계와 2단계인 복잡한 애플리케이션 인지 단계를 포함하는 단계별 애플리케이션 인지를 통해 DPI 기능을 보다 정밀하고 원활하게 수행할 수 있다.Furthermore, since the first few packets of the same flow need to be analyzed in order to recognize a packet-related application after generating the flow block, it may not cause a heavy load on the network. Furthermore, DPI application can be performed more precisely and smoothly through step-by-step application recognition, which includes a simple application recognition step of 1 and a complex application recognition step of 2.

나아가, 정밀 분석을 통한 애플리케이션의 인지와 인지된 애플리케이션에 대한 트래픽 제어가 하나의 라우터에서 수행될 수 있다. 따라서, 외부 시스템으로 인지된 애플리케이션 정보를 전달할 필요가 없으므로 네트워크 관리의 일관성과 편리성이 증대된다. 나아가, 플로우 기반 라우터에서 플로우별 통계 정보를 수집함으로 DPI 기능이 수행된 이후의 플로우에서도 통계정보 수집이 용이하다.Furthermore, the perception of the application through precise analysis and traffic control for the recognized application can be performed in one router. Therefore, there is no need to convey the application information recognized by the external system, thereby increasing the consistency and convenience of network management. Furthermore, by collecting the statistical information for each flow in the flow-based router, it is easy to collect statistical information in the flow after the DPI function is performed.

도 1은 본 발명의 일 실시예에 따라 DPI 기능을 수행하는 라우터를 포함하는 네트워크의 구성도,
도 2는 본 발명의 일 실시예에 따른 라우터의 구성도,
도 3은 본 발명의 일 실시예에 따른 패킷 제어부의 세부 구성도,
도 4는 본 발명의 일 실시예에 따른 라우터의 애플리케이션 인지 및 트래픽 제어방법을 도시한 흐름도이다.
1 is a configuration diagram of a network including a router performing a DPI function according to an embodiment of the present invention;
2 is a block diagram of a router according to an embodiment of the present invention;
3 is a detailed configuration diagram of a packet control unit according to an embodiment of the present invention;
4 is a flowchart illustrating an application recognition and traffic control method of a router according to an embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, and this may vary depending on the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명의 일 실시예에 따라 DPI 기능을 수행하는 라우터(10)를 포함하는 네트워크의 구성도이다.1 is a block diagram of a network including a router 10 performing a DPI function according to an embodiment of the present invention.

도 1을 참조하면, 정밀 패킷 분석(Deep Packet Inspection:이하 'DPI'라 칭함) 장비가 별도의 장비가 아닌, 네트워크 구성요소 중에 하나인 라우터(10)에 탑재되어 DPI 기능이 수행된다. DPI 기능이란, 데이터 또는 패킷의 헤더 검색은 물론 콘텐츠 검색을 가능하게 하는 컴퓨터 네트워크 패킷 필터링 기술을 말한다. DPI 기능의 사용 여부는 CLI(Command Line Interface) 등과 같은 인터페이스를 이용하여 선택할 수 있으므로, 필요시에만 DPI 기능이 동작하도록 설정할 수 있다.Referring to FIG. 1, a deep packet inspection (hereinafter referred to as 'DPI') equipment is mounted on a router 10 that is one of network components, rather than a separate equipment, to perform a DPI function. The DPI function refers to a computer network packet filtering technique that enables content retrieval as well as header retrieval of data or packets. Whether to use the DPI function can be selected using an interface such as a command line interface (CLI), and thus the DPI function can be set to operate only when necessary.

도 1은 DPI 기능을 수행하는 라우터(10)를 포함하는 네트워크 중에 일반적이고 간단한 구성을 도시한 것으로, 네트워크는 사용자 단말(12), 라우터(10) 및 서버(14)를 포함한다. 도 1에서는 본 발명의 설명을 용이하게 하기 위해 단순화된 네트워크를 도시하였으나, DPI 기능을 수행하는 라우터(10)를 다양한 네트워크에 적용될 수 있음은 자명하다. 또한, 구성요소를 라우터(10)로 한정하였으나, 라우터(10)는 스위치와 브리지 등 데이터 패킷을 수신하고 포워딩하기에 적합한 다른 네트워크 구성요소로 대체되거나 이를 포함할 수 있다.1 illustrates a general and simple configuration of a network including a router 10 performing a DPI function, which includes a user terminal 12, a router 10, and a server 14. Although FIG. 1 illustrates a simplified network to facilitate the description of the present invention, it is apparent that the router 10 performing the DPI function may be applied to various networks. In addition, although the component is limited to the router 10, the router 10 may be replaced with or include other network components suitable for receiving and forwarding data packets such as switches and bridges.

사용자 단말(12)은 네트워크에 대한 액세스를 가능하게 하는 사용자에 의해 작동되는 장치이다. 보다 구체적으로, 다양한 예시적인 실시예에서, 사용자 단말(12)은 셀폰, PDA, 개인 또는 랩탑 컴퓨터, 무선 이메일 장치 또는 무선 통신을 지원하는 임의의 다른 장치이다. 또한, 다양한 예시적인 실시예에서, 사용자 단말(12)은 하나 이상의 애플리케이션에 관한 데이터 패킷을 생성하고 전송한다.The user terminal 12 is a device operated by a user that enables access to the network. More specifically, in various exemplary embodiments, user terminal 12 is a cell phone, PDA, personal or laptop computer, wireless email device, or any other device that supports wireless communication. In addition, in various example embodiments, user terminal 12 generates and transmits data packets relating to one or more applications.

사용자 단말(12)로부터 생성된 트래픽은 인터넷 서비스 제공자(Internet Service Provider: ISP) 네트워크를 통해 라우터(10)를 거쳐 서버(14)로 전달된다. 라우터(10)는 네트워크 관리자의 요구에 의해 전송되는 트래픽의 정밀분석을 수행한다. 즉, 라우터(10)는 사용자 단말(12)로부터 수신한 패킷을 정밀분석하여 해당 플로우가 어떤 애플리케이션에 해당되는지를 인지하고, 분석 결과에 따라 획득한 애플리케이션 식별 정보를 플로우 블록에 기록해 둔다. 그리고, 라우터(10)는 이후 수신되는 동일 플로우의 패킷부터는 플로우 블록을 참조하여 패킷을 처리한다. 나아가, 라우터(10)는 관리자에 의해 해당되는 애플리케이션별로 트래픽 제어 기능까지 수행한다.Traffic generated from the user terminal 12 is delivered to the server 14 via the router 10 via an Internet Service Provider (ISP) network. The router 10 performs a precise analysis of the traffic transmitted at the request of the network administrator. That is, the router 10 precisely analyzes the packet received from the user terminal 12 to recognize which application the flow corresponds to, and records the application identification information obtained according to the analysis result in the flow block. The router 10 processes the packet by referring to the flow block from the packet of the same flow received thereafter. In addition, the router 10 performs a traffic control function for each application corresponding to the administrator.

이하, 라우터(10)의 애플리케이션 식별 및 트래픽 제어 프로세스를 후술한다.The application identification and traffic control process of the router 10 will be described later.

라우터(10)는 첫 번째 패킷이 수신되면 5-tuple을 기반으로 플로우 블록을 생성한다. 그리고, 플로우 블록 내 수신 패킷을 정밀 분석하여 애플리케이션을 인지한다. 이어서, 해당 플로우 블록에 패킷을 처리하는 방법을 기록해 둔다. 이후 라우터(10)는 동일한 플로우의 두 번째 패킷이 들어오면 FIB(Forwarding Information Base) 테이블 룩업(table lookup)을 수행하지 않고 해당 플로우 블록을 참조하여 패킷을 처리한다. 나아가, 라우터(10)는 인지된 플로우 블록 내 QoS 정보를 기초로 하여 패킷에 대한 트래픽 제어를 수행한다.The router 10 generates a flow block based on 5-tuple when the first packet is received. In addition, the application is recognized by precisely analyzing the received packet in the flow block. Next, the method of processing a packet is recorded in the flow block. Thereafter, when the second packet of the same flow is received, the router 10 processes the packet by referring to the corresponding flow block without performing a forwarding information base (FIB) table lookup. Furthermore, the router 10 performs traffic control on the packet based on the recognized QoS information in the flow block.

이에 따라, 여러 장비를 인라인으로 배치하여 DPI 기능을 수행하는 불편과 문제점을 해결할 수 있다. 나아가, 플로우가 생성되고 애플리케이션을 인지하기 위해서 동일한 플로우의 처음 몇 개의 패킷만을 분석하면 되므로, 네트워크에 많은 부하를 발생시키지 않을 수 있다.Accordingly, it is possible to solve the inconvenience and problem of performing the DPI function by placing a number of equipment inline. Furthermore, since the flow is generated and only the first few packets of the same flow need to be analyzed in order to recognize the application, it may not create a heavy load on the network.

도 2는 본 발명의 일 실시예에 따른 라우터(10)의 구성도이다.2 is a block diagram of a router 10 according to an embodiment of the present invention.

도 2를 참조하면, 라우터(10)는 패킷 수신부(100), 패킷 제어부(102) 및 메모리(104)를 포함한다.Referring to FIG. 2, the router 10 includes a packet receiver 100, a packet controller 102, and a memory 104.

패킷 수신부(100)는 네트워크 패킷을 수신한다. 패킷 제어부(102)는 수신 패킷으로부터 플로우 블록을 생성한다. 즉, 패킷 제어부(102)는 패킷 수신부(100)로부터 패킷을 입력받아, 입력되는 패킷으로부터 패킷 정보를 이용하여 플로우 블록을 생성한다. 패킷 정보는 헤더 정보와 페이로드 정보를 포함한다. 헤더 정보를 이용하여 플로우를 생성하는 경우 규칙에 일관성을 유지할 수 있다. 플로우 생성은 생성된 플로우 간 독립성이 유지되도록 하는 것이 중요하다. 따라서 패킷 제어부(102)는 패킷 헤더 정보를 이용하여 플로우를 생성할 수 있다.The packet receiving unit 100 receives a network packet. The packet control unit 102 generates a flow block from the received packet. That is, the packet controller 102 receives a packet from the packet receiver 100 and generates a flow block using the packet information from the input packet. The packet information includes header information and payload information. When creating a flow using header information, rules can be kept consistent. Flow generation is important to maintain independence between the generated flows. Accordingly, the packet controller 102 can generate a flow using the packet header information.

패킷 제어부(102)는 플로우 블록 내 수신 패킷을 정밀분석(Deep Packet Inspection)하여 수신 패킷과 연관된 애플리케이션을 식별한다. 패킷 제어부(102)는 OSI(Open Systems Interconnection) 모델의 계층 2 내지 계층 7 내의 정보의 임의의 조합을 검사한다. 따라서, 다양한 예시적인 실시예에서, 패킷 제어부(102)는 수신 패킷과 연관된 애플리케이션을 식별하도록 하나 이상의 수신 패킷의 정밀분석을 수행한다. 예를 들면, 패킷 제어부(102)는 수신 패킷을 분석하여, 수신 패킷이 이메일, 스트리밍 비디오, 웹 브라우징, 피어투피어 전송 또는 서비스 공급자에 대해 관심 있는 임의의 다른 애플리케이션에 관한 것인지 여부를 판단할 수 있다.The packet controller 102 deeply inspects a received packet in a flow block to identify an application associated with the received packet. The packet controller 102 examines any combination of information in layers 2 through 7 of the Open Systems Interconnection (OSI) model. Thus, in various example embodiments, the packet controller 102 performs a deep analysis of one or more received packets to identify an application associated with the received packets. For example, the packet controller 102 may analyze the received packet to determine whether the received packet relates to email, streaming video, web browsing, peer-to-peer transmission, or any other application of interest to the service provider. have.

수신 패킷 정밀분석은, 기호 매칭, 패턴 매칭, 상태 기반 모니터링, 성향 분석 및 통계적 분석을 포함한다. 패턴 매칭을 예를 들면, 패킷 제어부(102)는 수신 패킷의 페이로드 정보를, 미리 저장된 애플리케이션의 시그너쳐와 비교하여 매칭 여부를 판단하고 판단 결과에 따라 매칭되는 애플리케이션을 식별한다.Receive packet deep analysis includes symbol matching, pattern matching, state based monitoring, propensity analysis and statistical analysis. For example, for pattern matching, the packet controller 102 compares payload information of a received packet with a signature of a pre-stored application to determine whether to match, and to identify a matching application according to the determination result.

패킷 제어부(102)는 이후 패킷 수신부(100)를 통해 수신되는 동일 플로우의 패킷들에 대해서는 플로우 블록에 기록된 애플리케이션 식별 정보를 이용하여 패킷 처리한다. 메모리(104)는 애플리케이션 식별 정보를 포함하는 플로우 블록을 저장한다. 또한, 메모리(104)는 플로우 블록에 플로우 별로 통계정보를 저장할 수 있다.The packet controller 102 then processes the packets of the same flow received through the packet receiver 100 using the application identification information recorded in the flow block. The memory 104 stores a flow block containing application identification information. In addition, the memory 104 may store statistical information for each flow in the flow block.

다양한 예시적인 실시예에서, 애플리케이션 식별 정보는 이름, 문자숫자(alphanumerical) 식별자 또는 패킷과 연관된 애플리케이션을 식별하는 다른 정보를 나타내는 하나 이상의 유형 길이 값(TLV)으로 구성된다. 애플리케이션을 식별하기에 적합한 임의의 정보가 애플리케이션 식별 정보 내에 배치될 수 있음은 분명하다.In various example embodiments, the application identification information consists of one or more type length values (TLVs) representing names, alphanumerical identifiers, or other information identifying the application associated with the packet. It is clear that any information suitable for identifying the application may be placed within the application identification.

본 발명의 추가 양상에 따르면, 라우터(10)는 패킷 전송부(106)를 포함한다. 패킷 전송부(106)는 패킷 제어부(102)를 통해 식별된 애플리케이션별로 미리 설정된 제어방식에 따라 수신 패킷을 포워딩한다. 제어방식을 예를 들면, 패킷을 허용할지 또는 드롭할지를 결정하는 방식, 특정 대역폭 이상의 트래픽이 인가되지 못하게 하는 방식 등을 포함한 다양한 서비스 품질 처리(QoS) 방식이 존재할 수 있다.According to a further aspect of the invention, the router 10 comprises a packet transmitter 106. The packet transmitter 106 forwards the received packet according to a control scheme preset for each application identified by the packet controller 102. Various quality of service (QoS) schemes may exist, including, for example, a scheme for determining whether to allow or drop a packet, a scheme for preventing traffic over a specific bandwidth, and the like.

도 3은 본 발명의 일 실시예에 따른 패킷 제어부(102)의 세부 구성도이다.3 is a detailed block diagram of the packet control unit 102 according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 패킷 제어부(102)는 제1 DPI 분석부(1020)와 제2 DPI 분석부(1022)를 포함한다. 패킷 제어부(102)의 DPI 기능 수행은 제1 DPI 분석부(1020)와 제2 DPI 분석부(1022)의 정밀분석 2단계로 구성된다. 이들 기능은 CLI를 이용하여 선택적으로 설정할 수도 있다.2 and 3, the packet controller 102 includes a first DPI analyzer 1020 and a second DPI analyzer 1022. Performing the DPI function of the packet controller 102 includes two steps of precision analysis of the first DPI analyzer 1020 and the second DPI analyzer 1022. These functions can also be configured selectively using the CLI.

제1 DPI 분석부(1020)는 패킷 수신부(100)로부터 수신한 패킷을 정밀분석하여 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 메모리(104)의 플로우 블록에 기록한다. 제1 DPI 분석부(1020)는 라우터(10)의 라인카드 내 패킷 처리를 위한 ASIC에 형성될 수 있다. 이 ASIC은 플로우 블록 생성과FIB 테이블 룩업 기능을 수행하는 구성요소이다.The first DPI analyzer 1020 analyzes the packet received from the packet receiver 100 to identify an application associated with the received packet, and records the application identification information in the flow block of the memory 104. The first DPI analyzer 1020 may be formed in an ASIC for packet processing in the line card of the router 10. This ASIC is the component that performs the flow block generation and FIB table lookup functions.

일 실시예에 따르면, 제1 DPI 분석부(1020)는 플로우 블록을 생성한 후 1단계 DPI 기능 수행을 위하여, 미리 정의되어 있는 애플리케이션의 시그너쳐를 수신 패킷의 페이로드와 비교하여 매칭 여부를 확인한다. 수신 패킷의 특정 위치의 페이로드 내용이 미리 정의된 시그너쳐와 동일하면 그 플로우가 특정 애플리케이션임을 식별할 수 있다. 제1 DPI 분석부(1020)는 애플리케이션 식별정보를 메모리(104)의 플로우 블록에 기록한다. 이후 수신되는 동일 플로우의 패킷들은 해당 플로우 블록 정보를 기반으로 패킷을 처리함으로 특정 애플리케이션에 따른 트래픽 제어를 수행할 수 있다.According to an embodiment, the first DPI analyzer 1020 generates a flow block and compares a signature of a predefined application with a payload of a received packet to perform matching in a step 1 DPI function to determine whether there is a match. . If the payload content of a specific location of a received packet is the same as a predefined signature, it may be identified that the flow is a specific application. The first DPI analyzer 1020 records the application identification information in the flow block of the memory 104. Since the packets of the same flow received after processing the packet based on the flow block information can control traffic according to a specific application.

한편, 고속으로 수신 패킷을 처리하는 ASIC에서 복잡한 시그너쳐를 비교하여 패킷의 애플리케이션을 모두 인지하는 것은 전체적인 시스템 성능에 영향을 줄 수 있다. 따라서 간단한 애플리케이션 인지를 위해서는 제1 DPI 분석부(1020)의 1단계 DPI 기능을 이용하고, 많은 패킷의 시그너쳐 비교가 필요한 복잡한 애플리케이션 인지를 위해서는 제2 DPI 분석부(1022)의 2단계 DPI 기능을 이용한다.On the other hand, in ASICs that process incoming packets at high speed, comparing the complex signatures and recognizing the application of the packets can affect overall system performance. Therefore, the first stage DPI function of the first DPI analyzer 1020 is used for simple application recognition, and the second stage DPI function of the second DPI analyzer 1022 is used to recognize a complex application requiring signature comparison of many packets. .

구체적으로, 제2 DPI 분석부(1022)는 제1 DPI 분석부(1020)로부터 수신 패킷을 복사한 패킷을 제공받아 이를 정밀분석하여 수신 패킷과 연관된 애플리케이션을 식별하고, 메모리(104)의 플로우 블록에서 애플리케이션 식별 정보를 갱신한다. 제2 DPI 분석부(1022)는 라우터(10)의 라인카드 내 CPU에 형성될 수 있다.In detail, the second DPI analyzer 1022 receives a packet copied from the first DPI analyzer 1020 and closely analyzes the packet to identify an application associated with the received packet, and a flow block of the memory 104. The application identification information in the. The second DPI analyzer 1022 may be formed in the CPU of the line card of the router 10.

일 실시예에 따르면, 제1 DPI 분석부(1020)는 복수의 수신 패킷들 중에서 미리 설정된 개수의 패킷을 복사하여 제2 DPI 분석부(1022)에 제공한다. 예를 들면, CPU에서 애플리케이션을 인지하기 위해서, ASIC은 처음 N개(예:5개)의 수신 패킷을 복사하여 CPU로 전달한다. 이 이상의 패킷은 시스템 부하 증가의 이유로 CPU로 전달하지 않는다.According to an embodiment, the first DPI analyzer 1020 copies the preset number of packets from among the plurality of received packets and provides them to the second DPI analyzer 1022. For example, in order for the CPU to recognize the application, the ASIC copies the first N (e.g., five) received packets to the CPU. No more packets are forwarded to the CPU for increased system load.

CPU는 ASIC으로부터 복사되어 전달된 처음 N개의 수신 패킷을 대상으로 패킷의 페이로드를 미리 정의된 시그너쳐와 비교한다. 비교 결과, 패킷이 시그너쳐와 매칭되지 않는 경우 일반적인 트래픽으로 판단하고 일반적인 패킷처리와 동일하게 처리한다. 이에 비하여, 수신 패킷이 특정 애플리케이션에 매칭되는 결과가 나오면 메모리(104) 내 해당 플로우 블록의 애플리케이션 식별정보를 갱신한다. 갱신된 정보로 이 플로우가 어떠한 애플리케이션과 연관되어 있는지를 인지할 수 있으며, 이후 수신되는 패킷을 대상으로 플로우 블록의 갱신된 정보를 이용하여 어떠한 애플리케이션과 연관되어 있는지를 인지할 수 있다.The CPU compares the payload of the packet against a predefined signature for the first N received packets copied from the ASIC. As a result of the comparison, if the packet does not match the signature, it is determined as normal traffic and processed in the same manner as general packet processing. In contrast, when a result of matching a received packet to a specific application is obtained, the application identification information of the corresponding flow block in the memory 104 is updated. The updated information can be used to identify which application this flow is associated with and which application is associated with the received packet using the updated information in the flow block.

나아가, CPU에서 인지된 애플리케이션에 맞게 설정된 트래픽 제어 방법대로 패킷을 전달할 수 있다. 트래픽 제어 방법은 패킷을 버리는 방법, 특정 대역폭 이상의 트래픽이 인가되지 못하게 하는 방법 등 다양한 방법이 존재할 수 있다.Furthermore, the packet can be delivered according to the traffic control method set for the application recognized by the CPU. The traffic control method may include various methods such as a method of discarding a packet and a method of preventing traffic over a specific bandwidth from being applied.

도 4는 본 발명의 일 실시예에 따른 라우터(10)의 애플리케이션 인지 및 트래픽 제어방법을 도시한 흐름도이다.4 is a flowchart illustrating an application recognition and traffic control method of the router 10 according to an embodiment of the present invention.

도 1 및 도 4를 참조하면, 라우터(10)는 네트워크 패킷을 수신(400)하고, 수신 패킷으로부터 플로우 블록을 생성한다(410). 이어서, 라우터(10)는 플로우 블록 내 수신 패킷을 정밀분석(420)하여 수신 패킷과 연관된 애플리케이션을 식별(430)하고, 애플리케이션 식별 정보를 플로우 블록에 저장한다(440).1 and 4, the router 10 receives a network packet 400 and generates a flow block from the received packet 410. Subsequently, the router 10 deeply analyzes the received packet in the flow block 420 to identify the application associated with the received packet (430), and stores the application identification information in the flow block (440).

일 실시예에 따르면, 라우터(10)는 수신 패킷을 1차 정밀분석하여 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 플로우 블록에 기록한다. 그리고, 수신 패킷을 복사한 패킷을 2차 정밀분석하여 수신 패킷과 연관된 애플리케이션을 식별하고, 플로우 블록에서 애플리케이션 식별 정보를 갱신한다. 1차 정밀분석은 라우터(10)의 라인카드 내 패킷 처리를 위한 ASIC에서, 2차 정밀분석은 라우터(10)의 라인카드 내 CPU에서 각각 수행될 수 있다.According to one embodiment, the router 10 first analyzes the received packet to identify the application associated with the received packet and records the application identification information in the flow block. The packet copied from the received packet is secondarily analyzed to identify an application associated with the received packet, and the application identification information is updated in the flow block. The first precision analysis may be performed in the ASIC for packet processing in the line card of the router 10, and the second precision analysis may be performed in the CPU in the line card of the router 10.

수신 패킷 정밀분석은, 기호 매칭, 패턴 매칭, 상태 기반 모니터링, 성향 분석 및 통계적 분석을 포함한다. 패턴 매칭은, 수신 패킷의 페이로드 정보를, 미리 저장된 애플리케이션의 시그너쳐와 비교하여 매칭 여부를 판단하고 판단 결과에 따라 매칭되는 애플리케이션을 식별하는 방식이다.Receive packet deep analysis includes symbol matching, pattern matching, state based monitoring, propensity analysis and statistical analysis. Pattern matching is a method of comparing the payload information of a received packet with a signature of a pre-stored application to determine whether to match, and to identify the matching application according to the determination result.

이어서, 라우터(10)는 이후 수신되는 동일 플로우의 패킷들에 대해서는 플로우 블록에 저장된 애플리케이션 식별 정보를 이용하여 패킷 처리한다(450). 나아가, 라우터(10)는 식별된 애플리케이션별로 미리 설정된 제어방식에 따라 수신 패킷을 포워딩할 수 있다.Subsequently, the router 10 processes the packets of the same flow received thereafter using the application identification information stored in the flow block (450). In addition, the router 10 may forward the received packet according to a predetermined control scheme for each identified application.

이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The embodiments of the present invention have been described above. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

10 : 라우터 12 : 사용자 단말
14 : 서버 100 : 패킷 수신부
102 : 패킷 제어부 104 : 메모리
106 : 패킷 전송부 1020 : 제1 DPI 분석부
1022 : 제2 DPI 분석부
10: router 12: user terminal
14 server 100 packet receiving unit
102: packet controller 104: memory
106: packet transmission unit 1020: first DPI analysis unit
1022: second DPI analysis unit

Claims (12)

네트워크 패킷을 수신하는 패킷 수신부;
상기 수신 패킷으로부터 플로우 블록을 생성하고, 상기 플로우 블록 내 수신 패킷을 정밀분석(Deep Packet Inspection:DPI)하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 이후 상기 패킷 수신부를 통해 수신되는 동일 플로우의 패킷들에 대해서는 애플리케이션 식별 정보를 이용하여 패킷 처리하는 패킷 제어부;
상기 패킷 제어부에서 식별된 애플리케이션별로 미리 설정된 제어방식에 따라 수신 패킷을 포워딩하는 패킷 전송부; 및
상기 애플리케이션 식별 정보를 포함하는 플로우 블록을 저장하는 메모리;
를 포함하는 것을 특징으로 하는 라우터 장치.
A packet receiver for receiving a network packet;
Generate a flow block from the received packet, deep packet inspection (DPI) of the received packet in the flow block to identify the application associated with the received packet, then packets of the same flow received through the packet receiver A packet controller configured to process the packet using the application identification information;
A packet transmitter configured to forward received packets according to a control method preset for each application identified by the packet controller; And
A memory storing a flow block containing the application identification information;
Router device comprising a.
제 1 항에 있어서, 상기 패킷 제어부는,
상기 수신 패킷을 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 상기 메모리의 플로우 블록에 기록하는 제1 DPI 분석부; 및
상기 수신 패킷을 복사한 패킷을 상기 제1 DPI 분석부로부터 제공받아 이를 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 상기 메모리의 플로우 블록에서 애플리케이션 식별 정보를 갱신하는 제2 DPI 분석부;
중 적어도 하나를 포함하는 것을 특징으로 하는 라우터 장치.
The method of claim 1, wherein the packet control unit,
A first DPI analyzer configured to precisely analyze the received packet to identify an application associated with the received packet and to record application identification information in a flow block of the memory; And
A second DPI analyzer configured to receive the packet copied from the received packet from the first DPI analyzer to precisely analyze the packet, identify an application associated with the received packet, and update application identification information in a flow block of the memory;
And at least one of the router apparatus.
제 2 항에 있어서, 상기 제1 DPI 분석부는,
상기 라우터 장치의 라인카드 내 패킷 처리를 위한 ASIC에 형성되고,
상기 제2 DPI 분석부는,
상기 라우터 장치의 라인카드 내 CPU에 형성되는 것을 특징으로 하는 라우터 장치.
The method of claim 2, wherein the first DPI analyzer,
Is formed in the ASIC for packet processing in the line card of the router device,
The second DPI analyzer,
Router device characterized in that formed in the CPU in the line card of the router device.
제 2 항에 있어서, 상기 제1 DPI 분석부는,
복수의 수신 패킷들 중에서 미리 설정된 개수의 패킷을 복사하여 상기 제2 DPI 분석부에 제공하는 것을 특징으로 하는 라우터 장치.
The method of claim 2, wherein the first DPI analyzer,
The router apparatus, characterized in that for copying a predetermined number of packets from a plurality of received packets provided to the second DPI analyzer.
제 1 항에 있어서,
상기 수신 패킷 정밀분석은, 기호 매칭, 패턴 매칭, 상태 기반 모니터링, 성향 분석 및 통계적 분석 중 적어도 하나를 포함하며,
상기 패턴 매칭은, 상기 수신 패킷의 페이로드 정보를, 미리 저장된 애플리케이션의 시그너쳐와 비교하여 매칭 여부를 판단하고 판단 결과에 따라 매칭되는 애플리케이션을 식별하는 것을 특징으로 하는 라우터 장치.
The method of claim 1,
The received packet deep analysis includes at least one of symbol matching, pattern matching, state based monitoring, propensity analysis, and statistical analysis,
In the pattern matching, the payload information of the received packet is compared with a signature of a pre-stored application to determine whether to match and to identify a matching application according to the determination result.
삭제delete 제 1 항에 있어서, 상기 메모리는,
상기 플로우 블록에 플로우 별로 통계정보를 저장하는 것을 특징으로 하는 라우터 장치.
The method of claim 1, wherein the memory,
Router device, characterized in that for storing the statistical information for each flow in the flow block.
라우터의 애플리케이션 인지 및 트래픽 제어방법에 있어서,
네트워크 패킷을 수신하는 단계;
상기 수신 패킷으로부터 플로우 블록을 생성하는 단계;
상기 플로우 블록 내 수신 패킷을 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 상기 플로우 블록에 저장하는 단계;
이후 수신되는 동일 플로우의 패킷들에 대해서는 상기 플로우 블록에 저장된 애플리케이션 식별 정보를 이용하여 패킷 처리하는 단계; 및
상기 식별된 애플리케이션별로 미리 설정된 제어방식에 따라 수신 패킷을 포워딩하는 단계;
를 포함하는 것을 특징으로 하는 애플리케이션 인지 및 트래픽 제어방법.
In the application recognition and traffic control method of the router,
Receiving a network packet;
Generating a flow block from the received packet;
Deeply analyzing the received packet in the flow block to identify an application associated with the received packet and storing application identification information in the flow block;
Packet processing using the application identification information stored in the flow block for packets of the same flow received thereafter; And
Forwarding a received packet according to a control scheme preset for each identified application;
Application recognition and traffic control method comprising a.
제 8 항에 있어서, 상기 플로우 블록 내 수신 패킷을 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 상기 플로우 블록에 저장하는 단계는,
상기 수신 패킷을 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 애플리케이션 식별 정보를 상기 플로우 블록에 기록하는 단계; 및
상기 수신 패킷을 복사한 패킷을 제공받아 이를 정밀분석하여 상기 수신 패킷과 연관된 애플리케이션을 식별하고, 상기 플로우 블록에서 애플리케이션 식별 정보를 갱신하는 단계;
중 적어도 하나를 포함하는 것을 특징으로 하는 애플리케이션 인지 및 트래픽 제어방법.
The method of claim 8, wherein the detailed analysis of the received packet in the flow block to identify an application associated with the received packet and storing application identification information in the flow block include:
Carefully analyzing the received packet to identify an application associated with the received packet, and writing application identification information to the flow block; And
Receiving a packet obtained by copying the received packet and analyzing the received packet for detailed analysis to identify an application associated with the received packet, and updating application identification information in the flow block;
Application recognition and traffic control method comprising at least one of.
삭제delete 삭제delete 삭제delete
KR1020110108235A 2011-10-21 2011-10-21 Router and method for application awareness and traffic control on flow based router KR101344398B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110108235A KR101344398B1 (en) 2011-10-21 2011-10-21 Router and method for application awareness and traffic control on flow based router

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110108235A KR101344398B1 (en) 2011-10-21 2011-10-21 Router and method for application awareness and traffic control on flow based router

Publications (2)

Publication Number Publication Date
KR20130044002A KR20130044002A (en) 2013-05-02
KR101344398B1 true KR101344398B1 (en) 2013-12-23

Family

ID=48656625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110108235A KR101344398B1 (en) 2011-10-21 2011-10-21 Router and method for application awareness and traffic control on flow based router

Country Status (1)

Country Link
KR (1) KR101344398B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160026219A (en) 2014-08-29 2016-03-09 주식회사 케이티 Apparatus for deep packet inspection based on software

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102171348B1 (en) * 2014-01-08 2020-10-29 삼성전자주식회사 Method and apparatus for application detection
KR20170014449A (en) 2015-07-30 2017-02-08 주식회사 엘지유플러스 Apparatus and Method for Location-based QoS analysis and control in LTE System
US20180198704A1 (en) * 2015-09-25 2018-07-12 Hewlett Packard Enterprise Development Lp Pre-processing of data packets with network switch application -specific integrated circuit
WO2017099793A1 (en) * 2015-12-11 2017-06-15 Hewlett Packard Enterprise Development Lp Subscription to a subset of switching events

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160026219A (en) 2014-08-29 2016-03-09 주식회사 케이티 Apparatus for deep packet inspection based on software

Also Published As

Publication number Publication date
KR20130044002A (en) 2013-05-02

Similar Documents

Publication Publication Date Title
USRE49126E1 (en) Real-time adaptive processing of network data packets for analysis
US9210122B2 (en) System and method for inspecting domain name system flows in a network environment
US9100268B2 (en) Application-aware MPLS tunnel selection
CN103314557B (en) Network system, controller, switch, and traffic monitoring method
US20100158009A1 (en) Hierarchical packet process apparatus and method
EP2482497B1 (en) Data forwarding method, data processing method, system and device thereof
Tsilimantos et al. Classifying flows and buffer state for YouTube's HTTP adaptive streaming service in mobile networks
US20130294449A1 (en) Efficient application recognition in network traffic
US20110149793A1 (en) Traffic capture apparatus and traffic analysis apparatus, system and method
JP2006352831A (en) Network controller and method of controlling the same
KR101344398B1 (en) Router and method for application awareness and traffic control on flow based router
KR101106891B1 (en) In-bound mechanism that monitors end-to-end qoe of services with application awareness
CN108206788B (en) Traffic service identification method and related equipment
US20120110012A1 (en) Estimating User-Perceived TCP Throughput
KR101292873B1 (en) Network interface card device and method of processing traffic by using the network interface card device
US20160248652A1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
KR101684456B1 (en) System and providing method for network inspection saving packet
JP2007228217A (en) Traffic decision device, traffic decision method, and program therefor
Dubin et al. Video quality representation classification of encrypted http adaptive video streaming
US11265372B2 (en) Identification of a protocol of a data stream
Oztoprak et al. A hybrid asymmetric traffic classifier for deep packet inspection systems with route asymmetry
Yoon et al. Header signature maintenance for Internet traffic identification
KR101003505B1 (en) Dynamic control method of traffic according to network congestion and Apparatus
Mai et al. Fast filtered sampling

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee