KR101378313B1 - 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101378313B1
KR101378313B1 KR20130109849A KR20130109849A KR101378313B1 KR 101378313 B1 KR101378313 B1 KR 101378313B1 KR 20130109849 A KR20130109849 A KR 20130109849A KR 20130109849 A KR20130109849 A KR 20130109849A KR 101378313 B1 KR101378313 B1 KR 101378313B1
Authority
KR
South Korea
Prior art keywords
terminal device
user terminal
local host
femtocell
address
Prior art date
Application number
KR20130109849A
Other languages
English (en)
Inventor
장동호
이경헌
Original Assignee
주식회사 파이오링크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이오링크 filed Critical 주식회사 파이오링크
Priority to KR20130109849A priority Critical patent/KR101378313B1/ko
Application granted granted Critical
Publication of KR101378313B1 publication Critical patent/KR101378313B1/ko
Priority to PCT/KR2014/008462 priority patent/WO2015037911A1/ko

Links

Images

Classifications

    • 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/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

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)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및 (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계를 포함하는 방법이 제공된다. 본 발명에 의하면, 통신사에서 운영하는 코어 네트워크를 거치지 않고도 오픈플로우 컨트롤러와 오픈플로우 스위치를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 직접(P-to-P) 통신이 이루어지도록 할 수 있게 되는 효과가 달성된다.

Description

오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체{METHOD, APPRATUS, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR ASSISTING COMMUNICATION BETWEEN TERMINAL AND LOCAL HOST BY USING OPENFLOW}
본 발명은 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치에 할당된 IP 주소, 로컬 호스트의 IP 주소 및 펨토셀과 사용자 단말 장치 사이의 연결 관계를 참조로 하여 사용자 단말 장치와 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정함으로써, 사용자 단말 장치와 로컬 호스트 사이의 통신이 코어 네트워크(Core network)를 거치지 않고 이루어질 수 있도록 하는 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
네트워크 주소 변환(NAT: Network Address Translation, 이하 "NAT"라고 함)은 IP 패킷(즉, 데이터그램(datagram))의 헤더(header) 내의 IP 주소 정보를 변경하는 것을 의미하는데, 일반적으로 사설망에 존재하는 다수의 사설 IP 주소를 하나의 공인망 IP 주소로 변환하는 기술로서 활용되고 있다. NAT에 의할 경우 사설망에 존재하는 다수의 호스트의 각각의 사설 IP 주소를 하나의 공인 IP 주소로 맵핑시킬 수 있기 때문에, 한정된 IP 주소 자원을 절약할 수 있고 NAT 이전의 사설망에 존재하는 다수의 호스트(host)의 사설 IP 주소에 관한 정보를 NAT 너머의 공인망에 공개하지 않음으로써 공인망으로부터의 보안 위협을 차단할 수 있다는 장점이 있다.
하지만, NAT를 사용하게 되면, 호스트 내의 프로세스를 지칭해야 하는 포트가 IP 주소에 의하여 지칭되어야 할 호스트를 지칭하게 되는 기형적인 상황이 발생하게 되고, NAT를 수행하기 위하여 네트워크 레이어(network layer, L3)보다 높은 상위 레이어의 데이터까지 처리하는 과정에서 네트워크 성능을 저하시킬 수 있다는 문제점이 발생한다.
또한, NAT를 사용하는 네트워크 상에서 사용자 단말 장치가 P-to-P 통신을 수행하게 되면 패킷의 헤더 내의 NAT에 의하여 변환된 IP 주소와 패킷의 페이로드(payload) 내의 변환되지 않은 IP 주소가 일치하지 않음으로 인하여 중대한 문제점이 발생하게 된다. 즉, 상대방으로부터 패킷을 전송 받은 사용자 단말 장치는 해당 패킷의 페이로드 내의 포함된 상대방의 IP 주소(즉, NAT가 수행되지 않은 원래의 공인망 IP 주소)로 응답 패킷을 보내게 되는데, 이러한 경우 NAT를 사용하는 네트워크에서는 해당 응답 패킷에 포함된 상대방의 IP 주소(즉, 공인망 IP 주소)를 해석하지 못하기 때문에 해당 응답 패킷이 상대방에게 전달되지 못하게 되는 문제점이 발생하게 된다.
위와 같은 문제점을 해결하기 위하여, 패킷의 페이로드 내의 소스 IP 주소에 대하여도 NAT를 수행할 수 있는 네트워크 장비를 이용하는 방법이 소개된 바 있지만, 이러한 네트워크 장비는 워낙 고가일 뿐만 아니라 복잡한 구성을 가지고 있기 때문에 비용이나 성능 측면에서 또 다른 문제점을 야기할 수 있다.
한편, 여러 통신사가 하나의 엔터프라이즈(예를 들면, 카카오톡 등의 애플리케이션)에 혼재되어 있는 경우 각 통신사에 속하는 사용자 단말 장치가 서로 간에 직접 통신하거나 특정 통신사에 속하는 사용자 단말 장치와 로컬 호스트가 서로 간에 직접 통신하기 위해서는 반드시 각 통신사의 코어 네트워크(Core network)를 거쳐야 했는데, 이러한 과정에서 데이터 전송 속도가 떨어지고 시간 지연이 발생하는 등의 문제점이 발생하게 된다.
이에, 본 발명자는, NAT를 수행하지 않고 통신사의 코어 네트워크를 통하지 않으면서도 오픈플로우 컨트롤러와 오픈플로우 스위치를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 직접 통신을 가능하게 하는 기술을 개발하기에 이르렀다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치에 할당된 IP 주소, 로컬 호스트의 IP 주소 및 펨토셀과 사용자 단말 장치 사이의 연결 관계를 참조로 하여 사용자 단말 장치와 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정함으로써, 사용자 단말 장치와 로컬 호스트 사이의 통신이 코어 네트워크(Core network)를 거치지 않고 이루어질 수 있도록 하는 것을 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서, (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및 (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 장치가 제공된다.
본 발명의 또 다른 태양에 따르면, 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 시스템으로서, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 오픈플로우 컨트롤러(controller), 및 상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 오픈플로우 스위치(switch)를 포함하는 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 사용자 단말 장치 사이에서 통신을 수행함에 있어서 NAT를 수행할 필요가 없으므로, 패킷의 헤더에 포함된 IP 주소와 패킷의 페이로드에 포함된 IP 주소 사이의 불일치로 인하여 발생할 수 있는 문제점을 방지할 수 있게 되는 효과가 달성된다.
또한, 본 발명에 의하면, 통신사에서 운영하는 코어 네트워크(Core network)를 거치지 않고도 오픈플로우(OpenFlow) 컨트롤러와 오픈플로우 스위치를 이용하여 이동 통신 단말 장치와 로컬 호스트 사이의 직접(P-to-P) 통신이 이루어지도록 할 수 있으므로, 네트워크 트래픽을 줄이고 데이터 전송 속도를 높일 수 있게 되는 효과가 달성된다.
도 1은 본 발명에 따라 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 내부 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 오픈플로우 컨트롤러 및 오픈플로우 스위치에 의하여 관리되는 맵핑 테이블을 예시적으로 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치와 로컬 호스트 사이에서 패킷 전송이 수행되는 과정을 예시적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명에 따라 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 1에 도시되어 있는 바와 같이, 본 발명의 전체 시스템은 오픈플로우 컨트롤러(OpenFlow controller)(100), 오픈플로우 스위치(OpenFlow switch)(200), 펨토셀(femtocell)(310), 사용자 단말 장치(410), 로컬 호스트(local host)(420), 코어 네트워크(Core network)(510) 및 공중 데이터 네트워크(600)을 포함하여 구성될 수 있고, 여기서, 코어 네트워크(510)는 패킷 데이터 네트워크 게이트웨이(P-GW)(511, 521) 및 시큐리티 게이트웨이(Se-GW)(512, 522)를 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100)는 펨토셀(femtocell)(310)과 무선으로 연결되어 있는 사용자 단말 장치(410)에 할당되는 IP 주소에 관한 정보 및 펨토셀(310), 로컬 호스트(420)의 IP 주소 및 사용자 단말 장치(410) 사이의 연결 관계에 관한 정보를 획득하고, 사용자 단말 장치(410)에 할당된 IP 주소, 로컬 호스트(420)의 IP 주소 및 펨토셀(310)과 사용자 단말 장치(410) 사이의 연결 관계를 참조로 하여 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 통신 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 기능을 수행한다.
다음으로, 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 코어 네트워크(510), 사용자 단말 장치(410), 로컬 호스트(420) 또는 공중 데이터 네트워크(600)로부터의 패킷을 전달하는 기능을 수행한다. 특히, 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 오픈플로우 컨트롤러(100)로부터 전달 받은 플로우 테이블(Flow table)에 의해 정의된 통신 경로에 따라 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 패킷을 전달하는 기능을 수행한다.
오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)의 구성에 대한 보다 자세한 설명은 후술하기로 한다.
다음으로, 본 발명의 일 실시예에 따르면, 펨토셀(310)은 사용자 단말 장치(410)와 무선으로 연결되어 사용자 단말 장치(410)가 펨토셀(310)을 통하여 오픈플로우 스위치(OpenFlow switch)(200), 다른 사용자 단말 장치, 로컬 호스트(420), 코어 네트워크(Core network)(510), 공중 데이터 네트워크(600) 등과 통신할 수 있도록 하는 기능을 수행할 수 있다. 따라서, 사용자 단말 장치(410)를 목적지로 하는 패킷이나 사용자 단말 장치(410)를 출발지로 하는 패킷은 펨토셀(310)을 거치게 된다. 예를 들면, 본 발명의 일 실시예에 따른 펨토셀(310)에는 HNB(Home Node B), HeNB(Home eNode B) 등이 포함될 수 있으나 반드시 이에 한정되는 것은 아니다.
다음으로, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410)는 통신망에 접속하여 서로 통신할 수 있는 기능을 갖는 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 태블릿 컴퓨터, 스마트폰, 이동 전화기, IPTV 수신기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(410)가 될 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 로컬 호스트(420)는 오픈플로우 스위치(200)와 유선 또는 무선으로 연결되는 로컬 네트워크에 위치하여 사용자 단말 장치(410)와 통신하는 기능을 수행하는 기기를 가리키는 것으로서, 서버, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, 태블릿 컴퓨터, IPTV 수신기, 와이파이 액세스 포인트(WiFi Access Point) 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 로컬 호스트(420)가 될 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 코어 네트워크(510)는 사용자 단말 장치(410)가 속한 이동통신사에 의하여 운영되는 네트워크를 가리키는 것으로서, 패킷 데이터 네트워크 게이트웨이(P-GW)(511) 및 시큐리티 게이트웨이(Se-GW)(512)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 코어 네트워크(510)에 존재하는 패킷 데이터 네트워크 게이트웨이(P-GW)(511)는 사용자 단말 장치(410)에 대하여 IP 주소를 동적으로 할당하는 기능을 수행할 수 있다.
오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)의 내부 구성 및 구체적인 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)의 내부 구성을 나타내는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(100)는 네트워크 정보 수집부(110) 및 플로우 테이블 관리부(120)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110) 및 플로우 테이블 관리부(120)는 그 중 적어도 일부가 외부 시스템과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 오픈플로우 컨트롤러(100)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 오픈플로우 컨트롤러(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 펨토셀(femtocell)(310)과 연결되어 있는 사용자 단말 장치(410)에 할당되는 IP 주소에 관한 정보, 오픈플로우 스위치(200)와 연결되는 로컬 호스트(420)의 IP 주소에 관한 정보 및 펨토셀(310)과 사용자 단말 장치(410) 사이의 연결 관계에 관한 정보(즉, 어떤 사용자 단말 장치가 어떤 펨토셀에 연결되어 있는지에 관한 정보)를 획득하는 기능을 수행할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 펨토셀(femtocell)(310)과 연결되어 있는 사용자 단말 장치(410)에 할당되는 IP 주소에 관한 정보 및 펨토셀(310)과 사용자 단말 장치(410) 사이의 연결 관계에 관한 정보를 획득할 수 있다. 여기서, 본 발명의 일 실시예에 따른 네트워크 정보 수집부(110)는 각 사용자 단말 장치(410)와 무선으로 연결되어 있어서 코어 네트워크(510)로부터 각 사용자 단말 장치(410)로의 IP 주소 할당을 위한 패킷의 전달 통로가 되는 각 펨토셀(310) 상에서 각 사용자 단말 장치(410)에 대한 IP 주소 할당에 관한 정보를 수집할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 로컬 호스트(420)의 IP 주소에 관한 정보를 획득하는 기능을 수행할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 네트워크 정보 수집부(110)는 오픈플로우 스위치(200)와 유선 또는 무선으로 연결되어 있는 펨토셀(310) 및 로컬 호스트(420)가 오픈플로우 스위치의 어느 포트(port)에 연결되어 있는지에 관한 정보 역시 수집할 수 있다.
위와 같이 네트워크 정보 수집부(100)에 의하여 수집된 다양한 정보는 후술할 플로우 테이블을 설정함에 있어서 참조가 되는 정보로서 활용될 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 플로우 테이블 관리부(120)는 사용자 단말 장치(410)에 할당된 IP 주소, 로컬 호스트(420)의 IP 주소 및 사용자 단말 장치(410)와 펨토셀(310) 사이의 연결 관계를 참조로 하여, 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 통신 경로, 즉, 패킷 전달 경로를 정의하는 플로우 테이블(Flow table)을 설정하는 기능을 수행할 수 있다. 여기서, 플로우(Flow)란, 특정 시간 동안 네트워크 상의 특정 지점을 지나가는 패킷의 집합을 의미할 수 있다. 여기서, 본 발명에서 말하는 플로우가 반드시 특정 시간에 한정되어 정의되는 것은 아님을 밝혀 둔다.
본 발명의 일 실시예에 따르면, 플로우 테이블 관리부(120)는 플로우 테이블을 설정함에 있어서 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 통신 경로가 해당 사용자 단말 장치(410)가 속하는 이동통신사가 운영하는 코어 네트워크(510)를 거치지 않도록 할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 플로우 테이블에는, 각 사용자 단말 장치(410)의 할당된 IP 주소, 로컬 호스트(420)의 IP 주소, 각 사용자 단말 장치(410)와 무선으로 연결되는 각 펨토셀(310)의 IP 주소 및 이들 IP 주소와 오픈플로우 스위치(200)의 포트 사이의 매칭 관계에 관한 정보가 포함될 수 있다.
예를 들면, 본 발명의 일 실시예에 따른 플로우 테이블에는 헤더 필드(Header Fields), 카운터(Counters), 액션(Actions) 등의 구성요소가 포함될 수 있다.
먼저, 헤더 필드에는 오픈플로우 스위치(200)의 포트, 이더넷(ethernet) 및 프로토콜 정보, 소스(즉, 출발지)(source) 및 데스티네이션(즉, 목적지)(destination)의 MAC 주소, IP 주소, 포트 및 우선순위 등의 정보가 저장될 수 있다. 본 발명의 일 실시예에 따르면, 오픈플로우 컨트롤러(100) 또는 오픈플로우 스위치(200)는 오픈플로우 스위치(200)로 유입되는 패킷의 정보와 플로우 테이블의 헤더 필드의 정보를 비교하여 해당 패킷에 관한 플로우 제어 정보가 플로우 테이블 내에 존재하는지 여부를 판단할 수 있다.
다음으로, 액션(actions)은 오픈플로우 스위치(200)로 유입되는 패킷의 정보와 플로우 테이블의 헤더 필드의 정보가 매칭될 때 해당 패킷을 어떻게 처리할지에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 오픈플로우 스위치(200)는 플로우 테이블의 액션 부분에 저장된 정보를 참조로 하여 해당 패킷을 정해진 하나의 포트 또는 여러 개의 포트로 전달하거나 해당 패킷을 더 이상 전달하지 않고 차단할 수 있다. 만약, 플로우 테이블의 헤더 필드 내에 오픈플로우 스위치(200)로 유입되는 패킷의 정보와 매칭되는 정보가 없는 경우에는, 해당 패킷의 소스 IP 주소, 데스티네이션 IP 주소 등을 참조로 하여 해당 패킷에 대한 플로우 제어 정보를 새로이 생성할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410)로부터 로컬 호스트(420)로의 패킷 또는 로컬 호스트(420)로부터 사용자 단말 장치(410)로의 패킷이 오픈플로우 스위치(200)에 수신되면, 오픈플로우 컨트롤러(100)가, 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 직접 통신을 위한 통신 경로를 정의하는 플로우 제어 정보를 생성하여 플로우 테이블에 추가할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 사용자 단말 장치(410)로부터 로컬 호스트(420)로의 패킷 또는 로컬 호스트(420)로부터 사용자 단말 장치(410)로의 패킷이 오픈플로우 스위치(200)에 기설정된 횟수 이상 수신됨에 따라 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 통신이 빈번하게 이루어지고 있는 것으로 판단되면, 오픈플로우 컨트롤러(100)가, 해당 사용자 단말 장치(410)와 해당 로컬 호스트(420) 사이의 직접 통신을 위한 통신 경로를 정의하는 플로우 제어 정보를 생성하여 플로우 테이블에 추가할 수 있다.
다음으로, 카운터(counters)는 플로우 테이블에 패킷 처리에 관한 제어 정보가 등록된 시점부터 현재 시점까지 경과된 시간에 관한 정보를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 플로우 테이블에 저장된 패킷 처리에 관한 제어 정보는 정해진 시간 동안만 유지되도록 설정될 수 있는데, 이러한 경우에 카운터에 저장된 경과 시간에 관한 정보가 제어 정보의 생명 주기(life cycle) 관리에 사용될 수 있다.
도 3은 본 발명의 일 실시예에 따라 오픈플로우 컨트롤러(100) 및 오픈플로우 스위치(200)에 의하여 관리되는 맵핑 테이블을 예시적으로 나타내는 도면이다.
도 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)에 의하여 해당 패킷이 정상적으로 전송될 수 있게 된다.
도 4는 본 발명의 일 실시예에 따라 사용자 단말 장치와 로컬 호스트 사이에서 패킷 전송이 수행되는 과정을 예시적으로 나타내는 도면이다.
도 4를 참조하면, (i) 먼저, 코어 네트워크(510)의 패킷 데이터 네트워크 게이트웨이(P-GW)(511)는 펨토셀(310)을 통하여 사용자 단말 장치(410)에 대하여 IP 주소를 할당할 수 있다(S710). (ii) 다음으로, 오픈플로우 컨트롤러(100)는 펨토셀(310) 상에서 사용자 단말 장치(410)에 할당된 IP 주소에 관한 정보를 획득할 수 있고(S720), 이렇게 획득된 정보를 참조로 하여(로컬 호스트(420)의 IP 주소도 참조로 함), 앞서 살펴본 다양한 실시예에 따라 사용자 단말 장치(410)와 로컬 호스트(420) 사이의 직접 통신을 위한 통신 경로(즉, 사용자 단말 장치(410)의 코어 네트워크(Core network)(510)를 통과하지 않는 직접적인 경로)를 정의하는 플로우 테이블을 설정하여 오픈플로우 스위치(200)에 전달할 수 있다(S730). (iii) 다음으로, 사용자 단말 장치(410)가 로컬 호스트(420)에 대하여 발송한 패킷이 오픈플로우 스위치(200)에 전달되면, 오픈플로우 스위치(200)는 플로우 테이블에 따라 해당 패킷을 자신의 특정 포트로 전달함으로써 해당 패킷이 로컬 호스트(420)에 전달될 수 있도록 할 수 있다(S740, S750).
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 오픈플로우 컨트롤러(OpenFlow controller)
200: 오픈플로우 스위치(OpenFlow switch)
310: 펨토셀(femtocell)
410: 사용자 단말 장치
420: 로컬 호스트
510: 코어 네트워크(Core network)
511: 패킷 데이터 네트워크 게이트웨이(P-GW)
512: 시큐리티 게이트웨이(Se-GW)
600: 공중 데이터 네트워크(PDN: Public Data Network)

Claims (21)

  1. 삭제
  2. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계에 관한 정보는 상기 펨토셀 상에서 획득되는 것을 특징으로 하는 방법.
  3. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 플로우 테이블에는, 상기 사용자 단말 장치, 상기 로컬 호스트 및 상기 펨토셀 중 적어도 하나의 IP 주소와 상기 오픈플로우 스위치의 포트 사이의 매칭 관계에 관한 정보가 포함되는 것을 특징으로 하는 방법.
  4. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    (c) 상기 오픈플로우 컨트롤러가, 상기 설정된 플로우 테이블을 오픈플로우 스위치에 전달하는 단계
    를 더 포함하고,
    상기 오픈플로우 스위치가 상기 전달된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하도록 하는 것을 특징으로 하는 방법.
  5. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 사용자 단말 장치에 대한 IP 주소 할당은 상기 사용자 단말 장치가 속한 통신사의 코어 네트워크(Core network)에 의하여 수행되는 것을 특징으로 하는 방법.
  6. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 정의된 통신 경로를 통해 전달되는 패킷은 NAT(Network Address Translation)가 수행됨이 없이 전달되는 것을 특징으로 하는 방법.
  7. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 펨토셀에는, HNB(Home Node B) 및 HeNB(Home eNode B) 중 적어도 하나가 포함되는 것을 특징으로 하는 방법.
  8. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 (b) 단계에서,
    상기 사용자 단말 장치로부터 상기 로컬 호스트로의 패킷 또는 상기 로컬 호스트로부터 상기 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 수신되면, 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 방법.
  9. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    상기 (b) 단계에서,
    상기 사용자 단말 장치로부터 상기 로컬 호스트로의 패킷 또는 상기 로컬 호스트로부터 상기 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 기설정된 횟수 이상 수신되면, 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 방법.
  10. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법으로서,
    (a) 오픈플로우 컨트롤러(controller)가, 펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 단계, 및
    (b) 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 단계
    를 포함하고,
    (c) 오픈플로우 스위치(switch)가, 상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 단계
    를 더 포함하는 방법.
  11. 삭제
  12. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계에 관한 정보는 상기 펨토셀 상에서 획득되는 것을 특징으로 하는 장치.
  13. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 플로우 테이블에는, 상기 사용자 단말 장치, 상기 로컬 호스트 및 상기 펨토셀 중 적어도 하나의 IP 주소와 상기 오픈플로우 스위치의 포트 사이의 매칭 관계에 관한 정보가 포함되는 것을 특징으로 하는 장치.
  14. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 플로우 테이블 관리부는, 상기 설정된 플로우 테이블을 오픈플로우 스위치에 전달하고, 상기 오픈플로우 스위치가 상기 전달된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하도록 하는 것을 특징으로 하는 장치.
  15. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 사용자 단말 장치에 대한 IP 주소 할당은 상기 사용자 단말 장치가 속한 통신사의 코어 네트워크(Core network)에 의하여 수행되는 것을 특징으로 하는 장치.
  16. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 정의된 통신 경로를 통해 전달되는 패킷은 NAT(Network Address Translation)가 수행됨이 없이 전달되는 것을 특징으로 하는 장치.
  17. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 펨토셀에는, HNB(Home Node B) 및 HeNB(Home eNode B) 중 적어도 하나가 포함되는 것을 특징으로 하는 장치.
  18. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 플로우 테이블 관리부는, 상기 사용자 단말 장치로부터 상기 로컬 호스트로의 패킷 또는 상기 로컬 호스트로부터 상기 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 수신되면, 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 장치.
  19. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 장치로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및
    상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부
    를 포함하고,
    상기 플로우 테이블 관리부는, 상기 사용자 단말 장치로부터 상기 로컬 호스트로의 패킷 또는 상기 로컬 호스트로부터 상기 사용자 단말 장치로의 패킷이 상기 오픈플로우 스위치에 기설정된 횟수 이상 수신되면, 상기 오픈플로우 컨트롤러가, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로를 정의하는 플로우 테이블을 설정하는 것을 특징으로 하는 장치.
  20. 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 시스템으로서,
    펨토셀(femtocell)과 연결되어 있는 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 사용자 단말 장치 사이의 연결 관계에 관한 정보를 획득하고, 로컬 호스트(local host)의 IP 주소에 관한 정보를 획득하는 네트워크 정보 수집부, 및 상기 사용자 단말 장치에 할당된 IP 주소, 상기 로컬 호스트의 IP 주소 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계를 참조로 하여, 상기 사용자 단말 장치와 상기 로컬 호스트 사이의 통신 경로 - 상기 통신 경로는 상기 사용자 단말 장치의 코어 네트워크(Core network)를 통과하지 않는 경로로 정의됨 - 를 정의하는 플로우 테이블(Flow table)을 설정하는 플로우 테이블 관리부를 포함하는 오픈플로우 컨트롤러(controller), 및
    상기 설정된 플로우 테이블에 의하여 정의된 통신 경로에 따라 패킷을 전달하는 오픈플로우 스위치(switch)
    를 포함하고,
    상기 사용자 단말 장치에 할당되는 IP 주소에 관한 정보 및 상기 펨토셀과 상기 사용자 단말 장치 사이의 연결 관계에 관한 정보는 상기 펨토셀 상에서 획득되는 것을 특징으로 하는 시스템.
  21. 제2항 내지 제10항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR20130109849A 2013-09-12 2013-09-12 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체 KR101378313B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130109849A KR101378313B1 (ko) 2013-09-12 2013-09-12 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
PCT/KR2014/008462 WO2015037911A1 (ko) 2013-09-12 2014-09-11 오픈플로우를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130109849A KR101378313B1 (ko) 2013-09-12 2013-09-12 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR101378313B1 true KR101378313B1 (ko) 2014-03-27

Family

ID=50649574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130109849A KR101378313B1 (ko) 2013-09-12 2013-09-12 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체

Country Status (2)

Country Link
KR (1) KR101378313B1 (ko)
WO (1) WO2015037911A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015194793A1 (ko) * 2014-06-16 2015-12-23 주식회사 코모바일 통신 장치
KR101706342B1 (ko) * 2015-08-21 2017-02-27 성균관대학교산학협력단 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 기반 컨트롤러, 스위치 및 전송 속도 지원 방법
KR20170044926A (ko) * 2015-10-16 2017-04-26 에스케이텔레콤 주식회사 네트워크 환경에서 서비스 기반의 모바일 엣지 컴퓨팅 제어방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236770A (ja) 2008-04-07 2008-10-02 Ntt Docomo Inc 無線通信システム、無線通信方法、無線制御装置及びローカル交換機
KR20100088752A (ko) * 2009-02-02 2010-08-11 삼성전자주식회사 펨토 셀에서의 디바이스간 통신 방법 및 시스템
EP2408155A1 (en) 2009-03-09 2012-01-18 Nec Corporation Openflow communication system and openflow communication method
WO2012082988A1 (en) * 2010-12-17 2012-06-21 Big Switch Networks, Inc. Methods for configuring network switches

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101155012B1 (ko) * 2010-11-24 2012-06-14 한국과학기술정보연구원 오픈플로우 네트워크 시스템 및 그 제어방법
US8837365B2 (en) * 2011-08-26 2014-09-16 Stoke, Inc. Method and system for securely routing traffic on X2 interface in a 3GPP network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236770A (ja) 2008-04-07 2008-10-02 Ntt Docomo Inc 無線通信システム、無線通信方法、無線制御装置及びローカル交換機
KR20100088752A (ko) * 2009-02-02 2010-08-11 삼성전자주식회사 펨토 셀에서의 디바이스간 통신 방법 및 시스템
EP2408155A1 (en) 2009-03-09 2012-01-18 Nec Corporation Openflow communication system and openflow communication method
WO2012082988A1 (en) * 2010-12-17 2012-06-21 Big Switch Networks, Inc. Methods for configuring network switches

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015194793A1 (ko) * 2014-06-16 2015-12-23 주식회사 코모바일 통신 장치
KR20150144207A (ko) 2014-06-16 2015-12-24 주식회사 코모바일 통신 장치
KR101706342B1 (ko) * 2015-08-21 2017-02-27 성균관대학교산학협력단 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 기반 컨트롤러, 스위치 및 전송 속도 지원 방법
KR20170044926A (ko) * 2015-10-16 2017-04-26 에스케이텔레콤 주식회사 네트워크 환경에서 서비스 기반의 모바일 엣지 컴퓨팅 제어방법 및 장치
KR102203324B1 (ko) * 2015-10-16 2021-01-14 에스케이텔레콤 주식회사 네트워크 환경에서 서비스 기반의 모바일 엣지 컴퓨팅 제어방법 및 장치

Also Published As

Publication number Publication date
WO2015037911A1 (ko) 2015-03-19

Similar Documents

Publication Publication Date Title
CN115362662B (zh) 智能网络接口卡的流量管理
US10805268B2 (en) Method and apparatuses for enabling routing of data packets between a wireless device and a service provider based in the local service cloud
US11240152B2 (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
CN108781178B (zh) 网络系统、控制装置、虚拟网络功能的构建方法以及程序
EP2846501B1 (en) Relay server load balancing and placement using in-band signaling
JP5871063B2 (ja) マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法
US20190097940A1 (en) Network system and method for cross region virtual private network peering
TW200841649A (en) Method and system of providing IPv6 packet transit between two IPv6 nodes of a utility network connected via an IPv4 network using encapsulation technique
US8611358B2 (en) Mobile network traffic management
CN108702322B (zh) 网络系统、终端、传感器数据收集方法以及程序
CN113810512A (zh) 物联网终端接入系统、方法、装置及存储介质
US11985110B2 (en) Distribution of stateless security functions
CN111756565A (zh) 管理分支网络内的卫星设备
KR101378313B1 (ko) 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN108702323B (zh) 网络系统、控制装置、虚拟网络的构建方法以及计算机可读存储介质
KR101363338B1 (ko) 오픈플로우(OpenFlow)를 이용하여 사용자 단말 장치 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
EP3503484A1 (en) Message transmission method, device and network system
US20150047009A1 (en) Access control method, access control system and access control device
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
JP5937563B2 (ja) 通信基地局およびその制御方法
KR101729939B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템
US20210119859A1 (en) Topology Agnostic Security Services
KR102023115B1 (ko) 통합형 id 기반의 통신 방법 및 통신 시스템
KR102343908B1 (ko) 가상화 가입자 댁내 장치 네트워크 서비스를 위한 서비스 펑션 체이닝 제어 방법
CN114365454B (zh) 无状态安全功能的分布

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: 20170303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180312

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190314

Year of fee payment: 6