KR100496988B1 - IPC message communication method in router system for transmitting IPC message using Ethernet switch - Google Patents

IPC message communication method in router system for transmitting IPC message using Ethernet switch Download PDF

Info

Publication number
KR100496988B1
KR100496988B1 KR10-2002-0079353A KR20020079353A KR100496988B1 KR 100496988 B1 KR100496988 B1 KR 100496988B1 KR 20020079353 A KR20020079353 A KR 20020079353A KR 100496988 B1 KR100496988 B1 KR 100496988B1
Authority
KR
South Korea
Prior art keywords
ethernet
received
frame
ethernet frame
type value
Prior art date
Application number
KR10-2002-0079353A
Other languages
Korean (ko)
Other versions
KR20040051425A (en
Inventor
박재우
이규호
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2002-0079353A priority Critical patent/KR100496988B1/en
Publication of KR20040051425A publication Critical patent/KR20040051425A/en
Application granted granted Critical
Publication of KR100496988B1 publication Critical patent/KR100496988B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 이더넷 스위치를 이용해 프로세서간 통신(IPC: Inter Processor Communication) 메시지를 전송하는 라우터 시스템에서의 프로세서간 통신 메시지 통신방법에 관한 것으로, 라인 카드와 메인 CPU 사이에서 이더넷 스위치를 통해 프로세서간 통신(IPC) 메시지를 송수신하는 라우터 시스템에서의 IPC 메시지 통신 방법에 있어서, 상기 라인카드에서 외부 패킷이 수신되면, 수신된 이더넷 프레임의 헤더 중에서 이더 타입 값에 오프셋(offset) 값을 더하고, 슬롯과 포트 정보만을 추가하여, 상기 이더넷 스위치로 전송하는 제1 단계; 상기 이더넷 스위치에서 수신된 이더넷 프레임을 체크하여, 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우에는 해당 포트로 전송하고, 그렇지 않을 경우에는 브로드캐스팅을 수행하는 제2 단계; 상기 메인 CPU는 상기 이더넷 스위치와 연결된 물리적 인터페이스를 프로미스큐어스(promiscuous) 모드로 설정한 상태에서 상기 이더넷 스위치를 통해 수신된 이더넷 프레임의 이더 타입값을 체크하는 제3 단계; 및 상기 제3 단계에서 이더타입값이 표준 이더타입값보다 큰 경우 목적지가 메인 CPU인 것으로 판단하여, 상기 수신된 이더넷 프레임에 추가된 슬롯, 포트정보를 이용하여 해당 가상 인터페이스로 전송하는 제4 단계를 포함한다.The present invention relates to an inter-processor communication message communication method in a router system that transmits an inter-processor communication (IPC) message using an Ethernet switch. In an IPC message communication method in a router system for transmitting and receiving IPC messages, when an external packet is received from the line card, an offset value is added to an ether type value among headers of the received Ethernet frame, and slot and port information is added. Adding only the first step to transmit to the Ethernet switch; A second step of checking an Ethernet frame received by the Ethernet switch and transmitting to a corresponding port if a destination MAC address exists in the cache by source running; otherwise, broadcasting is performed; A third step of the main CPU checking an ether type value of an Ethernet frame received through the Ethernet switch in a state in which a physical interface connected to the Ethernet switch is set to a promiscuous mode; And a fourth step of determining that the destination is the main CPU when the Ether type value is larger than the standard Ether type value in the third step, and using the slot and port information added to the received Ethernet frame to transmit to the corresponding virtual interface. It includes.

Description

이더넷 스위치를 이용해 프로세서간 통신(IPC) 메시지를 전송하는 라우터 시스템에서의 프로세서간 통신 메시지 통신방법{IPC message communication method in router system for transmitting IPC message using Ethernet switch} IPC message communication method in router system for transmitting IPC message using Ethernet switch}

본 발명은 이더넷 스위치를 이용해 프로세서간 통신(IPC: Inter Processor Communication) 메시지를 전송하는 라우터 시스템에서의 프로세서간 통신(IPC) 메시지 통신방법에 관한 것으로, 더욱 자세하게는 이더넷 스위치를 이용해 IPC 메시지를 전송하는 라우터 시스템에서 전송되는 프레임에 별도의 이더넷 프레임 헤더를 추가하지 않고, 플래그맨테이션(Fragmentation)을 사용하지 않으며, 외부로부터 입력된 프레임을 수정하여 메인 CPU에 전달하고, 최종적으로 메인 CPU의 운영체제에서 프레임을 처리할 경우에는 원래 외부에서 입력된 패킷과 동일한 패킷이 처리될 수 있도록 한 IPC 메시지 통신방법에 관한 것이다.The present invention relates to an interprocessor communication (IPC) message communication method in a router system for transmitting an interprocessor communication (IPC) message using an Ethernet switch, and more particularly, to transmit an IPC message using an Ethernet switch. It does not add a separate Ethernet frame header to the frame transmitted from the router system, does not use flagment, and modifies the frame input from the outside to the main CPU, and finally the frame in the operating system of the main CPU In case of processing, the present invention relates to an IPC message communication method for processing the same packet as the packet originally input from the outside.

도 1에서와 같은 라우터에 있어서, 메인 CPU(102)와 라인카드(103)사이에 이더넷 스위치를 마련하여, 이를 통해 IPC 메시지를 통신한다. 여기서, IPC 메시지는 시스템 내부에서만 처리되는 메시지와 외부의 네트워크 노드와의 사이에서 처리되는 메시지 2가지로 분류된다. 외부의 네트워크 노드와의 메시지에는 도 2와 같이 외부의 호스트/라우터(201)로부터 전달된 단순망관리프로토콜(SNMP: Simple Network Management Protocol) 패킷이나 라우팅 메시지와 같은 데이터 패킷(202)이 해당되며, 이들은 라우터 시스템 내부의 메인 CPU(102)로 그대로 전달되어야 한다.In the router as shown in FIG. 1, an Ethernet switch is provided between the main CPU 102 and the line card 103 to communicate an IPC message. Here, the IPC message is classified into two types: a message processed only within the system and a message processed between an external network node. A message to an external network node corresponds to a data packet 202 such as a Simple Network Management Protocol (SNMP) packet or a routing message delivered from an external host / router 201 as shown in FIG. They must be delivered as is to the main CPU 102 inside the router system.

종래에 외부의 호스트/라우터(201)등에서 메인 CPU(102)로 전달되는 패킷은 로컬 프로세서(105)에 의해 내부 IPC 용 헤더가 추가된 후에 이더넷 링크(109)에 연결된 이더넷 스위치(101)를 통하여 메인 CPU(102)로 전달되었다. 상기 메인 CPU(102)에는 실제로 IPC용 이더넷 스위치(101)에 연결되어 있는 이더넷을 이용하는 IPC 계층(206)이 존재하는데, 메인 CPU(102)의 IPC 계층(206)은 수신된 IPC 프레임(203)에서 도 3에 도시된 바와 같은 IPC용 이더넷 헤더 및 슬롯, 포트 정보를 제거한 후, 데이터 프레임(202)만을 메인 CPU의 운영체제(OS: Operating System)가 인식하는 가상 인터페이스(205) 계층으로 전달하였다. 이렇게 메인 CPU(102)에 가상 인터페이스층(205)을 추가하는 이유는 실제 물리적 인터페이스는 라인카드(103)에 장착되어 있지만, 라우터로 동작하기 위해서는 라우팅 프로토콜이 수행되는 메인 CPU(102)에서 직접 인터페이스를 가진 것처럼 보여주기 위해서이다. 도 2와 같이 메인 CPU(102)는 라인카드(103)에 연결되어 있는 물리적 인터페이스와 동일한 IP 주소(IP1) 및 MAC(MR1) 주소를 가지도록 설정된다.Conventionally, a packet transmitted from the external host / router 201 to the main CPU 102 is added through the Ethernet switch 101 connected to the Ethernet link 109 after the header for the internal IPC is added by the local processor 105. It is delivered to the main CPU 102. The main CPU 102 has an IPC layer 206 using Ethernet that is actually connected to the Ethernet switch 101 for IPC, and the IPC layer 206 of the main CPU 102 receives the received IPC frame 203. After removing the Ethernet header, slot, and port information for the IPC as shown in FIG. 3, only the data frame 202 is transferred to the virtual interface 205 layer recognized by an operating system (OS) of the main CPU. The reason for adding the virtual interface layer 205 to the main CPU 102 is that the actual physical interface is mounted on the line card 103, but in order to operate as a router, the interface directly from the main CPU 102 where a routing protocol is performed. To show that it has As shown in FIG. 2, the main CPU 102 is set to have the same IP address IP1 and MAC (MR1) address as the physical interface connected to the line card 103.

일반적으로 표준 이더넷 프레임 사이즈는 FCS(Frame Check Sequence)를 포함해서 1518바이트 혹은 VLAN 태그를 포함할 경우에는 1522 바이트의 크기를 가진다. 일반적인 이더넷 스위치(101)는 FCS를 포함하여 1530 혹은 1532정도의 크기보다 작은 이더넷 프레임만을 스위칭하며, 더 큰 사이즈의 프레임은 버리게 된다. 그런데 도 3과 같이 외부에서 들어온 프레임(202)에 IPC용 이더넷 프레임 헤더와 슬롯, 포트정보를 추가하여 내부 IPC 메시지를 구성하여 전송할 경우, 슬롯, 포트 정보가 1바이트를 차지하더라도 VLAN 태그가 없는 경우 1518 + 14 + 1 = 1533 바이트의 프레임 사이즈가 되어, 결국 이더넷 스위치(101)에서 프레임을 버리는 문제가 발생하였다. In general, the standard Ethernet frame size is 1518 bytes including the Frame Check Sequence (FCS) or 1522 bytes when the VLAN tag is included. The general Ethernet switch 101 switches only Ethernet frames smaller than about 1530 or 1532 size, including the FCS, and discards larger frames. However, when configuring an internal IPC message by adding an Ethernet frame header, slots, and port information for an IPC to the frame 202 coming from the outside as shown in FIG. 3, when there is no VLAN tag even if the slot and port information occupy 1 byte. The frame size of 1518 + 14 + 1 = 1533 bytes, resulting in the dropping of the frame in the Ethernet switch 101.

이와 같은 문제를 해결하기 위하여, 종래에는 프레임 내부의 데이터의 크기를 줄이거나 라인카드(103)와 메인 CPU(102)사이에서 플래그맨테이션(Fragmentation)에 의해서 MTU(Maximum Transfer Unit) 사이즈로 전송된 패킷에 전송하는 방식을 취하였다. 이 경우, 데이타 사이즈가 줄어드는 문제가 있다.In order to solve such a problem, conventionally, the size of data in a frame is reduced or transferred to the MTU (Maximum Transfer Unit) size by flagmentation between the line card 103 and the main CPU 102. The method of transmitting the packet is taken. In this case, there is a problem that the data size is reduced.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 그 목적은 별도의 이더넷 프레임 헤더의 추가 및 플래그맨테이션의 사용없이, 외부로부터 입력된 프레임의 이더타입값을 변경하여 메인 CPU에 전달함으로서 간단하게 메시지 구분이 가능한 이더넷 스위치를 이용해 프로세서간 통신(IPC) 메시지를 전송하는 라우터 시스템에서의 프로세서간 통신 메시지 통신 방법을 제공하는 것이다.The present invention is to solve the problems of the prior art as described above, its purpose is to change the Ether type value of the frame input from the outside to the main CPU without the addition of a separate Ethernet frame header and the use of flagment. By providing an inter-processor communication (IPC) message transmission method using an Ethernet switch that can be easily distinguished by providing a method for communication between processors in a router system.

상기 목적을 달성하기 위하여 본 발명은, 라인 카드와 메인 CPU 사이에서 이더넷 스위치를 통해 프로세서간 통신(IPC) 메시지를 통신하는 라우터 시스템에서의 프로세서간통신 메시지 통신방법에 있어서, 상기 라인카드에서 내부 IPC 메시지용 이더넷 프레임의 헤더 중 목적지 이더넷 주소와 근원지 이더넷 주소의 정보를 변경하지 않고, 상기 이더넷 프레임의 헤더 중에서 이더 타입 값에 오프셋(offset) 값을 더하고, 슬롯과 포트 항목을 추가하여, 수정된 이더넷 프레임을 상기 이더넷 스위치(101)로 전송하는 제1 단계; 상기 이더넷 스위치에서 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우에는 해당 포트로 전송하고, 그렇지 않을 경우에는 브로드캐스팅을 수행하는 제2 단계; 상기 메인 CPU가 상기 이더넷 스위치와 연결된 물리적 인터페이스를 프로미스큐어스(promiscuous) 모드로 설정한 상태에서 상기 이더넷 스위치를 통해 수신된 이더넷 프레임의 이더 타입을 검사하여 상기 메인 CPU를 목적지로 하여 입력된 데이터 패킷인지 확인하는 제3 단계; 및 상기 제3 단계에서 목적지가 상기 메인 CPU이면, 상기 수신된 이더넷 프레임에 추가된 슬롯, 포트정보를 이용하여 운영체제가 인식하는 어떤 가상 인터페이스로 패킷을 전송할 것인가를 판단한 후, 해당 인터페이스로 전송하는 제4 단계를 포함한다.In order to achieve the above object, the present invention provides an interprocessor communication message communication method in a router system for communicating an interprocessor communication (IPC) message between an line card and a main CPU through an Ethernet switch, wherein the internal IPC in the line card is used. Modified Ethernet by adding an offset value to the Ether type value and adding a slot and a port item in the header of the Ethernet frame without changing the information of the destination Ethernet address and the source Ethernet address in the header of the Ethernet frame for the message. Transmitting a frame to the Ethernet switch (101); A second step of transmitting to a corresponding port if a destination MAC address exists in the cache by source running in the Ethernet switch; otherwise, broadcasting is performed; Data entered by targeting the main CPU as a destination by checking the ether type of the Ethernet frame received through the Ethernet switch while the main CPU sets the physical interface connected to the Ethernet switch to the promiscuous mode. Determining whether the packet is a third step; And in the third step, if the destination is the main CPU, determining which virtual interface is recognized by the operating system using a slot and port information added to the received Ethernet frame, and transmitting the packet to the corresponding interface. It includes four steps.

또한, 본 발명은, 라인 카드와 메인 CPU 사이에서 이더넷 스위치를 통해 프로세서간 통신(IPC) 메시지를 통신하는 라우터 시스템에서, 상기 라인카드에서 내부 IPC 메시지용 이더넷 프레임의 헤더 중 목적지 이더넷 주소와 근원지 이더넷 주소의 정보를 변경하지 않고, 상기 이더넷 프레임의 헤더 중에서 이더 타입 값에 오프셋(offset) 값을 더하고, 슬롯과 포트 항목을 추가하여, 수정된 이더넷 프레임을 상기 이더넷 스위치(101)로 전송하는 제1 단계; 상기 이더넷 스위치에서 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우에는 해당 포트로 전송하고, 그렇지 않을 경우에는 브로드캐스팅을 수행하는 제2 단계; 상기 메인 CPU가 상기 이더넷 스위치와 연결된 물리적 인터페이스를 프로미스큐어스(promiscuous) 모드로 설정한 상태에서 상기 이더넷 스위치를 통해 수신된 이더넷 프레임의 이더 타입을 검사하여 상기 메인 CPU를 목적지로 하여 입력된 데이터 패킷인지 확인하는 제3 단계; 및 상기 제3 단계에서 목적지가 상기 메인 CPU이면, 상기 수신된 이더넷 프레임에 추가된 슬롯, 포트정보를 이용하여 운영체제가 인식하는 어떤 가상 인터페이스로 패킷을 전송할 것인가를 판단한 후, 해당 인터페이스로 전송하는 제4 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention, in the router system for communicating an inter-processor communication (IPC) message between the line card and the main CPU through the Ethernet switch, the destination Ethernet address and the source Ethernet in the header of the Ethernet frame for the internal IPC message in the line card A first method of transmitting a modified Ethernet frame to the Ethernet switch 101 by adding an offset value to an ether type value and adding a slot and a port item in the header of the Ethernet frame without changing the information of the address. step; A second step of transmitting to a corresponding port if a destination MAC address exists in the cache by source running in the Ethernet switch; otherwise, broadcasting is performed; Data entered by targeting the main CPU as a destination by checking the ether type of the Ethernet frame received through the Ethernet switch while the main CPU sets the physical interface connected to the Ethernet switch to the promiscuous mode. Determining whether the packet is a third step; And in the third step, if the destination is the main CPU, determining which virtual interface is recognized by the operating system using a slot and port information added to the received Ethernet frame, and transmitting the packet to the corresponding interface. A computer readable recording medium having recorded thereon a program for executing step 4 is provided.

이하, 첨부된 도4 내지 도 6을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 4 to 6.

도2를 참조할 때, 종래 방식에서는 이더넷 스위치(101)의 관점에서 볼 경우 라인카드(103)가 연결되어 있는 링크(109)에서는 MAC 주소가 MV1, 메인 CPU(102)가 연결되어 있는 링크(110)에서는 MV0만이 보이게 된다.Referring to FIG. 2, in the conventional method, from the perspective of the Ethernet switch 101, in the link 109 to which the line card 103 is connected, the MAC address is MV1 and the link to which the main CPU 102 is connected ( At 110, only MV0 is visible.

이에 비해서 도 4에 도시한 본 발명에서는 이더넷 스위치(101)의 관점에서 볼 경우, 라인카드(103)가 연결되어 있는 링크(109)에는 외부의 호스트/라우터(201)의 MAC 주소인 MR2와, 라인카드(103)의 MAC주소인 MV1을 가지는 네트워크 노드가 존재하는 것처럼 보인다. 또한, 이더넷 링크(110)에서는 메인 CPU(102)의 인터페이스(402)가 가지는 인터페이스의 MAC 주소 MR1과 내부 IPC용으로 사용되는 MAC 주소 MV0를 가지게 된다. 이더넷 스위치(101)는 MAC 주소에서 소스 런닝(source learning) 방식에 의해서 스위칭할 목적지를 찾게 되며, 이더넷 스위치(101)의 내부 캐쉬(cache)에 입력된 프레임의 목적지 주소가 없는 경우에는 모든 포트로 브로드캐스팅을 수행한다.On the other hand, in the present invention shown in FIG. 4, in view of the Ethernet switch 101, the link 109 to which the line card 103 is connected has MR2, which is the MAC address of the external host / router 201, It appears that a network node with MV1, which is the MAC address of the line card 103, exists. In addition, the Ethernet link 110 has the MAC address MR1 of the interface of the interface 402 of the main CPU 102 and the MAC address MV0 used for the internal IPC. The Ethernet switch 101 finds a destination to be switched by the source learning method in the MAC address, and if there is no destination address of a frame input in the internal cache of the Ethernet switch 101, all ports are switched. Perform broadcasting.

도 4에 보인 바와 같이, 본 발명에 있어서, 메인 CPU(102)에는 IPC 계층이 없고, IPC 용 이더넷 링크가 연결되는 물리적 인터페이스(401), 즉 예를 들면 리눅스 운영체제에서는 eth0로 표현되는 이더넷 인터페이스와 가상 인터페이스(402)가 동일한 계층에 존재한다. 물리적 인터페이스(401)는 MAC 주소로 MV0을 가지며, 가상 인터페이스는 MR1을 가진다. 상기 물리적 인터페이스(401)는 프로미스큐어스 모드로 동작하므로, 모든 MAC 주소에 해당하는 프레임을 받아들일 수 있다. 물리적 인터페이스(401)와 가상 인터페이스(402) 사이의 멀티플렉싱은 이더 타입을 이용하여 수행된다. 가상 인터페이스(402)에서는 송수신된 프레임을 변환하는 기능을 가진다.As shown in FIG. 4, in the present invention, the main CPU 102 does not have an IPC layer, and a physical interface 401 to which an Ethernet link for IPC is connected, that is, an Ethernet interface represented by eth0 in the Linux operating system, for example. The virtual interface 402 is in the same layer. Physical interface 401 has MV0 as its MAC address and virtual interface has MR1. Since the physical interface 401 operates in a promiscuous mode, the physical interface 401 can accept frames corresponding to all MAC addresses. Multiplexing between the physical interface 401 and the virtual interface 402 is performed using an Ether type. The virtual interface 402 has a function of converting transmitted and received frames.

도 4의 라인카드(103)에서 IPC 드라이버(403)가 물리적 인터페이스로 입력되는 모든 패킷에 대해서 검사를 하여, 내부 IPC 메시지와 외부 IPC 메시지로 구분한 후, 내부 IPC 메시지인 경우에는 로컬 프로세서(105)로 전달하고, 외부 IPC 메시지인 경우에는 포워딩엔진(104)으로 전달하기 위한 포맷으로 프레임을 변환한 후, 포워딩 엔진(105)으로 전달하고, 포워딩 엔진(105)은 외부의 네트워크 노드(호스트 또는 라우터)로 전달한다. 상기 IPC 드라이버(403)는 외부 메시지에 대해서는 프레임을 변환하는데, 도 5의 프레임 구조에서 프레임(202)을 프레임(301)으로 변환하거나 프레임(202)을 프레임(302)으로 변환한다.In the line card 103 of FIG. 4, the IPC driver 403 inspects all packets inputted to the physical interface, classifies the packet into an internal IPC message and an external IPC message, and then the local processor 105 in the case of the internal IPC message. In the case of an external IPC message, the frame is converted into a format for forwarding to the forwarding engine 104, and then forwarded to the forwarding engine 105. The forwarding engine 105 transmits an external network node (host or Router). The IPC driver 403 converts a frame for an external message. In the frame structure of FIG. 5, the IPC driver 403 converts the frame 202 into the frame 301 or the frame 202 into the frame 302.

이더넷 프레임의 전송에 대해서 구체적인 예를 들어서 설명한다.The transmission of the Ethernet frame will be described with a specific example.

도 4와 같이 외부의 네트워크 노드인 호스트/라우터(201)에서 이더넷 인터페이스(107)를 이용하여 라우팅 메시지가 실린 IP 패킷(202)을 전송할 경우, 상기 IP 패킷(202)은 도 6의 이더넷 프레임 구조(601)를 가진다. 상기 라인카드(103)에 구비된 포워딩 엔진(104)은 상기 IP 패킷(202)를 수신하면, 라인카드(103) 자기 자신의 IP 주소인 IP1을 목적지로 하여 로컬 프로세서(105)로 전송한다. 이때, 상기 프레임은 로컬 프로세서(105)와 포워딩 엔진(104)과의 물리적인 연결(204)을 통하여 전송된다. 이어서 상기 프레임을 수신한 로컬 프로세서(105)에서는 수신된 이더넷 프레임(202)의 헤더 중 목적지 이더넷 주소와 근원지 이더넷 주소의 정보를 변경하지 않고, 이더넷 프레임(601)의 헤더 중에서 이더 타입값(예를 들어, 0x0806)을 사전에 설정된 오프셋(offset) 값을 더한 값으로 변환하고, 또한 해당 프레임이 어떤 라인카드의 어떤 포트에서 입력되었다는 정보인 슬롯과 포트 항목을 추가하여 수정된 이더넷 프레임(602)를 만든다. 그리고 이렇게 수정된 이더넷 프레임(602)을 이더넷 스위치(101)로 전송한다. 이때 이더넷스위치(101)로 전송되는 이더넷 프레임의 크기는 슬롯, 포트 정보가 2바이트를 차지하더라도 VLAN 태그가 없는 이더넷 프레임의 크기는 FCS를 포함하여도 1520 바이트가 되며, 따라서 이더넷 스위치(101)에서 정상적으로 스위칭 처리될 수 있다. 이때, 이더넷프레임의 이더타입값은 내부 IPC 메시지와 외부 패킷을 구분하는 기준으로 사용되며, 외부에서 전송되는 이더넷 프레임(602)의 이더 타입에는 충분히 큰 오프셋(offset) 값을 더함으로서, 상기 이더타입이 표준이더타입값보다 큰지 여부에 따라서 내부 IPC 메시지와 외부 패킷을 구분한다. 여기서 오프셋값은 변환된 이더타입값이 표준 이더타입값보다 커지도록 설정된다. 이어, 상기 이더넷 프레임(602)을 수신한 이더넷 스위치(101)는 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우에는 해당 포트로 전송하고, 그렇지 않을 경우에는 브로드캐스팅을 한다.As shown in FIG. 4, when the host / router 201, which is an external network node, transmits an IP packet 202 including a routing message using the Ethernet interface 107, the IP packet 202 has an Ethernet frame structure of FIG. 6. Has 601. When the forwarding engine 104 included in the line card 103 receives the IP packet 202, the forwarding engine 104 transmits the IP card 202, which is its own IP address, to the local processor 105 as a destination. The frame is then transmitted via a physical connection 204 between the local processor 105 and the forwarding engine 104. Subsequently, the local processor 105 receiving the frame does not change the information of the destination Ethernet address and the source Ethernet address in the headers of the received Ethernet frame 202, and does not change the Ether type value (for example, in the header of the Ethernet frame 601). For example, the modified Ethernet frame 602 can be converted by converting 0x0806 to a preset offset value, and adding slot and port entries indicating that the frame is input from which port of a line card. Make. The modified Ethernet frame 602 is transmitted to the Ethernet switch 101. At this time, the size of the Ethernet frame transmitted to the Ethernet switch 101 is 1520 bytes even if the slot, port information occupies 2 bytes, the size of the Ethernet frame without the VLAN tag is 1520 bytes, including the FCS, so in the Ethernet switch 101 It can be normally switched. At this time, the Ether type value of the Ethernet frame is used as a reference for distinguishing the internal IPC message and the external packet, and by adding a sufficiently large offset value to the Ether type of the Ethernet frame 602 transmitted from the outside, the Ether type The inner IPC message is distinguished from the outer packet according to whether or not this standard is larger than the value of the EtherType. The offset value is set so that the converted EtherType value is larger than the standard EtherType value. Subsequently, the Ethernet switch 101 receiving the Ethernet frame 602 transmits to the corresponding port if there is a destination MAC address in the cache by source running, and otherwise broadcasts.

다음으로 메인 CPU(102)는 이더넷 스위치(101)와 연결된 물리적으로 하나뿐인 이더넷 링크(110)의 인터페이스를 프로미스큐어스(promiscuous) 모드(mode)로 설정한다. 이더넷 인터페이스는 프로미스큐어스 모드로 설정되어야 해당 인터페이스에 설정된 MAC 주소 이외의 이더넷 프레임을 수신할 수 있다. 상기 메인 CPU(102)는 이더넷 프레임(602)을 수신하면, 먼저 이더 타입값이 기준값보다 큰지를 검사하고, 기준값보다 큰 경우에는 외부로부터 메인 CPU(102)를 목적지로 하여 입력된 데이터 패킷으로 인식한다. 따라서, 외부 패킷인 경우, 메인 CPU(102)는 수신된 프레임(602)에 추가된 슬롯, 포트정보를 이용하여 운영체제가 인식하는 어떤 가상 인터페이스로 패킷을 전송할 것인가를 판단한 후, 해당 인터페이스로 전송한다. 즉, 메인 CPU(102)는 라인카드(103)의 인터페이스와 일치하는 물리적 인터페이스(401)로 패킷을 전송한다. 이와 같은 방법에 의해서 운영체제에서는 하위의 구조에 관계없이 여러 개의 논리적인 가상 인터페이스를 가진 것으로 인식한다.Next, the main CPU 102 sets the interface of only one physically connected Ethernet link 110 to the Ethernet switch 101 in a promiscuous mode. The Ethernet interface must be set to promiscuous mode to receive Ethernet frames other than the MAC address set for the interface. When the main CPU 102 receives the Ethernet frame 602, it first checks whether the Ether type value is larger than the reference value. If the main CPU 102 is larger than the reference value, the main CPU 102 recognizes the external CPU as a data packet inputted to the main CPU 102 as a destination. do. Therefore, in the case of an external packet, the main CPU 102 determines which virtual interface the OS recognizes using the slot and port information added to the received frame 602 and transmits the packet to the corresponding interface. . That is, the main CPU 102 transmits the packet to the physical interface 401 that matches the interface of the line card 103. In this way, the operating system recognizes that it has several logical virtual interfaces regardless of the substructure.

도 4와 같이 외부의 네트워크 노드인 호스트/라우터(201)에서 이더넷 인터페이스(107)를 통해서 ARP(Address Resolution Protocol) 요청(Request) 메시지가 수신될 경우에는 도6의 601과 같이 이더넷 프레임의 목적지 주소가 브로드캐스팅 주소로 설정되어 있으므로, IPC용 이더넷 스위치(101)에서는 이더넷 링크(109)를 통하여 입력된 프레임(604)을 IPC용 이더넷 스위치(101)의 모든 포트로 전송하게 된다. 만일, 다른 라인카드에서 프레임(604)을 수신한 경우에는 이더 타입을 검사하여 이더 타입이 기준값보다 큰 경우에는 외부의 패킷으로 인식하고, 프레임(604)의 슬롯, 포트정보를 검사한다. 슬롯, 포트정보가 자신의 정보가 아닌 경우에는 해당 프레임을 수신하지 않으므로, 수신된 프레임은 폐기된다. 외부에서 입력된 패킷이나 프레임은 라인카드(103)와 메인 CPU(102)사이에서만 송수신 되며, 라인카드 사이에는 외부에서 입력된 패킷이 송수신되지 않는다. 그러므로, 라인카드(103)에서는 해당 라인카드의 슬롯, 포트정보가 아닌 프레임은 무조건 폐기한다. 다른 프레임을 받을 때와 마찬가지로 브로드캐스트 프레임에 대해서도 메인 CPU(102)에서는 수신된 프레임의 슬롯, 포트정보를 이용하여 해당 물리적 인터페이스(401)로 전송한다.When an ARP (Address Resolution Protocol) Request message is received from the host / router 201 which is an external network node through the Ethernet interface 107 as shown in FIG. 4, the destination address of the Ethernet frame as shown in 601 of FIG. 6. Since the IP address is set as a broadcasting address, the IPC Ethernet switch 101 transmits the frame 604 input through the Ethernet link 109 to all ports of the IPC Ethernet switch 101. If the frame 604 is received from another line card, the Ether type is checked. If the Ether type is larger than the reference value, it is recognized as an external packet, and the slot and port information of the frame 604 are examined. If the slot and the port information are not information of its own, the corresponding frame is not received, and thus the received frame is discarded. An externally input packet or frame is transmitted and received only between the line card 103 and the main CPU 102, and an externally input packet is not transmitted or received between the line cards. Therefore, in the line card 103, frames other than slots and port information of the line card are discarded unconditionally. As with other frames, the main CPU 102 transmits the broadcast frame to the corresponding physical interface 401 using the slot and port information of the received frame.

메인 CPU(102)에서는 물리적 인터페이스(401)를 통하여 외부의 네트워크 노드(201)로 패킷을 전송할 경우 운영체제에서는 일반적인 이더넷 프레임(202)을 생성한다. 메인 CPU(102)의 물리적 인터페이스에서 패킷을 전송시 도5의 프레임(301)과 같이 변경하여 프레임을 이더넷 스위치(101)로 전송한다.When the main CPU 102 transmits a packet to the external network node 201 through the physical interface 401, the operating system generates a general Ethernet frame 202. When the packet is transmitted in the physical interface of the main CPU 102, the packet is changed as shown in the frame 301 of FIG. 5 to transmit the frame to the Ethernet switch 101.

또한, 메인 CPU와 외부의 호스트 사이에 주고받는 데이터의 크기가 ARP 메시지와 같이 작을 경우에는 도 3의 종래의 IPC 메시지 구조 프레임(203)과 같이 사용할 수 있다. In addition, when the size of data exchanged between the main CPU and the external host is small, such as an ARP message, it may be used as the conventional IPC message structure frame 203 of FIG. 3.

상술한 바와 같이 본 발명에서는 이더넷 스위치(101)가 전달할 수 있는 프레임의 크기가 제한될 경우에 별도의 이더넷 프레임 헤더를 추가하지 않고, 플래그맨테이션(Fragmentation)을 사용하지 않으며, 외부로부터 입력된 프레임을 수정하여 메인 CPU에 전달함으로써, 최종적으로 메인 CPU의 운영체제에서 프레임을 처리할 경우에는 원래 외부에서 입력된 패킷과 동일한 패킷이 된다. 이와 같은 본 발명에서는 프레임의 MTU 사이즈가 작아지는 문제가 발생하지 않으며, 플래그맨테이션(Fragmentation)에 의해서 2번에 나누어서 IPC로 전송하는 방식을 사용할 경우 패킷 데이터의 크기가 큰 경우에는 2번에 나누어서 전송하므로 비효율적으로 전송하는 문제도 발생하지 않는다.As described above, in the present invention, when the size of a frame that can be transmitted by the Ethernet switch 101 is limited, an additional Ethernet frame header is not added, a flagment is not used, and a frame input from the outside. By modifying the value and delivering it to the main CPU, when the frame is finally processed by the operating system of the main CPU, the packet is identical to the packet originally input from the outside. In the present invention as described above, there is no problem that the MTU size of the frame is reduced, and when the packet data is large, the packet data is divided into two when using the scheme of transmitting the IPC by dividing it twice in accordance with the fragmentation. Because of the transmission, there is no problem of inefficient transmission.

도1은 일반적인 라우터 시스템의 블록 구성도이다.1 is a block diagram of a general router system.

도2는 종래의 이더넷 스위치를 통한 내부 IPC 메시지의 전송 과정을 설명하기 위한 도면이다.2 is a view for explaining a process of transmitting an internal IPC message through a conventional Ethernet switch.

도3은 종래의 이더넷 스위치를 통한 내부 IPC 메시지의 구조도이다.3 is a structural diagram of an internal IPC message through a conventional Ethernet switch.

도4는 본 발명에 따른 이더넷 스위치를 통한 IPC 메시지의 전송 과정을 설명하기 위한 도면이다.4 is a diagram illustrating a process of transmitting an IPC message through an Ethernet switch according to the present invention.

도5는 본 발명에 따른 내부 IPC 메시지의 구조도이다.5 is a structural diagram of an internal IPC message according to the present invention.

도6은 본 발명에 따른 내부 IPC 메시지의 예시도이다.6 is an exemplary diagram of an internal IPC message according to the present invention.

Claims (4)

라인 카드와 메인 CPU 사이에서 이더넷 스위치를 통해 프로세서간 통신(IPC) 메시지를 통신하는 라우터 시스템에서의 프로세서간통신(IPC) 메시지 통신방법에 있어서,In a method for communicating an interprocessor communication (IPC) message in a router system that communicates an interprocessor communication (IPC) message between an line card and a main CPU via an Ethernet switch, 상기 라인카드에서 외부 네트워크 노드로부터 이더넷 프레임이 수신되면, 상기 이더넷 프레임의 헤더 중에서 이더 타입 값을 사전에 설정된 오프셋(offset) 값을 더한 값으로 변환하고, 어떤 라인카드의 어떤 포트에서 입력되었다는 정보인 슬롯과 포트 정보를 추가하여, 상기 이더넷 스위치로 전송하는 제1 단계;When the Ethernet frame is received from an external network node in the line card, the Ethernet type value of the header of the Ethernet frame is converted into a value obtained by adding a preset offset value, and information input from a certain port of a line card. A first step of adding slot and port information to the Ethernet switch; 상기 이더넷 스위치는 라인카드로부터 이더넷 프레임이 수신되면, 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우, 상기 수신된 이더넷 프레임을 목적지에 대응하는 해당 포트로 전송하고, 그렇지 않을 경우에는 이더넷 프레임을 브로드캐스팅하는 제2 단계;When the Ethernet frame is received from the line card, the Ethernet switch transmits the received Ethernet frame to a corresponding port corresponding to the destination when the destination MAC address is in the cache by source running, otherwise, the Ethernet frame is broadcasted. A second step of casting; 상기 메인 CPU는 상기 이더넷 스위치와 연결된 물리적 인터페이스를 프로미스큐어스(promiscuous) 모드로 설정한 상태에서, 상기 이더넷 스위치로부터 이더넷 프레임이 수신되면, 수신된 이더넷 프레임의 이더 타입값이 이더넷 프레임의 표준 이더넷 값인지 아닌지를 판단하는 제3 단계; 및When the Ethernet frame is received from the Ethernet switch while the main CPU sets the physical interface connected to the Ethernet switch to the promiscuous mode, the Ethernet type value of the received Ethernet frame is the standard Ethernet of the Ethernet frame. Determining whether or not a value; And 상기 제3 단계에서 수신 프레임의 이더타입값이 표준 이더타입값 보다 크면 외부 노드에서 메인CPU를 목적지로 전송된 패킷으로 판단하고, 상기 수신된 이더넷 프레임에 추가되어 있는 슬롯, 포트정보를 이용하여 대응하는 가상 인터페이스로 패킷을 전송하는 제4 단계를 포함하는 것을 특징으로 하는 라우터 시스템에서의 프로세서간통신 메시지 통신방법.In the third step, if the Ether type value of the received frame is larger than the standard Ether type value, the external node determines the main CPU as a packet transmitted to the destination, and responds using slot and port information added to the received Ethernet frame. And a fourth step of transmitting a packet to a virtual interface. 제 1 항에 있어서,The method of claim 1, 상기 제2 단계에서 브로드캐스팅된 이더넷 프레임을 상기 라인 카드가 수신하면, 해당 라인카드는 수신된 이더넷 프레임의 이더 타입값을 체크하여, 상기 이더 타입값이 표준 이더타입값보다 큰 경우에는 외부 패킷으로 인식하고, 상기 수신된 프레임의 슬롯, 포트 정보를 검사하는 단계; 및When the line card receives the Ethernet frame broadcast in the second step, the line card checks the ether type value of the received ethernet frame, and if the ether type value is larger than the standard ether type value, the line card receives an external packet. Recognizing and inspecting slot and port information of the received frame; And 상기 슬롯, 포트 정보가 자신의 정보가 아니면 상기 수신된 프레임을 처리하지 않고 폐기하는 단계를 더 포함하는 것을 특징으로 하는 라우터 시스템에서의 프로세서간통신 메시지 통신방법.And discarding the received frame without processing the received frame if the slot and port information are not their own information. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 오프셋값은 해당 오프셋값이 더해져 변환된 이더타입값이 표준 이더타입값보다 크게 되도록 설정되는 것을 특징으로 하는 라우터 시스템에서의 프로세서간통신 메시지 통신방법.And the offset value is set such that the offset value is added so that the converted Ether type value is larger than the standard Ether type value. 라인 카드와 메인 CPU 사이에서 이더넷 스위치를 통해 프로세서간 통신(IPC) 메시지를 통신하는 라우터 시스템에서,In a router system that communicates interprocessor communication (IPC) messages through an Ethernet switch between the line card and the main CPU, 상기 라인카드에서 외부 네트워크 노드로부터 이더넷 프레임이 수신되면, 상기 이더넷 프레임의 헤더 중에서 이더 타입 값을 사전에 설정된 오프셋(offset) 값을 더한 값으로 변환하고, 어떤 라인카드의 어떤 포트에서 입력되었다는 정보인 슬롯과 포트 정보를 추가하여, 상기 이더넷 스위치로 전송하는 제1 단계;When the Ethernet frame is received from an external network node in the line card, the Ethernet type value of the header of the Ethernet frame is converted into a value obtained by adding a preset offset value, and information input from a certain port of a line card. A first step of adding slot and port information to the Ethernet switch; 상기 이더넷 스위치는 라인카드로부터 이더넷 프레임이 수신되면, 소스 런닝에 의해서 캐쉬에 목적지 MAC 주소가 있을 경우, 상기 수신된 이더넷 프레임을 목적지에 대응하는 해당 포트로 전송하고, 그렇지 않을 경우에는 이더넷 프레임을 브로드캐스팅하는 제2 단계;When the Ethernet frame is received from the line card, the Ethernet switch transmits the received Ethernet frame to a corresponding port corresponding to the destination when the destination MAC address is in the cache by source running, otherwise, the Ethernet frame is broadcasted. A second step of casting; 상기 메인 CPU는 상기 이더넷 스위치와 연결된 물리적 인터페이스를 프로미스큐어스(promiscuous) 모드로 설정한 상태에서, 상기 이더넷 스위치로부터 이더넷 프레임이 수신되면, 수신된 이더넷 프레임의 이더 타입값이 표준 이더타입값보다 큰지를 판단하는 제3 단계; 및When the Ethernet frame is received from the Ethernet switch while the main CPU sets the physical interface connected to the Ethernet switch to the promiscuous mode, the Ether type value of the received Ethernet frame is higher than the standard Ether type value. Determining whether it is large; And 상기 제3 단계에서 수신 프레임의 이더타입값이 표준 이더타입값보다 크면 외부 노드서 메인CPU를 목적지로 전송된 패킷으로 판단하고, 상기 수신된 이더넷 프레임에 추가되어 있는 슬롯, 포트정보를 이용하여 대응하는 가상 인터페이스로 패킷을 전송하는 제4 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.In the third step, if the Ether type value of the received frame is larger than the standard Ether type value, the external CPU determines the main CPU as a packet transmitted to the destination, and responds using the slot and port information added to the received Ethernet frame. A computer-readable recording medium having recorded thereon a program for executing a fourth step of transmitting a packet to a virtual interface.
KR10-2002-0079353A 2002-12-12 2002-12-12 IPC message communication method in router system for transmitting IPC message using Ethernet switch KR100496988B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079353A KR100496988B1 (en) 2002-12-12 2002-12-12 IPC message communication method in router system for transmitting IPC message using Ethernet switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079353A KR100496988B1 (en) 2002-12-12 2002-12-12 IPC message communication method in router system for transmitting IPC message using Ethernet switch

Publications (2)

Publication Number Publication Date
KR20040051425A KR20040051425A (en) 2004-06-18
KR100496988B1 true KR100496988B1 (en) 2005-06-28

Family

ID=37345381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0079353A KR100496988B1 (en) 2002-12-12 2002-12-12 IPC message communication method in router system for transmitting IPC message using Ethernet switch

Country Status (1)

Country Link
KR (1) KR100496988B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100743126B1 (en) * 2005-02-25 2007-07-27 한국동서발전(주) Operation Apparatus for Operating Distributed Control System for Use in Power Plant

Also Published As

Publication number Publication date
KR20040051425A (en) 2004-06-18

Similar Documents

Publication Publication Date Title
US8908704B2 (en) Switch with dual-function management port
US9331936B2 (en) Switch fabric support for overlay network features
JP4898781B2 (en) Network communication for operating system partitions
US7570603B2 (en) Routing switch detecting change in session identifier before reconfiguring routing table
EP2412129B1 (en) Redundant host connection in a routed network
US7916723B2 (en) Automatic network topology identification by nodes in the network
KR100460672B1 (en) Line interface apparatus for 10 gigabit ethernet and control method thereof
US7830892B2 (en) VLAN translation in a network device
US9154586B2 (en) Method for parsing network packets having future defined tags
EP4231597A1 (en) Method for forwarding bier message, and device and system
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US6778540B1 (en) Facility for forwarding data from a network adapter to a router partition without internet protocol (ip) processing
US20230043721A1 (en) Packet Processing Method, Device, System, and Storage Medium
CN108471390B (en) Cross-board processing system for service message and redirection method for service message
CN108347392B (en) Cross-board processing method, device and system for service message
WO2022261881A1 (en) Network interface card management system, packet processing method, and device
KR20230017324A (en) BIER multicast traffic statistics collection method, device and system
US20230155933A1 (en) BIER OAM Detection Method, Device, and System
US20030123387A1 (en) Device and method for filtering network traffic
KR100496988B1 (en) IPC message communication method in router system for transmitting IPC message using Ethernet switch
EP4117242A1 (en) Message detection method, device and system
US7969994B2 (en) Method and apparatus for multiple connections to group of switches
WO2024051321A1 (en) Network isolation method and system, and related device
JP2006203735A (en) Communication device
US20230319168A1 (en) Hardware ethernet header verification

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110609

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee