KR101456605B1 - Packet Processing Apparatus Using Multi-Processor - Google Patents

Packet Processing Apparatus Using Multi-Processor Download PDF

Info

Publication number
KR101456605B1
KR101456605B1 KR1020120133002A KR20120133002A KR101456605B1 KR 101456605 B1 KR101456605 B1 KR 101456605B1 KR 1020120133002 A KR1020120133002 A KR 1020120133002A KR 20120133002 A KR20120133002 A KR 20120133002A KR 101456605 B1 KR101456605 B1 KR 101456605B1
Authority
KR
South Korea
Prior art keywords
packet
unit
control
processing
multiprocessor
Prior art date
Application number
KR1020120133002A
Other languages
Korean (ko)
Other versions
KR20130056839A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48664759&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101456605(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by (주)랜버드 테크놀러지 filed Critical (주)랜버드 테크놀러지
Publication of KR20130056839A publication Critical patent/KR20130056839A/en
Application granted granted Critical
Publication of KR101456605B1 publication Critical patent/KR101456605B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 멀티프로세서를 포함하는 플랫폼부와 상기 플랫폼부의 상위 계층에 마련되는 데이터플레인(Data Plane)과 제어플레인(Control Plane)을 포함하는 멀티프로세서를 이용한 패킷 처리 장치에 관한 것으로서, 상기 제어플레인으로 수신되는 패킷은 상기 플랫폼부를 통해 상기 데이터플레인으로 전달되되, 데이터 패킷과 컨트롤 패킷으로 구분되어 처리되는 것을 특징으로 한다.
이에 의해, 멀티프로세서의 하드웨어 기반에 패스트 패스 코드(Fast Path Code) 기능을 구현한 소프트웨어 구조를 부가함으로써, 고속 패킷 처리가 구현될 수 있으며, 패킷을 그 종류에 따라 구분(제어부분으로 전달되어 제어 블럭에 영향을 주는 컨트롤 패킷과 정해진 명령으로 처리 후 다른 네트워크 장비로 포워딩되어야 하는 데이터 패킷을 구분)하여 처리함으로써, 고속 패킷 처리가 구현되는 효과를 발휘할 수 있다.
The present invention relates to a packet processing apparatus using a multiprocessor including a platform unit including a multiprocessor and a data plane and a control plane provided in an upper layer of the platform unit, The received packet is transmitted to the data plane through the platform unit, and is separated into a data packet and a control packet.
Accordingly, high-speed packet processing can be implemented by adding a software structure implementing a Fast Path Code function to the hardware base of the multiprocessor, and the packet can be classified according to its type A control packet affecting a block and a data packet to be forwarded to another network equipment after processing by a predetermined command) are processed and a high speed packet processing can be realized.

Description

멀티프로세서를 이용한 패킷 처리 장치{Packet Processing Apparatus Using Multi-Processor}[0001] The present invention relates to a packet processing apparatus using a multi-

본 발명은 멀티프로세서를 이용한 패킷 처리 장치에 관한 것으로서, 보다 상세하게는, 멀티프로세서에서 패스트 패스 코드(Fast Path Code)를 이용하여 패킷을 고속으로 처리하는 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a packet processing apparatus using a multiprocessor, and more particularly, to a packet processing apparatus using a Fast Path Code in a multiprocessor.

음성과 데이터 통합, 유무선 인터넷의 통합 등 새로운 형태의 인터넷 서비스의 출현으로 데이터 전송량과 지원하는 서비스의 종류가 날로 증가하고 있다. 이러한 환경에 맞추어 차세대 실리콘 칩인 네트워크 프로세서를 기반으로 한 새로운 네트워크 장비가 출현하였다.With the emergence of new types of Internet services such as voice and data integration and integration of wired and wireless Internet, the amount of data to be transmitted and the kinds of services supported are increasing day by day. New network equipment based on the network processor, a next-generation silicon chip, emerged in response to this environment.

상기 네트워크 프로세서는 입력포트에서 받은 패킷을 출력포트로 보내기 전에 다양한 방법으로 패킷을 처리할 수 있는 프로그래머블 프로세서(Programmable Processor), 즉, 프로그램을 입력할 수 있는 프로세서로서 ASIC(Application Specific Integrated Circuit) 수준의 고성능 패킷 처리 용량을 제공하는 동시에 프로그램을 통해 네트워크 사용자의 다양한 요구를 즉시 반영할 수 있는 장점을 가지는 패킷 포워딩 처리 프로세서이다. The network processor is a programmable processor capable of processing packets in various ways before sending a packet received from an input port to an output port, that is, a processor capable of inputting a program, which is an application specific integrated circuit (ASIC) It is a packet forwarding processor that has the advantage of providing high performance packet processing capacity and instantly reflecting various demands of network users through a program.

그러나, 전술한 하드웨어 칩(ASIC) 기반의 고속 패킷 처리는 그 기능성에 상당한 제약이 있을 뿐만 아니라, 지속적으로 발생하게 되는 기능추가에 유연하게 대응할 수 없다는 문제점이 있었다.However, the above-described high-speed packet processing based on the hardware chip (ASIC) has a problem in that it has a considerable restriction on its functionality and can not flexibly cope with the addition of functions that are continuously generated.

본 발명은 상기 문제점을 개선하기 위하여 창작된 것으로써, 본 발명의 목적은, 멀티프로세서의 하드웨어 기반에 패스트 패스 코드(Fast Path Code) 기능을 구현한 소프트웨어 구조를 부가함으로써, 고속 패킷 처리가 구현되는 멀티프로세서를 이용한 패킷 처리 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above problems, and it is an object of the present invention to provide a high speed packet processing apparatus and a method and system for implementing high speed packet processing by adding a software structure implementing Fast Path Code And to provide a packet processing apparatus using a multiprocessor.

본 발명의 또 다른 목적은, 패킷을 그 종류에 따라 구분(제어부분으로 전달되어 제어 블럭에 영향을 주는 컨트롤 패킷과 정해진 명령으로 처리 후 다른 네트워크 장비로 포워딩되어야 하는 데이터 패킷을 구분)하여 처리함으로써, 고속 패킷 처리가 구현되는 멀티프로세서를 이용한 패킷 처리 장치를 제공하는 데 있다. It is still another object of the present invention to provide a method and apparatus for classifying a packet according to its type (dividing a control packet, which is transferred to a control part, into a control packet and a predetermined command, And a packet processing apparatus using a multiprocessor in which high-speed packet processing is implemented.

상기 목적은, 본 발명에 따라, 멀티프로세서를 포함하는 플랫폼부와 상기 플랫폼부의 상위 계층에 마련되는 데이터플레인(Data Plane)과 제어플레인(Control Plane)을 포함하는 멀티프로세서를 이용한 패킷 처리 장치로서, 상기 제어플레인으로 수신되는 패킷은 상기 플랫폼부를 통해 상기 데이터플레인으로 전달되되, 데이터 패킷과 컨트롤 패킷으로 구분되어 처리되는 멀티프로세서를 이용한 패킷 처리 장치에 의해 달성될 수 있다.According to an aspect of the present invention, there is provided a packet processing apparatus using a multiprocessor including a platform unit including a multiprocessor and a data plane and a control plane provided in an upper layer of the platform unit, A packet received by the control plane is transmitted to the data plane through the platform unit, and the packet is divided into a data packet and a control packet and processed.

여기서, 상기 제어플레인은, 외부 장비와의 통신을 담당하는 패스트패스 컨트롤모듈(Fast Path Control Module)과; 상기 데이터플레인으로부터 전달된 컨트롤 패킷에 포함된 제어 신호를 처리하는 컨트롤블럭과; 통신망 장비를 네트워크를 통해 감시 및 제어하는 EMS(Element Management System)와 연동되기 위한 O&M(Operation and maintenance)블럭과; 패킷 포워딩을 제어하는 라우팅부;를 포함하여 마련될 수 있다.Here, the control plane includes a Fast Path Control Module (hereinafter referred to as " Fast Path Control Module " A control block for processing a control signal included in a control packet transmitted from the data plane; An operation and maintenance (O & M) block for interworking with an element management system (EMS) for monitoring and controlling network equipment through a network; And a routing unit for controlling packet forwarding.

또한, 상기 데이터플레인은, 수신패킷을 고속 처리하는 패스트패스(Fast Path)부와; 리눅스 커널이 상주하여 상기 패스트패스부로부터 전달된 컨트롤 패킷이 처리되는 슬로우패스(Slow Path)부를 포함하여 구성될 수 있다.The data plane may include a fast path unit for processing a received packet at a high speed; And a slow path unit in which a Linux kernel resides and a control packet transmitted from the FAST unit is processed.

여기서, 상기 패스트패스부는, 상기 플랫폼부로부터 입력된 패킷을 데이터 패킷과 컨트롤 패킷으로 구분하는 처리부와; 상기 처리부로부터 구분된 데이터 패킷을 전달받아 고속 처리를 수행하는 패스트패스코드(Fast Path Code)부를 포함할 수 있다.Here, the fast path unit may include: a processor for dividing a packet input from the platform unit into a data packet and a control packet; And a fast path code unit for receiving a data packet separated from the processing unit and performing high-speed processing.

또한, 상기 처리부에서 구분된 컨트롤 패킷은 상기 슬로우패스부의 리눅스 커널에서 처리되어 상기 컨트롤블럭으로 전달되며, 상기 처리부에서 구분된 데이터 패킷은 상기 패스트패스코드부에서 고속 처리되어 상기 플랫폼부로 전달 및 처리되도록 마련될 수 있다.In addition, the control packet classified by the processing unit is processed in the Linux kernel of the slow path unit and transferred to the control block, and the data packet classified by the processing unit is processed in the fast path code unit to be transferred and processed to the platform unit .

본 발명에 의해, 멀티프로세서의 하드웨어 기반에 패스트 패스 코드(Fast Path Code) 기능을 구현한 소프트웨어 구조를 부가함으로써, 고속 패킷 처리가 구현될 수 있다.According to the present invention, high-speed packet processing can be realized by adding a software structure that implements a Fast Path Code function on the hardware basis of the multiprocessor.

또한, 패킷을 그 종류에 따라 구분(제어부분으로 전달되어 제어 블럭에 영향을 주는 컨트롤 패킷과 정해진 명령으로 처리 후 다른 네트워크 장비로 포워딩되어야 하는 데이터 패킷을 구분)하여 처리함으로써, 고속 패킷 처리가 구현되는 멀티프로세서를 이용한 패킷 처리 장치를 제공하는 데 있다. In addition, by classifying the packet according to its type (by dividing the control packet, which is transferred to the control part, and the data packet to be forwarded to another network device after processing the control packet and the command, And a packet processing apparatus using the multi-processor.

첨부의 하기 도면들은, 전술한 발명의 상세한 설명과 함께 본 발명의 기술적 사상을 이해시키기 위한 것이므로, 본 발명은 하기 도면에 도시된 사항에 한정 해석되어서는 아니 된다.
도 1 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 블럭도이며,
도 2 는 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 IPv4 환경에서의 멀티프로세서의 퍼포먼스를 나타낸 그래프이며,
도 3 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 IPv6 환경에서의 멀티프로세서의 퍼포먼스를 나타낸 그래프이며,
도 4 는 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 패킷 필터링 성능 측정 결과를 나타낸 그래프이며,
도 5 는 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 구조를 나타낸 개략도이며,
도 6 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 패킷 처리 과정을 나타낸 개략도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
1 is a block diagram of a packet processing apparatus using a multiprocessor according to the present invention,
2 is a graph showing performance of a multiprocessor in an IPv4 environment of a packet processing apparatus using a multiprocessor according to the present invention,
3 is a graph illustrating the performance of a multiprocessor in an IPv6 environment of a packet processing apparatus using a multiprocessor according to the present invention,
4 is a graph showing packet filtering performance measurement results of a packet processing apparatus using a multiprocessor according to the present invention,
5 is a schematic diagram showing the structure of a packet processing apparatus using a multiprocessor according to the present invention,
6 is a schematic diagram illustrating a packet processing process of a packet processing apparatus using a multi-processor according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 구성을 상세히 설명하기로 한다. Hereinafter, the configuration of the present invention will be described in detail with reference to the accompanying drawings.

이에 앞서, 본 명세서 및 청구범위에 사용된 용어는 사전적인 의미로 한정 해석되어서는 아니되며, 발명자는 자신의 발명을 최선의 방법으로 설명하기 위해 용어의 개념을 적절히 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야 한다.Prior to this, the terms used in the specification and claims should not be construed in a dictionary sense, and the inventor may, on the principle that the concept of a term can be properly defined in order to explain its invention in the best way And should be construed in light of the meanings and concepts consistent with the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예 및 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 출원 시점에 있어 이들을 대체할 수 있는 다양한 균등물과 변형예들이 존재할 수 있음을 이해하여야 한다.
Therefore, the embodiments shown in the present specification and the drawings are only exemplary embodiments of the present invention, and not all of the technical ideas of the present invention are presented. Therefore, various equivalents It should be understood that water and variations may exist.

도 1 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 블럭도이다.1 is a block diagram of a packet processing apparatus using a multiprocessor according to the present invention.

도 1 을 참조하면, 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치는, 멀티프로세서를 포함하는 플랫폼부(100)와 상기 플랫폼부(100)의 상위 계층에 마련되는 데이터플레인(Data Plane)(200)과 제어플레인(Control Plane)(300)을 포함하는 멀티프로세서를 이용한 패킷 처리 장치로서, 상기 제어플레인(300)으로 수신되는 패킷은 상기 플랫폼부(100)를 통해 상기 데이터플레인(200)으로 전달되되, 데이터 패킷과 컨트롤 패킷으로 구분되어 처리되도록 마련될 수 있다.Referring to FIG. 1, a packet processing apparatus using a multiprocessor according to the present invention includes a platform unit 100 including a multi-processor, a data plane 200 provided in an upper layer of the platform unit 100, And a control plane 300. A packet received by the control plane 300 is transmitted to the data plane 200 through the platform unit 100 And can be arranged to be divided into a data packet and a control packet.

여기서, 상기 제어플레인(300)은, 외부 장비와의 통신을 담당하는 패스트패스 컨트롤모듈(Fast Path Control Module)(310)과; 상기 데이터플레인(200)으로부터 전달된 컨트롤 패킷에 포함된 제어 신호를 처리하는 컨트롤블럭(320)과; 통신망 장비를 네트워크를 통해 감시 및 제어하는 EMS(Element Management System)와 연동되기 위한 O&M(Operation and maintenance)블럭(330)과; 패킷 포워딩을 제어하는 라우팅부(340);를 포함하여 마련될 수 있다.Here, the control plane 300 includes: a Fast Path Control Module (310) responsible for communication with external equipment; A control block 320 for processing a control signal included in a control packet transmitted from the data plane 200; An operation and maintenance (O & M) block 330 for interworking with an element management system (EMS) for monitoring and controlling the network equipment through a network; And a routing unit 340 for controlling packet forwarding.

또한, 상기 데이터플레인(200)은, 수신패킷을 고속 처리하는 패스트패스(Fast Path)부(210)와; 리눅스 커널(222)이 상주하여 상기 패스트패스부(210)로부터 전달된 컨트롤 패킷이 처리되는 슬로우패스(Slow Path)부(220)를 포함하여 구성될 수 있다.In addition, the data plane 200 includes a Fast Path unit 210 for processing a received packet at a high speed; And a slow path unit 220 in which the Linux kernel 222 resides and a control packet transmitted from the fast path unit 210 is processed.

여기서, 상기 패스트패스부(210)는, 상기 플랫폼부(100)로부터 입력된 패킷을 데이터 패킷과 컨트롤 패킷으로 구분하는 처리부(212)와; 상기 처리부(212)로부터 구분된 데이터 패킷을 전달받아 고속 처리를 수행하는 패스트패스코드(Fast Path Code)부(214)를 포함할 수 있다.Here, the fast path unit 210 includes a processing unit 212 for dividing a packet input from the platform unit 100 into a data packet and a control packet; And a Fast Path Code unit 214 for receiving a data packet separated from the processing unit 212 and performing high-speed processing.

또한, 상기 처리부(212)에서 구분된 컨트롤 패킷은 상기 슬로우패스부(220)의 리눅스 커널(222)에서 처리되어 상기 컨트롤블럭(320)으로 전달되며, 상기 처리부(212)에서 구분된 데이터 패킷은 상기 패스트패스코드부(214)에서 고속 처리되어 상기 플랫폼부(100)로 전달 및 처리되도록 마련될 수 있다.The control packet divided in the processing unit 212 is processed in the Linux kernel 222 of the slow path unit 220 and transferred to the control block 320. The data packet The fast pass code unit 214 may be provided at a high speed to be transmitted to and processed by the platform unit 100.

여기서, 상기 패스트패스부(210)는 입력되는 패킷을 처리부(212)에서 데이터 패킷과 컨트롤 패킷으로 구분하고, 데이터 패킷(상대적으로 대용량)을 패스트패스부(210)의 패스트패스코드부(214)로 전달하여 고속 처리하며, 컨트롤 패킷을 슬로우패스부(220) 및 컨트롤 블럭(320)에 전달하여 처리하도록 마련될 수 있다.The fast path unit 210 divides an incoming packet into data packets and control packets in the processing unit 212 and transmits a data packet (a relatively large capacity) to the fast path code unit 214 of the fast path unit 210. [ And transmits the control packet to the slow path unit 220 and the control block 320 to process the control packet.

즉, 대용량 패킷(데이터 패킷)을 패스트패스코드부(214)에 의해 빠르게 처리함으로써 리눅스 운영체제 레벨에서 S/W적으로 패킷 처리시에 예상되는 처리 속도 저하 문제점을 효과적으로 개선함으로써 네트워크 서비스 제공자(Network Service Provider)가 요구하는 고성능, 고속, 고사양의 장비 요구사항을 만족시킬 수 있다.That is, by processing the large-capacity packet (data packet) quickly by the fast-pass code unit 214, it is possible to effectively reduce the processing speed degradation expected at the time of packet processing in a S / W fashion at the level of a Linux operating system, Providers can meet the high performance, high speed and high-end equipment requirements.

아울러, 리눅스 OS의 사용으로 프로토콜 스택, 관리 서비스 애플리케이션 프로그램 등과 같은 안정화된 핵심 소프트웨어 요소들을 재사용할 수 있으며, 다중프로세서를 고속으로 효과적으로 사용함으로써, 요구되는 시스템 성능을 만족할 수 있다.
In addition, the use of the Linux OS allows reuse of stable core software elements such as protocol stacks, management service application programs, etc., and satisfies the required system performance by effectively using multiple processors at high speeds.

도 2 는 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 IPv4 환경에서의 멀티프로세서의 퍼포먼스를 나타낸 그래프이며, 도 3 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 IPv6 환경에서의 멀티프로세서의 퍼포먼스를 나타낸 그래프이다.
FIG. 2 is a graph showing the performance of a multiprocessor in an IPv4 environment of a packet processing apparatus using a multiprocessor according to the present invention. FIG. 3 is a graph showing the performance of a multiprocessor in an IPv6 environment of a packet processing apparatus using a multiprocessor according to the present invention. This is a graph showing performance.

Performance Result
Performance Result

1) 목적1) Purpose

- LBATCA-NS1216 에서 FP-IPv4 L3 forwarding + Routing Suite(Quagga) IPv4 성능 측정- Measure FP-IPv4 L3 forwarding + Routing Suite (Quagga) IPv4 performance on LBATCA-NS1216

- LBATCA-NS1216에서 FP-IPv6 L3 forwarding + Routing Suite(Quagga) IPv6 성능 측정
- FP-IPv6 L3 forwarding + Routing Suite (Quagga) IPv6 performance measurement on LBATCA-NS1216

2) 시험환경2) Test environment

- Smartbits 6000B 1G 인터페이스 4포트를 이용하여 4Gbps traffic 을 NS1216에 인가- Smartbits 6000B 1G interface 4-ports using 4-Gbps traffic to the NS1216

- frame size 를 64byte에서 1518byte로 패킷 size 증가(including Ethernet header)- increase the packet size from 64 bytes to 1518 bytes (including Ethernet header)

- 패킷 size별 NS1216가 4G traffic을 처리할때 까지 CPU의 core 수를 최대 16개까지 증가
- Increase the number of CPU cores up to 16 until NS1216 processes 4G traffic per packet size

3) 결과3) Results

도 2 에서와 같이, 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 경우, 1Pv4 환경하에서 5 cores를 사용하였을 경우, 100%의 패킷 포워딩 능력을 보여주었으며, 도 3 에서와 같이, 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 경우, 1Pv6 환경하에서 11 cores를 사용하였을 경우, 100%의 패킷 포워딩 능력을 보여주었음을 확인할 수 있다.
As shown in FIG. 2, the packet processing apparatus using the multiprocessor according to the present invention showed 100% packet forwarding capability when 5 cores were used under 1Pv4 environment. As shown in FIG. 3, In the case of the multiprocessor packet processing device, it can be confirmed that the packet forwarding capability of 100 cores is shown when 11 cores is used under 1Pv6 environment.

도 4 는 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 패킷 필터링 성능 측정 결과를 나타낸 그래프이다.4 is a graph showing packet filtering performance measurement results of a packet processing apparatus using a multiprocessor according to the present invention.

도 4 에서와 같이, 본 발명에 따른 패스트 패스(FP)를 이용한 패킷 필터링과 일반 리눅스 아이피테이블의 패킷 필터링의 성능을 비교 분석하였다.As shown in FIG. 4, the performance of the packet filtering using Fast Pass (FP) according to the present invention and the packet filtering using the general Linux IP Table are compared and analyzed.

일반 리눅스의 경우, 10000RULE 구간에서 20000RULE 구간 사이에서 성능이 현격히 저하되며 그 이상 RULE이 증가될 수록 성능이 점점 저하되는 반면, 본 발명의 FP의 경우, 100000RULE까지 RULE이 증가되어도 성능에 이상이 없음을 확인할 수 있다.
In the case of general Linux, the performance is significantly lowered between 10000RULE and 20000RULE, and as the RULE increases, the performance decreases. On the other hand, in the case of the FP of the present invention, even if the RULE increases to 100000RULE, Can be confirmed.

도 5 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 구조를 나타낸 개략도이며, 도 6 은 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치의 패킷 처리 과정을 나타낸 개략도이다.FIG. 5 is a schematic diagram showing the structure of a packet processing apparatus using a multi-processor according to the present invention, and FIG. 6 is a schematic diagram showing a packet processing procedure of a packet processing apparatus using a multi-processor according to the present invention.

패킷 처리 장치의 구조를 분석해보면, 16개의 micro engine이 있으며, core 0,1은 slow path로써 CP(Control Plane)의 용도로 사용되어지고, core 2 ~ F는 fast path로써 DP(Data Plane)의 용도로 사용할 수 있다.When analyzing the structure of the packet processing device, there are 16 micro engines. Core 0,1 is used for CP (Control Plane) as a slow path, core 2 ~ F is used as a fast path, and DP (Data Plane) It can be used for applications.

각각의 인터페이스는 Group 0로 할당되며, Group에는 core 2 ~ F가 속해 있다. 인터페이스에서 들어오는 트래픽은 Group 0에 속해있는 core를 통해 패스트 패스 경로에서 처리되며, 패스트 패스에서 처리할 수 없거나, 리눅스에서 발생하는 트래픽은 Group F에 할당된 core 0,1을 통하여 슬로우 패스 경로를 통해 처리된다.
Each interface is assigned to Group 0, and Core 2 to F belong to Group. The traffic coming from the interface is processed in the fast path through the core belonging to Group 0 and can not be processed in Fast Path or the traffic generated in Linux is sent through the slow path path through core 0,1 assigned to Group F .

전술한 바와 같이, 본 발명에 따른 멀티프로세서를 이용한 패킷 처리 장치는, 멀티프로세서의 하드웨어 기반에 패스트 패스 코드(Fast Path Code) 기능을 구현한 소프트웨어 구조를 부가함으로써, 고속 패킷 처리가 구현될 수 있으며, 패킷을 그 종류에 따라 구분(제어부분으로 전달되어 제어 블럭에 영향을 주는 컨트롤 패킷과 정해진 명령으로 처리 후 다른 네트워크 장비로 포워딩되어야 하는 데이터 패킷을 구분)하여 처리함으로써, 고속 패킷 처리가 구현되는 효과를 발휘할 수 있다.
As described above, the packet processing apparatus using the multiprocessor according to the present invention can implement the high-speed packet processing by adding the software structure implementing the Fast Path Code function to the hardware base of the multiprocessor Speed packet processing is implemented by dividing the packet according to its type (by dividing a control packet that is transferred to the control section and processed into a predetermined command that affects the control block, and then classified as a data packet to be forwarded to another network device) Effect can be exerted.

이상, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명의 기술적 사상은 이러한 것에 한정되지 않으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해, 본 발명의 기술적 사상과 하기 될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형 실시가 가능할 것이다.While the present invention has been described with reference to the exemplary embodiments and the drawings, it is to be understood that the technical scope of the present invention is not limited to these embodiments and that various changes and modifications will be apparent to those skilled in the art. Various modifications and variations may be made without departing from the scope of the appended claims.

*도면의 주요부분에 대한 부호의 설명*
100 : 플랫폼부 200 : 데이터플레인
210 : 패스트패스부 212 : 처리부
214 : 패스트패스코드부 220 : 슬로우패스부
222 : 리눅스 커널 300 : 제어플레인
310 : 패스트패스 컨트롤모듈 320 : 컨트롤블럭
330 : O&M블럭 340 : 라우팅부
Description of the Related Art [0002]
100: Platform part 200: Data plane
210: fast pass section 212:
214: Fast pass code part 220: Slow path part
222: Linux kernel 300: control plane
310: Fast pass control module 320: Control block
330: O & M block 340:

Claims (5)

멀티프로세서를 포함하는 플랫폼부와 상기 플랫폼부의 상위 계층에 마련되는 데이터플레인(Data Plane)과 제어플레인(Control Plane)을 포함하는 멀티프로세서를 이용한 패킷 처리 장치로서,
상기 제어플레인으로 수신되는 패킷은 상기 플랫폼부를 통해 상기 데이터플레인으로 전달되되, 데이터 패킷과 컨트롤 패킷으로 구분되어 처리되며,
상기 제어플레인은,
외부 장비와의 통신을 담당하는 패스트패스 컨트롤모듈(Fast Path Control Module)과;
상기 데이터플레인으로부터 전달된 컨트롤 패킷에 포함된 제어 신호를 처리하는 컨트롤블럭과;
통신망 장비를 네트워크를 통해 감시 및 제어하는 EMS(Element Management System)와 연동되기 위한 O&M(Operation and maintenance)블럭과;
패킷 포워딩을 제어하는 라우팅부;를 포함하고,
상기 데이터플레인은,
수신패킷을 고속 처리하는 패스트패스(Fast Path)부와;
리눅스 커널이 상주하여 상기 패스트패스부로부터 전달된 컨트롤 패킷이 처리되는 슬로우패스(Slow Path)부를 포함하는 것을 특징으로 하는 멀티프로세서를 이용한 패킷 처리 장치.
1. A packet processing apparatus using a multiprocessor including a platform unit including a multiprocessor and a data plane and a control plane provided in an upper layer of the platform unit,
A packet received by the control plane is transmitted to the data plane through the platform unit,
Wherein the control plane includes:
A Fast Path Control Module for communicating with external equipment;
A control block for processing a control signal included in a control packet transmitted from the data plane;
An operation and maintenance (O & M) block for interworking with an element management system (EMS) for monitoring and controlling network equipment through a network;
And a routing unit for controlling packet forwarding,
The data plane includes:
A Fast Path unit for processing the received packet at high speed;
And a slow path unit in which a Linux kernel resides and a control packet transferred from the FAST unit is processed.
삭제delete 삭제delete 제 1 항에 있어서,
상기 패스트패스부는,
상기 플랫폼부로부터 입력된 패킷을 데이터 패킷과 컨트롤 패킷으로 구분하는 처리부와;
상기 처리부로부터 구분된 데이터 패킷을 전달받아 고속 처리를 수행하는 패스트패스코드(Fast Path Code)부를 포함하는 것을 특징으로 하는 멀티프로세서를 이용한 패킷 처리 장치.
The method according to claim 1,
The fast-
A processor for dividing a packet input from the platform into a data packet and a control packet;
And a fast path code unit for receiving the data packet separated from the processing unit and performing high-speed processing.
제 4 항에 있어서,
상기 처리부에서 구분된 컨트롤 패킷은 상기 슬로우패스부의 리눅스 커널에서 처리되어 상기 컨트롤블럭으로 전달되며, 상기 처리부에서 구분된 데이터 패킷은 상기 패스트패스코드부에서 고속 처리되어 상기 플랫폼부로 전달 및 처리되는 것을 특징으로 하는 멀티프로세서를 이용한 패킷 처리 장치.
5. The method of claim 4,
The control packet classified by the processing unit is processed in the Linux kernel of the slow path unit and transferred to the control block. The data packet distinguished in the processing unit is processed at high speed in the fast path code unit and transferred and processed to the platform unit A packet processing apparatus using a multiprocessor.
KR1020120133002A 2011-11-22 2012-11-22 Packet Processing Apparatus Using Multi-Processor KR101456605B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110121938 2011-11-22
KR20110121938 2011-11-22

Publications (2)

Publication Number Publication Date
KR20130056839A KR20130056839A (en) 2013-05-30
KR101456605B1 true KR101456605B1 (en) 2014-11-03

Family

ID=48664759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120133002A KR101456605B1 (en) 2011-11-22 2012-11-22 Packet Processing Apparatus Using Multi-Processor

Country Status (1)

Country Link
KR (1) KR101456605B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060092983A (en) * 2004-11-01 2006-08-23 루센트 테크놀러지스 인크 Softrouter dynamic binding protocol
KR101062148B1 (en) * 2009-07-20 2011-09-05 주식회사 윈스테크넷 Multiprocessor system for real time high speed packet processing and real time high speed packet processing method using same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060092983A (en) * 2004-11-01 2006-08-23 루센트 테크놀러지스 인크 Softrouter dynamic binding protocol
KR101062148B1 (en) * 2009-07-20 2011-09-05 주식회사 윈스테크넷 Multiprocessor system for real time high speed packet processing and real time high speed packet processing method using same

Also Published As

Publication number Publication date
KR20130056839A (en) 2013-05-30

Similar Documents

Publication Publication Date Title
US11677851B2 (en) Accelerated network packet processing
EP3226508B1 (en) Attack packet processing method, apparatus, and system
US7773510B2 (en) Application routing in a distributed compute environment
KR102586898B1 (en) Message processing method and apparatus, and relevant devices
EP2667545A1 (en) Network system, controller, switch, and traffic monitoring method
RU2012136586A (en) LOCAL IP ACCESS DIAGRAM
CN106685827B (en) Downlink message forwarding method and AP (access point) equipment
CN110557342B (en) Apparatus for analyzing and mitigating dropped packets
CN103763121A (en) Method and device for quickly issuing network configuration information
JP2017507374A (en) Network service processing method and network service processing apparatus
US20220329609A1 (en) Network Security Protection Method and Protection Device
CN105519058B (en) Controller, service node and data packet forwarding method
KR101456605B1 (en) Packet Processing Apparatus Using Multi-Processor
CN111262782B (en) Message processing method, device and equipment
Wang et al. Tualatin: Towards network security service provision in cloud datacenters
Zulfiqar et al. The Slow Path Needs an Accelerator Too!
Kamamura et al. Fast xFlow proxy: Exploring and visualizing deep inside of carrier traffic
CN117439953B (en) Equivalent cost multi-path selection system, method, equipment, cluster and medium
CN109547418B (en) Data transmission network system based on Software Defined Network (SDN)
Abbasmollaei et al. Normal and Resilient Mode FPGA-based Access Gateway Function Through P4-generated RTL
EP3761579A1 (en) Data transmission method and related apparatus
Deri et al. Towards monitoring programmability in future internet: Challenges and solutions
CN116546040A (en) Integrated Broadband Network Gateway (BNG) device for providing BNG control plane for one or more BNG user plane devices
JP2023177208A (en) Ethernet device capable of efficient transmission
Fusco et al. Towards Monitoring Programmability in Future Internet: challenges and solutions

Legal Events

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

Payment date: 20181001

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191015

Year of fee payment: 6