KR101211147B1 - 네트워크 검사 시스템 및 그 제공방법 - Google Patents

네트워크 검사 시스템 및 그 제공방법 Download PDF

Info

Publication number
KR101211147B1
KR101211147B1 KR1020110019891A KR20110019891A KR101211147B1 KR 101211147 B1 KR101211147 B1 KR 101211147B1 KR 1020110019891 A KR1020110019891 A KR 1020110019891A KR 20110019891 A KR20110019891 A KR 20110019891A KR 101211147 B1 KR101211147 B1 KR 101211147B1
Authority
KR
South Korea
Prior art keywords
flow
packet
packets
network
information
Prior art date
Application number
KR1020110019891A
Other languages
English (en)
Other versions
KR20120101839A (ko
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 KR1020110019891A priority Critical patent/KR101211147B1/ko
Publication of KR20120101839A publication Critical patent/KR20120101839A/ko
Application granted granted Critical
Publication of KR101211147B1 publication Critical patent/KR101211147B1/ko

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/04Processing captured monitoring data, e.g. for logfile generation
    • 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/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Abstract

네트워크 검사 시스템 제공방법 및 그 시스템이 개시된다. 상기 네트워크 검사 시스템 제공방법은 네트워크 검사 시스템이 네트워크로부터 복수의 패킷들을 수신하는 단계, 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계, 및 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계를 포함한다.

Description

네트워크 검사 시스템 및 그 제공방법{System for network inspection and providing method thereof}
본 발명은 네트워크 검사 시스템 및 그 제공방법에 관한 것으로, 보다 상세하게는 네트워크상에서 전송되는 패킷들을 이용하여 고속 또는 저가로 네트워크 상황을 검사할 수 있고, 이를 이용해 네트워크를 컨트롤 할 수 있는 방법 및 시스템에 관한 것이다.
기존의 네트워크 제어 및 관리 장비들은 TCP(transport layer protocol)/UDP(user datagram protocol) 또는 IP(Internet protocol)의 패킷 정보를 기반으로, 해당 장비들의 특정 단위 목표인 라우팅이나 QoS(Quality of Service), DDoS(Distributed Denial of Service)방지 등을 달성하기 위해 노력해 왔다. 그러나 패킷 기반의 접근 방법은 상위 애플리케이션들의 통신 관계에 따른 정보들을 무시하고, 단순히 일시적인 정보 전달 단위인 각각의 분리된 패킷에 담겨 있는 정보들에만 의존함으로써, 적게는 처리 속도의 한계성과 크게는 적용성의 한계로 인해 패킷 라우팅을 위한 라우터, DDoS 공격을 방어하는 전용 시스템, 또는 트래픽 제어를 위한 DPI(Deep Packet Inspection) 시스템 등과 같은 독립적인 목표를 위한 단일 시스템의 형태로 제공되고 있다. 이 중 DPI 시스템은 특정 애플리케이션 또는 클라이언트(예컨대, P2P 클라이언트(client))가 사용하는 잘 알려진 포트 번호와 페이로드(Payload)의 시그너쳐(Signature)를 찾아서 검출하고, 검출된 패킷을 제어하는 방법을 채택하고 있다. 이러한 시그너쳐를 검출함으로써 어떤 클라이언트 즉, 애플리케이션이 현재 네트워크에서 패킷을 생성 및/또는 전송하고 있는지를 알게 되고, 소정의 정책에 따라 적절한 네트워크 제어를 수행하게 된다.
하지만, 종래의 DPI 시스템은 전송되는 모든 패킷의 페이로드를 검사해야 하므로 프로세싱의 오버헤드가 너무 크다는 단점이 있다. 즉, 모든 패킷의 페이로드를 검출하기 위해서는 고속 및 고가의 장비가 필요한 문제점이 있다. 더구나, 페이로드가 암호화된 패킷일 경우에는 암호화를 풀 수 있는 방법이 없으므로 시그너쳐를 검출할 수도 없을 수 있다. 또한, 암호화가 되어 있지 않더라도 반드시 시그너쳐가 찾아진다는 보장도 없고, 실제로 모든 시그너처를 찾기도 어려운 문제점이 있다.
한편, 분산 컴퓨팅 환경 또는 CDN(Contents Delivery Network) 환경이 확대되고 네트워크 기반의 응용 프로그램이 다양하게 개발됨에 따라 네트워크 트래픽은 증가 일로에 있으며 어느 호스트에서 어떤 형태의 트래픽(traffic)이 얼마만큼 유발되는지를 알아내는 일은 한정된 네트워크 자원을 효율적으로 활용하는데 매우 중요한 일이 되었다.
따라서, 보다 저가의 장비로도 고속으로 트래픽의 특성(예컨대, 패킷을 발생시키는 애플리케이션, 애플리케이션의 종류 또는 호스트의 종류 등)을 검출할 수 있고, 종래의 DPI 시스템이 시그너처를 검출할 수 없는 경우에도 트래픽의 특성을 검출하여 네트워크의 효율성을 높일 수 있는 시스템 및 방법이 필요하다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 모든 패킷에 대해 패킷 검사(예컨대, 시그너쳐 검출)을 수행하는 것이 아니라, 패킷들이 형성하는 플로우를 실시간으로 생성하고, 플로우의 특성을 이용하여 일부 패킷들만 검사를 하여도 트래픽의 특성을 용이하게 파악할 수 있는 시스템 및 방법을 제공하는 것이다.
또한, 특정 플로우의 일부 패킷 검사만으로 트래픽 특성의 검출을 수행하는 것이 아니라, 플로우의 특성을 이용하여 애플리케이션의 종류 또는 호스트의 형태를 검출하고 이를 패킷 검사의 결과와 조합하여 트래픽 특성을 검출함으로써 보다 정확하고 인식률이 높은 네트워크 검사 시스템 및 그 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 네트워크 검사 시스템 제공방법은 네트워크 검사 시스템이 네트워크로부터 복수의 패킷들을 수신하는 단계, 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계, 및 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계를 포함한다.
상기 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계는 상기 플로우가 종료되기 전에 실시간으로 수행될 수 있다.
상기 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계는, 수신된 상기 복수의 패킷들에 기초하여 상기 플로우를 생성하는 단계 및 생성된 상기 플로우에 대한 정보에 기초하여 상기 선행 패킷을 추출하는 단계를 포함할 수 있다.
상기 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계는, 상기 복수의 패킷들을 순차적으로 수신하면서 수신되는 패킷에 상응하는 상기 플로우가 존재하는지 확인하는 단계 및 확인결과 상기 플로우가 존재하면, 상기 패킷이 선행 패킷인지를 확인하는 단계를 포함할 수 있다.
상기 패킷이 선행 패킷인지를 확인하는 단계는 상기 플로우의 플로우 패킷의 수에 대한 정보를 갖는 플로우 카운터의 값에 기초하여 상기 패킷이 선행 패킷인지를 확인하는 단계를 포함할 수 있다.
상기 네트워크 검사 시스템 제공방법은 생성된 상기 플로우에 대한 정보를 플로우 테이블에 저장하는 단계를 더 포함할 수 있다.
상기 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계는 추출된 선행 패킷에 포함된 소정의 애플리케이션 확인정보를 확인하는 단계, 확인된 애플리케이션 확인정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션을 확인하는 단계를 포함할 수 있다.
상기 네트워크 검사 시스템 제공방법은 생성된 상기 플로우에 대한 정보를 플로우 테이블에 저장하는 단계 및 상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단하는 단계를 더 포함할 수 있다.
상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단하는 단계는, 플로우 패턴 DB에 저장된 플로우별 특성에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트 유형 중 적어도 하나를 판단하는 단계를 포함할 수 있다.
상기 네트워크 검사 시스템 제공방법은 상기 추출된 선행 패킷에 대해 패킷 검사를 수행한 결과로 확인되는 상기 복수의 패킷들에 상응하는 애플리케이션에 대한 정보, 판단된 상기 애플리케이션 유형, 또는 판단된 상기 호스트 유형 중 적어도 하나에 기초하여 네트워크 컨트롤 정보 또는 통계정보 중 적어도 하나를 생성하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 네트워크 검사 시스템 제공방법은 네트워크 검사 시스템이 네트워크로부터 복수의 패킷들을 순차적으로 수신하는 단계, 순차적으로 수신되는 각각의 패킷들 중 특정 패킷이 소정의 플로우에 해당하는지 판단하는 단계, 소정의 플로우에 해당한다고 판단된 경우, 상기 특정 패킷이 선행 패킷인지를 확인하는 단계, 및 확인결과에 따라 상기 특정 패킷을 패킷 검사를 수행하기 위한 소정의 패킷 검사 시스템으로 출력하는 단계를 포함한다. 상기 네트워크 검사 시스템 제공방법은 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
상기 기술적 과제를 해결하기 위한 네트워크 검사 시스템은 네트워크로부터 복수의 패킷들을 수신하기 위한 패킷 수신 장치 및 상기 패킷 수신 장치로부터 수신된 상기 복수의 패킷들 각각이 플로우(flow)를 형성하는 플로우 패킷인지 여부를 판단하는 플로우 프로세서를 포함하며, 상기 플로우 프로세서는 판단된 플로우 패킷들 중에서 선행 패킷을 추출하고, 추출된 선행 패킷을 패킷 검사를 수행하기 위한 패킷 검사 시스템으로 출력한다.
상기 네트워크 검사 시스템은 상기 패킷 검사 시스템을 더 포함하며, 상기 패킷 검사 시스템은 추출된 선행 패킷에 포함된 소정의 애플리케이션 확인정보를 확인하고, 확인된 애플리케이션 확인정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션을 확인할 수 있다.
상기 네트워크 검사 시스템은 상기 플로우 프로세서에 의해 생성되는 플로우에 대한 정보를 저장하는 플로우 테이블을 더 포함하며, 상기 플로우 프로세서는 상기 플로우 테이블에 저장된 정보를 확인하여 상기 선행 패킷을 추출할 수 있다.
상기 플로우 프로세서는 상기 복수의 패킷들을 순차적으로 수신하면서 수신되는 패킷이 상기 플로우의 플로우 패킷인지를 확인하고, 확인된 상기 패킷이 선행 패킷인지를 확인할 수 있다.
상기 네트워크 검사 시스템은 상기 플로우 프로세서에 의해 생성되는 플로우에 대한 정보를 저장하는 플로우 테이블 및 플로우 검사 시스템을 더 포함하고, 상기 플로우 검사 시스템은 상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단할 수 있다.
상기 네트워크 검사 시스템은 플로우 패턴 DB를 더 포함하며, 상기 플로우 패턴 DB에 저장된 플로우별 특성에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트 유형 중 적어도 하나를 판단할 수 있다.
상기 기술적 과제를 해결하기 위한 네트워크 검사 시스템은 네트워크로부터 복수의 패킷들을 순차적으로 수신하기 위한 패킷 수신 장치 및 상기 패킷 수신 장치로부터 수신된 상기 복수의 패킷들 각각이 플로우(flow)를 형성하는 플로우 패킷인지 여부를 판단하는 플로우 프로세서를 포함하며, 상기 플로우 프로세서는 순차적으로 수신되는 각각의 패킷들 중 특정 패킷이 소정의 플로우에 해당하는지 판단하고, 소정의 플로우에 해당한다고 판단된 경우, 상기 특정 패킷이 선행 패킷인지를 확인하며, 확인결과에 따라 상기 특정 패킷을 패킷 검사를 수행하기 위한 소정의 패킷 검사 시스템으로 출력할 수 있다.
본 발명에 따른 네트워크 검사 시스템 및 그 제공방법에 의하면 네트워크에서 발생한 모든 패킷들에 대해 패킷 검사를 수행하지 않으면서도 높은 트래픽 특성의 인식률을 얻을 수 있는 효과가 있다. 또한, 이러한 패킷 검사의 수행은 해당 플로우가 종료되기 전에도 실시간으로 수행될 수 있어서, 네트워크를 실시간으로 통제 및/또는 컨트롤할 수 있는 효과가 있다. 또한, 이를 통해 저가의 장비로도 고속의 네트워크를 검사하고 이를 통해 적절한 네트워크 컨트롤이 가능할 수 있는 효과가 있다.
또한, 패킷 검사에 의해 인식이 되지 않는 경우라고 할지라도, 현재 네트워크의 플로우 특성을 파악하고 이를 통해 트래픽 특성을 추정할 수 있어서 패킷 검사와 플로우 특성 분석에 따른 이중의 검사를 통해 트래픽 특성의 인식률을 높일 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 네트워크 검사 시스템의 구성을 개략적으로 나타낸다.
도 2는 본 발명의 실시 예에 따른 플로우의 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 네트워크 검사 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타낸다.
도 4는 본 발명의 실시 예에 따른 플로우 테이블에 저장되는 플로우에 대한 정보를 개략적으로 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 네트워크 검사 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타낸다.
도 6은 본 발명의 실시 예에 따라 패킷 검사 및 플로우 분석을 모두 이용하여 네트워크 검사를 수행하는 방법을 설명하기 위한 플로우 챠트를 나타낸다.
도 7은 본 발명의 실시 예에 따른 네트워크 검사 시스템 제공방법을 위한 소정의 플로우 특성을 나타내는 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 네트워크 검사 시스템의 구성을 개략적으로 나타낸다.
도 1을 참조하면, 본 발명의 실시 예에 따른 네트워크 검사 시스템(100)은 플로우 프로세서(110) 및 패킷 수신 장치(120)를 포함한다. 상기 네트워크 검사 시스템(100)은 패킷 검사 시스템(PIS : Packet Inspection System, 130), 플로우 테이블(140), 플로우 검사 시스템(FIS : Flow Inspection System, 150), 또는 플로우 패턴 DB(160) 중 적어도 하나를 더 포함할 수 있다.
상기 패킷 수신 장치(120)는 네트워크로부터 복수의 패킷들을 수신할 수 있다. 상기 패킷 수신 장치(120)는 네트워크상의 소정의 위치에 설치되어 네트워크로부터 패킷들을 태핑(tapping)할 수 있다. 상기 패킷 수신 장치(120)는 예컨대, 소정의 로컬 에어리어 네트워크(LAN) 상에 존재하는 게이트웨이(gateway)의 전단 및/또는 후단에 위치하여 본 발명의 기술적 사상에 따라 네트워크를 검사할 수 있다. 그러면 검사결과를 이용하여 따라 소정의 컨트롤 시스템은 네트워크/트래픽을 컨트롤할 수 있다. 네트워크/트래픽을 컨트롤 한다 함은 소정의 플로우 및/또는 패킷별로 대역폭, 전송 속도를 조절하거나 전송을 차단하는 등의 인위적 행위를 의미할 수 있다. 상기 패킷 수신 장치(120)는 도 1에 도시된 바와 같이 소정의 NIC(Network Interface Card)로 구현될 수 있지만, 이에 한정되는 것은 아니다.
상기 플로우 프로세서(110)는 상기 패킷 수신 장치(120)로부터 패킷들을 수신할 수 있다. 상기 패킷 수신 장치(120)는 상기 플로우 프로세서(110)로 순차적으로 태핑한 패킷들을 출력할 수 있다. 그러면, 상기 플로우 프로세서(110)는 플로우를 형성하는 플로우 패킷들을 적어도 일부를 추출할 수 있다. 즉, 상기 복수의 패킷들 각각이 특정 플로우에 해당하는 플로우 패킷인지를 판단하고, 플로우 패킷만을 추출할 수 있다. 예컨대, 상기 플로우 프로세서(110)가 소정의 플로우를 형성하는 플로우 패킷을 모두 추출할 수도 있고, 본 발명의 기술적 사상에 따라 일부의 선행하는 플로우 패킷 즉, 선행 패킷들만을 추출할 수도 있다. 모든 플로우 패킷을 추출하는 경우는 결국, 플로우를 생성하는 것을 의미할 수 있다.
예컨대, 상기 플로우 프로세서(110)가 수신하는 모든 패킷은 어느 하나의 플로우에 해당하거나, 새로운 플로우의 첫 번째 패킷이 될 수 있다. 따라서, 상기 플로우 프로세서(110)는 수신되는 패킷이 상기 플로우 테이블(140)에 이미 저장된 플로우에 포함되는 패킷인 경우에는 상기 플로우에 추가하여 상기 패킷에 대한 정보를 저장하고, 수신되는 패킷이 상기 플로우 테이블(140)에 저장된 어떠한 플로우에도 포함되지 않는 경우에는 상기 패킷을 첫 번째 패킷으로 하는 새로운 플로우를 저장할 수도 있다.
본 명세서에서 플로우(flow)라 함은, 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 집합을 의미한다. 따라서, IP 플로우는 애플리케이션의 주소 쌍(송신자 주소, 송신자 포트 번호, 수신자 주소, 수신자 포트 번호), 호스트 쌍(송신자 네트워크 주소, 수신자 네트워크 주소), AS 번호 쌍(송신자 AS 번호, 수신자 AS 번호) 등으로 명세되는 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 흐름으로 정의될 수 있다. 이러한 플로우의 개념에 대해서는 본 발명의 발명자가 발명하여 출원된 한국특허출원(출원번호 10-2008-0126888, "네트워크 컨트롤 시스템 및 네트워크 컨트롤 방법", 이하 '이전출원')에 상세히 개시된 방 있다. 본 명세서에서는 상기 이전출원에 개시된 기술적 사상 및 기재를 본 명세서의 레퍼런스로 포함하며, 본 명세서의 기재에 포함되는 것으로 취급할 수 있다.
패킷들의 속성 중 플로우를 생성하기 위한 일 예로 5-튜플(tuple)을 이용할 수 있다. 즉, 플로우 프로세서(110)는 네트워크 상에서 패킷들을 입력으로 받아서 패킷들의 연속된 집합인 플로우를 생성하거나, 플로우를 형성하는 패킷들 중 일부를 추출할 수 있다. 플로우를 생성하거나 플로우 패킷을 검출하는 조건은 패킷들의 속성(예컨대, 5-Tuple(Source Address, Destination Address, Source Port, Destination Port, Protocol))를 비교하여 동일한 속성(예컨대, 5-튜플(tuple) 값)을 가지는 패킷이 존재하지 않으면 새로운 플로우를 생성하고, 만약에 동일한 값을 가지는 패킷이 존재하면 그 플로우의 트랜스포트 매개 변수 값을 업데이트하게 된다.
패킷들의 연속된 집합이라 함은 반드시 물리적으로 연속된 패킷들을 의미하는 것이 아니라, 시간적으로 제한된 시간 내에 도달한 패킷의 속성이 동일한 패킷을 포함하는 의미로 사용될 수 있다. 여기서 플로우 트랜스포트 매개 변수는 패킷의 5-튜플 정보와 플로우 사이즈(Flow Size), 지속기간(Duration), 패킷 카운트(Packet Count), 평균 패킷 사이즈(Average Packet Size), 평균 레이트(Average Rate)를 포함하는 변수 값으로 정의될 수 있다. 상기 패킷들의 속성(예컨대, 5-튜플 값) 및/또는 상기 트랜스포트 매개 변수 값을 포함하는 정보는 플로우에 대한 정보로 표현될 수 있다. 상기 플로우에 대한 정보들은 플로우 테이블(140)로 출력되어 저장될 수 있다. 한편, 플로우는 로지컬 플로우(logical flow)와 매크로 플로우(macro flow)로 구분될 수 있다.
도 2는 본 발명의 실시 예에 따른 플로우의 개념을 설명하기 위한 도면인데, 도 2를 참조하면, 네트워크상의 두 노드가 세션(sessoin)이 연결되면 서로 간의 패킷들을 교환하면서 통신을 수행하는데, 이때 플로우가 생성될 수 있다. 도 2에 도시된 바와 같이 하나의 세션(sessoiin)이 형성되면 세션이 종료될 때까지 두 개의 로지컬 플로우가 생성될 수 있으며, 이 중 하나의 로지컬 플로우(예컨대, 111)는 특정 노드에서 상대방 노드로 출력되는 패킷들로 형성될 수 있다. 상기 플로우 프로세서(110)는 특정 패킷(예컨대, 패킷 1)을 수신하면, 동일한 플로우에 속하는 패킷(예컨대, 5-튜플이 동일한 패킷)이 이전에 수신된 적이 있는지를 확인하고, 이전에 수신된 적이 없으므로 상기 특정 패킷(예컨대, 패킷 1)을 새로운 플로우의 시작 패킷으로 판단할 수 있다. 즉, 이때부터 플로우가 생성될 수 있다. 한편, 상기 로지컬 플로우(예컨대, 111)은 복수의 매크로 플로우(예컨대, 111-1, 111-2, 111-3 등)를 포함할 수 있는데, 상기 매크로 플로우(예컨대, 111-1, 111-2, 111-3 등)를 구분하는 기준은 패킷들이 수신되는 시간 인터벌(time interval)이 될 수 있다. 예컨대, 패킷 1 및 패킷 2가 매크로 플로우 1(111-1)에 포함되고, 패킷 3은 매크로 플로우 2(111-2)에 포함되는 경우라면, 상기 패킷 2와 패킷 3의 수신 간격이 소정의 시간 간격 이상이었음을 의미할 수 있다. 따라서, 본 명세서에서 소정의 플로우를 생성하였다고 함은, 로지컬 플로우(111)를 생성하는 경우 또는 상기 로지컬 플로우에 포함되는 매크로 플로우(예컨대, 111-1, 111-2, 111-3 등)를 생성하는 경우를 포함하는 의미로 사용될 수 있다. 여기서 소정의 플로우를 생성하였다고 함은, 생성된 플로우(로지컬 또는 매크로)에 대한 정보가 상기 플로우 데이블(140)에 저장됨을 의미할 수 있다. 따라서, 상기 플로우 프로세서(110)는 하나의 매크로 플로우(예컨대, 111-1, 111-2, 111-3 등)가 형성될 때마다, 해당 매크로 플로우에 대한 정보를 상기 플로우 테이블(140)로 출력하여 저장하도록 할 수 있다. 물론, 특정 플로우에 해당하는 패킷 즉, 플로우 패킷이 수신될 때마다 상기 플로우 테이블(140)로 출력할 수도 있다. 그리고 마지막 플로우(에컨대, 패킷 N)이 수신되면 상기 플로우 프로세서(110)는 플로우가 종료되었다고 판단할 수 있다. 플로우에 대한 정보를 상기 플로우 테이블(140)로 출력하는 시점은 플로우의 특성에 따라 다양할 수 있으며, 이에 대해서는 이전출원(플로우 익스포트)에 상세히 개시되어 있으므로 상세한 설명은 생략하도록 한다.
이처럼 본 발명의 기술적 사상에 따른 플로우는 세션이 형성되어 특정 노드에서 다른 노드로 출력되는 패킷들이 포함된 논리적인 패킷들의 집합을 의미할 수 있으므로, 이러한 플로우의 특성을 이용하여 패킷 검사를 효과적으로 수행하는 기술적 사상을 제공할 수 있다. 즉, 특정 프로토콜(예컨대, IP 프로토콜)에서는 두 개의 네트워크 노드가 세션을 형성하기 위해 소정의 신호들(예컨대, SYN, SYN.ACK, ACK 등)을 송수신한 후, 본격적으로 페이로드(payload)를 송수신하게 된다. 또한 세션을 종료하기 위해서는 소정의 신호들(예컨대, FIN, FIN.ACK, ACK 등)을 송수신한 후 세션을 종료하게 된다. 이때 각각의 노드들에 설치된 클라이언트(client)들은 일반적으로 세션이 형성되고 난 후, 초기에 주로 자신을 아이덴티파이(identify)하기 위한 애플리케이션 확인정보(예컨대, 시그너쳐 등)를 송수신할 수 있다. 따라서, 전술한 바와 같이 특정 플로우를 형성하는 패킷들만을 분류할 수 있다면 모든 패킷들에 대해 패킷 검사(예컨대, 시그너쳐 검사 등)를 수행하지 않고, 플로우 상에서 초기에 전송되는 미리 정해진 개수의 패킷들 즉, 선행 패킷들만을 검사함으로써 충분히 패킷 검사를 수행하는 효과를 얻을 수 있다. 또한, 본 발명의 기술적 사상에 의하면, 상기 플로우의 생성 즉, 폴로우 익스포트가 되는 시점은 플로우가 생성되는 시점에서 수행될 수 있으며, 이에 따라 상기 플로우 프로세서(110)에서 수신되는 패킷은 상기 플로우 테이블(140)의 해당 플로우에 실시간으로 저장될 수 있다. 따라서, 본 발명의 기술적 사상에 따른 선행 패킷은 상기 선행 패킷이 포함되는 플로우가 종료되기 전에 실시간으로 추출될 수 있으며, 추출된 패킷은 PIS(130)로 출력될 수 있다.
즉, 종래의 DPI 시스템 등에서는 어떠한 패킷들이 플로우를 형성하는지를 알 수 없으므로, 네트워크 상의 모든 패킷들에 대해 패킷 검사를 수행하여야 했다. 따라서, 고속 네트워크에서는 고속으로 전송되는 모든 패킷들을 고속으로 검사하여야 하므로 고가의 장비를 별도로 구비하여야 했다. 하지만, 본 발명의 기술적 사상에 의하면 애플리케이션을 확인할 수 있는 애플리케이션 확인정보(예컨대, 시그너쳐 검사 등)를 포함하고 있을 확률이 높은 몇 개의 패킷들만을 본 발명의 기술적 사상에 따른 플로우의 개념을 이용하여 추출하고, 이들만을 실시간으로 검사함으로써 데이터 프로세싱 능력이 높지 않은 저가의 장비를 이용하여도 고속의 네트워크를 검사할 수 있는 장점이 있다.
상기 플로우 프로세서(110)는 이를 위해 상기 패킷 수신 장치(120)로부터 수신되는 패킷들을 이용하여 플로우를 생성한 후, 생성된 플로우 중에서 선행하는 몇 개(예컨대, 10 개)의 선행 패킷(예컨대, 패킷 1 ~ 패킷 10)을 추출할 수 있다.
이러한 기술적 사상은 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 네트워크 검사 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타내는데, 도 3을 참조하면, 상기 플로우 프로세서(110)는 상기 패킷 수신 장치(120)로부터 상기 복수의 패킷들을 수신할 수 있다(S200). 그리고, 상기 복수의 패킷들을 이용하여 도 2에서 설명한 바와 같은 플로우를 생성할 수 있다(S210). 생성된 플로우에 대한 정보는 플로우 테이블(140)에 저장될 수 있다(S210). 상기 플로우 프로세서(110)는 전술한 바와 같이 하나의 세션이 생성되고 종료될 때까지의 로지컬 플로우를 생성할 수도 있고, 상기 로지컬 플로우의 부분인 매크로 플로우를 생성할 수도 있다. 생성되는 플로우에 대한 정보는 도 4에 도시된 바와 같이 플로우 테이블(140)에 저장될 수 있다. 도 4를 참조하면 알 수 있듯이, 상기 플로우 테이블(140)에는 상기 플로우 프로세서(110)에 의해 생성된 플로우에 대한 정보가 저장될 수 있다. 플로우 1(112)는 상기 플로우 1에 포함되는 매크로 플로우들이 저장된 경우를 의미하고, 플로우 2(113) 및 플로우 M(114)는 로지컬 플로우가 저장된 경우를 의미할 수 있다. 즉, 플로우 1(112)은 아직 플로우가 종료되지 않은 플로우를 의미할 수 있고, 플로우 2(113) 및 플로우 M(114)는 종료된 플로우를 의미할 수 있다. 상기 플로우 프로세서(110)는 매크로 플로우가 생성될 때마다 생성된 매크로 플로우에 대한 정보를 상기 플로우 테이블(140)에 저장할 수 있으므로, 상기 플로우 프로세서(110)는 현재 저장된 플로우 1(112)이 미리 지정된 X 개(예컨대, 10 개)의 선행 패킷을 포함하는지를 확인할 수 있다. 만약, X 개 이상의 패킷이 상기 플로우 1(112)에 저장되어 있는 경우에는, X 개의 선행 패킷을 추출할 수 있다(S220). 만약, X 개의 패킷이 상기 플로우 1(112)에 저장되어 있지 않은 경우에는, 상기 플로우 프로세서(110)는 X 개의 패킷이 저장될 때까지 기다렸다가 X 개의 패킷을 추출할 수도 있고, 현재 저장되어 있는 X 개 미만의 선행 패킷을 먼저 추출할 수도 있다. 그 후, 상기 플로우 프로세서(110)는 추출한 선행 패킷을 PIS(130)으로 출력할 수 있다(S230). 그러면, 상기 PIS(130)는 패킷 검사를 수행할 수 있다.
본 발명의 다른 실시 예에 의하면, 상기 플로우 프로세서(110)는 수신되는 패킷별로 선행 패킷인지 여부를 판단하고, 선행 패킷이라고 판단되면 판단된 패킷을 바로 상기 PIS(130)로 출력할 수도 있다.
이러한 기술적 사상은 도 5를 참조하여 설명하도록 한다. 도 5는 본 발명의 다른 실시 예에 따른 네트워크 검사 방법을 개략적으로 설명하기 위한 플로우 챠트를 나타내는데, 도 5를 참조하면 상기 플로우 프로세서(110)는 상기 패킷 수신 장치(120)로부터 복수의 패킷들을 순차적으로 수신할 수 있다(S100). 그러면 현재 수신된 패킷에 해당하는 플로우가 존재하는지를 확인할 수 있다. 즉, 이전에 수신된 패킷들 중에 동일한 플로우라고 판단하는 기준(예컨대, 5-튜플)이 동일한 패킷이 존재하였는지를 확인할 수 있다. 만약, 상기 플로우가 존재하는 경우(S110), 상기 플로우 프로세서(110)는 상기 패킷이 선행 패킷인지 여부를 판단하고(S120, S130), 판단 결과 선행 패킷이라고 판단되면 상기 PIS(130)로 상기 패킷을 출력할 수 있다. 이때 상기 플로우 프로세서(110)는 상기 패킷이 선행 패킷인지 여부를 판단하기 위해 플로우별로 유지되는 소정의 플로우 카운터 정보를 유지할 수 있다. 상기 플로우 카운터 정보는 상기 플로우에 해당하는 패킷의 수를 의미할 수 있다. 즉, 상기 플로우 카운터의 값은 플로우가 종료하기 전에는 상기 플로우에 해당하는 패킷이 수신될 때마다 증가할 수 있다.
따라서, 상기 플로우 프로세서(110)는 수신된 상기 패킷에 상응하는 상기 플로우가 존재하는 경우(S110), 상기 플로우의 플로우 카운터 값을 확인할 수 있다(S120). 그리고, 상기 플로우 카운터 값이 미리 지정된 X 개보다 작은 경우에는(S130) 상기 패킷을 상기 플로우의 선행 패킷이라고 판단할 수 있다. 그러면, 상기 플로우 프로세서(110)는 선행 패킷이라고 판단된 상기 패킷을 상기 PIS(130)로 출력할 수 있다(S140). 물론, 상기 플로우 프로세서(110)는 상기 플로우 카운터의 값을 증가시키는 것이 바람직하다(S140). 만약, 상기 패킷이 선행 패킷이 아니라고 판단되면 더 이상 상기 플로우에 대해서는 선행 패킷이 존재하지 않으므로, 상기 플로우에 대한 패킷 검사는 종료할 수 있다.
만약, 상기 패킷에 상응하는 플로우가 존재하지 않은 경우에는(S110) 상기 플로우 프로세서(110)는 상기 패킷을 이용하여 플로우를 생성할 수 있다(S150). 따라서, 상기 패킷은 새롭게 생성된 플로우의 선행 패킷이 될 수 있으므로, 바로 상기 PIS(130)로 출력될 수 있다. 물론, 전술한 바와 같이 새롭게 생성된 플로우에 대해서는 매크로 플로우 또는 로지컬 플로우가 생성되면 패킷 검사를 수행할 수도 있다.
다시 도 1을 참조하면, 상기 PIS(130)는 패킷을 검사하기 위한 소정의 시스템을 의미할 수 있다. 상기 PIS(130)는 수신되는 패킷에 대해 패킷 검사를 수행하여 상기 패킷을 생성하여 출력한 애플리케이션을 확인할 수 있는 애플리케이션 확인정보가 존재하는지를 검사할 수 있다. 예컨대, 상기 애플리케이션 확인정보는 시그너쳐 정보일 수 있지만 이에 한정되는 것은 아니며, 상기 애플리케이션을 확인할 수 있는 모든 정보가 상기 애플리케이션 확인정보에 포함될 수 있다. 상기 PIS(130)는 DPI(Deep Packet Inspection) 등으로 구현될 수 있지만 이에 한정되는 것은 아니며 상기 애플리케이션 확인정보를 확인할 수 있는 모든 형태의 데이터 프로세싱 시스템을 포함하는 의미로 사용될 수 있다. 예컨대, 상기 PIS(130)가 패킷 검사를 수행한 결과, 미리 알려진 특정 애플리케이션에 해당하는 애플리케이션 확인정보가 검출된 경우, 상기 네트워크 검사 시스템(100)은 해당 애플리케이션에 상응하는 정책에 따라 네트워크를 컨트롤할 수 있다. 이를 위해 소정의 컨트롤 시스템(미도시)이 상기 네트워크 검사 시스템(100)에 더 포함될 수 있음은 물론이다.
한편, 상기 FIS(Flow Inspection System, 150)은 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 현재 네트워크상에 트래픽을 발생시키고 있는 애플리케이션의 종류 또는 유형(호스트의 종류 또는 유형)에 대한 정보를 판단할 수 있다. 즉, 상기 PIS(130)는 현재 네트워크에서 트래픽을 발생시키고 있는 특정 애플리케이션을 판단할 수 있는데 반해, 상기 FIS(150)는 어떤 애플리케이션인지는 몰라도 어떤 종류의 애플리케이션인지를 판단할 수 있다.
예컨대, 상기 PIS(130)의 패킷 검사 결과 상기 복수의 패킷에 상응하는 애플리케이션 즉, 현재 트래픽을 발생시키고 있는 애플리케이션이 특정 P2P 애플리케이션이라고 판단할 수 있다. 하지만, 상기 FIS(150)는 상기 트래픽을 발생하는 애플리케이션을 특정할 수는 없지만 현재의 트래픽을 발생시키는 애플리케이션 또는 호스트의 종류가 P2P 애플리케이션인지 또는 P2P 파일 전송을 수행하는 호스트인지에 대한 정보를 판단할 수 있다.
따라서, 만약 상기 PIS(130)의 패킷 검사 결과에 의해 특정 애플리케이션을 인식하지 못한 경우에도, 상기 FIS(150)의 플로우 검사 결과에 따라 현재 트래픽이 어떠한 종류의 애플리케이션 패턴 또는 호스트 패턴(예컨대, P2P, DDos 공격 등)인지 여부를 판단할 수 있다. 실제로 네트워크를 컨트롤하기 위해서는 트래픽을 발생시키는 애플리케이션이 무엇이지를 정확하게 아는 것이 필요할 수도 있지만, 상기 애플리케이션을 확인할 수 없어도 어떠한 종류의 애플리케이션 또는 호스트인지만을 아는 경우에도 매우 효율적으로 네트워크를 컨트롤할 수 있다. 또한, 전술한 바와 같이 전송되는 패킷들이 암호화되어 있는 경우 또는 암호화가 되어 있지 않더라도 애플리케이션 확인정보(예컨대, 시그너쳐 등)를 확인하지 못하는 다양한 경우가 존재할 수 있는데, 이러한 경우에 플로우 검사를 통해 애플리케이션 또는 호스트의 종류(유형)을 판단하는 것은 매우 유용할 수 있다.
따라서, 본 발명의 실시 예에 따른 네트워크 검사 시스템 제공방법은 상기 PIS(130)에 의한 패킷 검사와 상기 FIS(150)에 의한 플로우 검사를 통해 네트워크의 트래픽 특성(특정 애플리케이션, 애플리케이션(호스트)의 종류(유형) 등)을 인식할 수 있는 인식률을 높일 수 있는 효과를 얻을 수 있다. 또한, 애플리케이션의 종류를 알고, 해당 애플리케이션이 무엇인지를 아는 경우에는 동일한 애플리케이션의 종류 중에서도 차별화된 네트워크 정책을 수립할 수 있는 효과도 있다. 예컨대, P2P 애플리케이션들 중에서 허락된 특정한 애플리케이션만 P2P 파일 전송을 허락하거나 대역폭을 넓히는 등의 다양한 네트워크 정책을 운용할 수 있는 효과가 있다.
물론, 상기 네트워크 검사 시스템(100)은 상기 PIS(130)에 의한 패킷 검사와 상기 FIS(150)에 의한 플로우 검사를 이용하여 네트워크 컨트롤을 위한 소정의 네트워크 컨트롤 정보뿐만 아니라, 상기 네트워크 또는 트래픽과 관련된 다양한 통계정보를 생성할 수도 있다.
도 6은 본 발명의 실시 예에 따라 패킷 검사 및 플로우 분석을 모두 이용하여 네트워크 검사를 수행하는 방법을 설명하기 위한 플로우 챠트를 나타낸다. 도 6을 참조하면, 본 발명의 실시 예에 따른 네트워크 검사 시스템(100)은 네트워크로부터 패킷을 수신할 수 있다(S300). 그러면, 상기 네트워크 검사 시스템(100)은 특정 플로우의 선행 패킷을 추출하고(S310), 추출된 선행 패킷에 대한 패킷 검사를 수행할 수 있다(S311). 그리고 이러한 패킷 검사를 수행한 결과에 의해 소정의 애플리케이션을 확인할 수 있다(S312).
한편, 상기 네트워크 검사 시스템(100)은 네트워크로부터 패킷들을 수신하고, 플로우를 생성할 수 있다(S320). 그리고 생성된 플로우에 대한 정보를 이용하여 플로우 검사(분석)을 수행할 수 있다(S321). 그리고 그 결과 애플리케이션(호스트)의 종류(유형)을 확인할 수 있다(S322).
그러면, 상기 네트워크 검사 시스템(100)은 패킷 검사의 수행결과에 따라 확인된 정보와 플로우 검사의 수행결과에 따라 확인된 정보를 이용하여보다 높은 트래픽 인식률과 다양한 제어정책을 수립하고 이에 따른 컨트롤을 수행할 수 있다(S330).
한편, 상기 FIS(150)가 플로우 검사를 수행하는 방식은 다양할 수 있다. 이에 대해서는 이전출원에 상세히 개시되어 있으므로 개략적으로만 설명하면 다음과 같을 수 있다. 예컨대, 상기 FIS(150)는 이전출원의 플로우 컨트롤러에 대응될 수 있다. 따라서, 상기 FIS(150)는 미리 정해진 소정의 검출 플로우 즉, 검출하고자 하는 플로우를 검출할 수 있다. 또한, 이전출원에 개시된 바와 같이 상기 검출 플로우를 검출하기 위한 플로우 즉, 소정의 선행 플로우를 검출할 수 있다. 즉, 상기 FIS(150)는 상기 플로우 테이블(140)에 저장된 플로우에 대한 정보와 검출 플로우 또는 선행 플로우의 특성에 대한 정보를 저장하고 있는 플로우 패턴 DB(160)에 기초하여 원하는 플로우를 검출할 수 있다. 따라서, 상기 FIS(150)는 현재 플로우가 검출 플로우인지를 판단하고, 이에 따라 현재 플로우를 제어할 수 있다. 현재 플로우를 어떻게 제어할지에 대한 정보는 미리 상기 FIS(150)에 저장되거나 소정의 연산을 통해 실시간으로 플로우의 제어 정책이 결정될 수 있다. 결정된 제어정책은 상기 플로우 프로세서(100)로 전송될 수 있으며, 전송된 정보에 기초하여 상기 플로우 프로세서(100)는 플로우를 실시간으로 제어할 수도 있다.
상기 플로우 테이블(140)에는 이전 출원에 개시된 바와 같이 플로우들이 플로우의 특성(예컨대, 헤비 플로우, 논-헤비 플로우 등)별로 저장될 수 있다.
또한, 상기 플로우 패턴 DB(160)에는 원하는 플로우(검출 플로우 또는 선행 플로우)의 특성에 대한 정보가 미리 저장되어 있을 수 있다. 구현 예에 따라 상기 플로우 테이블(140)과 상기 플로우 패턴 DB(160)는 하나의 DB로 구현될 수도 있다.
예컨대, 이전 출원에 개시된 바와 같이 상기 플로우 패턴 DB(160)에는 원하는 플로우의 특성에 대한 정보가 저장될 수 있다. 여기서 원하는 플로우는 검출 플로우 뿐만 아니라, 검출 플로우를 찾기 위해 찾아야 하는 플로우 즉, 선행 플로우를 포함할 수 있다. 선행 플로우는 검출하고자 하는 검출 플로우가 네트워크를 통해 통과하기 전에 선행하는 플로우를 의미한다. 예컨대, P2P를 통한 컨텐츠 다운로드는 P2P의 메커니즘상 동등한 계층 노드(Peer Node)간의 호스트 및 파일 정보들을 먼저 공유하는 특성을 가지고 있고, 이러한 공유는 하나의 호스트에서 많은 호스트로의 호스트 및 파일 정보 공유 요청 패킷을 보냄으로써 이루어진다. 즉, 공유할 파일을 스캔(scan)하는 작업이 파일을 다운 로드하는 작업에 선행하게 되는데, 이처럼 검출하고자 하는 플로우에 선행하게 되는 플로우를 선행 플로우로 정의할 수 있다. 따라서, 상기 플로우 패턴 DB(160)에는 검출 플로우의 특성에 대한 정보 및/또는 선행 플로우의 특성에 대한 정보가 저장되어 있을 수 있다. 예컨대, 검출 플로우가 P2P 헤비 플로우인 경우 선행 플로우는 이전 출원에 개시된 바와 같이 SSG로 정의할 수 있으며, P2P 헤비 플로우을 검출하는 중요한 데이터로 사용될 수 있다. 따라서, 상기 SSG의 특성에 대한 정보가 미리 상기 플로우 패턴 DB(160)에 저장되어 있을 수 있다.
도 7은 본 발명의 실시 예에 따른 네트워크 검사 시스템 제공방법을 위한 소정의 플로우 특성을 나타내는 도면이다. 도 7을 참조하면, SSG는 하나의 소스 어드레스를 갖고 다수의 목적지 어드레스를 갖는 특성을 가짐을 알 수 있다. 상기 SSG의 패턴 특성은 상기 플로우 패턴 DB(160)에 미리 저장될 수 있다. 따라서, 상기 FIS(150)는 도 7과 같은 플로우의 패턴을 갖는 플로우를 검출할 수 있다. 도 7에 도시된 바와 같은 특성을 갖는 플로우를 검출하는 방식은 이전출원에 상세히 개시되어 있으므로 상세한 설명은 생략하도록 한다.
또한, 검출 플로우가 P2P 헤비 플로우가 아닌 다른 플로우인 경우에도, 검출하고자 하는 검출 플로우의 특성 또는 선행 플로우의 특성을 명확히 정의함으로써 본 발명의 기술적 사상이 적용될 수 있을 것이다. 물론, 플로우의 특성상 선행 플로우가 존재하지 않는 경우도 존재할 수 있으며, 이때에는 검출 플로우의 특성을 명확하게 상기 플로우 패턴 DB(160)에 정의함으로써 검출 플로우를 검출할 수 있다. 또한, 검출된 선행 플로우에 대한 정보에서 어떠한 특성 또는 변수 값이 검출 플로우와 상관관계를 갖는지를 정의함으로써 본 발명의 기술적 사상은 여러 다양한 플로우를 검출하는데 적용될 수 있을 것이다.
상기 네트워크 검사 시스템(100)에 포함되는 구성은 어느 하나의 물리적 장치로 구현될 수도 있고, 적어도 하나의 구성들 각각이 별개의 물리적 장치로 구현될 수도 있다. 구현 예에 따라서는 어느 하나의 구성도 서로 다른 물리적 구성이 유기적으로 결합되어 구현될 수도 있다.
본 발명의 실시 예에 따른 네트워크 검사 시스템 제공방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (19)

  1. 네트워크 검사 시스템이 네트워크로부터 복수의 패킷들을 수신하는 단계;
    수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계; 및
    추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계를 포함하며,
    상기 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계는,
    수신된 상기 복수의 패킷들에 기초하여 상기 플로우를 생성하는 단계; 및
    생성된 상기 플로우에 대한 정보에 기초하여 상기 선행 패킷을 추출하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  2. 제 1항에 있어서, 상기 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계는,
    상기 플로우가 종료되기 전에 실시간으로 수행되는 것을 특징으로 하는 네트워크 검사 시스템 제공방법.
  3. 삭제
  4. 제 1항에 있어서, 상기 수신된 상기 복수의 패킷들 중에서 소정의 플로우(flow)를 형성하는 플로우 패킷들 중 선행 패킷을 추출하는 단계는,
    상기 복수의 패킷들을 순차적으로 수신하면서 수신되는 패킷에 상응하는 상기 플로우가 존재하는지 확인하는 단계; 및
    확인결과 상기 플로우가 존재하면, 상기 패킷이 선행 패킷인지를 확인하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  5. 제 4항에 있어서, 상기 패킷이 선행 패킷인지를 확인하는 단계는,
    상기 플로우의 플로우 패킷의 수에 대한 정보를 갖는 플로우 카운터의 값에 기초하여 상기 패킷이 선행 패킷인지를 확인하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  6. 제 1항에 있어서, 상기 네트워크 검사 시스템 제공방법은,
    생성된 상기 플로우에 대한 정보를 플로우 테이블에 저장하는 단계를 더 포함하는 네트워크 검사 시스템 제공방법.
  7. 제 1항에 있어서, 상기 추출된 선행 패킷에 대해 패킷 검사를 수행하는 단계는,
    추출된 선행 패킷에 포함된 소정의 애플리케이션 확인정보를 확인하는 단계;
    확인된 애플리케이션 확인정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션을 확인하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  8. 제 7항에 있어서, 상기 네트워크 검사 시스템 제공방법은,
    생성된 상기 플로우에 대한 정보를 플로우 테이블에 저장하는 단계; 및
    상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단하는 단계를 더 포함하는 네트워크 검사 시스템 제공방법.
  9. 제 8항에 있어서, 상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단하는 단계는,
    플로우 패턴 DB에 저장된 플로우별 특성에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트 유형 중 적어도 하나를 판단하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  10. 제 9항에 있어서, 상기 네트워크 검사 시스템 제공방법은,
    상기 추출된 선행 패킷에 대해 패킷 검사를 수행한 결과로 확인되는 상기 복수의 패킷들에 상응하는 애플리케이션에 대한 정보, 판단된 상기 애플리케이션 유형, 또는 판단된 상기 호스트 유형 중 적어도 하나에 기초하여 네트워크 컨트롤 정보 또는 통계정보 중 적어도 하나를 생성하는 단계를 더 포함하는 네트워크 검사 시스템 제공방법.
  11. 네트워크 검사 시스템이 네트워크로부터 복수의 패킷들을 순차적으로 수신하는 단계;
    순차적으로 수신되는 각각의 패킷들 중 특정 패킷이 소정의 플로우에 해당하는지 판단하는 단계;
    소정의 플로우에 해당한다고 판단된 경우, 상기 특정 패킷이 선행 패킷인지를 확인하는 단계; 및
    확인결과에 따라 상기 특정 패킷을 패킷 검사를 수행하기 위한 소정의 패킷 검사 시스템으로 출력하는 단계를 포함하는 네트워크 검사 시스템 제공방법.
  12. 제 1항 내지 제2항, 제4항 내지 제11항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 판독 가능한 기록매체.
  13. 네트워크로부터 복수의 패킷들을 수신하기 위한 패킷 수신 장치;
    상기 패킷 수신 장치로부터 수신된 상기 복수의 패킷들 각각이 플로우(flow)를 형성하는 플로우 패킷인지 여부를 판단하는 플로우 프로세서; 및
    플로우 테이블을 포함하며,
    상기 플로우 프로세서는,
    판단된 플로우 패킷들 중에서 선행 패킷을 추출하고, 추출된 선행 패킷을 패킷 검사를 수행하기 위한 패킷 검사 시스템으로 출력하고,
    상기 플로우 테이블은,
    상기 플로우 프로세서에 의해 생성되는 플로우에 대한 정보를 저장하며,
    상기 플로우 프로세서는,
    상기 플로우 테이블에 저장된 정보를 확인하여 상기 선행 패킷을 추출하는 네트워크 검사 시스템.
  14. 제 13항에 있어서, 상기 네트워크 검사 시스템은,
    상기 패킷 검사 시스템을 더 포함하며,
    상기 패킷 검사 시스템은,
    추출된 선행 패킷에 포함된 소정의 애플리케이션 확인정보를 확인하고, 확인된 애플리케이션 확인정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션을 확인하는 네트워크 검사 시스템.
  15. 삭제
  16. 제 13항에 있어서, 상기 플로우 프로세서는,
    상기 복수의 패킷들을 순차적으로 수신하면서 수신되는 패킷이 상기 플로우의 플로우 패킷인지를 확인하고, 확인된 상기 패킷이 선행 패킷인지를 확인하는 네트워크 검사 시스템.
  17. 제 13항에 있어서, 상기 네트워크 검사 시스템은,
    상기 플로우 프로세서에 의해 생성되는 플로우에 대한 정보를 저장하는 플로우 테이블 및 플로우 검사 시스템을 더 포함하고,
    상기 플로우 검사 시스템은,
    상기 플로우 테이블에 저장된 플로우들에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트의 유형을 판단하는 네트워크 검사 시스템.
  18. 제 17항에 있어서, 상기 네트워크 검사 시스템은,
    플로우 패턴 DB를 더 포함하며,
    상기 플로우 패턴 DB에 저장된 플로우별 특성에 대한 정보에 기초하여 상기 복수의 패킷들에 상응하는 애플리케이션 유형 또는 호스트 유형 중 적어도 하나를 판단하는 네트워크 검사 시스템.
  19. 삭제
KR1020110019891A 2011-03-07 2011-03-07 네트워크 검사 시스템 및 그 제공방법 KR101211147B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110019891A KR101211147B1 (ko) 2011-03-07 2011-03-07 네트워크 검사 시스템 및 그 제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110019891A KR101211147B1 (ko) 2011-03-07 2011-03-07 네트워크 검사 시스템 및 그 제공방법

Publications (2)

Publication Number Publication Date
KR20120101839A KR20120101839A (ko) 2012-09-17
KR101211147B1 true KR101211147B1 (ko) 2012-12-11

Family

ID=47110623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110019891A KR101211147B1 (ko) 2011-03-07 2011-03-07 네트워크 검사 시스템 및 그 제공방법

Country Status (1)

Country Link
KR (1) KR101211147B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160120159A (ko) * 2015-04-07 2016-10-17 엑사비스 주식회사 리트로액티브 네트워크 검사 시스템 및 그 제공방법
WO2019221346A1 (ko) * 2018-05-15 2019-11-21 엑사비스 주식회사 패킷 저장을 수행하는 네트워크 검사 방법 및 이를 수행하는 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101684456B1 (ko) * 2015-02-10 2016-12-20 엑사비스 주식회사 패킷 저장을 수행하는 네트워크 검사 시스템 및 그 제공방법
WO2019132056A1 (ko) * 2017-12-27 2019-07-04 엑사비스 주식회사 적응적 룰셋 세팅을 수행하는 네트워크 보안 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100862727B1 (ko) * 2007-03-26 2008-10-10 한국전자통신연구원 트래픽 분석 방법 및 그 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100862727B1 (ko) * 2007-03-26 2008-10-10 한국전자통신연구원 트래픽 분석 방법 및 그 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160120159A (ko) * 2015-04-07 2016-10-17 엑사비스 주식회사 리트로액티브 네트워크 검사 시스템 및 그 제공방법
KR101715107B1 (ko) * 2015-04-07 2017-03-27 엑사비스 주식회사 리트로액티브 네트워크 검사 시스템 및 그 제공방법
WO2019221346A1 (ko) * 2018-05-15 2019-11-21 엑사비스 주식회사 패킷 저장을 수행하는 네트워크 검사 방법 및 이를 수행하는 시스템
US11528199B2 (en) 2018-05-15 2022-12-13 Xabyss Inc. Method for network inspection saving packet and system performing the same

Also Published As

Publication number Publication date
KR20120101839A (ko) 2012-09-17

Similar Documents

Publication Publication Date Title
US8732833B2 (en) Two-stage intrusion detection system for high-speed packet processing using network processor and method thereof
US8793390B2 (en) Systems and methods for protocol detection in a proxy
KR101442020B1 (ko) 송신 제어 프로토콜 플러딩 공격 방어 방법 및 장치
KR102088299B1 (ko) 분산 반사 서비스 거부 공격 탐지 장치 및 방법
Sanmorino et al. DDoS attack detection method and mitigation using pattern of the flow
François et al. Network security through software defined networking: a survey
US8978138B2 (en) TCP validation via systematic transmission regulation and regeneration
KR102050089B1 (ko) 적응적 룰셋 세팅을 수행하는 네트워크 보안 시스템 및 그 방법
US20090077228A1 (en) Behavioral classification of communication sessions using active session initiation
KR101211147B1 (ko) 네트워크 검사 시스템 및 그 제공방법
Boppana et al. Analyzing the vulnerabilities introduced by ddos mitigation techniques for software-defined networks
Nagai et al. Design and implementation of an openflow-based tcp syn flood mitigation
Jeyanthi et al. RQA based approach to detect and prevent DDoS attacks in VoIP networks
KR101715107B1 (ko) 리트로액티브 네트워크 검사 시스템 및 그 제공방법
Yang et al. Modeling and mitigating the coremelt attack
KR101684456B1 (ko) 패킷 저장을 수행하는 네트워크 검사 시스템 및 그 제공방법
KR20130009130A (ko) 좀비 피씨 및 디도스 대응 장치 및 방법
Fowler et al. Impact of denial of service solutions on network quality of service
Beitollahi et al. A four-steptechnique fortackling ddos attacks
US20180331957A1 (en) Policy Enforcement Based on Host Value Classification
Gokcen A Preliminary Study for Identifying NAT Traffic Using Machine Learning
Bojjagani et al. Early DDoS Detection and Prevention with Traced-Back Blocking in SDN Environment.
JP2009284433A (ja) P2p端末検知及び制御システム、並びにその方法
Kim et al. How to make content centric network (CCN) more robust against DoS/DDoS attack
JP2007074087A (ja) DDoS攻撃に対する不正アクセス検知システム及びプログラム

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
LAPS Lapse due to unpaid annual fee