KR20170102104A - Service function chaining network system for path optimization and the method for thereof - Google Patents

Service function chaining network system for path optimization and the method for thereof Download PDF

Info

Publication number
KR20170102104A
KR20170102104A KR1020160024208A KR20160024208A KR20170102104A KR 20170102104 A KR20170102104 A KR 20170102104A KR 1020160024208 A KR1020160024208 A KR 1020160024208A KR 20160024208 A KR20160024208 A KR 20160024208A KR 20170102104 A KR20170102104 A KR 20170102104A
Authority
KR
South Korea
Prior art keywords
node
flow
information
path
service function
Prior art date
Application number
KR1020160024208A
Other languages
Korean (ko)
Other versions
KR101841026B1 (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 KR1020160024208A priority Critical patent/KR101841026B1/en
Publication of KR20170102104A publication Critical patent/KR20170102104A/en
Application granted granted Critical
Publication of KR101841026B1 publication Critical patent/KR101841026B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Abstract

The present invention relates to a service function chaining network system for setting an optimal route, in a service function chaining network system including a control place and a data place, comprises: the control plane which receives input of traffic flow information and information of each node from the data plane, calculates a plurality of routes for chaining of each service function to correspond to a predetermined condition of each node, determines flow to be distributed to a route corresponding to the same, and transmits the result; and the data plane which receives input of the flow and the route result, transmitted from the control plane, and assigns the flow to each route. According to the present invention, an optimal route for each service function chaining (SFC) is determined by considering each SF instance arrangement type and linkage characteristics of a virtual link in a service function chaining network. Incoming traffic flow is optimally assigned to each node and provided. Accordingly, a mobile service provider can maximize a resource utilization rate without wasted resource.

Description

최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 및 그 방법{Service function chaining network system for path optimization and the method for thereof}Technical Field [0001] The present invention relates to a service function chaining network system and a method thereof,

본 발명은 서비스 기능 체이닝에서 효율적인 자원 활용을 위한 최적의 경로를 설정하는 서비스 기능 체이닝 네트워크 시스템 및 그 방법에 관한 것이다.The present invention relates to a service function chaining network system and method for establishing an optimal path for efficient resource utilization in service function chaining.

최근 네트워크가 다양한 서비스들을 제공해줌에 따라 점점 보안 유지, 성능 향상 등을 위해 방화벽, deep packet inspection(DPI), network address translation(NAT) 등과 같은 서비스 기능 (SF: service function) 에 대한 의존성이 높아지고 있다. 특히, 미래 인터넷 환경에서 다양한 네트워크 서비스를 융합하여 제공하기 위해 기존 하드웨어 기반의 네트워크 서비스 기능들을 소프트웨어적으로 가상화하여 제공하는 Network function virtualization(NFV) 기술을 통해 보다 유연하게 SF를 관리하는 연구가 많이 진행되고 있다. Recently, as the network provides various services, dependency on SF (service function) such as firewall, deep packet inspection (DPI), network address translation (NAT) . Especially, in order to converge various network services in the future Internet environment, there are many studies to manage SF more flexibly through network function virtualization (NFV) technology which provides software virtualization of existing hardware based network service functions .

또한, 여러 SF의 사용을 위해 해당 서비스의 트래픽이 논리적인 순서에 따라 사용자에게 전달할 수 있는 합리적인 방법이 필요하다. 즉, 특정 서비스 트래픽의 요구사항에 따라 SF를 하나의 논리적인 연결로 순서화하는 서비스 기능 체이닝 기술(SFC: Service Function Chaining)이 필요하다. SFC는 최근 국제 인터넷 표준화 기구인 IETF WG (Internet engineering task force working group)과 ETSI ISG NFV (European telecommunications standards institute industry specification groups network function virtualization)에서 활발히 표준화가 진행되고 있다. In addition, for the use of multiple SFs, a reasonable method is needed to transmit the traffic of the corresponding service to the user in a logical order. That is, Service Function Chaining (SFC) is required to order SF as one logical connection according to the requirements of a specific service traffic. The SFC is actively being standardized recently in the Internet Engineering Task Force Working Group (IETF), the international Internet standardization organization, and the ETSI ISG NFV (European telecommunications standards institute industry specification groups network function virtualization).

또한, 통신 사업자들 역시, 해당 기술 표준 및 규격을 바탕으로 SFC 프레임워크를 설계하고자 하는 움직임이 활발하게 이루어지고 있다. 하지만, 아직은 요구사항에 대한 효과적인 동적 알고리즘, 아키텍처/프로토콜 구체화 등의 연구는 미비한 상황이다. 특히, 이러한 SFC 프레임워크를 구성하는데에 있어 SF 인스턴스나 가상 링크 등의 네트워크 자원 관리는 중요한 이슈 중 하나이다. 따라서, 그러한 네트워크 자원을 충분히 활용하기 위해 각 네트워크 자원에 할당되는 트래픽의 양, 즉, 각 서비스 트래픽에 대한 경로를 설정하는 것이 중요하다. In addition, telecommunication carriers are also actively seeking to design an SFC framework based on the technical standards and specifications. However, research on effective dynamic algorithms, architectural / protocol specification for requirements has not been done yet. In particular, network resource management such as SF instances and virtual links is one of the important issues in constructing such an SFC framework. Therefore, it is important to set the amount of traffic allocated to each network resource, that is, the path for each service traffic, in order to fully utilize such network resources.

본 발명은 서비스 기능 체이닝(Service Funtion Chaining) 네트워크에서 각 SF 인스턴스 배치 형태와 가상 링크의 연결성을 고려하여 각 SFC에 대한 최적 경로를 설정하고, 인입되는 트래픽 플로우를 각 노드에 최적으로 할당하여 서비스 기능 체이닝 프레임 워크에서 SF 인스턴스와 링크에 대한 자원을 최적으로 활용할 수 있는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 및 그 방법을 제공하는 것을 목적으로 한다. In the present invention, an optimal path for each SFC is set in consideration of the configuration type of each SF instance and the connectivity of a virtual link in a service function chaining network, and an incoming traffic flow is optimally allocated to each node, It is an object of the present invention to provide a service function chaining network system and a method thereof for setting an optimal path for optimizing utilization of SF instance and resources for a link in a chaining framework.

상기의 과제를 달성하기 위한 본 발명의 일실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템은, 제어 평면 및 데이터 평면을 포함하는 서비스 기능 체이닝 네트워크 시스템에 있어서, 상기 데이터 평면으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하여 그 결과를 전달하는 제어 평면; 및 상기 제어 평면에서 전달된 플로우 및 경로 결과를 입력받아 각 경로에 플로우를 할당하는 데이터 평면을 포함하는 점에 그 특징이 있다. According to an aspect of the present invention, there is provided a service function chaining network system for setting an optimal path, the service function chaining network system including a control plane and a data plane, Information of SF instances installed in the SN, and link information of each node, calculates a plurality of paths for each service function chaining corresponding to predetermined conditions of the respective nodes, and determines a flow to be distributed to the corresponding path A control plane for conveying the result; And a data plane receiving the flow and path results transmitted from the control plane and allocating a flow to each path.

여기서, 특히 상기 제어 평면은 상기 데이터 평면으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받고, 상기 경로 결과를 전달하는 통신부; 상기 입력받은 트래픽 플로우, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 이용하여 최적 경로를 계산하는 경로 계산부; 상기 경로 계산부에서 최적 경로를 계산할 때 각 노드들의 소정 조건을 판단하여 제공하는 조건 판단부; 상기 각 노드들의 조건 데이터를 저장하는 저장부를 포함하는 점에 그 특징이 있다. In particular, the control plane receives traffic flow information from the data plane, information of SF instances installed in the SN, link information of each node, and transmits the path result. A route calculation unit for calculating an optimal route using the received traffic flow, information of SF instances installed in the SN, and link information of each node; A condition determiner for determining and providing a predetermined condition of each node when calculating an optimal path in the path calculator; And a storage unit for storing condition data of each of the nodes.

여기서, 특히 상기 경로 계산부는 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하는 점에 그 특징이 있다.In particular, the path calculation unit is characterized in that it calculates a flow rate assigned to each link and each SF instance.

여기서, 특히 상기 조건 판단부는 각 노드 별 들어오는 플로우 양과 나가는 플로우 양이 같은지 여부를 판단하는 점에 그 특징이 있다.In particular, the condition determination unit is characterized in that it is determined whether the amount of incoming flow for each node is equal to the amount of outgoing flow.

여기서, 특히 상기 데이터 평면은, 제어 평면에서 전달되는 트래픽 플로우 및 경로 결과에 대응하여 플로우를 각 노드에 할당하는 인그래스 노드(Ingress node); 복수 개의 서버가 배치되어 내부에 SF(Service Function) 인스턴스를 가상 머신 형태로 구현시키는 SN 노드(Service Node); 상기 인그래스 노드에서 할당된 플로우를 상기 SN 노드의 SF 인스턴스에 포워딩하는 SSF(Service Function Forwarder) 노드; 상기 인그래스 노드, 상기 SSF 노드 및 SN 노드를 통과하는 각 경로에 할당된 플로우가 출력되는 이그래스 노드(Egress node)를 포함하는 점에 그 특징이 있다. In particular, the data plane includes an ingress node for assigning a flow to each node corresponding to a traffic flow and a path result transmitted from the control plane; An SN node (Service Node) in which a plurality of servers are arranged to implement an SF (Service Function) instance in the form of a virtual machine; An SSF (Service Function Forwarder) node for forwarding the flow assigned by the ingress node to the SF instance of the SN node; And an Egress node for outputting a flow assigned to each path passing through the in-progress node, the SSF node, and the SN node.

또한, 상기의 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 방법은, 데이터 평면의 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 제어 평면에 전달하는 단계; 상기 제어 평면에서 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 경로 최적화 모델을 구축하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하는 단계; 상기 각 경로에 대해 계산된 결과 및 각 경로에 분배되는 상기 플로우 결과를 전달하는 단계; 및 상기 전달된 결과를 데이터 평면의 인그래스 노드에서 각 노드에 플로우를 할당하는 단계를 포함하는 점에 그 특징이 있다. According to another aspect of the present invention, there is provided a service function chaining method for an optimal path setting, the method comprising: receiving traffic flow information on a data plane, information on SF instances installed in an SN, Transmitting information to a control plane; The traffic flow information in the control plane, the information of the SF instances installed in the SN, and the link information of each node, and constructs a path optimization model corresponding to a predetermined condition of each node to generate a plurality of paths for each service function chaining Computing and determining a flow to be distributed to a path corresponding thereto; Delivering the calculated result for each path and the flow result distributed to each path; And assigning a flow to each node at the impression node of the data plane.

여기서, 특히 상기 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 제어 평면에 전달하는 단계에서 상기 데이터 평면의 인그래스 노드(Ingress node)에 현재 들어오고 있는 트래픽 플로우에 대한 정보와 SN 노드(Service Node), SFF 노드(Service Function Forwarder) 및 상기 SN 노드에 설치되어 있는 SF 간에 연결되어 있는 링크 정보를 제어 평면에 전달하는 점에 그 특징이 있다. In particular, in the step of transmitting the traffic flow information, the SF instances installed in the SN, and the link information of each node to the control plane, the traffic flow currently entering the ingress node of the data plane And transmits link information between an SN node, an SFF node (Service Function Forwarder), and an SF installed in the SN node to the control plane.

여기서, 특히 상기 분배될 플로우를 결정하는 단계에서 제어 평면은 플로우와 SFC(Service Funtion Chaining) 네트워크 토폴로지 정보를 바탕으로 플로우에 대한 SFC를 구별하고 각 SFC에 대한 복수의 경로와 각 해당 경로에 분배될 플로우를 결정하는 점에 그 특징이 있다. In particular, in the step of determining the flow to be distributed, the control plane distinguishes the SFCs for the flow based on the flow and the SFC (Network Service) network topology information, and distributes the SFCs to each of the SFCs It is characterized in that it determines the flow.

여기서, 특히 상기 경로 최적화 모델은 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하여 구축되는 점에 그 특징이 있다. In particular, the path optimization model is characterized in that it is constructed by calculating a flow rate assigned to each link and each SF instance.

여기서, 특히 상기 소정 조건은 각 노드 별 들어오는 트래픽 플로우 양과 나가는 트래픽 플로우 양이 같은지 여부를 판단하는 점에 그 특징이 있다. In particular, the predetermined condition is characterized in that it is judged whether or not the amount of incoming traffic flow for each node is equal to the amount of outgoing traffic flow.

본 발명의 효과는 다음과 같다.The effects of the present invention are as follows.

첫째, 본 발명은 서비스 기능 체이닝(Service Funtion Chaining) 네트워크에서 각 SF 인스턴스 배치 형태와 가상 링크의 연결성을 고려하여 각 SFC에 대한 최적 경로를 설정하고, 인입되는 트래픽 플로우를 각 노드에 최적으로 할당하여 제공함으로써 모바일 사업자는 낭비된 자원 없이 자원 이용률을 극대화 시킬 수 있다. First, according to the present invention, an optimal path for each SFC is set in consideration of the configuration type of each SF instance and the connectivity of a virtual link in a service function chaining network, and an incoming traffic flow is optimally allocated to each node By offering Mobile operators can maximize resource utilization without wasting resources.

둘째, 본 발명은 트래픽 플로우를 각 노드에 최적으로 할당하여 제공함으로써 모바일 사용자는 서비스 기능 체이닝 네트워크에 많은 사용자의 트래픽이 수용이 가능하여 보다 빠르고 향상된 서비스 만족도를 느낄 수 있을 것이다.Second, since the present invention allocates and optimizes traffic flows to each node, a mobile user can receive traffic of many users in a service function chaining network You will feel faster and improved service satisfaction.

도 1은 본 발명의 일 실시예에 따른 SFC 네트워크 토폴로지의 서비스 기능 체이닝 네트워크 시스템의 구성을 개략적으로 도시한 도면.
도 2는 상기 도 1의 제어 평면의 구성을 개략적으로 도시한 도면.
도 3은 최적의 경로 설정을 위한 SFC 네트워크에서의 동작과정을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 방법에 대한 순서도.
도 5는 본 발명의 SFC 플로우 양에 따른 최적의 경로 설정 방법에 의한 결과를 도시한 도면.
도 6은 본 발명의 SFC 네트워크의 링크 캐패시티에 따른 최적의 경로 설정 방법의 결과를 도시한 도면.
FIG. 1 schematically illustrates a configuration of a service function chaining network system in an SFC network topology according to an embodiment of the present invention; FIG.
Fig. 2 is a view schematically showing the configuration of the control plane of Fig. 1; Fig.
3 is a diagram illustrating an operation procedure in an SFC network for optimal path setting.
FIG. 4 is a flowchart illustrating a service function chaining network method for an optimal path setting according to an embodiment of the present invention; FIG.
5 is a diagram showing a result of an optimal path setting method according to an SFC flow amount of the present invention.
6 is a diagram showing a result of an optimal path setting method according to a link capacity of an SFC network of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

이하, 첨부된 도면들을 참조하여 본 발명의 가상환경의 스토리지 성능 향상을 위한 클라우드 스토리지 시스템 및 그 관리 방법에 관하여 상세히 설명한다.Hereinafter, a cloud storage system and its management method for improving storage performance of a virtual environment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 SFC 네트워크 토폴로지의 서비스 기능 체이닝 네트워크 시스템의 구성을 개략적으로 도시한 도면이고, 도 2는 상기 도 1의 제어 평면의 구성을 개략적으로 도시한 도면이다. FIG. 1 is a view schematically showing a configuration of a service function chaining network system of an SFC network topology according to an embodiment of the present invention, and FIG. 2 is a view schematically showing the configuration of the control plane of FIG.

도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템은, 데이터 평면으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하여 그 결과를 전달하는 제어 평면(100) 및 상기 제어 평면(100)에서 전달된 플로우 및 경로 결과를 입력받아 각 경로에 플로우를 할당하는 데이터 평면(200)을 포함하여 구성된다. As shown in FIG. 1, a service function chaining network system for optimal path setting according to an embodiment of the present invention includes traffic flow information from a data plane, information of SF instances installed in an SN, and link information A control plane 100 for calculating a plurality of paths for each service function chaining corresponding to a predetermined condition of each node, determining a flow to be distributed to the corresponding path, and transmitting the result, and a control plane 100 And a data plane 200 for receiving a flow and a path result transmitted from the path and allocating a flow to each path.

즉, 상기 서비스 기능 체이닝 네트워크(Service Funtion Chaining) 시스템은 데이터 평면(200)과 제어 평면(100)으로 나뉘어 있으며, 데이터 평면(200)에서는 각 노드들이 제어 평면(100)에 경로 설정을 위한 필수적인 정보를 전달하고, 제어 평면(100)에서 설정된 경로를 바탕으로 SFC 플로우가 처리된다. 제어 평면(100)은 수집된 정보를 바탕으로 최적의 경로를 설정하여 데이터 평면의 인그래스 노드(ingress node)에 전달한다. That is, the service function chaining system is divided into a data plane 200 and a control plane 100. In the data plane 200, each node transmits information necessary for setting a path to the control plane 100 And the SFC flow is processed based on the path set in the control plane 100. [ The control plane 100 sets the optimal path based on the collected information and transmits it to the ingress node of the data plane.

도 2를 참조하면, 상기 제어 평면(100)은 통신부(110), 경로 계산부(120), 조건 판단부(130) 및 저장부(140)를 포함한다.Referring to FIG. 2, the control plane 100 includes a communication unit 110, a path calculation unit 120, a condition determination unit 130, and a storage unit 140.

상기 통신부(110)는 상기 데이터 평면(200)으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받고, 제어 평면에서 계산된 경로 결과 및 플로우 할당 비율을 상기 데이터 평면에 전달하게 된다. The communication unit 110 receives traffic flow information from the data plane 200, information of SF instances installed in the SN, and link information of each node, and outputs a path result and a flow allocation ratio calculated in the control plane to the data Plane.

상기 경로 계산부(120)는 상기 입력받은 트래픽 플로우, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 이용하여 최적 경로를 계산하고, 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하게 된다.The route calculation unit 120 calculates the optimal route using the input traffic flow information, information of SF instances installed in the SN and link information of each node, and calculates a flow rate allocated to each link and each SF instance .

보다 구체적으로, 플로우(flow)는 하나의 스위치 관점에서 적어도 하나의 헤더 필드의 값을 공유하는 일련의 패킷들 또는 다중 스위치의 여러 플로우 엔트리(flow entry)들의 조합에 따른 특정 경로의 패킷 흐름을 의미할 수 있다. 오픈 플로우 네트워크는 플로우 단위로 경로 제어, 장애 회복, 부하 분산 및 최적화를 행할 수 있다.More specifically, a flow refers to a packet flow of a particular path according to a combination of a plurality of flow entries of a series of packets or multiple switches sharing a value of at least one header field in terms of one switch can do. The open-flow network can perform path control, fault recovery, load balancing and optimization on a flow-by-flow basis.

상기 경로 계산부에는 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 에지 스위치의 패킷 유입 포트인 입구 포트(ingress port)의 식별 정보, 해당 스위치의 패킷 유입 포트(incoming port)의 식별 정보, 패킷 헤더 정보(송신원 및 목적지의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. The path calculation unit may extract flow information from the packet received as user traffic. The flow information includes identification information of an ingress port as a packet inflow port of the edge switch, identification information of an incoming port of the switch of the switch, packet header information (IP address of the source and destination, MAC address, port, And VLAN information, etc.), metadata, and the like.

또한, 상기 데이터 평면의 각 노드에 대한 정보는 인그래스 노드(Ingress node), SN 노드(Service Node), SFF 노드(Service Function Forwarder) 및 상기 SN 노드에 설치되어 있는 SF 간에 연결되어 있는 링크 정보를 전달받아 계산하게 된다. In addition, information on each node of the data plane includes link information between an Ingress node, an SN node, an SFF node (Service Function Forwarder), and an SF installed in the SN node It will receive and calculate.

상기 조건 판단부는 상기 경로 계산부에서 최적 경로를 계산할 때 각 노드들의 소정 조건을 판단하여 제공하게 되며, 각 노드 별 들어오는 플로우 양과 나가는 플로우 양이 같은지 여부를 판단하게 된다. The condition determining unit determines and provides a predetermined condition of each node when calculating the optimal path in the path calculating unit, and determines whether the amount of flow incoming by each node is equal to the amount of outgoing flow.

상기 저장부는 각 노드들의 조건 데이터 및 각 플로우 마다의 트래픽 양, 처리 속도, 경유한 NF의 개수 및 그 타입 등의 통계를 저장 및 관리할 수 있다. The storage unit may store and manage statistics such as condition data of each node, the amount of traffic for each flow, the processing speed, the number of NFs passed through, and the type thereof.

상기 데이터 평면은, 제어 평면에서 전달되는 트래픽 플로우 및 경로 결과에 대응하여 플로우를 각 노드에 할당하는 인그래스 노드(Ingress node); 복수 개의 서버가 배치되어 내부에 SF(Service Function) 인스턴스를 가상 머신 형태로 구현시키는 SN 노드(Service Node); 상기 인그래스 노드에서 할당된 플로우를 상기 SN 노드의 SF 인스턴스에 포워딩하는 SSF(Service Function Forwarder) 노드; 상기 인그래스 노드, 상기 SSF 노드 및 SN 노드를 통과하는 각 경로에 할당된 플로우가 출력되는 이그래스 노드(Egress node)를 포함한다.Wherein the data plane comprises an ingress node for assigning a flow to each node corresponding to a traffic flow and a path result conveyed in a control plane; An SN node (Service Node) in which a plurality of servers are arranged to implement an SF (Service Function) instance in the form of a virtual machine; An SSF (Service Function Forwarder) node for forwarding the flow assigned by the ingress node to the SF instance of the SN node; And an Egress node for outputting a flow assigned to each path passing through the in-progress node, the SSF node, and the SN node.

상기 제어 평면과 상기 데이터 평면의 경로 설정을 위한 동작과정을 살펴보기로 한다. An operation procedure for setting a path between the control plane and the data plane will be described.

도 3은 최적의 경로 설정을 위한 SFC 네트워크에서의 동작과정을 도시한 도면이다. 도 3을 참조하면, 본 발명에서의 간단한 동작과정은 하기와 같다.3 is a diagram illustrating an operation procedure in an SFC network for optimal path setting. Referring to FIG. 3, a simple operation process in the present invention is as follows.

먼저, 데이터 평면의 ingress node는 현재 들어오고 있는 트래픽 플로우에 대한 정보, SN 노드(service node)와 SFF 노드(service function forwarder)는 현재 설치되어 있는 SF, SN과 SFF 또는 SFF 간에 연결되어 있는 링크 정보를 제어 평면에 전달한다. 그리고 제어 평면은 플로우와 SFC 네트워크 토폴로지 정보를 바탕으로 플로우에 대한 SFC를 구별하고 각 SFC에 대한 여러 경로와 해당 경로에 분배될 플로우를 결정한다. 제어 평면은 계산된 결과를 트래픽 플로우가 유입되는 ingress node에 전달한다. 데이터 평면의 ingress node는 받은 결과를 통해 각 경로 별로 플로우를 분배한다. 특히, 분배할 시에는 경로에 대한 정보를 같이 전송하여 SFF가 그에 맞춰 포워딩할 수 있도록 한다. First, the ingress node of the data plane is information about the current incoming traffic flow, the SN node (service node) and the SFF node (service function forwarder) are connected to the currently installed SF, the link information between the SN and the SFF or SFF To the control plane. Based on the flow and SFC network topology information, the control plane distinguishes the SFCs for the flows and determines the various paths for each SFC and the flows to be distributed to the paths. The control plane delivers the computed result to the ingress node where the traffic flows. The ingress node of the data plane distributes the flow by each path through the received result. In particular, when distributing, the information about the route is transmitted together so that the SFF can forward it accordingly.

여기서, 각 노드에 플로우 되는 예를 들면, SF1->SF2 순서로 처리되어야 하는 SFC에 대한 경로라면, 인그래스 노드(Ingress node)는 두 가지 경로, 즉 첫번째로 SFF1->SFF2->SFF3->SN3의 SF1->SFF3->SN3의 SF2->SFF3->Egress node와 두번째로 SFF1->SN1의 SF1->SFF1->SFF2->SN2의 SF2->SFF2->SFF4->Egress node로 각각 0.5Gbps, 1.5Gbps씩 플로우를 분배한다.Here, if the route to each node is an SFC to be processed in the order of SF1-> SF2, for example, the ingress node may be divided into two paths: SFF1-> SFF2-> SFF3-> The SF2-> SFF3-> Egress node of SN3 and the SF1-> SFF1-> SFF2-> SN2 of SFF1-> SFF4-> 0.5Gbps, and 1.5Gbps, respectively.

도 4는 본 발명의 일 실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 방법에 대한 순서도이다. 4 is a flowchart of a service function chaining network method for an optimal path setting according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 최적 경로 설정을 위한 서비스 기능 체이닝 방법은, 먼저 데이터 평면의 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 제어 평면에 전달하는 단계가 수행된다(S401). As shown in FIG. 4, the service function chaining method for optimal path setting according to another embodiment of the present invention includes: first, traffic flow information of a data plane, information of SF instances installed in an SN, The step of transmitting information to the control plane is performed (S401).

즉, 상기 데이터 평면의 인그래스 노드(Ingress node)에 현재 들어오고 있는 트래픽 플로우에 대한 정보와 SN 노드(Service Node), SFF 노드(Service Function Forwarder) 및 상기 SN 노드에 설치되어 있는 SF 간에 연결되어 있는 링크 정보를 제어 평면에 전달하게 된다.That is, information on a traffic flow currently entering an ingress node of the data plane is connected to an SN node (Service Node), an SFF node (Service Function Forwarder), and an SF installed in the SN node Link information to the control plane.

그리고 상기 제어 평면에서 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 경로 최적화 모델을 구축하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하는 단계가 수행된다(S402).The traffic flow information in the control plane, the information of the SF instances installed in the SN, and the link information of each node are received, and a route optimization model is constructed corresponding to a predetermined condition of each node, and a plurality of paths And determining a flow to be distributed to a path corresponding thereto is performed (S402).

상기 제어 평면은 플로우와 SFC(Service Funtion Chaining) 네트워크 토폴로지 정보를 바탕으로 플로우에 대한 SFC를 구별하고 각 SFC에 대한 복수의 경로와 각 해당 경로에 분배될 플로우를 결정하게 되며, 상기 경로 최적화 모델은 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하여 구축하게 된다.The control plane distinguishes the SFCs for the flows based on the flow and SFC (Network Service) network topology information and determines a plurality of paths for each SFC and a flow to be distributed to the corresponding paths, The flow rate assigned to each link and each SF instance is calculated and constructed.

상기 경로 최적화 시스템 모델을 구축하기 위하여 하기와 같이 각 노드의 구조에 대해 정의할 수 있다. In order to construct the path optimization system model, the structure of each node can be defined as follows.

보다 구체적으로, 서비스 기능 체이닝(SFC) 네트워크 토폴로지는 지향성 그래프

Figure pat00001
로 나타낼 수 있다. 노드 집합 V는 SFF(service function forwarder), SN 노드(service node), 인그래스(ingress) 노드, 이그래스(egress) 노드로 구성되어 있으며, 각각은
Figure pat00002
로 나타낸다. More specifically, the Service Function Chaining (SFC) network topology includes a directional graph
Figure pat00001
. The node set V consists of a service function forwarder (SFF), an SN node (service node), an ingress node, and an egress node,
Figure pat00002
Respectively.

링크 집합

Figure pat00003
는 노드
Figure pat00004
를 서로 연결하는 링크들의 집합으로써
Figure pat00005
로 나타낼 수 있다.
Figure pat00006
는 링크 연결성을 나타내며, 그 값이 1일 경우에는
Figure pat00007
노드와
Figure pat00008
노드 간에 링크가 있다는 것을 의미하고, 그 해당 링크 캐패시티는
Figure pat00009
로 정의한다. 인그래스(Ingress) 노드와 이그레스(egress) 노드는 각각 트래픽 플로우들이 들어오고, 나가는 노드를 의미한다. 특히, 본 모델에서는 앞선 동작과정에서 설명했듯이 제어 평면으로부터 경로 설정에 대한 결과값을 받아 트래픽을 분류하는 IETF SFC의 분류기(classifier) 역할을 인그래스(ingress) 노드가 수행한다. 즉, 인그래스(ingress) 노드에서는 서비스 기능 패스(service function path : SFP)를 다른 노드들이 확인하기 위한 SFC 캡슐화(encapsulation)가 수행된다. Link aggregation
Figure pat00003
The node
Figure pat00004
As a set of links connecting
Figure pat00005
.
Figure pat00006
Indicates link connectivity, and when the value is 1
Figure pat00007
Node
Figure pat00008
Means that there is a link between the nodes, and its corresponding link capacity
Figure pat00009
. Ingress nodes and egress nodes represent the nodes through which traffic flows in and out, respectively. In particular, in this model, the ingress node performs the role of a classifier of the IETF SFC that classifies the traffic by receiving the result of routing from the control plane, as described in the previous operation. That is, at the ingress node, SFC encapsulation is performed to identify the service function path (SFP) by other nodes.

그리고 SN은 특정 서비스 기능 SF(Service Function) 인스턴스가 가상머신 (VM: virtual machine) 형태로 구현될 수 있는 범용 서버로 간주할 수 있다. SN은 CPU, 메모리, 디스크 등의 L개의 자원 유형을 가질 수 있다. 따라서 한 SN i의 L개 자원 유형들의 용량 집합은

Figure pat00010
로 나타낼 수 있다. SN 안에서는 각 SFC의 들어오는 플로우 양에 따라서 다양한 VM 규격으로 SF 인스턴스가 생성될 수 있다. The SN can be regarded as a general-purpose server in which a specific service function SF (Service Function) instance can be implemented as a virtual machine (VM). An SN can have L resource types such as CPU, memory, disk, and so on. Thus, the capacity set of the L resource types of one SN i is
Figure pat00010
. In the SN, SF instances can be created in various VM standards according to the flow amount of each SFC.

따라서 본 모델에서는

Figure pat00011
개의 VM 클래스를 가정하며, 이 집합은
Figure pat00012
로 나타낼 수 있다. SN은
Figure pat00013
개 타입의 자원 유형을 가지고 있어 각 VM 클래스
Figure pat00014
는 SN에 대한
Figure pat00015
개 타입의 자원 요구량을 가지게 된다. 이 자원 요구량 집합은
Figure pat00016
로 나타낼 수 있으며, 이 자원 요구량에 따라서 미리 정의된 프로세싱 캐패시티를
Figure pat00017
로 정의한다. 또한, 한 SN
Figure pat00018
안의 SF
Figure pat00019
에 대한 각 클래스
Figure pat00020
개수의 집합은
Figure pat00021
로 나타낸다. So in this model
Figure pat00011
Assume that there are two VM classes,
Figure pat00012
. SN
Figure pat00013
Each type of resource class has its own class
Figure pat00014
For SN
Figure pat00015
Type resource needs. This resource requirement set
Figure pat00016
, And the pre-defined processing capacity according to the resource requirement
Figure pat00017
. Also, one SN
Figure pat00018
Inside SF
Figure pat00019
For each class
Figure pat00020
The set of numbers
Figure pat00021
Respectively.

본 모델의 네트워크 토폴로지에서 SFF는 단지 다른 SFF나 SN 내부의 SF 인스턴스로의 포워딩 역할만 수행한다. 이 포워딩은 SFC 캡슐화(encapsulation)에 나와 있는 SFP 정보를 확인하여 수행할 수 있다. 따라서 링크는 인그래스(ingress) 노드와 이그래스(egress) 노드를 포함하여 SFF 간 또는 SFF와 SN 간을 연결한다. In the network topology of this model, the SFF only serves as a forwarding function to the SF instances within another SFF or SN. This forwarding can be performed by checking the SFP information in the SFC encapsulation. Thus, the link connects the SFF or the SFF and the SN, including the ingress node and the egress node.

이때, 구성된 네트워크 토폴로지 내에서는 총 M개의 SF가 구현될 수 있다고 가정한다. 이 M개의 SF 집합은

Figure pat00022
로 나타낼 수 있다. 또한
Figure pat00023
개의 SF로 구성될 수 있는
Figure pat00024
개의 네트워크 서비스, 즉
Figure pat00025
개의 SFC를 고려한다. 이 S개의 SFC 집합은
Figure pat00026
로 나타낼 수 있다. SFC
Figure pat00027
에 해당하는 트래픽 플로우들은 정의된 SF 순서
Figure pat00028
에 맞게 처리되어야 하며,
Figure pat00029
는 SFC
Figure pat00030
Figure pat00031
번째 SF를 뜻한다. 각 SFC에는 같은 SF라도 다른 순서에 배치될 수 있기 때문에 SFC의 집합과 SF 집합을 맵핑(mapping) 시키기 위해 SF 할당 함수
Figure pat00032
을 사용한다. 예를 들어,
Figure pat00033
이면, SFC
Figure pat00034
Figure pat00035
번째 SF는
Figure pat00036
이 된다. At this time, it is assumed that a total of M SFs can be implemented within the configured network topology. The M SF sets
Figure pat00022
. Also
Figure pat00023
Can be composed of SFs
Figure pat00024
Network services, namely
Figure pat00025
SFCs are considered. This S SFC set
Figure pat00026
. SFC
Figure pat00027
Lt; RTI ID = 0.0 > SF < / RTI &
Figure pat00028
Should be treated,
Figure pat00029
SFC
Figure pat00030
of
Figure pat00031
SF. In order to map the SFC set and the SF set to each SFC, the SF allocation function
Figure pat00032
Lt; / RTI > E.g,
Figure pat00033
If SFC
Figure pat00034
of
Figure pat00035
The second SF
Figure pat00036
.

또한, 동일한 SF

Figure pat00037
에 대해서 다수의 SN에 VM 클래스
Figure pat00038
를 가지고 인스턴스가 생성될 수 있다. 따라서 이를 나타내기 위해 SF 인스턴스 배치에 대한 지시 함수인
Figure pat00039
을 도입한다. 예를 들어,
Figure pat00040
은 SF
Figure pat00041
의 인스턴스가 SN
Figure pat00042
안에 VM 클래스
Figure pat00043
를 가지고,
Figure pat00044
번째로 생성되었다는 것을 의미한다. 각 SFC가 요구되는 여러 사용자들에 의해서 발생된 트래픽 플로우는 인그래스(ingress) 노드에서 모인다고 가정하며, SFC s에 대한 트래픽 플로우 양은
Figure pat00045
로 정의한다. 직관적으로, 한 SF 인스턴스로 들어오거나 한 링크를 지나는 플로우의 양은 그 해당 캐패시티를 넘어설 수는 없다. 따라서 한 SFC s에 대한 플로우는 여러 개의 SFP로 분배될 수 있으며, 이를 위해서 각 링크와 SF 인스턴스에 할당되는 플로우 양을 구해야 한다. 이러한 양을 결정하기 위한 결정 변수로써 0과 1사이의 범위를 갖는
Figure pat00046
Figure pat00047
도입한다.
Figure pat00048
는 SF
Figure pat00049
를 이미 처리하고 링크
Figure pat00050
를 지나는 플로우 비율을 의미한다. 또한, 한 SF에 대해 다수의 인스턴스가 한 SN 안에 존재할 수 있기 때문에
Figure pat00051
는 SF
Figure pat00052
를 이미 처리하고 SN
Figure pat00053
의 VM class
Figure pat00054
에 해당하는 n번째 인스턴스로 분배되는 플로우 비율을 의미한다. 이러한
Figure pat00055
Figure pat00056
가 가질 수 있는 가능한 모든 값들의 집합을
Figure pat00057
라고 정의한다.Also, the same SF
Figure pat00037
RTI ID = 0.0 > VM < / RTI &
Figure pat00038
The instance can be created. Thus, to indicate this, we use an indicator function
Figure pat00039
Lt; / RTI > E.g,
Figure pat00040
SF
Figure pat00041
Instance of SN
Figure pat00042
Inside the VM class
Figure pat00043
Lt; / RTI &
Figure pat00044
It means that it was generated the second time. It is assumed that the traffic flow generated by multiple users requiring each SFC is aggregated at the ingress node, and the traffic flow amount for SFC s is
Figure pat00045
. Intuitively, the amount of flow that enters an SF instance or traverses a link can not exceed its corresponding capacity. Therefore, the flow for one SFC s can be distributed to several SFPs. To do this, the flow amount allocated to each link and SF instance must be obtained. As a decision variable for determining this amount, a range between 0 and 1
Figure pat00046
To
Figure pat00047
.
Figure pat00048
SF
Figure pat00049
Has already been processed and the link
Figure pat00050
Quot; flow rate " Also, since there can be multiple instances for one SF in one SN
Figure pat00051
SF
Figure pat00052
Lt; RTI ID = 0.0 > SN
Figure pat00053
VM class
Figure pat00054
Which is distributed to the n-th instance corresponding to the n-th instance. Such
Figure pat00055
Wow
Figure pat00056
The set of all possible values that
Figure pat00057
.

한편, 상기 경로 최적화 시스템 모델을 바탕으로 최적화 제약 조건 설계한다.On the other hand, optimization constraints are designed based on the path optimization system model.

최적화 목적함수와 제약 조건Optimization objective functions and constraints

앞선 최적화 제약 조건의 목적은 주어진 플로우 즉

Figure pat00058
에 대해서 네트워크 자원 사용량을 최소화하기 위해 모든 링크에 대한
Figure pat00059
와 모든 SF 인스턴스에 대한
Figure pat00060
를 구하는 것이다. 이는 활용할 수 있는 자원을 최대화시킬 수 있기 때문에 더 많은 플로우을 수용할 수 있으며, 네트워크 자원 이용률을 높일 수 있다. The purpose of the preceding optimization constraint is to give a given flow
Figure pat00058
To minimize network resource usage.
Figure pat00059
And for all SF instances
Figure pat00060
. This can maximize available resources, accommodate more flows, and increase network resource utilization.

최적화 문제의 목적 함수인 네트워크 자원 사용량

Figure pat00061
은 하기 수식 1과 같이 나타낼 수 있다.The objective function of the optimization problem, the network resource usage
Figure pat00061
Can be expressed as Equation 1 below.

수식 1Equation 1

Figure pat00062
Figure pat00062

Figure pat00063
Figure pat00064
는 각각 링크의 수와 SF 인스턴스 수를 나타내며, 각 변수의
Figure pat00065
는 SFC
Figure pat00066
의 플로우가 어떠한 SF에 대해서도 아직 처리되지 않았다는 것을 의미한다.
Figure pat00063
Wow
Figure pat00064
Represents the number of links and the number of SF instances,
Figure pat00065
SFC
Figure pat00066
Of the flow has not yet been processed for any SF.

이 목적함수를 바탕으로 다음으로는 최적화 문제의 제약 조건에 대해서 설명한다.Based on this objective function, we next explain the constraints of the optimization problem.

첫 번째로 트래픽 플로우 보존에 대한 제약 조건을 설명한다. 특히, SFC 특성상 SFC에 순서화되어 있는 SF를 고려하여 플로우가 보존되어야 한다. 먼저, 각 SFF로 들어오는 플로우 양과 나가는 플로우 양은 같아야만 한다. 이 경우 각 SFC에 순서화되어 있는 SF들이 처리 되었는지의 여부가 중요하다. 따라서 이 제약 조건은 하기 수식 2와 같다.First, we describe the constraints on traffic flow preservation. In particular, due to the nature of SFC, the flow must be preserved taking into account the ordered SF in the SFC. First, the amount of flow into and out of each SFF must be the same. In this case, it is important whether SFs ordered in each SFC are processed. Therefore, this constraint condition is expressed by the following equation same.

수식 2Equation 2

Figure pat00067
Figure pat00067

SN에 대해서도 SFF와 마찬가지로 들어오는 플로우 양과 나가는 플로우 양은 같아야만 한다. 이때 SFF와는 달리 SN에서는 각 SFC의 특정 SF에 대해서 플로우 처리가 이루어지기 때문에 이를 고려해야 한다. 따라서 이 제약조건은 하기 수식 3과 같이 표현된다.As with SFF, the amount of incoming flow and the amount of outgoing flow must be the same for SN. At this time, unlike the SFF, it is necessary to consider this because the flow processing is performed on the specific SF of each SFC in the SN. Therefore, this constraint condition is expressed by Equation 3 below.

수식 3Equation 3

Figure pat00068
Figure pat00068

또한, 한 SFC의 SF에 대해서 서로 다른 SN에 위치한 인스턴스로 플로우가 할당될 수 있다. 따라서 다수의 SN으로 유입되는 플로우 양은 해당 SFC의 플로우 양과 같아야만 한다. 이 제약 조건은 다음 수식 4와 같다.Also, a flow can be assigned to an instance located at a different SN for the SF of one SFC. Therefore, the amount of flow into a plurality of SNs must be equal to the flow amount of the corresponding SFC. This constraint is shown in Equation 4 below.

수식 4Equation 4

Figure pat00069
Figure pat00069

Ingress 노드는 SFC 플로우가 유입되는 노드이기 때문에 ingress 노드로부터 나가는 플로우는 어떠한 SF에 대해서도 처리되지 않아야만 한다. 이 제약 조건은 다음과 수식 5와 같이 나타낼 수 있다.Since the ingress node is the node from which the SFC flows, the flow from the ingress node must not be processed for any SF. This constraint can be expressed as Equation 5 below.

수식 5Equation 5

Figure pat00070
Figure pat00070

이그레스(Egress) 노드로는 인그래스(Ingress) 노드와는 반대로 모든 플로우가 해당 SFC의 모든 SF에 대해서 처리되어 들어가야 하며, 이는 다음 수식 6과 같다.As an egress node, all flows must be processed for all SFs of the SFC, as opposed to an ingress node, as shown in Equation 6 below.

수식 6Equation 6

Figure pat00071
Figure pat00071

플로우 보존 제약조건의 마지막으로 결정 변수인 두 플로우 비율 변수 간의 관계는 다음 수식 7과 같다.The relationship between the two flow rate variables, which is the final decision variable of the flow preservation constraint, is shown in Equation (7).

수식 7Equation 7

Figure pat00072
Figure pat00072

다음으로 자원의 캐패시티와 관련된 제약 조건을 설명한다. 먼저, 한 링크를 지나는 플로우 양의 합은 그 링크의 캐패시티를 초과할 수 없기 때문에 다음 수식 8과 같이 표현된다.Next, the constraints related to the resource capacity are described. First, since the sum of the flow amounts passing through one link can not exceed the capacity of the link, it is expressed as the following Expression 8.

수식 8Equation 8

Figure pat00073
Figure pat00073

마찬가지로 SF 인스턴스에 할당되는 플로우 양의 합은 그 인스턴스 (즉, VM)의 캐패시티를 넘어서면 안 된다. 이 제약 조건은 다음 수식 9와 같다.Similarly, the sum of the amount of flow that is allocated to an SF instance must not exceed the capacity of that instance (i.e., VM). This constraint is expressed by the following equation (9).

수식 9Equation 9

Figure pat00074
Figure pat00074

마지막으로, SFC에서 중요한 제약조건으로 SFC에서 정의된 SF 순서에 맞게 플로우는 처리되어야 한다. 예를 들어, SFC

Figure pat00075
의 플로우가
Figure pat00076
에 의해서 처리가 되었다면, 다음은 SF
Figure pat00077
의 인스턴스가 존재하는 SN으로 유입되어야 한다. 이 제약 조건은 다음 수식 10과 같이 나타낼 수 있다.Finally, the flow must be processed to the SF order defined in the SFC as an important constraint in the SFC. For example, SFC
Figure pat00075
The flow of
Figure pat00076
, The next step is to perform the SF
Figure pat00077
Lt; RTI ID = 0.0 > SN < / RTI > This constraint can be expressed as in Equation 10 below.

수식 10Equation 10

Figure pat00078
Figure pat00078

따라서, 본 발명의 경로 최적화 조건의 목적 함수와 제약 조건을 살펴보면, 최적화 문제는

Figure pat00079
Figure pat00080
에 대해서 선형적으로 설계되어 있기 때문에 선형 프로그래밍(LP: Linear Programming)라는 것을 알 수 있다. LP는 충분히 다항 시간 내에 풀어내는 종래의 알고리즘이 구현된 LP 솔버(solver)로 해결이 가능하다.Therefore, considering the objective function and the constraint condition of the path optimization condition of the present invention,
Figure pat00079
Wow
Figure pat00080
Linear programming (LP: Linear Programming). LP can be solved with a LP solver implemented with a conventional algorithm that solves the problem in polynomial time sufficiently.

이어서 상기 각 경로에 대해 계산된 결과 및 각 경로에 분배되는 상기 플로우 결과를 전달하는 단계가 수행된다(S403). Then, the calculated result for each path and the flow result distributed to each path are transmitted (S403).

그리고 상기 전달된 결과를 데이터 평면의 인그래스 노드에서 각 노드에 플로우를 할당하는 단계가 수행된다(S404). In step S404, a flow is assigned to each node in the inline node of the data plane.

시뮬레이션 결과 예제Example of simulation result

본 발명의 서비스 기능 체이닝 네트워크 시스템의 경로 최적화 모델을 이용하여 시뮬레이션을 구현하여 일 예를 보여준다.A simulation is implemented using a route optimization model of the service function chaining network system of the present invention.

여기서, 시뮬레이션 토폴로지로는 인터넷2(Internet2)의 연구 네트워크인 어블라이니(Abliene) 네트워크 토폴로지 사용하였으며, 4개의 SF(Firewall, Proxy, IDS, NAT)와 2개의 SFC: 1) Firewall-IDS-NAT, 2) Proxy-Firewall-NAT를 고려한다. 또한, vCPU의 하나의 자원 유형만 가정하며, 3개의 VM 클래스 (자원 요구량-캐패시티: 1vCPU-0.5Gbps / 2vCPU-1Gbps / 4vCPU-2Gbps)를 사용한다. 본 결과에서는 LP solver를 이용하여 풀어낸 최적값 (OPT: Optimal)과 2개의 알고리즘과 비교한다.The simulation topology used the Abliene network topology, which is a research network of Internet2, and four SFs (Firewall, Proxy, IDS, NAT) and two SFCs: 1) Firewall-IDS-NAT , And 2) Proxy-Firewall-NAT. In addition, only one resource type of the vCPU is assumed, and three VM classes (resource requirement-capacity: 1vCPU-0.5Gbps / 2vCPU-1Gbps / 4vCPU-2Gbps) are used. The result is compared with the optimal value (OPT: Optimal) solved using the LP solver and two algorithms.

첫 번째 알고리즘인 uniform distribution (UD)는 SF 인스턴스 캐패시티에 상관없이 균등하게 플로우를 분배하는 알고리즘이며, 두 번째 알고리즘인 PD(Proportional Distribution:PD)는 SF 인스턴스 캐패시티에 비례하여 플로우를 분배하는 알고리즘이다. 특히, 성능 측정은 각 SFC의 플로우 2Gbps에 대해 네트워크 자원 사용량 (

Figure pat00081
)과 처리되지 못한 플로우 양 (
Figure pat00082
)로 보여준다.The first algorithm, uniform distribution (UD), is an algorithm that distributes the flows evenly regardless of the SF instance capacity. The second algorithm, PD (Proportional Distribution: PD), is an algorithm that distributes flows in proportion to the SF instance capacity to be. In particular, the performance measurement is based on the network resource usage (< RTI ID = 0.0 >
Figure pat00081
) And the amount of unprocessed flow (
Figure pat00082
).

도 5는 본 발명의 SFC 플로우 양에 따른 최적의 경로 설정 방법에 의한 결과를 도시한 도면이고, 도 6은 본 발명의 SFC 네트워크의 링크 캐패시티에 따른 최적의 경로 설정 방법의 결과를 도시한 도면이다. FIG. 5 is a diagram showing a result of an optimal path setting method according to an SFC flow amount of the present invention, FIG. 6 is a diagram showing a result of an optimal path setting method according to link capacity of an SFC network of the present invention to be.

도 5 및 도 6에 도시된 바와 같이, 상기 시뮬레이션 토폴로지를 사용하여 각각 SFC의 주어진 플로우 양과 링크 캐패시티가 증가할 때의 결과를 보여준다. OPT는 플로우 양과 링크 캐패시티에 상관없이 최적으로 플로우를 분배함으로써 모든 트래픽 플로우를 처리할 수 있는 것을 볼 수 있는 반면에, UD와 PD는 몇몇 링크와 SF 인스턴스의 자원을 충분히 활용하지 못하기 때문에 남는 플로우의 양이 발생한다. 또한, OPT와 두 알고리즘은 주어진 캐패시티에 대해서 더 많은 플로우가 링크와 SF 인스턴스에 할당되기 때문에 플로우 양의 증가에 따라 네트워크 자원 사용량이 증가하는 것을 볼 수 있다. 반대로, 주어진 플로우에 대해서 링크 캐패시티가 증가하면 더 많은 플로우를 할당할 수 있기 때문에 링크 캐패시티가 증가할수록 네트워크 자원 사용량이 감소하는 것을 알 수 있다. As shown in FIG. 5 and FIG. 6, the simulation topology is used to show the result when the given flow amount and link capacity of the SFC increase, respectively. OPT can see that it can handle all traffic flows by distributing the flow optimally regardless of flow amount and link capacity, while UD and PD can not fully utilize resources of some links and SF instances, An amount of flow occurs. In addition, since OPT and both algorithms are assigned more links and SF instances for a given capacity, network resource usage increases with increasing flow amount. Conversely, as the link capacity increases for a given flow, more flows can be allocated, so that as the link capacity increases, the network resource usage decreases.

본 발명의 권리범위는 상술한 실시예에 한정되는 것이 아니라 첨부된 특허청구범위내에서 다양한 형태의 실시예로 구현될 수 있다. 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 변형 가능한 다양한 범위까지 본 발명의 청구범위 기재의 범위 내에 있는 것으로 본다. The scope of the present invention is not limited to the above-described embodiments, but may be embodied in various forms of embodiments within the scope of the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims.

100 --- 제어 평면 110 --- 통신부
120 --- 경로 계산부 130 --- 조건 판단부
140 --- 저장부 200 --- 데이터 평면
210 --- 인그래스 노드 220 --- SN 노드
230 --- SFF 노드 240 --- SF 노드
250 --- 이그레스 노드
100 --- Control plane 110 --- Communication part
120 --- Path calculation unit 130 --- Condition determination unit
140 --- Storage part 200 --- Data plane
210 --- Ingram node 220 --- SN node
230 --- SFF node 240 --- SF node
250 --- Grease node

Claims (10)

제어 평면 및 데이터 평면을 포함하는 서비스 기능 체이닝 네트워크 시스템에 있어서,
상기 데이터 평면으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하여 그 결과를 전달하는 제어 평면; 및
상기 제어 평면에서 전달된 플로우 및 경로 결과를 입력받아 각 경로에 플로우를 할당하는 데이터 평면을 포함하는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템.
A service function chaining network system comprising a control plane and a data plane,
Receiving traffic flow information from the data plane, information of SF instances installed in the SN, and link information of each node, calculating a plurality of paths for each service function chaining corresponding to a predetermined condition of each node, A control plane for determining a flow to be distributed to and delivering the result; And
And a data plane for receiving a flow and a path result transmitted from the control plane and allocating a flow to each path.
제1항에 있어서,
상기 제어 평면은
상기 데이터 평면으로부터 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받고, 상기 경로 결과를 전달하는 통신부;
상기 입력받은 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 이용하여 최적 경로를 계산하는 경로 계산부;
상기 경로 계산부에서 최적 경로를 계산할 때 각 노드들의 소정 조건을 판단하여 제공하는 조건 판단부;
상기 각 노드들의 조건 데이터를 저장하는 저장부를 포함하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템.
The method according to claim 1,
The control plane
A communication unit receiving traffic flow information from the data plane, information of SF instances installed in the SN, and link information of each node, and transmitting the path result;
A path calculation unit for calculating an optimal path using the received traffic flow information, information of SF instances installed in the SN, and link information of each node;
A condition determiner for determining and providing a predetermined condition of each node when calculating an optimal path in the path calculator;
And a storage unit for storing condition data of each of the nodes.
제2항에 있어서,
상기 경로 계산부는 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템.
3. The method of claim 2,
Wherein the path calculation unit calculates a flow rate allocated to each link and each SF instance.
제2항에 있어서,
상기 조건 판단부는 각 노드 별 들어오는 플로우 양과 나가는 플로우 양이 같은지 여부를 판단하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템.
3. The method of claim 2,
Wherein the condition determination unit determines whether or not the amount of flow incoming by each node is equal to the amount of outgoing flow for each node.
제1항에 있어서,
상기 데이터 평면은
제어 평면에서 전달되는 트래픽 플로우 및 경로 결과에 대응하여 플로우를 각 노드에 할당하는 인그래스 노드(Ingress node);
복수 개의 서버가 배치되어 내부에 SF(Service Function) 인스턴스를 가상 머신 형태로 구현시키는 SN 노드(Service Node);
상기 인그래스 노드에서 할당된 플로우를 상기 SN 노드의 SF 인스턴스에 포워딩하는 SSF(Service Function Forwarder) 노드;
상기 인그래스 노드, 상기 SSF 노드 및 SN 노드를 통과하는 각 경로에 할당된 플로우가 출력되는 이그래스 노드(Egress node)를 포함하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템.
The method according to claim 1,
The data plane
An ingress node for assigning a flow to each node corresponding to a traffic flow and a route result delivered from the control plane;
An SN node (Service Node) in which a plurality of servers are arranged to implement an SF (Service Function) instance in the form of a virtual machine;
An SSF (Service Function Forwarder) node for forwarding the flow assigned by the ingress node to the SF instance of the SN node;
And an Egress node for outputting a flow assigned to each path passing through the in-progress node, the SSF node, and the SN node.
데이터 평면의 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 제어 평면에 전달하는 단계;
상기 제어 평면에서 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 입력받아 각 노드들의 소정 조건에 대응하여 경로 최적화 모델을 구축하여 각 서비스 기능 체이닝에 대한 복수의 경로를 계산하고 그에 대응하는 경로에 분배될 플로우를 결정하는 단계;
상기 각 경로에 대해 계산된 결과 및 각 경로에 분배되는 상기 플로우 결과를 전달하는 단계; 및
상기 전달된 결과를 데이터 평면의 인그래스 노드에서 각 노드에 플로우를 할당하는 단계를 포함하는 최적 경로 설정을 위한 서비스 기능 체이닝 방법.
Transmitting traffic flow information of a data plane, information of SF instances installed in the SN, and link information of each node to a control plane;
The traffic flow information in the control plane, the information of the SF instances installed in the SN, and the link information of each node, and constructs a path optimization model corresponding to a predetermined condition of each node to generate a plurality of paths for each service function chaining Computing and determining a flow to be distributed to a path corresponding thereto;
Delivering the calculated result for each path and the flow result distributed to each path; And
And assigning a flow to each node at the ingress node of the data plane as a result of the forwarding.
제6항에 있어서,
상기 트래픽 플로우 정보, SN에 설치되어 있는 SF 인스턴스들의 정보 및 각 노드들의 링크 정보를 제어 평면에 전달하는 단계에서 상기 데이터 평면의 인그래스 노드(Ingress node)에 현재 들어오고 있는 트래픽 플로우에 대한 정보와 SN 노드(Service Node), SFF 노드(Service Function Forwarder) 및 상기 SN 노드에 설치되어 있는 SF 간에 연결되어 있는 링크 정보 및 플로우 처리 캐패시티를 제어 평면에 전달하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 방법.
The method according to claim 6,
Information on the traffic flows currently entering the ingress node of the data plane in the step of transmitting the traffic flow information, the SF instances installed in the SN, and the link information of each node to the control plane, Link information and flow processing capacity connected between an SN node (Service Node), an SFF node (Service Function Forwarder), and an SF installed in the SN node are transmitted to a control plane. Functional chaining method.
제6항에 있어서,
상기 분배될 플로우를 결정하는 단계에서 제어 평면은 플로우와 SFC(Service Funtion Chaining) 네트워크 토폴로지 정보를 바탕으로 플로우에 대한 SFC를 구별하고 각 SFC에 대한 복수의 경로와 각 해당 경로에 분배될 플로우를 결정하는 것을 특징으로 하는 최적 경로 설정을 위한 서비스 기능 체이닝 방법.
The method according to claim 6,
In the step of determining the flow to be distributed, the control plane distinguishes the SFC for the flow based on the flow and the SFC (Network Service) network topology information, and determines a plurality of paths for each SFC and a flow to be distributed to each corresponding path And a service function chaining method for optimal path setting.
제6항에 있어서,
상기 경로 최적화 모델은 각 링크와 각 SF 인스턴스에 할당되는 플로우 비율을 계산하여 구축되는 것을 특징으로 최적 경로 설정을 위한 서비스 기능 체이닝 방법.
The method according to claim 6,
Wherein the path optimization model is constructed by calculating a flow rate allocated to each link and each SF instance.
제6항에 있어서,
상기 소정 조건은 각 노드 별 들어오는 트래픽 플로우 양과 나가는 트래픽 플로우 양이 같은지 여부를 판단하는 것을 특징으로 최적 경로 설정을 위한 서비스 기능 체이닝 방법.
The method according to claim 6,
Wherein the predetermined condition is to determine whether the amount of incoming traffic flow and the amount of outgoing traffic flow for each node are the same.
KR1020160024208A 2016-02-29 2016-02-29 Service function chaining network system for path optimization KR101841026B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160024208A KR101841026B1 (en) 2016-02-29 2016-02-29 Service function chaining network system for path optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160024208A KR101841026B1 (en) 2016-02-29 2016-02-29 Service function chaining network system for path optimization

Publications (2)

Publication Number Publication Date
KR20170102104A true KR20170102104A (en) 2017-09-07
KR101841026B1 KR101841026B1 (en) 2018-03-23

Family

ID=59925749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160024208A KR101841026B1 (en) 2016-02-29 2016-02-29 Service function chaining network system for path optimization

Country Status (1)

Country Link
KR (1) KR101841026B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220056689A (en) * 2020-10-28 2022-05-06 고려대학교 산학협력단 System for highly available service function chaining on programmmable switches
CN115174393A (en) * 2022-06-27 2022-10-11 福州大学 Dynamic adjustment method of service function chain based on in-band network telemetry
WO2022264284A1 (en) * 2021-06-15 2022-12-22 日本電信電話株式会社 Control system, network control method, and program
KR20230058974A (en) * 2021-10-25 2023-05-03 에스케이텔레콤 주식회사 Network data chaining apparatus, and control method thereof
KR20230058952A (en) * 2021-10-25 2023-05-03 에스케이텔레콤 주식회사 Network data chaining apparatus, and control method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL167059A (en) * 2005-02-23 2010-11-30 Tejas Israel Ltd Network edge device and telecommunications network
US8694627B2 (en) 2010-12-15 2014-04-08 At&T Intellectual Property I, L.P. Method and apparatus for correlating end to end measurements through control plane monitoring of wireless traffic
KR101501892B1 (en) 2014-05-26 2015-03-12 주식회사 파이오링크 Method, device and computer-readable recording medium for selecting network suitable for service based on openflow

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220056689A (en) * 2020-10-28 2022-05-06 고려대학교 산학협력단 System for highly available service function chaining on programmmable switches
WO2022264284A1 (en) * 2021-06-15 2022-12-22 日本電信電話株式会社 Control system, network control method, and program
KR20230058974A (en) * 2021-10-25 2023-05-03 에스케이텔레콤 주식회사 Network data chaining apparatus, and control method thereof
KR20230058952A (en) * 2021-10-25 2023-05-03 에스케이텔레콤 주식회사 Network data chaining apparatus, and control method thereof
CN115174393A (en) * 2022-06-27 2022-10-11 福州大学 Dynamic adjustment method of service function chain based on in-band network telemetry
CN115174393B (en) * 2022-06-27 2023-09-22 福州大学 Service function chain dynamic adjustment method based on in-band network telemetry

Also Published As

Publication number Publication date
KR101841026B1 (en) 2018-03-23

Similar Documents

Publication Publication Date Title
US11625154B2 (en) Stage upgrade of image versions on devices in a cluster
JP7417825B2 (en) slice-based routing
US10728176B2 (en) Ruled-based network traffic interception and distribution scheme
CN111683011B (en) Message processing method, device, equipment and system
KR101841026B1 (en) Service function chaining network system for path optimization
JP6592595B2 (en) Method and system for managing data traffic in a computing network
Xu et al. Approximation and online algorithms for NFV-enabled multicasting in SDNs
KR101703088B1 (en) Aggregated routing method based on sdn and system thereof
US9654395B2 (en) SDN-based service chaining system
US8976697B2 (en) Network status mapping
WO2017054738A1 (en) Method and apparatus for supporting service function chaining in a communication network
CN108696402A (en) The dialogue-based business statistics record of virtual router
US9584415B2 (en) Devices, systems and methods for service chains
US9800508B2 (en) System and method of flow shaping to reduce impact of incast communications
CN105391635A (en) Network virtualization method based on software defined network (SDN)
CN108337179A (en) Link flow control method and device
KR101586474B1 (en) Apparatus and method for openflow routing
KR101729944B1 (en) Method for supplying ip address by multi tunant network system based on sdn
CN103346950A (en) Sharing method and device of load between user service boards of rack-mounted wireless controller
Alqahtani et al. Ernie: scalable load-balanced multicast source routing for cloud data centers
KR101729939B1 (en) Multi tunant network system based on sdn
KR101729945B1 (en) Method for supporting multi tunant by network system based on sdn
CN108075955A (en) The data processing method and device of backbone network
Kwak et al. IntelliTC: intelligent inter‐DC traffic controller for the Internet of everything service based on fog computing
KR101806376B1 (en) Multi tunant network system based on sdn capable of supplying ip address

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant