KR100862727B1 - 트래픽 분석 방법 및 그 시스템 - Google Patents

트래픽 분석 방법 및 그 시스템 Download PDF

Info

Publication number
KR100862727B1
KR100862727B1 KR1020070028989A KR20070028989A KR100862727B1 KR 100862727 B1 KR100862727 B1 KR 100862727B1 KR 1020070028989 A KR1020070028989 A KR 1020070028989A KR 20070028989 A KR20070028989 A KR 20070028989A KR 100862727 B1 KR100862727 B1 KR 100862727B1
Authority
KR
South Korea
Prior art keywords
flow
traffic
analysis
packet
generated
Prior art date
Application number
KR1020070028989A
Other languages
English (en)
Other versions
KR20080087197A (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 KR1020070028989A priority Critical patent/KR100862727B1/ko
Publication of KR20080087197A publication Critical patent/KR20080087197A/ko
Application granted granted Critical
Publication of KR100862727B1 publication Critical patent/KR100862727B1/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/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • 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

본 발명은 트래픽 분석 방법 및 시스템에 관한 것이다.
본 발명의 트래픽 분석시스템은 패킷을 수집하고 이로부터 플로우 및 트래픽 통계 기초정보를 생성하는 플로우 수집장치를 네트워크 프로세서를 사용하여 구현하였다. 특히 패킷을 수집하고 플로우를 생성하는 것과 같이 고속의 데이터 처리가 필요한 부분은 마이크로 코딩을 통하여 하드웨어적 병렬구조로 구현하였다. 한편, 플로우 중재장치는 플로우 수집장치로부터 수신한 플로우를 원-패킷 플로우 병합 및 2단계 플로우 머지를 통해 병합하여 인터넷 응용별 분석이 용이한 형태의 통합 플로우를 생성한다. 이렇게 생성된 통합 플로우는 분석장치로 아이피 플로우 정보 익스포트(IP Flow Information eXport, IPFIX) 플로우 메시지 형태로 전송된다. 분석장치는 플로우 중재장치로부터 수신된 플로우 메시지를 기반으로 하여 실시간으로 인터넷 응용별 트래픽 통계분석정보를 생성한다.
플로우, 트래픽 분석, 네트워크 프로세서, 인터넷 트래픽

Description

트래픽 분석 방법 및 그 시스템{Method and system for traffic analysis}
도 1은 본 발명의 실시 예에 따른 트래픽 분석시스템을 도시한 구조도이다.
도 2는 본 발명의 실시 예에 따른 플로우 수집장치의 상세 구조를 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 플로우 중재장치의 상세 구조 및 구조 요소들 간의 관계를 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 분석장치의 상세 구조 및 구조 요소들 간의 관계를 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 트래픽 분석시스템의 트래픽 분석 방법을 도시한 흐름도이다.
본 발명은 트래픽 분석 방법 및 시스템에 관한 것으로서 더욱 상세하게는, 인터넷 망으로부터 검출된 인터넷 트래픽에 대한 측정 및 분석을 수행하기 위한 트래픽 분석 방법 및 시스템에 관한 것이다.
인터넷 트래픽이라 함은 인터넷 망에서 데이터가 전송되는 량의 정도를 나타 낸 것이다. 일반적으로 현재 운영 중인 망의 운영 상태와 트래픽 특성 파악, 설계 및 계획, 유해한 트래픽 차단, 과금, QoS(Quality of Service) 보장 등을 위해서는 트래픽 측정(traffic measurement) 기술이 필요하다. 이러한 트래픽 측정은 능동적(Active) 측정과 수동적(Passive) 측정으로 구분된다.
능동적 측정은 측정을 위한 시험 패킷들을 추가적으로 망에 직접 실어 보내고, 수신 측에서 그 결과를 측정하는 방법으로써 단방향 지연, 패킷손실, 및 지연변이와 같이 얻고자 하는 메트릭(metrics)을 쉽게 구할 수 있는 장점이 있다. 그렇지만 사용자의 실제 트래픽을 측정하는 것이 아니라 부가적인 시험 트래픽을 기준을 측정하기 때문에 측정 결과가 부정확하고 정상적인 망 트래픽에 영향을 주는 단점이 있다.
반면에 수동적 측정 방법은 물리적인 링크 회선을 태핑(tapping)하거나 스위치 또는 라우터의 포트 미러링(mirroring) 기능을 이용하여 회선을 분리하고, 모니터링을 위한 하나의 회선을 따로 두어 트래픽을 측정하는 방법이다. 이 방법은 회선에 흐르는 모든 트래픽을 수집할 수 있을 뿐만 아니라 현재 운영 중인 망에 전혀 영향을 주지 않는 장점이 있다. 그러나 회선의 물리적인 태핑을 위해서 현재 운영 중인 망을 일시적으로 중단해야 하는 문제가 있다.
그런데, 망 운영자는 망의 상황을 실시간으로 파악하여 관리하고 현재 망 성능에 영향을 주지 않으면서 효율적으로 망을 운영하기를 원하기 때문에 수동적인 측정 방법이 더 많이 사용된다. 이러한 수동측정 방법 중에서도 최근에는 패킷의 모음인 플로우(flow)에 기초한 플로우 기반(Flow-based) 수동측정 방법이 가장 많 이 사용되고 있다.
한편, 인터넷 사용자의 증가와 다양한 인터넷 응용 서비스들의 등장으로 인해서 오늘날 인터넷 망은 대규모화되어 수 100Mbps에서 수 10Gbps에 이르고 있다. 이러한 고속의 회선을 일반 범용 NIC(Network Interface Card)를 이용해서 측정하고자 할 경우에는 몇 가지 문제점이 있다. 특히 패킷 수집 및 처리 성능의 문제가 존재한다.
플로우 기반 수동측정 방법은 패킷 기반 수동측정 방법의 단점을 개선한 방법이다. 플로우 기반 수동측정 방법에서는 모든 패킷에 대해 패킷단위로 측정하고 분석하는 대신 공통된 특성(예로 들어, 소스 IP 주소(Source IP Address), 목적지 IP 주소(Destination IP Address), 소스 포트(Source Port), 목적지 포트(Destination Port) 및 프로토콜 ID, DSCP, 등)을 가지는 패킷들을 플로우라는 단위로 묶어서 측정한다. 이러한 플로우 기반 수동측정 방법은 패킷을 일정 기준에 따라 묶은 플로우를 기반으로 트래픽을 측정함으로써, 트래픽 분석 처리 지연시간을 줄였다. 그러나 최근 사용자의 증가와 다양한 인터넷 응용의 등장으로 인해 수 100Mbps에서 수 10Gbps에 달하는 고속의 인터넷 망에서는, 데이터의 손실 없이 실시간으로 고속의 데이터를 처리하기 어려운 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 고속의 인터넷 망에서 데이터의 손실 없이 실시간으로 트래픽 측정 및 분석을 수행하는 트래픽 분석 방법 및 시스템을 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 인터넷 망에 연결된 시스템에서 상기 인터넷 망에 대한 트래픽을 분석하는 방법은,
상기 인터넷 망으로부터 패킷을 수집하는 단계; 수집된 패킷으로부터 네트워크 프로세서를 이용한 병렬처리를 통해 플로우를 생성하는 단계; 상기 플로우를 병합하여 통합 플로우를 생성하는 단계; 및 상기 통합 플로우를 이용해 인터넷 응용별 트래픽 통계분석정보를 생성하는 단계를 포함한다.
또한, 본 발명의 다른 특징에 따른 트래픽 분석시스템은,
인터넷 망으로부터 수집된 패킷을 바탕으로 플로우를 생성하여 출력하는 플로우 수집장치; 상기 플로우를 병합하여 통합 플로우를 생성하고, 통합 플로우에 해당하는 플로우 메시지를 출력하는 플로우 중재장치; 및 상기 플로우 메시지를 분석하여 인터넷 응용별 트래픽 통계분석정보를 생성하는 분석장치를 포함한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구조요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구조요소를 제외하는 것이 아니라 다른 구조 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 본 발명의 실시 예에 따른 인터넷 망으로부터 검출된 트래픽에 대한 트래픽 분석을 수행하는 트래픽 분석시스템에 대하여 도면을 참고로 하여 상세하게 설명한다.
아래에서는 IP 패킷의 헤더 정보인 소스 IP 주소(Source IP Address), 목적지 IP 주소(Destination IP Address) 주소, 소스 포트(Source Port), 목적지 포트(Destination Port), 프로토콜 ID 및 응용식별자(Application Signature) 와 같은 6가지 튜플(6-tuple)에 근거하여 같은 정보를 갖는 패킷을 모아 구성한 것을 “플로우”라 명명하여 사용한다. 여기서, 플로우를 구성하기 위해서는 사용목적에 따라 전술한 6가지 튜플이 모두 동일한 패킷들만 모아서 구성할 수도 있고, 6개의 튜플 중 일부만이 동일한 패킷을 모아서 구성할 수도 있다. 예를 들어, 소스 IP 주소, 목적지 IP 주소, 소스 포트, 목적지 포트 및 프로토콜 ID, 응용식별자가 모두 동일한 패킷만을 모아서 플로우를 구성할 수도 있고, 소스 IP 주소 및 목적지 IP 주소가 동일한 패킷만을 모아서 플로우를 구성할 수도 있다. 또한, 사용목적에 따라서는 다른 항목을 추가하여 사용하거나 6개의 튜플 중 일부만을 사용하여 플로우를 구성할 수도 있다.
한편, 사용목적에 따라서는 전술한 6개의 튜플 외에도 DSCP(DiffServ Code Point), VLAN(Vitual Local Area Network, VLAN) ID와 같은 다른 항목을 추가하여 플로우를 구성할 수도 있다.
도 1은 본 발명의 실시 예에 따른 트래픽 분석시스템을 도시한 구조도이다.
도 1에 도시된 바에 따르면, 트래픽 분석시스템은 플로우 수집장치(Metering Agent, MA)(100), 플로우 중재장치(Flow mediator, FM)(200), 분석장치(Billing Analysis Server)(300), 사용자 인터페이스(Graphic User Interface, GUI)장치(400), 제어장치(Configuration and Control Manager, CCM)(500), 플로우 데이터베이스(DataBase, DB)(600) 및 분석정보 DB(700)를 포함할 수 있다.
플로우 수집장치(100)는 인터넷 망에서 고속의 물리적인 회선을 태핑(tapping)하거나 스위치 또는 라우터의 포트 미러링(mirroring) 기능을 이용하여 패킷들을 수집한다. 그리고, 수집된 패킷들로부터 플로우를 생성하여 출력하고, 패킷 및 생성된 플로우들을 분석하여 트래픽 통계 기초정보를 출력한다. 또한, 플로우 수집장치(100)는 생성된 플로우들을 플로우 중재장치(200)에 전달하는 역할을 수행한다. 여기서, 플로우 수집장치(100)로부터 생성되는 플로우는 컨텐츠 인식(content-aware) 플로우에 해당한다.
플로우 중재장치(200)는 하나 이상의 플로우 수집장치(100)들로부터 수신된 트래픽 통계 기초정보를 분석장치(300)로 전달하고, 수신된 플로우를 병합하여 인터넷 응용 별 상세 분석에 용이한 형태의 통합 플로우를 생성한다. 또한, 통합 플로우에 기초해 생성된 플로우 메시지를 분석장치(300)로 전달한다. 여기서, 플로우 중재장치(200)는 원-패킷 플로우 병합(one-packet flow aggregation) 및 2단계 플로우 머지 기능을 이용하여 통합 플로우를 생성하며, 원-패킷 플로우 병합 및 2단 계 플로우 머지 기능에 대해서는 추후 상세하게 설명한다. 플로우 중재장치(200)는 또한 생성된 통합 플로우를 분석장치(300)에서 인식 가능하도록 플로우 메시지 형태로 변환하여 분석장치(300)로 전달하고, 플로우 DB(600)에 생성된 통합 플로우들을 저장하기도 한다.여기서, 분석장치(300)로 전송하는 플로우 메시지는 아이피 플로우 정보 익스포트(IP Flow Information eXport, IPFIX) 플로우 메시지형태로 변환된다.
분석장치(300)는 수신된 플로우 메시지 및 트래픽 통계 기초정보를 기초로 P2P, Streaming과 같은 인터넷 응용별로 상세 분석을 수행하고, 분 단위(1분, 5분 등), 시간별, 일자별, 논리 포트별 통계를 생성한다. 그리고 생성된 통계들로부터 비용정산용 정보 및 트래픽 통계정보 등을 포함하는 실시간으로 트래픽 통계분석정보를 생성한다. 또한, 분석장치(300)는 실시간으로 인터넷 응용별로 트래픽 통계분석정보를 분석정보 DB(700)에 저장하고 GUI 장치(400)로 전달한다.
GUI 장치(400)는 인터넷 응용별 트래픽 통계분석정보를 바탕으로 인터넷 응용의 트래픽을 분석한 상세결과, 예를 들어 비용정산용 결과 등을 다양한 형태로 사용자에게 제공한다.
제어장치(500)는 플로우 수집장치(100), 플로우 중재장치(200), 분석장치(300) 등의 구성 정보를 관리하고, 트래픽 분석의 시작, 종료, 재시작 등을 제어하는 제어 기능을 수행하고, 각 시스템의 운영 상태를 점검하는 기능을 수행한다.
도 2는 본 발명의 실시 예에 따른 플로우 수집장치(100)의 상세 구조를 도시한 도면이다.
도 2를 참조하면, 플로우 수집장치(100)는 패킷 추출 처리부(110), 플로우 생성부(120), 이상 트래픽 처리부(130) 및 데이터 저장전송부(140)를 포함할 수 있다.
패킷 추출 처리부(110)는 인터넷 망에서 고속의 물리적인 회선을 태핑(tapping)하거나 스위치 또는 라우터의 포트 미러링(mirroring) 기능을 이용하여 실시간으로 수집한 패킷들을 출력한다. 그리고, 수집한 패킷들에 대하여 시각 동기화(time stamping), 필터링, 샘플링, 시그너쳐 검색 기능 등을 수행한다.
플로우 생성부(120)는 패킷 추출 처리부(110)로부터 수집된 패킷들을 전달받아서, 수집된 패킷들에 대하여 6-튜플 기반의 패킷 집합 데이터 구조인 플로우들을 생성하여 출력한다. 즉, 패킷의 헤더 정보를 비교하여 소스 IP 주소, 목적지 IP 주소, 소스 포트, 목적지 포트, 프로토콜 ID 및 응용식별자 중 사용목적에 따라 정의된 하나 이상의 항목이 일치하는 패킷들이 존재하는 경우, 해당 패킷들로 플로우를 생성 한다. 또한, 플로우 생성부(120)는 생성된 플로우들을 탐지하여 플로우의 내용을 바탕으로 트래픽 분석에 필요한 트래픽 통계 기초정보를 만들어 출력한다.
이상 트래픽 처리부(130)는 패킷 추출 처리부(110)로부터 전달받은 패킷들을 통해 트래픽 추이 및 시그너쳐를 분석하여 이상 트래픽을 감시한다. 여기서, 시그너쳐란 패킷의 속성을 미리 결정할 수 있는 특정 패턴이나 문자열 등을 의미한다. 이상 트래픽 처리부(130)는 이상 트래픽이 발생할 경우 이를 이상 트래픽으로 분류하고 이상 트래픽 발생에 따른 처리를 수행한다. 여기서, 트래픽 추이 및 시그너쳐 분석 등을 통한 이상 트래픽을 감시하는 방법은 널리 공지된 기술로서 당업자의 실 시가 용이한 기술이므로 상세한 설명은 생략한다.
데이터 저장전송부(140)는 플로우 생성부(120)로부터 생성된 플로우 및 트래픽 통계 기초정보를 저장하고, 플로우 중재장치(200)으로 전달하는 역할을 수행한다.
한편, 본 발명의 실시 예에서는 네트워크 전용으로 설계된 네트워크 프로세서(Network Processor Unit, NPU)를 사용하여 플로우 수집장치(100)를 구현한다. 네트워크 프로세서란 기존의 ASIC(Application specific integrated circuit)을 통한 접근 방법이 갖는 고속 처리와 우수한 성능의 장점을 그대로 유지하면서 패킷 처리, 프로토콜 분석, 음성/데이터 통합, QoS(Quality of Service) 등 통신 시스템에서 이루어지는 작업들을 수행할 수 있도록 프로그래밍이 가능한 디바이스로서, 높은 패킷 처리 성능과 다양한 네트워크 서비스의 제공이 가능하며, 고속 처리 능력과 함께 확장성 및 유연성을 갖는다. 이러한, 네트워크 프로세서는 하드웨어적인 병렬처리 구조를 갖는 마이크로 엔진부와 프로그램 가능한 범용 CPU부로 구성된다.
이에 따라, 플로우 생성과 관련한 패킷 추출 처리부(110)의 패킷 수집, 시그너쳐 검색 등의 기능과 플로우 생성부(120)의 플로우 생성, 플로우 탐지 등의 기능은 마이크로 코딩을 통하여 NPU의 마이크로 엔진부에 하드웨어적 병렬처리 구조로 구현된다. 반면에, 플로우 생성부(120)의 트래픽 통계 기초정보 생성 등의 기능은 응용 소프트웨어로 구현되어 NPU의 범용 CPU부에 탑재된다.
이러한 본 발명의 실시 예에 따른 플로우 수집장치(100)은 종래의 범용 CPU 로 구현된 패킷수집 장치 및 플로우 생성장치에 비해 처리 속도를 높여, 2.5G/10Gbps 등의 고속 다회선에서 샘플링 과정 없이 모든 패킷에 대한 플로우 생성이 가능하도록 하였다. 따라서, 트래픽의 손실 없이 실시간으로 패킷을 수집하고 플로우를 생성하는 것이 가능하다. 즉, 플로우 생성과 관련하여 고속의 데이터 처리를 요하는 기능들은, 마이크로 코딩을 이용하여 하드웨어적으로 구현하여 처리 속도를 향상시킴으로써, 종래에 소프트웨어적으로 구현될 경우 실시간으로 고속의 데이터를 손실 없이 처리하기 힘들었던 단점을 보완하였다.
또한, 소프트웨어로 플로우를 생성하는 경우, 플로우 생성 소프트웨어가 설치된 시스템의 CPU 성능 및 메모리 크기 외에도 수집된 패킷을 수신하는 네트워크 입출력부의 성능 등의 추가적인 성능 저하 요인이 존재한다. 하지만, 전술한 바와 같이 NPU로 구현된 플로우 수집장치(100)은 하드웨어적으로 처리되기 때문에 NPU의 성능 및 메모리의 크기에 따라서만 플로우 생성 성능이 결정된다. 이 경우, CPU의 성능 또한 종래의 범용 CPU보다 네트워크 전용 프로세서인 NPU가 플로우 생성 면에서는 뛰어난 성능을 보이며, 응용 프로그램으로 구현되는 것보다는 하드웨어적으로 구현되어 펌웨어(Firmware)로 동작되는 것이 고속의 데이터 처리 면에서 효과적이다.
일 예로, ATCA(Advance Telecommunication Computing Architecture) 표준을 준수하고 기가비트 이더넷을 지원하는 Intel IXP2800 NPU를 두 개 사용하여 플로우 수집장치(100)을 구현할 경우, 초당 최대 200만개의 플로우가 생성된다. 이는 종래의 소프트웨어로 구현된 플로우 생성이 고성능의 CPU를 이용하고 네트워크 입출력 부 및 플로우 생성 소프트웨어 성능을 최적화한 경우에도 초당 최대 50만개의 플로우를 생성하지 못한 결과에 비해, 훨씬 많은 수의 플로우 생성이 가능하다. 한편, 전술한 수집장치(100)의 플로우 생성 속도는 보드에 장착된 메모리 크기로 인해 제한된 것으로서, 메모리를 확장할 경우 생성되는 플로우의 수 또한 증가할 수 있다.
도 3은 본 발명의 실시 예에 따른 플로우 중재장치(200)의 상세 구조 및 구조 요소들 간의 관계를 도시한 도면이다.
도 3을 참조하면, 플로우 중재장치(200)는 플로우 수신부(210), 플로우 처리부(220), 플로우 전송부(230) 및 제어부(240)를 포함할 수 있다.
플로우 수신부(210)는 플로우 수집장치(100)로부터 수신된 플로우를 플로우 처리부(220)로 전달한다.
플로우 처리부(220)는 플로우 수신부(210)를 통해 전달받은 플로우를 분석하고 병합하여 통합 플로우를 생성하고, 통합 플로우에 대한 정보를 분석장치(300)에서 인식 가능한 형태의 플로우 메시지 형태로 변환하여 출력한다. 여기서, 플로우 처리부(220)는 플로우 메시지를 생성하기 위하여 원-패킷 플로우 병합(One-Packet Flow Aggregation) 기능과 2단계 플로우 머지 기능을 수행하여 통합 플로우를 생성한다.
원-패킷 플로우 병합 기능은 이상 트래픽 발생에 따른 플로우 병합 기능을 의미한다. 구체적으로는, 바이러스나 웜 공격과 같은 이상 트래픽이 발생하여 한 개의 패킷이 하나의 플로우를 구성할 경우에 해당 플로우를 모두 묶어서(Aggregation) 플로우의 전체 개수를 줄이는 기능을 의미한다. 이와 같이 원-패 킷 플로우 병합을 수행할 경우, 플로우의 전체 개수를 줄임으로써 플로우 처리 성능을 향상시키는 효과가 있다.
한편, 2단계 플로우 머지 기능은 동일 방향의 플로우와 양방향의 플로우 중에서 동일 플로우를 묶어서 하나의 플로우로 생성하는 기능을 의미한다. 플로우 머지 1단계인 동일 방향 플로우 머지는 하나의 플로우에 속하는 여러 개의 패킷이 트래픽 로드 벨런싱(Load Balancing) 혹은 멀티패스 라우팅 등의 이유로 서로 다른 여러 개의 회선에 나뉘어져서 전송될 경우 하나의 플로우로 머지하는 기능이며, 2단계인 양방향 플로우 머지는 대부분의 인터넷 응용 트래픽이 Request/Reply 구조의 프로토콜에 기반하고 있기 때문에 서로 반대방향의 두 개 혹은 그 이상의 단방향 플로우로 구성된다. 이 경우 동일한 응용에 의해서 발생된 여러 개의 단방향 플로우를 머지하는 기능이다. 따라서 2단계 플로우 머지 기능은 비대칭적인 인터넷 트래픽 플로우의 특성을 고려하여 플로우의 분석을 용이하게 하고, 분석 성능을 향상시키는 효과가 있다.
플로우 전송부(230)는 플로우 처리부(220)에서 생성된 플로우 메시지를 분석장치(300)으로 실시간 전송하고, 비실시간으로 단순 수집 패킷 등을 플로우 DB(600)에 저장하는 역할을 수행한다.
제어부(240)는 플로우 수신부(210), 플로우 처리부(220) 및 플로우 전송부(230)를 제어하여 플로우의 수집, 처리 및 전송 동작의 시작/종료/재시작 등을 관리하고, 그리고 시스템 오류 발생 등의 기타 예외 상황에 대한 정보를 제어장치(500)으로 전달한다.
도 4는 본 발명의 실시 예에 따른 분석장치(300)의 상세 구조 및 구조 요소들 간의 관계를 도시한 도면이다.
도 4를 참조하면, 분석장치(300)는 FM 인터페이스부(310), CCM 인터페이스부(320), 플로우 분석부(330) 및 GUI 인터페이스부(340)를 포함할 수 있다.
FM 인터페이스부(310)는 플로우 중재장치(200)로부터 수신한 플로우 메시지 및 트래픽 통계 기초정보를 플로우 분석부(330)로 전달하는 역할을 수행한다.
CCM 인터페이스부(320)는 제어장치(500)으로부터 ARCL(Application Recognition Configuration Language) 파일이나 분석장치(300)의 시작, 종료, 혹은 재시작 등의 제어 정보를 수신하고, 분석장치(300)의 CPU, 메모리 사용, 운용 시간 등의 상태 정보를 제어장치(500)으로 전송하는 역할을 수행한다.
플로우 분석부(330)는 플로우 메시지 및 트래픽 통계 기초정보를 기반으로 트래픽 통계정보, 비용정산용 정보 등을 포함하는 트래픽 통계분석정보를 인터넷 응용별로 생성하여 출력한다. 트래픽 통계정보는 인터넷 응용별로 분석한 분 단위, 시간별, 일자별로 분석한 프로토콜별 트래픽 통계, 시간대별 트래픽 추이 변화, 프로토콜별 사용량, 전송 제어 절차(Transmission Control Procedure: TCP)/사용자 데이터그램 프로토콜(User Datagram Protocol: UDP) 포트별 사용, 인터넷 응용의 분포 등의 정보를 포함한다. 또한, 비용정산용 정보는 플로우의 상호 연관성을 고려한 분석을 통해 생성된다. 이렇게 생성된 인터넷 응용별 트래픽 통계분석정보는 플로우 분석부(330)에 의해 분석정보 DB(700)에 저장된다.
GUI 인터페이스부(340)는 플로우 분석부(330)에서 실시간 모니터링을 통해 생성된 비용정산용 정보 및 트래픽 통계분석정보를 GUI 장치(400)로 전달하는 역할을 수행한다.
이제 본 발명의 실시 예에 따른 인터넷 망으로부터 검출된 트래픽에 대한 트래픽 분석 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 5는 본 발명의 실시 예에 따른 트래픽 분석시스템의 트래픽 분석 방법을 도시한 흐름도이다.
도 5를 참조하면, 플로우 수집장치(100)는 우선 인터넷 망의 물리적 회선으로부터 패킷을 수집한다(S101). 이후, 수집된 패킷을 기초로 플로우 수집장치(100)는 6-튜플 기반으로 패킷을 조립하여 플로우를 생성하고(S102), 생성된 플로우 내용을 분석하여 트래픽 통계 기초정보를 생성한다(S1103). 한편, 본 발명의 실시 예에서는 패킷을 수집하고플로우를 생성하기 위하여 NPU를 사용하며, 특히 패킷 수집 및 플로우 생성 과정을 마이크로 코딩을 통하여 NPU 내 마이크로 엔진부에 하드웨어적 병렬처리 구조로 구현함으로써, 패킷의 실시간 수집 및 플로우 생성을 가능하게 하였다.
이후 생성된 플로우 및 트래픽 통계 기초정보는 플로우 중재장치(200)로 전달되고, 플로우 중재장치(200)는 원-패킷 플로우 병합과(S104), 2단계 플로우 머지를 수행하여(S105) 통합 플로우를 생성한다(S106). 통합 플로우가 생성되면, 플로우 중재장치(200)는 통합 플로우로부터 분석장치(300)가 인지 가능한 형태인 플로우 메시지를 생성한다(S120). 여기서, 원-패킷 플로우 병합이란 이상 트래픽이 발생하여 하나의 패킷만으로 구성된 플로우인 원-패킷 플로우들이 발생하면, 원-패킷 플로우들을 하나의 플로우로 병합하는 것을 의미하며, 원-패킷 플로우 병합을 수행하면 플로우의 개수를 감소시켜 분석장치(300)의 분석속도를 향상시킬 수 있다. 한편, 2단계 플로우 머지는 동일 방향의 플로우 및 양방향의 동일한 플로우를 병합하여 하나의 플로우로 생성하는 것을 의미하며. 플로우 머지 1단계인 동일 방향 플로우 머지는 하나의 플로우에 속하는 여러 개의 패킷이 트래픽 로드 벨런싱(Load Balancing) 혹은 멀티패스 라우팅 등의 이유로 서로 다른 여러 개의 회선에 나뉘어져서 전송될 경우 하나의 플로우로 머지하는 기능이며, 2단계인 양방향 플로우 머지는 대부분의 인터넷 응용 트래픽이 Request/Reply 구조의 프로토콜에 기반하고 있기 때문에 서로 반대방향의 두 개 혹은 그 이상의 단방향 플로우로 구성된다. 이 경우 동일한 응용에 의해서 발생된 여러 개의 단방향 플로우를 머지하는 기능이다. 따라서 2단계 플로우 머지 기능으로 인해 비대칭적인 인터넷 트래픽의 특성을 고려하여 플로우의 분석을 용이하게 하고, 분석 성능을 향상시키는 효과가 있다.
플로우 메시지를 수신한 분석장치(300)는 플로우 메시지 및 트래픽 통계 기초정보를 기반으로 분 단위, 시간별, 일자별로 분석한 프로토콜별 통계 정보, 시간대별 트래픽 추이 변화, 프로토콜별 사용량, 전송 제어 절차(Transmission Control Procedure: TCP)/사용자 데이터그램 프로토콜(User Datagram Protocol: UDP) 포트별 사용량, 인터넷 응용 분포 등을 포함하는 트래픽 통계정보를 인터넷 응용별로 생성한다(S107). 또한, 플로우의 상호 연관성을 고려한 분석을 통해 비용정산용 정보를 생성한다(S109). 이러한 트래픽 통계정보, 비용정산용 정보 등을 포함하는 트래픽 통계분석정보는 분석정보 DB(700)에 저장되기도 하고, 실시간으로 GUI 장 치(400)를 통해 다양한 형태로 사용자에게 제공한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방법으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명의 실시 예에 따르면, 인터넷 망으로부터 패킷을 수집하고 플로우를 생성하기 위하여 네트워크 전용으로 설계된 네트워크 프로세서를 사용함으로써, 종래의 범용 CPU(Central Processor Unit)를 사용하여 패킷을 수집하고 플로우를 생 성하던 것에 비해 처리 속도를 향상시킬 수 있다. 또한, 패킷을 수집하고 플로우를 생성하는 것과 같이 고속의 데이터 처리를 요하는 기능은 마이크로 코딩을 통하여 하드웨어적 병렬처리 구조로 구현함으로써, 고속 다회선에서 트래픽의 손실 없이 실시간으로 플로우를 생성하는 것이 가능한 효과가 있다.
또한, 원-패킷 플로우 병합과 2단계 플로우 머지 과정을 수행하여 전체 플로우 개수를 줄이고 비대칭적인 인터넷 트래픽의 특성을 반영한 통합 플로우를 생성한다. 이에 따라 트래픽 분석시스템의 분석 성능을 향상시킬 수 있고, 실시간으로 인터넷 응용별 통계분석 자료 및 비용 정산자료를 사용자에게 제공할 수 있다.

Claims (13)

  1. 인터넷 망에 연결된 시스템에서 상기 인터넷 망에 대한 트래픽을 분석하는 방법에 있어서,
    상기 인터넷 망으로부터 가공되지 않은 패킷을 수집하는 단계;
    네트워크 프로세서를 이용한 병렬처리를 통해 상기 가공되지 않은 패킷으로부터 플로우를 생성하는 단계;
    이상 트래픽 발생으로 생성된 원-패킷 플로우의 병합과정과 동일한 응용에 의해 발생된 플로우의 병합과정을 통해 상기 생성된 플로우로부터 통합 플로우를 생성하는 단계; 및
    상기 통합 플로우를 이용해 인터넷 응용별 트래픽 통계분석정보를 생성하는 단계
    를 포함하는 트래픽 분석방법.
  2. 제 1항에 있어서,
    상기 가공되지 않은 패킷은, 상기 인터넷 망의 물리적인 회선 태핑, 스위치의 포트 미러링 기능 및 라우터의 포트 미러링 기능 중 하나를 이용하여 수집된 패킷인 트래픽 분석방법.
  3. 제 1항에 있어서,
    상기 동일한 응용에 의해 발생된 플로우의 병합과정은,
    동일 플로우가 하나 이상의 회선으로 분류되어 전송되는 경우에 해당하는 하나 이상의 플로우를 하나의 플로우로 병합하는 단계; 및
    동일한 응용에 의해 발생하는 하나 이상의 단방향 플로우를 병합하는 단계;
    를 포함하는 것을 특징으로 하는 트래픽 분석방법.
  4. 제 1항에 있어서,
    상기 생성된 플로우를 분석하여 트래픽 통계 기초정보를 생성하는 단계
    를 더 포함하고,
    상기 인터넷 응용별 트래픽 통계분석정보는 상기 트래픽 통계 기초정보를 이용해 생성되는 것을 특징으로 하는 트래픽 분석방법.
  5. 제 1항에 있어서,
    상기 트래픽 통계분석정보는 비용정산용 정보를 포함하는 것을 특징으로 하는 트래픽 분석방법.
  6. 제 1항에 있어서,
    상기 플로우를 생성하는 단계는,
    상기 수집된 가공되지 않은 패킷 중에서 아이피 패킷의 헤더 정보인 소스 아이피 주소, 목적지 아이피주소, 소스 포트, 목적지 포트, 프로토콜 아이디 및 응용 식별자 중 적어도 하나의 항목이 일치하는 패킷을 모아 플로우를 생성하는 단계인 트래픽 분석방법.
  7. 인터넷 망으로부터 수집된 가공되지 않은 패킷을 바탕으로 플로우를 생성하여 출력하는 플로우 수집장치;
    상기 생성된 플로우에 대해 이상 트래픽 발생으로 생성된 원-패킷 플로우의 병합과정과 동일한 응용에 의해 발생된 플로우의 병합과정을 수행하여 통합 플로우를 생성하고, 상기 통합 플로우에 해당하는 플로우 메시지를 출력하는 플로우 중재장치; 및
    상기 플로우 메시지를 분석하여 인터넷 응용별 트래픽 통계분석정보를 생성하는 분석장치
    을 포함하는 트래픽 분석시스템.
  8. 제 7항에 있어서,
    상기 플로우 수집장치는,
    상기 인터넷 망의 물리적인 회선 태핑, 스위치의 포트 미러링 기능 및 라우터의 포트 미러링 기능 중 하나를 이용하여 상기 가공되지 않은 패킷을 수집하는 패킷 추출 처리부; 및
    상기 수집된 가공되지 않은 패킷으로부터 플로우를 생성하여 출력하고, 상기 생성된 플로우의 내용을 바탕으로 트래픽 통계 기초정보를 생성하여 출력하는 플로우 생성부
    를 포함하는 것을 특징으로 하는 트래픽 분석시스템
  9. 제 8항에 있어서,
    상기 플로우 수집장치는 네트워크 프로세서를 사용하여 구현하는 것을 특징으로 하는 트래픽 분석시스템.
  10. 제 9항에 있어서,
    상기 패킷 추출 처리부의 패킷의 수집 기능과, 상기 플로우 생성부의 플로우 생성 기능은 마이크로 코딩을 통하여 하드웨어적 병렬 구조로 구현되는 것을 특징으로 하는 트래픽 분석시스템.
  11. 제 8항에 있어서,
    상기 플로우 중재장치는,
    상기 플로우 수집장치로부터 상기 생성된 플로우 및 상기 트래픽 통계 기초정보를 수신하는 플로우 수신부;
    상기 수신부를 통해 전달받은 상기 생성된 플로우에 기초해 상기 통합 플로우를 생성하고, 상기 통합 플로우에 대응되는 상기 플로우 메시지를 출력하는 플로우 처리부; 및
    상기 플로우 메시지 및 상기 트래픽 통계 기초정보를 상기 분석장치로 전달하는 플로우 전송부
    를 포함하는 것을 특징으로 하는 트래픽 분석시스템.
  12. 제 11항에 있어서,
    상기 플로우 처리부는,
    동일 플로우가 하나 이상의 회선으로 분류되어 전송되는 경우에 해당하는 하나 이상의 플로우를 하나의 플로우로 병합하고, 동일한 응용에 의해 발생하는 하나 이상의 단방향 플로우를 병합하여 상기 동일한 응용에 의해 발생된 플로우의 병합과정을 수행하는 트래픽 분석시스템.
  13. 제 7항에 있어서,
    상기 플로우 메시지는 아이피 플로우 정보 익스포트 플로우 메시지인 것을 특징으로 하는 트래픽 분석시스템.
KR1020070028989A 2007-03-26 2007-03-26 트래픽 분석 방법 및 그 시스템 KR100862727B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070028989A KR100862727B1 (ko) 2007-03-26 2007-03-26 트래픽 분석 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070028989A KR100862727B1 (ko) 2007-03-26 2007-03-26 트래픽 분석 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20080087197A KR20080087197A (ko) 2008-10-01
KR100862727B1 true KR100862727B1 (ko) 2008-10-10

Family

ID=40149882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070028989A KR100862727B1 (ko) 2007-03-26 2007-03-26 트래픽 분석 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100862727B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101211147B1 (ko) * 2011-03-07 2012-12-11 주식회사 크레블 네트워크 검사 시스템 및 그 제공방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931328B1 (ko) * 2009-03-12 2009-12-11 주식회사 로그 복수의 접속 통계 서버를 통합하여 운영하는 시스템 및 그 방법
US9240948B2 (en) 2012-10-22 2016-01-19 Electronics And Telecommunications Research Institute Method for managing and sharing symmetric flow and asymmetric flow in duplexed network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030028013A (ko) * 2001-09-27 2003-04-08 주식회사 케이티 수동적 측정 방식을 이용한 인터넷 프로토콜 네트워크트래픽 정보 분석 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030028013A (ko) * 2001-09-27 2003-04-08 주식회사 케이티 수동적 측정 방식을 이용한 인터넷 프로토콜 네트워크트래픽 정보 분석 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
'Network Processor Load Balancing for High-Speed Links'(2002)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101211147B1 (ko) * 2011-03-07 2012-12-11 주식회사 크레블 네트워크 검사 시스템 및 그 제공방법

Also Published As

Publication number Publication date
KR20080087197A (ko) 2008-10-01

Similar Documents

Publication Publication Date Title
Kfoury et al. An exhaustive survey on p4 programmable data plane switches: Taxonomy, applications, challenges, and future trends
Lee et al. Network monitoring: Present and future
EP3151470B1 (en) Analytics for a distributed network
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
Callado et al. A survey on internet traffic identification
Gebert et al. Internet access traffic measurement and analysis
Lowekamp et al. A hierarchy of network performance characteristics for grid applications and services
US7269157B2 (en) System and method to assure network service levels with intelligent routing
EP2206289B1 (en) Intelligent collection and management of flow statistics
EP1511220B1 (en) Non-intrusive method for routing policy discovery
US20030088671A1 (en) System and method to provide routing control of information over data networks
JP2005508593A (ja) ネットワークで情報のルーティング制御を実現するためのシステム及び方法
US20030133443A1 (en) Passive route control of data networks
KR20140106547A (ko) 네트워크 메타데이터를 처리하기 위한 스트리밍 방법 및 시스템
EP2250764B1 (en) In-bound mechanism that monitors end-to-end qoe of services with application awareness
Zseby et al. IP flow information export (IPFIX) applicability
Kobayashi et al. IP flow information export (IPFIX) mediation: Problem statement
Wang et al. A bandwidth-efficient int system for tracking the rules matched by the packets of a flow
US20160248652A1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
KR100862727B1 (ko) 트래픽 분석 방법 및 그 시스템
Pekár et al. Issues in the passive approach of network traffic monitoring
Teixeira et al. Deploying time-based sampling techniques in software-defined networking
Silva et al. A modular traffic sampling architecture: bringing versatility and efficiency to massive traffic analysis
Ando et al. L7 packet switch: packet switch applying regular expression to packet payload
Zaw Delay-Aware Elephant Flow Rerouting in Software-Defined Networking (SDN)

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 10