KR101990902B1 - 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템 - Google Patents

빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템 Download PDF

Info

Publication number
KR101990902B1
KR101990902B1 KR1020180034956A KR20180034956A KR101990902B1 KR 101990902 B1 KR101990902 B1 KR 101990902B1 KR 1020180034956 A KR1020180034956 A KR 1020180034956A KR 20180034956 A KR20180034956 A KR 20180034956A KR 101990902 B1 KR101990902 B1 KR 101990902B1
Authority
KR
South Korea
Prior art keywords
policy
partitioning
static
size
packet classification
Prior art date
Application number
KR1020180034956A
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 KR1020180034956A priority Critical patent/KR101990902B1/ko
Application granted granted Critical
Publication of KR101990902B1 publication Critical patent/KR101990902B1/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/02Topology update or discovery
    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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]

Landscapes

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

Abstract

본 발명은 패킷 분류 방법에 관한 것으로서, 보다 구체적으로는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에 있어서, (1) 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 단계; (2) 상기 단계 (1)에서 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 단계; 및 (3) 상기 단계 (1) 및 (2)에서 나뉜 정책 집합을 검색하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은 패킷 분류 시스템에 관한 것으로서, 보다 구체적으로는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템에 있어서, 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 정적 파티셔닝 모듈; 상기 정적 파티셔닝 모듈에 의해 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 동적 파티셔닝 모듈; 및 상기 정적 파티셔닝 모듈 및 동적 파티셔닝 모듈에 의해 나뉜 정책 집합을 검색하는 검색 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템에 따르면, 기존의 다양한 정책에 대한 분석을 통해 정책 공통 특성을 사용하여 미리 정해진 규칙에 따라 테이블 정적 빌딩을 함으로써, 정책이 업데이트 되어도 전체 테이블을 새로 생성할 필요 없이 빠르게 테이블을 업데이트할 수 있다.
또한, 본 발명에 따르면, 최적의 검색 속도를 지원하기 위해 테이블 정적 빌딩 후 필요한 경우에는 테이블 동적 빌딩을 부분적으로 사용함으로써, 정책의 자체 고유 특성을 반영할 수 있게 하여 검색 성능을 크게 높일 수 있다.
더 나아가, 본 발명에 따르면, 파티셔닝을 할 때, 정책의 중복을 최대한 피하도록 파티셔닝을 함으로써, 검색 시간과 업데이트 시간의 증가를 억제할 수 있다.

Description

빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템{HIGH-SPEED PACKET CLASSIFICATION METHOD AND SYSTEM SUPPORTING FAST TABLE UPDATE}
본 발명은 패킷 분류 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템에 관한 것이다.
현대의 네트워크는 IoT(Internet of Things)로 인해 크기가 대형화되고 있다. 이에 따라 정책 집합들이 복잡해지고, 그 크기와 개수 또한 빠르게 증가하고 있다. 이러한 대용량 보안 정책들로 인해, 높은 분류 속도와 작은 테이블 크기를 동시에 가질 수 있는 새로운 패킷 분류 알고리즘에 대한 요구가 높아지고 있다. 그러나 일반적으로 패킷 분류 속도와 테이블 크기는 Trade-off 관계를 가진다. 따라서 기술적으로 패킷 분류 알고리즘의 속도와 테이블 크기를 동시에 개선하는 것은 매우 어려운 실정이다.
METIS는 유럽 5G 프로젝트로 높은 유연성과 관리의 용이성을 제공하기 위해 SDN/NFV(Software Defined Networking/Network Function Virtualization)를 적용하고 있으며, 이를 통해 다양한 서비스를 손쉽게 제공할 수 있게 된다. 하지만 SDN/NFV 기술은 소프트웨어를 통해 네트워크의 다양한 기능을 구현하는 만큼 패킷 전송 성능과 지연에서는 기존 방식에 비해 불리하게 된다.
따라서 5G에서 SDN/NFV 기술을 적용하면서 동시에 신뢰적이며 저지연 통신 서비스를 제공하기 위한 연구들이 진행되어 왔다. 이를 통해 여러 가지 문제점들이 발견되었는데, 이 중 주요 문제점은 다음과 같다.
첫 번째, SDN 컨트롤러의 스위치 수용용량이 현재 200개 정도이며, OpenFlow 스위치의 경우 플로우 엔트리 수가 1,000~4,000개 정도에 머무르고 있어, 캐리어 동급인 10,000~50,000개에는 크게 부족하다는 것이다. 이는 T-CAM 용량을 증설함으로써 플로우 엔트리 수를 증가할 수 있지만, T-CAM의 경우 고가이기 때문에 많은 용량을 지원하는데 한계가 있다.
두 번째, OpenFlow 스위치에서 플로우 테이블 상에서 오버플로우가 발생할 때, 종단 간 지연 시간이 수 백 ms 이상 크게 증가하며 동시에 패킷 유실이 발생하여 신뢰적이며 저지연 통신 서비스를 제공하는데 제약이 있다는 점이다.
세 번째, 고속의 T-CAM 대신 패킷 분류 알고리즘 기반의 소프트웨어 방식을 사용할 경우 패킷 분류 성능은 뛰어난 반면, 실시간 플로우 업데이트 속도와 플로우 용량에 대한 캐리어 등급 수준을 지원할 수 있는 알고리즘이 전무하다는 점이다.
따라서, 이를 해결하기 위하여 새로운 특정을 갖는 순수 소프트웨어 방식의 패킷 분류 알고리즘이 필요하다.
이와 관련된 선행기술로는, 등록특허 제10-0965552호(발명의 명칭: 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치) 등이 제안된 바 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 기존의 다양한 정책에 대한 분석을 통해 정책 공통 특성을 사용하여 미리 정해진 규칙에 따라 테이블 정적 빌딩을 함으로써, 정책이 업데이트 되어도 전체 테이블을 새로 생성할 필요 없이 빠르게 테이블을 업데이트할 수 있는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 최적의 검색 속도를 지원하기 위해 테이블 정적 빌딩 후 필요한 경우에는 테이블 동적 빌딩을 부분적으로 사용함으로써, 정책 자체의 고유한 특성을 반영할 수 있게 하여 검색 성능을 크게 높일 수 있는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템을 제공하는 것을 다른 목적으로 한다.
더 나아가, 본 발명은, 파티셔닝을 할 때, 정책의 중복을 최대한 피하도록 파티셔닝을 함으로써, 검색 시간과 업데이트 시간의 증가를 억제할 수 있는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법은,
패킷을 분류하는 패킷 분류 방법에 있어서,
(1) 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 단계;
(2) 상기 단계 (1)에서 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 단계; 및
(3) 상기 단계 (1) 및 (2)에서 나뉜 정책 집합을 검색하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 단계 (1)은,
중복 정책이 발생하지 않도록 파티셔닝 될 수 있다.
바람직하게는, 상기 단계 (1)은,
DIP, SIP, Protocol, DPort, SIP, DIP 필드 순으로 해시 기반 파티셔닝을 사용할 수 있다.
바람직하게는, 상기 단계 (1)은,
정책간 공통 특성을 사용하여 미리 정해진 규칙에 따라 정적 테이블을 형성할 수 있다.
더 바람직하게는, 상기 정책간 공통 특성은,
IP Prefix의 길이는 대부분 8이상인 것, IP Protocol 중 ICMP, TCP, UDP에 대한 정책이 대부분인 것, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 정책의 수가 다수인 것을 포함할 수 있다.
더 바람직하게는, 상기 정책간 공통 특성은,
정책이 업데이트 되어도 유지가 될 수 있다.
바람직하게는, 상기 단계 (2)는,
비트 기반 동적 파티셔닝을 사용한 B-Tree 테이블 동적 빌딩을 통해 leaf 노드에 포함된 정책의 수를 줄이도록 구현될 수 있다.
바람직하게는, 상기 단계 (3)은,
중복 정책 없는 트리 검색과 중복 정책 있는 트리 검색이 병렬적으로 이루어질 수 있다.
바람직하게는, 상기 고속 패킷 분류 방법은,
정적 테이블에 대한 정책 업데이트 시 고정된 시간이 걸릴 수 있다.
바람직하게는, 상기 고속 패킷 분류 방법은,
소프트웨어 기반 방식으로 패킷 분류를 수행할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템은,
패킷을 분류하는 패킷 분류 시스템에 있어서,
해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 정적 파티셔닝 모듈;
상기 정적 파티셔닝 모듈에 의해 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 동적 파티셔닝 모듈; 및
상기 정적 파티셔닝 모듈 및 상기 동적 파티셔닝 모듈에 의해 나뉜 정책 집합을 검색하는 검색 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 정적 파티셔닝 모듈은,
중복 정책이 발생하지 않도록 파티셔닝을 할 수 있다.
바람직하게는, 상기 정적 파티셔닝 모듈은,
DIP, SIP, Protocol, DPort, SIP, DIP 필드 순으로 해시 기반 파티셔닝을 할 수 있다.
바람직하게는, 상기 테이블 정적 빌딩은,
정책간 공통 특성을 사용하여 미리 정해진 규칙에 따라 정적 테이블을 형성할 수 있다.
더 바람직하게는, 상기 정책간 공통 특성은,
IP Prefix의 길이는 대부분 8이상인 것, IP Protocol 중 ICMP, TCP, UDP에 대한 정책이 대부분인 것, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 정책의 수가 다수인 것을 포함할 수 있다.
더 바람직하게는, 상기 정책간 공통 특성은,
정책이 업데이트 되어도 유지가 될 수 있다.
바람직하게는, 상기 동적 파티셔닝 모듈은,
비트 기반 동적 파티셔닝을 사용한 B-Tree 테이블 동적 빌딩을 통해 leaf 노드에 포함된 정책의 수를 줄이도록 구현될 수 있다.
바람직하게는, 상기 검색 모듈은,
중복 정책 없는 트리 검색과 중복 정책 있는 트리 검색이 병렬적으로 이루어질 수 있다.
바람직하게는, 상기 고속 패킷 분류 시스템은,
정적 테이블에 대한 정책 업데이트 시 고정된 시간이 걸릴 수 있다.
바람직하게는, 상기 고속 패킷 분류 시스템은,
소프트웨어 기반 방식으로 패킷 분류를 수행할 수 있다.
본 발명에서 제안하고 있는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템에 따르면, 기존의 다양한 정책에 대한 분석을 통해 정책 공통 특성을 사용하여 미리 정해진 규칙에 따라 테이블 정적 빌딩을 함으로써, 정책이 업데이트 되어도 전체 테이블을 새로 생성할 필요 없이 빠르게 테이블을 업데이트할 수 있다.
또한, 본 발명에 따르면, 최적의 검색 속도를 지원하기 위해 테이블 정적 빌딩 후 필요한 경우에는 테이블 동적 빌딩을 부분적으로 사용함으로써, 정책 자체의 고유한 특성을 반영할 수 있게 하여 검색 성능을 크게 높일 수 있다.
더 나아가, 본 발명에 따르면, 파티셔닝을 할 때, 정책의 중복을 최대한 피하도록 파티셔닝을 함으로써, 검색 시간과 업데이트 시간의 증가를 억제할 수 있다.
도 1은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 구성을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 DIP 기반 정적 테이블의 구성을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 Protocol table에서 사용되는 Protocol 해시 함수에 대한 키 및 해시 값을 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 Protocol 기반 정적 테이블의 구성을 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 B-Tree 동적 파티셔닝의 구성을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 액세스된 메모리의 크기를 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 메모리 액세스 량과 룰셋 크기의 비율을 나타낸 그래프를 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 총 테이블의 크기를 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 테이블 크기와 룰셋 크기의 비율을 나타낸 그래프를 도시한 도면.
도 8은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 테이블 업데이트 시간을 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 테이블 업데이트 시간과 룰셋의 크기의 비율을 나타낸 그래프를 도시한 도면.
도 9는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 룰셋의 크기에 따른 룰셋의 중복 비율을 도시한 도면.
도 10은 본 발명의 다른 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템(100)의 세부 구성을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법은, 패킷을 분류하는 패킷 분류 방법에 있어서, (1) 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 단계(S100); (2) 단계 S100에서 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 단계(S200); 및 (3) 단계 S100 및 S200에서 나뉜 정책 집합을 검색하는 단계(S300)를 포함할 수 있다. 이하에서는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 각각의 구성에 대해 상세히 설명하기로 한다.
단계 S100에서는, 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나눈다. 디시전 트리 기반 방식을 비롯한 기존의 많은 패킷 분류 알고리즘은 파티셔닝 기법을 사용할 수 있다. 파티셔닝은 크기가 큰 정책 집합을 다수의 작은 크기를 갖는 정책 집합으로 나누는 방법이며, 이 과정에서 특정 정책의 경우 복수개의 작은 정책 집합에 동시에 포함되는 경우가 발생할 수 있다. 이와 같은 정책을 중복 정책이라 부르기로 한다. 이와 같은, 중복 정책은 파티셔닝의 효율과 검색 속도를 떨어뜨리며 특히 업데이트 시간을 증가시키는 주요 원인이 된다. 하나의 정책을 업데이트하더라도 해당 정책의 중복 정책이 포함된 모든 파티션을 업데이트하여야 하기 때문이다. 따라서, 이를 해결하기 위해서는 파티셔닝을 할 때 정책의 중복을 최대한 피하도록 파티셔닝을 하여야한다. 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법은 이를 위해 정적 테이블 빌딩 시 중복 정책이 발생하지 않도록 할 수 있다. 정책 중복을 피하는 방법은 다음과 같다.
특정 필드 F에 대한 값들의 집합을 f라고 할 때 f에 속한 모든 값들이 해시 함수 H에 의해 매칭 되는 값들의 집합을 g라고 하고 f>>g가 되는 H를 사용하여 파티셔닝을 수행한다고 하면, r번째 룰의 F필드에 대해 매칭 되는 전체키의 집합을 R이라고 하고 임의의 집합 A와 B가 집합 R에 포함되고 집합 A와 B가 같지 않을 때, Ha와 Hb가 동일하지 않은 집합 A와 B가 존재한다면 r은 F필드에 대해 중복 정책될 수 있다. 하지만 f>>g이기 때문에 모든 집합 A와 B에 대해 Ha=Hb가 되어 중복 정책이 되지 않는 경우가 발생할 수 있다. 따라서, 위 해시함수를 사용하여 파티셔닝을 하는 경우, 전체 중복 정책의 수를 줄일 수 있다.
단계 S100에서는, 정책간 공통 특성을 사용하여 미리 정해진 규칙에 따라 정적 테이블을 형성할 수 있다. 이때, 상기 정책간 공통 특성은, IP Prefix의 길이는 대부분 8이상인 것, IP Protocol 중 ICMP, TCP, UDP에 대한 정책이 대부분인 것, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 정책의 수가 다수인 것을 포함할 수 있다. 또한, 상기의 정책간 공통 특성은 정책이 업데이트 되어도 항상 유지될 수 있어 정책이 업데이트 되어도 전체 테이블을 새로 생성할 필요가 없을 수 있다. 따라서, 테이블을 빠르게 업데이트할 수 있어 SDN/NFV에서 중요한 incremental update를 지원할 수 있다.
단계 S100은, DIP, SIP, Protocol, DPort, SIP, DIP 필드 순으로 해시 기반 파티셔닝을 수행할 수 있다. 도 2는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 DIP 기반 정적 테이블의 구성을 도시한 도면이다. 도 2에 도시된 바와 같이, DIP의 첫 바이트 값을 해시 값으로 생성하는 해시 함수를 사용하여 총 256개 엔트리로 구성된 테이블을 구성할 수 있다. 각 엔트리는 포인터 값을 갖는데, 엔트리에 대응되는 룰의 크기에 따라 총 세 가지 경우를 갖는다. 먼저, 최대 리프 노드 크기(MAX_LEAF)보다 작으면 해당 파티션에 포함된 정책들을 가리키는 리프 노드에 대해 포인터로 세팅될 수 있다. 반면, MAX_LEAF보다 크고 최대 동적 파티셔닝 노드(MAX_DYN)보다 작으면 동적 파티셔닝 트리의 루트 노드에 대해 포인터로 세팅될 수 있다. 그리고, MAX_DYN보다 크면 다음 레벨의 정적 테이블(SIP 기반 해시 테이블)에 대해 포인터로 세팅될 수 있다. 다음 레벨 테이블은 DIP 정적 테이블과 동일한 구조를 갖되 DIP 대신 SIP를 키로 갖는 해시 함수를 사용할 수 있다.
DIP 혹은 SIP 해시 테이블에 의해 파티셔닝 된 정책의 크기가 아직 MAX_DYN보다 크면 다음 레벨 테이블인 Protocol 기반 해시 테이블을 사용하여 파티셔닝을 할 수 있다. Protocol 필드는 8비트로 총 256개의 엔트리가 필요하지만, 실제 사용되는 Protocol은 ICMP, TCP, UDP 등에 집중되기 때문에 256개 크기의 테이블을 사용하는 것은 낭비가 될 수 있다. 도 3은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 Protocol table에서 사용되는 Protocol 해시 함수에 대한 키 및 해시 값을 도시한 도면이다. 도 3에 도시된 바와 같이, 이를 해결하기 위해 0~5번호를 갖는 해시 함수를 사용함으로써, 6개의 엔트리만을 사용하여 테이블 크기를 크게 줄일 수 있다.
도 4는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 Protocol 기반 정적 테이블의 구성을 도시한 도면이다. 도 4에 도시된 바와 같이, 각 엔트리의 값은 기존 IP 기반 정적 테이블의 경우와 유사할 수 있다. 해당 정책의 크기가 MAX_LEAF보다 작으면 리프 노드를 가리키고 MAX_DYN보다 작은 경우에는 동적 파티셔닝 트리의 루트 노드를 가리킨다. MAX_DYN보다 크다면 Protocol 번호에 따라 동작이 달라질 수 있다. Protocol 6과 17번에 대응되는 엔트리의 경우 다음 레벨의 테이블인 DPort(Destination Port) 기반 테이블을 가리킬 수 있다.
Destination Port는 16비트로 구성되므로 총 64K개의 테이블 엔트리가 필요할 수 있다. 하지만 이중에서 빈번히 사용되는 포트 번호는 한정되어 있으며, 특히 1023보다 작은 Well-known 포트와 1024~49151의 Registered 포트 등 포트 번호에 따라서 사용되는 빈도에서 크게 차이가 날 수 있다. 따라서, 64k 엔트리를 모두 사용하는 것은 낭비이므로 Protocol table과 마찬가지로 DPort 전용 해시 함수를 사용할 수 있다. Protocol 해시 함수처럼 DPort 기반 해시 함수를 이용하면 기존 포트번호에 대해 매칭 되는 해시 키 값을 찾기 위한 추가적인 테이블이 필요 없기 때문에, 메모리 액세스 수와 전체 테이블 크기를 줄일 수 있다.
Short IP table은 기존 IP table이 0~7, 8비트를 키로 한 것과는 달리, 0~3, 4비트만을 키로 할 수 있다. 이는 IP 필드에 대해 class A보다 넓은 범위를 나타내는 조건으로 설정된 경우를 파티셔닝하기 위한 테이블일 수 있다. 따라서 SIP에 대해 중복 정책에 포함된 경우에만 Level2 SIP 테이블을 사용할 수 있다. DIP에 대해서도 마찬가지이며 만일 SIP와 DIP에 대해 동시에 중복 정책에 포함된 경우에는 Level 2 SIP와 Level 2 DIP 테이블을 함께 가질 수 있다. 다만, DIP 보다 SIP가 중복 정책이 많은 것이 일반적이므로 Level 2 SIP 테이블을 먼저 사용할 수 있다.
테이블 정적 빌딩을 사용할 경우 정책 자체의 고유한 특정을 반영할 수 없어 최적의 검색 속도를 지원하는데 한계가 있으므로, 이를 해결하기 위해 테이블 정적 빌딩을 한 후 필요한 경우에는 테이블 동적 빌딩을 부분적으로 사용할 수 있다. 다만, 테이블 동적 빌딩은 최소한으로 한정되어 사용됨으로써, 테이블 정적 빌딩에 의한 장점이 유지되도록 할 수 있다.
단계 S200에서는, 상기 단계 S100에서 나뉜 정책 집합의 크기가 일정 크기보다 큰 경우에 비트 기반 동적 파티셔닝을 사용한 B-Tree 테이블 동적 빌딩을 통해 leaf 노드에 포함된 정책의 수를 줄일 수 있다. 리프 노드에 포함된 정책의 집합을 S, 특정 필드 f의 b번째 비트 값이 0인 정책의 집합을 O, 1인 정책의 집합을 P라고 할 수 있다. 그리고 모든 필드와 모든 비트 값에 대해 수학식 1을 구하고 이를 통해 S를 파티셔닝할 수 있다.
Figure 112018030230887-pat00001
각 파티션의 크기가 MAX_LEAF보다 작으면 파티셔닝은 종료되고 디시전 트리를 만들 수 있다. 도 5는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 B-Tree 동적 파티셔닝의 구성을 도시한 도면이다. 도 5에 도시된 바와 같이, 아직도 큰 파티션이 있으면 가장 큰 파티션에 대해 다시 최적의 파티셔닝 필드와 비트를 구하고 기존에 구한 필드와 비트를 사용하여 B-Tree를 구성할 수 있다. 도면 5에서 <f, b>는 필드 f의 b번째 비트를 이용하여 파티셔닝한다는 것을 의미한다.
단계 S300에서는, 상기 단계 S100 및 단계 S200에서 나뉜 정책 집합을 검색한다. 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 정책 검색은 중복 정책 없는 트리와 중복 정책 있는 트리를 모두 검색할 수 있다. 또한 중복 정책 없는 트리와 중복 정책 있는 트리의 검색은 병렬적으로 이루어질 수 있다.
중복 정책 없는 트리 중 정적 테이블은 해시 함수와 테이블의 구조 및 크기가 고정되어 있으므로 정책을 업데이트하는데 항상 고정적인 시간이 걸릴 수 있다. 또한, 중복 정책에 대한 검색 역시 정적 트리에 대해서는 정책 업데이트 시 항상 고정된 시간이 걸릴 수 있다.
빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법은, 소프트웨어 기반 방식으로 패킷 분류를 수행할 수 있다.
이하에서는 도 6 내지 도 9를 참조하여, 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 성능을 비교하였다. 성능 평가를 위해 Classbench를 이용하여 방화벽 룰셋(FW), Access control list(ACL), IPC 등 다양한 룰셋을 생성하였고 기존 알고리즘으로는 Hypercuts 방법과 Efficuts 방법을 사용하여 비교하였다. 정책의 수를 20,000에서 100,000까지 증가시키면서 분류 속도, 테이블 크기, 정책 업데이트 속도와 룰셋 중복 비율을 측정하였다.
도 6은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 액세스된 메모리의 크기를 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 메모리 액세스 량과 룰셋 크기의 비율을 나타낸 그래프를 도시한 도면이다. 도면 6의 (a)에서, X축은 룰셋의 크기, Y축은 액세스된 메모리의 크기이다. 도 6의 (a)에 도시된 바와 같이, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법은 기존의 Efficuts 방법에 비하면 2배 가까운 성능이 개선되었으며 Hypercuts 방법과 유사한 성능을 얻을 수 있음을 알 수 있다.
일반적으로 정책의 수가 증가함에 따라 분류 성능은 느려지게 된다. 이때 정책 수가 증가할 때 분류 성능이 증가하는 속도는 느려야만 대용량 정책을 지원하는데 유리하다. 이에 대한 특성을 알아보기 위해 정책의 수를 20K에서 1,000K까지 증가하면서 메모리 액세스 량과 룰셋 크기의 비율을 측정해보았다. 도 6의 (b)에 도시된 바와 같이, 정책 증가에 비해 분류 성능은 매우 느리게 떨어짐을 알 수 있다. 결국 대용량 정책을 지원하더라도 매우 높은 분류 성능을 유지할 수 있음을 알 수 있다.
도 7은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 총 테이블의 크기를 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 테이블 크기와 룰셋 크기의 비율을 나타낸 그래프를 도시한 도면이다. 도 7의 (a)에 도시된 바와 같이, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법을 사용한 경우, 다른 방법을 사용한 것에 비해 테이블 크기를 크게 개선하고 있음을 알 수 있다. Efficuts 방법이 Hypercuts 방법과 비교하여 분류 성능을 희생하여 테이블 크기를 크게 개선하였다는 것을 고려할 때, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법의 경우 분류 성능을 Efficuts 방법과 유사하게 유지하면서 Efficuts 방법보다 테이블 크기를 더욱 개선하였다는 점에서 매우 큰 의미가 있다고 하겠다.
테이블 크기는 룰셋의 크기에 따라 증가할 수 있다. 따라서 테이블 크기와 룰셋의 비율을 보는 것은 매우 중요할 수 있다. 도 7의 (b)에 도시된 바와 같이, 룰셋의 크기가 커질수록 테이블 크기에 대한 비율이 전체적으로 감소하고 있어 1M 이상의 대용량 정책을 지원하는데 매우 유리하다고 판단할 수 있다. 이는 V2X에서 상당히 중요한 특성으로 기존 T-CAM을 기반 SDN 스위치들이 갖고 있는 플로우 오버플로우를 근본적으로 해결함으로서, 기존 SDN 스위치들의 지연 문제를 해결하였음을 알 수 있다.
도 8은 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 (a) 룰셋의 크기에 따른 테이블 업데이트 시간을 나타낸 그래프와 (b) 정책의 수를 20K에서 1,000K까지 증가하면서 테이블 업데이트 시간과 룰셋의 크기의 비율을 나타낸 그래프를 도시한 도면이다. 기존 방법들은 incremental 정책 업데이트를 지원하지 않는다. 따라서 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에 대해서만 실험을 수행하였다. 다만, 참고하기 위해 기존 방법에 대해서는 테이블 전체 빌딩 시간을 함께 나타내기로 한다. 정책 업데이트 시간을 측정하기 위해서 전체 정책들을 하나씩 삭제하는데 걸리는 시간을 각각 측정하고 이들에 대한 평균값으로 정책 업데이트 시간을 계산하였다.
도 8의 (a)에 도시된 바와 같이, 하나의 정책을 업데이트하는데 걸리는 시간은 모든 경우에 대해 5 usec 보다 작음을 알 수 있고, 도 8의 (b)에 도시된 바와 같이, 정책의 크기가 증가할수록 비율은 감소하므로 정책이 큰 경우에도 빠른 업데이트가 가능함을 확인할 수 있다.
도 9는 본 발명의 일 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법에서 룰셋의 크기에 따른 룰셋의 중복 비율을 도시한 도면이다. 확장성에 대한 중요한 요소 중 하나는 테이블 내에 발생하는 룰셋 중복 비율이다. 이는 전체 룰셋에 대해 파티셔닝을 하면서 발생한 룰셋의 크기 비율을 의미한다. 따라서, 1일 경우 중복 룰셋이 전혀 없음을 의미한다. 중복 룰셋은 패킷 분류 성능, 테이블 크기와, 테이블 업데이트 시간에 모두 악영향을 끼치기 때문에 룰셋의 크기에 상관없이 매우 낮은 값을 유지하는 것이 매우 중요하다. 도 9에 도시된 바와 같이, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법을 사용한 경우, 모든 경우에 대해 상당히 작은 값을 유지함을 알 수 있다.
도 10은 본 발명의 다른 실시예에 따른 빠른 업데이트를 지원하는 고속 패킷 분류 시스템(100)의 세부 구성을 도시한 도면이다. 도 10에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템은, 정적 파티셔닝 모듈(110), 동적 파티셔닝 모듈(120), 및 검색 모듈(130)을 포함할 수 있다.
정적 파티셔닝 모듈(110)은, 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나눌 수 있다. 동적 파티셔닝 모듈(120)은, 상기 정적 파티셔닝 모듈(110)에 의해 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 정책 집합을 나눌 수 있다. 검색 모듈(130)은, 상기 정적 파티셔닝 모듈(110) 및 상기 동적 파티셔닝 모듈(120)에 의해 나뉜 정책 집합을 검색할 수 있다. 각각의 모듈에서 수행되는 정보 처리는, 고속 패킷 분류 방법의 각각의 단계에서 수행되는 정보 처리와 대응될 수 있다.
전술한 바와 같이, 본 발명에서 제안하고 있는 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템에 따르면, 기존의 다양한 정책에 대한 분석을 통해 정책 공통 특성을 사용하여 미리 정해진 규칙에 따라 테이블 정적 빌딩을 함으로써, 정책이 업데이트 되어도 전체 테이블을 새로 생성할 필요 없이 빠르게 테이블을 업데이트할 수 있다. 또한, 본 발명에 따르면, 최적의 검색 속도를 지원하기 위해 테이블 정적 빌딩 후 필요한 경우에는 테이블 동적 빌딩을 부분적으로 사용함으로써, 정책의 자체 고유 특성을 반영할 수 있게 하여 검색 성능을 크게 높일 수 있다. 더 나아가, 본 발명에 따르면, 파티셔닝을 할 때, 정책의 중복을 최대한 피하도록 파티셔닝을 함으로써, 검색 시간과 업데이트 시간의 증가를 억제할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 청구범위에 의하여 정해져야 할 것이다.
100: 본 발명의 일실시예에 따른 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템
110: 정적 파티셔닝 모듈
120: 동적 파티셔닝 모듈
130: 검색 모듈
S100: 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 단계
S200: 단계 S100에서 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 동적 테이블을 통해 작은 크기의 정책 집합으로 나누는 단계
S300: 단계 S100 및 단계 S200에서 나뉜 정책 집합을 검색하는 단계

Claims (20)

  1. 패킷을 분류하는 패킷 분류 방법에 있어서,
    (1) 해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 단계;
    (2) 상기 단계 (1)에서 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 단계; 및
    (3) 상기 단계 (1) 및 (2)에서 나뉜 정책 집합을 검색하는 단계를 포함하며,
    상기 단계 (1)은,
    정책간 공통 특성을 사용하여 미리 정해진 규칙에 따라 정적 테이블을 형성하되, 상기 정책간 공통 특성은, 정책이 업데이트 되어도 유지가 되며, IP Prefix의 길이는 8이상인 것, IP Protocol 중 ICMP, TCP, UDP에 대한 것, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 것을 포함하고,
    상기 단계 (1)은,
    DIP, SIP, Protocol, DPort, SIP, DIP 필드 순으로 해시 기반 파티셔닝을 수행하되,
    DIP의 첫 바이트 값을 해시 값으로 생성하는 해시 함수를 사용하여 총 256개 엔트리로 구성된 DIP 정적 테이블을 구성하여 파티셔닝을 수행하고,
    상기 구성된 DIP 정적 테이블에 의해 파티셔닝 된 정책의 크기가 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, DIP와 정적 테이블과 동일한 구조를 갖되 DIP 대신 SIP를 키로 갖는 해시 함수를 사용하여 SIP 정적 테이블을 구성하여 파티셔닝을 수행하고,
    상기 구성된 SIP 정적 테이블에 의해 파티셔닝 된 정책의 크기가 상기 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, Protocol 기반 해시 테이블을 사용하되, 상기 IP Protocol 중 ICMP, TCP, UDP에 대한 것을 포함하는 정책간 공통 특성을 사용하여 크기가 축소된 Protocol 기반 해시 테이블을 구성하여 파티셔닝을 수행하며,
    상기 구성된 Protocol 기반 해시 테이블에 의해 파티셔닝 된 정책의 크기가 상기 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 것을 포함하는 정책간 공통 특성을 사용하여 DPort 전용 해시 함수를 이용해 메모리 액세스 수와 전체 테이블 크기가 축소된 테이블을 구성하여 파티셔닝을 수행하는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  2. 제1항에 있어서, 상기 단계 (1)은,
    중복 정책이 발생하지 않도록 파티셔닝 되는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 단계 (2)는,
    비트 기반 동적 파티셔닝을 사용한 B-Tree 테이블 동적 빌딩을 통해 leaf 노드에 포함된 정책의 수를 줄이도록 구현된 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  8. 제1항에 있어서, 상기 단계 (3)은,
    중복 정책 없는 트리 검색과 중복 정책 있는 트리 검색이 병렬적으로 이루어지는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  9. 제1항에 있어서, 상기 고속 패킷 분류 방법은,
    정적 테이블에 대한 정책 업데이트 시 고정된 시간이 걸리는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  10. 제1항에 있어서, 상기 고속 패킷 분류 방법은,
    소프트웨어 기반 방식으로 패킷 분류를 수행하는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법.
  11. 패킷을 분류하는 패킷 분류 시스템에 있어서,
    해시 기반 파티셔닝을 사용하여 테이블 정적 빌딩을 통해 기존 정책을 작은 크기의 정책 집합으로 나누는 정적 파티셔닝 모듈;
    상기 정적 파티셔닝 모듈에 의해 나뉜 정책 집합이 일정 크기보다 큰 경우에 비트 기반 테이블 동적 빌딩을 통해 작은 크기의 정책 집합으로 나누는 동적 파티셔닝 모듈; 및
    상기 정적 파티셔닝 모듈 및 동적 파티셔닝 모듈에 의해 나뉜 정책 집합을 검색하는 검색 모듈을 포함하며,
    상기 테이블 정적 빌딩은,
    정책간 공통 특성을 사용하여 미리 정해진 규칙에 따라 정적 테이블을 형성하되, 상기 정책간 공통 특성은, 정책이 업데이트 되어도 유지가 되며, IP Prefix의 길이는 8이상인 것, IP Protocol 중 ICMP, TCP, UDP에 대한 것, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 것을 포함하고,
    상기 정적 파티셔닝 모듈은,
    DIP, SIP, Protocol, DPort, SIP, DIP 필드 순으로 해시 기반 파티셔닝을 하되,
    DIP의 첫 바이트 값을 해시 값으로 생성하는 해시 함수를 사용하여 총 256개 엔트리로 구성된 DIP 정적 테이블을 구성하여 파티셔닝을 수행하고,
    상기 구성된 DIP 정적 테이블에 의해 파티셔닝 된 정책의 크기가 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, DIP와 정적 테이블과 동일한 구조를 갖되 DIP 대신 SIP를 키로 갖는 해시 함수를 사용하여 SIP 정적 테이블을 구성하여 파티셔닝을 수행하고,
    상기 구성된 SIP 정적 테이블에 의해 파티셔닝 된 정책의 크기가 상기 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, Protocol 기반 해시 테이블을 사용하되, 상기 IP Protocol 중 ICMP, TCP, UDP에 대한 것을 포함하는 정책간 공통 특성을 사용하여 크기가 축소된 Protocol 기반 해시 테이블을 구성하여 파티셔닝을 수행하며,
    상기 구성된 Protocol 기반 해시 테이블에 의해 파티셔닝 된 정책의 크기가 상기 최대 동적 파티셔닝 노드(MAX_DYN)보다 크면, 많이 이용되는 서비스에 사용되는 포트를 매칭범위로 하는 것을 포함하는 정책간 공통 특성을 사용하여 DPort 전용 해시 함수를 이용해 메모리 액세스 수와 전체 테이블 크기가 축소된 테이블을 구성하여 파티셔닝을 수행하는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
  12. 제11항에 있어서, 상기 정적 파티셔닝 모듈은,
    중복 정책이 발생하지 않도록 파티셔닝 하는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제11항에 있어서, 상기 동적 파티셔닝 모듈은,
    비트 기반 동적 파티셔닝을 사용한 B-Tree 테이블 동적 빌딩을 통해 leaf 노드에 포함된 정책의 수를 줄이도록 구현된 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
  18. 제11항에 있어서, 상기 검색 모듈은,
    중복 정책 없는 트리 검색과 중복 정책 있는 트리 검색이 병렬적으로 이루어지는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
  19. 제11항에 있어서, 상기 고속 패킷 분류 시스템은,
    정적 테이블에 대한 정책 업데이트 시 고정된 시간이 걸리는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
  20. 제11항에 있어서, 상기 고속 패킷 분류 시스템은,
    소프트웨어 기반 방식으로 패킷 분류를 수행하는 것을 특징으로 하는, 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 시스템.
KR1020180034956A 2018-03-27 2018-03-27 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템 KR101990902B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180034956A KR101990902B1 (ko) 2018-03-27 2018-03-27 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180034956A KR101990902B1 (ko) 2018-03-27 2018-03-27 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101990902B1 true KR101990902B1 (ko) 2019-06-19

Family

ID=67104117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180034956A KR101990902B1 (ko) 2018-03-27 2018-03-27 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101990902B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965552B1 (ko) * 2008-08-06 2010-06-23 이화여자대학교 산학협력단 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치
KR101301607B1 (ko) * 2011-10-31 2013-09-10 삼성에스디에스 주식회사 분산 데이터 저장소를 위한 데이터 파티셔닝 장치 및 방법
KR101586145B1 (ko) * 2013-05-15 2016-02-02 울산과학기술원 산학협력단 Gpu 기반 트리 탐색 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965552B1 (ko) * 2008-08-06 2010-06-23 이화여자대학교 산학협력단 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치
KR101301607B1 (ko) * 2011-10-31 2013-09-10 삼성에스디에스 주식회사 분산 데이터 저장소를 위한 데이터 파티셔닝 장치 및 방법
KR101586145B1 (ko) * 2013-05-15 2016-02-02 울산과학기술원 산학협력단 Gpu 기반 트리 탐색 방법

Similar Documents

Publication Publication Date Title
Gupta et al. Packet classification using hierarchical intelligent cuttings
JP3790217B2 (ja) 高速インターネットプロトコルルートルックアップ遂行及びルーティング/フォワーディングテーブル管理のための装置及び方法
US7937355B2 (en) Decision tree multi-field classification dynamic rules updating and rebuilding
US8432914B2 (en) Method for optimizing a network prefix-list search
US8112547B2 (en) Efficiently hashing packet keys into a firewall connection table
US6581106B1 (en) Fast address lookup in routing tables
Rottenstreich et al. Optimal rule caching and lossy compression for longest prefix matching
US20060221967A1 (en) Methods for performing packet classification
US10277481B2 (en) Stateless forwarding in information centric networks with bloom filters
KR20150053620A (ko) 패킷 전송 장치 및 방법
US7624226B1 (en) Network search engine (NSE) and method for performing interval location using prefix matching
US7487255B2 (en) Routing cache management with route fragmentation
CN112367278A (zh) 基于可编程数据交换机的云网关系统及其报文处理方法
Li et al. Taming the wildcards: Towards dependency-free rule caching with freecache
US9742702B1 (en) End-to-end cache for network elements
Khalid et al. Optimized cuckoo filters for efficient distributed SDN and NFV applications
Wan et al. T-cache: Efficient policy-based forwarding using small tcam
CN106789668B (zh) 一种处理报文的方法和装置
KR101153940B1 (ko) 패킷 분류 장치 및 그 방법
Ahmed et al. PCIU: an efficient packet classification algorithm with an incremental update capability
KR101990902B1 (ko) 빠른 테이블 업데이트를 지원하는 고속 패킷 분류 방법 및 시스템
Ruia et al. Flowcache: A cache-based approach for improving SDN scalability
Pak Fast packet classification for V2X services in 5G networks
US10205658B1 (en) Reducing size of policy databases using bidirectional rules
Trabelsi et al. Enhanced session table architecture for stateful firewalls

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant