KR100431206B1 - Table management methode for distributed forwarding in high speed router - Google Patents
Table management methode for distributed forwarding in high speed router Download PDFInfo
- Publication number
- KR100431206B1 KR100431206B1 KR10-2002-0025789A KR20020025789A KR100431206B1 KR 100431206 B1 KR100431206 B1 KR 100431206B1 KR 20020025789 A KR20020025789 A KR 20020025789A KR 100431206 B1 KR100431206 B1 KR 100431206B1
- Authority
- KR
- South Korea
- Prior art keywords
- forwarding
- line card
- processor
- routing
- entry
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000007726 management method Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000012508 change request Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012217 deletion Methods 0.000 description 18
- 230000037430 deletion Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000003672 processing method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000003993 interaction Effects 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/54—Organization of routing tables
-
- 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/44—Distributed routing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 고속라우터에서 라우터의 성능을 향상시키기 위하여, 다수의 라인카드의 분산 포워딩을 위해 각 라인카드별 포워딩 테이블을 구축하고, 분산된 테이블간의 효율적인 포워딩 데이터 일치성을 지원하여, 라우팅 정보의 변화에 민감하게 포워딩 정보를 반영케 하므로 시스템의 전반적인 성능을 향상시킬 수 있는 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법에 관한 것으로, 본 발명은 라우팅 프로세서와 다수의 라인카드 프로세서간에 IPC 통신 채널을 구축하고, 라우팅 프로세서에서 IP 주소 구성 정보에 근거하여 라우팅 프로세서내 포워딩 테이블을 생성하고, 생성된 포워딩 엔트리를 IPC 채널을 통해 다수 라인카드 인터페이스에 전달하여, 라우팅 프로세서 및 라인카드 프로세서에 포워딩 테이블을 형성한 후, 라우팅 엔트리의 추가/변경/삭제시, 해당 라우팅 엔트리를 포워딩 엔트리로 변경하고 변경된 포워딩 엔트리를 다수 라인카드 프로세서에 IPC 방송(broadcasting) 방식으로 전달함에 의해 포워딩 엔트리들이 일치되도록 하는 것이다.The present invention establishes a forwarding table for each line card for distributed forwarding of a plurality of line cards in order to improve the performance of a router in a high-speed router, supports efficient forwarding data matching between distributed tables, and changes in routing information. The present invention relates to a table management method for distributed forwarding in a high-speed router that can improve the overall performance of a system because it is sensitive to the forwarding information. The present invention provides an IPC communication channel between a routing processor and a plurality of line card processors. After the routing processor generates the forwarding table in the routing processor based on the IP address configuration information, forwards the generated forwarding entries to the multiple line card interfaces through the IPC channel, forms a forwarding table in the routing processor and the line card processor. , Add routing entry / When changing / deleting, the forwarding entries are matched by changing the corresponding routing entry into a forwarding entry and delivering the changed forwarding entry to a plurality of line card processors by IPC broadcasting.
Description
본 발명은 고속 라우터 시스템에서의 분산 포워딩 처리에 관한 것으로, 보다 상세하게는 IPC(Interprocess communication)기법을 적용하여 분산된 포워딩 정보를 구축하고 분산된 테이블간의 효율적인 포워딩 데이터 일치성을 지원하여 라우팅성능의 향상을 도모한 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법에 관한 것이다.The present invention relates to distributed forwarding processing in a high-speed router system, and more particularly, to implement distributed forwarding information by applying an interprocess communication (IPC) technique, and to support efficient forwarding data correspondence between distributed tables to improve routing performance. The present invention relates to a table management method for distributed forwarding in a high speed router.
도 1은 고속 라우터 시스템(100)의 물리적 구성을 개략적으로 나타낸 블럭도로서, 주로 라우팅 테이블을 관리하는 라우팅 프로토콜을 처리하며, 전반적인 라우팅 제어기능을 담당하는 라우팅 프로세서(Routing Processor, 이하 RP라 한다)(101)와, 망이나 호스트와 연결되는 포트를 가지며, 주로 외부 인터페이스 기능을 담당하며, 최대 N개까지 확장이 가능한 다수의 라인카드(Linecard Processor, 이하 LP라 한다)(102)와, 라우팅 프로세서(101)와 다수의 라인카드(102)들 간을 연결하여 상호 통신을 가능케 하는 스위치(103)로 구성된다.FIG. 1 is a block diagram schematically illustrating a physical configuration of a fast router system 100. The routing processor mainly handles a routing protocol for managing a routing table and is responsible for an overall routing control function. (101), a number of line cards (hereinafter referred to as LP) 102 having a port connected to a network or a host, mainly serving as an external interface, and expanding up to N, and a routing processor It consists of a switch 103 for connecting the 101 and the plurality of line cards 102 to enable mutual communication.
상기 라인카드(102)의 인터페이스 포트는 LAN(Local Area Network) 및 WAN(Wide Area Network) 인터페이스를 제공하므로 다른 라우터(104)나 호스트(106)가 물리적으로 직접 연결가능하며, 워크스테이션 서버(105)가 LAN 형태로도 연결될 수 있다.The interface port of the line card 102 provides a local area network (LAN) and a wide area network (WAN) interface, so that another router 104 or a host 106 can be physically connected directly to the workstation server 105. ) Can also be connected in the form of LAN.
이런 고속 라우터 시스템에서 데이터 처리에 대한 병목현상을 해결하여 라우팅 성능을 향상 시키려는 한 방법으로 제안된 것이, 분산된 다수의 라인카드에서 독립적 및 병렬적으로 포워딩을 수행하도록 하는 분산 포워딩 방법이다.As a way to improve the routing performance by solving the bottleneck of data processing in such a high-speed router system is a distributed forwarding method to perform forwarding independently and in parallel in a plurality of distributed line cards.
이 분산 포워딩 처리를 위해서는 각 라인카드에 동일한 포워딩 테이블을 구축해주어야 하며, 라우터가 동작되는 동안 실시간으로 N-copy인 포워딩 정보가 유지되어야만 한다.For this distributed forwarding process, the same forwarding table must be built on each line card, and N-copy forwarding information must be maintained in real time while the router is operating.
이를 구현하기 위하여, 종래에는 포워딩 테이블을 모든 포워딩 기능에 분배하는 것이 아니라 모든 포워딩 기능에서 접근할 수 있는 별도의 기억저장영역에 저장하여 다수의 라인카드에서 이를 함께 참조하는 방식을 사용하였는데, 이는 여러 개의 포워딩 기능이 물리적으로 독립된 구조에서는 사용할 수 없다는 단점이 있다.In order to implement this, conventionally, the forwarding table is not distributed to all forwarding functions, but is stored in a separate storage storage area accessible to all forwarding functions, and a plurality of line cards are referred to together. The disadvantage is that the four forwarding functions cannot be used in a physically independent structure.
또 다른 방법으로 여러 개의 포워딩 기능을 분리하였으나, 이는 특정 장치의 구조에 한정된 기술이고, 라우팅 프로세서에 있는 포워딩 테이블에 주로 집중되어 있으므로 라인카드들이 참조하기 위해서는 복잡성을 피할 수 없었다.Another method is to separate several forwarding functions, but this is a technology specific to the structure of a particular device, and is mainly focused on the forwarding table in the routing processor, so the complexity of the line cards is inevitable.
본 발명은 상기와 같은 문제점을 해소하기 위하여 제안된 것으로서, 그 목적은 IPC 통신 기법을 적용하여 라우터의 포워딩 기능을 실현하므로 분산된 포워딩 정보를 구축하고 분산된 테이블간의 효율적인 포워딩 데이터 일치성을 지원하여 망 전체의 성능을 개선할 수 있는 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법을 제공하는데 있다.The present invention has been proposed to solve the above problems, and its purpose is to realize the forwarding function of the router by applying the IPC communication method, thereby establishing distributed forwarding information and supporting efficient forwarding data matching between the distributed tables. It is to provide a table management method for distributed forwarding in a high-speed router that can improve the performance of the entire network.
본 발명의 또 다른 목적은 IPC 기법을 이용하여 분산 포워딩 기능을 실현하고 그에 따른 각 라인카드에서 분산된 포워딩 정보를 초기화하는 절차 및 라우팅 엔트리의 변경사항에 따른 포워딩 엔트리의 추가, 삭제, 변경하여 라우팅 정보의 변화에 민감하게 포워딩 정보를 반영케 하므로 시스템의 전반적인 성능을 향상시킨 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법을 제공하는데 있다.It is still another object of the present invention to realize a distributed forwarding function using an IPC scheme and to initialize the forwarding information distributed in each line card and to add, delete and change the forwarding entry according to the change of the routing entry. It is to provide table management method for distributed forwarding in high speed router that improves overall performance of system because it reflects forwarding information sensitive to change of information.
또한, 본 발명의 목적은 고속 라우터에서 포워딩의 성능을 향상시키기 위하여 분산 포워딩시 요구되는 N-Copy인 분산 포워딩 정보인 분산 포워딩 테이블과 인접 테이블 정보를 효율적으로 일치화 시켜주는 IPC(Inter-Processor Communication)통신 기법을 적용하여 응용 프로그램의 편의성을 제공함으로써, 고속 포워딩을 가능케 한 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법을 제공하는데 있다.In addition, an object of the present invention is IPC (Inter-Processor Communication) to efficiently match the distributed forwarding table and the neighbor table information, which is distributed forwarding information, which is N-Copy required for distributed forwarding in order to improve the performance of forwarding in a high-speed router By applying a communication technique to provide convenience of an application program, a method of managing a table for distributed forwarding in a high-speed router that enables high-speed forwarding is provided.
도 1은 고속라우터 시스템의 물리적 구성도이다.1 is a physical diagram of a high speed router system.
도 2는 고속 라우터에서 본 발명에 따라 분산 포워딩 처리 구조를 보인 블럭구성도이다.2 is a block diagram showing a distributed forwarding processing structure according to the present invention in a high-speed router.
도 3은 본 발명에 있어서 라우팅 및 포워딩 테이블 관리를 위한 IPC 포맷 구조도이다.3 is a diagram illustrating routing and forwarding table management in the present invention. IPC format structure diagram.
도 4는 본 발명에 있어서 포워딩 테이블 구축을 위한 포워딩 관리자와 인터페이스 블록들 간의 상호작용도를 나타낸 모식도이다.4 is a schematic diagram showing an interaction diagram between a forwarding manager and interface blocks for building a forwarding table according to the present invention.
도 5는 본 발명에 의한 분산 포워딩 처리 방법에 있어서 라우팅 프로세서의 포워딩 관리자 초기화 절차를 나타낸 플로우챠트이다.5 is a diagram illustrating a routing processor in the distributed forwarding processing method according to the present invention; This flowchart shows the forwarding manager initialization procedure.
도 6은 본 발명에 의한 분산 포워딩 처리 방법에 있어서 라인카드의 포워딩 테이블의 초기화 요구 처리 절차(RP측)를 보인 플로우챠트이다.Fig. 6 is a flowchart showing the initialization request processing procedure (RP side) of the forwarding table of the line card in the distributed forwarding processing method according to the present invention.
도 7은 본 발명에 의한 분산 포워딩 처리 방법에 있어서 라인카드의 포워딩 테이블의 초기화 절차(LP측)를 보인 플로우챠트이다.7 is a flowchart showing the initialization procedure (LP side) of the forwarding table of the line card in the distributed forwarding processing method according to the present invention.
도 8은 본 발명에 의한 분산 포워딩 처리 방법에 있어서 라우팅 엔트리 추가/삭제/변경에 따른 포워딩 관리자의 포워딩 엔트리 추가/삭제/변경 절차(RP측)를 나타낸 플로우챠트이다.8 is a diagram illustrating a forwarding manager according to routing entry addition / deletion / change in the distributed forwarding processing method according to the present invention. This is a flowchart showing the forwarding entry addition / deletion / change procedure (RP side).
도 9는 본 발명에 의한 분산 포워딩 처리 방법에 있어서 라우팅 엔트리 추가/삭제/변경에 따른 라인카드 프로세스의 포워딩 엔트리 추가/삭제/변경 절차(LP 측)를 나타낸 플로우챠트이다.9 is a diagram illustrating a line card process according to routing entry addition / deletion / change in the distributed forwarding processing method according to the present invention. This is a flowchart showing a forwarding entry addition / deletion / change procedure (LP side).
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
201 : 포워딩 관리자 202 : 포워딩테이블201: forwarding manager 202: forwarding table
203 : 시스템 관리자 204 : 인터넷프로토콜(IP)203 System Administrator 204 Internet Protocol (IP)
205 : ARP 206 : 버스205: ARP 206: Bus
207 : 라인카드프로세서(LP) 208 : 인접테이블207: line card processor (LP) 208: adjacent table
209 : 포워딩테이블 210 : ICMP209: Forwarding Table 210: ICMP
211 : 스위치 212 : 외부 망(network)211 switch 212 external network
상술한 본 발명의 목적을 달성하기 위한 구성수단으로서, 하나의 라우팅 프로세서와, 다수개의 라인카드 프로세서를 포함하는 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법에 있어서,In order to achieve the above object of the present invention, there is provided a table management method for distributed forwarding in a high-speed router including one routing processor and a plurality of line card processors.
라우팅 프로세서와 다수의 라인카드 프로세서간에 IPC 통신 채널을 구축하는 제1단계;A first step of establishing an IPC communication channel between a routing processor and a plurality of line card processors;
라우팅 프로세서에서 IP 주소 구성 정보에 근거하여 라우팅 프로세서내 포워딩 테이블을 생성하고, 생성된 포워딩 엔트리를 IPC 채널을 통해 다수 라인카드 인터페이스에 전달하여, 라우팅 프로세서 및 라인카드 프로세서에 포워딩 테이블을 형성하는 제2단계;A second step in which the routing processor generates a forwarding table in the routing processor based on the IP address configuration information and forwards the generated forwarding entries to the multiple line card interfaces through the IPC channel to form a forwarding table in the routing processor and the line card processor. step;
라우팅 프로세서에서 라우팅 엔트리의 추가/변경/삭제시, 해당 라우팅 엔트리를 포워딩 엔트리로 변경하고 변경된 포워딩 엔트리를 다수 라인카드 프로세서에 IPC 방송(broadcasting) 방식으로 전달하고, 이에 다수 라인카드 프로세서에서 수신된 포워딩 엔트리를 각각의 포워딩/인접 테이블에 적용시키는 제3단계로 실행되는 것을 특징으로 한다.When adding / modifying / deleting a routing entry in the routing processor, the routing entry is changed to a forwarding entry and the changed forwarding entry is transmitted to the multiple line card processors by IPC broadcasting, and forwarding received by the multiple line card processors is performed. The third step is to apply an entry to each forwarding / adjacent table.
또한, 본 발명은 상기 제2단계가 라우팅 프로세서 초기 동작시, 라우팅 프로세서가 시스템 구성정보와 인터페이스에 대한 물리적 정보에 근거하여 포워딩 테이블을 초기화하는 단계; 다수 라인카드 프로세서가 각각 라우팅 프로세서로 포워딩 테이블 초기화를 요구하는 단계; 라인카드 프로세서의 초기화요구에 따라 라우팅 프로세서가 포워딩 엔트리를 검색하여 총 수신패킷 수, 총 엔트리수를 산출하는 단계; 산출된 수신패킷수, 엔트리수와 함께 포워딩 테이블 전송시작신호를 라인카드 프로세서로 전송하는 단계; 모든 라우팅 엔트리를 각각 포워딩 엔트리로 변환하여 송신 패킷을 구성한 후, 구성된 패킷에 일련 번호를 붙여 ICP 통신 채널을 통해 해당 라인카드 프로세서로 전송하는 단계; 해당 라인카드 프로세서가 포워딩 테이블 전송시작신호 및 패킷을 수신한 후, 수신된 패킷수와 전송시작신호에 포함된 패킷수를 비교하여 일치할 경우 완료신호를, 일치하지 않을 경우 재전성요구를 라우팅 프로세서로 전송하는 단계; 라인카드 프로세서로부터 패킷 재전송 요구시, 재전송 요구된 패킷을 재구성하여 해당 라인카드 프로세서로 전송하는 단계; 및, 라인카드 프로세서가 포워딩 테이블과 관련된 모든 패킷에 대해 수신완료시 수신된 패킷으로 라인카드 프로세서내 포워딩 테이블을 초기화하는 단계로 이루어질 수 있다.In addition, the second step is the initial step of the routing processor, when the routing processor initializes the forwarding table based on the system configuration information and the physical information on the interface; A plurality of line card processors each requesting a forwarding table initialization to a routing processor; Calculating, by the routing processor, a forwarding entry according to an initialization request of the line card processor to calculate a total number of received packets and a total number of entries; Transmitting a forwarding table transmission start signal to the line card processor together with the calculated number of received packets and entries; Converting all of the routing entries into forwarding entries to form a transmission packet, and attaching a serial number to the configured packet and transmitting the serial packet to a corresponding line card processor through an ICP communication channel; After the line card processor receives the forwarding table transmission start signal and the packet, it compares the number of received packets with the number of packets included in the transmission start signal. Transmitting to; Reconstructing the retransmission requested packet and transmitting the retransmission requested packet to the line card processor when the packet retransmission request is made from the line card processor; And initializing, in the line card processor, the forwarding table in the line card processor with the received packet for all packets related to the forwarding table.
그리고, 상기 제3단계는 라우팅 프로세서에서 라우팅 엔트리의 추가/삭제/변경시 해당 라우팅 엔트리를 포워딩 엔트리로 변환하고 라우팅 프로세서내 포워딩 테이블에 저장하는 단계; 변환된 포워딩 에트리에 대한 추가/삭제/변경 요구 메시지를 생성하여 모든 라인카드 프로세서에 IPC 브로드캐스팅 방식으로 전달하는 단계; 및, 라인카드 프로세서에서 포워딩 엔트리에 대한 추가/삭제/변경 요구 메시지를 수신하고, 라인카드 프로세서에 생성된 포워딩 테이블에서 해당 포워딩 엔트리를 추가/삭제/변경하는 단계로 이루어질 수 있다.The third step may include converting the corresponding routing entry into a forwarding entry and storing the forwarding entry in the routing processor when the routing entry is added / deleted / modified; Generating an add / delete / change request message for the converted forwarding entry and delivering the message to all line card processors in an IPC broadcasting manner; And receiving, by the line card processor, an add / delete / change request message for the forwarding entry, and adding / deleting / changing the corresponding forwarding entry in the forwarding table generated in the line card processor.
더하여, 본 발명은 포워딩 엔트리 전달을 위해 라우팅 프로세서와 라인카드 프로세서로 전달되는 포워딩 초기화, IP/포워딩 엔트리 추가/삭제/변경 IPC 메시지는 메시지 종류를 나타내는 오피코드와, 길이값, 포워딩 엔트리에 해당하는 시퀀스번호, 해당 포워딩 엔트리 테이블값으로 구성되고, 라인카드 프로세서에서 라우팅 프로세서로 전송되어 포워딩 테이블 초기화를 요구하는 IPC 메시지는 메시지 종류를 나타내는 오피코드와 메시지 송신 라인카드를 나타내는 슬롯값으로 구성되고, 라우팅 프로세서에서 라인카드 프로세서로 전달되어 포워딩 엔트리의 전달시작을 알리는 IPC 메시지는 메시지 종류를 나타내는 오피코드와, 전달할 엔트리의 총수와, 전송할 패킷의 총수로 구성되고, 라인카드 프로세서에서 라우팅 프로세서로 포워딩 테이블 전송 완료를 알리는 IPC 메시지를 메시지 종류를 나타내는 오피코드와 송신하는 라인카드의 슬롯값으로 구성되고, 라인카드에서 라우팅 프로세서로 포워딩 테이블에 대한 재전송을 요구하는 IPC 메시지는 메시지 종류를 나타내는 오피코드와, 라인카드의 스롯과, 재전송이 요구되는 패킷의 시퀀스 번호열로 구성되는 것을 특징으로 한다.In addition, according to the present invention, forwarding initialization and IP / forwarding entry / addition / change / change IPC messages transmitted to the routing processor and the line card processor for forwarding entry forwarding correspond to an opcode indicating a message type, a length value, and a forwarding entry. An IPC message composed of a sequence number and a corresponding forwarding entry table value and transmitted from a line card processor to a routing processor to request initialization of the forwarding table includes an opcode indicating a message type and a slot value indicating a message transmission line card. The IPC message transmitted from the processor to the line card processor to inform the start of forwarding entry is composed of an opcode indicating the message type, the total number of entries to be transmitted, and the total number of packets to be transmitted, and the forwarding table is transmitted from the line card processor to the routing processor. Wan An IPC message indicating a message type is composed of an opcode indicating a message type and a slot value of a line card transmitting a message. An IPC message requesting retransmission of a forwarding table from a line card to a routing processor includes an opcode indicating a message type and a line card. And a sequence number sequence of packets for which retransmission is required.
상술한 바와 같이, 본 발명은 하나의 라우팅 프로세서와 다수개의 라인카드를 스위치로 연결된 고속 라우터에서, 라우팅 프로세서는 라우팅 기능을 처리하고, 라인카드는 분산 포워딩을 통하여 라우터의 성능을 향상시키고자 한 것으로서, 이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.As described above, the present invention is to improve the performance of the router through the routing processor, the routing processor processes the routing function, the line card is distributed forwarding in a high-speed router connected to one routing processor and a plurality of line cards Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 의한 고속라우터에서의 분산 포워딩 처리 구조를 나타내는 기능 블럭도로서, 라우팅 프로세서(200)는 포워딩관리자(201)와, 포워딩테이블(202)과, 시스템관리자(203)를 포함하여 구성되고, 라인카드프로세서(207)에는 인접테이블(208)과 포워딩테이블(209)를 구비하고, 상기 상기 라우팅 프로세서(200)와 다수의 라인카드 프로세스(207)을 연결하는 IPC통신버스를 구비한다.2 is a functional block diagram illustrating a distributed forwarding processing structure in a fast router according to the present invention. The routing processor 200 includes a forwarding manager 201, a forwarding table 202, and a system manager 203. The line card processor 207 includes an adjacent table 208 and a forwarding table 209, and an IPC communication bus connecting the routing processor 200 and the plurality of line card processes 207. .
상기 포워딩 관리자(201)는 라우터 시스템의 구성정보를 시스템관리자(203)로부터 얻으며, IP(Internet Protocol)(204) 프로토콜을 모니터링하여 라우팅 엔트리의 추가/삭제/변경에 대하여 포워딩 엔트리를 생성하여서 포워딩 테이블(202)에 반영시키고, 상기 포워딩테이블(202)은 라인카드 프로세스(207)에도 반영되어 포워딩 테이블(209)이 구축된다.The forwarding manager 201 obtains the configuration information of the router system from the system manager 203, and monitors the IP (Internet Protocol) 204 protocol to generate a forwarding entry for adding / deleting / changing routing entries. 202, the forwarding table 202 is also reflected in the line card process 207, and the forwarding table 209 is constructed.
라인카드 프로세스(207)의 인접 테이블(208)은 라인 인터페이스의Next Hop에 대한 정보를 가지며, 이는 ARP(205)에 의해서 얻어진다.The neighbor table 208 of the line card process 207 has information about Next Hop of the line interface, which is obtained by the ARP 205.
그리고, ICMP(210) 프로토콜을 이용하여 본 시스템의 전용 IPC 통신 채널을 구성해주며, 이것은 RP(200)와 LP(207)간의 IPC 통신 버스(206)를 구축함으로써 통신을 간편하게 제공한다.Then, the ICMP 210 protocol is used to configure a dedicated IPC communication channel of the present system, which provides communication simply by establishing an IPC communication bus 206 between the RP 200 and the LP 207.
상기 시스템 관리자(203)는 시스템의 초기화, 라인카드의 추가나 삭제 등의 시스템의 구성을 관리해주며, 포워딩 관리자(201)는 RP(200)와 LP(207)의 포워딩 정보를 구축 및 유지한다. IPC 통신 버스(206)는 프로세서간 전용 통신채널로서, RP(200)의 기능 블록과 LP(207)의 기능 블록들을 연결해주며, 물리적으로는 이더넷으로 구성된다.The system manager 203 manages the configuration of the system such as initializing the system, adding or deleting a line card, and the forwarding manager 201 establishes and maintains forwarding information of the RP 200 and the LP 207. The IPC communication bus 206 is a dedicated communication channel between processors. The IPC communication bus 206 connects the functional blocks of the RP 200 and the functional blocks of the LP 207 and is physically configured as Ethernet.
라인카드(207)에는 RP의 복사본인 포워딩 테이블(209)과 인접테이블(208)이 존재하며, 이것은 각 라인카드가 분산 포워딩을 수행하는데 필수적인 정보이다.The line card 207 has a forwarding table 209 and an adjacent table 208 which are copies of the RP, which is essential information for each line card to perform distributed forwarding.
라인카드(207)들은 스위치(211)를 통하여 연결되며, 이들은 패킷 포워딩의 통로로 사용된다.Line cards 207 are connected through a switch 211, which is used as a path for packet forwarding.
또한 라인카드(207)는 외부 인터페이스를 가지며 이 인터페이스는 외부 망(212)과 접속되며, 포워딩 패킷의 수신과 송신의 인터페이스 점이다. 라인카드의 인터페이스에는 예를 들어, GE(Gigabit Ethernet) Port와 POS(Packet Over SONET) Port 등이 있다.In addition, the line card 207 has an external interface, which is connected to the external network 212, and is an interface point for receiving and transmitting forwarding packets. Line card interfaces include, for example, Gigabit Ethernet (GE) ports and Packet Over SONET (POS) ports.
본 발명에 의한 고속라우터의 분산포워딩 관점에서의 초기화절차를 살펴보면 다음과 같다.Looking at the initialization procedure in terms of distributed forwarding of the high-speed router according to the present invention are as follows.
첫번째, 포워딩 관리자(201)는 시스템 관리자(203)로부터 라인카드 구성정보를 가장 먼저 수신하여 인터페이스에 대한 물리적 정보를 먼저 초기화한다.First, the forwarding manager 201 first receives the line card configuration information from the system manager 203 and initializes the physical information about the interface first.
두번째로, 라우팅 테이블(도시생략)로부터 초기 라우팅 정보를 얻어와서 포워딩 테이블(202)에 반영한다.Secondly, initial routing information is obtained from the routing table (not shown) and reflected in the forwarding table 202.
세번째로, 인접 정보의 부재시 ARP프로토콜 패킷을 라인카드프로세서(207)로 전달하고, 상기 라인카드프로세서(207)는 이 패킷을 Next-Hop에 전달하므로 인접 정보를 수신한다.Thirdly, in the absence of neighboring information, the ARP protocol packet is forwarded to the line card processor 207, and the line card processor 207 forwards the packet to Next-Hop and thus receives the neighboring information.
네번째, 포워딩 관리자(201)가 포워딩/인접 테이블을 라인카드 프로세서(207)로 전달한다.Fourth, the forwarding manager 201 forwards the forwarding / adjacent table to the line card processor 207.
다섯번째, 포워딩 테이블(209)을 라인카드 프로세서(207)에 저장하는 것으로, 포워딩 정보의 초기화가 완료된다.Fifth, by storing the forwarding table 209 in the line card processor 207, initialization of the forwarding information is completed.
상기 표 1a,1b는 포워딩관리자(201)의 포워딩 테이블(202) 구성을 위한 IPC 메시지 정의 테이블을 보인 것이다. 상기 표 1a,1b에서, IpAddrInfoRp(301)라는 메시지는 인터페이스 IP 주소 정보를 보고하기 위한 IPC 메시지로 시스템 관리자(203)로부터 현재 시스템 구성의 초기화를 위하여 수신된다.Tables 1a and 1b show IPC message definition tables for the configuration of the forwarding table 202 of the forwarding manager 201. In Tables 1A and 1B, the message IpAddrInfoRp 301 is received from the system manager 203 for initialization of the current system configuration as an IPC message for reporting interface IP address information.
IpAddrAddRp(302)/ IpAddrDelRp(303)는 인터페이스 IP 주소 추가/삭제를 위한 IPC 메시지로 시스템 관리자(203)로부터 제공되는 새로운 IP 주소의 추가/삭제메시지이다.IpAddrAddRp 302 / IpAddrDelRp 303 is an IPC message for adding / deleting interface IP addresses, which is an addition / deletion message of a new IP address provided from the system manager 203.
IpMacChgRp(304)는 인터페이스 IP 에 대한 MAC 주소 변경을 위한 IPC 메시지로 시스템 관리자(203)로부터 제공되는 MAC 주소 변경 메시지이다.IpMacChgRp 304 is a MAC address change message provided from system manager 203 as an IPC message for MAC address change for interface IP.
RouteInitMsgRq(305)는 포워딩 테이블(202)의 초기화를 위한 요구 메시지로 라우팅 엔트리 모니터에게 보내지는 IPC 메시지이다.The RouteInitMsgRq 305 is an IPC message sent to the routing entry monitor as a request message for initialization of the forwarding table 202.
RouteInitMsgRp(306)는 상기 RouteInitMsgRq(305) 메시지에 대한 응답 메시지로, 현재의 라우팅 엔트리를 담고있다.RouteInitMsgRp 306 is a response message to the RouteInitMsgRq 305 message and contains a current routing entry.
또한, 라우팅 엔트리의 추가/삭제/변경에 따라서 라우팅 프로세서(200)의 포워딩 테이블(202)을 유지하기 위하여 각각 RouteAddMsgRp(307), RouteDelMsgRp(308), RouteModMsgRp(309)라는 메시지가 포워딩 엔트리의 추가/삭제/변경을 위하여 사용된다.In addition, the messages RouteAddMsgRp 307, RouteDelMsgRp 308, and RouteModMsgRp 309 respectively add / remove the forwarding entries in order to maintain the forwarding table 202 of the routing processor 200 according to the addition / deletion / change of routing entries. Used to delete / change.
그리고, 라인카드 프로세스(207)의 포워딩테이블(209)을 위한 포워딩 엔트리의 추가/삭제/변경을 위하여는 각각 AddFwdEntry(310), DelFwdEntry (311), ModFwdEntry (312)가 사용된다.AddFwdEntry 310, DelFwdEntry 311, and ModFwdEntry 312 are used to add / delete / change forwarding entries for the forwarding table 209 of the line card process 207, respectively.
라인카드 프로세서(207)에서 포워딩 테이블(209)의 초기화를 위하여는 FwdTblInitRq(313)라는 메시지가 라우팅 프로세서(200)로 전달되며, InitFwdEntry(318)는 라인카드 프로세서(207)로 초기의 포워딩 엔트리 전달에 사용되는 메시지이다. StartFwdTbl(314)은 라우팅 프로세서(200)에서 라인카드 프로세서(207)로의 포워딩 테이블 전송 시작을 알리는 메시지이고, EndFwdTbl(315)은 포워딩 테이블 전송 종료를 알리는 메시지이다. ACK(Acknowledge)(316)와 NAK(Non-Acknowledge)(317)는 라인카드 프로세서(207)에서의 포워딩 테이블 수신 상태를 알리는 메시지로서, ACK는 정상임을, NAK는 수신하지 못한 일련번호를 포함하여 알려주므로 재전송을 요구하게 된다. InitIPEntry(319)는 고속라우터 자신의 인터페이스에 관한 정보로서 인접 정보를 포함하며, 초기화시 라우팅 프로세서(200)에서 라인카드 프로세서(207)로 전달되는 메시지이다. 그리고, IP 인터페이스의 추가/삭제/변경에 따라서 AddIPEntry(320), DelIPEntry(321), ModIPEntry(322)가 인접 테이블(208)에서의 IP 추가/삭제/변경을 위해 사용된다. 포워딩 관리자(201)가 초기화를 위하여 시스템 관리자(203)에게 IP 주소의 초기화 요구 메시지를 보내게 되는데, 이 메시지가 IPAddrInitRq(323)이다.In order to initialize the forwarding table 209 in the line card processor 207, a message FwdTblInitRq 313 is transmitted to the routing processor 200, and the InitFwdEntry 318 forwards the initial forwarding entry to the line card processor 207. This is the message used for. StartFwdTbl 314 is a message indicating the start of forwarding table transmission from routing processor 200 to line card processor 207, and EndFwdTbl 315 is a message indicating the end of forwarding table transmission. ACK (Acknowledge) 316 and Non-Acknowledge (NAK) 317 is a message indicating the forwarding table reception status in the line card processor 207, ACK is normal, including the serial number that NAK did not receive It tells you to resend. The InitIPEntry 319 includes neighboring information as information on the interface of the high speed router itself, and is a message transmitted from the routing processor 200 to the line card processor 207 upon initialization. In addition, according to the addition / deletion / change of the IP interface, AddIPEntry 320, DelIPEntry 321, and ModIPEntry 322 are used for IP addition / deletion / change in the neighbor table 208. The forwarding manager 201 sends an initialization request message of the IP address to the system manager 203 for initialization, which is IPAddrInitRq 323.
도 3은 라우팅 및 포워딩 테이블 관리를 위한 상기 IPC 메시지의 포맷 구조를 나타낸 것으로, 상기 메시지들은 라우팅 프로세서(200)에서 라인카드 프로세서(207)로 전달되는 IPC로서 포워딩 엔트리 전달과 관련된 프로토콜 처리를 위하여 필요한 메시지들이다.3 is a diagram illustrating routing and forwarding table management remind A format structure of an IPC message is shown. The messages are necessary for protocol processing related to forwarding entry delivery as IPC delivered from the routing processor 200 to the line card processor 207.
먼저, 도 3의 (A)에 도시된 포맷구조는 라우팅 프로세서(200)에서 라인카드 프로세서(207)로 포워딩 에트리를 전달하는 IPC 메시지의 패킷 포맷으로, 상기 표 1a, 1b에 나타낸 메시지들중에서 InitFwdEntry(318), InitIPEntry(319), AddFwdEntry(310), DelFwdEntry(311), ModFwdEntry(312), AddIPEntry(320), DelIPEntry(321), ModIPEntry(322)에 공용으로 사용되는 포맷구조이다.First, the format structure shown in (A) of FIG. 3 is a packet format of an IPC message for transferring a forwarding entry from the routing processor 200 to the line card processor 207. Among the messages shown in Tables 1A and 1B, It is a format structure commonly used for InitFwdEntry (318), InitIPEntry (319), AddFwdEntry (310), DelFwdEntry (311), ModFwdEntry (312), AddIPEntry (320), DelIPEntry (321), and ModIPEntry (322).
그리고, (B)에 도시된 포맷구조는 라인카드 프로세서(207)에서 라우팅 프로세서(200)로 포워딩 테이블 초기화를 위하여 전달되는 IPC 메시지들의 패킷 포맷으로, 상기 표 1a,1b의 FwdTblInitRq(313)에 사용되는 구조이다.In addition, the format structure shown in (B) is a packet format of IPC messages transmitted for initialization of the forwarding table from the line card processor 207 to the routing processor 200, and used in FwdTblInitRq 313 of Tables 1a and 1b. It is a structure.
그 다음, (C)에 도시된 포맷구조는 라우팅 프로세서(200)에서 라인카드 프로세서(207)로 포워딩 엔트리 전달 시작을 알리기 위한 IPC 메시지 패킷의 포맷으로, 상기 표 1a,1b의 StartFwdTbl(314)의 포맷 구조이다.Next, the format structure shown in (C) is the format of an IPC message packet for notifying the start of forwarding entry delivery from the routing processor 200 to the line card processor 207, and the format of StartFwdTbl 314 of Tables 1a and 1b. Format structure.
그 다음, (D)의 포맷구조는 라인카드 프로세서(207)에서 라우팅 프로세서(200)로 모든 포워딩 엔트리를 정상적으로 수신함을 알리는 ACK(Acknowledge)(316) 메시지의 IPC 패킷 포맷 구조를 나타내고, (E)는 라인카드 프로세서(207)에서 라우팅 프로세서(200)로 전송되지 못한 유실된 모든 포워딩 엔트리를 다시 요구하는 NAK(Non-Acknowledge) 메시지(317)의 포맷 구조이다. 상기 NAK 메시지(317)는 손실된 패킷의 일련번호(SeqNum)를 포함하며, 상기 구조에 의하면 한번에 700개의 일련번호를 보낼 수 있으며, 700개를 넘는 경우 다수개의 NAK 전송이 가능하다. 이에 대한 상세한 처리는 도 6 및 도 7을 참조하여 이후에 설명한다.The format structure of (D) then indicates the IPC packet format structure of an ACK (Acknowledge) 316 message indicating that all forwarding entries are normally received from the line card processor 207 to the routing processor 200, and (E). Is the format structure of a Non-Acknowledge (NAK) message 317 that again requests all lost forwarding entries that could not be sent from the line card processor 207 to the routing processor 200. The NAK message 317 includes the serial number (SeqNum) of the lost packet. According to the structure, 700 serial numbers can be sent at a time, and if more than 700, multiple NAK transmissions are possible. Detailed processing thereof will be described later with reference to FIGS. 6 and 7.
도 4는 상기 포워딩 테이블 구축을 위한 포워딩 관리자(201)와 인터페이스 블록들 상호간에 이루어지는 상술한 메시지들의 교환 과정을 나타낸 것으로, SCM(System Configuration Manager)(501)은 시스템 관리자를 나타내고, FIBH_RP(Forwarding Information Base Handler in RP)(502)는 포워딩 관리자를 나타내고, RTIH(Routing Information Handler)(503)은 라우팅 관리자를 나타내고, FIBH_LP(Forwarding Information Base Handler in LP)(504)은 라인카드의 포워딩 관리자낸다.FIG. 4 illustrates a process of exchanging the above-described messages between the forwarding manager 201 and the interface blocks for building the forwarding table. The system configuration manager (SCM) 501 indicates a system manager, and the FIBH_RP (Forwarding Information). Base Handler in RP (502) represents a forwarding manager, Routing Information Handler (RTIH) 503 represents a routing manager, and Forwarding Information Base Handler in LP (FIBH_LP) 504 represents the forwarding manager of a line card.
상기 블록간에 앞서 설명한 표 1a,1b의 메시지를 소정 순서로 교환하여 포워딩 테이블을 구축하게 되는데, 그 과정은 다음과 같다.The forwarding table is constructed by exchanging the messages of Tables 1a and 1b described above in a predetermined order between the blocks. The process is as follows.
FIBH_RP(502)가 SCM(504)으로, IP 주소 초기화 요구 메시지, IPAddrInitRq(323)를 보내면, 상기 SCM(504)이 메시지 IpAddrInfoRp(301)를 통해 FIBH_RP(502)에게 초기 정보를 전달한다. 이에 의해 포워딩 테이블의 초기화가 이루어진 후에 IP 주소의 추가/삭제/변경 처리는 해당 이벤트가 발생될때마다 SCM(504)에서 메시지 IpAddrAddRp(302), IpAddrDelRp(303), IpMacChgRp(304)를 통해 FIBH_RP(502)로 전달된다.When the FIBH_RP 502 sends an IP address initialization request message, IPAddrInitRq 323, to the SCM 504, the SCM 504 transfers initial information to the FIBH_RP 502 through the message IpAddrInfoRp 301. After the initialization of the forwarding table, the IP address add / delete / change processing is performed by the FIBH_RP (502) through the messages IpAddrAddRp (302), IpAddrDelRp (303), and IpMacChgRp304 in the SCM 504 whenever a corresponding event occurs. Is delivered.
그리고, RTIH(503)은 FIBH_LP(502)로부터 전달된 라우팅 테이블 엔트리의 초기정보 요구 메시지 RouteInitMsgRq(305)를 수신하여, 라우팅 테이블의 초기화 후 FIBH_LP(502)로 라우팅 테이블 초기화 메시지 RouteInitMsgRp(306)를 전달한다. 초기화 이후에 라우팅 엔트리의 추가/삭제/변경은 해당 이벤트 발생시마다 RouteAddMsgRp(307), RouteDelMsgRq(308), RouteModMsgRq(309)가 RTIH(503)에서 FIBH_RP(502)로 전달되어 이루어진다.The RTIH 503 receives the initial information request message RouteInitMsgRq 305 of the routing table entry transmitted from the FIBH_LP 502 and transmits the routing table initialization message RouteInitMsgRp 306 to the FIBH_LP 502 after initialization of the routing table. do. After the initialization, the addition / deletion / change of the routing entry is performed by the RouteAddMsgRp 307, the RouteDelMsgRq 308, and the RouteModMsgRq 309 transmitted from the RTIH 503 to the FIBH_RP 502 every time the corresponding event occurs.
상기 FIBH_RP(502)에 구축된 포워딩 테이블은 FIBH_LP(504)의 포워딩 테이블 초기화 요구 FwdTblInitRq(313)에 의하여, FIBH_LP(504)로 전달되어 라인카드 프로세서(207)의 포워딩 테이블이 초기화된다. 이후, 라인카드 프로세서(207)의 포워딩 테이블의 엔트리 추가/삭제/변경은 해당 엔트리 변경시마다 FIBH_RP(502)에서 엔트리 추가/삭제/변경을 나타내는 메시지 AddFwdEntry(310), DelFwdEntry(311), ModFwdEntry(312)가 FIBH_LP(504)로 전달되어 이루어진다.The forwarding table constructed in the FIBH_RP 502 is transferred to the FIBH_LP 504 by the forwarding table initialization request FwdTblInitRq 313 of the FIBH_LP 504 to initialize the forwarding table of the line card processor 207. Subsequently, the addition / deletion / change of an entry in the forwarding table of the line card processor 207 is performed by the message AddFwdEntry (310), DelFwdEntry (311), and ModFwdEntry (312) indicating the entry addition / deletion / change in the FIBH_RP (502). Is delivered to the FIBH_LP 504.
도 5는 라우팅 프로세서(200)에서 포워딩 관리자(201)의 초기화 절차를 보인 플로우챠트로서, 포워딩 관리자(201)의 초기화가 시작되면(S501), 포워딩 테이블을 설정하고 관리 통신채널을 설정한 후(S502), 시스템 관리자(203)로부터 신호가 전송되기를 기다린다(S503). 상기 상태에서, 시스템 관리자(203)로부터 라인카드 인터페이스에 대한 물리적 구성 정보인 IP주소 구성정보가 수신되면(S504), 수신된 정보에 근거하여 포워딩 테이블을 초기화 하고(S508), IP주소의 추가 메시지가 수신되면(S505) 수신된 IP 주소가 포워딩 테이블에 추가되도록 관련 프로그램(AddIPAddrFwdTbl)을 호출하고(S509), IP주소의 삭제 요구 메시지가 수신되면(S506), 수신된 IP 주소를 포워딩 테이블에서 삭제하도록 해당 프로그램 DelIPAddrFwdTbl을 호출하고(S510), MAC 주소 변경 메시지가 수신되면(S507), 수신된 MAC 주소를 포워딩 테이블에서 변경하기 위하여 해당 프로그램 ChgMacAddr()을 호출한다(S511).5 is an example of a routing processor 200. As a flowchart showing the initialization procedure of the forwarding manager 201, when the initialization of the forwarding manager 201 starts (S501), after setting the forwarding table and setting the management communication channel (S502), the system manager 203 Wait for the signal to be transmitted (S503). In this state, when the IP address configuration information, which is physical configuration information on the line card interface, is received from the system manager 203 (S504), the forwarding table is initialized based on the received information (S508), and an additional message of the IP address is provided. Is received (S505), the associated program (AddIPAddrFwdTbl) is called to add the received IP address to the forwarding table (S509), and when a request for deleting the IP address is received (S506), the received IP address is deleted from the forwarding table. The program DelIPAddrFwdTbl is called (S510), and when a MAC address change message is received (S507), the program ChgMacAddr () is called to change the received MAC address in the forwarding table (S511).
각각 호출 프로그램이 실행되고, 라인카드 프로세서(207)로부터 라인카드 초기화 요구를 기다리거나, 시스템 관리자(203)로부터의 메시지 수신을 위하여 대기(Waiting) 상태로 들어간다(S512).Each calling program is executed and waits for a line card initialization request from the line card processor 207, or enters a waiting state for receiving a message from the system manager 203 (S512).
도 6은 라인카드의 포워딩 테이블 초기화 요구에 대한 라우팅 프로세서(201)의 처리 절차를 나타낸 플로우챠트로서, 이를 참조하여 라인카드 포워딩 테이블 초기화에 대한 라우팅 프로세서(201)의 동작을 설명한다.FIG. 6 is a flowchart illustrating a processing procedure of the routing processor 201 for a line card forwarding table initialization request. The operation of the routing processor 201 for line card forwarding table initialization will be described with reference to the flowchart.
먼저, 라우팅 프로세서가 동작을 시작하면(S601), 라인카드 프로세서(207)로부터의 초기화 요구 신호를 기다린다(S602). 이에, 라인카드 프로세서(207)로부터포워딩 테이블의 초기화 요구 메시지 FwdTblInitRq(313)가 수신되면(S603), 포워딩 엔트리를 계수하여 전달할 패킷의 갯수와 총 엔트리의 갯수를 계산한다(S604).First, when the routing processor starts operation (S601), it waits for an initialization request signal from the line card processor 207 (S602). When the initialization request message FwdTblInitRq 313 of the forwarding table is received from the line card processor 207 (S603), the number of forwarding entries is counted and the total number of entries is calculated by counting forwarding entries (S604).
그 다음, 계산된 패킷 수와, 엔트리 수를 포워딩 테이블 전송 시작 메시지 StartFwdTble(314)에 실어 해당 라인카드 프로세서(207)로 전송한다(S605).Next, the calculated number of packets and the number of entries are included in the forwarding table transmission start message StartFwdTble 314 and transmitted to the line card processor 207 (S605).
이어, 라우팅 엔트리를 포워딩 엔트리로 변환하여 송신패킷을 구성하고(S606), 구성된 송신패킷을 일련번호대로 해당 라인카드 프로세서(207)에 송신한다(S607).Subsequently, the routing entry is converted into a forwarding entry to form a transmission packet (S606), and the configured transmission packet is transmitted to the line card processor 207 according to the serial number (S607).
이때, 송신패킷의 일련번호를 확인하여, 최종 패킷인지 아닌지를 판단하고(S608), 최종 패킷을 전송 한 것이면 전송 종료를 알리는 포워딩 테이블 전송 종료 신호 EndFwdTbl(315)를 송신하고(S609), 최종 패킷을 전송한 것이 아니라면, 최종 패킷이 전송될때까지 다음 패킷을 구성하여 전달하는 동작을 반복한다(S606~608).At this time, by checking the serial number of the transmission packet, it is determined whether or not it is the last packet (S608), and if the last packet has been transmitted, the forwarding table transmission end signal EndFwdTbl 315 indicating the end of transmission is transmitted (S609), and the final packet. If not transmitted, the operation of constructing and delivering the next packet is repeated until the last packet is transmitted (S606 to 608).
상기, 포워딩 테이블 전송 종료 신호 EndFwdTbl(315)을 송신한 후에는, 소정 시간(예를 들어, 3초) 타이머를 동작시킨후(S610), 해당 라인카드 프로세서(207)로부터 응답신호를 수신하기 위해 대기상태로 들어간다(S611).After transmitting the forwarding table transmission end signal EndFwdTbl 315, after operating a timer for a predetermined time (for example, 3 seconds) (S610), in order to receive a response signal from the line card processor 207. Enter the standby state (S611).
여기서, 라인카드 프로세서(207)로부터 포워딩 패킷 재전송 요구 메시지 NAK(317)가 수신되면(712), 재전송이 요구된 패킷을 재구성하여(S613), 다시 전송한다(S614). 이때도 재전송이 요구된 패킷중 최종 패킷이 전송될 때까지 다음 패킷을 재구성하여 전송한 후, 최종 패킷이 전송되면 단계S609로 되돌아가 전송 종료 신호(EndFwdTbl)를 전송한 후 마찬가지로 소정시간 동안 라인카드로부터의 응답신호를 대기한다(S615).Here, when the forwarding packet retransmission request message NAK 317 is received from the line card processor 207 (712), the packet for which retransmission is requested is reconstructed (S613) and transmitted again (S614). In this case, the next packet among the packets for which retransmission is requested is reconfigured and transmitted until the last packet is transmitted, and when the last packet is transmitted, the process returns to step S609 and transmits the transmission end signal EndFwdTbl, and then the line card for the predetermined time. Wait for the response signal from (S615).
그리고, 대기상태(S611)에서 포워딩 테이블 초기화 완료신호 ACK(316)가 수신되면(S616), 포워딩 테이블의 초기화가 정상적으로 완료되었으므로 초기화 절차를 끝내고 엔트리 추가/변경/삭제요구에 대처할 수 있도록 대기 상태로 들어간다(S620).When the forwarding table initialization completion signal ACK 316 is received in the waiting state (S611) (S616), since the initialization of the forwarding table is normally completed, the initialization procedure is completed and the standby state is available to cope with the request for adding / changing / deleting an entry. It enters (S620).
그리고, 대기상태(S611)에서 응답신호 수신없이 타임아웃이 발생하면(S617) , 설정 횟수동안 대기상태를 유지하다가, 설정 회 이상 타임아웃이 반복될 때, 라인카드 프로세서의 무응답을 출력한 후 대기상태로 들어간다(S618~S620).If a timeout occurs without receiving a response signal in the standby state (S611) (S617), the standby state is maintained for a set number of times, and when the timeout is repeated more than a set number of times, the non-response of the line card processor is output and then waited. Enter the state (S618 ~ S620).
도 7는 라인카드의 포워딩 테이블 초기화를 위한 라인카드 프로세서(207)의 처리 절차를 보인 플로우챠트이다.7 is a flowchart showing a processing procedure of the line card processor 207 for initializing the forwarding table of the line card.
포워딩 테이블의 초기화를 위해, 라인카드 프로세서(207)는 라인카드 프로세서(207)의 초기화가 시작되면(S701), 라우팅 프로세서(201)로 포워딩 테이블 초기화 요구 신호를 송신하고(S702), 이어 설정 시간(예를 들어, 10초) 동안 대기상태로 들어간다(S703, S704).In order to initialize the forwarding table, when the initialization of the line card processor 207 starts (S701), the line card processor 207 transmits a forwarding table initialization request signal to the routing processor 201 (S702), and then the set time. It enters the standby state (for example, 10 seconds) (S703, S704).
이때, 대기상태에서 라우팅 프로세서(201)로부터 포워딩 테이블 초기화 시작을 알리는 메시지 StartFwdTbl(314)가 수신되면(S705), 수신할 패킷의 개수와 총 엔트리수를 저장한 후(S707), 패킷 수신 대기한다(S708).At this time, when the message StartFwdTbl 314 indicating the start of the forwarding table initialization is received from the routing processor 201 (S705), after storing the number of received packets and the total number of entries (S707), the packet is waited for reception. (S708).
그러나, 포워딩 테이블 초기화 요구 신호 전송 후, 설정 시간내에 신호 수신이 안되면(S706), 포워딩 테이블 요구 신호를 재전송한다(S72).However, after the forwarding table initialization request signal is transmitted, if no signal is received within the set time (S706), the forwarding table request signal is retransmitted (S72).
그리고, 상기 대기상태(S708)에서, 라우팅프로세서(201)로부터 포워딩 초기화 패킷이 수신되면(S709), 수신된 패킷을 포워딩 테이블에 저장하고(S710), 다음 패킷 수신을 기다린다(S708).In the waiting state (S708), if a forwarding initialization packet is received from the routing processor 201 (S709), the received packet is stored in the forwarding table (S710), and the next packet reception is waited (S708).
상기 패킷 수신이 반복되어, 전송 종료를 알리는 메시지 EndFwdTbl(315)가 수신되면(S711), 수신된 패킷의 수와 포워딩 초기호 메시지로 전송된 패킷수를 비교하여, 모든 패킷이 수신되었는지를 판단한다(S712). 따라서, 수신된 패킷의 수가 전송하기로한 패킷 수와 일치하면, 포워딩 테이블 초기화 완료 신호 ACK(316)를 라우팅 프로세서(201)로 전송하여(S713), 초기화를 완료한다.If the packet reception is repeated and the message EndFwdTbl 315 indicating the end of transmission is received (S711), the number of received packets is compared with the number of packets transmitted in the forwarding initial call message to determine whether all packets have been received. (S712). Therefore, if the number of received packets matches the number of packets to be transmitted, the forwarding table initialization completion signal ACK 316 is transmitted to the routing processor 201 (S713) to complete the initialization.
반대로, 패킷수가 일치하지 않으면, 수신 패킷의 일련번호를 검색하여 유실된 패킷을 찾아 재전송 패킷 리스트를 구성하고(S714), 재전송 요구 메시지 NAK(317)에 실어 라우팅 프로세서(201)로 전송하고, 재전송 패킷을 수신하기 위하여 대기상태로 들어간다(S708).On the contrary, if the number of packets does not match, the serial number of the received packet is searched to find the lost packet to construct a retransmission packet list (S714), and the retransmission request message NAK 317 is transmitted to the routing processor 201 and retransmitted. In step S708, the packet enters a standby state to receive a packet.
이때의 재전송 요구는 모든 패킷이 수신 완료될 때까지 반복될 수 있다.At this time, the retransmission request may be repeated until all packets have been received.
도 8은 라우팅 프로세서(201)에서의 라우팅 엔트리 추가/삭제/변경에 따른 포워딩 엔트리 추가/삭제/변경 절차를 보인 플로우챠트이다.8 is a flowchart illustrating a forwarding entry addition / deletion / change procedure according to the routing entry addition / deletion / change in the routing processor 201.
상기 도시된 같이, 라우팅 프로세서(201)의 포워딩 관리자(201)는 대기상태(901)에서 라우팅 관리자의 송신신호를 수신하게 되는데, 이때, 라우팅 엔트리의 추가 메시지 RouteAddMsgRp(307)를 수신하면(S802), 수신된 라우팅 엔트리를 포워딩 엔트리로 변환하여 저장하고(S803), 이를 모든 라인카드 프로세서(207)의 포워딩 테이블에 반영하기 위하여 포워딩 엔트리 추가 메시지 AddFwdEntry(310)에 실어 모든 라인카드 프로세서(207)에 IPC 방송 기술로 전송한다(S804).As shown in the drawing, the forwarding manager 201 of the routing processor 201 receives the transmission signal of the routing manager in the standby state 901, and at this time, when the additional message RouteAddMsgRp 307 of the routing entry is received (S802). In order to convert the received routing entry into a forwarding entry and store it (S803), the forwarding entry addition message AddFwdEntry 310 is loaded on all line card processors 207 to reflect it in the forwarding table of all the line card processors 207. The transmission is performed using the IPC broadcasting technology (S804).
라우팅 엔트리 삭제 메시지인 RouteDelMsgRp(308)를 수신한 경우에는, 수신된 라우팅 엔트리를 포워딩 엔트리로 변환하여 저장한후(S806), 해당 포워딩 엔트리에 대한 삭제 메시지 DelFwdEntry(311)를 IPC 방송 기술로 모든 라인카드 프로세서(207)에 전송한다(S807).When the route entry deletion message RouteDelMsgRp 308 is received, the received routing entry is converted into a forwarding entry and stored (S806), and then the deletion message DelFwdEntry 311 for the corresponding forwarding entry is transmitted to all line cards by IPC broadcasting technology. The processor 207 transmits to the processor 207 (S807).
라우팅 엔트리의 변경 메시지인 RouteModMsgRp(309)를 수신한 경우에는, 수신된 라우팅 엔트리를 포워딩 엔트리로 변환한 후(909), 해당 포워딩 엔트리에 대한 변경 메시지를 모든 라인카드 프로세서(207)에 IPC 방송 방법으로 전송한다(S810).If a routeModMsgRp 309 that is a routing entry change message is received, the received routing entry is converted to a forwarding entry (909), and then the IPC broadcast method is transmitted to all the line card processors 207. Transmit to (S810).
상기와 같이 각 수신 신호에 따른 처리 및 메시지 전송을 완료한 후에는 대기상태로 들어간다(S811).After completing the processing and message transmission according to each received signal as described above enters the standby state (S811).
도 9는 상기 도 8과 같은 라우팅 엔트리 추가/삭제/변경에 따른 라인카드 프로세스의 포워딩 엔트리 추가/삭제/변경 절차를 보인 플로우챠트이다.9 is a diagram illustrating a line card process according to the addition / deletion / change of a routing entry as shown in FIG. This flowchart shows the procedure of adding / deleting / modifying forwarding entries.
라인카드 프로세서(207)의 포워딩 관리자는 대기상태(S901)에서 라우팅 프로세서(201)로부터의 신호 수신을 기다린다.The forwarding manager of the line card processor 207 waits for a signal from the routing processor 201 in a waiting state S901.
이때, 포워딩 엔트리 추가 메시지인 AddFwdEntry(310)가 수신되면(S902) 자신의 포워딩 테이블에 해당 포워딩/인접 엔트리를 추가한다(S905).At this time, if AddFwdEntry 310, which is a forwarding entry addition message, is received (S902), the corresponding forwarding / adjacent entry is added to its own forwarding table (S905).
그리고, 포워딩 엔트리 삭제 메시지인 DelFwdEntry(311)가 수신된 경우에는(S903) 자신의 포워딩 테이블에서 해당 포워딩/인접 엔트리를 삭제한다(S906).When DelFwdEntry 311, which is a forwarding entry deletion message, is received (S903), the corresponding forwarding / adjacent entry is deleted from its own forwarding table (S906).
그리고, 라우팅 프로세서(201)로부터, 포워딩 엔트리 변경 메시지인ModFwdEntry(312)가 수신된 경우에는(S904), 자신의 포워딩 테이블에서 해당 포워딩/인접 엔트리를 변경한다(S907).When the ModFwdEntry 312 that is the forwarding entry change message is received from the routing processor 201 (S904), the corresponding forwarding / adjacent entry is changed in its own forwarding table (S907).
상기와 같이, 수신 메시지에 따른 포워딩 엔트리의 추가/삭제/변경 처리 후에는 다른 신호수신을 위해 대기상태로 들어간다(S908).As described above, after the addition / deletion / change processing of the forwarding entry according to the received message, the device enters a standby state for receiving another signal (S908).
상술한 도 5 내지 도 10의 절차를 통해서, 라우팅 프로세서(201)와, 모든 라인카드 프로세서(207)의 포워딩/인접 테이블의 테이터가 일치하게 된다.5 through 10 described above, the routing processor 201 and the data of the forwarding / adjacent tables of all the line card processors 207 are matched.
따라서, 상술한 바에 의하여 본원 발명은 고속 라우터 시스템에서 라우팅과 포워딩의 분리하여 병렬 포워딩 제공할 수 있으며, 더하여 분산 포워딩을 위한 포워딩/인접 테이블의 구성 및 관리가 용이하게 되고, 그 결과 분산포워딩이 가능해져 고속 포워딩을 제공할 수 있게 되는 우수한 효과가 있다. 또한, 상기 분산 포워딩에 의하여 고속 라우팅이 가능하게 됨으로서 다양한 인터페이스 제공이 가능해지는 효과가 있다.Accordingly, the present invention as described above can provide parallel forwarding by separating routing and forwarding in a high-speed router system, and in addition, it is easy to configure and manage the forwarding / adjacent table for distributed forwarding, and as a result distributed forwarding is possible. There is an excellent effect that can be provided to provide high-speed forwarding. In addition, it is possible to provide a variety of interfaces by enabling high-speed routing by the distributed forwarding.
또한, IPC 통신 기법을 적용하여 분산된 포워딩 테이블의 데이터에 일관성 을 제공할 수 있는 우수한 효과가 있다.In addition, by applying the IPC communication technique has an excellent effect that can provide consistency in the data of the distributed forwarding table.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0025789A KR100431206B1 (en) | 2002-05-10 | 2002-05-10 | Table management methode for distributed forwarding in high speed router |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0025789A KR100431206B1 (en) | 2002-05-10 | 2002-05-10 | Table management methode for distributed forwarding in high speed router |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030087434A KR20030087434A (en) | 2003-11-14 |
KR100431206B1 true KR100431206B1 (en) | 2004-05-12 |
Family
ID=32382280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0025789A KR100431206B1 (en) | 2002-05-10 | 2002-05-10 | Table management methode for distributed forwarding in high speed router |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100431206B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100617720B1 (en) * | 2002-11-30 | 2006-08-28 | 삼성전자주식회사 | Dynamic management method for forwarding information in distributed router architecture |
US7408933B2 (en) * | 2003-02-20 | 2008-08-05 | Samsung Electronics Co., Ltd. | Distributed router with ping-pong preventing function and ping-pong preventing method using the same |
KR100591107B1 (en) * | 2004-02-02 | 2006-06-19 | 삼성전자주식회사 | apparatus and method of routing processing in distributed router |
KR100779101B1 (en) * | 2005-12-07 | 2007-11-27 | 한국전자통신연구원 | Method for managing router advertisement in dispersed router and apparatus thereof |
KR100798926B1 (en) * | 2006-12-04 | 2008-01-29 | 한국전자통신연구원 | Apparatus and method for forwarding packet in packet switch system |
KR100792600B1 (en) * | 2006-12-08 | 2008-01-09 | 한국전자통신연구원 | Hardware binding cache apparatus for tunneling mobile node packet in the large scale home agent router and its method |
-
2002
- 2002-05-10 KR KR10-2002-0025789A patent/KR100431206B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20030087434A (en) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6577634B1 (en) | Method for sharing network information and a router apparatus | |
JP2003179626A (en) | Relay connection management program and relay connection management method | |
JP2020520612A (en) | Packet transmission method, edge device, and machine-readable storage medium | |
JP4759135B2 (en) | Distributed switch and connection control configuration and method for digital communication network | |
TWI599201B (en) | Network system and method for establishing data connection | |
CN103825826B (en) | The implementation method and device of a kind of dynamic routing | |
WO2021008591A1 (en) | Data transmission method, device, and system | |
US20180367440A1 (en) | Method and apparatus for determining next hop and advertising routing information | |
US20080205376A1 (en) | Redundant router having load sharing functionality | |
US8156209B1 (en) | Aggregation devices processing keep-alive messages of point-to-point sessions | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
KR100431206B1 (en) | Table management methode for distributed forwarding in high speed router | |
EP0969630B1 (en) | Method for sharing network information and router apparatus | |
CN107483628B (en) | DPDK-based one-way proxy method and system | |
US8396950B1 (en) | Method and apparatus for the fast detection of connectivity loss between devices in a network | |
CN112398754B (en) | Data transmission method, device, medium, electronic equipment and network access equipment | |
CN109951388B (en) | Routing uninterrupted method and main control board | |
KR100423391B1 (en) | A Processing Method of the Distributed Forwarding Table in the High Speed Router | |
CN113285878A (en) | Load sharing method and first network equipment | |
CN113497767A (en) | Method and device for transmitting data, computing equipment and storage medium | |
CN108234325B (en) | System based on IP anycast and message forwarding method | |
US9509559B2 (en) | Bandwidth control apparatus, bandwidth control method, and bandwidth control program | |
JP2000224260A (en) | Communication controller | |
CN111865801B (en) | Virtio port-based data transmission method and system | |
KR20040056378A (en) | Dual stack transition mechanism router and method for cache table |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100401 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |