KR20030018269A - Apparatus of IP lookup using cache forwarding table in router system, its method - Google Patents
Apparatus of IP lookup using cache forwarding table in router system, its method Download PDFInfo
- Publication number
- KR20030018269A KR20030018269A KR1020010051887A KR20010051887A KR20030018269A KR 20030018269 A KR20030018269 A KR 20030018269A KR 1020010051887 A KR1020010051887 A KR 1020010051887A KR 20010051887 A KR20010051887 A KR 20010051887A KR 20030018269 A KR20030018269 A KR 20030018269A
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- information
- lookup
- header
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Abstract
Description
본 발명은 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치 및 그 방법에 관한 것으로, 보다 상세하게는 고속의 IP 패킷 처리를 위하여 포워딩 테이블 구성을 전체 포워딩 테이블과 캐쉬 포워딩 테이블 이중 구조를 이용하여 룩업을 동시에 수행하기 위한 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to an Internet protocol (IP) address lookup control apparatus using a cache forwarding table in a router system and a method thereof. More particularly, the forwarding table configuration is doubled for a high-speed IP packet processing. The present invention relates to an Internet Protocol (IP) address lookup control apparatus using a cache forwarding table in a router system for simultaneously performing a lookup using a structure, and a method thereof and a computer-readable recording medium recording a program for implementing the method. .
일반적으로, 인터넷 패킷의 고속 처리를 위해 종래의 라우터 시스템은 인터넷 프로토콜(Internet Protocol : 이하 "IP"라 약칭한다)패킷이 유입된 경우 전체 포워딩 테이블을 통하여 IP 주소에 대한 룩업을 소프트웨어 검색 알고리즘 또는 하드웨어 검색 방법을 사용하고 있다.In general, for the high speed processing of Internet packets, a conventional router system uses a software forwarding algorithm or hardware to look up an IP address through an entire forwarding table when an Internet Protocol packet is introduced. I'm using a search method.
도 1은 종래의 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치에 대한 구성 예시도이다.1 is an exemplary configuration diagram of a device for controlling an Internet protocol (IP) address lookup using a conventional forwarding table.
도 1에 도시된 바와 같이, 상기 인터넷 프로토콜(IP) 주소 룩업 제어 장치는 IP 헤더 처리기(101), 룩업 제어기(102), 전체 포워딩 테이블(103) 및 포워딩 관련테이블(104)을 포함한다.As shown in FIG. 1, the Internet Protocol (IP) address lookup control apparatus includes an IP header processor 101, a lookup controller 102, an entire forwarding table 103, and a forwarding related table 104.
상기 IP 헤더 처리기(101)는 IP 패킷이 라우터내의 포워딩 엔진으로 유입된 경우 IP 헤더를 검사하여 IP 주소를 추출하여 룩업 제어기(102)로 전달한다. 상기 룩업 제어기(102)는 IP 헤더 처리기(101)로부터 전달받은 IP 주소를 이용하여 룩업 제어 신호를 발생시켜 전체 포워딩 테이블(103)에 기 저장된 IP 주소 정보 중 매치되는 IP 주소를 검색한다.When the IP packet is introduced into the forwarding engine in the router, the IP header processor 101 extracts the IP address by checking the IP header and delivers the IP address to the lookup controller 102. The lookup controller 102 generates a lookup control signal using the IP address received from the IP header processor 101 and searches for a matching IP address among the IP address information previously stored in the entire forwarding table 103.
상기 룩업 제어기(102)는 검색된 IP 주소 즉, 룩업 결과의 인덱스를 이용하여 포워딩 관련 테이블(104)로 액세스하여 포워딩 정보를 획득한다.The lookup controller 102 accesses the forwarding related table 104 using the retrieved IP address, that is, the index of the lookup result, to obtain forwarding information.
여기서, 상기 전체 포워딩 테이블(103)은 IP 패킷의 다음 홉으로의 포워딩 테이블 및 계층 3과 계층 4 룩업을 수행하는 룩업 엔진 기능을 수행한다. 그리고, 상기 포워딩 관련 테이블(104)는 포워딩 테이블에 대하여 계층 3, 계층 4에 대한 룩업 결과의 인덱스에 대한 포워딩 정보를 가지는 영역으로 다음 홉으로의 전달에 관련된 연결 정보, 라우팅 물리 포트 정보, 계층2의 전달 프로토콜 정보 등을 가지고 있다.Here, the entire forwarding table 103 performs a forwarding table to the next hop of the IP packet and a lookup engine function for performing layer 3 and layer 4 lookups. In addition, the forwarding related table 104 is an area having forwarding information for indexes of lookup results for layers 3 and 4 with respect to the forwarding table. The connection information related to forwarding to the next hop, routing physical port information, and layer 2 Information about the delivery protocol.
그러나, 종래의 인터넷 프로토콜(IP) 주소 룩업 제어 장치는 전체 포워딩 테이블을 이용한 소프트웨어적인 검색 알고리즘을 사용함으로써, 포워딩 엔트리 수에 따라 검색 시간이 길어지며, 하드웨어적인 방법에는 룩업 선행처리 및 포워딩 될 패킷의 관련된 정보 페치에 시간이 소요되어 결국 IP 패킷에 대한 포워딩 능력이 저하되는 문제점이 있었다.However, the conventional Internet protocol (IP) address lookup control apparatus uses a software search algorithm using the entire forwarding table, so that the search time is lengthened according to the number of forwarding entries. In the hardware method, the lookup preprocessing and the forwarding of the packet to be forwarded are performed. There was a problem that the time required for fetching related information deteriorates the forwarding capability of the IP packet.
이에 본 발명은, 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 전체 포워딩 테이블 룩업에서 일치된 IP 주소 조합을 캐쉬 포워딩 테이블에 구축하여 하나의 IP 패킷에 대한 룩업을 캐쉬 포워딩 테이블과 전체 포워딩 테이블에 대하여 동시에 수행하여 캐쉬 히트가 되지않은 경우 일반 룩업과 같은 검색 시간이 소요되나 캐쉬 히트가 된 경우에는 보다 빨리 룩업 결과를 얻을 수 있도록 하기 위한 라우터 시스템에서의 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 그 목적이 있다.Accordingly, the present invention has been proposed to solve the above problems, by building a matched IP address combination in the cache forwarding table in the entire forwarding table lookup to build a lookup for one IP packet in the cache forwarding table and the entire forwarding table. If the cache hit does not occur at the same time, it takes the same search time as the normal lookup, but if the cache hit is made, the Internet protocol (IP) address using the cache forwarding table in the router system to get the lookup result faster. It is an object of the present invention to provide a look-up control apparatus, a method thereof, and a computer-readable recording medium having recorded thereon a program for realizing the method.
도 1은 종래의 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치에 대한 구성 예시도.1 is an exemplary configuration diagram of an Internet protocol (IP) address lookup control apparatus using a conventional forwarding table.
도 2는 본 발명에 따른 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치에 대한 일실시예 구성도.2 is a block diagram of an embodiment of an Internet protocol (IP) address lookup control apparatus using a cache forwarding table in a router system according to the present invention.
도 3은 도 2에 도시된 인터넷 프로토콜(IP) 헤더 캐쉬 제어기에 대한 일실시예 상세 구성도.FIG. 3 is a detailed block diagram of an embodiment of the Internet Protocol (IP) header cache controller shown in FIG. 2; FIG.
도 4는 본 발명에 따른 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 방법에 대한 일실시예 흐름도.4 is a flowchart illustrating a method of controlling an Internet protocol (IP) address lookup using a cache forwarding table in a router system according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
201 : IP 헤더 제어기 202 : IP 헤더 캐쉬 제어기201: IP header controller 202: IP header cache controller
203 : IP 주소 캐쉬 테이블 204 : 캐쉬 레이블 정보 테이블203: IP address cache table 204: Cache label information table
205 : 룩업 제어기 206 : 전체 포워딩 테이블205: lookup controller 206: the entire forwarding table
207 : 포워딩 레이블 테이블207: Forwarding Label Table
상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP : Internet Protocol) 주소 룩업 제어 장치에 있어서, 라우터내의 포워딩 엔진을 통해 유입된 IP 패킷에서 IP 헤더를 검사하여 IP 주소, TCP 포트 정보 및 연결자 정보를 추출하기 위한 인터넷 프로토콜(IP) 헤더 처리 수단; 상기 인터넷 프로토콜 헤더 처리 수단으로부터 추출된 IP 헤더 내의 정보를 토대로 엔트리를 구성하여 캐쉬 정보의 여부에 따른 룩업 동작을 수행하기 위한 IP 헤더 캐쉬 제어 수단; 상기 IP 헤더 캐쉬 제어 수단의 제어에 의해 전체 포워딩 룩업에서 최근에 매치된 IP 패킷에 해당하는 정보를 저장하기 위한 IP 주소 캐쉬정보 저장 수단; 상기 IP 헤더 캐쉬 제어 수단의 제어에 의해 IP주소 캐쉬정보 저장 수단에 하나의 캐쉬 엔트리가 저장될 때 이에 해당하는 출력 패킷 정보를 저장하기 위한 캐쉬 레이블정보 저장 수단; 상기 IP 헤더 캐쉬 제어 수단으로부터의 제공된 IP 헤더에 대한 캐쉬 미스가 발생할 경우 해당 IP 헤더 정보를 이용하여 룩업 제어 신호를 발생시켜 검색 결과를 획득하고, 상기 획득된 결과를 IP 헤더 캐쉬 제어 수단으로 전달하는 룩업 제어 수단; 상기 룩업 제어 수단의 제어에 의해 IP 패킷의 다음 홉으로의 포워딩 정보 및 룩업을 수행하기 위한 룩업 엔진 기능을 수행하기 위한 전체 포워딩 저장 수단; 및 상기 룩업 제어 수단의 제어에 의해 전체 포워딩정보 저장 수단에 엔트리가 저장될 때 엔트리에 해당하는 출력 패킷 정보를 저장하기 위한 포워딩 레이블정보 저장 수단을 포함하는 것을 특징으로 한다.The apparatus of the present invention for achieving the above object, in the router system in the Internet Protocol (IP) address lookup control using a cache forwarding table, IP header in the IP packet introduced through the forwarding engine in the router Means for processing an Internet Protocol (IP) header for extracting an IP address, TCP port information, and connector information; IP header cache control means for constructing an entry based on information in the IP header extracted from the Internet protocol header processing means to perform a lookup operation according to whether cache information is present; IP address cache information storage means for storing information corresponding to a recently matched IP packet in a total forwarding lookup under the control of the IP header cache control means; Cache label information storage means for storing output packet information corresponding to one cache entry stored in the IP address cache information storage means under the control of the IP header cache control means; When a cache miss for the provided IP header from the IP header cache control means occurs, a lookup control signal is generated using the corresponding IP header information to obtain a search result, and the acquired result is transmitted to the IP header cache control means. Lookup control means; Total forwarding storage means for performing a lookup engine function for performing a lookup and forwarding information of an IP packet to the next hop under the control of the lookup control means; And forwarding label information storage means for storing output packet information corresponding to the entry when the entry is stored in the entire forwarding information storage means under the control of the lookup control means.
한편, 본 발명의 방법은, 인터넷 프로토콜(IP) 주소 룩업 제어 장치에 적용되는 인터넷 프로토콜(IP) 주소 룩업 제어 방법에 있어서, 수신된 IP 헤더 정보인 IP 주소, TCP 포트 정보 및 연결자 정보를 키로 하여 캐쉬 테이블 룩업 및 전체 포워딩 테이블 룩업을 수행하여 캐쉬가 히트되는지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 캐쉬가 히트될 경우 어드레스 포인터를 나타내는 인덱스를 페치하고, 인덱스 정보를 이용하여 캐쉬 레이블 정보를 획득하여 출력 IP 패킷의 IP 헤더를 변경하는 제 2 단계; 상기 제 1 단계의 판단 결과, 캐쉬 히트가 발생하지 않을 경우 IP 룩업의 완료를 검사하고,검사 완료된 IP 룩업의 매치가 발생하는지를 확인하는 제 3 단계; 상기 제 3 단계에서 IP 룩업의 매치 발생이 확인되면 페치된 레이블 정보를 이용하여 캐쉬 테이블 포인터를 갱신 및 다음 홉으로 전달될 출력IP 패킷의 IP 헤더 변경을 수행하여 IP 주소 캐쉬 엔트리 및 캐쉬 레이블 정보를 추가하는 제 4 단계를 포함하는 것을 특징으로 한다.On the other hand, the method of the present invention, in the Internet Protocol (IP) address lookup control method applied to the Internet Protocol (IP) address lookup control device, using the received IP header information, IP address, TCP port information and connector information as a key A first step of determining whether a cache is hit by performing a cache table lookup and a full forwarding table lookup; A second step of fetching an index indicating an address pointer when the cache is hit, and obtaining cache label information using the index information to change an IP header of an output IP packet; A third step of checking whether or not a match of the inspected IP lookup occurs when the cache hit does not occur as a result of the determination of the first step; In the third step, when the match occurrence of the IP lookup is confirmed, the cache table pointer is updated using the fetched label information, and the IP header of the output IP packet to be delivered to the next hop is changed to obtain IP address cache entry and cache label information. It is characterized in that it comprises a fourth step of adding.
한편, 본 발명은, 인터넷 프로토콜(IP) 주소 룩업을 제어하기 위해, 프로세서를 구비한 라우터 시스템에, 수신된 IP 헤더 정보인 IP 주소, TCP 포트 정보 및 연결자 정보를 키로 하여 캐쉬 테이블 룩업 및 전체 포워딩 테이블 룩업을 수행하여 캐쉬가 히트되는지를 판단하는 제 1 기능; 상기 제 1 기능의 판단 결과, 캐쉬가 히트될 경우 어드레스 포인터를 나타내는 인덱스를 페치하고, 인덱스 정보를 이용하여 캐쉬 레이블 정보를 획득하여 출력 IP 패킷의 IP 헤더를 변경하는 제 2 기능; 상기 제 1 기능의 판단 결과, 캐쉬 히트가 발생하지 않을 경우 IP 룩업의 완료를 검사하고, 검사 완료된 IP 룩업의 매치가 발생하는지를 확인하는 제 3 기능; 상기 제 3 기능에서 IP 룩업의 매치 발생이 확인되면 페치된 레이블 정보를 이용하여 캐쉬 테이블 포인터를 갱신 및 다음 홉으로 전달될 출력 IP 패킷의 IP 헤더 변경을 수행하여 IP 주소 캐쉬 엔트리 및 캐쉬 레이블 정보를 추가하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, in order to control the Internet protocol (IP) address lookup, a cache table lookup and full forwarding, using the IP address, TCP port information and connector information, which are received IP header information, as a key in a router system having a processor. A first function of performing a table lookup to determine whether a cache is hit; A second function of fetching an index indicating an address pointer when the cache is hit, and obtaining cache label information using the index information to change an IP header of an output IP packet; A third function of checking whether or not a match of the inspected IP lookup occurs if the cache hit does not occur, as a result of the determination of the first function; In the third function, if the match occurrence of the IP lookup is confirmed, the cache table pointer is updated using the fetched label information, and the IP header of the output IP packet to be delivered to the next hop is changed to obtain IP address cache entry and cache label information. A computer readable recording medium having recorded thereon a program for realizing an additional fourth function is provided.
여기서 상술된 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The objects, features and advantages described above will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따른 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 장치에 대한 일실시예 구성도이다.2 is a block diagram of an embodiment of an apparatus for controlling an Internet protocol (IP) address lookup using a cache forwarding table in a router system according to the present invention.
도 2에 도시된 바와 같이, 상기 인터넷 프로토콜(IP) 주소 룩업 제어 장치는IP 헤더 처리기(201), IP 헤더 캐쉬 제어기(202), IP 주소 캐쉬 테이블(203), 캐쉬 레이블 정보 테이블(204), 룩업 제어기(205) 및 전체 포워딩 테이블(206)를 포함한다.As shown in FIG. 2, the Internet Protocol (IP) address lookup control apparatus includes an IP header processor 201, an IP header cache controller 202, an IP address cache table 203, a cache label information table 204, Lookup controller 205 and full forwarding table 206.
상기 IP 헤더 처리기(201)는 라우터내의 포워딩 엔진을 통해 유입된 IP 패킷에서 IP 헤더를 검사하여 IP 주소, TCP 포트 정보 및 연결자 정보를 추출하여 IP 패킷과 함께 IP 헤더 캐쉬 제어기(202)로 전달한다. 상기 IP 헤더 캐쉬 제어기(202)는 IP 헤더 처리기(201)로부터 전달받은 IP 헤더내의 IP 발신자 주소, 목적지 주소, TCP 포트 정보, 수신 포트 정보 및 연결자 정보를 조합하여 하나의 엔트리를 구성하여 완전 정합(exact match) 룩업을 수행하도록 IP 주소 캐쉬 테이블(203)로 전달하고, 동시에 룩업 제어부(205)로 IP 주소 정보를 전달하여 전체 포워딩 테이블에 대하여 룩업 기능을 수행하도록 한다.The IP header processor 201 examines an IP header from an IP packet introduced through a forwarding engine in a router, extracts an IP address, TCP port information, and connector information, and delivers the IP packet to the IP header cache controller 202 along with the IP packet. . The IP header cache controller 202 configures a single entry by combining an IP sender address, a destination address, TCP port information, a receiving port information, and a connector information in the IP header received from the IP header processor 201 to form a perfect match. exact match) to the IP address cache table 203 to perform a lookup, and at the same time to the IP address information to the lookup control unit 205 to perform a lookup function for the entire forwarding table.
따라서, 전제 포워딩 테이블을 이용한 룩업과 캐쉬 포워딩 테이블에 의한 룩업을 병렬적으로 수행한다.Therefore, the lookup using the whole forwarding table and the lookup by the cache forwarding table are performed in parallel.
즉, 상기 IP 헤더 캐쉬 제어기(202)는 IP 헤더 정보를 하나의 비교 키로 하여 IP 주소 캐쉬 테이블(203)에 전달하여 일치하는 엔트리가 존재하는지를 검색한다. 이때, 상기 IP 헤더 캐쉬 제어기(202)는 IP 주소 캐쉬 테이블(203)로부터 캐쉬 히트 또는 캐쉬 미스에 따라 캐쉬 인덱스 제어 및 캐쉬 미스에 따른 제어 동작을 수행한다.That is, the IP header cache controller 202 transfers the IP header information as one comparison key to the IP address cache table 203 and searches whether there is a matching entry. At this time, the IP header cache controller 202 performs a cache index control and a cache miss control according to a cache hit or a cache miss from the IP address cache table 203.
먼저, 캐쉬 히트에 따른 캐쉬 인덱스 제어를 수행하기 위해 상기 IP 헤더 캐쉬 제어기(202)는 상기 IP 주소 캐쉬 테이블(203)에서 히트가 발생된 어드레스 포인터를 나타내는 인덱스를 패치하고, 이 패치된 인덱스 정보를 이용하여 캐쉬 레이블 정보 데이블에서 캐쉬 레이블 정보를 획득한다.First, in order to perform cache index control according to a cache hit, the IP header cache controller 202 patches an index indicating an address pointer at which a hit occurred in the IP address cache table 203, and stores the patched index information. Cache label information is obtained from the cache label information table.
한편, 상기 IP 헤더 캐쉬 제어기(202)는 IP 헤더 처리부(201)로부터의 IP 주소 정보를 룩업 제어부로부터 헤더 정보에 대한 캐쉬 미스가 발생하면, 이미 전달된 IP 헤더 정보를 이용하여 전체 포워딩 테이블에서 룩업 기능을 수행 상태를 검사한다. 이때, 룩업이 종료되지 않았으면 종료시까지 대기하여 룩업이 완료되면 상기 전체 포워딩 테이블(206)로부터 룩업 매치되는 정보를 획득한다. 상기 룩업 제어기(205)는 전체 포워딩 테이블(206)에서 검색하여 룩업 매치된 정보 즉, 해당하는 포워딩 테이블 정보를 IP 주소 캐쉬 테이블(203)로 전달하여 저장하고, 동시에 이에 해당하는 레이블 정보를 캐쉬 레이블 정보 테이블(204)로 전달하여 저장한다.On the other hand, the IP header cache controller 202 looks up the IP address information from the IP header processing unit 201 in the entire forwarding table by using the already delivered IP header information when a cache miss for the header information is generated from the lookup controller. Check the performance of the function. In this case, if the lookup is not finished, the terminal waits until the end of the lookup, and when the lookup is completed, the lookup match information is acquired from the entire forwarding table 206. The lookup controller 205 searches the entire forwarding table 206 to transfer the lookup matched information, that is, the corresponding forwarding table information to the IP address cache table 203, and stores the corresponding label information at the same time. Transfer it to the information table 204 and store it.
이때, 상기 전체 포워딩 테이블(206)은 IP 패킷의 다음 홉으로의 포워딩 테이블 및 계층 3과 계층 4 룩업을 수행하는 룩업 엔진 기능을 수행한다. 또한, 포워딩 레이블 테이블(207)은 포워딩 테이블에 대하여 계층 3, 계층 4에 대한 룩업 결과의 인덱스에 대한 포워딩 정보를 가지는 영역으로 다음 홉으로의 전달에 관련된 연결 정보, 라우팅 물리 포트 정보, 계층2의 전달 프로토콜 정보 등을 가지고 있다.In this case, the entire forwarding table 206 performs a forwarding table to the next hop of the IP packet and a lookup engine function for performing layer 3 and layer 4 lookups. Also, the forwarding label table 207 is an area having forwarding information for indexes of lookup results for layer 3 and layer 4 with respect to the forwarding table. The connection information, routing physical port information, and layer 2 Transfer protocol information, and so on.
도 3은 도 2에 도시된 인터넷 프로토콜(IP) 헤더 캐쉬 제어기에 대한 일실시예 상세 구성도이다.FIG. 3 is a detailed block diagram of an embodiment of the Internet protocol (IP) header cache controller shown in FIG.
도 3에 도시된 바와 같이, 상기 인터넷 프로토콜(IP) 헤더 캐쉬 제어기는 IP 헤더 정보 저장부(301), IP 캐쉬 테이블 액세스 제어부(302), 캐쉬 레이블 정보 테이블 액세스 제어부(303), 캐쉬 테이블 포인터 관리부(304)로 구성된다.As shown in FIG. 3, the Internet Protocol (IP) header cache controller includes an IP header information storage unit 301, an IP cache table access control unit 302, a cache label information table access control unit 303, and a cache table pointer management unit. It consists of 304.
여기서, 상기 IP 헤더 정보 저장부(301)는 IP 발신지 주소 및 목적지 주소, TCP 발신 포트 및 수신 포트 정보, 그리고 ATM 인 경우 연결자 정보 등을 수신 패킷 헤더로부터 추출하여 저장하고, 이 정보를 룩업 제어기(205) 및 IP 캐쉬 테이블 액세스 제어부(302)로 각각 전달한다.Here, the IP header information storage unit 301 extracts and stores IP source address and destination address, TCP source port and destination port information, and connector information in case of ATM, from the received packet header, and stores this information in a lookup controller ( 205 and IP cache table access control unit 302, respectively.
상기 IP 캐쉬 테이블 액세스 제어부(302)는 IP 헤더 정보 저장부(301)로부터 전달 받은 IP 주소, TCP 포트 및 연결자 정보 등을 하나의 비교 키로 하여 IP 주소 캐쉬 테이블(203)로 전달하여 일치하는 엔트리가 존재하는지 검색한다.The IP cache table access control unit 302 transfers the IP address, TCP port, and connector information received from the IP header information storage unit 301 to the IP address cache table 203 using a comparison key as a matching entry. Search for the existence
이때, 상기 IP 캐쉬 테이블 액세스 제어부(302)는 상기 IP 주소 캐쉬 테이블(203)로부터의 캐쉬 히트 또는 미스 정보에 따라 캐쉬 인덱스 제어 및 캐쉬 미스에 따른 제어 기능을 수행한다.At this time, the IP cache table access control unit 302 performs cache index control and control according to cache miss according to cache hit or miss information from the IP address cache table 203.
상기 캐쉬 레이블 정보 테이블 액세스 제어부(303)는 IP 캐쉬 테이블 액세스 제어부(302)로부터 전달된 인덱스를 수신하여, 상기 수신한 인덱스를 캐쉬 레이블 정보 테이블(204)로 전달하여 레이블의 페치를 수행한다. 또한, 상기 캐쉬 레이블 정보 테이블 액세스 제어부(303)는 캐쉬 미스가 발생된 경우 상기 룩업 제어기(205)로부터 전체 포워딩 테이블로부터의 매치된 등록할 레이블 정보를 수신하고, 상기 수신한 레이블 정보를 캐쉬 레이블 정보 테이블(204)로 전달하여 테이블 정보의 갱신을 제어한다. 상기 캐쉬 테이블 포인터 관리부(304)는 IP 캐쉬 테이블 등록을 위한 포인터 관리 정보를 IP 캐쉬 테이블 액세스 제어부(320)로, 캐쉬 레이블 테이블 정보 등록을 위한 포인터 관리 정보를 캐쉬 레이블 정보 테이블 액세스 제어부(303)로 각각 전달한다.The cache label information table access control unit 303 receives the index transmitted from the IP cache table access control unit 302, transfers the received index to the cache label information table 204, and fetches a label. In addition, the cache label information table access control unit 303 receives matched label information from the entire forwarding table from the lookup controller 205 when a cache miss occurs, and stores the received label information as cache label information. Passed to the table 204 to control the updating of table information. The cache table pointer manager 304 transmits pointer management information for registering an IP cache table to the IP cache table access control unit 320 and pointer management information for registering cache label table information to the cache label information table access control unit 303. Pass each one.
도 4는 본 발명에 따른 라우터 시스템에서 캐쉬 포워딩 테이블을 이용한 인터넷 프로토콜(IP) 주소 룩업 제어 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating a method of controlling an Internet protocol (IP) address lookup using a cache forwarding table in a router system according to the present invention.
도 4에 도시된 바와 같이, 먼저, IP 캐쉬 헤더 제어부(202)는 IP 헤더 처리부(201)로부터 IP 헤더 정보가 수신되는지의 여부를 판단하고(401), 상기 과정(401)에서 판단한 결과, IP 헤더 정보가 수신될 경우에는 상기 IP 헤더 정보인 IP 주소, TCP 포트 정보, 연결자 정보 등을 키로 하여 캐쉬 테이블 룩업을 수행하고 동시에 전체 포워딩 테이블 룩업 기능을 수행한다(402). 이때, 먼저 캐쉬 테이블 룩업을 수행하여 IP 주소 캐쉬 테이블로부터 캐쉬 히트가 발생되는지를 판단한다(403). 상기 과정(403)에서 판단 결과, 캐쉬 테이블 룩업의 캐쉬 히트가 발생하면 상기 IP 헤더 캐쉬 제어부(202)는 검색된 인덱스 정보를 토대로 캐쉬 레이블 정보 테이블에서 히트가 발생된 어드레스 포인터를 나타내는 인덱스를 페치하고(404), 상기 페치를 통해 획득한 인덱스 정보를 이용하여 캐쉬 레이블 정보를 획득한다(405).As shown in FIG. 4, first, the IP cache header controller 202 determines whether IP header information is received from the IP header processor 201 (401), and as a result of the determination in step 401, IP When the header information is received, the cache table lookup is performed using the IP header information, the IP address, the TCP port information, the connector information, and the like as a key, and at the same time, the entire forwarding table lookup function is performed (402). At this time, the cache table lookup is first performed to determine whether a cache hit is generated from the IP address cache table (403). As a result of the determination in step 403, when a cache hit of a cache table lookup occurs, the IP header cache controller 202 fetches an index indicating an address pointer of a hit in the cache label information table based on the retrieved index information ( In operation 404, cache label information is obtained using the index information obtained through the fetch.
그리고, 상기 레이블 정보를 획득한 후 다음 홉으로 전달될 출력 IP 패킷의 IP 헤더 변경 기능을 수행하므로서 캐쉬 히트된 경우의 포워딩 기능은 종료된다(406).After acquiring the label information, the forwarding function when the cache hit is performed by performing the IP header change function of the output IP packet to be delivered to the next hop is terminated (406).
한편, 상기 과정(403)에서 판단 결과, 캐쉬 테이블 룩업의 캐쉬 히트가 발생하지 않을 경우 즉, 캐쉬 히트 검사에서 캐쉬 미스가 난 경우 룩업 제어부(205)에서 전체 포워딩 테이블에 대하여 수행한 IP 룩업이 완료 되었는지를검사하여(407), 상기 완료된 IP 룩업의 매치가 발생하는지를 판단한다(408).On the other hand, when the cache hit of the cache table lookup does not occur, as a result of the determination in step 403, that is, when a cache miss occurs in the cache hit check, the IP lookup performed by the lookup controller 205 for the entire forwarding table is completed. In step 407, it is determined whether a match of the completed IP lookup occurs.
상기 과정(408)에서 판단한 결과, 룩업 매치가 발생하지 않을 경우에는 다음 정보의 수신을 위해 IP 헤더의 정보 수신 여부를 판단하는 과정(401)으로 복귀하여 루프를 반복 수행하고, 룩업 매치가 발생할 경우에는 룩업 제어부(205)에서 래치하고 있는 포워딩 레이블 테이블(207)의 레이블 정보를 페치한다(409).As a result of the determination in step 408, if a lookup match does not occur, the process returns to step 401 of determining whether to receive information of an IP header to receive the next information, and repeats the loop, and if a lookup match occurs In step 409, the label information of the forwarding label table 207 latched by the lookup control unit 205 is fetched.
그리고, 상기 페치된 레이블 정보를 이용하여 캐쉬 테이블 포인터를 갱신 및 다음 홉으로 전달될 출력 IP 패킷의 IP 헤더 변경을 수행하고(410), 상기 캐쉬 테이블 포인터를 갱신에 해당하는 위치에 IP 주소 캐쉬 엔트리를 추가하고 동시에 캐쉬 레이블 정보도 해당하는 위치에 추가시킨다(411). 이때, 상기 캐쉬 테이블의 영역 모두가 다 사용된 경우에는 가장 오래된 엔트리를 삭제하고 가장 최근의 캐쉬 엔트리를 추가한다.The cache table pointer is updated using the fetched label information and the IP header of the output IP packet to be delivered to the next hop is changed (410), and the IP address cache entry is located at a location corresponding to the update of the cache table pointer. Add and add cache label information to the corresponding location at the same time (411). In this case, when all the regions of the cache table are used up, the oldest entry is deleted and the most recent cache entry is added.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).
이상에서 설명한 본 발명은 진술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.The present invention described above is not limited to the stated 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 evident to those who have knowledge of.
상기와 같은 본 발명은, 전체 포워딩 테이블 룩업에서 일치된 IP 주소 조합을 캐쉬 포워딩 테이블에 구축하여 하나의 IP 패킷에 대한 룩업을 캐쉬 포워딩 테이블과 전체 포워딩 테이블에 대하여 동시에 수행함으로써, 캐쉬 히트가 되지 않은 경우 일반 룩업과 같은 검색 시간이 소요되나 캐쉬 히트가 된 경우에는 보다 빨리 룩업 결과를 얻을 수 있어 IP 패킷에 대하여 포워딩 능력을 향상시킬 수 있는 효과가 있다.In the present invention as described above, by matching IP address combinations in the entire forwarding table lookup in the cache forwarding table, a lookup for one IP packet is simultaneously performed on the cache forwarding table and the entire forwarding table, thereby preventing cache hits. In this case, it takes the same searching time as a normal lookup, but in the case of a cache hit, the lookup result can be obtained faster, thereby improving the forwarding capability of the IP packet.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010051887A KR20030018269A (en) | 2001-08-27 | 2001-08-27 | Apparatus of IP lookup using cache forwarding table in router system, its method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010051887A KR20030018269A (en) | 2001-08-27 | 2001-08-27 | Apparatus of IP lookup using cache forwarding table in router system, its method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030018269A true KR20030018269A (en) | 2003-03-06 |
Family
ID=27721070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010051887A KR20030018269A (en) | 2001-08-27 | 2001-08-27 | Apparatus of IP lookup using cache forwarding table in router system, its method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20030018269A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020067469A (en) * | 2002-07-25 | 2002-08-22 | 크로스반도체기술 주식회사 | System and method for destination address look-up of IP packet |
KR100738544B1 (en) * | 2005-12-27 | 2007-07-11 | 삼성전자주식회사 | apparatus and method of processing forwarding cache entry in duplexing router |
US7590112B2 (en) | 2003-12-27 | 2009-09-15 | Electronics And Telecommunications Research Institute | Packet forwarding apparatus of high speed routing system and routing lookup method using the same |
KR100938003B1 (en) * | 2003-03-19 | 2010-01-21 | 삼성전자주식회사 | Method of routing information management in Multi-protocol Label Switching router and apparatus therefor |
CN114866471A (en) * | 2022-03-25 | 2022-08-05 | 阿里巴巴(中国)有限公司 | Route searching method, device and equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920699A (en) * | 1996-11-07 | 1999-07-06 | Hewlett-Packard Company | Broadcast isolation and level 3 network switch |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
KR20010057772A (en) * | 1999-12-23 | 2001-07-05 | 오길록 | A apparatus for high speed ip header lookup control in mpls label edge router |
KR20010063813A (en) * | 1999-12-24 | 2001-07-09 | 오길록 | High performance forwarding engine for pipeline look-up processing in router system |
JP2001313639A (en) * | 2000-04-27 | 2001-11-09 | Nec Corp | System and method for managing network configuration data and recording medium |
-
2001
- 2001-08-27 KR KR1020010051887A patent/KR20030018269A/en not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920699A (en) * | 1996-11-07 | 1999-07-06 | Hewlett-Packard Company | Broadcast isolation and level 3 network switch |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
KR20010057772A (en) * | 1999-12-23 | 2001-07-05 | 오길록 | A apparatus for high speed ip header lookup control in mpls label edge router |
KR20010063813A (en) * | 1999-12-24 | 2001-07-09 | 오길록 | High performance forwarding engine for pipeline look-up processing in router system |
JP2001313639A (en) * | 2000-04-27 | 2001-11-09 | Nec Corp | System and method for managing network configuration data and recording medium |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020067469A (en) * | 2002-07-25 | 2002-08-22 | 크로스반도체기술 주식회사 | System and method for destination address look-up of IP packet |
KR100938003B1 (en) * | 2003-03-19 | 2010-01-21 | 삼성전자주식회사 | Method of routing information management in Multi-protocol Label Switching router and apparatus therefor |
US7590112B2 (en) | 2003-12-27 | 2009-09-15 | Electronics And Telecommunications Research Institute | Packet forwarding apparatus of high speed routing system and routing lookup method using the same |
KR100738544B1 (en) * | 2005-12-27 | 2007-07-11 | 삼성전자주식회사 | apparatus and method of processing forwarding cache entry in duplexing router |
CN114866471A (en) * | 2022-03-25 | 2022-08-05 | 阿里巴巴(中国)有限公司 | Route searching method, device and equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6665297B1 (en) | Network routing table | |
US6389419B1 (en) | Storing and retrieving connection information using bidirectional hashing of connection identifiers | |
US7069268B1 (en) | System and method for identifying data using parallel hashing | |
US9385957B1 (en) | Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket | |
US20070171911A1 (en) | Routing system and method for managing rule entry thereof | |
US20060133374A1 (en) | Packet exchange device and packet exchange method | |
US20100281051A1 (en) | Bidirectional Data Transfer Optimization And Content Control For Networks | |
US20080225874A1 (en) | Stateful packet filter and table management method thereof | |
CA2311078A1 (en) | Multithreaded address resolution system | |
US20080056262A1 (en) | Approach for fast ip address lookups | |
IL182820A (en) | Double-hash lookup mechanism for searching addresses in a network device | |
JP2000232479A (en) | Route deciding device for router having cache and machine readable recording medium with program | |
JP2006287932A (en) | Method and apparatus for providing network connection table | |
US7277399B1 (en) | Hardware-based route cache using prefix length | |
CN113519144A (en) | Precision match and Ternary Content Addressable Memory (TCAM) hybrid lookup for network devices | |
JPH1198143A (en) | Atm repeater | |
US20040165604A1 (en) | Distributed router with ping-pong preventing function and ping-pong preventing method using the same | |
US7330469B2 (en) | Internet protocol address lookup system and method using three-layer table architecture | |
KR20030018269A (en) | Apparatus of IP lookup using cache forwarding table in router system, its method | |
KR100524035B1 (en) | Packet distributor for distributing IP fragment packets to protocol processors without IP reassembly | |
US20170012874A1 (en) | Software router and methods for looking up routing table and for updating routing entry of the software router | |
US20050207409A1 (en) | Method and apparatus to support a large internet protocol forwarding information base | |
US20230041395A1 (en) | Method and Device for Processing Routing Table Entries | |
CN106416150B (en) | Route query method and network equipment | |
JP4646823B2 (en) | Router device and route determination method in router device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |