KR101963143B1 - Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment - Google Patents

Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment Download PDF

Info

Publication number
KR101963143B1
KR101963143B1 KR1020170063150A KR20170063150A KR101963143B1 KR 101963143 B1 KR101963143 B1 KR 101963143B1 KR 1020170063150 A KR1020170063150 A KR 1020170063150A KR 20170063150 A KR20170063150 A KR 20170063150A KR 101963143 B1 KR101963143 B1 KR 101963143B1
Authority
KR
South Korea
Prior art keywords
packet
hash value
vnf
output port
hashing
Prior art date
Application number
KR1020170063150A
Other languages
Korean (ko)
Other versions
KR20180127859A (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 KR1020170063150A priority Critical patent/KR101963143B1/en
Publication of KR20180127859A publication Critical patent/KR20180127859A/en
Application granted granted Critical
Publication of KR101963143B1 publication Critical patent/KR101963143B1/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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

소프트웨어 정의 네트워킹 환경에서 인라인(IN-LINE) VNF로 트래픽을 분배하는 방법, 장치 및 컴퓨터 프로그램에 관한 것이다. 본 발명은 소프트웨어 정의 네트워킹 환경에서 네트워크 장비가 자동 확장 기능을 가진 인라인(in-line) VNF(가상 네트워크 기능)에 트래픽을 분배하는 방법에 있어서, 임의의 노드로부터 패킷을 수신하는 단계, 상기 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 상기 패킷의 출발지 정보 또는 목적지 정보를 해시하여 해시값을 획득하는 단계, 상기 해시값에 대응되는 출력 포트를 통해 상기 출력 포트와 연결된 VNF로 상기 패킷을 전송하는 단계를 포함하는 것을 일 특징으로 한다. 본 발명에 의하면, 소프트웨어 정의 네트워킹 환경에서 자동 확장 기능을 가진 인라인 VNF에 트래픽을 효과적으로 분배할 수 있다.To a method, apparatus and computer program for distributing traffic in an IN-LINE VNF in a software defined networking environment. The present invention relates to a method for distributing traffic to an in-line VNF (Virtual Network Function) network device having an auto-extend function in a software defined networking environment, comprising the steps of: receiving a packet from any node; Obtaining a hash value by hashing the source information or destination information of the packet according to whether the packet is a request packet or a response packet, transmitting the packet to a VNF connected to the output port through an output port corresponding to the hash value And a control unit. According to the present invention, it is possible to effectively distribute traffic to an inline VNF having an automatic expansion function in a software defined networking environment.

Description

소프트웨어 정의 네트워킹 환경에서 인라인 가상 네트워크 기능으로 트래픽을 분배하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR DISTRIBUTING TRAFFIC TO IN-LINE VIRTUAL NETWORK FUNCTION IN SOFTWARE DEFINED NETWORKING ENVIRONMENT}METHOD, APPARATUS AND COMPUTER PROGRAM FOR DISTRIBUTING TRAFFIC TO IN-LINE VIRTUAL NETWORK FUNCTION IN SOFTWARE DEFINED NETWORKING ENVIRONMENT FOR DISTRIBUTING TRAFFIC TO IN-LINE VIRTUAL NETWORK FUNCTION IN SOFTWARE-

본 발명은 가상 네트워크 기능(VNF:VIRTUAL NETWORK FUNCTION)으로 트래픽을 분배하는 방법, 장치 및 컴퓨터 프로그램에 관한 것으로, 보다 자세하게는 소프트웨어 정의 네트워킹 환경에서 인라인(IN-LINE) VNF로 트래픽을 분배하는 방법, 장치 및 컴퓨터 프로그램에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method, apparatus and computer program for distributing traffic to a virtual network function (VNF), and more particularly to a method for distributing traffic to an IN-LINE VNF in a software defined networking environment, Device and a computer program.

네트워크 기능은 침입 탐지, 라우팅과 같이 잘 정의된 기능적 행동을 제공하는 네트워크 인프라의 일부 구성요소로, 전통적으로 네트워크 기능은 소프트웨어가 특정 물리적 장비와 결합하여 그 기능이 구현되었다. 네트워크 기능을 수행하는 네트워크 장비들은 수동적으로 네트워크에 설치되어야 하므로 급격한 네트워크 변화에 대처하는데 어려움이 있었다. Network functionality is a component of the network infrastructure that provides well-defined functional behavior, such as intrusion detection and routing. Traditionally, network functionality has been implemented by combining software with specific physical devices. Network devices that perform network functions must be manually installed in the network, which has made it difficult to cope with sudden network changes.

이러한 문제를 해결하기 위해 최근에는 네트워크 기능 가상화 기술로 인해 하드웨어 위주의 네트워크 아키텍처 전반에 새로운 변화가 일어나고 있다. 네트워크 기능 가상화는 네트워크 구성 요소인 하드웨어와 소프트웨어를 분리하고, 물리적인 네트워크 설비의 기능을 가상화함으로써, 네트워크 기능을 VM(Virtual Machine) 서버, 범용 프로세서를 탑재한 하드웨어, 클라우딩 컴퓨터 등에서 실행하는 개념이다. To solve this problem, network functional virtualization technology is changing all over the hardware-oriented network architecture. Network function Virtualization is a concept that executes network functions in a virtual machine (VM) server, hardware equipped with a general-purpose processor, or a cloud computing computer by separating the network component hardware and software and virtualizing the functions of the physical network equipment .

이에 따르면, 라우터, 로드 밸런서, 방화벽, 침입 방지, 가상 사설망 등 다양한 네트워크 장비들을 소프트웨어로 구현할 수 있어 값비싼 전용 장비를 범용 하드웨어와 전용 소프트웨어로 대체 가능하다. According to this, various network devices such as routers, load balancers, firewalls, intrusion prevention, and virtual private networks can be implemented in software, which makes it possible to replace expensive dedicated equipment with general purpose hardware and dedicated software.

즉, 가상 네트워크 기능(Virtual Network Function, 이하 VNF라 함)은 하드웨어에서 분리된 네트워크를 소프트웨어로 구현한 가상화 객체(예를 들어, 방화벽, DPI(Deep Packet Inspection), 로드 밸런서 등) 또는 그 집합을 의미하는 것으로 이해될 수 있다. That is, a virtual network function (hereinafter referred to as VNF) includes a virtual object (for example, a firewall, a Deep Packet Inspection (DPI), a load balancer, or the like) Can be understood as meaning.

한편, 컴퓨팅 자원이 자동으로 늘었다 줄어드는 오토 스케일링(Auto Scaling, 자동 확장) 기능은 VNF에도 적용될 수 있다. VNF 자동 확장 기능에 의하면, 미리 설정된 기준에 따라 VNF의 개수를 자동으로 조절(확장)할 수 있다. 타겟형 VNF(또는 프록시 VNF)는 특정 VNF를 거치는 패킷이 설정되어 있으므로 트래픽 분배가 문제되지 않는다. 예를 들어, 프록시 방식의 웹 방화벽(WAF)으로 유입되는 패킷은 목적지가 VNF의 주소로 설정되어 있어 확장된 VNF로의 트래픽 분배를 고민할 필요가 없다. On the other hand, the auto scaling (auto scaling) function, which reduces and increases the computing resources automatically, can also be applied to VNF. According to the VNF automatic expansion function, the number of VNFs can be automatically adjusted (expanded) according to a preset reference. Since the target type VNF (or proxy VNF) is set with a packet passing through a specific VNF, traffic distribution is not a problem. For example, a packet entering a proxy-based web firewall (WAF) has its destination set to the address of the VNF, so it does not have to worry about distributing traffic to the extended VNF.

또한 도 1에 도시된 바와 같이 확장된 VNF의 앞단에 로드 밸런서가 연결되어 있는 경우라면, 외부 네트워크에서 로드 밸런서를 목적지로 유입된 패킷은 로드 밸런서가 각 VNF의 상태를 확인하고 각 VNF에 트래픽을 분배하므로 별다른 문제가 발생하지 않는다. In addition, if the load balancer is connected to the front of the extended VNF as shown in FIG. 1, the load balancer checks the state of each VNF in the packet transmitted from the external network to the load balancer, and transmits the traffic to each VNF There is no problem because of distribution.

그러나 방화벽, 침입 방지 시스템(IPS: Intrusion Prevention System), 인라인 방식의 웹 방화벽과 같은 인라인 VNF의 경우, 기존의 오토스케일링 기능을 적용하기 어렵다. 인라인 VNF는 두 노드 사이에 임의로 삽입되어 각 VNF가 갖는 기능을 수행하는데, 패킷에 포함된 목적지 정보만으로는 어떤 VNF로 패킷을 전송해야하는지 특정이 어렵기 때문이다. 따라서 VNF가 자동 확장 되는 경우, VNF와 연결된 네트워크 장비는 트래픽 분배에 어려움을 겪는다. However, for inline VNFs such as firewalls, intrusion prevention systems (IPS), and inline web firewalls, it is difficult to apply the existing autoscaling capabilities. The inline VNF is arbitrarily inserted between two nodes to perform the function of each VNF, because it is difficult to specify which VNF packet should be transmitted only by the destination information included in the packet. Therefore, when the VNF is automatically extended, the network equipment connected to the VNF suffers difficulty in traffic distribution.

특히, 인라인 장비들은 세션을 트래킹(tracking) 해야하는 경우가 많은데, 이는 서버-클라이언트 간 전송 패킷이 양방향에서 모두 동일한 VNF를 통과해야 한다는 것을 의미한다. 종래 기술에 의하면 VNF가 오토 스케일링된 경우 두 노드 사이에 위치하는 다수의 VNF 중 어느 하나의 VNF를 특정하는 것이 불가능하다. 따라서 소프트웨어 정의 네트워킹 환경에서 오토 스케일링된 인라인 VNF에 트래픽을 효과적으로 분배할 수 있는 방법이 요구된다. In particular, inline devices often have to track sessions, which means that server-to-client transport packets must pass through the same VNF in both directions. According to the prior art, when the VNF is auto-scaled, it is impossible to specify any one of the plurality of VNFs located between the two nodes. Therefore, there is a need for a way to effectively distribute traffic to an autoscaled inline VNF in a software defined networking environment.

본 발명은 전술한 문제를 해결하기 위한 것으로, 소프트웨어 정의 네트워킹 환경에서 자동 확장 기능을 가진 인라인 VNF에 트래픽을 효과적으로 분배할 수 있는 방법을 제공하는 것을 일 목적으로 한다. It is an object of the present invention to provide a method for efficiently distributing traffic to an inline VNF having an automatic expansion function in a software defined networking environment in order to solve the above problems.

또한, 본 발명은 네트워크 장비가 자동 확장 기능을 가진 인라인 VNF에 패킷을 전달하기 위해 참조 가능한 오픈플로우 프로토콜 기반의 패킷 처리 규정을 제공하는 것을 일 목적으로 한다. It is also an object of the present invention to provide an open flow protocol based packet processing specification that can be referred to by a network equipment for delivering packets to an inline VNF having an automatic extension function.

이러한 목적을 달성하기 위한 본 발명은 소프트웨어 정의 네트워킹 환경에서 네트워크 장비가 자동 확장 기능을 가진 인라인(in-line) VNF(가상 네트워크 기능)에 트래픽을 분배하는 방법에 있어서, 임의의 노드로부터 패킷을 수신하는 단계, 상기 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 상기 패킷의 출발지 정보 또는 목적지 정보를 해시하여 해시값을 획득하는 단계, 상기 해시값에 대응되는 출력 포트를 통해 상기 출력 포트와 연결된 VNF로 상기 패킷을 전송하는 단계를 포함하는 것을 일 특징으로 한다. In order to achieve the above object, the present invention provides a method for distributing traffic to an in-line VNF (Virtual Network Function) having an automatic expansion function in a software defined networking environment, Obtaining a hash value by hashing the source information or the destination information of the packet according to whether the packet is a request packet or a response packet, and transmitting the hash value to the VNF connected to the output port through the output port corresponding to the hash value And transmitting the packet.

전술한 바와 같은 본 발명에 의하면, 소프트웨어 정의 네트워킹 환경에서 자동 확장 기능을 가진 인라인 VNF에 트래픽을 효과적으로 분배할 수 있다. According to the present invention as described above, it is possible to effectively distribute traffic to an inline VNF having an automatic expansion function in a software defined networking environment.

또한, 본 발명에 의하면, 네트워크 장비가 오픈플로우 프로토콜 기반의 패킷 처리 규정을 참조하여 자동 확장 기능을 가진 인라인 VNF에 패킷을 전달할 수 있다. In addition, according to the present invention, a network equipment can forward a packet to an inline VNF having an automatic extension function by referring to an open flow protocol-based packet processing rule.

도 1은 자동 확장 기능을 가진 타겟형 VNF에 트래픽을 분배하는 방법을 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른 트래픽 분배 방법을 설명하기 위한 순서도,
도 3은 본 발명의 일 실시 예에 따른 해시값 획득 방법을 설명하기 위한 순서도,
도 4는 본 발명의 트래픽 분배 방법에 있어서 패킷의 이동 방향을 이용하는 경우의 일 실시 예를 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 해시값 획득 방법을 설명하기 위한 순서도,
도 6은 본 발명의 트래픽 분배 방법에 있어서 트래픽의 특성에 따라 입력 포트가 구분되는 경우의 일 실시 예를 설명하기 위한 도면,
도 7은 본 발명의 일 실시 예에 따른 해시값 획득 방법을 설명하기 위한 순서도,
도 8은 본 발명의 트래픽 분배 방법에 있어서 트래픽을 IP 서브넷으로 구분할 수 있는 경우의 일 실시 예를 설명하기 위한 도면,
도 9는 본 발명의 트래픽 분배 방법에 있어서 트래픽의 특성을 식별할 수 없고, 네트워크 장비가 특정 함수를 지원하는 경우의 일 실시 예를 설명하기 위한 도면,
도 10은 트래픽의 특성을 식별할 수 없는 경우의 일 실시 예에 따른 트래픽 분배 방법을 설명하기 위한 순서도,
도 11은 본 발명의 트래픽 분배 방법에 있어서 트래픽의 특성을 식별할 수 없는 경우의 일 실시 예를 설명하기 위한 도면이다.
1 is a diagram for explaining a method of distributing traffic to a target type VNF having an automatic expansion function,
2 is a flowchart illustrating a traffic distribution method according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a method of acquiring a hash value according to an embodiment of the present invention. FIG.
FIG. 4 is a diagram for explaining an embodiment in which a moving direction of a packet is used in the traffic distribution method of the present invention;
FIG. 5 is a flowchart illustrating a method of acquiring a hash value according to an embodiment of the present invention. FIG.
6 is a view for explaining an embodiment in which input ports are classified according to traffic characteristics in the traffic distribution method of the present invention;
FIG. 7 is a flowchart illustrating a method of acquiring a hash value according to an embodiment of the present invention. FIG.
8 is a diagram for explaining an embodiment in which traffic can be classified into IP subnets in the traffic distribution method of the present invention.
9 is a diagram for explaining an embodiment in which a network device can not identify a traffic characteristic in the traffic distribution method of the present invention and supports a specific function;
10 is a flowchart for explaining a traffic distribution method according to an embodiment in a case where characteristics of traffic can not be identified;
11 is a view for explaining an embodiment in which traffic characteristics can not be identified in the traffic distribution method of the present invention.

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. The above and other objects, features, and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, which are not intended to limit the scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다. In the drawings, the same reference numerals are used to designate the same or similar components, and all combinations described in the specification and claims can be combined in any manner. It is to be understood that, unless the context requires otherwise, references to singular forms may include more than one, and references to singular forms may also include plural forms.

본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.The terminology used herein is for the purpose of describing particular illustrative embodiments only and is not intended to be limiting. Singular representations as used herein may also be intended to include a plurality of meanings, unless the context clearly dictates otherwise. The terms "and / or" " and / or "include any and all combinations of the items listed therein. The terms "comprises," "comprising," "including," "having," "having," "having," and the like have the implicit significance, Steps, operations, elements, and / or components, and does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / Steps, processes, and operations of the methods described herein should not be construed as necessarily enforcing their performance in such specific order as discussed or illustrated unless specifically concluded the order of their performance . It should also be understood that additional or alternative steps may be used.

또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다. In addition, each of the components may be implemented as a hardware processor, the components may be integrated into one hardware processor, or a combination of the components may be implemented as a plurality of hardware processors.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 명세서에서 “플로우 룰”의 용어는 해당 업계의 통상의 기술자 입장에서 소프트웨어 정의 네트워킹 환경에서 컨트롤러가 적용하는 네트워크 정책을 의미하는 것으로 이해되어야 한다. 나아가 “플로우 룰”의 용어는 소프트웨어 정의 네트워크 스위치에 대해서는 상기 네트워크 정책에 따른 플로우 엔트리를 의미하는 것으로 해석될 수 있다. The term " flow rule " in the context of the present invention should be understood to refer to a network policy applied by a controller in a software defined networking environment in the context of a skilled artisan. Further, the term " flow rule " can be interpreted to mean a flow entry according to the network policy for a software defined network switch.

또한, 본 발명의 명세서에서 “출발지 정보”, “목적지 정보”의 용어는 출발지와 목적지의 IP 주소, (TCP/UDP)Port, MAC주소 등 출발지와 목적지를 식별할 수 있는 모든 종류의 식별 정보를 포함하는 의미로 사용되었다. In the specification of the present invention, the terms " origin information " and " destination information " include all types of identification information that can identify the origin and destination, such as source and destination IP addresses, TCP / UDP port, It was used as an inclusive meaning.

소프트웨어 정의 네트워킹 환경에서 컨트롤러(50)는 네트워크 장비(100)를 관리하는 기능을 하는데, 복수의 네트워크 장비(100) 및 VNF(200)를 중앙 집중형으로 관리 및 제어한다. In the software defined networking environment, the controller 50 functions to manage the network equipment 100, and centrally manages and controls the plurality of network equipment 100 and the VNF 200.

네트워크 장비(100)는 컨트롤러(50)의 제어에 따라 패킷을 처리할 수 있는데, 네트워크 장비(100)의 예로는 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크의 스위치, 라우터 등이 있으며, 네트워크 장비(100)는 소프트웨어 정의 네트워킹 환경에서 오픈플로우 프로토콜 또는 OVSDB 프로토콜 등을 지원하는 소프트웨어 정의 네트워크 스위치(이하, SDN 스위치라 한다.)를 포함한다. 설명의 편의를 위해 이하에서는 네트워크 장비(100)가 SDN 스위치인 경우를 중심으로 설명한다. The network device 100 may process a packet under the control of the controller 50. Examples of the network device 100 include a mobile communication base station, a base station controller, a gateway device, a switch of a wired network, The apparatus 100 includes a software defined network switch (hereinafter referred to as SDN switch) that supports an open flow protocol or an OVSDB protocol in a software defined networking environment. For convenience of description, the case where the network equipment 100 is an SDN switch will be described below.

본 명세서에서 SDN 스위치(100)는 소프트웨어 정의 네트워킹을 구현하는 프로토콜(예를 들어, 오픈플로우 프로토콜, OVSDB 프로토콜)만을 지원하는 SDN 스위치, 소프트웨어 정의 네트워크 구현 프로토콜을 지원하는 가상 SDN 스위치, 소프트웨어 정의 네트워크 구현 프로토콜을 지원하는 일반적인 L2 스위치를 포함하는 개념으로 이해되어야 한다.The SDN switch 100 may be implemented as an SDN switch that supports only protocols that implement software defined networking (e.g., Open Flow protocol, OVSDB protocol), a virtual SDN switch that supports a software defined network implementation protocol, a software defined network implementation And a general L2 switch supporting the protocol.

소프트웨어 정의 네트워킹 환경에서 컨트롤러(50)와 SDN 스위치(100)는 상호간 정보를 주고 받으며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러(50)와 SDN 스위치(100)간 서로 통신 가능한 표준 규격이다. 본 명세서는 오픈플로우 프로토콜이 사용되는 일 실시 예를 중심으로 본 발명을 설명하고 있으나, 본 발명은 특정 프로토콜에 의해 한정되지 않는다. 본 발명의 일 실시 예는 오픈플로우 이외에 다른 프로토콜로도 구현 가능하다. In a software defined networking environment, the controller 50 and the SDN switch 100 exchange information with each other, and the widely used protocol for this is the OpenFlow protocol. That is, the open flow protocol is a standard that allows the controller 50 and the SDN switch 100 to communicate with each other. Although the present disclosure describes the invention with reference to an embodiment in which an open flow protocol is used, the invention is not limited by any particular protocol. An embodiment of the present invention can be implemented with other protocols besides open flow.

SDN 스위치(100)에는 패킷을 규정 및 처리하고, 패킷에 관련된 통계 정보를 포함하는 하나 이상의 플로우 테이블(Flow table)이 존재할 수 있다. 상기 플로우 테이블은 패킷 처리를 규정하는 플로우 룰(Flow Rule)로 구성되며, 플로우 룰은 컨트롤러(50)가 생성하여 SDN 스위치(100)에 전송하는 플로우 모드 메세지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. SDN 스위치(100)은 플로우 테이블을 참조하여 패킷을 처리한다.The SDN switch 100 may have one or more flow tables that define and process packets and include statistical information related to the packets. The flow table is composed of a flow rule that defines packet processing. The flow rule is added by a flow mode message (Flow-Mod Message) generated by the controller 50 and transmitted to the SDN switch 100, Modified or deleted. The SDN switch 100 processes the packet with reference to the flow table.

플로우 테이블은 패킷의 입력 포트(ingress port), 패킷 헤더 정보와 같이 플로우를 정의하는 패킷에 대한 매치 정보를 포함하는 매치 필드(Match Field), 패킷의 처리를 정의하는 동작 정보(Instructions) 등을 포함할 수 있다. The flow table includes a match field including match information for a packet defining a flow such as an ingress port of a packet and packet header information, operation information for defining processing of a packet, and the like can do.

동작 정보에는 여러 가지 타입(type)의 패킷 처리 규정이 포함될 수 있는데, 그 중에는 그룹(group) 액션이 포함될 수 있다. 그룹 액션은 플로우 테이블과 별도로 저장된 그룹 테이블(group table)을 참조하여 패킷을 처리할 수 있도록 한다. 본 발명의 일 실시 예에서 그룹 테이블을 사용하여 패킷의 처리가 이루어지므로 보다 구체적인 예는 도면을 참조하여 설명하기로 한다. The operation information may include various types of packet processing rules, among which group actions may be included. The group action allows a packet to be processed by referring to a group table stored separately from the flow table. In an embodiment of the present invention, a packet is processed using a group table, and therefore, a more specific example will be described with reference to the drawings.

본 명세서에서 SDN 스위치(100)는 구체적인 설명이 없더라도 전술한 오픈플로우 프로토콜에 따른 플로우 룰을 참조하여 트래픽 분배 방법의 각 단계를 실행하는 것으로 이해될 수 있으며, 각 단계의 패킷 처리를 규정하는 플로우 룰은 컨트롤러(50)에 의해 생성된 것으로 이해될 수 있다. In this specification, the SDN switch 100 can be understood to execute each step of the traffic distribution method by referring to the flow rule according to the above-described open flow protocol even if there is no specific description, and the flow rule Can be understood as being generated by the controller 50.

도 2는 본 발명의 일 실시 예에 따른 트래픽 분배 방법을 설명하기 위한 순서도이다. 도 2를 참조하면, 네트워크 장비는 임의의 노드로부터 패킷을 수신하면(S100), 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 패킷의 출발지 정보 또는 목적지 정보를 해시하여 해시값을 획득하고(S200), 해시값에 대응되는 출력 포트(output port)를 통해 출력 포트와 연결된 VNF로 패킷을 전송할 수 있다(S300). 2 is a flowchart illustrating a traffic distribution method according to an embodiment of the present invention. Referring to FIG. 2, the network device receives a packet from an arbitrary node (S100), obtains a hash value by hashing the source information or the destination information of the packet according to whether the packet is a request packet or a response packet (S200) , And transmits the packet to the VNF connected to the output port through an output port corresponding to the hash value (S300).

도 3을 참조하면, 단계 200에서 네트워크 장비는 수신한 패킷이 요청 패킷인지 여부를 판단하여(S213), 요청(request) 패킷 즉, 순방향으로 이동하는 패킷으로 판단되면, 패킷의 출발지 정보를 해시하여 해시값을 획득할 수 있다(S217). 만약 단계 213에서의 판단 결과 패킷이 응답(response) 패킷 즉, 역방향으로 이동하는 패킷으로 판단되면 패킷의 목적지 정보를 해시하여 해시값을 획득할 수 있다(S215). 여기서 순방향/역방향은 패킷을 주고받는 두 개의 노드 중 어느 하나를 기준 정해지는 방향으로, 최초로 패킷을 전송한 노드가 출발지인 경우를 순방향으로 판단할 수 있다. Referring to FIG. 3, in step 200, the network device determines whether the received packet is a request packet (S213). If it is determined that the packet is a forward packet, that is, a forward packet, The hash value can be obtained (S217). If it is determined in step 213 that the packet is a response packet, that is, a packet moving in the reverse direction, the hash value may be obtained by hashing the destination information of the packet (S215). Herein, the forward / reverse direction can determine forward direction when the node that originally transmitted the packet is the departure direction, in the direction in which one of the two nodes that receive and transmit the packet is set as the reference direction.

도 4를 참조하여 도 3의 실시 예를 보다 구체적으로 설명하면 다음과 같다. SDN 스위치(100a)가 임의의 노드로부터 패킷을 수신한 경우, 오픈 플로우 SDN 스위치(100a)는 해당 패킷이 요청 패킷인 것으로 판단되면, 패킷의 출발지 정보(src_ip)를 해시하여 해시값을 획득할 수 있으며, 해시값에 대응되는 출력 포트를 통해 패킷을 확장된 VNF에 전송한다. The embodiment of FIG. 3 will be described in more detail with reference to FIG. When the SDN switch 100a receives a packet from an arbitrary node, the open flow SDN switch 100a can obtain the hash value by hashing the source information (src_ip) of the packet if it is determined that the packet is a request packet And transmits the packet to the extended VNF through the output port corresponding to the hash value.

도 4의 예시에서 SDN 스위치(100a)는 출발지 정보의 해시값이 1, 2인 패킷은 각각 1번 출력 포트와 2번 출력 포트를 통해 VNF(200a)로 전송하며, 출발지 정보의 해시값이 4인 패킷은 4번 출력 포트를 통해 VNF(200b)로 전송할 수 있다. In the example of FIG. 4, the SDN switch 100a transmits packets having the hash values of the source information of 1 and 2 to the VNF 200a through the output port 1 and the output port 2, respectively, and the hash value of the source information is 4 Can be transmitted to the VNF 200b through the fourth output port.

도 4에서 각 VNF(200a, 200b, 200c, 200d, 200e)는 확장된 VNF로, 각 VNF는 컨트롤러(50)에서 SDN 스위치로 포트를 등록하여 패킷을 수신할 수 있다. In FIG. 4, each VNF 200a, 200b, 200c, 200d, and 200e is an extended VNF, and each VNF can receive a packet by registering a port from the controller 50 to the SDN switch.

역방향인 경우, 즉 응답 패킷이 SDN 스위치(100b)로 수신되는 경우, SDN 스위치(100b)는 패킷의 목적지 정보를 해시할 수 있는데, 응답 패킷의 목적지 정보는 요청 패킷의 출발지 정보와 동일할 것이다. 응답 패킷의 목적지 정보를 해시한 값은 SDN 스위치(100a)이 출발지 정보를 해시했을 때의 해시값과 동일할 것이며, 각 해시값은 출력 포트에 대응되므로, SDN 스위치(100b)는 SDN 스위치(100a)가 패킷을 보냈던 포트와 동일한 번호를 갖는 출력 포트를 이용해 패킷을 전송할 수 있다. 이는 해당 트래픽의 순방향 이동 시 통과한 VNF와 동일한 VNF를 이용할 수 있다는 것을 의미하며, 따라서 본 발명의 트래픽 분배 방법에 따르면, VNF가 자동 확장되더라도 세션이 유지된다. When the response packet is received in the SDN switch 100b, the SDN switch 100b can hash the destination information of the packet, and the destination information of the response packet will be the same as the source information of the request packet. The hash value of the destination information of the response packet will be the same as the hash value when the SDN switch 100a hashes the source information and each hash value corresponds to the output port so that the SDN switch 100b is connected to the SDN switch 100a ) Can send a packet using an output port having the same number as the port to which the packet was sent. This means that it is possible to use the same VNF as the VNF passed in the forward movement of the corresponding traffic. Therefore, according to the traffic distribution method of the present invention, the session is maintained even if the VNF is automatically extended.

도 5는 네트워크 장비로 수신되는 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 네트워크 장비로 패킷이 수신되는 입력 포트가 다른 경우의 단계 200의 일 실시 예이다. FIG. 5 illustrates an exemplary embodiment of a step 200 in which a packet received by a network equipment is different depending on whether the packet is a request packet or a response packet.

도 5의 실시 예에 따른 단계 200에서 네트워크 장비는 패킷을 수신한 입력 포트를 식별하고(S233), 입력 포트가 요청 패킷에 대응되는 입력 포트인지 여부를 판단한다(S235). 단계 235의 판단 결과에 따라, 입력 포트가 요청 패킷에 대응되는 입력 포트이면 패킷의 출발지 정보를 해시하고(S239), 입력 포트가 응답 패킷에 대응되는 입력 포트이면 패킷의 목적지 정보를 해시할 수 있다(S237). In step 200 according to the embodiment of FIG. 5, the network device identifies an input port that received the packet (S233), and determines whether the input port is an input port corresponding to the request packet (S235). If the input port is the input port corresponding to the request packet in step 235, the source information of the packet is hashed (S239). If the input port is the input port corresponding to the response packet, the destination information of the packet can be hashed (S237).

단계 235 내지 239는 컨트롤러(50)로부터 수신한 플로우 룰을 참조하여 실행될 수 있으며, 보다 구체적으로는 오픈플로우 프로토콜의 그룹 테이블을 이용하여 구현될 수 있다. Steps 235 to 239 can be executed with reference to the flow rules received from the controller 50, and more specifically, can be implemented using the group table of the open flow protocol.

도 6을 참조하여 도 5의 실시 예를 보다 자세하게 설명하면 다음과 같다. 도 6은 트래픽 분배 방법에 있어서 트래픽의 특성에 따라 입력 포트가 구분되는 경우의 일 실시 예로, 네트워크 장비로 입력되는 패킷이 탭(Tapping) 장비에서 수신되는 복제된 패킷인 경우를 도시한 도면이다. The embodiment of FIG. 5 will be described in more detail with reference to FIG. FIG. 6 is a diagram illustrating a case where an input port is classified according to traffic characteristics in a traffic distribution method, and a packet input to a network equipment is a replicated packet received from a tapping equipment.

도 6을 참조하면, 탭 장비(10)는 (1)과 (2)사이를 이동하는 패킷을 복제하여 SDN 스위치(100c)로 전송한다. 복제된 패킷은 모니터링을 위한 것일 수 있으며, VNF(200)와 SDN 스위치(100d)를 통해 모니터링 장치(300)로 전달될 수 있다. Referring to FIG. 6, the tap apparatus 10 replicates a packet moving between (1) and (2) and transmits it to the SDN switch 100c. The replicated packet may be for monitoring and may be delivered to monitoring device 300 via VNF 200 and SDN switch 100d.

도 6의 실시 예에서 복제된 패킷은 포트별로 구분되어 SDN 스위치(100c)로 수신되는데, (1)에서 (2)로 이동하는 트래픽은 SDN 스위치(100c)의 제 1 포트로, (2)에서 (1)로 이동하는 트래픽은 SDN 스위치(100c)의 제 2 포트로 진입하도록 설정될 수 있다. In the embodiment of FIG. 6, the copied packets are divided into ports and received by the SDN switch 100c. Traffic from (1) to (2) is transmitted to the first port of the SDN switch 100c, The traffic traveling to the base station 1 may be set to enter the second port of the SDN switch 100c.

도 6의 예시에서 (1)에서 (2)로 이동하는 패킷은 탭 장비(10)에서 복제되어 SDN 스위치(100c)의 1번 포트로 진입하며, (2)에서 (1)로 이동하는 패킷은 탭 장비(10)에서 복제되어 SDN 스위치(100c)의 10번 포트로 진입한다. In the example of FIG. 6, the packet moving from (1) to (2) is copied at the tap device 10 and enters port 1 of the SDN switch 100c, and the packet moving from (2) to Tap device 10 and enters the port 10 of the SDN switch 100c.

SDN 스위치(100c)는 패킷의 입력 포트가 1번이면 출발지 정보를 해시하고, 패킷의 입력 포트가 10번이면 목적지 정보를 해시하여 해시 값을 획득하며, 해시값에 대응되는 출력 포트를 통해 해당 출력 포트와 연결된 VNF로 패킷을 전송한다. The SDN switch 100c hashs the source information when the input port of the packet is once, obtains the hash value by hashing the destination information if the input port of the packet is ten, and outputs the hash value through the output port corresponding to the hash value And sends the packet to the VNF connected to the port.

보다 구체적으로, SDN 스위치(100c)에 저장된 플로우 룰에는 입력 포트별로 기 설정된 그룹 식별자가 포함될 수 있으며, 각 입력 포트에 대응되는 그룹 테이블은 아래 표 1과 같은 그룹 엔트리를 포함할 수 있다.More specifically, the flow rule stored in the SDN switch 100c may include a predetermined group identifier for each input port, and the group table corresponding to each input port may include a group entry as shown in Table 1 below.

그룹 식별자
(Group Identifier)
Group identifier
(Group Identifier)
그룹 타입
(Group Type)
Group type
(Group Type)
카운터counter 액션 버킷Action bucket
1One select
{hash(src_ip)}
select
{hash (src_ip)}
-- hash(src_ip)=1 , output:1
hash(src_ip)=2 , output:2
hash(src_ip)=3, output:3
hash (src_ip) = 1, output: 1
hash (src_ip) = 2, output: 2
hash (src_ip) = 3, output: 3

도 7은 트래픽을 IP 서브넷으로 구분할 수 있는 경우의 단계 200의 일 실시 예이다. 단계 200에서 네트워크 장비는 수신한 패킷의 출발지 네트워크 주소를 식별할 수 있는데(S253), 출발지 네트워크 주소가 기 설정된 제 1 네트워크 주소인지 여부를 판단할 수 있다(S255). 판단 결과, 출발지 네트워크 주소가 제 1 네트워크 주소에 대응되면 네트워크 장비는 패킷의 출발지 정보를 해시하며(S259), 출발지 네트워크 주소가 제 2 네트워크 주소에 대응되면 패킷의 목적지 정보를 해시(S257)하여 해시값을 획득할 수 있다. FIG. 7 is an embodiment of step 200 when traffic can be divided into IP subnets. In step 200, the network device can identify the source network address of the received packet (S253), and determine whether the source network address is a first network address (S255). If the source network address corresponds to the first network address, the network device hashes the source information of the packet (S259). If the source network address corresponds to the second network address, the network device hashys the destination information of the packet (S257) Value can be obtained.

도 8을 참조하여 도 7의 실시 예를 보다 자세하게 설명하면 다음과 같다. The embodiment of FIG. 7 will be described in more detail with reference to FIG.

도 8의 실시 예는 도 7의 실시 예와 유사하게 탭 장비(10)가 (1)과 (2)사이를 이동하는 패킷을 복제하여 SDN 스위치(100e)로 전송하는 경우를 도시하고 있다. 복제된 패킷은 모니터링을 위한 것일 수 있으며, VNF(200)와 SDN 스위치(100f)를 통해 모니터링 장치(300)로 전달될 수 있다. 다만, 도 8의 실시 예는 도 6의 실시 예와 다르게, 탭 장비(10)에서 복제된 패킷이 (1)에서 (2)로 이동하는 패킷인지, (2)에서 (1)로 이동하는 패킷인지 여부와 무관하게 포트 번호 구분 없이 SDN 스위치(100e)로 진입한다. The embodiment of FIG. 8 shows a case where the tap apparatus 10 replicates a packet moving between (1) and (2) and transmits it to the SDN switch 100e, similarly to the embodiment of FIG. The replicated packet may be for monitoring and may be delivered to monitoring device 300 via VNF 200 and SDN switch 100f. However, the embodiment of FIG. 8 differs from the embodiment of FIG. 6 in that the packet copied from the tap device 10 is a packet moving from (1) to (2) SDN switch 100e without regard to whether or not the port number is entered.

이 경우, 본 발명의 일 실시 예에 따른 SDN 스위치(100e)는 출발지의 네트워크 주소를 확인하여 해시 대상을 결정할 수 있다. 즉, 32비트의 IP 주소의 일부분은 네트워크 주소를 나타내고, 일부분은 호스트 주소를 나타내는데, 복제된 패킷의 네트워크 주소를 확인하면, 패킷의 출발지를 식별할 수 있다. In this case, the SDN switch 100e according to the embodiment of the present invention can determine the hash target by checking the network address of the source. That is, a part of the 32-bit IP address indicates a network address and a part indicates a host address. By identifying the network address of the duplicated packet, the source of the packet can be identified.

도 8의 예시에서, 클라이언트 A(1)의 IP 주소는 1.1.x.x.이고, 서버 B(2)의 IP 주소는 2.2.x.x일 수 있는데, 복제된 패킷을 임의의 입력 포트를 통해 수신한 SDN 스위치(100e)는 해당 패킷이 (1)에서 (2)로 이동하는 요청 패킷인지 (2)에서 (1)로 이동하는 응답 패킷인지 입력 포트의 포트 번호로는 식별이 불가능하다. 그러나 패킷의 출발지의 네트워크 주소(16비트)가 1.1인지 2.2인지를 판단하면, (1)에서 (2)로 이동하는 패킷인지 (2)에서 (1)로 이동하는 패킷인지를 식별할 수 있다. 따라서, SDN 스위치(100e)는 출발지 정보의 네트워크 주소를 확인함으로써, 네트워크 주소가 1.1이면 출발지 정보를 해시하고, 네트워크 주소가 2.2이면 목적지 정보를 해시하여 해시값을 획득할 수 있다. In the example of FIG. 8, the IP address of the client A (1) may be 1.1.xx and the IP address of the server B (2) may be 2.2.xx, It is impossible to identify the packet by the port number of the input port whether the packet is a request packet moving from (1) to (2) or a response packet moving from (2) to (1). However, if it is determined that the network address (16 bits) of the source of the packet is 1.1 or 2.2, it can be discriminated whether the packet is moving from (1) to (2) or from (2) to (1). Therefore, the SDN switch 100e can identify the network address of the source information so that the source address is hashed if the network address is 1.1, and the hash value can be obtained by hashing the destination information if the network address is 2.2.

도 8의 예시에서 클라이언트 A와 서버 B의 주소를 해시한 해시값은 모두 1에 대응되도록 미리 설정되어 있으며, 따라서, 클라이언트 A와 서버 B 간에 이동하는 트래픽은 VNF(200a)로 전달되며 그 결과 VNF가 자동 확장되더라도 클라이언트 A와 서버 B간의 세션 트래킹이 유지된다. In the example of FIG. 8, the hash values of hashes of the addresses of the clients A and B are set in advance so as to correspond to 1, and thus the traffic moving between the client A and the server B is transmitted to the VNF 200a, Session tracking between client A and server B is maintained.

위 예시는 일 실시 예에 불과하며, 서브넷이 존재하면 SDN 스위치(100)는 네트워크 주소와 서브넷 주소를 모두 사용하여(16비트 이상) 패킷의 출발지를 식별할 수 있다. The above example is merely an example, and if there is a subnet, the SDN switch 100 can identify the source of the packet using both the network address and the subnet address (16 bits or more).

도 9 내지 도 11은 복제 트래픽이 포트 구분 없이 네트워크 장비(100)로 수신될 뿐 아니라, 패킷의 출발지 네트워크 주소 및/또는 서브넷 주소를 모두 확인하여도 패킷의 출발지를 식별할 수 없는 경우의 일 실시 예이다. 9 to 11 illustrate a case where the duplication traffic is not received by the network device 100 without port identification but the source of the packet can not be identified even if the source network address and / or the subnet address of the packet are all checked. Yes.

다만, 도 9는 네트워크 장비(100)가 오픈플로우 프로토콜의 대칭 해시 함수(Symmetric hash)를 지원하는 경우의 예시이다. 도 9의 실시 예에서 SDN 스위치(100g)는 전혀 구분 없이 탭 장비(10)로부터 들어온 복제 트래픽을 대칭 해시 함수symmetric hash(출발지 정보, 목적지 정보)를 이용하여 출발지 정보와 목적지 정보를 해시할 수 있다. 따라서 해시 값은 출발지 정보와 목적지 정보의 조합만 동일하다면 동일한 값을 갖는다. However, FIG. 9 is an example of a case where the network device 100 supports a symmetric hash function of an open flow protocol. In the embodiment of FIG. 9, the SDN switch 100g can hash the source information and the destination information using the symmetric hash function symmetric hash (source information, destination information) of the replication traffic received from the tap device 10 without discrimination at all . Therefore, the hash value has the same value if only the combination of the source information and the destination information is the same.

예를 들어, 출발지 정보가 1.1이고 목적지 정보가 2.2인 패킷과, 출발지 정보가 2.2 이고 목적지 정보가 1.1인 패킷은 대칭 해시 함수에 의해 동일한 해시값을 가질 수 있다. 즉, 클라이언트 A와 서버 B 간 트래픽은 그 이동 방향에 상관없이 동일한 VNF를 통과하게 되므로 세션을 유지할 수 있다. For example, a packet having a source information of 1.1 and a destination information of 2.2, a packet having a source information of 2.2 and a destination information of 1.1 may have the same hash value by a symmetric hash function. That is, the traffic between the client A and the server B passes through the same VNF regardless of the direction of the movement, so the session can be maintained.

도 10 및 도 11은 본 발명의 일 실시 예에 따라 네트워크 장비(100)가 대칭 해시 함수를 지원하지 않는 경우, 확장된 인라인 VNF를 통해 세션을 유지할 수 있는 트래픽 분배 방법을 나타내는 도면이다. 10 and 11 are views showing a traffic distribution method capable of maintaining a session through an extended inline VNF when the network equipment 100 does not support a symmetric hash function according to an embodiment of the present invention.

탭 장비(10)로부터 복제된 트래픽이 아무런 구분 없이 유입되고, 네트워크 장비(100)가 대칭 해시 함수를 지원하지 않는 경우, 두 개의 네트워크 장비(100i, 100j)를 병렬로 연결하여 자동 확장된 VNF에 트래픽을 분배할 수 있다. When the traffic replicated from the tap device 10 flows without any distinction and the network equipment 100 does not support the symmetric hash function, two network devices 100i and 100j are connected in parallel to the automatically expanded VNF Traffic can be distributed.

도 10을 참조하면, 제 1 네트워크 장비는 임의의 노드로부터 패킷을 수신하면(S1000), 패킷의 출발지 정보를 해시하여 제 1 해시값을 획득하고(S1200), 제 1 해시값에 대응되는 출력 포트를 통해 패킷을 제 2 네트워크 장비로 전송할 수 있다(S1300). Referring to FIG. 10, when the first network equipment receives a packet from an arbitrary node (S1000), the first network equipment obtains a first hash value by hashing the source information of the packet (S1200) To the second network equipment (S1300).

제 2 네트워크 장비는 출력 포트에 대응되는 입력 포트를 통해 패킷을 수신하며(S1400), 패킷의 목적지 정보를 해시하여 제 2 해시값을 획득할 수 있다(S1500). 다음으로 제 2 네트워크 장비는 입력 포트와 제 2 해시값을 이용하여 최종 출력 포트를 결정하고(S1600), 최종 출력 포트를 통해 최종 출력 포트와 연결된 VNF로 패킷을 전송한다(S1700). The second network device may receive the packet through the input port corresponding to the output port (S1400), and may obtain the second hash value by hashing the destination information of the packet (S1500). Next, the second network device determines the final output port using the input port and the second hash value (S1600), and transmits the packet to the VNF connected to the final output port through the final output port (S1700).

최종 출력 포트를 결정하는 단계 1600에서, 제 2 네트워크 장비는 입력 포트에 대응되는 그룹 액션을 실행하고, 그룹 액션에 대응되는 액션 버킷 중에서 상기 제 2 해시값에 대응되는 제 1 액션을 실행할 수 있다. In step 1600 of determining a final output port, the second network device may execute a group action corresponding to the input port and execute a first action corresponding to the second hash value among the action buckets corresponding to the group action.

도 11을 참조하여 도 10의 실시 예를 보다 상세하게 설명하기로 한다. 도 10을 참조하면, 탭 장비(10)에서 복제된 트래픽은 트래픽의 이동 방향에 따른 포트 구분 없이 SDN 스위치(100i)로 유입된다. The embodiment of Fig. 10 will now be described in more detail with reference to Fig. Referring to FIG. 10, the traffic replicated in the tap device 10 flows into the SDN switch 100i without port discrimination according to the direction of traffic movement.

세션 트래킹을 유지하기 위해서는 세션이 형성된 두 개의 노드 사이를 오고가는 패킷은 패킷의 이동 방향과 무관하게 동일한 VNF를 통과하여야 하는데, 대칭 해시 함수를 지원하지 않는 SDN 스위치로 상술한 기능을 구현하기 위하여 도 11의 실시 예와 같이 SDN 스위치 두 개를 병렬로 구성할 수 있다. 그 결과 탭 장비(10)에서 복제된 트래픽은 SDN 스위치(100i)로 인입되었으나, VNF로의 패킷 출력은 SDN 스위치(100j)에서 이루어질 수 있다. In order to maintain session tracking, packets coming and going between two nodes in a session must pass through the same VNF irrespective of the direction of movement of the packet. In order to implement the above function with an SDN switch that does not support a symmetric hash function Two SDN switches can be configured in parallel as in the embodiment of FIG. As a result, the traffic replicated in the tap device 10 is pulled into the SDN switch 100i, but the output of the packet to the VNF can be made in the SDN switch 100j.

SDN 스위치(100i)는 패킷의 출발지 정보를 해시하여 해시값에 대응되는 출력 포트로 패킷을 출력하며, SDN 스위치(100j)는 상기 출력 포트에 대응되는 입력 포트를 통해 패킷을 수신할 수 있다. 즉, (1)에서 (2)로 이동하는 패킷은 그 출발지 정보의 해시 결과에 따라 SDN 스위치(100j)의 1번 포트로 전송되고, (2)에서 (1)로 이동하는 패킷은 그 출발지 정보의 해시 결과에 따라 SDN 스위치(100j)의 10번 포트로 전송될 수 있다. The SDN switch 100i hashes the source information of the packet and outputs the packet to the output port corresponding to the hash value, and the SDN switch 100j can receive the packet through the input port corresponding to the output port. That is, the packet moving from (1) to (2) is transmitted to port 1 of the SDN switch 100j according to the hash result of the source information, and the packet moving from (2) to (1) Lt; RTI ID = 0.0 > 10j < / RTI >

결과적으로, SDN 스위치(100j)의 관점에서는 복제된 패킷의 출발지 정보에 따라 포트가 구분되어 인입되는 것으로 볼 수 있다. SDN 스위치(100j)는 입력 포트 별로 서로 다른 그룹 테이블을 참조하도록 정의된 플로우 룰에 따라 최종 출력 포트를 결정할 수 있다. As a result, from the viewpoint of the SDN switch 100j, it can be seen that the port is divided and entered according to the source information of the copied packet. The SDN switch 100j can determine a final output port according to a flow rule defined to refer to different group tables for each input port.

도 11의 예시에서, 입력 포트 1에 대응되는 그룹 테이블이 1이고, 입력포트 10에 대응되는 그룹 테이블이 10이라고 가정하자. SDN 스위치(100j)는 입력 포트에 대응되는 그룹 액션을 실행하며, 그룹 액션은 그룹 테이블을 참조하여 실행될 수 있다. 표 2는 각 그룹 테이블 및 최종 출력 포트를 설명하기 위한 도면이다. In the example of FIG. 11, assume that the group table corresponding to input port 1 is 1, and the group table corresponding to input port 10 is 10. The SDN switch 100j executes a group action corresponding to the input port, and the group action can be executed with reference to the group table. Table 2 is a diagram for explaining each group table and the final output port.

그룹 식별자
(Group Identifier)
Group identifier
(Group Identifier)
그룹 타입
(Group Type)
Group type
(Group Type)
카운터counter 액션 버킷Action bucket
1One select
{hash(dst_ip)}
select
{hash (dst_ip)}
-- hash(dst_ip)=1 , output:1
hash(dst_ip)=2 , output:1
hash(dst_ip)=3, output:2
hash (dst_ip) = 1, output: 1
hash (dst_ip) = 2, output: 1
hash (dst_ip) = 3, output: 2
1010 select
{hash(dst_ip)}
select
{hash (dst_ip)}
hash(dst_ip)=1 , output:6
hash(dst_ip)=2 , output:1
hash(dst_ip)=3, output:1
hash (dst_ip) = 1, output: 6
hash (dst_ip) = 2, output: 1
hash (dst_ip) = 3, output: 1

표 2를 참조하면, 본 발명의 일 실시 예에 의한 SDN 스위치(100j)는 select 타입을 사용하여 액션 버킷에 포함된 하나 이상의 액션 중 기 설정된 조건을 만족하는 하나의 액션을 선택적으로 참조하여 패킷을 처리할 수 있다. Referring to Table 2, the SDN switch 100j according to an exemplary embodiment of the present invention uses a select type to selectively refer to an action that satisfies a predetermined condition among one or more actions included in an action bucket, Can be processed.

여기서 최종 출력 포트의 포트 번호는 입력 포트의 포트 번호와 SDN 스위치(100j)에서 실행된 패킷의 목적지 정보 해시값의 조합에 의하여 설정되는데, 이는 사용자 설정에 따라 얼마든지 달라질 수 있다. Here, the port number of the final output port is set by a combination of the port number of the input port and the destination information hash value of the packet executed in the SDN switch 100j, which may vary depending on user setting.

다만, 확장된 VNF에 트래픽을 균형있게 분배하는 것이 바람직하므로, 입력 포트와 목적지 정보 해시값의 조합이 분산될 수 있도록 출력 포트를 설정할 필요가 있다. However, since it is desirable to distribute the traffic to the extended VNF in a balanced manner, it is necessary to set the output port so that the combination of the input port and the destination information hash value can be distributed.

균형있는 트래픽 분배를 위한 일 실시 예로, VNF의 개수가 N개인 경우, 입력 포트의 번호(IN)와 제 2 해시값(HN)의 합이 N+1-k 또는 N+1+k 일 때, k=M과 k=N-M(1≤M≤N/2, 0≤k<N, M, k는 정수)인 경우 동일한 최종 출력 포트 값을 갖도록 설정될 수 있다. When the sum of the number IN of input ports and the second hash value HN is N + 1-k or N + 1 + k, when the number of VNFs is N, k can be set to have the same final output port value in the case of k = M and k = NM (1? M? N / 2, 0? k <N, M, k being integers).

예를 들어, VNF의 개수가 10개이고, SDN 스위치(100j)의 입력 포트 및 출력 포트의 개수도 각각 10개라고 가정하자. 설명의 편의를 위하여 해시값(HN) 역시 출력 포트에 일대일 대응 될 수 있도록 1에서 10 사이의 정수값으로 산출되는 경우를 가정한다. For example, assume that the number of VNFs is 10, and the number of input ports and output ports of SDN switch 100j are 10, respectively. For convenience of explanation, it is assumed that a hash value (HN) is also calculated as an integer value from 1 to 10 so as to correspond one-to-one to the output port.

입력 포트의 번호(IN)가 1에서 10 사이의 정수이고, 해시값(HN) 역시 1에서 10사이의 정수이면, 입력 포트의 번호(IN)와 해시값(HN)의 조합은 (1,1), (1,2), ......, (10, 10)까지 100가지의 조합이 가능하다(표 3). 각 조합에 해당하는 패킷을 10개의 VNF에 고루 매칭시키기 위해서는 여러 가지 설정이 가능하나, 본 명세서에서는 입력 포트 번호(IN)와 해시값(HN)의 합을 이용하여 최종 출력 포트를 선정하는 방법을 설명한다. If the input port number IN is an integer between 1 and 10 and the hash value HN is also an integer between 1 and 10, then the combination of the input port number IN and the hash value HN is (1,1 ), (1,2), ..., (10, 10) can be combined into 100 combinations (Table 3). In order to uniformly match a packet corresponding to each combination to 10 VNFs, various settings are possible. In this specification, a method of selecting a final output port by using the sum of an input port number (IN) and a hash value (HN) Explain.

IN
HN
IN
HN
1One 22 33 44 55 66 77 88 99 1010
1One 22 33 44 55 66 77 88 99 1010 1111 22 33 44 55 66 77 88 99 1010 1111 1212 33 44 55 66 77 88 99 1010 1111 1212 1313 44 55 66 77 88 99 1010 1111 1212 1313 1414 55 66 77 88 99 1010 1111 1212 1313 1414 1515 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 77 88 99 1010 1111 1212 1313 1414 1515 1616 1717 88 99 1010 1111 1212 1313 1414 1515 1616 1717 1818 99 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020

입력 포트 번호(IN)와 해시값(HN)의 합은 표 3과 같이 나타나며, 각 결과값의 개수를 카운팅하면 아래 표 4와 같다. The sum of the input port number (IN) and the hash value (HN) is shown in Table 3, and the number of each result value is counted as shown in Table 4 below.

synthesis 개수Count 22 2020 1One 33 1919 22 44 1818 33 55 1717 44 66 1616 55 77 1515 66 88 1414 77 99 1313 88 1010 1212 99 1111 1010

각 결과값의 개수는 해당 결과값이 도출될 수 있는 빈도를 의미한다. 즉, 입력 포트 번호(IN)와 해시값(HN)의 합이 2 또는 20인 경우는 입력 포트 번호(IN)와 해시값(HN)의 합이 11이 되는 경우 대비 1/10 수준의 빈도로 나타날 것이다. The number of each result value means the frequency at which the corresponding result value can be derived. That is, when the sum of the input port number (IN) and the hash value (HN) is 2 or 20, the input port number (IN) and the hash value (HN) Will appear.

따라서 빈도가 10이 되는 조합, 즉 입력 포트 번호(IN)와 해시값(HN)의 합이 2와 20인 경우 중 어느 하나와 10과 12인 경우 중 어느 하나를 일 출력 포트에 매칭시키면, 각 출력 포트로 출력되는 패킷의 수는 일정하다. 이는, 확장된 VNF 각각으로 인입되는 패킷의 개수가 균등함을 의미하며, 이는 본 발명에 의하여 자동 확장된 인라인 VNF로 트래픽을 효과적으로 분배할 수 있음을 의미한다. Therefore, if any one of the combinations of the input port number (IN) and the hash value (HN) is 2 and 20 and the combination of 10 and 12 is matched to one output port, The number of packets output to the output port is constant. This means that the number of incoming packets to each extended VNF is equal, which means that the traffic can be effectively distributed to the inline VNF that is automatically extended by the present invention.

도면에 도시되지는 않았으나, SDN 스위치(100)는 컨트롤러와 통신하는 통신부를 포함하며, 임의의 노드로부터 패킷을 수신하면, 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 패킷의 출발지 정보 또는 목적지 정보를 해시하여 해시값을 획득하고, 해시값에 대응되는 출력 포트를 통해 출력 포트와 연결된 VNF로 패킷을 전송하도록 정의된 플로우 룰에 따라 패킷을 처리하는 제어부를 포함할 수 있다. Although not shown in the figure, the SDN switch 100 includes a communication unit for communicating with a controller. Upon receiving a packet from an arbitrary node, the SDN switch 100 determines whether the packet is a request packet or a response packet, And a control unit for processing the packet according to the flow rule defined to acquire the hash value and to transmit the packet to the VNF connected to the output port through the output port corresponding to the hash value.

제어부는 전술한 트래픽 분배 방법의 설명에서 SDN 스위치(100)가 수행한 각 기능을 수행하며, 오픈플로우 프로토콜에서 지원하는 해시 함수와 그룹 테이블을 이용하여 패킷을 처리할 수 있다. The control unit performs each function performed by the SDN switch 100 in the description of the traffic distribution method described above, and can process a packet using a hash function and a group table supported by the open flow protocol.

본 명세서에서 설명되는 방법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현될 수 있다. 컴퓨터 프로그램들은 비-일시적인 유형의 컴퓨터 판독가능 매체에 저장되는 프로세서-실행가능 명령들을 포함한다. 컴퓨터 프로그램들은 또한 저장된 데이터를 포함할 수 있다. 비-일시적인 유형의 컴퓨터 판독가능 매체(non-transitory tangible computer readable medium)의 비한정적 예들은 비휘발성 메모리 시스템, 자기 저장소 및 광학 저장소이다.The methods described herein may be implemented by one or more computer programs executed by one or more processors. Computer programs include processor-executable instructions stored on a non-transitory type computer readable medium. The computer programs may also include stored data. Non-limiting examples of non-transitory tangible computer readable media are non-volatile memory systems, magnetic storage, and optical storage.

앞서 설명된 기법들의 특정 실시형태들은 알고리즘 형태로 본 명세서에서 설명되는 처리 단계들 및 명령들을 포함한다. 앞서 설명된 처리 단계들 및 명령들은 소프트웨어, 펌웨어, 혹은 하드웨어로 구현될 수 있고, 소프트웨어로 구현되는 경우 실시간 네트워크 오퍼레이팅 시스템(real time network operating system)들에서 사용되는 다른 플랫폼들 상에 상주하도록 다운로드 될 수 있고 이로부터 동작될 수 있음에 유의해야만 한다.Certain embodiments of the techniques described above include processing steps and instructions described herein in an algorithmic form. The processing steps and instructions described above may be implemented in software, firmware, or hardware, and when implemented in software, may be downloaded to reside on other platforms used in real-time network operating systems And it can be operated from there.

본 발명은 또한 본 명세서에서의 동작들을 수행하기 위한 장치와 관련된다. 이러한 장치는 원하는 목적을 위해 특별히 구성될 수 있거나, 또는 컴퓨터에 의해 액세스될 수 있는 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 저장 매체에 저장될 수 있는바, 이러한 유형의 컴퓨터 판독가능 저장 매체는, 예를 들어, 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기-광학 디스크들(magnetic-optical disks), 판독-전용 메모리(Read-Only Memory, ROM)들, 랜덤 액세스 메모리(Random Access Memory, RAM)들, EPROM들, EEPROM들, 자기 혹은 광학 카드들, 애플리케이션 특정 집적 회로(ASIC)들을 포함하는 임의 타입의 디스크, 또는 전자 명령들을 저장하기에 적합하고 그 각각이 컴퓨터 시스템 버스에 결합되는 임의 타입의 매체들이 있지만 이러한 것으로만 한정되는 것은 아니다. 더욱이, 본 명세서에서 지칭되는 컴퓨터들은 단일 프로세서를 포함할 수 있거나, 또는 컴퓨팅 능력 증진을 위해 복수의 프로세서 설계를 사용하는 아키텍처들일 수 있다.The present invention also relates to an apparatus for performing the operations herein. Such a device may be specially constructed for a desired purpose or may comprise a general purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by a computer. Such a computer program may be stored on a computer-readable storage medium of a type, such as, for example, floppy disks, optical disks, CD-ROMs, magneto-optical disks (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits ASICs), or any type of medium suitable for storing electronic instructions and each coupled to a computer system bus, but are not so limited. Moreover, the computers referred to herein may include a single processor, or may be architectures that use multiple processor designs to enhance computing capabilities.

본 명세서에 제시되는 알고리즘들 및 동작들은 본질적으로 임의의 특정 컴퓨터 혹은 다른 장치들과 관련되지 않는다. 다양한 범용 시스템들이 또한, 본 명세서에서의 가르침에 따른 프로그램들과 함께 사용될 수 있고, 또는 원하는 방법의 단계들을 수행하기 위해 더 특수하게 설계된 장치들을 구성하는 것이 편리한 것으로 판명될 수 있다. 다양한 이러한 시스템들을 위해 그 요구되는 구조는 그 등가적 변형물들과 함께 본 발명의 기술 분야에서 숙련된 자들에게 명백할 것이다. 추가적으로, 본 개시내용은 임의의 특정 프로그래밍 언어와 관련되어 설명되는 것이 아니다. 다양한 프로그래밍 언어가 본 명세서에서 설명되는 바와 같은 본 개시내용의 가르침들을 구현하기 위해 사용될 수 있고, 특정 언어에 대한 임의의 언급은 본 발명의 실시예 및 최상의 모드를 설명하기 위한 것임을 이해해야 한다.The algorithms and operations presented herein are not inherently related to any particular computer or other devices. Various general purpose systems may also be used with the programs according to the teachings herein or it may prove convenient to construct devices that are more specifically designed to perform the steps of the desired method. The structure required for a variety of these systems, along with their equivalent variants, will be apparent to those skilled in the art. Additionally, the present disclosure is not described in connection with any particular programming language. It should be understood that various programming languages may be used to implement the teachings of the present disclosure as described herein, and that any reference to a particular language is intended to be illustrative of the embodiments and best mode of the present invention.

본 명세서에서 생략된 일부 실시 예는 그 실시 주체가 동일한 경우 동일하게 적용 가능하다. 또한, 전술한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.Some embodiments omitted in this specification are equally applicable if their implementation subject is the same. It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to be exemplary and explanatory only and are not restrictive of the invention, The present invention is not limited to the drawings.

50: 컨트롤러
100: 네트워크 장비(SDN 스위치)
200: 가상 네트워크 기능(VNF)
50: Controller
100: Network equipment (SDN switch)
200: Virtual network function (VNF)

Claims (11)

소프트웨어 정의 네트워킹 환경에서 네트워크 장비가 자동 확장 기능을 가진 인라인(in-line) VNF(가상 네트워크 기능)에 트래픽을 분배하는 방법에 있어서,
임의의 노드로부터 패킷을 수신하는 단계;
상기 패킷이 요청 패킷인지 응답 패킷인지 식별하고, 요청 패킷이면 상기 패킷의 출발지 정보를 해시하고, 응답 패킷이면 상기 패킷의 목적지 정보를 해시하여 해시값을 획득하는 단계;
상기 해시값에 대응되는 출력 포트를 통해 상기 출력 포트와 연결된 VNF로 상기 패킷을 전송하는 단계를 포함하는 트래픽 분배 방법.
CLAIMS 1. A method for distributing traffic in a software defined networking environment to an in-line VNF (Virtual Network Function) having an auto-
Receiving a packet from an arbitrary node;
Identifying whether the packet is a request packet or a response packet, hashing the source information of the packet if the packet is a request packet, and hashing the destination information of the packet if the packet is a response packet;
And transmitting the packet to a VNF connected to the output port through an output port corresponding to the hash value.
삭제delete 제1항에 있어서,
상기 패킷이 요청 패킷인지 응답 패킷인지 여부에 따라 상기 네트워크 장비로 상기 패킷이 수신되는 입력 포트가 다른 경우,
상기 해시값 획득 단계는,
상기 패킷을 수신한 입력 포트를 식별하는 단계;
상기 식별된 입력 포트에 따라 상기 패킷의 출발지 정보 또는 목적지 정보를 해시하는 단계를 포함하는 트래픽 분배 방법.
The method according to claim 1,
If the input port on which the packet is received is different depending on whether the packet is a request packet or a response packet,
The hash value acquiring step includes:
Identifying an input port from which the packet was received;
And hashing the source information or the destination information of the packet according to the identified input port.
제3항에 있어서,
상기 해시하는 단계는,
상기 식별된 입력 포트가 요청 패킷에 대응되는 입력 포트이면 상기 패킷의 출발지 정보를 해시하고, 상기 식별된 입력 포트가 응답 패킷에 대응되는 입력 포트이면 상기 패킷의 목적지 정보를 해시하는 단계를 포함하는 트래픽 분배 방법.
The method of claim 3,
Wherein the hashing comprises:
Hashing the source information of the packet if the identified input port is an input port corresponding to a request packet and hashing the destination information of the packet if the identified input port is an input port corresponding to a response packet, Distribution method.
제1항에 있어서,
상기 해시값 획득 단계는,
상기 패킷의 출발지 네트워크 주소가 기 설정된 제 1 네트워크 주소에 대응되면 상기 패킷의 출발지 정보를 해시하는 단계;
상기 패킷의 출발지 네트워크 주소가 기 설정된 제 2 네트워크 주소에 대응되면 상기 패킷의 목적지 정보를 해시하는 단계를 포함하는 트래픽 분배 방법.
The method according to claim 1,
The hash value acquiring step includes:
Hashing the source information of the packet if the source network address of the packet corresponds to a predetermined first network address;
And hashing the destination information of the packet if the source network address of the packet corresponds to a predetermined second network address.
제1항에 있어서,
상기 해시값 획득 단계는 대칭 해시 함수(Symmetric hash)를 이용하여 상기 패킷의 출발지 정보 및 도착지 주소를 해시하는 단계를 포함하는 트래픽 분배 방법.
The method according to claim 1,
Wherein the hash value acquiring step includes hashing the source information and the destination address of the packet using a symmetric hash function.
소프트웨어 정의 네트워킹 환경에서 네트워크 장비가 자동 확장 기능을 가진 인라인(in-line) VNF(가상 네트워크 기능)에 트래픽을 분배하는 방법에 있어서,
제 1 네트워크 장비가 임의의 노드로부터 패킷을 수신하는 단계;
상기 제 1 네트워크 장비가 상기 패킷의 출발지 정보를 해시하여 제 1 해시값을 획득하고, 상기 제 1 해시값에 대응되는 출력 포트를 통해 상기 패킷을 제 2 네트워크 장비로 전송하는 단계;
상기 제 2 네트워크 장비가 상기 출력 포트에 대응되는 입력 포트를 통해 상기 패킷을 수신하는 단계;
상기 제 2 네트워크 장비가 상기 패킷의 목적지 정보를 해시하여 제 2 해시값을 획득하고, 상기 입력 포트에 대응되는 그룹 액션에 포함된 액션 버킷 중에서 상기 제 2 해시값에 대응되는 제1 액션을 실행하여 최종 출력 포트를 결정하는 단계;
상기 제 2 네트워크 장비가 상기 최종 출력 포트를 통해 상기 최종 출력 포트와 연결된 VNF로 상기 패킷을 전송하는 단계를 포함하는 트래픽 분배 방법.
CLAIMS 1. A method for distributing traffic in a software defined networking environment to an in-line VNF (Virtual Network Function) having an auto-
The first network equipment receiving a packet from any node;
The first network equipment hashes the source information of the packet to obtain a first hash value and transmits the packet to the second network equipment through an output port corresponding to the first hash value;
The second network equipment receiving the packet via an input port corresponding to the output port;
The second network device hashes the destination information of the packet to obtain a second hash value and executes a first action corresponding to the second hash value among the action buckets included in the group action corresponding to the input port Determining a final output port;
And the second network equipment sending the packet via the final output port to the VNF associated with the final output port.
제7항에 있어서,
상기 제 1 액션은 상기 최종 출력 포트로의 패킷 출력을 정의하며,
상기 최종 출력 포트의 포트 번호는 상기 입력 포트의 포트 번호와 상기 제 2 해시값의 조합에 따라 설정되는 트래픽 분배 방법.
8. The method of claim 7,
The first action defining a packet output to the final output port,
Wherein the port number of the final output port is set according to a combination of a port number of the input port and the second hash value.
제7항에 있어서,
상기 VNF의 개수가 N개인 경우,
상기 입력 포트의 번호(IN)와 상기 제 2 해시값(HN)의 합이 N+1-k 또는 N+1+k 일 때, k=M과 k=N-M(1≤M≤N/2, 0≤k<N, M, k는 정수)인 경우 상기 최종 출력 포트가 동일하게 설정되는 트래픽 분배 방법.
8. The method of claim 7,
If the number of VNFs is N,
K = M and k = NM (1? M? N / 2, k) when the sum of the input port number IN and the second hash value HN is N + 1-k or N + Where 0? K < N, M, k is an integer), the final output port is set to be the same.
소프트웨어 정의 네트워킹 환경에서 패킷을 처리하는 스위치에 있어서,
컨트롤러와 통신하는 통신부;
임의의 노드로부터 패킷을 수신하면, 상기 패킷이 요청 패킷인지 응답 패킷인지 식별하고, 요청 패킷이면 상기 패킷의 출발지 정보를 해시하고, 응답 패킷이면 상기 패킷의 목적지 정보를 해시하여 해시값을 획득하고, 상기 해시값에 대응되는 출력 포트를 통해 상기 출력 포트와 연결된 VNF로 상기 패킷을 전송하도록 정의된 플로우 룰에 따라 패킷을 처리하는 제어부를 포함하는 스위치.
A switch for processing packets in a software defined networking environment,
A communication unit for communicating with the controller;
The method includes the steps of: receiving a packet from an arbitrary node, identifying whether the packet is a request packet or a response packet, hashing the source information of the packet when the packet is a request packet, hashing the destination information of the packet if the packet is a response packet, And processing the packet according to a flow rule defined to transmit the packet to a VNF connected to the output port through an output port corresponding to the hash value.
제 1 항과 제3항 내지 제 9 항의 방법 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 트래픽 분배 응용 프로그램.

12. A traffic distribution application stored on a computer readable medium for carrying out a method of any one of claims 1 and 3 to 9.

KR1020170063150A 2017-05-22 2017-05-22 Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment KR101963143B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170063150A KR101963143B1 (en) 2017-05-22 2017-05-22 Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170063150A KR101963143B1 (en) 2017-05-22 2017-05-22 Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment

Publications (2)

Publication Number Publication Date
KR20180127859A KR20180127859A (en) 2018-11-30
KR101963143B1 true KR101963143B1 (en) 2019-07-31

Family

ID=64561102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170063150A KR101963143B1 (en) 2017-05-22 2017-05-22 Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment

Country Status (1)

Country Link
KR (1) KR101963143B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102283969B1 (en) * 2020-11-24 2021-07-30 (주) 시스메이트 Inline Network System and Packet Processing Method thereof for Improving Bidirectional Packet Processing Performance
CN116886621B (en) * 2023-09-07 2023-12-19 珠海星云智联科技有限公司 Message forwarding control method, DPU and related equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258062A1 (en) * 2003-01-27 2004-12-23 Paolo Narvaez Method and device for the classification and redirection of data packets in a heterogeneous network
US20050276263A1 (en) * 2004-06-15 2005-12-15 Takahiro Suetsugu Traffic distribution control device
US20110206049A1 (en) * 2008-01-29 2011-08-25 Juniper Networks, Inc. Targeted flow sampling
KR101327317B1 (en) * 2012-11-30 2013-11-20 (주)소만사 Apparatus and method for sap application traffic analysis and monitoring, and the information protection system thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746202B1 (en) * 2015-06-09 2017-06-12 주식회사 케이티 Method and apparatus for network function virtualization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258062A1 (en) * 2003-01-27 2004-12-23 Paolo Narvaez Method and device for the classification and redirection of data packets in a heterogeneous network
US20050276263A1 (en) * 2004-06-15 2005-12-15 Takahiro Suetsugu Traffic distribution control device
US20110206049A1 (en) * 2008-01-29 2011-08-25 Juniper Networks, Inc. Targeted flow sampling
KR101327317B1 (en) * 2012-11-30 2013-11-20 (주)소만사 Apparatus and method for sap application traffic analysis and monitoring, and the information protection system thereof

Also Published As

Publication number Publication date
KR20180127859A (en) 2018-11-30

Similar Documents

Publication Publication Date Title
US20230327964A1 (en) Distributed packet deduplication
US11277341B2 (en) Resilient segment routing service hunting with TCP session stickiness
US10153977B2 (en) Adapting control plane policing parameters dynamically
US10390285B2 (en) Service path generation method and apparatus
CN108463989B (en) Business function linking across multiple sub-networks
CN116325702A (en) Method, system and computer readable medium for prioritized Network Function (NF) discovery and routing specific to service communication agents (SCPs)
CN107948076B (en) Method and device for forwarding message
US8073936B2 (en) Providing support for responding to location protocol queries within a network node
US9325609B2 (en) Segmented source routing in a network
US10298600B2 (en) Method, apparatus, and system for cooperative defense on network
US9401928B2 (en) Data stream security processing method and apparatus
US20130198830A1 (en) Access relay method and access gateway device
US20130275620A1 (en) Communication system, control apparatus, communication method, and program
KR101963143B1 (en) Method, apparatus and computer program for distributing traffic to in-line virtual network function in software defined networking environment
CN111193756A (en) VXLAN tunnel load balancing method and related equipment
US20180227236A1 (en) Managing flow table entries for express packet processing based on packet priority or quality of service
CN107786386B (en) Selective transmission of Bidirectional Forwarding Detection (BFD) messages for authenticating multicast connections
KR101870146B1 (en) Method and apparatus for destination based packet forwarding control in software defined networking of leaf-spine architecture
US10601961B2 (en) Service function chain dynamic classification
CN106921553B (en) Method and system for realizing high availability in virtual network
CN105099725A (en) Multicast realizing method and apparatus for edge network
CN112217735A (en) Information synchronization method and load balancing system
US20230208874A1 (en) Systems and methods for suppressing denial of service attacks
KR20160036182A (en) Hybrid OpenFlow switch, system, and method for combining legacy switch protocol function and SDN function
US20160094357A1 (en) Control apparatus, computer system, communication control method, and program

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