KR20200025387A - 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법 - Google Patents

사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법 Download PDF

Info

Publication number
KR20200025387A
KR20200025387A KR1020180102646A KR20180102646A KR20200025387A KR 20200025387 A KR20200025387 A KR 20200025387A KR 1020180102646 A KR1020180102646 A KR 1020180102646A KR 20180102646 A KR20180102646 A KR 20180102646A KR 20200025387 A KR20200025387 A KR 20200025387A
Authority
KR
South Korea
Prior art keywords
data
encapsulation
container
network
decapsulation
Prior art date
Application number
KR1020180102646A
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 KR1020180102646A priority Critical patent/KR20200025387A/ko
Publication of KR20200025387A publication Critical patent/KR20200025387A/ko

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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법을 개시한다.
본 실시예에 의하면, 호스트 머신과 게스트 컨테이너 간 OS 공유로 인한 혼동을 방지하기 위해 특히 Transparent NF의 데이터 패킷 수신요청에 대응하여 수신된 데이터 패킷을 캡슐화(Encapsulation)하고, 캡슐화된 데이터 패킷에 적합한 NF로 전송할 수 있도록 하는 트래픽 제어 시스템을 제공한다.

Description

사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법{Method and Apparatus for Controlling Network Traffic for IoT Device}
본 실시예는 IoT 기기를 위한 네트워크 트래픽 제어장치 및 그 방법에 관한 것이다. 더욱 상세하게는, 수신한 데이터 패킷에 대해 캡슐화(Encapsulation)를 수행하여 데이터 패킷을 가공하고, 가공된 데이터 패킷을 기반으로 네트워크 트래픽을 제어하는 사물인터넷(Internet of Things, IoT) 기기를 위한 네트워크 트래픽 제어장치 및 그 방법에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
최근, 소프트웨어 정의 네트워크(Software-Defined Network, SDN) 기술과 관련하여 미래 지향적인 네트워크 서비스의 가상화를 지원하는 기술로, NFV(Network Function Virtualization) 기술이 각광받고 있다. NFV 기술은 트래픽(Traffic)에 따라 네트워크 기능(Network Function)을 가상화(Virtualization)하여 네트워크 서비스를 구현한다. NFV 기술은 기존에 하드웨어로 구현되던 방화벽(Firewall)이나 네트워크 주소 변환기(Network Address Translation, NAT)와 같은 네트워크 기능들을 소프트웨어로 구현할 수 있다. 따라서, NFV 기술을 활용하면, 네트워크 기능들을 가상 머신(Virtual Machine, VM)이나 컨테이너(Container)에 담아 필요에 따라 구성을 쉽게 바꿀 수 있어 네트워크 구성 및 관리에 드는 비용을 절감할 수 있다.
네트워크 기능들을 담는 가상화 솔루션은 크게 가상 머신과 컨테이너로 구분된다. 이 중 컨테이너는 가상 머신과 달리, 호스트 머신(Host Machine)과 게스트 컨테이너(Guest Container) 사이에 운영체제(OS)를 공유하도록 설계되어 있어, 가상화를 위한 성능 부하가 거의 없는 반면 호스트 머신과 게스트 컨테이너 간 운영체제를 분리하지 않아 컨테이너에 담긴 네트워크 기능의 작동이 제약될 수 있다.
네트워크 기능은 스스로의 IP를 갖는 불투명한(Opaque) NF와 스스로의 IP를 갖지 못하고 자신을 통과하는 네트워크 트래픽을 감시 또는 변조하는 투명한(Transparent) NF로 나눌 수 있다. Transparent NF는 운영체제에 데이터 패킷 수신요청을 하여 자신이 관심있는 패킷들을 수신한다. 전술한 바와 같이, 컨테이너는 호스트 머신과 운영체제를 공유하고 있으므로, 컨테이너에 담긴 Transparent NF의 데이터 패킷 수신요청에 대해 컨테이너의 운영체제가 아닌 호스트 머신의 운영체제가 응답하게 되는바 설정된 가상 네트워크의 구성이 무시되는 문제가 있다.
본 실시예는, 호스트 머신과 게스트 컨테이너 간 OS 공유로 인한 혼동을 방지하기 위해 특히 Transparent NF의 데이터 패킷 수신요청에 대응하여 수신된 데이터 패킷을 캡슐화(Encapsulation)하고, 캡슐화된 데이터 패킷에 적합한 NF로 전송할 수 있도록 하는 트래픽 제어 시스템을 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 사물인터넷(Internet of Things, IoT) 장치와 데이터 패킷(Data Packet)을 송수신하는 패킷 송수신부; 복수의 컨테이너와 호스트 머신(Host Machine) 간의 운영체제(Operating System, OS) 공유로 인한 혼동을 방지하기 위하여 상기 데이터 패킷에 대해 캡슐화(Encapsulation)를 수행하여 제 1 캡슐화 데이터를 생성하는 캡슐화 수행부; 프로그래밍(Programming)을 이용하여 상기 제 1 캡슐화 데이터에 주소값을 부여하는 가상 스위치부; 및 상기 제 1 캡슐화 데이터에 대해 디캡슐레이션(Decapsulation)을 수행하여 제 1 디캡슐레이션 데이터를 생성하고, 제 1 컨테이너(Container)로 전송하는 네트워크 기능 제어부를 포함하는 것을 특징으로 하는 네트워크 트래픽 제어장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 호스트 머신과 게스트 컨테이너 간에 공유하는 운영체제의 혼동을 방지할 수 있으므로, 적은 부하로 기 설정된 가상 네트워크의 구성에 맞게 사용할 수 있는 효과가 있다.
또한, 본 실시예에 의하면, IoT 기기로부터 수신한 데이터 패킷을 정확하게 컨테이너 내부의 NF로 전송할 수 있으므로, 네트워크의 트래픽을 제어할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 네트워크 트래픽 제어장치를 포함한 전체 SDN 제어 시스템을 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 SDN 제어장치와 트래픽 제어장치의 관계를 설명하기 위해 개략적으로 나타낸 예시도이다.
도 3은 본 실시예에 따른 네트워크 트래픽 제어장치를 개략적으로 블록 구성도이다.
도 4는 본 실시예에 따른 데이터 영역과 제어 영역을 설명하기 위해 개략적으로 나타낸 블록 구성도이다.
도 5는 본 실시예에 따른 데이터 패킷의 캡슐화 과정을 설명하기 위해 나타낸 예시도이다.
도 6은 본 실시예에 따라 네트워크 트래픽 제어방법을 설명하기 위한 순서도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 실시예에서 '포함'이라는 용어는 명세서 상에 기재된 구성요소, 특징, 단계 또는 이들을 조합한 것이 존재한다는 것이지, 하나 또는 복수 개의 구성요소나 다른 특징, 단계 또는 이들을 조합한 것의 존재 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 실시예에서 '호스트 머신'은 가상 머신(Virtual Machine) 또는 컨테이너를 실행시키는 바탕이 되는 머신을 말하고, '게스트 머신'은 호스트 머신에 의해 실행되는 가상 머신을 의미한다. 또한, 본 실시예에서 '운영체제'는 시스템 소프트웨어의 핵심으로 사용자와 하드웨어 사이에서 사용자가 컴퓨터 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 프로그램들의 집합을 의미하고, 본 실시예에서는 OS kernel을 중심으로 설명한다.
도 1은 본 실시예에 따른 네트워크 트래픽 제어장치를 포함한 전체 SDN 제어 시스템을 개략적으로 나타낸 블록 구성도이다.
도 1을 참조하면, 전체 SDN 제어 시스템은 클라우드(100), 트래픽 제어장치(110), SDN 제어장치(120), 사물인터넷 장치(130)를 포함한다.
클라우드(100)는 근거리 통신망(LAN)을 이용하여 트래픽 제어장치(110)와 연동하고, 사물인터넷 장치(130)와 트래픽 제어장치(110) 간에 송수신되는 데이터 패킷을 저장한다. 여기서, 클라우드(100)(Cloud)란 정보를 반영구적으로 저장할 수 있고, 스마트폰(Smart Phone), 태블릿(Tablet), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 개인 휴대 단말기(PDA: Portable Multimedia Player), 무선 통신 단말기(Wireless Communication Terminal) 등의 IT 기기 등과 같은 클라이언트에는 일시적으로 보관되는 컴퓨터 환경을 일컫는다. 클라우드(100)는 트래픽 제어장치(110)의 요청에 따라 저장된 데이터 패킷을 트래픽 제어장치(110)에 제공한다.
트래픽 제어장치(110)는 사물인터넷 장치(130)로부터 데이터 패킷을 수신한다. 트래픽 제어장치(110)는 호스트 머신과 운영체제(OS Kernel)를 공유한다. 트래픽 제어장치(110)는 수신된 데이터 패킷을 캡슐화하여 캡슐화 데이터를 생성한다. 여기서 캡슐화란, 객체의 정보를 하나로 묶어 실제 구현할 내용을 외부에 숨기는 것으로서, 수신한 데이터 패킷에 UDP/IP 헤더를 더하는 작업을 수행하는 것을 의미한다. 트래픽 제어장치(110)는 데이터 패킷의 캡슐화 작업을 이용하여 캡슐화된 데이터 패킷 내부의 데이터가 호스트 머신에 의해 조작되는 것을 방지할 수 있다. 또한, 캡슐화 데이터는 네트워크 트래픽 제어 과정에서 적어도 2회 이상 생성되므로, 이후에 생성되는 캡슐화 데이터와 구분하기 위해 제 1 캡슐화 데이터, 제 2 캡슐화 데이터, 제 n 캡슐화 데이터로 정의한다. 즉, 트래픽 제어장치(110)는 사물인터넷 장치(130)로부터 데이터 패킷을 수신하고, 수신된 데이터 패킷을 캡슐화하여 제 1 캡슐화 데이터를 생성한다. 캡슐화 데이터를 생성하는 과정에 대해서는 도 5와 관련하여 후술한다.
트래픽 제어장치(110)는 캡슐화된 데이터 패킷의 헤더 부분에 존재하는 수신지 필드(Destination Field)에 전송하고자 하는 컨테이너의 주소를 작성하고, 작성된 주소에 해당하는 컨테이너로 캡슐화된 데이터 패킷을 전송한다. 트래픽 제어장치(110)는 제 1 캡슐화 데이터가 컨테이너 내부로 전송되면, 전송된 제 1 캡슐화 데이터를 디캡슐레이션(Decapsulation)하여 제 1 디캡슐레이션 데이터를 생성한다. 여기서, 디캡슐레이션이란 전술한 캡슐화와 반대되는 개념으로, 수신한 캡슐화 데이터에 더해진 UDP/IP 헤더를 제거하는 작업을 수행하는 것을 의미한다. 또한, 네트워크 구성에 따라 컨테이너의 개수가 달라지므로, 제 1 캡슐화 데이터를 수신하여 제 1 디캡슐레이션 데이터를 생성하고, 제 1 디캡슐레이션 데이터를 수신하는 컨테이너를 제 1 컨테이너로 정의한다. 제 1 디캡슐레이션 데이터는 제 1 캡슐화 데이터에서 캡슐화 작업을 제거한 것이므로 사물인터넷 장치(130)로부터 수신한 데이터 패킷과 동일한 내용의 정보를 포함한다. 즉, 트래픽 제어장치(110)는 사물인터넷 장치(130)로부터 수신한 데이터 패킷을 다른 장치의 방해 없이 컨테이너 내부의 네트워크 기능으로 정확히 전송할 수 있게 된다.
트래픽 제어장치(110)는 제 1 컨테이너 내부의 네트워크 기능으로부터 수신한 데이터 패킷을 네트워크 구성에 따라 캡슐화하여 제 2 캡슐화 데이터를 생성한다. 제 1 캡슐화 데이터는 사물인터넷 장치(130)로부터 수신된 데이터 패킷을 캡슐화한 데이터이고, 제 2 캡슐화 데이터는 컨테이너 내부의 네트워크 기능으로부터 수신된 데이터 패킷을 캡슐화한 데이터라는 점에서 차이점이 존재한다. 제 2 캡슐화 데이터는 네트워크 구성에 따라 다음 컨테이너가 존재하는 경우, 제 2 컨테이너로 전송되어 제 2 캡슐화 데이터를 생성하고 제 2 디캡슐레이션 데이터를 생성하는 작업을 반복하여 수행하거나, 다음 컨테이너가 없는 경우에는 제 2 디캡슐레이션 데이터를 트래픽 제어장치(110)의 외부 장치로 전송한다.
소프트웨어 정의 네트워크(Software-Defined Network, SDN) 제어장치(120)는 적어도 하나 이상의 트래픽 제어장치(110)를 제어한다. 보다 상세하게는, SDN 제어장치(120)는 무선 통신을 이용하여 트래픽 제어장치(110)의 구성요소인 가상 스위치를 제어하는데, 하나의 SDN 제어장치(120)로 복수의 가상 스위치를 제어할 수 있다. 여기서 SDN이란, 소프트웨어 프로그래밍 기술을 이용하여 네트워크 경로 설정, 제어 등을 편리하게 처리할 수 있는 네트워킹 기술을 의미한다. SDN의 특징은 제어영역과 데이터 전송 영역을 분리한다. SDN 제어장치(120)는 별도의 장비나 컴퓨터 서버로 분리되고, 네트워크 장치는 데이터 전송 기능만을 갖도록 구성된다. 즉, SDN 제어장치(120)는 트래픽 제어장치(110) 외에도 다른 네트워크 장비를 제어하여 전체 네트워크 인프라 구축 비용을 낮출 수 있다. SDN 제어장치(120)는 데이터 패킷의 최적 경로를 계산하여 가상 스위치로 전송하고, 사물인터넷 장치(130)로부터 트래픽 제어장치(110)로 수신되는 데이터 패킷을 지정된 컨테이너로 전송되도록 제어한다. SDN 제어장치((120))와 트래픽 제어장치(110)의 관계에 대해서는 도 2와 관련하여 후술한다.
사물인터넷 장치(130)는 데이터 패킷을 트래픽 제어장치(110)로 전송한다. 사물인터넷 장치(130)는 사물에 센서와 통신 기능을 탑재하여 인터넷에 연결하는 장치로, 무선 통신을 이용하여 트래픽 제어장치(110)로 데이터 패킷을 전송한다. 여기서 사용되는 무선 통신은 무선 랜(Local Area Network, LAN) 기술을 이용한 IEEE 802.11 기반의 와이파이(Wi-Fi)를 이용할 수 있다.
도 2는 본 실시예에 따른 SDN 제어장치와 트래픽 제어장치의 관계를 설명하기 위해 개략적으로 나타낸 예시도이다.
도 2를 참조하면, SDN 제어장치(120)는 각각의 트래픽 제어장치(110)를 제어하는 방법을 확인할 수 있다. SDN 제어장치(120)는 각각의 트래픽 제어장치(110), 보다 상세하게는 트래픽 제어장치(110) 내부의 가상 스위치와 무선 통신으로 연결된다. 도시된 바와 같이 전체 SDN 제어과정은 제어 영역과 정보 영역으로 나누어진다. 점선으로 표시된 제어 경로와 실선으로 표시된 정보 경로를 참조하면, SDN 제어장치(120)는 각각의 트래픽 제어장치(110)를 제어하고, 각각의 트래픽 제어장치(110)들은 다른 트래픽 제어장치(110)와 연결되어 서로 정보를 송수신한다. SDN 제어장치(120)는 트래픽 제어장치(110)와 모두 연결되어 있기 때문에 데이터 패킷을 송수신하는 경로를 제어하기에 용이하고, 트래픽 제어장치(110)는 SDN 제어장치(120)의 경로 제어에 따라 데이터 패킷을 해당 컨테이너로 전송하면 된다.
트래픽 제어장치(110)는 네트워크 기능을 포함하는 가상화 솔루션으로 컨테이너를 포함한다. 컨테이너는 호스트 머신과 게스트 컨테이너 간에 운영체제를 공유하도록 설계되어 있어 가상화 성능 부하를 줄일 수 있는 반면, 운영체제의 공유로 인해 사용자의 의도와는 다른 장치의 운영체제가 네트워크 기능(NF)의 데이터 패킷 요청에 응답하게 되어 사용자의 네트워크 설정이 무시될 수 있다. 따라서, 트래픽 제어장치(110)는 가상화 솔루션으로 컨테이너를 이용하는 경우, 전술한 문제점을 해결하기 위하여 트래픽을 제어할 필요가 있는바, 이는 도 3과 관련하여 후술한다.
도 3은 본 실시예에 따른 네트워크 트래픽 제어장치를 개략적으로 블록 구성도이다.
도 3을 참조하면, 본 실시예에 따른 트래픽 제어장치(110)는 패킷 송수신부(310), 캡슐화 수행부(320), 가상 스위치부(330), 네트워크 기능 제어부(340) 및 컨테이너부(350)를 포함한다.
패킷 송수신부(310)는 외부 장치와 연결하여 정보를 송수신하기 위한 것으로서, 사물인터넷 장치(130)로부터 데이터 패킷을 수신하여 캡슐화 수행부(320)로 전송하거나 캡슐화 수행부(320)로부터 수신한 데이터 패킷을 외부 장치로 전송한다. 패킷 송수신부(310)는 호스트 머신의 네트워크 인터페이스(Network Interface)에 해당하는 것으로, 호스트 머신의 운영체제를 기반으로 데이터 패킷을 송수신한다.
캡슐화 수행부(320)는 패킷 송수신부(310)로부터 수신한 데이터 패킷을 캡슐화한다. 캡슐화 수행부(320)는 무차별 모드(Promiscuous Mode)를 이용하여 패킷 송수신부(310)로부터 데이터 패킷을 수신한다. 무차별 모드는 유선 네트워크 인터페이스 컨트롤러(NIPC) 또는 무선 네트워크 인터페이스 컨트롤러(WNIC)에 대한 모드로, 수신한 모든 트래픽을 중앙 처리 장치(CPU)로 전달한다. 캡슐화 수행부(320)는 수신한 데이터 패킷에 대해 UDP/IP 헤더를 더하여 캡슐화하고, 제 1 캡슐화 데이터를 생성한다. 캡슐화 과정에 대해서는 도 5와 관련하여 후술한다.
또한, 캡슐화 수행부(320)는 네트워크 기능 제어부(340)에서 캡슐화된 제 2 캡슐화 데이터를 수신하고, 수신된 제 2 캡슐화 데이터를 디캡슐레이션하여 제 2 디캡슐레이션 데이터를 생성한다. 생성된 제 2 디캡슐레이션 데이터는 컨테이너 내부의 네트워크 기능이 외부 장치로 전송하고자 하는 데이터 패킷을 의미하는 것으로, 패킷 송수신부(310), 즉 네트워크 인터페이스를 경유하여 외부 장치로 전송된다.
가상 스위치부(330)는 캡슐화 수행부(320)에서 생성한 제 1 캡슐화 데이터를 수신한다. 가상 스위치부(330)는 가상 네트워크를 구성하기 위해 사용되는 소프트웨어로, 사용자는 가상 스위치부(330)를 프로그래밍하여 조작할 수 있다. 따라서, 가상 스위치부(330)는 네트워크 구성에 따라 수신할 컨테이너의 주소를 캡슐화 헤더의 수신지 필드에 작성하여 컨테이너로 캡슐화 데이터를 전송한다. 가상 스위치부(330)는 네트워크 기능 제어부(340)로부터 수신한 제 2 캡슐화 데이터를 캡슐화 수행부(320)로 전송하거나, 제 2 컨테이너로 전송한다. 즉, 가상 스위치부(330)는 컨테이너와 캡슐화 수행부(320) 또는 제 1 네트워크 기능 제어부와 제 2 네트워크 기능 제어부(340) 사이에서 데이터 패킷을 전달하는 역할을 수행한다.
네트워크 기능 제어부(340)는 컨테이너 구성에 따라 제 1 네트워크 기능 제어부, 제 2 네트워크 기능 제어부 등으로 구성되므로, 설명의 편의를 위해 네트워크 기능 제어부(340)로 설명한다. 네트워크 기능 제어부(340)는 가상 스위치로부터 제 1 캡슐화 데이터를 수신하여 디캡슐레이션 과정을 수행하고, 그 결과로 제 1 디캡슐레이션 데이터를 생성한다. 보다 자세하게는, 네트워크 기능 제어부(340)는 컨테이너 내부의 네트워크 기능이 컴파일(Compile)될 때 네트워크 기능과 함께 컴파일된다. 네트워크 기능 제어부(340)는 수신된 제 1 캡슐화 데이터의 헤더를 제거하는 디캡슐레이션 과정을 수행하여 제 1 디캡슐레이션 데이터를 생성하고, 컨테이너 내부의 네트워크 기능에 제 1 디캡슐레이션 데이터를 전송한다. 네트워크 기능 제어부(340)는 컨테이너 내부의 네트워크 기능으로부터 수신한 데이터 패킷을 네트워크 구성에 따라 캡슐화하여 제 2 캡슐화 데이터를 생성한다. 네트워크 기능 제어부(340)는 제 2 캡슐화 데이터를 가상 스위치부(330)로 전송한다.
컨테이너부(350)는 사용자의 네트워크 구성 설정에 따라 제 1 컨테이너부, 제 2 컨테이너부 등으로 구성될 수 있으므로, 설명상 편의를 위해 컨테이너부(350)로 설명한다. 컨테이너부(350)는 내부에 네트워크 기능(Network Function, NF)을 포함한다. 컨테이너부(350)는 네트워크 기능 제어부(340)로부터 디캡슐레이션 데이터를 수신하여 방화벽, 트래픽 부하 제어 관리 등과 같은 기능을 가상화(Virtualization)하여 소프트웨어로 구현한다.
도 4는 본 실시예에 따른 데이터 영역과 제어 영역을 설명하기 위해 개략적으로 나타낸 블록 구성도이다.
도 4를 참조하면, 데이터 영역은 사물인터넷 장치(130)로부터 트래픽 제어장치(110)로 데이터 패킷을 전송하는 영역을 말하고, 제어 영역은 SDN 제어장치가 트래픽 제어장치(110)를 제어하는 것을 의미한다. 사물인터넷 장치(130)는 트래픽 제어장치(110)와 와이 파이로 연결하여 데이터 패킷을 트래픽 제어장치(110)로 전송하면, 트래픽 제어장치(110)는 와이 파이를 이용하여 가상스위치부로 데이터 패킷을 수신한다. 가상 스위치부(330)는 네트워크의 트래픽 제어장치(110) 구성에 따라 복수 개로 구성될 수 있으며, SDN 제어장치는 복수 개의 가상 스위치를 하나의 제어부로 제어할 수 있다. SDN 제어장치는 트래픽 제어장치(110)와 이더넷(Ethernet)으로 연결되어 트래픽 제어장치(110)로 수신된 데이터 패킷을 제어한다. 사물인터넷 장치(130)와 트래픽 제어장치(110), 트래픽 제어장치(110)와 SDN 제어장치는 각각 와이 파이와 이더넷으로 연결되어 있는 것으로 도시되어 있으나, 반드시 그런 것은 아니고, 다른 종류의 근거리통신망(Local Area Network, LAN)을 이용하여 무선통신을 할 수 있는 것이라면 어떤 것이든 가능하다.
도 5는 본 실시예에 따른 데이터 패킷의 캡슐화 과정을 설명하기 위해 나타낸 예시도이다.
데이터 패킷은 캡슐화(Encapsulation)되어 캡슐화 데이터를 생성한다. 보다 상세하게는, 캡슐화는 응용 계층(Application layer), 전송 계층(Transport layer), 네트워크 계층(Network layer), 데이터링크 계층(Data link layer)으로 이루어진 4개의 계층으로 구성된다. 응용 계층은 http, ftp 등의 프로토콜을 사용하는 TCP/IP 기반의 응용프로그램을 구분한다. 전송 계층은 통신 노드 간의 연결을 제어하고, 전송 방식에 따라 UDP(User Datagram Protocol) 또는 TCP(Transmission Control Protocol)의 헤더를 더한다. 네트워크 계층은 통신 노드간 IP 패킷을 전송하는 기능을 담당하는 계층으로, UDP 헤더 앞에 IP 헤더를 더한다. 데이터링크 계층은 데이터 오류를 검증하기 위해 MAC 헤더를 더하여 캡슐화를 끝내고, 캡슐화 데이터는 주소지에 해당하는 컨테이너로 전송된다. 도 5에 도시된 바와 같이, 사물인터넷 장치(130)로부터 수신된 데이터 패킷은 Mac 헤더, IP 헤더 및 Payload를 포함한다. 데이터 패킷은 캡슐화 과정을 거쳐 UDP 헤더, IP 헤더, MAC 헤더를 차례로 더하여 캡슐화 데이터를 생성한다.
도 6은 본 실시예에 따라 네트워크 트래픽 제어방법을 설명하기 위한 순서도이다.
트래픽 제어장치(110)는 사물인터넷 장치(130)로부터 데이터 패킷을 수신한다(S602). 트래픽 제어장치(110)는 호스트 머신과 운영체제를 공유하며, 수신된 데이터 패킷을 캡슐화, 즉 데이터 패킷의 Mac 헤더 앞에 UDP/IP 헤더를 연결하여 제 1 캡슐화 데이터를 생성한다(S604). 트래픽 제어장치(110)는 캡슐화 데이터의 헤더에 위치한 수신지 필드에 컨테이너 주소를 작성하고, 해당 컨테이너 주소로 캡슐화 데이터를 전송한다(S606). 트래픽 제어장치(110)는 캡슐화 데이터의 헤더를 제거하는 디캡슐레이션을 수행하여 제 1 디캡슐레이션 데이터를 생성하고, 이를 컨테이너 내부에 위치한 네트워크 기능(NF)에 전송한다(S608).
네트워크 기능은 제 1 디캡슐레이션 데이터를 수신하고, 트래픽 제어장치(110)의 네트워크 기능 제어부(340)에 존재하는 캡슐화 소프트웨어 라이브러리(Software Library)와 함께 컴파일(Compile)된다. 즉, 캡슐화 소프트웨어 라이브러리는 수신한 캡슐화 데이터를 디캡슐레이션하여 제 1 디캡슐레이션 데이터를 생성하고, 이를 네트워크 기능으로 전송한다. 또한, 캡슐화 소프트웨어 라이브러리는 네트워크 기능으로부터 수신한 데이터 패킷을 다시 캡슐화하여 제 2 캡슐화 데이터를 생성하고, 이를 트래픽 제어장치(110) 내의 가상 스위치로 전송한다(S610).
트래픽 제어장치(110)는 다음 컨테이너의 존재 여부, 첫 번째 컨테이너인 제 1 컨테이너 이외에 제 2, 제 3의 컨테이너가 존재하는지 여부를 판단한다(S612). 트래픽 제어장치(110)는 다음 컨테이너가 존재하는 경우, S608 내지 S612의 단계를 반복하는데, 보다 자세하게는 트래픽 제어장치(110)는 수신된 제 2 캡슐화 데이터를 제 2 컨테이너의 네트워크 기능으로 전송하고, 제 2 컨테이너 내부의 네트워크 기능으로부터 수신된 데이터 패킷을 다시 캡슐화하여 제 3 캡슐화 데이터를 생성한다. 트래픽 제어장치(110)는 다음 컨테이너가 존재하지 않는 경우, 제 2 캡슐화 데이터를 디캡슐레이션하여 제 2 디캡슐레이션 데이터를 생성하고, 이를 트래픽 제어장치(110)의 외부로 송신한다(S614).
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 클라우드 110: 트래픽 제어장치
120: SDN 제어장치 130: 사물인터넷 장치
310: 패킷 송수신부 320: 캡슐화 수행부
330: 가상 스위치부 340: 네트워크 기능 제어부
350: 컨테이너

Claims (3)

  1. 사물인터넷(Internet of Things, IoT) 장치와 데이터 패킷(Data Packet)을 송수신하는 패킷 송수신부;
    복수의 컨테이너와 호스트 머신(Host Machine) 간의 운영체제(Operating System, OS) 공유로 인한 혼동을 방지하기 위하여 상기 데이터 패킷에 대해 캡슐화(Encapsulation)를 수행하여 제 1 캡슐화 데이터를 생성하는 캡슐화 수행부;
    프로그래밍(Programming)을 이용하여 상기 제 1 캡슐화 데이터에 주소값을 부여하는 가상 스위치부; 및
    상기 제 1 캡슐화 데이터에 대해 디캡슐레이션(Decapsulation)을 수행하여 제 1 디캡슐레이션 데이터를 생성하고, 제 1 컨테이너(Container)로 전송하는 네트워크 기능 제어부
    를 포함하는 것을 특징으로 하는 네트워크 트래픽 제어장치.
  2. 제 1 항에 있어서,
    상기 네트워크 기능 제어부는,
    상기 제 1 컨테이너로부터 수신된 패킷 데이터에 대해 캡슐화를 수행하여 생성된 제 2 캡슐화 데이터를 상기 가상 스위치부로 전송하거나, 상기 제 2 캡슐화 데이터를 제 2 컨테이너로 전송하여 상기 디캡슐레이션을 수행하는 것을 특징으로 하는 네트워크 트래픽 제어장치.
  3. 제 2 항에 있어서,
    상기 캡슐화 수행부는,
    상기 제 2 캡슐화 데이터를 수신하여 디캡슐레이션을 수행하여 제 2 디캡슐레이션 데이터를 생성하고, 상기 제 2 디캡슐레이션 데이터를 외부 장치로 전송하기 위해 상기 패킷 송수신부로 전송하는 것을 특징으로 하는 네트워크 트래픽 제어장치.
KR1020180102646A 2018-08-30 2018-08-30 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법 KR20200025387A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180102646A KR20200025387A (ko) 2018-08-30 2018-08-30 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180102646A KR20200025387A (ko) 2018-08-30 2018-08-30 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20200025387A true KR20200025387A (ko) 2020-03-10

Family

ID=69800935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180102646A KR20200025387A (ko) 2018-08-30 2018-08-30 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20200025387A (ko)

Similar Documents

Publication Publication Date Title
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
CN113132201B (zh) 一种vpc之间的通信方法及装置
US11546288B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US9462047B2 (en) Network interface controller supporting network virtualization
JP6211062B2 (ja) 仮想オーバーレイ・ネットワーク・トラフィックにサービスを提供する方法、システム、およびコンピュータ・プログラム。
US11374899B2 (en) Managing network connectivity between cloud computing service endpoints and virtual machines
US9426060B2 (en) Software defined network (SDN) switch clusters having layer-3 distributed router functionality
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
EP3641245B1 (en) Service routing packet processing method and apparatus, and network system
CN107925623A (zh) 覆盖网络的互连
WO2020142430A1 (en) Multi-protocol encapsulation traffic acceleration and optimization
US9654394B2 (en) Multi-tenant system, switch, controller and packet transferring method
JP2016500937A (ja) 仮想オーバーレイ・ネットワーク・トラフィックへのサービス提供
JP2022541381A (ja) ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置
US10826725B1 (en) System for scaling network address translation (NAT) and firewall functions
JP6693799B2 (ja) 中継方法並びに対応する通信ネットワークデバイス、システム、コンピュータプログラム及びコンピュータ可読記憶媒体
US10177973B2 (en) Communication apparatus, communication method, and communication system
WO2021151851A1 (en) Method for instantiating a network service and corresponding apparatus
JP2022541179A (ja) 仮想ネットワークにおいてベアメタル・サーバを構成するリンク層メソッド
CN109246016B (zh) 跨vxlan的报文处理方法和装置
KR102312516B1 (ko) 사설 네트워크를 지원하는 포트 포워딩 제어장치 및 방법
US20240031236A1 (en) Cross-domain distributed network function
KR20200025387A (ko) 사물인터넷 기기를 위한 네트워크 트래픽 제어장치 및 그 방법
KR101867883B1 (ko) 가상 네트워크를 운용하는 방법, 장치 및 컴퓨터 프로그램
JP2022504483A (ja) 無線ネットワークを介したコントローラと被制御デバイスとの間の通信