[go: up one dir, main page]

KR101501242B1 - Method, device and computer-readable recording medium for aggregating network based on openflow - Google Patents

Method, device and computer-readable recording medium for aggregating network based on openflow Download PDF

Info

Publication number
KR101501242B1
KR101501242B1 KR20140063255A KR20140063255A KR101501242B1 KR 101501242 B1 KR101501242 B1 KR 101501242B1 KR 20140063255 A KR20140063255 A KR 20140063255A KR 20140063255 A KR20140063255 A KR 20140063255A KR 101501242 B1 KR101501242 B1 KR 101501242B1
Authority
KR
South Korea
Prior art keywords
user terminal
network
address
host
networks
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR20140063255A
Other languages
Korean (ko)
Inventor
정병화
장동호
이경헌
Original Assignee
주식회사 파이오링크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이오링크 filed Critical 주식회사 파이오링크
Priority to KR20140063255A priority Critical patent/KR101501242B1/en
Application granted granted Critical
Publication of KR101501242B1 publication Critical patent/KR101501242B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution

Landscapes

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

Abstract

본 발명의 일 태양에 따르면, 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 방법으로서, (a) 오픈플로우 컨트롤러(Controller)가, 호스트(Host)와 통신하고자 하는 사용자 단말 장치의 가입자 정보를 참조로 하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하는 단계, 및 (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치 및 상기 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 단계를 포함하는 방법이 제공된다. 본 발명에 의하면, 오픈플로우 컨트롤러가 오픈플로우 스위치에 적용되는 플로우 룰(Flow Rule)을 제어하는 것만으로도 네트워크에 걸리는 트래픽 부하를 감소시키고 통신 속도를 향상시킬 수 있게 되는 효과가 달성된다.According to an aspect of the present invention, there is provided a method for merging a network based on an open flow (OpenFlow), the method comprising the steps of: (a) receiving, by an open flow controller, subscriber information of a user terminal device Identifying a network having a privilege or a function to which the user terminal device can be connected with reference to the network; and (b) The data traffic generated between the user terminal and the host controls a flow rule to be applied to the open flow switch of the user terminal device A network that is distributed over at least two types of networks, The method is provided comprising a. According to the present invention, it is possible to reduce the traffic load on the network and improve the communication speed by merely controlling the flow rule applied to the open flow switch.

Figure R1020140063255
Figure R1020140063255

Description

오픈플로우에 기반하여 네트워크를 병합하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체{METHOD, DEVICE AND COMPUTER-READABLE RECORDING MEDIUM FOR AGGREGATING NETWORK BASED ON OPENFLOW}[0001] METHOD, DEVICE AND COMPUTER READABLE RECORDING MEDIUM FOR AGGREGATING NETWORK BASED ON OPENFLOW [0002] METHOD, APPARATUS AND COMPUTER READABLE RECORDING MEDIUM [

본 발명은 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 호스트(Host)와 통신하는 사용자 단말 장치의 가입자 정보를 참조로 하여 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하고, 사용자 단말 장치 및 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써 사용자 단말 장치 및 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method, apparatus and computer-readable recording medium for merging networks based on open flow (OpenFlow). More specifically, the present invention relates to a method and apparatus for merging networks by referring to subscriber information of a user terminal device communicating with a host A flow rule which is applied to at least one open flow switch existing on the communication path between the user terminal and the host, A method and apparatus for distributing and transmitting data traffic generated between a user terminal device and a host through at least two kinds of networks among a network having an authority or a function to which a user terminal device can be connected, And a computer readable recording medium.

최근 통신시장의 이슈로 급부상한 소프트웨어 정의 네트워크(SDN: Software Defined Network)는 소프트웨어 프로그래밍을 통해 네트워크 경로 설정 및 제어를 비롯한 복잡한 운용 관리를 편리하게 처리할 수 있는 차세대 네트워킹 기술이다. 이를 위해 SDN에서는 네트워크의 데이터 평면(data plane)과 제어 평면(control plane)을 분리하고 이 사이에 표준화된 인터페이스를 제공하며, 네트워크 운용자가 여러 상황에 맞추어 제어 평면을 프로그래밍함으로써 데이터 평면에서 이루어지는 통신 기능을 다양한 방식으로 제어할 수 있다.Software Defined Network (SDN) is a next-generation networking technology that can easily handle complex operation management including network routing and control through software programming. For this purpose, SDN separates the data plane and control plane of the network and provides a standardized interface between them. By programming the control plane according to various situations, Can be controlled in various ways.

종래의 인터넷 벤더의 라우터(스위치)는 제어 평면, 데이터 평면 및 관리 기능을 비롯한 여타 응용 기능들을 모두 하드웨어 제품 내에 내장하고 있으며, 그 설정 방법도 각 벤더마다 다르게 정의되어 있다. 이러한 라우터에서 사용하는 프로토콜들은 IETF를 비롯한 표준화 단체에 의해 결정되므로 네트워크 운용자가 필요로 하는 특수한 기능을 만들어 넣을 여지가 없다. 또한, 벤더의 프로토타입 구현과 기존의 다양한 장치들과의 호환성 시험을 위해서는 적지 않은 시간과 비용이 소요된다. 이러한 문제들을 해소하기 위한 기술로 연구되어 온 기술이 오픈플로우(OpenFlow)이다.Conventional Internet vendors routers (switches) have built in hardware products, including control plane, data plane, and management functions, and their setting methods are defined differently for each vendor. The protocols used by these routers are determined by the IETF and other standards bodies, so there is no room for special functions required by network operators. In addition, it takes a considerable amount of time and money to implement the prototype of the vendor and to test compatibility with various existing devices. OpenFlow is the technology that has been studied to solve these problems.

오픈플로우 기술을 이용하면, 기존의 네트워크에서 구성할 수 없던 정교하고도 맞춤화된 경로를 구성할 수 있으므로, 트래픽 패턴의 변화에 효과적으로 대처할 수 있고 가상 머신(VM: Virtual Machine)의 생성, 삭제 또는 이동이 빈번해지는 클라우드 환경에서 필요한 가상 네트워크를 빠르게 구성할 수 있다는 장점이 있다. 또한, 오픈플로우 기술을 이용하면, 종래의 벤더 별로 달리 정의된 복잡하고도 다양한 설정에 얽매일 필요 없이 네트워크 하부의 멀티벤더 장치들을 통합적으로 제어할 수 있게 되는 장점이 있다. 나아가, 오픈플로우 기술은 네트워크 운용자가 소프트웨어를 이용하여 네트워크를 제어하는 기술이므로, 오픈플로우 기술을 이용하면 각 네트워크 운용자가 원하는 정교하고도 맞춤화된 정책을 네트워크에 쉽게 반영시킬 수 있게 되는 장점이 있다.With open flow technology, it is possible to construct a sophisticated and customized path that can not be configured in existing networks, so that it can cope with changes in traffic patterns effectively and can create, delete, or move virtual machines (VMs) The advantage of this is that you can quickly configure the virtual networks you need in a cloud environment. In addition, with the use of the open flow technology, it is possible to integrally control the multi-vendor devices under the network without being entangled with the complicated and various settings defined differently from the conventional vendors. Furthermore, since the open flow technology is a technology in which a network operator controls the network using software, the open flow technology has an advantage that it can easily reflect the sophisticated and customized policies desired by each network operator in the network.

이에, 본 발명자는, 오픈플로우를 기반으로 하여 사용자 단말 장치(특히, 모바일 단말 장치)가 연결되는 네트워크를 동적으로 병합할 수 있는 기술을 개발하기에 이르렀다.Accordingly, the present inventor has developed a technique capable of dynamically merging a network to which a user terminal device (particularly, a mobile terminal device) is connected based on an open flow.

본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.It is an object of the present invention to solve all the problems described above.

또한, 본 발명은 호스트(Host)와 통신하는 사용자 단말 장치의 가입자 정보를 참조로 하여 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하고, 사용자 단말 장치 및 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써 사용자 단말 장치 및 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 함으로써, 사용자 단말 장치가 연결될 수 있는 여러 종류의 복수의 네트워크를 동시에 활용하여 대역폭(Bandwidth)을 실질적으로 확장시키는 것을 다른 목적으로 한다.The present invention also provides a method for identifying a network having a right or a function to which a user terminal can connect by referring to subscriber information of a user terminal device communicating with a host, By controlling a flow rule applied to at least one open flow switch existing in the user terminal device and the host, data traffic generated between the user terminal device and the host is controlled by the authority or function The present invention has another object to substantially extend the bandwidth by simultaneously utilizing a plurality of types of networks to which a user terminal can be connected.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.

본 발명의 일 태양에 따르면, 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 방법으로서, (a) 오픈플로우 컨트롤러(Controller)가, 호스트(Host)와 통신하는 사용자 단말 장치의 가입자 정보를 참조로 하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하는 단계, 및 (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치 및 상기 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 단계를 포함하는 방법이 제공된다.According to an aspect of the present invention, there is provided a method for merging a network based on an open flow (OpenFlow), comprising the steps of: (a) the open flow controller refers to subscriber information of a user terminal device communicating with a host Identifying a network having an authority or function to which the user terminal device can be connected, and (b) the open flow controller is operable to determine at least one By controlling a flow rule applied to an open flow switch, data traffic generated between the user terminal and the host has an authority or function to connect the user terminal A step of distributing and transmitting through at least two types of networks This method is provided.

본 발명의 다른 태양에 따르면, 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 방법으로서, (a) 오픈플로우 스위치(Switch)가, 자신과 연결되어 있는 적어도 하나의 네트워크의 기지국에 사용자 단말 장치가 연결되면, 상기 사용자 단말 장치에 관한 정보를 오픈플로우 컨트롤러(Controller)에게 전송하는 단계, 및 (b) 상기 오픈플로우 스위치가, 상기 오픈플로우 컨트롤러로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 상기 사용자 단말 장치 및 상기 사용자 단말 장치와 통신하는 호스트(Host) 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 단계를 포함하는 방법이 제공된다.According to another aspect of the present invention, there is provided a method for merging networks based on OpenFlow, the method comprising the steps of: (a) providing an open flow switch to a base station of at least one network, (B), the open flow switch transmits information on a flow rule transmitted from the open flow controller to the open flow controller And a network in which data traffic generated between the user terminal and a host communicating with the user terminal includes a right or a function to which the user terminal can be connected, And distributing the data over the network.

본 발명의 또 다른 태양에 따르면, 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 장치로서, 호스트(Host)와 통신하는 사용자 단말 장치의 가입자 정보를 획득하는 단말 정보 수집부, 및 상기 사용자 단말 장치의 가입자 정보를 참조로 하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하고, 상기 사용자 단말 장치 및 상기 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 네트워크 제어부를 포함하는 장치가 제공된다.According to another aspect of the present invention, there is provided an apparatus for merging networks based on Open Flow, the apparatus comprising: a terminal information collecting unit for acquiring subscriber information of a user terminal device communicating with a host; The method comprising the steps of: identifying a network having an authority or a function to which the user terminal can be connected with reference to the subscriber information of the apparatus, and identifying at least one open flow switch The data traffic generated between the user terminal device and the host is controlled by a flow rule applied to at least two of the networks having the authority or function to connect the user terminal device Network control that is distributed over a network of types An apparatus is provided.

본 발명의 또 다른 태양에 따르면, 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 장치로서, 자신과 연결되어 있는 적어도 하나의 네트워크의 기지국에 사용자 단말 장치가 연결되면, 상기 사용자 단말 장치에 관한 정보를 오픈플로우 컨트롤러(Controller)에게 전송하는 단말 정보 모니터링부, 및 상기 오픈플로우 컨트롤러로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 상기 사용자 단말 장치 및 상기 사용자 단말 장치와 통신하는 호스트(Host) 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 플로우 처리부를 포함하는 장치가 제공된다.According to another aspect of the present invention, there is provided an apparatus for merging networks based on OpenFlow, wherein when a user terminal device is connected to a base station of at least one network connected to the network, And a flow rule (Flow Rule) transmitted from the open flow controller to the host terminal, and transmits the information to the host terminal And a flow processor for distributing and transmitting data traffic generated between the user terminal and the host through at least two kinds of networks among the networks having the authority or the function to which the user terminal can be connected, do.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, there is further provided a computer readable recording medium for recording a computer program for executing the method and an apparatus and an apparatus for implementing the present invention.

본 발명에 의하면, 네트워크에 걸리는 트래픽(Traffic) 부하를 감소시키고 통신 속도를 향상시킬 수 있게 되는 효과가 달성된다.According to the present invention, it is possible to reduce the traffic load on the network and improve the communication speed.

또한, 본 발명에 의하면, 오픈플로우 컨트롤러(OpenFlow Controller) 및 오픈플로우 스위치(OpenFlow Switch)로 구성되는 오픈플로우 네트워크 기술을 이용하여 사용자 단말 장치 및 해당 사용자 단말 장치와 통신하는 호스트(Host) 사이의 통신 경로를 동적으로 제어할 수 있으므로, 오픈플로우 컨트롤러가 오픈플로우 스위치에 적용되는 플로우 룰(Flow Rule)을 제어하는 것만으로도 여러 종류의 복수의 네트워크를 동시에 활용할 수 있게 되는 효과가 달성된다.According to the present invention, communication between a user terminal device and a host communicating with the user terminal device using an open flow network technology including an open flow controller (OpenFlow Controller) and an open flow switch (OpenFlow Switch) Since the path can be dynamically controlled, the effect that the open flow controller can utilize plural kinds of networks simultaneously by controlling the flow rule applied to the open flow switch is achieved.

도 1은 본 발명에 따라 오픈플로우에 기반하여 네트워크를 병합하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 내부 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 오픈플로우 컨트롤러 및 오픈플로우 스위치에 의하여 관리되는 플로우 테이블의 구성을 예시적으로 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치가 연결되는 네트워크를 병합하는 과정을 예시적으로 나타내는 도면이다.
1 is a diagram schematically showing a configuration of an overall system for merging networks based on an open flow according to the present invention.
2 is a diagram illustrating an internal configuration of an open flow controller according to an embodiment of the present invention.
3 is a diagram exemplarily showing a configuration of a flow table managed by an open flow controller and an open flow switch according to an embodiment of the present invention.
4 is a diagram illustrating a process of merging a network to which a user terminal is connected according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

전체 시스템의 구성Configuration of the entire system

도 1은 본 발명에 따라 오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.1 is a diagram schematically showing a configuration of an overall system for merging networks based on OpenFlow according to the present invention.

본 명세서에서, 네트워크를 "병합"한다는 것은, 사용자 단말 장치가 접속할 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 활용하여 해당 사용자 단말 장치로부터의/로의 데이터 트래픽을 전송하는 것을 의미하는 것으로서 이해되어야 할 것이다.Herein, "merging" a network means transmitting data traffic to / from a corresponding user terminal by utilizing at least two kinds of networks among the networks having the authority or function to which the user terminal can access It should be understood as doing.

도 1에 도시되어 있는 바와 같이, 본 발명의 전체 시스템은 오픈플로우 컨트롤러(OpenFlow Controller)(100), 오픈플로우 스위치(OpenFlow Switch)(210 내지 260), 각종 네트워크의 기지국(310, 320, 330, 340), 적어도 하나의 사용자 단말 장치(410, 420), 각종 네트워크의 코어 네트워크(Core Network)(510, 520, 530), 공중 데이터 네트워크(600), 인터넷 서비스 제공자(ISP: Internet Service Provider)의 네트워크(700), 가입자 정보 관리 서버(800) 및 적어도 하나의 호스트(Host)(900)를 포함하여 구성될 수 있다.1, the overall system of the present invention includes an open flow controller 100, an open flow switch 210 to 260, base stations 310, 320, 330, A core network 510 of the various networks 510, 520 and 530, a public data network 600 and an Internet service provider (ISP) A network 700, a subscriber information management server 800, and at least one host (Host) 900.

먼저, 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100)는 호스트(900)와 통신하는 사용자 단말 장치(410, 420)의 가입자 정보를 참조로 하여 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하고, 사용자 단말 장치(410, 420) 및 호스트(900) 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(210 내지 260)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써 사용자 단말 장치(410, 420) 및 호스트(900) 사이에서 발생하는 데이터 트래픽(Data Traffic)이 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 함으로써, 사용자 단말 장치(410, 420)가 연결될 수 있는 여러 종류의 복수의 네트워크를 동시에 활용하여 대역폭(Bandwidth)을 실질적으로 확장시키는 기능을 수행한다.First, in accordance with an embodiment of the present invention, the open flow controller 100 refers to the subscriber information of the user terminal devices 410 and 420 that communicate with the host 900 and connects the user terminal devices 410 and 420 And a flow rule applied to at least one open flow switch 210-260 existing on the communication path between the user terminal device 410, 420 and the host 900 The data traffic generated between the user terminal devices 410 and 420 and the host 900 by controlling the flow rules may be transmitted to the user terminal devices 410 and 420, So that the user terminals 410 and 420 can simultaneously use a plurality of types of networks to which the user terminals 410 and 420 can be connected, and width) of the image.

다음으로, 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(210 내지 260)는 자신과 연결되어 있는 적어도 하나의 네트워크의 기지국(310 내지 340)에 사용자 단말 장치가 연결되면 해당 사용자 단말 장치(410, 420)에 관한 정보(즉, 해당 사용자 단말 장치(410, 420)의 식별 정보 또는 가입자 정보)를 오픈플로우 컨트롤러(100)에게 전송하고, 오픈플로우 컨트롤러(100)로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 사용자 단말 장치(410, 420) 및 사용자 단말 장치(410, 420)와 통신하는 호스트(900) 사이에서 발생하는 데이터 트래픽이 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 기능을 수행한다. 구체적으로, 본 발명의 일 실시예에 따른 오픈플로우 스위치(210 내지 260)는 위의 언급된 기능을 수행할 수 있는 내부 구성요소로서 단말 정보 모니터링부(미도시됨) 및 플로우 처리부(미도시됨)를 포함할 수 있다. 단말 정보 모니터링부는 자신과 연결되어 있는 적어도 하나의 네트워크의 기지국(310 내지 340)에 사용자 단말 장치(410, 420)가 연결되면 해당 사용자 단말 장치(410, 420)에 관한 정보(즉, 해당 사용자 단말 장치(410, 420)의 식별 정보 또는 가입자 정보)를 오픈플로우 컨트롤러(100)에게 전송하는 기능을 수행하고, 플로우 처리부는 오픈플로우 컨트롤러(100)로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 사용자 단말 장치(410, 420) 및 사용자 단말 장치(410, 420)와 통신하는 호스트(900) 사이에서 발생하는 데이터 트래픽이 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 기능을 수행한다.Next, in accordance with an embodiment of the present invention, when the user terminal device is connected to the base stations 310 to 340 of at least one network connected to the open flow switches 210 to 260, the corresponding user terminal device 410 420 or the subscriber information of the corresponding user terminal device 410 or 420 to the open flow controller 100 and transmits the flow rule The data traffic occurring between the user terminal devices 410 and 420 and the host 900 communicating with the user terminal devices 410 and 420 with reference to the information about the user terminal device And distributes the data through at least two kinds of networks among the networks. Specifically, the open flow switches 210 to 260 according to an embodiment of the present invention are internal components that can perform the above-mentioned functions, and include a terminal information monitoring unit (not shown) and a flow processing unit ). When the user terminal units 410 and 420 are connected to the base stations 310 and 340 of at least one network connected to the terminal information monitoring unit, information related to the user terminal units 410 and 420 (that is, To the open flow controller 100. The flow processing unit receives the information on the flow rules transmitted from the open flow controller 100 The data traffic generated between the user terminal devices 410 and 420 and the host terminal 900 communicating with the user terminal devices 410 and 420 may be a network having at least a right or a function capable of being connected to the user terminal device And distributes them through two kinds of networks.

오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(210 내지 260)의 구성에 대한 보다 자세한 설명은 후술하기로 한다.A more detailed description of the configurations of the open flow controller 100 and the open flow switches 210 to 260 will be given later.

다음으로, 본 발명의 일 실시예에 따르면, 각종 네트워크의 기지국(310, 320, 330, 340)은 사용자 단말 장치(410, 420)와 무선으로 연결되어 사용자 단말 장치(410, 420)가 기지국(310, 320, 330, 340)을 통하여 오픈플로우 스위치(210 내지 260), 코어 네트워크(510, 520), 공중 데이터 네트워크(600), ISP 네트워크(700), 호스트(900) 등과 통신할 수 있도록 하는 기능을 수행할 수 있다. 따라서, 사용자 단말 장치(410, 420)를 목적지로 하는 패킷이나 사용자 단말 장치(410, 420)를 출발지로 하는 패킷은 기지국(310, 320, 330, 340)을 거치게 된다. 예를 들면, 본 발명의 일 실시예에 따른 기지국(310, 320, 330, 340)에는 일반적인 기지국이나 HNB(Home Node B), HeNB(Home eNode B)과 같은 펨토셀(Femtocell)이나 Wi-Fi와 같은 무선 액세스 포인트(WAP: Wireless Access Point)가 포함될 수 있으나 반드시 이에 한정되는 것은 아니다.The base stations 310, 320, 330 and 340 of the various networks are connected to the user terminal devices 410 and 420 wirelessly so that the user terminal devices 410 and 420 are connected to the base station The core networks 510 and 520, the public data network 600, the ISP network 700, and the host 900 through the open flow switches 210 to 260, 310, 320, 330 and 340 Function can be performed. Therefore, packets destined to the user terminal units 410 and 420 or packets originating from the user terminal units 410 and 420 go through the base stations 310, 320, 330 and 340. For example, a base station 310, 320, 330, 340 according to an exemplary embodiment of the present invention may include a femtocell such as a general base station, a home Node B (HNB), a home eNode B But not necessarily limited to, the same wireless access point (WAP).

다음으로, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410, 420)는 네트워크에 접속하여 서로 통신할 수 있는 기능을 갖는 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 태블릿 컴퓨터, 스마트폰, 이동 전화기, IPTV 수신기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(410, 420)가 될 수 있다.The user terminal devices 410 and 420 may be a personal computer (for example, a desktop computer, a notebook computer, or the like) having a function of connecting to a network and communicating with each other according to an embodiment of the present invention, A user terminal device 410 or 420 according to the present invention may be any device having a memory means such as a workstation, a PDA, a tablet computer, a smart phone, a mobile phone, an IPTV receiver, .

한편, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410, 420)는 자신이 접속(즉, 연결)될 수 있는 네트워크의 종류마다 서로 다른 실제(Real) IP 주소를 가질 수 있다. 그런데, 본 발명의 일 실시예에 따라 사용자 단말 장치(410, 420)가 연결되는 네트워크를 동적으로 변경(즉, 병합)하기 위해서는, 사용자 단말 장치(410, 420)의 외부에서 보았을 때 해당 사용자 단말 장치(410, 420)의 IP 주소가 하나의 IP 주소로서 특정될 필요가 있다. 따라서, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410, 420)는 여러 종류의 복수의 네트워크에 각각 대응되는 서로 다른 복수의 실제 IP 주소를 가상화하여 해당 사용자 단말 장치(410, 420)를 대표할 수 있는 하나의 가상(Virtual) IP 주소를 가질 수 있다. 이와 관련하여, 본 발명의 일 실시예에 따르면, 코어 네트워크(510 내지 530) 또는 가입자 정보 관리 서버(800)는 사용자 단말 장치(410, 420)가 가지는 적어도 하나의 실제 IP 주소 및 가상 IP 주소에 관한 정보를 보유하고 있을 수 있다.Meanwhile, according to an embodiment of the present invention, the user terminal devices 410 and 420 may have different real IP addresses for each type of network to which they are connected (i.e., connected). In order to dynamically change (that is, merge) the network to which the user terminal apparatuses 410 and 420 are connected according to an embodiment of the present invention, when viewed from the outside of the user terminal apparatuses 410 and 420, The IP addresses of the devices 410 and 420 need to be specified as one IP address. Accordingly, according to an embodiment of the present invention, the user terminal devices 410 and 420 virtualize a plurality of different real IP addresses corresponding to a plurality of types of networks, respectively, and transmit the corresponding user terminal devices 410 and 420 It can have one virtual IP address that can be represented. In this regard, according to an embodiment of the present invention, the core network 510 to 530 or the subscriber information management server 800 may store at least one real IP address and virtual IP address of the user terminal device 410, May have information about the < / RTI >

구체적으로, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410, 420)는 앞서 설명된 하나의 가상 IP 주소에 대응되는 하나의 가상 인터페이스(Virtual Interface)를 통하여 여러 종류의 네트워크를 통해 전송된 패킷을 한꺼번에 수신할 수 있다.In more detail, according to an embodiment of the present invention, the user terminal apparatuses 410 and 420 may be connected to one another via a virtual interface corresponding to one virtual IP address, Packets can be received at once.

또한, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410, 420) 및 해당 사용자 단말 장치(410, 420)와 연결되어 있는 오픈플로우 스위치(210 내지 260)가 오픈플로우 스위치(210 내지 260)와 사용자 단말 장치(410, 420) 사이의 구간에서 전송되는 패킷에 외부 IP 헤더(Outer IP Header)가 부가되도록 할 수 있으며, 이로써 사용자 단말 장치(410, 420)와 오픈플로우 스위치(210 내지 260) 사이의 구간에 해당 사용자 단말 장치(410, 420)의 네트워크별 실제 IP 주소에 대응되는 터널링(tunneling) 구간이 생성될 수 있다. 참고로, 이러한 방법은 사용자 단말 장치(410, 420)가 가상 인터페이스를 지원하지 않는 경우 또는 가상 인터페이스를 사용할 수 없는 경우에 적용될 수 있다.The open flow switches 210 to 260 connected to the user terminal devices 410 and 420 and the corresponding user terminal devices 410 and 420 are connected to the open flow switches 210 to 260, The Outer IP Header may be added to the packet transmitted in the interval between the user terminal devices 410 and 420 so that the user terminal devices 410 and 420 and the open flow switches 210 and 260, A tunneling interval corresponding to the actual IP address of each user terminal 410 or 420 may be generated. For reference, this method can be applied when the user terminal device 410, 420 does not support the virtual interface or can not use the virtual interface.

사용자 단말 장치(410, 420)가 오픈플로우 스위치(210 내지 260)를 거쳐 호스트(900)에게 패킷을 전송하는 경우를 예로 들어 구체적으로 설명하면 다음과 같다.A case where the user terminal devices 410 and 420 transmit packets to the host 900 via the open flow switches 210 through 260 will be described in detail as follows.

먼저, 사용자 단말 장치(410, 420)는 데스티네이션 IP 주소 및 소스 IP 주소가 각각 호스트(900)의 IP 주소(A1) 및 사용자 단말 장치(410, 420)의 가상 IP 주소(VIP)인 패킷을 전송함에 있어서 해당 패킷에 외부 IP 헤더를 부가할 수 있는데(즉, 인캡슐레이션(Encapsulation)), 이러한 외부 IP 헤더에는 해당 사용자 단말 장치(410, 420)와 연결되어 있는 오픈플로우 스위치(210 내지 260)의 IP 주소(S1) 및 해당 사용자 단말 장치(410, 420)의 네트워크별 실제 IP 주소(N1, N2 등)가 각각 외부 데스티네이션 IP 주소 및 외부 소스 IP 주소로서 포함될 수 있고, 이러한 외부 IP 헤더에 의하여 해당 패킷의 데스티네이션 IP 주소는 해당 사용자 단말 장치(410, 420)와 통신하는 호스트(900)의 IP 주소(A1)가 아닌 해당 사용자 단말 장치(410, 420)와 연결되어 있는 오픈플로우 스위치(210)의 IP 주소(S1)로서 설정될 수 있으며, 이에 따라 해당 패킷은 네트워크별로 정의된 인터페이스를 통하여 해당 사용자 단말 장치(410, 420)와 연결되어 있는 오픈플로우 스위치(210 내지 260)로 전달될 수 있게 된다.First, the user terminal apparatuses 410 and 420 transmit a packet in which the destination IP address and the source IP address are the IP address A1 of the host 900 and the virtual IP address (VIP) of the user terminal apparatus 410 and 420, respectively (I.e., encapsulation) to the corresponding packet in the transmission, the external IP header includes open flow switches 210 to 260 connected to the corresponding user terminal devices 410 and 420 And the actual IP addresses N1 and N2 of the respective user terminals 410 and 420 may be included as an external destination IP address and an external source IP address, The destination IP address of the packet is not an IP address A1 of the host 900 that communicates with the corresponding user terminal device 410 or 420 but an open flow switch connected to the corresponding user terminal device 410 or 420, Lt; RTI ID = 0.0 > S1 < / RTI & It may be, so that the packets are able to be transmitted through an interface defined by the network to the user terminal apparatus (410, 420) and open the flow switch (210 to 260) are connected.

다음으로, 사용자 단말 장치(410, 420)로부터 외부 IP 헤더가 부가된 패킷을 전달 받은 오픈플로우 스위치(210 내지 260)는 해당 패킷에 부가되었던 외부 IP 헤더를 제거함으로써 해당 패킷의 데스티네이션 IP 주소 및 소스 IP 주소가 각각 다시 호스트(900)의 IP 주소(A1) 및 사용자 단말 장치(410, 420)의 가상 IP 주소(VIP)가 되도록 되돌릴 수 있으며(즉, 디캡슐레이션(Decapsulation)), 이에 따라 해당 패킷은 호스트(900)로 정상적으로 전달될 수 있게 된다.Next, the open flow switches 210 to 260 receiving the packets to which the external IP header is added from the user terminal devices 410 and 420 remove the external IP header added to the packet, (I.e., decapsulate) the source IP address to be the IP address A1 of the host 900 and the virtual IP address VIP of the user terminal 410 or 420, respectively, So that the packet can be normally transmitted to the host 900.

반대로, 호스트(900)가 오픈플로우 스위치(210 내지 260)를 거쳐 사용자 단말 장치(410, 420)에게 패킷을 전송하는 경우에는, 오픈플로우 스위치(210 내지 260)가 앞서 설명된 인캡슐레이션 과정을 수행하고 사용자 단말 장치(410, 420)가 앞서 설명된 디캡슐레이션 과정을 수행할 수 있을 것이다.Conversely, when the host 900 transmits a packet to the user terminal devices 410 and 420 via the open flow switches 210 through 260, the open flow switches 210 through 260 perform the encapsulation process described above And the user terminals 410 and 420 may perform the decapsulation process as described above.

다음으로, 본 발명의 일 실시예에 따르면, 코어 네트워크(510, 520)는 사용자 단말 장치(410, 420)가 가입된 이동통신사에 의하여 운영되는 네트워크를 가리키는 것으로서, 기지국(310, 320)으로부터 전달되는 패킷을 코어 네트워크에 전달하여 주는 역할을 수행하는 백홀(backhaul) 네트워크(미도시됨)를 포함할 수 있다.Next, in accordance with an embodiment of the present invention, the core network 510, 520 refers to a network operated by a mobile communication company to which a user terminal device 410, 420 is subscribed, And a backhaul network (not shown) that serves to deliver packets to the core network.

다음으로, 본 발명의 일 실시예에 따르면, 가입자 정보 관리 서버(800)는 사용자 단말 장치(410, 420)가 가입된 이동통신사에 의하여 관리되는 서버로서, 사용자 단말 장치(410, 420)가 이동통신사의 코어 네트워크(510, 520, 530), 공중 데이터 네트워크 등과 연결되어 통신하는 데에 필요한 정보를 관리하는 기능을 수행할 수 있으며, 특히, 사용자 단말 장치(410, 420)가 3G 네트워크, 4G 네트워크, 5G 네트워크, 공중 데이터 네트워크 등의 각종 네트워크에 연결(즉, 접속)될 수 있는 권한 또는 기능을 가지고 있는지 여부에 관한 정보, 사용자 단말 장치(410, 420)가 연결될 수 있는 각종 네트워크 사이의 우선 순위에 관한 정보, 사용자 단말 장치(410, 420)의 가상 IP 주소에 관한 정보 등을 오픈플로우 컨트롤러(100)에게 제공하는 기능을 수행할 수 있다.According to one embodiment of the present invention, the subscriber information management server 800 is a server managed by a mobile communication company to which the user terminal devices 410 and 420 are subscribed, The user terminal apparatuses 410 and 420 may be connected to the core networks 510, 520 and 530 of the communication company and the public data network to manage information necessary for communication. Particularly, Information about whether or not the user terminals 410 and 420 have authority or function to be connected (i.e., connected) to various networks such as a network, a 5G network, and a public data network, And information on the virtual IP address of the user terminal devices 410 and 420 to the open flow controller 100. [

다음으로, 본 발명의 일 실시예에 따르면, 호스트(900)는 사용자 단말 장치(410, 420)와 통신하는 상대방이 되는 클라이언트 또는 서버를 의미하는데, 네트워크에 접속하여 서로 통신할 수 있는 기능을 갖는 기기로서, 각종 서버, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 태블릿 컴퓨터, 스마트폰, 이동 전화기, IPTV 수신기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 호스트(900)가 될 수 있다. 예를 들면, 본 발명에 따른 호스트(900)는 동영상 서비스를 제공하는 유투브(YouTube)의 서비스 제공 서버를 포함할 수 있으며, 서버가 아닌 다른 사용자 단말 장치를 포함할 수도 있다.Next, in accordance with an embodiment of the present invention, host 900 refers to a client or a server that is an opponent in communication with user terminal devices 410 and 420, As a device, it is provided with a memory means such as various servers, a personal computer (for example, a desktop computer, a notebook computer, etc.), a workstation, a PDA, a tablet computer, a smart phone, a mobile phone, an IPTV receiver, Any device capable of becoming a host 900 in accordance with the present invention. For example, the host 900 according to the present invention may include a service providing server of YouTube that provides a video service, and may include a user terminal other than a server.

오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(210 내지 260)의 구성The configuration of the open flow controller 100 and the open flow switches 210 to 260

이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(210 내지 260)의 내부 구성 및 구체적인 기능에 대하여 살펴보기로 한다.Hereinafter, an internal configuration and specific functions of the open flow controller 100 and the open flow switches 210 to 260, which perform important functions for the realization of the present invention, will be described.

도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 내부 구성을 나타내는 도면이다.2 is a diagram showing an internal configuration of an open flow controller 100 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)는 단말 정보 수집부(110) 및 네트워크 제어부(120)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 단말 정보 수집부(110) 및 네트워크 제어부(120)는 그 중 적어도 일부가 외부 시스템과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 오픈플로우 컨트롤러(100)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 오픈플로우 컨트롤러(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.2, the open flow controller 100 according to an exemplary embodiment of the present invention may include a terminal information collecting unit 110 and a network control unit 120. As shown in FIG. According to an embodiment of the present invention, the terminal information collection unit 110 and the network control unit 120 may be program modules in which at least some of them communicate with external systems. These program modules may be included in the open flow controller 100 in the form of an operating system, an application program module, and other program modules, and may be physically stored on various known memory devices. Also, at least some of these program modules may be stored in a remote storage device capable of communicating with the open flow controller 100. [ These program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types as described below in accordance with the present invention.

먼저, 본 발명의 일 실시예에 따르면, 단말 정보 수집부(110)는 각종 네트워크의 기지국(310, 320, 330, 340)에 연결되어 호스트(900)와 통신하는 사용자 단말 장치(410, 420)에 관한 정보(예를 들면, 사용자 단말 장치(410, 420)의 식별 번호 등)를 획득하는 기능을 수행할 수 있다. 구체적으로, 본 발명의 일 실시예에 따른 단말 정보 수집부(110)는 각종 네트워크 기지국(310, 320, 330, 340)과 연결되어 있는 오픈플로우 스위치(210 내지 260)로부터 사용자 단말 장치(410, 420)에 관한 정보를 제공 받을 수 있다.The terminal information collecting unit 110 includes user terminal devices 410 and 420 connected to the base stations 310, 320, 330, and 340 of the various networks and communicating with the host 900, (For example, the identification number of the user terminal device 410, 420, etc.). In detail, the terminal information collecting unit 110 collects information from the open flow switches 210 to 260 connected to the network base stations 310, 320, 330, and 340 through the user terminal devices 410, 420 may be provided.

또한, 본 발명의 일 실시예에 따르면, 단말 정보 수집부(110)는 가입자 정보 관리 서버(800)로부터 또는 사용자 단말 장치(410, 420)와 연결되어 있는 오픈플로우 스위치(210 내지 260)로부터 사용자 단말 장치(410, 420)의 가입자 정보를 획득하는 기능을 수행할 수 있다.According to an embodiment of the present invention, the terminal information collecting unit 110 collects information from the subscriber information management server 800 or from the open flow switches 210 to 260 connected to the user terminal devices 410 and 420, And can acquire the subscriber information of the terminal devices 410 and 420.

다음으로, 본 발명의 일 실시예에 따르면, 네트워크 제어부(120)는 사용자 단말 장치(410, 420)의 가입자 정보를 참조로 하여 해당 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별하는 기능을 수행할 수 있다. 여기서, 본 발명의 일 실시예에 따르면, 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크에는 3G 네트워크, 4G 네트워크, 5G 네트워크 및 공중 데이터 네트워크(Public Data Network) 중 어느 하나가 포함될 수 있다. 예를 들면, 사용자 단말 장치가 4G 네트워크에 가입되어 있어서 4G 네트워크에 접속(즉, 연결)될 수 있는 권한 또는 기능을 가지고 있고 Wi-Fi를 통해 공중 데이터 네트워크에 접속될 수 있는 기능을 갖추고 있는 경우에, 해당 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크는 4G 네트워크 및 공중 데이터 네트워크일 수 있다.Next, according to one embodiment of the present invention, the network control unit 120 refers to the subscriber information of the user terminal devices 410 and 420 and determines the right or function to be connected to the corresponding user terminal device 410 or 420 It is possible to perform a function of identifying the network that is present. According to an embodiment of the present invention, a network having a right or a function to which a user terminal can be connected may include any one of a 3G network, a 4G network, a 5G network, and a public data network . For example, if the user terminal device is subscribed to the 4G network and has the authority or capability to connect (i.e., connect) to the 4G network and has the capability to connect to the public data network via Wi-Fi A network in which the user terminal device has the authority or function to be connected may be a 4G network and a public data network.

또한, 본 발명의 일 실시예에 따르면, 네트워크 제어부(120)는 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 것으로 식별된 네트워크 중 사용자 단말 장치(410, 420)와 호스트(900) 사이의 통신에 활용될 적어도 두 종류의 네트워크를 후술할 바와 같은 기설정된 기준에 따라 결정하는 기능을 수행할 수 있고, 사용자 단말 장치(410, 420) 및 호스트(900) 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(210 내지 260)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써 사용자 단말 장치(410, 420) 및 호스트(900) 사이에서 발생하는 데이터 트래픽(Data Traffic)이 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 기능을 수행할 수 있다.In addition, according to an embodiment of the present invention, the network control unit 120 may include a user terminal device 410, 420 and a host (not shown) of the network identified as having the authority or function to which the user terminal device 410, And the host 900 may perform functions of determining at least two types of networks to be utilized for communication between the user terminal apparatuses 410 and 420 and the host 900 in accordance with predetermined criteria as described later, The data traffic generated between the user terminal devices 410 and 420 and the host 900 is controlled by controlling a flow rule applied to at least one open flow switch 210 to 260 existing on the network 300. [ Can be distributed and transmitted through at least two kinds of networks among the networks having the authority or function to which the user terminal devices 410 and 420 can be connected The.

예를 들면, 본 발명의 일 실시예에 따른 네트워크 제어부(120)는, 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 모든 종류의 네트워크를 통해 해당 사용자 단말 장치(410, 420) 및 호스트(900) 사이에서 발생하는 데이터 트래픽이 분산되어 전송되도록 할 수 있으며, 이에 따라 실질적인 대역폭을 최대한 확장시킬 수 있다.For example, the network control unit 120 according to an exemplary embodiment of the present invention may include a user terminal device 410, 420 and a corresponding user terminal device 410, 420 through all kinds of networks having an authority or function to which the user terminal devices 410, 420 and the host 900 may be dispersed and transmitted so that substantial bandwidth can be maximally extended.

다른 예를 들면, 본 발명의 일 실시예에 따른 네트워크 제어부(120)는, 사용자 단말 장치(410, 420)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 혼잡도(Congestion)가 기설정된 임계값을 초과하는 병목 구간이 존재하는 네트워크를 제외한 나머지 네트워크를 통해 해당 사용자 단말 장치(410, 420) 및 호스트(900) 사이에서 발생하는 데이터 트래픽이 분산되어 전송되도록 할 수 있으며, 이에 따라 병목 현상으로 인한 시간 지연이 발생하는 것을 방지할 수 있다.For example, the network controller 120 according to an exemplary embodiment of the present invention may set a predetermined threshold value for congestion among the networks having the authority or function to which the user terminal devices 410 and 420 can be connected The data traffic generated between the user terminal devices 410 and 420 and the host 900 can be distributed and transmitted through the remaining networks except for the bottleneck region where the bottleneck interval exists, It is possible to prevent a delay from occurring.

또 다른 예를 들면, 본 발명의 일 실시예에 따른 네트워크 제어부(120)는, 특정 네트워크를 통해 호스트(900)와 통신하는 복수의 사용자 단말 장치(410, 420)의 수가 기설정된 임계값을 초과하는 경우에만, 해당 복수의 사용자 단말 장치(410, 420) 각각이 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 해당 복수의 사용자 단말 장치(410, 420) 및 호스트(900) 사이에서 발생하는 데이터 트래픽이 분산되어 전송되도록 할 수 있으며, 이에 따라 데이터 트래픽을 분산하여 전송할 필요가 있는 경우에만 여러 종류의 복수의 네트워크를 동시에 활용하고 그렇지 않은 경우에는 특정 네트워크만을 활용하여 나머지 네트워크에 불필요한 부하가 걸리는 것을 방지할 수 있다.For example, the network control unit 120 according to an exemplary embodiment of the present invention may be configured such that the number of the plurality of user terminal devices 410 and 420 communicating with the host 900 through a specific network exceeds a predetermined threshold value The plurality of user terminal devices 410 and 420 and the host 900 900 are connected to each other via at least two kinds of networks among the networks having the authority or function to connect each of the plurality of user terminal devices 410 and 420, May be dispersed and transmitted. Accordingly, only when a plurality of types of networks are used at a time is required to distribute data traffic, it is possible to use only a specific network, It is possible to prevent an unnecessary load from being applied.

한편, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)와 오픈플로우 스위치(210 내지 260)가 사용자 단말 장치(410, 420)와 호스트(900) 사이의 통신 경로(즉, 패킷 전달 경로)를 제어하는 구성에 관하여 자세히 설명하면 다음과 같다.Meanwhile, the open flow controller 100 and the open flow switches 210 to 260 according to the embodiment of the present invention communicate with a communication path (i.e., a packet delivery path) between the user terminal devices 410 and 420 and the host 900, Will be described in detail as follows.

먼저, 본 발명의 일 실시예에 따르면, 플로우(Flow)란, 특정 시간 동안 네트워크 상의 특정 지점을 지나가는 패킷의 집합을 의미할 수 있다. 여기서, 본 발명에서 말하는 플로우가 반드시 특정 시간에 한정되어 정의되는 것은 아님을 밝혀 둔다.First, according to an embodiment of the present invention, a flow may mean a set of packets passing through a specific point on the network for a specific time. Here, it is to be noted that the flow referred to in the present invention is not necessarily limited to a specific time.

다음으로, 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100)는 오픈플로우 스위치(210 내지 260)가 유지하는 플로우 테이블(Flow Table)에 적용되는 플로우 룰을 제어함으로써 사용자 단말 장치(410, 420)와 호스트(900) 사이의 통신 경로를 제어할 수 있는데, 이러한 플로우 테이블에는, 사용자 단말 장치의 IP 주소(즉, 가상 IP 주소), 사용자 단말 장치와 무선으로 연결되는 각종 네트워크의 기지국의 IP 주소, 사용자 단말 장치와 통신하는 호스트의 IP 주소와 같은 다양한 네트워크 구성요소의 IP 주소 및 이들 IP 주소와 오픈플로우 스위치(210 내지 260)의 포트 사이의 매칭 관계에 관한 정보가 포함될 수 있다.Next, in accordance with an embodiment of the present invention, the open flow controller 100 controls the flow rules applied to the flow table maintained by the open flow switches 210 to 260, 420, and the host 900. In this flow table, an IP address (i.e., a virtual IP address) of a user terminal device, an IP address of a base station of various networks connected wirelessly with the user terminal device Address, IP addresses of various network elements such as the IP address of the host communicating with the user terminal device, and information about the matching relationship between these IP addresses and the ports of the open flow switches 210 to 260.

예를 들면, 본 발명의 일 실시예에 따른 플로우 테이블에는 헤더 필드(Header Fields), 액션(Actions), 카운터(Counters) 등의 구성요소가 포함될 수 있다.For example, the flow table according to an exemplary embodiment of the present invention may include a header field, an action, a counter, and the like.

먼저, 헤더 필드에는 오픈플로우 스위치(210 내지 260)의 포트, 이더넷(ethernet) 및 프로토콜 정보, 소스(즉, 출발지)(source) 사용자 단말 장치 및 데스티네이션(즉, 목적지)(destination) 사용자 단말 장치의 MAC 주소, IP 주소, 포트 및 우선 순위 등의 정보가 저장될 수 있다. 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100) 또는 오픈플로우 스위치(210 내지 260)는 오픈플로우 스위치(210 내지 260)로 유입되는 패킷의 정보와 플로우 테이블의 헤더 필드의 정보를 비교하여 해당 패킷에 관한 플로우 제어 정보가 플로우 테이블 내에 존재하는지 여부를 판단할 수 있다.First, the header field includes a port of the open flow switches 210 to 260, ethernet and protocol information, a source (i.e., source) user terminal device and a destination (i.e., destination) The MAC address, the IP address, the port, and the priority. According to an embodiment of the present invention, the open flow controller 100 or the open flow switches 210 to 260 compares the information of the packet flowing into the open flow switches 210 to 260 with the information of the header field of the flow table It is possible to determine whether or not flow control information on the packet exists in the flow table.

다음으로, 액션(actions)은 오픈플로우 스위치(210 내지 260)로 유입되는 패킷의 정보와 플로우 테이블의 헤더 필드의 정보가 매칭될 때 해당 패킷을 어떻게 처리할지에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(210 내지 260)는 플로우 테이블의 액션 부분에 저장된 정보를 참조로 하여 해당 패킷을 정해진 하나의 포트 또는 여러 개의 포트로 전달하거나 해당 패킷을 더 이상 전달하지 않고 차단할 수 있다. 만약, 플로우 테이블의 헤더 필드 내에 오픈플로우 스위치(210 내지 260)로 유입되는 패킷의 정보와 매칭되는 정보가 없는 경우에는, 오픈플로우 컨트롤러(100)가 해당 패킷의 소스 IP 주소, 데스티네이션 IP 주소 등을 참조로 하여 해당 패킷에 대한 플로우 룰을 새로이 생성할 수 있다.Next, actions may include information on how to process the packet when the information of the packet flowing into the open flow switches 210 to 260 and the information of the header field of the flow table are matched. According to an embodiment of the present invention, the open flow switches 210 to 260 transmit the packet to a predetermined port or a plurality of ports with reference to the information stored in the action part of the flow table, Can be blocked. If there is no information in the header field of the flow table that matches the information of the packets flowing into the open flow switches 210 to 260, the open flow controller 100 sets the source IP address, the destination IP address, It is possible to newly generate a flow rule for the packet.

다음으로, 카운터(counters)는 플로우 테이블에 패킷 처리에 관한 제어 정보가 등록된 시점부터 현재 시점까지 경과된 시간에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 플로우 테이블에 저장된 패킷 처리에 관한 제어 정보는 정해진 시간 동안만 유지되도록 설정될 수 있는데, 이러한 경우에 카운터에 저장된 경과 시간에 관한 정보가 제어 정보의 생명 주기(life cycle) 관리에 사용될 수 있다.Next, the counters may include information on the elapsed time from the time when the control information related to the packet processing is registered to the current time in the flow table. According to an embodiment of the present invention, the control information regarding the packet processing stored in the flow table can be set to be maintained only for a predetermined time. In this case, information on the elapsed time stored in the counter is stored in the life cycle cycle management.

도 3은 본 발명의 일 실시예에 따라 오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(210 내지 260)에 의하여 관리되는 플로우 테이블의 구성을 예시적으로 나타내는 도면이다.3 is a diagram exemplarily showing a configuration of a flow table managed by an open flow controller 100 and open flow switches 210 to 260 according to an embodiment of the present invention.

도 3을 참조하면, 소스 IP 주소가 "10.0.0.2"이고 데스티네이션 IP 주소가 "10.0.0.3"인 패킷은 오픈플로우 스위치(210 내지 260)의 포트 "a"로 전달되도록 설정되고, 반대로 소스 IP 주소가 "10.0.0.3"이고 데스티네이션 IP 주소가 "10.0.0.2"인 패킷은 오픈플로우 스위치(210 내지 260)의 "b"로 전달되도록 설정될 수 있다. 또한, 소스 IP 주소가 "10.0.0.4"이고 데스티네이션 IP 주소가 "10.0.0.5"인 패킷은 오픈플로우 스위치(210 내지 260)의 포트 "c"로 전달되도록 설정되고, 반대로 소스 IP 주소가 "10.0.0.5"이고 데스티네이션 IP 주소가 "10.0.0.4"인 패킷은 오픈플로우 스위치(210 내지 260)의 포트 "d"로 전달되도록 설정될 수 있다. 위와 같이 플로우 테이블을 참조로 하여 오픈플로우 스위치(210 내지 260)의 각 포트로 전달된 패킷은 해당 패킷의 데스티네이션 IP 주소가 가리키는 사용자 단말 장치(410, 420)로 전달될 수 있게 된다. 즉, 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100)가 오픈플로우 스위치(210 내지 260)에서 유지되는 플로우 테이블에 적용되는 플로우 룰을 제어함으로써 오픈플로우 스위치(210 내지 260)를 지나가는 패킷이 특정 네트워크를 거치는 통신 경로를 통하여 전송되도록 할 수 있고, 이로써 호스트(900)와 통신하여 패킷을 주고 받는 사용자 단말 장치(410, 420)가 연결되는 네트워크를 동적으로 선택할 수 있게 된다.3, a packet with a source IP address of "10.0.0.2" and a destination IP address of "10.0.0.3" is set to be delivered to the port "a" of the open flow switches 210 to 260, A packet whose IP address is " 10.0.0.3 "and whose destination IP address is" 10.0.0.2 "may be set to be transmitted to" b " of the open flow switches 210 to 260. In addition, a packet whose source IP address is "10.0.0.4" and whose destination IP address is "10.0.0.5" is set to be delivered to the port "c" of the open flow switches 210 to 260, 10.0.0.5 ", and a packet whose destination IP address is "10.0.0.4" may be set to be transmitted to the port "d" of the open flow switches 210 to 260. [ The packet transmitted to each port of the open flow switches 210 to 260 with reference to the flow table can be transmitted to the user terminal devices 410 and 420 indicated by the destination IP address of the packet. That is, according to one embodiment of the present invention, the open flow controller 100 controls the flow rules applied to the flow table held in the open flow switches 210 to 260, thereby controlling the flow of packets passing through the open flow switches 210 to 260 Can be transmitted through a communication path passing through the specific network, thereby dynamically selecting a network to which the user terminal devices 410 and 420, which communicate with the host 900 and exchange packets, are connected.

도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치가 연결되는 네트워크를 병합하는 과정을 예시적으로 나타내는 도면이다. 도 4의 실시예에서, 제1 사용자 단말 장치(410)는 3G 네트워크(510), 4G 네트워크(520) 및 5G 네트워크(530)에 접속(즉, 연결)될 수 있는 권한을 모두 가지고 있고, Wi-Fi를 통해 공중 데이터 네트워크에 접속될 수 있는 기능을 갖추고 있는 경우를 가정할 수 있다.4 is a diagram illustrating a process of merging a network to which a user terminal is connected according to an embodiment of the present invention. 4 embodiment, the first user terminal 410 has all rights to connect (i.e., connect) to the 3G network 510, the 4G network 520 and the 5G network 530, -Fi to the public data network.

도 4를 참조하면, (i) 먼저, 오픈플로우 스위치(210 내지 240)는 각종 네트워크 기지국(310 내지 340)과 연결되어 있는 제1 사용자 단말 장치(410)에 관한 정보(예를 들면, 식별 번호 등)를 오픈플로우 컨트롤러(100)에게 전송할 수 있다.(I) First, the open flow switches 210 to 240 transmit information (for example, an identification number) to the first user terminal 410 connected to the network base stations 310 to 340 Etc.) to the open flow controller (100).

계속하여, 도 4를 참조하면, (ii) 오픈플로우 스위치(210 내지 240)로부터 제1 사용자 단말 장치(410)에 관한 정보를 전송 받은 오픈플로우 컨트롤러(100)는 가입자 정보 관리 서버(800)로부터 제1 사용자 단말 장치(410)의 가입자 정보를 제공 받아서 제1 사용자 단말 장치(410)가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크를 식별할 수 있고, 이렇게 식별된 네트워크 중 제1 사용자 단말 장치(410)와 호스트(900) 사이에서 발생하는 데이터 트래픽을 분산하여 전송함에 있어서 3G 네트워크(510), 4G 네트워크(520), 5G 네트워크(530) 및 공중 데이터 네트워크(540) 중 적어도 복수 개의 네트워크가 사용되도록 결정할 수 있다.4, (ii) the open flow controller 100 receiving the information on the first user terminal device 410 from the open flow switches 210 to 240 receives the information from the subscriber information management server 800 The first user terminal 410 can receive the subscriber information of the first user terminal 410 and identify the network having the authority or function to which the first user terminal 410 can be connected, The 4G network 520, the 5G network 530, and the public data network 540 in dispersing and transmitting the data traffic generated between the mobile communication network 410 and the host 900. [ .

계속하여, 도 4를 참조하면, (iii) 오픈플로우 컨트롤러(100)는 자신이 제어할 수 있는 적어도 하나의 오픈플로우 스위치(210 내지 260)가 유지하는 플로우 테이블에 적용되는 플로우 룰을 제어함으로써 제1 사용자 단말 장치(410) 및 호스트(900) 사이에서 발생하는 데이터 트래픽이 3G 네트워크(510), 4G 네트워크(520), 5G 네트워크(530) 및 공중 데이터 네트워크(540)를 통하여 분산되어 전송되도록 할 수 있다(R410 내지 R440).4, (iii) the open-flow controller 100 controls the flow rules applied to the flow table held by at least one open-flow switch 210 to 260 that can be controlled by the open- The data traffic generated between the user terminal device 410 and the host 900 is distributed and transmitted through the 3G network 510, the 4G network 520, the 5G network 530 and the public data network 540 (R410 to R440).

한편, 도 4의 실시예에서, 오픈플로우 스위치(210 내지 240)는 각종 네트워크 기지국(310 내지 340)과 연결되어 있는 제1 사용자 단말 장치(410)로부터 제1 사용자 단말 장치(410)의 식별 정보뿐만 아니라 가입자 정보까지 획득할 수도 있고 이렇게 획득된 제1 사용자 단말 장치(410)의 식별 정보 또는 가입자 정보를 오픈플로우 컨트롤러(100)에 전송할 수도 있으며, 이러한 경우 오픈플로우 컨트롤러(100)는 가입자 정보 관리 서버(800)로부터 따로 제1 사용자 단말 장치(410)의 가입자 정보를 수집할 필요가 없게 될 수도 있다.4, the open flow switches 210 to 240 receive the identification information of the first user terminal device 410 from the first user terminal device 410 connected to the network base stations 310 to 340, In addition, the open flow controller 100 may acquire subscriber information and may transmit identification information or subscriber information of the first user terminal 410 thus obtained to the open flow controller 100. In this case, It may not be necessary to separately collect subscriber information of the first user terminal device 410 from the server 800. [

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

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

100: 오픈플로우 컨트롤러(OpenFlow controller)
110: 단말 정보 수집부
120: 네트워크 제어부
210 내지 260: 오픈플로우 스위치(OpenFlow switch)
310: 3G 네트워크 기지국
320: 4G 네트워크 기지국
330: 5G 네트워크 기지국
340: 무선 액세스 포인트(Wireless Access Point)
410, 420: 사용자 단말 장치
510: 3G 코어 네트워크(Core network)
520: 4G 코어 네트워크
530: 5G 코어 네트워크
600: 공중 데이터 네트워크(PDN: Public Data Network)
700: 인터넷 서비스 제공자(ISP: Internet Service Provider) 네트워크
800: 가입자 정보 관리 서버
900: 호스트(Host)
100: OpenFlow controller
110: terminal information collecting unit
120:
210 to 260: OpenFlow switch
310: 3G network base station
320: 4G network base station
330: 5G network base station
340: Wireless Access Point
410, 420: User terminal device
510: 3G core network (Core network)
520: 4G Core Network
530: 5G Core Network
600: public data network (PDN)
700: Internet service provider (ISP) network
800: Subscriber information management server
900: Host

Claims (19)

(a) 오픈플로우 컨트롤러(Controller)가, 상기 오픈플로우 컨트롤러와 네트워크로 연결되어 있는 오픈플로우 스위치 또는 가입자 정보 관리 서버로부터 호스트(Host)와 통신하고자 하는 사용자 단말 장치의 가입자 정보를 수신하고, 상기 수신한 가입자 정보를 참조로 하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 복수의 네트워크를 식별하는 단계, 및
(b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치 및 상기 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 상기 식별된 복수의 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 단계
를 포함하는 방법.
(a) An open flow controller receives subscriber information of a user terminal device to communicate with a host from an open flow switch or a subscriber information management server connected to the open flow controller via the network, Identifying a plurality of networks having rights or functions to which the user terminal device can be connected with reference to one subscriber information, and
(b) the open flow controller controls a flow rule applied to at least one open flow switch existing on a communication path between the user terminal and the host, And transmitting data traffic generated between the hosts through at least two types of networks among the plurality of identified networks having a right or a function to which the user terminal can be connected
≪ / RTI >
삭제delete 제1항에 있어서,
상기 적어도 두 종류의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고,
상기 사용자 단말 장치는 상기 제1 네트워크 및 상기 제2 네트워크에 각각 대응되는 제1 실제 IP 주소 및 제2 실제 IP 주소를 가지면서 상기 제1 실제 IP 주소 및 상기 제2 실제 IP 주소를 가상화한 하나의 가상 IP 주소를 가지고,
상기 (b) 단계에서,
상기 사용자 단말 장치 및 상기 호스트 사이에서 전송되는 패킷은 상기 사용자 단말 장치의 상기 가상 IP 주소를 참조로 하여 전송되는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the at least two types of networks include a first network and a second network,
Wherein the user terminal device has a first real IP address and a second real IP address corresponding to the first network and the second network, respectively, and virtualizes the first real IP address and the second real IP address, With a virtual IP address,
In the step (b)
Wherein a packet transmitted between the user terminal and the host is transmitted with reference to the virtual IP address of the user terminal.
제3항에 있어서,
상기 (b) 단계에서,
상기 호스트로부터 상기 사용자 단말 장치에 전송되는 패킷 및 상기 사용자 단말 장치로부터 상기 호스트에 전송되는 패킷은 상기 사용자 단말 장치의 상기 가상 IP 주소에 대응되는 가상 인터페이스를 통하여 전달되는 것을 특징으로 하는 방법.
The method of claim 3,
In the step (b)
Wherein a packet transmitted from the host to the user terminal and a packet transmitted from the user terminal to the host are transmitted through a virtual interface corresponding to the virtual IP address of the user terminal.
제3항에 있어서,
상기 (b) 단계에서,
상기 제1 네트워크를 통해 상기 호스트로부터 상기 오픈플로우 스위치를 거쳐 상기 사용자 단말 장치에 전송되는 패킷에는, 상기 오픈플로우 스위치 및 상기 사용자 단말 장치 사이의 구간에서, 상기 오픈플로우 스위치의 IP 주소 및 상기 사용자 단말 장치의 제1 실제 IP 주소를 각각 소스 IP 주소 및 데스티네이션 IP 주소로서 설정하는 외부 IP 헤더(Outer IP Header)가 부가되고,
상기 제1 네트워크를 통해 상기 사용자 단말 장치로부터 상기 오픈플로우 스위치를 거쳐 상기 호스트에 전송되는 패킷에는, 상기 사용자 단말 장치 및 상기 오픈플로우 스위치 사이의 구간에서, 상기 사용자 단말 장치의 제1 실제 IP 주소 및 상기 오픈플로우 스위치의 IP 주소를 각각 소스 IP 주소 및 데스티네이션 IP 주소로서 설정하는 외부 IP 헤더가 부가되는 것을 특징으로 하는 방법.
The method of claim 3,
In the step (b)
Wherein a packet transmitted from the host through the first network to the user terminal via the open flow switch includes at least one of an IP address of the open flow switch and an IP address of the user terminal, An external IP header (Outer IP Header) for setting the first real IP address of the device as a source IP address and a destination IP address, respectively,
Wherein a packet transmitted from the user terminal apparatus to the host via the first network includes a first real IP address of the user terminal apparatus and a second real IP address of the user terminal apparatus in the interval between the user terminal apparatus and the open- And an external IP header for setting an IP address of the open flow switch as a source IP address and a destination IP address, respectively.
제1항에 있어서,
상기 (b) 단계에서,
상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 가능한 모든 종류의 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 방법.
The method according to claim 1,
In the step (b)
Wherein the data traffic generated between the user terminal and the host is distributed over all possible types of networks among the networks having the authority or function to which the user terminal can be connected.
제1항에 있어서,
상기 (b) 단계에서,
상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 혼잡도(Congestion)가 기설정된 임계값을 초과하는 병목 구간이 존재하는 네트워크를 제외한 나머지 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 방법.
The method according to claim 1,
In the step (b)
Wherein the data traffic generated between the user terminal and the host is a network in which a bottleneck interval in which a congestion of a network having authority or capability to connect the user terminal exceeds a preset threshold is present And distributed over the remaining network.
제1항에 있어서,
상기 (b) 단계에서,
특정 네트워크를 통하여 상기 호스트와 통신하는 복수의 사용자 단말 장치의 수가 기설정된 임계값을 초과하는 경우에, 상기 복수의 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 복수의 사용자 단말 장치 각각이 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 방법.
The method according to claim 1,
In the step (b)
Wherein data traffic generated between the plurality of user terminal devices and the host is transmitted to each of the plurality of user terminal devices when a number of the plurality of user terminal devices communicating with the host through a specific network exceeds a preset threshold value And distributing the data through at least two kinds of networks among the networks having the authority or function to be connected.
오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 방법으로서,
(a) 오픈플로우 스위치(Switch)가, 자신과 연결되어 있는 적어도 하나의 네트워크의 기지국에, 호스트(Host)와 통신하고자 하는 사용자 단말 장치가 연결되면, 상기 사용자 단말 장치의 가입자 정보를 오픈플로우 컨트롤러(Controller)에게 전송하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 복수의 네트워크를 식별할 수 있도록 지원하는 단계, 및
(b) 상기 오픈플로우 스위치가, 상기 오픈플로우 컨트롤러로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 상기 식별된 복수의 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 단계
를 포함하는 방법.
A method for merging networks based on OpenFlow,
(a) when an open flow switch is connected to a base station of at least one network connected to the open flow switch, the subscriber information of the user terminal device is transmitted to the open flow controller (Controller) so that the user terminal can identify a plurality of networks having an authority or a function to which the user terminal can be connected; and
(b) when the open flow switch determines that data traffic occurring between the user terminal device and the host is generated based on information about a flow rule transmitted from the open flow controller, So that the device is distributed and transmitted through at least two kinds of networks among the plurality of identified networks having the authority or function to be connected
≪ / RTI >
오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 장치로서,
네트워크로 연결되어 있는 오픈플로우 스위치 또는 가입자 정보 관리 서버로부터 호스트(Host)와 통신하고자 하는 사용자 단말 장치의 가입자 정보를 획득하는 단말 정보 수집부, 및
상기 획득한 사용자 단말 장치의 가입자 정보를 참조로 하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 복수의 네트워크를 식별하고, 상기 사용자 단말 장치 및 상기 호스트 사이의 통신 경로 상에 존재하는 적어도 하나의 오픈플로우 스위치(Switch)에 적용되는 플로우 룰(Flow Rule)를 제어함으로써, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 상기 식별된 복수의 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 네트워크 제어부
를 포함하는 장치.
An apparatus for merging networks based on OpenFlow,
A terminal information collecting unit for acquiring subscriber information of a user terminal device to communicate with a host from an open flow switch or a subscriber information management server connected via a network,
Identifying a plurality of networks having an authority or function to which the user terminal device can be connected with reference to subscriber information of the acquired user terminal device, The data traffic generated between the user terminal and the host is controlled by a flow rule applied to one open flow switch so that the user terminal can be connected with the authority or function To be distributed through at least two types of networks among the identified plurality of networks having the network
/ RTI >
삭제delete 제10항에 있어서,
상기 적어도 두 종류의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고,
상기 사용자 단말 장치는 상기 제1 네트워크 및 상기 제2 네트워크에 각각 대응되는 제1 실제 IP 주소 및 제2 실제 IP 주소를 가지면서 상기 제1 실제 IP 주소 및 상기 제2 실제 IP 주소를 가상화한 하나의 가상 IP 주소를 가지고,
상기 사용자 단말 장치 및 상기 호스트 사이에서 전송되는 패킷은 상기 사용자 단말 장치의 상기 가상 IP 주소를 참조로 하여 전송되는 것을 특징으로 하는 장치.
11. The method of claim 10,
Wherein the at least two types of networks include a first network and a second network,
Wherein the user terminal device has a first real IP address and a second real IP address corresponding to the first network and the second network, respectively, and virtualizes the first real IP address and the second real IP address, With a virtual IP address,
Wherein the packet transmitted between the user terminal and the host is transmitted with reference to the virtual IP address of the user terminal.
제12항에 있어서,
상기 호스트로부터 상기 사용자 단말 장치에 전송되는 패킷 및 상기 사용자 단말 장치로부터 상기 호스트에 전송되는 패킷은 상기 사용자 단말 장치의 상기 가상 IP 주소에 대응되는 가상 인터페이스를 통하여 전달되는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein a packet transmitted from the host to the user terminal and a packet transmitted from the user terminal to the host are transmitted through a virtual interface corresponding to the virtual IP address of the user terminal.
제12항에 있어서,
상기 제1 네트워크를 통해 상기 호스트로부터 상기 오픈플로우 스위치를 거쳐 상기 사용자 단말 장치에 전송되는 패킷에는, 상기 오픈플로우 스위치 및 상기 사용자 단말 장치 사이의 구간에서, 상기 오픈플로우 스위치의 IP 주소 및 상기 사용자 단말 장치의 제1 실제 IP 주소를 각각 소스 IP 주소 및 데스티네이션 IP 주소로서 설정하는 외부 IP 헤더(Outer IP Header)가 부가되고,
상기 제1 네트워크를 통해 상기 사용자 단말 장치로부터 상기 오픈플로우 스위치를 거쳐 상기 호스트에 전송되는 패킷에는, 상기 사용자 단말 장치 및 상기 오픈플로우 스위치 사이의 구간에서, 상기 사용자 단말 장치의 제1 실제 IP 주소 및 상기 오픈플로우 스위치의 IP 주소를 각각 소스 IP 주소 및 데스티네이션 IP 주소로서 설정하는 외부 IP 헤더가 부가되는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein a packet transmitted from the host through the first network to the user terminal via the open flow switch includes at least one of an IP address of the open flow switch and an IP address of the user terminal, An external IP header (Outer IP Header) for setting the first real IP address of the device as a source IP address and a destination IP address, respectively,
Wherein a packet transmitted from the user terminal apparatus to the host via the first network includes a first real IP address of the user terminal apparatus and a second real IP address of the user terminal apparatus in the interval between the user terminal apparatus and the open- Wherein an external IP header for setting an IP address of the open flow switch as a source IP address and a destination IP address, respectively, is added.
제10항에 있어서,
상기 네트워크 제어부는, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 가능한 모든 종류의 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 장치.
11. The method of claim 10,
Wherein the network control unit distributes data traffic generated between the user terminal and the host by being dispersed through all possible types of networks among the networks having the authority or function to which the user terminal can be connected, .
제10항에 있어서,
상기 네트워크 제어부는, 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 혼잡도(Congestion)가 기설정된 임계값을 초과하는 병목 구간이 존재하는 네트워크를 제외한 나머지 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 장치.
11. The method of claim 10,
Wherein the network control unit is configured to control the data traffic generated between the user terminal and the host such that the congestion of the network having the authority or function to connect the user terminal is greater than a preset threshold value To be distributed over the remaining networks except for the existing network.
제10항에 있어서,
상기 네트워크 제어부는, 특정 네트워크를 통하여 상기 호스트와 통신하는 복수의 사용자 단말 장치의 수가 기설정된 임계값을 초과하는 경우에, 상기 복수의 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽이 상기 복수의 사용자 단말 장치 각각이 연결될 수 있는 권한 또는 기능을 가지고 있는 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 것을 특징으로 하는 장치.
11. The method of claim 10,
Wherein the network control unit is configured to transmit data traffic generated between the plurality of user terminal devices and the host to the plurality of user terminal devices communicating with the host through a specific network when the number of the plurality of user terminal devices exceeds a predetermined threshold value, And the user terminal device is distributed and transmitted through at least two kinds of networks among the networks having the authority or function to be connected to each of the user terminal devices.
오픈플로우(OpenFlow)에 기반하여 네트워크를 병합하기 위한 장치로서,
자신과 연결되어 있는 적어도 하나의 네트워크의 기지국에, 호스트(Host)와 통신하고자 하는 사용자 단말 장치가 연결되면, 상기 사용자 단말 장치의 가입자 정보를 오픈플로우 컨트롤러(Controller)에게 전송하여 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 복수의 네트워크를 식별할 수 있도록 지원하는 단말 정보 모니터링부, 및
상기 오픈플로우 컨트롤러로부터 전송되는 플로우 룰(Flow Rule)에 관한 정보를 참조로 하여 상기 사용자 단말 장치 및 상기 호스트 사이에서 발생하는 데이터 트래픽(Data Traffic)이 상기 사용자 단말 장치가 연결될 수 있는 권한 또는 기능을 가지고 있는 상기 식별된 복수의 네트워크 중 적어도 두 종류의 네트워크를 통해 분산되어 전송되도록 하는 플로우 처리부
를 포함하는 장치.
An apparatus for merging networks based on OpenFlow,
When a user terminal device to communicate with a host is connected to a base station of at least one network connected to the user terminal, the subscriber information of the user terminal device is transmitted to an open flow controller, A terminal information monitoring unit that supports identification of a plurality of networks having an authority or function that can be connected, and
The data traffic generated between the user terminal and the host by referring to the information about the flow rule transmitted from the open flow controller is a function that permits the user terminal to be connected And distributing the data through at least two types of networks among the identified plurality of networks,
/ RTI >
제1항, 제3항 내지 제9항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.10. A computer program for executing the method according to any one of claims 1 to 9.
KR20140063255A 2014-05-26 2014-05-26 Method, device and computer-readable recording medium for aggregating network based on openflow Active KR101501242B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140063255A KR101501242B1 (en) 2014-05-26 2014-05-26 Method, device and computer-readable recording medium for aggregating network based on openflow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140063255A KR101501242B1 (en) 2014-05-26 2014-05-26 Method, device and computer-readable recording medium for aggregating network based on openflow

Publications (1)

Publication Number Publication Date
KR101501242B1 true KR101501242B1 (en) 2015-03-12

Family

ID=53027137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140063255A Active KR101501242B1 (en) 2014-05-26 2014-05-26 Method, device and computer-readable recording medium for aggregating network based on openflow

Country Status (1)

Country Link
KR (1) KR101501242B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020122424A1 (en) * 2001-03-05 2002-09-05 Kenichi Kawarai Input line interface device and packet communication device
KR20130099199A (en) * 2010-12-17 2013-09-05 닛본 덴끼 가부시끼가이샤 Communication system, node, packet transfer method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020122424A1 (en) * 2001-03-05 2002-09-05 Kenichi Kawarai Input line interface device and packet communication device
KR20130099199A (en) * 2010-12-17 2013-09-05 닛본 덴끼 가부시끼가이샤 Communication system, node, packet transfer method and program

Similar Documents

Publication Publication Date Title
US10911355B2 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
US9654395B2 (en) SDN-based service chaining system
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
US10541920B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
CN108293009B (en) A scheduling method for a software-defined data center and a service cluster therein
US10243862B2 (en) Systems and methods for sampling packets in a network flow
US20170111227A1 (en) Method for mounting a device at a server in a network
US9497661B2 (en) Implementing EPC in a cloud computer with openflow data plane
KR101900536B1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
EP3982600B1 (en) Method and apparatus for configuring a quality of service policy for a service
KR101477012B1 (en) Method, apparatus, system and computer-readable recording medium for sdn switching
JPWO2014112616A1 (en) Control device, communication device, communication system, switch control method and program
KR101527377B1 (en) Service chaining system based on software defined networks
US20150229574A1 (en) Communication system, communication method, information processing apparatus, communication control method, and program
KR101746105B1 (en) Openflow switch capable of service chaining
KR101729944B1 (en) Method for supplying ip address by multi tunant network system based on sdn
US8675669B2 (en) Policy homomorphic network extension
CN104412546A (en) Communication method, communication system, information processing apparatus, communication terminal, and program
KR101493936B1 (en) Method, device and computer-readable recording medium for selecting network based on openflow
KR101501892B1 (en) Method, device and computer-readable recording medium for selecting network suitable for service based on openflow
KR101378313B1 (en) Method, appratus, system and computer-readable recording medium for assisting communication between terminal and local host by using openflow
KR101501242B1 (en) Method, device and computer-readable recording medium for aggregating network based on openflow
KR101679224B1 (en) Network system based on sdn capable traffice distribution
JP2017050708A (en) Communication system, control unit, switch, communication method, and program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20140526

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20140616

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20140526

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140828

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150203

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150304

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150304

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20200304

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20200304

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210304

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20230406

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20240304

Start annual number: 10

End annual number: 10