1 |
1
입력된 데이터 패킷을 분석하고, 분석 결과를 이용하여 상기 데이터 패킷으로부터 복수의 특정 필드를 추출하여 출력하는 제1 수단;
상기 추출된 복수의 특정 필드의 제1 일부의 데이터와 테이블을 비교하여 상기 테이블에 미리 결정된 조건을 만족하는 항목이 존재하는지 검색하고, 상기 테이블에 상기 미리 결정된 조건을 만족하는 항목이 존재하는 경우 히트 신호 및 상기 미리 결정된 조건을 만족하는 항목의 위치를 나타내는 포인터를 출력하는 복수의 제2 수단; 및
상기 추출된 복수의 특정 필드의 제2 일부의 데이터 및 상기 복수의 제2 수단으로부터 입력된 상기 포인터를 포함하는 키 데이터와 룰 테이블의 룰 데이터를 비교하여 상기 룰 테이블에 미리 결정된 조건을 만족하는 항목이 존재하는지 검색하고, 상기 룰 테이블에 상기 미리 결정된 조건을 만족하는 항목이 존재하는 경우 그에 해당하는 클래스를 출력하는 제3 수단을 포함하는 패킷 분류 장치
|
2 |
2
제1항에 있어서,
상기 복수의 제2 수단은
프리픽스 매치 검색을 수행하는 제1 단일 필드 검색 수단;
레인지 매치 검색을 수행하는 제2 단일 필드 검색 수단; 및
엄밀한 매치 검색을 수행하는 제3 단일 필드 검색 수단을 포함하는 패킷 분류 장치
|
3 |
3
제2항에 있어서,
상기 제1 단일 필드 검색 수단은
상기 복수의 특정 필드의 제3 일부의 데이터의 비트들을 마스킹하는데 사용되는 마스크들을 저장하는 마스크 테이블;
상기 복수의 특정 필드의 제3 일부의 데이터와 비교하게 될 값 또는 형태의 데이터를 저장하는 컨텐트 테이블;
상기 마스크 테이블과 상기 컨텐트 테이블에서 각각 마스크와 컨텐트 데이터를 읽어 들여 상기 복수의 특정 필드의 제3 일부의 데이터의 일부 비트들 및 상기 컨텐트 데이터의 일부 비트들을 상기 마스크로 마스킹하고, 상기 복수의 특정 필드의 제3 일부의 데이터의 마스크되지 않은 부분과 상기 컨텐트 데이터의 마스크되지 않은 부분을 비교하여 동일한 경우에는 일치, 그렇지 않으면 불일치를 나타내는 비교 결과 및 상기 컨텐트 테이블에서 상기 컨텐트 데이터가 저장되어 있는 위치 정보를 출력하는 비교기; 및
상기 비교 결과 및 상기 위치 정보를 이용해서 상기 컨텐트 테이블을 구성하는 항목들 중에 상기 일치를 나타내는 항목이 존재하는 경우, 상기 히트 신호 및 상기 포인터를 발생시키는 포인터 및 히트 신호 발생기를 포함하는 패킷 분류 장치
|
4 |
4
제3항에 있어서,
상기 포인터 및 히트 신호 발생기는 상기 일치를 나타내는 항목이 복수 개 존재하는 경우, 그 항목들의 우선 순위를 따져서 그 중 상기 우선 순위가 높은 순서대로 사용자가 정한 개수만큼의 복수의 항목들을 선택하고,
상기 복수의 항목들에 대한 포인터 및 히트 신호를 출력하는 패킷 분류 장치
|
5 |
5
제2항에 있어서,
상기 제2 단일 필드 검색 수단은
상기 복수의 특정 필드의 제4 일부의 데이터와 비교하게 될 상계 값들을 저장하는 상계 테이블;
상기 복수의 특정 필드의 제4 일부의 데이터와 비교하게 될 하계 값들을 저장하는 하계 테이블;
상기 상계 테이블과 상기 하계 테이블에서 각각 상계 값과 하계 값을 읽어 들여 상기 복수의 특정 필드의 제4 일부의 데이터를 상기 상계 값 및 상기 하계 값과 비교하여, 상기 복수의 특정 필드의 제4 일부의 데이터가 상기 상계 값보다는 작거나 같고 상기 하계 값보다는 크거나 같으면 일치, 그렇지 않으면 불일치를 나타내는 비교 결과 및 상기 상계 테이블 및 하계 테이블에서 상기 상계 값과 상기 하계 값이 저장되어 있는 위치 정보를 출력하는 비교기; 및
상기 비교 결과 및 상기 위치 정보를 이용해서 상기 상계 테이블 및 하계 테이블을 구성하는 항목들 중에 상기 일치를 나타내는 항목이 존재하는 경우 상기 히트 신호 및 상기 포인터를 발생시키는 포인터 및 히트 신호 발생기를 포함하는 패킷 분류 장치
|
6 |
6
제5항에 있어서,
상기 포인터 및 히트 신호 발생기는 상기 일치를 나타내는 항목이 복수 개 존재하는 경우, 그 항목들의 우선 순위를 따져서 그 중 상기 우선 순위가 높은 순서대로 사용자가 정한 개수만큼의 복수의 항목들을 선택하고,
상기 복수의 항목들에 대한 포인터 및 히트 신호를 출력하는 패킷 분류 장치
|
7 |
7
제2항에 있어서,
상기 제3 단일 필드 검색 수단은
상기 복수의 특정 필드의 제5 일부의 데이터와 정확히 비교하게 될 값 또는 형태의 데이터를 저장하는 컨텐트 테이블;
상기 컨텐트 테이블에서 컨텐트 데이터를 읽어 들여, 상기 복수의 특정 필드의 제5 일부의 데이터와 상기 컨텐트 데이터를 서로 비교하여, 동일한 경우에는 일치, 그렇지 않는 경우에는 불일치를 나타내는 비교 결과 및 상기 컨텐트 테이블에서 상기 컨텐트 데이터가 저장되어 있는 위치 정보를 출력하는 비교기; 및
상기 비교 결과 및 상기 위치 정보를 이용해서 상기 컨텐트 테이블을 구성하는 항목들 중에 상기 일치를 나타내는 항목이 존재하는 경우 상기 히트 신호 및 상기 포인터를 발생시키는 포인터 및 히트 신호 발생기를 포함하는 패킷 분류 장치
|
8 |
8
제2항에 있어서,
상기 제3 수단은
상기 룰 데이터를 저장하는 룰 테이블;
상기 키 데이터를 마스킹하는데 사용되는 마스크들을 저장하는 마스크 테이블;
상기 룰 테이블과 상기 마스크 테이블에서 각각 상기 룰 데이터와 상기 마스크를 읽어 들이고, 상기 키 데이터를 구성하는 요소들 중 일부와 룰 데이터를 구성하는 요소들 중 일부를 마스킹하고, 상기 키 데이터를 구성하는 요소들 중 마스크되지 않은 요소들과 상기 룰 데이터를 구성하는 요소들 중 마스크되지 않은 요소들을 각 요소별로 서로 비교하여 동일한 경우에는 일치, 그렇지 않은 경우에는 불일치를 요소별 비교 결과로 나타내고, 상기 요소별 비교 결과들이 모두 일치를 나타내는 경우에는 일치, 그렇지 않는 경우에는 불일치를 나타내는 비교 결과 및 상기 룰 테이블에서 상기 룰 데이터가 저장되어 있는 위치 정보를 출력하는 비교기; 및
상기 비교 결과 및 상기 위치 정보를 이용해서 상기 룰 테이블을 구성하는 항목들 중에 상기 일치를 나타내는 항목이 존재하는 경우 상기 항목에 대해 QoS를 제공하는 장치들과 약속되어 있는 소정의 값을 나타내는 클래스 및 일치되는 항목이 있음을 나타내는 히트 신호를 발생시키는 클래스 및 히트 신호 발생기를 포함하는 패킷 분류 장치
|
9 |
9
제8항에 있어서,
상기 클래스 및 히트 신호 발생기는
상기 일치를 나타내는 항목이 복수 개 존재하는 경우, 그 항목들의 우선 순위를 따져서 그 중 상기 우선 순위가 높은 순서대로 사용자가 정한 개수만큼의 복수의 항목들을 선택하고,
상기 복수의 항목들에 대한 클래스를 출력하는 패킷 분류 장치
|
10 |
10
제8항에 있어서
상기 요소별 비교 결과는 상기 제1 단일 필드 검색 수단으로부터 복수의 포인터들이 입력되면 상기 룰 데이터의 대응하는 포인터와 상기 복수의 포인터들을 각각 동시에 비교하여 그 중에 하나라도 동일한 경우에 일치를 나타내고, 상기 제2 단일 필드 검색 수단으로부터 복수의 포인터들이 입력되면 상기 룰 데이터 상에서 그에 상응하는 포인터와 상기 복수의 포인터들을 각각 동시에 비교하여 그 중에 하나라도 동일한 경우에 일치를 나타내는 패킷 분류 장치
|
11 |
11
제1항에 있어서,
상기 제1 수단은 입력/출력 포트 (Ingress/Egress Port) 정보 데이터 및 논리적인 링크 (Logical Link) 정보 데이터를 더 출력하고,
상기 키 데이터는 상기 입력/출력 포트 (Ingress/Egress Port) 정보 데이터 및 상기 논리적인 링크 (Logical Link) 정보 데이터를 더 포함하는 패킷 분류 장치
|
12 |
12
입력된 데이터 패킷을 분석하고 상기 데이터 패킷으로부터 특정 필드를 추출하여 출력하는 단계;
상기 특정 필드 중 제1 일부의 데이터와 테이블을 비교하여 상기 테이블에 미리 결정된 조건을 만족하는 항목이 존재하는 경우 히트 신호 및 상기 미리 결정된 조건을 만족하는 항목의 위치를 나타내는 포인터를 출력하는 단계; 및
상기 특정 필드 중 제2 일부의 데이터 및 상기 포인터를 룰 테이블의 룰 데이터와 비교하여 상기 데이터 패킷을 분류하는 단계를 포함하는 패킷 분류 방법
|
13 |
13
제12항에 있어서,
상기 패킷을 분류하는 단계는
키 데이터를 입력받는 단계;
상기 룰 테이블에서 상기 룰 데이터를 읽어 들이고, 마스크 테이블에서 마스크를 읽어 들이는 단계;
상기 마스크를 이용해 상기 키 데이터의 요소들 중 일부와 상기 룰 데이터의 요소들 중 일부를 마스킹하는 단계;
상기 데이터의 요소들 중 마스크되지 않은 요소들과 상기 룰 데이터의 요소들 중 마스크되지 않은 요소들을 각 요소별로 서로 비교하여 동일한 경우에는 일치, 그렇지 않은 경우에는 불일치를 나타내며, 최종적으로는, 상기 요소별 비교 결과들이 모두 일치를 나타내는 경우에는 일치, 그렇지 않는 경우에는 불일치를 나타내는 비교 결과 및 상기 룰 테이블에서 상기 룰 데이터가 저장되어 있는 위치 정보를 출력하는 단계; 및
상기 비교 결과 및 상기 위치 정보를 이용하여 일치를 나타내는 항목이 존재하는 경우 클래스 및 히트 신호를 발생시키는 단계를 포함하는 패킷 분류 방법
|
14 |
14
제13항에 있어서,
상기 클래스 및 히트 신호를 발생시키는 단계는
상기 비교 결과 및 상기 위치 정보를 입력받는 단계; 및
클래스 테이블에서 상기 위치 정보에 해당되는 위치에 저장되어 있는 클래스를 읽어서 출력하는 단계를 포함하는 패킷 분류 방법
|
15 |
15
제13항에 있어서,
상기 클래스 및 히트 신호를 발생시키는 단계는
상기 일치를 나타내는 항목이 복수 개 존재하는 경우, 그 항목들의 우선 순위를 따져서 그 중 상기 우선 순위가 높은 순서대로 사용자가 정한 개수만큼의 복수의 항목들을 선택하고,
상기 복수의 항목들에 대한 클래스를 출력하는 패킷 분류 방법
|
16 |
16
제12항에 있어서,
상기 특정 필드 중 제2 일부는 가상랜 사용자 우선순위, 인터넷 프로토콜 우선순위 및 차등 서비스 코드 포인트를 포함하는 패킷 분류 방법
|