KR101897612B1 - IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템 - Google Patents

IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템 Download PDF

Info

Publication number
KR101897612B1
KR101897612B1 KR1020170048756A KR20170048756A KR101897612B1 KR 101897612 B1 KR101897612 B1 KR 101897612B1 KR 1020170048756 A KR1020170048756 A KR 1020170048756A KR 20170048756 A KR20170048756 A KR 20170048756A KR 101897612 B1 KR101897612 B1 KR 101897612B1
Authority
KR
South Korea
Prior art keywords
node
policy
field
module
tree
Prior art date
Application number
KR1020170048756A
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 KR1020170048756A priority Critical patent/KR101897612B1/ko
Application granted granted Critical
Publication of KR101897612B1 publication Critical patent/KR101897612B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

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

Abstract

본 발명은 판별 트리 생성 방법에 관한 것으로서, 보다 구체적으로는 다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 방법에 있어서, (1) 상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 단계; (2) 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 단계; (3) 상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 단계; (4) 상기 단계 (3)에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 단계 (1)에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 단계 (3)으로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 단계; (5) 상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 단계; 및 (6) 상기 단계 (5)에서 선택된 필드를 기준으로, 상기 단계 (1)에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 단계 (3)으로 되돌아가는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은 판별 트리 생성 시스템에 관한 것으로서, 보다 구체적으로는 다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 시스템에 있어서, 상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 입력 모듈; 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 삽입 모듈; 상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 정책 제거 모듈; 상기 정책 제거 모듈에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 입력 모듈에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 정책 제거 모듈로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 판단 모듈; 상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 선택 모듈; 및 상기 선택 모듈에서 선택된 필드를 기준으로, 상기 입력 모듈에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 정책 제거 모듈로 되돌아가는 자식 노드 생성 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템에 따르면, 영역 분할 과정에서 각각의 필드별 와일드카드의 개수를 비교하여 필드들에 대한 분할 순서를 결정함으로써, 메모리 사용량을 감소시키고, 대용량 정책 집합을 지원하면서도, 하나의 판별 트리를 생성하여 우수한 패킷 검색 성능을 유지할 수 있다.
또한, 본 발명에 따르면, HiCuts 알고리즘 및 HyperCuts 알고리즘 등과 같은 종래의 컷(영역 분할) 기반 패킷 분류 알고리즘에도 적용 가능하여, 폭넓은 호환성을 가질 수 있다.

Description

IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템{METHOD FOR CREATING DECISION TREE FOR PACKET CLASSIFICATION BASED ON WILD CARD RATIO IN IoT AND SYSTEM THEREOF}
본 발명은 판별 트리 생성 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 다중 차원 컷(Cut) 기반 패킷 분류 알고리즘에 적용되는 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템에 관한 것이다.
IoT(Internet of Things) 기술의 발전으로 인해 다양한 분야에서 센서 노드(Sensor node)가 사용되고 있다. 센서 노드는 센서에서 감지된 데이터 또는 특정 이벤트를 유무선 통신을 통해 전달하는 구성으로, 네트워크 장비인 라우터(Router)와 통합되어 무선 센서 네트워크(Wireless Sensor Network, WSN) 통신 시스템을 구축한다.
일반적으로 무선 센서 네트워크(WSN)는 IoT 환경의 기본 네트워크 집단으로서, 다양한 데이터를 수집하는 다수의 센서 노드와 수집한 데이터를 공유하는 싱크 노드로 이루어진다. 각각의 센서 노드는 수집한 방대한 데이터들을 기지국(Base Transceiver System, BTS)으로 전송하는데, 기지국 라우터는 수신한 데이터들을 처리하기 위해 패킷 분류를 진행하게 된다. 이때, 수신한 데이터들을 신속하게 처리하기 위해서는 고속으로 패킷을 분류할 필요가 있다.
한편, 라우터는 패킷을 분류하기 위해 내부적으로 네트워크 관리자에 의해 패킷 처리에 관한 다양한 정책 집합(Rule Set)을 설정하게 된다. 정책 집합은 복수의 정책(Rule)으로 이루어져 있으며, 각각의 정책은 패킷 헤더(Packet header)에 대응되는 필드와 패킷을 처리하는 액션에 관한 정보를 가진다. 그런데 패킷 분류는 모든 패킷 헤더 정보를 확인한 후 정책의 필드와 비교하여야 하므로 그 과정이 매우 복잡하다.
효율적인 패킷 분류를 위해서는 빠른 패킷 검색 성능과 더불어 요구되는 메모리 용량이 최소화 되어야 한다. 패킷 분류 방법 중 컷 방식을 이용한 패킷 분류 방법은, 정책 집합을 영역으로 표현하고 이러한 영역을 분할하여 판별 트리(Decision Tree)를 생성한 후, 이를 이용하여 패킷을 분류하는 방법으로, 대표적으로 HiCuts 알고리즘과 HyperCuts 알고리즘이 있다.
HiCuts 알고리즘은, 한 번에 하나의 필드를 기준으로 영역을 분할하고 분할된 영역을 통해 판별 트리를 구성한다. 한편, 판별 트리의 리프 노드(Leaf node)는 미리 정해진 수 이하의 정책을 가지는데, 이러한 미리 정해진 수를 빈스(Binth)라고 한다. 만약 분할된 영역에 포함되는 정책의 개수가 빈스를 초과하면, 해당 영역은 다른 필드를 이용하여 다시 분할이 이루어진다. 이러한 HiCuts 알고리즘은, 정책의 분포에 따라 판별 트리의 레벨(깊이)이 증가하게 되면 패킷 검색 성능이 떨어지는 문제점이 있다. 또한, 영역을 분할할 수 있는 필드가 모두 사용된 경우 정책의 개수가 빈스를 초과하더라도 추가적인 영역의 분할이 이루어지지 못하는 문제점이 있다.
HyperCuts 알고리즘은, 레벨(높이)을 2로 제한하는 판별 트리를 구성하는 알고리즘으로, 여러 필드를 동시에 사용하여 한 번에 다차원의 영역을 분할한다. HyperCuts 알고리즘은, 레벨이 2로 제한됨에 따라 패킷 검색 성능이 대략 로그 복잡도를 가지므로 정책 집합에 존재하는 정책의 개수가 많을수록 유리하다. 그러나 매우 큰 메모리 용량이 필요하여 실질적으로 많은 정책이 존재하는 정책 집합을 지원하는 것이 불가능하다는 문제점이 있다.
도 1은 IoT 환경에서 패킷 분류를 위한 판별 트리 생성 방법을 설명하기 위한 예시적인 정책 집합을 도시한 도면이다. 도 1에 도시된 바와 같이, 정책 집합은, SIP(Source IP)와 DIP(Destination IP) 필드를 포함하는 정책 R1 내지 R7을 포함한다. 이하에서는, 도 1에 도시된 정책 집합을 이용하여 IoT 환경에서 패킷 분류를 위한 판별 트리 생성 방법을 설명한다.
도 2는 종래의 컷 기반 패킷 분류 알고리즘 중 HyperCuts 알고리즘을 설명하기 위한 예시 도면이다. 도 2에 도시된 바와 같이, HyperCuts 알고리즘에서는, 각각의 정책이 필드 영역으로 표현된다. 종래의 HyperCuts 알고리즘은, 고유 범위 개수가 가장 많은 필드를 기준으로 먼저 분할하게 된다. 여기서, 고유 범위 개수는 중복되는 범위를 모두 통합한 후의 개수를 의미한다. 예를 들어, 도 1의 SIP 필드의 고유 범위는 0-3, 7-11, 0-15, 0-1, 12-14 및 4-6으로, 고유 범위 개수는 총 6개이다. 즉, 0-15는 중복되는 범위가 있으므로 이를 통합한 후의 고유 범위 개수는 6개가 된다. 반면, DIP 필드의 고유 범위 개수는 0-3, 0-15, 8-10, 4-6 및 11-15로 총 5개이다. 따라서 종래의 HyperCuts 알고리즘은, SIP 필드를 기준으로 먼저 분할이 이루어지게 된다.
도 3은 종래의 컷 기반 패킷 분류 알고리즘 중 HyperCuts 알고리즘을 설명하기 위한 예시 도면이다. 도 3에 도시된 바와 같이, 종래의 HyperCuts 알고리즘에 의해 SIP 필드를 기준으로 먼저 분할이 이루어진 경우, 정책 R3 및 R5는 다수의 리프 노드에 포함되는데, 이처럼 같은 정책이 여러 노드에 저장되는 것을 정책 복사라고 한다. 따라서 다수의 정책 복사가 이루어지는 경우 대용량의 메모리가 요구된다. 이와 같이, 종래의 HyperCuts 알고리즘은, 정책이 증가할수록 더 많은 정책 복사가 이루어지게 되어 메모리 요구량이 지속적으로 증가하는 문제점이 있다. 이러한 문제점을 해결하기 위해 HyperCuts 알고리즘에서 판별 트리를 생성할 때 사용되는 메모리 용량을 감소시키기 위한 연구 시도가 있었으나, 기존과 같은 패킷 검색 성능을 유지하지는 못했다.
한편, 패킷 분류에 대한 선행기술로, 등록특허 제10-0965552호 ‘영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치’ 등이 제시된 바 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 영역 분할 과정에서 각각의 필드별 와일드카드의 개수를 비교하여 필드들에 대한 분할 순서를 결정함으로써, 메모리 사용량을 감소시키고, 대용량 정책 집합을 지원하면서도, 하나의 판별 트리를 생성하여 우수한 패킷 검색 성능을 유지할 수 있는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은, HiCuts 알고리즘 및 HyperCuts 알고리즘 등과 같은 종래의 컷(영역 분할) 기반 패킷 분류 알고리즘에도 적용 가능하여, 폭넓은 호환성을 가질 수 있는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법은,
다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 방법에 있어서,
(1) 상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 단계;
(2) 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 단계;
(3) 상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 단계;
(4) 상기 단계 (3)에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 단계 (1)에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 단계 (3)으로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 단계;
(5) 상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 단계; 및
(6) 상기 단계 (5)에서 선택된 필드를 기준으로, 상기 단계 (1)에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 단계 (3)으로 되돌아가는 단계를 포함하는 것을 구성상의 특징으로 한다.
바람직하게는, 상기 단계 (5)는,
(5-1) 상기 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 단계를 더 포함할 수 있다.
더욱 바람직하게는, 상기 단계 (5)는,
(5-2) 상기 분할 필요 노드에 포함된 상기 와일드카드 개수의 평균과 상기 고유 범위 개수의 평균을 계산하는 단계를 포함할 수 있다.
더욱더 바람직하게는, 상기 단계 (5)는,
(5-3) 상기 와일드카드 개수의 평균, 상기 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 단계를 포함할 수 있다.
더욱더 바람직하게는, 상기 단계 (5-3)는,
상기 고유 범위 개수가 최대이고 상기 와일드카드 개수가 최소인 필드를 분할될 필드로 선택할 수 있다.
바람직하게는, 상기 단계 (5)는,
각각의 정책의 필드 영역이 미리 정해진 기준 비율 이상인 경우 와일드카드로 판단할 수 있다.
더욱 바람직하게는, 상기 미리 정해진 기준 비율은,
50%일 수 있다.
바람직하게는, 상기 단계 (6)는,
상기 분할 필요 노드의 필드 영역을 등 간격으로 분할할 수 있다.
바람직하게는,
(7) 패킷이 입력되면 상기 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 상기 리프 노드에 포함된 정책 중 상기 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 단계 (1)과 상기 단계 (2) 사이에,
상기 루트 노드를 초기화하는 단계를 더 포함할 수 있다.
다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 시스템에 있어서,
상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 입력 모듈;
루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 삽입 모듈;
상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 정책 제거 모듈;
상기 정책 제거 모듈에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 입력 모듈에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 정책 제거 모듈로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 판단 모듈;
상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 선택 모듈; 및
상기 선택 모듈에서 선택된 필드를 기준으로, 상기 입력 모듈에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 정책 제거 모듈로 되돌아가는 자식 노드 생성 모듈을 포함하는 것을 구성상의 특징으로 한다.
바람직하게는, 상기 선택 모듈은,
상기 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 카운트 모듈을 더 포함할 수 있다.
더욱 바람직하게는, 상기 선택 모듈은,
상기 분할 필요 노드에 포함된 상기 와일드카드 개수의 평균과 상기 고유 범위 개수의 평균을 계산하는 계산 모듈을 포함할 수 있다.
더욱더 바람직하게는, 상기 선택 모듈은,
상기 분할 필드를 선택할 때 상기 와일드카드 개수의 평균, 상기 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 측정 모듈을 더 포함할 수 있다.
더욱더 바람직하게는, 상기 선택 모듈은,
상기 고유 범위 개수가 최대이고 상기 와일드카드 개수가 최소인 필드를 분할될 필드로 선택할 수 있다.
바람직하게는, 상기 선택 모듈은,
각각의 정책의 필드 영역이 미리 정해진 기준 비율 이상인 경우 와일드카드로 판단할 수 있다.
더욱 바람직하게는, 상기 미리 정해진 기준 비율은,
50%일 수 있다.
바람직하게는, 상기 자식 노드 생성 모듈은,
상기 분할 필요 노드의 필드 영역을 등 간격으로 분할할 수 있다.
바람직하게는,
패킷이 입력되면 상기 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 상기 리프 노드에 포함된 정책 중 상기 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 결정 모듈을 더 포함할 수 있다.
바람직하게는,
상기 루트 노드를 초기화하는 초기화 모듈을 더 포함할 수 있다.
본 발명에서 제안하고 있는 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템에 따르면, 영역 분할 과정에서 각각의 필드별 와일드카드의 개수를 비교하여 필드들에 대한 분할 순서를 결정함으로써, 메모리 사용량을 감소시키고, 대용량 정책 집합을 지원하면서도, 하나의 판별 트리를 생성하여 우수한 패킷 검색 성능을 유지할 수 있다.
또한, 본 발명에 따르면, HiCuts 알고리즘 및 HyperCuts 알고리즘 등과 같은 종래의 컷(영역 분할) 기반 패킷 분류 알고리즘에도 적용 가능하여, 폭넓은 호환성을 가질 수 있다.
도 1은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 설명하기 위한 예시적인 정책 집합을 도시한 도면.
도 2는 종래의 컷 기반 패킷 분류 알고리즘 중 HyperCuts 알고리즘을 설명하기 위한 예시 도면.
도 3은 종래의 컷 기반 패킷 분류 알고리즘 중 HyperCuts 알고리즘을 설명하기 위한 예시 도면.
도 4는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법의 단계를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 이용하여 분할된 영역을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 이용하여 분할된 자식 노드를 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법의 단계 S400의 세부 구성을 도시한 도면.
도 8은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 분할된 자식 노드를 도시한 도면.
도 9는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 정책 R2 중 분할된 첫 번째 자식 노드의 필드 영역을 도시한 도면.
도 10은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 단계 S700을 도시한 도면.
도 11은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템의 구성을 도시한 도면.
도 12는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템에서 선택 모듈의 세부 구성을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 4는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법의 단계를 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법은, (1) 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 단계(S100); (2) 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 루트 노드를 큐에 삽입하는 단계(S200); (3) 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 단계(S300); (4) 단계 (3)에서 불필요한 정책이 제거된 현재 노드에 포함된 정책의 개수가, 단계 (1)에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 빈스를 초과하지 않는 경우 현재 노드를 리프 노드로 설정한 후 단계 S300으로 되돌아가되, 빈스를 초과하는 경우 현재 노드를 분할 필요 노드로 설정하는 단계(S400); (5) 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 단계(S500); 및 (6) 단계 (5)에서 선택된 필드를 기준으로, 단계 (1)에서 입력된 파라미터 중 공간요소를 이용하여 분할 필요 노드를 분할하고 자식 노드를 생성하여 큐에 삽입한 후, 단계 S300으로 되돌아가는 단계(S600)를 포함할 수 있다.
단계 S100에서는, 판별 트리의 리프 노드에 포함될 수 있는 최대 정책 개수인 빈스 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소를 포함하는 파라미터를 입력받는다. 전술한 바와 같이, 빈스는 리프 노드에 저장할 수 있는 최대 정책 개수를 의미한다. 또한, 공간요소는 같은 정책이 여러 노드에 저장될 수 있는 정책 복사를 허용하는 최대 범위를 의미한다.
HyperCuts 알고리즘에서는, 노드에 포함된 정책 개수가 빈스 이하가 될 때까지 영역을 분할하여 노드를 생성한다. 즉, 빈스가 높을수록 노드를 적게 생성하기 때문에 메모리 요구량이 낮아지게 된다. 그러나 리프 노드에서 선형 탐색해야 할 정책 개수가 많아지므로 검색 성능이 저하될 수 있다. 한편, HypeerCuts 알고리즘에서는, 공간요소가 클수록 정책 복사의 허용 범위가 높아지게 되어 영역을 분할할 때 많은 노드를 생성하게 된다. 따라서 판별 트리의 레벨이 짧아지게 되어 검색 성능이 향상된다. 그러나 분할 시 많은 노드를 생성하기 때문에 메모리 요구량이 증가될 수 있다. 이러한 파라미터는 네트워크 관리자에 의해 정해질 수 있으며, 패킷 분류 성능과 메모리 요구량에 따라 다양하게 설정될 수 있다. 이하에서는, 빈스를 2로 설정했다고 전제하여 설명한다.
한편, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법은, 단계 S100과 단계 S200 사이에, 루트 노드를 초기화하는 단계(S150)를 더 포함할 수 있다.
단계 S200에서는, 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 루트 노드를 큐에 삽입한다. 여기서, 정책은 복수개의 정책들을 포함할 수 있다. 본 발명의 일 실시예에서는, 루트 노드를 포함한 각각의 노드들을 큐에 삽입한 후 순차적으로 분할 여부를 판단하게 된다.
단계 S300에서는, 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 현재 노드에 포함된 정책 중 불필요한 정책을 제거한다. 따라서 단계 S300에서는, 큐에 삽입된 모든 노드가 리프 노드로 설정되어야만 판별 트리 생성을 종료한다. 한편, 루트 노드는 큐에 처음 삽입되는 노드에 해당하므로, 단계 S300에서는, 루트 노드부터 현재 노드로 지정된다. 여기서, 불필요한 정책이란, 우선순위가 낮은 정책의 모든 필드가 우선순위가 높은 정책의 모든 필드 영역에 포함되는 정책을 의미한다. 단계 S300에서는, 현재 노드에 포함된 정책의 개수가 빈스를 초과하는지 여부를 검사하기 전에 불필요한 정책을 제거함으로써 노드의 영역 분할 횟수를 최소화하여 메모리 사용량을 감소시킬 수 있다.
단계 S400에서는, 단계 S300에서 불필요한 정책이 제거된 현재 노드에 포함된 정책의 개수가, 단계 S100에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 빈스를 초과하지 않는 경우 현재 노드를 리프 노드로 설정한 후 단계 S300으로 되돌아가되, 빈스를 초과하는 경우 현재 노드를 분할 필요 노드로 설정한다. 즉, 단계 S400에서는, 불필요한 정책을 제거한 후에 현재 노드가 리프 노드가 될 수 있는지 여부를 판단하고, 리프 노드가 될 수 없다면 분할 필요 노드로 설정하여 해당 분할 필요 노드에 대한 영역 분할이 이루어지게 된다. 여기서, 분할 필요 노드는, 루트 노드이거나 또는 후술하여 설명될 영역 분할이 필요한 자식 노드일 수 있다
단계 S500에서는, 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택한다. 여기서, 각각의 정책의 필드 영역이 미리 정해진 기준 비율 이상인 경우 와일드카드로 판단할 수 있다. 미리 정해진 기준 비율은, 예를 들어 50%일 수 있으나, 네트워크 관리자에 의해 다양하게 설정될 수 있다.
와일드카드 여부는 다음의 수학식 1에 의해 판단된다.
Figure 112017036913925-pat00001
여기서, 노드에 포함된 r번째 대해서 필드 d에 대해
Figure 112017036913925-pat00002
,
Figure 112017036913925-pat00003
는 매칭되는 최소값과 최대값을 각각 의미한다. 또한,
Figure 112017036913925-pat00004
,
Figure 112017036913925-pat00005
는 해당 노드에 대응되는 파티션의 필드 d에 대한 최소값과 최대값을 각각 의미한다. 예를 들어, 도 1에 도시된 정책 집합 중 정책 R2의 경우 각각의 필드에서 차지하는 필드 영역을 수학식 1에 의해 계산하면 다음과 같다.
WSIP(2)=min(11,15)-max(7,0)≥(15-0)*0.5
WDIP(2)=min(15,15)-max(0,0)≥(15-0)*0.5
정책 R2는 SIP 필드에서는 약 27%, DIP 필드에서는 100%의 영역을 가지므로 DIP 필드에서 와일드카드로 판단된다. 전술한 정책 집합에서는, SIP 필드의 와일드카드는 R3 및 R5로 총 2개이며, DIP 필드의 와일드카드는 R2로 총 1개이다. 따라서 단계 S500에서는, 와일드카드 개수로만 필드 선택 조건을 한정하면, 첫 번째로 DIP 필드를 분할될 필드로 선택한 후, 두 번째로 SIP 필드를 분할될 필드로 선택한다.
도 5는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 이용하여 분할된 영역을 도시한 도면이다. 도 5에 도시된 바와 같이, 단계 S600에서는, 단계 S500에서 선택된 필드를 기준으로 공간요소를 이용하여 분할 필요 노드를 분할하고 자식 노드를 생성한다. 도 5에서 분할된 각각의 영역은 자식 노드를 나타낸다. 한편, 분할되는 영역은 공간요소에 따라 다양하게 설정될 수 있다. 단계 S600에서는, 분할 필요 노드를 등 간격으로 분할하거나 또는 정책의 분포를 고려하여 각각의 노드마다 필드 영역이 차이나도록 노드를 분할할 수 있다.
도 6은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 이용하여 분할된 자식 노드를 도시한 도면이다. 도 6에 도시된 바와 같이, 단계 S600에서는, DIP 필드를 기준으로 영역을 먼저 분할하고, 이후 SIP 필드를 기준으로 영역을 분할하여 최종적으로 루트 노드는 각각의 필드 영역을 가지는 8개의 자식 노드로 분할된다. 여기서 각각의 자식 노드는, 자식 노드의 필드 영역에 포함되는 정책을 포함할 수 있다.
단계 S600에서는, 분할 필요 노드를 분할하여 생성한 자식 노드를 큐에 삽입한 후, 단계 S300으로 되돌아간다. 그리고 단계 S300에서는, 자식 노드의 불필요한 정책을 제거하고, 단계 S400에서는, 자식 노드의 분할 여부를 결정하게 된다. 즉, 자식 노드에 포함된 정책의 개수가 빈스를 초과하지 않는 경우, 해당 자식 노드에 정책을 저장하기 위해 별도의 영역 분할이 필요하지 않으므로 해당 노드를 리프 노드로 설정할 수 있다. 그러나 자식 노드에 포함된 정책의 개수가 빈스를 초과하는 경우, 해당 자식 노드에 정책을 저장할 수 없으므로 다시 영역 분할이 이루어진다.
한편, 단계 S600에서 모든 자식 노드는 큐에 삽입되므로, 큐에 남은 대기 순열이 없어질 때까지 모든 자식 노드들에 대해 단계 S300 내지 단계 S600이 반복된다. 따라서 각각의 모든 자식 노드들에 포함된 정책의 개수가 빈스 이하가 될 때까지 영역 분할이 이루어지게 된다. 다만, 본 발명의 큐는 단계 S300 내지 단계 S600을 반복시키기 위한 구성에 해당한다. 따라서 동일한 조건으로 단계 S300 내지 단계 S600을 반복시킬 수 있다면, 큐 방식을 사용하지 않아도 무방하다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법은, 각각의 자식 노드에 포함된 정책의 개수가 빈스를 초과하지 않는 경우 자식 노드를 리프 노드로 설정하여 판별 트리를 생성한다. 만약, 적어도 하나의 자식 노드가 빈스를 초과하는 경우 해당 자식 노드를 분할 필요 노드로 설정한 후, 단계 S300으로 되돌아가서 불필요한 정책을 제거하고 해당 분할 필요 노드의 영역을 분할한 후, 해당 분할 필요 노드에서 생성된 자식 노드의 필드 영역에 포함된 정책의 개수가 빈스를 초과하는지 여부를 판단하여 영역 분할 여부를 결정하게 된다.
본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법이 HiCuts 알고리즘에 적용되는 경우 빈스를 초과하는 해당 자식 노드를 분할하여 또 다른 자식 노드를 생성하므로 트리의 레벨이 증가한다. 이때, 분할 필요 노드는 판별 트리의 레벨 정보를 포함하여, 분할되는 자식 노드가 어떤 분할 필요 노드에서 분할된 것인지 여부를 확인할 수 있다. 한편, HyperCuts 알고리즘에 적용되는 경우 판별 트리의 레벨이 2로 고정되므로, 루트 노드에서 분할되는 자식 노드의 개수가 증가하게 된다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법을 이용하는 경우, 정책 R2는 리프 노드에서 정책 복사가 이루어진다. 그러나 도 3에 도시된 종래의 HyperCuts 알고리즘에 따른 판별 트리에 비해 정책 복사가 매우 감소되므로 최종적으로 생성되는 판별 트리의 메모리 요구량을 대폭 감소시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법의 단계 S500의 세부 구성을 도시한 도면이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법의 단계 S500은, (5-1) 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 단계(S510), (5-2) 분할 필요 노드에 포함된 와일드카드 개수의 평균과 고유 범위 개수의 평균을 계산하는 단계(S520), 및 (5-3) 분할 필드를 선택할 때 와일드카드 개수의 평균, 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 단계(S530)를 포함할 수 있다.
여기서, 단계 S530에서 필드 선택 순위의 측정은 다음의 수학식 2에 의해 측정된다.
Figure 112017036913925-pat00006
여기서, 특정 노드에 대해서
Figure 112017036913925-pat00007
은 i번째 필드에 대한 와일드카드의 개수,
Figure 112017036913925-pat00008
은 i번째 필드에 대한 고유 범위의 개수,
Figure 112017036913925-pat00009
은 전체 필드에 대한
Figure 112017036913925-pat00010
의 평균, 즉
Figure 112017036913925-pat00011
,
Figure 112017036913925-pat00012
는 전체 필드에 대한
Figure 112017036913925-pat00013
의 평균, 즉
Figure 112017036913925-pat00014
이다. 단계 S530에서는, 수학식 2에 의해 각각의 필드 선택 순위 측정을 계산한 후 i *번째 필드를 분할 필드로 선택한다. 단,
Figure 112017036913925-pat00015
이다. 즉, 고유 범위 개수가 많음과 동시에 와일드카드 개수가 적은 필드를 최적 필드로 선택한다.
도 8은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 분할된 자식 노드를 도시한 도면이며, 도 9는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 정책 R2 중 분할된 첫 번째 자식 노드의 필드 영역을 도시한 도면이다. 도 8 및 도 9에 도시된 바와 같이, 첫 번째 자식 노드는, 해당 자식 노드의 필드 영역에 포함되는 정책이 R2 하나이므로, 빈스인 2보다 작다. 따라서 첫 번째 자식 노드를 리프 노드로 설정하고 해당 리프 노드에 정책 R2를 저장할 수 있다.
한편, 단계 S500에서는, 보다 정확하게 와일드카드를 판단하기 위해 각각의 분할 필요 노드를 기준으로 각각의 필드의 와일드카드를 판단할 수 있다. 예를 들어 정책 R2의 경우 SIP 필드에서는 전체의 약 27%를 차지하므로 정책 R2는 SIP 필드에서 와일드카드로 판단되지 않는다. 그러나 첫 번째 자식 노드의 필드 영역을 기준으로 수학식 1을 적용하면 다음과 같다.
WSIP(2)=min(11,15)-max(7,0)≥(15-0)*0.5
WDIP(2)=min(15,15)-max(0,0)≥(15-0)*0.5
정책 R2는 첫 번째 자식 노드에서 SIP 필드 영역의 50%를 차지하므로, 첫 번째 자식 노드에서는 와일드카드로 판단될 수 있다. 따라서 해당 노드를 기준으로 정책이 차지하는 필드 영역을 판단해야 정확하게 와일드카드를 판단할 수 있다. 그러나 이러한 판단 방법은 적어도 첫 번째 자식 노드가 생성된 후에 적용될 수 있으므로, 최초로 분할될 필드를 선택하는 단계에서는 와일드카드가 전체 영역을 기준으로 판단되며, 자식 노드에 포함된 정책의 개수가 빈스를 초과하여 추가적인 분할이 요구되는 경우 해당 자식 노드(분할 필요 노드)의 필드 영역을 기준으로 전술한 판단 방법이 적용될 수 있다.
도 10은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법에서 단계 S700을 도시한 도면이다. 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법은, (7) 패킷이 입력되면 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 리프 노드에 저장된 정책 중 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 단계(S700)를 더 포함할 수 있다.
도 11은 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템(10)의 구성을 도시한 도면이다. 도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템(10)은, 다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 시스템에 있어서, 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 입력 모듈(100); 루트 노드에 패킷 분류의 대상이 되는 정책을 입력 받고 루트 노드를 큐에 삽입하는 삽입 모듈(200); 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 정책 제거 모듈(300); 정책 제거 모듈(300)에서 불필요한 정책이 제거된 현재 노드에 포함된 정책의 개수가, 입력 모듈(100)에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 빈스를 초과하지 않는 경우 현재 노드를 리프 노드로 설정한 후 정책 제거 모듈(300)로 되돌아가되, 빈스를 초과하는 경우 현재 노드를 분할 필요 노드로 설정하는 판단 모듈(400); 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 선택 모듈(500); 및 선택 모듈(500)에서 선택된 필드를 기준으로, 입력 모듈(100)에서 입력된 파라미터 중 공간요소를 이용하여 분할 필요 노드를 분할하고 자식 노드를 생성하여 큐에 삽입한 후, 정책 제거 모듈(300)로 되돌아가는 자식 노드 생성 모듈(600)을 포함할 수 있다.
도 12는 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템(10)에서 선택 모듈(500)의 세부 구성을 도시한 도면이다. 도 12에 도시된 바와 같이, 선택 모듈(500)은, 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 카운트 모듈(510), 분할 필요 노드에 포함된 와일드카드 개수의 평균과 고유 범위 개수의 평균을 계산하는 계산 모듈(520), 및 분할 필드를 선택할 때 와일드카드 개수의 평균, 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하는 측정 모듈(530)을 더 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템(10)은, 패킷이 입력되면 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 리프 노드에 저장된 정책 중 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 결정 모듈(700)을 더 포함할 수 있다. 또한, 본 발명의 일 실시예에 따른 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템(10)은, 루트 노드를 초기화하는 초기화 모듈(150)을 더 포함할 수 있다.
전술한 바와 같이, 본 발명에서 제안하고 있는 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템에 따르면, 영역 분할 과정에서 각각의 필드별 와일드카드의 개수를 비교하여 필드들에 대한 분할 순서를 결정함으로써, 메모리 사용량을 감소시키고, 대용량 정책 집합을 지원하면서도, 하나의 판별 트리를 생성하여 우수한 패킷 검색 성능을 유지할 수 있다. 또한, 본 발명에 따르면, HiCuts 알고리즘 및 HyperCuts 알고리즘 등과 같은 종래의 컷(영역 분할) 기반 패킷 분류 알고리즘에도 적용 가능하여, 폭넓은 호환성을 가질 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 청구범위에 의하여 정해져야 할 것이다.
10: IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템
100: 입력 모듈
150: 초기화 모듈
200: 삽입 모듈
300: 정책 제거 모듈
400: 판단 모듈
500: 선택 모듈
510: 카운트 모듈
520: 계산 모듈
530: 측정 모듈
600: 자식 노드 생성 모듈
700: 결정 모듈
S100: 판별 트리의 리프 노드에 포함될 수 있는 최대 정책 개수인 빈스 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소를 포함하는 파라미터를 입력받는 단계
S150: 루트 노드를 초기화 하는 단계
S200: 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 루트 노드를 큐에 삽입하는 단계
S300: 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 단계
S400: 단계 S300에서 불필요한 정책이 제거된 현재 노드에 포함된 정책의 개수가, 단계 S100에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 빈스를 초과하지 않는 경우 현재 노드를 리프 노드로 설정한 후 단계 S300으로 되돌아가되, 빈스를 초과하는 경우 현재 노드를 분할 필요 노드로 설정하는 단계
S500: 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 단계
S510: 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드의 개수와 고유 범위의 개수를 카운트하는 단계
S520: 분할 필요 노드에 포함된 와일드카드 개수의 평균과 고유 범위 개수의 평균을 계산하는 단계
S530: 와일드카드 개수의 평균, 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 단계
S600: 단계 S500에서 선택된 필드를 기준으로, 단계 S100에서 입력된 파라미터 중 공간요소를 이용하여 분할 필요 노드를 분할하고 자식 노드를 생성하여 큐에 삽입한 후, 단계 S300으로 되돌아가는 단계
S700: 패킷이 입력되면 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 리프 노드에 저장된 정책 중 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR로 결정하는 단계

Claims (20)

  1. 다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 방법에 있어서,
    (1) 상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 단계;
    (2) 루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 단계;
    (3) 상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 단계;
    (4) 상기 단계 (3)에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 단계 (1)에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 단계 (3)으로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 단계;
    (5) 상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 단계; 및
    (6) 상기 단계 (5)에서 선택된 필드를 기준으로, 상기 단계 (1)에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 단계 (3)으로 되돌아가는 단계를 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  2. 제1항에 있어서, 상기 단계 (5)는,
    (5-1) 상기 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 단계를 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  3. 제2항에 있어서, 상기 단계 (5)는,
    (5-2) 상기 분할 필요 노드에 포함된 상기 와일드카드 개수의 평균과 상기 고유 범위 개수의 평균을 계산하는 단계를 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  4. 제3항에 있어서, 상기 단계 (5)는,
    (5-3) 상기 와일드카드 개수의 평균, 상기 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 단계를 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  5. 제4항에 있어서, 상기 단계 (5-3)는,
    상기 고유 범위 개수가 최대이고 상기 와일드카드 개수가 최소인 필드를 분할될 필드로 선택하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  6. 제1항에 있어서, 상기 단계 (5)는,
    각각의 정책의 필드 영역이 미리 정해진 기준 비율 이상인 경우 와일드카드로 판단하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  7. 제6항에 있어서, 상기 미리 정해진 기준 비율은,
    50%인 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  8. 제1항에 있어서, 상기 단계 (6)는,
    상기 분할 필요 노드의 필드 영역을 등 간격으로 분할하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  9. 제1항에 있어서,
    (7) 패킷이 입력되면 상기 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 상기 리프 노드에 포함된 정책 중 상기 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 단계를 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  10. 제1항에 있어서, 상기 단계 (1)과 상기 단계 (2) 사이에,
    상기 루트 노드를 초기화하는 단계를 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법.
  11. 다중 차원 영역 분할 방식을 이용하는 판별 트리(Decision tree) 생성 시스템에 있어서,
    상기 판별 트리의 리프 노드(Leaf node)에 포함될 수 있는 최대 정책 개수인 빈스(Binth) 및 각각의 노드별 정책 복사를 허용하는 최대 범위인 공간요소(Space factor)를 포함하는 파라미터를 입력받는 입력 모듈;
    루트 노드에 패킷 분류의 대상이 되는 정책을 입력받고 상기 루트 노드를 큐에 삽입하는 삽입 모듈;
    상기 큐에 삽입된 노드 중 리프 노드가 아닌 노드가 존재하지 않으면 판별 트리 생성을 마치되, 존재하면 그 중 하나의 노드를 현재 노드로 지정하여 상기 현재 노드에 포함된 정책 중 불필요한 정책을 제거하는 정책 제거 모듈;
    상기 정책 제거 모듈에서 불필요한 정책이 제거된 상기 현재 노드에 포함된 상기 정책의 개수가, 상기 입력 모듈에서 입력된 파라미터 중 빈스를 초과하는지 여부를 판단하여, 상기 빈스를 초과하지 않는 경우 상기 현재 노드를 리프 노드로 설정한 후 상기 정책 제거 모듈로 되돌아가되, 상기 빈스를 초과하는 경우 상기 현재 노드를 분할 필요 노드로 설정하는 판단 모듈;
    상기 분할 필요 노드에 포함된 상기 정책의 각각의 필드별 와일드카드의 개수와 고유 범위 개수를 판별하여 분할될 필드를 선택하는 선택 모듈; 및
    상기 선택 모듈에서 선택된 필드를 기준으로, 상기 입력 모듈에서 입력된 파라미터 중 공간요소를 이용하여 상기 분할 필요 노드를 분할하고 자식 노드를 생성하여 상기 큐에 삽입한 후, 상기 정책 제거 모듈로 되돌아가는 자식 노드 생성 모듈을 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  12. 제11항에 있어서, 상기 선택 모듈은,
    상기 분할 필요 노드에 포함된 정책의 각각의 필드별 와일드카드 개수와 고유 범위 개수를 카운트하는 카운트 모듈을 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  13. 제12항에 있어서, 상기 선택 모듈은,
    상기 분할 필요 노드에 포함된 상기 와일드카드 개수의 평균과 상기 고유 범위 개수의 평균을 계산하는 계산 모듈을 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  14. 제13항에 있어서, 상기 선택 모듈은,
    상기 와일드카드 개수의 평균, 상기 고유 범위 개수의 평균을 이용하여 필드 선택 순위를 측정하고 분할될 필드를 선택하는 측정 모듈을 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  15. 제14항에 있어서, 상기 선택 모듈은,
    상기 고유 범위 개수가 최대이고 상기 와일드카드 개수가 최소인 필드를 분할될 필드로 선택하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  16. 제11항에 있어서, 상기 선택 모듈은,
    각각의 정책의 필드 영역이 미리 정해진 기준 비율 이상인 경우 와일드카드로 판단하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  17. 제16항에 있어서, 상기 미리 정해진 기준 비율은,
    50%인 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  18. 제11항에 있어서, 상기 자식 노드 생성 모듈은,
    상기 분할 필요 노드의 필드 영역을 등 간격으로 분할하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  19. 제11항에 있어서,
    패킷이 입력되면 상기 판별 트리를 계층적으로 접근하여 리프 노드에 접근하고, 상기 리프 노드에 포함된 정책 중 상기 패킷과 일치하는 우선순위가 가장 높은 정책을 BMR(Best Matching Rule)로 결정하는 결정 모듈을 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
  20. 제11항에 있어서,
    상기 루트 노드를 초기화하는 초기화 모듈을 더 포함하는 것을 특징으로 하는, IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 시스템.
KR1020170048756A 2017-04-14 2017-04-14 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템 KR101897612B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170048756A KR101897612B1 (ko) 2017-04-14 2017-04-14 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170048756A KR101897612B1 (ko) 2017-04-14 2017-04-14 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101897612B1 true KR101897612B1 (ko) 2018-09-12

Family

ID=63593392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170048756A KR101897612B1 (ko) 2017-04-14 2017-04-14 IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101897612B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100018409A (ko) * 2008-08-06 2010-02-17 이화여자대학교 산학협력단 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치
KR20120068863A (ko) * 2009-08-13 2012-06-27 구글 인코포레이티드 이벤트-트리거형 서버측 매크로들
JP2014504042A (ja) * 2010-12-15 2014-02-13 日本電気株式会社 パケット分類器、パケット分類方法、及びパケット分類プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100018409A (ko) * 2008-08-06 2010-02-17 이화여자대학교 산학협력단 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치
KR20120068863A (ko) * 2009-08-13 2012-06-27 구글 인코포레이티드 이벤트-트리거형 서버측 매크로들
JP2014504042A (ja) * 2010-12-15 2014-02-13 日本電気株式会社 パケット分類器、パケット分類方法、及びパケット分類プログラム

Similar Documents

Publication Publication Date Title
Mehlhorn et al. External-memory breadth-first search with sublinear I/O
CN109067725B (zh) 网络流量异常检测方法及装置
EP3554051A1 (en) Data processing method and device
Castro et al. Likelihood based hierarchical clustering
US20100067535A1 (en) Packet Router Having Improved Packet Classification
JP6183376B2 (ja) インデックス生成装置及び方法並びに検索装置及び検索方法
US20100199346A1 (en) System and method for determining symantic equivalence between access control lists
US11250250B2 (en) Pedestrian retrieval method and apparatus
CN109948641A (zh) 异常群体识别方法及装置
JP2013519152A (ja) テキスト分類の方法及びシステム
US7376090B2 (en) Method of detecting distributed denial of service based on grey theory
CN110298687B (zh) 一种区域吸引力评估方法及设备
CN114900474B (zh) 针对可编程交换机的数据包分类方法、系统及相关设备
WO2016006276A1 (ja) インデックス生成装置及びインデックス生成方法
CN112702339A (zh) 基于深度迁移学习的异常流量监测与分析方法和装置
CN108764307A (zh) 自然最近邻优化的密度峰值聚类方法
CN111612641A (zh) 一种社交网络中有影响力用户的识别方法
CN110929218A (zh) 一种差异最小化随机分组方法及系统
CN114389974A (zh) 查找分布式训练系统中异常流量节点的方法、装置及介质
KR101897612B1 (ko) IoT 환경에서 패킷 분류를 위한 와일드카드 비율 기반 판별 트리 생성 방법 및 시스템
CN108197498A (zh) 获取数据的方法及装置
CN106487535B (zh) 一种网络流量数据的分类方法及装置
EP4145777A1 (en) Message classification method and apparatus, electronic device, and readable medium
CN114511760A (zh) 一种样本均衡方法、装置、设备及存储介质
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant