KR20000058551A - High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems - Google Patents
High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems Download PDFInfo
- Publication number
- KR20000058551A KR20000058551A KR1020000032541A KR20000032541A KR20000058551A KR 20000058551 A KR20000058551 A KR 20000058551A KR 1020000032541 A KR1020000032541 A KR 1020000032541A KR 20000032541 A KR20000032541 A KR 20000032541A KR 20000058551 A KR20000058551 A KR 20000058551A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- dual ring
- packet processor
- forwarding
- traffic
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
- H04L49/352—Gigabit ethernet switching [GBPS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 인터넷 트래픽을 효율적으로 처리하기 위한 이중 링 기반의 고속 라우터 프로세서 구조에 관한 내용으로서, 기존 라우터의 경우 IP를 포워딩하는 계층 3 처리 기능이 시스템 내의 한 곳에만 집중되어 있으므로 포워딩 해야 하는 트래픽이 많을 경우에는 IP 트래픽의 병목 현상, 라우팅 지연 발생 문제와 더불어 라우팅 시스템의 확장성, 및 고가격을 초래하는 문제점을 가지고 있었다. 본 발명은 이러한 문제점을 해결하기 위해 IP 처리 기능을 고집적화 된 하드웨어로 처리하는 방식에 관한 것으로서 고속 라우터의 이중 링 입력포트에서 IP 패킷이 수신될 경우 파서 및 검색 모듈을 통하여 포워딩 정보 테이블을 검색한 후 패킷 변환을 수행한 후 이를 이중 링의 해당 출력 포트로 전달하며, 출력 포트에서는 IP 패킷별 큐에 저장한 후 별도의 IP 패킷 스케쥴러를 통하여 IP 패킷의 QOS에 따라서 IP 패킷을 전달하는 구조를 가지고 있다.The present invention relates to a dual ring-based high-speed router processor architecture for efficiently processing Internet traffic. In the conventional router, since the layer 3 processing function of IP forwarding is concentrated in only one place in the system, there is a large amount of forwarding traffic. In this case, there were problems such as bottlenecks of IP traffic, routing delay, and scalability of the routing system, and high price. In order to solve this problem, the present invention relates to a method of processing IP processing functions using highly integrated hardware. When an IP packet is received from a dual ring input port of a fast router, the forwarding information table is searched through a parser and a search module. After packet conversion, it is transferred to the corresponding output port of the dual ring, and the output port is stored in the queue for each IP packet, and then the IP packet is forwarded according to the QOS of the IP packet through a separate IP packet scheduler. .
Description
본 발명은 인터넷 트래픽을 효율적으로 처리하기 위한 이중 링 기반의 고속 라우터 프로세서 구조 기술 분야에 관한 내용으로서, 기존 라우터의 경우 IP를 포워딩하는 계층 3 처리 기능이 소프트웨어로 처리됨으로 IP 패킷을 포워딩하는 트래픽이 많을 경우 트래픽 병목현상이 발생하여 패킷 처리 시간이 선로의 속도만큼 처리할 수 없는 단점을 가지고 있다.The present invention relates to a technical field of a dual ring-based high-speed router processor architecture for efficiently processing Internet traffic. In the case of a conventional router, since a layer 3 processing function for forwarding IP is processed by software, traffic forwarding an IP packet is In many cases, a traffic bottleneck occurs and packet processing time cannot be processed as fast as a line speed.
기존 라우터에서 발생하는 트래픽 병목현상과 스위칭 성능문제를 해결하기 위하여 IP 포워딩 기능을 하드웨어화 함으로서 IP 패킷을 선로 속도로 고속 처리 할 수 있도록 하는 구조 제안이 본 발명이 이루고자 하는 기술적 과제이다.In order to solve the traffic bottlenecks and switching performance problems occurring in the existing routers, a structure proposal for hardware processing of an IP packet at a line speed by hardwareizing an IP forwarding function is a technical problem to be achieved by the present invention.
제 1 도는 이중 링 기반 계층 3 라우터를 이용한 고속 IP 패킷 프로세서 블록도Fig. 1 is a block diagram of a high speed IP packet processor using a dual ring based layer 3 router.
제 2 도는 ATM 기반 계층 3 라우터의 기능 블록도2 is a functional block diagram of an ATM based layer 3 router
〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>
1 RIB :Routing Information Block1 RIB: Routing Information Block
2 DMA :Direct Memory Access2 DMA: Direct Memory Access
3 FIB :Forwarding Information Block3 FIB: Forwarding Information Block
4 COS :Class Of Service4 COS: Class Of Service
5 SGRAM :Synchronous Graphic Random Access Memory5 SGRAM: Synchronous Graphic Random Access Memory
6 SDRAM :Synchronous Dynamic Random Access Memory6 SDRAM: Synchronous Dynamic Random Access Memory
7 LPM :Longest Prefix Matching7 LPM: Longest Prefix Matching
도 1 은 본 발명의 대상인 이중 링 기반 IP 패킷 프로세서(115)의 전체 기능 블록을 나타낸 것이다. 이중 링 기반 IP 패킷 프로세서(115)의 라우팅 테이블의 초기화나 갱신 등을 수행하는 라우팅 프로토콜 수행은 실시간 처리를 할 필요가 없으므로 별도의 32 비트 범용 프로세서(116)를 통하여 수행하며 본 발명에서는 MPC860 프로세서를 사용하였다. 범용 프로세서(116)는 이중 링 기반 IP 패킷 프로세서(115)로 수신되는 IP 패킷의 Next-Hop 정보를 나타내는 RIB를 라우팅 프로토콜 수행을 통하여 생성한 후 CPU 접속부(101)를 통하여 RIB 정보를 이중 링 기반 IP 패킷 프로세서(115)로 전달한다. 이때 프로세서(116)과 이중 링 기반 IP 패킷 프로세서(115) 간의 통신은 고속으로 해당 정보를 전송하기 위해 DMA 방식을 사용한다. 따라서 CPU 접속부(101)는 범용 프로세서(116)과의 고속 데이터 전달을 위하여 DMA 기능 또한 수행함을 알 수 있다. 이중 링 기반 IP 패킷 프로세서(115)로 전달되어진 RIB는 하드웨어적인 고속 IP 포워딩을 수행하기 위한 IP 검색 테이블 형태인 FIB로 저장되며 이러한 FIB 정보는 검색 엔진(104)과 파싱 엔진(106)으로 각각 전달된다.1 shows the overall functional block of a dual ring based IP packet processor 115 of the present invention. Since the routing protocol for initializing or updating the routing table of the dual ring-based IP packet processor 115 does not need to be processed in real time, it is performed through a separate 32-bit general purpose processor 116. Used. The general purpose processor 116 generates a RIB indicating Next-Hop information of the IP packet received by the dual ring-based IP packet processor 115 through the routing protocol, and then uses the dual ring-based RIB information through the CPU connection 101. Forward to IP packet processor 115. At this time, the communication between the processor 116 and the dual ring-based IP packet processor 115 uses a DMA scheme to transmit the corresponding information at high speed. Accordingly, it can be seen that the CPU connection unit 101 also performs a DMA function for high-speed data transfer with the general purpose processor 116. The RIB delivered to the dual ring-based IP packet processor 115 is stored as an FIB, which is an IP lookup table for performing hardware fast IP forwarding, and the FIB information is forwarded to the search engine 104 and the parsing engine 106, respectively. do.
이중 링 기반 IP 패킷 프로세서(115)의 이중 링 접속부(110)는 이중 링 전송 특성을 만족하는 계층 2 패스트 이더넷 또는 기가비트 이더넷 스위치 장치와 IP 패킷을 송수신하는 기능을 수행한다. 이중 링 기반 IP 패킷 프로세서(115)는 이러한 계층 2 패스트 이더넷 또는 기가비트 이더넷 스위치 장치를 최대 4개까지 지원한다. 이중 링 접속부(110)는 이중 링 출력부와 이중 링 입력부로 구성되며 이중 링 출력부는 출력 큐 제어부(112)의 제어를 통하여 라우팅 된 IP 패킷을 이중 링으로 전송하는 기능을 수행한다. 출력 큐 제어부(112)는 이중 링 기반 IP 패킷 프로세서(115)를 통하여 라우팅 되는 IP 패킷의 COS와 우선순위에 따라 이중 링으로 전송하는 기능을 수행한다. 이중 링 기반 IP 패킷 프로세서(115)의 출력 큐 제어부(112)는 총 4 개의 우선 순위를 제공하며 우선 순위에 따라서 IP 패킷을 전달하거나 또는 고정 순위에 따라서 IP 패킷을 전달하는 기능을 수행한다. 이중 링 기반 IP 패킷 프로세서(115)의 이중 링 제어부(111)는 이중 링 스위치 장치간에 데이터를 효과적으로 송수신하기 위해 제어 정보를 송수신 하는 기능을 수행한다. 특히 본 발명에서는 단일 링 버스에서 발생할 수 있는 과부하를 방지하기 위해 이중 링을 통하여 부하를 분산(Load Balancing) 하여 계층 2 패스트 이더넷 또는 기가비트 이더넷 스위치 장치 간의 최대한의 전달 대여폭을 지원한다. 또한 이중 링 제어부는 하나의 링에서 오류가 발생하였을 경우에 오류를 복구하는 기능을 수행하며 이러한 오류 복구를 통해서도 복구가 되지 않는 오류가 링에 발생하였을 경우에는 해당 링의 모든 트래픽을 다른 링으로 돌리기 위한 제어정보를 송신하는 기능 또한 수행한다.The dual ring connection unit 110 of the dual ring-based IP packet processor 115 performs a function of transmitting and receiving an IP packet with a Layer 2 Fast Ethernet or Gigabit Ethernet switch device satisfying the dual ring transmission characteristic. The dual ring-based IP packet processor 115 supports up to four such Layer 2 Fast Ethernet or Gigabit Ethernet switch devices. The dual ring connection unit 110 includes a dual ring output unit and a dual ring input unit, and the dual ring output unit performs a function of transmitting the routed IP packet to the dual ring under the control of the output queue controller 112. The output queue controller 112 performs a function of transmitting to the dual ring according to the COS and priority of the IP packet routed through the dual ring-based IP packet processor 115. The output queue control unit 112 of the dual ring-based IP packet processor 115 provides a total of four priorities and delivers IP packets according to priorities or IP packets according to fixed priorities. The dual ring controller 111 of the dual ring-based IP packet processor 115 performs a function of transmitting and receiving control information to effectively transmit and receive data between the dual ring switch devices. In particular, the present invention supports the maximum transfer rental width between Layer 2 Fast Ethernet or Gigabit Ethernet switch devices by load balancing through a double ring to prevent overload that may occur in a single ring bus. In addition, the dual ring control unit recovers an error in the case of an error in one ring. When an error occurs in the ring that cannot be recovered through such error recovery, all the traffic in the ring is diverted to another ring. It also performs the function of transmitting the control information for.
이중 링 기반 IP 패킷 프로세서(115)의 패킷 입출력 제어부(109)는 계층 2 패스트 이더넷 또는 기가비트 이더넷 스위치 장치들로부터 수신된 IP 패킷을 COS와 우선순위에 따라 정렬하는 기능을 수행한다. 이를 위해 패킷 입출력 제어부(109)는 4 개의 64 바이트 입력 큐를 갖고 있으며 해당 우선 순위에 따라 적절한 큐에 프레임을 저장하는 기능을 수행한다. IP 패킷은 이중 링 기반 IP 패킷 프로세서(115)의 메모리 서버(107)와 메모리 제어부(108)를 통하여 SGRAM(113)에 저장된다. 본 발명에서는 2 개의 8M 바이트로 구성된 SGRAM을 사용하였다. 패킷 입출력 제어부(109)는 수신된 프레임이 에러가 없는 정확한 프레임인 경우에는 해당 프레임의 캐쉬 엔트리를 생성하기 위한 헤더를 생성한다. 또한 패킷 입출력 제어부(109)는 특정 우선순위의 큐가 가득 찬 경우에 계층 2 패스트 이더넷 또는 기가비트 이더넷 스위치 장치들로 데이터 송신을 보류할 것을 명령하는 Back-Pressure 프레임을 이중 링 제어부(111)를 통하여 전달한다. 또한 패킷 입출력 제어부(109)는 IEEE 802.1q 태깅(tagging) 선택 사항이 활성화 된 경우, 모든 수신 프레임에 대해 태깅을 수행하는 기능 또한 아울러 제공한다.The packet input / output controller 109 of the dual ring-based IP packet processor 115 performs a function of sorting IP packets received from Layer 2 Fast Ethernet or Gigabit Ethernet switch devices according to COS and priority. To this end, the packet input / output control unit 109 has four 64-byte input queues and stores a frame in an appropriate queue according to the priority. The IP packet is stored in the SGRAM 113 through the memory server 107 and the memory controller 108 of the dual ring-based IP packet processor 115. In the present invention, an SGRAM consisting of two 8M bytes is used. If the received frame is a correct frame without errors, the packet input / output controller 109 generates a header for generating a cache entry of the frame. In addition, the packet input / output control unit 109 transmits a back-pressure frame to the layer 2 fast Ethernet or gigabit Ethernet switch devices through the dual ring control unit 111 when the queue of a specific priority is full. To pass. In addition, the packet input / output controller 109 also provides a function of performing tagging for all received frames when the IEEE 802.1q tagging option is activated.
이중 링 기반 IP 패킷 프로세서(115)의 메모리 서버(107)는 프레임 버퍼인 SGRAM(113)의 메모리를 할당하고 제어하는 기능을 수행한다. 메모리 서버는 이중 링 기반 IP 패킷 프로세서(115)의 여러 내부 엔진들간의 메모리 요구를 효과적으로 제어함으로 해서 물리적으로는 하나의 포트를 갖는 메모리이지만 가상적으로 여러 개의 입출력 포트를 갖는 메모리처럼 구현하는 것이 메모리 서버(107)의 기능이다. 본 발명에서 메모리 서버는 논리적으로 48 개의 포트를 지원한다. 또한 논리적인 포트의 개수와 상관없이 각각의 포트에서는 4 개의 우선순위 송수신 또한 메모리 서버(107)에 의해 제공된다.The memory server 107 of the dual ring-based IP packet processor 115 performs a function of allocating and controlling the memory of the SGRAM 113 which is a frame buffer. The memory server effectively controls the memory demands between the various internal engines of the dual ring-based IP packet processor 115, so that the memory server is implemented as a memory having one port but virtually several input / output ports. 107 is a function. In the present invention, the memory server logically supports 48 ports. In addition, regardless of the number of logical ports, four priorities are also provided by the memory server 107 at each port.
이중 링 기반 IP 패킷 프로세서(115)의 파싱 엔진(106)은 메모리 서버(107)로부터 수신된 모든 프레임에 대해 미리 정해진 필드 값을 분석하는 기능을 수행한다. 본 발명에서는 IP 버전 4의 헤더 값을 키 필드로 정하였고 이에 대해서만 파싱 기능을 수행한다. 파싱 엔진은 해당 필드의 분석을 통하여 얻어진 값을 이중 링 기반 IP 패킷 프로세서(115)의 검색 엔진(104)으로 전달하여 검색된 결과를 얻는다. 이를 통하여 파싱 엔진은 해당 프레임을 이중 링 기반 IP 패킷 프로세서(115)의 내부 엔진으로 전달하는 기능을 수행한다.The parsing engine 106 of the dual ring based IP packet processor 115 performs the function of analyzing a predetermined field value for every frame received from the memory server 107. In the present invention, the header value of the IP version 4 is set as a key field, and only the parsing function is performed. The parsing engine passes the value obtained through the analysis of the corresponding field to the search engine 104 of the dual ring-based IP packet processor 115 to obtain the searched result. Through this, the parsing engine delivers the frame to the internal engine of the dual ring-based IP packet processor 115.
이중 링 기반 IP 패킷 프로세서(115)의 모든 프레임 흐름은 상기한 바와 같이 특정 필드 값으로 검색이 가능한 데이터 베이스로 구축이 되어진다. 이러한 데이터 베이스는 계층 2와 계층 3의 필드 값으로 구성되는데 본 발명에서는 계층 3 뿐만 아니라 계층 2의 키 필드 값도 검색에 사용될 수 있으며 이러한 검색 기능을 효과적으로 수행하는 부분이 검색 엔진(104)이다. 이중 링 기반 IP 패킷 프로세서(115)의 검색 엔진(104)의 주된 기능은 프레임 플로우에 해당하는 색인(Descriptor) 할당의 관리에 있다. 또한 이러한 색인 데이터 베이스와 관련된 모든 정보는 메모리 제어부(105)를 통해 SDRAM(114)에 저장된다. 따라서 메모리 제어부(105)는 SDRAM의 초기화 및 고속 송수신을 위한 모든 기능 및 인터페이스를 제공한다. 또한 각각의 색인 엔트리에 대해서 일정 시간 동안 사용되지 않은 엔트리에 대해서 삭제를 수행하는 기능 또한 검색엔진(104)에서 수행한다.All frame flows of the dual ring-based IP packet processor 115 are constructed as a database that can be searched with a specific field value as described above. Such a database is composed of layer values of layer 2 and layer 3. In the present invention, not only layer 3 but also key field values of layer 2 can be used for searching, and the search engine 104 effectively performs such a search function. The main function of the search engine 104 of the dual ring based IP packet processor 115 is in the management of the Descriptor assignment corresponding to the frame flow. In addition, all information related to such an index database is stored in the SDRAM 114 through the memory controller 105. Therefore, the memory controller 105 provides all functions and interfaces for initializing the SDRAM and transmitting and receiving the high speed data. In addition, the search engine 104 also performs a function of deleting an entry that has not been used for a certain time for each index entry.
기존 라우터의 경우 IP를 포워딩하는 계층 3 처리 기능이 시스템 내의 한 곳에서 소프트웨어로 처리됨으로 IP 패킷을 포워딩하는 트래픽이 많을 경우 트래픽 병목현상이 발생하여 패킷 처리 시간이 선로의 속도를 따라 갈 수 없는 단점을 가지고 있다. 본 특허에서는 기존 라우터에서 발생하는 트래픽 병목현상과 스위칭 성능문제를 해결하기 위하여 IP 포워딩 기능을 고집적화 된 하드웨어를 통해 수행함에 있어서 IP 패킷을 고속으로 처리 할 수 있도록 하였다.In case of the existing router, the Layer 3 processing function that forwards IP is processed by software in one place in the system, so when there is a lot of traffic forwarding IP packets, a traffic bottleneck occurs and packet processing time cannot go along the speed of the line Have In this patent, in order to solve the traffic bottleneck and switching performance problem in the existing router, IP forwarding can be performed at high speed in performing the IP forwarding function through highly integrated hardware.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000032541A KR20000058551A (en) | 2000-06-08 | 2000-06-08 | High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000032541A KR20000058551A (en) | 2000-06-08 | 2000-06-08 | High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000058551A true KR20000058551A (en) | 2000-10-05 |
Family
ID=19671866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000032541A KR20000058551A (en) | 2000-06-08 | 2000-06-08 | High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000058551A (en) |
-
2000
- 2000-06-08 KR KR1020000032541A patent/KR20000058551A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221972B1 (en) | Methods and systems for increasing fairness for small vs large NVMe IO commands | |
US6731652B2 (en) | Dynamic packet processor architecture | |
US6650642B1 (en) | Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer | |
US6683885B1 (en) | Network relaying apparatus and network relaying method | |
JP3640299B2 (en) | A proposal and response architecture for route lookup and packet classification requests | |
US9727508B2 (en) | Address learning and aging for network bridging in a network processor | |
US8799507B2 (en) | Longest prefix match searches with variable numbers of prefixes | |
CN100438481C (en) | Packet processing device | |
US9755947B2 (en) | Hierarchical self-organizing classification processing in a network switch | |
KR100624681B1 (en) | Apparatus and method for combining forwarding tables in a distributed architecture router | |
EP1821469B1 (en) | A network processor | |
CN101267399B (en) | Packet forward method, device and its uplink interface board | |
US20080240103A1 (en) | Three-port ethernet switch with external buffer | |
US6658003B1 (en) | Network relaying apparatus and network relaying method capable of high-speed flow detection | |
CN108833299A (en) | A large-scale network data processing method based on reconfigurable switching chip architecture | |
US8996724B2 (en) | Context switched route look up key engine | |
US7830892B2 (en) | VLAN translation in a network device | |
JP3711965B2 (en) | IP flow multi-stage hash device, IP flow multi-stage hash method, IP flow multi-stage hash program, and recording medium thereof | |
US6671277B1 (en) | Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control | |
Ding et al. | A split architecture approach to terabyte-scale caching in a protocol-oblivious forwarding switch | |
US7324438B1 (en) | Technique for nondisruptively recovering from a processor failure in a multi-processor flow device | |
JP3645733B2 (en) | Network relay device and network relay method | |
JP2000312225A (en) | Packet relay device | |
KR20000058551A (en) | High-Speed IP Packet Processor for Dual Ring-Based Layer 3 Switching Systems | |
CN106936728A (en) | A kind of fixed delay control method of industrial ethernet switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20000608 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20020131 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20020625 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20020131 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |