KR20160049969A - 게이트웨이 기능을 제공하기 위한 방법 및 장치 - Google Patents

게이트웨이 기능을 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160049969A
KR20160049969A KR1020150144797A KR20150144797A KR20160049969A KR 20160049969 A KR20160049969 A KR 20160049969A KR 1020150144797 A KR1020150144797 A KR 1020150144797A KR 20150144797 A KR20150144797 A KR 20150144797A KR 20160049969 A KR20160049969 A KR 20160049969A
Authority
KR
South Korea
Prior art keywords
gateway
function
server
interface
packet
Prior art date
Application number
KR1020150144797A
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 US14/923,627 priority Critical patent/US20160119166A1/en
Publication of KR20160049969A publication Critical patent/KR20160049969A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

게이트웨이 기능을 제공하기 위한 방법 및 장치가 제공된다. 게이트웨이 및 서버의 연동을 통해 게이트웨이 기능을 제공할 수 있다. 게이트웨이 기능을 제공함에 있어서, 게이트웨이는 상대적으로 낮은 레이어를 제공할 수 있으며, 서버는 상대적으로 높은 레이어를 제공할 수 있다. 서버는 NFV의 형태로 게이트웨이 기능을 제공할 수 있다. 게이트웨이는 서버가 제공하는 NFV 형태의 변환 기능을 호출함으로써 패킷을 처리할 수 있다. 서버는 NFV 풀을 제공하는 클라우드의 서버들 중 하나일 수 있다.

Description

게이트웨이 기능을 제공하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING GATEWAY FUNCTION}
아래의 실시예들은 통신을 위한 방법 및 장치에 관한 것으로 보다 상세하게는 게이트웨이 기능을 제공하기 위한 방법 및 장치가 개시된다.
저전력이고 자원 제한적인(resource-constrained) 네트워크 환경에서, 게이트웨이는 노드 및 인터넷 간의 연동을 제공하기 위해 사용된다. 저전력이고 자원 제한적인 네트워킹 환경의 예로서, 사물 인터넷이 있다.
이러한 게이트웨이의 경우, 게이트웨이의 하드웨어 상에 게이트웨이 네트워크 어댑테이션(adaptation) 변환 기능 등이 정적으로 구현(implement)된다. 게이트웨이 네트워크 변환 기능으로서, 6lo 어댑테이션 기능, CoAP-HTTP 간의(CoAP-to-HTTP) 변환 기능 및 DICE-TLS 간의(DICE-to-TLS) 변환 기능 등이 있다. 6lo 어댑테이션으로서, 6LoWPAN이 있다.
게이트웨이 네트워크 변환 기능 등이 정적으로 구현된 경우, 새로운 소프트웨어 버전으로의 업그레이드를 위해서는 게이트웨이의 하드웨어 상의 소프트웨어 전체에 대한 업그레이드가 요구된다. 또한, 새로운 네트워킹 기능의 추가를 위해서는 물리적인 게이트웨이의 추가적인 설치 또는 게이트웨이의 물리적인 위치 등의 직접적인 변동이 요구된다. 또한, 소정의 네트워킹 기능들의 순차적인 처리를 설정하기 위해서도 물리적인 게이트웨이의 추가적인 설치 또는 게이트웨이의 물리적인 위치 등의 직접적인 변동이 요구된다. 이러한 추가적인 설치 또는 직접적인 변동은 불편함을 야기한다.
예를 들면, 게이트웨이의 특정한 기능이, 1) IoT 패킷 분석(말하자면, DPI 기능), 2) 6lo 어댑테이션 기능, 3) CoAP-to-HTTP 변환 기능 및 4) DICE-to-TLS 변환 기능의 순서로 처리될 경우, 상기의 특정한 기능을 1) DPI 기능, 2) 6lo 어댑테이션 기능 및 3) DICE-to-TLS 변환 기능의 순서로 동적으로 변경하기 위해서는, 게이트웨이의 위치 등을 물리적으로 직접 변동하는 것이 요구된다.
사물 인터넷 환경에서는 다양한 사물들의 동적인 연결 및 다양한 네트워크 기능들의 유연한 연결을 통해 글로벌 인터넷과의 연동이 지원되어야 한다. 따라서, 전술된 것과 같은 추가적인 설치 또는 직접적인 변동의 요구는 사물 인터넷 환경에서는 큰 문제가 될 수 있다.
네트워킹 환경에서의 가상화에 대하여, 미국 공개 특허 제2014-0317261호가 공개된 바 있다. 미국 공개 특허 제2014-0317261호에서는 가상화된 네트워크 서비스를 제공하기 가상화된 네트워크 기능이 위해 하나 또는 복수의 물리 컴퓨터(들)에서 구현되는 기술이 제시되었다.
일 실시예는 자원-제한적 노드들의 네트워크 상에서의 IPv6(에서 요구되는 게이트웨이 기능을 구현하는 장치 및 방법을 제공할 수 있다.
일 실시예는 IoT와 같은 저전력의 자원-제한적인 네트워킹 환경에서 인터넷과 같은 글로벌 네트워크와의 연동을 지원하는 장치 및 방법을 제공할 수 있다.
일 실시예는 저전력의 자원-제한적인 네트워킹 환경에서 인터넷과 같은 글로벌 네트워크와의 연동을 보다 확장성 있고, 유연하게 지원하는 장치 및 방법을 제공할 수 있다.
일 실시예는 NFV 개념을 통해 게이트웨이 기능을 처리하는 장치 및 방법을 제공할 수 있다.
일 측면에 있어서, 게이트웨이에 의해 수행되는, 노드로부터 입력 패킷을 수신하는 단계; 및 상기 게이트웨이에 의해 제공되는 제1 네트워킹 기능 및 서버에 의해 제공되는 제2 네트워킹 기능을 사용하여 상기 입력 패킷에 대한 게이트웨이 기능을제공하는 단계를 포함하는 게이트웨이 기능 제공 방법이 제공된다.
상기 게이트웨이는 상기 게이트웨이의 제1 인터페이스를 통해 상기 노드로부터 상기 입력 패킷을 수신할 수 있다.
상기 제1 인터페이스는 무선 네트워크 인터페이스일 수 있다.
상기 게이트웨이 기능을 제공하는 단계는, 상기 입력 패킷에 상기 게이트웨이 기능을 적용함으로써 생성된 출력 패킷을 상기 게이트웨이의 제2 인터페이스를 통해 외부 노드로 전송하는 단계를 포함할 수 있다.
상기 서버는 상기 출력 패킷을 상기 제2 인터페이스로 전송할 수 있다.
상기 제2 인터페이스는 상기 출력 패킷을 상기 외부 노드로 전송할 수 있다.
상기 제1 인터페이스에 대해 제공되는 네트워킹 기능 및 상기 제2 인터페이스에 대해 제공되는 네트워킹 기능은 서로 상이할 수 있다.
상기 게이트웨이 기능을 제공하는 단계는, 상기 입력 패킷에 대한 상기 제2 네트워킹 기능의 요청을 상기 서버로 전송하는 단계; 상기 서버로부터 상기 요청에 대한 처리의 결과를 수신하는 단계; 및 상기 결과에 기반하여 상기 출력 패킷을 생성하는 단계를 더 포함할 수 있다.
상기 제1 네트워킹 기능은 미디어 접근 제어(Media Access Control; MAC)를 포함할 수 있다.
상기 제2 네트워킹 기능은 6lo 어댑테이션을 포함할 수 있다.
상기 제1 네트워킹 기능은 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP)를 포함할 수 있다.
상기 제2 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능을 포함할 수 있다.
상기 노드는 IP 연결을 직접적으로 지원하지 않을 수 있다.
상기 제1 네트워킹 기능은 MAC을 포함할 수 있다.
상기 제2 네트워킹 기능은 IP를 포함할 수 있다.
상기 서버는 네트워크 기능 가상화(Network Function Virtualization; NFV) 형태로 상기 제2 네트워킹 기능을 제공할 수 있다.
상기 제2 네트워킹 기능은 상기 서버가 제공하는 가상화 레이어 상에서 제공될 수 있다.
상기 서버는 NFV 풀을 제공하는 클라우드의 서버들 중 하나일 수 있다.
상기 클라우드의 처리 용량은 상기 제2 네트워킹 기능을 제공하는 새로운 서버를 상기 클라우드에 추가함으로써 확장될 수 있다.
상기 게이트웨이는 상기 입력 패킷이 IP 패킷 또는 논(non)-IP 패킷 중 어느 것인 지와는 무관하게 상기 입력 패킷을 상기 서버로 포워딩함으로써 상기 입력 패킷이 IP 패킷 또는 논(non)-IP 패킷 중 어느 것인 지와는 무관하게 가상화된 형태의 변환 기능을 통해 상기 입력 패킷을 소프트웨어 적으로 처리할 수 있다.
다른 일 측에 따르면, 노드로부터 입력 패킷을 수신하는 제1 인터페이스; 출력 패킷을 외부 노드로 저송하는 제2 인터페이스; 및 상기 게이트웨이에 의해 제공되는 제1 네트워킹 기능 및 서버에 의해 제공되는 제2 네트워킹 기능을 사용하여 상기 입력 패킷에 대한 게이트웨이 기능을 제공하는 처리부를 포함하고, 상기 출력 패킷은 상기 입력 패킷에 상기 게이트웨이 기능을 적용함으로써 생성되는 게이트웨이가 제공된다.
또 다른 일 측에 따르면, 서버에 의해 수행되는, 게이트웨이로부터 상기 게이트웨이가 수신한 입력 패킷에 대한 제1 네트워킹 기능의 요청을 수신하는 단계; 상기 요청에 대하여 상기 제1 네트워킹 기능의 처리를 수행하는 단계; 및 상기 요청에 대한 응답을 상기 게이트웨이로 전송하는 단계를 포함하고, 상기 게이트웨이에 의해 제공되는 제2 네트워킹 기능 및 상기 제1 네트워킹 기능에 의해 상기 입력 패킷에 대한 게이트웨이 기능이 제공되는, 게이트웨이 기능 제공 방법이 제공된다.
상기 제2 네트워킹 기능은 MAC를 포함할 수 있다.
상기 제1 네트워킹 기능은 6lo 어댑테이션을 포함할 수 있다.
상기 제2 네트워킹 기능은 UDP를 포함할 수 있다.
상기 제1 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능을 포함할 수 있다.
상기 서버는 NFV 형태로 상기 제1 네트워킹 기능을 제공할 수 있다.
상기 서버는 NFV 풀을 제공하는 클라우드의 서버들 중 하나일 수 있다.
자원-제한적 노드들의 네트워크 상에서의 IPv6에서 요구되는 게이트웨이 기능을 구현하는 장치 및 방법이 제공된다.
IoT와 같은 저전력의 자원-제한적인 네트워킹 환경에서 인터넷과 같은 글로벌 네트워크와의 연동을 지원하는 장치 및 방법이 제공된다.
저전력의 자원-제한적인 네트워킹 환경에서 인터넷과 같은 글로벌 네트워크와의 연동을 보다 확장성 있고, 유연하게 지원하는 장치 및 방법이 제공된다.
NFV 개념을 통해 게이트웨이 기능을 처리하는 장치 및 방법이 제공된다.
도 1은 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
도 2는 일 실시예에 따른 게이트웨이 기능을 제공하는 시스템의 구성도이다.
도 3은 일 실시예에 따른 게이트웨이의 구조도이다.
도 4는 일 실시예에 따른 서버의 구조도이다.
도 5는 일 실시예에 따른 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
도 6은 일 실시예에 따른 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
도 7a 및 도 7b는 일 실시예에 따른 노드가 IP 연결을 직접 지원하는 경우에서의 통신의 개체들 및 개체들의 네트워킹 기능을 나타낸다.
도 7a는 일 실시예에 따른 통신의 개체들을 나타낸다.
도 7b는 일 실시예에 따른 각 개체의 네트워킹 기능을 나타낸다.
도 8a 및 도 8b는 일 실시예에 따른 노드가 IP 연결을 직접 지원하지 않는 경우에서의 통신의 개체들 및 개체들의 네트워킹 기능을 나타낸다.
도 8a는 일 실시예에 따른 통신의 개체들을 나타낸다.
도 8b는 일 실시예에 따른 각 개체의 네트워킹 기능을 나타낸다.
도 9는 일 실시예에 따른 게이트웨이 및 서버에 의한 게이트웨이 기능 제공 방법의 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
우선, 아래에서, 실시예들에서 사용될 약어를 설명한다.
인터넷 프로토콜 버전 6(Internet Protocol Version 6): IPv6
자원-제한된 노드들의 네트워크 상에서의 IPv6(IPv6 over Networks of Resource-constrained Nodes): 6lo
저전력 무선 개인 영역 네트워크 상에서의 IPv6(IPv6 over Low power Wireless Personal Area Networks): 6LoWPAN
제한된 어플리케이션 프로토콜(Constrained Application Protocol): CoAP
하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol): HTTP
데이터그램 트랜스포트 레이어 보안(Datagram Transport Layer Security): DTLS
제한된 환경에서의 DTLS(DTLS In Constrained Environments): DICE
트랜스포트 레이어 보안(Transport Layer Security): TLS
사물 인터넷(Internet of Things): IoT
심층 패킷 조사(Deep Packet Inspection): DPI
미디어 접근 제어(Media Access Control): MAC
사용자 데이터그램 프로토콜(User Datagram Protocol): UDP
트랜스미션 제어 프로토콜(Transmission Control Protocol): TCP
근거리 무선 통신(Near Field Communication): NFC
롱 텀 에볼루션(Long Term Evolution): LTE
네트워크 기능 가상화(Network Function Virtualization): NFV
네트워크 주소 변환(Network Address Translation): NAT
제한된 환경들에 대한 인증 및 권한부여(Authentication and Authorization for Constrained Environments): ACE
가상 머신(virtual machine): VM
무선 개인 영역 네트워크(Wireless Personal Area Network): WPAN
또한 이하에서, 게이트웨이 기능과 관련된 "X 변환 기능" 및 "X 기능"은 "X"로 약술될 수 있다.
도 1은 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
자원-제한적 노드들의 종단들 간의 네트워킹의 지원을 위한 기능 구조는, 인터페이스(interface), 라디오 트랜스미션(radio transmission), MAC, 6lo 어댑테이션, IPv6, UDP, 변환 기능(CoAP-to-HTTP, DICE-to-TLS 및/또는 ACE 등), 시스템 레이어 및 어플리케이션 레이어 중 적어도 하나를 포함할 수 있다.
도 1에서, 수평의 박스는 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능의 개체(entity)를 나타낼 수 있다. 예를 들면, 개체는 레이어일 수 있다. 위에 위치한 개체는 아래에 위치한 개체에 비해 상위의 개체일 수 있다.
UDP는 트랜스포트(transport) 레이어에 대응할 수 있다. IPv4 및/또는 IPv6는 네트워크 레이어에 대응할 수 있다. 6lo 어댑테이션은 IPv6 어댑테이션 레이어에 대응할 수 있다. MAC는 링크(link) 레이어에 대응할 수 있다. 라디오 트랜스미션 및 인터페이스는 물리적(physical) 레이어에 대응할 수 있다.
기능 구조에 있어서, 가장 아래에 인터페이스가 위치할 수 있다. 예를 들면, 인터페이스는 하드웨어로 근거리 통신 망을 지원하는 무선 인터페이스일 수 있다. 예를 들면, 무선 인터페이스는 와이-파이(Wi-Fi), 와이브로(WiBro), 블루투스(Bluetooth), NFC 및 LTE 중 적어도 하나를 포함할 수 있다. 와이-파이는 저전력 와이-파이일 수 있다. 도 1에서는, 인터페이스로서, 와이-파이, 와이브로, 블루투스, NFC 및 LTE가 예시적으로 도시되었다.
게이트웨이 기능은 네트워크 계층으로서 IPv4 스택 및/또는 IPv6 스택를 구성할 수 있다. 또한, 물리 계층 및 네트워크 계층의 사이에는 6lo 어댑테이션이 존재할 수 있다. 6lo 어댑테이션은 IPv6 패킷의 헤더를 압축할 수 있다. 또한 6lo 어댑테이션에 의해 IPv6 패킷이 근거리 통신 망의 패킷으로 변환될 수 있다.
트랜스포트 레이어의 프로토콜으로서는, 복잡한 구성을 갖는 TCP 대신 UDP가 사용될 수 있다. 그러나, 아래의 실시예에서 TCP의 사용이 배제되는 것은 아니다.
UDP 스택의 상위에는 CoAP와 같은 어플리케이션 전송 프로토콜이 구현될 수 있다. 또한, CoAP 및 기존의 HTTP 프로토콜 간의 변환을 위해, CoAP-to-HTTP 변환 기능이 제공될 수 있다. 보안 기능을 제공하기 위해서, 자원-제한적 노드들 간의 보안 통신을 지원하는 DICE 프로토콜이 구현될 수 있다. 또한, DICE 및 기존의 TLS 프로토콜 간의 변환을 위해, DICE-to-TLS 변환 기능이 제공될 수 있다. 도 1에서는 변환 기능으로서 CoAP-to-HTTP, DICE-to-TLS 및 ACE가 도시되었다. 이하에서, "변환 기능"은 생략될 수 있다.
변환 기능의 상위에는, 전체적인 시스템의 운용을 위한 시스템 계층이 구현될 수 있다. 또한, 요구되는 어플리케이션들을 위한 어플리케이션 계층이 가장 상위에서 구현될 수 있다.
전술된 것과 같은 통신 프로토콜 기능들(functions)의 제어를 위해, 전술된 전 계층들에 수직으로 걸쳐 제어(control) 기능들이 형성될 수 있다.
전술된 일반적인 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능 구조는 네트워킹 기능 등을 모두 하드웨어 상에 정적으로 구현한다. 따라서, 새로운 소프트웨어 버전으로의 업그레이드를 위해서는 게이트웨이의 하드웨어 상의 소프트웨어 전체에 대한 업그레이드가 요구된다. 또한, 새로운 네트워킹 기능의 추가를 위해서는 물리적인 게이트웨이의 추가적인 설치 또는 게이트웨이의 물리적인 위치 등의 직접적인 변동이 요구된다. 또한, 소정의 네트워킹 기능들의 순차적인 처리를 설정하기 위해서도 물리적인 게이트웨이의 추가적인 설치 또는 게이트웨이의 물리적인 위치 등의 직접적인 변동이 요구된다. 이러한 추가적인 설치 또는 직접적인 변동은 불편함을 야기한다.
NFV는 방화벽 및 NAT 등과 같은 미들박스 기능에 대한 가상화에 적용되는 기술일 수 있다. 상술된 것과 같은 문제의 해결을 위해, 아래의 실시예를 통해 NFV 개념을 자원-제한적 네트워킹 환경에 적용할 수 있게 하는 구조가 제안된다.
도 2는 일 실시예에 따른 게이트웨이 기능을 제공하는 시스템의 구성도이다.
시스템은 노드(110), 게이트웨이(120), 서버(130) 및 제어기(140)를 포함할 수 있다.
노드(110)는 자원-제한적 노드일 수 있다. 예를 들면, 노드(110)는 IoT 사물일 수 있다. 노드(110)는 게이트웨이(120) 및 서버(130)에 의해 제공되는 게이트웨이 기능을 통해 외부 노드(190)와 통신할 수 있다.
게이트웨이(120)는 노드(110)에게 게이트웨이 기능을 제공할 수 있다. 게이트웨이(120)는 2개 이상의 네트워크들의 각각을 통해 연결된 노드들에게 게이트웨이 기능을 제공할 수 있다. 게이트웨이(120)는 제1 네트워크 및 제2 네트워크 사이에서의 게이트웨이 기능을 제공할 수 있다.
서버(130)는 게이트웨이(120)와 함께 게이트웨이 기능을 제공할 수 있다. 말하자면, 게이트웨이(120) 및 서버(130)는 도 1을 참조하여 전술된 게이트웨이 기능의 적어도 일부를 제공할 수 있다. 또한, 게이트웨이(120) 및 서버(130) 간의 연동을 통해 게이트웨이 기능이 제공될 수 있다.
서버(130)는 범용 서버일 수 있다. 서버(130)는 하이퍼바이저(hypervisor)와 같은 가상화 제공 환경을 제공할 수 있으며, 가상화 제공 환경 상에서 VM을 제공할 수 있다.
제어기(140)는 게이트웨이(120) 및/또는 서버(130)를 제어할 수 있다. 제어기(140)는 SDN 제어기일 수 있다.
노드(110) 및 게이트웨이(120)는 제1 네트워크를 통해 연결될 수 있다. 게이트웨이(120) 및 서버(130)는 제1 네트워크 또는 별개의 네트워크를 통해 연결될 수 있다. 게이트웨이(120) 및 제어기(140)는 제1 네트워크 또는 별개의 네트워크를 통해 연결될 수 있다.
외부 노드(190) 및 게이트웨이(120)는 제2 네트워크를 통해 연결될 수 있다.
노드(110), 게이트웨이(120), 서버(130) 및 외부 노드(190)의 각각은 복수일 수 있다. 복수의 서버들은 클라우드를 구성할 수 있다.
도 3은 일 실시예에 따른 게이트웨이의 구조도이다.
게이트웨이(120)는 처리부(310), 제1 인터페이스(320) 및 제2 인터페이스(330)를 제공할 수 있다.
처리부(310)는 게이트웨이(120)의 동작을 위해 요구되는 작업을 처리할 수 있다. 예를 들면, 처리부(310)는 적어도 하나의 프로세서(processor)일 수 있다. 처리부(310)는 실시예들에서 설명된 게이트웨이(120)의 단계 또는 동작에 대한 코드를 실행(execute)할 수 있다.
제1 인터페이스(320)는 게이트웨이(120)의 통신을 위한 인터페이스일 수 있다. 게이트웨이(120)는 제1 인터페이스(320)를 통해 제1 네트워크와 연결될 수 있다. 제1 인터페이스(320)는 실시예들에서 설명된 게이트웨이(120)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 게이트웨이(120)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 제1 인터페이스(320)는 제1 네트워크 내의 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 제1 인터페이스(320)는 네트워크 칩(chip) 또는 포트(port)일 수 있다.
제2 인터페이스(330)는 게이트웨이(120)의 통신을 위한 인터페이스일 수 있다. 게이트웨이(120)는 제2 인터페이스(330)를 통해 제2 네트워크와 연결될 수 있다. 제2 인터페이스(330)는 실시예들에서 설명된 게이트웨이(120)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 게이트웨이(120)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 제2 인터페이스(330)는 제2 네트워크 내의 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 제2 인터페이스(330)는 네트워크 칩 또는 포트일 수 있다.
제1 인터페이스(320) 및 제2 인터페이스(330)의 각각은 도 1을 참조하여 전술된 인터페이스의 일부일 수 있다. 제1 인터페이스(320) 및 제2 인터페이스(330)의 각각은 와이-파이, 와이브로, 블루투스, NFC 및 LTE 중 하나일 수 있다.
도 4는 일 실시예에 따른 서버의 구조도이다.
처리부(410)는 서버(130)의 동작을 위해 요구되는 작업을 처리할 수 있다. 예를 들면, 처리부(410)는 적어도 하나의 프로세서일 수 있다. 처리부(310)는 실시예들에서 설명된 서버(130)의 단계 또는 동작에 대한 코드를 실행할 수 있다.
통신부(420)는 서버(130)의 통신을 위한 인터페이스일 수 있다. 통신부(130)는 실시예들에서 설명된 서버(130)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 서버(130)의 단계 또는 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 예를 들면, 통신부(420)는 네트워크 칩 또는 포트일 수 있다.
도 5는 일 실시예에 따른 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
도 5에서는, 게이트웨이 기능들이 점선을 통해 3개의 영역들로 구분되었다. 각 영역은 게이트웨의 기능의 일부가 시스템 중 어느 개체에서 구현되는 가를 나타낼 수 있다.
IoT 공통 게이트웨이(GateWay; GW)는 자원-제한적 노드에게 종단들 간에 네트워킹을 지원하기 위해 게이트웨이(120)에서 제공하는 게이트웨이 기능을 나타낼 수 있다. IoT 공통 GW는 게이트웨이(120)에서 구현된 게이트웨이 기능일 수 있다.
게이트웨이(120) 내에서는 게이트웨이 기능을 제공하기 위한 개체들 중 MAC 이하의 개체가 구현될 수 있다. IoT 공통 GW는 인터페이스, 라디오 트랜스미션 및 MAC 중 적어도 하나에 대응할 수 있다. 예를 들면, IoT 공통 GW는 물리적 레이어 및 링크 레이어 중 적어도 하나를 포함할 수 있다.
IoT 공통 GW는 하드웨어로서 구현될 수 있으며, 또는 주로 하드웨어로 구현될 수 있다. 예를 들면, 게이트웨이(120) 내에서는 게이트웨이(120)에서 제공되는 인터페이스에 관련된 소프트웨어 만이 구현될 수 있다. 게이트웨이(120) 내에서는 제1 인터페이스(320) 및 제2 인터페이스(330)에 관련된 소프트웨어 만이 구현될 수 있다. 여기에서, 인터페이스에 관련된 소프트웨어는 인터페이스를 위한 프로토콜 또는 인테페이스에 직접적으로 대응하는 프로토콜일 수 있다.
인터페이스에 관련된 소프트웨어는 게이트웨이 기능을 제공하기 위한 개체들 중 인터페이스에 종속적인(dependent) 개체의 소프트웨어일 수 있다. 예를 들면, 인터페이스에 관련된 소프트웨어는 라디오 트랜스미션의 소프트웨어 및 MAC의 소프트웨어를 포함할 수 있다.
IoT NFV는 자원-제한적 노드에게 종단들 간에 네트워킹을 지원하기 위해 서버(130)에서 제공하는 게이트웨이 기능을 나타낼 수 있다. IoT NFV는 서버(130)에서 구현된 게이트웨이 기능일 수 있다.
IoT NFV는 6lo 어댑테이선, IPv4, IPv6, UDP, CoAP-to-HTTP, DICE-to-TLS, ACE, 시스템 레이어 및 어플리케이션 레이어 중 적어도 하나에 대응할 수 있다.
IoT NFV는 서버(130)에서 구현된 게이트웨이 기능일 수 있다. 서버(130) 내에서는 게이트웨이 기능을 제공하기 위한 개체들 중 어플리케이션 레이어 이하, 6lo 어댑테이션 이상의 개체가 구현될 수 있다.
IoT NFV는 소프트웨어로 구현될 수 있다. IoT NFV는 VM으로서 구현될 수 있다. 말하자면, 서버(130)는 IoT NFV를 서버(130)에서 구동되는 VM으로서 제공할 수 있다. VM을 위해, 서버(130)는 가상화 레이어를 제공할 수 있다. IoT NFV는 가상화 레이어 상에서 동작하도록 구현될 수 있다. 또한, IoT NFV는 가상화 레이어 상에서 제공될 수 있다.
서버(130)에 의해 제공되는 VM은 복수일 수 있다. 복수의 VM들은 게이트웨의 기능 중 일부를 각각 제공할 수 있다. 복수의 VM들에 의해 제공되는 게이트웨이 기능의 일부들은 서로 상이할 수 있다. 예를 들면, 복수의 VM들은 6lo 어댑테이션, CoAP-to-HTTP 및 DICE-to-TLS를 각각 제공할 수 있다.
IoT 공통 GW 및 IoT NFV에 대하여 설명된 것과 같이, 게이트웨이 기능을 제공하는 게이트웨이 구조는 하드웨어 구조 및 NFV 개념을 이용하는 소프트웨어 구조로 분리될 수 있다. 여기에서, 하드웨어 구조는 IoT 공통 GW에 대응할 수 있고, 소프트웨어 구조는 IoT NFV에 대응할 수 있다. 이러한 분리된 구조는 IoT와 같은 저전력의 자원-제한적 네트워킹 환경에 적합할 수 있다.
또한, NFV 개념을 통해, 소프트웨어 적으로 처리되는 것이 가능한 게이트웨이 기능이 가상화를 통해 클라우드 내의 서버(130)에서 제공될 수 있다.
도 1을 참조하여 전술된 제어 기능들은, 게이트웨이(120) 및 서버(130)와는 별도로 분리될 수 있다. IoT SDN은 자원-제한적 노드에게 종단들 간에 네트워킹을 지원함에 있어서 요구되는 제어 기능들을 나타낼 수 있다. IoT SDN은 제어기(140)에서 구현된 제어 기능들일 수 있다.
제어기(140)는 제어 기능을 통해 서버(130)의 VM을 외부에서 제어할 수 있다. 여기에서, 제어는 설치(installation), 연결(connection), 관리(management), 설정(setting), 구성(configuration) 및 운용(operation) 등을 포함할 수 있다. 제어기(140)는 제어 기능을 통해 6lo 어댑테이션, CoAP-to-HTTP 및 DICE-to-TLS 등을 제어할 수 있다.
제어 기능은 데이터 모델 언어를 통해 설정될 수 있다. 예를 들면, 데이터 모델 언어는 와이에이엔지(YANG)일 수 있다. 데이터 모델 언어를 사용하는 설정을 통해, 외부의 제어기(140)는 서버(130)의 VM을 제어할 수 있다.
전술된 것과 같이, 서버(130)는 복수일 수 있으며, 복수의 서버들에 대한 통합된 제어가 요구될 수 있다. 제어 기능들이 분리됨에 따라, 복수의 서버들의 게이트웨이 기능들이 SDN 개념을 통해 중앙집중식으로 제어될 수 있다. 제어기(140)는 복수의 서버들의 VM들을 중앙집중식으로 제어할 수 있다.
도 6은 일 실시예에 따른 자원-제한적 노드들의 종단들 간의 네트워킹을 지원하기 위한 게이트웨이 기능을 나타낸다.
도 6에서는, 게이트웨이 기능들이 점선을 3개의 영역들로 구분되었다. 각 영역은 게이트웨의 기능의 일부가 시스템 중 어느 개체에서 구현되는 가를 나타낼 수 있다.
게이트웨이(120) 내에서는 게이트웨이 기능을 제공하기 위한 개체들 중 UDP 이하의 개체가 구현될 수 있다. 게이트웨이(120) 내에는 6lo 어댑테이션, IPv4, IPv6 및 UDP 중 적어도 하나가 구현될 수 있다. IoT 공통 GW는 인터페이스, 라디오 트랜스미션 및 MAC 중 적어도 하나에 대응할 수 있다. 예를 들면, IoT 공통 GW는 물리적 레이어, 링크 레이어, IPv6 어댑테이션 레이어 중 적어도 하나를 포함할 수 있다.
IoT 공통 GW는 하드웨어 및 소프트웨어로 구현될 수 있다. 또한, 게이트웨이(120) 내에서는 게이트웨이(120)에서 제공되는 인터페이스에 관련된 소프트웨어 외에도 IPv6 및 6lo 어댑테이션이 구현될 수 있다. 예를 들면, 게이트웨이(120) 내에서는 제1 인터페이스(320) 및 제2 인터페이스(330)에 관련된 소프트웨어와, IPv6 및 6lo 어댑테이션이 구현될 수 있다. 게이트웨이(120)에서 구현된 IPv6 및 6lo 어댑테이션에 의해 성능 향상이 제공될 수 있고, 노드(110) 및 게이트웨이(120) 간의 빠른 연결성(connectivity)이 보장될 수 있다.
인터페이스에 관련된 소프트웨어는 게이트웨이 기능을 제공하기 위한 개체들 중 인터페이스에 종속적인 개체의 소프트웨이일 수 있다. 예를 들면, 인터페이스에 관련된 소프트웨어는 라디오 트랜스미션의 소프트웨어 및 MAC의 소프트웨어를 포함할 수 있다.
IoT NFV는 자원-제한적 노드에게 종단들 간에 네트워킹을 지원하기 위해 서버(130)에서 제공하는 게이트웨이 기능을 나타낼 수 있다. IoT NFV는 서버(130)에서 구현된 게이트웨이 기능일 수 있다.
IoT NFV는 CoAP-to-HTTP, DICE-to-TLS, ACE, 시스템 레이어 및 어플리케이션 레이어 중 적어도 하나에 대응할 수 있다.
IoT NFV는 서버(130)에서 구현된 게이트웨이 기능일 수 있다. 서버(130) 내에서는 게이트웨이 기능을 제공하기 위한 개체들 중 어플리케이션 레이어 이하, 트렌스포트 레이어 이상의 개체가 구현될 수 있다.
IoT NFV는 소프트웨어로 구현될 수 있다. IoT NFV는 VM으로서 구현될 수 있다. 말하자면, 서버(130)는 IoT NFV를 서버(130)에서 구동되는 VM으로서 제공할 수 있다. VM을 위해, 서버(130)는 가상화 레이어를 제공할 수 있다. IoT NFV는 가상화 레이어 상에서 동작하도록 구현될 수 있다. 또한, IoT NFV는 가상화 레이어 상에서 제공될 수 있다. 서버(130)에 의해 제공되는 VM은 복수일 수 있다. 복수의 VM들은 게이트웨의 기능 중 일부를 각각 제공할 수 있다. 복수의 VM들에 의해 제공되는 게이트웨이 기능의 일부들은 서로 상이할 수 있다. 예를 들면, 복수의 VM들은 CoAP-to-HTTP 및 DICE-to-TLS를 각각 제공할 수 있다.
도 1을 참조하여 전술된 제어 기능들은, 게이트웨이(120) 및 서버(130)와는 별도로 분리될 수 있다. IoT SDN은 자원-제한적 노드에게 종단들 간에 네트워킹을 지원함에 있어서 요구되는 제어 기능들을 나타낼 수 있다. IoT SDN은 제어기(140)에서 구현된 제어 기능들일 수 있다.
제어기(140)는 제어 기능을 통해 서버(130)의 VM을 외부에서 제어할 수 있다. 제어는 설치, 연결, 관리, 설정, 구성 및 운용 등을 포함할 수 있다. 제어기(140)는 제어 기능을 통해 CoAP-to-HTTP 및 DICE-to-TLS 등을 제어할 수 있다.
제어 기능은 데이터 모델 언어를 통해 설정될 수 있다. 예를 들면, 데이터 모델 언어는 와이에이엔지일 수 있다. 데이터 모델 언어를 사용하는 설정을 통해, 서버의 VM은 외부의 제어기(140)에 의해 제어될 수 있다.
전술된 것과 같이, 서버(130)는 복수일 수 있으며, 복수의 서버들에 대한 통합된 제어가 요구될 수 있다. 제어 기능들이 분리됨에 따라, 복수의 서버들의 게이트웨이 기능들이 SDN 개념을 통해 중앙집중식으로 제어될 수 있다. 제어기(140)는 복수의 서버들의 VM들을 중앙집중식으로 제어할 수 있다.
도 7a 및 도 7b는 일 실시예에 따른 노드가 IP 연결을 직접 지원하는 경우에서의 통신의 개체들 및 개체들의 네트워킹 기능을 나타낸다.
도 7a는 일 실시예에 따른 통신의 개체들을 나타낸다.
노드(110)는 IoT 사물일 수 있다.
노드(110)에는, IP가 구현될 수 있다. 말하자면, 노드(110)는 IP 연결을 직접적으로 지원할 수 있다.
게이트웨이(120)는 IoT GW일 수 있다. 제1 인터페이스(320)는 노드(110)와의 통신을 위해 사용될 수 있다. 제2 인터페이스(330)는 외부 노드(190)와의 통신을 위해 사용될 수 있다.
노드(110)가 IP 연결을 직접적으로 지원하는 경우, 예를 들면, 제1 인터페이스(320)는 IPv6 상의 블루투스, WPAN 또는 NFC 인터페이스일 수 있다. 예를 들면, 제2 인터페이스(330)는 IPv6 인터페이스일 수 있다.
외부 노드(190)는 인터넷과 같은 전역 네트워크 상의 노드일 수 있다. 예를 들면, 외부 노드(190)는 외부 데이터 서버일 수 있다.
NFV 풀(pool)은 NFV의 풀인 클라우드를 나타낼 수 있다. 클라우드는 서버(130)를 포함할 수 있다. 도시된 것과 같이 노드(110)로부터 외부 노드(190)의 통신을 위해, NFV 풀의 4개의 개체들이 순서대로 패킷을 처리할 수 있다.
노드(110)가 외부 노드(190)와의 통신을 원하는 경우, 노드(110)는 우선 게이트웨이(210)의 제1 인터페이스(320)와 통신할 수 있다. 노드(110)는 제1 인터페이스(320)로 패킷을 전송할 수 있다. 패킷이 전송되면, 제1 인터페이스(320)는 패킷을 NFV 풀로 포워딩할 수 있다.
포워딩 후, 패킷에 대하여 게이트웨이 기능에 의해 처리되어야 하는 변환 기능 등이 NFV 형태로 소프트웨어 적으로 처리될 수 있다. DPI, 6lo 어댑테이션, CoAP-to-HTTP 및 DICE-to-TLS 등이 순차적으로 서비스 체인을 구성할 수 있고, 서비스 체인에 의해 패킷에 대한 처리가 수행될 수 있다. 처리가 완료되면, 패킷은 제2 인터페이스(320)로 포워딩될 수 있다. 이후, 패킷은 외부 노드(190)로 전송될 수 있다.
도 7b는 일 실시예에 따른 각 개체의 네트워킹 기능을 나타낸다.
제1 테이블(710)은 노드(110)의 네트워킹 기능을 나타낼 수 있다. 제2 테이블(720)은 게이트웨이(120)가 제1 인터페이스(320)에 대하여 구현한 네트워킹 기능을 나타낼 수 있다. 제3 테이블(725)은 게이트웨이(120)가 제2 인터페이스(330)에 대하여 구현한 네트워킹 기능을 나타낼 수 있다. 제4 테이블(730)은 외부 노드(190)의 네트워킹 기능을 나타낼 수 있다.
노드(110)에서는 IP가 구현되어 있다. 노드(110)가 IP 연결을 직접적으로 지원하는 경우, 노드(110)는 인터페이스 및 인터페이스를 위한 프로토콜 외에도, 6lo 어댑테이션, IPv6, UDP, CoAP 및 DICE 등을 모두 구현할 수 있다. 인터페이스를 위한 프로토콜은 블루투스 및 NFC 등의 통신 프로토콜을 의미할 수 있다.
반면, 제1 인터페이스(320)에 대해서는, 실시예에서 제안된 방식에 따라, 인터페이스, 인터페이스를 위한 프로토콜, 6lo 어댑테이션, IPv4 및 IPv6 등이 구현될 수 있다.
제2 인터페이스(330)에 대해서는 일반적인 무선 통신 또는 유선 통신을 위한 개체들이 구현될 수 있다. 외부 노드(190) 또한 일반적인 무선 통신 또는 유선 통신을 위한 개체들을 구현할 수 있다.
도 8a 및 도 8b는 일 실시예에 따른 노드가 IP 연결을 직접 지원하지 않는 경우에서의 통신의 개체들 및 개체들의 네트워킹 기능을 나타낸다.
도 8a는 일 실시예에 따른 통신의 개체들을 나타낸다.
노드(110)는 IoT 사물일 수 있다.
노드(110)에는, IP가 구현되지 않을 수 있다. 말하자면, 노드(110)는 논(non)-IP 사물일 수 있고, 노드(110)는 IP 연결을 직접적으로 지원하지 않을 수 있다.
게이트웨이(120)는 IoT GW일 수 있다. 제1 인터페이스(320)는 노드(110)와의 통신을 위해 사용될 수 있다. 제2 인터페이스(330)는 외부 노드(190)와의 통신을 위해 사용될 수 있다.
노드(110)가 IP 연결을 직접적으로 지원하지 않는 경우, 예를 들면, 제1 인터페이스(320)는 IPv6 상의 블루투스, WPAN 또는 NFC 인터페이스일 수 있다. 예를 들면, 제2 인터페이스(330)는 IPv6 인터페이스일 수 있다.
외부 노드(190)는 인터넷과 같은 전역 네트워크 상의 노드일 수 있다. 예를 들면, 외부 노드(190)는 외부 데이터 서버일 수 있다.
NFV 풀)은 NFV의 풀인 클라우드를 나타낼 수 있다. 클라우드는 서버(130)를 포함할 수 있다. 도시된 것과 같이 노드(110)로부터 외부 노드(190)의 통신을 위해, NFV 풀의 2개의 개체들이 순서대로 패킷을 처리할 수 있다.
노드(110)가 외부 노드(190)와의 통신을 원하는 경우, 노드(110)는 우선 게이트웨이(210)의 제1 인터페이스(320)와 통신할 수 있다. 노드(110)는 제1 인터페이스(320)로 패킷을 전송할 수 있다. 패킷이 전송되면, 제1 인터페이스(320)는 패킷을 NFV 풀로 포워딩할 수 있다.
포워딩 후, 패킷에 대하여 게이트웨이 기능에 의해 처리되어야 하는 변환 기능 등이 NFV 형태로 소프트웨어 적으로 처리될 수 있다. DPI 및 IPv6 GW 등이 순차적으로 서비스 체인을 구성할 수 있고, 서비스 체인에 의해 패킷에 대한 처리가 수행될 수 있다. 여기에서, 패킷에 대한 처리는 IP에 기반하는 새로운 패킷의 생성을 포함할 수 있다. 처리가 완료되면, 처리의 결과인 새로운 패킷은 제2 인터페이스(420)로 포워딩될 수 있다. 이후, 패킷은 외부 노드(190)로 전송될 수 있다.
도 8b는 일 실시예에 따른 각 개체의 네트워킹 기능을 나타낸다.
제1 테이블(810)은 노드(110)의 네트워킹 기능을 나타낼 수 있다. 제2 테이블(820)은 게이트웨이(120)가 제1 인터페이스(320)에 대하여 구현한 네트워킹 기능을 나타낼 수 있다. 제3 테이블(825)은 게이트웨이(120)가 제2 인터페이스(330)에 대하여 구현한 네트워킹 기능을 나타낼 수 있다. 제4 테이블(830)은 외부 노드(190)의 네트워킹 기능을 나타낼 수 있다.
노드(110)에서는 IP가 구현되어 있지 않다. 노드(110)가 IP 연결을 직접적으로 지원하지 않는 경우, 노드(110)는 물리적 레이어 내에서 인터페이스 및 인터페이스를 위한 프로토콜을 구현할 수 있다. 인터페이스를 위한 프로토콜은 블루투스 및 NFC 등의 통신 프로토콜을 의미할 수 있다.
또한, IP가 구현되어 있지 않은 노드(110)에 대응하도록, 제1 인터페이스(320)에 대해서도 물리적 레이어 내에서 인터페이스 및 인터페이스를 위한 프로토콜이 구현될 수 있다.
제2 인터페이스(330)에 대해서는 일반적인 무선 통신 또는 유선 통신을 위한 개체들이 구현될 수 있다. 외부 노드(190) 또한 일반적인 무선 통신 또는 유선 통신을 위한 개체들을 구현할 수 있다.
도 9는 일 실시예에 따른 게이트웨이 및 서버에 의한 게이트웨이 기능 제공 방법의 흐름도이다.
도 9에서, 노드(110)는 외부 노드(190)로 패킷을 전송할 수 있고, 게이트웨이(120) 및 서버(130)는 노드(110)에게 게이트웨이 기능을 제공할 수 있다.
단계(910)에서, 노드(110)는 패킷을 게이트웨이(120)로 전송할 수 있다. 게이트웨이(120)는 제1 인터페이스(320)를 통해 입력 패킷을 수신할 수 있다.
제1 인터페이스(320)는 무선 네트워크 인터페이스일 수 있다.
단계(920)에서, 게이트웨이(120)의 처리부(310)는 게이트웨이(120)에 의해 제공되는 제1 네트워킹 기능 및 서버(130)에 의해 제공되는 제2 네트워킹 기능을 사용하여 입력 패킷에 대한 게이트웨이 기능을 제공할 수 있다.
제1 네트워킹 기능은 도 5를 참조하여 전술된 IoT 공통 GW의 게이트웨이 기능일 수 있고, 제2 네트워킹 기능은 도 5를 참조하여 전술된 IoT NFV의 게이트웨이 기능일 수 있다. 예를 들면, 제1 네트워킹 기능은 MAC를 포함할 수 있다. 또는, 제1 네트워킹 기능은 MAC 이하의 레이어일 수 있다. 예를 들면, 제2 네트워킹 기능은 6lo 어댑테이션을 포함할 수 있다. 또는, 제2 네트워킹 기능은 6lo 어댑테이션 이상의 레이어일 수 있다.
또는, 제1 네트워킹 기능은 도 6을 참조하여 전술된 IoT 공통 GW의 게이트웨이 기능일 수 있고, 제2 네트워킹 기능은 도 6을 참조하여 전술된 IoT NFV의 게이트웨이 기능일 수 있다. 예를 들면, 제1 네트워킹 기능은 UDP 및 TCP 중 적어도 하나를 포함할 수 있다. 또는, 제1 네트워킹 기능은 UDP 이하의 레이어 또는 TCP 이하의 레이어일 수 있다. 예를 들면, 제2 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능을 포함할 수 있다. 또는, 제2 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능의 이하의 레이어일 수 있다.
도 7a 및 도 7b를 참조하여 전술된 것과 같이, 노드(110)는 IP 연결을 직접적으로 지원할 수 있다. 노드(110)가 IP 연결을 직접적으로 지원하는 경우, 제1 네트워킹 기능은 IPv4 및 IPv6 중 적어도 하나를 포함할 수 있다. 또는, 제1 네트워킹 기능은 IPv4 및 IPv6 중 적어도 하나의 레이어의 이하의 레이어일 수 있다.
도 8a 및 도 8b를 참조하여 전술된 것과 같이, 노드(110)는 IP 연결을 직접적으로 지원하지 않을 수 있다. 노드(110)가 IP 연결을 직접적으로 지원하지 않는 경우, 제1 네트워킹 기능은 제1 네트워킹 기능은 MAC를 포함할 수 있다. 또는, 제1 네트워킹 기능은 MAC 이하의 레이어일 수 있다. 또한, 노드(110)가 IP 연결을 직접적으로 지원하지 않는 경우, 제2 네트워킹 기능은 6lo 어댑테이션을 포함할 수 있다. 또는, 제2 네트워킹 기능은 6lo 어댑테이션 이상의 레이어일 수 있다.
도 7b 및 도 8b를 참조하여 전술된 것과 같이, 제1 인터페이스(320)에 대해 제공되는 네트워킹 기능 및 제2 인터페이스(330)에 대해 제공되는 네트워킹 기능은 서로 상이할 수 있다.
서버(130)는 NFV 형태로 제2 네트워킹 기능을 제공할 수 있다. 또한, 제2 네트워킹 기능은 서버(130)가 제공하는 가상화 레이어 상에서 제공될 수 있다.
또한, 서버(130)는 클라우드의 서버들 중 하나일 수 있으며, NFV 풀을 제공하는 클라우드의 서버들 중 하나일 수 있다. NFV 풀은 NFV 형태로 제공되는 제2 네트워킹 기능을 나타낼 수 있다.
NFV 풀을 사용함에 따라서, 클라우드의 처리 용량은 제2 네트워킹 기능을 제공하는 새로운 서버를 클라우드에 추가하거나, 새로운 서버에 제2 네트워킹 기능을 설치함으로써 확장될 수 있다.
단계(920)는 단계들(930, 940, 950, 960, 970 및 980) 중 적어도 일부를 포함할 수 있다.
단계(930)에서, 게이트웨이(120)의 처리부(310)는 제1 네트워크 기능의 처리를 수행할 수 있다. 예를 들면, 처리부(310)는 입력 패킷에 대하여 제1 네트워크 기능의 처리를 수행할 수 있다.
단계(940)에서, 게이트웨이(120)는 제2 인터페이스(330)를 통해 입력 패킷에 대한 제2 네트워킹 기능의 요청을 서버(130)로 전송할 수 있다.
서버(130)의 통신부(420)는 게이트웨이(120)로부터 게이트웨이(120)가 수신한 입력 패킷에 대한 제2 네트워킹 기능의 요청을 수신할 수 있다. 상기의 요청은 입력 패킷 또는 입력 패킷의 데이터를 포함할 수 있다. 또는, 상기의 요청은 단계(930)에서의 처리의 결과를 포함할 수 있다.
단계(950)에서, 서버(130)의 처리부(410)는 상기의 요청에 대하여 제2 네트워킹 기능의 처리를 수행할 수 있다.
게이트웨이(120)에 의해 제공되는 제1 네트워킹 기능 및 상기의 제2 네트워킹 기능에 의해 입력 패킷에 대한 게이트웨이 기능이 제공될 수 있다.
단계(960)에서, 서버(130)의 통신부(420)는 요청에 대한 응답을 게이트웨이(120)로 전송할 수 있다.
게이트웨이(120)는 제2 인터페이스(330)를 통해 서버(130)로부터 요청에 대한 응답을 수신할 수 있다.
상기의 응답은 단계(950)에서의 처리의 결과를 포함할 수 있다.
단계(970)에서, 게이트웨이(120)의 처리부(310)는 서버(130)로부터 전송된 응답 또는 결과에 대하여 제1 네트워크 기능의 처리를 수행할 수 있다.
단계(980)에서, 게이트웨이(120)는 제2 인터페이스(330)를 통해 출력 패킷을 외부 노드(190)로 전송할 수 있다.
출력 패킷은 입력 패킷에 단계(920)에서의 게이트웨이 기능을 적용함으로써 생성될 수 있다. 예를 들면, 입력 패킷 및 출력 패킷은 동일할 수 있다. 또는, 입력 패킷의 데이터 및 출력 패킷의 데이터는 동일할 수 있다. 또는, 출력 패킷은 입력 패킷에 대응할 수 있다.
예를 들면, 출력 패킷은 단계(960)에서 전송된 응답일 수 있으며, 상기의 응답에 포함되는 데이터일 수 있다. 말하자면, 전술된 단계(960)에서, 서버(130)로부터 전송되는 응답은 출력 패킷 또는 출력 패킷의 데이터를 포함할 수 있다. 단계(960)에서, 서버(130)의 처리부(410)는, 요청에 대한 응답으로서, 출력 패킷을 게이트웨이(120)의 제2 인터페이스(330)로 전송할 수 있다. 또한, 단계(980)에서, 제2 인터페이스(330)는 출력 패킷을 외부 노드(190)로 전송할 수 있다.
또는, 출력 패킷은 단계(970)의 처리에 의해 생성될 수 있다. 예를 들면, 전술된 단계(960)에서, 게이트웨이(120)가 서버(130)로부터 요청에 대한 결과를 수신하면, 전술된 단계(970)에서, 처리부(310)는 상기의 결과에 기반하여 출력 패킷을 생성할 수 있다.
전술된 단계들(910 및 920)를 통해, 게이트웨이(120)는 입력 패킷이 IP 패킷 또는 non-IP 패킷 중 어느 것인 지와는 무관하게 입력 패킷을 서버(130)로 포워딩함으로써 입력 패킷이 IP 패킷 또는non-IP 패킷 중 어느 것인 지와는 무관하게 가상화된 형태의 변환 기능을 통해 입력 패킷을 소프트웨어 적으로 처리할 수 있다.
도 1 내지 도 8b를 참조하여 전술된 실시예들에 대한 내용은 본 실시예에도 적용될 수 있다. 이하에서, 중복되는 설명은 생략된다.
전술된 실시예들에 의해, 게이트웨이 내에서 다양하게 구현되어야 하는 여러 인터페이스들 및 상기의 여러 인터페이스들에 관련된 변환 기능 등이 보다 단순하게 구현될 수 있다. 이러한 구현을 통해, 개발 비용 및 소프트웨어 단가가 감소될 수 있다.
또한, 전술된 실시예들에 의해, 저전력의 자원-제한적인 네트워킹 환경에서, 표준화된 새로운 프로토콜 등과 같은 새로운 기능 의해 소프트웨어의 업그레이드가 요구될 때, 게이트웨이 하드웨어가 아닌 클라우드 내의 소프트웨어 만의 업그레이드를 통해 새로운 기능이 지원될 수 있다. 이러한 지원을 통해, 종단들 간의 글로벌 네트워킹이 보다 확장성 있고 유연하게 제공될 수 있다.
또한, 노드가 증가할 경우, 노드의 통신을 원활하게 지원하기 위해서는 물리적인 하드웨어 게이트웨이가 추가적으로 설치되거나, 게이트웨이의 물리적인 위치가 변화될 필요가 있다. 전술된 실시예들에 의하면 이러한 추가적인 설치 및 위치의 변화 없이도, 클라우드 내에서 게이트웨이 기능을 제공하는 서버를 추가함으로써 처리 용량이 확장될 수 있다. 서버의 추가는, 예를 들면, 네트워크 기능 풀에 대한 소프트웨어를 서버에 추가로 설치함으로써 이루어질 수 있다. 말하자면, 클라우드 내의 서버에 소프트웨어를 설치하는 것만으로 스케일-아웃(scale-out) 기능이 원활하게 지원될 수 있다.
또한, 게이트웨이가 수신한 패킷은 IP 지원 패킷일 수도 있고 non-IP 패킷일 수도 있다. 게이트웨이는 수신된 패킷이 IP 지원 패킷 및 non-IP 패킷 중 어느 것인 지와는 무관하게, 수신된 패킷을 클라우드 상의 NFV 형태의 변환 기능을 호출함으로써 패킷을 소프트웨어적으로 처리할 수 잇다. 따라서, 게이트웨이의 측면에서는 보다 유연하게 다양한 IoT 처리 방식에 제공될 수 있다.
또한, 게이트웨이는 게이트웨이 기능을 제공함에 있어서 NFV 개념을 지원하할 수 있다. 게이트웨이는 수신된 패킷을 NFV 풀을 제공하는 클라우드로 무조건 포워딩함으로써 수신된 패킷이 IP 패킷 및 non-IP 패킷 중 어느 것인 지와는 무관하게 가상화된 형태의 변환 기능을 통해 패킷을 소프트웨어 적으로 처리할 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 노드
110: 게이트웨이
120: 서버
190: 외부 노드

Claims (20)

  1. 게이트웨이에 의해 수행되는,
    노드로부터 입력 패킷을 수신하는 단계; 및
    상기 게이트웨이에 의해 제공되는 제1 네트워킹 기능 및 서버에 의해 제공되는 제2 네트워킹 기능을 사용하여 상기 입력 패킷에 대한 게이트웨이 기능을제공하는 단계
    를 포함하는 게이트웨이 기능 제공 방법.
  2. 제1항에 있어서,
    상기 게이트웨이는 상기 게이트웨이의 제1 인터페이스를 통해 상기 노드로부터 상기 입력 패킷을 수신하고,
    상기 제1 인터페이스는 무선 네트워크 인터페이스인 게이트웨이 기능 제공 방법.
  3. 제1항에 있어서,
    상기 게이트웨이 기능을 제공하는 단계는,
    상기 입력 패킷에 상기 게이트웨이 기능을 적용함으로써 생성된 출력 패킷을 상기 게이트웨이의 제2 인터페이스를 통해 외부 노드로 전송하는 단계
    를 포함하는 게이트웨이 기능 제공 방법.
  4. 제3항에 있어서,
    상기 서버는 상기 출력 패킷을 상기 제2 인터페이스로 전송하고,
    상기 제2 인터페이스는 상기 출력 패킷을 상기 외부 노드로 전송하는 게이트웨이 기능 제공 방법.
  5. 제3항에 있어서,
    상기 제1 인터페이스에 대해 제공되는 네트워킹 기능 및 상기 제2 인터페이스에 대해 제공되는 네트워킹 기능은 서로 상이한 게이트웨이 기능 제공 방법.
  6. 제3항에 있어서,
    상기 게이트웨이 기능을 제공하는 단계는,
    상기 입력 패킷에 대한 상기 제2 네트워킹 기능의 요청을 상기 서버로 전송하는 단계;
    상기 서버로부터 상기 요청에 대한 처리의 결과를 수신하는 단계; 및
    상기 결과에 기반하여 상기 출력 패킷을 생성하는 단계
    를 더 포함하는 게이트웨이 기능 제공 방법.
  7. 제1항에 있어서,
    상기 제1 네트워킹 기능은 미디어 접근 제어(Media Access Control; MAC)를 포함하고,
    상기 제2 네트워킹 기능은 6lo 어댑테이션을 포함하는 게이트웨이 기능 제공 방법.
  8. 제1항에 있어서,
    상기 제1 네트워킹 기능은 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP)를 포함하고,
    상기 제2 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능을 포함하는 게이트웨이 기능 제공 방법.
  9. 제1항에 있어서,
    상기 노드는 IP 연결을 직접적으로 지원하지 않고,
    상기 제1 네트워킹 기능은 MAC을 포함하고,
    상기 제2 네트워킹 기능은 IP를 포함하는 게이트웨이 기능 제공 방법.
  10. 제1항에 있어서,
    상기 서버는 네트워크 기능 가상화(Network Function Virtualization; NFV) 형태로 상기 제2 네트워킹 기능을 제공하는 게이트웨이 기능 제공 방법.
  11. 제1항에 있어서,
    상기 제2 네트워킹 기능은 상기 서버가 제공하는 가상화 레이어 상에서 제공되는 게이트웨이 기능 제공 방법.
  12. 제1항에 있어서,
    상기 서버는 NFV 풀을 제공하는 클라우드의 서버들 중 하나인 게이트웨이 기능 제공 방법.
  13. 제12항에 있어서,
    상기 클라우드의 처리 용량은 상기 제2 네트워킹 기능을 제공하는 새로운 서버를 상기 클라우드에 추가함으로써 확장되는 게이트웨이 기능 제공 방법.
  14. 제1항에 있어서,
    상기 게이트웨이는 상기 입력 패킷이 IP 패킷 또는 논(non)-IP 패킷 중 어느 것인 지와는 무관하게 상기 입력 패킷을 상기 서버로 포워딩함으로써 상기 입력 패킷이 IP 패킷 또는 논(non)-IP 패킷 중 어느 것인 지와는 무관하게 가상화된 형태의 변환 기능을 통해 상기 입력 패킷을 소프트웨어 적으로 처리하는 게이트웨이 기능 제공 방법.
  15. 게이트웨이에 있어서,
    노드로부터 입력 패킷을 수신하는 제1 인터페이스;
    출력 패킷을 외부 노드로 저송하는 제2 인터페이스; 및
    상기 게이트웨이에 의해 제공되는 제1 네트워킹 기능 및 서버에 의해 제공되는 제2 네트워킹 기능을 사용하여 상기 입력 패킷에 대한 게이트웨이 기능을제공하는 처리부
    를 포함하고,
    상기 출력 패킷은 상기 입력 패킷에 상기 게이트웨이 기능을 적용함으로써 생성되는 게이트웨이.
  16. 서버에 의해 수행되는,
    게이트웨이로부터 상기 게이트웨이가 수신한 입력 패킷에 대한 제1 네트워킹 기능의 요청을 수신하는 단계;
    상기 요청에 대하여 상기 제1 네트워킹 기능의 처리를 수행하는 단계; 및
    상기 요청에 대한 응답을 상기 게이트웨이로 전송하는 단계
    를 포함하고,
    상기 게이트웨이에 의해 제공되는 제2 네트워킹 기능 및 상기 제1 네트워킹 기능에 의해 상기 입력 패킷에 대한 게이트웨이 기능이 제공되는, 게이트웨이 기능 제공 방법.
  17. 제16항에 있어서,
    상기 제2 네트워킹 기능은 MAC를 포함하고,
    상기 제1 네트워킹 기능은 6lo 어댑테이션을 포함하는 게이트웨이 기능 제공 방법.
  18. 제16항에 있어서,
    상기 제2 네트워킹 기능은 UDP를 포함하고,
    상기 제1 네트워킹 기능은 CoAP-to-HTTP, DICE-to-TLS 및 ACE 중 적어도 하나의 변환 기능을 포함하는 게이트웨이 기능 제공 방법.
  19. 제16항에 있어서,
    상기 서버는 NFV 형태로 상기 제1 네트워킹 기능을 제공하는 게이트웨이 기능 제공 방법.
  20. 제16항에 있어서,
    상기 서버는 NFV 풀을 제공하는 클라우드의 서버들 중 하나인 게이트웨이 기능 제공 방법.
KR1020150144797A 2014-10-28 2015-10-16 게이트웨이 기능을 제공하기 위한 방법 및 장치 KR20160049969A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/923,627 US20160119166A1 (en) 2014-10-28 2015-10-27 Method and apparatus for providing gateway function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140147149 2014-10-28
KR1020140147149 2014-10-28

Publications (1)

Publication Number Publication Date
KR20160049969A true KR20160049969A (ko) 2016-05-10

Family

ID=56021059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150144797A KR20160049969A (ko) 2014-10-28 2015-10-16 게이트웨이 기능을 제공하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20160049969A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135551A1 (ko) * 2018-01-03 2019-07-11 삼성전자 주식회사 외부 전자 장치를 통해 데이터를 송수신하는 전자 장치 및 그 데이터 송수신 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135551A1 (ko) * 2018-01-03 2019-07-11 삼성전자 주식회사 외부 전자 장치를 통해 데이터를 송수신하는 전자 장치 및 그 데이터 송수신 방법
US11265361B2 (en) 2018-01-03 2022-03-01 Samsung Electronics Co., Ltd Electronic device for transmitting/receiving data through external electronic device, and data transmitting/receiving method therefor

Similar Documents

Publication Publication Date Title
US20190245809A1 (en) System and method for message handling in a network device
JP5711754B2 (ja) スマートクライアントルーティング
US10813154B2 (en) Enabling interface aggregation of mobile broadband network interfaces
US10110641B2 (en) Establishing a data transfer connection
US20200059976A1 (en) IoT DEVICE CONNECTIVITY, DISCOVERY, AND NETWORKING
JP6523313B2 (ja) マシンツーマシン通信システムにおける接続性の拡張
KR101938623B1 (ko) 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이
CN102355479B (zh) 一种多nat网关流量转发的方法和设备
US10855491B2 (en) Method for implementing GRE tunnel, access point and gateway
JP6693799B2 (ja) 中継方法並びに対応する通信ネットワークデバイス、システム、コンピュータプログラム及びコンピュータ可読記憶媒体
US11477137B2 (en) Managing physical resources for virtual network functions
US9917926B2 (en) Communication method and communication system
US20160119166A1 (en) Method and apparatus for providing gateway function
JP5303403B2 (ja) 端末装置、通信方法、及びプログラム
KR20160049969A (ko) 게이트웨이 기능을 제공하기 위한 방법 및 장치
KR102503257B1 (ko) 블루투스 통신을 위한 장치 및 방법
CN107005473B (zh) 通信路径切换装置、控制通信路径切换装置的方法
Steinmetzer et al. TPy: A lightweight framework for agile distributed network experiments
CN105516121B (zh) 无线局域网中ac与ap通信的方法及系统
WO2014067065A1 (zh) 实现隧道处理的方法、装置和系统
EP3294006B1 (en) Multilink-based data transmission method and device
Saraj et al. ISP independent architecture (IIA) for IPv6 packet traversing and inter-connectivity over hybrid (IPv4/IPv6) internet
JP6264737B2 (ja) 負荷分散システム
CN116420345A (zh) Vxlan覆盖结构中的dhcp第二层中继
CN102347990A (zh) 一种tcp连接建立的方法和设备