KR20030077292A - 주소 분할에 의한 다중필드 분류시스템 - Google Patents

주소 분할에 의한 다중필드 분류시스템 Download PDF

Info

Publication number
KR20030077292A
KR20030077292A KR1020020016340A KR20020016340A KR20030077292A KR 20030077292 A KR20030077292 A KR 20030077292A KR 1020020016340 A KR1020020016340 A KR 1020020016340A KR 20020016340 A KR20020016340 A KR 20020016340A KR 20030077292 A KR20030077292 A KR 20030077292A
Authority
KR
South Korea
Prior art keywords
rule
identifier
address
unit
rule identifier
Prior art date
Application number
KR1020020016340A
Other languages
English (en)
Other versions
KR100467746B1 (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 KR10-2002-0016340A priority Critical patent/KR100467746B1/ko
Publication of KR20030077292A publication Critical patent/KR20030077292A/ko
Application granted granted Critical
Publication of KR100467746B1 publication Critical patent/KR100467746B1/ko

Links

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

본 발명은 주소 분할에 의한 다중필드 분류시스템에 관한 것으로, 입력 또는 수신 패킷에 포함되는 복수개의 필드들을 분석하여 패킷을 적합한 플로우로 분류하는 패킷 분류기능을 포함하는 시스템에 있어서, 상기 입력되는 패킷을 분석하여 키를 생성하는 전처리부; 키를 검색하거나 룰의 삽입 및 제거 기능을 수행하는 분류엔진부; 상기 룰을 저장하기 위한 룰 테이블; 검색 결과를 이용하여 패킷을 처리방법을 결정하거나 직접 처리하는 후처리부; 상기 룰에 대응하는 파라미터를 저장하는 동작테이블을 포함하여 구성된 것을 특징으로 한다.

Description

주소 분할에 의한 다중필드 분류시스템{Multi-field classification system the address decomposition}
본 발명은 주소 분할에 의한 다중필드 분류시스템에 관한 것으로, 더욱 상세하게는 인터넷 라우터와 같은 네트워크 장비나, 침입탐지시스템과 같은 보안 장비 내에서 패킷들을 분석하여 적합한 플로우로 분류하는 일련의 절차를 처리하도록 하는 다중필드 분류시스템에 관한 것이다.
일반적으로, 인터넷 라우터(router)는 근거리통신망을 연결해주는 장치로서 정보에 담긴 수신처 주소를 읽고 가장 적절한 통신통로를 이용하여 다른 통신망으로 전송하는 장치로 동일한 플로우에 속한 모든 패킷(packet)들은 기 설정된(predefined) 룰에 따라 라우터에 의해 유사한 방법으로 처리된다.
예를 들어, 동일한 송신 주소와 착신 주소를 가진 모든 패킷들은 하나의 플로우를 형성한다. 상기 라우터에 의한 패킷 분류는 방화벽(firewall)이나 품질서비스(quality of service)와 같이 적합한 처리를 하기 위하여 다른 플로우들로부터 트래픽(traffic)을 구별하여야 하거나 분리하여야 할 필요가 있는 non-best-effort 서비스에 대해 요구된다.
최근까지도, 인터넷 통신망에서 서로 다른 네트워크를 연결하는 라우터는 first-come-first-served 방식에 의한 best-effort 서비스만을 제공한다.
그러나, 다양한 응용에 대한 서로 다른 품질서비스 제공이 라우터의 필수기능으로 요구되고 있다. 상기 품질서비스 제공으로는 수락제어(admission control), 자원예약(resource reservation), 플로우별 큐잉(per-flow queuing) 및 공정 스케줄링(fair scheduling)과 같은 새로운 기법들을 라우터에 도입하기 위함이고, 이를 해결하기 위해서는 서로 다른 플로우에 속한 패킷들을 구별하는 기술이 필수적으로 요구된다.
이하, 첨부된 도면을 참조하여 라우터와 같은 네트워크 장비 또는 침입탐지시스템과 같은 보안 장치 내에서 패킷들을 플로우로 분류하는 패킷 분류 방법을 살펴보기로 한다.
첨부도면 도 1은 일반적으로 패킷 분류를 위해 사용될 수 있는 헤더 필드의 예를 보인 참고도 이다.
도 1에 도시된 바와 같이, 라우터의 플로우에 의해 분류되는 패킷에는 링크 계층에서 2계층 착신주소, 2계층 송신주소, 2계층 프로토콜이 포함되는 헤더, 네트워크 계층에서 3계층 착신주소, 3계층 송신주소, 3계층 프로토콜이 포함되는 헤더, 트랜스포트 계층에서 4계층 착신포트, 4계층 송신포트가 포함되는 헤더로 구성된 패킷 헤더와 페이로드로 이루어지며, 상기 페이로드에도 내부의 응용 계층 헤더가 더 포함될 수 있다.
상기 플로우는 수신되는 패킷들에 적용될 룰로서 표현되며, 흔히 룰 집합을분류기(classifier)로 명칭하기도 한다. 또한, 하나의 룰은 패킷 헤더에 적용될 기준(criteria)에 근거하여 하나의 패킷이 속하게 될 플로우를 표현하기도 한다.
상기와 같은, 패킷의 분류는 다양한 서비스를 제공하기 위해 인터넷 서비스 제공자(internet service provider)에 의해 활용될 수 있다.
도 2는 종래 네트워크 구성 예를 보인 참고도 이다.
도시된 바와 같이, 네트워크 구성은 인터넷 서비스 제공자(10,20,30)와, 기업망(50,60) 및 네트워크 접속점(40)으로 이루어지며, 상기 제 1인터넷 서비스 제공자(10)는 제 1기업망(50) 및 제 2기업망(60)을 각 제 1 제 2라우터(11,12) 및 제 1 제 2인터페이스(15,16)에 의해 연결되며, 상기 제 1인터넷 서비스 제공자(10)와 제 2 제 3인터넷 서비스 제공자(20,30)는 네트워크 접속점(40)에 의해 연결되고 상기 네트워크 접속점(40)은 제 3인터페이스(17) 및 제 3라우터(13)에 의해 제 1인터넷 서비스 제공자(10)와 연결된다.
상기 네트워크 접속점(40)은 인터넷 트래픽의 교환점(network access point)으로 동작하는 네트워크 사이트이며, 상기 인터넷 서비스 제공자(10)는 다른 인터넷 서비스 제공자(20,30)들과 트래픽을 교환하기 위한 네트워크 접속점(40)에 접속하는 것이다.
상기 제 1인터넷 서비스 제공자(10)는 패킷 필터링(filtering), 폴리시 라우팅(policy routing), 과금(accounting), 트래픽 속도 제한(traffic rate limiting)이나 트래픽 쉐이핑(shaping) 등의 다양한 서비스를 제공할 수 있다. 언급한 각 서비스에 대하여 예를 들어 설명하면 다음과 같다.
상기 패킷 필터링은 제 3인터페이스(17)상에서 제 3인터넷 서비스 제공자로부터 제 2기업망으로 향하는 모든 트래픽을 거절(deny)하며, 폴리시 라우팅은 인터페이스(16)상에서 제 1기업망(50)으로부터 도달하거나 다른 비동기 전달 모드망(Asynchronous transfer mode network)을 경유하여 제 2기업망(60)으로 향하는 모든 voice-over-IP 트래픽을 전단 한다.
상기 과금의 경우는 인터페이스(16)상에서 제 1기업망(50)으로 향하는 모든 비디오 트래픽을 최상위 우선순위로 처리하고 요금을 부과한다.
상기 트래픽 속도 제한은 제 2인터넷 서비스 제공자가 10Mb/s 이상의 이메일 트래픽과 제 3인터페이스(17) 상에서 총 50Mb/s 이상의 트래픽을 인가하지 않을 것을 보장한다.
상기 트래픽 쉐이핑은 50MB/s 이상의 웹 트래픽이 인터페이스(17)상에서 제 2인터넷 서비스 제공자(20)로 인가되지 않을 것을 보장한다.
이와 같은 예들을 수용하기 위해서 제 3인터페이스(17)에 위치한 제 3라우터(13)에 의해 분류되어야 할 플로우들을 살펴보기로 한다.
먼저, 제 2인터넷 서비스 제공자(20)로부터의 이메일 트래픽, 제 2인터넷 서비스 제공자(20)로부터의 트래픽, 제 3인터넷 서비스 제공자(30)로부터 제 2기업망(60)으로 향하는 트래픽 등이 있을 수 있다. 이러한, 각 플로우에 관련된 패킷의 헤더 필드에는 제 2인터넷 서비스 제공자(20)의 이메일 트래픽의 경우 계층 2 송신주소 및 계층 4 송신포트가 관련되고, 상기 제 2인터넷 서비스 제공자(20)로부터의 트래픽의 경우 계층 2 송신주소가 관련되며, 제 3인터넷 서비스 제공자(30)로부터 제 2기업망(60)으로 향하는 트래픽의 경우 계층 2 송신주소 및 계층 3 착신주소가 관련된다.
즉, 정의된 플로우들은 위의 예에서와 같이 제 2인터넷 서비스 제공자(20)로부터의 이메일 트래픽과 상기 제 2인터넷 서비스 제공자(20)로부터의 트래픽과 같이 서로 중복된다.
상기에서와 같이, 특별히 우선순위가 명시되지 않은 한 가장 많은 조건이 일치되는 최다매칭(best matching) 플로우를 따르도록 하게 된다.
한편, 분류기의 각 룰은 d개의 요소들로 구성된다. d개의 요소들은 패킷 헤더로부터 추출된 d개의 헤더 필드들을 의미하며, R[i]는 룰 R의 i번째 요소를 표현한다. 모든 i에 대하여 패킷 P로부터 추출된 헤더 필드들 중 임의의 필드 I번째 필드가 R[i]를 만족하는 경우 패킷 P는 룰 R과 매치(match)한다고 말한다.
상기 룰 요소는 주소/마스크 또는 연산자(operator)/번호 형식으로 표현되기도 한다. 상기 주소/마스크 형식에서 마스크 부분의 0 또는 1은 주소 부분의 대응하는 비트가 don't care 비트인지 또는 significant 비트인지를 표시한다. 상기 연산자/번호 형식의 예로는, eq 1232, range 34-9339 등이 있다.
도 3은 종래 4차원 분류의 예를 보인 참고도로서, 편의상 첫째 룰 R1이 최상위 우선순위를 가지고, 룰 R6이 최하위 우선순위를 갖는다.
도 4는 도 3에 의한 분류 결과를 보인 참고도로서, 런지스트 프리픽스 매칭(longest prefix matching)은 라우팅 룩업을 위해 사용되는 1차원 패킷 분류의 일종이며, 이 경우 공통의 프리픽스에 의해 지정되는 주소들의 집합을 목적지로 하는 모든 패킷들은 동일한 플로우로 간주된다. 그 결과로서 연관될 동작은 패킷이 전달되어져야 할 다음 구간(next hop)의 주소로 표현된다. 프리픽스의 길이에 의해 룰의 우선순위가 결정된다.
그러나, 최근에는 기가비트 이더넷으로부터 10기가비트 급의 OC-192까지의 초고속의 라인 속도에서 동작하는 네트워크 장비 및 보안장비들이 출시되고 있기 때문에 패킷 분석 및 분류의 성능이 장비의 성능을 좌우하는 중요한 요소로 대두되고 있다. 이와 같은 요구를 만족시키기 위해 TCAM(ternary content addressable memory)와 같은 특별한 목적의 분류기나 소프트웨어 기반의 분류 알고리즘들이 개발되고 있는 실정이다. 또한, 대부분이 특별한 응용에 적합하도록 개발되기 때문에 인터넷의 성장과 더욱 다양해지고 있는 네트워크 응용에 효과적으로 적용할 수 있는 고성능 패킷분류 기법의 필요하게 되었다.
먼저, 종래의 대표적인 하드웨어 기반 패킷 분류 기법인 TCAM을 살펴보면, 각 W-비트 필드(val,mask) 순서쌍으로 저장한다. 이때, val과 mask는 각각 W-비트로 구성된다. 예를 들어, W가 5일 경우, 프리픽스 10*은 (10000,11000)쌍으로 저장된다. 주어진 입력키 중 mask의 1에 해당하는 val의 비트와 매치될 경우 TCAM에 저장된 엔트리(entry)가 주어진 입력키에 의해 매치하게 된다.
상기 TCAM는 우선순위가 낮아지는 순서로 룰을 저장해 두고, 주어진 입력키를 저장된 모든 엔트리들과 동시에 비교한다.
도 5는 종래 TCAM 룩업의 작동 예를 보인 참고도 이다.
도 5에서와 같이, 비교 결과인 N-비트 벡터는 어떤 룰이 매치되었는지를 나타내고, 우선순위 인코더는 복수개의 룰이 매치된 경우에 최상위 우선순위를 갖는 룰을 선택하고 해당주소를 결정한다. 최종적으로 매치된 룰의 주소는 연관된 동작을 찾기 위한 인덱스로 사용된다. 상기 TCAM는 간편성과 속도 때문에 급속도로 그 수요가 증가되고 있다.
그러나, TCAM는 램에 비해 밀도가 떨어지기 때문에 동일 크기에 저장할 수 있는 용량이 극히 제한되는 문제점을 갖고 있으며, 일반적인 S램의 비트는 4∼6개의 트랜지스터가 요구되지만 TCAM의 경우에는 11∼15개의 트랜지스터가 요구되는 단점을 갖고 있다.
더욱이, TCAM는 모든 엔트리를 동시에 비교해야 하기 때문에 램에 비해 훨씬 더 많은 전력이 소모된다. 라이트시점에서 볼 때 50MHz에서 구동하는 2Mb TCAM의 경우 7W의 전력이 소모되는 반면, 200MHz에서 구동하는 8Mb S램의 경우에는 단 2W만이 소모된다. 따라서, TCAM는 극히 작은 용량의 분류기로 사용될 수밖에 없는 문제점을 갖고 있다.
상기와 같은 문제를 해소하기 위한 것으로, 본 발명은 인터넷 라우터와 같은 네트워크 장비나, 침입탐지시스템과 같은 보안 장비 내에서 패킷들을 분석하여 적합한 플로우로 분류하는 일련의 절차를 처리하도록 하는데 그 목적이 있다.
도 1은 일반적으로 패킷 분류를 위해 사용될 수 있는 헤더 필드의 예를 보인 참고도.
도 2는 일반적인 네트워크 구성도.
도 3은 종래 4차원 패킷 분류의 예를 보인 참고도.
도 4는 종래 분류 결과 예를 보인 참고도.
도 5는 종래 TCAM 룩업의 작동 예를 보인 참고도.
도 6은 본 발명에 따른 주소 분할에 의한 다중필드 분류시스템의 분류기 구성도.
도 7은 본 발명에서 룰 테이블 및 동작테이블 구조도.
도 8은 본 발명에서 룰 포맷 및 패턴 분할의 동작 예를 보인 참고도.
도 9는 본 발명에서 룰 식별자 변형의 동작 예를 보인 참고도.
도 10은 본 발명에서 삽입절차를 위한 패턴 조작 생성의 예를 보인 참고도.
도 11은 본 발명에서 검색절차의 예를 보인 참고도.
도 12는 본 발명에서 단위 테이블 및 와일드카드 테이블의 구조를 보인 참고도.
*도면의 주요부분에 대한 부호의 설명*
100 : 전처리부200 : 분류엔진부
300 : 후처리부400 : 룰 테이블
500 : 동작 테이블
본 발명을 이루기 위한 수단으로, 입력 또는 수신 패킷에 포함되는 복수개의 필드들을 분석하여 패킷을 적합한 플로우로 분류하는 패킷 분류기능을 포함하는 시스템에 있어서, 상기 입력되는 패킷을 분석하여 키를 생성하는 전처리부; 키를 검색하거나 룰의 삽입 및 제거 기능을 수행하는 분류엔진부; 상기 룰을 저장하기 위한 룰 테이블; 검색 결과를 이용하여 패킷을 처리방법을 결정하거나 직접 처리하는 후처리부; 상기 룰에 대응하는 파라미터를 저장하는 동작테이블을 포함하여 구성된 것을 특징으로 하며, 상기 룰 테이블은 룰 식별자 영역 및 카운터 영역을 포함하는 엔트리를 저장하는 단위 테이블들과, 룰 식별자 영역과 카운터 영역을 포함하는 엔트리를 저장하는 와일드카드 테이블로 구성된 것을 특징으로 하고, 상기 동작 테이블은 유효 표시자 영역과 동작 파라미터 영역을 포함하는 엔트리를 저장하는 것을 특징으로 한다.
상기 분류엔진부는 룰의 삽입 및 제거 동작과 키의 검색을 동시에 수행하고, 상기 와일드카드 테이블은 하나의 단위 테이블 전체 엔트리에 영향을 주는 와일드카드 패턴을 포함하는 룰 식별자를 저장하고, 룰 테이블을 구성하는 단위 테이블의 수만큼의 엔트리를 포함하는 것이며, 상기 룰의 삽입 및 제거 동작에 적용될 룰 포맷은 패킷에 포함된 필드들의 특정 값으로 구성된 패턴, 각 룰에 유일하게 부여되어 룰을 식별 가능하게 하는 룰 식별자, 룰에 대응하는 동작 및 방법을 결정하는 동작 파라미터로 구성된 것을 특징으로 한다.
또한, 상기 룰 삽입 동작은 룰의 패턴 부분을 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 패턴 조각들로 분할하는 것을 특징으로 하고, 상기 룰 삽입 동작은 룰의 룰 식별자 부분을 N-비트로 구성된 단위비트로 나누고, 각 단위비트에 의해 표현되는 수를 2n비트 길이의 비트맵으로 확장하는 것을 특징으로 하며, 상기 룰 삽입 동작은 룰을 구성하는 각 패턴 조각의 내용을 대응하는 단위 테이블의 엔트리 주소로 사용하여 비트맵 방식으로 확장된 룰 식별자를 룰 식별자 영역과 비트 합하여 저장하고, 카운터 영역의 값을 1씩 증가시키는 것을 특징으로 하되, 상기 룰 삽입 동작은 룰의 룰 식별자의 내용을 동작 테이블의 엔트리 주소로 사용하여 유효표시자 영역에 유효표시하고, 룰의 동작 파라미터를 동작 파라미터 영역에 저장하는 것을 특징으로 한다.
상기 룰 제거 동작은 룰의 패턴 부분을 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 패턴 조각들로 분할하는 것을 특징으로 하고, 상기 룰 삭제 동작은 룰을 구성하는 각 패턴 조각의 내용을 대응하는 단위 테이블의 엔트리 주소로 사용하여 카운터 영역의 값을 1씩 감소시키고, 상기 카운터 영역의 값이 0이면 룰 식별자 영역을 모두 0으로 만들어 제거하는 것을 특징으로 하며, 상기 룰 삭제 동작은 룰의 룰 식별자의 내용을 동작 테이블의 엔트리 주소로 사용하여 유효표시자 영역에 무효표시하고, 동작 파라미터 영역을 모두 0으로 만들어 제거하는 것을 특징으로 한다.
이어서, 상기 키 검색 동작은 키를 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 키 조각들로 분할하는 것을 특징으로 하고, 상기 키 검색 동작은 키를 구성하는 각 키 조각의 내용을 대응하는 단위 테이블의 주소로 사용하여 읽어낸 엔트리의 룰 식별자 영역 값과 대응하는 와일드카드테이블 엔트리의 룰 식별자 영역 값을 비트 합하고, 모든 키 조각에 대한 비트 합들을 비트 곱하여 임시 룰 식별자를 구하는 것을 특징으로 하며, 상기 키 검색 동작은 모든 키 조각에 대해 임시 룰 식별자와 대응하는 단위 테이블로부터 읽혀진 룰 식별자 영역 값의 비트 곱을 제 1연산으로 수행하고, 임시 룰 식별자와 대응하는 와일드카드 테이블 엔트리로부터 읽혀진 룰 식별자 영역 값의 비트 곱을 제 2연산으로 수행하는 것을 특징으로 하되 상기 키 검색 동작은 상기 임시 룰 식별자와 상기 제 1 연산 및 제 2 연산의 결과에 의해, 주어진 키에 해당하는 최종 룰 식별자를 결정하고, 결정된 룰 식별자를 구성하는 2n비트 길이의 비트맵 표현들을 N-비트 길이의 단위비트 표현으로 축소 변형한 후, 축소 변형된 룰 식별자를 이용하여 동작 테이블을 액세스하는 것을 특징으로 한다. 상기 검색용 키 포맷은 룰의 패턴 포맷에 포함되는 패킷 필드들의 내용을 새로이 입력되는 패킷으로부터 추출하는 것을 특징으로 한다.
또한, 상기 패턴 및 키 삽입, 제거 또는 검색하는 동작은 패턴 및 키를 구성하는 패턴 조각 및 키 조각의 수가 룰 테이블을 구성하는 단위 테이블의 수보다 클 경우, 순환 기법에 의해 삽입, 제거 또는 검색하는 동작을 수행하는 것을 특징으로 하고, 상기 패턴 삽입 및 제거를 위한 룰 포맷은 생성마스크, 범위검사 또는 와일드 카드 등 사용자로부터 주어지는 패턴 조건에 대해 단위 테이블의 주소 길이에 맞추기 위한 패드 추가를 포함하여 삽입 및 제거를 위한 룰 포맷에 적합한 형태의 패턴으로 생성하는 것을 특징으로 하되 상기 룰 삽입 동작은 패턴 조각의 전체 내용이 와일드카드인 경우 단위 테이블에 대한 삽입 동작을 수행하지 않고, 와일드카드 테이블의 대응하는 엔트리에 비트맵 방식으로 확장된 룰 식별자를 룰 식별자 영역과 비트 합하여 저장하고, 카운터 영역의 값을 1씩 증가시키는 동작을 특징으로 하며, 상기 룰 삭제 동작은 패턴 조각의 전체 내용이 와일드카드인 경우 단위 테이블에 대한 제거 동작을 수행하지 않고, 와일드카드 테이블의 대응하는 엔트리의 카운터 영역의 값을 1씩 감소시키고, 카운터 영역의 값이 0이면 룰 식별자 영역을 모두 0으로 만들어 제거하는 동작을 특징으로 하되 상기 키 검색 동작은 비트 곱의 제 1연산 결과가 유효한 룰 식별자를 포함하는 동시에 비트 곱의 제 2연산 결과가 유효한 룰 식별자를 포함하지 않을 경우 단위 테이블로부터 읽혀진 룰 식별자 영역 값을 선택하고, 모든 단위 테이블로부터 선택된 모든 룰 식별자 영역 값들에 대해 비트 곱 연산을 수행하여 최종 룰 식별자를 구하는 동작을 특징으로 한다.
그리고, 상기 최종 룰 식별자를 결정하는 동작은 최종 룰 식별자에 2개 이상의 서로 다른 룰 식별자가 포함된다면 비트 곱의 제 1연산 결과가 유효한 룰 식별자를 포함하는 동시에 비트 곱 제 2연산의 결과가 유효한 룰 식별자를 포함하는 경우 해당 비트 곱의 제 1연산의 결과를 순서적으로 선택하여 결정하는 것을 특징으로 하며, 상기 최종 룰 식별자를 결정하는 동작은 선택된 비트 곱 제 1연산의 결과와 임시 룰 식별자를 다시 비트 곱 연산을 수행하여 얻어낸 결과가 단 1개의 룰 식별자만을 포함한다면 그 룰 식별자를 최종 룰 식별자로 결정하는 동작을 특징으로 한다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 살펴보면 다음과 같다.
도 6은 본 발명에 따른 주소 분할에 의한 다중필드 분류기법의 분류기 구성도 이다.
도 6에 도시된 바와 같이, 본 발명을 이루기 위한 구성요소들로는 전처리부(pre-processor; 100), 분류엔진부(classification engine; 200) 및 후처리부(post-processor; 300)를 포함하여 구성되며, 상기 전처리부(100)는 입력되는 패킷을 분석하여 분류엔진부(200)에서 사용될 키(key)를 생성하기 위해 요구되는 필드를 추출(extraction)하고, 상기 분류엔진부(200)는 전처리부(100)로부터 전달받은 키에 대한 분류를 수행하여 룰 식별자를 후처리부(300)에 통보하며, 상기 후처리부(300)는 통보 받은 룰 식별자를 이용하여 패킷의 처리방법을 결정하거나 패킷을 직접 처리한다.
또한, 룰 테이블(400)은 이중포트(dual port)RAM으로 분류엔진부(200)의 룰 테이블로 사용되고, 동작 테이블(500)은 SRAM으로 후처리부(300)의 동작 테이블로 사용된다. 상기 동작 테이블(500)은 결과로 수행될 처리방법 및 처리에 이용될 각종 동작 파라미터(action parameters) 등을 포함한다.
도 7은 본 발명에서 룰 테이블 및 동작테이블 구조도 이다.
도시된 바와 같이, 상기 룰 테이블(400)과 동작 테이블(500)에 엔트리를 삽입 또는 제거하기 위한 절차 및 엔트리를 검색하는 것이다.
상기 룰 테이블(400)은 하나 이상의 단위 테이블로 구성되며, 각 단위 테이블을 액세스하는 주소의 길이는 가변적이지만 본 발명에서는 8비트 주소를 이용하며, 상기 엔트리의 내용은 룰 식별자와 카운터로 구성되고, 룰 식별자는 각 룰에 유일하게 부여되는 값으로서, 후처리부(300)가 동작 테이블을 액세스할 때 주소로 사용된다.
상기 룰 식별자의 길이는 수용하는 엔트리 수에 의해 결정되며 카운터는 룰 테이블(400)의 같은 주소에 대해 룰을 삽입할 경우 1을 증가시키고 룰을 제어할 경우 1을 감소시키며, 상기 카운터 값이 0인 경우는 해당 주소와 관련된 롤이 존재하지 않음을 의미한다. 또한 카운터는 룰 테이블에 포함된 룰을 제거하기 위한 삭제 절차에 이용된다
상기 동작 테이블(500)은 룰 식별자에 의해 액세스되며, 유효 표시자와 사용자가 정의하는 동작 파라메타들로 구성되고, 동작 테이블의 엔트리 길이는 포함되는 파라메타 종류에 의해 결정된다.
도 8은 본 발명에서 룰 포맷 및 패턴 분할의 동작 예를 보인 참고도 이다.
도 8에 도시된 바와 같이, 룰 포맷 및 패턴 분할을 하기 위해 구성된 요소들로는 패턴, 룰 식별자 및 동작 파라메타로 구성되며, 상기 룰은 패킷에 포함된 필드들의 특정 값으로 구성된 패턴이다.
주어진 룰 중에서 패턴 부분은 단위 룰 테이블의 주소 길이(기본적으로 8비트)의 배수로 구성되며, 8비트 단위로 분할되고 패턴 분할을 통해 생성된 패턴 조각의 수만큼의 단위 테이블들로 구성된 룰 테이블을 형성한다.
상기 패턴 조각마다 단위 테이블을 할당하며, 주어진 룰에 포함된 룰 식별자는 분할된 8비트 패턴 조각을 주소로 삼아 해당 단위 테이블에 저장한다. 상기 패턴 조각에 대한 룰 식별자(430)가 룰 테이블에 저장될 때마다 해당 엔트리 내부의 카운터 값은 1씩 증가한다.
반면에, 주어진 룰에 포함된 동작 파라메타는 룰 식별자를 주소로 삼아 동작 테이블에 저장된다. 이때, 유효 표시자 비트는 해당 주소의 엔트리가 유효함을 표시하기 위해 1로 설정된다.
주어진 패턴 조각에 의해 지정되는 단위 테이블의 특정 주소에 저장될 룰 식별자는 도 9와 같이 변형된다.
도 9는 본 발명에서 룰 식별자 변형의 동작 예를 보인 참고도 이다.
도 9에 도시된 바와 같이, 룰 식별자를 4비트 단위로 나누고 상기 4비트를 16비트로 확장 변환한다. 상기 4비트로는 16가지의 수를 비트맵(bitmap)으로 표시할 수 있으며, 상기 룰 식별자의 길이가 4*4=16 비트일 경우, 16*4=64 비트로 변환된다. 상기 변환된 비트맵 룰 식별자를 단위 룰 테이블에 저장할 때는 해당주소에 이미 저장되어 있는 내용과 비트 합(bitwise-OR) 연산을 수행한다.
그러나, 실제로 사용자에 의해 주어지는 룰의 형태는 도 8에서와 같이 룰 포맷과는 차이가 있다. 상기 룰에 포함될 필드의 종류는 사용자에 의해 결정되며, 룰 테이블에 삽입되기 전에 도 8에서와 같은 형식의 포맷으로 변형되는 것이 바람직하다. 사용자에 의해 주어지는 룰은 도 3에서 예시된 바와 같이, 마스크, 범위검사(range checking) 또는 와일드카드(wildcard) 등의 패턴 조건으로 요구할 수 있다.
상기 사용자는 패턴을 구성하는 필드마다 별도의 패턴 조건을 제공하여 주어진 패턴 조건에 의해 룰 테이블에 저장될 해당 필드의 패턴을 생성하되 룰 테이블이 8비트 주소길이의 단위 테이블들로 구성되기 때문에 저장될 패턴은 각 단위테이블을 위한 8비트 단위의 패턴 조각으로 생성되어야 한다.
만약, 선택된 필드의 길이가 8비트의 배수가 아니면 최상위 8비트 패턴조각의 헤드(head)부분에 패드(pad)를 허락한다.
도 10은 본 발명에서 삽입절차를 위한 패턴 조작 생성의 예를 보인 참고도 이다.
도 10에 도시된 바와 같이, 저장된 룰을 삭제하기 위해서는 삭제 명령과 함께 사용자에 의해 주어진 룰이 삽입의 경우와 마찬가지로 도 8에서와 같이 변형되고, 도 10에서와 같이 패턴조각으로 생성하는 것이 바람직하며, 생성된 패턴 조각에 의해 각 단위 테이블을 액세스하여 해당 엔트리 내부의 카운터 값을 1 만큼 감소시키고, 만약 카운터 값이 0이 되면 엔트리 내부의 룰 식별자를 0으로 만들고, 그리고 룰 식별자를 이용하여 동작 테이블을 액세스하여 해당 엔트리의 유효 표시자 비롯한 동작 파라미터들을 0으로 만드는 것이 바람직하다.
도 11은 본 발명에서 전처리부로부터 수신된 키를 이용하여 룰 테이블과 동작 테이블을 검색하는 절차 예를 보인 참고도 이다.
도 11에 도시된 바와 같이, 전처리부(100)에 의해 생성된 키는 단위 룰 테이블에 패턴이 삽입되기 위한 패턴 포맷과 동일한 구조를 갖는다. 주어진 키는 검색을 위해 단위 룰 테이블의 주소길이 단위인 8비트의 키 조각으로 분할되고, 분할된 각 키 조각은 대응하는 단위 룰 테이블을 액세스하는 주소로 사용된다.
상기 키 조각에 의해 액세스된 해당 단위 룰 테이블의 엔트리는 관련된 룰 식별자를 포함하며, 분할된 모든 키 조각들에 의해 액세스된 룰 식별자들을 비트 곱(bitwise- AND)하고, 결과로 얻은 공통의 룰 식별자를 주어진 키와 일치하는 최종의 룰 식별자로 결정한 다음, 결정된 룰 식별자는 도 9에서와 같이 16비트 단위의 비트맵으로 확장한다.
역으로, 각 16 비트 단위의 비트맵 표현을 4 비트로 축소되어야 하며, 축소에 의해 최종적으로 결정된 룰 식별자를 이용하여 동작 테이블을 액세스하고, 해당하는 동작 테이블 엔트리의 유효표시자가 유효할 경우, 포함된 동작 파라미터를 후처리부(300)로 전달하되 상기 후처리부(300)는 수신된 동작 파라미터에 패킷을 적절히 처리한다.
도 12는 본 발명에서 단위 테이블 및 와일드카드 테이블의 구조를 보인 참고도 이다.
도 12에 도시된 바와 같이, 단위 테이블 및 와일드카드 테이블에서 요구되는 룰 테이블의 메모리 용량을 줄일 뿐 아니라, 검색 결과로 얻어진 최종 룰 식별자에 두 개 이상의 서로 다른 룰 식별자를 포함하는 경우를 막기 위한 방법을 설명한다.
먼저 요구되는 메모리 용량을 줄이기 위해, 룰 테이블을 구성하는 단위 테이블의수를 줄이는 대신 순환(recursion) 기법을 적용한다. 예를 들어, 8비트 주소 길이의 단위테이블 4개를 사용하고 패턴 및 키의 길이를 128 비트라고 가정할 경우, 32 비트 단위로 4회를 반복하여 단위 테이블에 패턴이 삽입되거나 검색한다.
상기 동일한 테이블에 대해 하나의 패턴이나 키에 속한 패턴 조각이나 키 조각을 2회 이상 반복적으로 삽입하거나 검색하는 동작을 순환이라 한다. 예를 들어, 8개의 패턴 조각 B0,B1,B2, ,B7로 구성된 패턴을 4개의 단위 테이블, B0,B1,B2,B3에 삽입할 경우 B0을 T0에, B1을 T1에, B2를 T2에, B3을 R3에 삽입하고, 다시 순환하여 B4를 T0에, B5를 T1에, B6을 T2에, B7을 T3에 삽입한다. 이때, 단위 테이블과 함께 추가적으로 와일드카드 테이블이 필요하게 되는 것이다.
상기 단위 테이블은 하나의 단위 테이블 전체 엔트리에 영향을 주는 와일드카드 패턴이 삽입되지 않는다는 점을 제외하고는 사용 방법이 동일하다. 반면에 와일드카드 테이블은 단위 테이블과 마찬가지로 룰 식별자 영역과 카운터 영역으로 구성되며 단위 테이블의 수만큼의 엔트리만을 포함한다. 상기 와일드카드 테이블의 각 엔트리는 각 단위 테이블에 1:1로 대응되며, 대응하는 단위 테이블 전체 엔트리에 영향을 주는 와일드카드 패턴을 포함하는 룰 식별자를 삽입한다.
또한, 상기 예에서 B0과 B1이 와일드카드로 표현된다면 T0과 T1에는 해당 룰 식별자를 삽입하지 않고, 와일드카드 테이블의 첫 번째 엔트리와 두 번째 엔트리에 해당 룰 식별자를 삽입한다. 상기 룰 식별자 및 카운터의 사용 방법은 일반적인 룰 삽입 및 삭제 동작과 동일하며, 검색 동작에서는 최종의 룰 식별자를 결정하기 위해 단위 테이블에 대한 순환 검색을 수행함으로써 얻어진 결과인 P0, P1, P2, ,Pn과 와일드카드 테이블의 모든 엔트리 내용 W0,W1,W2, ,Wn 에 대해 (Pi/Wi),i=0,1,2, ,n을 구한 후 비트 곱 연산을 수행하여 임시 룰 식별자 Rt를 구한다.
상기 임시 룰 식별자 Rt는 2개 이상의 서로 다른 룰 식별자를 포함할 가능성이 있기 때문에 (Rt&Pi) 및 (Rt&Wi),i=0,1,2, ,n을 구하여 최종 룰 식별자 R을 유도한다. 또한, (Rt&Pi) 가 유효한 룰 식별자를 포함하고 동시에 (Rt&Wi)가 대응하는 단위 테이블 전체에 영향을 주는 와일드카드를 포함하는 룰 식별자를 포함하지 않을 경우(경우 3)에 해당하는 모든 Pi들에 대해 비트 곱 연산을 수행하여 종 룰 식별자 R을 구한다. 만약, R이 2개 이상의 서로 다른 룰 식별자를 포함한다면, (Rt&Pi)이 유효한 룰 식별자를 포함하고 동시에 (Rt&Wi)가 대응하는 단위 테이블 전체에 영향을 주는 와일드카드를 포함하는 룰 식별자를 포함하는 경우(경우 1)에 해당하는 (Rt&Pi)을 i가 증가하는 순서로 취하여 (Rt&Pi)&Rt을 수행하고, 그 결과가 단 1개의 룰 식별자만을 포함할 때, 그 값을 R값으로 대체한다. 경우 2가 발생하면, 해당 Pi를 R로 구하는 과정에서 제외시킨다. 경우 4는 발생하지 않는다.
그리고, 본 발명의 바람직한 실시 예에 대하여 도시하고 또한 설명하였으나, 본 발명은 상기한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 기재된 청구범위 내에 있게 된다.
이상에서 살펴본 바와 같이, 본 발명은 단위 분류기에 의해 수용 가능한 엔트리 수를 획기적으로 늘일 뿐만 아니라, 분류기 내부의 램과 S램을 이용하게 하여 전력소모를 줄일 수 있도록 하는 효과를 갖는다.

Claims (25)

  1. 입력 또는 수신 패킷에 포함되는 복수개의 필드들을 분석하여 패킷을 적합한 플로우로 분류하는 패킷 분류기능을 포함하는 시스템에 있어서,
    상기 입력되는 패킷을 분석하여 키를 생성하는 전처리부;
    키를 검색하거나 룰의 삽입 및 제거 기능을 수행하는 분류엔진부;
    상기 룰을 저장하기 위한 룰 테이블;
    검색 결과를 이용하여 패킷을 처리방법을 결정하거나 직접 처리하는 후처리부;
    상기 룰에 대응하는 파라미터를 저장하는 동작테이블을 포함하여 구성된 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  2. 제 1항에 있어서, 상기 룰 테이블은 룰 식별자 영역 및 카운터 영역을 포함하는 엔트리를 저장하는 단위 테이블들과, 룰 식별자 영역과 카운터 영역을 포함하는 엔트리를 저장하는 와일드카드 테이블로 구성된 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  3. 제 1항에 있어서, 동작 테이블은 유효 표시자 영역과 동작 파라미터 영역을 포함하는 엔트리를 저장하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  4. 제 1항에 있어서, 상기 분류엔진부는 룰의 삽입 및 제거 동작과 키의 검색을 통시에 수행하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  5. 제 2항에 있어서, 상기 와일드카드 테이블은 하나의 단위 테이블 전체 엔트리에 영향을 주는 와일드카드 패턴을 포함하는 룰 식별자를 저장하고, 룰 테이블을 구성하는 단위 테이블의 수만큼의 엔트리를 포함하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  6. 제 4항에 있어서, 상기 룰의 삽입 및 제거 동작에 적용될 룰 포맷은 패킷에 포함된 필드들의 특정 값으로 구성된 패턴, 각 룰에 유일하게 부여되어 룰을 식별 가능하게 하는 룰 식별자, 룰에 대응하는 동작 및 방법을 결정하는 동작 파라미터로 구성된 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  7. 제 4항에 있어서, 상기 룰 삽입 동작은 룰의 패턴 부분을 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 패턴 조각들로 분할하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  8. 제 4항에 있어서, 상기 룰 삽입 동작은 룰의 룰 식별자 부분을 N-비트로 구성된 단위비트로 나누고, 각 단위비트에 의해 표현되는 수를 2n비트 길이의 비트맵으로 확장하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  9. 제 4항에 있어서, 상기 룰 삽입 동작은 룰을 구성하는 각 패턴 조각의 내용을 대응하는 단위 테이블의 엔트리 주소로 사용하여 비트맵 방식으로 확장된 룰 식별자를 룰 식별자 영역과 비트 합 저장하고, 카운터 영역의 값을 1씩 증가시키는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  10. 제 4항에 있어서, 상기 룰 삽입 동작은 룰의 룰 식별자의 내용을 동작 테이블의 엔트리 주소로 사용하여 유효표시자 영역에 유효표시하고, 룰의 동작 파라미터를 동작 파라미터 영역에 저장하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  11. 제 4항에 있어서, 상기 룰 제거 동작은 룰의 패턴 부분을 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 패턴 조각들로 분할하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  12. 제 4항에 있어서, 상기 룰 삭제 동작은 룰을 구성하는 각 패턴 조각의 내용을 대응하는 단위 테이블의 엔트리 주소로 사용하여 카운터 영역의 값을 1씩 감소시키고, 상기 카운터 영역의 값이 0이면 룰 식별자 영역을 모두 0으로 만들어 제거하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  13. 제 4항에 있어서, 상기 룰 삭제 동작은 룰의 룰 식별자의 내용을 동작 테이블의 엔트리 주소로 사용하여 유효표시자 영역에 무효표시하고, 동작 파라미터 영역을 모두 0으로 만들어 제거하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  14. 제 4항에 있어서, 상기 검색용 키 포맷은 룰의 패턴 포맷에 포함되는 패킷 필드들의 내용을 새로이 입력되는 패킷으로부터 추출하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  15. 제 4항에 있어서, 상기 키 검색 동작은 키를 단위 테이블의 주소 길이에 맞추어 룰 테이블을 구성하는 단위 테이블의 수만큼의 키 조각들로 분할하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  16. 제 4항에 있어서, 상기 키 검색 동작은 키를 구성하는 각 키 조각의 내용을 대응하는 단위 테이블의 주소로 사용하여 읽어낸 엔트리의 룰 식별자 영역 값과 대응하는 와일드카드 테이블 엔트리의 룰 식별자 영역 값을 비트 합하고, 모든 키 조각에 대한 비트 합들을 비트 곱하여 임시 룰 식별자를 구하는 것을 특징으로 하는주소 분할에 의한 다중필드 분류시스템.
  17. 제 4항에 있어서, 상기 키 검색 동작은 모든 키 조각에 대해 임시 룰 식별자와 대응하는 단위 테이블로부터 읽혀진 룰 식별자 영역 값의 비트 곱을 제 1연산으로 수행하고, 임시 룰 식별자와 대응하는 와일드카드 테이블 엔트리로부터 읽혀진 룰 식별자 영역 값의 비트 곱을 제 2연산으로 수행하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  18. 제 4항에 있어서, 상기 키 검색 동작은 모든 단위 테이블로부터 읽어낸 모든 룰 식별자 영역의 값들을 비트 곱하여 주어진 키에 해당하는 룰 식별자를 결정하고, 결정된 룰 식별자를 구성하는 2n비트 길이의 비트맵 표현들을 N-비트 길이의 단위비트 표현으로 축소 변형한 후, 최종 결정된 룰 식별자를 이용하여 동작 테이블을 액세스하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  19. 제 4항에 있어서, 상기 패턴 및 키 삽입, 제거 또는 검색하는 동작은 패턴 및 키를 구성하는 패턴 조각 및 키 조각의 수가 룰 테이블을 구성하는 단위 테이블의 수보다 클 경우, 순환 기법에 의해 삽입, 제거 또는 검색하는 동작을 수행하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  20. 제 6항에 있어서, 상기 패턴 삽입 및 제거를 위한 룰 포맷은 생성마스크, 범위검사 또는 와일드 카드 등 사용자로부터 주어지는 패턴 조건에 대해 단위 테이블의 주소 길이에 맞추기 위한 패드 추가를 포함하여 삽입 및 제거를 위한 룰 포맷에 적합한 형태의 패턴으로 생성하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  21. 제 9항에 있어서, 상기 룰 삽입 동작은 패턴 조각의 전체 내용이 와일드카드인 경우 단위 테이블에 대한 삽입 동작을 수행하지 않고, 와일드카드 테이블의 대응하는 엔트리에 비트맵 방식으로 확장된 룰 식별자를 룰 식별자 영역과 비트 합하여 저장하고, 카운터 영역의 값을 1씩 증가시키는 동작을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  22. 제 12항에 있어서, 상기 룰 삭제 동작은 패턴 조각의 전체 내용이 와일드카드인 경우 단위 테이블에 대한 제거 동작을 수행하지 않고, 와일드카드 테이블의 대응하는 엔트리의 카운터 영역의 값을 1씩 감소시키고, 카운터 영역의 값이 0이면 룰 식별자 영역을 모두 0으로 만들어 제거하는 동작을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템
  23. 제 17항에 있어서, 상기 키 검색 동작은 비트 곱의 제 1연산 결과가 유효한 룰 식별자를 포함하는 동시에 비트 곱의 제 2연산 결과가 유효한 룰 식별자를 포함하지 않을 경우 단위 테이블로부터 읽혀진 룰 식별자 영역 값을 선택하고, 모든 단위 테이블로부터 선택된 모든 룰 식별자 영역 값들에 대해 비트 곱 연산을 수행하여 최종 룰 식별자를 구하는 동작을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  24. 제 23항에 있어서, 상기 최종 룰 식별자를 결정하는 동작은 최종 룰 식별자에 2개 이상의 서로 다른 룰 식별자가 포함된다면 비트 곱의 제 1연산 결과가 유효한 룰 식별자를 포함하는 동시에 비트 곱 제 2연산의 결과가 유효한 룰 식별자를 포함하는 경우 해당 비트 곱의 제 1연산의 결과를 순서적으로 선택하여 결정하는 것을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
  25. 제 24항에 있어서, 상기 최종 룰 식별자를 결정하는 동작은 선택된 비트 곱 제 1연산의 결과와 임시 룰 식별자를 다시 비트 곱 연산을 수행하여 얻어낸 결과가 단 1개의 룰 식별자만을 포함한다면 그 룰 식별자를 최종 룰 식별자로 결정하는 동작을 특징으로 하는 주소 분할에 의한 다중필드 분류시스템.
KR10-2002-0016340A 2002-03-26 2002-03-26 주소 분할에 의한 다중필드 분류시스템 KR100467746B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0016340A KR100467746B1 (ko) 2002-03-26 2002-03-26 주소 분할에 의한 다중필드 분류시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0016340A KR100467746B1 (ko) 2002-03-26 2002-03-26 주소 분할에 의한 다중필드 분류시스템

Publications (2)

Publication Number Publication Date
KR20030077292A true KR20030077292A (ko) 2003-10-01
KR100467746B1 KR100467746B1 (ko) 2005-01-24

Family

ID=32376617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0016340A KR100467746B1 (ko) 2002-03-26 2002-03-26 주소 분할에 의한 다중필드 분류시스템

Country Status (1)

Country Link
KR (1) KR100467746B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564768B1 (ko) * 2003-12-26 2006-03-27 한국전자통신연구원 순차룩업에 의한 패킷헤더 룩업장치 및 방법
KR100770643B1 (ko) * 2006-03-28 2007-10-29 충남대학교산학협력단 Tcam을 이용한 고성능 패킷 분류 방법 및 그 장치
KR100776115B1 (ko) * 2006-03-22 2007-11-15 기장근 부정 및 시작 플래그를 가지는 터너리 컨텐트 어드레스어블 메모리
KR100861931B1 (ko) * 2005-06-10 2008-10-09 삼성전자주식회사 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법
US9118625B2 (en) 2012-11-19 2015-08-25 Samsung Sds Co., Ltd. Anti-malware system, method of processing data in the same, and computing device
CN113111233A (zh) * 2020-02-13 2021-07-13 北京明亿科技有限公司 基于正则表达式的接处警文本居住地地址提取方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305321A (en) * 1992-02-24 1994-04-19 Advanced Micro Devices Ethernet media access controller with external address detection interface and associated method
JP3961112B2 (ja) * 1998-04-23 2007-08-22 株式会社東芝 パケット通信制御システム及びパケット通信制御装置
KR100317131B1 (ko) * 1998-12-01 2002-04-24 오길록 서비스품질의구분이가능한인터넷트래픽관리장치및그방법
DE60026229T2 (de) * 2000-01-27 2006-12-14 International Business Machines Corp. Verfahren und Vorrichtung für Klassifizierung von Datenpaketen
US20020069356A1 (en) * 2000-06-12 2002-06-06 Kwang Tae Kim Integrated security gateway apparatus
KR20030009887A (ko) * 2001-07-24 2003-02-05 주식회사 케이티 서비스거부 공격 차단시스템 및 방법
KR100432168B1 (ko) * 2001-12-27 2004-05-17 한국전자통신연구원 다중 침입탐지 객체를 이용한 보안 게이트웨이 시스템 및침입 탐지방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564768B1 (ko) * 2003-12-26 2006-03-27 한국전자통신연구원 순차룩업에 의한 패킷헤더 룩업장치 및 방법
KR100861931B1 (ko) * 2005-06-10 2008-10-09 삼성전자주식회사 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법
US7636368B2 (en) 2005-06-10 2009-12-22 Samsung Electronics Co., Ltd Apparatus and method for configuring buffer descriptor suitable for packet aggregation
KR100776115B1 (ko) * 2006-03-22 2007-11-15 기장근 부정 및 시작 플래그를 가지는 터너리 컨텐트 어드레스어블 메모리
KR100770643B1 (ko) * 2006-03-28 2007-10-29 충남대학교산학협력단 Tcam을 이용한 고성능 패킷 분류 방법 및 그 장치
US9118625B2 (en) 2012-11-19 2015-08-25 Samsung Sds Co., Ltd. Anti-malware system, method of processing data in the same, and computing device
US9306908B2 (en) 2012-11-19 2016-04-05 Samsung Sds Co., Ltd. Anti-malware system, method of processing packet in the same, and computing device
CN113111233A (zh) * 2020-02-13 2021-07-13 北京明亿科技有限公司 基于正则表达式的接处警文本居住地地址提取方法和装置
CN113111233B (zh) * 2020-02-13 2024-04-12 北京明亿科技有限公司 基于正则表达式的接处警文本居住地地址提取方法和装置

Also Published As

Publication number Publication date
KR100467746B1 (ko) 2005-01-24

Similar Documents

Publication Publication Date Title
US7394809B2 (en) Method and apparatus for packet classification using a forest of hash tables data structure
US7054315B2 (en) Efficiency masked matching
US10476794B2 (en) Efficient caching of TCAM rules in RAM
US7408932B2 (en) Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing
US10491521B2 (en) Field checking based caching of ACL lookups to ease ACL lookup search
US7525958B2 (en) Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing
Lakshminarayanan et al. Algorithms for advanced packet classification with ternary CAMs
US7116663B2 (en) Multi-field classification using enhanced masked matching
US6289013B1 (en) Packet filter method and apparatus employing reduced memory
US7415023B2 (en) Method for classifying packets using multi-class structures
KR100920518B1 (ko) 패킷 분류 장치 및 방법
US20050171937A1 (en) Memory efficient hashing algorithm
US20070112794A1 (en) Incremental compilation of packet classifications using fragmented tables
US7317723B1 (en) Action based termination of multidimensional lookup
US7624226B1 (en) Network search engine (NSE) and method for performing interval location using prefix matching
Srinivasan A packet classification and filter management system
US9647947B2 (en) Block mask register key processing by compiling data structures to traverse rules and creating a new rule set
US7739445B1 (en) Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device
US7554980B1 (en) Packet classification using relevance scoring
CN111988231A (zh) 一种掩码五元组规则匹配的方法及装置
Chang et al. TCAM-based multi-match packet classification using multidimensional rule layering
US20050038907A1 (en) Routing cache management with route fragmentation
KR100467746B1 (ko) 주소 분할에 의한 다중필드 분류시스템
US20050262294A1 (en) Method for policy matching using a hybrid TCAM and memory-based scheme
US7512122B1 (en) Identifying QoS flows using indices

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150114

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170111

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180105

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20200113

Year of fee payment: 16