KR102078744B1 - Network interface card having hybrid architecture with multi-core processor and general purpose network controller - Google Patents

Network interface card having hybrid architecture with multi-core processor and general purpose network controller Download PDF

Info

Publication number
KR102078744B1
KR102078744B1 KR1020180029363A KR20180029363A KR102078744B1 KR 102078744 B1 KR102078744 B1 KR 102078744B1 KR 1020180029363 A KR1020180029363 A KR 1020180029363A KR 20180029363 A KR20180029363 A KR 20180029363A KR 102078744 B1 KR102078744 B1 KR 102078744B1
Authority
KR
South Korea
Prior art keywords
network
network interface
interface card
security
dpdk
Prior art date
Application number
KR1020180029363A
Other languages
Korean (ko)
Other versions
KR20190107978A (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 KR1020180029363A priority Critical patent/KR102078744B1/en
Publication of KR20190107978A publication Critical patent/KR20190107978A/en
Application granted granted Critical
Publication of KR102078744B1 publication Critical patent/KR102078744B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • H04L67/2861
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

멀티 코어 프로세서 및 범용 네트워크 컨트롤러 하이브리드 구조의 네트워크 인터페이스 카드가 개시된다. 일 실시 예에 따른 네트워크 인터페이스 카드는, 네트워크를 통한 패킷 송수신을 위한 네트워크 인터페이스와, 네트워크 보안 및 정보보호 기능을 가속화하는 멀티 코어 프로세서와, 다수의 운영체제 및 시스템에 대한 호환성을 제공하여 멀티 코어 프로세서를 위한 별도의 디바이스 드라이버가 필요 없는 범용 네트워크 컨트롤러를 포함한다.A network interface card of a multi-core processor and a universal network controller hybrid architecture is disclosed. The network interface card according to an embodiment provides a multi-core processor by providing a network interface for packet transmission and reception through a network, a multi-core processor for accelerating network security and information protection, and compatibility with a plurality of operating systems and systems. It includes a universal network controller that does not require a separate device driver.

Figure R1020180029363
Figure R1020180029363

Description

멀티 코어 프로세서 및 범용 네트워크 컨트롤러 하이브리드 구조의 네트워크 인터페이스 카드 {Network interface card having hybrid architecture with multi-core processor and general purpose network controller}Network interface card having hybrid architecture with multi-core processor and general purpose network controller

본 발명은 트래픽 처리 및 관리기술에 관한 것이다.The present invention relates to traffic processing and management technology.

최근 ICBM(IoT, Cloud, Big Data, Mobile)의 확대로 모든 사물이 네트워크 연결되고, 광대역 통신 서비스 수요가 급증함에 따라 사이버 보안 산업이 한층 주목 받고 있다. 특히 네트워크 보안, 정보보호 분야에서는 고도화되는 사이버 위협에 대응하기 위해서 대용량의 트래픽을 실시간으로 정밀하게 처리할 수 있는 성능을 요구하고 있다. 아울러 웹 2.0 인터넷 서비스의 확대로 암호화 트래픽이 50% 이상으로 증가하고 있어, 실시간 패킷 처리 성능이 더욱더 문제가 되고 있다. 그러나 대부분의 기업은 다중 CPU 성능에 의존한 서버 시스템을 이용한 어플라이언스(Appliance)를 제작하여 보안 소프트웨어를 공급하고 있어 성능 경쟁력 면에서 경쟁 열위를 면치 못하고 있다.Recently, with the expansion of ICBM (IoT, Cloud, Big Data, Mobile), all things are networked and the demand for broadband communication service is soaring. In particular, in the field of network security and information protection, in order to cope with advanced cyber threats, a performance that can accurately process a large amount of traffic in real time is required. In addition, encryption traffic has increased by more than 50% due to the expansion of Web 2.0 Internet services, making real-time packet processing performance more and more problematic. However, most companies are competing in terms of performance competitiveness by supplying security software by building appliances using server systems that rely on multi-CPU performance.

네트워크 인터페이스 카드(Network Interface Card: NIC)는 네트워크 인터페이스 컨트롤러(Network Interface Controller), 네트워크 어댑터(network adapter), 랜 카드, 랜 어댑터(LAN adapter) 등으로 불리는 컴퓨터 하드웨어 구성품으로서, 컴퓨터를 인터넷 또는 사내 망에 연결 시키기 위한 통신 기능을 제공한다. 최근 10기가급 이더넷 기술이 일반화됨에 따라 네트워크 어댑터의 네트워킹 프로토콜은 이더넷 기반으로 통합되고 있다. 침입 차단 시스템(Intrusion Prevention System: IPS), 내부 정보 유출 방지(Data Loss Prevention: DLP) 시스템과 같은 네트워크 보안 시스템의 네트워크 장비로서 패킷 처리 성능이 이슈가 되면서 해외 벤더를 중심으로 네트워크 보안 전용 네트워크 인터페이스 카드 제품이 출시되어 왔다.Network Interface Cards (NICs) are computer hardware components called network interface controllers, network adapters, network cards, LAN adapters, and LAN adapters. Provides a communication function for connecting to As the recent 10 Gigabit Ethernet technology has become commonplace, the networking protocols of network adapters are being integrated based on Ethernet. Network equipment for network security systems such as Intrusion Prevention System (IPS) and Data Loss Prevention (DLP) systems. Packet processing performance has become an issue, and network interface cards dedicated to network security have been developed. The product has been released.

인터넷 서비스의 경우, 데이터 보안을 위해 보안 소켓 계층(Secure Socket Layer: SSL)과 같은 개인정보 유지 프로토콜을 이용하고 있다. 사이버 공격의 상당수가 암호화된 네트워크 트래픽을 주요 공격 경로로 사용하고 있으며, 현재 보안 시스템은 SSL 트래픽 내부의 위협을 인식하거나 차단하지 못하고 있다. SSL 암복호화 기술은 어플라이언스 단독형으로 개발되어 복호화된 트래픽을 미러링 하여 침입 탐지 시스템(Intrusion Detection System: IDS), 침입 차단 시스템(Intrusion Prevention System: IPS), 내부 정보 유출 방지(Data Loss Prevention: DLP) 시스템, 포렌식(Forensic) 시스템 등의 보안장비들로 전송하는 방식으로 제품이 공급되고 있다. 단독형 어플라이언스 방식의 SSL 암복호화 솔루션은, 설치와 구성의 복잡성이 높고 장애 포인트가 증가한다. 따라서, SSL 암복호화 기술을 통합하는 방식의 솔루션을 개발하기 위해 노력하고 있으나, CPU와 메모리의 사용이 높은 SSL 암복호화 기술로 인해 성능적인 이슈가 발생하여 새로운 솔루션이 필요하다.In the case of Internet services, data security protocols such as Secure Socket Layer (SSL) are used for data security. Many cyber attacks use encrypted network traffic as their primary attack route, and current security systems do not recognize or block threats within SSL traffic. SSL encryption / decryption technology is developed as a standalone appliance, mirroring decrypted traffic to prevent intrusion detection systems (IDS), intrusion prevention systems (IPS), and data loss prevention (DLP). The products are supplied by transmitting them to security equipment such as systems and forensic systems. The standalone appliance SSL encryption and decryption solution has high installation and configuration complexity and increased failure points. Therefore, although efforts have been made to develop a solution that integrates SSL encryption / decryption technology, a new solution is needed due to a performance issue caused by SSL encryption / decryption technology that uses high CPU and memory.

일 실시 예에 따라, 네트워크 보안 솔루션의 성능저하 문제를 해결하기 위해 멀티 코어 프로세서 및 범용 네트워크 컨트롤러 하이브리드 구조의 네트워크 인터페이스 카드를 제안한다.According to an embodiment, to solve the performance degradation problem of a network security solution, a network interface card of a multi-core processor and a general-purpose network controller hybrid structure is proposed.

일 실시 예에 따른 네트워크 인터페이스 카드는, 네트워크를 통한 패킷 송수신을 위한 네트워크 인터페이스와, 네트워크 보안 및 정보보호 기능을 가속화하는 멀티 코어 프로세서와, 다수의 운영체제 및 시스템에 대한 호환성을 제공하여 멀티 코어 프로세서를 위한 별도의 디바이스 드라이버가 필요 없는 범용 네트워크 컨트롤러를 포함한다.The network interface card according to an embodiment provides a multi-core processor by providing a network interface for packet transmission and reception through a network, a multi-core processor for accelerating network security and information protection, and compatibility with a plurality of operating systems and systems. It includes a universal network controller that does not require a separate device driver.

네트워크 인터페이스는, 10Gbps 이더넷 4 포트를 지원할 수 있다.The network interface can support 10 Gbps Ethernet 4 ports.

멀티 코어 프로세서는, 트래픽의 암복호화 기능을 가속화하는 암복호화 가속기와, 패턴 매칭 기능을 가속화하는 패턴 매칭 가속기와, 보안 필터 기능을 가속화하는 보안 필터 가속기를 포함할 수 있다.The multi-core processor may include an encryption and decryption accelerator for accelerating the decryption function of the traffic, a pattern matching accelerator for accelerating the pattern matching function, and a security filter accelerator for accelerating the security filter function.

범용 네트워크 컨트롤러는, 네트워크 가상화 기능을 제공하여 멀티 코어 프로세서의 부하를 절감할 수 있다. 이때, 범용 네트워크 컨트롤러는 단일 루트 입출력 가상화(Single Root I/O Virtualization: SR-IOV) 기반의 네트워크 가상화 가속 기능을 제공할 수 있다.General-purpose network controllers can provide network virtualization to reduce the load on multi-core processors. In this case, the general-purpose network controller may provide a network virtualization acceleration function based on Single Root I / O Virtualization (SR-IOV).

범용 네트워크 컨트롤러는, 데이터 플레인 개발 키트(Data Plane Development Kit: DPDK, 이하 'DPDK'라 칭함) 기반 고속 병렬 패킷 처리 가속 기능을 제공할 수 있다. 범용 네트워크 컨트롤러는, DPDK 공개 소프트웨어를 통해, 서버 기반 네트워크 보안 및 정보보호 어플리케이션이 커널을 통과하여 직접 네트워크 인터페이스 카드에 액세스할 수 있도록 할 수 있다. 범용 네트워크 컨트롤러는, 클라우드 가상 서버의 네트워크 인터페이스의 가상 오픈 스위치(Open vSwitch: OvS) 가속 기능을 지원할 수 있다.The general purpose network controller may provide a high speed parallel packet processing acceleration function based on a Data Plane Development Kit (DPDK). General-purpose network controllers, via DPDK open software, can allow server-based network security and information security applications to access network interface cards directly through the kernel. The general purpose network controller may support a virtual Open vSwitch (OvS) acceleration function of a network interface of a cloud virtual server.

네트워크 인터페이스 카드는, 멀티 코어 프로세서에 보안 가속 기능을 오프로드하여 네트워크를 통해 송수신되는 트래픽을 대상으로 트래픽 암복호화 및 패턴 매칭을 포함한 전처리를 수행하고, 멀티 코어 프로세서를 통한 전처리 이후, 범용 네트워크 컨트롤러를 이용하여 DPDK 최적화를 포함한 트래픽 후처리를 수행하며 DPDK 공개 소프트웨어를 통해 고속 패킷 처리를 오프로드하여 네트워크 보안 및 정보보호 어플리케이션과 트래픽을 송수신할 수 있다.The network interface card offloads the security acceleration function to the multi-core processor to perform preprocessing including traffic decryption and pattern matching on the traffic transmitted and received through the network, and after preprocessing through the multi-core processor, Traffic post-processing, including DPDK optimization, can be used to offload high-speed packet processing via DPDK open software to send and receive traffic to and from network security and security applications.

다른 실시 예에 따른 네트워크 보안 및 정보보호 어플라이언스 시스템은, 네트워크 보안 및 정보보호 기능을 가속화하는 멀티 코어 프로세서와 다수의 운영체제 및 시스템에 대한 호환성을 제공하여 멀티 코어 프로세서를 위한 별도의 디바이스 드라이버가 필요 없는 범용 네트워크 컨트롤러를 포함하는 하이브리드 구조의 네트워크 인터페이스 카드와, 네트워크 인터페이스 카드가 장착된 네트워크 보안 및 정보보호 어플리케이션 서버를 포함한다.According to another embodiment of the present invention, a network security and information protection appliance system provides a compatibility with a plurality of operating systems and systems with a multi-core processor that accelerates network security and information protection so that a separate device driver is not required for the multi-core processor. A hybrid network interface card including a general purpose network controller and a network security and information security application server equipped with the network interface card are included.

네트워크 보안 및 정보보호 어플라이언스 서버는, 네트워크 인터페이스로부터 입력되는 패킷을 DPDK 공개 소프트웨어를 이용하여 병렬 처리함에 따라 부하를 제거하고, 불균일 메모리 접근(Non-Uniform Memory Access: NUMA)를 이용하여 패킷을 코어 별로 분산 처리할 수 있다.The network security and security appliance server removes the load by parallelizing the packets coming from the network interface using DPDK open software, and uses the non-uniform memory access (NUMA) to process the packets by core. Can be distributed processing.

멀티 코어 프로세서 및 범용 네트워크 컨트롤러 하이브리드 구조의 네트워크 인터페이스 카드를 제공함에 따라, 고성능을 요구하는 트래픽 암복호화, 패턴매칭 등과 같은 네트워크 보안 가속 기능을 오프로드(offload)하고, 고속 패킷 병렬 처리 기능을 오프로드 함에 따라, 네트워크 패킷 처리 성능 부하를 줄일 수 있다.By providing a network interface card with a hybrid architecture of multi-core processors and general-purpose network controllers, it offloads network security acceleration features such as traffic decryption and pattern matching that require high performance, and offloads high-speed packet parallelism. As a result, the network packet processing performance load can be reduced.

본 발명이 적용되는 분야는 다음과 같다. 네트워크 보안 제품 공급자에게, 네트워크 침입 탐지/차단(IDS/IPS) 시스템, 분산 서비스 거부 공격 방어(Anti-DDoS) 시스템, 네트워크 통합 보안(Unified Threat Management: UTM) 시스템, 차세대 방화벽(Next Generation Firewall)의 PCRE 패턴 매칭 가속 NIC 기능을 제공할 수 있다. 네트워크 정보보호 제품 공급자에게, 내부 정보 유출 방지(Data Loss Prevention: DLP) 시스템, 웹 방화벽 시스템, 이메일 필터 시스템, 데이터베이스 보안 시스템 등의 SSL 암복호화 가속 NIC 기능을 제공할 수 있다. 통신 사업자 및 서비스 사업자에게, 대용량 ISP 네트워크의 트래픽 수집·측정·제어·관리 시스템, 플로우 또는 응용 서비스 단위의 QoS 제어 및 관리 시스템, 인터넷 응용 어플리케이션 식별 시스템, 정밀 과금 정보 수집 및 측정 시스템 등의 URL, ACL 가속 NIC 기능을 제공할 수 있다. 나아가, 네트워크 가상화 기반의 클라우드 데이터 센터(Cloud Data Center)에서 클라우드 서버 시스템의 네트워크 보안 가속 NIC 기능을 제공할 수 있다.The field to which the present invention is applied is as follows. For network security product providers, network intrusion detection / blocking (IDS / IPS) systems, distributed denial of service attack defense (Anti-DDoS) systems, unified threat management (UTM) systems, and next generation firewalls It can provide PCRE pattern matching acceleration NIC function. Provide network information security product providers with SSL encryption and decryption acceleration NIC features such as internal data loss prevention (DLP) systems, web firewall systems, email filter systems, and database security systems. For telecommunication operators and service providers, URLs such as traffic collection, measurement, control, and management systems for large-capacity ISP networks, QoS control and management systems for flow or application services, Internet application identification systems, and precision billing information collection and measurement systems, It can provide ACL acceleration NIC function. Furthermore, the network virtualization-based cloud data center may provide a network security acceleration NIC function of a cloud server system.

도 1은 본 발명의 일 실시 예에 따른 네트워크 보안 및 정보 보안 가속을 위한 NIC의 개념도,
도 2는 본 발명의 일 실시 예에 따른 NIC의 하드웨어 구조도,
도 3은 본 발명의 일 실시 예에 따른 NIC의 하드웨어 외관도,
도 4는 본 발명의 일 실시 예에 따른 멀티 코어 프로세서의 구조도,
도 5는 본 발명의 일 실시 예에 따른 범용 네트워크 컨트롤러의 내부 구조도,
도 6은 본 발명의 일 실시 예에 따른 DPDK와 NUMA를 이용한 NIC와 보안 어플리케이션 간의 고속 패킷 송수신 프로세스를 도시한 참조도,
도 7은 본 발명의 일 실시 예에 따른 고속 병렬 패킷 처리 성능을 지원하기 위한 패킷 부하 분산 기술을 설명하기 위한 참조도,
도 8은 본 발명의 일 실시 예에 따른 네트워크 보안 가속을 위한 멀티 코어 프로세서를 내장한 NIC를 장착한 네트워크 보안 및 정보보호 어플라이언스 시스템의 구조도,
도 9는 본 발명의 일 실시 예에 따른 SSL 암복호화를 위한 HTTPS 프록시 가속 프로토콜 스택의 구조도,
도 10은 본 발명의 일 실시 예에 따른 PCRE/YARA 패턴 매칭 가속을 설명하기 위한 PCRE/YARA Construct 구조도,
도 11은 본 발명의 일 실시 예에 따른 가상 머신에 대한 가상 오픈 스위치(Open vSwitch: OvS) 가속 오프로드 구조도,
도 12는 본 발명의 일 실시 예에 따른 DPDK 공개 소프트웨어를 이용한 어플리케이션 구조 및 기능을 도시한 참조도,
도 13은 본 발명의 일 실시 예에 따른 SSL 암복호화 기능 내장형 NIC를 기존의 SSL 암복호화 기능 독립형 장비와 비교한 참조도이다.
1 is a conceptual diagram of a NIC for network security and information security acceleration according to an embodiment of the present invention;
2 is a hardware structural diagram of a NIC according to an embodiment of the present invention;
3 is a hardware appearance diagram of a NIC according to an embodiment of the present invention;
4 is a structural diagram of a multi-core processor according to an embodiment of the present invention;
5 is an internal structure diagram of a general purpose network controller according to an embodiment of the present invention;
6 is a reference diagram illustrating a fast packet transmission and reception process between a NIC and a security application using a DPDK and NUMA according to an embodiment of the present invention;
7 is a reference diagram for explaining a packet load balancing technique for supporting high speed parallel packet processing performance according to an embodiment of the present invention;
8 is a structural diagram of a network security and information protection appliance system equipped with a NIC with a multi-core processor for network security acceleration according to an embodiment of the present invention;
9 is a structural diagram of an HTTPS proxy acceleration protocol stack for SSL encryption and decryption according to an embodiment of the present invention;
10 is a structure diagram of a PCRE / YARA Construct for explaining PCRE / YARA pattern matching acceleration according to an embodiment of the present invention;
FIG. 11 is a schematic diagram of a virtual open switch (OvS) acceleration offload structure for a virtual machine according to one embodiment of the present invention; FIG.
12 is a reference diagram illustrating an application structure and a function using DPDK open software according to an embodiment of the present invention;
13 is a reference diagram comparing an SSL encryption / decryption function embedded NIC according to an embodiment of the present invention with a conventional SSL encryption / decryption function independent device.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be embodied in various different forms, and the present embodiments are only provided to complete the disclosure of the present invention and to provide general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present disclosure, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted, and the following terms are used in the embodiments of the present disclosure. Terms are defined in consideration of the function of the may vary depending on the user or operator's intention or custom. Therefore, the definition should be made based on the contents throughout the specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Combinations of each block of the block diagrams and respective steps of the flowcharts may be performed by computer program instructions (execution engine), which may be executed on a processor of a general purpose computer, special purpose computer or other programmable data processing equipment. As such, instructions executed through a processor of a computer or other programmable data processing equipment create means for performing the functions described in each block of the block diagram or in each step of the flowchart.

이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored therein to produce an article of manufacture containing instruction means for performing the functions described in each block of the block diagram or in each step of the flowchart.

그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And computer program instructions can also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps can be performed on the computer or other programmable data processing equipment to create a computer-implemented process that can be executed by the computer or other programmable data. Instructions for performing data processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing specific logical functions, and in some alternative embodiments referred to in blocks or steps It should be noted that the functions may occur out of order. For example, two blocks or steps shown in succession may in fact be executed substantially concurrently, and the blocks or steps may also be performed in the reverse order of the corresponding function as required.

이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention illustrated in the following may be modified in many different forms, the scope of the present invention is not limited to the embodiments described in the following. Embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art.

도 1은 본 발명의 일 실시 예에 따른 네트워크 보안 및 정보 보안 가속을 위한 네트워크 인터페이스 카드(Network Interface Card: NIC, 이하 'NIC'라 칭함) 의 개념도이다.1 is a conceptual diagram of a network interface card (Network Interface Card: NIC, hereinafter referred to as NIC) for network security and information security acceleration according to an embodiment of the present invention.

일 실시 예에 따른 NIC(1)는 네트워크 인터페이스(10), 멀티 코어 프로세서(12) 및 범용 네트워크 컨트롤러(14)를 포함하여, 멀티 코어 프로세서(12) 및 범용 네트워크 컨트롤러(14)로 구성된 하이브리드 구조를 가진다.The NIC 1 according to an embodiment includes a network interface 10, a multi-core processor 12, and a general-purpose network controller 14, and includes a hybrid structure including a multi-core processor 12 and a general-purpose network controller 14. Has

네트워크 인터페이스(10)는 네트워크와 인라인 연결되어 네트워크로부터 트래픽을 입력받으며, 멀티 10기가(Gbps) 급 네트워크 인라인 회선을 수용한다. 예를 들어, 네트워크 인터페이스(10)는 네트워크 이중화와, 대용량 비대칭 회선에 적용할 수 있는 10Gbps 이더넷(ethernet) 2 회선(4 포트)을 가진다.The network interface 10 is connected inline with a network to receive traffic from the network, and accommodates a multi 10 Gigabit (Gbps) network inline circuit. For example, the network interface 10 has a network redundancy and a 10 Gbps Ethernet 2 line (4 ports) applicable to a large capacity asymmetric line.

멀티 코어 프로세서(12)는 보안 가속을 위한 프로세서로서, NIC(1)에 임베디드 되어, 네트워크 보안 및 정보보호 기능을 가속화한다. 고성능 네트워크 보안 및 정보보호 가속의 예로서, 트래픽 암복호화 가속 기능, 패턴 매칭 가속 기능, 보안 필터 가속 기능 등이 있다. 네트워크 보안 및 정보보호 가속을 위해, NIC(1)는 멀티 코어 프로세서(12)에, 트래픽 암복호화 기능, 패턴 매칭 기능 및 보안 가속 기능을 가진 네트워크 보안 가속엔진을 임베디드 시킨다.The multi-core processor 12 is a processor for security acceleration and is embedded in the NIC 1 to accelerate network security and information protection functions. Examples of high performance network security and information protection acceleration include traffic encryption and decryption acceleration, pattern matching acceleration, and security filter acceleration. For network security and information acceleration, the NIC 1 embeds a network security acceleration engine in the multi-core processor 12 with traffic decryption, pattern matching, and security acceleration.

범용 네트워크 컨트롤러(14)는 데이터 플레인 개발 키트(Data Plane Development Kit: DPDK, 이하 'DPDK'라 칭함)를 지원하는 소프트웨어 개발 키트(Software Development Kit: SDK, 이하 'SDK'라 칭함)를 제공한다. 범용 네트워크 컨트롤러(14)는 업계 표준인 DPDK 기반의 고속 병렬 패킷 처리를 위해 DPDK 최적화를 지원한다.The general purpose network controller 14 provides a Software Development Kit (SDK), which supports a Data Plane Development Kit (DPDK), hereinafter referred to as DPDK. The general purpose network controller 14 supports DPDK optimization for high speed parallel packet processing based on the industry standard DPDK.

네트워크 보안 및 정보보호 어플리케이션(2)은 불균일 메모리 접근(Non-Uniform Memory Access: NUMA, 이하 'NUMA'라 칭함)과 같은 멀티 코어 프로세서의 병렬 처리 기술에 기반을 둔 서버 프로세서 환경에서, NIC(1)로부터 입력되는 패킷들을 코어 별로 분산시킬 수 있는 공개 소프트웨어인 DPDK 오픈 라이브러리(30) 기반의 부하 분산 기술을 제공한다.Network security and information security applications (2) are used in a server processor environment based on parallel processing technology of multi-core processors such as Non-Uniform Memory Access (NUMA, hereinafter referred to as 'NUMA'). It provides a load balancing technology based on the DPDK open library 30, which is an open software that can distribute the packets from the core by core.

본 발명은 전술한 기능들을 통해 고성능 네트워크 보안을 보장하고, 정보보호 어플라이언스의 핵심 기능을 제공할 수 있다. NIC(1)는 보안 가속 기능을 통합 지원함에 따라, 기존의 단순 네트워크 접속 기능만을 수행하는 저가의 일반 NIC와는 달리 지능화의 개념을 적용한 고성능 네트워크 보안 가속을 지원할 수 있다. 나아가, 서버 시스템을 기반으로 하는 다양한 네트워크 응용 어플라이언스 제품의 핵심 부품으로 적용되어, 시스템의 패킷 처리 성능 및 기능을 개선할 수 있다.The present invention can ensure high performance network security through the above-described functions, and can provide the core functions of the information protection appliance. The NIC 1 can support high-performance network security acceleration by applying the concept of intelligence unlike the low-cost general NIC that performs only simple network access functions by integrating the security acceleration function. Furthermore, it can be applied as a core component of various network application appliance products based on the server system, thereby improving the packet processing performance and function of the system.

도 2는 본 발명의 일 실시 예에 따른 NIC의 하드웨어 구조도이고, 도 3은 NIC의 하드웨어 외관도이다.2 is a hardware structural diagram of a NIC according to an embodiment of the present invention, Figure 3 is a hardware appearance of the NIC.

도 2 및 도 3을 참조하면, NIC(1)는 ① 멀티 10기가급 네트워크 인라인 회선을 수용한다. 예를 들어, NIC(1)는 네트워크 이중화, 대용량 비대칭 회선에 적용할 수 있는 10Gbps 2 회선(4 포트)을 수용할 수 있다. 네트워크 인터페이스(10)가 IEEE-802.3, 10Gbps 이더넷 4 포트를 지원하고, 네트워크 인터페이스 타입은 SFP+이다. 호스트 접속 방식은 PCIe(PCI Express) Gen2/3 ×8/×4/×1 lane을 사용한다.2 and 3, the NIC 1 accommodates 1-10 multi-line network inline circuits. For example, the NIC 1 can accommodate 10 Gbps 2 lines (4 ports) applicable to network redundancy and large capacity asymmetric lines. The network interface 10 supports IEEE-802.3, 10 Gbps Ethernet 4 port, and the network interface type is SFP +. The host access method uses PCIe (PCI Express) Gen2 / 3 × 8 / × 4 / × 1 lanes.

② 일 실시 예에 따른 NIC(1)는 멀티 코어 프로세서(12)를 통해 네트워크 보안 및 정보보호 가속 기능을 제공한다. 네트워크 보안 및 정보보호 가속 기능 예로서, 패킷의 L2/3/4 및 L7 심층 패킷 분석 기술에 기반한 SSL(Secure Socket Layer) 암복호화 가속, PCRE(Perl Compatible Regular Expressions)/YARA 패턴 매칭 가속, ACL(Access Control List)/URL(Uniform Resource Locator) 필터 가속 기능을 지원한다. 네트워크 가상화 가속 기능의 예로서, 클라우드 가상 서버의 네트워크 인터페이스의 가상 오픈 스위치(Open vSwitch: OvS, 이하 OvS라 칭함) 가속 기능을 지원한다. ② The NIC 1 according to an embodiment provides a network security and information protection acceleration function through the multi-core processor 12. Examples of network security and information security acceleration features include Secure Socket Layer (SSL) encryption acceleration based on L2 / 3/4 and L7 deep packet analysis of packets, Perl Compatible Regular Expressions (PCRE) / YARA pattern matching acceleration, and ACL ( Supports Access Control List (URL) / Uniform Resource Locator (URL) filter acceleration. As an example of the network virtualization acceleration function, the virtual open switch (OvS, hereinafter OvS) acceleration function of the network interface of the cloud virtual server is supported.

③ 일 실시 예에 따른 NIC(1)는 DPDK 최적화를 위한 범용 네트워크 컨트롤러(14)를 통해 업계 표준인 DPDK를 기반으로 고속 병렬 패킷 처리를 지원한다. 범용 네트워크 컨트롤러(14)는 상용 이더넷 칩(IEEE 802.3 Ethernet MAC)으로서, DPDK 기반 가상 네트워크와 호스트 인터페이스를 제공한다. 예를 들어, NIC(1)는 DPDK 오픈 라이브러리(30)를 통해 네트워크 보안 및 정보보호 어플리케이션(2)과 패킷을 고속으로 송수신한다.③ The NIC 1 according to an embodiment supports high-speed parallel packet processing based on an industry standard DPDK through a general-purpose network controller 14 for DPDK optimization. The general purpose network controller 14 is a commercial Ethernet chip (IEEE 802.3 Ethernet MAC), which provides a DPDK based virtual network and host interface. For example, the NIC 1 transmits and receives packets at high speed with the network security and information protection application 2 through the DPDK open library 30.

도 4는 본 발명의 일 실시 예에 따른 멀티 코어 프로세서의 구조도이다.4 is a structural diagram of a multi-core processor according to an embodiment of the present invention.

도 4를 참조하면, NIC에 내장되는 멀티 코어 프로세서(12)는 임베디드 소프트웨어 기반으로 유연한 구조의 고성능 네트워크 보안 오프로드 요구사항을 만족한다. 멀티 코어 프로세서(12)는 10Gbps 4 포트를 수용하고, 최대 40Gbps의 트래픽을 실시간으로 분석할 수 있는 프로세서 성능을 가진다.Referring to FIG. 4, the multi-core processor 12 embedded in the NIC satisfies the high performance network security offload requirement of a flexible structure based on embedded software. The multi-core processor 12 accommodates 10 Gbps 4 ports and has processor performance capable of analyzing traffic of up to 40 Gbps in real time.

멀티 코어 프로세서(12)는 네트워크 보안 가속엔진(120)을 포함한다. 일 실시 예에 따른 네트워크 보안 가속엔진(120)은 암복호화 가속기(122), 패턴 매칭 가속기(124) 및 보안 필터 가속기(126)를 포함한다.The multi-core processor 12 includes a network security acceleration engine 120. The network security accelerator engine 120 according to an embodiment includes an encryption / decryption accelerator 122, a pattern matching accelerator 124, and a security filter accelerator 126.

암복호화 가속기(122)는 SSL 트래픽의 암호화(Encrypt)/복호화(Decrypt)를 가속화한다. 예를 들어, 암복호화 가속기(122)는 SSL 암복호화 가속 기능을 제공한다. 패턴 매칭 가속기(124)는 PCRE/YARA 패턴 매칭을 가속화한다. 패턴 매칭 가속기(124)는 사용자 정의 시그니처 패턴을 실시간으로 검색하기 위해, PCRE/YARA 표준에 호환되는 패턴 매칭 가속 기술을 사용한다. 패턴 매칭 가속기(124)의 PCRE/YARA 패턴 매칭 가속에 대해서는 도 10을 참조로 하여 후술한다.Decryption accelerator 122 accelerates Encrypt / Decrypt SSL traffic. For example, decryption accelerator 122 provides SSL decryption acceleration functionality. Pattern matching accelerator 124 accelerates PCRE / YARA pattern matching. The pattern matching accelerator 124 uses pattern matching acceleration technology that is compliant with the PCRE / YARA standard to retrieve user-defined signature patterns in real time. PCRE / YARA pattern matching acceleration of the pattern matching accelerator 124 will be described later with reference to FIG. 10.

보안 필터 가속기(126)는 ACL/URL 필터 가속 기능을 지원한다. 네트워크 보안 시스템은 외부에서 유입되는 트래픽에 대한 L2/L3/L4/L7 계층으로 패킷 상세 분석을 수행하여 패킷의 악성 코드 감염 여부, 유해사이트 접근 여부를 판단해야 하며, 식별 결과에 따라 차단, 우회, 미러 등의 정책을 수행해야 한다. 본 발명에서는 멀티 코어 프로세서(12)의 보안 필터 가속기(126)를 이용하여 100만 엔트리 이상의 대용량 ACL 및 URL/IP 필터 가속 기능을 제공한다. 멀티 코어 프로세서(12)를 통해 네트워크 보안 가속의 안정성 및 성능을 확보할 수 있다.The security filter accelerator 126 supports ACL / URL filter acceleration. The network security system should perform detailed packet analysis on the L2 / L3 / L4 / L7 layer on the incoming traffic to determine whether the packet is infected with malicious code or access to harmful sites. You need to implement a policy, such as a mirror. In the present invention, the security filter accelerator 126 of the multi-core processor 12 provides a large ACL and URL / IP filter acceleration function of more than 1 million entries. The multi-core processor 12 may ensure the stability and performance of network security acceleration.

도 5는 본 발명의 일 실시 예에 따른 범용 네트워크 컨트롤러의 내부 구조도이다.5 is a diagram illustrating an internal structure of a general purpose network controller according to an exemplary embodiment.

도 5를 참조하면, 범용 네트워크 컨트롤러(14)는 상용 이더넷 칩셋을 채택하여 PCIe 입출력(I/O) 가속 기능을 제공한다. 고성능 멀티 CPU 서버의 네트워크 성능을 최대로 활용하기 위해 고속 병렬 패킷 처리를 위한 물리 기능(Physical Function: PF)과 가상 기능(Virtual Function: VF)을 지원한다. 범용 네트워크 컨트롤러(14)는 PCIe I/O 고속 병렬 패킷 처리 호스트 인터페이스를 제공하기 위해, 업계 표준으로 자리 잡은 DPDK와 호환되는 PCIe 인터페이스를 제공한다. 이에 따라, 기존 DPDK를 사용하는 네트워크 보안 어플리케이션에서 요구되었던 NIC 전용 디바이스 드라이버와 SDK 추가 개발 없이도 보안 가속 기능을 적용할 수 있다. 최근 서버 시스템과 멀티 코어 CPU 기술의 발전으로 서버 시스템의 멀티 코어를 활용하는 병렬 패킷 처리 라이브러리로 DPDK 오픈 라이브러리(DPDK open library)가 업계 표준으로 자리 잡고 있다. 본 발명은 보안 어플리케이션이 사용자 평면(user plane)의 DPDK 오픈 라이브러리를 통해 커널을 통과(pass)하여 직접 NIC에 액세스할 수 있음에 따라 고속 병렬 패킷 처리가 가능하다.Referring to FIG. 5, the general purpose network controller 14 employs a commercially available Ethernet chipset to provide PCIe input / output (I / O) acceleration. To maximize the network performance of high-performance multi-CPU servers, it supports physical function (PF) and virtual function (VF) for high speed parallel packet processing. The general purpose network controller 14 provides a PCIe interface that is compatible with the industry standard DPDK to provide a PCIe I / O high speed parallel packet processing host interface. As a result, security acceleration can be applied without the need for additional NIC-specific device drivers and SDKs required for network security applications using the DPDK. Recently, with the development of server system and multi-core CPU technology, the DPDK open library has become the industry standard as a parallel packet processing library utilizing the multi-core of the server system. The present invention enables high-speed parallel packet processing as the security application can directly access the NIC by passing the kernel through the DPDK open library in the user plane.

일 실시 예에 따른 범용 네트워크 컨트롤러(14)는 PCIe 단일 루트 입출력 가상화(Single Root I/O Virtualization: SR-IOV, 이하 'SR-IOV'라 칭함) 기반의 네트워크 가상화를 지원하는 SR-IOV PCIe 엔드포인트(endpoint)(140)를 포함한다. SR-IOV PCIe 엔드포인트(140)는 PCIe Gen2/3 ×8/×4/×1 lane을 통해 호스트 메모리(20)에 호스트 접속하여, 호스트 메모리(20)의 물리기능 객체(PF object)와 가상기능 객체(VF Object)에 접근한다. 가상화에서 SR-IOV는 관리 용이성 및 성능상의 이유로 PCIe 리소스를 격리할 수 있는 사양이다. 단일 물리적 PCIe는 SR-IOV 사양을 사용하여 가상환경에서 공유할 수 있다. SR-IOV는 물리적 서버 컴퓨터의 서로 다른 가상 구성 요소(예: 네트워크 어댑터)에 서로 다른 가상 기능을 제공한다. SR-IOV를 사용하면 가상환경의 여러 가상장치(VMs)가 단일 PCIe 하드웨어 인터페이스를 공유할 수 있다.Universal network controller 14 according to an embodiment SR-IOV PCIe end that supports network virtualization based on PCIe Single Root I / O Virtualization (SR-IOV, hereinafter referred to as SR-IOV) An endpoint 140. The SR-IOV PCIe endpoint 140 connects to the host memory 20 through the PCIe Gen2 / 3 x8 / x4 / x1 lanes, whereby the PF object and the virtual object of the host memory 20 are virtual. Access the function object (VF Object). In virtualization, SR-IOV is a specification that can isolate PCIe resources for manageability and performance reasons. A single physical PCIe can be shared in a virtual environment using the SR-IOV specification. SR-IOV provides different virtual functions to different virtual components (such as network adapters) on the physical server computer. SR-IOV allows multiple virtual machines (VMs) in a virtual environment to share a single PCIe hardware interface.

도 6은 본 발명의 일 실시 예에 따른 DPDK와 NUMA를 이용한 NIC와 보안 어플리케이션 간의 고속 패킷 송수신 프로세스를 도시한 참조도로, 세부적으로, 도 6의 (a)는 종래 NIC와 보안 어플리케이션 간의 패킷 송수신 프로세스를 도시한 것이고, 도 6의 (b)는 본 발명의 일 실시 예에 따른 멀티 코어 프로세서가 내장된 NIC와 보안 어플리케이션 간의 고속 패킷 송수신 프로세스를 도시한 것이다.6 is a reference diagram illustrating a fast packet transmission and reception process between a NIC and a security application using a DPDK and NUMA according to an embodiment of the present invention. In detail, FIG. 6A illustrates a packet transmission and reception process between a conventional NIC and a security application. 6B illustrates a high-speed packet transmission / reception process between a NIC and a security application in which a multi-core processor is installed according to an embodiment of the present invention.

도 6을 참조하면, 일 실시 예에 따른 네트워크 시스템은 멀티 CPU 서버 시스템의 프로세서 자원을 최대한 활용하여 네트워크 보안 어플라이언스의 성능을 향상시키기 위해 DPDK 공개 소프트웨어를 이용한다. DPDK 공개 소프트웨어는 DPDK 오픈 라이브러리를 포함한다. 네트워크에서 수신된 패킷을 보안 어플리케이션으로 송수신함에 있어 시스템(예를 들어 리눅스 운영체제)의 스케줄링, 메모리 복사, 인터럽트 등의 부하를 제거하고, 보안 어플리케이션에 메모리와 CPU를 고정 할당하는 NUMA 방법으로 패킷을 분산 처리하여 최대의 성능을 얻을 수 있다.Referring to FIG. 6, a network system according to an embodiment uses DPDK open software to improve performance of a network security appliance by making full use of processor resources of a multi-CPU server system. DPDK open source software includes the DPDK open library. In order to send and receive the packet received from the network to the security application, it removes the load such as scheduling, memory copy, interrupt of the system (for example, Linux operating system), and distributes the packet by NUMA method that allocates memory and CPU to the security application. Processing for maximum performance.

네트워크 시스템은 하드웨어 공간(Hardware Space)과, 운영 시스템 커널 공간(Operating System Kernel Space)과, 사용자 공간(User Space)으로 구분할 수 있다. 하드웨어 공간(Hardware Space)은 NIC를 포함하고, 운영 시스템 커널 공간(Operating System Kernel Space)은 네트워킹 모듈(Networking Module)과 디바이스 드라이버(Device Driver)를 포함하며, 사용자 공간(User Space)은 서버 기반 어플리케이션(예를 들어 보안 어플리케이션)을 포함한다.The network system may be classified into a hardware space, an operating system kernel space, and a user space. The hardware space includes a NIC, the operating system kernel space includes a networking module and a device driver, and the user space includes a server-based application. (For example, security applications).

도 6의 (a)에 도시된 바와 같이, 종래 NIC는 보안 어플리케이션과의 패킷 송수신 시에, (1) 디바이스 드라이버 오버헤드, (2) 프로토콜 스택 오버헤드 및 (3)커널(Kernel)/사용자(User) 메모리 카피 오버헤드가 발생한다. 이에 따라, 서버 CPU의 패킷 처리 성능에 한계가 발생한다. 이에 비해, 도 6의 (b)에 도시된 바와 같이, 일 실시 예에 따른 NIC(1)는 범용 네트워크 컨트롤러의 패킷 처리 엔진을 통해 PCIe I/O, 커널의 스케줄링, 메모리 복사, 인터럽트 등의 부하를 제거한다. NIC(1)는 멀티 코어 프로세서의 네트워크 보안 가속엔진을 통해 패킷 처리 부하를 오프로드(offload) 한다. 네트워크 보안 가속엔진은 필터링(filtering), 컬러링(Coloring), 샘플링(Sampling), 패턴 매칭(Pattern Matching), TCP/IP 오프로드(TCP/IP offload), 고정밀 심층 패킷 분석(Deep Packet Inspection: DPI, 이하 'DPI'라 칭함) 오프로드(DPI offload) 등을 수행한다. 이때, DPI 기술에 기반한 SSL 암복호화, PCRE 패턴 매칭과 같은 핵심 네트워크 보안 기술을 NIC와 같은 반제품으로 오프로드하여 완제품에 해당하는 어플라이언스 시스템 성능과 용량을 높인다.As shown in (a) of FIG. 6, the conventional NIC has (1) device driver overhead, (2) protocol stack overhead, and (3) kernel / user (when transmitting / receiving packets with a security application). User) Memory copy overhead occurs. As a result, there is a limit in the packet processing performance of the server CPU. On the contrary, as shown in FIG. 6B, the NIC 1 according to an embodiment loads PCIe I / O, kernel scheduling, memory copy, and interrupt through a packet processing engine of a general-purpose network controller. Remove it. The NIC 1 offloads the packet processing load through the network security acceleration engine of the multi-core processor. Network Security Acceleration Engines include filtering, coloring, sampling, pattern matching, TCP / IP offload, and deep packet inspection (DPI, Hereinafter referred to as 'DPI') offload (DPI offload) and the like. At this time, core network security technologies such as SSL encryption and decryption based on DPI technology and PCRE pattern matching are offloaded to semi-finished products such as NICs to increase appliance system performance and capacity for finished products.

DPDK는 고성능 패킷처리 최적화를 위한 시스템 소프트웨어로서, 크게 DPDK 오픈 라이브러리(DPDK open Library)와, 패킷 처리 최적화를 위한 DPDK 디바이스 드라이버(DPDK device driver)의 집합으로 구성되어 있다. DPDK는 기존 리눅스 기반의 패킷처리과정처럼 커널에서 패킷처리과정을 거치는 것(도 6의 (a) 참조)이 아니라 보안 어플리케이션(2)이 사용자 공간의 DPDK 오픈 라이브러리(30)와 EAL(Environment Abstraction Layer)을 사용하여 커널을 통과하여 직접 NIC(1)에 액세스할 수 있는 통로를 제공한다는 것이다. DPDK는 사용자 평면의 DPDK 오픈 라이브러리(30)뿐만 아니라, 패킷처리에 최적화된 DPDK 디바이스 드라이버를 제공한다(도 6의 (b) 참조).The DPDK is a system software for high performance packet processing optimization. It is mainly composed of a DPDK open library and a set of DPDK device drivers for packet processing optimization. The DPDK does not go through packet processing in the kernel like the existing Linux-based packet processing (see (a) of FIG. 6), but the security application 2 uses the DPDK open library 30 and EAL (Environment Abstraction Layer) in user space. ) To pass through the kernel and directly access the NIC (1). The DPDK provides a DPDK device driver optimized for packet processing as well as the DPDK open library 30 in the user plane (see FIG. 6B).

일 실시 예에 따른 네트워크 시스템은 보안 어플리케이션(2)에 메모리와 CPU를 고정 할당하는 NUMA 방법으로 패킷을 분산 처리하여 최대의 성능을 얻을 수 있다. 도 6의 (b)에 도시된 바와 같이, DPDK와 NUMA를 이용하여 패킷을 분산 처리함에 따라, (1) 디바이스 드라이버 및 프로토콜 스택 오버헤드를 제거하고, (2) NUMA 메모리 관리 구조를 적용할 수 있다.The network system according to an embodiment may obtain maximum performance by distributing packets by a NUMA method of fixedly allocating a memory and a CPU to the security application 2. As shown in (b) of FIG. 6, by distributing packets using DPDK and NUMA, (1) device driver and protocol stack overhead can be eliminated, and (2) NUMA memory management structure can be applied. have.

도 7은 본 발명의 일 실시 예에 따른 고속 병렬 패킷 처리 성능을 지원하기 위한 패킷 부하 분산 기술을 설명하기 위한 참조도이다.7 is a reference diagram illustrating a packet load balancing technique for supporting high speed parallel packet processing performance according to an embodiment of the present invention.

도 7을 참조하면, 일 실시 예에 따른 NIC는 DPDK를 이용한 고속 병렬 패킷 처리 네트워크 인터페이스를 제공한다. 멀티 CPU 서버 시스템의 멀티 코어 프로세서를 이용한 고속 병렬 패킷 처리를 위해, NIC는 RSS(Receiver Side Scaling)(도 7의 (a))와 DCB(Data Center Bridging)(도 7의 (b)) 기능을 지원하여 네트워크로부터 수신된 패킷을 서버 시스템의 멀티 코어 프로세서로 분배할 수 있어야 한다. RSS는 NIC 내에 L4 파서를 이용하여 5-튜플 해시 값을 계산하고, 플로우 별로 수신 코어를 지정한다.Referring to FIG. 7, a NIC according to an embodiment provides a high speed parallel packet processing network interface using a DPDK. For high-speed parallel packet processing using a multi-core processor in a multi-CPU server system, the NIC provides RSS (Receiver Side Scaling) (FIG. 7 (a)) and Data Center Bridging (DCB) (FIG. 7B) functions. It must be able to distribute packets received from the network to multi-core processors in the server system. RSS uses the L4 parser within the NIC to compute the 5-tuple hash value and specifies the receiving core for each flow.

도 8은 본 발명의 일 실시 예에 따른 네트워크 보안 가속을 위한 멀티 코어 프로세서를 내장한 NIC를 장착한 네트워크 보안 및 정보보호 어플라이언스 시스템의 구조도이다.8 is a structural diagram of a network security and information protection appliance system equipped with a NIC having a multi-core processor for network security acceleration according to an embodiment of the present invention.

도 8을 참조하면, 네트워크 보안 및 정보보호 어플라이언스 시스템은 NIC(1)와, 네트워크 보안 및 정보보호 어플리케이션 서버(2)를 포함한다. NIC(1)는 보안 가속을 위한 멀티 코어 프로세서(12)와, 범용 네트워크 컨트롤러(14)를 포함한다. 도 8에서는 NIC(1)를 최대 2개까지 장착하여 최대 80기가 급의 네트워크 보안 어플라이언스 확장 구조를 도시하고 있다.Referring to FIG. 8, a network security and information protection appliance system includes a NIC 1 and a network security and information protection application server 2. The NIC 1 includes a multi-core processor 12 and a general purpose network controller 14 for security acceleration. 8 illustrates a network security appliance expansion structure of up to 80 gigabytes with up to two NICs 1 mounted therein.

NIC(1)는 10Gbps 8 포트를 수용할 수 있다. NIC(1)의 멀티 코어 프로세서(12)는 SSL 암복호화, PCRE 패턴 매칭과 같은 보안 가속 기능을 오프로드한다. 범용 네트워크 컨트롤러(14)는 SR-IOV를 지원하며, DPDK에 최적화된다. 네트워크 보안 및 정보보호 어플리케이션 서버(2)의 멀티 코어 프로세서를 이용하여 수신 패킷을 병렬 처리함에 따라 최적의 성능 구조를 만족할 수 있다. 네트워크 보안 및 정보보호 어플리케이션 서버(2)는 네트워크 보안 및 정보보호를 위한 것으로, 멀티 코어 프로세서를 이용하여 수신 패킷을 병렬 처리한다. 이때, 각 멀티 코어 프로세서는 DPDK와 NUMA를 이용하여 패킷을 분산 처리한다.The NIC 1 can accommodate 10 Gbps 8 ports. The multi-core processor 12 of the NIC 1 offloads security acceleration functions such as SSL decryption and PCRE pattern matching. The general purpose network controller 14 supports SR-IOV and is optimized for DPDK. By using the multi-core processor of the network security and information protection application server 2 to process the received packets in parallel, an optimal performance structure can be satisfied. The network security and information protection application server 2 is for network security and information protection, and processes received packets in parallel using a multi-core processor. At this time, each multi-core processor distributes packets using DPDK and NUMA.

도 9는 본 발명의 일 실시 예에 따른 SSL 암복호화를 위한 HTTPS 프록시 가속 프로토콜 스택의 구조도이다.9 is a structural diagram of an HTTPS proxy acceleration protocol stack for SSL encryption and decryption according to an embodiment of the present invention.

도 9를 참조하면, NIC에 내장된 보안 가속을 위한 멀티 코어 프로세서는 AES(Advanced Encryption Standard), DES(Data Encryption Standard), 3DES와 같은 대칭 암호화(Symetric Crypto)와, MD-5, SHA, Kasumi와 같은 해싱 알고리즘을 가속하는 암복호화 가속기를 이용하여 SSL 암복호화 가속 기능을 제공한다. 또한, 웹 성능 확보를 위한 사용자 공간(User Space)에서 동작하는 고성능 TCP/IP 스택을 가지는 HTTPS 프록시를 제공한다. HTTPS 프록시는 클라이언트(예를 들어, SSL 클라이언트)와 웹 서버(예를 들어, SSL 서버) 사이에서 대리하는 기능을 수행한다. 예를 들어, SSL로 암호화된 HTTPS 통신을 클라이언트와 웹 서버 사이에서 대리한다.Referring to FIG. 9, a multi-core processor for security acceleration embedded in a NIC includes symmetric cryptography such as Advanced Encryption Standard (AES), Data Encryption Standard (DES), and 3DES, and MD-5, SHA, and Kasumi. SSL encryption and decryption acceleration is provided by using a cryptographic accelerator that accelerates a hashing algorithm. In addition, the present invention provides an HTTPS proxy having a high performance TCP / IP stack operating in a user space for securing web performance. The HTTPS proxy acts as a proxy between the client (eg SSL client) and the web server (eg SSL server). For example, the SSL-encrypted HTTPS communication is represented between the client and the web server.

SSL은 "넷스케이프(Netscape)" 사에서 개발한 암호화 프로토콜로서, 현재 인터넷 전자상거래 등 금융거래 정보 및 개인정보 등의 안전한 데이터 통신을 위한 사실상의 표준 프로토콜이다. SSL3.0 버전부터 IETF(Internet Engineering Task Force)에 의해 표준화되어 TLS(Transport Layer Security)로 명명되었다. 즉, SSL 3.0과 TLS 1.0은 같은 프로토콜이다. SSL은 TCP/IP 기반의 모든 응용 프로토콜에 이용될 수 있지만, 최근 주로 사용되는 대표적인 응용 프로토콜로서 HTTPS가 있다. HTTPS는 종래의 HTTP 프로토콜의 데이터 통신 패킷을 SSL을 이용하여 전송 계층(Transport Layer)에서 암호화하여 송수신하는 일종의 HTTP 변형 프로토콜이다.SSL is an encryption protocol developed by "Netscape" and is currently the de facto standard protocol for secure data communication such as financial transaction information and personal information such as Internet e-commerce. Since SSL3.0, it has been standardized by the Internet Engineering Task Force (IETF) and named Transport Layer Security (TLS). In other words, SSL 3.0 and TLS 1.0 are the same protocol. SSL can be used for all application protocols based on TCP / IP, but HTTPS is a representative application protocol mainly used in recent years. HTTPS is a type of HTTP transformation protocol that encrypts and transmits data communication packets of the conventional HTTP protocol in a transport layer using SSL.

도 10은 본 발명의 일 실시 예에 따른 PCRE/YARA 패턴 매칭 가속을 설명하기 위한 PCRE/YARA Construct 구조도이다.FIG. 10 is a structure diagram illustrating a PCRE / YARA construct for explaining PCRE / YARA pattern matching acceleration according to an embodiment of the present invention.

침입 탐지 시스템(IPS/IDS), 정보보호 또는 APT와 같은 네트워크 보안 시스템은 Zero-day 공격에 방어할 수 있도록 사용자 정의 시그니처 패턴을 실시간으로 탐지하는 기능이 필수적으로 요구되고 있다. 본 발명에서는 사용자 정의 패턴을 10 Gbps 속도로 실시간 검색할 수 있도록 PCRE/YARA 표준에 호환되는 패턴 매칭 가속 기술을 제안한다. 일반적으로 패턴 매칭 방법에는 DFA(Deterministic Finite Automata), NFA(Nondeterminstic Finite Automata) 알고리즘이 사용되고 있다. 본 발명에서는 멀티 코어 프로세서에 내장된 HFA(Hyper Finite Automata) 패턴 매칭 전용 프로세서를 이용하여 고속 실시간 PCRE/YARA 패턴 매칭 성능을 지원한다. 본 발명에서는 산업 표준으로 사용되는 PCRE Construct(도 10의 (a))와, YARA Construct(도 10의 (b))를 지원한다.Network security systems, such as intrusion detection systems (IPS / IDS), information security, or APT, require the ability to detect user-defined signature patterns in real time to defend against zero-day attacks. The present invention proposes a pattern matching acceleration technique that is compatible with the PCRE / YARA standard so that user-defined patterns can be searched in real time at 10 Gbps. Generally, DFA (Deterministic Finite Automata) and NFA (Nondeterminstic Finite Automata) algorithms are used for pattern matching. In the present invention, a high speed real-time PCRE / YARA pattern matching performance is supported using a Hyper Finite Automata (HFA) pattern matching dedicated processor embedded in a multi-core processor. The present invention supports PCRE Construct (FIG. 10 (a)) and YARA Construct (FIG. 10 (b)) used as industry standards.

도 11은 본 발명의 일 실시 예에 따른 가상 머신에 대한 가상 오픈 스위치(Open vSwitch: OvS, 이하 OvS라 칭함) 가속 오프로드 구조도이다.FIG. 11 is a schematic diagram of a virtual open switch (OvS) acceleration offload structure for a virtual machine according to an embodiment of the present invention.

일 실시 예에 따른 NIC(1)는, 시스템 가상화를 위한 하이퍼바이저 환경에서 구동되는 가상 장치(Virtual Machine: VM)와 코어 및 메모리를 공유한다. 이때, 성능적으로 부하가 발생하는 커널 기반의 OvS 기능을, NIC(1)에 내장된 SR-IOV 하드웨어 기술과 멀티 코어 프로세서를 이용해서 오프로딩하여 다음과 같은 기능을 제공한다. NIC(1)는 분산 가상 스위치 기능을 제공한다. 즉, 다른 물리 서버에 위치한 가상 장치(VM)와 서로 연결한다. 또한, NIC(1)는 오픈 플로우 프로토콜(Open Flow Protocol) 기반의 원격 제어를 지원하고, 가상 장치(VM) 별로 트래픽 분리(traffic isolation)를 지원하며, 터널링 프로토콜을 지원한다. 예를 들어, GRE, VXLAN, IPsec 등을 지원한다. 또한, 모니터링 기능을 지원한다. 예를 들어, NetFlow, sFlow, IPFIX 등을 지원한다.The NIC 1 according to an embodiment shares a core and a memory with a virtual machine (VM) running in a hypervisor environment for system virtualization. At this time, the kernel-based OvS function that generates a performance load is offloaded using the SR-IOV hardware technology and the multi-core processor built in the NIC 1 to provide the following functions. NIC 1 provides distributed virtual switch functionality. That is, they connect with virtual devices (VMs) located in different physical servers. In addition, the NIC 1 supports remote control based on an Open Flow Protocol, supports traffic isolation for each virtual device (VM), and supports a tunneling protocol. For example, GRE, VXLAN, and IPsec are supported. It also supports monitoring function. For example, NetFlow, sFlow, and IPFIX are supported.

도 12는 본 발명의 일 실시 예에 따른 DPDK 공개 소프트웨어를 이용한 어플리케이션 구조 및 기능을 도시한 참조도이다.12 is a reference diagram illustrating an application structure and a function using DPDK open software according to an embodiment of the present invention.

일 실시 예에 따른 NIC(1)는 멀티 코어 프로세서와 범용 네트워크 컨트롤러가 하이브리드된다. NIC(1)는 보안 가속을 위한 멀티 코어 프로세서와 범용 네트워크 컨트롤러를 하이브리드하게 채택하여 다음과 같은 경쟁 우위를 가진다. 예를 들어, 40Gbps 성능을 지원하는 트래픽 처리 이원화를 지원한다. 즉, 멀티 코어 프로세서를 제공하여 트래픽을 전처리(예를 들어, 암호화 패킷 처리, 트래픽 감시)하고, 범용 네트워크 컨트롤러를 이용하여 트래픽을 후처리(예를 들어, DPDK 최적화) 하여 호스트 시스템과 연동한다. 또한, NIC(1)는 네트워크 보안에 필수적인 SSL 암복호화, PCRE 패턴매칭, 오픈 플로우 컨트롤러 기능을 NIC(1)로 오프로드하여 설치 공간 절약 및 빠른 응답속도를 확보할 수 있다. 나아가, 리눅스, 윈도즈 등의 운영체제와 상관없이 별도의 드라이버 설치나 변경 없이 설치 및 통합이 가능하다.NIC 1 according to an embodiment is a hybrid of a multi-core processor and a general-purpose network controller. The NIC 1 adopts a hybrid of a multi-core processor and a general purpose network controller for security acceleration, and has the following competitive advantages. For example, it supports traffic processing dualization supporting 40Gbps performance. That is, a multi-core processor is provided to preprocess the traffic (for example, encrypted packet processing and traffic monitoring), and postprocess the traffic using a general-purpose network controller (for example, DPDK optimization) to interwork with the host system. In addition, the NIC 1 offloads the SSL encryption / decryption, PCRE pattern matching, and open flow controller functions necessary for network security to the NIC 1, thereby saving installation space and ensuring fast response speed. Furthermore, regardless of operating system such as Linux or Windows, it can be installed and integrated without installing or changing drivers.

본 발명은 NIC(1)에 내장된 임베디드 멀티 코어 프로세서 기반 네트워크 보안 하드웨어 가속 기술을 제공한다. 본 발명의 핵심 기술로는 SSL 암복호화, PCRE 패턴 매칭과 같이 성능 부하를 유발하는 네트워크 보안 기능을 시스템에 장착된 NIC의 멀티 코어 프로세서로 임베디드 시켜 보안 기능을 오프로드 하는 기술이다. 본 발명의 네트워크 보안 가속 기능은 인라인 모드에서 입력되는 SSL 암호화 패킷을 포함하여 TCP Stateful 플로우를 추적하고, 필요 시 암복호화하여 전송되는 내용 중에 RegEx으로 표현되는 PCRE/YARA 시그니처가 존재하는지를 실시간으로 찾아내는 패턴 매칭 기능을 수행하는 로직을 임베디드 멀티 코어 프로세서의 가속기와 연계해서 고속의 패킷 처리 성능을 제공한다.The present invention provides an embedded multi-core processor-based network security hardware acceleration technology embedded in the NIC (1). The core technology of the present invention is a technology for offloading security functions by embedding network security functions such as SSL encryption and decryption and PCRE pattern matching into a multicore processor of a NIC mounted in a system. The network security acceleration function of the present invention traces a TCP stateful flow including an SSL encrypted packet input in an inline mode, and decrypts and decrypts, if necessary, a pattern that detects in real time whether a PCRE / YARA signature expressed in RegEx exists in the transmitted content. The logic that performs the matching function is combined with the accelerator of the embedded multi-core processor to provide high speed packet processing performance.

본 발명은 DPDK 공개 소프트웨어(3) 기반의 고속 병렬 패킷 처리 어플리케이션 소프트웨어 기술을 제공한다. 최근 서버 시스템과 멀티 코어 CPU 기술의 발전으로 시스템의 멀티 코어를 활용하는 병렬 패킷 처리 라이브러리로 DPDK 공개 소프트웨어(3)가 업계 표준으로 자리 잡고 있다. 본 발명에서는 NIC가 범용 네트워크 컨트롤러로서 상용 이더넷 칩셋을 채택하여 DPDK와 호환되는 PCIe 인터페이스를 제공하여 기존 DPDK를 사용하는 네트워크 보안 및 정보 보호 어플리케이션(2)에서 NIC 전용 디바이스 드라이버, SDK 추가 개발 없이 보안 가속 기능을 이용할 수 있다. 도 12에 도시된 바와 같이 DPDK 공개 소프트웨어(3)의 DPDK 오픈 라이브러리(30)를 통해, 서버 기반 네트워크 보안 및 정보보호 어플리케이션(2)이 커널(Kernel)을 통과하여 직접 NIC(1)에 액세스할 수 있도록 한다.The present invention provides a high speed parallel packet processing application software technology based on DPDK open software 3. Recent advances in server systems and multi-core CPU technology have made DPDK open software (3) the industry standard for parallel packet processing libraries that take advantage of the system's multi-core. In the present invention, the NIC adopts a commercial Ethernet chipset as a general-purpose network controller to provide a PCIe interface compatible with DPDK, thereby accelerating security without additional development of NIC-only device driver and SDK in network security and information protection application (2) using the existing DPDK. Function is available. Through the DPDK open library 30 of the DPDK open software 3, as shown in FIG. 12, the server-based network security and information protection application 2 can access the NIC 1 directly through the kernel. To be able.

도 13은 본 발명의 일 실시 예에 따른 SSL 암복호화 기능 내장형 NIC를 기존의 SSL 암복호화 기능 독립형 장비와 비교한 참조도이다.13 is a reference diagram comparing an SSL encryption / decryption function embedded NIC with an existing SSL encryption / decryption function independent device according to an embodiment of the present invention.

도 13을 참조하면, 도 13의 (a)에 도시된 바와 같이 기존의 네트워크 시스템은 SSL 암복호화 장비가 별도로 분리되어 있었다. 그러나 일 실시 예에 따른 네트워크 시스템은 도 13의 (b)에 도시된 바와 같이 SSL 암복호화 기능이 NIC에 내장된다. 예를 들어, SSL 암호화된 트래픽을 NIC에 내장된 멀티 코어 프로세서를 사용하여 복호화한다. 이를 위해, NIC에 SSL 복호화 기능이 오프로딩 된다. 본 발명은 NIC에서 SSL 암복호화를 지원하여 하나의 어플라이언스에서 통합 지원되는 방식을 제공한다.Referring to FIG. 13, in the existing network system, as shown in FIG. 13A, the SSL encryption / decryption equipment is separately separated. However, in the network system according to an exemplary embodiment, as shown in FIG. 13B, the SSL encryption / decryption function is embedded in the NIC. For example, SSL encrypted traffic is decrypted using a multicore processor embedded in the NIC. To do this, the SSL decryption function is offloaded to the NIC. The present invention supports the SSL encryption and decryption in the NIC to provide a method that is integrated support in one appliance.

다른 실시 예에 따른 NIC는 멀티 코어 프로세서 기반의 보안 가속을 달성한다. 예를 들어, 멀티 10기가급 이더넷 네트워크를 대상으로 PCRE/YARA 기반 패턴 매칭 가속 기능을 지원하는 네트워크 보안 기술을 단일 NIC 내에 임베디드 멀티 코어 프로세서 기술을 사용하여 구현한다. 다양한 네트워크 보안 기능을 가속하는 NIC로 네트워크 보안 분야에서 경쟁력을 가질 수 있을 것이다.The NIC according to another embodiment achieves multi-core processor-based security acceleration. For example, a network security technology that supports PCRE / YARA-based pattern matching acceleration for multiple 10 Gigabit Ethernet networks is implemented using embedded multi-core processor technology within a single NIC. NICs that accelerate various network security functions will be competitive in network security.

도 1 내지 도 13을 참조로 하여 전술한 바에 따라, 본 발명은 다음과 같은 효과를 달성할 수 있다.As described above with reference to Figures 1 to 13, the present invention can achieve the following effects.

차세대 NIC로서 고부가가치 기술 개발 효과가 있다. 본 발명에 따르면, SSL 암복호화, PCRE 패턴 매칭, PCIe I/O 무손실 데이터 전달을 위한 I/O 가속 등과 같은 고급 기술 사양을 NIC 내에서 제공한다. 이러한 가속 기능은 메인 프로세서의 과도한 부하를 유발하는데, 이 기능을 NIC에 오프로드한다. 이에 따라, 종래의 단순한 네트워크 접속 기능만을 지원하는 NIC와는 한 차원 다른 새로운 개념의 차세대 제품이 될 것으로 기대하고 있다. 네트워크 보안 분야에서 고부가가치 영역에 속하는 고성능 네트워크 보안 어플라이언스 제품군에 사용되는 제품이 될 것이다.As next-generation NIC, it has the effect of developing high value-added technology. According to the present invention, advanced technical specifications such as SSL encryption and decryption, PCRE pattern matching, and I / O acceleration for PCIe I / O lossless data transfer are provided within the NIC. This acceleration causes excessive load on the main processor, which offloads the function to the NIC. As a result, it is expected to be a next generation product with a new concept that is different from the NIC that supports only a simple network connection function. It will be used in the family of high-performance network security appliances in the high value-added area of network security.

네트워크 보안, 정보보호 제품의 경쟁력 저하의 주원인은 서버 시스템 구조와 소프트웨어에만 의존하기 때문이다. 본 발명은 NIC에 장착되는 하드웨어 기술에 의한 성능 가속 기술을 통해 이를 해결하고자 한다. 본 발명은 10기가급 네트워크 2회선까지 수용할 수 있는 대용량 고속 네트워크 인터페이스 기술로서, 웹 방화벽, IDS, IPS, DLP, 방화벽 장비의 개발 오버헤드를 줄인다. 성능과 기능에서 경쟁력을 갖게 하여 고부가 가치 네트워크 보안 어플라이언스 장비로 경쟁 우위를 확보할 수 있다.The main reason for the deterioration of network security and information security products is because they rely only on server system structure and software. The present invention is to solve this through the performance acceleration technology by the hardware technology mounted on the NIC. The present invention is a high-capacity high-speed network interface technology that can accommodate up to two lines of 10-gigabit network, reducing the development overhead of web firewall, IDS, IPS, DLP, firewall equipment. Competitiveness in performance and functionality gives you a competitive advantage with high value-added network security appliance equipment.

본 발명은 네트워크 보안 솔루션의 암호화 트래픽 가시화 기반 기술로 활용될 수 있다. 본 발명은 고속의 암호화 트래픽 복호화 기술을 적용한 것으로, SSL 암호화 트래픽을 복호화하여 내부의 위협을 차단할 수 있다. 현재 보안 시스템의 상당 수가 SSL 트래픽 내부의 위협을 인식하거나 차단하지 못하고 있으며 자체 솔루션이 아닌 어플라이언스 형태의 SSL 복호화 솔루션을 함께 구성하여 보안 서비스가 이루어지고 있다. 따라서, SSL 복호화 기능이 제공되는 멀티 기가급 NIC는 기존 네트워크 보안 솔루션의 중요한 기반 기술로 활용될 것이다.The present invention can be utilized as an encryption traffic visualization based technology of a network security solution. The present invention applies a high-speed encryption traffic decryption technology, it is possible to block the internal threat by decrypting the SSL encrypted traffic. Currently, many security systems do not recognize or block threats inside SSL traffic, and security services are provided by configuring SSL decryption solutions in the form of appliances rather than in-house solutions. Therefore, multi-gigabit NICs with SSL decryption will be used as an important foundation for existing network security solutions.

본 발명은 클라우드 기반 네트워크 가상화 플랫폼의 기반 기술로 활용될 수 있다. 본 발명은 네트워크 기능 가상화(Network Function Virtualization: NFV) 아키텍처 기반의 인프라스트럭처 플랫폼에 적용 가능한 OvS(Open vSwitch) 기능을 오프로드하는 기술을 제공한다. 데이터센터의 네트워크 운영 비용을 절감하고 새로운 부가가치서비스를 신속하게 구현하기 위한 가상화된 네트워크 기능(Virtualized Network Function: VNF)을 구현하는 인프라스트럭처 플랫폼 내에서 핵심적인 기능을 담당하게 될 것이다.The present invention can be utilized as a foundation technology of a cloud-based network virtualization platform. The present invention provides a technique for offloading an Open vSwitch (OvS) function applicable to an infrastructure platform based on a Network Function Virtualization (NFV) architecture. It will play a key role within the infrastructure platform that implements virtualized network functions (VNFs) to reduce data center network operations costs and rapidly implement new value-added services.

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been described with reference to the embodiments. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the appended claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (11)

네트워크 인터페이스 카드에 있어서,
네트워크를 통한 패킷 송수신을 위한 네트워크 인터페이스;
네트워크 보안 및 정보보호 기능을 가속화하는 멀티 코어 프로세서; 및
네트워크 인터페이스 카드 전용 디바이스 드라이버를 사용하는 대신에 데이터 플레인 개발 키트(Data Plane Development Kit: DPDK, 이하 'DPDK'라 칭함) 공개 소프트웨어를 사용하고 DPDK 공개 소프트웨어를 통해 어플리케이션과 직접 액세스함에 따라 상기 네트워크 인터페이스 카드 전용 디바이스 드라이버 필요 없이 다수의 운영체제 및 시스템에 대한 호환성을 제공하는 범용 네트워크 컨트롤러;
를 포함하여, DPDK 공개 소프트웨어 기반 처리를 위한 범용 네트워크 컨트롤러를 네트워크 인터페이스 카드에 추가한 하이브리드 구성의 네트워크 인터페이스 카드를 제공하는 것을 특징으로 하는 네트워크 인터페이스 카드.
In the network interface card,
A network interface for packet transmission and reception through a network;
A multi-core processor for accelerating network security and information protection functions; And
Instead of using a device driver dedicated to the network interface card, use the Data Plane Development Kit (DPDK, hereinafter referred to as 'DPDK') publishing software and directly access the application through the DPDK publishing software. A universal network controller that provides compatibility for multiple operating systems and systems without the need for dedicated device drivers;
And a network interface card of a hybrid configuration in which a general-purpose network controller for DPDK open software-based processing is added to the network interface card.
제 1 항에 있어서, 상기 네트워크 인터페이스는
10Gbps 이더넷 4 포트를 지원하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The method of claim 1, wherein the network interface
Network interface card, supporting 10Gbps Ethernet 4 ports.
제 1 항에 있어서, 상기 멀티 코어 프로세서는
트래픽의 암복호화 기능을 가속화하는 암복호화 가속기;
패턴 매칭 기능을 가속화하는 패턴 매칭 가속기; 및
보안 필터 기능을 가속화하는 보안 필터 가속기;
를 포함하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The method of claim 1, wherein the multi-core processor
A decryption accelerator for accelerating the decryption function of the traffic;
A pattern matching accelerator for accelerating a pattern matching function; And
A security filter accelerator for accelerating the security filter function;
Network interface card comprising a.
제 1 항에 있어서, 상기 범용 네트워크 컨트롤러는
네트워크 가상화 기능을 제공하여 멀티 코어 프로세서의 부하를 절감하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The system of claim 1, wherein the general purpose network controller
A network interface card that provides network virtualization to reduce the load on multi-core processors.
제 4 항에 있어서, 상기 범용 네트워크 컨트롤러는
단일 루트 입출력 가상화(Single Root I/O Virtualization: SR-IOV) 기반의 네트워크 가상화 가속 기능을 제공하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The method of claim 4, wherein the general purpose network controller
A network interface card that provides network virtualization acceleration based on Single Root I / O Virtualization (SR-IOV).
제 1 항에 있어서, 상기 범용 네트워크 컨트롤러는
DPDK 기반 고속 병렬 패킷 처리 가속 기능을 제공하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The system of claim 1, wherein the general purpose network controller
A network interface card that provides DPDK-based high speed parallel packet processing acceleration.
삭제delete 제 1 항에 있어서, 상기 범용 네트워크 컨트롤러는
클라우드 가상 서버의 네트워크 인터페이스의 가상 오픈 스위치(Open vSwitch: OvS) 가속 기능을 지원하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The system of claim 1, wherein the general purpose network controller
A network interface card, which supports virtual open vSwitch (OvS) acceleration of a network interface of a cloud virtual server.
제 1 항에 있어서, 상기 네트워크 인터페이스 카드는
상기 멀티 코어 프로세서에 보안 가속 기능을 오프로드하여 네트워크를 통해 송수신되는 트래픽을 대상으로 트래픽 암복호화 및 패턴 매칭을 포함한 전처리를 수행하고,
상기 멀티 코어 프로세서를 통한 전처리 이후, 상기 범용 네트워크 컨트롤러를 이용하여 DPDK 최적화를 포함한 트래픽 후처리를 수행하며 DPDK 공개 소프트웨어를 통해 고속 패킷 처리를 오프로드하여 네트워크 보안 및 정보보호 어플리케이션과 트래픽을 송수신하는 것을 특징으로 하는 네트워크 인터페이스 카드.
The network interface card of claim 1, wherein the network interface card is
Offloading the security acceleration function to the multi-core processor to perform preprocessing including traffic decryption and pattern matching for traffic transmitted and received through the network;
After the pre-processing through the multi-core processor, the general-purpose network controller performs traffic post-processing including DPDK optimization, and offloads high-speed packet processing through DPDK open software to send and receive traffic to and from network security and information protection applications. Characterized by a network interface card.
네트워크 보안 및 정보보호 기능을 가속화하는 멀티 코어 프로세서와, 네트워크 인터페이스 카드 전용 디바이스 드라이버를 사용하는 대신에 DPDK 공개 소프트웨어를 사용하고 DPDK 공개 소프트웨어를 통해 어플리케이션과 직접 액세스함에 따라 상기 네트워크 인터페이스 카드 전용 디바이스 드라이버 필요 없이 다수의 운영체제 및 시스템에 대한 호환성을 제공하는 범용 네트워크 컨트롤러를 포함하는 하이브리드 구조의 네트워크 인터페이스 카드; 및
상기 네트워크 인터페이스 카드가 장착된 네트워크 보안 및 정보보호 어플리케이션 서버;
를 포함하여, DPDK 공개 소프트웨어 기반 처리를 위한 범용 네트워크 컨트롤러를 네트워크 인터페이스 카드에 추가한 하이브리드 구성의 네트워크 인터페이스 카드를 제공하는 것을 특징으로 하는 네트워크 보안 및 정보보호 어플라이언스 시스템.
A multi-core processor that accelerates network security and information protection, and a device driver dedicated to the network interface card is required by using DPDK open software instead of using a device driver dedicated to the network interface card and directly accessing the application through the DPDK open software. A hybrid interface network interface card including a universal network controller providing compatibility for a plurality of operating systems and systems without; And
A network security and information security application server equipped with the network interface card;
A network security and information protection appliance system comprising: providing a network interface card of a hybrid configuration in which a universal network controller for DPDK open software based processing is added to a network interface card.
제 10 항에 있어서, 상기 네트워크 보안 및 정보보호 어플라이언스 서버는
상기 네트워크 인터페이스로부터 입력되는 패킷을 DPDK 공개 소프트웨어를 이용하여 병렬 처리함에 따라 부하를 제거하고, 불균일 메모리 접근(Non-Uniform Memory Access: NUMA)를 이용하여 패킷을 코어 별로 분산 처리하는 것을 특징으로 하는 네트워크 보안 및 정보보호 어플라이언스 시스템.
The network security and information protection appliance server of claim 10, wherein
Remove the load by parallel processing the packet input from the network interface using the DPDK open software, and the network characterized in that the packet is distributed by core using non-uniform memory access (NUMA) Security and privacy appliance system.
KR1020180029363A 2018-03-13 2018-03-13 Network interface card having hybrid architecture with multi-core processor and general purpose network controller KR102078744B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180029363A KR102078744B1 (en) 2018-03-13 2018-03-13 Network interface card having hybrid architecture with multi-core processor and general purpose network controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180029363A KR102078744B1 (en) 2018-03-13 2018-03-13 Network interface card having hybrid architecture with multi-core processor and general purpose network controller

Publications (2)

Publication Number Publication Date
KR20190107978A KR20190107978A (en) 2019-09-23
KR102078744B1 true KR102078744B1 (en) 2020-02-19

Family

ID=68069184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180029363A KR102078744B1 (en) 2018-03-13 2018-03-13 Network interface card having hybrid architecture with multi-core processor and general purpose network controller

Country Status (1)

Country Link
KR (1) KR102078744B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699397B (en) * 2021-01-22 2023-11-14 山西大学 Software encryption and decryption method and system based on virtual environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059537A1 (en) * 2012-08-21 2014-02-27 International Business Machines Corporation Processing of overlay networks using an accelerated network interface card

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100267857B1 (en) * 1997-07-18 2000-11-01 윤종용 Ethernet frame analyzer for pc using packet driver and method for processing command and received packets
KR101538547B1 (en) * 2013-09-24 2015-07-29 경희대학교 산학협력단 Method for managing handover between heterogeneous wireless networks
US10200292B2 (en) * 2014-08-25 2019-02-05 Intel Corporation Technologies for aligning network flows to processing resources
KR20170125564A (en) * 2016-05-04 2017-11-15 한국전자통신연구원 Packet distribution method and apparatus for parallel packet processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059537A1 (en) * 2012-08-21 2014-02-27 International Business Machines Corporation Processing of overlay networks using an accelerated network interface card

Also Published As

Publication number Publication date
KR20190107978A (en) 2019-09-23

Similar Documents

Publication Publication Date Title
US10250571B2 (en) Systems and methods for offloading IPSEC processing to an embedded networking device
WO2019023505A1 (en) Secure communication acceleration using a system-on-chip (soc) architecture
KR101286015B1 (en) Security audit service system and method among virtual machines in the virtualization environment
Van Tu et al. Accelerating virtual network functions with fast-slow path architecture using express data path
CN111541658B (en) PCIE firewall
US11979457B2 (en) Managing network services using multipath protocols
Mafioletti et al. Piaffe: A place-as-you-go in-network framework for flexible embedding of vnfs
Jyothi et al. DPFEE: A high performance scalable pre-processor for network security systems
Deri et al. Wire-speed hardware-assisted traffic filtering with mainstream network adapters
Freitas et al. A survey on accelerating technologies for fast network packet processing in Linux environments
KR102078744B1 (en) Network interface card having hybrid architecture with multi-core processor and general purpose network controller
EP4199427A1 (en) Ai-supported network telemetry using data processing unit
Friend Making the gigabit IPsec VPN architecture secure
KR102016626B1 (en) Network interface apparatus using jumbo frame with high speed and low delay
Wang et al. Tualatin: Towards network security service provision in cloud datacenters
CN115442305B (en) End-to-end flow control with intermediate medium access control security
US20220385631A1 (en) Distributed traffic steering and enforcement for security solutions
KR101115098B1 (en) Flow processing unit and method for controlling flow processing unit
Mastorakis et al. ISA-based trusted network functions and server applications in the untrusted cloud
KR102016627B1 (en) Network interface apparatus using jumbo frame
El Kirafi et al. DPU implementation of a scalable and transparent security solution for numerous VPN connections
US11991159B2 (en) Bi-directional encryption/decryption device for underlay and overlay operations
Van Leeuwen et al. Networked-Based Cyber Analysis Using Deep Packet Inspection (DPI) for High-Speed Networks
US11876691B2 (en) End-to-end RDMA telemetry system
US20220231991A1 (en) Method, system and apparatus for inline decryption analysis and detection

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