1 |
1
패킷 분류 장치에서 패킷 분류 테이블을 영역분할 방식을 이용하여 트리 구조로 생성하는 방법에 있어서,
(a) 영역을 분할할 필드를 선택하는 단계;
(b) 선택된 필드의 필드값을 분류를 필요로 하는 룰(Rule)로부터 추출하는 단계;
(c) 상기 필드값의 길이가 상기 필드값이 가질 수 있는 최대 길이가 아닌 경우, 상기 필드값의 최하위 비트 뒤에 "0" 또는 "1" 중 어느 하나를 부가하여 상기 필드값의 길이를 상기 최대 길이까지 확장시킴으로써 상기 필드값을 인코딩하는 단계;
(d) 상기 필드값을 경계점으로 하여 상기 선택된 필드를 영역별로 분할하고 상기 분류를 필요로 하는 룰을 상기 영역별로 분류하는 단계; 및
(e) 각각의 상기 영역에 포함되는 룰의 수가 빈스(Binth)를 초과하는지를 판단하여, 빈스를 초과하는 영역의 경우 자식 노드를 생성하기 위한 다음 필드를 선택하고 상기 (b) 단계로 돌아가고, 빈스 이하인 경우 또는 선택할 다음 필드가 존재하지 않는 경우 영역 분할 과정을 종료하는 단계
를 포함하는 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
2 |
2
제 1 항에 있어서, 상기 (a) 단계는,
(a1) 선택된 필드의 필드값의 길이가 기 설정된 기준값을 초과하는 룰만을 대상으로 상기 선택된 필드의 필드값을 이용하여 상기 (b) 단계 이후를 진행함으로써 메인 트리(Main Tree)를 생성하는 단계; 및
(a2) 상기 필드값의 길이가 상기 기준값 이하인 룰을 대상으로 영역을 분할할 다른 필드를 선택한 후 선택된 필드의 필드값을 이용하여 상기 (b) 단계 이후를 진행함으로써 서브 트리(Sub Tree)를 생성하는 단계
를 포함하는 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
3 |
3
제 2 항에 있어서,
상기 기준값은 0인 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
4 |
4
제 1 항 또는 제 2 항에 있어서,
상기 (c) 단계에서는 상기 필드값의 최하위 비트에 "0"을 부가하여 인코딩하고,
상기 (d) 단계에서는 인코딩된 상기 필드값을 영역의 시작점으로 하여 상기 선택된 필드를 분할하는 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
5 |
5
제 1 항 또는 제 2 항에 있어서,
상기 (c) 단계에서는 상기 필드값의 최하위 비트에 "1"을 부가하여 인코딩하고,
상기 (d) 단계에서는 인코딩된 상기 필드값을 영역의 끝점으로 하여 상기 선택된 필드를 분할하는 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
6 |
6
제 1 항 또는 제 2 항에 있어서,
영역을 분할할 필드로서 근원지 주소 프리픽스 필드 또는 목적지 주소 프리픽스 필드를 우선적으로 선택하는 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 테이블 생성 방법
|
7 |
7
제 2 항 또는 제 3 항의 방법으로 생성된 패킷 분류 테이블을 이용하여 패킷을 분류하는 방법으로서,
(f) 입력 패킷의 필드값을 추출하여 상기 메인 트리를 계층적으로 검색하여 상기 메인 트리의 리프노드에 저장된 룰(Rule) 중 상기 입력 패킷과 일치하는 룰로서 우선순위가 가장 높은 룰(이하, "메인 트리 BMR(Best Matching Rule)"이라 함)을 검색하는 단계;
(g) 상기 메인 트리 BMR의 우선순위를 기 설정된 임계값과 비교하여 상기 메인 트리 BMR의 우선순위가 상기 임계값보다 높은 경우 상기 메인 트리 BMR을 상기 입력 패킷의 BMR로 결정하는 단계; 및
(h) 상기 메인 트리 BMR의 우선순위가 상기 임계값보다 낮은 경우, 상기 서브 트리를 검색하여 상기 서브 트리의 리프노드에 저장된 룰 중 상기 입력 패킷과 일치하는 룰로서 우선순위가 가장 높은 룰(이하, "서브 트리 BMR"이라 함)을 검색한 후, 상기 메인 트리 BMR과 상기 서브 트리 BMR을 비교하여 상기 입력 패킷의 BMR을 결정하는 단계
를 포함하는 것을 특징으로 하는 패킷 분류 방법
|
8 |
8
제 7 항에 있어서,
상기 (h) 단계는, 상기 서브 트리의 리프노드에 저장된 룰을 검색함에 있어서, 상기 메인 트리 BMR의 우선순위보다 높은 우선순위를 갖는 룰에 대해서만 상기 입력 패킷과의 비교 검색을 진행하는 것을 특징으로 하는 패킷 분류 방법
|
9 |
9
제 7 항에 있어서,
상기 임계값은 상기 서브 트리의 가장 높은 우선순위로 결정되는 것을 특징으로 하는 패킷 분류 방법
|
10 |
10
패킷 분류 장치에 있어서,
영역분할 방식을 이용하여 트리 구조로 생성된 패킷 분류 테이블을 저장하는 메모리; 및 상기 패킷 분류 테이블을 상기 트리 구조를 따라 계층적으로 검색하여 입력 패킷의 BMR(Best Matching Rule)을 결정하는 패킷 분류 제어부를 포함하되,
상기 트리 구조는, 영역을 분할할 필드를 선택하고, 선택된 필드의 필드값의 길이가 상기 필드값이 가질 수 있는 최대 길이가 아닌 경우 상기 필드값의 최하위 비트에 "0" 또는 "1" 중 어느 하나를 부가하여 상기 필드값의 길이를 최대 길이로 확장시킨 후, 상기 필드값을 경계점으로 하여 상기 선택된 필드의 영역을 분할하는 방식으로 룰(Rule)들을 영역별로 분류하는 과정을, 분할된 각각의 영역에 속하는 룰의 개수가 빈스(Binth) 이하가 되거나 또는 선택할 필드가 존재하지 않을 때까지 반복함으로써 생성된 것을 특징으로 하는 패킷 분류 장치
|
11 |
11
제 10 항에 있어서,
상기 트리 구조는, 상기 필드값의 길이가 기 설정된 기준값 초과하는 룰을 대상으로 상기 선택된 필드를 이용하여 영역을 분할하는 과정을 반복함으로써 생성된 메인 트리와 상기 필드값이 상기 기준값 이하인 룰을 대상으로 상기 선택된 필드가 아닌 다른 필드를 이용하여 영역을 분할하는 과정을 반복함으로써 생성된 서브 트리로 구성되고,
상기 패킷 분류 제어부는, 상기 메인 트리를 계층적으로 검색하여 상기 메인 트리의 리프노드(Leaf Node)에서 상기 입력 패킷과 일치하는 룰 중 가장 높은 우선순위를 갖는 BMR(Best Matchiong Rule)(이하, "메인 트리 BMR"이라 함)을 결정한 후, 상기 메인 트리 BMR의 우선순위가 기 설정된 임계값보다 높으면 상기 메인 트리 BMR을 상기 입력 패킷의 BMR로 정하고, 상기 임계값보다 낮으면 상기 서브 트리를 계층적으로 검색하여 상기 서브 트리의 리프노드에서 상기 입력 패킷과 일치하는 룰 중 가장 높은 우선순위를 갖는 룰(이하, "서브 트리 BMR"이라 함)을 검색한 후 상기 메인 트리 BMR과 상기 서브 트리 BMR을 비교하여 상기 입력 패킷의 BMR을 결정하는 것을 특징으로 하는 패킷 분류 장치
|
12 |
12
제 11 항에 있어서,
상기 기준값은 0인 것을 특징으로 하는 영역분할 방식을 이용한 패킷 분류 장치
|
13 |
13
제 11 항에 있어서,
상기 패킷 분류 제어부는 상기 서브 트리의 리프노드를 검색함에 있어서, 상기 메인 트리 BMR의 우선순위보다 높은 우선순위를 갖는 룰만을 상기 입력 패킷과의 비교 검색 대상으로 하는 것을 특징으로 하는 패킷 분류 장치
|
14 |
14
제 11 항에 있어서,
상기 임계값은 상기 서브 트리에서 가장 높은 우선순위를 갖는 룰의 우선순위로 설정되는 것을 특징으로 하는 패킷 분류 장치
|
15 |
15
제 10 항 또는 제 11 항에 있어서,
상기 필드값의 최하위 비트에 "0"을 부가하여 최대 길이로 확장하고 상기 경계점은 영역의 시작점인 것을 특징으로 하는 패킷 분류 장치
|
16 |
16
제 10 항 또는 제 11 항에 있어서,
상기 필드값의 최하위 비트에 "1"을 부가하여 최대 길이로 확장하고 상기 경계점은 영역의 끝점인 것을 특징으로 하는 패킷 분류 장치
|
17 |
17
제 10 항 또는 제 11 항에 있어서,
영역을 분할할 필드로서 근원지 주소 프리픽스 필드 또는 목적지 주소 프리픽스 필드를 우선적으로 선택하는 것을 특징으로 하는 패킷 분류 장치
|