KR102633569B1 - Network data chaining apparatus, and control method thereof - Google Patents

Network data chaining apparatus, and control method thereof Download PDF

Info

Publication number
KR102633569B1
KR102633569B1 KR1020210142898A KR20210142898A KR102633569B1 KR 102633569 B1 KR102633569 B1 KR 102633569B1 KR 1020210142898 A KR1020210142898 A KR 1020210142898A KR 20210142898 A KR20210142898 A KR 20210142898A KR 102633569 B1 KR102633569 B1 KR 102633569B1
Authority
KR
South Korea
Prior art keywords
data
application
network
applications
connection order
Prior art date
Application number
KR1020210142898A
Other languages
Korean (ko)
Other versions
KR20230058974A (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 KR1020210142898A priority Critical patent/KR102633569B1/en
Publication of KR20230058974A publication Critical patent/KR20230058974A/en
Application granted granted Critical
Publication of KR102633569B1 publication Critical patent/KR102633569B1/en

Links

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/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

본 발명은 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 관한 것이다.The present invention relates to chaining technology, which builds a network by combining virtual resource-based applications in a predetermined connection order, and dynamically combines connections between applications in an internal system and applications in an external system and the resulting data flow. It relates to a changeable network data chaining device and a method of operating the network data chaining device.

Description

네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법{NETWORK DATA CHAINING APPARATUS, AND CONTROL METHOD THEREOF}Network data chaining device and operation method of the network data chaining device {NETWORK DATA CHAINING APPARATUS, AND CONTROL METHOD THEREOF}

본 발명은, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경하기 위한 방안에 관한 것이다.The present invention relates to chaining technology, which builds a network by combining virtual resource-based applications in a predetermined connection order, and dynamically combines the connection between the application of the internal system and the application of the external system and the resulting data flow. It is about a plan to change to .

서비스 사업자 및 통신 사업자를 중심으로 네트워크의 개방화와 가상화에 대한 관심이 높아지고 있으며, 이를 지원하는 기술로는 소프트웨어 정의 네트워킹(Software-Defined Networking, 이하 SDN) 기술과 네트워크 기능 가상화(Network Functions Virtualization, 이하 NFV) 기술이 존재한다.Interest in network openness and virtualization is increasing, especially among service providers and telecommunications providers, and technologies that support this include software-defined networking (SDN) technology and network functions virtualization (NFV). ) Technology exists.

NFV 기술은 하드웨어로 이루어진 네트워크 서비스 기능을 소프트웨어적으로 가상화함으로써 이들을 유연하게 재배치할 수 있다는 점에서 SDN의 대표적인 응용 분야 중의 하나로 여겨지고 있다.NFV technology is considered one of the representative application fields of SDN in that it can flexibly redeploy network service functions made up of hardware by virtualizing them in software.

특히 NFV을 기반으로 가상화된 복수개의 네트워크 컴포넌트들을 정해진 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Service Chaining) 기술의 경우 네트워크 사업자 및 서비스 사업자의 높은 관심을 이끌고 있다.In particular, service chaining technology, which builds a single network by combining multiple virtualized network components based on NFV in a given order, is attracting high interest from network operators and service providers.

이와 관련하여, 기존의 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 모바일 엣지 컴퓨팅(MEC, Mobile-Edge Computing) 환경에서도 NFV 기술이 적용되므로, 체이닝 기술을 통해 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구현할 수 있다.In this regard, NFV technology is also applied in the Mobile-Edge Computing (MEC) environment, which is a concept that seeks to provide various IT services and technologies provided in the existing cloud environment at the edge of the mobile network, so chaining technology is used. A network can be implemented by combining virtual resource-based applications in a designated connection order.

한편, 이와 같이 어플리케이션이 연결 조합된 형태로 구축되는 네트워크의 경우, 온프레미스 클라우드(On-Promise Cloud)와 같은 내부 시스템의 어플리케이션뿐만 아니라, 외부 네트워크 혹은 퍼블릭 클라우드(Public Cloud)와 같은 외부 시스템의 어플리케이션과의 연결이 요구될 수 있다.On the other hand, in the case of a network built in such a way that applications are connected and combined, not only applications from internal systems such as an on-premise cloud (On-Promise Cloud), but also applications from external systems such as an external network or public cloud Connection may be required.

그러나, 기존의 체이닝(Chaining) 기술에 따르면, 어플리케이션의 구현 로직을 변경하는 복잡한 방법 이외에는, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 방안이 부재한 실정이다.However, according to existing chaining technology, other than a complicated method of changing the implementation logic of the application, there is no way to dynamically change the connection combination and resulting data flow between the application of the internal system and the application of the external system. This is the situation.

이에 본 발명에서는 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 한다.Accordingly, in the present invention, in relation to chaining technology that builds a network by combining virtual resource-based applications in a predetermined connection order, it is possible to dynamically change the connection combination and resulting data flow between the applications of the internal system and the applications of the external system. I would like to propose a new technique.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하는데 있다.The present invention was created in consideration of the above-mentioned circumstances, and the goal to be achieved by the present invention is to internally The goal is to propose a new technique that can dynamically change the connection combination between system applications and external system applications and the resulting data flow.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인부; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하며, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리부를 포함하며, 상기 처리부는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.The network data chaining device according to an embodiment of the present invention for achieving the above object is related to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, and the application of the internal system and the external system are connected. A confirmation unit that confirms that a connection between applications is required; And a processing unit that sets network chaining information that defines the connection order between applications in the internal system to data, encapsulates the data for which the network chaining information is set, and transmits it to the application of the external system, When the data processed in the application of the external system is encapsulated and received from the application of the external system, the processing unit processes the data according to the network chaining information confirmed from the data during decapsulation. It is characterized in that it is transmitted to the application in the next connection order within the internal system to be processed.

구체적으로, 상기 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부를 더 포함할 수 있다.Specifically, the network data chaining device may further include an acquisition unit that obtains network chaining information about network resources in which each virtual resource-based application is combined in connection order from data.

구체적으로, 상기 네트워크체이닝정보는, 상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며, 상기 처리부는, 상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a label added to the header field of the data to indicate the application of each connection order according to the connection order defined between applications in the internal system, and the processing unit, Data received from the source is delivered to a specific application in the internal system according to the label's instructions, and data processed in the specific application is transferred to another application that is next to the specific application in the connection order, and the internal system When data processing is completed between my applications, the processed data can be delivered to the destination.

구체적으로, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며, 상기 처리부는, 상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a MAC address for each application that is updated as the destination MAC address of the data to indicate the application in each connection order according to the connection order defined between applications in the network, and the processing unit, The destination MAC address of data received from the source is set to the MAC address of a specific application of the internal system and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the MAC address of the specific application and the neighbor. The MAC address of another application in the next connection order is updated and delivered to the other application. When data processing is completed between applications in the internal system, the processed data can be delivered to the destination.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법은, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인단계; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하고, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 포함하며, 상기 처리단계는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.The method of operating a network data chaining device according to an embodiment of the present invention to achieve the above object is related to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, and the application of the internal system A confirmation step to confirm that a connection is required between applications of an external system; And a processing step of setting network chaining information that defines the connection order between applications in the internal system to data, encapsulating the data for which the network chaining information is set, and transmitting it to the application of the external system. , the processing step is performed when the data processed in the application of the external system is encapsulated and received from the application of the external system, according to the network chaining information confirmed from the data during decapsulation. The data is transmitted to the application in the next connection order within the internal system to be processed.

구체적으로, 상기 방법은, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계를 더 포함할 수 있다.Specifically, the method may further include an acquisition step of obtaining network chaining information about network resources in which each virtual resource-based application is combined in connection order from data.

구체적으로, 상기 네트워크체이닝정보는, 상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며, 상기 처리단계는, 상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a label added to the header field of the data to indicate the application of each connection order according to the connection order defined between applications in the internal system, and the processing step is , Data received from the source is delivered to a specific application within the internal system as indicated by the label, and data processed in the specific application is transferred to another application that is next in the connection order next to the specific application, and the internal When data processing is completed between applications within the system, the processed data can be delivered to the destination.

구체적으로, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며, 상기 처리단계는, 상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a MAC address for each application that is updated with the destination MAC address of the data to indicate the application in each connection order according to the connection order defined between applications in the network, and the processing step is , the destination MAC address of the data received from the source is set to the MAC address of a specific application of the internal system and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application and its neighbors. Then, the MAC address of the other application in the connection order is updated and delivered to the other application. When data processing is completed between applications in the internal system, the processed data can be delivered to the destination.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 프로그램은, 하드웨어와 결합되어, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인단계; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하고, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 실행시키기 위해 매체에 저장되며, 상기 처리단계는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.The program according to an embodiment of the present invention for achieving the above object is combined with hardware, in relation to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, and the application of the internal system and the external A confirmation step to confirm that a connection is required between applications in the system; And executing a processing step of setting network chaining information that defines the connection order between applications in the internal system to data, encapsulating the data for which the network chaining information is set, and transmitting it to the application of the external system. It is stored in a medium for processing, and the processing step is performed when the data processed in the application of the external system is encapsulated and received from the application of the external system, and the network is confirmed from the data during decapsulation. The data is transmitted to the application in the next connection order within the internal system to be processed according to the chaining information.

이에, 본 발명의 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 의하면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션과 연계한 데이터 처리를 가능하게 하므로, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있음을 알 수 있다.Accordingly, according to the network data chaining device and the operating method of the network data chaining device of the present invention, in relation to the chaining technology of constructing one network by combining virtual resource-based applications in a determined connection order, the internal system When a connection between an application and an application of an external system is required, L3-based encapsulation enables data processing linked to the application of the external system while maintaining the chaining method of the internal system set for the data. It can be seen that the connection combination between the application and the application of the external system and the resulting data flow can be changed dynamically without delay.

도 1 및 도 2는 종래 기술에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 3은 본 발명의 일 실시예에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 4는 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치를 설명하기 위한 구성도.
도 5 및 도 6은 본 발명의 일 실시예에 따른 데이터 흐름을 설명하기 위한 예시도.
도 7은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법을 설명하기 위한 순서도.
1 and 2 are exemplary diagrams for explaining a network chaining environment according to the prior art.
Figure 3 is an example diagram for explaining a network chaining environment according to an embodiment of the present invention.
Figure 4 is a configuration diagram for explaining a network data chaining device according to an embodiment of the present invention.
Figures 5 and 6 are exemplary diagrams for explaining data flow according to an embodiment of the present invention.
Figure 7 is a flowchart illustrating a method of operating a network data chaining device according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the attached drawings.

본 발명의 일 실시예에서는, NFV을 기반으로 가상화된 복수개의 네트워크 컴포넌트들을 정해진 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Service Chaining) 기술을 다룬다.One embodiment of the present invention deals with chaining (Service Chaining) technology that builds one network by combining a plurality of network components virtualized based on NFV in a specified order.

이와 관련하여, 기존의 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 모바일 엣지 컴퓨팅(MEC, Mobile-Edge Computing) 환경에서도 NFV 기술이 적용되므로, 체이닝 기술을 통해 가상 자원 기반의 어플리케이션(소프트웨어 모듈)을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구현할 수 있다.In this regard, NFV technology is also applied in the Mobile-Edge Computing (MEC) environment, which is a concept that seeks to provide various IT services and technologies provided in the existing cloud environment at the edge of the mobile network, so chaining technology is used. A network can be implemented by combining virtual resource-based applications (software modules) in a designated connection order.

한편, 이와 같이 어플리케이션이 조합된 네트워크에서는, 각 어플리케이션에서 처리된 데이터는 정해진 연결 순서에 따라 이웃한 다음 순서의 어플리케이션으로 전달되는데, 만약 이러한 어플리케이션 간 데이터 흐름의 변경이 요구되는 경우라면, 기존의 어플리케이션 간 연결을 종료하고, 어플리케이션 간의 연결을 새롭게 구성해야만 한다.Meanwhile, in a network where applications are combined like this, the data processed by each application is delivered to the next neighboring application according to a determined connection order. If a change in data flow between these applications is required, the existing application The inter-application connection must be terminated and a new inter-application connection must be established.

헌데, 어플리케이션 간 기존 연결을 종료하기 위해서는, 커널 및 네트워크 레벨에서 전송 대기 중인 데이터를 모두 전송해야만 하는데, 이는 어플리케이션 간 데이터 흐름을 실시간으로 변경하는 것을 어렵게 만들어 데이터 전송 지연을 발생시키게 된다.However, in order to terminate the existing connection between applications, all data waiting to be transmitted at the kernel and network levels must be transmitted, which makes it difficult to change the data flow between applications in real time, causing data transmission delays.

예를 들어, 도 1에서와 같이 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)에서 처리하고, 제1어플리케이션(App1)에서 처리된 데이터는 제2어플리케이션(App2)에서의 처리를 거쳐 목적지(Sinker)로 전달되는 기존 데이터 경로를, 출발지(External Source)로부터 제1어플리케이션(App1) 및 제3어플리케이션(App3)을 거쳐 목적지(Sinker)로 전달되는 신규 데이터 경로로 변경하고자 하는 경우를 가정해볼 수 있다.For example, as shown in Figure 1, data received from the source (External Source) is processed in the first application (App1), and data processed in the first application (App1) is processed in the second application (App2). When you want to change the existing data path that is delivered to the destination (Sinker) through a new data path that is delivered from the source (External Source) to the destination (Sinker) through the first application (App1) and the third application (App3). We can assume.

이 경우, 제1어플리케이션(App1)에서의 데이터 처리 및 데이터 전송을 중단해야 하며, 이미 어플리케이션(App1 or App2) 단에서 전송되어 커널 및 네트워크 레벨에서 전송 대기 중인 데이터가 모두 전송되기를 기다린 후, 기존 데이터 전송을 위한 연결을 종료해야 하며, 이어서 제1어플리케이션(App1)과 제3어플리케이션(App3) 간 새로운 연결을 생성한 후, 다시 데이터 처리 및 데이터 전송을 시작해야만 하는 일련의 과정들이 요구되고 있는 것이다.In this case, data processing and data transmission in the first application (App1) must be stopped, and after waiting for all data that has already been transmitted from the application (App1 or App2) and waiting to be transmitted at the kernel and network levels to be transmitted, the existing data A series of processes are required to terminate the connection for transmission, then create a new connection between the first application (App1) and the third application (App3), and then start data processing and data transmission again.

더욱이, 이처럼 어플리케이션 조합에 의해 구축되는 네트워크에서 어플리케이션의 조합 및 그에 따른 데이터 흐름을 변경하기 위해선, 어플리케이션 단에서 데이터 전송을 위한 L3(TCP/UDP) 데이터 채널 생성 및 변경을 지원해야만 하는데 이로 인해, 이를 지원하기 위한 어플리케이션의 구현 로직이 복잡해지는 문제가 발생하게 된다.Moreover, in order to change the combination of applications and the resulting data flow in a network built by combining applications like this, the creation and change of L3 (TCP/UDP) data channels for data transmission must be supported at the application level. A problem arises where the implementation logic of the application to support becomes complicated.

특히나, 이처럼 어플리케이션이 연결 조합된 형태로 구축되는 네트워크의 경우, 예컨대, 도 2에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6)뿐만 아니라 외부 시스템의 어플리케이션(App3, App5)과의 연결이 요구될 수 있다.In particular, in the case of a network built in such a way that applications are connected and combined, for example, as shown in FIG. 2, not only the internal system's applications (App1, App2, App4, App6) but also the external system's applications (App3, App5) Connection may be required.

여기서, 내부 시스템은, 온프레미스 클라우드(OnPromise Cloud)로 이해될 수 있으며, 외부 시스템은 외부 네트워크 혹은 퍼블릭 클라우드(Public Cloud)로 이해될 수 있다.Here, the internal system can be understood as an on-premise cloud (OnPromise Cloud), and the external system can be understood as an external network or public cloud.

그러나, 기존의 체이닝(Chaining) 기술에 따르면, 어플리케이션의 구현 로직을 변경하는 복잡한 방법 이외에는, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 방안이 부재한 실정이다.However, according to existing chaining technology, other than a complicated method of changing the implementation logic of the application, there is no way to dynamically change the connection combination and resulting data flow between the application of the internal system and the application of the external system. This is the situation.

이에 본 발명에서는 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 하는 것이다.Accordingly, in the present invention, in relation to chaining technology that builds a network by combining virtual resource-based applications in a predetermined connection order, it is possible to dynamically change the connection combination and resulting data flow between the applications of the internal system and the applications of the external system. The aim is to propose a new technique.

이와 관련하여, 도 3에서는 본 발명의 일 실시예에 따른 네트워크 체이닝 환경을 예시적으로 보여주고 있다.In relation to this, Figure 3 exemplarily shows a network chaining environment according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 체이닝 환경에는, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 각각이 기 정의된 연결 순서대로 조합되는 네트워크에서 데이터 흐름을 제어하는 네트워크데이터체이닝장치(100)가 포함될 수 있다.As shown in Figure 3, in the network chaining environment according to an embodiment of the present invention, the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system each have a predefined connection. A network data chaining device 100 that controls data flow in networks that are combined in order may be included.

여기서, 네트워크데이터체이닝장치(100)는 출발지(External Source)로부터 수신되는 데이터를 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간 연결 순서에 따라 순차적으로 전달하여 어플리케이션(App1, App2, App3, App4, App5, App6) 간에 직렬 처리되도록 하고, 처리 완료된 데이터를 목적지(Sinker) 전달하기 위한 장치를 일컫는다.Here, the network data chaining device 100 sequentially receives data received from the source (External Source) according to the connection order between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system. It refers to a device for serial processing between applications (App1, App2, App3, App4, App5, App6) and delivering the processed data to the destination (Sinker).

이러한, 네트워크데이터체이닝장치(100)는 예컨대, 가상 자원 기반의 어플리케이션(App1, App2, App3)과는 별도로 네트워크 레벨에서 가상화된 네트워크 컴포넌트의 형태로 구현될 수 있다For example, the network data chaining device 100 may be implemented in the form of a virtualized network component at the network level separately from the virtual resource-based applications (App1, App2, App3).

한편, 본 발명의 일 실시예에서 내부 시스템과 외부 시스템은, 각각의 L3(Layer 3) 트래픽 처리용 게이트웨이 노드(GW)를 통해서 서로 간에 트래픽을 전달할 수 있다.Meanwhile, in one embodiment of the present invention, the internal system and the external system can transfer traffic to each other through each L3 (Layer 3) traffic processing gateway node (GW).

한편, 본 발명의 일 실시예에 따른 네트워크체이닝(100)는 예컨대, 미디어 데이터 처리용으로 적용될 수 있으며, 이 경우, 네트워크 내 각 어플리케이션(App1, App2, App3)에서는, 그 연결 순서에 따라 디코딩(Decoding, by App1), 업스케일링(UpScaling, by App2), 및 인코딩(Encoding, by App3) 등이 순차적으로 처리될 수 있다.Meanwhile, network chaining 100 according to an embodiment of the present invention can be applied, for example, to process media data. In this case, each application (App1, App2, App3) in the network decodes ( Decoding, by App1), upscaling (UpScaling, by App2), and encoding (Encoding, by App3) can be processed sequentially.

이상 본 발명의 일 실시예에 따른 네트워크 체이닝 환경에서는, 전술한 구성을 통해서 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100)의 구성을 보다 구체적으로 설명하기로 한다.In the network chaining environment according to an embodiment of the present invention, the connection combination between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system through the above-described configuration and the resulting data flow can be changed dynamically. Hereinafter, the configuration of the network data chaining device 100 to realize this will be described in more detail.

도 4는 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 개략적인 구성을 보여주고 있다.Figure 4 shows a schematic configuration of a network data chaining device 100 according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는지 여부를 확인하는 확인부(110), 및 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 데이터 전달을 처리하는 처리부(120)를 포함하는 구성을 가질 수 있다.As shown in FIG. 4, the network data chaining device 100 according to an embodiment of the present invention has a connection between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system. A configuration including a confirmation unit 110 that checks whether a request is made, and a processing unit 120 that processes data transfer between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system. You can have

또한, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 전술한 구성 이외에, 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득하는 획득부(130)를 더 포함할 수 있다.In addition, the network data chaining device 100 according to an embodiment of the present invention may further include an acquisition unit 130 that acquires network chaining information from data received from an external source in addition to the above-described configuration. .

이러한, 네트워크데이터체이닝장치(100)의 전체 구성 내지는 적어도 일부는 소프트웨어 모듈 형태로 구현될 수 있는데, 여기서의 소프트웨어 모듈은, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과는 별도로 네트워크 레벨에서 가상화되어 구축되는 네트워크 컴포넌트인 것으로 이해될 수 있다.The entire configuration or at least part of the network data chaining device 100 may be implemented in the form of a software module, where the software module is performed at the network level separately from the applications (App1, App2, App4, App6) of the internal system. It can be understood as a network component that is built in a virtualized manner.

이상 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 전술한 구성을 기반으로, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100) 내 구성에 대해서 보다 구체적인 설명을 이어 가기로 한다.Based on the above-described configuration, the network data chaining device 100 according to an embodiment of the present invention combines the connections between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system. And the resulting data flow can be dynamically changed. Hereinafter, a more detailed explanation will be given regarding the configuration within the network data chaining device 100 to realize this.

확인부(110)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는지 여부를 확인하는 기능을 수행한다.The confirmation unit 110 performs a function of checking whether a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system.

보다 구체적으로, 확인부(110)는 출발지(External)로부터의 데이터 수신에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인하게 된다.More specifically, the confirmation unit 110 determines whether a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system according to data reception from the source (External). will be confirmed.

이때, 확인부(110)는 네트워크 구축을 위해 정의되는 설정 값으로부터 네트워크 구축에 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인할 수 있다.At this time, the confirmation unit 110 determines whether a connection is required between the applications (App1, App2, App4, App6) of the internal system and the application applications (App3, App5) of the external system for network construction based on the setting values defined for network construction. You can check.

여기서, 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구된다는 것은, 출발지(External Source)로부터 수신된 데이터가 내부 시스템의 제1어플리케이션(App1)과 제2어플리케이션(App2)을 거쳐 처리된 데이터가 외부 시스템의 제3어플리케이션(App3)으로 전달되어야 하고, 제3어플리케이션(App3)에서 처리된 데이터는 다시 내부 시스템의 제4어플리케이션(App4)에서의 처리를 거쳐 외부 시스템의 제5어플리케이션(App5) 그리고 내부 시스템의 제6어플리케이션(App6)의 처리 과정을 순차적으로 거친 후 목적지(Sinker)로 전달되어야 한다는 것으로 이해될 수 있다.Here, a connection is required between the applications (App1, App2, App4, App6) and the applications (App3, App5) of the external system, which means that the data received from the source (External Source) is connected to the first application (App1) of the internal system. Data processed through the second application (App2) must be transferred to the third application (App3) of the external system, and data processed by the third application (App3) must be processed again by the fourth application (App4) of the internal system. It can be understood that it must be delivered to the destination (Sinker) after sequentially processing the fifth application (App5) of the external system and the sixth application (App6) of the internal system.

처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 데이터 전달을 처리하는 기능을 수행한다.The processing unit 120 performs a function of processing data transfer between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system.

보다 구체적으로, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 연결이 요구되는 경우, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 외부 시스템의 어플리케이션(App3, App5)으로 전달하고, 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터는 다시 내부 시스템의 나머지 연결 순서에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)에 전달하여 처리될 수 있도록 하며, 이를 통해서 어플리케이션(App1, App2, App3, App4, App5, App6) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달하게 된다.More specifically, when a connection is required between the internal system's applications (App1, App2, App4, App6) and the external system's applications (App3, App5), the processing unit 120 connects the internal system's applications (App1, App2, App4, Data transmitted and processed to each application (App1, App2, App4, App6) according to the connection order between App6) is delivered to the applications (App3, App5) of the external system, and the data processed by the applications (App3, App5) of the external system is transmitted. The data is then delivered to the applications (App1, App2, App4, App6) of the internal system according to the remaining connection order of the internal system to be processed, and through this, the data can be processed between the applications (App1, App2, App3, App4, App5, App6). When data processing is completed, the processed data is delivered to the destination (sinker).

이때, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 인캡슐레이션(Encapsulation)한 후 외부 시스템의 어플리케이션(App3, App5)으로 전송하고, 반대로 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터 또한 인캡슐레이션된 상태로 수신한다.At this time, the processing unit 120 encapsulates the data transmitted and processed to each application (App1, App2, App4, App6) according to the connection order between the applications (App1, App2, App4, App6) of the internal system. Then, it is transmitted to the applications (App3, App5) of the external system, and conversely, the data processed by the applications (App3, App5) of the external system is also received in an encapsulated state.

이는, 내부 시스템의 체이닝 방식을 그대로 유지시키기 위한 방안으로서, 인캡슐레이션을 통해서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보를 보호하기 위함이다.This is a way to maintain the chaining method of the internal system as is, and protect the network chaining information set in the data to define the connection order between applications (App1, App2, App4, App6) in the internal system through encapsulation. It is for this purpose.

참고로, 이와 같이 내부 시스템과 외부 시스템의 어플리케이션(App3, App5) 간에 인캡슐레이션된 데이터를 송수신한 다는 것은, 내부 시스템과 외부 시스템의 어플리케이션(App3, App5) 간에 L3 기반의 인캡슐레이션 파이프 라인(L3 Encapsulation Pipeline)을 형성한다는 의미로 해석될 수 있다.For reference, sending and receiving encapsulated data between the applications (App3, App5) of the internal system and the external system like this means that an L3-based encapsulation pipeline is used between the applications (App3, App5) of the internal system and the external system. It can be interpreted to mean forming an (L3 Encapsulation Pipeline).

나아가, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터가 외부 시스템의 어플리케이션(App3, App5)으로부터 인캡슐레이션되어 수신되는 경우, 해당 데이터의 디캡슐레이션(Decapsulation) 시 데이터로부터 확인되는 네트워크체이닝정보에 따라 디캡슐레이션된 데이터를 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 한다.Furthermore, when data processed in the applications (App3, App5) of the external system is received in encapsulation from the applications (App3, App5) of the external system, the processing unit 120 performs decapsulation of the data. According to the network chaining information confirmed from the decapsulated data, it is delivered to the application in the next connection order within the internal system to be processed.

예를 들어, 도 5에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제2어플리케이션(App2)에서 처리된 데이터를 제4어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제3어플리케이션(App3)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.For example, as shown in Figure 5, in the process of transferring data processed by the second application (App2) to the fourth application (App4) according to the connection order between the applications (App1, App2, App4, and App6) of the internal system. It can be assumed that data transmission to a third application (App3) of an external system is required.

이 경우, 제2어플리케이션(App2)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제4어플리케이션(App4)을 지시하기 위한 네트워크체이닝정보(App4)가 설정된다.In this case, network chaining information (App4) is set in the data processed by the second application (App2) to indicate the fourth application (App4), which is the next connection order in the internal system.

이와 관련하여, 제2어플리케이션(App2)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App4)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP1)되어 제3어플리케이션(App3)으로 전달되고, 제3어플리케이션(App3)에서 처리된 데이터는 마찬가지로 제3어플리케이션(App3)에서 인캡슐레이션되어 내부 시스템으로 수신된다.In this regard, the data processed in the second application (App2) is encapsulated (destination address: IP1) and delivered to the third application (App3) to maintain the network chaining information (App4) set in the data as is, Data processed in the third application (App3) is likewise encapsulated in the third application (App3) and received into the internal system.

이처럼, 외부 시스템의 제3어플리케이션(App3)에서 인캡슐레이션되어 수신되는 데이터를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App4)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제3어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제4어플리케이션(App4)으로 전달될 수 있는 것이다.In this way, when decapsulating data encapsulated and received from a third application (App3) of an external system, the network chaining information (App4) set for the data can be checked, and accordingly, decapsulation The processed data (data processed by the third application) can be transmitted to the fourth application (App4), which is the next connection order in the internal system, according to the instructions of the network chaining information (App4).

또한, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제4어플리케이션(App4)에서 처리된 데이터를 제6어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제5어플리케이션(App5)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.In addition, in the process of transferring data processed by the fourth application (App4) to the sixth application (App4) according to the connection order between the applications (App1, App2, App4, App6) of the internal system, the fifth application (App5) of the external system ) can be assumed to require data transmission.

이 경우, 제4어플리케이션(App4)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제6어플리케이션(App6)을 지시하기 위한 네트워크체이닝정보(App6)가 설정된다.In this case, network chaining information (App6) is set in the data processed by the fourth application (App4) to indicate the sixth application (App6), which is the next connection order in the internal system.

이와 관련하여, 제4어플리케이션(App4)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App6)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP2)되어 제5어플리케이션(App5)으로 전달되고, 제5어플리케이션(App5)에서 처리된 데이터는 다시 제5어플리케이션(App5)에서 인캡슐레이션되어 내부 시스템으로 수신된다.In this regard, the data processed in the fourth application (App4) is encapsulated (destination address: IP2) and delivered to the fifth application (App5) to maintain the network chaining information (App6) set in the data as is, Data processed in the fifth application (App5) is encapsulated again in the fifth application (App5) and received into the internal system.

이처럼, 외부 시스템의 제5어플리케이션(App3)으로부터 인캡슐레이션되어 수신되는 데이터를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App6)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제5어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제6어플리케이션(App6)으로 전달될 수 있는 것이다.In this way, when decapsulating data encapsulated and received from the fifth application (App3) of an external system, the network chaining information (App6) set for the data can be checked, and accordingly, decapsulation The processed data (data processed by the fifth application) can be transmitted to the sixth application (App6), which is the next connection order in the internal system, according to the instructions of the network chaining information (App4).

나아가, 제6어플리케이션(App6)에서 처리된 데이터는, 내부 시스템과 외부 시스템이 연계된 어플리케이션(App1, App2, App3, App4, App5, App6) 간의 데이터 처리 완료에 따라 목적지(Sinker)로 전달되고 있음을 확인할 수 있다.Furthermore, the data processed in the sixth application (App6) is delivered to the destination (Sinker) upon completion of data processing between applications (App1, App2, App3, App4, App5, App6) linked to the internal system and external system. can confirm.

한편, 본 발명의 일 실시예에서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보의 경우, 예컨대, 멀티프로토콜 라벨 스위칭(MPLS, Multiprotocol Label Switching) 기술과 관련하여, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 데이터의 헤더(Header) 필드에 추가되는 라벨의 형태로 구현될 수 있다.Meanwhile, in one embodiment of the present invention, in the case of network chaining information set in data to define the connection order between applications (App1, App2, App4, App6) in the internal system, for example, multiprotocol label switching (MPLS, Multiprotocol Label Switching technology, in the form of a label added to the header field of the data to indicate the application of each connection order according to the connection order defined between applications (App1, App2, App4, App6) in the internal system. It can be implemented.

이를 위해서, 획득부(130)는 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득할 수 있다.To this end, the acquisition unit 130 can acquire network chaining information from data received from an external source.

이와 관련하여, 처리부(120)는 라벨이 지시하는 바에 따라 출발지(External Source)로부터 수신되는 데이터를 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지(Sinker)로 전달할 수 있다.In this regard, the processing unit 120 delivers data received from the source (External Source) to a specific application within the internal system as instructed by the label, and the data processed by the specific application is connected to the next neighbor of the specific application. It is delivered to another application in order, and when data processing is completed between applications in the internal system, the processed data can be delivered to the destination (sinker).

이 과정에서, 처리부(120)는 이러한 데이터 전달 과정에서 출발지(External Source)로부터 수신되는 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하게 된다.In this process, the processing unit 120 transfers data received from an external source to the input port of the specific application during this data transfer process, and data processed in the specific application is transferred from the output port of the specific application. It is acquired and delivered to the input port of the other application.

예를 들어, 도 6 (a)에서와 같이 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.For example, as shown in Figure 6 (a), if the label added to the header field of the data indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), respectively, Data received from the source (External Source) is delivered to the input port of the first application (App1), and data processed in the first application (App1) is transferred from the output port of the first application (App1) to the second application (App2). Data processed in the second application (App2) is transmitted from the output port of the second application (App2) to the input port of the third application (App3), and the data processed in the third application (App3) is transmitted to the input port of the second application (App2). Data can be transmitted from the output port of the third application (App3) to the destination (Sinker).

이처럼, 본 발명의 일 실시예에서는 어플리케이션(App1, App2, App3) 간 데이터 전달이 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 수행되고 있음을 확인할 수 있는데, 이를 통해 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 입력 포트로 수신되는 데이터 처리 후 출력 포트로 처리된 데이터를 내보내는 동작만이 요구되므로, 어플리케이션의 구현 로직을 최소화시킬 수 있다.As such, in one embodiment of the present invention, it can be confirmed that data transfer between applications (App1, App2, App3) is performed on a separate network from the applications (App1, App2, App3), through which the applications (App1, The connection combination between App2, App3) and the resulting data flow can be changed dynamically without delay. Additionally, at the application (App1, App2, App3) level, the data received through the input port is processed and the processed data is exported to the output port. Since only the application is required, the implementation logic of the application can be minimized.

또한, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보의 경우, 예컨대, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소의 형태로 구현될 수 있다.In addition, in the case of network chaining information set in data to define the connection order between applications (App1, App2, App4, App6) within the internal system, for example, the network chaining information defined between applications (App1, App2, App4, App6) within the internal system It can be implemented in the form of a MAC address for each application that is updated with the destination MAC address of the data to indicate the application of each connection order according to the connection order.

여기서, 어플리케이션 별 MAC 주소는, 가상 자원의 트래픽 전달을 위해서 생성되는 가상 포트의 MAC 주소에 해당될 수 있다.Here, the MAC address for each application may correspond to the MAC address of the virtual port created for traffic delivery of virtual resources.

이와 관련하여, 처리부(120)는 라벨이 지시하는 바에 따라 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지(Sinker)로 전달할 수 있다.In this regard, the processing unit 120 sets the destination MAC address of the data received from the source (External Source) as the MAC address of a specific application according to the indication of the label, transmits it to the specific application, and transmits the data received from the external source to the specific application. For data, the destination MAC address is updated with the MAC address of another application in the next connection order next to the specific application and delivered to the other application. When data processing is completed between applications within the internal system, the processed data is returned. It can be delivered to the destination (sinker).

이 과정에서, 처리부(120)는 이러한 데이터 전달 과정에서 출발지(External Source)로부터 수신되는 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하게 된다.In this process, the processing unit 120 transfers data received from an external source to the input port of the specific application during this data transfer process, and data processed in the specific application is transferred from the output port of the specific application. It is acquired and delivered to the input port of the other application.

예를 들어, 도 6 (b)에서와 같이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서가 요구되는 경우, 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 제1어플리케이션의 MAC 주소로 설정하여 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 목적지 MAC 주소를 제2어플리케이션(App2)의 MAC 주소로 갱신하여 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 목적지 MAC 주소를 제3어플리케이션(App3)의 MAC 주소로 갱신하여 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.For example, as shown in Figure 6 (b), when the connection order of the first application (App1), the second application (App2), and the third application (App3) is required, the data received from the source (External Source) The destination MAC address is set to the MAC address of the first application and transmitted to the input port of the first application (App1), and the data processed by the first application (App1) is changed from the destination MAC address to the MAC address of the second application (App2). is updated and transmitted from the output port of the first application (App1) to the input port of the second application (App2), and the data processed by the second application (App2) changes the destination MAC address to the MAC address of the third application (App3). It is updated and transmitted from the output port of the second application (App2) to the input port of the third application (App3), and the data processed in the third application (App3) is transferred from the output port of the third application (App3) to the destination (Sinker). ) can be transmitted.

이처럼, 본 발명의 일 실시예에서는 어플리케이션(App1, App2, App3) 간 데이터 전달이 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 수행되고 있음을 확인할 수 있는데, 이를 통해 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 입력 포트로 수신되는 데이터 처리 후 출력 포트로 처리된 데이터를 내보내는 동작만이 요구되므로, 어플리케이션의 구현 로직을 최소화시킬 수 있다.As such, in one embodiment of the present invention, it can be confirmed that data transfer between applications (App1, App2, App3) is performed on a separate network from the applications (App1, App2, App3), through which the applications (App1, The connection combination between App2, App3) and the resulting data flow can be changed dynamically without delay. Additionally, at the application (App1, App2, App3) level, the data received through the input port is processed and the processed data is exported to the output port. Since only the application is required, the implementation logic of the application can be minimized.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 구성에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션(App3, App5)과 연계한 데이터 처리를 가능하게 하므로, 어플리케이션의 로직 변경 없이도 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있음을 알 수 있다.As seen above, according to the configuration of the network data chaining device 100 according to an embodiment of the present invention, chaining technology to build one network by combining virtual resource-based applications in a determined connection order, In relation to this, when a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system, the chaining method of the internal system set in the data is used through L3-based encapsulation. Since it is possible to process data linked to the external system's applications (App3, App5) while maintaining the same status, the internal system's applications (App1, App2, App4, App6) and external system's applications (App3, App5) can be processed without changing the logic of the application. ) It can be seen that the combination of connections and the resulting data flow can be dynamically changed.

이하에서는, 도 7을 참조하여 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(20)의 동작 방법을 설명하기로 한다.Hereinafter, a method of operating the network data chaining device 20 according to an embodiment of the present invention will be described with reference to FIG. 7.

먼저, 확인부(110)는 출발지(External)로부터의 데이터 수신에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인한다(S110-S120).First, the confirmation unit 110 checks whether a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system according to data reception from the source (External). Do it (S110-S120).

이때, 확인부(110)는 네트워크 구축을 위해 정의되는 설정 값으로부터 네트워크 구축에 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인할 수 있다.At this time, the confirmation unit 110 determines whether a connection is required between the applications (App1, App2, App4, App6) of the internal system and the application applications (App3, App5) of the external system for network construction based on the setting values defined for network construction. You can check.

이처럼, 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구된다는 것은, 출발지(External Source)로부터 수신된 데이터가 내부 시스템의 제1어플리케이션(App1)과 제2어플리케이션(App2)을 거쳐 처리된 데이터가 외부 시스템의 제3어플리케이션(App3)으로 전달되어야 하고, 제3어플리케이션(App3)에서 처리된 데이터는 다시 내부 시스템의 제4어플리케이션(App4)에서의 처리를 거쳐 외부 시스템의 제5어플리케이션(App5) 그리고 내부 시스템의 제6어플리케이션(App6)의 처리 과정을 순차적으로 거친 후 목적지(Sinker)로 전달되어야 한다는 것으로 이해될 수 있다.In this way, a connection is required between the applications (App1, App2, App4, App6) and the applications (App3, App5) of the external system, meaning that the data received from the source (External Source) is connected to the first application (App1) of the internal system. Data processed through the second application (App2) must be transferred to the third application (App3) of the external system, and data processed by the third application (App3) must be processed again by the fourth application (App4) of the internal system. It can be understood that it must be delivered to the destination (Sinker) after sequentially processing the fifth application (App5) of the external system and the sixth application (App6) of the internal system.

이어서, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 연결이 요구되는 경우, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 외부 시스템의 어플리케이션(App3, App5)으로 전달한다(S130-S140).Next, when a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system, the processing unit 120 connects the applications (App1, App2, App4, App6) of the internal system. The processed data is delivered to each application (App1, App2, App4, App6) according to the connection order, and then delivered to the applications (App3, App5) of the external system (S130-S140).

이때, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 인캡슐레이션(Encapsulation)한 후 외부 시스템의 어플리케이션(App3, App5)으로 전송할 수 있다.At this time, the processing unit 120 encapsulates the data transmitted and processed to each application (App1, App2, App4, App6) according to the connection order between the applications (App1, App2, App4, App6) of the internal system. It can then be transferred to an external system application (App3, App5).

이는, 내부 시스템의 체이닝 방식을 그대로 유지시키기 위한 방안으로서, 인캡슐레이션을 통해서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보를 보호하기 위함이다.This is a way to maintain the chaining method of the internal system as is, and protect the network chaining information set in the data to define the connection order between applications (App1, App2, App4, App6) in the internal system through encapsulation. It is for this purpose.

예를 들어, 앞서 예시한 도 5에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제2어플리케이션(App2)에서 처리된 데이터를 제4어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제3어플리케이션(App3)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.For example, as shown in FIG. 5 above, data processed in the second application (App2) is transmitted to the fourth application (App4) according to the connection order between the applications (App1, App2, App4, and App6) of the internal system. In the process, it can be assumed that data transmission to a third application (App3) of an external system is required.

이 경우, 제2어플리케이션(App2)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제4어플리케이션(App4)을 지시하기 위한 네트워크체이닝정보(App4)가 설정된다.In this case, network chaining information (App4) is set in the data processed by the second application (App2) to indicate the fourth application (App4), which is the next connection order in the internal system.

이와 관련하여, 제2어플리케이션(App2)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App4)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP1)되어 제3어플리케이션(App3)으로 전달될 수 있다.In this regard, the data processed in the second application (App2) can be encapsulated (destination address: IP1) and transmitted to the third application (App3) in order to maintain the network chaining information (App4) set in the data as is. there is.

또한, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제4어플리케이션(App4)에서 처리된 데이터를 제6어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제5어플리케이션(App5)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.In addition, in the process of transferring data processed by the fourth application (App4) to the sixth application (App4) according to the connection order between the applications (App1, App2, App4, App6) of the internal system, the fifth application (App5) of the external system ) can be assumed to require data transmission.

이 경우, 제4어플리케이션(App4)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제6어플리케이션(App6)을 지시하기 위한 네트워크체이닝정보(App6)가 설정된다.In this case, network chaining information (App6) is set in the data processed by the fourth application (App4) to indicate the sixth application (App6), which is the next connection order in the internal system.

이와 관련하여, 제4어플리케이션(App4)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App6)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP2)되어 제5어플리케이션(App5)으로 전달될 수 있다.In this regard, the data processed in the fourth application (App4) can be encapsulated (destination address: IP2) and delivered to the fifth application (App5) in order to maintain the network chaining information (App6) set in the data as is. there is.

나아가, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터는 다시 내부 시스템의 나머지 연결 순서에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)에 전달하여 처리될 수 있도록 한다(S150-180). Furthermore, the processing unit 120 transfers the data processed in the applications (App3, App5) of the external system to the applications (App1, App2, App4, App6) of the internal system according to the remaining connection order of the internal system so that they can be processed. Do it (S150-180).

이때, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터가 외부 시스템의 어플리케이션(App3, App5)으로부터 인캡슐레이션되어 수신되는 경우, 해당 데이터의 디캡슐레이션(Decapsulation) 시 데이터로부터 확인되는 네트워크체이닝정보에 따라 디캡슐레이션된 데이터를 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 할 수 있다.At this time, when the data processed in the application (App3, App5) of the external system is encapsulated and received from the application (App3, App5) of the external system, the processing unit 120 performs decapsulation of the data. According to the network chaining information confirmed from the decapsulated data, the decapsulated data can be transmitted to the application in the next connection order within the internal system to be processed.

예를 들어, 앞서 예시한 도 5에서와 같이, 제3어플리케이션(App3)에서 처리된 데이터가 인캡슐레이션되어 내부 시스템으로 수신됨에 따라 이를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App4)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제3어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제4어플리케이션(App4)으로 전달될 수 있는 것이다.For example, as shown in Figure 5 above, when the data processed by the third application (App3) is encapsulated and received into the internal system, the network chaining set for the data is decapsulated. You can check the information (App4), and according to this, the decapsulated data (data processed by the third application) is transferred to the fourth application (App4), which is the next connection order in the internal system according to the instructions of the network chaining information (App4). ) can be transmitted.

또한, 제5어플리케이션(App5)에서 처리된 데이터가 인캡슐레이션되어 내부 시스템으로 수신됨에 따라 이를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App6)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제5어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제6어플리케이션(App6)으로 전달될 수 있는 것이다.In addition, when the data processed by the fifth application (App5) is encapsulated and received into the internal system and decapsulated, the network chaining information (App6) set for the data can be checked, and accordingly, , the decapsulated data (data processed in the fifth application) can be transmitted to the sixth application (App6), which is the next connection order in the internal system, as instructed by the network chaining information (App4).

이후, 처리부(1200는 어플리케이션(App1, App2, App3, App4, App5, App6) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달한다(S190-S200).Afterwards, when data processing between applications (App1, App2, App3, App4, App5, and App6) is completed, the processing unit 1200 transfers the processed data to the destination (Sinker) (S190-S200).

예를 들어, 앞서 예시한 도 5에서와 같이, 제6어플리케이션(App6)에서 처리된 데이터는, 내부 시스템과 외부 시스템이 연계된 어플리케이션(App1, App2, App3, App4, App5, App6) 간의 데이터 처리 완료에 따라 목적지(Sinker)로 전달되고 있음을 확인할 수 있다.For example, as shown in FIG. 5, the data processed by the sixth application (App6) is processed between the applications (App1, App2, App3, App4, App5, App6) linked to the internal system and the external system. Upon completion, you can confirm that it is being delivered to the destination (Sinker).

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션(App3, App5)과 연계한 데이터 처리를 가능하게 하므로, 어플리케이션의 로직 변경 없이도 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있음을 알 수 있다.As discussed above, according to the operating method of the network data chaining device 100 according to an embodiment of the present invention, chaining technology is used to build one network by combining virtual resource-based applications in a determined connection order. In relation to this, when a connection between the internal system's applications (App1, App2, App4, App6) and the external system's applications (App3, App5) is required, the internal system's chaining method set in the data through L3-based encapsulation Since it is possible to process data in connection with the external system's applications (App3, App5) while maintaining the same, the internal system's applications (App1, App2, App4, App6) and the external system's applications (App3, App3, It can be seen that the connection combination between App5) and the resulting data flow can be dynamically changed.

한편, 본 발명의 일 실시예에 따른 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the operating method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments so far, the present invention is not limited to the above-described embodiments, and the technical field to which the present invention pertains without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will recognize that the technical idea of the present invention extends to the extent that various changes or modifications can be made.

본 발명에 따른 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the network data chaining device and the operating method of the network data chaining device according to the present invention, in relation to chaining technology that builds one network by combining virtual resource-based applications in a specified connection order, the application of the internal system In that the combination of connections between applications and external systems and the resulting data flow can be dynamically changed, by going beyond the limits of existing technology, there is sufficient potential for marketing or sales of the applied device as well as the use of related technology. In addition, it is an invention that has industrial applicability because it can be clearly implemented in reality.

100: 네트워크데이터체이닝장치
110: 확인부 120: 처리부
130: 획득부
100: Network data chaining device
110: confirmation unit 120: processing unit
130: Acquisition department

Claims (9)

가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인부; 및
상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하며, 상기 외부 시스템과의 연결 시 상기 네트워크체이닝정보를 보호하기 위해, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리부를 포함하며,
상기 처리부는,
상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 네트워크체이닝정보의 보호를 위해 인캡슐레이션되어 상기 외부 시스템의 어플리케이션으로부터 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 하는 네트워크데이터체이닝장치.
In relation to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, a confirmation unit that confirms that a connection is required between the application of the internal system and the application of the external system; and
Network chaining information that defines the connection order between applications within the internal system is set in data, and in order to protect the network chaining information when connected to the external system, the data in which the network chaining information is set is encapsulated. ) and a processing unit that transmits it to the application of the external system,
The processing unit,
When the data processed in the application of the external system is encapsulated to protect the network chaining information and received from the application of the external system, the network chaining information confirmed from the data during decapsulation A network data chaining device, characterized in that the data is transmitted to the application in the next connection order within the internal system to be processed.
제 1 항에 있어서,
상기 네트워크데이터체이닝장치는,
가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부를 더 포함하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network data chaining device,
A network data chaining device, characterized in that it further includes an acquisition unit that obtains network chaining information about network resources that are combined in the connection order of each virtual resource-based application from data.
제 1 항에 있어서,
상기 네트워크체이닝정보는,
상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며,
상기 처리부는,
상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network chaining information is,
Contains a label added to the header field of the data to indicate the application of each connection order according to the connection order defined between applications in the internal system,
The processing unit,
Data received from the source is delivered to a specific application in the internal system according to the label's instructions, and data processed in the specific application is transferred to another application that is next to the specific application in the connection order, and the internal system A network data chaining device characterized in that when data processing is completed between applications, the processed data is delivered to the destination.
제 1 항에 있어서,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리부는,
출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network chaining information is,
Contains a MAC address for each application that is updated as the destination MAC address of the data to indicate the application in each connection order according to the connection order defined between applications in the network,
The processing unit,
The destination MAC address of data received from the source is set to the MAC address of a specific application in the internal system and delivered to the specific application. For data processed in the specific application, the destination MAC address is set as a neighbor to the specific application. A network data chaining device characterized in that it updates the MAC address of another application in the connection order and delivers it to the other application, and when data processing is completed between applications in the internal system, the processed data is delivered to the destination.
가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하며, 상기 외부 시스템과의 연결 시 상기 네트워크체이닝정보를 보호하기 위해, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 포함하며,
상기 처리단계는,
상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 네트워크체이닝정보의 보호를 위해 인캡슐레이션되어 상기 외부 시스템의 어플리케이션으로부터 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
In relation to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, network chaining information that defines the connection order between applications in the internal system and applications in the external system is set in the data. , In order to protect the network chaining information when connected to the external system, it includes a processing step of encapsulating the data in which the network chaining information is set and transmitting it to the application of the external system,
The processing step is,
When the data processed in the application of the external system is encapsulated to protect the network chaining information and received from the application of the external system, the network chaining information confirmed from the data during decapsulation A method of operating a network data chaining device, characterized in that the data is transmitted to the application in the next connection order within the internal system to be processed.
제 5 항에 있어서,
상기 방법은,
가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계를 더 포함하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 5,
The method is:
A method of operating a network data chaining device, further comprising an acquisition step of acquiring network chaining information about network resources in which each virtual resource-based application is combined in connection order from data.
제 5 항에 있어서,
상기 네트워크체이닝정보는,
상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며,
상기 처리단계는,
상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 5,
The network chaining information is,
Contains a label added to the header field of the data to indicate the application of each connection order according to the connection order defined between applications in the internal system,
The processing step is,
Data received from the source is delivered to a specific application in the internal system according to the label's instructions, and data processed in the specific application is transferred to another application that is next to the specific application in the connection order, and the internal system A method of operating a network data chaining device, characterized in that when data processing is completed between my applications, the processed data is delivered to the destination.
제 5 항에 있어서,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리단계는,
출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 5,
The network chaining information is,
Contains a MAC address for each application that is updated as the destination MAC address of the data to indicate the application in each connection order according to the connection order defined between applications in the network,
The processing step is,
The destination MAC address of data received from the source is set to the MAC address of a specific application in the internal system and delivered to the specific application. For data processed in the specific application, the destination MAC address is set as a neighbor to the specific application. The operation of a network data chaining device characterized in that the MAC address of another application in the connection order is updated and delivered to the other application, and when data processing is completed between applications in the internal system, the processed data is delivered to the destination. method.
하드웨어와 결합되어, 제 5 항 내지 제 8 항 중 어느 한 항의 각 단계를 실행시키기 위해 컴퓨터 판독 가능 비 일시적 기록 매체에 저장된 컴퓨터 프로그램.A computer program combined with hardware and stored in a computer-readable non-transitory recording medium to execute each step of any one of claims 5 to 8.
KR1020210142898A 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof KR102633569B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210142898A KR102633569B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210142898A KR102633569B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Publications (2)

Publication Number Publication Date
KR20230058974A KR20230058974A (en) 2023-05-03
KR102633569B1 true KR102633569B1 (en) 2024-02-02

Family

ID=86380498

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210142898A KR102633569B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Country Status (1)

Country Link
KR (1) KR102633569B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261814B2 (en) * 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
KR101841026B1 (en) * 2016-02-29 2018-03-23 고려대학교 산학협력단 Service function chaining network system for path optimization
KR102071031B1 (en) * 2018-06-28 2020-01-29 한국전자통신연구원 Method and apparatus for providing service chaining in cloud environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same

Also Published As

Publication number Publication date
KR20230058974A (en) 2023-05-03

Similar Documents

Publication Publication Date Title
CN110506411B (en) Method and system for providing packet enforcement using logical ports in a virtualized computing environment
CN110313163B (en) Load balancing in distributed computing systems
US9942131B2 (en) Multipathing using flow tunneling through bound overlay virtual machines
CN110022264B (en) Method for controlling network congestion, access device and computer readable storage medium
EP2880550B1 (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
US20200007472A1 (en) Service insertion in basic virtual network environment
CN109412922B (en) Method, forwarding device, controller and system for transmitting message
CN112153049A (en) Intrusion detection method and device
CN103346900A (en) Route configuration method and gateway after thermal migration of virtual machine in large two-layer network
KR102383782B1 (en) Tunnel data update process method of data communication
JP2023543831A (en) Microservices-based service mesh system and service-oriented architecture management method
CN110417632B (en) Network communication method, system and server
CN113595927A (en) Method and device for processing mirror flow in bypass mode
KR102633569B1 (en) Network data chaining apparatus, and control method thereof
CN110995829B (en) Instance calling method and device and computer storage medium
KR102567132B1 (en) Network data chaining apparatus, and control method thereof
US11604670B2 (en) Virtual machine live migration method, apparatus, and system
KR102633575B1 (en) Network data chaining apparatus, and control method thereof
US9621686B2 (en) Identifying reset source and reason in a TCP session
US11005767B2 (en) Method, device and computer program product for data processing
CN111147520B (en) Information processing method and device executed by firewall
CN113810425B (en) Parallel network transmission method, device, equipment and storage medium
CN114363294B (en) Management method, device and system of tenant server
CN109587027B (en) Message forwarding method and device
US9942141B2 (en) Data communication method between a roaming radio equipment item and a network access gateway

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