KR20230021506A - 사용자 정의 기반의 가상 네트워크 설정 방법 - Google Patents

사용자 정의 기반의 가상 네트워크 설정 방법 Download PDF

Info

Publication number
KR20230021506A
KR20230021506A KR1020210103448A KR20210103448A KR20230021506A KR 20230021506 A KR20230021506 A KR 20230021506A KR 1020210103448 A KR1020210103448 A KR 1020210103448A KR 20210103448 A KR20210103448 A KR 20210103448A KR 20230021506 A KR20230021506 A KR 20230021506A
Authority
KR
South Korea
Prior art keywords
edge node
information
virtual network
tunnel
nat
Prior art date
Application number
KR1020210103448A
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 KR1020210103448A priority Critical patent/KR20230021506A/ko
Priority to US17/511,767 priority patent/US20230038620A1/en
Publication of KR20230021506A publication Critical patent/KR20230021506A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2525Translation at a client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

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

본 개시는 사용자 정의 가상 네트워크 설정 방법을 개시한다. 가상 네트워크 설정 방법은, 제어기, 적어도 하나의 NAT, 적어도 하나의 에지 노드를 포함하는 가상 네트워크를 구성하는 과정과, 상기 적어도 하나의 에지 노드에 대한 운영 타입을 확인하는 과정과, 상기 운영 타입을 기반으로 상기 적어도 하나의 에지 노드 사이의 터널을 설정하는 과정과, 상기 설정된 터널을 통해 상기 적어도 하나의 에지 노드 사이의 데이터 전송을 수행하는 과정을 포함한다.

Description

사용자 정의 기반의 가상 네트워크 설정 방법{METHOD FOR SETTING VIRTUAL NETWORK BASED ON USER-DEFINED}
본 개시는 가상화 기술에 대한 것으로써, 구체적으로, 가상 네트워크를 구성 및 설정하는 기술에 대한 것이다.
최근 들어 엔터프라이즈 네트워크의 고도화를 위하여 SD-WAN 기술을 도입하고 있다. SD-WAN은 중앙집중식 제어기능을 적용함으로써 WAN 구간의 끝에 위치한 에지(Edge) 노드들 간에 안전하고 지능적으로 트래픽을 전송한다. 이를 통해 애플리케이션 성능이 향상되고 고품질 사용자 경험이 제공되어 비즈니스 생산성과 민첩성이 향상되고 네트워크 구축 비용을 절감한다.
종래의 SD-WAN의 에지(Edge) 노드는 엔터프라이즈 네트워크의 진입점에 위치하여 LAN을 구성하고, 본사 지사들간 각 LAN을 기존의 VPN처럼 연결하여 주는 역할을 수행한다.
일반적으로 각 에지(Edge) 노드에는 NAT 및 방화벽(Firewall)을 고려하지 않고 일반적으로 공용 IP를 사용한다. 따라서, 에지(Edge) 노드는 최종 사용자 및 서비스에 근접한 인터넷 공유기, 액세스 포인트(Access Point), 호스트(HOST), VM(Virtual Machine), 컨테이너(Container) 등에는 적용할 수 없는 문제가 있다.
본 개시의 기술적 과제는 기존의 네트워크 중심에서 좀 더 사용자 및 서비스와 근접한 위치에 에지(Edge) 노드를 설정하여 네트워크 가상화를 실현하는 방법 및 장치를 제공하는데 있다.
본 개시의 다른 기술적 과제는 최종 사용자 및 서비스에 근접한 인터넷 공유기, 액세스 포인트(Access Point), 호스트(HOST) 장치, VM, 컨테이너(Container) 등에 에지(Edge) 노드를 설정하는 방법 및 장치를 제공하는데 있다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면 사용자 정의 가상 네트워크 설정 방법이 제공될 수 있다. 상기 방법은, 제어기, 적어도 하나의 NAT, 적어도 하나의 에지 노드를 포함하는 가상 네트워크를 구성하는 과정과, 상기 적어도 하나의 에지 노드에 대한 운영 타입을 확인하는 과정과, 상기 운영 타입을 기반으로 상기 적어도 하나의 에지 노드 사이의 터널을 설정하는 과정과, 상기 설정된 터널을 통해 상기 적어도 하나의 에지 노드 사이의 데이터 전송을 수행하는 과정을 포함한다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 에지 노드 간의 연결 조건에 따라 "Direct Tunnel" 또는 "Detour Tunnel"을 설정할 수 있으며, 터널링 기반으로 연결성을 제공하기 때문에 각 에지 노드에 연결된 모든 서비스 또는 장치들 간에 직접통신을 실현할 수 있다.
본 개시에 따르면, 컨트롤러-에지 노드, 에지 노드-에지 노드 간 송수신하는 제어 메시지 및 에지 노드-에지 노드간 IP-UDP-IP 터널 기반 데이터 채널은 AES 암호화/복호화 기능을 지원할 수 있으며, 해당 가상 네트워크에 포함된 에지 노드에서 동작하는 모든 응용서비스들에 대한 암호화를 실현할 수 있다.
본 개시에 따르면, LAN을 구성하는 게이트웨이뿐만 아니라 WiFi 네트워크를 구성하는 Access Point, End Point 장치, 즉, Host 장치, VM, Container 등을 에지 노드로 설정할 수 있다.
본 개시에 따르면, 중앙의 Orchestrator 및 Controller와 각각의 에지 노드가 연계하여 제어 채널의 품질, 에지 노드의 시스템 리소스, 에지 노드 사이의 데이터 채널 품질을 측정 및 모니터링할 수 있다.
도 1은 본 개시의 일 실시예에 따른 가상 네트워크가 적용되는 SD-WAN 아키텍처를 예시하는 도면이다.
도 2는 일반적인 네트워크 환경에서 방화벽과 내부 네트워크의 구조를 예시하는 도면이다.
도 3은 일반적인 네트워크 환경에서 NAT의 동작을 예시하는 도면이다.
도 4는 본 개시의 일 실시예에 따른 가상 네트워크가 적용되는 서버 가상화의 구조를 예시하는 도면이다.
도 5는 본 개시의 일 실시예에 따른 가상 네트워크를 예시하는 개념도이다.
도 6은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 일 예시도이다.
도 7은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 다른 예시도이다.
도 8은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 또 다른 예시도이다.
도 9는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 오버레이(Overlay Tunnel) 인터페이스 구조의 일 예시도이다.
도 10은 도 9에서 사용되는 터널링 패킷의 구조의 일 예시도이다.
도 11a 및 도 11b는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 터널링 종류를 예시하는 도면이다.
도 12는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 NAT 동작 절차를 예시하는 도면이다.
도 13a 내지 도 13c는 도 12의 NAT Traversal 동작에서 교환 및 관리되는 정보를 예시하는 도면이다.
도 14는 본 개시의 일 실시예에 따른 가상 네트워크에서 운영 타입을 결정하는 절차를 예시하는 도면이다.
도 15은 본 개시의 일 실시예에 따른 가상 네트워크에서 UDP hole Punching을 처리하는 절차를 예시하는 도면이다.
도 16a 및 도 16b는 도 15에 의해 설정된 직접 터널에서 사용되는 터널 테이블의 일 예시도이다.
도 17은 본 개시의 일 실시예에 따른 가상 네트워크에서 Detour 터널 설정 절차를 예시하는 도면이다.
도 18a 내지 도 18c는 도 17의 Detour 터널에서 사용되는 터널 테이블의 일 예시도이다.
도 19는 본 개시의 일 실시예에 따른 가상 네트워크에서 가상 IP 블륵 할당구조를 예시하는 도면이다.
도 20은 본 개시의 일 실시예에 따른 가상 네트워크의 제어 구조를 예시하는 도면이다.
도 21a 내지 도 21k는 본 개시의 일 실시예에 따른 가상 네트워크의 제어 구조를 예시하는 도면이다.
도 22a는 본 개시의 일 실시예에 따른 가상 네트워크에서 암호화된 터널링을 예시하는 도면이다.
도 22b는 본 개시의 일 실시예에 따른 가상 네트워킹 구조를 예시하는 도면이다.
도 22c는 본 개시의 일 실시예에 따른 가상 네트워크가 적용되는 환경을 예시하는 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한, 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.
도 1은 본 개시의 일 실시예에 따른 가상 네트워크가 적용되는 SD-WAN 아키텍처를 예시하는 도면이다.
SD-WAN은, 오케스트레이터(Orchestrator) 및 제어기(Controller)와, 에지(Edge) 노드를 포함할 수 있다. 오케스트레이터(Orchestrator) 및 제어기(Controller)는 중앙에 위치할 수 있으며, 분산되어 분포되는 지사에 위치할 수 있다.
오케스트레이터(Orchestrator) 및 제어기(Controller)는 “Secure Control Channel”을 통해 에지(Edge) 노드를 제어하고, 에지(Edge) 노드들은 “Broadband”, “4G LTE/5G”등과 같은 통신망을 통해 “Secure Full Mesh Network”을 구성할 수 있다. 에지(Edge) 노드들은 “Branch”, “Factory”, “Home”, “Office” 등 네트워크가 필요한 모든 공간에 위치할 수 있다. 각 에지(Edge) 노드들은 상호간 직접 통신을 제공하기 때문에 어플리케이션 정책에 따라 허브 또는 본사 데이터센터로의 백홀을 최소화하고 “Secure Full Mesh Network”을 통하여 트래픽을 직접 송수신할 수 있다.
또한, 본 개시에서 방화벽이나 NAT 환경을 극복하기 위하여 "NAT Traversal" 및 "UDP Hole Punching"을 적용한 IP-UDP-IP 터널을 사용하며, 각 에지(Edge) 노드들의 토폴로지를 사용자가 정의하여 가상 네트워크를 생성하며 송수신되는 제어 채널과 데이터 채널에 대한 암호화 기능을 제공한다. 특히, 에지(Edge) 노드는 유선 LAN(Wired LAN)을 갖는 네트워크 장치(라우터, 스위치)뿐만 아니고, 무선 LAN(Wireless LAN) 네트워크 장치(Access Point), End Point로서 Host, VM, Container등이 될 수 있다. 이러한 가상 네트워크는 중앙 집중식으로 관리되고 모니터링 기능을 포함하여 운용상 편의성을 제공한다.
도 2는 일반적인 네트워크 환경에서 방화벽과 내부 네트워크의 구조를 예시하는 도면이다.
네트워크 환경에서, 방화벽이나, NAT 등에 제한이 발생될 수 있다. 일반적으로 방화벽은 특정 네트워크를 보호하기 위하여 외부 네트워크(예: 인터넷)으로부터의 접속을 차단하는 기능으로 사용하고, NAT는 공용 IP의 부족으로 사설 IP를 사용하기 위하여 사용한다. 방화벽은 신뢰 수준이 다른 네트워크 구간에 설치될 수 있으며, 신뢰 수준이 낮은 네트워크 구간으로부터 유입되는 트래픽이 신뢰 수준이 높은 네트워크 구간으로 유입되는 것을 막는 것이다. 네트워크 관리자의 입장에서 높은 신뢰도를 갖는 구간은 내부 네트워크 구간이라 하고, 낮은 신뢰도를 갖는 구간은 인터넷 구간 또는 외부 네트워크 구간이라고 할 수 있다.
도 3은 일반적인 네트워크 환경에서 NAT의 동작을 예시하는 도면이다.
단말들이 네트워크에 접속할 때 공용 IP를 할당 받거나 NAT로부터 사설 IP를 받아 사용한다. NAT를 사용하는 경우는 부족한 IP를 해결하기 위하여 사용하는 SNAT나 운용하고자 하는 서버를 특정 사설망 내부에 위치시키고 이를 알고 있는 특정 사용자만 접근가능 하도록 하는 DNAT를 사용한다. 이러한 NAT는 ISP로부터 할당 받은 공인 IP를 외부 네트워크로 연결하고 NAT에 연결된 각 단말에게 사설 IP를 할당하고 사설 IP/Port를 외부망의 IP/Port와 매핑 정보를 유지함으로써 통신을 가능하게 한다. 일반적으로 가정에 설치하여 사용하는 Access Point가 대표적이다. NAT는 사용자가 ISP 로부터 할당 받은 한 개의 공인 IP인 100.100.100.50을 사용하여 192.168.2.0로 구성된 자신의 사설 망에 있는 단말 Host-A와 Host-B를 동시에 외부 망에 접속시킬 수 있도록 한다. 이를 위하여, NAT 라우터를 디폴트 게이트웨이로 설정한 단말 A와 단말 B에서 외부 망으로 송신한 IP 패킷을 수신한 NAT 라우터는 목적지가 외부 망에 있다는 사실을 라우팅 기능에 의해 알게 되면, 송신측 단말의 IP와 포트번호를 매핑 테이블에 기록한다. 이후, 이 패킷의 송신측 IP 주소와 포트번호를 각각 공인 IP 주소인 100.100.100.50와 60000(장비마다 다름)번 이상의 새로운 포트번호로 갱신하여 ISP로 송신한다. 이 패킷을 수신한 ISP의 라우터는 이 패킷들이 모두 동일한 단말 100.100.100.50의 상이한 두 개의 프로세스들에서 송신한 패킷들로 간주하기 때문에 문제없이 다른 인터넷으로 전달할 수 있다. 또한, ISP로부터 수신되는 모든 패킷들에 대하여, NAT 라우터는 이전에 기록한 포트번호와 내부 망 주소 매핑 테이블을 참조하여, 단말로의 IP 주소와 포트번호를 찾아, 대치하여 전달하기 때문에 사설 망에 있는 여러 개의 단말들은 ISP가 제공한 하나의 IP 주소를 공유하여 공중망을 사용할 수 있다.
현재 가상화 기술이 발전하면서 물리서버를 하나의 서버로 운용하기 보다는 가상화 서버로 활용하면서 서버내부에 다수의 가상머신을 설치하여 서버자원이나 네트워크 자원을 효율적으로 사용하기 위한 기술들의 완성도가 높아지고 있다.
도 4는 본 개시의 일 실시예에 따른 가상 네트워크가 적용되는 서버 가상화의 구조를 예시하는 도면이다.
호스트(Host)는 하드웨어 자원(예컨대, CPU, Memory, NIC(Network Interface Card), Disk 등)과 하이퍼바이저를 포함할 수 있다. 하드웨어 자원은 하이퍼바이저를 통하여 가상머신들에 공유될 수 있다. 특히, 본 개시의 일 실시예에서, 가상머신 내부에는 vNIC(Virtual NIC)가 구성될 수 있다. vNIC는 공용 IP를 사용하는 Bridge 모드와 사설 IP를 사용하는 NAT 모드를 포함할 수 있다. Bridge 모드에서, vNIC는 외부에서 직접 접속할 수 있고, NAT 모드에서, vNIC는 외부에서 직접 접속할 수 없다. 이는 호스트의 하이퍼바이저가 Bridge 모드인 경우 공용 IP를 할당하고, NAT 모드인 경우 사설 IP를 할당하기 때문에 가능하다. 따라서, NAT 모드를 사용하는 경우 Host에서 포트 포워딩(DNAT) 정책을 설정하고, VM을 통해 통신할 수 있다.
SD-WAN은 엔터프라이즈 네트워크에 연결성을 제공하기 위한 기술로서, VPN을 대체하여 사용되고 있다. 그러나, SD-WAN은 엔터프라이즈 네트워크의 진입점에 위치하도록 구성되며, 네트워크 중심으로 구현된 기술로 볼 수 있다.
본 개시의 일 실시예는 기존의 네트워크 중심의 기술에서, 좀 더 사용자 및 서비스와 근접한 위치에 에지(Edge) 노드를 구현할 수 있는 방법 및 장치를 제공한다. 이를 위하여 각 에지(Edge) 노드는 NAT 및 방화벽의 한계를 극복할 수 있도록 "NAT Traversal", "UDP Hole Punching" 기능을 수행하도록 구성될 수 있다.
또한, 본 개시의 일 실시예는 중앙의 오케스트레이터(Orchestrator) 및 제어기(Controller)와 에지(Edge) 노드를 연계하여 사용자가 가상 네트워크를 정의하고 에지(Edge) 노드의 Topology를 설정하는 방법 및 장치를 제공한다.
특히, 본 개시의 일 실시예는 에지(Edge) 노드로서, LAN을 구성하는 Gateway 뿐만 아니라, WiFi 네트워크를 구성하는 Access Point, End Point로서의 Host, VM, Container 등을 설정할 수 있도록 구성될 수 있다.
또한, 본 개시의 일 실시예는 중앙의 오케스트레이터(Orchestrator) 및 제어기(Controller)와 에지(Edge) 노드를 연계하여 제어 채널의 품질을 측정 및 모니터링할 수 있으며, 에지(Edge) 노드 사이의 데이터 채널의 품질을 측정 및 모니터링할 수 있다.
도 5는 본 개시의 일 실시예에 따른 가상 네트워크를 예시하는 개념도이다.
도 5를 참조하면, 가상 네트워크는, 오케스트레이터(Orchestrator)와 적어도 하나의 에지 노드를 포함할 수 있다.
오케스트레이터(Orchestrator)는, 사용자 등록 또는 삭제, 가상 네트워크 등록 또는 삭제, 에지 노드 등록 또는 삭제를 위한 사용자 인터페이스를 관리하는 UI/UX 관리부를 포함할 수 있다. UI/UX 관리부가 제공하는 사용자 등록 또는 삭제, 가상 네트워크 등록 또는 삭제, 에지 노드 등록 또는 삭제를 위한 사용자 인터페이스는 하기의 도면을 통해 상세히 설명한다. 나아가, 사용자는 UI/UX 관리부가 제공하는 사용자 인터페이스를 사용하여, 에지 노드를 가상 네트워크에 등록할 수 있으며, 이를 기반으로, 오케스트레이터(Orchestrator)는 등록된 에지 노드를 포함하여 가상 네트워크, 일 예로, "VNET-GREEN", "VNET-BLUE", "VNET-RED"을 구축할 수 있다.
또한, 오케스트레이터(Orchestrator)는, 에지 노드와 연계하여 "NAT/Traversal" 기능을 수행하고, 가상 네트워크 내의 다른 에지 노드 정보를 배포하는 제어기(Controller)를 포함할 수 있다.
에지 노드는, 유/무선 LAN 환경의 게이트웨이로서 기능을 하는 게이트웨이 노드와, 인터넷 공유기로서 기능하는 공유기 노드와, Access Point로서 기능하는 AP 노드와, VM으로서 기능하는 VM 노드와, Container 로서 기능하는 컨테이너 노드를 포함할 수 있다.
에지 노드는 다른 에지 노드의 "NAT Traversal" 정보를 기반으로 "UDP Hole Punching" 기능을 수행하여, 해당 에지 노드까지 IP-UDP-IP 터널을 구축할 수 있다. 이때, IP-UDP-IP 터널은 "Direct Tunnel" 또는 "Detour Tunnel"로 설정될 수 있다. "Direct Tunnel"과 "Detour Tunnel"의 연결 방식은 하기의 도 11a 및 도 11b를 통해 설명한다.
도 6은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 일 예시도이다.
도 6을 참조하면, 본 개시의 일 실시예에서 에지 노드는 LAN을 갖는 게이트웨이로서 기능하는 노드를 포함할 수 있다.
에지 노드는 엔터프라이즈의 진입점에 위치하거나 사무실 또는 홈에 위치한 인터넷 공유기를 포함할 수 있다. 에지 노드는 제어기(Controller)와 "NAT Traversal" 기능을 수행하고, 에지 노드와 "UDP Hole Punching" 기능을 수행하여 "Direct Tunnel" 또는 "Detour Tunnel"을 설정한다. 이외에 추가로 다수의 LAN 인터페이스를 Bridge에 연결한 후 해당 Bridge에 DHCP 서비스 기능을 추가할 수 있으며, 접속된 단말에 대한 IP 자동 할당 기능을 수행할 수 있다. 에지 노드는 제어기(Controller)로부터 할당 받은 가상 IP 블록을 기반으로 가상 인터페이스로 TNI 및 Bridge 인터페이스를 생성하고 다수의 LAN 인터페이스를 Bridge 인터페이스에 연결할 수 있다.
도 7은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 다른 예시도이다.
도 7을 참조하면, 본 개시의 일 실시예에서 에지 노드는 무선 LAN(Wireless LAN)을 갖는 게이트웨이로서 기능하는 노드를 포함할 수 있다.
에지 노드 사무실 또는 가정(home)에 위치한 Access Point를 포함할 수 있다. 에지 노드는 "NAT Traversal"기능, "UDP Hole Punching" 기능, "DHCP" 처리 등을 수행할 수 있으며, 추가로 무선신호 송출 및 인증 등의 기능을 수행할 수 있다. 에지 노드는 제어기(Controller)로부터 할당 받은 가상 IP 블록을 기반으로 가상 인터페이스로 TNI 및 Bridge 인터페이스를 생성하고 무선 LAN 인터페이스를 Bridge 인터페이스에 연결할 수 있다.
도 8은 본 개시의 일 실시예에 따른 가상 네트워크 구조의 또 다른 예시도이다.
도 8을 참조하면, 본 개시의 일 실시예에서 에지 노드는 호스트(Host) 장치, 가상머신(VM), 컨테이너(Container) 중 하나를 포함할 수 있다.
에지 노드는 "NAT Traversal", "UDP Hole Punching" 기능을 수행할 수 있으며, 제어기(Controller)로부터 할당 받은 가상 IP를 기반으로 가상 인터페이스로서 TNI를 생성할 수 있다. 그리고, 에지 노드는 TNI를 통해 다른 에지 노드와의 통신을 수행할 수 있다.
에지 노드가 TNI를 통해 통신을 수행하는 방법은, 하기의 도 9 내지 도 18을 통해 상세히 설명한다.
도 9는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 오버레이(Overlay Tunnel) 인터페이스 구조의 일 예시도이다.
도 9를 참조하면, 에지 노드는 TNI를 설정하고, 가상 네트워크 주소의 목적지를 가상 인터페이스로 설정할 수 있다. 이러한 환경에서, 에지 노드는 S/W 터널링 모듈에서 터널 헤더의 Encapsulation/Decapsulation을 처리하여 터널링 테이블을 확인하고, 송수신 기능을 통하여 가상 네트워크 내의 에지 노드들 사이의 통신이 가능하도록 설정할 수 있다.
도 10은 도 9에서 사용되는 터널링 패킷의 구조의 일 예시도이다.
구체적으로, 도 10에는, Overlay Tunnel 네트워크에 적용하는 터널링 패킷의 구조가 예시된다.
터널링 패킷은, Outer IP Header, Outer UDP Header, Tunnel Header, Inner IP Header, 데이터 필드 등을 포함할 수 있다. 여기서, Outer IP Header와 Outer UDP Header는 "NAT Traversal"에 의해 판단된 Source IP 및 Source Port에 대한 정보를 수록할 수 있다. Inner IP Header는 사용자 인터페이스를 통해 사용자에 의해 설정된 가상 IP에 대한 정보를 수록할 수 있으며, 에지 노드가 접속함에 따라 제어기(Controller)로부터 할당될 수 있다. Tunnel Header는 제어 패킷과 터널 패킷을 식별하기 위한 식별자로서 사용될 수 있다. 나아가, Tunnel Header는 QoS등의 패킷 식별하기 위한 식별자로서 사용될 수도 있다.
도 11a 및 도 11b는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 터널링 종류를 예시하는 도면이다.
도 11a를 참조하면, "Direct Tunnel"은 에지 노드들 상호간 직접 터널을 설정하여 통신하는 방식일 수 있으며, 도 11b를 참조하면, "Detour Tunnel"은 "Designated Tunnel Router"로 터널을 설정하고, 에지 노드들은 "Designated Tunnel Router"를 경유하여 통신하는 방식일 수 있다.
가상 네트워크 설정 과정에서, 에지 노드들이 "UDP Hole Punching"에 성공한 경우, 에지 노드들은 "Direct Tunnel"을 설정하여 통신할 수 있으며, 실패하였을 경우, 에지 노드들은 "Detour Tunnel"을 설정하여 통신할 수 있다.
도 12는 본 개시의 일 실시예에 따른 가상 네트워크에서 사용되는 NAT 동작 절차를 예시하는 도면으로, 구체적으로는 NAT에 연결된 에지 노드의 패킷 변환 과정을 예시한다.
우선, 제어기와 에지 노드는 제어 메시지를 교환하고, NAT가 변환한 IP 정보와, Port 정보를 추출하고, 이(IP 정보와, Port 정보)를 가상 네트워크의 에지 노드로 배포한다. 이하, 전술한 동작을 'NAT Traversal 동작'으로 지칭한다.
NAT Traversal 동작에서, 공용(Public) 네트워크와, 방화벽(Firewall)이 연결된 경우, IP 정보는 변경되지 않는다. 예컨대, 도 12에서와 같이, 제1NAT(1201)을 통과하면서 Source IP와 Source Port가 1.1.1.10과 1024로 변경되고, 제2NAT(1202)을 통과하면서 Source IP와 Source Port가 2.2.2.20과 2048로 변경될 수 있다.
도 13a 내지 도 13c는 도 12의 NAT Traversal 동작에서 교환 및 관리되는 정보를 예시하는 도면이며, 구체적으로, 도 13a는 제어기가 관리하는 NAT Traversal 정보를 예시하고, 도 13b는 제1에지 노드가 관리하는 NAT Traversal 정보를 예시하고, 도 13c는 제2에지 노드가 관리하는 NAT Traversal 정보를 예시한다.
제어기가 관리하는 NAT Traversal 정보는 TNI, 로컬 IP, 로컬 port, 공용 IP, 공용 port, 연결 타입(Connection Type), 운영 타입(Operation Type)에 대한 정보를 포함할 수 있다. 여기서, 로컬 IP 정보와 Port 정보는 에지 노드의 WAN 인터페이스에 설정된 IP 정보와 Port 정보이고, 공용 IP 정보와 Port정보는 제어기 측면에서는 IP 헤더의 Source IP 정보와 Port 정보를 의미한다. 이에 따라, NAT에 연결된 에지 노드는, 로컬 IP 정보와 Port 정보, 및 공용 IP 정보와 Port를 변경할 수 있다. 연결 타입은 에지 노드가 네트워크에 접속한 타입을 나타내며, "Public" 또는 "NAT"로 설정될 수 있다. 운영 타입(Operation Type)은 접속한 네트워크의 연결성에 대한 타입으로 "Open"과 "Restrict"를 포함할 수 있다.
나아가, 제어기는 "UDP Hole Punching"의 성공 또는 실패에 따라 운영 타입을 결정할 수 있다. 예컨대, 제어기는 하기의 도 15 및 도 17에 예시되는 동작을 통해, "UDP Hole Punching"의 성공 또는 실패를 확인할 수 있다.
전술한 바와 같이, 제어기는 제1에지 노드 및 제2에지 노드에 대한 NAT Traversal 정보를 확인할 수 있으며, 이를 각각 제1에지 노드 및 제2에지 노드에 제공할 수 있다. 이에 대응하여, 제1에지 노드는 도 13b는 예시된 NAT Traversal 정보를 저장 및 관리할 수 있다. 제2에지 노드는 도 13c에 예시된 NAT Traversal 정보를 저장 및 관리할 수 있다.
도 14는 본 개시의 일 실시예에 따른 가상 네트워크에서 운영 타입을 결정하는 절차를 예시하는 도면이다.
도 14를 참조하면, 제어기는, 운영 타입을 결정하기 위하여, 자신에게 설정된 IP 정보 및 Port 정보와는 상이한 정보로 구성된 IP 정보 및 Port 정보를 구성하고, 이를 IP 헤더의 Source IP와 Source Port로 설정한다. 그리고, 제어기는 전술한 IP 헤더를 포함하는 제어 메시지를 구성하여 각각의 에지 노드로 전송한다. 이후, 제어기는 각각의 에지 노드에서 상기 IP 헤더를 포함하는 제어 메시지 수신하는지 여부를 반영하여 운영 타입을 결정할 수 있다. 일 예로, 제어기는 에지 노드가 제어 메시지 수신할 경우, 운영 타입을 "Open"으로 결정하고, 수신하지 않으면 운영 타입을 "Restrict"으로 결정할 수 있다.
이와 같이, 제어기가, 전술한 방식으로 제어 메시지를 구성하여 전송할 경우, 복잡한 STUN 과정을 수행할 필요 없이, 비교적 간소한 동작으로 연결 타입("Open" 또는 "Restrict")을 확인할 수 있다.
예컨대, 도 14를 참조하면, 예컨대, 제어기는, 자신에게 설정된 3.3.3.3과 30000번의 아닌 4.4.4.4와 40000을 IP 헤더의 Source IP와 Source Port로 설정한다. 그리고, 제어기는, 전술한 IP 헤더를 포함하는 제어 메시지를 구성하여 각각 제1 및 제2에지 노드로 전송한다. 이에 대응하여, 제1에지 노드에 연결된 제1NAT는 4.4.4.4와 40000로 구성된 IP 헤더를 허용하지 않으며, 해당 제어 메시지를 제1에지 노드에 제공하지 않는다. 반면, 제2에지 노드에 연결된 제2NAT는 4.4.4.4와 40000로 구성된 IP 헤더를 허용하여, 해당 제어 메시지를 제2에지 노드에 제공한다. 이에 따라, 제어기는, 제1에지 노드에 대해, 운영 타입을 "Restrict"으로 결정하고, 제2에지 노드에 대해, 운영 타입을 "Open"으로 결정할 수 있다. 이후, 제어기는, 에지 노드(예, 제1에지 노드, 제2에지 노드 등)의 운영 타입을 NAT Traversal 정보에 수록할 수 있으며, 수록된 운영 타입 정보는 에지 노드(예, 제1에지 노드, 제2에지 노드 등)에 제공될 수 있다.
제1에지 노드는 "Restrict" 타입의 제1NAT를 통해 연결되어 Direct 통신을 할 수 없고, 제2에지 노드는 제2NAT를 통해 연결되어 있지만, 제2NAT가 Open 타입의 NAT이기 때문에 Direct 통신을 할 수 있다. 에지 노드의 연결 관점에서 한쪽의 에지 노드가 "Open" 타입인 경우 "UDP Hole Punching"을 통하여 직접 통신이 가능하다. 따라서, 에지 노드는 운영 타입 정보를 사용하여 "Direct Tunnel"을 설정할 수 있다.
도 15은 본 개시의 일 실시예에 따른 가상 네트워크에서 UDP hole Punching을 처리하는 절차를 예시하는 도면이다.
도 15에서, 가상 네트워크는, 제1에지 노드, 상기 제1에지노드에 연결되는 제1NAT, 제2에지 노드, 상기 제2에지 노드에 연결되는 제2NAT를 포함할 수 있다.
UDP hole Punching 동작은 14에서 전술한 운영 타입 확인 동작이 완료된 후 진행될 수 있다. 본 개시의 일 실시예에서, 제1NAT는 "Restrict" 운영 타입임을 예시하고, 제2NAT는 "Open" 운영 타입임을 가정하여 설명한다.
제1에지 노드와 제2에지 노드는 운영 타입 정보를 NAT Traversal 정보에 수록하여 관리할 수 있다.
"Restrict" 타입으로 설정된 에지 노드(예컨대, 제1에지 노드)는 상대측 에지 노드(예컨대, 제2에지 노드)의 운영 타입 정보를 확인하고, 상대측 에지 노드(예컨대, 제2에지 노드)의 운영 타입이 "Open"인 경우, 해당 에지 노드(예컨대, 제2에지 노드)로 Udp Hole Punching 메시지를 전송할 수 있다. 이때, Udp Hole Punching 메시지는 IP 헤더를 포함할 수 있는데, 제1에지 노드는 IP 헤더의 Destination IP와 Port는 NAT Traversal에 의한 Public IP와 Port로 설정하여 송수신할 수 있다. 제1에지 노드가 전송한, "Udp Hole Punching 메시지"의 패킷은, "Restrict" 운영 타입인 제1NAT로 전달되고, 제1NAT는 Public Port 값을 변경하여 전송한다. 제2NAT는 "Open" 운영 타입이므로, 해당 패킷을 제2에지 노드로 전달할 수 있다. 제2에지 노드는 "Udp Hole Punching 메시지"의 Source IP 및 Source Port를 Destination IP 및 Destination Port로 변경하여 제1에지 노드로 전송할 수 있다. 이후 제2에지 노드는, 변경된 IP와 Port 값을 목적지로 하여 주기적으로 메시지를 송수신할 수 있다. 이와 같은 동작을 통해, "UDP Hole Punching" 설정이 성공할 경우, 제2에지 노드는 변경된 IP 및 Port를 목적지로 하는 "Direct" 터널을 설정하여 제1에지 노드의 가상 IP "10.1.1.10"과 제2에지 노드의 가상 IP "10.1.1.20"간 통신 채널을 구성할 수 있다.
도 17은 본 개시의 일 실시예에 따른 가상 네트워크에서 Detour 터널 설정 절차를 예시하는 도면이다.
도 17을 참조하면, "UDP Hole Punching" 절차가 실패한 경우에 에지 노드간 직접 터널을 설정할 수 없기 때문에 각 에지 노드는 상대 에지 노드로의 터널정보를 클라우드나 공중망에 위치한 "DTR"로 설정하고 이를 경유하여 각 에지 노드의 가상 IP를 사용하여 통신을 수행할 수 있다.
제1에지 노드는 제1NAT를 통해 DTR로 메시지 송수신을 수행하고, 제2에지 노드는 제2NAT를 통해 DTR로 메시지 송수신을 수행한다. 이때, 제1에지 노드는 도 18a에 개시된 제1터널 테이블을 저장 및 관리할 수 있으며, 제2에지 노드는 도 18b에 개시된 제2터널 테이블을 저장 및 관리할 수 있다. 제1에지 노드와 제2에지 노드는 각각 제1 및 제2터널 테이블 사용하여 DTR과의 메시지 송수신에 사용할 수 있다.
한편, DTR은 해당 에지 노드들과 NAT Traversal 정보를 바탕으로 변경되는 Public IP와 Port를 이용하여 터널정보를 설정할 수 있다. 이후, 제1에지 노드와 제2에지 노드는 DTR을 경유하여 통신을 수행할 수 있다. 이때, DTR은 도 18c에 예시된 DTR 터널 테이블을 저장 및 관리할 수 있다.
도 19는 본 개시의 일 실시예에 따른 가상 네트워크에서 가상 IP 블륵 할당구조를 예시하는 도면이다.
도 19는 사용자, 가상 네트워크, 그리고 각 에지 노드에 할당하는 가상 네트워크 주소 및 Prefix Length의 구조를 나타낸다. IP 주소체계는 IANA(Internet Assigned Numbers Authority)에서 관리하고 있으며, 본 개시의 일 실시예에서 사용하는 가상 네트워크 주소는 독자적으로 사용할 수 있도록 허용된 10.0.0.0/8 안에서 선택하며, 할당된 IP 및 Prefix Length는 에지 노드의 TNI에 설정하게 된다. 사용자는 다수의 가상 네트워크를 생성할 수 있으며 각 가상 네트워크 별 가상 IP 블록을 지정하고 해당 가상 네트워크에 다수의 에지 노드를 등록하게 되는데 해당 에지 노드에 가상 IP 블록 또는 가상 IP를 할당할 수 있다. 가상 IP 블록을 갖는 에지 노드는 LAN을 갖는 네트워크 Gateway가 될 수 있고, 가상 IP의 경우에는 End Point로서 Host, VM, Container 등과 같은 에지 노드에 할당할 수 있다.
예컨대, "USER-1"을 등록할 때 "10.0.0.0/8"을 할당하고, "USER-1"은 가상 네트워크 "VNET-BLUE"를 등록할 때 "10.1.0.0/16"을 할당하고, "VNET-BLUE"에 "EDGE-1"을 등록할 때 "10.1.1.1/24"를 등록한다. 가상 네트워크에 할당하는 가상 IP 블록은 "10.1.0.0/16 ~ 10.254.0.0/16"으로 할당하고, 에지 노드에 할당하는 가상 IP 블록은 "10.1.1.0/24 ~ 10.1.254.0/24"로 할당함을 예시한다. 따라서, "EDGE-1"에 접속하는 네트워크 장치들에게 가상 IP를 "10.1.1.2 ~ 10.1.1.254"까지 할당 할 수 있다. LAN을 갖지 않는 즉 End Point으로서 동작하는 에지 노드에는 "VNET-RED"의 EDGE-1같이 "10.2.1.1/32"와 같이 Full Mask로 할당할 수 있다. 새로운 사용자 "USER-2"의 등록 및 이에 따른 가상 네트워크 및 에지 노드에 할당하는 방식도 동일하게 적용될 수 있다.
비록, 본 개시의 일 실시예에서, 가상 IP 주소 블록을 할당하는 방식을 예시하고 있으나, 본 개시가 이를 한정하는 것은 아니며, 가상 IP 주소 블록 할당 방식은 개별 정책에 따라 다양하게 변경될 수 있다.
도 20은 본 개시의 일 실시예에 따른 가상 네트워크의 제어 구조를 예시하는 도면이다.
도 20을 참조하면, 가상 네트워크는, 오케스트레이터(Orchestrator), 제어기(Controller), 적어도 하나의 에지 노드를 포함할 수 있다.
오케스트레이터(Orchestrator)는 사용자 등록, 가상 네트워크 등록, 에지 노드 등록 등을 처리할 수 있으며, 사용자 등록, 가상 네트워크 등록, 에지 노드 등록을 위해 입력되는 정보를 DB에 제공하여 저장할 수 있다. 일 예로, 오케스트레이터는 도 21a 내지 도 21h에 예시되는 사용자 인터페이스를 제공할 수 있으며, 사용자는 해당 사용자 인터페에스를 통해 사용자 정보, 가상 네트워크 정보, 에제 노드 정보 등을 입력할 수 있다. 이에 대응하여, 오케스트레이터는 해당 사용자 인터페에스를 통해 입력되는 정보를 기반으로 사용자 등록, 가상 네트워크 등록, 에지 노드 등록등을 처리할 수 있다. 예컨대, 도 21a는 사용자 정보를 등록하는 인터페에스를 예시하고, 도 21b 및 도 21c는 호스트 장치를 등록하는 인터페이스를 예시하고, 도 21d는 가상 네트워크를 등록하는 인터페이스를 예시하고, 도 21e 내지 도 21h는 에지 노드를 등록하는 인터페이스를 예시한다.
또한, 오케스트레이터는 사용자 등록, 가상 네트워크 등록, 에지 노드 등록을 위해 입력되는 정보를 "REST API"를 사용하여 제어기(Controller)에 전달할 수 있다.
제어기는 오케스트레이터로부터 제공받은 에지 노드의 정보를 관리하고, 각각의 에지 노드와 "NAT Traversal" 기능을 수행하고, 가상 네트워크에 포함된 각각의 에지 노드에 대한 정보를 배포한다. 각 에지 노드는 동작에 필요한 정보로 제어기의 IP 정보, Port 정보 및 암호화를 위한 "Key"와 "IV"값 등의 설정값을 저장 및 관리할 수 있다.
에지 노드는 공중망, Firewall, NAT 등에 연결될 수 있기 때문에 제어기와 메시지 송수신을 통하여 "NAT Traversal" 기능을 수행하고, 제어기로부터 가상 네트워크에 참여하고 있는 다른 에지 노드의 정보를 제공받을 수 있다. 에지 노드 사이의 운영 타입(Operation Type)이 "Open"인 경우, 에지 노드는 "UDP Hole Punching" 동작을 수행하여 "Direct Tunnel"을 설정한다. 이때, "UDP Hole Punching" 동작에서 "Direct Tunnel"을 설정을 실패할 경우, 에지 노드는 "DTR"을 경유하는 "Detour Tunnel"을 설정한다. 설정된 IP-UDP-IP 터널은 Encapsulation과 Decapsulation 과정에서 "AES 256"암호화를 적용한 Encryption과 Decryption 기능을 수행하여 데이터 채널의 암호화 기능을 제공한다.
에지 노드는 Traffic, CPU, Memory등의 시스템 리소스 정보와 에지 노드 사이의 RTT 정보를 주기적으로 전송한다. 제어기는 "REST API"를 통하여 오케스트레이터 및 DB에 반영할 수 있다. 그리고, 오케스트레이터는 Traffic, CPU, Memory등의 시스템 리소스 정보를 시각화 제공할 수 있다.
일 예로, 제어기는 에지 노드로부터 제공받은 에지 노드들 사이의 RTT 값을 기반으로 토폴로지를 구성하고 REST API를 통하여 오케스트레이터 및 DB에 제공할 수 있다. 이에 따라, 오케스트레이터는 에지 노드에 대한 정보와, 토폴로지에 대한 정보 및 네트워크 품질 정보를 제공할 수 있다. 예컨대, 오케스트레이터는 도 21i에 예시되는 바와 같이 에지 노드에 대한 정보를 제공할 수 있고, 도 21j에 예시되는 바와 같이 토폴로지에 대한 정보를 제공할 수 있고, 도 21k에 예시되는 바와 같이 네트워크 품질 정보를 제공할 수 있다.
도 22a는 본 개시의 일 실시예에 따른 가상 네트워크에서 암호화된 터널링을 예시하는 도면이다.
본 개시의 일 실시예에서 사용하는 IP-UDP-IP 터널은 암호화를 지원할 수 있다. 암호화에 사용하는 Key와 IV는 사용자가 가상 네트워크를 생성할 때 설정할 수 있으며, 이 값을 각 에지 노드가 가상 네트워크에 접속할 때 필요한 설정정보에 복사하여 사용할 수 있다. 에지 노드로 유입되는 패킷의 Datagram을 S/W 모듈에서 사전 정의된 Key와 IV 값을 매개변수로 하여 AES 246 암호화를 수행하고, 터널테이블을 검색하여 Outer Header와 UDP Header를 Encapsulation하여 패킷을 WAN 구간으로 전송한다. 암호화된 패킷을 수신하는 에지 노드는 Outer Header를 Decapsulation 한 후 암호화된 Datagram을 Decryption 한 후 목적지로 전송한다. 이에 대한 역방향 패킷도 동일한 절차를 수행하여 암호화된 터널링 기능을 제공한다.
도 22b는 본 개시의 일 실시예에 따른 가상 네트워킹 구조를 예시하는 도면이다.
터널링에 암호화 기능을 적용함으로써 각 에지 노드 사이에 보안 네트워킹 기능을 제공할 수 있다. 도 21b를 참조하면, 에지 노드은 다양한 장치로 설정될 수 있다. 일 예로, 에지 노드는 엔터프라이즈 게이트웨이와 같이 LAN을 갖는 "Wired LAN G/W", 집이나 사무실 등에서 사용하는 Access Point와 같은 "Wireless LAN G/W", 그리고 LAN을 갖지 않고 장치 자체가 End Point인 Host, VM, Container가 될 수 있다. 이러한 에지 노드들은 AES 256 암호화에 따라 암호화아혀 데이터를 송수신할 수 있다.
또한, 암호화 터널 기반 가상 네트워킹 구조를 통하여 다양한 영역에 적용할 수 있다. 일 예로 도 22c를 참조하면, 암호화 터널 기반 가상네트워크는 홈, 사무실, 지사, 본사, 공장, IoT, 클라우드 서비스, 등에 연계하여 적용할 수 있다.
본 개시의 일 실시예에 따른 가상 네트워크설정 방법은 컴퓨팅 시스템에 의해 수행될 수 있다.
컴퓨팅 시스템은 버스를 통해 연결되는 적어도 하나의 프로세서, 메모리, 사용자 인터페이스 입력 장치, 사용자 인터페이스 출력 장치, 스토리지, 및 네트워크 인터페이스를 포함할 수 있다.
프로세서는 중앙 처리 장치(CPU) 또는 메모리 및/또는 스토리지에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리 및 스토리지는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (19)

  1. 가상 네트워크 설정 방법에 있어서,
    제어기, 적어도 하나의 NAT, 적어도 하나의 에지 노드를 포함하는 가상 네트워크를 구성하는 과정과,
    상기 적어도 하나의 에지 노드에 대한 운영 타입을 확인하는 과정과,
    상기 운영 타입을 기반으로 상기 적어도 하나의 에지 노드 사이의 터널을 설정하는 과정과,
    상기 설정된 터널을 통해 상기 적어도 하나의 에지 노드 사이의 데이터 전송을 수행하는 과정을 포함하는 가상 네트워크 설정 방법.
  2. 제1항에 있어서,
    상기 운영 타입을 확인하는 과정은,
    상기 제어기에 할당된 IP 정보 및 포트 정보와 다른 페이크 IP 정보 및 포트 정보를 생성하는 과정과,
    상기 제어기가 상기 적어도 하나의 에지 노드로, 상기 페이크 IP 정보 및 포트 정보를 소스 IP 및 포트로 설정한 제어 메시지를 전송하는 과정을 포함하는 가상 네트워크 설정 방법.
  3. 제2항에 있어서,
    상기 운영 타입을 확인하는 과정은,
    제1NAT를 통해 제1에지 노드로 상기 제어 메시지를 전송하는 과정과,
    제2NAT를 통해 제2에지 노드로 상기 제어 메시지를 전송하는 과정과,
    상기 제어 메시지를 수신한 제1에지 노드를 제1운영 타입으로 설정하는 과정과,
    상기 제어 메시지를 수신하지 않는 제2에지 노드를 제2운영 타입으로 설정하는 과정을 포함하는 가상 네트워크 설정 방법.
  4. 제3항에 있어서,
    상기 운영 타입을 확인하는 과정은,
    상기 제어기가, 상기 제1에지 노드에 대한 제1운영 타입의 정보와, 상기 제2에지 노드에 대한 제2운영 타입의 정보를 확인하고, 상기 적어도 하나의 에지 노드로 제공하는 과정을 포함하는 가상 네트워크 설정 방법.
  5. 제4항에 있어서,
    상기 적어도 하나의 에지 노드 사이의 터널을 설정하는 과정은,
    상기 제2에지 노드가 상기 제1에지 노드로 직접 터널 설정을 요청하는 과정을 포함하는 가상 네트워크 설정 방법.
  6. 제4항에 있어서,
    상기 적어도 하나의 에지 노드 사이의 터널을 설정하는 과정은,
    UDP Hole Puncing 동작을 수행하는 과정을 포함하는 가상 네트워크 설정 방법.
  7. 제5항에 있어서,
    상기 제2에지 노드가 상기 제1에지 노드로 직접 터널 설정을 성공함에 따라, 상기 제2에지 노드와 상기 제1에지 노드 사이의 직접 터널 설정을 완료하는 과정을 포함하는 가상 네트워크 설정 방법.
  8. 제5항에 있어서,
    상기 제2에지 노드가 상기 제1에지 노드로 직접 터널 설정을 실패함에 따라, 상기 제2에지 노드와 상기 제1에지 노드는 경유 터널을 설정하는 과정을 포함하는 가상 네트워크 설정 방법.
  9. 제8항에 있어서,
    상기 경유 터널을 설정하는 과정은,
    지정된 터널 라우터(Designated Tunnel Router)를 경유 터널로 설정하는 과정을 포함하는 가상 네트워크 설정 방법.
  10. 제1항에 있어서,
    상기 가상 네트워크를 구성하는 과정은,
    상기 제어기와 상기 적어도 하나의 에지 노드 사이의 제어 메시지를 교환하는 과정과,
    NAT 순회(Traversal) 정보를 확인하는 과정을 포함하는 가상 네트워크 설정 방법.
  11. 제10항에 있어서,
    상기 NAT 순회(Traversal) 정보는,
    상기 적어도 하나의 에지 노드에 대해 설정되며, TNI 정보, 로컬 IP 정보, 로컬 포트 정보, 공용 IP 정보, 공용 포트 정보, 연결 타입 정보, 및 운영 타입 정보, 중 적어도 하나를 포함하는 가상 네트워크 설정 방법.
  12. 제1항 내지 제11항 중, 어느 한 항에 있어서,
    상기 적어도 하나의 에지 노드는,
    Host 장치, VM 장치, Container 장치 중, 적어도 하나를 포함하는 가상 네트워크 설정 방법.
  13. 제1항 내지 제11항 중, 어느 한 항에 있어서,
    상기 적어도 하나의 에지 노드는,
    유선 LAN(Wired LAN)을 갖는 네트워크 장치, 무선 LAN(Wireless LAN) 네트워크 장치(Access Point), Host 장치, VM 장치, Container 장치 중, 적어도 하나를 포함하는 가상 네트워크 설정 방법.
  14. 제1항에 있어서,
    상기 가상 네트워크를 구성하는 과정은,
    사용자 정보를 등록하는 인터페이스를 통해 상기 사용자 정보를 등록하는 과정을 포함하는 가상 네트워크 설정 방법.
  15. 제1항에 있어서,
    상기 가상 네트워크를 구성하는 과정은,
    Host 장치 정보를 등록하는 인터페이스를 통해 상기 Host 장치 정보를 등록하는 과정을 포함하는 가상 네트워크 설정 방법.
  16. 제1항에 있어서,
    상기 가상 네트워크를 구성하는 과정은,
    에지 노드 정보를 등록하는 인터페이스를 통해 상기 에지 노드 정보를 등록하는 과정을 포함하는 가상 네트워크 설정 방법.
  17. 제10항에 있어서,
    상기 설정된 터널을 통해 상기 적어도 하나의 에지 노드 사이의 데이터 전송을 수행하는 과정은,
    외부 IP 헤더 정보, 외부 UDP 헤더 정보, 터널 헤더 정보, 내부 IP 헤더 정보, 및 데이터 필드를 포함하는 터널링 패킷을 사용하는 가상 네트워크 설정 방법.
  18. 제17항에 있어서,
    상기 외부 IP 헤더 정보는,
    상기 NAT 순회(Traversal) 정보에 수록된 상기 적어도 하나의 에지 노드에 대한 로컬 IP 정보, 및 로컬 포트 정보에 기초하여 설정되는 가상 네트워크 설정 방법.
  19. 제17항에 있어서,
    상기 내부 IP 헤더 정보는,
    오케스트레이터에 의해 설정된 가상 IP 정보 및 가상 포트 정보를 포함하는 가상 네트워크 설정 방법.
KR1020210103448A 2021-08-05 2021-08-05 사용자 정의 기반의 가상 네트워크 설정 방법 KR20230021506A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210103448A KR20230021506A (ko) 2021-08-05 2021-08-05 사용자 정의 기반의 가상 네트워크 설정 방법
US17/511,767 US20230038620A1 (en) 2021-08-05 2021-10-27 Method of setting user-defined virtual network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210103448A KR20230021506A (ko) 2021-08-05 2021-08-05 사용자 정의 기반의 가상 네트워크 설정 방법

Publications (1)

Publication Number Publication Date
KR20230021506A true KR20230021506A (ko) 2023-02-14

Family

ID=85152382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210103448A KR20230021506A (ko) 2021-08-05 2021-08-05 사용자 정의 기반의 가상 네트워크 설정 방법

Country Status (2)

Country Link
US (1) US20230038620A1 (ko)
KR (1) KR20230021506A (ko)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050267B2 (en) * 2007-02-19 2011-11-01 Cisco Technology, Inc. Simple virtual private network for small local area networks
KR101423743B1 (ko) * 2010-10-29 2014-08-01 한국전자통신연구원 가상 네트워크 환경에서 네트워크 단위의 통신 방법
JP5618886B2 (ja) * 2011-03-31 2014-11-05 株式会社日立製作所 ネットワークシステムおよび計算機振り分け装置、計算機振り分け方法
US9100285B1 (en) * 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
US9432261B1 (en) * 2014-04-14 2016-08-30 vIPtela Inc. Dissemination of NAT traversal attributes in a control plane protocol
US9942201B1 (en) * 2015-12-16 2018-04-10 vIPtela Inc. Context specific keys
US10237123B2 (en) * 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US11005684B2 (en) * 2017-10-02 2021-05-11 Vmware, Inc. Creating virtual networks spanning multiple public clouds
US10797966B2 (en) * 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
CN116319516A (zh) * 2018-10-19 2023-06-23 华为技术有限公司 安全sd-wan端口信息分发
US11233822B2 (en) * 2018-11-30 2022-01-25 Cisco Technology, Inc. Dynamic honeypots
US11153119B2 (en) * 2019-10-15 2021-10-19 Cisco Technology, Inc. Dynamic discovery of peer network devices across a wide area network
WO2022015881A1 (en) * 2020-07-14 2022-01-20 Oracle International Corporation Virtual layer-2 network
US11570077B2 (en) * 2020-12-16 2023-01-31 Hewlett Packard Enterprise Development Lp Traffic flow trace in a network

Also Published As

Publication number Publication date
US20230038620A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
US11711242B2 (en) Secure SD-WAN port information distribution
US11516080B2 (en) Using virtual networking devices and routing information to associate network addresses with computing nodes
US11563681B2 (en) Managing communications using alternative packet addressing
US11171836B2 (en) Providing virtual networking functionality for managed computer networks
US12003380B2 (en) Providing virtual networking device functionality for managed computer networks
WO2021136311A1 (zh) 一种vpc之间的通信方法及装置
US9900214B2 (en) Using virtual networking devices to manage network configuration
US9467398B2 (en) Using virtual networking devices to connect managed computer networks
US9491002B1 (en) Managing communications involving external nodes of provided computer networks
US9838261B2 (en) Method, apparatus, and system for providing network traversing service
US10084851B1 (en) Managing use of intermediate destination hardware devices for provided computer networks
US20150249569A1 (en) Managing use of intermediate destination computing nodes for provided computer networks
US8645508B1 (en) Managing external communications for provided computer networks
EP3883217A1 (en) Data transmission method and computer system
US10447811B2 (en) Cloud to on-premises debug service routing
CN111903105A (zh) 多路复用安全隧道
US20230038620A1 (en) Method of setting user-defined virtual network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal