KR100310288B1 - High performance forwarding engine for pipeline look-up processing in router system - Google Patents
High performance forwarding engine for pipeline look-up processing in router system Download PDFInfo
- Publication number
- KR100310288B1 KR100310288B1 KR1019990061909A KR19990061909A KR100310288B1 KR 100310288 B1 KR100310288 B1 KR 100310288B1 KR 1019990061909 A KR1019990061909 A KR 1019990061909A KR 19990061909 A KR19990061909 A KR 19990061909A KR 100310288 B1 KR100310288 B1 KR 100310288B1
- Authority
- KR
- South Korea
- Prior art keywords
- lookup
- header
- packet
- atm
- address
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
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/745—Address table lookup; Address filtering
-
- 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/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/112—Switch control, e.g. arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 라우터 시스템에서의 룩업 처리를 위한 포워딩 엔진장치에 관한 것으로, 비동기전달모드(ATM) 기반의 에지 라우터에서 룩업 처리 성능을 최대한 활용할 수 있도록 여러 라인 정합부로 유입되는 ATM 셀에 대한 스케쥴링 및 인터넷프로토콜(IP) 룩업 처리를 파이프 라인으로 수행할 수 있는 포워딩 엔진장치를 제공하고자 하며, ATM 라우터시스템에서의 룩업처리를 위한 포워딩 엔진장치에 있어서, 스위치 정합 제어부는, 다수의 ATM 스위치에 각각 연결되여, 수신된 ATM 셀에서 라우팅 태그를 제거하여, 분리/재결합 제어부로 전달하거나, 이의 역기능을 수행하는 다수개의 스위치 정합수단; 및 다수의 스위치정합수단의 라우팅 태그정보 테이블에 대한 액세스 중재와, 스위치정합수단과 분리/재결합 제어수단 간의 신호 중재를 담당하는 액세스 중재수단을 포함하고 분리/재결합 제어수단은 다수의 스위치정합수단과 일대일 대응되게 연결된 다수의 분리/재결합수단을 포함하고 패킷 메모리 및 패킷 제어부는 다수의 분리/재결합 수단에 대응되게 구비되며 룩업제어부는 다수의 패킷 제어부로부터 수신된 패킷 헤더 정보를 병렬 처리함과 동시에 스케쥴링을 통해 패킷 헤더에 대한 룩업 기능을 수행하며, ATM 기반의 라우터 시스템에 이용됨The present invention relates to a forwarding engine device for lookup processing in a router system. The present invention relates to scheduling and internet access for ATM cells flowing into multiple line matching units to maximize the lookup processing performance in an ATM router based on asynchronous transfer mode. A forwarding engine device capable of performing a protocol (IP) lookup process in a pipeline, and in a forwarding engine device for a lookup process in an ATM router system, switch matching controllers are connected to a plurality of ATM switches, respectively. A plurality of switch matching means for removing a routing tag from a received ATM cell and transferring it to a separation / recombination control unit or performing a reverse function thereof; And access arbitration means for arbitrating access to the routing tag information table of the plurality of switch matching means and for signaling arbitration between the switch matching means and the separation / recombination control means, wherein the separation / recombination control means includes a plurality of switch matching means; It includes a plurality of separation / recombination means connected in a one-to-one correspondence, the packet memory and the packet control unit is provided to correspond to a plurality of separation / recombination means and the look-up control unit while scheduling and simultaneously processing the packet header information received from the plurality of packet control unit It performs lookup function for packet header through and is used for ATM based router system.
Description
본 발명은 라우터 시스템에서의 파이프 라인 룩업 처리를 위한 포워딩 엔진장치에 관한 것으로, 특히 비동기전달모드(ATM) 기반의 에지 라우터에서 룩업 처리 성능을 최대한 활용할 수 있도록 여러 라인 정합부로 유입되는 ATM 셀에 대한 스케쥴링 및 인터넷프로토콜(IP) 룩업 처리를 파이프 라인으로 수행할 수 있는 포워딩 엔진장치에 관한 것이다.The present invention relates to a forwarding engine apparatus for pipeline lookup processing in a router system. In particular, the present invention relates to ATM cells flowing into various line matching units to maximize the lookup processing performance in an ATM router based on asynchronous transfer mode (ATM). The present invention relates to a forwarding engine apparatus capable of performing scheduling and Internet protocol (IP) lookup processing in a pipeline.
도1은 종래의 ATM 기반의 라우터 구조를 나타낸다.1 illustrates a conventional ATM based router structure.
ATM 기반의 라우터는 다수의 ATM 정합장치(101), ATM 스위치 장치(102), 다수의 포워딩 엔진장치(103)를 포함한다. ATM 정합 장치(101)는 ATM 셀을 수신하여 ATM 헤더의 가상채널식별자(VCI)/가상경로식별자(VPI)를 변경하여 포워딩 엔진장치로 전달하는 기능을 수행하며, 포워딩 엔진장치로부터 전달받은 셀을 라인으로 송신하는 기능을 수행한다. 포워딩 엔진장치는 IP 헤더를 찾아내어 룩업 처리를 수행하여 적절한 VCI/VPI를 생성하여 ATM 정합장치(101)로 전달한다. 이와 같은 구조는 ATM 가입자 정합 장치가 차지하는 포트 만큼 포워딩 엔진장치를 각각 두어 부하를 분담하는 구조로 되어 있다.The ATM based router includes a plurality of ATM matching devices 101, an ATM switch device 102, and a plurality of forwarding engine devices 103. The ATM matching device 101 receives an ATM cell, performs a function of changing a virtual channel identifier (VCI) / virtual path identifier (VPI) of an ATM header and transferring the same to a forwarding engine device, and forwards the cell received from the forwarding engine device. It performs the function of transmitting to the line. The forwarding engine apparatus finds an IP header, performs a lookup process, generates an appropriate VCI / VPI, and delivers it to the ATM matching apparatus 101. Such a structure has a structure in which the forwarding engine devices are divided as many as the ports occupied by the ATM subscriber matching device, thereby sharing the load.
도2는 도1에 도시된 종래의 포워딩 엔진장치의 상세 블록 구성도이다.FIG. 2 is a detailed block diagram of the conventional forwarding engine shown in FIG.
종래의 포워딩 엔진장치는 스위치 한 포트를 차지하는 스위치정합제어부(200), 분리 및 재결합(SAR) 제어부(201), 패킷 제어부(202), 룩업 제어부(203), 룩업 수행부(204), 룩업 인덱스 정보 테이블(205), 포워딩 장치 주제어부(206), 라우팅 태그 정보 테이블(207)을 포함한다.The conventional forwarding engine apparatus includes a switch matching controller 200, a separation and recombination (SAR) controller 201, a packet controller 202, a lookup controller 203, a lookup performer 204, and a lookup index that occupy a single port. An information table 205, a forwarding device main controller 206, and a routing tag information table 207.
스위치정합제어부(200)는 스위치로부터의 ATM 셀 정합 기능을 가지며, 스위치로부터 수신되는 셀에 대하여 라우팅 태그를 제거하여, 순수 ATM 셀을 분리 및 재결합(SAR: Segmentation and Reassembly) 제어부(201)로 전달하며, SAR 제어부(201)로부터의 ATM 셀을 전달받아 해당되는 라우팅 태그 정보를 삽입하여 스위치로 전달하는 기능을 수행한다. SAR 제어부(201)는 ATM 셀을 재조립하고 분해하는 기능을 수행하며, 패킷 제어부(202)를 통하여 패킷 메모리에 패킷을 저장하고 읽어 내는 기능을 수행한다. 룩업 제어부(203)는 패킷 제어부(202)로부터 패킷에 대한 정보와 인터넷프로토콜(IP) 패킷 헤더가 포함된 패킷 헤더 영역을 전달받아 룩업 기능을 수행할 수 있도록 헤더 처리를 수행한다. 룩업 수행부(204)는 룩업 제어부(203)로부터 IP 헤더내의 주소를 전달받아 룩업 기능을 수행하여, 해당하는 엔트리의 주소 인덱스를 출력하는 기능을 수행한다. 룩업 인덱스 정보 테이블(205)은 룩업 수행부(204)에서 출력된 주소 인덱스에 해당하는 정보를 저장하는 메모리 영역이다. 라우팅 태그 정보 테이블(207)은 VPI/VCI 인덱스에 해당하는 스위치 출력 포트 정보 및 연결 식별자 정보를 저장하는 메모리이다. 포워딩 장치 주제어부(206)는 포워딩 장치의 전반적인 제어 기능을 수행하며, 테이블 구축, 상태관리 장애 관리 등을 수행한다.The switch matching controller 200 has an ATM cell matching function from a switch, removes a routing tag for a cell received from the switch, and transfers a pure ATM cell to a segment and reassembly (SAR) control unit 201. The terminal receives the ATM cell from the SAR control unit 201 and inserts corresponding routing tag information and transmits the corresponding routing tag information to the switch. The SAR controller 201 performs a function of reassembling and disassembling an ATM cell, and stores and reads a packet in a packet memory through the packet controller 202. The lookup control unit 203 receives the packet header area including the packet information and the Internet protocol (IP) packet header from the packet control unit 202 and performs a header process to perform a lookup function. The lookup performer 204 receives the address in the IP header from the lookup controller 203, performs a lookup function, and outputs an address index of a corresponding entry. The lookup index information table 205 is a memory area for storing information corresponding to the address index output from the lookup performing unit 204. The routing tag information table 207 is a memory that stores switch output port information and connection identifier information corresponding to the VPI / VCI index. The forwarding device main controller 206 performs overall control of the forwarding device, and performs table construction, state management fault management, and the like.
상기와 같은 종래의 포워딩 엔진장치는 하나의 ATM 라인 정합장치로부터 유입되는 IP 패킷에 대하여 고속의 IP 룩업 엔진을 사용할 경우 하나의 패킷에 대한 처리 후, 다음 패킷에 대한 룩업 처리를 해야하므로 룩업 엔진의 효율이 낮다. 즉, 하나의 포워딩 엔진장치에 IP 패킷 수신 정합부(스위치정합제어부, SAR 제어부, 패킷 제어부)가 하나만 존재하여 IP 패킷처리에 룩업 효율을 최대한 활용할 수 없는 문제점이 있다.In the conventional forwarding engine as described above, when a high-speed IP lookup engine is used for an IP packet flowing from one ATM line matching device, a processing of one packet is performed and a lookup process for the next packet is performed. Low efficiency That is, since only one IP packet reception matching unit (switch matching controller, SAR control unit, packet control unit) exists in one forwarding engine device, there is a problem in that lookup efficiency may not be fully utilized in IP packet processing.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 룩업의 효율을 향상시키기 위하여 IP 패킷 송수신부를 여러개 두고, 각 패킷에 대해 우선순위별로 스케쥴링하여 처리하는 파이프 라인 형태로 처리하도록 하여 룩업 처리 성능을 향상시킨 라우터 시스템에서의 파이프 라인 룩업 처리를 위한 포워딩 엔진장치를 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the problems of the prior art as described above, in order to improve the efficiency of the lookup, the IP packet transmission and reception unit is provided, and each packet is processed in the form of a pipeline for scheduling and processing by priority It is an object of the present invention to provide a forwarding engine apparatus for pipeline lookup processing in a router system having improved lookup processing performance.
도1은 종래의 ATM 기반 라우터의 구조도.1 is a structural diagram of a conventional ATM based router.
도2는 종래 라우터 구조에서의 포워딩 엔진장치의 구성도.2 is a configuration diagram of a forwarding engine device in the conventional router structure.
도3은 본 발명이 적용되는 ATM 기반 라우터의 구조도.3 is a structural diagram of an ATM-based router to which the present invention is applied.
도4는 본 발명에 따른 포워딩 엔진장치의 블록 구성도.Figure 4 is a block diagram of a forwarding engine apparatus according to the present invention.
도5는 본 발명에 따른 다수 스위치 정합 제어부의 상세 구성도.5 is a detailed configuration diagram of a multiple switch matching control unit according to the present invention.
도6은 본 발명에 따른 라우팅 태그 정보 테이블 액세스 중재부를 통한 중재 타이밍도.6 is an arbitration timing diagram through a routing tag information table access arbitration unit according to the present invention;
도7은 본 발명에 따른 포워딩 엔진장치의 룩업 제어부의 상세 블록 구성도.Figure 7 is a detailed block diagram of a look-up control unit of the forwarding engine apparatus according to the present invention.
도8은 본 발명에 따른 IP 헤더 스케쥴러의 상세 블록 구성도.8 is a detailed block diagram of an IP header scheduler in accordance with the present invention.
도9는 본 발명에 따른 IP 헤더 스케쥴링 흐름도.9 is an IP header scheduling flowchart according to the present invention.
도10은 본 발명에 따른 파이프 라인 형태의 룩업 처리 과정 타이밍도.10 is a timing diagram of a lookup process in the form of a pipeline according to the present invention;
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
400 : 다수 스위치 정합 제어부 401 : 분리 및 재결합(SAR) 제어부400: multiple switch matching control unit 401: separation and recombination (SAR) control unit
402 : 패킷 제어부 403 : 룩업 제어부402: packet controller 403: lookup controller
404 : 룩업 수행부 405 : 룩업 인덱스정보 테이블404: lookup performing unit 405: lookup index information table
406 : 포워딩 장치 주제어부 407 : 라우팅 태그정보 테이블406: main control unit forwarding unit 407: routing tag information table
상기 목적을 달성하기 위한 본 발명은, 라우팅 태크 정보 테이블과, 상기 라우팅 태크 정보 테이블을 액세스하고, 비동기전달모드(ATM) 스위치와 정합하는 스위치정합제어부와, 수신된 ATM 셀의 분리 및 재결합을 수행하는 분리/재결합 제어부와, 패킷을 저장하는 패킷 메모리와, 상기 패킷 메모리를 제어하는 패킷 제어부와, 룩업인덱스정보 테이블과, 상기 룩업인덱스정보 테이블을 액세스하고, 헤더의 룩업을 제어하는 룩업 제어부와, 상기 룩업 제어부의 요청에 의해 룩업을 수행하는 룩업 수행부와, 포워딩 장치 주제어부를 포함하는 ATM 라우터 시스템에서의 룩업 처리를 위한 포워딩 엔진장치에 있어서, 상기 스위치 정합 제어부는, 상기 다수의 ATM 스위치에 각각 연결되여, 수신된 ATM 셀에서 라우팅 태그를 제거하여, 상기 분리/재결합 제어부로 전달하거나, 이의 역기능을 수행하는 다수개의 스위치 정합수단; 및 상기 다수의 스위치정합수단의 상기 라우팅 태그정보 테이블에 대한 액세스 중재와, 상기 스위치정합수단과 상기 분리/재결합 제어수단 간의 신호 중재를 담당하는 액세스 중재수단을 포함하고, 상기 분리/재결합 제어수단은, 상기 다수의 스위치정합수단과 일대일 대응되게 연결된 다수의 분리/재결합수단을 포함하고, 상기 패킷 메모리 및 상기 패킷 제어부는 상기 다수의 분리/재결합 수단에 대응되게 구비되며, 상기 룩업제어부는, 상기 다수의 패킷 제어부로부터 수신된 패킷 헤더 정보를 병렬 처리함과 동시에 스케쥴링을 통해 상기 패킷 헤더에 대한 룩업 기능을 수행하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a routing tag information table, a switch matching controller for accessing the routing tag information table and matching with an asynchronous transfer mode (ATM) switch, and performing separation and recombination of received ATM cells. A separation / recombination control unit for storing a packet, a packet memory for storing a packet, a packet control unit for controlling the packet memory, a lookup index information table, a lookup index information table, and a lookup control unit for controlling a lookup of a header; In a forwarding engine apparatus for a lookup process in an ATM router system including a lookup performing unit performing a lookup at a request of the lookup control unit and a forwarding device main control unit, the switch matching control unit may be configured to the plurality of ATM switches, respectively. Connected, removes the routing tag from the received ATM cell and forwards it to the separation / recombination control Or, a plurality of switch means for performing a matching thereof dysfunction; And access arbitration means for arbitrating access to said routing tag information table of said plurality of switch matching means and for signal arbitration between said switch matching means and said separation / recombination control means. And a plurality of separation / recombination means connected in a one-to-one correspondence with the plurality of switch matching means, wherein the packet memory and the packet controller are provided to correspond to the plurality of separation / recombination means, and the lookup control unit includes: Parallel processing of the packet header information received from the packet control unit of the control unit and performing a lookup function on the packet header through scheduling.
이하, 첨부된 도3 이하를 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIG. 3.
도3은 본 발명이 적용되는 라우터 시스템의 블록 구성도이다. 도1에서 본 라우터 구조의 포워딩 엔진장치의 성능을 향상시켜 하나의 포워딩 엔진이 다수의스위치 정합 장치에서 수용한 ATM 기반의 IP 패킷을 처리할 수 있도록 다수의 스위치 포트와 연결된 구조를 가진다. 즉, 라우터 시스템은 다수의 ATM 정합장치(301), ATM 스위치 장치(302), 다수의 ATM 정합 장치로부터의 IP 패킷을 처리할 수 있는 성능을 가진 포워딩 엔진장치(303)를 포함한다.3 is a block diagram of a router system to which the present invention is applied. As shown in FIG. 1, the forwarding engine of the router structure improves performance so that a single forwarding engine is connected to a plurality of switch ports to process ATM-based IP packets accommodated by a plurality of switch matching devices. That is, the router system includes a plurality of ATM matching devices 301, an ATM switch device 302, and a forwarding engine device 303 having a capability of processing IP packets from the plurality of ATM matching devices.
도4는 본 발명에 따른 포워딩 엔진장치의 블록 구성도 이다.Figure 4 is a block diagram of a forwarding engine apparatus according to the present invention.
본 발명의 포워딩 엔진장치는 종래의 포워딩 엔진장치와는 다르게, 스위치 정합 제어부(400)가 다수의 스위치 정합 제어부로 구성되고, SAR 제어부(401)도 다수의 SAR 제어부로 구성되며, 패킷 제어부(402)도 각각의 SAR 제어부(401)와 연결된 다수개의 패킷 제어부로 구성된다. 룩업 제어부(403)는 다수의 패킷 제어부(402)로부터 패킷 헤더 정보를 수신하여, 헤더 정보를 병렬 처리하고, 룩업 기능을 내부에서 스케쥴링하여 처리한다.The forwarding engine device of the present invention is different from the conventional forwarding engine device, the switch matching control unit 400 is composed of a plurality of switch matching control unit, the SAR control unit 401 is also composed of a plurality of SAR control unit, the packet control unit 402 ) Is also composed of a plurality of packet control units connected to each SAR control unit 401. The lookup controller 403 receives the packet header information from the plurality of packet controllers 402, processes the header information in parallel, and schedules and processes the lookup function internally.
포워딩 장치 주제어부(406)와 라우팅 태그 정보 테이블(407)과 룩업 수행부(404) 및 룩업인덱스 정보 테이블(405)은 종래의 포워딩 엔진장치의 동작과 동일하다.The forwarding device main controller 406, the routing tag information table 407, the lookup performer 404, and the lookup index information table 405 are the same as those of the conventional forwarding engine device.
도5는 본 발명에 따른 다수의 스위치정합 제어부가 하나의 공통된 라우팅 태그 정보를 액세스하기 위한 다수의 스위치 정합 제어부의 상세 블록 구성도 이다.5 is a detailed block diagram of a plurality of switch matching controllers for accessing a single common routing tag information by a plurality of switch matching controllers according to the present invention.
라우팅 태그 정보테이블 액세스 중재부(501)는 다수의 스위치 정합 제어부(502)가 라우팅 태그 정보테이블(407)을 액세스 할 때, 상호 액세스를 위한 충돌을 방지하기 위해, 중재 기능을 수행한다. 도면에서 505는 각 SAR 제어부(401)로 송수신되는 ATM 셀 흐름을 나타내고, 506은 각 SAR 제어부(401)와 중재를 위한신호 제어를 나타낸다.The routing tag information table access arbitration unit 501 performs an arbitration function to prevent a collision for mutual access when the plurality of switch matching controllers 502 access the routing tag information table 407. In the figure, 505 indicates an ATM cell flow transmitted and received to each SAR control unit 401, and 506 indicates signal control for arbitration with each SAR control unit 401.
라우팅 태그 정보 테이블 중재 방법은 다음과 같다.The routing tag information table arbitration method is as follows.
라우팅 태그 정보 테이블 액세스 중재부(501)는 각 스위치 정합 제어부(502)와 연결된 송수신 분리/재결합(SAR) 제어부와 송신 제어 신호를 감지하여 중재 기능을 수행한다. 즉, 라우팅 태그 정보테이블 액세스 중재부(501)는 각 송신 분리/재결합(SAR) 제어부(401)의 송신준비 상태신호를 감지하여, 시간적인 순서에 의해 신호를 래치시키고, 먼저 래치된 신호에 해당하는 스위치정합 제어부(502)에게 데이터 송신준비 완료신호를 전송하면, 해당하는 SAR 제어부(401)는 스위치 정합 제어부(502)로 하나의 셀을 전송한다. 그 다음 셀 전송 중재는 스위치 정합 제어부의 메모리 액세스 시간 이후에 수행하면 된다. 이와 같은 기능을 시간축에 표현하면 다음과 같다.The routing tag information table access arbitration unit 501 detects a transmission / reception split / recombination (SAR) control unit connected to each switch matching control unit 502 and a transmission control signal to perform an arbitration function. That is, the routing tag information table access arbitration unit 501 senses a transmission ready status signal of each transmission separation / recombination (SAR) control unit 401, latches the signals in a chronological order, and corresponds to the latched signals. When the data transmission preparation completion signal is transmitted to the switch matching control unit 502, the corresponding SAR control unit 401 transmits one cell to the switch matching control unit 502. Cell transmission arbitration may then be performed after the memory access time of the switch matching controller. If this function is expressed in time axis, it is as follows.
도6은 시간축에 대하여 송신 SAR 제어부로부터의 송신 준비 신호 감지와 송신 허용 신호를 발생시키는 시간축 그림이다. 라우팅태그정보테이블 액세스 중재부(501)는 처음으로 감지된 송신준비신호에 대하여 즉시 송신 허용 신호를 발생시키고, 두 번째 감지된 송신준비신호가 셀 헤더 감지 및 라우팅 테이블 액세스 시간(dT) 이내에 감지되면, 이전 송신준비신호 발생 후 dT만큼의 시간이 경과한 뒤에 송신허용신호를 발생시킨다. 이와 같은 방법으로 계속적으로 액세스 중재는 수행된다.6 is a time-axis diagram for generating a transmission ready signal detection and a transmission permission signal from a transmission SAR control unit on the time axis. The routing tag information table access arbitration unit 501 immediately generates a transmission permission signal for the first detected transmission ready signal, and if the second detected transmission ready signal is detected within the cell header detection and routing table access time dT, In this case, the transmission permission signal is generated after dT elapses after the previous transmission preparation signal generation. In this way, access arbitration is continuously performed.
도7은 본 발명에 따른 룩업 제어부의 상세 블록 구성도 이다.7 is a detailed block diagram of a look-up control unit according to the present invention.
룩업 제어부(403)는 각 패킷 메모리 제어부와 각각 연결된 다수개의 IP 헤더처리부(710, 720, 730), IP 헤더 스케쥴러(700), 인덱스 정보 제어부(740)를 포함한다. 그리고, 각 IP 헤더 처리부(710, 720, 730)는 패킷 헤더 저장부, IP 패킷 헤더 추출/검사부, IP 헤더 저장부, IP 헤더 갱신부, 패킷 헤더 송신부를 포함한다.The lookup control unit 403 includes a plurality of IP header processing units 710, 720, and 730, an IP header scheduler 700, and an index information control unit 740 respectively connected to each packet memory controller. Each IP header processing unit 710, 720, and 730 includes a packet header storage unit, an IP packet header extractor / inspector, an IP header storage unit, an IP header update unit, and a packet header transmitter.
룩업 제어부의 헤더 처리 과정은 다음과 같다.The header processing of the lookup controller is as follows.
각 IP 헤더 처리부(710)는 각 패킷 제어부(402)와 연결되어, 패킷 헤더(711)를 수신한다. 이때, 각 패킷 제어기는 패킷 메모리에 하나의 패킷 수신이 완료되면, 바로 IP 헤더 처리부(710)의 패킷 헤더 저장부로 전달한다. 여기서, 패킷 헤더 저장부는 FIFO 형태로 구성되며, 이전 패킷 헤더에 대한 룩업 처리가 완료되지 않은 경우에는 대기하도록 요구한다. 각 IP 헤더 처리부(710) 내의 IP 헤더 추출/검사부에서는 패킷 헤더내의 패킷 유형을 감지하여 헤더 영역을 추출하고, IP 헤더내의 버전, TTL, 체크섬 등의 검사를 수행한다. 만약, 검사 후 에러가 발생되면 포워딩 장치 주제어부(406)로 해당 에러 정보를 알리고, 에러가 발생된 IP 헤더에 대해서는 더 이상의 룩업을 위한 과정을 진행하지 않고 다음 대기 중인 패킷 헤더에 대하여 IP 헤더 추출 및 검사를 수행한다. IP 헤더내에 에러가 발생되지 않으면 IP 헤더 추출/검사부는 IP 목적지 주소와 발신지 주소를 IP 헤더 저장부에 저장하고 룩업을 위한 준비 신호를 설정한다.Each IP header processing unit 710 is connected to each packet control unit 402 to receive a packet header 711. At this time, each packet controller transfers the packet header to the packet header storage unit of the IP header processing unit 710 when one packet reception is completed in the packet memory. Here, the packet header storage unit is configured in a FIFO form, and requests to wait when the lookup process for the previous packet header is not completed. The IP header extracting / checking unit in each IP header processing unit 710 detects the packet type in the packet header, extracts the header area, and checks the version, TTL, checksum, etc. in the IP header. If an error occurs after the test, the forwarding device main control unit 406 notifies the corresponding error information, and extracts the IP header with respect to the next pending packet header without proceeding for further lookup for the IP header where the error occurred. And perform the inspection. If no error occurs in the IP header, the IP header extractor / checker stores the IP destination address and source address in the IP header storage and sets the ready signal for lookup.
IP 헤더 스케쥴러(700)는 IP 헤더 저장부에 설정되어 있는 신호를 감지하여, IP 헤더 저장부내의 IP 주소를 페치하여 룩업 수행부(404)로 전달한다. 이때 다수에서 동시에 룩업 준비 신호를 감지한 경우에는 우선 순위별로 스케쥴링하며, 동일한 우선 순위일 경우 1, 2, 3, ..n의 순서의 라운드 로빈 형태로 수행한다.The IP header scheduler 700 detects a signal set in the IP header storage unit, fetches an IP address in the IP header storage unit, and delivers the IP address to the lookup performer 404. At this time, when a plurality of simultaneous lookup ready signals are detected, scheduling is performed by priority, and when the same priority is performed, the robin is performed in the order of 1, 2, 3, ..n in the order of round robin.
도8은 본 발명에 따른 IP 헤더 스케쥴러의 상세 블록 구성도 이다.8 is a detailed block diagram of an IP header scheduler according to the present invention.
IP 헤더 스케쥴러(700)는 IP 주소 스케쥴러(800), IP 주소 전달부(810), 라운드 로빈 제어부(820), 룩업 타이머(830), 인덱스 정보 페치 및 전달부(840)를 포함한다.The IP header scheduler 700 includes an IP address scheduler 800, an IP address transfer unit 810, a round robin control unit 820, a lookup timer 830, an index information fetch and transfer unit 840.
IP 주소 스케쥴러(800)는 각 포트로부터 입력되는 룩업 준비 신호들을 감지하여 룩업 수행될 포트를 선택하는 기능을 수행한다. IP 주소 전달부(810)는 선택된 포트의 IP 주소를 읽어 룩업 수행부(404)로 전달하는 기능을 수행한다. 다수개의 라운드 로빈 제어부(820)는 스케쥴링 할 때, 라운드 로빈 형태의 스케쥴링이 되도록 우선 순위 카운트를 제어하는 기능을 수행한다. 룩업 타이머(830)는 룩업 단계에 들어간 포트의 진행을 나타내며, 0x01일 때 룩업 및 인덱스 주소 페치 단계, 0x02일 때 인덱스 정보 페치 단계로 구분된다. 인덱스 정보 페치 및 전달부(840)는 인덱스 주소를 입력받아, 그에 대응되는 인덱스 정보를 룩업 인덱스 정보 테이블로부터 읽어 전달한다.The IP address scheduler 800 detects lookup ready signals input from each port and selects a port to be looked up. The IP address transfer unit 810 reads the IP address of the selected port and transfers it to the lookup performer 404. The plurality of round robin control unit 820 performs a function of controlling the priority count so that the round robin type scheduling is performed when scheduling. The lookup timer 830 indicates the progress of the port entering the lookup phase, and is divided into a lookup and an index address fetch step at 0x01, and an index information fetch step at 0x02. The index information fetch and transfer unit 840 receives an index address and reads index information corresponding thereto from the lookup index information table and transmits the index information.
도9는 본 발명에 따른 IP 헤더 스케쥴링 알고리즘을 나타낸다.9 illustrates an IP header scheduling algorithm according to the present invention.
초기에 우선 순위 제어 카운터들에게는 각 포트별 값이 설정된다(901). 우선 순위는 0가 최우선 순위를 가지고, 그 값이 클수록 낮은 우선 순위를 가진다. 패킷 제어부 포트로부터 룩업 준비 신호가 감지되고(902), 그 감지된 룩업 준비신호가 다수개이면(903), 우선순위 포트가 존재하는지 확인한다(904). 룩업준비신호가 하나이거나(903), 우선순위포트가 없는 경우(904)에는 그 포트에 대해 룩업 유효신호를 발생한 다음(909) 룩업 카운터를 구동한다(908). 패킷에 우선 순위가 부여된 경우(904)에는 해당 패킷 제어부의 IP 헤더를 우선적으로 스케쥴링하고 동일한 우선 순위를 가진 룩업준비신호가 다수 있을 때 라운드 로빈 카운트의 값이 작은 패킷 제어부를 우선적으로 선택한다(905, 906). 그리고, 선택된 패킷 제어부의 포트에 해당하는 라운드로빈 카운트 값을 가장 큰 값으로 변경하고, 다른 라운드 로빈 카운트 값들 중에서, 가장 큰 값으로 변경된 라운드 로빈 카운트 값의 이전 카운트 값보다 큰 값을 가지고 있던 라운드 로빈 카운트 값들은 1씩 감소시켜 우선 순위를 한 단계씩 증가시키고, 가장 큰 값으로 변경된 라운드 로빈 카운트 값의 이전 값보다 작은 값을 가지고 있던 카운트 값은 이전 카운트 값을 그대로 유지한다(907). 이때 룩업 진행 신호는 유효한 상태로 되고, 선택된 패킷 제어부의 포트에 해당하는 IP 주소는 읽혀진다. 해당 포트의 유효한 룩업 진행 신호와 룩업 카운트가 동작하여 룩업 진행 상태를 알 수 있다(908). 즉, 룩업 진행 신호가 유효하고 룩업 카운트가 0x00이면 IP 주소 읽는 단계이고 0x01이면 룩업 및 인덱스 주소 페치 단계이며, 0x02일 경우 인덱스 정보 페치 단계로서 룩업 과정이 종료됨을 알린다. 따라서 룩업 과정은 위 세단계의 파이프 라인 형태로 진행될 수 있다.Initially, the priority control counters are set with respective port values (901). Priority has a highest priority of 0, and a higher value has a lower priority. If a lookup ready signal is detected from the packet controller port (902), and if the detected lookup ready signal is plural (903), it is checked whether a priority port exists (904). If there is one lookup ready signal (903) or if there is no priority port (904), a lookup valid signal is generated (909) for that port (908). When a packet is given priority (904), the IP header of the packet controller is scheduled first, and when there are a plurality of lookup ready signals having the same priority, the packet controller having a small round robin count value is preferentially selected. 905, 906). The round robin count value corresponding to the port of the selected packet controller is changed to the largest value, and among other round robin count values, the round robin has a value larger than the previous count value of the round robin count value changed to the largest value. The count values are decremented by 1 to increase the priority step by step, and the count value having a value smaller than the previous value of the round robin count value changed to the largest value maintains the previous count value (907). At this time, the lookup progress signal becomes valid, and the IP address corresponding to the port of the selected packet controller is read. A valid lookup progress signal and a lookup count of the corresponding port may be operated to determine the lookup progress state (908). That is, if the lookup progress signal is valid and the lookup count is 0x00, the IP address is read. If the lookup count signal is 0x01, the lookup and index address fetch phase is 0x02. Therefore, the lookup process may be performed in the form of a pipeline of the above three stages.
도10은 본 발명에 따른 룩업의 파이프 라인 형태의 시간 축에서의 그림을 보여준다. 도면에서 1000은 IP 주소 스케쥴러에서 IP 헤더 스케쥴링이 P1(패킷 제어부 1), P2(패킷 제어부 2), P4(패킷 제어부 4), Pi(패킷 제어부 i), Pk(페킷 제어부 k)로 되었을 경우, IP 주소 읽는 타임 슬롯을 나타내며, 1010은 룩업 수행 및인덱스 주소 페치 단계를 시간축 상에 나타내고 있으며, 이는 IP 주소 읽기 단계 보다 하나의 타임 슬롯이 지연되어 나타난다. 1020은 인덱스 정보 페치 단계를 시간축 상에 나타내고 있다. 따라서 연속적인 주소 룩업이 있을 경우 하나의 타임 슬롯에 서로 다른 패킷에 대한 룩업의 서로 다른 과정을 동시에 수행할 수 있다. 즉, 한 예로 t3 타임에 P4의 IP 주소 읽기 단계와 P2의 룩업 수행 및 인덱스 페치 단계, P1의 인덱스 정보 페치 단계가 동시에 이루어질 수 있다.Figure 10 shows a picture on the time axis in the form of a pipeline of lookup according to the invention. In the drawing, 1000 indicates that the IP header scheduling is P1 (packet controller 1), P2 (packet controller 2), P4 (packet controller 4), Pi (packet controller i), and Pk (packet controller k) in the IP address scheduler. 1010 shows a time slot for reading an IP address, and 1010 shows a lookup performance and an index address fetching step on the time axis, which are delayed by one time slot than the IP address reading step. 1020 illustrates an index information fetch step on the time axis. Therefore, when there are consecutive address lookups, different processes of lookups for different packets may be simultaneously performed in one time slot. That is, for example, at the time t3, an IP address reading step of P4, a lookup and an index fetching step of P2, and an index information fetching step of P1 may be simultaneously performed.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.
상기와 같이 이루어지는 본 발명에 의하면, ATM 기반의 라우터에서 하나의 라우터 장치에 다수의 스위치 포트를 통하여 IP 패킷 셀을 받아들여 각 포트별로 패킷 메모리에 IP 패킷을 병렬로 처리하고 룩업 처리 과정에서 IP 헤더 스케쥴러를 사용하여 우선 순위와 라운드 로빈 형태의 IP 룩업 수행을 하며, 이 과정을 IP 주소 읽기 단계, 룩업 수행 및 인덱스 페치 단계, 인덱스 정보 페치 단계로 구분되어 연속적으로 처리할 경우 서로 다른 IP 주소에 대한 룩업 과정을 파이프 라인 형태로 수행하여 하나의 포워딩 엔진이 가질 수 있는 룩업 수행의 효율 및 처리 성능을 향상시킬 수 있다.According to the present invention made as described above, in an ATM based router, an IP packet cell is received through a plurality of switch ports in one router device, and IP packets are processed in parallel in a packet memory for each port, and an IP header is used in a lookup process. Using the scheduler, IP lookups in the form of priority and round robin are performed, and this process is divided into IP address reading, lookup and index fetching stages, and index information fetching stages. The lookup process may be performed in the form of a pipeline to improve the efficiency and processing performance of the lookup performance that one forwarding engine may have.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990061909A KR100310288B1 (en) | 1999-12-24 | 1999-12-24 | High performance forwarding engine for pipeline look-up processing in router system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990061909A KR100310288B1 (en) | 1999-12-24 | 1999-12-24 | High performance forwarding engine for pipeline look-up processing in router system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010063813A KR20010063813A (en) | 2001-07-09 |
KR100310288B1 true KR100310288B1 (en) | 2001-09-28 |
Family
ID=19629470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990061909A Expired - Fee Related KR100310288B1 (en) | 1999-12-24 | 1999-12-24 | High performance forwarding engine for pipeline look-up processing in router system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100310288B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100437853B1 (en) * | 2000-09-06 | 2004-06-30 | 닛본 덴끼 가부시끼가이샤 | Packet switching equipment and switching control method |
KR100456671B1 (en) * | 2001-11-24 | 2004-11-10 | 주식회사 케이티 | Parallel lookup engine and method for fast packet forwarding in network router |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100383359B1 (en) * | 2000-07-26 | 2003-05-12 | 김종권 | Method for processing data enqueue by using balanced pipelined-heap |
KR20030018269A (en) * | 2001-08-27 | 2003-03-06 | 한국전자통신연구원 | Apparatus of IP lookup using cache forwarding table in router system, its method |
KR100518813B1 (en) * | 2003-02-15 | 2005-10-05 | 삼성전자주식회사 | Packet forwarding system having receive data processor and a method processing thereof |
US20050083937A1 (en) * | 2003-10-15 | 2005-04-21 | Hyesook Lim | IP address lookup method using pipeline binary tree, hardware architecture, and recording medium |
-
1999
- 1999-12-24 KR KR1019990061909A patent/KR100310288B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100437853B1 (en) * | 2000-09-06 | 2004-06-30 | 닛본 덴끼 가부시끼가이샤 | Packet switching equipment and switching control method |
KR100456671B1 (en) * | 2001-11-24 | 2004-11-10 | 주식회사 케이티 | Parallel lookup engine and method for fast packet forwarding in network router |
Also Published As
Publication number | Publication date |
---|---|
KR20010063813A (en) | 2001-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6147999A (en) | ATM switch capable of routing IP packet | |
US7346001B1 (en) | Systems and methods for limiting low priority traffic from blocking high priority traffic | |
US6122279A (en) | Asynchronous transfer mode switch | |
AU693084B2 (en) | Controlled access ATM switch | |
US5790545A (en) | Efficient output-request packet switch and method | |
US8131950B2 (en) | Low latency request dispatcher | |
CA2022798C (en) | Communication switching element and method for transmitting variable length cells | |
US6160811A (en) | Data packet router | |
US7100020B1 (en) | Digital communications processor | |
US5418781A (en) | Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network | |
EP0474429A1 (en) | An asynchronous transfer mode switching arrangement providing broadcast transmission | |
JP2003508967A (en) | Network switch using network processor and method | |
US20020191611A1 (en) | Self-route expandable multi-memory packet switch with distributed scheduling means | |
US6643294B1 (en) | Distributed control merged buffer ATM switch | |
KR100310288B1 (en) | High performance forwarding engine for pipeline look-up processing in router system | |
US6418120B1 (en) | Congestion avoidance mechanism for ATM switches | |
US7142515B2 (en) | Expandable self-route multi-memory packet switch with a configurable multicast mechanism | |
EP0969631A2 (en) | Packet switch system with simplified bus control | |
US7130302B2 (en) | Self-route expandable multi-memory packet switch | |
JPH08331137A (en) | SMDS switching equipment | |
JP3652237B2 (en) | Switching method and apparatus | |
JP3071762B2 (en) | Instantaneous interruption extension system for ATM equipment and ATM switch | |
JPH10271164A (en) | Multicasting method/device | |
KR20000056055A (en) | WAN Line Interface Apparatus | |
KR20030091601A (en) | Circuits for VOQ Block supporting Read and Write of Variable Packet Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
FPAY | Annual fee payment |
Payment date: 20120910 Year of fee payment: 12 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 13 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20140915 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20140915 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |