KR100840367B1 - 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 - Google Patents
네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 Download PDFInfo
- Publication number
- KR100840367B1 KR100840367B1 KR1020060002350A KR20060002350A KR100840367B1 KR 100840367 B1 KR100840367 B1 KR 100840367B1 KR 1020060002350 A KR1020060002350 A KR 1020060002350A KR 20060002350 A KR20060002350 A KR 20060002350A KR 100840367 B1 KR100840367 B1 KR 100840367B1
- Authority
- KR
- South Korea
- Prior art keywords
- search
- entry
- packet
- expression
- network
- Prior art date
Links
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02D—FOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
- E02D27/00—Foundations as substructures
- E02D27/32—Foundations for special purposes
- E02D27/42—Foundations for poles, masts or chimneys
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04B—GENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
- E04B1/00—Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
- E04B1/18—Structures comprising elongated load-supporting parts, e.g. columns, girders, skeletons
- E04B1/26—Structures comprising elongated load-supporting parts, e.g. columns, girders, skeletons the supporting parts consisting of wood
- E04B1/2604—Connections specially adapted therefor
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04B—GENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
- E04B1/00—Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
- E04B1/18—Structures comprising elongated load-supporting parts, e.g. columns, girders, skeletons
- E04B1/26—Structures comprising elongated load-supporting parts, e.g. columns, girders, skeletons the supporting parts consisting of wood
- E04B1/2604—Connections specially adapted therefor
- E04B2001/268—Connection to foundations
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H1/00—Buildings or groups of buildings for dwelling or office purposes; General layout, e.g. modular co-ordination or staggered storeys
- E04H1/12—Small buildings or other erections for limited occupation, erected in the open air or arranged in buildings, e.g. kiosks, waiting shelters for bus stops or for filling stations, roofs for railway platforms, watchmen's huts or dressing cubicles
- E04H1/1205—Small buildings erected in the open air
Landscapes
- Engineering & Computer Science (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Architecture (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Mining & Mineral Resources (AREA)
- Paleontology (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크로부터 입력되는 패킷에 따른 검색식을 구성하고, 상기 검색식 및 결과 값을 저장하는 검색 엔트리를 생성하는 검색 처리부와, 상기 검색 처리부에서 생성되는 검색 엔트리에 상기 검색식을 저장하고, 상기 검색식에 따른 상기 패킷의 결과 값을 해당 검색 엔트리에 저장하는 검색 엔진부를 포함하는 네트워크 검색 시스템을 개시함으로써, 상태 정보를 별도로 저장하는 SRAM을 구비하지 않아도 됨으로, 네트워크 시스템의 구현 비용이 저렴하면서 네트워크 검색 시스템의 검색 속도를 최대화함은 물론, 저장 용량 사용 효율을 최대화할 수 있도록 하는 것이다.
Description
도 1은 일반적인 네트워크 검색 시스템을 설명하기 위한 도면.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크 검색 시스템에서의 패킷 검색 장치를 설명하기 위한 블록 도면.
도 3은 본 발명의 바람직한 실시예에 따른 네트워크 검색 시스템에서의 패킷 검색 방법에 대한 동작 플로우챠트를 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 검색 처리부 110 : 엔트리 처리부
200 : 검색 엔진부 210 : 검색식 처리부
본 발명은 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치에 관한 것이다.
네트워크 기술의 발전과, 통신 시장의 발달로 인하여 정보화 사회로 발전하고 있다.
이러한, 정보화 사회에서 최우선적인 관심 사항이 정보의 보안 문제이다. 예를 들어, 공적인 회사 업무들이 모두 전산화가 되어 정보 전달의 용의성이 높아져 편리해진 측면과 더불어, 네트워크를 통해 중요 정보 또는 중요 기술이 유출될 가능성이 높아진 부정적인 측면도 높아졌다.
네트워크 또는 네트워크 장비의 보안 방식으로 제시된 것이 네트워크 검색 시스템이다.
이러한, 네트워크 검색 시스템의 방식은 고정 패킷 필터(static packet filter)로써, 입력되는 패킷의 소스 아이피 주소(Source IP address), 목적지 아이피 주소(Destination IP address), 소스 포트 번호(TCP/UDP source port), 목적지 포트 번호(TCP/UDP destination port) 등을 검색하여, 해당 패킷을 전송할 것인지, 아니면 폐기할 것인지 여부를 결정하는 방식이다.
이러한, 네트워크 검색 시스템에서 사용되는 방식이 패킷 상태 검사(stateful packet inspection)로써, 기본적으로 패킷 필터링의 기술을 사용하면서 모든 계층으로부터 액세스 제어에 관련한 필요한 정보를 얻고, 또한 과거의 정보를 유지하면서 규칙을 적용하는 것이다. 패킷에서 규칙에 적용하는 정보는 패킷의 헤더 정보 뿐만 아니라 패킷의 내용 정보까지 해석함으로써, 보다 높은 차원의 보안을 구현할 수 있다.
도 1은 일반적인 네트워크 검색 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일반적인 네트워크 검색 시스템은, 검색 처리부, 검색 엔진부 및 SRAM을 포함한다.
검색 처리부는 마이크로 프로세서 또는 FPGA(field-programmable gate array) 등으로 구성될 수 있으며, 입력되는(ingress) 패킷의 메모리(미도시)에 저장한다.
그리고, 검색 처리부는 패킷의 상태(state) 필드 및 검색식을 구성하기 위한 필드 값을 추출하여, 검색식을 구성한다.
여기서, 검색 처리부가 검색식을 구성하기 위해 추출하는 필드는, 소스 아이피 주소(Source IP address) 필드, 목적지 아이피 주소(Destination IP address) 필드, 소스 포트 번호(TCP/UDP source port) 필드, 목적지 포트 번호(TCP/UDP destination port) 필드 및 프로토콜(protocol) 필드 등이 될 수 있다.
검색 처리부는 구성되는 검색식과 동일한 검색식인 검색 엔진부의 검색 엔진 엔트리(search engine entry)에 존재하지 않으면, 검색식을 검색 처리부의 검색 엔진 엔트리에 등록하기 위하여 엔트리에 비어 있는 주소를 검색한다.
그리고, 검색 처리부는 비어 있는 주소에 구성된 검색식을 쓰기(write)하고, 해당 검색 엔진 엔트리에 상응하는 SRAM의 엔트리에 해당 패킷의 상태(state) 정보인 결과 값(result)을 저장한다.
검색 처리부는 패킷의 검색식 및 상태 정보를 저장하고, 메모리에 저장된 패킷을 출력한다(egress).
한편, 검색 처리부는 동일한 검색식이 검색 엔진부의 검색 엔진 엔트리에 저장되어 있으면, 해당 검색 엔진 엔트리에 상응하는 SRAM의 엔트리에서 이전 패킷의 상태 정보를 읽어들이고, 이전 패킷의 상태 정보와, 현재 패킷의 상태 정보를 비교하여, 패킷을 폐기할 것인지 통과시킬 것인지 결정한다.
그리고, 검색 처리부는 예를 들어, 패킷의 시퀸스 정보를 검색하는 경우에는 이전 패킷의 시퀸스 넘버보다 현재 패킷의 시퀸스 넘버가 빠르면, 패킷을 폐기 처리하고, 현재 패킷의 시퀸스 넘버가 늦으면, 패킷을 출력한다.
그러나, 이러한, 네트워크 검색 시스템은 패킷의 상태 정보를 저장하는 SRAM을 별도로 구비하는 방식이므로, 고가의 SRAM으로 인한 네트워크 검색 시스템의 구현 비용(cost)의 증가하게 된다.
또한, 검색 처리부를 구성하는 마이크로 프로세서 또는 FPGA에 SRAM의 엔트리를 관리하는 프로세서가 존재하야야 하므로, 검색 처리부의 검색 성능이 많은 프로세서로 인하여 저하된다.
아울러, 검색 엔진부의 검색식 용량과 내부 저장 영역의 용량(예를 들어, 144 비트, 288비트)이 일치하지 않기 때문에 사용되지 않는 예비 저장 영역이 발생한다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 창안된 것으로, 패킷을 검색하는 네트워크 검색 시스템의 구현 비용을 최소화함은 물론, 패킷 검색 속도를 최대화하는 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치를 제공하는 것에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따른 네트워크 검색 시스템에서의 패킷 검색 장치는 네트워크로부터 입력되는 패킷에 따른 검색식을 구성하고, 상기 검색식 및 결과 값을 저장하는 검색 엔트리를 생성하는 검색 처리부와, 상기 검색 처리부에서 생성되는 검색 엔트리에 상기 검색식을 저장하고, 상기 검색식에 따른 상기 패킷의 결과 값을 해당 검색 엔트리에 저장하는 검색 엔진부를 포함한다.
본 발명에 따른 상기 검색 처리부는 상기 패킷의 적어도 하나 이상의 필드 값을 추출하여 상기 검색식을 구성하고, 상기 검색식과 동일한 검색식이 저장된 검색 엔트리가 상기 검색 엔진부에 저장되어 있는지 여부를 확인하고, a) 상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 있으면 상기 검색 엔트리의 결과 값과 상기 패킷의 상태 정보를 비교하고, b) 상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 없으면 상기 검색식 및 초기 결과 값이 저장되는 마스크 엔트리를 생성하여 검색 엔진부로 전송한다.
본 발명에 따른 검색 처리부는 상기 검색 엔트리의 결과 값과, 패킷의 상태 정보의 비교 결과가 적합하면 패킷의 상태 정보를 결과 값으로 업데이트한 후 패킷을 네트워크로 출력하고, 적합하지 않으면 패킷을 폐기 처리한다.
본 발명에 따른 검색 엔진부는 검색 처리부에서 생성되는 검색식 및 초기 결과값이 저장된 마스크 엔트리와 저장된 각 검색 엔트리를 비교하여 동일한 검색식이 저장된 검색 엔트리가 있는지 여부를 확인한다.
한편, 상기 검색 엔진부에서 검색 엔트리에 저장되는 패킷의 결과 값은, 패킷의 tcp flag 정보, sequence number 정보, acknowledge number 정보 중 적어도 하나의 정보이다.
그리고, 본 발명에 따른 상기 검색 처리부에서 검색식 생성은 패킷의 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 중 적어도 하나의 필드 값을 추출하여 생성한다.
본 발명의 다른 측면에 따른 네트워크 검색 시스템은, 네트워크로부터 입력되는 패킷의 적어도 하나 이상의 필드 값에 따른 검색식을 구성하고, 검색식과 동일한 검색식이 저장된 검색 엔트리가 존재하지 않으면, 검색식 및 해당 검색식에 대한 결과 값이 저장되는 검색 엔트리를 생성하고, 존재하면, 패킷의 상태 정보와, 해당 검색 엔트리에 저장된 결과 값에 따라 패킷을 처리하는 검색 처리부를 포함한다.
본 발명에 따른 검색 처리부는, 각 검색식 및 검색식에 대한 결과 값이 저장되는 검색 엔트리를 생성하고, 패킷의 상태 정보와, 상응하는 검색 엔트리의 결과 값의 비교 결과에 따라 상태 정보를 검색 엔트리의 결과 값으로 업데이트하고, 패킷을 네트워크로 출력하는 엔트리 처리부를 포함한다.
본 발명의 또 다른 측면에 따른 네트워크 검색 시스템은, 검색식 및 결과 값을 저장하는 적어도 하나 이상의 검색 엔트리를 포함하고, 생성되는 검색식과 초기 결과 값이 저장된 마스크 엔트리와, 각 검색 엔트리를 각각 비교하여, 검색식에 상 응하는 검색 엔트리를 검색하는 검색 엔진부를 포함한다.
본 발명의 또 다른 측면에 따른 네트워크 검색 시스템의 검색 방법은, 네트워크로부터 입력되는 패킷에 따른 검색식을 구성하는 단계와, 검색식 및 결과 값을 저장하는 검색 엔트리를 생성하는 단계와, 검색 엔트리의 결과 값과, 패킷의 상태 정보를 비교하여 적합한지 여부를 판단하여, c) 적합하면, 패킷의 상태 정보를 결과 값으로 업데이트하고, 패킷을 네트워크로 출력하고, d) 적합하지 않으면, 패킷을 폐기 처리하는 단계를 포함한다.
본 발명에 따른 네트워크 검색 시스템의 검색 방법에서 검색식을 구성하는 단계는, 패킷의 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 중 적어도 하나 이상의 필드 값을 추출하여 검색식을 구성한다.
본 발명에 따른 네트워크 검색 시스템의 검색 방법은, 검색식과 동일한 검색식이 저장된 검색 엔트리가 존재하는지 여부를 확인하는 단계와, 검색식과 동일한 검색식이 저장된 검색 엔트리가 있으면, 엔트리의 결과 값과 패킷의 상태 정보를 비교하고, 검색식과 동일한 검색식이 저장된 검색 엔트리가 없으면, 검색식 및 초기 결과 값이 저장되는 검색 엔트리를 생성하는 단계를 더 포함한다.
본 발명에 따른 검색 엔트리가 존재하는지 여부를 확인하는 단계는, 검색식 및 초기 결과 값이 저장된 마스크 엔트리와, 저장된 각 검색 엔트리와 비교하여 동일한 검색식이 저장된 검색 엔트리가 있는지 여부를 확인한다.
본 발명에 따른 결과 값은, 패킷의 tcp flag 정보, sequence number 정보, acknowledge number 정보 중 적어도 하나의 상태 정보이다.
이하 본 발명에 따른 네트워크 검색 시스템의 패킷 검색 방법 및 그 장치를 첨부한 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 네트워크 검색 시스템에서의 패킷 검색 장치를 설명하기 위한 블록 도면이다.
도 2를 참조하면, 본 발명에 따른 네트워크 검색 시스템에서의 패킷 검색 장치는 검색 처리부 및 검색 엔진부를 포함하며, 검색 처리부는 엔트리 처리부를 포함하고, 검색 엔진부는 검색식 처리부 및 다수개의 검색 엔진 엔트리를 포함한다.
본 발명에 따른 네트워크 검색 시스템은, 패킷의 상태 정보(tcp flag 정보, sequence number 정보, acknowledge number 정보 등을 검색하여, 적합하면, 패킷을 출력하고, 적합하지 않으면, 패킷을 폐기 처리한다.
검색 처리부는 네트워크를 통해 다른 네트워크 장비와 패킷을 교환하며, 마이크로프로세서 또는 FPGA으로 구현될 수 있다.
검색 처리부는 입력되는(ingress) 패킷을 메모리(미도시)에 저장하고, 패킷의 필드 값을 추출하여, 검색식을 구성한다.
이때, 검색 처리부가 추출하는 필드는 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 등이 될 수 있다.
그리고, 검색 처리부는 패킷을 검색하려는 검색 값(Source IP 필드 값, Destination IP 필드 값, Source Port 필드 값, Destination Port 필드 값 및 Protocol 필드 값)을 임시 저장한다.
검색 처리부의 엔트리 처리부는 구성된 검색식을 검색 엔진부로 전송한다.
이때, 검색 처리부는 마스크 엔트리 및 검색식을 검색 엔진부로 전송한다.
마스크 엔트리는 검색 엔진 엔트리에서 검색 값을 제외한 나머지 비트(결과 값)를 의미없는 값(Don't care)으로 채운 엔트리를 의미한다.
그리고, 검색 엔진부는 수신되는 검색식과 동일한 검색 엔진 엔트리가 있는지 여부를 확인하고, 동일한 검색 엔진 엔트리가 있으면, 검색 확인 메시지를 검색 처리부로 전송하고, 동일한 검색 엔진 엔트리가 없으면, 검색 실패 메시지를 검색 처리부로 전송한다.
즉, 검색 엔진부의 검색식 처리부는 수신되는 마스크 엔트리와, 각 검색 엔진 엔트리를 비교하여, 동일한 엔트리가 있는지 여부, 즉, 동일한 검색식이 있는지 여부를 확인한다.
그리고, 검색식 처리부는 동일한 검색식이 있으면, 검색 확인 메시지를 검색 처리부로 전송하고, 동일한 검색식이 없으면, 검색 실패 메시지를 검색 처리부로 전송한다.
엔트리 처리부는 수신되는 메시지가 검색 실패 메시지이면, 검색 엔진부에 구성된 검색식을 저장할 검색 엔진 엔트리를 생성하여, 검색식을 저장한다.
즉, 엔트리 처리부는 검색 실패 메시지가 수신되면, 검색 엔진부에 비어 있는 엔트리의 주소를 검색한다.
이때, 엔트리 처리부는 비어 있는 엔트리의 주소가 검색되지 않으면, 네트워크 검색 시스템의 관리자에게 검색 엔진 엔트리가 풀 상태임을 메시지로 알리고, 메모리에 저장된 해당 패킷을 폐기한다.
그리고, 엔트리 처리부는 비어 있는 엔트리 주소가 검색되면, 검색식과, 해당 패킷의 상태 정보를 나타내는 결과 값을 포함하는 검색 엔진 엔트리를 구성한다.
여기서, 엔트리 처리부는 초기 검색식에 따른 검색 엔진 앤트리를 생성할 때는 초기 상태 정보가 의미없는 값이므로, 결과 값을 예를 들어 '0'으로 설정하여 마스트 엔트리를 생성한다.
이때, 엔트리 처리부는 검색 엔진부의 내부 저장 영역의 용량(예를 들어, 144 비트, 288비트)과 검색식의 용량의 차이로 인해 발생하는 예비 저장 영역에 결과 값을 저장할 수 있다.
그리고, 엔트리 처리부는 초기 검색식, 즉, 결과 값이 '0'으로 설정된 검색 엔진 엔트리를 마스크 엔트리로 검색 엔진부에 저장하고, 메모리에 저장된 해당 패킷에 대한 처리를 완료하였으므로, 메모리에 저장된 패킷을 출력한다(Egress).
한편, 엔트리 처리부는 검색 엔진부로부터 검색 확인 메시지가 수신되면, 해당 검색 엔진 엔트리의 결과 값, 즉, 상태 정보를 읽어들인다.
그리고, 엔트리 처리부는 현재 메모리에 저장되어 있는 패킷의 상태 정보와, 읽어들인 이전 패킷의 상태 정보를 비교하여, 적합하면, 현재 패킷의 상태 정보를 결과 값으로 업데이트한 이후에 출력하고, 적합하지 않으면, 메모리에 저장된 패킷 을 폐기 처리한다.
예를 들어, 네트워크 검색 시스템이 패킷의 시퀸스 정보를 검색하는 경우에는 엔트리 처리부는 검색 엔진 엔트리에 저장된 상태 정보인 이전 패킷의 시퀸스 넘버보다 현재 패킷의 시퀸스 넘버가 빠르면, 패킷을 폐기 처리하고, 현재 패킷의 시퀸스 넘버가 늦으면, 현재 패킷의 시퀸스 정보를 결과 값인 상태 정보로 업데이트하고, 패킷을 출력한다.
도 3은 본 발명의 바람직한 실시예에 따른 네트워크 검색 시스템의 네트워크 검색 방법을 설명하기 위한 플로챠트 도면이다.
도 3을 참조하면, 네트워크 검색 시스템의 검색 처리부는 입력되는(ingress) 패킷을 메모리(미도시)에 저장한다(S 100).
그리고, 검색 처리부는 메모리에 저장된 패킷의 필드 값을 추출하여, 검색식을 구성하여 검색 엔진부로 전송한다(S 110).
이때, 검색 처리부가 추출하는 필드는 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 등이 될 수 있다.
검색 엔진부는 수신되는 검색식과 동일한 검색 엔진 엔트리가 있는지 여부를 확인하고(S 120), 동일한 검색 엔진 엔트리가 있으면, 검색 성공을 알리는 검색 확인 메시지를 검색 처리부로 전송하고(S 130), 동일한 검색 엔진 엔트리가 없으면, 검색 실패를 알리는 검색 실패 메시지를 검색 처리부로 전송한다(S 140).
여기서, 검색 엔진부는 각 마스크 엔트리와, 각 검색 엔진 엔트리를 비교하 여, 동일한 엔트리가 있는지 여부, 즉, 동일한 검색식이 있는지 여부를 확인한다.
마스크 엔트리는 검색 엔진 엔트리에서 검색 값을 제외한 나머지 비트(결과 값)를 의미없는 값(Don't care)으로 채운 엔트리를 의미한다.
검색 처리부는 검색 실패 메시지가 수신되면, 검색식을 저장할 검색 엔진부에 비어 있는 엔트리의 주소를 검색한다.
그리고, 검색 처리부는 비어 있는 엔트리의 주소가 검색되지 않으면, 네트워크 검색 시스템의 관리자에게 검색 엔진 엔트리가 풀 상태임을 메시지로 알리고, 메모리에 저장된 해당 패킷을 폐기한다(S 170).
그리고, 엔트리 처리부는 비어 있는 엔트리 주소가 검색되면, 검색식과, 해당 패킷의 상태 정보를 나타내는 결과 값을 포함하는 검색 엔진 엔트리를 구성한다(S 180).
여기서, 검색 처리부는 초기 검색식에 따른 검색 엔진 앤트리를 생성할 때는 초기 상태 정보가 의미없는 값이므로, 결과 값을 예를 들어 '0'으로 설정하여, 마스트 엔트리를 생성한다.
그리고, 검색 처리부는 초기 검색식, 즉, 결과 값이 '0'으로 설정된 검색 엔진 엔트리를 마스크 엔트리로 검색 엔진부에 저장하고, 메모리에 저장된 해당 패킷에 대한 처리를 완료하였으므로, 메모리에 저장된 패킷을 출력한다(Egress)(S 190).
한편, 검색 처리부는 검색 엔진부로부터 검색 확인 메시지가 수신되면, 해당 검색 엔진 엔트리의 결과 값, 즉, 상태 정보를 읽어들인다.
그리고, 검색 처리부는 현재 메모리에 저장되어 있는 패킷의 상태 정보와, 읽어들인 이전 패킷의 상태 정보를 비교한다(S 200).
검색 처리부는 비교 결과가 적합하면, 현재 패킷의 상태 정보를 결과 값으로 업데이트한다(S 210). 그리고, 검색 처리부는 메모리에 저장된 현재 패킷을 출력한다(S 190).
검색 처리부는 비교 결과가 적합하지 않으면, 메모리에 저장된 패킷을 폐기 처리한다(S 170).
상술한 본 발명의 상세 설명에서는 일례를 들어, 네트워크 검색 시스템의 구성 요소인 검색 엔진부의 검색 엔진 엔트리에 결과 값을 저장하는 경우에 대하여 설명하였으나, 기타 저장 영역에 결과 값을 저장하는 경우도 이와 동일하게 적용될 수 있다.
상기한 바와 같이, 본 발명에 따르면, 네트워크 검색 시스템의 상태 정보를 별도로 저장하는 SRAM을 구비하지 않아도 됨으로, 네트워크 시스템의 구현 비용이 저렴해진다.
네트워크 검색 시스템의 검색 속도를 최대화함은 물론, 저장 용량 사용 효율을 최대화할 수 있다.
Claims (14)
- 네트워크 검색 시스템에서의 패킷 검색 장치에 있어서,네트워크로부터 입력되는 패킷에 따른 검색식을 구성하고, 상기 검색식 및 결과 값을 저장하는 검색 엔트리를 생성하는 검색 처리부와,상기 검색 처리부에서 생성되는 검색 엔트리에 상기 검색식을 저장하고, 상기 검색식에 따른 상기 패킷의 결과 값을 해당 검색 엔트리에 저장하는 검색 엔진부를 포함하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 제 1 항에 있어서,상기 검색 처리부는 상기 패킷의 적어도 하나 이상의 필드 값을 추출하여 상기 검색식을 구성하고, 상기 검색식과 동일한 검색식이 저장된 검색 엔트리가 상기 검색 엔진부에 저장되어 있는지 여부를 확인하고,a) 상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 있으면 상기 검색 엔트리의 결과 값과 상기 패킷의 상태 정보를 비교하고,b) 상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 없으면, 상기 검색식 및 초기 결과 값이 저장되는 마스크 엔트리를 생성하여 상기 검색 엔진부로 전송하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 제 2항에 있어서,상기 검색 처리부는 상기 검색 엔트리의 결과 값과, 상기 패킷의 상태 정보의 비교 결과가 적합하면 상기 패킷의 상태 정보를 상기 결과 값으로 업데이트한 후 상기 패킷을 상기 네트워크로 출력하고, 적합하지 않으면 상기 패킷을 폐기 처리하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 제 1 항에 있어서,상기 검색 엔진부는 상기 검색 처리부에서 생성되는 검색식 및 초기 결과 값이 저장된 마스크 엔트리와, 상기 저장된 각 검색 엔트리를 비교하여 동일한 검색식이 저장된 검색 엔트리가 있는지 여부를 확인하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 제 1 항에 있어서,상기 검색 엔진부에서 검색 엔트리에 저장하는 패킷의 결과값은 패킷의 tcp flag 정보, sequence number 정보, acknowledge number 정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 제 1 항에 있어서,상기 검색 처리부에서 검색식 생성은 상기 패킷의 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 중 적어도 하나의 필드 값을 추출하여 생성하는 것을 특징으로 하는 네트워크 검색 시스템에서의 패킷 검색 장치.
- 네트워크 검색 시스템에 있어서,네트워크로부터 입력되는 패킷의 적어도 하나 이상의 필드 값에 따른 검색식을 구성하고, 상기 검색식과 동일한 검색식이 저장된 검색 엔트리가 존재하지 않으면, 상기 검색식 및 해당 검색식에 대한 결과 값이 저장되는 검색 엔트리를 생성하고, 존재하면, 상기 패킷의 상태 정보와, 해당 검색 엔트리에 저장된 결과 값에 따라 상기 패킷을 처리하는 검색 처리부를 포함하는 네트워크 검색 시스템.
- 제 7항에 있어서, 상기 검색 처리부는,상기 각 검색식 및 상기 검색식에 대한 결과 값이 저장되는 상기 검색 엔트리를 생성하고, 상기 패킷의 상태 정보와, 상응하는 검색 엔트리의 결과 값의 비교 결과에 따라 상기 상태 정보를 상기 검색 엔트리의 결과 값으로 업데이트하고, 상기 패킷을 상기 네트워크로 출력하는 엔트리 처리부를 포함하는 네트워크 검색 시스템.
- 네트워크 검색 시스템에 있어서,검색식 및 결과 값을 저장하는 적어도 하나 이상의 검색 엔트리를 포함하고, 생성되는 검색식과 초기 결과 값이 저장된 마스크 엔트리와, 상기 각 검색 엔트리를 각각 비교하여, 상기 검색식에 상응하는 검색 엔트리를 검색하는 검색 엔진부를 포함하는 네트워크 검색 시스템.
- 네트워크 검색 시스템의 검색 방법에 있어서,상기 네트워크로부터 입력되는 패킷에 따른 검색식을 구성하는 단계와,상기 검색식 및 결과 값을 저장하는 검색 엔트리를 생성하는 단계와,상기 검색 엔트리의 결과 값과, 상기 패킷의 상태 정보를 비교하여 적합한지 여부를 판단하여,c) 적합하면, 상기 패킷의 상태 정보를 상기 결과 값으로 업데이트하고, 상기 패킷을 상기 네트워크로 출력하고,d) 적합하지 않으면, 상기 패킷을 폐기 처리하는 단계를 포함하는 네트워크 검색 시스템의 검색 방법.
- 제 10 항에 있어서, 상기 검색식을 구성하는 단계는,상기 패킷의 Source IP 필드, Destination IP 필드, Source Port 필드, Destination Port 필드 및 Protocol 필드 중 적어도 하나 이상의 필드 값을 추출하여 상기 검색식을 구성하는 네트워크 검색 시스템의 검색 방법.
- 제 10 항에 있어서,상기 검색식과 동일한 검색식이 저장된 검색 엔트리가 존재하는지 여부를 확인하는 단계와,상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 있으면, 상기 엔트리의 결과 값과 상기 패킷의 상태 정보를 비교하고, 상기 검색식과 동일한 검색식이 저장된 상기 검색 엔트리가 없으면, 상기 검색식 및 초기 결과 값이 저장되는 검색 엔트리를 생성하는 단계를 더 포함하는 네트워크 검색 시스템의 검색 방법.
- 제 12 항에 있어서, 상기 검색 엔트리가 존재하는지 여부를 확인하는 단계는,상기 검색식 및 초기 결과 값이 저장된 마스크 엔트리와, 상기 저장된 각 검색 엔트리와 비교하여 동일한 검색식이 저장된 검색 엔트리가 있는지 여부를 확인하는 네트워크 검색 시스템의 검색 방법.
- 제 10 항에 있어서, 상기 결과 값은,상기 패킷의 tcp flag 정보, sequence number 정보, acknowledge number 정보 중 적어도 하나의 상태 정보인 네트워크 검색 시스템의 검색 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060002350A KR100840367B1 (ko) | 2006-01-09 | 2006-01-09 | 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060002350A KR100840367B1 (ko) | 2006-01-09 | 2006-01-09 | 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070074348A KR20070074348A (ko) | 2007-07-12 |
KR100840367B1 true KR100840367B1 (ko) | 2008-06-20 |
Family
ID=38508532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060002350A KR100840367B1 (ko) | 2006-01-09 | 2006-01-09 | 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100840367B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970004518A (ko) * | 1995-06-09 | 1997-01-29 | 김광호 | 광대역 정보통신 시스템에서 패킷전송을 위한 경로를 찾는 방법 |
US20030189937A1 (en) | 2002-04-03 | 2003-10-09 | Takeshi Kawasaki | Address search method and search system using the same |
US20030227925A1 (en) | 2002-06-07 | 2003-12-11 | Fujitsu Limited | Packet processing device |
KR100542433B1 (ko) | 2003-06-10 | 2006-01-11 | 한국전자통신연구원 | 패킷 스케줄링 장치 및 패킷 스케줄링 방법 |
-
2006
- 2006-01-09 KR KR1020060002350A patent/KR100840367B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970004518A (ko) * | 1995-06-09 | 1997-01-29 | 김광호 | 광대역 정보통신 시스템에서 패킷전송을 위한 경로를 찾는 방법 |
US20030189937A1 (en) | 2002-04-03 | 2003-10-09 | Takeshi Kawasaki | Address search method and search system using the same |
US20030227925A1 (en) | 2002-06-07 | 2003-12-11 | Fujitsu Limited | Packet processing device |
KR100542433B1 (ko) | 2003-06-10 | 2006-01-11 | 한국전자통신연구원 | 패킷 스케줄링 장치 및 패킷 스케줄링 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20070074348A (ko) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1966977B1 (en) | Method and system for secure communication between a public network and a local network | |
CN105637822B (zh) | 用于提供数据服务的系统、设备和方法 | |
US8818921B2 (en) | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process | |
KR20070122045A (ko) | 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 | |
US20080013532A1 (en) | Apparatus for hardware-software classification of data packet flows | |
WO2005119970A2 (en) | Identifying reverse path forwarding information | |
US11838318B2 (en) | Data plane with connection validation circuits | |
KR20210087399A (ko) | 컨테이너 네트워크를 위한 보안 | |
KR20000022897A (ko) | 프로그래머블 네트워크 | |
US9445384B2 (en) | Mobile device to generate multiple maximum transfer units and data transfer method | |
CN114389993A (zh) | 一种路由处理的方法和网络设备 | |
JP6678401B2 (ja) | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 | |
JP2020113869A (ja) | 転送装置 | |
KR100840367B1 (ko) | 네트워크 검색 시스템에서의 패킷 검색 방법 및 그 장치 | |
CN111756636B (zh) | 数据包处理方法、装置及设备、存储介质 | |
KR100864889B1 (ko) | Tcp 상태 기반 패킷 필터 장치 및 그 방법 | |
CN116319553A (zh) | 一种表项查找方法以及网络设备 | |
JP2008060763A (ja) | ネットワークノード | |
CN116455837A (zh) | 一种报文处理方法及装置、设备、存储介质 | |
CN114285907B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
EP3288224B1 (en) | Data packet forwarding method and network device | |
CN108833282A (zh) | 数据转发方法、系统、装置及sdn交换机 | |
JP2006324815A (ja) | 通信装置、データ読出方法およびデータ読出プログラム | |
US20050044261A1 (en) | Method of operating a network switch | |
CN109525503A (zh) | 一种压缩方法及装置、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130530 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150528 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160530 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170529 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |