KR100862195B1 - Method and Apparatus for searching by range matching using content addressable memory - Google Patents

Method and Apparatus for searching by range matching using content addressable memory Download PDF

Info

Publication number
KR100862195B1
KR100862195B1 KR1020070069793A KR20070069793A KR100862195B1 KR 100862195 B1 KR100862195 B1 KR 100862195B1 KR 1020070069793 A KR1020070069793 A KR 1020070069793A KR 20070069793 A KR20070069793 A KR 20070069793A KR 100862195 B1 KR100862195 B1 KR 100862195B1
Authority
KR
South Korea
Prior art keywords
search
entry
address
rule
information
Prior art date
Application number
KR1020070069793A
Other languages
Korean (ko)
Other versions
KR20080050246A (en
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 한국전자통신연구원
Publication of KR20080050246A publication Critical patent/KR20080050246A/en
Application granted granted Critical
Publication of KR100862195B1 publication Critical patent/KR100862195B1/en

Links

Images

Classifications

    • 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
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]

Abstract

본 발명은 하나의 규칙을 두 개의 검색 단위로 구분하여 각각 독립적으로 기본 단위 검색을 수행하도록 함으로써, 불필요한 메모리 낭비를 줄일 수 있는 내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치를 제공하는 것으로서, 내용 번지 메모리에 규칙을 저장하여 고속으로 검색을 수행하는데 있어서, 규칙을 두 개의 검색 범위로 구분하여 제1,2 검색 테이블에 저장한 후, 입력 프레임으로부터 제1,2 검색키를 추출하고, 상기 제1 검색키와 제2 검색키로 각각 제1,2 검색 테이블을 검색하고, 그 검색 결과를 조합하여, 상기 입력 프레임의 적용할 규칙의 제어 정보를 확인하는 것이다.The present invention is to provide a method and apparatus for searching a section matching using a content address memory that can reduce unnecessary memory waste by dividing a rule into two search units and performing a basic unit search independently. In performing a fast search by storing a rule in a memory, the rule is divided into two search ranges and stored in the first and second search tables, and then the first and second search keys are extracted from the input frame. The first and second search tables are searched with the search key and the second search key, respectively, and the search results are combined to confirm the control information of the rule to be applied to the input frame.

내용 번지 메모리(CAM: Content Addressable Memory), 구간 매칭 검색, 완전 매칭 검색, 최장 프리픽스 매칭 검색, 5-투플(tuple) Content Addressable Memory (CAM), Interval Match Search, Exact Match Search, Longest Prefix Match Search, 5-tuple

Description

내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치{Method and Apparatus for searching by range matching using content addressable memory}Method and apparatus for searching section matching using content address memory {Method and Apparatus for searching by range matching using content addressable memory}

본 발명은 인터넷 프로토콜 버전 4 (IPv4)를 지원하는 라우터 시스템에 있어서, 흐름(Flow) 기반의 접근 제어나 QoS(Quality of Service)를 지원하기 위하여 흐름별로 접근 제어 수준 또는 서비스 수준을 검색하는 내용 번지를 이용한 구간 매칭 검색 방법 및 장치에 관한 것이다.The present invention is a router system supporting Internet Protocol Version 4 (IPv4), the content address for searching the access control level or service level for each flow in order to support flow based access control or quality of service (QoS) An interval matching search method and apparatus are provided.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-101-02, 과제명: 멀티미디어 QoS 라우팅 기술].The present invention is derived from a study conducted as part of the IT new growth engine core technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development (Task Management Number: 2005-S-101-02, Title: Multimedia QoS Routing Technology).

IPv4를 지원하는 라우터의 경우에는 목적지 포트를 결정하기 위해서 목적지 IP 주소를 이용하여 라우팅 테이블을 설정한다. 이는 일반적으로 라우팅 프로토콜 등에 의해서 얻어지는 데이터나 운용자의 입력을 통해서 설정되는 것이다. 라우터에서는 입력된 트래픽의 목적지 IP 주소 필드를 검색 키로 하여 상기 라우팅 테이 블을 검색하고, 그 결과 얻어진 테이블의 번호(index)를 이용하여 매핑 테이블의 값을 확인하여, 패킷의 출력 포트를 결정한다.In the case of a router supporting IPv4, a routing table is set using a destination IP address to determine a destination port. This is generally set through data obtained by a routing protocol or the like and input by an operator. The router searches the routing table using the destination IP address field of the input traffic as a search key, and determines the output port of the packet by checking the value of the mapping table using the index of the resulting table.

마찬가지로, 라우터는 흐름 기반의 접근 제어나 QoS를 지원하기 위하여, 접근 제어 리스트나 서비스 수준을 결정하기 위한 관련 규칙을 검색 테이블에 저장하고, 검색 테이블의 규칙과 일치하는 패킷이 입력되면 입력 패킷에 해당하는 접근 제어 수준이나 서비스 수준을 적용한다.Similarly, in order to support flow-based access control or QoS, the router stores the relevant rules for determining the access control list or service level in a lookup table, and if a packet matching the rules in the lookup table is entered, it corresponds to the input packet. Apply the access control level or service level.

현재 검색 테이블의 저장 및 검색을 위해서 내용 번지 메모리 (Content Addressable Memory : CAM)나 네트워크 검색 엔진 (Network Search Engine :NSE) 등이 주로 사용된다.Currently, a content addressable memory (CAM) or a network search engine (NSE) is mainly used for storing and searching a search table.

상기 내용 번지 메모리 등은 세 개의 비트 값, 즉, 비트 0, 비트 1, 및 무시(don't care)을 이용하여 검색 테이블을 구성한다. 즉, 해당하는 값이 정확하게 일치해야 하는 경우에는 비트 0이나 비트 1로 설정하고, 어떤 값이어도 상관이 없는 경우에는 무시 비트(don't care)로 표시한다. 그리고 이렇게 구성된 검색 테이블과 검색을 원하는 문자열(검색 키)을 비교하여, 정확하게 값이 일치하거나, 검색 테이블의 값이 '무시(don't care)'일 경우에는 매칭되는 것으로 판단하게 된다.The content address memory or the like constructs a lookup table using three bit values, namely, bit 0, bit 1, and don't care. In other words, bit 0 or bit 1 should be set if the corresponding value should match exactly. If it does not matter, it is indicated as don't care. The search table configured as described above is compared with a string (search key) to be searched, and it is determined that the value is exactly matched, or that if the value of the search table is 'don't care'.

더하여 상기 내용 번지 메모리를 이용한 검색시 기본 검색 단위를 64 비트나 72비트로 사용한다. 따라서, 검색 규칙에 사용되는 필드의 길이가 64 비트나 72비트보다 작을 경우에는 나머지 비트를 '무시비트'로 처리하여 검색을 수행하고, 반대로 이보다 클 경우에는 다수의 기본 검색 단위를 하나로 묶어서 검색을 수행한다. In addition, when searching using the content address memory, a basic search unit is used as 64 bits or 72 bits. Therefore, if the length of the field used in the search rule is less than 64 bits or 72 bits, the search is performed by treating the remaining bits as 'ignore bits'. If the field is larger than this, the search is performed by grouping multiple basic search units into one. do.

여기서, 하나의 기본 검색 단위를 이용하여 검색하는 경우를 기본 검색 방식이라고 하고, 여러 개의 기본 검색 단위를 묶어서 검색을 수행하는 경우를 간단히 확장 검색 방식이라고 부르기로 한다. Here, a case of searching using one basic search unit will be referred to as a basic search method, and a case of performing a search by combining several basic search units will be simply called an extended search method.

따라서 흐름 기반 라우터의 5-투플(tuple)을 이용하는 104 비트짜리 규칙은 2개의 기본 단위를 묶어서 검색을 수행하는 확장 검색 방식을 적용해야 한다.Therefore, the 104-bit rule that uses the 5-tuple of the flow-based router should apply an extended search method that binds two basic units to perform a search.

일반적으로 흐름 기반으로 동작하는 라우터에서는 목적지 포트를 결정하거나 접근 제어 수준 및 서비스 수준을 확인하기 위해서 텍스트 검색 방법을 사용하는데, 이때 접근 제어 수준 및 서비스 수준에 대해서는 발신지 IP 주소와, 목적지 IP 주소 등 각각 32 비트를 갖는 2개의 IP 주소, 발신 포트 번호와 목적 포트 번호 등 각각 16 비트를 갖는 2개의 포트 번호, 그리고 프로토콜 번호 등의 5-투플을 이용한 검색이 필요하다. 보통 IP 주소 검색시에는 최장 프리픽스 매칭 (Longest Prefix Matching : LPM) 검색 방법을 사용하고, 프로토콜 번호 검색시에는 완전 매칭 (Exact Matching) 검색 방법을 사용하며, 포트 번호 검색시에는 구간 매칭 방법을 사용한다. In general, the flow-based router uses a text search method to determine the destination port or to check the access control level and service level. For the access control level and the service level, the source IP address and the destination IP address, respectively, are used. It is necessary to search using 5-tuples such as two IP addresses having 32 bits, two port numbers having 16 bits each, such as an outgoing port number and a destination port number, and a protocol number. In general, longest prefix matching (LPM) search method is used for IP address search, Exact Matching search method is used for protocol number search, and interval matching method is used for port number search. .

앞서 언급한 검색 방법 중에서, 최장 프리픽스 매칭 검색 방법과 완전 매칭 검색 방법은 비트 0 및 비트 1, 무시 비트로의 변환이 간단하기 때문에, 검색 테이블로 변환할 경우에 규칙 하나당 1개의 테이블 엔트리(Table Entry)로 변환할 수 있다. 그러나 구간 매칭 검색 방법을 위한 정확한 검색 테이블을 작성하기 위해서는 하나의 규칙을 1개 이상의 테이블 엔트리로 변환해야 하는 경우가 발생한다. Among the above mentioned search methods, the longest prefix matching search method and the perfect matching search method are simple to convert to bit 0 and bit 1 and ignore bit, so one table entry per rule when converting to a lookup table Can be converted to However, in order to create an accurate lookup table for the interval matching search method, it is necessary to convert one rule into one or more table entries.

따라서, 최장 프리픽스 매칭 검색 방법, 완전 매칭 검색 방법, 구간 매칭 검색 방법 등이 함께 사용되는 접근 제어 목록의 규칙을 검색 테이블로 변환하면, 1개의 규칙이 다수의 검색 테이블 엔트리로 변환되는 경우가 발생한다.Therefore, when a rule of an access control list used together with a longest prefix matching search method, an exact matching search method, an interval matching search method, and the like is converted into a lookup table, one rule may be converted into a plurality of lookup table entries. .

특히 5-투플 기반인 경우 2개의 기본 단위를 묶어서 검색하는 확장 검색 방식을 사용하여야 하기 때문에, 1개의 기본 검색 단위만을 사용하는 검색 규칙에 비해서 메모리 소요량이 2배가 된다는 문제점이 있다.In particular, the 5-tuple-based method requires that an extended search method of grouping two basic units is used. Thus, a memory requirement is doubled compared to a search rule using only one basic search unit.

상기 과제를 해결하기 위한 수단으로서, 본 발명은 하나의 규칙을 두 개의 검색 단위로 구분하여 각각 독립적으로 기본 단위 검색을 수행하도록 함으로써, 불필요한 메모리 낭비를 줄일 수 있는 내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치를 제공한다.As a means for solving the above problem, the present invention divides one rule into two search units to perform basic unit search independently, thereby reducing the unnecessary memory waste. And an apparatus.

본 발명의 일 실시형태에 따른 내용 번지 메모리를 이용한 구간 매칭 검색 장치는, 규칙을 제1 검색 단위와 제2 검색 단위로 구분할 때, 상기 제1 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제1 검색 테이블; 상기 제2 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제2 검색 테이블; 및 입력 프레임의 제1 검색키를 추출하여 상기 제1 검색 테이블을 검색하고, 제2 검색키를 추출하여 상기 제2 검색 테이블을 검색하여, 일치하는 엔트리를 찾는 제어 모듈을 포함한다.The section matching search apparatus using the content address memory according to an embodiment of the present invention may further include storing information corresponding to the first search unit in each entry when the rule is divided into a first search unit and a second search unit. 1 lookup table; A second search table for storing information corresponding to the second search unit in each entry; And a control module extracting a first search key of the input frame to search the first search table, extracting a second search key to search the second search table, and finding a matching entry.

본 발명의 다른 실시 형태에 따른 내용 번지 메모리를 이용한 구간 매칭 검색 방법은, 규칙을 제1 검색 단위와 제2 검색 단위로 구분하여, 각각 제1,2 검색 테이블에 저장하는 단계; 입력 프레임으로부터 제1,2 검색키를 추출하는 단계; 상기 제1 검색키와 제2 검색키로 각각 제1,2 검색 테이블을 검색하는 단계; 및 상기 검색 결과를 조합하여, 상기 입력 프레임의 적용할 규칙의 제어 정보를 확인하는 단계를 포함한다.An interval matching search method using a content address memory according to another embodiment of the present invention may include: dividing a rule into a first search unit and a second search unit, and storing the rules in first and second search tables, respectively; Extracting first and second search keys from an input frame; Searching the first and second search tables using the first search key and the second search key, respectively; And combining the search results to confirm control information of a rule to be applied to the input frame.

상기 제1 검색 단위는 5-투플(tuple) 정보 중에서 송신 IP 주소와 수신 IP 주소이고, 제2 검색 단위는 송신 포트와 수신 포트와 프로토콜 번호이다.The first search unit is a transmission IP address and a reception IP address among the 5-tuple information, and the second search unit is a transmission port, a reception port, and a protocol number.

또한, 상기 제2 검색 테이블은, 각 엔트리에 해당 제2 검색 단위에 대한 정보와 연관되는 제1 검색 단위에 대한 정보가 저장된 제1 검색 테이블의 엔트리 번지 정보를 더 저장하는 것이 바람직하며, 상기 제1 검색 테이블을 검색하여 일치하는 엔트리가 존재하는 경우, 해당 엔트리의 번지를 상기 제2 검색키와 합하여 새로운 제2 검색키를 생성하고, 상기 새로운 제2 검색키와 일치하는 엔트리를 상기 제2 검색 테이블에서 검색하는 것이 바람직하다.The second search table may further store entry address information of the first search table in which the information about the first search unit associated with the information about the second search unit is stored in each entry. 1 If a search table is found and a matching entry exists, a new second search key is generated by combining the address of the entry with the second search key, and searching for an entry that matches the new second search key. It is preferable to search in the table.

상술한 구성에 의하면, 본 발명은 라우터나 스위치 시스템에서의 구간 매칭 검색에 있어서, 5-투플 전체를 이용하여 검색을 수행하는 접근 제어 목록이나 QoS 등급 관련 검색을 위하여, 검색 규칙을 두 개로 분리하여 두 개의 검색 테이블로 구현하여, 상호 독립적인 검색을 수행할 수 있도록 함으로써 검색 테이블 메모리의 낭비를 억제할 수 있다.According to the above-described configuration, in the section matching search in a router or a switch system, the search rule is divided into two for an access control list or a QoS class related search that searches using the entire 5-tuple. By implementing two lookup tables, the search table memory can be reduced by allowing independent lookups.

더하여, 두 검색 테이블의 연동을 통해 검색 방법을 제시함으로써, 5-투플 전체를 이용한 검색을 보다 효율적으로 수행할 수 있으며, 헤더의 길이가 늘어나는 IPv6 시스템에 적용하는 경우 헤더의 길이에 따라서 검색 키의 길이가 늘어나더라도 바로 적용할 수 있다.In addition, by providing a search method through linkage between two search tables, a search using the entire 5-tuple can be performed more efficiently. When applied to an IPv6 system with an increased header length, Even if the length is increased, it can be applied immediately.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.

덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, throughout the specification, when a part is 'connected' to another part, it is not only 'directly connected' but also 'indirectly connected' with another element in between. Include. In addition, the term 'comprising' a certain component means that the component may be further included, without excluding the other component unless specifically stated otherwise.

또한, '모듈'이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어 또는 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, the term 'module' refers to a unit for processing a specific function or operation, which may be implemented in hardware or software or a combination of hardware and software.

도 1은 본 발명이 적용되는 라우터의 일반적인 구조를 보여 주는 것이다. 상기 라우터(30)는 임의의 패킷을 송신한 근원지인 송신 단말(10)과 상기 패킷의 목적지인 수신 단말(20)을 연결해 준다.1 shows a general structure of a router to which the present invention is applied. The router 30 connects the transmitting terminal 10, which is the source of transmitting an arbitrary packet, with the receiving terminal 20, which is the destination of the packet.

도 1을 참조하면, 라우터(30)는 송신 단말(10)에서 전송된 패킷을 수신하는 입력 물리 계층 (21)과, 상기 입력 물리 계층(21)을 통해 수신된 패킷에 대하여 목적지를 확인하여 QoS의 서비스 수준, 접근 제어 수준, 및 프로토콜에 따른 처리를 수행하는 입력 패킷 처리부(32), 상기 입력 패킷 처리부(32)로부터 전달된 패킷을 목적지에 해당하는 포트 측으로 전달하는 스위칭 패브릭(33), 상기 스위칭 패브릭(33)으로부터 전달받은 패킷을 처리하여 설정된 포트로 출력되도록 하는 출력 패킷 처리부(34), 상기 출력 패킷 처리부(33)에서 처리된 패킷을 실제 목적지 방향으로 송신하는 출력 물리 계층(35)으로 구성된다. 본 발명은 상기 패킷에 대하여 QoS 서비스 수준, 접근 제어 수준을 확인하여 해당 처리를 수행하는 입력 패킷 처리부(32)의 동작 중 일부에 관여하는 것이다. 더 구체적으로 상기 입력 패킷 처리 부(32)는 입력된 패킷의 정보를 참조하여 목적지 포트를 정하거나, 입력된 패킷의 접근 제어 목록이나 서비스 수준을 확인하여, 그 수준에 설정된 제어 정보에 따라서 상기 패킷을 처리한다. 이때, 상기 입력 패킷 처리부(32)는 입력된 패킷의 접근 제어 목록이나 서비스 수준을 확인하기 위하여 다양한 검색 테이블을 구비하고 있으며, 일반적으로 상기 검색 테이블을 내용 번지 메모리(CAM)에 저장하고, 상기 내용 번지 메모리의 각 엔트리에 해당하는 출력 포트나, 접근 제어 목록의 수준이나 서비스 수준에 관한 데이터를 매핑 테이블의 동일한 번지에 함께 저장한다.Referring to FIG. 1, the router 30 checks a destination by checking an input physical layer 21 receiving a packet transmitted from a transmitting terminal 10 and a packet received through the input physical layer 21. An input packet processor 32 for performing processing according to a service level, an access control level of the protocol, and a protocol, a switching fabric 33 for delivering a packet transmitted from the input packet processor 32 to a port corresponding to a destination; An output packet processor 34 for processing a packet received from the switching fabric 33 and outputting the packet to a set port; and an output physical layer 35 for transmitting the packet processed by the output packet processor 33 toward an actual destination direction. It is composed. The present invention relates to a part of the operation of the input packet processing unit 32 that checks the QoS service level and the access control level for the packet and performs the corresponding processing. More specifically, the input packet processor 32 determines a destination port by referring to the information of the input packet, checks an access control list or service level of the input packet, and according to the control information set at the level, the packet. To process. In this case, the input packet processing unit 32 includes various search tables to check the access control list or the service level of the input packet. In general, the input packet processing unit 32 stores the search table in a content address memory (CAM) and stores the content. Output ports corresponding to each entry in the address memory, or data on the level or service level of the access control list, are stored together at the same address in the mapping table.

도 2는 입력 패킷 처리부(32)에 있어서 접근 제어 목록이나 서비스 수준을 확인하기 위하여 구비되는 검색 구조를 나타낸 것으로서, 이러한 검색 처리를 위하여 패킷 처리 모듈(321)과, 검색 모듈(322)과, 매핑 모듈(323)을 포함한다.FIG. 2 shows a search structure provided in the input packet processing unit 32 to check an access control list or a service level. The packet processing module 321, the search module 322, and the mapping are performed for such a search process. Module 323.

상기 검색 모듈(322)은 일반적으로 내용 번지 메모리(CAM)나 네트워크 검색 엔진(NSE: Network Search Engine)로 구현되고, 상기 매핑 모듈(323)은 일반적인 메모리로 구현된다.The search module 322 is generally implemented as a content address memory (CAM) or a network search engine (NSE: Network Search Engine), and the mapping module 323 is implemented as a general memory.

즉, 상기 검색 모듈(322)에는 검색 규칙이 저장되고, 상기 매핑 모듈(323)에는 해당 규칙에 적용할 정보, 예를 들어, 출력 포트나 접근 제어 목록의 수준이나 서비스 수준 등이 저장된다. 이때, 규칙 및 그에 대응하는 제어 정보는, 상기 검색 모듈(322) 및 매핑 모듈(323)에 있어서, 동일한 번지에 저장된다.That is, a search rule is stored in the search module 322, and information to be applied to the rule is stored in the mapping module 323, for example, an output port or a level or service level of an access control list. In this case, the rule and the corresponding control information are stored in the same address in the search module 322 and the mapping module 323.

따라서 상기 패킷 처리 모듈(321)은 입력된 패킷의 정보를 이용하여 검색을 수행하는 경우에는, 상기 검색 모듈(322)을 이용한 검색을 통해서 상기 입력된 패킷에 해당하는 규칙이 저장된 위치를 확인하고, 매핑 모듈(323)의 동일한 위치를 확인하여 그 제어 정보를 확인하게 되며, 이렇게 확인된 정보를 이용하여 해당 패킷을 스위칭 패브릭(33)으로 전달한다.Accordingly, when the packet processing module 321 performs a search using the information of the input packet, the packet processing module 321 checks a location where a rule corresponding to the input packet is stored through a search using the search module 322, The same location of the mapping module 323 is checked to confirm the control information, and the corresponding packet is transmitted to the switching fabric 33 using the identified information.

도 3은 상기와 같은 입력 패킷 처리부(32)에 적용될 수 있는 본 발명에 의한 구간 매칭 검색 장치를 도시한 블록도이다.FIG. 3 is a block diagram showing an apparatus for searching a section matching according to the present invention, which can be applied to the input packet processor 32 as described above.

도 3을 참조하면, 본 발명에 의한 구간 매칭 검색 장치는, 규칙을 제1 검색 단위와 제2 검색 단위로 구분할 때, 상기 제1 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제1 검색 테이블(100)과, 상기 제2 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제2 검색 테이블(200)과, 입력 프레임의 제1 검색키를 추출하여 상기 제1 검색 테이블(100)을 검색하고, 제2 검색키를 추출하여 상기 제2 검색 테이블(200)을 검색하여, 일치하는 엔트리를 찾는 제어 모듈(300)을 포함한다.Referring to FIG. 3, when the rule is classified into a first search unit and a second search unit, the interval matching search apparatus according to the present invention stores the information corresponding to the first search unit in each entry. (100), a second search table (200) for storing information corresponding to the second search unit in each entry, and a first search key of an input frame to extract the first search table (100); And a control module 300 extracting a second search key and searching the second search table 200 to find a matching entry.

상기에서, 제1 검색 테이블(100)과 제2 검색 테이블(200)은 내용 번지 메모리(CAM)에 구현된다.In the above, the first search table 100 and the second search table 200 are implemented in the content address memory CAM.

상기 구간 매칭 검색 장치에 있어서, 제1 검색 단위는 접근 제어 목록의 수준이나 서비스 수준을 확인하기 위해서 사용되는 5-투플(tuple) 정보 중에서 송신 IP 주소와 수신 IP 주소로 설정하고, 제2 검색 단위는 송신 포트와 수신 포트와 프로토콜 번호로 설정한다.In the interval matching search apparatus, the first search unit is set as a transmission IP address and a reception IP address from among 5-tuple information used for checking the level of the access control list or the service level, and the second search unit. Set the sending port, receiving port and protocol number.

더하여, 상기 제2 검색 테이블(200)은, 각 엔트리에 해당 제2 검색 단위에 대한 정보와 연관되는 제1 검색 단위에 대한 정보가 저장된 제1 검색 테이블(100)의 엔트리 번지 정보를 더 저장하는 것이 바람직하다.In addition, the second search table 200 further stores entry address information of the first search table 100 in which information on the first search unit associated with the information on the second search unit is stored in each entry. It is preferable.

즉, 상기 제1 검색 테이블(100)의 각 엔트리에는 송수신 IP 주소가 기록되고, 상기 제2 검색 테이블(200)에는 송수신 포트와 프로토콜 번호 및 그 규칙에 관련된 송수신 IP 주소가 기록된 엔트리의 번지 정보가 더 기록된다.That is, transmission and reception IP addresses are recorded in each entry of the first search table 100, and address information of entries in which transmission and reception ports and protocol numbers and transmission and reception IP addresses related to the rules are recorded in the second search table 200. Is recorded further.

이때, 상기 제어 모듈(300)은, 검색할 패킷이 입력되면, 해당 패킷의 송수신 IP 주소로 제1 검색키를 생성하고, 해당 패킷의 송수신 포트 및 프로토콜번호로 제2 검색키를 생성한 후, 상기 제1 검색키로 제1 검색 테이블(100)을 검색하여 일치하는 엔트리가 존재하는 경우, 해당 엔트리의 번지를 상기 제2 검색키와 합하여 새로운 제2 검색키를 생성하고, 상기 새로운 제2 검색키와 일치하는 엔트리를 상기 제2 검색 테이블(200)에서 검색한다. 그리고 나서, 제2 검색 테이블(200)에 일치하는 엔트리가 존재하면, 해당 엔트리의 번지를 최종 매핑 번지로서 출력한다.In this case, when a packet to be searched is input, the control module 300 generates a first search key with a transmission / reception IP address of the packet, generates a second search key with a transmission / reception port and a protocol number of the packet, If a matching entry is found by searching the first search table 100 using the first search key, a new second search key is generated by adding the address of the corresponding entry to the second search key, and the new second search key. The second matching table 200 searches for an entry that matches the. Then, if there is an entry that matches the second lookup table 200, the address of the entry is output as the final mapping address.

이때 상기 구간 매칭 검색 장치는, 최종 매핑 번지별로 해당 프레임에 대한 제어 정보를 저장하는 매핑 테이블(400)을 더 포함할 수 있으며, 제어모듈(300)은 상기 매핑 테이블(400)에서 검색된 최종 매핑 번지의 제어 정보를 읽어와 출력한다.In this case, the interval matching search apparatus may further include a mapping table 400 for storing control information for the corresponding frame for each final mapping address, and the control module 300 may search for the last mapping address found in the mapping table 400. Read and output the control information.

이때, 상기 매핑 테이블(400)에 저장되는 제어 정보는 출력 포트 정보, 접근 제어 수준 정보, 또는 서비스 수준 정보 중에서 하나인 것이 바람직하다.In this case, the control information stored in the mapping table 400 is preferably one of output port information, access control level information, or service level information.

이하, 본 발명에 의한 제1,2 검색 테이블의 구성 및 구현 과정에 대하여 예를 들어 설명한다.Hereinafter, a configuration and implementation process of the first and second lookup tables according to the present invention will be described by way of example.

도 4는 본 발명을 설명하기 위하여 제시된 라우터에 적용할 규칙의 일례를 나타낸 것이다.4 shows an example of a rule to be applied to a router presented to explain the present invention.

도 4를 참조하면, 규칙들은, 5-투플 정보, 즉, 송신지 IP 주소와, 목적지 IP 주소와, 송신 포트 번호와, 목적 포트 번호와, 프로토콜 번호로 구성되며, 규칙 1의 흐름은 서비스 수준이 레벨 1로 적용되며, 규칙 2의 흐름은 레벨 2의 서비스 수준으로 적용되며, 규칙 3의 흐름은 레벨 3의 서비스 수준으로 적용된다.Referring to Fig. 4, the rules are composed of 5-tuple information, that is, a source IP address, a destination IP address, a source port number, a destination port number, and a protocol number, and the flow of rule 1 is a service level. This applies to level 1, the flow of rule 2 applies to the level 2 service level, and the flow of rule 3 applies to the level 3 service level.

상기 도 4에 도시한 규칙 중에서 '*'는 어떠한 값이 와도 상관없는 경우임을 나타내며, 검색 테이블 구현 시 무시 비트에 해당한다.In the rule illustrated in FIG. 4, '*' indicates a case in which any value is irrelevant, and corresponds to an ignore bit when the lookup table is implemented.

본 발명에서는 상기와 같은 5-투플로 이루어지는 규칙을 두 개의 검색 단위, 즉, 제1 검색 단위와 제2 검색 단위로 구분하는데, 이를 상기 도 4의 규칙에 적용하며, 도 5와 같이 변환 가능하다. In the present invention, the above 5-tuple rule is divided into two search units, that is, the first search unit and the second search unit, which are applied to the rule of FIG. 4 and can be converted as shown in FIG. 5. .

상기 실시 예는, 기본 검색 단위가 64 비트라고 가정한 것이다.In the above embodiment, it is assumed that the basic search unit is 64 bits.

따라서 상기 104 비트의 5-투플 정보로 이루어지는 각 규칙을 기본 검색 단위 64비트를 기준으로, 각 64비트와 40비트로 나누어 작성한다. 이때, 제2 검색 단위의 24 비트는 사용하지 않게 된다.Therefore, each rule composed of the 104-bit 5-tuple information is prepared by dividing each rule into 64 bits and 40 bits based on the basic search unit of 64 bits. At this time, 24 bits of the second search unit are not used.

다시 도 5를 참조하면, 상기 도 4에 보인 규칙 1은 도 5에서 두 개의 엔트리(0번, 1번)에 기록되고, 규칙 2는 4 개의 엔트리(2번~5번)로 기록되며, 규칙 3은 4개의 엔트리(6~9번)에 기록된다. 즉, 규칙 1은 송수신 IP 주소와, 프로토콜 번호만을 필요로 하므로, 두 개의 엔트리로 기록될 수 있으나, 규칙 2는 목적 포트 번호에 의해서 2개의 엔트리를 더 필요로 하게 된 것이고, 규칙 3은 송신 포트 번호에 의해서 2개의 엔트리를 더 필요로 하게 된 것이다.Referring back to FIG. 5, rule 1 shown in FIG. 4 is recorded in two entries (0 and 1) in FIG. 5, and rule 2 is recorded as 4 entries (2-5). 3 is recorded in four entries (Nos. 6-9). In other words, rule 1 requires only a transceiving IP address and a protocol number, so it can be recorded as two entries, but rule 2 requires two more entries by destination port number. By number, two more entries are needed.

본 발명은 상기와 같이 도 5에 보인 변환 테이블을 두 개로 나누어 제1,2 검 색 테이블을 구현한다.The present invention implements the first and second search tables by dividing the conversion table shown in FIG. 5 into two.

도 6의 (a)와 (b)는 상기 도 5의 변환 테이블로부터 구현된 본 발명에 의한 제1,2 검색 테이블의 예를 나타낸 것으로서, 도 6의 (a)는 도 5에 변환 테이블에서, 각 규칙들의 송수신 IP 주소에 관련된 엔트리만을 모은 제1 검색 테이블이고, (b)는 각 규칙들의 송수신 포트 번호 및 프로토콜 번호에 관련된 엔트리만을 모은 제2 검색 테이블이다.6 (a) and 6 (b) show examples of the first and second lookup tables according to the present invention implemented from the conversion table of FIG. 5, and FIG. 6 (a) shows the conversion table in FIG. A first lookup table that collects only entries related to the transmit / receive IP address of each rule, and (b) is a second lookup table that gathers only entries related to the transmit / receive port number and protocol number of each rule.

상기 도 6의 (a)를 참조하면, 제1 검색 테이블은 IP 주소만으로 규칙 엔트리가 구성되기 때문에, 각 규칙이 일대일로 변환되어 하나의 규칙에 하나의 테이블 엔트리만 할당된다. 그러나 도 6의 (b)에 나타낸 제2 검색 테이블은, 구간 매칭 검색 방법이 적용되는 송수신 포트가 포함되어 있기 때문에, 하나의 규칙에 대하여 다수 개의 엔트리가 할당된다. 그러나 본 발명에 의해서, 규칙 하나로 두 검색 테이블을 구성하면, 기존 방법에 비하여, 기본 메모리 영역이 절약할 수 있다. Referring to FIG. 6A, since a rule entry is configured with only an IP address in the first lookup table, each rule is converted into one-to-one and only one table entry is assigned to one rule. However, since the second search table shown in Fig. 6B includes a transmission / reception port to which the interval matching search method is applied, a plurality of entries are assigned to one rule. However, according to the present invention, if two search tables are configured with one rule, the basic memory area can be saved as compared with the conventional method.

더하여, 상기 제2 검색 테이블의 경우, 총 64 비트 중에서 송수신 포트와 프로토콜 번호를 할당하고 남은 24비트를 상기 제1 검색 테이블과의 상관 관계 설정을 위해 사용할 수 있다.In addition, in the case of the second lookup table, the transmission and reception port and the protocol number may be allocated among the total 64 bits, and the remaining 24 bits may be used to establish correlation with the first lookup table.

즉, 64 비트 중 24비트에 해당 엔트리와 관련된 제1 검색 테이블의 엔트리의 번지를 기록하고, 나머지 40비트에 송수신 포트와 프로토콜번호를 기록한다. 상기 도 6에서, "x+n"(n은 0, 1, 2, 3, ...)은 제1 검색 테이블의 각 엔트리 번지를 나타내고, "y+n"(n은 0, 1, 2, 3, ...)은 제2 검색 테이블의 엔트리 번지를 나타내는 것으로서, 제 2 검색 테이블의 y+1, y+2 번지의 규칙은 제1 검색 테이블의 x+1 번 지의 규칙과 상관이 있음을 알 수 있다.That is, the address of the entry of the first lookup table associated with the entry is recorded in 24 bits of the 64 bits, and the transmission / reception port and protocol number are recorded in the remaining 40 bits. In FIG. 6, "x + n" (n is 0, 1, 2, 3, ...) represents each entry address of the first lookup table, and "y + n" (n is 0, 1, 2). , 3, ...) indicates an entry address of the second lookup table, and the rules of y + 1 and y + 2 of the second lookup table correlate with the rules of address x + 1 of the first lookup table. It can be seen.

도 6은 본 발명에 있어서, 상기와 같이 구성된 제1,2 검색 테이블을 이용하여 규칙을 검색하는 과정을 나타낸 흐름도이다.6 is a flowchart illustrating a process of searching for a rule using the first and second lookup tables configured as described above according to the present invention.

도 6을 참조하면, 본 발명은 각 패킷에 적용할 규칙을 제1 검색 단위와 제2 검색 단위로 구분하여, 각각 제1,2 검색 테이블에 저장한 상태에서, 프레임이 입력되면(S71), 입력 프레임의 헤더 정보를 추출하여 제1,2 검색키를 생성한다(S72).Referring to FIG. 6, when a frame is input in a state in which a rule to be applied to each packet is divided into a first search unit and a second search unit, and stored in the first and second search tables, respectively (S71), The header information of the input frame is extracted to generate first and second search keys (S72).

상기에서 제1 검색키는 입력 프레임의 헤더에 실린 송수신 IP 주소가 되며, 제2 검색키는 입력 프레임의 헤더에 실린 송수신 포트 번호와 프로토콜번호가 된다.The first search key is a transmission / reception IP address carried in a header of the input frame, and the second search key is a transmission / reception port number and a protocol number carried in the header of the input frame.

그리고 상기 제1 검색키와 제2 검색키로 각각 제1,2 검색 테이블을 검색하는데, 바람직하게는, 먼저 제1 검색키를 이용하여 제1 검색 테이블에 일치하는 규칙이 존재하는 지를 확인한다(S73).Then, the first and second search keys are searched for the first and second search tables, respectively. Preferably, first, the first search key is used to determine whether there is a matching rule in the first search table (S73). ).

그리고 상기 검색 결과, 상기 제1 검색 테이블에 제1 검색키와 일치하는 엔트리가 존재하면, 해당 엔트리의 번지가 더 포함되도록 상기 제2 검색키를 수정한다(S74).If there is an entry that matches the first search key in the first search table, the second search key is modified to further include the address of the entry (S74).

그리고 상기 수정된 제2 검색키로 제2 검색 테이블을 검색하여 일치하는 엔트리가 존재하는 지를 확인한다(S75).The second search table is searched using the modified second search key to check whether there is a matching entry (S75).

상기에서, 제2 검색 테이블에 수정된 제2 검색키와 일치하는 엔트리가 존재하면, 해당 프레임에 적용할 규칙이 있는 것으로 판단하고(S76), 상기에서, 단계(S73)에서 제1 검색 테이블에 일치하는 엔트리가 존재하지 않거나, 단계(S75)에 서 제2 검색테이블에 일치하는 엔트리가 존재하지 않는 경우에는, 입력 프레임에 적용할 규칙이 없는 것으로 판단한다(S77).In the above, if there is an entry that matches the modified second search key in the second search table, it is determined that there is a rule to be applied to the corresponding frame (S76), and in the step S73, the first search table is checked. If there is no matching entry or there is no matching entry in the second search table in step S75, it is determined that there is no rule to apply to the input frame (S77).

상기에서, 적용할 규칙이 있는 것으로 판단되는 경우, 상기 제2 검색 테이블의 해당 엔트리 번지를 확인하고, 각 규칙별 제어 정보가 저장된 매핑 테이블의 동일 번지의 엔트리를 확인하여, 적용할 제어 정보를 가져온다.In the above, when it is determined that there is a rule to apply, the corresponding entry address of the second search table is checked, the entry of the same address of the mapping table in which the control information for each rule is stored, and the control information to be applied is obtained. .

접근 제어 또는 QoS를 지원하는 라우터의 경우, 상기 제어 정보는, 출력 포트 정보, 접근 제어 수준 정보, 또는 서비스 수준 정보 중에서 하나가 된다.In the case of a router supporting access control or QoS, the control information is one of output port information, access control level information, or service level information.

이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다. The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.

도 1은 본 발명이 적용되는 라우터 시스템의 일 예를 도시한 블럭도,1 is a block diagram showing an example of a router system to which the present invention is applied;

도 2는 상기 라우터 시스템에서의 패킷 처리부의 상세 구성을 나타낸 블럭도,2 is a block diagram showing the detailed configuration of a packet processing unit in the router system;

도 3은 본 발명에 의한 구간 매칭 검색 장치를 도시한 블록도,3 is a block diagram showing an interval matching search apparatus according to the present invention;

도 4는 본 발명의 실시 예를 설명하기 위한 규칙의 예시도,4 is an exemplary diagram for explaining an embodiment of the present invention;

도 5는 도 4에 보인 규칙을 본 발명에 따른 검색 테이블로 변환하는 방법을 설명하기 위한 도면,5 is a view for explaining a method of converting the rule shown in FIG. 4 into a lookup table according to the present invention;

도 6은 본 발명에 의해 구현된 제1,2 검색 테이블의 예시도, 그리고6 is an exemplary view of a first and second lookup table implemented by the present invention, and

도 7은 본 발명에 의한 구간 매칭 검색 방법을 나타낸 흐름도이다.7 is a flowchart illustrating an interval matching search method according to the present invention.

Claims (9)

규칙을 제1 검색 단위와 제2 검색 단위로 구분하여, 상기 제1 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제1 검색 테이블;A first search table that divides a rule into a first search unit and a second search unit, and stores information corresponding to the first search unit in each entry; 상기 제2 검색 단위에 해당하는 정보를 각 엔트리에 저장하는 제2 검색 테이블; 및A second search table for storing information corresponding to the second search unit in each entry; And 입력 프레임의 제1 검색키를 추출하여 상기 제1 검색 테이블을 검색하고, 제2 검색키를 추출하여 상기 제2 검색 테이블을 검색하여, 일치하는 엔트리를 찾는 제어 모듈을 포함하며,And a control module extracting a first search key of an input frame to search the first search table, extracting a second search key to search the second search table, and searching for a matching entry. 상기 제1 검색 단위는 5-투플(tuple) 정보 중에서 송신 IP 주소와 수신 IP 주소이고, 제2 검색 단위는 송신 포트와 수신 포트와 프로토콜 번호인 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 장치.Wherein the first search unit is a transmission IP address and a reception IP address among 5-tuple information, and the second search unit is a transmission port, a reception port, and a protocol number. . 삭제delete 제1항에 있어서, 상기 제2 검색 테이블은,The method of claim 1, wherein the second search table, 각 엔트리에 해당 제2 검색 단위에 대한 정보와 연관되는 제1 검색 단위에 대한 정보가 저장된 제1 검색 테이블의 엔트리 번지 정보를 더 저장하는 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 장치.And storing the entry address information of the first search table in which the information about the first search unit associated with the information about the second search unit is stored in each entry. 제3항에 있어서, 상기 제어 모듈은The method of claim 3, wherein the control module 제1 검색 테이블을 검색하여 일치하는 엔트리가 존재하는 경우, 해당 엔트리의 번지를 상기 제2 검색키와 합하여 새로운 제2 검색키를 생성하고, 상기 새로운 제2 검색키와 일치하는 엔트리를 상기 제2 검색 테이블에서 검색하는 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 장치.If a matching entry is found by searching the first search table, the address of the entry is added to the second search key to generate a new second search key, and an entry matching the new second search key is generated. An interval matching search apparatus using a content address memory, characterized by searching in a search table. 규칙을 제1 검색 단위와 제2 검색 단위로 구분하여, 각각 제1,2 검색 테이블에 저장하는 단계;Dividing the rule into a first search unit and a second search unit, and storing the rules in the first and second search tables, respectively; 입력 프레임으로부터 제1,2 검색키를 추출하는 단계;Extracting first and second search keys from an input frame; 상기 제1 검색키와 제2 검색키로 각각 제1,2 검색 테이블을 검색하는 단계; 및Searching the first and second search tables using the first search key and the second search key, respectively; And 상기 검색 결과를 조합하여, 상기 입력 프레임의 적용할 규칙의 제어 정보를 확인하는 단계를 포함하며,Combining the search results to confirm control information of a rule to be applied to the input frame; 상기 제1 검색 단위는 5-투플(tuple) 정보 중에서 송신 IP 주소와 수신 IP 주소이고, 제2 검색 단위는 송신 포트와 수신 포트와 프로토콜 번호인 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 방법.The first search unit is a transmission IP address and a reception IP address among 5-tuple information, and the second search unit is a transmission port, a reception port, and a protocol number. . 삭제delete 제5항에 있어서, 상기 규칙을 제1 검색 단위와 제2 검색 단위로 구분하여, 각각 제1,2 검색 테이블에 저장하는 단계는,The method of claim 5, wherein dividing the rule into a first search unit and a second search unit, and storing the rules in the first and second search tables, respectively, 제2 검색 테이블의 각 엔트리에 해당 제2 검색 단위에 대한 정보와 연관되는 상기 제1 검색 단위에 대한 정보가 저장된 제1 검색 테이블의 엔트리 번지 정보를 더 저장하는 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 방법.And using the content address memory, further stores entry address information of the first search table in which the information about the first search unit associated with the information about the second search unit is stored in each entry of the second search table. Interval matching search method. 제5항에 있어서, 제1,2 검색 테이블을 검색하는 단계는6. The method of claim 5, wherein searching the first and second lookup tables is 상기 제1 검색키와 일치하는 엔트리를 제1 검색 테이블에서 검색하는 과정;Retrieving an entry in the first search table that matches the first search key; 상기 제1 검색 테이블에 제1 검색키와 일치하는 엔트리가 존재하면, 해당 엔트리의 번지가 더 포함되도록 상기 제2 검색키를 수정하는 과정; 및Modifying the second search key to further include an address of the entry if an entry matching the first search key exists in the first search table; And 상기 수정된 제2 검색키로 제2 검색 테이블을 검색하는 과정을 포함하는 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 방법.And searching for a second search table using the modified second search key. 제5항에 있어서,The method of claim 5, 매핑 테이블에 규칙별 제어정보를 저장하되, 상기 제2 검색 테이블의 각 엔트리 번지와 일치하는 번지에 해당 규칙의 제어 정보가 저장되도록 하는 단계를 더 포함하는 것을 특징으로 하는 내용 번지 메모리를 이용한 구간 매칭 검색 방법.Storing control information for each rule in a mapping table, wherein the control information of the corresponding rule is stored at a address corresponding to each entry address of the second lookup table; Search method.
KR1020070069793A 2006-12-01 2007-07-11 Method and Apparatus for searching by range matching using content addressable memory KR100862195B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060120449 2006-12-01
KR20060120449 2006-12-01

Publications (2)

Publication Number Publication Date
KR20080050246A KR20080050246A (en) 2008-06-05
KR100862195B1 true KR100862195B1 (en) 2008-10-09

Family

ID=39805739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070069793A KR100862195B1 (en) 2006-12-01 2007-07-11 Method and Apparatus for searching by range matching using content addressable memory

Country Status (1)

Country Link
KR (1) KR100862195B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488189B (en) * 2015-12-02 2019-02-12 成都科来软件有限公司 A kind of five-tuple querying method and device based on big data quantity
US11017857B2 (en) 2019-07-15 2021-05-25 Micron Technology, Inc. Ranged content-addressable memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046424A (en) * 2002-11-27 2004-06-05 한국전자통신연구원 Internet Protocol address lookup system based on 3 layer table architecture and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046424A (en) * 2002-11-27 2004-06-05 한국전자통신연구원 Internet Protocol address lookup system based on 3 layer table architecture and method thereof

Also Published As

Publication number Publication date
KR20080050246A (en) 2008-06-05

Similar Documents

Publication Publication Date Title
KR101539211B1 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
US8094659B1 (en) Policy-based virtual routing and forwarding (VRF) assignment
US7039018B2 (en) Technique to improve network routing using best-match and exact-match techniques
US7787466B1 (en) Nexthop to a forwarding table
US7260096B2 (en) Method and router for forwarding internet data packets
US6581106B1 (en) Fast address lookup in routing tables
US20150350078A1 (en) Flow-driven forwarding architecture for information centric networks
JP2000196670A (en) Fast retrieving method and its device
US20140086248A1 (en) Method for IP Longest Prefix Match Using Prefix Length Sorting
US11327974B2 (en) Field variability based TCAM splitting
US7903658B1 (en) Forwarding tree having multiple bit and intermediate bit pattern comparisons
US7042884B2 (en) Network address forwarding table lookup apparatus and method
FI119166B (en) Procedure and apparatus for making a routing decision depending on the service quality class
US20050265340A1 (en) Network address-port translation apparatus and method
US20030236913A1 (en) Network address translation for internet control message protocol packets
KR100862195B1 (en) Method and Apparatus for searching by range matching using content addressable memory
US20070104200A1 (en) Network device with routing function and policy route setting method thereof
US20050141517A1 (en) Packet forwarding apparatus of high speed routing system and routing lookup method using the same
US8873555B1 (en) Privilege-based access admission table
JP3228249B2 (en) Router device
US7426608B1 (en) Method and apparatus for constructing a search key
US7570644B2 (en) Routing method for a telecommunications network and router for implementing said method
CN105721627B (en) A kind of online de-identification method of IP network flow data
US8040882B2 (en) Efficient key sequencer
US10205658B1 (en) Reducing size of policy databases using bidirectional rules

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee