KR101543735B1 - System and method for processing packets for nfv - Google Patents

System and method for processing packets for nfv Download PDF

Info

Publication number
KR101543735B1
KR101543735B1 KR1020140029023A KR20140029023A KR101543735B1 KR 101543735 B1 KR101543735 B1 KR 101543735B1 KR 1020140029023 A KR1020140029023 A KR 1020140029023A KR 20140029023 A KR20140029023 A KR 20140029023A KR 101543735 B1 KR101543735 B1 KR 101543735B1
Authority
KR
South Korea
Prior art keywords
layer
packet
flow
rule
information
Prior art date
Application number
KR1020140029023A
Other languages
Korean (ko)
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 KR1020140029023A priority Critical patent/KR101543735B1/en
Application granted granted Critical
Publication of KR101543735B1 publication Critical patent/KR101543735B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Abstract

A system for processing a packet in accordance with the present invention relates to a system for processing a packet for a network function virtualization (NFV). The system for processing a packet comprises: a plurality of virtual functions which have virtualized a higher layer network appliance of a specific function and are configured to define a packet control rule for each layer; a layer rule management module which generates and manages a rule table for each layer in accordance with the defined control rule; a flow management module which generates and manages a flow table including control code information of the rule table; and a packet forwarder which switches, bypasses or drops the packets received from a IP packet transmission network, with reference to the generated flow table. The present invention has realized the system for processing a packet for NFV, which provides a new environment to network management by binding and standardizing various diversion techniques of the higher layer network with a network function virtualization technique.

Description

엔에프브이(NFV)를 위한 패킷 처리 시스템 및 방법{SYSTEM AND METHOD FOR PROCESSING PACKETS FOR NFV}[0001] SYSTEM AND METHOD FOR PROCESSING PACKETS FOR NFV [0002]

본 발명은 패킷 처리 시스템에 관한 것으로 보다 상세하게는 엔에프브이(NFV, Network Function Virtualization)를 위한 패킷 처리 시스템에 관한 것이다.The present invention relates to a packet processing system, and more particularly, to a packet processing system for Network Function Virtualization (NFV).

NFV(Network Function Virtualization)는 기존 하드웨어 어플라이언스(Hardware Appliances)들로 구현된 Route, NAT, Firewall, IDS, IPS, DNS, Caching 등의 다양한 기능을 소프트웨어 형태의 가상 어플라이언스(Virtual Appliances)로 구현하여 운용하는 가상화 기술이다.Network Function Virtualization (NFV) is a software application that implements various functions such as Route, NAT, Firewall, IDS, IPS, DNS, and Caching implemented in existing hardware appliances as virtual appliances. Virtualization technology.

NFV의 목적은 표준 IT가상화 기술을 활용하여 기존의 단일 어플라이언스(Appliance)로 동작하던 장비들을 소프트웨어 형식의 가상 어플라이언스(Virtual Appliance)로 구현하는데 있다.The purpose of NFV is to utilize standard IT virtualization technology to implement appliances that operate on existing single appliances in software-like virtual appliances.

가상 어플라이언스(Virtual Appliance)로 구현된 소프트웨어(S/W)는 표준 대용량 서버/스위치/스토리지를 활용하여 하나의 서비스 자원으로 운용된다. Software implemented as a virtual appliance is operated as a service resource by utilizing a standard large-capacity server / switch / storage.

NFV는 기존 하드웨어 어플라이언스(Hardware Appliances)의 기능을 가상 어플라이언스(Virtual Appliance)로 구현함으로써, 표준화된 대용량 장비의 개발을 장려하고, 서비스 구현을 위해 보다 민첩한 소프트웨어 기반의 프레임 워크를 사용하여 서비스 유연성을 향상시킨다.By implementing the functionality of existing hardware appliances as a virtual appliance, NFV encourages the development of standardized, high-capacity equipment and enhances service flexibility by using a more agile software-based framework for service implementation. .

현재 IP패킷전달 망의 네트워크 펑션(Network Function)들은 장비에 임베디드(embedded)된 어플라이언스(appliance)(예: F/W, VPN, L4/L7 스위치, DPI 등)의 형태로 제공되고 있으며 이러한 형태로 제공되는 다양한 네트워크 상위계층의 장비들은 그 종류와 기능의 다양성만큼이나 네트워크의 복잡도를 가중시키고 있다. Currently, the network functions of the IP packet forwarding network are provided in the form of an appliance embedded in the equipment (for example, F / W, VPN, L4 / L7 switch, DPI, etc.) The equipment of the various layers of the network provided increases the complexity of the network as well as the variety of its types and functions.

이미 충분히 복잡한 패킷 스위치망에 이와 같은 네트워크 상위계층 어플라이언스(appliance)들이 그 복잡성을 더하면서 네트워크 관리는 점점 더 어려워 지고 있으며 네트워크에 새로운 전용장치를 만들거나 배치하는 것도 또한 물리적인 한계를 가지고 있다.Network management becomes increasingly more difficult as these network top layer appliances add complexity to packet switching networks that are already complex enough, and creating or deploying new dedicated devices in the network also has physical limitations.

이러한 기존 네트워크 장비의 물리적 한계성을 극복하기 위해, 네트워크 장비에 임베디드된 네트워크 상위계층 어플라이언스(예: F/W, VPN, L4/L7 스위치, DPI 등)들을 표준화된 동일장비에 가상 펑션(function)으로 구현하고 구현된 가상 function들을 중앙에서 자유롭게 컨트롤 할 수 있는 중앙집중 통제식 NFV 시스템의 연구와 개발이 시급히 요구된다. In order to overcome the physical limitations of these existing network equipment, network top layer appliances (eg F / W, VPN, L4 / L7 switch, DPI, etc.) embedded in network equipment are virtual functions on the same standardized equipment. Research and development of a centralized NFV system that can freely control the virtual functions implemented and implemented are urgently required.

한국공개특허 제10-2012-0125089(발명의 명칭: 클라우드 컴퓨팅 기반의 네트워크 정보보호 서비스 시스템)Korean Patent Laid-Open No. 10-2012-0125089 (entitled " Network Information Protection Service System Based on Cloud Computing "

본 발명의 목적은, Network Function 가상화 기술로 다양한 네트워크 상위계층의 전용 기술들을 한데 묶어 표준화하여 네트워크 관리에 새로운 환경을 구현하는 엔에프브이(NFV)를 위한 패킷 처리 시스템을 제공하는데 있다.An object of the present invention is to provide a packet processing system for an NFV that realizes a new environment for network management by standardizing the dedicated technologies of various network upper layers by network function virtualization technology.

또한, 본 발명의 다른 목적은 가상 펑션(Virtual Function, 가상 어플라이언스)들을 중앙에서 자유롭게 컨트롤 할 수 있는 중앙집중 통제식 NFV 시스템 개발 및 도입의 기반 환경을 구현하는 엔에프브이(NFV)를 위한 패킷 처리 시스템을 제공하는데 있다.Another object of the present invention is to provide a centralized control type NFV system capable of freely controlling a virtual function in a centralized manner and a packet processing for an NFV System.

본 발명의 부가적인 특성 및 이점들은 아래의 설명에 기재될 것이며, 부분적으로는 상기 설명에 의해 명백해지거나 본 발명의 실행을 통해 숙지될 것이다. 본 발명의 목표 및 다른 이점들은 특히 아래 기재된 설명 및 부가된 도면뿐만 아니라 청구항에서 지적한 구조에 의해 구현될 것이다. Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the present invention will be realized and attained by the structure particularly pointed out in the claims, as well as the following description and the annexed drawings.

본 발명은 패킷 컨트롤 코드(Process Code)를 추가한 플로우 테이블(Flow Table) 기반의 패킷 제어정책 및 그에 따른 기술을 제안하였고, 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰 테이블(Rule Table) 관리정책 및 그에 관한 기술도 제시하였다. 또한, 패킷제어 룰 테이블(Rule Table)에 의한 플로우 테이블(Flow Table) 관리정책에 관한 사항과 네트워크 펑션 가상화(Network Function Virtualization)를 위한 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰 테이블(Rule Table) 조합정책에 관한 사항도 제시하였다.The present invention proposes a packet control policy based on a flow table in which a packet control code is added and a technique according to the packet control policy. A packet control rule table for each layer (for example, L2, L3, L4, and L7) (Rule Table) management policy and a description thereof. In addition, a flow table management policy based on a packet control rule table and a packet control for each layer (for example, L2, L3, L4, and L7) for network function virtualization We also proposed a rule table combination policy.

본 발명은 표준화된 네트워크 장비(예: 패킷처리 시스템 등)에 임베디드된 네트워크 상위계층 어플라이언스(F/W, VPN, L4/L7 스위치, DPI 등)들을 가상으로 구현하고 구현된 가상 펑션(Virtual Function, 가상 어플라이언스)들을 중앙에서 자유롭게 컨트롤 할 수 있는 중앙집중 통제식 NFV 시스템 개발 및 도입의 기반 환경을 제공하였으며, 기존의 네트워크 상위계층 어플라이언스 제품의 운영, 유지보수에 소요되는 CAPEX비용과 OPEX비용의 획기적으로 감소가 기대된다. The present invention can be implemented by virtually implementing a network top layer appliance (F / W, VPN, L4 / L7 switch, DPI, etc.) embedded in standardized network equipment (eg, packet processing system) Virtual appliances) in a centralized manner, and provides a foundation for the development and introduction of a centralized control NFV system. Reduction is expected.

또한, 종래 분산 네트워크 관리방식이 중앙 집중식 통합 운영/제어 관리방식으로 패러다임 전환이 예상되며, 보다 안전하고 효율적 통제가능한 네트워크 관리 환경이 제공될 것이다.In addition, the conventional distributed network management method is expected to be paradigm change by a centralized integrated operation / control management method, and a network management environment capable of more secure and efficient control will be provided.

또한, 본 발명에 따른 패킷처리 시스템은 실제 트래픽과 모빌리티 패턴에 따라 실시간의 최적화 네트워크 구성 및 토폴로지 최적화가 가능하며, 가상 펑션(가상 어플라이언스)의 손쉬운 적용으로 훨씬 낮은 위험에 신속하게 새로운 서비스와 새로운 수익 흐름을 확보할 수 있다는 가능성을 제시하였다.In addition, the packet processing system according to the present invention is capable of real-time optimized network configuration and topology optimization according to actual traffic and mobility pattern, and can easily apply a virtual service And the possibility of securing the flow.

도1은 본 발명에 따른 패킷처리 시스템의 구성을 예시한 도면.
도2는 본 발명에 따른 패킷처리 시스템의 동작 흐름도.
도3은 본 발명에 따른 패킷처리 시스템의 룰 설정 절차를 나타낸 예시도.
도4는 가상 펑션들의 제어 룰에 따른 본 발명의 각 레이어별 룰 테이블을 나타낸 예시도.
도5는 각 레이어의 룰 테이블에 의한 본 발명의 플로우 테이블 관리정책을 나타낸 예시도.
도6은 본 발명에 따른 플로우 테이블의 필드 구성을 나타낸 예시도.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram illustrating a configuration of a packet processing system according to the present invention; Fig.
2 is a flowchart illustrating an operation of a packet processing system according to the present invention.
FIG. 3 is an exemplary view showing a rule setting procedure of a packet processing system according to the present invention; FIG.
4 is an exemplary view showing a rule table for each layer according to a control rule of a virtual function according to the present invention.
5 is an exemplary view showing a flow table management policy of the present invention by a rule table of each layer;
6 is an exemplary view showing a field configuration of a flow table according to the present invention;

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 패킷처리 시스템은 엔에프브이(NFV, Network Function Virtualization)를 위한 패킷처리 시스템에 관한 것으로,In order to achieve the above object, a packet processing system according to the present invention is directed to a packet processing system for Network Function Virtualization (NFV)

특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 것들로서, 각 레이어(Layer)별 패킷제어 룰(Rule)을 정의하는 다수의 가상 펑션과, 상기 정의된 제어 룰에 따라 각 레이어(Layer)별 룰 테이블을 생성하고 관리하는 레이어 룰 관리 모듈과, 상기 룰 테이블의 컨트롤 코드 정보가 포함된 플로우 테이블을 생성하고 관리하는 플로우 관리 모듈과, 상기 생성된 플로우 테이블을 참조하여, IP패킷 전달망으로부터 수신된 패킷들을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 패킷 포워더를 포함하여 구성된다.Virtualized functions of a network upper layer appliance of a specific function and includes a plurality of virtual functions for defining packet control rules for each layer and a rule table for each layer according to the defined control rule A flow management module for generating and managing a flow table including control code information of the rule table, and a flow management module for generating and managing packets by switching packets received from the IP packet transmission network with reference to the generated flow table, Or bypasses or drops a packet forwarder.

바람직하게, 상기 패킷 포워더는, IP패킷 전달망의 패킷들이 수신되면, 디패킷타이징(depacketizing)하여 레이어2(Layer 2) 파싱을 수행하고, 상기 수신패킷이 IP프로토콜 타입인 경우, 레이어3 파싱을 수행하고, 상기 수신패킷이 TCP/UDP프로토콜 타입인 경우, 레이어4 파싱을 수행하여 상기 수신 패킷의 플로우가 신규한 것인지 여부를 확인하고, 상기 수신 패킷의 플로우가 신규한 것이면 플로우 관리 모듈측에 새로운 플로우(Flow)의 추가를 요청하고, 상기 수신 패킷의 플로우가 플로우 테이블에 새로 추가되면, 추가된 플로우의 컨트롤 코드값에 따라 상기 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 것을 특징으로 한다.Preferably, when the packets of the IP packet transmission network are received, the packet forwarder performs a layer 2 parsing by depacketizing and performs layer 3 parsing when the received packet is an IP protocol type If the received packet is a TCP / UDP protocol type, layer 4 parsing is performed to check whether the flow of the received packet is new or not. If the flow of the received packet is new, When the flow of the received packet is newly added to the flow table, the received packet is switched, bypassed, or dropped according to the control code value of the added flow. .

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 패킷처리 룰 설정방법은 엔에프브이(NFV, Network Function Virtualization)를 위한 패킷처리 시스템의 패킷처리 룰 설정방법에 관한 것으로,According to another aspect of the present invention, there is provided a packet processing rule setting method of a packet processing system for network function virtualization (NFV)

특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 다수의 가상 펑션이 각 레이어(Layer)별 패킷제어 룰(Rule)을 정의하는 과정과, 레이어 룰 관리 모듈이 상기 정의된 제어 룰에 따라 각 레이어(Layer)별 룰 테이블을 생성하는 과정과, 플로우 관리 모듈(300)이 상기 룰 테이블의 컨트롤 코드 정보를 포함하는 플로우 테이블을 생성하는 과정과, 패킷 포워더가 상기 생성된 플로우 테이블을 참조하여, IP패킷 전달망으로부터 수신된 패킷들을 스위칭하거나 통과(bypass) 시키거나 폐기(drop)하는 과정을 포함하여 이루어진다. A plurality of virtual functions that virtualize a network upper layer appliance of a specific function define packet control rules for each layer; and a layer rule management module that controls the layers of each layer according to the defined control rule, Generating a separate rule table; generating a flow table including control code information of the rule table by the flow management module 300; and referring to the generated flow table, And switching or bypassing or dropping the received packets.

바람직하게, 상기 패킷을 스위칭, 통과, 폐기하는 과정은 패킷을 수신하는 과정과, 디패킷타이징(depacketizing)하여 레이어2(Layer 2) 파싱을 수행하는 과정과, 상기 수신 패킷이 IP프로토콜 타입인 경우, 레이어3 파싱을 수행하는 과정과, 상기 수신 패킷이 TCP/UDP프로토콜 타입인 경우, 레이어4 파싱을 수행하는 과정과, 파싱 결과, 상기 수신 패킷의 플로우가 신규한 것이면 플로우 테이블에 플로우(Flow)를 새로 추가하고 컨트롤 코드값을 결정하는 과정과, 상기 컨트롤 코드값에 따라 상기 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 과정을 포함하여 이루어지는 것을 특징으로 한다.
Preferably, the step of switching, passing, and discarding the packet comprises the steps of receiving a packet, performing a layer 2 parsing by depacketizing the received packet, Performing a layer 3 parsing when the received packet is a TCP / UDP protocol type; performing a layer 4 parsing if the received packet is a TCP / UDP protocol type; Adding a new control code value and determining a control code value; and switching or bypassing or dropping the received packet according to the control code value.

본 발명의 착안점은, 네트워크 펑션 가상화(Network Function Virtualization)를 위한 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰 테이블(Rule Table) 조합정책과 상기 패킷제어 룰 테이블(Rule Table)에 의한 플로우 테이블(Flow Table) 관리정책, 그리고 패킷 컨트롤 코드(Process Code)를 추가한 플로우 테이블(Flow Table) 기반의 패킷 제어정책 및 그에 따른 기술을 구현하는데 있다. The aspect of the present invention is that a packet control rule table (Rule Table) combination policy for each layer (e.g., L2, L3, L4, and L7) for network function virtualization and the packet control rule table A flow table management policy based on a flow control table, and a flow table based packet control policy with a process control code, and the corresponding technology.

이하, 본 발명의 바람직한 실시 예를 도면을 참조하여 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.

도1은 본 발명에 따른 패킷처리 시스템의 구성을 예시한 도면이다.1 is a diagram illustrating a configuration of a packet processing system according to the present invention.

도1에 도시된 바와 같이, 본 발명에 따른 패킷처리 시스템은 다수의 가상 펑션(100), 레이어 룰 관리 모듈(200), 플로우 관리 모듈(300), 패킷 포워더(400)를 포함하여 구성된다.As shown in FIG. 1, the packet processing system according to the present invention includes a plurality of virtual functions 100, a layer rule management module 200, a flow management module 300, and a packet forwarder 400.

상기 다수의 가상 펑션(100)은 IP패킷 전달망에서 특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 것들로서, Route, NAT, Firewall, IDS, IPS, DNS, F/W, VPN, L4/L7스위치, DPI, Caching 등을 구현한 소프트웨어 형태의 가상 어플라이언스 (Virtual Appliances)이다.The plurality of virtual functions 100 are virtualized network upper layer appliances of a specific function in the IP packet transmission network and include routers, NATs, firewalls, IDSs, IPSs, DNSs, F / Ws, VPNs, L4 / , And Caching (Virtual Appliances).

본 발명에 따른 가상 펑션(100)은 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰(Rule)을 정의한다. The virtual function 100 according to the present invention defines a packet control rule for each layer (e.g., L2, L3, L4, and L7).

상기 레이어 룰 관리 모듈(200)은 도4에 도시된 바와 같이 상기 다수의 가상 펑션(100)들이 정의한 제어 룰(Rule)에 따라 각 레이어(예: L2, L3, L4, L7)별 룰(Rule) 테이블을 생성하고 관리한다. 도4는 가상 펑션들의 제어 룰에 따른 본 발명의 각 레이어별 룰 테이블을 나타낸 예시도이다.4, the layer rule management module 200 generates a rule for each layer (e.g., L2, L3, L4, and L7) according to a control rule defined by the plurality of virtual functions 100, ) Create and manage tables. 4 is an exemplary diagram illustrating a rule table for each layer according to a control rule of a virtual function according to the present invention.

레이어 룰 관리 모듈(200)은 룰(Rule) 정보 추가 시, 먼저 상기 룰 테이블(Rule Table)에 해당 정보의 존재유무 확인하고, 해당 룰 정보가 존재하는 경우 그 룰(Rule)를 수정하고, 해당 룰 정보가 존재하지 않을 경우 신규로 룰 정보를 생성한다. When adding rule information, the layer rule management module 200 first checks whether or not the corresponding information exists in the rule table, and if the rule information exists, the layer rule management module 200 corrects the rule, If rule information does not exist, rule information is newly generated.

만일, 룰 테이블(Rule Table)의 룰 정보가 수정되면, 해당 룰 정보와 일치하는 플로우 테이블(Flow Table) 상의 정보들도 수정한다. 플로우 테이블(Flow Table) 상의 정보들을 수정하는 경우, 계속적으로 플로우 테이블의 정보들이 추가될 수 있으므로 마지막으로 저장된 인덱스(index)까지 수정되어야 한다.If the rule information of the rule table is modified, the information on the flow table corresponding to the rule information is also corrected. When the information on the flow table is modified, information on the flow table can be continuously added, and therefore, the last stored index must be modified.

상기 레이어 룰 관리 모듈(200)은 레이어2(Layer 2), 레이어3(Layer 3), 레이어4(Layer 4), 레이어7(Layer 7)의 룰 테이블을 생성하고 관리한다.The layer rule management module 200 generates and manages rule tables of Layer 2, Layer 3, Layer 4, and Layer 7.

상기 레이어2(Layer 2)의 룰 테이블은 도4에 도시된 바와 같이, 출발지 맥(Source Mac)정보, 목적지 맥(Destination Mac)정보, 그리고 컨트롤 코드(Process Code) 정보를 포함하여 구성된다. 상기 각 레이어(예: L2, L3, L4, L7)의 룰 테이블에 저장되는 컨트롤 코드 정보는 상기 패킷 포워더(400)의 동작을 제어하기 위한 것으로, 스위칭, 통과(bypass), 폐기(drop) 등에 관한 지시(명령)이다. The layer 2 rule table includes source MAC information, destination MAC information, and control code information, as shown in FIG. The control code information stored in the rule table of each layer (for example, L2, L3, L4, and L7) controls the operation of the packet forwarder 400 and is used for switching, bypassing, (Command).

상기 레이어3(Layer 3)의 룰 테이블은 출발지 IP(Source IP)정보, 목적지 IP(Destination IP)정보, 그리고 컨트롤 코드(Process Code) 정보를 포함하여 구성된다. The rule table of the Layer 3 includes source IP information, destination IP information, and control code information.

상기 레이어4(Layer 4)의 룰 테이블은 출발지 포트(Source Port)정보, 목적지 포트(Destination Port)정보, 그리고 컨트롤 코드(Process Code) 정보를 포함하여 구성된다. The rule table of Layer 4 includes source port information, destination port information, and control code information.

상기 레이어7(Layer 7)의 룰 테이블은 어플리케이션(application)정보와 컨트롤 코드(Process Code) 정보를 포함하여 구성된다. The rule table of Layer 7 includes application information and control code information.

상기 플로우 관리 모듈(300)은 도5에 도시된 바와 같이 각 레이어(예: L2, L3, L4, L7)의 룰 테이블을 참조하여 플로우 테이블을 생성한다. 즉, 상기 룰 테이블의 컨트롤 코드를 참조하여 새로이 생성되는 플로우의 컨트롤 코드값을 결정한다. 도5는 각 레이어의 룰 테이블에 의한 본 발명의 플로우 테이블 관리정책을 나타낸 예시도이다.The flow management module 300 creates a flow table by referring to the rule table of each layer (e.g., L2, L3, L4, and L7) as shown in FIG. That is, the control code value of the newly generated flow is determined by referring to the control code of the rule table. 5 is an exemplary view showing a flow table management policy of the present invention by a rule table of each layer.

수신된 패킷의 플로우가 여러 레이어 계층의 제어 룰에 적용되고 각 레이어의 제어 룰이 서로 다른 것일 때, 플로우 관리 모듈(300)은 가장 낮은 레이어 계층의 룰 테이블(컨트롤 코드)을 참조하여 새로 생성되는 플로우의 컨트롤 코드값을 결정한다. 본 발명은 신규 플로우의 컨트롤 코드값 결정에 있어, 하위 레이어의 제어 룰에 더 높은 우선순위를 부여한다.When the flow of the received packet is applied to the control rules of the various layer layers and the control rules of the respective layers are different, the flow management module 300 refers to the rule table (control code) of the lowest layer, Determine the control code value of the flow. The present invention assigns a higher priority to the control rule of the lower layer in determining the control code value of the new flow.

플로우 관리 모듈(300)은 신규 플로우를 생성할 때 도6에 도시된 바와 같이, 기존의 필드구성 항목(5 tuple)에 플로우 카운트 정보, 패킷들의 데이터량 정보, 패킷 수 정보, 컨트롤 코드 정보, 활성/비활성 상태 정보를 추가한다. 도6은 본 발명에 따른 플로우 테이블의 필드 구성을 나타낸 예시도이다.6, the flow management module 300 adds flow count information, data amount information of packets, packet number information, control code information, and active count information to an existing field configuration item (5 tuple) / Add inactive status information. 6 is a diagram illustrating an example of a field configuration of a flow table according to the present invention.

상기 플로우 카운트 정보는 해당 플로우를 통한 패킷전송 횟수를 나타낸다.The flow count information indicates the number of packet transmissions through the flow.

상기 패킷들의 데이터량 정보는 해당 플로우를 통해 전송 중인 데이터 량을 나타낸다.The data amount information of the packets indicates the amount of data being transmitted through the corresponding flow.

상기 패킷 수 정보는 해당 플로우를 통해 전송 중인 패킷의 개수를 나타낸다. The packet number information indicates the number of packets being transmitted through the flow.

상기 컨트롤 코드 정보는 상기 패킷 포워더(400)의 동작을 제어하기 위한 지시(명령)코드로서, 스위칭(예: '0' ~ 'N', 통과(bypass, 예: 'N+4'), 폐기(drop, 예: 'N+3'), 리저브(reserve, 예: 'N+1', 'N+2') 중의 어느 하나이다. 플로우 관리 모듈(300)은 상기 레이어의 룰 테이블에 저장되는 컨트롤 코드를 그대로 플로우 테이블의 컨트롤 코드값으로 인용한다.The control code information is an instruction (command) code for controlling the operation of the packet forwarder 400. The control code information is used for switching (for example, '0' to 'N', bypass (eg, 'N + 4' (e.g., 'N + 1', 'N + 2'). The flow management module 300 controls the control stored in the layer rule table The code is quoted as the control code value of the flow table.

상기 활성/비활성 상태 정보는 활성(Active, 예: '1') 또는 비활성(Non Active, 예: '0')의 코드값을 저장한다. 해당 플로우 상의 패킷 전송이 진행 중인 경우, 상기 활성/비활성 상태 정보필드에는 활성(Active, 예: '1')의 코드값이 저장된다. 그리고, 해당 플로우를 통한 패킷 전송이 종료되면, 플로우 관리 모듈(300)은 상기 활성/비활성 상태 정보필드에 비활성(Non Active, 예: '0')의 코드값을 저장한다.The active / inactive status information stores code values of active (e.g., '1') or inactive (Non Active, e.g., '0'). When packet transmission on the flow is in progress, the active / inactive status information field stores an active (e.g., '1') code value. When the packet transmission through the flow ends, the flow management module 300 stores a code value of non-active (e.g., '0') in the active / inactive status information field.

패킷 포워더(400)는 IP패킷 전달망의 패킷들이 수신되면, 우선 디패킷타이징(depacketizing)과 각 레이어별 파싱을 수행하여, 상기 수신 패킷의 플로우가 플로우 테이블에 이미 등록된 것인지 플로우 테이블에는 없는 새로운 것인지 여부를 판별한다.When the packets of the IP packet transmission network are received, the packet forwarder 400 first performs depacketizing and parsing for each layer to determine whether the flow of the received packet is already registered in the flow table, .

만일, 플로우 테이블에 이미 등록된 것인 경우 패킷 포워더(400)는 활성/비활성 상태 정보필드의 코드값을 검출하여 비활성(Non Active, 예: '0')의 코드라면 플로우 테이블에 신규 플로우(Flow)를 추가하지 않고, 상기 비활성(Non Active, 예: '0') 코드를 활성(Active, 예: '1')상태의 코드값으로 전환하여 저장한다.If it is already registered in the flow table, the packet forwarder 400 detects the code value of the active / inactive status information field and sets a new flow (Flow) in the flow table if the code is inactive (Non Active, ) Is not added and the non-active (e.g., '0') code is converted into a code value in the active (e.g., '1') state and stored.

본 발명은 플로우 테이블의 필드 항목에 활성/비활성 상태 정보필드를 별도로 둠으로써, 시스템 성능향상과 메모리 관리의 효율성을 고려하였다.The present invention considers the improvement of the system performance and the efficiency of the memory management by separately setting the active / inactive state information fields in the field items of the flow table.

사용하지 않는 플로우를 테이블에서 제거하지 않고, 상태값만을 변경(활성상태->비활성 상태)해 두었다가 차후 필요할 때 간단한 조치(비활성상태 ->활성 상태)만으로 재사용함으로써 신규 플로우 추가의 효과를 얻을 수 있고 그에 따른 시스템 성능 향상을 기대할 수 있다. It is possible to change the state value only (active -> inactive state) without removing the unused flow from the table, and then to add the new flow by reusing only the simple action (inactive state -> active state) The system performance can be improved accordingly.

또한, 메모리 자원의 부족으로 시스템 성능이 저하되면, 상기 활성/비활성 상태 정보필드를 참조하여, 비활성 상태의 플로우들을 일괄 삭제함으로써 메모리 자원을 효율적으로 관리할 수 있다.In addition, when the system performance is deteriorated due to insufficient memory resources, memory resources can be efficiently managed by collectively deleting inactive flows with reference to the active / inactive state information field.

상기 패킷 포워더(400)는, IP패킷 전달망의 패킷들이 수신되면 상기 생성된 플로우 테이블을 참조하여, 상기 수신 패킷들을 처리한다.The packet forwarder 400 processes the received packets by referring to the generated flow table when the packets of the IP packet transmission network are received.

패킷 포워더(400)는 상기 플로우 테이블에 포함된 컨트롤 코드값에 따라 상기 수신 패킷들을 스위칭하거나 통과(bypass)시키거나 폐기(drop)한다. The packet forwarder 400 switches, passes, or drops the received packets according to the control code value included in the flow table.

패킷 포워더(400)는 IP패킷 전달망의 패킷들을 수신하고, 우선 수신 패킷들을 디패킷타이징(depacketizing)하여 레이어2(Layer 2) 파싱을 수행한다. 그리고, 패킷이 IP프로토콜 타입인 경우, 레이어3 파싱을 수행한다. The packet forwarder 400 receives the packets of the IP packet transmission network and performs layer 2 parsing by depacketizing the received packets first. If the packet is of the IP protocol type, it performs layer 3 parsing.

만일, 상기 레이어3 파싱을 통해 상기 패킷의 IP가 TCP/UDP프로토콜 타입으로 판정되면, 패킷 포워더(400)는 레이어4 파싱을 수행하여 패킷의 포트정보를 추출한다. 그리고 추출된 포트정보를 통해 수신 패킷의 플로우를 파악하고 패킷의 플로우가 상기 플로우 테이블에 이미 등록된 것인지 플로우 테이블에는 없는 새로운 것인지 여부를 판별한다. If the IP of the packet is determined as the TCP / UDP protocol type through the layer 3 parsing, the packet forwarder 400 performs layer 4 parsing to extract port information of the packet. Then, the flow of the received packet is grasped through the extracted port information and it is determined whether the flow of the packet is already registered in the flow table or is not new in the flow table.

상기 수신 패킷의 플로우가 플로우 테이블에는 없는 새로운 것이면, 패킷 포워더(400)는 플로우 관리 모듈(300)에게 새로운 플로우(Flow) 추가를 요청하고, 플로우 관리 모듈(300)는 플로우 테이블에 플로우(Flow)를 새로 추가하고 레이어(Layer)별 제어 룰에 따라 컨트롤 코드값을 결정한다. The packet forwarder 400 requests the flow management module 300 to add a new flow and the flow management module 300 transmits a flow to the flow table, And determines the control code value according to the layer-by-layer control rule.

패킷 포워더(400)는 플로우 테이블에 새로운 플로우(Flow)가 추가되면, 새 플로우의 컨트롤 코드값에 따라 상기 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)한다.
When a new flow is added to the flow table, the packet forwarder 400 switches, passes, or drops the received packet according to the control code value of the new flow.

도2는 본 발명에 따른 패킷처리 시스템의 동작 흐름도이다.2 is a flowchart illustrating an operation of the packet processing system according to the present invention.

도2를 참조하여, 본 발명에 따른 패킷처리 시스템의 동작을 보다 상세히 설명하면 다음과 같다. The operation of the packet processing system according to the present invention will be described in more detail with reference to FIG.

본 발명은 패킷처리 시스템의 동작에 앞서, 도3에 도시된 바와 같이 패킷처리를 위한 룰 설정 절차를 수행한다. 도3은 본 발명에 따른 패킷처리 시스템의 룰 설정 절차를 나타낸 예시도이다.Prior to the operation of the packet processing system, the present invention performs a rule setting procedure for packet processing as shown in FIG. 3 is an exemplary diagram illustrating a rule setting procedure of the packet processing system according to the present invention.

특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 가상 펑션(100)들은 우선, 각 레이어(Layer)별 패킷제어 룰(Rule)을 정의한다.Virtual functions 100 virtualizing a network upper layer appliance with a specific function first define packet control rules for each layer.

Route, NAT, Firewall, IDS, IPS, DNS, F/W, VPN, L4/L7스위치, DPI, Caching 등을 구현한 가상 펑션(100)은 레이어2(Layer 2), 레이어3(Layer 3), 레이어4(Layer 4), 그리고 레이어7(Layer 7)단에서 이루어지는 패킷 제어 룰을 정의한다.The virtual function 100 implementing the Route, NAT, Firewall, IDS, IPS, DNS, F / W, VPN, L4 / L7 switch, DPI, Caching and the like has Layer 2, Layer 3, Layer 4 (Layer 4), and Layer 7 (Layer 7).

그리고, 레이어 룰 관리 모듈(200)은 도4에 도시된 바와 같이 각 가상 펑션(100)들이 정의한 상기 제어 룰에 따라 레이어2, 레이어3, 레이어4, 그리고 레이어7의 룰 테이블을 생성한다. The layer rule management module 200 generates a rule table of layers 2, 3, 4, and 7 in accordance with the control rule defined by each virtual function 100 as shown in FIG.

일단, 각 레이어(예: L2, L3, L4, L7)의 룰 테이블 생성이 완료되면, 플로우 관리 모듈(300)은 도5에 도시된 바와 같이 각 레이어(예: L2, L3, L4, L7)의 룰 테이블에 저장된 컨트롤 코드를 참조하여 신규 플로우의 컨트롤 코드값을 결정하고 플로우 테이블을 생성한다.Once the rule table creation of each layer (for example, L2, L3, L4, L7) is completed, the flow management module 300 creates the layer (e.g., L2, L3, L4, L7) The control code value of the new flow is determined by referring to the control code stored in the rule table of FIG.

수신 패킷의 플로우에 여러 레이어 계층의 제어 룰이 적용되는 경우 플로우 관리 모듈(300)은 본 발명의 우선 순위에 따라 가장 낮은 레이어 계층의 제어 룰의 적용을 받는다. 즉, 가장 낮은 레이어 계층의 룰 테이블(컨트롤 코드값)을 참조하여 새로 생성되는 플로우의 컨트롤 코드값을 결정한다. When a control rule of a plurality of layers is applied to a flow of a received packet, the flow management module 300 receives the control rule of the lowest layer according to the priority order of the present invention. That is, the control code value of the newly generated flow is determined by referring to the rule table (control code value) of the lowest layer hierarchy.

이후, 패킷 포워더(400)는 상기 생성된 플로우 테이블을 참조하여, IP패킷 전달망으로부터 수신된 패킷들을 도2에 도시된 바와 같이 처리(예: 스위칭, 통과(bypass), 폐기(drop))한다. Then, the packet forwarder 400 refers to the generated flow table to process (e.g., switch, bypass, drop) the packets received from the IP packet transmission network as shown in FIG.

패킷 포워더(400)는 우선, IP패킷 전달망으로부터 패킷이 수신되면, 패킷을 디패킷타이징(depacketizing)하여 레이어2(Layer 2) 파싱을 수행한다. (S10~S20)When a packet is received from the IP packet transmission network, the packet forwarder 400 first performs a layer 2 parsing by depacketizing the packet. (S10 to S20)

이때, 상기 수신 패킷이 IP프로토콜 타입인 것으로 판정되면, 패킷 포워더(400)는 다시 레이어3 파싱(IP헤더를 파싱)을 수행하여 수신 패킷이 TCP/UDP프로토콜 타입인지 여부를 파악한다. (S30~S50)At this time, if it is determined that the received packet is an IP protocol type, the packet forwarder 400 again performs layer 3 parsing (IP header parsing) to determine whether the received packet is a TCP / UDP protocol type. (S30 to S50)

상기 수신 패킷이 TCP/UDP프로토콜 타입이 아닌 경우(예: ICNP프로토콜, ARP프로토콜 등), 패킷 포워더(400)는 해당 수신 패킷을 그냥 통과(bypass)시킨다. (S30, S60)If the received packet is not a TCP / UDP protocol type (e.g., ICNP protocol, ARP protocol, etc.), the packet forwarder 400 bypasses the received packet. (S30, S60)

만일, 상기 수신 패킷이 TCP/UDP프로토콜 타입인 경우, 패킷 포워더(400)는 레이어4 파싱(TCP/UDP헤더를 파싱)을 수행하며(S70), TCP/UDP헤더 파싱의 결과, 상기 수신 패킷의 플로우가 플로우 테이블에 등록된 것(예: 전송진행 중인 플로우)이면 테이블의 플로우 상태값들(필드 값들)을 업데이트 한다. (S80, S110)If the received packet is of the TCP / UDP protocol type, the packet forwarder 400 performs parsing of the layer 4 (TCP / UDP header parsing) (S70). As a result of the TCP / UDP header parsing, Update the flow state values (field values) of the table if the flow is one that is registered in the flow table (e.g., a flow in progress). (S80, S110)

반면, 상기 TCP/UDP헤더 파싱의 결과, 상기 수신 패킷의 플로우가 신규한 것이면 플로우 관리 모듈(300)측에 새로운 플로우(Flow)의 추가를 요청한다. (S80~S90)On the other hand, if the flow of the received packet is new as a result of the TCP / UDP header parsing, a request to add a new flow to the flow management module 300 is made. (S80 to S90)

그리고, 플로우 관리 모듈(300)은 플로우 테이블에 해당 플로우(Flow)를 새로 추가하고 각 구성 필드들(예: 5 tuples, 플로우 카운트 필드, 패킷 데이터량 필드, 패킷 수 필드, 컨트롤 코드 필드, 활성/비활성 상태 필드)의 설정값을 입력한다. (S100) 이때, 플로우 관리 모듈(300)은 각 레이어(예: L2, L3, L4, L7)의 룰 테이블을 참조하여 플로우의 필드값들을 입력(설정)하고, 컨트롤 코드값을 결정한다.The flow management module 300 newly adds a corresponding flow to the flow table and stores each configuration field (e.g., 5 tuples, a flow count field, a packet data amount field, a packet number field, a control code field, Inactive status field). (S100) At this time, the flow management module 300 inputs (sets) the field values of the flow with reference to the rule table of each layer (e.g., L2, L3, L4, and L7) and determines the control code value.

상기 플로우 테이블에 추가되는 플로우(Flow)의 필드값 입력이 완료되면, 패킷 포워더(400)는 상기 입력된 필드값(컨트롤 코드값)에 따라 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)한다. (S120)
When the input of the field value of the flow added to the flow table is completed, the packet forwarder 400 switches the received packet according to the input field value (control code value), or bypasses or discards the received packet )do. (S120)

이상의 본 발명은 패킷 컨트롤 코드(Process Code)를 추가한 플로우 테이블(Flow Table) 기반의 패킷 제어정책 및 그에 따른 기술을 제안한 것이며, 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰 테이블(Rule Table) 관리정책 및 그에 관한 기술도 제시하였다. 그리고, 상기 패킷제어 룰 테이블(Rule Table)에 의한 플로우 테이블(Flow Table) 관리정책에 관한 사항과 네트워크 펑션 가상화(Network Function Virtualization)를 위한 각 레이어(예: L2, L3, L4, L7)별 패킷제어 룰 테이블(Rule Table) 조합정책에 관한 사항도 제시하였다. The present invention proposes a packet control policy based on a flow table to which a packet control code is added and a technique therefor. A packet control rule for each layer (for example, L2, L3, L4, and L7) Table (Rule Table) management policy and its related technology are also presented. A flow table management policy based on the packet control rule table and a packet for each layer (e.g., L2, L3, L4, and L7) for network function virtualization We also presented the rules for the control rule table (Rule Table) combination policy.

본 발명에 따른 가상 펑션(100), 레이어 룰 관리 모듈(200), 그리고 플로우 관리 모듈(300)은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 그리고 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. The virtual function 100, the layer rule management module 200, and the flow management module 300 according to the present invention can be implemented as a computer-readable code on a medium on which a program is recorded. The computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored.

상기 컴퓨터가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 상기 컴퓨터는 가상 펑션(100), 레이어 룰 관리 모듈(200), 그리고 플로우 관리 모듈(300)을 포함할 수도 있다.Examples of the computer-readable medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. The computer includes a virtual function 100, a layer rule management module 200, And a flow management module 300.

본 발명은 도면에 도시된 실시 예(들)를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형이 이루어질 수 있으며, 상기 설명된 실시예(들)의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. May be constructed by selectively or in combination. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

이상, 기술된 바와 같이, 본 발명은, Network Function 가상화 기술로 다양한 네트워크 상위계층의 전용 기술들을 한데 묶어 표준화하여 네트워크 관리에 새로운 환경을 제공하는 엔에프브이(NFV)를 위한 패킷 처리 시스템을 구현하였다.As described above, the present invention implements a packet processing system for NFV, which provides a new environment for network management by standardizing the dedicated technologies of various network upper layers by network function virtualization technology .

본 발명은 표준화된 네트워크 장비(예: 패킷처리 시스템 등)에 임베디드된 네트워크 상위계층 어플라이언스(F/W, VPN, L4/L7 스위치, DPI 등)들을 가상으로 구현하고 구현된 가상 펑션(Virtual Function, 가상 어플라이언스)들을 중앙에서 자유롭게 컨트롤 할 수 있는 중앙집중 통제식 NFV 시스템 개발 및 도입의 기반 환경을 제공하였으며, 기존의 네트워크 상위계층 어플라이언스 제품의 운영, 유지보수에 소요되는 CAPEX비용과 OPEX비용의 획기적으로 감소가 기대된다. The present invention can be implemented by virtually implementing a network top layer appliance (F / W, VPN, L4 / L7 switch, DPI, etc.) embedded in standardized network equipment (eg, packet processing system) Virtual appliances) in a centralized manner, and provides a foundation for the development and introduction of a centralized control NFV system. Reduction is expected.

또한, 종래 분산 네트워크 관리방식이 중앙 집중식 통합 운영/제어 관리방식으로 패러다임 전환이 예상되며, 보다 안전하고 효율적 통제가능한 네트워크 관리 환경이 제공될 것이다.In addition, the conventional distributed network management method is expected to be paradigm change by a centralized integrated operation / control management method, and a network management environment capable of more secure and efficient control will be provided.

또한, 본 발명에 따른 패킷처리 시스템은 실제 트래픽과 모빌리티 패턴에 따라 실시간의 최적화 네트워크 구성 및 토폴로지 최적화가 가능하며, 가상 펑션(가상 어플라이언스)의 손쉬운 적용으로 훨씬 낮은 위험에 신속하게 새로운 서비스와 새로운 수익 흐름을 확보할 수 있다는 가능성을 제시하였다.In addition, the packet processing system according to the present invention is capable of real-time optimized network configuration and topology optimization according to actual traffic and mobility pattern, and can easily apply a virtual service And the possibility of securing the flow.

100 : 다수의 가상 펑션 200 : 레이어 룰 관리 모듈
300 : 플로우 관리 모듈 400 : 패킷 포워더
100: multiple virtual functions 200: layer rule management module
300: Flow management module 400: Packet forwarder

Claims (11)

엔에프브이(NFV, Network Function Virtualization)를 위한 패킷처리 시스템에 있어서,
특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 것들로서, 각 레이어(Layer)별 패킷제어 룰(Rule)을 정의하는 다수의 가상 펑션(100)과,
상기 정의된 제어 룰에 따라 각 레이어(Layer)별 룰 테이블을 생성하고 관리하는 레이어 룰 관리 모듈(200)과,
상기 룰 테이블의 컨트롤 코드 정보가 포함된 플로우 테이블을 생성하고 관리하는 플로우 관리 모듈(300)과,
상기 생성된 플로우 테이블을 참조하여, IP패킷 전달망으로부터 수신된 패킷들을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 패킷 포워더(400)를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
1. A packet processing system for Network Function Virtualization (NFV)
Virtualization of a network upper layer appliance having a specific function, a plurality of virtual functions 100 defining packet control rules for each layer,
A layer rule management module 200 for creating and managing a rule table for each layer according to the control rule defined above,
A flow management module 300 for creating and managing a flow table including control code information of the rule table,
And a packet forwarder (400) for switching, bypassing or dropping packets received from the IP packet transmission network with reference to the generated flow table.
제1항에 있어서, 상기 레이어 룰 관리 모듈(200)은
레이어2(Layer 2), 레이어3(Layer 3), 레이어4(Layer 4), 레이어7(Layer 7)의 룰 테이블을 생성하는 것을 특징으로 하는 패킷처리 시스템.
The apparatus of claim 1, wherein the layer rule management module (200)
Wherein a rule table of Layer 2, Layer 3, Layer 4, and Layer 7 is generated.
제1항에 있어서, 각 레이어(Layer)별 룰 테이블은
출발지(Source) 정보, 목적지(Destination) 정보, 그리고 상기 패킷 포워더(400)의 동작을 제어하는 컨트롤 코드 정보를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
The method according to claim 1, wherein the rule table for each layer
And source code, destination information, and control code information for controlling operations of the packet forwarder (400).
제2항에 있어서, 상기 레이어2(Layer 2)의 룰 테이블은
출발지 맥(Source Mac)정보, 목적지 맥(Destination Mac)정보, 그리고 컨트롤 코드 정보를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
3. The method of claim 2, wherein the layer 2 rule table
Source Mac information, destination MAC information, and control code information.
제2항에 있어서, 상기 레이어3(Layer 3)의 룰 테이블은
출발지 IP(Source IP)정보, 목적지 IP(Destination IP)정보, 그리고 컨트롤 코드 정보를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
3. The method of claim 2, wherein the rule table of Layer 3 (Layer 3)
Source IP information, destination IP information, and control code information.
제2항에 있어서, 상기 레이어4(Layer 4)의 룰 테이블은
출발지 포트(Source Port)정보, 목적지 포트(Destination Port)정보, 그리고 컨트롤 코드 정보를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
3. The method of claim 2, wherein the rule table of Layer 4 (Layer 4)
A source port information, a destination port information, and control code information.
제2항에 있어서, 상기 레이어7(Layer 7)의 룰 테이블은
어플리케이션(application)정보와 컨트롤 코드 정보를 포함하여 구성되는 것을 특징으로 하는 패킷처리 시스템.
3. The method of claim 2, wherein the rule table of Layer 7
Wherein the information processing apparatus comprises application information and control code information.
제1항에 있어서, 상기 플로우 관리 모듈(300)은
기존 필드들의 구성에, 플로우 카운트 정보, 패킷들의 데이터량 정보, 패킷 수 정보, 컨트롤 코드 정보, 활성/비활성 상태 정보를 더 포함하는 플로우 테이블을 생성하는 것을 특징으로 하는 패킷처리 시스템.
The method of claim 1, wherein the flow management module (300)
And generates a flow table including flow count information, data amount information of packets, packet number information, control code information, and active / inactive state information in the configuration of existing fields.
제1항에 있어서, 상기 패킷 포워더(400)는
IP패킷 전달망의 패킷들이 수신되면, 디패킷타이징(depacketizing)하여 레이어2(Layer 2) 파싱을 수행하고,
상기 수신패킷이 IP프로토콜 타입인 경우, 레이어3 파싱을 수행하고,
상기 수신패킷이 TCP/UDP프로토콜 타입인 경우, 레이어4 파싱을 수행하여 상기 수신 패킷의 플로우가 신규한 것인지 여부를 확인하고,
상기 수신 패킷의 플로우가 신규한 것이면 플로우 관리 모듈(300)측에 새로운 플로우(Flow)의 추가를 요청하고,
상기 수신 패킷의 플로우가 플로우 테이블에 새로 추가되면, 추가된 플로우의 컨트롤 코드값에 따라 상기 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 것을 특징으로 하는 패킷처리 시스템.
The method of claim 1, wherein the packet forwarder (400)
When the packets of the IP packet transmission network are received, depacketizing is performed to perform Layer 2 parsing,
If the received packet is an IP protocol type, performs layer 3 parsing,
If the received packet is a TCP / UDP protocol type, layer 4 parsing is performed to check whether the flow of the received packet is new or not,
If the flow of the received packet is new, a request for adding a new flow to the flow management module 300 is requested,
And when the flow of the received packet is newly added to the flow table, the received packet is switched, bypassed or dropped according to a control code value of the added flow.
엔에프브이(NFV, Network Function Virtualization)를 위한 패킷처리 시스템의 패킷처리 룰 설정방법에 있어서,
특정 기능의 네트워크 상위계층 어플라이언스를 가상화한 다수의 가상 펑션(100)이 각 레이어(Layer)별 패킷제어 룰(Rule)을 정의하는 과정과,
레이어 룰 관리 모듈(200)이 상기 정의된 제어 룰에 따라 각 레이어(Layer)별 룰 테이블을 생성하는 과정과,
플로우 관리 모듈(300)이 상기 룰 테이블의 컨트롤 코드 정보를 포함하는 플로우 테이블을 생성하는 과정과,
패킷 포워더(400)가 상기 생성된 플로우 테이블을 참조하여, IP패킷 전달망으로부터 수신된 패킷들을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 과정을 포함하여 이루어지는 것을 특징으로 하는 패킷처리 룰 설정방법.
A method of setting a packet processing rule of a packet processing system for Network Function Virtualization (NFV)
A plurality of virtual functions 100 virtualizing a network upper layer appliance having a specific function define packet control rules for each layer;
A step in which the layer rule management module 200 generates a rule table for each layer according to the control rule defined above,
Generating a flow table including control code information of the rule table by the flow management module 300,
The packet forwarder 400 refers to the generated flow table to switch, bypass, or drop packets received from the IP packet transmission network. .
제10항에 있어서, 상기 패킷을 스위칭, 통과, 폐기하는 과정은
패킷을 수신하는 과정과,
디패킷타이징(depacketizing)하여 레이어2(Layer 2)파싱을 수행하는 과정과,
상기 수신 패킷이 IP프로토콜 타입인 경우, 레이어3파싱을 수행하는 과정과,
상기 수신 패킷이 TCP/UDP프로토콜 타입인 경우, 레이어4 파싱을 수행하는 과정과,
파싱 결과, 상기 수신 패킷의 플로우가 신규한 것이면 플로우 테이블에 플로우(Flow)를 새로 추가하고 컨트롤 코드값을 결정하는 과정과,
상기 컨트롤 코드값에 따라 상기 수신 패킷을 스위칭하거나 통과(bypass)시키거나 폐기(drop)하는 과정을 포함하여 이루어지는 것을 특징으로 하는 패킷처리 룰 설정방법.
11. The method of claim 10, wherein the step of switching, passing,
Receiving a packet,
Performing a layer 2 parsing by depacketizing the packet;
Performing layer 3 parsing when the received packet is an IP protocol type;
Performing layer 4 parsing when the received packet is a TCP / UDP protocol type;
Adding a flow to a flow table and determining a control code value if the flow of the received packet is new as a result of parsing;
And switching or bypassing or dropping the received packet according to the control code value.
KR1020140029023A 2014-03-12 2014-03-12 System and method for processing packets for nfv KR101543735B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140029023A KR101543735B1 (en) 2014-03-12 2014-03-12 System and method for processing packets for nfv

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140029023A KR101543735B1 (en) 2014-03-12 2014-03-12 System and method for processing packets for nfv

Publications (1)

Publication Number Publication Date
KR101543735B1 true KR101543735B1 (en) 2015-08-11

Family

ID=54060835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140029023A KR101543735B1 (en) 2014-03-12 2014-03-12 System and method for processing packets for nfv

Country Status (1)

Country Link
KR (1) KR101543735B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639460A (en) * 2018-11-19 2019-04-16 中国联合网络通信集团有限公司 The method and apparatus of NFV resource management
US10437523B2 (en) 2016-02-25 2019-10-08 Red Hat Israel, Ltd. Secure receive packet processing for network function virtualization applications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437523B2 (en) 2016-02-25 2019-10-08 Red Hat Israel, Ltd. Secure receive packet processing for network function virtualization applications
CN109639460A (en) * 2018-11-19 2019-04-16 中国联合网络通信集团有限公司 The method and apparatus of NFV resource management
CN109639460B (en) * 2018-11-19 2021-12-07 中国联合网络通信集团有限公司 NFV resource management method and device

Similar Documents

Publication Publication Date Title
US20210344692A1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
EP3143733B1 (en) Virtual flow network in a cloud environment
KR101714279B1 (en) System and method providing policy based data center network automation
CN107925589B (en) Method and medium for processing remote device data messages entering a logical overlay network
US10320749B2 (en) Firewall rule creation in a virtualized computing environment
US9124536B2 (en) Managing data flows in overlay networks
US9294351B2 (en) Dynamic policy based interface configuration for virtualized environments
US9203645B2 (en) Virtual input-output connections for machine virtualization
US9584477B2 (en) Packet processing in a multi-tenant software defined network (SDN)
JP2017153118A (en) Network control system configuring middle box
EP3889772A1 (en) Role-based access control policy auto generation
EP3479532B1 (en) A data packet forwarding unit in software defined networks
KR101543735B1 (en) System and method for processing packets for nfv
KR20180085592A (en) Virtual router system and method to integrate with openstack based orchestration
KR20180085475A (en) Virtual router api interface to integrate with openstack based orchestration

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180806

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 5