1 |
1
TCAM (Ternary Content Addressable Memory) 를 이용한 해시 기반 고성능 멀티 패턴 매치 제공 방법에 있어서,(a) 멀티 공격 패턴들을 처리하여 TCAM 엔트리 테이블과 TCAM 연관 데이터(associative data) 테이블을 생성하는 전처리(preprocessing) 단계;(b) 패킷이 수신될 때, 패킷의 페이로드를 검색하여 공격 패턴의 존재 유무를 검색하여 패킷의 페이로드에서 공격 패턴을 발견했을 때, TCAM 연관 데이터(associative data) 테이블의 실행에 따라 상기 패킷을 처리하는 스캐닝(scanning) 단계를 포함하는 것을 특징으로 하는 TCAM 를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
2 |
2
제 1 항에 있어서,상기 전처리(preprocessing) 단계는 (a) 상기 멀티 패턴을 처리할 때, 패턴의 길이는 TCAM 윈도우와 비교하는 단계;(b) 상기 (a) 단계에서의 비교 결과, 상기 패턴이 TCAM 윈도우보다 작거나 같다면 (패턴-TCAM 윈도우) 길이 만큼의 돈케어 비트(don't care bit)를 패턴의 뒤부분에 추가하는 단계;(c) 상기 (b) 단계의 패턴를 0에서 TCAM 윈도우-1 까지 한 바이트씩 오른쪽으로 시프트하는 단계;(d) 상기 (c) 단계에서 시프트한 패턴에서 시프트한 수 만큼의 돈케어 비트(don't care bit)를 패턴의 앞부분에 추가하고, 0 으로 설정된 해시값과 상기 패턴으로 TCAM 키 및 매스크 엔트리를 생성하는 단계;(e) 상기 (d) 단계에서 생성된 TCAM 엔트리가 매치될 때 리턴되는 상기 패턴의 정보를 저장하고 있는 TCAM 연관 데이터(associative data) 엔트리를 생성하는데 이 때 해시값은 0으로 설정하는 단계;(f) 상기 (e) 단계에서의 비교 결과, 상기 패턴이 TCAM 윈도우보다 큰 경우에는 패턴를 0 에서 TCAM 윈도우-1까지 한 바이트씩 오른쪽으로 시프트하는 단계;(g) 상기 (f) 단계에서 시프트한 패턴에서 시프트한 수만큼의 돈케어 비트(don't care bit)를 패턴의 앞부분에 추가하고, 상기 시프트 패턴을 TCAM 윈도우만큼 쪼개어 서브 패턴을 생성하는 단계;(h) 상기 서브 패턴을 이용하여 TCAM 키 및 매스크 엔트리를 생성하고, 해시값과 상기 서브 패턴을 이용하여 새로운 해시값을 생성하여 TCAM 연관 데이터(associative data) 엔트리를 생성하는 단계를 포함하는 것을 특징으로 하는 TCAM를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
3 |
3
제 2 항에 있어서, 상기 TCAM 윈도우의 크기는 TCAM 키가 해시와 서브 패턴으로 구성될 경우, TCAM 키의 길이에다가 해시 크기만큼 뺀 값을 설정하는 것을 특징으로 하는 TCAM 를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
4 |
4
제 2 항에 있어서,상기 패턴이 TCAM 윈도우보다 클 때, 상기 여러 개의 서브 패턴으로 쪼개어져 TCAM 키 및 매스키 엔트리, TCAM 연관 데이터(associative data) 엔트리의 생성은, (a) 상기 서브 패턴의 순서가 제일 앞인 경우 0 으로 설정된 해시값과 상기 서브 패턴으로 TCAM 엔트리를 생성하고, 상기 해시값과 상기 서브패턴을 이용하여 새로운 해시값을 생성하여 TCAM 연관 데이터(associative data) 엔트리를 생성하는 단계;(b) 상기 서브 패턴의 순서가 처음과 끝이 아닌 경우, 전 단계의 서브 패턴이 생성한 TCAM 연관 데이터(associative data)의 해시값과 상기 서브 패턴으로 TCAM 엔트리를 생성하고, 상기 해시값과 상기 서브 패턴을 이용하여 새로운 해시값을 생성하여 TCAM 연관 데이터(associative data) 엔트리를 생성하는 단계;(c) 상기 서브 패턴의 순서가 끝인 경우, 전단계의 서브 패턴이 생성한 TCAM 연관 데이터(associative data)의 해시값과 상기 서브 패턴으로 TCAM 엔트리를 생성하고, 상기 해시값과 상기 서브 패턴을 이용하여 새로운 해시값을 생성하여 TCAM 연관 데이터(associative data) 엔트리를 생성하는 단계를 포함하는 것을 특징으로 하는 TCAM를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
5 |
5
제 4 항에 있어서, 상기 이전 서브 패턴의 TCAM 연관 데이터(associative data)의 값을 다음 서브 패턴의 키로 활용하여, 서브 패턴 간의 연관성을 가질 수 있도록 하는 것을 특징으로 하는 TCAM 를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
6 |
6
제 1 항에 있어서,상기 스캐닝(scanning) 단계는 (a) 수신된 패킷의 페이로드에서 TCAM 윈도우 만큼의 페이로드를 추출하여 해시값(0)과 상기 페이로드로 TCAM 를 검색하는 단계;(b) 상기 (a)에서 TCAM 검색 후, 페이로드가 TCAM 의 엔트리와 매치되는 경우, TCAM 연관 데이터(associative data)의 해시값을 판단하는 단계;(c) 상기 (b)에서 상기 해시값이 0 인 경우에는 패킷이 멀티 패턴 중 하나와 매치됨을 의미하므로 TCAM 연관 데이터(associative data)의 실행에 따라 상기 패킷을 처리하는 단계;(d) 상기 (b)에서 상기 해시값이 0 이 아닌 경우에는 서브 패턴이 매치된 경우이므로 다음 페이로드를 TCAM 윈도우만큼 추출하여 상기 TCAM 연관 데이터(associative data)의 해시값과 함께 TCAM 를 검색하는 단계;(e) 상기 (d)에서 TCAM 에 매치되는 경우 TCAM 연관 데이터(associative data)의 해시값이 0이 될 때까지 상기 (d), (e)를 반복하는 단계;(f) 상기 (a)에서 TCAM 검색 후, TCAM 매치가 발생하지 않는 경우 다음 페이로드를 TCAM 윈도우만큼 추출하여 해시값(0)과 상기 페이로드로 TCAM 를 검색하며 이를 페이로드의 끝까지 계속하는 단계를 포함하는 것을 특징으로 하는 TCAM 를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|
7 |
7
제 6 항에 있어서,상기 매치된 결과인 TCAM 연관 데이터(associative data)의 값이 0 이 아닌 경우, 다음 TCAM 검색 시 상기 TCAM 연관 데이터(associative data)의 값을 TCAM 키로 활용하는 것을 특징으로 하는 TCAM 를 이용한 해시 기반 고성능 멀티 패턴 매치 지원 방법
|