KR101363338B1 - Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow - Google Patents

Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow Download PDF

Info

Publication number
KR101363338B1
KR101363338B1 KR1020130092821A KR20130092821A KR101363338B1 KR 101363338 B1 KR101363338 B1 KR 101363338B1 KR 1020130092821 A KR1020130092821 A KR 1020130092821A KR 20130092821 A KR20130092821 A KR 20130092821A KR 101363338 B1 KR101363338 B1 KR 101363338B1
Authority
KR
South Korea
Prior art keywords
user terminal
femtocell
flow
information
packet
Prior art date
Application number
KR1020130092821A
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 KR1020130092821A priority Critical patent/KR101363338B1/en
Application granted granted Critical
Publication of KR101363338B1 publication Critical patent/KR101363338B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • H04L9/40
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control

Abstract

A method for assisting communication between user terminals by using the OpenFlow according to an embodiment of the present invention comprises steps of: (a) an OpenFlow controller acquires information on an IP address allocated to a first user terminal connected to a first femtocell, information on a connection relation between the first femtocell and the first user terminal, information on an IP address allocated to a second user terminal connected to a second femtocell, and information on a connection relation between the second femtocell and the second user terminal; and (b) the OpenFlow controller sets a flow table defining a communication path between the first user terminal and the second user terminal by referring to the IP addresses allocated to the first and the second user terminals, the connection relation between the first femtocell and the first user terminal and the connection relation between the second femtocell and the second user terminal. The present invention may realize P-to-P communication between user terminals affiliated to different communication service providers by using the OpenFLow controller and an OpenFlow switch, without passing through a core network operated by a communication service provider. [Reference numerals] (100) OpenFLow controller; (200) OpenFlow switch; (310) First femtocell; (320) Second femtocell; (410) First user terminal; (420) Second user terminal; (510) First core network; (520) Second core network; (600) Public data network; (AA) Third user terminal; (BB) Fourth user terminal

Description

오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체{METHOD, APPRATUS, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR ASSISTING COMMUNICATION BETWEEN TERMINAL BY USING OPENFLOW}METHOD, APPRATUS, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR ASSISTING COMMUNICATION BETWEEN TERMINAL BY USING OPENFLOW}

본 발명은 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치에 할당된 IP 주소 및 펨토셀과 사용자 단말 장치 사이의 연결 관계를 참조로 하여 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정함으로써, 사용자 단말 장치 사이의 통신이 코어 네트워크(Core network)를 거치지 않고 이루어질 수 있도록 하는 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.The present invention relates to a method, an apparatus, a system, and a computer-readable recording medium for supporting communication between user terminal devices using OpenFlow, and more particularly, to a user connected to a femtocell. Acquire information on the IP address assigned to the terminal device and information about the connection relationship between the femtocell and the user terminal device, and refer to the IP address assigned to the user terminal device and the connection relationship between the femtocell and the user terminal device. A method, apparatus, system, and computer readable recording medium for establishing a flow table defining a communication path between terminal devices so that communication between user terminal devices can be made without passing through a core network. It is about.

네트워크 주소 변환(NAT: Network Address Translation, 이하 "NAT"라고 함)은 IP 패킷(즉, 데이터그램(datagram))의 헤더(header) 내의 IP 주소 정보를 변경하는 것을 의미하는데, 일반적으로 사설망에 존재하는 다수의 사설 IP 주소를 하나의 공인망 IP 주소로 변환하는 기술로서 활용되고 있다. NAT에 의할 경우 사설망에 존재하는 다수의 호스트의 각각의 사설 IP 주소를 하나의 공인 IP 주소로 맵핑시킬 수 있기 때문에, 한정된 IP 주소 자원을 절약할 수 있고 NAT 이전의 사설망에 존재하는 다수의 호스트(host)의 사설 IP 주소에 관한 정보를 NAT 너머의 공인망에 공개하지 않음으로써 공인망으로부터의 보안 위협을 차단할 수 있다는 장점이 있다.Network Address Translation (NAT) refers to changing the IP address information in the header of an IP packet (ie, a datagram), which is usually present in a private network Is used as a technology for converting a large number of private IP addresses into one public network IP address. NAT can map each private IP address of a plurality of hosts in a private network to one public IP address, thereby saving a limited number of IP address resources and allowing a large number of hosts it is possible to block the security threat from the authorized network by not disclosing the information about the private IP address of the host to the authorized network beyond NAT.

하지만, NAT를 사용하게 되면, 호스트 내의 프로세스를 지칭해야 하는 포트가 IP 주소에 의하여 지칭되어야 할 호스트를 지칭하게 되는 기형적인 상황이 발생하게 되고, NAT를 수행하기 위하여 네트워크 레이어(network layer, L3)보다 높은 상위 레이어의 데이터까지 처리하는 과정에서 네트워크 성능을 저하시킬 수 있다는 문제점이 발생한다.However, when using NAT, there is a malformed situation in which a port that should refer to a process in the host refers to a host that should be referred to by an IP address, and a network layer (L3) to perform NAT. There is a problem that network performance may be degraded while processing data of higher upper layers.

또한, NAT를 사용하는 네트워크 상에서 사용자 단말 장치가 P-to-P 통신을 수행하게 되면 패킷의 헤더 내의 NAT에 의하여 변환된 IP 주소와 패킷의 페이로드(payload) 내의 변환되지 않은 IP 주소가 일치하지 않음으로 인하여 중대한 문제점이 발생하게 된다. 즉, 상대방으로부터 패킷을 전송 받은 사용자 단말 장치는 해당 패킷의 페이로드 내의 포함된 상대방의 IP 주소(즉, NAT가 수행되지 않은 원래의 공인망 IP 주소)로 응답 패킷을 보내게 되는데, 이러한 경우 NAT를 사용하는 네트워크에서는 해당 응답 패킷에 포함된 상대방의 IP 주소(즉, 공인망 IP 주소)를 해석하지 못하기 때문에 해당 응답 패킷이 상대방에게 전달되지 못하게 되는 문제점이 발생하게 된다.In addition, when a user terminal device performs P-to-P communication on a network using NAT, an IP address converted by NAT in a packet header and an untranslated IP address in a payload of the packet do not match. Serious problems arise. That is, the user terminal device receiving the packet from the other party sends a response packet to the other party's IP address (that is, the original public network IP address where NAT is not performed) included in the payload of the corresponding packet. In a network using the IP address (ie, public network IP address) of the other party included in the corresponding response packet, the corresponding response packet cannot be delivered to the other party.

위와 같은 문제점을 해결하기 위하여, 패킷의 페이로드 내의 소스 IP 주소에 대하여도 NAT를 수행할 수 있는 네트워크 장비를 이용하는 방법이 소개된 바 있지만, 이러한 네트워크 장비는 워낙 고가일 뿐만 아니라 복잡한 구성을 가지고 있기 때문에 비용이나 성능 측면에서 또 다른 문제점을 야기할 수 있다.In order to solve the above problems, a method of using a network device capable of performing NAT for the source IP address in the payload of the packet has been introduced, but such a network device is not only expensive but also has a complicated configuration. This can cause another problem in terms of cost or performance.

한편, 여러 통신사가 하나의 엔터프라이즈(예를 들면, 카카오톡 등의 애플리케이션)에 혼재되어 있는 경우 각 통신사에 속하는 사용자 단말 장치가 서로 간에 직접 통신하기 위해서는 반드시 각 통신사의 코어 네트워크(Core network)를 거쳐야 했는데, 이러한 과정에서 데이터 전송 속도가 떨어지고 시간 지연이 발생하는 등의 문제점이 발생하게 된다.On the other hand, if several carriers are mixed in one enterprise (for example, KakaoTalk application), the user terminal devices belonging to each carrier must directly go through the core network of each carrier in order to directly communicate with each other. However, in this process, problems such as a decrease in data transmission speed and a time delay occur.

이에, 본 발명자는, NAT를 수행하지 않고 통신사의 코어 네트워크를 통하지 않으면서도 오픈플로우 컨트롤러와 오픈플로우 스위치를 이용하여 사용자 단말 장치 사이의 직접 통신을 가능하게 하는 기술을 개발하기에 이르렀다.Accordingly, the present inventors have developed a technology that enables direct communication between user terminal apparatuses using an openflow controller and an openflow switch without performing NAT and through a communication company's core network.

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

또한, 본 발명은 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치에 할당된 IP 주소 및 펨토셀과 사용자 단말 장치 사이의 연결 관계를 참조로 하여 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정함으로써, 사용자 단말 장치 사이의 통신이 코어 네트워크(Core network)를 거치지 않고 이루어질 수 있도록 하는 것을 다른 목적으로 한다.In addition, the present invention obtains information about the IP address assigned to the user terminal device connected to the femtocell and information about the connection relationship between the femtocell and the user terminal device, and the IP address assigned to the user terminal device and By establishing a flow table defining a communication path between the user terminal devices with reference to the connection relationship between the femtocell and the user terminal device, communication between the user terminal devices is achieved without passing through the core network. To do so for other purposes.

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

본 발명의 일 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법으로서, (a) 오픈플로우 컨트롤러(controller)가, 제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 단계, 및 (b) 상기 오픈플로우 컨트롤러가, 상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로 - 상기 통신 경로는 상기 제1 사용자 단말 장치 또는 상기 제2 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계를 포함하는 방법이 제공된다.According to one aspect of the invention, a method for supporting communication between user terminal devices using OpenFlow, (a) an openflow controller is connected to a first femtocell (femtocell) IP obtained from the first femtocell and information related to the IP address assigned to the first femtocell and the connection relationship between the first femtocell and the second femtocell connected to the second user terminal device Obtaining information about an address and information about a connection relationship between the second femtocell and the second user terminal device, and (b) the IP assigned to the first and second user terminal devices by the openflow controller; With reference to an address, a connection relationship between the first femtocell and the first user terminal device, and a connection relationship between the second femtocell and the second user terminal device, 1 a communication path between a user terminal device and the second user terminal device, wherein the communication path is defined as a path that does not pass through a core network of the first user terminal device or the second user terminal device. A method is provided that includes setting a flow table to define.

본 발명의 다른 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 장치로서, 제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로 - 상기 통신 경로는 상기 제1 사용자 단말 장치 또는 상기 제2 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 장치가 제공된다.According to another aspect of the present invention, a device for supporting communication between user terminal devices using OpenFlow, which is assigned to an IP address allocated to a first user terminal device connected to a first femtocell. Information about an IP address assigned to a second user terminal device connected to a second femtocell, and obtaining information about the connection information between the first femtocell and the first user terminal device. A network information collecting unit for obtaining information about a connection relationship between a second user terminal device, an IP address assigned to the first and second user terminal devices, and a connection between the first femtocell and the first user terminal device The first user terminal device and the second user terminal device with reference to a relationship and a connection relationship between the second femtocell and the second user terminal device. A flow for setting a flow table defining a communication path thereof, wherein the communication path is defined as a path that does not pass through a core network of the first user terminal device or the second user terminal device. An apparatus including a table manager is provided.

본 발명의 또 다른 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 시스템으로서, 제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로 - 상기 통신 경로는 상기 제1 사용자 단말 장치 또는 상기 제2 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 오픈플로우 컨트롤러(controller), 및 상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 오픈플로우 스위치(switch)를 포함하는 시스템이 제공된다.According to another aspect of the present invention, a system for supporting communication between user terminal devices using OpenFlow, the IP address assigned to the first user terminal device connected to the first femtocell (femtocell) Information about an IP address allocated to a second user terminal device connected with a second femtocell, and obtaining information about the first femtocell and a connection relationship between the first femtocell and the first femtocell. A network information collection unit for obtaining information about a connection relationship between the second user terminal device and an IP address assigned to the first and second user terminal devices, and between the first femtocell and the first user terminal device. The first user terminal device and the second user terminal with reference to a connection relationship and a connection relationship between the second femtocell and the second user terminal device. Set a flow table that defines a communication path between devices, the communication path being defined as a path that does not pass through a core network of the first user terminal device or the second user terminal device. Provided is a system including an open flow controller (controller) including a flow table management unit, and an open flow switch (switch) for delivering a packet according to a communication path defined by the set flow table.

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

본 발명에 의하면, 사용자 단말 장치 사이에서 통신을 수행함에 있어서 NAT를 수행할 필요가 없으므로, 패킷의 헤더에 포함된 IP 주소와 패킷의 페이로드에 포함된 IP 주소 사이의 불일치로 인하여 발생할 수 있는 문제점을 방지할 수 있게 되는 효과가 달성된다.According to the present invention, since it is not necessary to perform NAT in communication between user terminal devices, a problem that may occur due to a mismatch between the IP address included in the packet header and the IP address included in the payload of the packet. The effect of being able to prevent this is achieved.

또한, 본 발명에 의하면, 통신사에서 운영하는 코어 네트워크(Core network)를 거치지 않고도 오픈플로우(OpenFlow) 컨트롤러와 오픈플로우 스위치를 이용하여 서로 다른 통신사에 속하는 사용자 단말 장치 사이의 직접(P-to-P) 통신이 이루어지도록 할 수 있으므로, 네트워크 트래픽을 줄이고 데이터 전송 속도를 높일 수 있게 되는 효과가 달성된다.In addition, according to the present invention, a direct (P-to-P) between user terminal devices belonging to different carriers using an OpenFlow controller and an OpenFlow switch without going through a core network operated by a carrier. Since communication can be performed, the effect of reducing network traffic and increasing data transmission speed is achieved.

도 1은 본 발명에 따라 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 내부 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 오픈플로우 컨트롤러 및 오픈플로우 스위치에 의하여 관리되는 맵핑 테이블을 예시적으로 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치 사이에서 패킷 전송이 수행되는 과정을 예시적으로 나타내는 도면이다.
FIG. 1 is a diagram schematically illustrating a configuration of an entire system for supporting communication between user terminal devices using 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 illustrating a mapping table managed by an openflow controller and an openflow switch according to an exemplary embodiment of the present invention.
4 is a diagram exemplarily illustrating a process in which packet transmission is performed between user terminal devices according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE INVENTION The following detailed description of the invention refers to the accompanying drawings that show, 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)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.FIG. 1 is a diagram schematically illustrating a configuration of an entire system for supporting communication between user terminal devices using open flow according to the present invention.

도 1에 도시되어 있는 바와 같이, 본 발명의 전체 시스템은 오픈플로우 컨트롤러(OpenFlow controller)(100), 오픈플로우 스위치(OpenFlow switch)(200), 펨토셀(femtocell)(310, 320), 사용자 단말 장치(410 내지 420), 코어 네트워크(Core network)(510, 520) 및 공중 데이터 네트워크(600)을 포함하여 구성될 수 있고, 여기서, 코어 네트워크(510, 520)는 패킷 데이터 네트워크 게이트웨이(P-GW)(511, 521) 및 시큐리티 게이트웨이(Se-GW)(512, 522)를 포함할 수 있다.As shown in FIG. 1, the entire system of the present invention includes an open flow controller 100, an open flow switch 200, femtocells 310 and 320, and a user terminal device. 410 to 420, core networks 510 and 520, and public data network 600, where the core networks 510 and 520 are packet data network gateways (P-GWs). ) 511 and 521 and security gateway (Se-GW) 512 and 522.

먼저, 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100)는 펨토셀(femtocell)(310, 320)과 무선으로 연결되어 있는 사용자 단말 장치(410 내지 420)에 할당되는 IP 주소에 관한 정보 및 펨토셀(310, 320)과 사용자 단말 장치(410 내지 420) 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치(410 내지 420)에 할당된 IP 주소 및 펨토셀(310, 320)과 사용자 단말 장치(410 내지 420) 사이의 연결 관계를 참조로 하여 사용자 단말 장치(410 내지 420) 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 기능을 수행한다.First, according to an embodiment of the present invention, the open flow controller 100 may include information about an IP address allocated to the user terminal devices 410 to 420 that are wirelessly connected to the femtocells 310 and 320. Obtains information about a connection relationship between the femtocells 310 and 320 and the user terminal devices 410 to 420, and assigns an IP address and the femtocells 310 and 320 to the user terminal devices 410 to 420 and the user terminal device. A function of setting a flow table that defines a communication path between the user terminal devices 410 through 420 with reference to the connection relationship between the operations 410 through 420 is performed.

다음으로, 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 코어 네트워크(510, 520), 사용자 단말 장치(410 내지 420) 또는 공중 데이터 네트워크(600)로부터의 패킷을 전달하는 기능을 수행한다. 특히, 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 오픈플로우 컨트롤러(100)로부터 전달 받은 플로우 테이블(Flow table)에 의해 정의된 통신 경로에 따라 사용자 단말 장치(410 내지 420) 사이의 패킷을 전달하는 기능을 수행한다.Next, according to an embodiment of the present invention, the openflow switch 200 has a function of delivering packets from the core networks 510 and 520, the user terminal devices 410 to 420, or the public data network 600. To perform. In particular, according to an embodiment of the present invention, the open flow switch 200 is between the user terminal device (410 to 420) according to the communication path defined by the flow table (Flow table) received from the open flow controller (100) Performs the function of forwarding packets.

오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)의 구성에 대한 보다 자세한 설명은 후술하기로 한다.More detailed description of the configuration of the open flow controller 100 and the open flow switch 200 will be described later.

다음으로, 본 발명의 일 실시예에 따르면, 펨토셀(310, 320)은 사용자 단말 장치(410 내지 420)와 무선으로 연결되어 사용자 단말 장치(410 내지 420)가 펨토셀(310, 320)을 통하여 오픈플로우 스위치(OpenFlow switch)(200), 다른 사용자 단말 장치(410 내지 420), 코어 네트워크(Core network)(510, 520), 공중 데이터 네트워크(600) 등과 통신할 수 있도록 하는 기능을 수행할 수 있다. 따라서, 사용자 단말 장치(410 내지 420)를 목적지로 하는 패킷이나 사용자 단말 장치(410 내지 420)를 출발지로 하는 패킷은 펨토셀(310, 320)을 거치게 된다. 예를 들면, 본 발명의 일 실시예에 따른 펨토셀(310, 320)에는 HNB(Home Node B), HeNB(Home eNode B) 등이 포함될 수 있으나 반드시 이에 한정되는 것은 아니다.Next, according to an embodiment of the present invention, the femtocells 310 and 320 are wirelessly connected to the user terminal devices 410 to 420 so that the user terminal devices 410 to 420 are opened through the femtocells 310 and 320. A function may be performed to communicate with an open flow switch 200, other user terminal devices 410 through 420, core networks 510 and 520, and a public data network 600. . Accordingly, the packet destined for the user terminal devices 410 to 420 or the packet destined for the user terminal devices 410 to 420 pass through the femtocells 310 and 320. For example, the femtocells 310 and 320 according to an embodiment of the present invention may include a Home Node B (HNB), a Home eNode B (HeNB), and the like, but are not limited thereto.

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

다음으로, 본 발명의 일 실시예에 따르면, 코어 네트워크(510, 520)는 사용자 단말 장치(410 내지 420)가 속한 이동통신사에 의하여 운영되는 네트워크를 가리키는 것으로서, 패킷 데이터 네트워크 게이트웨이(P-GW)(511, 521) 및 시큐리티 게이트웨이(Se-GW)(512, 522)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 코어 네트워크(510, 520)에 존재하는 패킷 데이터 네트워크 게이트웨이(P-GW)(511, 521)는 사용자 단말 장치(410 내지 420)에 대하여 IP를 동적으로 할당하는 기능을 수행할 수 있다.Next, according to an embodiment of the present invention, the core networks 510 and 520 refer to a network operated by a mobile communication company to which the user terminal devices 410 to 420 belong. The packet data network gateway (P-GW) 511 and 521 and security gateways (Se-GWs) 512 and 522. According to an embodiment of the present invention, the packet data network gateways (P-GWs) 511 and 521 existing in the core networks 510 and 520 dynamically allocate IPs to the user terminal devices 410 to 420. Function can be performed.

오픈플로우Open flow 컨트롤러(100) 및  Controller 100 and 오픈플로우Open flow 스위치(200)의 구성 Configuration of the switch 200

이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)의 내부 구성 및 구체적인 기능에 대하여 살펴보기로 한다.Hereinafter, the internal configuration and specific functions of the open flow controller 100 and the open flow switch 200 performing important functions for the implementation 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)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.As shown in FIG. 2, the open flow controller 100 according to an embodiment of the present invention may include a network information collecting unit 110 and a flow table managing unit 120. According to an embodiment of the present invention, the network information collecting unit 110 and the flow table management unit 120 may be program modules, at least some of which are in communication with an external system. 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. In addition, at least some of these program modules may be stored in a remote storage device that can communicate 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)는 펨토셀(femtocell)(310, 320)과 연결되어 있는 사용자 단말 장치(410 내지 420)에 할당되는 IP 주소에 관한 정보 및 펨토셀(310, 320)과 사용자 단말 장치(410 내지 420) 사이의 연결 관계에 관한 정보(즉, 어떤 사용자 단말 장치가 어떤 펨토셀에 연결되어 있는지에 관한 정보)를 획득하는 기능을 수행할 수 있다.First, according to an embodiment of the present invention, the network information collecting unit 110 is a femtocell and information about the IP address assigned to the user terminal devices (410 to 420) connected to the femtocell (310, 320) And a function for acquiring information on a connection relationship between the 310 and 320 and the user terminal devices 410 to 420 (that is, information on which user terminal device is connected to which femtocell).

구체적으로, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 제1 펨토셀(femtocell)(310)과 연결되어 있는 제1 사용자 단말 장치(410)에 할당되는 IP 주소에 관한 정보 및 제1 펨토셀(310)과 제1 사용자 단말 장치(410) 사이의 연결 관계에 관한 정보를 획득할 수 있고, 이와 더불어 제2 펨토셀(320)과 연결되어 있는 제2 사용자 단말 장치(420)에 할당되는 IP 주소에 관한 정보 및 제2 펨토셀(320)과 제2 사용자 단말 장치(420) 사이의 연결 관계에 관한 정보를 획득하는 기능을 수행할 수 있다. 여기서, 본 발명의 일 실시예에 따른 네트워크 정보 수집부(110)는 각 사용자 단말 장치(410 내지 420)와 무선으로 연결되어 있어서 코어 네트워크(510, 520)로부터 각 사용자 단말 장치(410 내지 420)로의 IP 주소 할당을 위한 패킷의 전달 통로가 되는 각 펨토셀(310, 320) 상에서 각 사용자 단말 장치(410 내지 420)에 대한 IP 주소 할당에 관한 정보를 수집할 수 있다.Specifically, according to an embodiment of the present invention, the network information collecting unit 110 may include information about an IP address allocated to the first user terminal device 410 connected to the first femtocell 310 and Information about a connection relationship between the first femtocell 310 and the first user terminal device 410 may be obtained and allocated to the second user terminal device 420 connected to the second femtocell 320. A function for obtaining information regarding an IP address and a connection relationship between the second femtocell 320 and the second user terminal device 420 may be performed. Here, the network information collecting unit 110 according to an embodiment of the present invention is wirelessly connected to each of the user terminal devices 410 to 420, and thus, each of the user terminal devices 410 to 420 from the core networks 510 and 520. Information on the IP address allocation for each user terminal device (410 to 420) can be collected on each femtocell (310, 320) that is a transmission path of a packet for IP address allocation to the local network.

또한, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 오픈플로우 스위치(200)와 유선 또는 무선으로 연결되어 있는 펨토셀(310, 320)이 오픈플로우 스위치의 어느 포트(port)에 연결되어 있는지에 관한 정보 역시 수집할 수 있다.In addition, according to an embodiment of the present invention, the network information collection unit 110 is femtocell (310, 320) connected to the open flow switch 200 by wire or wirelessly to any port (port) of the open flow switch You can also collect information about whether you are connected.

위와 같이 네트워크 정보 수집부(100)에 의하여 수집된 다양한 정보는 후술할 플로우 테이블을 설정함에 있어서 참조가 되는 정보로서 활용될 수 있다.Various information collected by the network information collecting unit 100 as described above may be utilized as information for reference in setting up a flow table to be described later.

다음으로, 본 발명의 일 실시예에 따르면, 플로우 테이블 관리부(120)는 사용자 단말 장치(410 내지 420)에 할당된 IP 주소 및 사용자 단말 장치(410 내지 420)와 펨토셀(310, 320) 사이의 연결 관계를 참조로 하여, 사용자 단말 장치(410 내지 420) 사이의 통신 경로, 즉, 패킷 전달 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 기능을 수행할 수 있다. 여기서, 플로우(Flow)란, 특정 시간 동안 네트워크 상의 특정 지점을 지나가는 패킷의 집합을 의미할 수 있다. 여기서, 본 발명에서 말하는 플로우가 반드시 특정 시간에 한정되어 정의되는 것은 아님을 밝혀 둔다.Next, according to an embodiment of the present invention, the flow table management unit 120 is an IP address assigned to the user terminal devices 410 to 420 and between the user terminal devices 410 to 420 and the femtocells 310 and 320. With reference to the connection relationship, a function of setting a flow table defining a communication path, ie, a packet forwarding path, between the user terminal devices 410 to 420 may be performed. Here, the flow may mean a set of packets passing through a specific point on the network for a specific time. Here, it should be clear that the flow described in the present invention is not necessarily limited to a specific time.

본 발명의 일 실시예에 따르면, 플로우 테이블 관리부(120)는 플로우 테이블을 설정함에 있어서 사용자 단말 장치(410 내지 420) 사이의 통신 경로가 해당 사용자 단말 장치(410 내지 420)가 속하는 이동통신사가 운영하는 코어 네트워크(510, 520)를 거치지 않도록 할 수 있다.According to an embodiment of the present invention, the flow table management unit 120 operates the mobile communication company to which the user terminal device (410 to 420) belongs to the communication path between the user terminal device (410 to 420) in setting the flow table The core networks 510 and 520 may be avoided.

구체적으로, 본 발명의 일 실시예에 따르면, 플로우 테이블에는, 각 사용자 단말 장치의 할당된 IP 주소, 각 사용자 단말 장치와 무선으로 연결되는 각 펨토셀의 IP 주소 및 이들 IP 주소와 오픈플로우 스위치(200)의 포트 사이의 매칭 관계에 관한 정보가 포함될 수 있다.Specifically, according to an embodiment of the present invention, the flow table includes an assigned IP address of each user terminal device, an IP address of each femtocell connected to each user terminal device wirelessly, and these IP addresses and the openflow switch 200. Information about a matching relationship between the ports of the "

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

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

다음으로, 액션(actions)은 오픈플로우 스위치(200)로 유입되는 패킷의 정보와 플로우 테이블의 헤더 필드의 정보가 매칭될 때 해당 패킷을 어떻게 처리할지에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 플로우 테이블의 액션 부분에 저장된 정보를 참조로 하여 해당 패킷을 정해진 하나의 포트 또는 여러 개의 포트로 전달하거나 해당 패킷을 더 이상 전달하지 않고 차단할 수 있다. 만약, 플로우 테이블의 헤더 필드 내에 오픈플로우 스위치(200)로 유입되는 패킷의 정보와 매칭되는 정보가 없는 경우에는, 해당 패킷의 소스 IP 주소, 데스티네이션 IP 주소 등을 참조로 하여 해당 패킷에 대한 플로우 제어 정보를 새로이 생성할 수 있다.Next, the actions may include information on how to process the packet when the information of the packet flowing into the open flow switch 200 and the information of the header field of the flow table match. According to an embodiment of the present invention, the openflow switch 200 refers to the information stored in the action portion of the flow table, and delivers the packet to a single port or a plurality of ports, or forwards the packet no longer. You can block. If there is no information matching the information of the packet flowing into the open flow switch 200 in the header field of the flow table, the flow for the packet is referred to by referring to the source IP address, destination IP address, etc. of the packet. New control information can be created.

구체적으로, 본 발명의 일 실시예에 따르면, 제1 사용자 단말 장치(410)로부터 제2 사용자 단말 장치(420)로의 패킷 또는 제2 사용자 단말 장치(420)로부터 제1 사용자 단말 장치(410)로의 패킷이 오픈플로우 스위치(200)에 수신되면, 오픈플로우 컨트롤러(100)가, 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420) 사이의 직접 통신을 위한 통신 경로를 정의하는 플로우 제어 정보를 생성하여 플로우 테이블에 추가할 수 있다.Specifically, according to an embodiment of the present invention, a packet from the first user terminal device 410 to the second user terminal device 420 or from the second user terminal device 420 to the first user terminal device 410. When the packet is received by the open flow switch 200, the open flow controller 100 defines a flow path for defining a communication path for direct communication between the first user terminal device 410 and the second user terminal device 420. You can generate information and add it to the flow table.

또한, 본 발명의 일 실시예에 따르면, 제1 사용자 단말 장치(410)로부터 제2 사용자 단말 장치(420)로의 패킷 또는 제2 사용자 단말 장치(420)로부터 제1 사용자 단말 장치(410)로의 패킷이 오픈플로우 스위치(200)에 기설정된 횟수 이상 수신됨에 따라 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420) 사이의 통신이 빈번하게 이루어지고 있는 것으로 판단되면, 오픈플로우 컨트롤러(100)가, 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420) 사이의 직접 통신을 위한 통신 경로를 정의하는 플로우 제어 정보를 생성하여 플로우 테이블에 추가할 수 있다.Further, according to an embodiment of the present invention, a packet from the first user terminal device 410 to the second user terminal device 420 or a packet from the second user terminal device 420 to the first user terminal device 410. If it is determined that the communication between the first user terminal device 410 and the second user terminal device 420 is frequently performed as the number of times of the open flow switch 200 is received more than a predetermined number of times, the open flow controller 100 ) May generate and add flow control information defining a communication path for direct communication between the first user terminal device 410 and the second user terminal device 420 to the flow table.

다음으로, 카운터(counters)는 플로우 테이블에 패킷 처리에 관한 제어 정보가 등록된 시점부터 현재 시점까지 경과된 시간에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 플로우 테이블에 저장된 패킷 처리에 관한 제어 정보는 정해진 시간 동안만 유지되도록 설정될 수 있는데, 이러한 경우에 카운터에 저장된 경과 시간에 관한 정보가 제어 정보의 생명 주기(life cycle) 관리에 사용될 수 있다.Next, the counters may include information about time elapsed from the time point at which control information about packet processing is registered in the flow table to the current time point. 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) 및 오픈플로우 스위치(200)에 의하여 관리되는 맵핑 테이블을 예시적으로 나타내는 도면이다.3 is a diagram exemplarily illustrating a mapping table managed by the openflow controller 100 and the openflow switch 200 according to an exemplary embodiment of the present invention.

도 3을 참조하면, 소스 IP 주소가 "10.0.0.2"이고 데스트네이션 IP 주소가 "10.0.0.3"인 패킷은 오픈플로우 스위치(200)의 포트 "a"로 전달되도록 설정되고, 반대로 소스 IP 주소가 "10.0.0.3"이고 데스트네이션 IP 주소가 "10.0.0.2"인 패킷은 오픈플로우 스위치(200)의 "b"로 전달되도록 설정될 수 있다. 또한, 소스 IP 주소가 "10.0.0.4"이고 데스트네이션 IP 주소가 "10.0.0.5"인 패킷은 오픈플로우 스위치(200)의 포트 "c"로 전달되도록 설정되고, 반대로 소스 IP 주소가 "10.0.0.5"이고 데스트네이션 IP 주소가 "10.0.0.4"인 패킷은 오픈플로우 스위치(200)의 포트 "d"로 전달되도록 설정될 수 있다. 위와 같이 플로우 테이블을 참조로 하여 오픈플로우 스위치(200)의 각 포트로 전달된 패킷은 해당 패킷의 데스티네이션 IP 주소가 가리키는 사용자 단말 장치(410 내지 420)로 전달될 수 있게 된다. 즉, 본 발명의 일 실시예에 따르면, 패킷에 대하여 따로 NAT를 수행하지 않더라도 오픈플로우 컨트롤러(100)와 오픈플로우 스위치(200)에 의하여 해당 패킷이 정상적으로 전송될 수 있게 된다.Referring to FIG. 3, a packet having 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 port "a" of the openflow switch 200, and vice versa. Is “10.0.0.3” and the destination IP address is “10.0.0.2”, the packet may be set to be delivered to “b” of the openflow switch 200. Further, a packet having a source IP address of "10.0.0.4" and a destination IP address of "10.0.0.5" is set to be delivered to port "c" of the openflow switch 200, and conversely, the source IP address of "10.0. A packet having a 0.5 "and a destination IP address of" 10.0.0.4 "may be set to be delivered to the port" d "of the openflow switch 200. The packet transmitted to each port of the open flow switch 200 with reference to the flow table as described above may be delivered to the user terminal devices 410 to 420 indicated by the destination IP address of the packet. That is, according to an embodiment of the present invention, even if the NAT is not performed separately for the packet, the packet can be normally transmitted by the open flow controller 100 and the open flow switch 200.

도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치 사이에서 패킷 전송이 수행되는 과정을 예시적으로 나타내는 도면이다.4 is a diagram exemplarily illustrating a process in which packet transmission is performed between user terminal devices according to an embodiment of the present invention.

도 4를 참조하면, (i) 먼저, 제1 코어 네트워크(510)의 패킷 데이터 네트워크 게이트웨이(P-GW)(511)와 제2 코어 네트워크(520)의 패킷 데이터 네트워크 게이트웨이(P-GW)(521)는 각각 제1 펨토셀(310)과 제2 펨토셀(320)을 통하여 각각 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420)에 대하여 IP 주소를 할당할 수 있다(S710). (ii) 다음으로, 오픈플로우 컨트롤러(100)는 제1 펨토셀(310)과 제2 펨토셀(320) 상에서 각각 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420)에 할당된 IP 주소에 관한 정보를 획득할 수 있고(S720), 이렇게 획득된 정보를 참조로 하여, 앞서 살펴본 다양한 실시예에 따라 제1 사용자 단말 장치(410)와 제2 사용자 단말 장치(420) 사이의 직접 통신을 위한 통신 경로(즉, 제1 사용자 단말 장치(410) 또는 제2 사용자 단말 장치(420)의 코어 네트워크(Core network)를 통과하지 않는 직접적인 경로)를 정의하는 플로우 테이블을 설정하여 오픈플로우 스위치(200)에 전달할 수 있다(S730). (iii) 다음으로, 제1 사용자 단말 장치(410)가 제2 사용자 단말 장치(420)에 대하여 발송한 패킷이 오픈플로우 스위치(200)에 전달되면, 오픈플로우 스위치(200)는 플로우 테이블에 따라 해당 패킷을 자신의 특정 포트로 전달함으로써 해당 패킷이 제2 사용자 단말 장치(420)에 전달될 수 있도록 할 수 있다(S740, S750).Referring to FIG. 4, (i) first, a packet data network gateway (P-GW) 511 of a first core network 510 and a packet data network gateway (P-GW) of a second core network 520 ( 521 may allocate an IP address to the first user terminal device 410 and the second user terminal device 420 through the first femtocell 310 and the second femtocell 320, respectively (S710). (ii) Next, the open flow controller 100 assigns an IP address to the first user terminal device 410 and the second user terminal device 420 on the first femtocell 310 and the second femtocell 320, respectively. Information relating to the first user terminal device 410 and the second user terminal device 420 according to various embodiments of the present invention described above with reference to the obtained information. Open flow switch 200 by setting a flow table that defines a communication path (that is, a direct path that does not pass through the core network of the first user terminal device 410 or the second user terminal device 420). It can be delivered to (S730). (iii) Next, when the packet sent by the first user terminal device 410 to the second user terminal device 420 is delivered to the open flow switch 200, the open flow switch 200 according to the flow table. By transmitting the packet to its specific port, the packet may be delivered to the second user terminal device 420 (S740 and S750).

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to 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, DVDs, and 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 not only machine code generated by a compiler, but also 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.

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

100: 오픈플로우 컨트롤러(OpenFlow controller)
200: 오픈플로우 스위치(OpenFlow switch)
310 및 320: 제1 및 제2 펨토셀(femtocell)
410 내지 420: 제1 내지 제2 사용자 단말 장치
510 및 520: 제1 및 제2 코어 네트워크(Core network)
511 및 521: 패킷 데이터 네트워크 게이트웨이(P-GW)
512 및 522: 시큐리티 게이트웨이(Se-GW)
600: 공중 데이터 네트워크(PDN: Public Data Network)
100: OpenFlow controller
200: OpenFlow switch
310 and 320: first and second femtocell
410 to 420: first to second user terminal devices
510 and 520: first and second core networks
511 and 521: Packet Data Network Gateway (P-GW)
512 and 522: Security Gateway (Se-GW)
600: Public Data Network (PDN)

Claims (21)

오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법으로서,
(a) 오픈플로우 컨트롤러(controller)가, 제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 단계, 및
(b) 상기 오픈플로우 컨트롤러가, 상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
를 포함하고,
상기 (a) 단계에서,
상기 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보는 각각 상기 제1 펨토셀 및 상기 제2 펨토셀 상에서 획득되고,
상기 (b) 단계에서,
상기 오픈플로우 컨트롤러는, 상기 제1 사용자 단말 장치로부터 발송되어 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 또는 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거쳐 상기 제2 사용자 단말 장치에 전달되도록 설정된 패킷이 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 및 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거침이 없이 상기 제2 사용자 단말 장치에 직접 전달되도록 하는 통신 경로를 정의하고,
상기 정의된 통신 경로를 통해 전달되는 패킷은 NAT(Network Address Translation)가 수행됨이 없이 전달되는 것을 특징으로 하는 방법.
As a method for supporting communication between user terminal devices using OpenFlow,
(a) an open flow controller determines information about an IP address assigned to a first user terminal device connected to a first femtocell and a connection relationship between the first femtocell and the first user terminal device. Acquiring information about the IP address assigned to the second user terminal device connected to the second femtocell and obtaining information about a connection relationship between the second femtocell and the second user terminal device; and
(b) the OpenFlow controller includes an IP address assigned to the first and second user terminal devices, a connection relationship between the first femtocell and the first user terminal device, and the second femtocell and the second user terminal. Setting a flow table defining a communication path between the first user terminal device and the second user terminal device with reference to a connection relationship between devices;
Lt; / RTI >
In the step (a)
Information about an IP address assigned to the first user terminal device and information about an IP address assigned to the second user terminal device are obtained on the first femtocell and the second femtocell, respectively,
In the step (b)
The open flow controller may be configured to send a packet configured to be transmitted from the first user terminal device to the second user terminal device via a core network to which the first user terminal device belongs or through a core network to which the second user terminal device belongs. Define a communication path through which the core network to which the first user terminal device belongs and the core network to which the second user terminal device belongs directly to the second user terminal device without passing through the core network;
The packet transmitted through the defined communication path is delivered without performing network address translation (NAT).
삭제delete 제1항에 있어서,
상기 플로우 테이블에는, 상기 제1 사용자 단말 장치, 상기 제2 사용자 단말 장치, 상기 제1 펨토셀 및 상기 제2 펨토셀 중 적어도 하나의 IP 주소와 상기 오픈플로우 스위치의 포트 사이의 매칭 관계에 관한 정보가 포함되는 것을 특징으로 하는 방법.
The method of claim 1,
The flow table includes information on a matching relationship between an IP address of at least one of the first user terminal device, the second user terminal device, the first femtocell, and the second femtocell and a port of the open flow switch. Characterized in that the method.
제1항에 있어서,
(c) 상기 오픈플로우 컨트롤러가, 상기 설정된 플로우 테이블을 오픈플로우 스위치에 전달하는 단계
를 더 포함하고,
상기 오픈플로우 스위치가 상기 전달된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하도록 하는 것을 특징으로 하는 방법.
The method of claim 1,
(c) transmitting, by the open flow controller, the set flow table to an open flow switch;
Further comprising:
And the openflow switch forwards the packet according to the communication path defined by the forwarded flow table.
제1항에 있어서,
상기 제1 사용자 단말 장치 및 상기 제2 사용자 단말 장치에 대한 IP 주소 할당은 각각 상기 제1 사용자 단말 장치 및 상기 제2 사용자 단말 장치가 속한 통신사의 코어 네트워크(Core network)에 의하여 수행되는 것을 특징으로 하는 방법.
The method of claim 1,
The IP address allocation to the first user terminal device and the second user terminal device may be performed by a core network of a communication company to which the first user terminal device and the second user terminal device belong, respectively. How to.
삭제delete 제1항에 있어서,
상기 제1 펨토셀 및 상기 제2 펨토셀에는, HNB(Home Node B) 및 HeNB(Home eNode B) 중 적어도 하나가 포함되는 것을 특징으로 하는 방법.
The method of claim 1,
The first femtocell and the second femtocell, characterized in that at least one of a Home Node B (HNB) and a Home eNode B (HeNB) is included.
제1항에 있어서,
상기 (b) 단계에서,
상기 제1 사용자 단말 장치로부터 상기 제2 사용자 단말 장치로의 패킷 또는 상기 제2 사용자 단말 장치로부터 상기 제1 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 수신되면, 상기 오픈플로우 컨트롤러가, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 방법.
The method of claim 1,
In the step (b)
If the openflow switch receives a packet from the first user terminal device to the second user terminal device or a packet from the second user terminal device to the first user terminal device, the openflow controller is configured to perform the operation. And setting a flow table defining a communication path between the user terminal device and the second user terminal device.
제1항에 있어서,
상기 (b) 단계에서,
상기 제1 사용자 단말 장치로부터 상기 제2 사용자 단말 장치로의 패킷 또는 상기 제2 사용자 단말 장치로부터 상기 제1 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 기설정된 횟수 이상 수신되면, 상기 오픈플로우 컨트롤러가, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 방법.
The method of claim 1,
In the step (b)
The open flow controller when the packet from the first user terminal device to the second user terminal device or the packet from the second user terminal device to the first user terminal device is received more than a predetermined number of times by the open flow switch. A flow table defining a communication path between the first user terminal device and the second user terminal device.
제1항에 있어서,
(c) 오픈플로우 스위치(switch)가, 상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 단계
를 더 포함하는 방법.
The method of claim 1,
(c) the open flow switch (switch), forwarding the packet according to the communication path defined by the set flow table
≪ / RTI >
오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 장치로서,
제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 네트워크 정보 수집부, 및
상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
를 포함하고,
상기 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보는 각각 상기 제1 펨토셀 및 상기 제2 펨토셀 상에서 획득되고,
상기 플로우 테이블 관리부는, 상기 제1 사용자 단말 장치로부터 발송되어 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 또는 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거쳐 상기 제2 사용자 단말 장치에 전달되도록 설정된 패킷이 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 및 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거침이 없이 상기 제2 사용자 단말 장치에 직접 전달되도록 하는 통신 경로를 정의하고,
상기 정의된 통신 경로를 통해 전달되는 패킷은 NAT(Network Address Translation)가 수행됨이 없이 전달되는 것을 특징으로 하는 장치.
An apparatus for supporting communication between user terminal devices using OpenFlow,
Obtains information about an IP address assigned to a first user terminal device connected to a first femtocell and information about a connection relationship between the first femtocell and the first user terminal device and connects to a second femtocell. A network information collection unit for obtaining information about an IP address assigned to the second user terminal device and information on a connection relationship between the second femtocell and the second user terminal device;
With reference to IP addresses assigned to the first and second user terminal devices, the connection relationship between the first femtocell and the first user terminal device and the connection relationship between the second femtocell and the second user terminal device And a flow table manager configured to set a flow table defining a communication path between the first user terminal device and the second user terminal device.
Lt; / RTI >
Information about an IP address assigned to the first user terminal device and information about an IP address assigned to the second user terminal device are obtained on the first femtocell and the second femtocell, respectively,
The flow table manager may be configured to send a packet set to be delivered from the first user terminal device to the second user terminal device via a core network to which the first user terminal device belongs or through a core network to which the second user terminal device belongs. Define a communication path through which the core network to which the first user terminal device belongs and the core network to which the second user terminal device belongs directly to the second user terminal device without passing through the core network;
The packet transmitted through the defined communication path is delivered without performing a network address translation (NAT).
삭제delete 제11항에 있어서,
상기 플로우 테이블에는, 상기 제1 사용자 단말 장치, 상기 제2 사용자 단말 장치, 상기 제1 펨토셀 및 상기 제2 펨토셀 중 적어도 하나의 IP 주소와 상기 오픈플로우 스위치의 포트 사이의 매칭 관계에 관한 정보가 포함되는 것을 특징으로 하는 장치.
12. The method of claim 11,
The flow table includes information on a matching relationship between an IP address of at least one of the first user terminal device, the second user terminal device, the first femtocell, and the second femtocell and a port of the open flow switch. Apparatus characterized in that the.
제11항에 있어서,
상기 플로우 테이블 관리부는, 상기 설정된 플로우 테이블을 오픈플로우 스위치에 전달하고, 상기 오픈플로우 스위치가 상기 전달된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하도록 하는 것을 특징으로 하는 장치.
12. The method of claim 11,
And the flow table manager transfers the set flow table to an open flow switch and causes the open flow switch to deliver a packet according to a communication path defined by the transferred flow table.
제11항에 있어서,
상기 제1 사용자 단말 장치 및 상기 제2 사용자 단말 장치에 대한 IP 주소 할당은 각각 상기 제1 사용자 단말 장치 및 상기 제2 사용자 단말 장치가 속한 통신사의 코어 네트워크(Core network)에 의하여 수행되는 것을 특징으로 하는 장치.
12. The method of claim 11,
The IP address allocation to the first user terminal device and the second user terminal device may be performed by a core network of a communication company to which the first user terminal device and the second user terminal device belong, respectively. Device.
삭제delete 제11항에 있어서,
상기 제1 펨토셀 및 상기 제2 펨토셀에는, HNB(Home Node B) 및 HeNB(Home eNode B) 중 적어도 하나가 포함되는 것을 특징으로 하는 장치.
12. The method of claim 11,
The first femtocell and the second femtocell, characterized in that at least one of a Home Node B (HNB) and a Home eNode B (HeNB) is included.
제11항에 있어서,
상기 플로우 테이블 관리부는, 상기 제1 사용자 단말 장치로부터 상기 제2 사용자 단말 장치로의 패킷 또는 상기 제2 사용자 단말 장치로부터 상기 제1 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 수신되면, 상기 오픈플로우 컨트롤러가, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 장치.
12. The method of claim 11,
The flow table management unit opens the packet when the packet from the first user terminal device to the second user terminal device or the packet from the second user terminal device to the first user terminal device is received by the open flow switch. And a flow controller sets a flow table defining a communication path between the first user terminal device and the second user terminal device.
제11항에 있어서,
상기 플로우 테이블 관리부는, 상기 제1 사용자 단말 장치로부터 상기 제2 사용자 단말 장치로의 패킷 또는 상기 제2 사용자 단말 장치로부터 상기 제1 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 기설정된 횟수 이상 수신되면, 상기 오픈플로우 컨트롤러가, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 장치.
12. The method of claim 11,
The flow table management unit receives a packet from the first user terminal device to the second user terminal device or a packet from the second user terminal device to the first user terminal device more than a preset number of times. And the open flow controller sets a flow table defining a communication path between the first user terminal device and the second user terminal device.
오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 시스템으로서,
제1 펨토셀(femtocell)과 연결되어 있는 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제1 펨토셀과 제1 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 제2 펨토셀과 연결되어 있는 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 펨토셀과 제2 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 제1 및 제2 사용자 단말 장치에 할당된 IP 주소, 상기 제1 펨토셀과 상기 제1 사용자 단말 장치 사이의 연결 관계 및 상기 제2 펨토셀과 상기 제2 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 제1 사용자 단말 장치와 상기 제2 사용자 단말 장치 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 오픈플로우 컨트롤러(controller), 및
상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 오픈플로우 스위치(switch)
를 포함하고,
상기 제1 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 제2 사용자 단말 장치에 할당되는 IP 주소에 관한 정보는 각각 상기 제1 펨토셀 및 상기 제2 펨토셀 상에서 획득되고,
상기 플로우 테이블 관리부는, 상기 제1 사용자 단말 장치로부터 발송되어 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 또는 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거쳐 상기 제2 사용자 단말 장치에 전달되도록 설정된 패킷이 상기 제1 사용자 단말 장치가 속하는 코어 네트워크 및 상기 제2 사용자 단말 장치가 속하는 코어 네트워크를 거침이 없이 상기 제2 사용자 단말 장치에 직접 전달되도록 하는 통신 경로를 정의하고,
상기 정의된 통신 경로를 통해 전달되는 패킷은 NAT(Network Address Translation)가 수행됨이 없이 전달되는 것을 특징으로 하는 시스템.
A system for supporting communication between user terminal devices using OpenFlow,
Obtains information about an IP address assigned to a first user terminal device connected to a first femtocell and information about a connection relationship between the first femtocell and the first user terminal device and connects to a second femtocell. A network information collecting unit for obtaining information about an IP address assigned to the second user terminal device and a connection relationship between the second femtocell and the second user terminal device, and the first and second user terminals. With reference to the IP address assigned to the device, the connection relationship between the first femtocell and the first user terminal device and the connection relationship between the second femtocell and the second user terminal device, An open flow controller including a flow table manager configured to set a flow table defining a communication path between the second user terminal devices; ontroller), and
Open flow switch for delivering the packet according to the communication path defined by the set flow table
Lt; / RTI >
Information about an IP address assigned to the first user terminal device and information about an IP address assigned to the second user terminal device are obtained on the first femtocell and the second femtocell, respectively,
The flow table manager may be configured to send a packet set to be delivered from the first user terminal device to the second user terminal device via a core network to which the first user terminal device belongs or through a core network to which the second user terminal device belongs. Define a communication path through which the core network to which the first user terminal device belongs and the core network to which the second user terminal device belongs directly to the second user terminal device without passing through the core network;
The packet transmitted through the defined communication path is delivered without performing a network address translation (NAT).
제1항, 제3항 내지 제5항 및 제7항 내지 제10항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.11. A computer readable recording medium having recorded thereon a computer program for executing the method according to any one of claims 1, 3 to 5 and 7 to 10.
KR1020130092821A 2013-08-05 2013-08-05 Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow KR101363338B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130092821A KR101363338B1 (en) 2013-08-05 2013-08-05 Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130092821A KR101363338B1 (en) 2013-08-05 2013-08-05 Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow
PCT/KR2014/007206 WO2015020393A1 (en) 2013-08-05 2014-08-05 Method, device, and system for supporting communication between user terminal devices by using openflow, and computer-recordable recording medium

Publications (1)

Publication Number Publication Date
KR101363338B1 true KR101363338B1 (en) 2014-02-14

Family

ID=50271053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130092821A KR101363338B1 (en) 2013-08-05 2013-08-05 Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow

Country Status (2)

Country Link
KR (1) KR101363338B1 (en)
WO (1) WO2015020393A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170044926A (en) * 2015-10-16 2017-04-26 에스케이텔레콤 주식회사 Method and Apparatus for Controlling Service-Based Mobile Edge Computing in Network Environment
KR101801825B1 (en) * 2016-06-07 2017-12-28 주식회사 케이티 Apparatus and method for detecting link information among network switches

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055955A (en) * 2010-11-24 2012-06-01 한국과학기술정보연구원 Open flow network system and method of controlling the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055955A (en) * 2010-11-24 2012-06-01 한국과학기술정보연구원 Open flow network system and method of controlling the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OpenFlow 기반 WLAN AP 통합제어 관리 기술, 부산대,KRnet 2013.06.24 *
OpenFlow 기반 WLAN AP 통합제어 관리 기술, 부산대,KRnet 2013.06.24*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170044926A (en) * 2015-10-16 2017-04-26 에스케이텔레콤 주식회사 Method and Apparatus for Controlling Service-Based Mobile Edge Computing in Network Environment
KR102203324B1 (en) 2015-10-16 2021-01-14 에스케이텔레콤 주식회사 Method and Apparatus for Controlling Service-Based Mobile Edge Computing in Network Environment
KR101801825B1 (en) * 2016-06-07 2017-12-28 주식회사 케이티 Apparatus and method for detecting link information among network switches

Also Published As

Publication number Publication date
WO2015020393A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US9654395B2 (en) SDN-based service chaining system
US10778532B2 (en) Overlay network movement operations
KR20200064102A (en) Creation of virtual networks that span multiple public clouds
WO2013144747A1 (en) Implementing epc in a cloud computer with openflow data plane
US20200169533A1 (en) Method and Apparatuses for Enabling Routing of Data Packets Between a Wireless Device and a Service Provider Based in the Local Service Cloud
WO2012160465A1 (en) Implementing epc in a cloud computer with openflow data plane
JPWO2013172391A1 (en) Multi-tenant system, switch, controller, and packet transfer method
KR101527377B1 (en) Service chaining system based on software defined networks
KR101378313B1 (en) Method, appratus, system and computer-readable recording medium for assisting communication between terminal and local host by using openflow
US10389628B2 (en) Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network
KR101729944B1 (en) Method for supplying ip address by multi tunant network system based on sdn
KR101363338B1 (en) Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow
KR101746105B1 (en) Openflow switch capable of service chaining
US20120170581A1 (en) Policy homomorphic network extension
KR102343908B1 (en) service function chaining control method for network services of virtual customer premises equipment
JP2017208718A (en) Communication device and communication method
KR101729939B1 (en) Multi tunant network system based on sdn
KR101729945B1 (en) Method for supporting multi tunant by network system based on sdn
KR101739100B1 (en) Method of controlling openflow switch capable of service chaining and controller thereof
KR101501892B1 (en) Method, device and computer-readable recording medium for selecting network suitable for service based on openflow
CN107948104A (en) The method and switching equipment that message forwards in a kind of network address translation environment
KR20180085592A (en) Virtual router system and method to integrate with openstack based orchestration
US11258720B2 (en) Flow-based isolation in a service network implemented over a software-defined network
KR101806376B1 (en) Multi tunant network system based on sdn capable of supplying ip address

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170210

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200210

Year of fee payment: 7