KR20180105375A - 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법 - Google Patents

패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법 Download PDF

Info

Publication number
KR20180105375A
KR20180105375A KR1020170032376A KR20170032376A KR20180105375A KR 20180105375 A KR20180105375 A KR 20180105375A KR 1020170032376 A KR1020170032376 A KR 1020170032376A KR 20170032376 A KR20170032376 A KR 20170032376A KR 20180105375 A KR20180105375 A KR 20180105375A
Authority
KR
South Korea
Prior art keywords
data center
gateway
virtual
network
arp
Prior art date
Application number
KR1020170032376A
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 KR1020170032376A priority Critical patent/KR20180105375A/ko
Publication of KR20180105375A publication Critical patent/KR20180105375A/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • H04L61/6022
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Abstract

SDN에 기반한 데이터센터 간 가상 네트워킹을 위한 방법이 개시된다. 데이터센터 간 가상 네트워킹을 위한 방법은, 제1 데이터센터의 가상머신으로부터 수신된 패킷의 목적지 주소가 제1 데이터센터에 속한 가상머신을 지시하지 않는 경우, SDN 컨트롤러가 미리 결정된 제1 Key MAC 주소가 부여된 게이트웨이로 상기 패킷이 전달되도록 제어하는 단계; 게이트웨이가, 상기 게이트웨이와 연동되고 미리 결정된 Key MAC 주소들이 부여된 다른 데이터센터들의 게이트웨이들에게 상기 패킷의 목적지 주소에 대한 ARP(Address Resolution Protocol) 요청을 발송하고, ARP 요청에 대한 응답여부를 SDN 컨트롤러에게 통지하는 단계; 및 SDN 컨트롤러가, 상기 ARP 요청에 대한 ARP 응답이 수신되지 않으면, 상기 수신된 패킷이 폐기(drop) 처리되도록 제어하고, 상기 ARP 요청에 대한 ARP 응답이 수신되면 상기 ARP 응답을 회신한 게이트웨이의 Key MAC 주소와 상기 목적지 주소를 매핑하여 저장하는 단계를 포함할 수 있다.

Description

패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법{Method for inter-cloud virtual networking over packet optical transport network}
본 발명은 가상 네트워크를 제공하는 방법에 관한 것으로, 더욱 상세하게는 지역적으로 분산된 복수의 데이터센터 간에 가상 네트워크를 구성하고 가상 인스턴스(즉, 가상머신(VM, virtual machine)을 바인딩한 후 데이터센터 간 네트워킹이 발생하는 경우 key MAC을 사용하여 데이터센터간 가상 네트워킹을 안정적으로 제어하는 기술에 관한 것이다.
소프트웨어정의네트워크 (Software Defined Network, 이하 SDN) 기술은 네트워크의 전송 평면(transport plane 또는 data plane)과 제어 평면(control plane)을 분리하고, 전송 평면은 패킷 전송에 필요한 모든 결정을 제어 평면에 질의하도록 하여, 전송 평면에 설치하는 소프트웨어를 통해 네트워크 구성과 패킷 흐름을 중앙 집중식으로 제어할 수 있도록 하는 기술이다.
또한, 클라우드 컴퓨팅이 빠르게 확산됨에 따라 전세계적으로 ICT(Information & Communications Technology) 자원을 클라우드로 전환하거나 클라우드 사업자의 서비스를 이용하는 추세가 증가하고 있다. 특히, 대규모 클라우드 사업자의 경우, 단일 데이터센터가 아닌 지역적으로 분산된 다수의 데이터센터를 구축하여 서비스의 부하분산 및 지연에 민감한 서비스를 사용자와 가까운 데이터센터에 배치함으로써 서비스 품질을 보장하고 있다. 또한, 오늘날 IoT(Internet of Things)나 NFV(Network Functions Virtualization) 기술의 개발 및 도입 계획에 따라, 앞으로 지역적으로 분산된 크고 작은 다수의 데이터센터가 상호 연동되는 환경은 점차 보편화될 것으로 전망된다.
현재 클라우드 운영체제(OS)로서 가장 활발하게 연구되고 있는 클라우드 오픈소스인 오픈스택(OpenStack)으로 구성된 데이터센터의 모든 기능은 단일 클라우드 데이터센터를 기반으로 제공되고 있으며 복수의 데이터센터를 기반으로 하는 구성은 외부망(external network, 예컨대, 인터넷)을 통한 연동 방법을 사용하고 있다. 즉, 복수의 데이터센터를 기반으로 네트워크를 제어하는 기술은 외부망을 통한 연동 외의 다른 방법이 없다.
또한 외부망으로서 인터넷 공중(public) 네트워크를 사용하는 경우 IP 문제 및 공개 IP를 사용하는 보안의 문제가 발생하며 별도의 외부망을 사용하는 경우 게이트웨이(gateway, 이하 GW)를 반드시 사용하여야 하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 컨트롤러를 활용하여 중앙 집중형 네트워크에서 네트워크를 활용하는 OpenStack 노드 및 가상머신들에 대한 정보를 수집하고, 수집된 정보를 바탕으로 접속하여야 할 게이트웨이의 Key MAC을 부여하여, 데이터 센터 간(inter-data center) 테넌트(tenant) 네트워크를 제공하는 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명은, SDN에 기반한 데이터센터 간 가상 네트워킹을 위한 방법으로서, SDN 컨트롤러가, 제1 데이터센터의 가상머신으로부터 수신된 패킷의 목적지 주소가 상기 제1 데이터센터에 속한 가상머신을 지시하지 않는 경우, 미리 결정된 제1 Key MAC 주소가 부여된 게이트웨이로 상기 패킷이 전달되도록 제어하는 단계; 상기 게이트웨이가, 상기 게이트웨이와 연동되고 미리 결정된 Key MAC 주소들이 부여된 다른 데이터센터들의 게이트웨이들에게 상기 패킷의 목적지 주소에 대한 ARP(Address Resolution Protocol) 요청을 발송하고, 상기 ARP 요청에 대한 응답여부를 상기 SDN 컨트롤러에게 통지하는 단계; 및 상기 SDN 컨트롤러가, 상기 ARP 요청에 대한 ARP 응답이 수신되지 않으면, 상기 수신된 패킷이 폐기(drop) 처리되도록 제어하고, 상기 ARP 요청에 대한 ARP 응답이 수신되면 상기 ARP 응답을 회신한 게이트웨이의 Key MAC 주소와 상기 목적지 주소를 매핑하여 저장하는 단계를 포함하는, 데이터센터 간 가상 네트워킹을 위한 방법을 제공한다.
본 발명의 구성에 따르면, 단일 데이터센터에서 ARP 브로드캐스팅을 최소화하여 추후 발생할 수 있는 ARP Spoofing에 대한 대비를 할 수 있으며 다중 데이터센터를 연결하는 가상네트워크를 생성함에 있어 별도의 네트워크를 구성하거나 외부망을 이용하지 않고 트래픽을 처리할 수 있다.
기존 다중 데이터센터의 연결은 외부망을 사용하는 경우가 대부분이며 이 경우 가상머신이 외부망에 노출이 될 수 있기 때문에 보안에 취약할 수 있다. 본 발명의 구성을 사용하면 가상머신은 사설 망(private network)을 그대로 사용할 수 있으며, 데이터 센터 간의 연결에 보다 강력한 보안 네트워크를 적용하여도 쉽고 빠르게 연동이 될 수 있다.
도 1은 본 발명의 적용 대상이 되는 데이터센터 간 가상 네트워크의 구성을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워크의 구성을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법의 수행을 위한 각각의 데이터센터와 게이트웨이의 설정을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법을 구체적으로 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법에서 다중 데이터센터의 연동 동작을 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 적용 대상이 되는 데이터센터 간 가상 네트워크의 구성을 설명하기 위한 개념도이다.
도 1을 참조하면, 사용자1, 사용자2 및 사용자 3이 존재하고 데이터센터(D1, DC2, DC3)이 존재하는 환경에서, 사용자1를 위한 데이터센터 간 테넌트(110)가 데이터센터(DC1, DC2)에 걸쳐서 생성되고, 사용자2를 위한 데이터센터 간 테넌트(120) 또한 데이터센터(DC1, DC2)에 걸쳐서 생성된다. 사용자2를 위한 데이터센터 간 테넌트(130)는 데이터센터(DC2, DC3)에 걸쳐서 생성된다.
이러한 상황에서 사용자들은 데이터센터에 상관없이 가상네트워크와 가상머신(virtual machine)들을 생성할 수 있어야 하며, 생성된 가상머신들은 데이터센터를 걸쳐서 통신이 되어야 한다.
이때, 데이터센터 간 통신이 외부망을 통하여 이루어질 경우는 각각의 데이터센터에서는 사설 IP 주소가 아닌 공용 IP 주소를 가상머신들에 할당하고, DNAT(Destination Network Address Translation) 기능 등을 제공하여야 한다. 그러나, 이는 각각의 사용자에게 독립적인(즉, 격리된) 가상 네트워크를 제공하는 목적에 위배된 것이다.
따라서, 본 발명에 따른 실시예들에서는 외부망을 통하거나, 별도의 공용 IP 주소를 할당하지 않고 가상 네트워크에서 할당받은 IP 대역을 이용하여 데이터센터 간 통신을 가능하게 하는 것으로 목적으로 한다.
도 2는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워크의 구성을 설명하기 위한 개념도이다.
도 2를 참조하면, 제1 데이터센터(210), 제2 데이터센터(220), 제1 데이터센터(210)와 제2 데이터센터(220)를 통합 관리(orchestration)하는 글로벌 데이터센터 관리시스템(230), 데이터센터 간 네트워크를 위한 전송망(transport network, 240) 및 전송망(240)을 관리하는 전송망 제어 시스템(250)이 예시되어 있다. 한편, 각각의 데이터센터들에는 각 데이터센터의 네트워크 노드(network node)들과 컴퓨트 노드(compute node)들을 제어/관리하는 제어 노드(controller node)인 데이터센터 관리 시스템(211, 221)이 존재할 수 있다.
한편, SDN 기반의 제어를 위하여 상기 글로벌 데이터센터 관리시스템(230) 및 데이터센터 관리 시스템(211, 221)은 SDN 컨트롤러(SDN controller)로 구성될 수 있다. 또는, SDN 컨트롤러가 상기 데이터센터 관리 시스템을 포함하거나, 상기 데이터센터 관리 시스템이 SDN 컨트롤러를 포함하는 구성 또한 가능하다. 이하의 설명에서 상기 구성요소(211, 221)는 'SDN 컨트롤러'로 지칭된다.
한편, 오픈스택(openstack)에 기반한 데이터센터의 서버는 일반적으로 제어 노드(Controller node), 네트워크 노드(Network node), 컴퓨트 노드(Compute node)로 구분된다. 제어 노드는 클라우드 관리 시스템이 설치/운용되는 서버 또는 서버군을 의미하며, 네트워크 노드는 클라우드 내의 가상 인프라에 DHCP, Virtual Router, VPNaaS(VPN as a Service) 등을 제공하는 동시에 데이터센터 외부망과의 연결을 담당하는 네트워킹 전용의 서버 또는 서버군을 의미하며, 컴퓨트 노드는 사용자가 요청한 가상머신 또는 가상 컨테이너가 생성되는 서버군을 의미한다.
각 데이터센터 간의 연결은 게이트웨이(212, 222)를 통하여 연동하게 되며, 데이터센터 간을 연결하는 전송망(240)는 특정 형태의 네트워크로 한정되지 않으며 어떠한 네트워크이든지 사용이 가능하다(예컨대, POTN(Pakcet Optical Transport Network) 등).
본 발명의 일 실시예에 따르면, 제1 데이터센터(210)에 생성된 가상머신(예컨대, 313)이 제2 데이터센터(220)에 생성된 가상머신(예컨대, 323)과 같은 가상네트워크에 위치할 수 있도록 네트워크를 제어하기 위해서 SDN 환경을 사용하며 이를 위해 게이트웨이(212, 222)를 통과하는 네트워크 트래픽을 제어하기 위해서 미리 약속된 MAC(Medium Access Control) 주소(이하, 'key MAC')를 사용하게 된다. 각 데이터센터내에는 여러 개의 게이트웨이가 존재할 수 있으므로 게이트웨이 Key MAC은 각각의 게이트웨이를 표현하는 값으로서 생성될 수 있다. 또한, 모든 데이터센터의 SDN 컨트롤러가 동일하게 게이트웨이를 식별하여 패킷을 전달할 수 있는 오픈플로우 룰을 생성할 수 있도록, 해당 게이트웨이 Key MAC은 다중 데이터센터 환경 내에서 유일한(unique) MAC으로 설정될 수 있다.
본 발명의 실시예들에서 key MAC을 사용하는 이유는 다음과 같이 정리될 수 있다.
첫째로, 각각의 데이터센터에 존재하는 게이트웨이가 다수 있을 수 있기 때문에 트래픽에 따라 어떤 게이트웨이를 선택하고 어떻게 라우팅 룰(예컨대, 오픈플로우(OpenFlow Rule))을 만들어야 할지 제어하기 어렵다. 따라서, 각각의 게이트웨이를 구분하기 위해서 게이트웨이에 유일한(unique)한 MAC 주소를 부여할 수 있다. 위와 같이, 게이트웨이를 논리적으로 하나로 구분할 수 있는 단위가 필요하며 이를 Key MAC 이라 정의할 수 있다.
둘째로, 일반적으로 트래픽의 흐름은 IP를 기반으로 하는 ARP(Address Resolution Protocol) 절차에 따른 ARP 질의(ARP request)와 ARP 응답(ARP reply)을 통해서 목적지의 MAC 주소를 파악하여 수행되며, 모든 ARP 메시지는 브로드캐스팅 방식을 사용하여 전달된다. 이 경우 과중한 ARP 메시지 트래픽으로 인하여 여러가지 네트워크 문제가 발생한다. 따라서, 본 발명의 실시예에 따른 데이터센터 네트워크는 ARP 메시지를 최대한으로 줄일 수 있다. 각 데이터센터에 생성된 가상네트워크 및 가상머신의 모든 정보는 해당 데이터센터의 네트워크를 관리하는 SDN 컨트롤러가 모든 정보를 알고 있기 때문에 같은 데이터센터에 생성된 가상머신들 간의 네트워크에는 ARP 메시지를 주고 받을 이유가 없다. 즉, 데이터센터를 통해 다른 데이터센터로 이동하는 경우에만 ARP 메시지를 주고 받으면 된다.
한편, 본 발명에 따른 데이터센터 간 가상 네트워킹을 위해서는 몇가지 요건들이 충족되어야 하며, 도 3을 통하여 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법의 수행을 위한 각각의 데이터센터와 게이트웨이의 설정을 설명하기 위한 개념도이다.
도 3을 참조하면, SDN 컨트롤러는 자신이 알지 못하는 목적지의 트래픽에 대하여 게이트웨이로 이동할 수 있도록 플로우를 제어하여야 하며, SDN 컨트롤러는 오픈플로우 스위치(OpenFlow Switch, 가상스위치 포함)를 통하여 네트워크를 중앙 집중 관리하여야 한다.
예컨대, 제1 데이터 센터(210)를 관리하는 SDN 컨트롤러(211)는 오픈플로우 스위치(311, 212)를 통하여 제1 데이터센터(210)의 네트워크를 중앙집중 관리하며, 제2 데이터 센터(220)를 관리하는 SDN 컨트롤러(221)은 오픈플로우 스위치(321, 322)를 통하여 제2 데이터센터(220)의 네트워크를 중앙집중 관리한다.
SDN 컨트롤러와 연결되는 가상머신들은 OpenStack의 ml2/ml3 플러그인을 통하여 자신의 IP 및 MAC 정보를 SDN 컨트롤러에게 전달 한다. 기본적으로, 각 데이터센터에 속한 모든 가상네트워크 및 가상머신의 주소/포트 정보들이 SDN 컨트롤러를 통하여 수집된다(OpenStack의 ml2/ml3 플러그인 사용).
예컨대, 제1 데이터센터(210)의 가상머신들(313, 314, 315, 316)은 SDN 컨트롤러(211)에게 자신의 IP 및 MAC 정보를 제공하고, 제2 데이터센터(220)의 가상머신들(323, 324, 325, 326)은 SDN 컨트롤러(221)에게 자신의 IP 및 MAC 정보를 제공한다. 각 SDN 컨트롤러는 데이터센터의 가상네트워크를 제어함에 있어 이 정보를 활용하여 자신이 관리하는 데이터센터의 가상네트워크를 제어한다.
한편, 자신이 관리하지 않는 가상머신에 대한 트래픽이 발생할 수 있다. 예를들면 제1 데이터센터(210)의 가상머신(313)에서 같은 가상네트워크 대역(즉, 10.0.0.0/24)으로 IP 주소가 부여된 제2 데이터센터(220)의 가상머신(323)으로 전송하는 트래픽이 발생할 수 있다.
데이터센터 간의 통신을 위하여 게이트웨이(317, 327)는 모두 터널링 (VxLAN, GRE 등) 되어야 한다. 각 데이터센터는 게이트웨이를 통하여 연결되어 있어야 하며, 다중 데이터센터의 각 게이트웨이는 모두 연결(full mesh)되어 있어야 한다. 한편, 게이트웨이(317, 327)는 복수의 게이트웨이가 모인 게이트웨이 클러스터(cluster)로 존재할 수도 있다.
상술된 조건들이 충족되는 환경에서 본 발명의 실시예를 좀 더 상세히 설명하면 다음과 같다. 이하에서는, 본 발명의 실시예에 따른 데이터센터 간 가상 네트워킹 방법을 제공하기 위해서 (1) 단일 데이터센터 내에서의 동작, (2) 다중 데이터센터의 연동 동작, (3) 게이트웨이의 동작에 대해서 도 4 및 도 5를 참조하여 각각 세부적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법을 구체적으로 설명하기 위한 개념도이며, 도 5는 본 발명의 일 실시예에 따른 데이터센터 간 가상 네트워킹 방법에서 다중 데이터센터의 연동 동작을 설명하기 위한 순서도이다.
단일 데이터센터 내의 동작
본 발명의 실시예에 따른 데이터센터 간 가상 네트워킹 방법의 수행을 위해서 단일 데이터센터 내에서 이루어져야 하는 절차를 설명하면 다음과 같다.
먼저, 다중 데이터센터를 구성하는 OpenStack에서 데이터센터(210, 220)에 걸친 가상네트워크(410) 및 각 데이터센터의 가상머신들(예컨대, 313, 323)을 생성하도록 한다. 도 4에서는 생략되어 있으나 도 2에서 예시된 제1 데이터센터(210)와 제2 데이터센터(220)를 통합 관리(orchestration)하는 글로벌 데이터센터 관리시스템(230)와 각 SDN 컨트롤러(211, 221)의 연동에 의해서 상기 동작이 수행될 수 있을 것이다.
각각의 데이터센터(210, 220)에 대응된 SDN 컨트롤러(211, 221)는 ml2/ml3 플러그인을 통하여 가상네트워크 및 자신에 속한 가상머신들(313, 323 포함)의 정보를 모두 관리한다.
이때 수집되는 가상 네트워크의 정보는 테넌트(tenant)의 식별자(ID), 가상 네트워크의 ID 및 가상 네트워크에 부여된 가상네트워크 식별자(VxLAN ID 등) 중 전부 또는 일부를 포함할 수 있다. 또한, 이때 수집되는 가상며신들의 정보는 가상머신들의 IP 주소 및 MAC 주소, 포트(port) 정보를 포함할 수 있다. 또한, 발명의 실시예에서는 다중 데이터센터가 가상머신을 생성하는 경우 게이트웨이의 Key MAC과 중복되지 않도록 생성한다. 즉, 가상머신들이 Key MAC과 동일한 MAC 주소를 가지지 않도록 조율되어야 한다. 따라서, SDN 컨트롤러가 수집한 가상머신들에 대한 정보는 게이트웨이 Key MAC을 결정하는데 참조될 수 있다.
SDN 컨트롤러는 자신이 관리하는 데이터센터에 생성된 모든 가상머신들의 모든 정보를 관리한다. 따라서, 앞서 언급된 바와 같이, SDN 컨트롤러는 자신이 관리하는 데이터센터 내의 가상머신들 간에 발생하는 모든 패킷에 대하여 목적지 VM의 IP 및 MAC 정보를 이미 알고 있으므로, 단일 데이터센터 내에서의 가상머신들간의 통신에는 ARP를 사용하지 않을 수 있다.
SDN 컨트롤러는 자신의 데이터센터 내의 오픈플로우 스위치들에 자신의 데이터센터 내부의 플로우들에 대한 플로우 규칙들(flow Rule)을 설치할 수 있다. 또한, SDN 컨트롤러는 자신의 데이터센터 내의 L2 및 L3 네트워크를 확인할 수 있다.
데이터센터 간의 연동 동작
SDN 컨트롤러(211, 221)는 자신이 관리하는 단일 데이터센터의 가상네트워크를 제어하지만 다중 데이터센터에 걸쳐 만들어진 가상네트워크(400)를 제어하지는 못한다. 따라서, 지역적으로 완전하게 분리된 OpenStack 기반의 다중 데이터센터를 연동하기 위해서는 게이트웨이를 통한 통신이 필요하게 된다.
지역적으로 시스템적으로 완전하게 분산된 다중 데이터센터에 걸쳐진 가상네트워크(400) 및 가상머신들을 생성하고, 하나의 가상머신에서 다른 가상머신으로 트래픽을 전송하는 상황이 발생될 수 있다(S410).
단일 데이터센터의 각 SDN 컨트롤러는 발생한 트래픽의 목적지 IP 주소(DST IP) 및 MAC 주소를 확인한다(S420).
확인된 트래픽의 목적지 IP 주소와 MAC 주소가 SDN 컨트롤러가 OpenStack의 ml2/ml3를 통하여 제공받은 자신이 관리하는 데이터센터 내부의 가상머신을 지시하는 경우, SDN 컨트롤러는 오픈 플로우 스위치에 해당 트래픽을 전달가능한 플로우 룰(flow rue)을 설치한다(S430).
플로우 룰(flow rule)이 설치된 데이터센터 내의 가상머신과 가상머신 간의 트래픽은 해당 플로우 룰을 통해 처리(전달)된다(S440).
확인된 트래픽의 목적지 IP 주소와 MAC 주소가 SDN 컨트롤러가 OpenStack의 ml2/ml3를 통하여 제공받은 자신이 관리하는 데이터센터 내부의 가상머신을 지시하지 않는 경우(즉, SDN 컨트롤러가 해당 목적지 가상머신을 모르는 경우), SDN 컨트롤러는 해당 트래픽의 패킷이 모두 게이트웨이로 향할 수 있도록 게이트웨이 Key MAC 관련한 플로우 룰을 생성하여 오픈 플로우 스위치에 설치한다. 예컨대, 해당 플로우 룰은 트래픽의 목적지 MAC(DST MAC)을 게이트웨이를 향할 수 있도록 하기 위하여 Key MAC으로 교체하는 동작을 수행하도록 설정될 수 있다(S421).
한편, 상기 단계(S421)을 통해서 게이트웨이로 전달된, 단일 데이터센터의 SDN 컨트롤러가 관리하지 않는 목적지 가상머신에 대한 트래픽은 게이트웨이에서 ARP를 처리한다. 앞서 언급된 바와 같이, 다중 데이터센터의 게이트웨이들은 모두 연동되어 있기 때문에 Key MAC을 통하여 최초 트래픽이 발생한 게이트웨이에서는 연결된 모든 게이트웨이로 DST IP/MAC VM에 대한 ARP를 요청할 수 있다(S422).
ARP에 대한 응답이 없는 경우 목적지 가상머신이 생성되지 않은 것으로 판단하여 패킷을 폐기(drop)하는 룰을 설치한다(S423). 이후 발생한 같은 트래픽은 ARP 응답이 없는 한 폐기 처리되며, Key MAC에 대한 응답이 없는 관계로 앞선 단계(S421)에서 설치된 Key MAC을 향하는 플로우 룰(flow rule) 또한 삭제될 수 있다.
한편, 상기 단계(S422)에서 수행된 ARP 절차(요청)에 대하여 ARP 응답이 수신된 경우, 게이트웨이는 SDN 컨트롤러로 이를 통지할 수 있다. 이때, 게이트웨이는 자신이 해당 목적지에 있는 가상머신인 것처럼 SDN 컨트롤러에게 ARP 응답을 보낼 수 있다. 이에, 대응하여 SDN 컨트롤러는 해당 트래픽에 대하여 게이트웨이로 보내는 플로우 룰을 설치한다(S421).
추후 발생하는 같은 트래픽은 ARP 응답이 없는한 동일한 플로우 룰이 적용될 수 있다.
게이트웨이 동작
각각의 데이터센터에 포함된 게이트웨이는 다음과 같이 동작할 수 있다.
앞서 언급된 바와 같이, 각 데이터센터내에는 여러 개의 게이트웨이가 존재할 수 있으므로 게이트웨이 Key MAC은 각각의 게이트웨이를 표현하는 값으로서 생성될 수 있다. 또한, 모든 데이터센터의 SDN 컨트롤러가 동일하게 게이트웨이를 식별하여 패킷을 전달할 수 있는 오픈플로우 룰을 생성할 수 있도록, 해당 게이트웨이 Key MAC은 다중 데이터센터 환경 내에서 유일한(unique) MAC으로 설정될 수 있다.
또한, OpenStack 기반의 다중 데이터센터는 가상머신을 생성하는 경우 Key MAC에 위배되지 않도록 생성한다. 즉, 가상머신들이 Key MAC과 동일한 MAC 주소를 가지지 않도록 조율되어야 한다. 따라서, 앞서 SDN 컨트롤러가 수집한 가상머신들에 대한 정보는 게이트웨이 Key MAC을 결정하는데 참조될 수 있다.
앞서 단계(S421)에게 설명된 바와 같이, 단일 데이터센터에서 관리하지 않는 가상머신(즉, 다른 데이터센터에 속한 가상머신)에 대한 트래픽은 해당 트래픽의 수신지 MAC 주소(DST MAC)을 게이트웨이의 Key MAC으로 교체하여 전달된다. Key MAC은 다시 단일 데이터센터의 게이트웨이 MAC으로 매핑되어 게이트웨이에 연결된 모든 데이터센터의 게이트웨이로 ARP를 보낸다.
게이트웨이로부터의 ARP 응답이 있는 경우에 Key MAC에 어떤 게이트웨이가 매핑되어 있는지에 대한 정보가 SDN 컨트롤러로 통보될 수 있다. ARP 응답이 있는 DST IP/MAC 가상머신에 대한 트래픽은 Key MAC으로부터 선택된 게이트웨이를 향하도록 플로우 룰을 설치한다.
본 발명의 내용을 설명함에 다중 데이터센터 간 네트워킹을 위한 게이트웨이 적용 및 Key MAC 기반의 게이트웨이 동작에 대하여 설명하였으나, 다른 형태의 패킷 처리 과정에도 동일한 절차를 변경하여 적용하면 널리 이해 가능한 범위에서 본 기술을 적용할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
211, 221: SDN 컨트롤러
210, 220: 데이터센터
211, 221: 가상머신
212, 222: 게이트웨이
230: 글로벌 데이터센터 관리 시스템
240: 전송망
250: 전송망 제어 시스템

Claims (1)

  1. SDN에 기반한, 데이터센터 간 가상 네트워킹을 위한 방법으로서,
    SDN 컨트롤러가, 제1 데이터센터의 가상머신으로부터 수신된 패킷의 목적지 주소가 상기 제1 데이터센터에 속한 가상머신을 지시하지 않는 경우, 미리 결정된 제1 Key MAC 주소가 부여된 게이트웨이로 상기 패킷이 전달되도록 제어하는 단계;
    상기 게이트웨이가, 상기 게이트웨이와 연동되고 미리 결정된 Key MAC 주소들이 부여된 다른 데이터센터들의 게이트웨이들에게 상기 패킷의 목적지 주소에 대한 ARP(Address Resolution Protocol) 요청을 발송하고, 상기 ARP 요청에 대한 응답여부를 상기 SDN 컨트롤러에게 통지하는 단계; 및
    상기 SDN 컨트롤러가, 상기 ARP 요청에 대한 ARP 응답이 수신되지 않으면, 상기 수신된 패킷이 폐기(drop) 처리되도록 제어하고, 상기 ARP 요청에 대한 ARP 응답이 수신되면 상기 ARP 응답을 회신한 게이트웨이의 Key MAC 주소와 상기 목적지 주소를 매핑하여 저장하는 단계를 포함하는, 데이터센터 간 가상 네트워킹을 위한 방법.
KR1020170032376A 2017-03-15 2017-03-15 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법 KR20180105375A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170032376A KR20180105375A (ko) 2017-03-15 2017-03-15 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170032376A KR20180105375A (ko) 2017-03-15 2017-03-15 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법

Publications (1)

Publication Number Publication Date
KR20180105375A true KR20180105375A (ko) 2018-09-28

Family

ID=63721665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170032376A KR20180105375A (ko) 2017-03-15 2017-03-15 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법

Country Status (1)

Country Link
KR (1) KR20180105375A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224821A (zh) * 2019-12-31 2020-06-02 北京山石网科信息技术有限公司 安全服务部署系统、方法及装置
KR20200076342A (ko) 2018-12-19 2020-06-29 디노플러스 (주) 가상 네트워크 기반 분산 다중 데이터처리방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200076342A (ko) 2018-12-19 2020-06-29 디노플러스 (주) 가상 네트워크 기반 분산 다중 데이터처리방법
CN111224821A (zh) * 2019-12-31 2020-06-02 北京山石网科信息技术有限公司 安全服务部署系统、方法及装置

Similar Documents

Publication Publication Date Title
CN115380514B (zh) 为异构计算元件自动部署网络元件
US11563681B2 (en) Managing communications using alternative packet addressing
US11070619B2 (en) Routing messages between cloud service providers
EP3681110B1 (en) A region interconnect control using vrf tables across heterogeneous networks
US10374972B2 (en) Virtual flow network in a cloud environment
US9887959B2 (en) Methods and system for allocating an IP address for an instance in a network function virtualization (NFV) system
US9363207B2 (en) Private virtual local area network isolation
US20190238509A1 (en) Providing networking and security to workloads via a control virtual private cloud shared across multiple virtual private clouds
CN112368979B (zh) 通信装置、方法和系统
US9444723B1 (en) Passing data over virtual links
CN105051688A (zh) 经扩展的标记联网
US9967140B2 (en) Virtual links for network appliances
US11949602B2 (en) Stretched EPG and micro-segmentation in multisite fabrics
US20210204191A1 (en) Inter-slice sharing in 5g core networks
WO2021147358A1 (zh) 一种网络接口的建立方法、装置及系统
US20220166715A1 (en) Communication system and communication method
KR101729944B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템의 ip 주소 제공 방법
KR20180105375A (ko) 패킷 광 전송 네트워크를 통한 클라우드 간 가상 네트워킹 제공 방법
CN110875889B (zh) 一种用于获取路径的方法及其装置
KR20200076342A (ko) 가상 네트워크 기반 분산 다중 데이터처리방법
KR101729939B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템
US11831511B1 (en) Enforcing network policies in heterogeneous systems
US20240179070A1 (en) Implementing defined service policies in a third-party container cluster
US20240179066A1 (en) Defining service policies for third-party container clusters
US20240179071A1 (en) Network controller as a service (ncaas) to define network policies for third-party container clusters