KR20160035793A - 심층 패킷 분석 방법 및 장치 - Google Patents

심층 패킷 분석 방법 및 장치 Download PDF

Info

Publication number
KR20160035793A
KR20160035793A KR1020140127551A KR20140127551A KR20160035793A KR 20160035793 A KR20160035793 A KR 20160035793A KR 1020140127551 A KR1020140127551 A KR 1020140127551A KR 20140127551 A KR20140127551 A KR 20140127551A KR 20160035793 A KR20160035793 A KR 20160035793A
Authority
KR
South Korea
Prior art keywords
packet
mobile communication
packets
communication service
same flow
Prior art date
Application number
KR1020140127551A
Other languages
English (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 KR1020140127551A priority Critical patent/KR20160035793A/ko
Publication of KR20160035793A publication Critical patent/KR20160035793A/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/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 DPI(Deep Packet Inspection) 방식을 이용하여 이동통신 서비스 종류에 따라서 트래픽(traffic)을 제어하고 과금을 수행하기 위한 심층 패킷 분석 방법 및 장치에 관한 것이다. 본 발명의 심층 패킷 분석 장치는, 패킷들을 수신하고, 패킷들 중 동일한 튜플(tuple) 정보를 포함하는 패킷들을 동일 플로우(flow)로 분류하고, 동일 플로우로 분류된 패킷들의 페이로드(payload)가 포함하는 특정 영역의 문자열을 추출하고, 추출된 문자열의 페이로드 내에서의 위치 및 추출된 문자열의 조합이 미리 설정된 규칙과 일치하는지 여부를 판단하며, 동일 플로우에 포함된 패킷들 중 미리 설정된 규칙과 일치하는 문자열을 포함하는 패킷들이 임계 개수 이상 존재할 경우 미리 설정된 규칙에 대응하여 저장된 이동통신 서비스를 동일 플로우의 이동통신 서비스로 결정한다.

Description

심층 패킷 분석 방법 및 장치{METHOD AND APPARATUS FOR DEEP PACKET INSPECTING}
본 발명은 이동통신 분야에 관한 것으로, 특히 DPI(Deep Packet Inspection) 방식을 이용하여 이동통신 서비스 종류에 따라서 트래픽(traffic)을 제어하고 과금을 수행하기 위한 심층 패킷 분석 방법 및 장치에 관한 것이다.
일반적으로 이동통신 서비스에 사용되는 패킷(Packet)은 IP(Internet Protocol) 네트워크상에서 전송되거나 라우트(route)되는 가장 작은 단위를 나타낸다. 패킷은 크게 헤더(header)와 페이로드(payload)로 구분되며, 헤더는 IP 헤더와 프로토콜 헤더로 구분된다. IP 헤더는 패킷의 가장 바깥쪽에 위치한 영역으로 패킷의 출발 주소, 패킷의 도착 주소, 패킷의 바이트(byte) 단위 길이, 전송의 우선순위 등과 같은 정보를 포함한다. IP 헤더 안쪽 영역으로는 프로토콜 헤더 중 하나인 전송계층 프로토콜 헤더가 있는데, 여러 가지 전송계층 프로토콜 가운데 전송 제어 프로토콜(TCP: Transmission Control Protocl)이 가장 널리 사용되고 있다. TCP는 패킷이 전달되어야 할 단말단의 주소(포트(port)라함)를 식별하고 패킷 손실시 오류 검출 정보를 제공하는 기능을 담당하며, TCP 헤더는 착발신 포트, 시퀀스 넘버 등으로 구성된다. 예를 들어, 인터넷상에서 웹페이지(web page) 등을 요청할 때 쓰는 HTTP(Hyper Text Transfer Protocol)는 포트 80을, 이메일(e-mail)은 포트 25를 사용한다. 페이로드는 전송되는 실제 콘텐츠나 데이터를 담고 있는 패킷의 심층 부분을 나타낸다. 즉, 이메일 메시지, VoIP 통화, 웹서핑 세션 등을 구성하는 모든 비트가 페이로드에 해당한다.
데이터는 전송될 때 분할, 암호화, 압축 및 포장 과정을 거쳐서 목적지에 전달된 뒤, 포장을 풀고, 암호를 풀고, 압축을 풀고, 분할된 것을 다시 조립하는 과정을 거쳐 수신될 수 있다. 이러한 과정은 일반적으로 표 1에 기재된 OSI(Open System Interconnection) 계층으로 불리는 네트워크 참조모델(Reference Model)로 구현된다. OSI 계층과 패킷의 구조를 연관지어 보면, 헤더는 1~4 계층, 페이로드는 5~7 계층에 해당한다.
계층 OSI 계층 기 능 페이로드/헤더 구분
7 애플리케이션 계층
(Application Layer)
사용자가 사용하는 층으로 HTTP, FTP, 이메일 등 서비스 의미


페이로드
(Payload)
6 프리젠테이션 계층
(Presentation Layer)
정보의 표현방식 관리, 암호화, 정보 압축
5 세션 계층
(Session Layer)
응용 프로세서간 대화 관장
4 트랜스포트 계층
(Transport Layer)
한 컴퓨터 안에서 포트 번호로 프로그램들을 구분 TCP 헤더
(TCP Header)
3 네트워크 계층
(Network Layer)
IP 주소를 통해 바이너리 집합체 전송

IP 헤더
(IP Header)

2 데이터링크 계층
(Data Link Layer)
MAC 주소를 통해 바이트들로 나열된 집합체 전송 및 데이터 전송상의 에러 확인
1 물리 계층
(Physical Layer
전자 신호 전송(비트정보 전달)
패킷 분석은 OSI 계층의 어느 부분까지를 살펴보는 지로 세분화할 수 있는데, 그 세분화 정도에 있어 명확히 규정된 것은 없으나 3단계로 구분하는 방법을 예로 들 수 있다. 3단계의 패킷 분석 방법은 단층 패킷 분석(SPI: Shallow Packet Inspection 또는 Stateful Packet Inspection), 중층 패킷 분석(MPI: Medium Packet Inspection), 심층 패킷 분석(DPI: Deep Packet Inspection)으로 구분할 수 있다.
SPI는 주로 네트워크 방화벽(firewall) 시스템을 위해 개발되어 온 기술로, 단층 패킷 분석에서는 패킷의 헤더 정보를 조사하여 이들 정보가 미리 작성된 블랙리스트(black list)에 포함되어 있으면 패킷을 전달하지 않는다. SPI에서는 세션(session) 계층, 프리젠테이션 계층 또는 애플리케이션 계층의 정보를 조사하지 않는다. 즉 SPI에서는 패킷의 페이로드 부분까지 분석하지 않고, 패킷의 헤더 정보만을 이용하여 트래픽을 판단하기 때문에 트래픽에 대한 정교한 분석(특히, 애플리케이션 관련 추론)은 어렵지만, DPI에 비해 대용량의 트래픽을 매우 빠르게 처리할 수 있다.
MPI에서는 특정 패킷의 전송 여부를 데이터 포맷의 종류와 인터넷에서의 위치에 기반하여 결정한다. 즉, 패킷이 애플리케이션 프락시(Application Proxies)라는 임시 저장소에 수신되면 애플리케이션 프락시는 패킷의 헤더 정보를 파스리스트(parse-list)에 따라서 검토하여 전송 여부를 판단한다.
DPI는 패킷의 헤더(header) 영역뿐만 아니라 페이로드(payload) 영역을 분석하는 패킷 필터링(filtering)의 한 형태이다. 즉, DPI는 IP 헤더와 TCP/UDP 헤더를 분석하는 것 외에도, 페이로드에 포함되어 있는 문자열 또는 16진수 값으로 특징 지을 수 있는 패턴들(patterns)을 검사하고, 페이로드의 통계적 특징들을 추출 및 검사하여 임의의 플로우(flow)를 통해 전달되는 패킷들이 각각 어떠한 서비스를 제공하고 있는지를 식별하는 기술을 의미한다.
일 실시예로서, LTE(Long Term Evolution) 코어망(Core Network)에서 심층 패킷 분석 기능을 수행하는 DPI 장치는 PDN 게이트웨이(P-GW: Packet Data Network Gateway) 안에 구비되어 동작하거나 P-GW와 인터넷망 사이에 별도로 구비되어 심층 패킷 분석 기능을 수행할 수 있다.
이동통신 가입자들이 인터넷을 통해 단말로 제공받는 서비스들은 대부분 포트(port) 인식 방법과 패턴(pattern) 인식 방법에 의해 식별이 가능하다. 모바일 VoIP(Mobile Voice over Internet Protocol) 서비스도 일반적으로는 표준 프로토콜인 세션 개시 프로토콜(SIP: Session Initiation Protocol)과 실시간 전송 프로토콜(RTP: Real-time Transport Protocol)에 따라 구현되기 때문에 SIP 분석에 의해 쉽게 인식할 수 있다. 그러나, 최근 스마트폰의 보편화와 함께 가입자들이 급격히 증가한 모바일 VoIP 서비스와 같은 이동통신 서비스들의 경우에는 세션 개시 프로토콜에 해당하는 세션 초기화 및 설정을 위한 플로우의 패킷들 내용을 암호화하기 때문에 DPI 장치에서 패킷 플로우(packet folw)를 이동통신 서비스별로 식별해 내기 어려운 문제점이 있다. 따라서, 이동통신 서비스들에 대한 서비스별 트래픽 제어 및 과금의 정확도가 떨어지는 문제점이 있다.
한국공개특허공보 제10-2011-0110832호 (2011.10.07 공개)
본 발명은 DPI(Deep Packet Inspection) 방식을 이용하여 이동통신 서비스 종류에 따라서 트래픽(traffic)을 제어하고 과금을 수행하기 위한 심층 패킷 분석 방법 및 장치를 제공한다.
본 발명의 심층 패킷 분석 방법은, a) 패킷들을 수신하고, 상기 패킷들 중 동일한 튜플(tuple) 정보를 포함하는 패킷들을 동일 플로우(flow)로 분류하는 단계와; b) 상기 동일 플로우로 분류된 패킷들의 페이로드(payload)가 포함하는 특정 영역의 문자열을 추출하는 단계와; c) 상기 추출된 문자열의 상기 페이로드 내에서의 위치 및 상기 추출된 문자열의 조합이 미리 설정된 규칙과 일치하는지 여부를 판단하는 단계와; d) 상기 동일 플로우에 포함된 패킷들 중 상기 미리 설정된 규칙과 일치하는 문자열을 포함하는 패킷들이 임계 개수 이상 존재할 경우, 상기 미리 설정된 규칙에 대응하여 저장된 이동통신 서비스를 상기 동일 플로우의 이동통신 서비스로 결정하는 단계를 포함한다.
또한 본 발명의 심층 패킷 분석 장치는, 패킷들을 수신하고, 상기 패킷들 중 동일한 튜플(tuple) 정보를 포함하는 패킷들을 동일 플로우(flow)로 분류하는 플로우 관리부와; 상기 동일 플로우로 분류된 패킷들의 페이로드(payload)가 포함하는 특정 영역의 문자열을 추출하고, 상기 추출된 문자열의 상기 페이로드 내에서의 위치 및 상기 추출된 문자열의 조합이 미리 설정된 규칙과 일치하는지 여부를 판단하고, 동일 플로우에 포함된 패킷들 중 상기 미리 설정된 규칙과 일치하는 문자열을 포함하는 패킷들이 임계 개수 이상 존재할 경우 상기 미리 설정된 규칙에 대응하여 저장된 이동통신 서비스를 상기 동일 플로우의 이동통신 서비스로 결정하는 하이브리드 인식부를 포함한다.
본 발명에 따르면, 수신된 패킷들의 페이로드(payload)의 일정 영역에 대해서 패턴 매칭을 수행하여 해당 패킷들을 포함하는 플로우의 이동통신 서비스 종류를 결정함으로써 DPI 장치의 부하를 감소시킬 수 있다.
도 1은 본 발명의 실시예에 따른 이동통신망의 구성을 보이는 예시도.
도 2는 본 발명의 실시예에 따른 EPC 망의 구성을 보이는 예시도.
도 3은 본 발명의 실시예에 따른 DPI 장치의 구성을 보이는 블록도.
도 4는 본 발명의 실시예에 따른 하이브리드 규칙 테이블의 구성을 보이는 블록도.
도 5는 본 발명의 실시예에 따른 하이브리드 규칙 테이블을 보이는 예시도.
도 6은 본 발명의 실시예에 따른 이동통신 트래픽 제어 방법의 절차를 보이는 플로우챠트.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
일 실시예에 있어서, 이동통신망은 예컨대 GSM(Global System for Mobile communication), CDMA와 같은 2G 무선통신망, LTE망, WiFi와 같은 무선인터넷, WiBro(Wireless Broadband Internet) 및 WiMax(World Interoperability for Microwave Access)와 같은 휴대인터넷 또는 패킷 전송을 지원하는 이동통신망{예컨대, WCDMA 또는 CDMA2000과 같은 3G 이동통신망, HSDPA(High Speed Downlink Packet Access) 또는 HSUPA(High Speed Uplink Packet Access)와 같은 3.5G 이동통신망, 또는 현재 서비스 중인 4G 이동통신망 등} 및 매크로 기지국(macro eNodeB), 초소형 기지국(Pico eNodeB, Home-eNodeB) 및 사용자 단말(UE: User Equipment)을 구성요소로 포함하는 임의의 기타 이동통신망을 포함할 수 있지만, 이에 제한되는 것은 아니다. 이하에서는 LTE의 무선접속망인 E-UTRAN(Evolved Universal Terrestrial Radio Access Network)을 위주로 설명한다.
도 1에 도시된 바와 같이, 이동통신망은 하나 이상의 네트워크 셀로 구성될 수도 있고, 이동통신망에 서로 다른 종류의 네트워크 셀이 혼재할 수 있는 HetNet(Heterogeneous Network) 환경을 포함한다. 이동통신망은 소규모의 네트워크 셀(예컨대, 피코셀, 펨토셀 등의 '소형셀(small cell)')을 관리하는 초소형 기지국(Pico eNodeB, Home-eNodeB, relay 등)(11~15, 21~23, 31~33), 넓은 범위의 셀(예컨대, '매크로셀(macro cell)')을 관리하는 매크로 기지국(macro eNodeB)(10,20,30), 사용자 단말(40), SON(Self Organizing & Optimizing Networks) 서버(50), MME(Mobility Management Entity)(60), S-GW(Serving Gateway)(80), P-GW(PDN(Packet Data Network) Gateway)(90) 및 HSS(Home Subscriber Server)(100)를 포함할 수 있다. 도 1에 도시된 각 구성요소의 개수는 예시적인 것으로, 본 발명이 실시될 수 있는 이동통신망의 각 구성요소의 개수가 도면에 도시된 개수에 제한되는 것은 아니다.
매크로 기지국(10,20,30)은, 예컨대 LTE망, WiFi망, WiBro망, WiMax망, WCDMA망, CDMA망, UMTS망, GSM망 등에서 사용될 수 있는, 예를 들어 1km 내외의 반경을 갖는 셀을 관리하는 매크로셀 기지국의 특징을 포함할 수 있지만, 이에 제한되는 것은 아니다.
초소형 기지국(11~15, 21~23, 31~33)은, 예컨대 LTE망, WiFi망, WiBro망, WiMax망, WCDMA망, CDMA망, UMTS망, GSM망 등에서 사용될 수 있는, 예를 들어 수 m ~ 수십 m 내외의 반경을 갖는 셀을 관리하는 피코 기지국, 옥내용 기지국 또는 펨토 기지국, 릴레이(relay)의 특징을 포함할 수 있지만, 이에 제한되는 것은 아니다.
초소형 기지국(11~15, 21~23, 31~33)이나 매크로 기지국(10,20,30)은 각각 독자적으로 코어망과의 접속성을 가질 수 있다.
사용자 단말(40)은 GSM망, CDMA망과 같은 2G 무선통신망, LTE망, WiFi망과 같은 무선인터넷망, WiBro망 및 WiMax망과 같은 휴대인터넷망 또는 패킷 전송을 지원하는 이동통신망에서 사용되는 이동 단말기의 특징을 포함할 수 있지만, 이에 제한되는 것은 아니다.
초소형 기지국의 네트워크 관리 장치인 관리 서버(O&M)(70)는 초소형 기지국(11~15, 21~23, 31~33)과 매크로 기지국(10,20,30)의 구성정보 및 관리를 담당한다. 관리 서버(70)는 SON 서버(50), MME(60) 및 HSS(100)의 기능을 모두 수행할 수 있다. SON 서버(50)는 매크로/초소형 기지국 설치 및 최적화를 수행하고 각 기지국에 필요한 기본 파라미터 또는 데이터를 제공하는 기능을 하는 임의의 서버를 포함할 수 있다. MME(60)는 사용자 단말(40)의 이동성 등을 관리하기 위하여 사용되는 임의의 개체를 포함할 수 있다. 또한, MME(60)는 기지국 제어기(BSC)의 기능을 수행하며, 자신에 연결된 기지국(pico eNodeB, Home-eNodeB, macro eNodeB 등)에 대하여 자원 할당, 호 제어, 핸드오버 제어, 음성 및 패킷 처리 제어 등을 수행할 수 있다. HSS(100)는 가입자의 서비스/인증을 위한 일종의 데이터베이스이다.
일 실시예로서, 하나의 관리 서버(70)가 SON 서버(50), MME(60) 및 HSS(100)의 기능을 모두 수행할 수 있고, SON 서버(50), MME(60) 및 HSS(100)는 하나 이상의 매크로 기지국(10,20,30)과 하나 이상의 초소형 기지국(11~15, 21~23, 31~33)을 관리할 수 있다.
상기 이동통신망에서 매크로셀, 피코셀 및 펨토셀이 혼재된 네트워크 셀을 가정하였지만, 네트워크 셀은 매크로셀-피코셀, 매크로셀-펨토셀 만으로도 구성 가능하다.
상기의 이동통신망을 LTE망으로 가정하는 경우, LTE망은 inter-RAT망(WiFi망, WiBro망, WiMax망, WCDMA망, CDMA망, UMTS망, GSM망 등)에 연동된다. inter-RAT망 중 하나(예컨대, WiBro망)가 상기 이동통신망인 경우 역시, 타 망(LTE망, WiFi망, WiMax망, WCDMA망, CDMA망, UMTS망, GSM망 등)에 연동된다. 도 1에는 일 망(예컨대, LTE망)과 타 망(WiFi망, WiBro망, WiMax망, WCDMA망, CDMA망, UMTS망, GSM망 등)이 이격되어 도시되어 있지만, 일 망과 타 망은 오버레이(overlay) 되어 있을 수 있다.
초소형 기지국(11~15, 21~23, 31~33) 또는/및 매크로 기지국(10,20,30)을 '기지국장치'로 통칭하여 명명하면, LTE의 기지국장치(도 2의 eNB, 25-n)로 구성되어 있는 E-UTRAN(Evolved UMTS Terrestrial Radio Access Network)은 IP 기반의 플랫(flat)한 구조를 가지고 사용자 단말(40)과 코어망 간의 데이터 트래픽(data traffic)을 처리한다. 이들 간의 신호 제어는 MME(60)가 담당한다. MME(60)는 기지국장치(25-n)와 S-GW(80) 간의 신호제어를 담당하고, 사용자 단말(40)로부터 인입되는 데이터를 어느 곳으로 라우팅할지를 결정한다. S-GW(80)는 기지국장치(25-n)와 기지국장치(25-n) 간, 3GPP 네트워크와 E-UTRAN 간의 사용자 단말 이동에 대한 앵커(anchor) 기능을 담당하고, P-GW(90)를 통해 IP망에 접속한다. 핵심망(Core Network) 장비인 MME(60)/S-GW(80)는 다수 개의 기지국장치(25-n)를 관장하며, 각 기지국장치(25-n)는 여러 개의 셀로 구성된다. 기지국장치(25-n)와 MME(60)/S-GW(80)간에는 S1 인터페이스를 사용하며, 기지국장치(25-n) 간 핸드오버 및 SON 기능을 위해 X2 인터페이스를 사용할 수 있다.
도 2는 본 발명의 실시예에 따른 EPC 망의 구성을 보이는 예시도이다.
E-UTRAN(25)은 적어도 하나의 eNB(25-1,... 25-n,...)로 구성되는 LTE의 무선접속망으로서, IP 기반이며, UE(40)와 MME(60)/S-GW(80) 사이에 위치하여 데이터 및 제어 정보를 전달한다. 또한, LTE 시스템을 사용하는 단말이 음성 서비스 이용시, 기존의 2G/3G 이동통신 네트워크로 이동하여 음성 서비스를 제공받도록 하는 CS(circuit switch) Fallback 목적의 페이징(Paging) 요청, SMS 메시지를 UE(40)로 전달하는 기능과 CS 서비스가 가능한 대상 셀(target cell)로의 직접 연결 기능 등을 지원한다.
도 2에서 "LTE-Uu"는 E-UTRAN(25)과 UE(40) 사이의 무선 인터페이스를 나타내고, "S1-MME"는 E-UTRAN(25)과 MME(60) 사이의 인터페이스를 나타내고, "S1-U"는 E-UTRAN(25)과 S-GW(80) 사이의 인터페이스를 나타내고, "S11"은 MME(60)와 S-GW(80) 사이의 인터페이스를 나타내고, "S5/S8"은 S-GW(80)와 P-GW(90) 사이의 인터페이스를 나타내며, "SGi"는 P-GW(90)와 IP망 사이의 인터페이스를 나타낼 수 있다. 그리고 "S6a"는 MME(60)와 HSS(100) 사이의 인터페이스를 나타낼 수 있다.
UE(40)와 E-UTRAN(25)의 eNB(25-1,... 25-n,...)는 RRC(Radio Resource Control) 프로토콜을 통해 통신하며, eNB(25-n)에서 자신이 제어하는 셀 영역으로의 브로드캐스팅(broadcasting) 메시지는 RRC 메시지로 정의된다. RRC 메시지에는 NAS(Non-Access Stratum) 프로토콜로부터 내려오는 제어 메시지들을 포함할 수 있는데, 제어 메시지들은 E-UTRAN(25) 내에서 판독되지 않고 UE(40) 또는 MME(60)/S-GW(80)로 투명하게(transparently) 전달된다.
eNB(25-n)는 E-UTRAN(25)의 무선신호에 대한 종단점으로, 제어신호는 S1-MME 인터페이스를 통해 MME(60)와 연동되고, 데이터 트래픽은 S1-U 인터페이스를 통해 S-GW(80)와 연동된다. S-GW(80)는 E-UTRAN(25) 내의 이동성(mobility)에 대한 앵커(anchor) 및 다운링크(downlink) 트래픽에 대한 버퍼링 기능을 수행한다. P-GW(90)는 외부 IP망 연결점으로, 이동 가입자에 대한 IP 할당 및 과금, 사용자 데이터에 대한 트래픽 제어 기능을 수행한다.
IP망은 EPC 망에서 UE(40)에 대한 IMS(IP Multimedia Subsystem) 서비스를 제공하고, PCRF(Policy & Charging Rule Function), IMS nodes(예를 들어 P-CSCF(Proxy Call Session Control Function), I-CSCF(Interrogating Call Session Control Function), S-CSCF(Serving Call Session Control Function), AF (Application Function)) 등을 포함할 수 있다.
UE(40)는 EPC 베어러(E-UTRAN/S-GW/P-GW에 의해 제공)를 통해 IMS node들과 Gm 인터페이스를 이용해 멀티미디어 서비스를 위한 호 제어 메시지를 주고 받는다.
E-UTRAN(25)은 UE(40)에게 무선통신 기능을 제공하며 이를 위해 무선자원을 관리하는 기능을 수행한다.
MME(60)는 UE(40)를 인증하기 위한 인증 정보를 HSS(100)로부터 전송받아 UE(40)의 인증을 수행할 수 있다. 또한, MME(60)는 UE(40) 및 기지국장치(25-n)의 이동성을 기지국장치(25-n)의 상위에서 관리하며, 베어러 설정/해제와 같은 호 제어 기능을 수행할 수 있다. 아울러, MME(60)는 S-GW(80)와 P-GW(90)를 통해서 IP망에 직접 연결될 수 있다. 기지국장치(25-n)의 호처리 제어 신호는 MME(60)를 통해서 S-GW(80)에 전달되고, 호처리 제어 신호에 따라서 호처리에 필요한 작업 요청을 위한 메시지를 P-GW(90)로 전송할 수 있다.
S-GW(80)는 3GPP 네트워크와 E-UTRAN(25) 간의 게이트웨이 역할을 수행하며, 기지국장치-기지국장치(inter-eNodeB) 간 핸드오버 및 3GPP 네트워크-3GPP 네트워크(inter-3GPP) 간 UE(40)의 이동성 제공을 위한 이동성 앵커(mobility anchor) 기능을 수행할 수 있다. S-GW(80)는 기지국장치(25-n)의 제어 신호에 따라 호처리에 필요한 작업을 P-GW(90)로 전송할 수 있다.
P-GW(90)는 UE(40)에 IP 주소를 할당하고, UE(40)별로 서로 다른 QoS 정책을 적용할 수 있다. 또한, P-GW(90)는 PDN(Packet Data Network)으로의 게이트웨이 역할을 수행하여 UE(40)로 하여금 인터넷 또는 인터넷과 같은 데이터 망에 접속하여 서비스를 제공받을 수 있도록 한다. 일 실시예로서, LTE 코어망에서 심층 패킷 분석 기능을 수행하는 DPI(Deep Packet Inspection) 장치는 P-GW(90)안에 구비되어 동작하거나 P-GW(90)와 IP망 사이에 별도로 구비되어 심층 패킷 분석 기능을 수행할 수 있다.
일 실시예로서, S-GW(80)와 P-GW(90)가 분리되어 S5/S8 인터페이스로 통신하는 것으로 도시되었지만, S-GW(80)와 P-GW(90)를 하나의 게이트웨이(single gateway)로 구현할 수 있다.
HSS(100)는 UE(40)를 인증하기 위한 인증 정보, UE(40)의 위치 정보 및 UE(40)의 프로파일을 관리할 수 있다. UE(40)의 프로파일은 각 UE(40)가 가입한 서비스 상품에 맞는 QoS 등급 정보(예를 들어, 우선순위, 최대 사용 가능 대역폭 등)를 포함할 수 있다. 일 실시예로서, UE(40)를 인증하기 위한 인증 정보 및 UE(40)의 프로파일은 UE(40)가 네트워크에 접속할 때 HSS(100)에서 MME(60)로 전달할 수 있다.
PCRF(미도시됨)는 정책(policy) 및 과금(charging)에 대한 규칙(rule)을 관리하고 P-GW(90) 및 S-GW(80)가 UE(40)에게 적절한 QoS 제공 및 이용된 베어러에 대한 과금 기능을 수행할 수 있도록 해준다.
IMS node(도시하지 않음)는 세부적으로 P-CSCF, I-CSCF, S-CSCF, AF 등과 같은 노드로 구성되며, UE(40)가 VoIP(Voice over Internet Protocol) 및 영상 통화와 같은 멀티미디어 서비스를 제공해 준다.
이동통신 서비스[예를 들어, 모바일 VoIP 서비스, IM(Instant Messaging) 서비스, 영상 통화 서비스 등]는 음성 또는 영상 통화와 같은 멀티미디어 세션(session)을 제어하기 위한 세션 개시 프로토콜(SIP: Session Initiation Protocol)(사용자 데이터그램 프로토콜(UDP: User Datagram Protocol)/전송 제어 프로토콜(TCP: Transmission Control Protocol)) 플로우, 음성 또는 영상 통화를 위한 멀티미디어 데이터를 송수신하기 위한 실시간 전송 프로토콜(RTP: Real-time Transport Protocol) 플로우, RTP 플로우에 대한 제어 정보를 송수신하기 위한 실시간 전송 제어 프로토콜(RTCP: Real Time Control Protocol) 플로우를 포함할 수 있다. SIP 플로우는 멀티미디어 데이터를 전달하기 위해 사용할 RTP 플로우의 연결 정보(예를 들어, 목적지 IP 주소 및 목적지 포트 번호) 및 RTCP 플로우의 연결 정보(예를 들어, 목적지 IP 주소 및 목적지 포트 번호)를 UE(40)간에 전달하여 음성 또는 영상 통화가 가능하도록 설정할 수 있다.
그러나, 모바일 앱 시장(mobile application market)을 통해 배포되는 다양한 이동통신 서비스 애플리케이션들은 다양한 방식을 이용하여 해당 애플리케이션의 실행을 위한 패킷의 내용을 암호화하여 이동통신 서비스에 대한 세부 사항들을 숨기므로, 그 결과 DPI 장치의 패킷에 대한 이동통신 서비스 인식률이 저하될 수 있다. 즉, 기존의 이동통신 서비스 인식 방법은 패킷 플로우가 다양하게 암호화되는 것으로 인해, 음성 또는 영상 데이터를 전달하기 위해 사용할 패킷 플로우에 대한 정보를 SIP 플로우로부터 추출하지 못해 인식율이 낮은 휴리스틱 방식에만 의존하여 인식을 시도하는 것에 비해, 본 발명의 실시예에 따른 하이브리드 인식 방식은 RTP 플로우를 포함하는 모든 UDP 플로우들에 대해 일정 기간 동안 정해진 패턴들에 대한 패턴 매칭을 시도함으로써 인식율을 향상시킬 수 있다. 또한, 휴리스틱 방식에서는 패킷들에 대한 통계적 수치(예를 들어, 패킷의 평균크기, 패킷의 평균전송율, 비트 평균전송율, 패킷 최대 크기)를 수집하기 위해 패킷이 수신될 때마다 많은 연산을 수행하는 것에 비해, 하이브리드 방식에서는 패킷의 페이로드(payload)의 위치와 형태를 고려한 일정 영역에 대해서 패턴 매칭을 수행하고 패턴 매칭을 통과한 패킷의 개수만을 카운트함으로써 DPI 장치의 부하를 감소시킬 수 있다.
도 3은 본 발명의 실시예에 따른 DPI 장치의 구성을 보이는 블록도이다.
도 3에 도시한 바와 같이, DPI 장치(300)는 플로우 관리부(310), 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340), 휴리스틱 인식부(350), 하이브리드 인식부(360), DPI 규칙 저장부(370), 하이브리드 규칙 저장부(380) 및 서비스 결정부(390)를 포함할 수 있다. 일 실시예로서, 플로우 관리부(310), 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340), 휴리스틱 인식부(350), 하이브리드 인식부(360), DPI 규칙 저장부(370), 하이브리드 규칙 저장부(380) 및 서비스 결정부(390)는 시스템 버스(도시하지 않음)를 이용하여 연결될 수 있다. 일 실시예로서, DPI 장치(300)는 P-GW(90) 안에 구비되어 동작하거나, P-GW(90)와 별도로 구비되어 DPI 기능을 수행할 수 있다.
플로우 관리부(310)는 동일한 5-튜플(tuple) 정보(예를 들어, 소스 IP 주소, 목적지 IP 주소, 프로토콜 종류, 소스 포트 번호, 목적지 포트 번호)를 갖는 패킷들을 동일 플로우로 관리하기 위해서 제어 블록이라는 메모리(memory)를 할당하고, 할당된 제어 블록에 해당 플로우에 대한 이동통신 서비스(예를 들어, 모바일 VoIP 서비스) 인식을 위해 필요한 정보를 저장할 수 있다. 일 실시예로서, 이동통신 서비스 인식을 위해 필요한 정보는 해당 플로우에 대하여 수신된 패킷의 개수, 해당 플로우의 이동통신 서비스 결정 여부, 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340), 휴리스틱 인식부(350) 및 하이브리드 인식부(360)에 의해 추출된 서비스 식별자 및 해당 서비스 식별자에 대응하여 미리 설정된 우선 순위, 멀티미디어 세션의 종료시간을 나타내는 타임 아웃 시간, 동일 플로우에 포함된 패킷들의 평균 크기, 동일 플로우에 포함된 패킷들의 전송율, 동일 플로우에 포함된 일련의 패킷들의 비트 평균 전송율, 동일 플로우에 포함된 패킷들 중 최대 크기를 갖는 패킷의 크기 등을 포함할 수 있다. 상기한 서비스 식별자에 대응하는 우선 순위는 이동통신 서비스 개발자에 의해서 다수의 이동통신 서비스들 간에 우선 순위가 충돌하지 않도록 설정될 수 있으며, 일 실시예로서 우선 순위는 1 ~ 10 사이의 정수로 표시될 수 있고, 우선 순위가 높을수록 DPI 규칙과 연계된 이동통신 서비스일 가능성이 높음을 나타낼 수 있다. 아울러, 플로우 관리부(310)는 동일 플로우에 포함된 첫번째 패킷이 수신될 경우 제어 블록을 생성할 수 있고, 동일 플로우에 포함된 두번째 패킷부터는 첫번째 패킷 수신시 생성된 제어 블록에 대해 이동통신 서비스의 결정에 필요한 정보를 추가적으로 업데이트 할 수 있다.
포트 인식부(320)는 수신된 패킷의 헤더(header)로부터 포트 번호 정보를 추출한 후, DPI 규칙 저장부(370)에 저장된 포트 번호 정보와 비교하여 일치하는 포트 번호가 존재하는 경우, DPI 규칙 저장부(370)에 일치하는 포트 번호와 연관되어 저장된 서비스 식별자를 추출하고, 추출된 서비스 식별자 및 해당 서비스에 대응하여 미리 설정된 우선 순위를 해당 패킷에 대하여 생성된 제어 블록에 이동통신 서비스 후보로 저장할 수 있다.
패턴 인식부(330)는 DPI 규칙 저장부(370)에 저장된 특정 패턴과 일치하는 패턴이 수신된 패킷의 페이로드에 존재하는 경우 DPI 규칙 저장부(370)에서 해당 패턴에 대응하여 저장된 서비스 식별자를 추출하고, 추출된 서비스 식별자 및 해당 서비스에 대응하여 미리 설정된 우선 순위를 해당 패킷에 대하여 생성된 제어 블록에 이동통신 서비스 후보로 저장할 수 있다. 일 실시예로서, 상기한 패턴은 소정 크기를 갖는 문자열을 나타낼 수 있다.
플로우 연관 인식부(340)는 수신된 패킷의 헤더를 검사하여 헤더가 특정 포트번호(예를 들어, UDP/TCP 5060 포트)를 포함하고 있을 경우 SIP 패킷을 수신한 것으로 판단할 수 있다. 플로우 연관 인식부(340)는 SIP 패킷이 수신되었음을 인식한 경우, 해당 SIP 패킷의 페이로드를 구성하는 SDP(Session Description Protocol) 메시지를 분석하여 멀티미디어 데이터를 전송하기 위해 사용될 SDP 플로우의 연결 정보(예를 들어, 목적지 IP 주소, 음성 또는 영상 플로우의 목적지 포트 번호, 해당 플로우의 이동통신 서비스 식별자, 해당 서비스에 대응하여 미리 설정된 우선 순위 등)를 추출하여 와일드카드 플로우 항목(entry)을 형성할 수 있다. 플로우 연관 인식부(340)는 형성된 와일드카드 플로우 항목을 미리 설정된 소정 시간(예를 들어, 2분)이 경과하면 삭제하도록 설정할 수 있다. 아울러, 플로우 연관 인식부(340)는 수신된 패킷에서 튜플 정보를 추출하여 미리 형성된 와일드카드 플로우 항목이 포함하는 SDP 플로우의 연결 정보와의 일치 여부를 판단하고, 일치하는 패킷에 대해서는 와일드카드 플로우 항목이 포함하는 이동통신 서비스 식별자 및 해당 서비스에 대응하여 미리 설정된 우선 순위를 해당 패킷에 대하여 생성된 제어 블록에 이동통신 서비스 후보로 저장할 수 있다. 일 실시예로서, 플로우 연관 인식부(340)는 시스템 성능 저하 방지를 위해서 각 플로우의 첫번째 패킷에 대해서만 패킷 인식 과정을 수행할 수 있다. 각 플로우의 첫번째 패킷에 해당하는지 여부는 플로우 관리부(310)에 의해서 해당 플로우에 대한 제어 블록이 생성되어 있지 않은 경우 첫번째 패킷으로 판단할 수 있다. 플로우 연관 인식부(340)의 패킷 인식 방법은 포트 인식부(320) 또는 패턴 인식부(330)의 패킷 인식 방법에 비하여 높은 인식률을 제공할 수 있다.
휴리스틱 인식부(350)는 동일 플로우에 포함된 일련의 패킷들에 대한 통계적인 수치(예를 들어, 패킷의 평균 크기, 패킷의 평균 전송율, 비트 평균 전송율, 패킷 최대 크기 등)를 산출하여 DPI 규칙 저장부(370)에 저장된 통계치 규칙과 비교하여 통계치 규칙 범위 이내인 경우, DPI 규칙 저장부(370)에 저장된 통계치 규칙에 대응하여 정의된 서비스 식별자를 추출하고, 추출된 서비스 식별자 및 해당 서비스에 대응하여 미리 설정된 우선 순위를 생성된 제어 블록에 이동통신 서비스 후보로 저장할 수 있다. 일 실시예로서, 휴리스틱 인식부(350)는 수신된 패킷의 헤더를 검사하여 TCP 패킷에 대해서만 DPI 규칙 저장부(370)에 저장된 통계치 규칙과 비교하는 과정을 수행하고, UDP 패킷에 대해서는 통계치 규칙과 비교하는 과정을 수행하지 않을 수 있다.
하이브리드 인식부(360)는 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340) 및 휴리스틱 인식부(350)에 의해서 이동통신 서비스를 결정하지 못한 플로우에 포함된 패킷들에 대해서만 하이브리드 규칙 저장부(380)에 저장된 정보를 이용하여 하이브리드 인식 과정을 수행하여 해당 플로우에 대한 이동통신 서비스를 결정할 수 있다. 즉, 하이브리드 인식부(360)는 수신된 패킷에 대한 이동통신 서비스 인식을 수행하기에 앞서 해당 패킷을 포함하는 플로우의 이동통신 서비스가 결정되었는지 여부를 확인하여 해당 패킷을 포함하는 플로우의 이동통신 서비스가 결정되지 않았을 경우에만 하이브리드 인식 과정을 수행하여 해당 패킷을 포함하는 플로우의 이동통신 서비스를 결정할 수 있다. 그러나, 하이브리드 인식부(360)는 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340) 및 휴리스틱 인식부(350)의 패킷 인식 과정을 수행하지 않고 수신되는 모든 패킷에 대하여 하이브리드 인식 과정을 수행하여 해당 패킷을 포함하는 플로우의 이동통신 서비스를 결정할 수도 있다.
하이브리드 인식 과정은 도 4에 도시한 하이브리드 규칙 테이블을 이용하여 수행할 수 있으며, 도 5는 본 발명의 실시예에 따른 하이브리드 규칙 테이블을 보이는 예시도이다. 도 4에 도시한 바와 같이, 오프셋값 필드는 제1 패턴의 위치가 페이로드의 시작 위치로부터 얼마나 떨어져 있는지를 나타낼 수 있다. 제1 패턴 필드는 페이로드의 시작 위치로부터 오프셋값 만큼 떨어진 위치에서 일치하는지 확인해야 하는 소정 크기(예를 들어, 2 바이트)를 갖는 문자열을 나타낼 수 있다. 페이로드 길이 필드는 -1 값으로 설정되지 않은 경우 제1 패턴의 페이로드 크기를 나타낼 수 있으며, 페이로드 길이 필드가 -1 값으로 설정되면 제1 패턴의 페이로드 크기에 대한 검사를 수행하지 않음을 나타낼 수 있다. 제2 패턴 플래그 필드는 1(ONE_MORE)로 설정된 경우 제1 패턴과 다른 위치에 존재하는 소정 크기(예를 들어, 1 바이트)를 갖는 문자열을 제2 패턴 필드의 패턴과 일치하는지에 대한 검사를 수행함을 나타낼 수 있다. 제2 패턴 플래그 필드가 0(NO_MORE)으로 설정된 경우 제2 패턴이 일치하는지에 대한 검사를 수행하지 않음을 나타낼 수 있다. 제2 패턴 필드는 제2 패턴 플래그 필드가 0으로 설정되면 0 값을 갖고, 제2 패턴 플래그 필드가 1로 설정되면 소정 크기(예를 들어, 1 바이트)의 문자열 값을 갖도록 설정할 수 있다. 일치횟수 필드는 패킷 검사를 종료하고 이동통신 서비스를 결정을 수행하기 위한 임계값을 나타낼 수 있다. 상기 임계값은, 동일한 플로우에 포함된 패킷 중 제1 패턴, 페이로드 길이 또는 제2 패턴과 일치하는 페이로드를 포함하는 패킷의 개수에 대한 임계값을 나타낼 수 있다. 서비스 식별자 필드는 제1 패턴, 페이로드 길이 또는 제2 패턴과 일치하는 페이로드를 포함하는 패킷의 개수가 임계값 이상일 경우 결정하게 될 서비스의 고유 식별자를 나타낼 수 있다.
하이브리드 인식부(360)의 하이브리드 인식 과정은 하이브리드 규칙 테이블을 이용하여 다음과 같이 수행할 수 있다. 하이브리드 인식부(360)는 하이브리드 규칙 저장부(380)의 하이브리드 규칙 테이블이 포함하는 오프셋만큼 페이로드의 시작 위치에서 건너뛴 위치로부터 2 바이트(byte)에 대해 문자열을 추출하여(또는 규칙에 따라 1 바이트의 문자열을 더 추출할 수 있음) 하이브리드 규칙 테이블이 포함하는 제1 패턴, 페이로드 길이 또는 제2 패턴(1 바이트의 문자열을 더 추출할 경우)이 일치하는 경우 하이브리드 규칙과 일치하는 패킷을 개수를 산출하기 위한 카운터값을 1만큼 증가시킬 수 있다. 하이브리드 인식부(360)는 UDP 플로우 별로 수신된 소정 개수(예를 들어, 30개)의 패킷(STUN(Session Traversal Utilities for NAT) 프로토콜 패킷 제외)에 대해서만 하이브리드 인식 과정을 수행하며, 소정 개수의 패킷 중 제1 패턴, 페이로드 길이 또는 제2 패턴(1 바이트의 문자열을 더 추출한 경우)이 일치하는 패킷의 개수가 하이브리드 규칙 테이블에 정의된 임계값(일치횟수) 이상인 경우 해당 하이브리드 규칙 테이블에 정의된 서비스 식별자에 대응하는 이동통신 서비스로 결정할 수 있다. STUN 프로토콜은 P2P(peer to peer) 통신을 위해 두 단말 사이에 NAT(Network Address Translation)의 존재 유무 및 NAT 타입을 식별하고 NAT에 의해 변경되는 외부(External) IP 주소 및 외부 포트 값을 단말에게 알려주기 위한 프로토콜로서 STUN 프로토콜 패킷은 음성 또는 영상 데이터를 포함하지 않기 때문에 본 발명의 실시예에 따른 하이브리드 인식 과정의 대상에서 제외할 수 있다. 또한, 하이브리드 인식부(360)는 페이로드의 일정 영역에 대해 패턴 매칭을 수행함에 있어, 여러 개로 분할된 패킷들이 수신되는 경우, 즉 하이브리드 인식부(360)가 동작하기 전에 여러 개로 분할된 패킷들이 재조립되지 않은 경우, 여러 개의 분할된 패킷 중 첫번째 패킷에 대해서만 하이브리드 인식부(360)에서 예상되는 패턴이 존재하기 때문에 첫번째 분할된 패킷에 대해서만 패턴 매칭을 수행하고, 두번째 이후의 분할된 패킷들에 대해서는 패턴 매칭을 수행하지 않을 수 있다. 하이브리드 인식부(360)는 수신된 패킷이 IPv4 패킷인 경우 IP 헤더의 Flags 필드 및 Fragment Offset 필드의 값을 이용하여 분할된 패킷인지 여부와 분할된 패킷의 첫번째 패킷인지 여부를 판단할 수 있다. 일 실시예로서, 하이브리드 인식부(360)는 해당 패킷의 Flags 필드 및 Fragment Offset 필드의 값이 모두 0일 경우 패킷이 분할되지 않은 것으로 판단할 수 있고, Flags 필드의 값이 0이 아닐 경우 분할된 패킷으로 판단하며, Fragment Offset 필드의 값이 0일 경우 분할된 패킷의 첫번째 패킷으로 판단할 수 있다. 한편, 하이브리드 인식부(360)는 수신된 패킷이 IPv6 패킷인 경우 IP 헤더의 Next Header 필드 및 Fragment Header 필드의 값을 이용하여 분할된 패킷인지 여부와 분할된 패킷의 첫번째 패킷인지 여부를 판단할 수 있다. 일 실시예로서, 하이브리드 인식부(360)는 해당 패킷의 Next Header와 Fragment Header 필드의 값이 동일하지 않을 경우 패킷이 분할되지 않은 것으로 판단할 수 있고, 해당 패킷의 Next Header와 Fragment Header 필드의 값이 동일하면 분할된 패킷으로 판단하며, Fragment Header의 Fragment Offset 필드의 값이 0일 경우 분할된 패킷의 첫번째 패킷으로 판단할 수 있다.
DPI 규칙 저장부(370)는 수신된 패킷의 포트 번호 정보, 서비스 식별자 및 서비스 식별자에 대하여 미리 설정된 우선 순위에 대한 정보를 매칭시켜 저장할 수 있고, 패킷의 특정 패턴 정보, 특정 패턴, 서비스 식별자 및 서비스 식별자에 대하여 미리 설정된 우선 순위에 대한 정보를 매칭시켜 저장할 수 있으며, 수신된 패킷의 통계치 규칙, 서비스 식별자 및 서비스 식별자에 대하여 미리 설정된 우선 순위에 대한 정보를 매칭시켜 저장할 수 있다. 아울러, DPI 규칙 저장부(370)는 포트 인식부(320), 패턴 인식부(330) 및 플로우 연관 인식부(340)의 요청에 의해서 저장하고 있는 정보를 인출할 수 있다.
하이브리드 규칙 저정부(380)는 도 4에 도시한 바와 같은 오프셋값 정보, 제1 패턴 정보, 페이로드 길이 정보, 제2 패턴 플래그 정보, 제2 패턴 정보, 임계값 정보 및 서비스 식별자 정보가 매칭된 하이브리드 규칙 테이블을 저장할 수 있다. 아울러, 하이브리드 규칙 저장부(380)는 하이브리드 인식부(360)의 요청에 의해서 저장하고 있는 정보를 인출할 수 있다.
서비스 결정부(390)는 포트 인식부(320), 패턴 인식부(330), 플로우 연관 인식부(340), 휴리스틱 인식부(350) 또는 하이브리드 인식부(360)에서 결정되어 제어 블록에 저장된 이동통신 서비스 후보들 중 가장 우선 순위가 높은 서비스를 해당 플로우의 이동통신 서비스로써 최종 결정할 수 있다. 아울러, 서비스 결정부(390)는 우선순위가 동일한 이동통신 서비스 후보가 적어도 2개 존재할 경우 제어 블록에 가장 마지막으로 저장된 이동통신 서비스 후보를 해당 플로우의 이동통신 서비스로서 결정할 수 있다.
상기한 바와 같이 DPI 장치(300)에 의해서 특정 플로우의 이동통신 서비스가 결정된 경우 플로우 별로 결정된 이동통신 서비스에 적합한 트래픽 제어를 수행할 수 있으며, 유료 또는 무료 서비스에 대한 플로우를 분류하여 적절한 과금을 수행할 수 있다.
도 6은 본 발명의 실시예에 따른 이동통신 트래픽 제어 방법의 절차를 보이는 플로우챠트이다.
도 6에 도시한 바와 같이, 플로우 관리부(310)는 패킷을 수신하면 패킷이 포함하는 5-튜플 정보를 이용하여 기존에 생성된 제어 블록이 존재하는지 여부를 검색할 수 있고, 기존에 생성된 제어블록이 존재하지 않을 경우 해당 패킷의 5-튜플 정보를 이용하여 새로운 제어 블록을 생성할 수 있다(S601). 하이브리드 인식부(360)는 수신된 패킷에 대한 하이브리드 인식 과정을 수행하기에 앞서 포트 인식부(320), 패턴 인식부(330) 및 플로우 연관 인식부(340)에 의해 이동통신 서비스가 결정되었는지 여부를 확인할 수 있다(S602). 또한, 하이브리드 인식부(360)는 이동통신 서비스가 결정되지 않은 패킷이 STUN 프로토콜 패킷인지를 확인할 수 있다(S603). 하이브리드 인식부(360)는 확인 결과 STUN 프로토콜 패킷인 경우 하이브리드 인식 과정에서 배제시킬 수 있다. 하이브리드 인식부(360)의 하이브리드 인식 과정으로 인한 DPI 장치(300)의 부하를 최소화하기 위해 UDP 플로우의 첫 번째 패킷이 수신된 시점부터 소정 시간(예를 들어, 2분)이 경과하였는지 여부를 판단하여(S604) 소정 시간 이내에 수신된 패킷에 대해서만 하이브리드 인식 과정을 수행하고, 소정 시간이 경과한 후 수신된 패킷에 대해서는 더이상 하이브리드 인식 과정을 수행하지 않도록 설정할 수 있다. 또한, 하이브리드 인식부(360)는 수신된 패킷이 TURN(Traversal Using Relays around NAT) 채널데이터 메시지를 포함하고 있는지 판단하여(S605) TURN 채널데이터 메시지를 포함하고 있는 경우 해당 패킷의 페이로드에서 TURN 채널데이터 메시지의 헤더를 제거하는 과정을 수행할 수 있고(S606), TURN 채널데이터 메시지를 포함하고 있지 않은 경우 하이브리드 규칙 테이블로부터 규칙을 순차적으로 인출하여 하이브리드 인식 과정을 수행할 수 있다(S607). 하이브리드 인식부(360)는 하이브리드 인식 과정을 수행하는 경우 수신한 패킷을 개수를 1만큼 증가시킬 수 있다(S608). 하이브리드 인식부(360)는 하이브리드 규칙 테이블로부터 인출된 하이브리드 규칙의 유효성을 판단할 수 있고(S609), 하이브리드 규칙이 유효성 판단을 통과한 경우에만 하이브리드 인식 과정을 수행하여 수신된 패킷이 하이브리드 규칙과 일치하는지 여부를 판단할 수 있다(S610). 하이브리드 인식부(360)는 수신된 패킷이 하이브리드 규칙과 일치하지 않는 경우 하이브리드 규칙 테이블로부터 다른 하이브리드 규칙을 인출하여(S611) 하이브리드 인식 과정을 수행할 수 있고(S609, S610), 수신된 패킷이 하이브리드 규칙과 일치하는 경우 하이브리드 규칙과 일치하는 패킷을 개수를 산출하기 위한 카운터값을 1만큼 증가시킬 수 있다(S612). 하이브리드 인식부(360)는 하이브리드 인식 과정을 UDP 플로우 별로 수신된 패킷들(STUN 패킷들 제외)의 개수가 소정 개수(예를 들어, 30개) 이상인지 여부를 판단하며, 수신된 패킷들 중 하이브리드 규칙을 만족시키는 패킷의 개수가 하이브리드 규칙 테이블에 정의된 임계값(예를 들어, 20개) 이상인지 여부를 판단하여(S613), 수신된 패킷의 개수가 소정개수(예를 들어, 30개) 이상이고, 하이브리드 규칙을 만족시키는 패킷의 개수가 임계값(예를 들어, 20개) 이상인 경우 하이브리드 규칙에 대응하는 이동통신 서비스를 해당 플로우의 이동통신 서비스로서 최종 결정할 수 있다(S614).
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
11~15,21~23,31~33: 초소형 기지국 10,20,30: 매크로 기지국
40: 사용자 단말 50: SON 서버
60: MME 80: S-GW
90: P-GW 100: HSS
300: DPI 장치 310: 플로우 관리부
320: 포트 인식부 330: 패턴 인식부
340: 플로우 연관 인식부 350: 휴리스틱 인식부
360: 하이브리드 인식부 370: DPI 규칙 저장부
380: 하이브리드 규칙 저장부 390: 서비스 결정부

Claims (10)

  1. 심층 패킷 분석 방법으로서,
    a) 패킷들을 수신하고, 상기 패킷들 중 동일한 튜플(tuple) 정보를 포함하는 패킷들을 동일 플로우(flow)로 분류하는 단계와;
    b) 상기 동일 플로우로 분류된 패킷들의 페이로드(payload)가 포함하는 특정 영역의 문자열을 추출하는 단계와;
    c) 상기 추출된 문자열의 상기 페이로드 내에서의 위치 및 상기 추출된 문자열의 조합 미리 설정된 규칙과 일치하는지 여부를 판단하는 단계와;
    d) 상기 동일 플로우에 포함된 패킷들 중 상기 미리 설정된 규칙과 일치하는 문자열을 포함하는 패킷들이 임계 개수 이상 존재할 경우 상기 미리 설정된 규칙에 대응하여 저장된 이동통신 서비스를 상기 동일 플로우의 이동통신 서비스로 결정하는 단계
    를 포함하는 심층 패킷 분석 방법.
  2. 제1항에 있어서,
    상기 단계 b)는,
    상기 수신된 패킷 중 수신 시점으로부터 소정 시간이 경과하지 않은 패킷에 대해서만 상기 특정 영역의 문자열을 추출하는 단계를 포함하는, 심층 패킷 분석 방법.
  3. 제1항에 있어서,
    상기 단계 c) 이후 상기 단계 d) 이전에,
    상기 추출된 문자열과 다른 위치에 존재하는 제2 문자열을 추출하는 단계와;
    상기 제2 문자열과 제2의 미리 설정된 규칙과의 일치 여부를 판단하는 단계
    를 더 포함하는 심층 패킷 분석 방법.
  4. 제1항에 있어서,
    상기 a) 단계 이후 상기 b) 단계 이전에,
    상기 수신된 패킷의 헤더(header)가 포함하는 포트 번호 정보를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보들을 추출하는 단계와;
    상기 수신된 패킷들의 페이로드가 포함하는 특정 문자열을 이용하여 상기 이동통신 서비스 후보들을 추출하는 단계와;
    SIP(Session Initiation Protocol) 패킷의 페이로드가 포함하는 SDP(Session Description Protocol) 메시지를 이용하여 상기 이동통신 서비스 후보들을 추출하는 단계와;
    상기 동일 플로우에 포함된 일련의 패킷들에 대한 통계적인 수치를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보들을 추출하는 단계
    를 더 포함하고,
    상기 d) 단계는,
    상기 추출된 이동통신 서비스 후보자들간의 미리 설정된 우선 순위를 고려하여 상기 동일 플로우의 이동통신 서비스로 결정하는 단계
    를 포함하는, 심층 패킷 분석 방법.
  5. 제4항에 있어서,
    상기 통계적인 수치를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보들을 추출하는 단계는,
    상기 수신된 패킷들의 헤더를 검사하여 TCP 패킷에 대해서만 상기 통계적인 수치를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보를 추출하는 단계를 포함하며,
    상기 통계적인 수치는 패킷으리 평균 크기, 패킷의 평균 전송율, 비트 평균 전송율, 패킷 최대 크기 중 적어도 하나를 포함하는, 심층 패킷 분석 방법.
  6. 심층 패킷 분석 장치로서,
    패킷들을 수신하고, 상기 패킷들 중 동일한 튜플(tuple) 정보를 포함하는 패킷들을 동일 플로우(flow)로 분류하는 플로우 관리부와;
    상기 동일 플로우로 분류된 패킷들의 페이로드(payload)가 포함하는 특정 영역의 문자열을 추출하고, 상기 추출된 문자열의 상기 페이로드 내에서의 위치 및 상기 추출된 문자열의 조합이 미리 설정된 규칙과 일치하는지 여부를 판단하고, 동일 플로우에 포함된 패킷들 중 상기 미리 설정된 규칙과 일치하는 문자열을 포함하는 패킷들이 임계 개수 이상 존재할 경우 상기 미리 설정된 규칙에 대응하여 저장된 이동통신 서비스를 상기 동일 플로우의 이동통신 서비스로 결정하는 하이브리드 인식부
    를 포함하는, 심층 패킷 분석 장치.
  7. 제6항에 있어서,
    상기 하이브리드 인식부는,
    상기 수신된 패킷들 중 상기 패킷들이 수신된 시점으로부터 소정 시간이 경과하지 않은 패킷에 대해서만 상기 특정 영역의 문자열을 추출하는, 심층 패킷 분석 장치.
  8. 제6항에 있어서,
    상기 하이브리드 인식부는,
    상기 추출된 문자열과 상기 페이로드 내에서의 다른 위치에 존재하는 제2 문자열을 추출하고, 상기 제2 문자열과 제2의 미리 설정된 규칙과의 일치 여부를 판단하는, 심층 패킷 분석 장치.
  9. 제6항에 있어서,
    상기 수신된 패킷들의 헤더(header)가 포함하는 포트 번호 정보를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보들을 추출하는 포트 인식부와;
    상기 수신된 패킷들의 페이로드가 포함하는 특정 문자열을 이용하여 상기 이동통신 서비스 후보들을 추출하는 패턴 인식부와;
    SIP(Session Initiation Protocol) 패킷들의 페이로드가 포함하는 SDP(Session Description Protocol) 메시지를 이용하여 상기 이동통신 서비스 후보들을 추출하는 플로우 연관 인식부와;
    상기 동일 플로우에 포함된 일련의 패킷들에 대한 통계적인 수치를 이용하여 상기 이동통신 서비스 후보들을 추출하는 휴리스틱 인식부와;
    추출된 이동통신 서비스 후보들 간의 미리 설정된 우선 순위를 고려하여 상기 동일 플로우의 이동통신 서비스로 결정하는 서비스 결정부
    를 더 포함하는 심층 패킷 분석 장치.
  10. 제9항에 있어서,
    상기 휴리스틱 인식부는,
    상기 수신된 패킷들의 헤더를 검사하여 TCP 패킷에 대해서만 상기 통계적인 수치를 이용하여 상기 동일 플로우에 대한 이동통신 서비스 후보를 추출하며,
    상기 통계적인 수치는 패킷의 평균 크기, 패킷의 평균 전송율, 비트 평균 전송율, 패킷 최대 크기 중 적어도 하나를 포함하는, 심층 패킷 분석 장치.
KR1020140127551A 2014-09-24 2014-09-24 심층 패킷 분석 방법 및 장치 KR20160035793A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140127551A KR20160035793A (ko) 2014-09-24 2014-09-24 심층 패킷 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140127551A KR20160035793A (ko) 2014-09-24 2014-09-24 심층 패킷 분석 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160035793A true KR20160035793A (ko) 2016-04-01

Family

ID=55799152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140127551A KR20160035793A (ko) 2014-09-24 2014-09-24 심층 패킷 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20160035793A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817978A (zh) * 2019-04-12 2020-10-23 华为技术有限公司 一种流分类方法及装置
CN112307279A (zh) * 2020-10-29 2021-02-02 宜通世纪物联网研究院(广州)有限公司 一种dpi业务识别方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817978A (zh) * 2019-04-12 2020-10-23 华为技术有限公司 一种流分类方法及装置
CN111817978B (zh) * 2019-04-12 2022-10-04 华为技术有限公司 一种流分类方法及装置
US11882047B2 (en) 2019-04-12 2024-01-23 Huawei Technologies Co., Ltd. Traffic classification method and apparatus
CN112307279A (zh) * 2020-10-29 2021-02-02 宜通世纪物联网研究院(广州)有限公司 一种dpi业务识别方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10893434B2 (en) UE session management QoS capability negotiation and QoS control realization
KR101211742B1 (ko) 통신 시스템, 모바일 프로토콜 패킷 관리 방법 및 서빙 게이트웨이
EP3479549B1 (en) Information centric networking for long term evolution
US9432873B2 (en) Differentiation of traffic flows for uplink transmission
US10841834B2 (en) Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US11057954B2 (en) Network assistance via a local breakout function-gateway in RAN
US9455910B2 (en) Exchanging internet protocol version capability information between client devices over a communications network
US10349256B2 (en) Method for requesting emergency service by roaming UE and method for processing same
US11297532B2 (en) Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
GB2551485A (en) Providing service data flow description
Silva et al. A hybrid SDN solution for mobile networks
CN107810647B (zh) 在服务客户端和ran之间建立交互会话
WO2018054272A1 (zh) 数据的发送方法和装置、计算机存储介质
KR20160035793A (ko) 심층 패킷 분석 방법 및 장치
EP3314974B1 (en) Setting up a dedicated bearer in a radio communication network
US20220303201A1 (en) Traffic Monitoring in a Network Node
EP3331270B1 (en) Method for transmitting data and communication device
WO2018002758A1 (en) Information centric networking for long term evolution
KR20190056582A (ko) 패킷 처리 방법 및 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination