KR101712901B1 - 가상 머신 간의 통신을 구현하는 방법 및 장치 - Google Patents

가상 머신 간의 통신을 구현하는 방법 및 장치 Download PDF

Info

Publication number
KR101712901B1
KR101712901B1 KR1020167000575A KR20167000575A KR101712901B1 KR 101712901 B1 KR101712901 B1 KR 101712901B1 KR 1020167000575 A KR1020167000575 A KR 1020167000575A KR 20167000575 A KR20167000575 A KR 20167000575A KR 101712901 B1 KR101712901 B1 KR 101712901B1
Authority
KR
South Korea
Prior art keywords
virtual machine
exchange
mac address
destination
address
Prior art date
Application number
KR1020167000575A
Other languages
English (en)
Other versions
KR20160018775A (ko
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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20160018775A publication Critical patent/KR20160018775A/ko
Application granted granted Critical
Publication of KR101712901B1 publication Critical patent/KR101712901B1/ko

Links

Images

Classifications

    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • 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/2557Translation policies or rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예에서 제공되는 방법 및 장치에서는, 제1 교환기가 SDN 제어기로부터 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 수신하고; 상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고 - 상기 VTEP 정보에 대응하는 라우터는 제1 데이터 센터에 위치함 -; 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 제1 교환기가, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송한다. 따라서, SDN 제어기가 프록시 역할을 하여 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시키고, 또, 패킷은 제1 데이터 센터의 라우터만을 통과하여, 데이터 센터 간의 패킷의 우회 라우팅을 완화한다.

Description

가상 머신 간의 통신을 구현하는 방법 및 장치 {METHOD AND APPARATUS FOR IMPLEMENTING COMMUNICATION BETWEEN VIRTUAL MACHINES}
본 발명은 네트워크 통신 분야에 관한 것으로, 특히, 가상 머신 간의 통신을 구현하는 방법 및 장치에 관한 것이다.
종래기술에서, 확장 가능한 가상 근거리 통신망(VxLAN, Virtual extensible LAN)이 사용자를 위한 충분한 수량의 가상 네트워크를 취득하기 위해 네트워크 가상화(network virtualization)를 확장하는 데 사용된다.
복수의 가상 네트워크의 가상 머신(VM, Virtual Machine)들이 각 데이터 센터에서 운영될 수 있다. 다른 데이터 센터의 VM과 통신할 때, 데이터 센터의 VM은 브로드캐스트(broadcast) 방식으로 목적지 게이트웨이의 MAC 주소를 획득하기 위해 제1 홉 라우터(first-hop router)에 브로드캐스트 주소 결정 프로토콜(ARP, Address Resolution Protocol) 요청을 전송할 수 있고, ARP 요청은 그 후 각각의 VM에 브로드캐스팅된다. 목적지 게이트웨이의 MAC 주소가 획득된 후, 목적지 게이트웨이의 MAC 주소를 사용하여 각 데이터 센터의 라우터에 패킷이 전송되고, 그 후 목적지 VM에 도착하고, 이에 따라 VM 간의 통신이 구현된다. 그러나, 각 VM에 ARP를 브로드캐스팅하는 이 방식에서는, 대량의 송신 대역폭이 점유되고; 또, 패킷은 각 데이터 센터의 라우터를 통과하여야만 목적지 VM에 도착할 수 있어, 데이터 센터들 사이에 심각한 우회 라우팅(roundabout routing)을 초래한다.
본 발명의 실시예들은, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 줄이고 데이터 센터들 사이의 패킷의 우호 라우팅을 완화하기 위한 가상 머신 간의 통신을 구현하는 방법 및 장치를 제안한다.
제1 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법을 제안하며, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하고, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하고, 상기 제1 교환기는 상기 제2 교환기가 동일하거나 상이할 수 있다. 상기 가상 머신 간의 통신을 구현하는 방법은,
상기 제1 교환기가 상기 제1 가상 머신으로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(Address Resolution Protocol, ARP) 요청을 수신하는 단계;
상기 제1 교환기가 상기 제1 데이터 센터의 소프트웨어 정의 네트워크(software defined network, SDN) 제어기에 상기 ARP 요청을 전달하는 단계;
상기 제1 교환기가 상기 SDN 제어기로부터 상기 목적지 게이트웨이의 미디어 액세스 제어(Media Access Control, MAC) 주소를 싣고 있는 ARP 응답을 수신하는 단계;
상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(virtual extensible local area network tunnel end point, VTEP) 정보를 획득하는 단계 - 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -; 및
상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 제1 교환기가, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송하는 단계를 포함한다.
제1 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로, 상기 제1 교환기가 상기 SDM 제어기에 요청을 전송하여 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하는 단계; 및 상기 SDN 제어기에 의해 전송되는, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 수신하는 단계를 포함한다.
제1 측면을 참조하여, 제2 가능한 구현 방식에서, 상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로, 상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 로컬로 저장된 흐름표(flow table)를 조회하여 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계를 포함한다.
제1 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 제1 교환기가, 로컬로 저장된 흐름표를 조회하여 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로,
상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치하는 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하는 단계를 포함한다.
제1 측면의 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 로컬로 저장된 흐름표를 조회하여 상기 제1 데이터 센터에 위치한 라우터들의 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 교환기는 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 선택한다.
제1 측면 또는 제1 측면의 제1 내지 제4 가능한 구현 방식 중 어느 하나를 참조하여, 제5 가능한 구현 방식에서, 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 제1 교환기가, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송하는 단계는 구체적으로,
상기 제1 교환기가 상기 제1 가상 머신으로부터 수신된 IP 패킷에 대해 확장 가능한 가상 근거리 통신(virtual extensible local area network, VxLAN) 캡슐화(capsulation)를 수행하는 단계 - 상기 VxLAN 캡슐화의 목적지 IP 주소는 상기 획득된 VTEP 정보이고, 가상 네트워크 식별자(virtual network identifier, VNI)는 상기 제1 서브네트의 식별자이고, 상기 IP 패킷의 목적지 MAC 주소는 상기 목적지 게이트웨이의 MAC 주소임 -;
상기 VTEP 정보에 대응하는 라우터가, 상기 목적지 IP 주소를 상기 제2 교환기의 IP 주소로, 상기 VNI를 상기 제2 서브네트의 식별자로, 그리고 상기 목적지 MAC 주소를 상기 제2 가상 머신의 MAC 주소로 변경하고, 상기 제2 교환기에 VxLAN 캡슐화가 변경된 IP 패킷을 전송하는 단계; 및
상기 제2 교환기가 상기 수신된, VxLAN 캡슐화가 변경된 IP 패킷에 대해 VxLAN 캡슐 해제(decapsulation)를 수행한 후, 상기 제2 가상 머신에 상기 IP 패킷을 전송하는 단계를 포함한다.
제2 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법을 제안하며, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하고, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하고, 상기 제1 교환기는 상기 제2 교환기가 동일하거나 상이할 수 있다. 상기 가상 머신 간의 통신을 구현하는 방법은,
상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기가 상기 제1 교환기로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 및
상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 SDN 제어기가, 상기 목적지 게이트웨이의 IP 주소에 따라, 상기 목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소를 획득하고, 상기 제1 교환기에 상기 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -를 포함한다.
제2 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 SDN 제어기는, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하고;
상기 SDN 제어기는, 상기 목적지 게이트웨이의 MAC 주소에 따라, 로컬로 저장된 흐름표를 조회하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 상기 제1 교환기에 회신한다.
제2 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 SDN 제어기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 로컬로 저장된 흐름표를 조회하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 것은 구체적으로,
상기 SDN 제어기가 상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치한 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하는 것을 포함한다.
제2 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 SDN 제어기가 상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 상기 제1 데이터 센터에 위치한 라우터의 둘 이상의 VTEP 정보를 획득하는 경우, 상기 SDN 제어기는 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 선택한다.
제2 측면, 또는 제2 측면의 제1 내지 제3 가능한 구현 방식 중 어느 하나를 참조하여, 제4 가능한 구현 방식에서, 상기 제2 가상 머신이 제2 데이터 센터에 위치하면, 상기 가상 머신 간의 통신을 구현하는 방법은,
상기 제1 데이터 센터의 SDN 제어기의 제어하에, 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 상기 IP 패킷을 전송할 수 있도록, 상기 제1 데이터 센터의 SDN 제어기가 상기 제2 데이터 센터의 SDN 제어기로부터 상기 제2 가상 머신 IP 주소 및 MAC 주소, 상기 제2 서브네트의 가상 네트워크 식별자(VNI), 및 상기 제2 교환기의 VTEP 정보를 획득하는 단계를 더 포함한다.
제3 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 제1 교환기를 제안하며, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하고, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하고, 상기 제1 교환기는 상기 제2 교환기와 동일하거나 상이하며, 상기 제1 교환기는,
상기 제1 가상 머신으로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈;
상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기에 상기 ARP 요청을 전달하도록 구성된 전송 모듈; 및
상기 목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하도록 구성된 획득 모듈 - 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -을 포함하고,
상기 수신 모듈은 상기 SDN 제어기로부터 상기 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 수신하도록 더 구성되고,
상기 전송 모듈은, 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송하도록 더 구성된다.
제3 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 획득 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
상기 획득 모듈이 상기 SDM 제어기에 요청을 전송하여 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하고, 상기 SDN 제어기에 의해 전송되는, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 수신하도록 구성되는 것이다.
제3 측면을 참조하여, 제2 가능한 구현 방식에서, 상기 획득 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
상기 획득 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 제1 교환기에 의해 저장된 흐름표를 조회하여, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것이다.
제3 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서,
상기 획득 모듈이, 상기 제1 교환기에 의해 저장된 흐름표를 조회하여, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
상기 획득 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 제1 교환기에 의해 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치하는 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하도록 구성되는 것이다.
제4 측면에 따르면, 본 발명의 실시예는, 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제안하며, 상기 SDN 제어기는, 제1 데이터 센터에 위치하고, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되며, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하고, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하고, 상기 제1 교환기는 상기 제2 교환기와 동일하거나 상이할 수 있다. 상기 SDN 제어기는,
상기 제1 교환기로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈;
상기 목적지 게이트웨이의 IP 주소에 따라, 상기 목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소를 획득하도록 구성된 처리 모듈; 및
상기 제1 교환기가 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 제1 교환기에 상기 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 전송하도록 구성된 전송 모듈 - 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -을 포함한다.
제4 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 수신 모듈은, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하도록 더 구성되고;
상기 처리 모듈은, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 SDN 제어기에 의해 저장된 흐름표를 조회하여, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 상기 제1 교환기에 회신하도록 더 구성된다.
제4 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 처리 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 SDN 제어기에 의해 저장된 흐름표를 조회하여, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성된다는 것은 구체적으로,
상기 처리 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 SDN 제어기에 의해 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치한 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하도록 구성되는 것이다.
제4 측면의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 처리 모듈이, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 SDN 제어기에 의해 저장된 흐름표를 조회하여 상기 제1 데이터 센터에 위치한 라우터의 둘 이상의 VTEP 정보를 획득하도록 구성되는 경우, 상기 처리 모듈은, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 선택하도록 구성된다.
제4 측면, 또는 제4 측면의 제1 내지 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 제2 가상 머신이 제2 데이터 센터에 위치하면, 상기 처리 모듈은, 상기 제2 데이터 센터의 SDN 제어기로부터, 상기 제2 가상 머신 IP 주소 및 MAC 주소, 상기 제2 서브네트의 가상 네트워크 식별자(VNI), 및 상기 제2 교환기의 VTEP 정보를 획득하도록 더 구성된다.
제5 측면에 따르면, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 교환기를 제안하며, 상기 교환기는,
프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호 간의 통신을 완성하며;
상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
상기 프로세서는 상기 컴퓨터로 실행 가능한 명령어를 동작시켜 제1 측면 또는 제1 측면의 제1 내지 제5 가능한 구현 방식 중 어느 하나에 따른 방법을 실행하도록 구성된다.
제6 측면에 따르면, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제안하며, 상기 SDN 제어기는,
프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호 간의 통신을 완성하며;
상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
상기 프로세서는 상기 컴퓨터로 실행 가능한 명령어를 동작시켜, 제2 측면 또는 제2 측면의 제1 내지 제4 가능한 구현 방식 중 어느 하나에 따른 방법을 실행하도록 구성된다.
본 발명의 실시예들에서는, 제1 교환기가 SDN 제어기로부터 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 수신하고; 제1 교환기가, 목적지 게이트웨이의 MAC 주소에 따라, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고 - VTEP 정보에 대응하는 라우터는 제1 데이터 센터에 위치함 -; VTEP 정보에 대응하는 라우터가 라우터와 상기 제2 교환기 사이의 터널을 통해 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 제1 교환기가, VTEP 정보에 따라, VTEP 정보에 대응하는 라우터에 IP 패킷을 전송한다. 따라서, SDN 제어기는 프록시 역할을 하여 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시키고, 또, 패킷은 제1 데이터 센터의 라우터만을 통과하여, 데이터 센터 간의 패킷의 우회 라우팅을 완화한다.
제7 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법을 제안하며, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 제1 교환는 상기 제2 교환기와 동일하거나 상이할 수 있다. 상기 가상 머신 간의 통신을 구현하는 방법은,
상기 제1 교환기가 상기 제1 가상 머신으로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계;
상기 제1 교환기가 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하는 단계;
상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하는 단계 - 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -; 및
상기 제1 교환기가 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송하는 단계를 포함한다.
제7 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 제1 교환기가 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하는 단계는 구체적으로,
상기 제1 교환기가 상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기에 상기 목적지 가상 머신의 IP 주소를 싣고 있는 상기 ARP 요청을 전달하는 단계; 및
상기 제1 교환기가 상기 SDN 제어기로부터 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 수신하는 단계를 포함한다.
제7 측면 또는 제7 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로,
상기 제1 교환기가 상기 SDN 제어기에 요청을 전송하여 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하는 단계; 및
상기 SDN 제어기에 의해 전송되는, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 수신하는 단계를 포함한다.
제7 측면 또는 제7 측면의 제1 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로,
상기 제1 교환기가, 상기 목적지 가상 머신의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계를 포함한다.
제7 측면의 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 제1 교환기가 상기 SDN 제어기로부터 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 획득하여, 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 상기 IP 패킷을 전송하는 단계를 더 포함한다.
제8 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법을 제안하며, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 제1 교환기는 상기 제2 교환기와 동일하거나 상이할 수 있다. 상기 가상 머신 간의 통신을 구현하는 방법은,
상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기가, 상기 제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 및
상기 제1 교환기가, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 SDN 제어기가, 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 제1 교환기가 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -를 포함한다.
제8 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 SDN 제어기가, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하는 단계; 및
상기 SDN 제어기가, 상기 목적지 가상 머신의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 회신하는 단계를 더 포함한다.
제8 측면 또는 제8 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 제1 데이터 센터의 SDN 제어기가, 상기 제2 데이터 센터의 SDN 제어기로부터 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 전송하는 단계를 더 포함한다.
제9 측면에 따르면, 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 제1 교환기를 제안하며, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 제1 교환기는 상기 제2 교환기와 동일하거나 상이할 수 있다. 상기 제1 교환기는,
상기 제1 가상 머신으로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈;
상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하고, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하도록 구성된 처리 모듈 - 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -; 및
상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송하도록 구성된 전송 모듈을 포함한다.
제9 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 처리 모듈이 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 MAC 주소를 획득하도록 구성되는 것은 구체적으로,
상기 처리 모듈이, 상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기에 상기 목적지 가상 머신의 IP 주소를 싣고 있는 상기 ARP 요청을 전달하고, 상기 SDN 제어기로부터 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 수신하도록 구성되는 것이다.
제9 측면 또는 제9측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 처리 모듈이, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
상기 처리 모듈이, 상기 SDN 제어기에 요청을 전송하여 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하고, 상기 SDN 제어기에 의해 전송되는, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 수신하도록 구성되는 것이다.
제9 측면 또는 제9측면의 제1 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 처리 모듈이, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
상기 처리 모듈이, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 제1 교환기에 의해 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것이다.
제9 측면 또는 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 처리 모듈은, 상기 제1 데이터 센터의 SDN 제어기로부터, 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 획득하도록 더 구성된다.
제10 측면에 따르면, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제안하며, 상기 SDN 제어기는 제1 데이터 센터에 위치하고, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되며, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 제1 교환기는 상기 제2 교환기와 동일하거나 상이할 수 있다. 상기 SDN 제어기는,
상기 제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈;
상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하도록 구성된 획득 모듈; 및
상기 제1 교환기가 상기 목적지 가상 머신의 MAC 주소에 따라 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하도록, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 전송하도록 구성된 전송 모듈 - 상기 제1 교환기가 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -을 포함한다.
제10 측면을 참조하여, 제1 가능한 구현 방식에서, 상기 수신 모듈은, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하도록 더 구성되고;
상기 획득 모듈은, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 SDN 제어기에 의해 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 회신하도록 더 구성된다.
제10 측면 또는 제10 측면의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 상기 획득 모듈은 상기 제2 데이터 센터의 SDN 제어기로부터 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 획득하도록 더 구성되고;
상기 전송 모듈은 상기 제1 교환기에 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 전송하도록 더 구성된다.
제11 측면에 따르면, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 교환기를 제안한다. 상기 교환기는,
프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호 간의 통신을 완성하며;
상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
상기 프로세서는 상기 컴퓨터로 실행 가능한 명령어를 동작시켜 제7 측면 또는 제7 측면의 제1 내지 제4 가능한 구현 방식 중 어느 하나에 따른 방법을 실행하도록 구성된다.
제12 측면에 따르면, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제안한다. 상기 SDN 제어기는,
프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호 간의 통신을 완성하며;
상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
상기 프로세서는 상기 컴퓨터로 실행 가능한 명령어를 동작시켜 제8 측면 또는 제8 측면의 제1 내지 제2 가능한 구현 방식 중 어느 하나에 따른 방법을 실행하도록 구성된다.
본 발명의 실시예들에서는, 제1 교환기가, 목적지 가상 머신의 IP 주소에 따라 목적지 가상 머신의 MAC 주소를 획득하고, 목적지 가상 머신의 MAC 주소에 따라 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하며 - VTEP 정보에 대응하는 라우터는 제1 데이터 센터에 위치함 -; 제1 교환기가 제1 교환기와 제2 교환기 사이의 터널 통해 제2 가상 머신에 IP 패킷을 전송한다. 따라서, SDN 제어기는 프록시 역할을 하여 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시키고, 또, 패킷은 제1 데이터 센터의 라우터를 통과할 필요가 없고 제2 데이터 센터의 라우터를 통과할 필요도 없으므로, 두 데이터 센터 간의 패킷의 우회 라우팅을 완화한다.
본 발명의 실시예에서의 기술적 해결방안을 더욱 명확하게 설명하기 위해, 이하에 실시예 또는 종래기술의 설명에 필요한 첨부도면을 간단하게 소개한다. 명백히, 이하의 설명에서의 첨부도면은 단지 본 발명의 일부 실시예를 보여줄 뿐이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진자(이하, 당업자라고 함)라면 창의적인 노력 없이 이들 첨부도면에 따라 다른 도면을 도출할 수 있을 것이다.
도 1a는 본 발명의 실시예에 따른 가상 머신 간의 통신을 구현하는 시스템의 아키텍처도이다.
도 1b는 본 발명의 실시예에 따른 가상 머신 간의 통신을 구현하는 시스템의 아키텍처도이다.
도 2는 본 발명의 실시예에 따른 구성 방법의 개략도이다.
도 3은 본 발명의 실시예에 따른 구성 방법의 흐름도이다.
도 4a는 본 발명의 실시예에 따른 VM을 추가하는 흐름도이다.
도 4b는 본 발명의 실시예에 따른 VM을 삭제하는 흐름도이다.
도 5a는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 5b는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 6a는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 6b는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 7a는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 7b는 본 발명의 실시예에 따른 VM 간의 통신을 구현하는 흐름도이다.
도 8은 본 발명의 실시예에 따른 교환기의 개략 구성도이다.
도 9는 본 발명의 실시예에 따른 제어기의 개략 구성도이다.
도 10은 본 발명의 실시예에 따른 교환기의 개략 구성도이다.
도 11은 본 발명의 실시예에 따른 제어기의 개략 구성도이다.
도 12는 본 발명의 실시예에 따른 하드웨어의 개략 구성도이다.
본 발명의 목적, 기술적 해결방안, 및 이점을 더욱 분명하게 하기 위해, 이하에 본 발명의 실시예에서의 첨부도면을 참조하여 본 발명의 실시예에서의 기술적 해결방안을 명확하고 완전하게 설명한다.
본 발명의 실시예들은 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킬 수 있고, 데이터 센터들 사이의 패킷 우회 라우팅을 완화할 수 있는, 가상 머신 간 통신을 구현하는 방법 및 시스템을 제안한다.
[본 발명의 실시예에서의 시스템 아키텍처]
본 발명의 실시예에 따른 가상 머신 간 통신을 구현하는 방법은 도 1a 및 도 1b에 도시된 시스템 아키텍처에서 구현될 수 있다. 도 1a 및 도 1b는 예시적인 설명일 뿐이고, 구체적인 네트워킹 방식을 한정하는 것은 아니다.
확장 가능한 가상 근거리 통신망(VxLAN, Virtual extensible LAN)은 계층 3 네트워크상에서 캡슐화를 수행함으로써 네트워크 가상화를 구현한다. 구체적으로, VxLAN 캡슐화는 VxLAN 터널 종점(VTEP, VxLAN Tunnel End Point)을 사용하여 완성된다. 터널(Tunnel)은 VTEP 간에 확립되고, 가상 네트워크의 데이터는 그 터널을 통해 송신된다.
도 1a에 도시된 바와 같이, 시스템은 제1 데이터 센터(DC1) 및 제2 데이터 센터(DC2)를 포함한다. DC1은 가상 머신(VM, Virtual Machine) VM1, VM2, VM3, 및 VM4를 포함하고; DC2는 가상 머신 VM5, VM6, 및 VM7을 포함한다.
네트워크 관리기(Network Manager)는 임의의 데이터 센서에 배치되고, 각 데이터 센터의 소프트웨어 정의 제어기(SDN 제어기, Software Defined Network Controller)와의 통신을 구현할 수 있다. 네트워크 관리기의 기능에 대해서는, 구체적으로 도 2 및 도 3의 설명을 참조하기 바란다.
하나의 SDN 제어기는 각 데이터 센터에 별개로 배치될 수 있고, 데이터 센터의 SDN 제어기는 서로 통신하며, 구체적으로, SDN 제어기 클러스터는 풀메시(Full-Mesh) 방식으로 상호연결될 수 있거나, 또는 부분적으로 연결될 수 있고, 복수의 데이터 센터에 하나의 SDN 제어기가 배치될 수도 있으며, 본 발명에서는 이에 한정되지 않는다.
DC1에 위치한 VM1은 제1 서브네트(서브네트 1로 표시될 수도 있음)에 속하고, 서브네트의 가상 네트워크 식별자(VNI, Virtual Network Identifier)는 예로서 11111을 사용한다. DC1에서 제1 서브네트의 게이트웨이의 IP 주소는 예로서 192.168.1.1을 사용하고, DC1에서 제1 서브네트의 게이트웨이의 미디어 액세스 제어(MAC, Media Access Control) 주소는 MAC1이다. DC1에서 제1 서브네트의 게이트웨이의 IP 주소는 DC2에서 제1 서브네트의 게이트웨이의 IP 주소와 동일하거나 상이할 수 있다. DC1에서 제1 서브네트의 게이트웨이의 MAC 주소는 DC2에서 제1 서브네트의 게이트웨이의 MAC 주소와 동일하거나 상이할 수 있다. IP 주소가 MAC 주소와 동일한 경우(이중 활성화(dual activation)라고도 할 수 있음), 이 해결방안은 더욱 중요한 효과를 가진다.
VM1은 제1 교환기(Switch)를 사용하여 제1 서브네트 외부의 VM과 통신하며, 여기서의 제1 교환기는 가상적인 것 또는 물리적인 것일 수 있으며, 본 발명에서는 이에 한정되지 않는다. 제1 교환의 IP 주소는 예로서 10.10.10.2를 사용하고, 제1 교환기는 터널에서 VTEP1로 표시된다. VM1의 IP 주소는 예로서 192.168.1.2를 사용하고, VM1의 MAC 주소 MAC-VM1로 표시된다.
DC1에 위치한 M2, VM3, 및 VM4와 DC2에 위치한 VM7은 동일한 서브네트에 속하며, 제2 서브네트라고 하고(서브네트 2로 표시될 수도 있음), 이 서브네트의 VNI는 예로서 22222을 사용한다. DC1에서의 제2 서브네트의 게이트웨이의 IP 주소는 예로서 192.168.2.1을 사용하고, DC1에서의 제2 서브네트의 게이트웨이의 MAC 주소는 MAC2이다. DC2에서의 제2 서브네트의 게이트웨이의 IP 주소는 예로서 192.168.2.1을 사용하고, DC2에서의 제2 서브네트의 게이트웨이의 MAC 주소는 MAC2이다. DC1에서의 제2 서브네트의 게이트웨이의 IP 주소는 DC2에서의 제2 서브네트의 게이트웨이의 IP 주소와 동일하거나 상이할 수 있다. DC1에서의 제2 서브네트의 게이트웨이의 MAC 주소는 DC2에서의 제2 서브네트의 게이트웨이의 MAC 주소와 동일하거나 상이할 수 있다.
VM2, VM3, 및 VM4는 제2 교환기를 사용하여 제2 서브네트 외부의 VM과 통신하고, 제2 교환기는 가상적인 것 또는 물리적인 것일 수 있다. 제2 교환기의 IP 주소는 예로서 10.10.10.3을 사용할 수 있고, 제2 교환기는 터널에서 VTEP2로 표시된다. VM7은 제3 교환기를 사용하여 제3 서브네트 외부의 VM과 통신한다. 제3 교환기의 IP 주소는 예로서 11.11.11.3을 사용하고, 제3 교환기는 터널에서 VTEP3으로 표시된다. VM2의 IP 주소는 예로서 192.168.2.2를 사용하고, VM2의 MAC 주소는 MAC-VM2로 표시된다. VM3의 IP 주소는 예로서 192.168.2.3을 사용하고 VM3의 MAC 주소는 MAC-VM3로 표시된다. VM4의 IP 주소는 예로서 192.168.2.4를 사용하고 VM4의 MAC 주소는 MAC-VM4로 표시된다. VM7의 IP 주소는 예로서 192.168.2.7을 사용하고 VM4의 MAC 주소는 MAC-VM7로 표시된다.
제1 교환기는 제2 교환기와 동일하거나 상이할 수 있다.
DC2에 위치한 VM5 및 VM6는 제3 서브네트(서브네트 3으로 표시될 수도 있음)에 속하고, 제3 서브네트의 VNI는 예로서 33333을 사용한다. DC1 내의 제3 서브네트의 게이트웨이의 IP 주소는 예로서 192.168.3.1을 사용하고, DC1 내의 제3 서브네트의 게이트웨이의 MAC 주소는 MAC3이다. DC2 내의 제3 서브네트의 게이트웨이의 IP 주소는 예로서 192.168.3.1을 사용하고, DC2 내의 제3 서브네트의 게이트웨이의 MAC 주소는 MAC3이다. DC1 내의 제3 서브네트의 게이트웨이의 IP 주소는 DC2 내의 제3 서브네트의 게이트웨이의 IP 주소와 동일하거나 상이할 수 있다. DC1 내의 제3 서브네트의 게이트웨이의 MAC 주소는 DC2 내의 제3 서브네트의 게이트웨이의 MAC 주소와 동일하거나 상이할 수 있다.
VM5 및 VM6은 제4 교환기를 사용하여 제3 서브네트 외부의 VM과 통신하고, 여기서의 제4 교환기는 가상적인 것 또는 물리적인 것일 수 있다. 제4 교환기의 IP 주소는 예로서 11.11.11.4를 사용하고, 제4 교환기는 터널에서 VTEP4로 표시된다. VM5의 IP 주소는 예로서 192.168.3.5를 사용하고, VM5의 MAC 주소는 MAC-VM5으로 표시된다. VM6의 IP 주소는 예로서 192.168.3.6을 사용하고, VM6의 MAC 주소는 MAC-VM6으로 표시된다.
제3 교환기는 제4 교환기와 동일하거나 상이할 수 있다.
DC1에는 하나 이상의 라우터(router)가 배치되어 있으며, 라우터 1이 배치되어 있는 예를 사용하여 설명한다. 라우터 1은 터널에서 VTEP5로 표시되고, 라우터 1의 IP 주소는 예로서 10.10.10.5를 사용한다. 유사하게, DC2에는 하나 이상의 라우터가 배치되어 있고, 라우터 1이 배치되어 있는 예를 사용하여 설명한다. 라우터 1은 터널에서 VTEP6으로 표시되고, 라우터 2의 IP 주소는 예로서 11.11.11.6을 사용한다.
복수의 라우터가 배치되는 경우, 도 1b를 참조할 수 있다. 예를 들어, 라우터 1과 라우터 3은 클러스터를 형성할 수 있으므로, 단일 라우터에서의 병목현상을 없앨 수 있고, 라우터들 사이에서 융통성 있는 스케일링(elastic scaling)을 구현할 수 있다. 본 발명에서 배치된 라우터의 수는 한정되지 않으며, 물론 2개보다 많을 수도 있다. 도 1b에서 다른 정보는 도 1a에서와 유사하므로, 자세하게 다시 설명하지 않는다.
네트워크 관리기가 SDN 제어기를 구성하는 프로세스는 도 2를 참조하면, 다음 세 개의 커맨드: AddRouterInfo, AddSwitchInfo, 및 ADDPeerSDNCtrl가 포함되어 있지만, 어떠한 한정도 구성하지 않는다.
AddRouterInfo는 라우터의 IP 주소 및 DC의 식별자 정보를 구성하는 데 사용되며, 표 1을 예로 사용하여 설명한다.
[표 1]
Figure 112016002283376-pct00001
AddSwitchInfo는 교환기의 VTEP 정보 및 DC의 식별자 정보를 구성하는 데 사용되며, 표 2를 예로 사용하여 설명한다.
[표 2]
Figure 112016002283376-pct00002
ADDPeerSDNCtrl는 피어 SDN 제어기의 IP 주소와 피어 DC의 식별자를 구성하는 데 사용되며, 표 3을 예로서 사용하여 설명한다.
[표 3]
Figure 112016002283376-pct00003
선택적으로, SDN은 표 1 내지 표3의 항목에 관한 정보를 흐름표의 형태로 저장한다.
그 후, 도 3을 참조하여, 네트워크 관리기가 SDN 제어기를 사용하여 각 서브네트 구성하는 프로세스를 설명한다.
(A1) NetworkManager는 서브네트와 라우터 사이의 연관관계(association)를 DC1 내의 SDN 제어기에 추가하며, 구체적인 추가 커맨드는 예로서 AddRouterInterface를 사용한다. 서브네트 1을 추가하는 예를 사용한다. 서브네트 1의 VNI는 11111이고; DC1 내의 서브네트의 게이트웨이의 IP 주소는 192.168.1.1/24이며, 여기서 24는 서브네트 마스크(subnet mask)가 255.255.255.0임을 가리키고; DC1 내의 서브네트의 게이트웨이의 MAC 주소는 MAC1이다.
선택적으로, SDN 제어기는 추가된 정보를 흐름표의 형태로 저장하며; 유사하게, SDN 제어기는 또한 다른 추가된 정보를 아래의 흐름표의 형태로 저장한다.
(A2) DC1 내의 SDN 제어기는 서브네트와 라우터 사이의 연관관계를 DC1 내의 라우터 1에 추가하며, 구체적인 추가 커맨드를 예로서 AddRouterGwIP를 사용한다.
(A3) 서브네트 1 내에 VM이 생성된 경우에, SDN 제어기는 현재의 데이터 센터의 교환기에 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 추가하며, 구체적인 추가 커맨드는 예로서 AddGwMacVTEP를 사용한다. 도 1a 및 도 1b의 정보를 예로 사용하면, 서브네트 1 내의 VM1이 패킷을 전송하고, 패킷에 대응하는 게이트웨이의 MAC 주소는 MAC1이면, 그 패킷은 VTEP가 10.10.10.5인 라우터에 전송되며, 라우터상의 처리 인터페이스는 VNI에 의해 결정된다. 현재 데이터 센터의 교환기는 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 흐름표의 형태로 저장한다.
(B1) NetworkManager는 서브네트와 라우터 사이의 연관관계를 DC2 내의 SDN 제어기에 추가하며, 구체적인 추가 커맨드는 예로서 AddRouterInterface를 사용한다. 서브네트 1을 추가하는 예를 사용한다. 서브네트 1의 VNI는 11111이며; DC2 내의 서브네트의 게이트웨이의 IP 주소는 192.168.1.1/24, 여기서 24는 서브마스크가 255.255.255.0이라는 것을 지시하고; DC2 내의 서브네트의 게이트웨이의 MAC 주소는 MAC1이다.
(B2) DC2 내의 SDN 제어기는 서브네트와 라우터 사이의 연관관계를 DC2 내의 라우터 2에 추가하며, 구체적인 추가 커맨드는 AddRouterGwIP를 예로 사용한다.
(B3) 서브네트 1 내에 VM이 생성된 경우에, SDN 제어기는 현재의 데이터 센터의 교환기에 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 추가하며, 구체적인 추가 커맨드는 예로서 AddGwMacVTEP를 사용한다. 도 1a 및 도 1b의 정보를 예로 사용하면, 서브네트 1 내의 VM1이 패킷을 전송하고, 패킷에 대응하는 게이트웨이의 MAC 주소는 MAC1이면, 그 패킷은 VTEP가 11.11.11.6인 라우터에 전송되며, 라우터상의 처리 인터페이스는 VNI에 의해 결정된다.
단계 (B1), (B2), 및 (B3), 그리고 단계 (A1), (A2), 및 (A3)을 수행하는 순서는 제한되지 않는다. 유사하게, 네트워크 관리기와 SDN 제어기는 다른 서브세트와 라우터 사이의 연관관계를 추가할 수도 있다.
도 3에 도시된 구성을 하는 동안에, DC1 내의 서브네트 1의 게이트웨이의 IP 주소는 동일하고, DC1 내의 서브네트 1의 게이트웨이의 MAC 주소와 DC2 내의 서브네트 2의 게이트웨이의 MAC 주소는 동일하지만, 라우터들의 VTEP 정보(즉, 라우터들의 VTEP의 IP 주소)는 상이하다.
삭제
이하에, 도 4a를 참조하여 VM 생성 및 정보 동기화를 구현하는 프로세스를 설명하고, VM2의 생성을 예로 사용한다.
DC2의 제2 교환기에 대해 가상 머신 VM2를 생성하는 커맨드를 개시하며, 구체적인 생성 커맨드는 예로서 Create VM on switch를 사용한다.
(A2) DC1의 제2 교환기가 VM2를 생성한 후, DC1의 SDN 제어기에 VM2의 가상 포트(virtual port) 및 대응하는 VTEP 정보를 통지하며, 구체적인 통지 커맨드는 예로서 VM vPort VTEP notify를 사용한다. VM2의 MAC 주소는 MAC-VM2이고, VM2의 IP 주소는 192.168.2.2이다. VM2는 제2 서브네트에 속하고, VNI는 22222이다. VM2에 대응하는 VTEP 정보는 10.10.10.3이다. DC1의 SDNcontroller가, VM2가 위치하는 제2 교환기의 VTEP 정보를 저장한 경우, 제2 교환기는 DC1의 SDN 제어기에 VM2의 가상 포트에 관한 정보를 통지할 필요가 있을 뿐이다.
SDN 제어기는 포트 정보에 따라 포트의 VNI를 취득할 수 있다.
(A3) DC1의 SDN 제어기는 DC2의 SDN 제어기에 VM2의 가상 포트 및 대응하는 VTEP 정보를 통지하며, 구체적인 통지 커맨드는 예로서 VM vPort VTEP notify를 사용한다. 구체적으로, DC1의 SDN 제어기는, AddSwitchInfo를 사용하여, VM가 위치하는 vSwitch(즉, 제2 교환기)의 VTEP 정보를 획득한 후, DC2의 SDN 제어기에 VM2의 가상 포트 및 대응하는 VTEP 정보를 통지한다.
(A4.1) DC1의 SDN 제어기는 VM2에 관한 정보를 DC1의 라우터에 추가하며, 구체적인 추가 커맨드는 예로서 AddVMMacVTEP를 사용하고, VM2의 IP=192.168.2.2, MAC=MAC-VM2, VNI=22222, 및 VTEP=10.10.10.3을 포함한다.
(A4.2) DC2의 SDN 제어기가 VM2에 관한 정보를 DC2의 라우터에 추가하며, 구체적인 추가 커맨드는 예로서 AddVMMacVTEP를 사용하고, VM2의 IP=192.168.2.2, MAC=MAC-VM2, VNI=22222, 및 VTEP=10.10.10.3을 포함한다.
(A3) 및 (A4.1)을 수행하는 순서는 제한되지 않으며, (A4.1) 및 (A4.2)도 제한되지 않는다.
(A5) DC1의 SDN 제어기가, DC1의 교환기에, 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 추가하며, 구체적인 추가 커맨드는 예로서 AddGwMacVTEP를 사용한다. VM2를 예로서 사용하면, 서브네트 2 내의 VM2가 패킷을 전송하고, 패킷에 대응하는 게이트웨이의 MAC 주소가 MAC2이면, 패킷은 VTEP가 10.10.10.5인 라우터에 전송되며, VNI=22222가 라우터상의 처리 인터페이스를 결정하는 데 사용된다.
도 3의 (B3) 및 (A3)에 도시된 바와 같이, 서브네트 내에 VM이 생성된 경우, SDN 제어기는 현재의 데이터 센터의 교환기에, 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 추가하며, VM이 생성되지 않았으면 도 3에서 서브네트가 생성된 경우, 게이트웨이의 MAC 주소에 대응하는 VTEP 정보는, 도 4a에서 (A5)를 사용하여 현재의 데이터 센터의 교환기에 추가될 수 있다.
(A5) 및 (A3) 내지 (A4.2)를 수행하는 순서는 제한되지 않는다.
이하에, 도 4b를 참조하여 VM 및 정보 동기화를 구현하는 프로세스를 설명하며, VM의 삭제를 예로 사용한다.
(B1) DC1의 제2 교환기에 대해 가상 머신 VM2를 삭제하는 커맨드를 개시하며, 구체적인 삭제 커맨드는 예로서 delete VM on switch를 사용한다.
(B2) DC1의 제2 교환기가 VM2를 삭제한 다음, DC1의 SDN 제어기에 VM2의 가상 포트 및 대응하는 VTEP 정보를 삭제하도록 통지하며, 구체적인 통지 커맨드는 예로서 delete VM vPort notify를 사용한다.
도 4a의 (A5)에 대응하여, 게이트웨이의 MAC 주소에 대응하는 VTEP 정보도 또한 단계 (B2)에서 삭제될 수 있다.
(B3) DC1의 SDN 제어기가 DC2의 SDN 제어기에 VM2에 관한 정보를 삭제하도록 통지하며, 구체적인 통지 커맨드는 예로서 delete VM vPort notify를 사용한다.
(B4.1) DC1의 SDN 제어기가 DC1의 라우터에서 VM2의 MAC 주소 및 VTEP 정보를 삭제하며, 구체적인 삭제 커맨드는 예로서 DeleteRouterMacVTEP를 사용하고, VM2의 IP=192.168.2.2, MAC=MAC-VM2, 및 VNI=22222를 포함한다.
물론, MAC=MAC-VM2 및 VNI=22222를 삭제하는 것일 수도 있거나, 또는 AC=MAC-VM2, VNI=22222, 및 VTEP=10.10.10.3을 삭제하는 것일 수도 있다.
(B4.2) DC2의 SDN 제어기가 DC2의 라우터로부터 VM2의 MAC 주소 및 VTEP 정보를 삭제하며, 구체적인 삭제 커맨드는 예로서 DeleteRouterMacVTEP를 사용하고, VM2의 IP=192.168.2.2, MAC=MAC-VM2, 및 VNI=22222 of VM2를 포함한다.
물론, (B4.1)와 유사하게, MAC=MAC-VM2 및 VNI=22222를 삭제하는 것일 수도 있거나, 또는 AC=MAC-VM2, VNI=22222, 및 VTEP=10.10.10.3을 삭제하는 것일 수도 있다.
(B3) 및 (B4.1)의 수행 순서는 제한되지 않고, (B4.1) 및 (B4.2)의 수행 순서도 제한되지 않는다.
가상 머신 마이그레이션(Virtual machine migration)은 VM 생성과 VM 삭제라는 두 개의 동작으로 분할될 수 있다. 자세한 사항은, 도 4a 및 도 4b에 설명한 프로세스를 참조할 수 있으며, 이에 대해서는 다시 자세하게 설명하지 않는다.
도 2 내지 도 4b의 프로세스에 의해, DC1의 SDN 제어기는 DC1 내의 라우터 1에 관한 정보, 제1 교환기에 관한 정보, 제2 교환기에 관한 정보, DC1 내의 각각의 서브네트와 라우터 사이의 연관관계, 및 DC1 내의 각각의 가상 머신의 MAC 주소 및 VTEP 정보를 취득하는 한편; DC1의 SDN 제어기는 또한 DC2의 SDN 제어기에 관한 정보 및, DC2의 SDN 제어기에 의해 제어되는 일부 가상 머신의 MAC 주소 및 VTEP 정보일 수 있거나, 또는 DC2의 SDN 제어기에 의해 제어되는 모든 가상 머신의 MAC 주소 및 VTEP 정보일 수 있는, DC2의 SDN 제어기에 의해 제어되는 가상 머신의 MAC 주소 및 VTEP 정보도 취득한다. 유사하게, DC2의 SDN 제어기는 DC2 내의 라우터 2에 관한 정보, 제3 교환기에 관한 정보, 제4 교환기에 관한 정보, DC2 내의 각 서브네트와 라우터 사이의 연관관계, 및 DC2 내의 각 가상 머신의 MAC 주소 및 VTEP 정보를 취득하는 한편; DC2의 SDN 제어기는 또한 DC1의 SDN 제어기에 관한 정보 및, DC1의 SDN 제어기에 의해 제어되는 일부 가상 머신의 MAC 주소 및 VTEP 정보일 수 있거나, 또는 DC1의 SDN 제어기에 의해 제어되는 모든 가상 머신의 MAC 주소 및 VTEP 정보일 수 있는, DC1의 SDN 제어기에 의해 제어되는 가상 머신의 MAC 주소 및 VTEP 정보도 취득한다.
도 1a 및 도 1b에 도시된 시스템 아키텍처에서, 가상 머신 간의 통신을 구현하는 방법에 관한 자세한 것은, 이하의 실시예에서 제공되는 설명을 참조한다.
[가상 머신 간의 통신을 구현하는 방법]
이하에, 본 발명의 실시예에 따른 가상 머신 간의 통신을 구현하는 방법을 소개하며, 상기 방법은 전술한 실시예들의 시스템 아키텍처에서 구현될 수 있다.
도 5a에 도시된 가상 머신 간의 통신을 구현하는 방법은, 데이터 센터 DC1에 위치한 가상 머신 VM4와 데이터 센터 DC2에 위치한 가상 머신 VM5 간의 통신을 구현하는 데 사용되며, VM2는 제2 서브네트에 위치하고, VM5는 제3 서브네트에 위치한다. VM4는 제2 교환기를 사용하여 제2 서브네트 외부의 VM과 통신하고, VM5는 제4 교환기를 사용하여 제3 서브네트 외부의 VM과 통신한다.
상기 방법은 다음 단계들을 포함한다:
(1) VM4는 VM5와 통신할 필요가 있다. VM4는 라우팅 테이블을 조회하여, VM4와 VM5가 상이한 서브네트에 위치한다는 것을 발견한다. 그러면, VM4는 제2 서브네트의 디폴트 게이트웨이 192.168.2.1를 목적지 게이트웨이로서 사용한다. VM4는 제2 교환기에 브로드캐스트 주소 결정 프로토콜(ARP, Address Resolution Protocol) 요청을 브로드캐스트 방식으로 전송하여 목적지 게이트웨이의 MAC 주소를 획득하도록 하며, ARP 요청은 목적지 게이트웨의 IP 주소를 싣고 있다.
(2) 제2 교환기가 ARP 요청을 수신하고, 제1 데이터 센터의 SDN 제어기에 ARP 요청을 전달한다.
(3) 제1 데이터 센터의 SDN 제어기가 APR 요청을 수신하고, ARP 요청에 실려 있는 목적지 게이트웨이의 IP 주소에 따라 로컬로 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소로서 MAC2를 획득한다. SDN 제어기가 제2 교환기에 ARP 응답을 전송하며, ARP 응답은 목적지 게이트웨이의 MAC 주소를 싣고 있고, ARP 응답은 브로드캐스트 ARP 요청에 대해 프록시에 의해 만들어지는 응답과 동등하다.
선택적으로, ARP 요청은 ARP 응답을 수신하는 제2 교환기의 포트 정보를 더 싣고 있을 수 있으며, SDN 제어기는 포트 정보에 따라 흐름표를 조회하여 포트 정보에 대응하는 VNI를 취득하며, 목적지 게이트웨이의 MAC 주소를 획득하는 것은 구체적으로, SDN 제어기가, 목적지 게이트웨이의 IP 주소 및 포트 정보에 대응하는 VNI에 따라 목적지 게이트웨이의 MAC 주소를 취득하는 것이다. 구체적으로, 포트 정보는 VM4의 제2 교환기상의 가상 포트에 관한 정보일 수 있다.
선택적으로, ARP 요청은 ARP 응답을 수신하는 제2 교환기의 포트의 VNI를 더 싣고 있을 수 있으며, 목적지 게이트웨이의 MAC 주소를 획득하는 것은 구체적으로, SDN 제어기가, 목적지 게이트웨이의 IP 주소 및 제2 교환기의 포트의 VNI에 따라 목적지 게이트웨이의 MAC 주소를 취득하는 것이다.
(4) 제2 교환기가 ARP 응답을 수신하고, 그 ARP 응답을 VM4에 전달한다.
(5) VM4가 제2 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC (DestMAC)은 MAC2이고, IP 패킷의 목적지 IP(DestIP)는 VM5의 IP 주소: 192.168.3.5이고, IP 패킷의 소스 MAC은 VM4의 MAC(MAC-VM4로 표시됨)이고, IP 패킷의 소스 IP는 VM4의 IP 주소: 192.168.2.4이다.
도 3, 도 4a 및 도 4bㄷ의 구성 프로세스를 통해, 제2 교환기는 MAC2에 대응하는 VTEP 정보를 일시적으로 저장할 수 있다. 제2 교환기가 MAC2에 대응하는 VTEP 정보가 존재한다는 것을 발견하면, 단계 (8)이 바로 수행되고; 제2 교환기가 MAC2에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 단계 (6) 및 단계 (7)이 수행된다.
(6) 제2 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7) SDN 제어기가 로컬로 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 제2 교환기에 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 전송한다.
SDN 제어기가 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 제2 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다.
본 실시예에서, 두 개의 VTEP 정보, 즉 VTEP5(IP가 10.10.10.5임) 및 VTEP6(IP가 11.11.11.6임)가 MAC2에 따라 획득되고, 제2 교환기와 동일한 데이터 센터에 위치한 VTEP5가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP로서 선택된다.
도 1b에 도시된 복수의 라우터의 방안에 도시된 바와 같이, 제1 데이터 센터에, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보가 둘 이상 존재할 때, SDN 제어기는, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 VM4에 적합한 VTEP을 선택하고, 제2 교환기에 그 선택된 적합한 VTEP의 IP 주소를 전송한다. 라우터의 부하는 라우터의 트래픽 및 라우터의 CPU 부하를 포함하지만 이에 한정되는 것은 아니며; 스케줄링 정책은 RondRobin, 최소 부하 우선(least load first), 및 최대 부하 우선(maximum load first)을 포함하지만 이에 한정되는 것은 아니다.
(8) 제2 교환기가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, VM4로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고, 그 IP 패킷을 VTEP 정보에 대응하는 라우터에 전송하며, VxLAN 캡슐화가 수행되는 IP 패킷의 소스 IP는 제2 교환기의 IP 주소, 즉 10.10.10.3이고, VxLAN 캡슐화가 수행되는 IP 패킷의 목적지 IP는 획득된 VTEP 정보 (10.10.10.5)이고, VNI는 22222이다.
제2 교환기는, 로컬 흐름표를 조회하여, MAC2에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보는 전술한 단계 (6) 및 단계 (7)을 사용하여 획득하거나, 또는 제2 교환기는, 로컬 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득한다. 구체적으로, 둘 이상의 VTEP 정보가 획득되는 경우, 제2 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다. 동일한 데이터 센터가 복수의 라우터를 가지는 경우, 라우터의 부하 및 스케줄링 정책에 따라 선택이 수행되는데, 이는 단계 (7)에서와 유사하므로 자세하게 다시 설명하지 않는다.
(9) 제1 데이터 센터의 라우터가 수신된 패킷의 VxLAN 캡슐화를 변경하고, 그 패킷을 제1 데이터 센터의 라우터와 제4 교환기 사이의 터널을 통해 제4 교환기에 전송한다.
도 3, 도 4a 및 도 4b의 구성 프로세스를 통해, 제1 데이터 센터의 라우터는 제2 데이터 센터의 가상 머신의 MAC 주소 및 VTEP 정보를 일시적으로 저장하므로; VxLAN 터널은 제1 데이터 센터의 라우터와 제4 교환기 사이에 직접 확립될 수 있고, 제1 데이터 센터의 라우터와 제4 교환기 사이의 터널을 통해, 캡슐화가 변경된 패킷이 제2 데이터 센터의 라우터를 통과하지 않고 제4 교환기에 직접 전송된다.
VxLAN 캡슐화를 변경하는 것은 구체적으로, 단계 (8)에서의 VxLAN 캡슐화의 소스 IP를 10.10.10.5로 변경하고, 단계 (8)에서의 VxLAN 캡슐화의 목적지 IP를 제4 교환기의 IP 주소, 즉 11.11.11.4로 변경하고, 단계 (8)에서의 VxLAN 캡슐화의 VNI를 33333으로 변경한 다음, 단계 (5)에서의 IP 패킷의 목적지 MAC을 MAC-VM5로 변경하고, 단계 (5)에서의 IP 패킷의 소스 MAC을 MAC2로 변경하는 것이다. VxLAN 캡슐화를 변경함으로써, 제4 교환기는 캡슐화된 IP 패킷을 수신하고, 더 이상 ARP 요청을 브로드캐스팅하는 프로세스를 트리거하지 않고 직접 처리를 수행한다.
(10) 제4 교환기가 VxLAN 캡슐 해제를 수행한 후 VM5에 IP 패킷을 전송한다.
VM5가 VM4에 IP 패킷을 전송하는 프로세스는 전술한 프로세스와 유사하므로, 자세하게 다시 설명하지 않는다.
애플리케이션 시나리오가 도 5a에 도시된 실시예의 그것과 유사한, 도 5b에 도시된 가상 머신 간의 통신을 구현하는 방법의 실시예를 참조한다. 이하에 상호작용 프로세스를 자세하게 설명한다.
(1) 내지 (4)는 도 5a에 도시된 실시예에서의 (1) 내지 (4)와 유사하므로, 자세하게 다시 설명하지 않는다.
(5) VM4이 제2 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC(DestMAC)은 MAC2이고, IP 패킷의 목적지 IP(DestIP)는 VM5의 IP 주소: 192.168.3.5이고, IP 패킷의 MAC은 VM4의 MAC이고(MAC-VM4로 표시됨), IP 패킷의 소스 IP는 VM4의 IP 주소: 192.168.2.4이다.
(6) 제2 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7.1) SDN 제어기가 로컬로 저장된 흐름표를 조회하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하며; SDN 제어기가 제2 교환기로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고 그 IP 패킷을 제2 교환기에 전송하며, 여기서 VxLAN 캡슐화가 수행된 IP 패킷의 소스 IP는 제2 교환기의 IP 주소, 즉 10.10.10.3이고, VxLAN 캡슐화가 수행된 IP 패킷의 목적지 IP는 획득된 VTEP 정보 (10.10.10.5)이고, VNI은 22222이다.
SDN 제어기가 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 제2 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다.
본 실시예에서, 두 개의 VTEP 정보, 즉 VTEP5(IP가 10.10.10.5임) 및 VTEP6(IP가 11.11.11.6임)가 MAC2에 따라 획득되고, 제2 교환기와 동일한 데이터 센터에 위치한 VTEP5가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP로서 선택된다.
도 1b에 도시된 복수의 라우터의 방안에 도시된 바와 같이, 제1 데이터 센터에, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보가 둘 이상 존재할 때, SDN 제어기는, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 VM4에 적합한 VTEP을 선택하고, 제2 교환기에 그 선택된 적합한 VTEP의 IP 주소를 전송한다. 라우터의 부하는 라우터의 트래픽 및 라우터의 CPU 부하를 포함하지만 이에 한정되는 것은 아니며; 스케줄링 정책은 RondRobin, 최소 부하 우선, 및 최대 부하 우선을 포함하지만 이에 한정되는 것은 아니다.
(7.2) 다른 측면에서, SDN 제어기는 제2 교환기에 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 흐름표의 형태로 전송한다. 그 뒤에 IP 패킷을 수신한 경우, 제2 교환기는, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보에 따라, 더 이상 SDN 제어기에 흐름표를 요청하지 않고, VTEP 정보에 대응하는 라우터에 그 뒤에 수신된 캡슐화가 수행된 IP 패킷을 직접 전달할 수 있다.
(8) 제2 교환기가, SDN 제어기로부터, VxLAN 캡슐화가 수행된 IP 패킷을 수신하고, VxLAN 캡슐화가 수행된 IP 패킷 내의 VTEP 정보에 따라, VTEP 정보에 대응하는 라우터에 VxLAN 캡슐화가 수행된 IP 패킷을 직접 전달한다.
유의해야 할 것은 단계 (7.2) 및 단계 (8)의 수행 순서는 제한되지 않는다는 것이다.
(9) 및 (10)은 도 5a에 도시된 실시예에서의 (9) 및 (10)과 유사하므로, 자세하게 다시 설명하지 않는다.
전술한 프로세스들 중 어느 하나에 의해, 데이터 센터와 서브네트에 걸친 통신이 구현되고, SDN 제어기는 VM에 의해 전송되는 브로드캐스트 ARP 요청에 응답하는 프록시 역할을 할 수 있어, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킨다. 또, VM 간의 통신을 하는 동안에, 제1 데이터 센터의 라우터와 제2 데이터 센터의 라우터 모두를 통과하는 대신에, 패킷은 제1 데이터 센터의 라우터만을 통과하여, 데이터 센터 간의 패킷의 우회 라우팅을 완화한다.
도 6a에 도시된, 가상 머신 간의 통신을 구현하는 방법의 실시예는 데이터 센터 DC1에 위치한 가상 머신 VM3과 데이터 센터 DC2에 위한 가상 머신 VM7 사이의 통신을 구현하는 데 사용되며, 여기서 VM3과 VM7은 모두 제2 서브네트에 위치한다. VM3은 제2 교환기를 사용하여 제2 서브네트 외부의 VM과 통신하고, VM7은 제3 교환기를 사용하여 제2 서브네트 외부의 VM과 통신한다. 상기 방법은 다음의 단계를 포함한다:
(1) VM3은 VM7과 통신할 필요가 있다. VM3는 라우팅 테이블을 조회하여, VM7과 VM3이 동일한 서브네트에 위치한다는 것을 발견한다. VM3이 VM7의 MAC 주소를 저장하고 있지 않으면, VM3은 제2 교환기에 브로드캐스트 주소 결정 프로토콜(ARP, Address Resolution Protocol) 요청을 브로드캐스트 방식으로 전송하여 목적지 가상 머신의 MAC 주소를 획득하도록 하며, ARP 요청은 VM7의 IP 주소를 싣고 있다.
(2) 제2 교환기가 제1 데이터 센터의 SDN 제어기에 ARP 요청을 전달한다.
(3) 제1 데이터 센터의 SDN 제어기가 APR 요청을 수신하고, ARP 요청에 실려 있는 목적지 가상 머신의 IP 주소에 따라 로컬로 저장된 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소로서 MAC-VM7을 획득한다. SDN 제어기가 제2 교환기에 ARP 응답을 전송하며, ARP 응답은 목적지 가상 머신의 MAC 주소를 싣고 있고, ARP 응답은 브로드캐스트 ARP 요청에 대해 프록시에 의해 만들어지는 응답과 동등하다.
(4) 제2 교환기가 ARP 응답을 수신하고, 그 ARP 응답을 VM3에 전달한다.
(5) VM3이 제2 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC (DestMAC)은 MAC-VM7이고, IP 패킷의 목적지 IP(DestIP)는 VM7의 IP 주소: 192.168.2.7이고, IP 패킷의 소스 MAC은 VM3의 MAC(MAC-VM3로 표시됨)이고, IP 패킷의 소스 IP는 VM3의 IP 주소: 192.168.2.3이다.
도 4a 및 도 4b에서의 구성 프로세스에 의해, 제2 교환기는 MAC-VM7에 대응하는 VTEP 정보를 일시적으로 저장할 수 있다. 제2 교환기가 MAC-VM7에 대응하는 VTEP 정보가 존재한다는 것을 발견하면, 단계 (8)이 바로 수행되고; 제2 교환기가 MAC-VM7에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 단계 (6) 및 단계 (7)이 수행된다.
(6) 제2 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7) SDN 제어기가 로컬로 저장된 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 제2 교환기에 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 전송한다.
본 실시예에서, 회득된 VTEP은 VTEP3이고, VTEP 정보는 MAC-VM7에 따라 11.11.11.3이다.
(8) 제2 교환기가 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, VM3으로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고, VTEP 정보에 대응하는 교환기에 그 IP 패킷을 전송하며, VxLAN 캡슐화가 수행되는 IP 패킷의 소스 IP는 제2 교환기의 IP 주소, 즉 10.10.10.3이고, VxLAN 캡슐화가 수행되는 IP 패킷의 목적지 IP는 획득된 VTEP 정보 (11.11.11.3)이다.
제2 교환기는, 로컬 흐름표를 조회하여, MAC-VM7에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보는 전술한 단계 (6) 및 단계 (7)을 사용하여 획득하거나, 또는
제2 교환기는, 로컬 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득한다.
도 2, 도 3, 도 4a 및 도 4b에서의 구성 방법을 사용하여, 제1 데이터 센터의 SDN 제어기는, 제2 데이터 센터의 SDN 제어기로부터 VM7의 IP 주소와 MAC 주소, 및 제3 교환기의 VTEP 정보를 획득하고, VM7의 IP 주소와 MAC 주소, 및 제3 교환기의 VTEP 정보를 제2 교환기에 전송한다. 이와 같이, 제2 교환기는 제2 교환기와 제3 교환기 사이의 터널을 통해 VM7에 IP 패킷을 전송할 수 있다. 즉, IP 패킷은 데이터 센터 1(즉, 제1 데이터 센터)의 라우터를 통과할 필요가 없고 데이터 센터 2(즉, 제2 데이터 센터)의 라우터를 통과할 필요도 없다.
(9) 제3 교환기가 VxLAN 캡슐 해제를 수행한 후 VM7에 IP 패킷을 전송한다.
VM7이 VM3에 IP 패킷을 전송하는 프로세스는 전술한 프로세스와 유사하므로, 자세하게 다시 설명하지 않는다.
도 6b에 도시된 가상 머신 간의 통신을 구현하는 방법의 실시예를 참조하며, 애플리케이션 시나리오는 도 6a에 도시된 실시예의 그것과 유사하다.
(1) VM3은 VM7과 통신할 필요가 있다. VM3는 라우팅 테이블을 조회하여, VM7과 VM3이 동일한 서브네트에 위치한다는 것을 발견한다. VM3이 VM7의 MAC 주소를 저장하고 있지 않으면, VM3은 제2 교환기에 브로드캐스트 주소 결정 프로토콜(ARP, Address Resolution Protocol) 요청을 브로드캐스트 방식으로 전송하여 목적지 가상 머신의 MAC 주소를 획득하도록 하며, ARP 요청은 VM7의 IP 주소를 싣고 있다.
(2) 제2 교환기가 제1 데이터 센터의 SDN 제어기에 ARP 요청을 전달한다.
(3) 제1 데이터 센터의 SDN 제어기가 APR 요청을 수신하고, ARP 요청에 실려 있는 목적지 가상 머신의 IP 주소에 따라 로컬로 저장된 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소로서 MAC-VM7을 획득한다. SDN 제어기가 제2 교환기에 ARP 응답을 전송하며, ARP 응답은 목적지 가상 머신의 MAC 주소를 싣고 있고, ARP 응답은 브로드캐스트 ARP 요청에 대해 프록시에 의해 만들어지는 응답과 동등하다.
(4) 제2 교환기가 ARP 응답을 수신하고, 그 ARP 응답을 VM3에 전달한다.
(5) VM3이 제2 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC (DestMAC)은 MAC-VM7이고, IP 패킷의 목적지 IP(DestIP)는 VM7의 IP 주소: 192.168.2.7이고, IP 패킷의 소스 MAC은 VM3의 MAC(MAC-VM3로 표시됨)이고, IP 패킷의 소스 IP는 VM3의 IP 주소: 192.168.2.3이다.
(6) 제2 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7.1) SDN 제어기가 로컬로 저장된 흐름표를 조회하여 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하며; SDN 제어기가 제2 교환기로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고 그 IP 패킷을 제2 교환기에 전송한다.
본 실시예에서, 획득된 VTEP 정보는 VTEP3이고 VTEP 정보는 MAC-VM7에 따라 11.11.11.3이다. VxLAN 캡슐화가 수행된 IP 패킷의 소스 IP는 제2 교환기의 IP 주소, 즉 10.10.10.3이고, VxLAN 캡슐화가 수행된 IP 패킷의 목적지 IP 주소는 획득된 VTEP 정보 (11.11.11.3)이고, VNI는 22222이다.
(7.2) 다른 측면에서, SDN 제어기는 제2 교환기에 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 흐름표의 형태로 전송한다. 그 뒤에 IP 패킷을 수신한 경우, 제2 교환기는, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보에 따라, 더 이상 SDN 제어기에 흐름표를 요청하지 않고, VTEP 정보에 대응하는 라우터에 그 뒤에 수신된 캡슐화가 수행된 IP 패킷을 직접 전달할 수 있다.
(8) 제2 교환기가, SDN 제어기로부터, VxLAN 캡슐화가 수행된 IP 패킷을 수신하고, VxLAN 캡슐화가 수행된 IP 패킷 내의 VTEP 정보에 따라, VTEP 정보에 대응하는 라우터에 VxLAN 캡슐화가 수행된 IP 패킷을 직접 전달한다.
유의해야 할 것은 단계 (7.2) 및 단계 (8)의 수행 순서는 제한되지 않는다는 것이다.
전술한 프로세스들 중 어느 하나에 의해, 데이터 센터와 동일한 서브네트 내에 걸친 통신이 구현되고, SDN 제어기는 VM에 의해 전송되는 브로드캐스트 ARP 요청에 응답하기 위한 프록시 역할을 할 수 있어, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킨다. 또, VM 간의 통신을 하는 동안에, 패킷은 제1 데이터 센터의 라우터를 통과할 필요가 없고 패킷은 제2 데이터 센터의 라우터를 통과할 필요도 없으므로, 두 데이터 센터 간의 패킷의 우회 라우팅을 완화한다.
도 7a에 도시된, 가상 머신 간의 통신을 구현하는 방법의 실시예는 데이터 센터 DC1에 위치한 가상 머신 VM1과 데이터 센터 DC1에 위한 가상 머신 VM2 사이의 통신을 구현하는 데 사용되며, 여기서 VM1은 제1 서브네트에 위치하고, VM2는 제2 서브네트에 위치하며. 제1 서브네트과 제2 서브네트는 상이하다. VM1은 제1 교환기를 사용하여 제1 서브네트 외부의 VM과 통신하고, VM2는 제2 교환기를 사용하여 제2 서브네트 외부의 VM과 통신한다. 상기 방법은 다음의 단계를 포함한다:
(1) VM1은 VM2와 통신할 필요가 있다. VM1은 라우팅 테이블을 조회하여, VM1과 VM2가 상이한 서브네트에 위치한다는 것을 발견한다. 그러면, VM1은 제1 서브네트의 디폴트 게이트웨이 192.168.1.1을 목적지 게이트웨이로서 사용한다. VM1은 제1 교환기에 브로드캐스트 주소 결정 프로토콜(ARP, Address Resolution Protocol) 요청을 브로드캐스트 방식으로 전송하여 목적지 게이트웨이의 MAC 주소를 획득하도록 하며, ARP 요청은 목적지 게이트웨의 IP 주소를 싣고 있다.
(2) 제1 교환기가 ARP 요청을 수신하고, 제1 데이터 센터의 SDN 제어기에 ARP 요청을 전달한다.
(3) 제1 데이터 센터의 SDN 제어기가 APR 요청을 수신하고, ARP 요청에 실려 있는 목적지 게이트웨이의 IP 주소에 따라 로컬로 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소로서 MAC1을 획득한다. SDN 제어기가 제1 교환기에 ARP 응답을 전송하며, ARP 응답은 목적지 게이트웨이의 MAC 주소를 싣고 있고, ARP 응답은 브로드캐스트 ARP 요청에 대해 프록시에 의해 만들어지는 응답과 동등하다.
선택적으로, ARP 요청은 ARP 응답을 수신하는 제1 교환기의 포트 정보를 더 싣고 있을 수 있으며, SDN 제어기는 포트 정보에 따라 흐름표를 조회하여 포트 정보에 대응하는 VNI를 취득하며, 목적지 게이트웨이의 MAC 주소를 획득하는 것은 구체적으로, SDN 제어기가, 목적지 게이트웨이의 IP 주소 및 포트 정보에 대응하는 VNI에 따라 목적지 게이트웨이의 MAC 주소를 취득하는 것이다. 구체적으로, 포트 정보는 VM1의 제2 교환기상의 가상 포트에 관한 정보일 수 있다.
선택적으로, ARP 요청은 ARP 응답을 수신하는 제1 교환기의 포트의 VNI를 더 싣고 있을 수 있으며, 목적지 게이트웨이의 MAC 주소를 획득하는 것은 구체적으로, SDN 제어기가, 목적지 게이트웨이의 IP 주소 및 제1 교환기의 포트의 VNI에 따라 목적지 게이트웨이의 MAC 주소를 취득하는 것이다.
(4) 제1 교환기가 ARP 응답을 수신하고, 그 ARP 응답을 VM1에 전달한다.
(5) VM1이 제1 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC (DestMAC)은 MAC1이고, IP 패킷의 목적지 IP(DestIP)는 VM2의 IP 주소: 192.168.2.2이고, IP 패킷의 소스 MAC은 VM1의 MAC(MAC-VM1로 표시됨)이고, IP 패킷의 소스 IP는 VM1의 IP 주소: 192.168.1.2이다.
도 3, 도 4a 및 도 4b에서의 구성 프로세스에 의해, 제1 교환기는 MAC1에 대응하는 VTEP 정보를 일시적으로 저장할 수 있다. 제1 교환기가 MAC1에 대응하는 VTEP 정보가 존재한다는 것을 발견하면, 단계 (8)이 바로 수행되고; 제1 교환기가 MAC1에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 단계 (6) 및 단계 (7)이 수행된다.
(6) 제1 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7) SDN 제어기가 로컬로 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 제1 교환기에 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 전송한다.
SDN 제어기가 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 제1 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다.
본 실시예에서, 두 개의 VTEP 정보, 즉 VTEP5(IP가 10.10.10.5임) 및 VTEP6(IP가 11.11.11.6임)가 MAC1에 따라 획득되고, 제2 교환기와 동일한 데이터 센터에 위치한 VTEP5가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP로서 선택된다.
도 1b에 도시된 복수의 라우터의 방안에 도시된 바와 같이, 제1 데이터 센터에, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보가 둘 이상 존재할 때, SDN 제어기는, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 VM1에 적합한 VTEP을 선택하고, 제1 교환기에 그 선택된 적합한 VTEP의 IP 주소를 전송한다. 라우터의 부하는 라우터의 트래픽 및 라우터의 CPU 부하를 포함하지만 이에 한정되는 것은 아니며; 스케줄링 정책은 RondRobin, 최소 부하 우선, 및 최대 부하 우선을 포함하지만 이에 한정되는 것은 아니다.
(8) 제1 교환기가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, VM1로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고, 그 IP 패킷을 VTEP 정보에 대응하는 라우터에 전송하며, VxLAN 캡슐화가 수행되는 IP 패킷의 소스 IP는 제1 교환기의 IP 주소, 즉 10.10.10.2이고, VxLAN 캡슐화가 수행되는 IP 패킷의 목적지 IP는 획득된 VTEP 정보 (10.10.10.5)이고, VNI는 11111이다.
제1 교환기가, 로컬 흐름표를 조회하여, MAC1에 대응하는 VTEP 정보가 존재하지 않는다는 것을 발견하면, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보는 전술한 단계 (6) 및 단계 (7)을 사용하여 획득하거나, 또는
제1 교환기는, 로컬 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득한다. 구체적으로, 둘 이상의 VTEP 정보가 획득되는 경우, 제1 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다. 동일한 데이터 센터가 복수의 라우터를 가지는 경우, 라우터의 부하 및 스케줄링 정책에 따라 선택이 수행되는데, 이는 단계 (7)에서와 유사하므로 자세하게 다시 설명하지 않는다.
(9) 제1 데이터 센터의 라우터가 수신된 패킷의 VxLAN 캡슐화를 변경하고, 그 패킷을 제1 데이터 센터의 라우터와 제2 교환기 사이의 터널을 통해 제2 교환기에 전송한다.
VxLAN 캡슐화를 변경하는 것은 구체적으로, 단계 (8)에서의 VxLAN 캡슐화의 소스 IP를 10.10.10.5로 변경하고, 단계 (8)에서의 VxLAN 캡슐화의 목적지 IP를 제2 교환기의 IP 주소, 즉 11.11.11.3으로 변경하고, 단계 (8)에서의 VxLAN 캡슐화의 VNI를 22222로 변경한 다음, 단계 (5)에서의 IP 패킷의 목적지 MAC을 MAC-VM2로 변경하고, 단계 (5)에서의 IP 패킷의 소스 MAC을 MAC1로 변경하는 것이다. VxLAN 캡슐화를 변경함으로써, 제2 교환기는 캡슐화된 IP 패킷을 수신하고, 더 이상 ARP 요청을 브로드캐스팅하는 프로세스를 트리거하지 않고 직접 처리를 수행한다.
(10) 제2 교환기가 VxLAN 캡슐 해제를 수행한 후 VM2에 IP 패킷을 전송한다.
도 7b에 도시된 가상 머신 간의 통신을 구현하는 방법의 실시예를 참조하며, 애플리케이션 시나리오는 도 7a에 도시된 실시예의 그것과 유사하다. 이하에 상호작용 프로세스를 자세하게 설명한다.
(1) 내지 (4)는 도 7a에 도시된 실시예에서의 (1) 내지 (4)와 유사하므로, 자세하게 다시 설명하지 않는다.
(5) VM1이 제1 교환기에 IP 패킷을 전송하며, IP 패킷의 목적지 MAC(DestMAC)은 MAC1이고, IP 패킷의 목적지 IP(DestIP)는 VM2의 IP 주소: 192.168.2.2이고, IP 패킷의 소스 MAC은 VM1의 MAC이고(MAC-VM1로 표시됨), IP 패킷의 소스 IP는 VM1의 IP 주소: 192.168.1.2이다.
(6) 제1 교환기가 현재의 데이터 센터의 SDN 제어기에 요청을 전송하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청한다.
(7.1) SDN 제어기가 로컬로 저장된 흐름표를 조회하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하며; SDN 제어기가 제1 교환기로부터 수신된 IP 패킷에 대해 VxLAN 캡슐화를 수행하고 그 IP 패킷을 제1 교환기에 전송하며, 여기서 VxLAN 캡슐화가 수행된 IP 패킷의 소스 IP는 제1 교환기의 IP 주소, 즉 10.10.10.2이고, VxLAN 캡슐화가 수행된 IP 패킷의 목적지 IP는 획득된 VTEP 정보 (10.10.10.5)이고, VNI은 11111이다.
SDN 제어기가 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 제1 교환기와 동일한 데이터 센터에 위치하는 라우터의 VTEP 정보가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용된다.
본 실시예에서, 두 개의 VTEP 정보, 즉 VTEP5(IP가 10.10.10.5임) 및 VTEP6(IP가 11.11.11.6임)가 MAC1에 따라 획득되고, 제1 교환기와 동일한 데이터 센터에 위치한 VTEP5가 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP로서 선택된다.
도 1b에 도시된 복수의 라우터의 방안에 도시된 바와 같이, 제1 데이터 센터에, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보가 둘 이상 존재하는 경우, SDN 제어기는, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 VM4에 적합한 VTEP을 선택하고, 제1 교환기에 그 선택된 적합한 VTEP의 IP 주소를 전송한다. 라우터의 부하는 라우터의 트래픽 및 라우터의 CPU 부하를 포함하지만 이에 한정되는 것은 아니며; 스케줄링 정책은 RondRobin, 최소 부하 우선, 및 최대 부하 우선을 포함하지만 이에 한정되는 것은 아니다.
(7.2) 다른 측면에서, SDN 제어기는 제1 교환기에 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 흐름표의 형태로 전송한다. 그 뒤에 IP 패킷을 수신한 경우, 제1 교환기는, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보에 따라, 더 이상 SDN 제어기에 흐름표를 요청하지 않고, VTEP 정보에 대응하는 라우터에 그 뒤에 수신된 캡슐화가 수행된 IP 패킷을 직접 전달할 수 있다.
(8) 제1 교환기가, SDN 제어기로부터, VxLAN 캡슐화가 수행된 IP 패킷을 수신하고, VxLAN 캡슐화가 수행된 IP 패킷 내의 VTEP 정보에 따라, VTEP 정보에 대응하는 라우터에 VxLAN 캡슐화가 수행된 IP 패킷을 직접 전달한다.
유의해야 할 것은 단계 (7.2) 및 단계 (8)의 수행 순서는 제한되지 않는다는 것이다.
(9) 및 (10)은 도 7a에 도시된 실시예에서의 (9) 및 (10)과 유사하므로, 자세하게 다시 설명하지 않는다.
전술한 프로세스들 중 어느 하나에 의해, 동일한 데이터 센터와 서브네트들에 걸친 통신이 구현되고, SDN 제어기는 VM에 의해 전송되는 브로드캐스트 ARP 요청에 응답하는 프록시 역할을 할 수 있어, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킨다. 또, VM 간의 통신을 하는 동안에,
패킷이 데이터 센터 1의 라우터와 데이터 센터 2의 라우터 모두를 통과할 수 있는 종래기술과 달리, 패킷은 데이터 센터 1의 라우터만을 통과하여, 데이터 센터 간의 패킷의 우회 라우팅을 완화한다. 복수의 라우터의 방안에 대해, 라우터들 사이에서 융통성 있는 스케일링을 구현할 수도 있다.
동일한 데이터 센터와 동일한 서브네트 내의 통신에서는 라우터를 통과할 것을 요구하지 않는다. VM2와 VM3 사이의 통신을 예로 사용하면, VM2는 제2 교환기에 패킷을 전송하고, 그 후 제2 교환기가 그 패킷을 VM3에 전송한다.
[본 발명의 실시예에서의 장치]
도 8에 도시된 바와 같이, 본 발명의 실시예는 적어도 가상 머신 간의 통신을 구현하는 제1 교환기를 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 제1 교환기로서, 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하며, 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하며, 제1 교환기는 제2 교환기와 동일하거나 상이할 수 있다. 상기 제1 교환기는 다음 구성요소:
제1 가상 머신으로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈(801);
제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기에 ARP 요청을 전달하도록 구성된 전송 모듈(803); 및
목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소에 따라, 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하도록 구성된 획득 모듈(802) - VTEP 정보에 대응하는 라우터는 제1 데이터 센터에 위치함 -을 포함하고,
수신 모듈(801)은 SDN 제어기로부터 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 수신하도록 더 구성되고,
전송 모듈(803)은, VTEP 정보에 대응하는 라우터가 라우터와 제2 교환기 사이의 터널을 통해 제2 가상 머신에 IP 패킷을 전송할 수 있도록, VTEP 정보에 따라, VTEP 정보에 대응하는 라우터에 IP 패킷을 전송하도록 더 구성된다.
획득 모듈(802)이, 목적지 게이트웨이의 MAC 주소에 따라, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
획득 모듈(802)이 SDM 제어기에 요청을 전송하여 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하고, SDN 제어기에 의해 전송되는, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 수신하도록 구성되는 것이거나; 또는
획득 모듈(802)이, 목적지 게이트웨이의 MAC 주소에 따라, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로,
획득 모듈이, 목적지 게이트웨이의 MAC 주소에 따라, 제1 교환기에 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하하고, 둘 이상의 VTEP 정보가 획득되는 경우, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 제1 데이터 센터에 위치한 라우터의 VTEP 정보를 사용하도록 구성된다.
도 9에 도시된 바와 같이, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제공하며, 상기 SDN 제어기는 제1 데이터 센터에 위치하고, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되며, 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하고, 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하며, 제1 교환기는 제2 교환기와 동일하거나 상이할 수 있다. 상기 SDN 제어기는 다음 구성요소:
제1 교환기로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈(901);
목적지 게이트웨이의 IP 주소에 따라, 목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소를 획득하도록 구성된 처리 모듈(902); 및
제1 교환기가 목적지 게이트웨이의 MAC 주소에 따라, 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 제1 교환기에 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 전송하도록 구성된 전송 모듈(903) - VTEP 정보에 대응하는 라우터가 라우터와 제2 교환기 사이의 터널을 통해 제2 가상 머신에 IP 패킷을 전송할 수 있도록, VTEP 정보에 대응하는 라우터는 제1 데이터 센터에 위치함 -를 포함한다.
수신 모듈(901)은, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 제1 교환기에 의해 전송되는 요청을 수신하도록 더E다.
처리 모듈(902)은, 목적지 게이트웨이의 MAC 주소에 따라, SDN 제어기에 의해 저장된 흐름표를 조회하여, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 제1 교환기에 회신하고; SDN 제어기에 의해 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 제1 데이터 센터에 위치한 라우터의 VTEP 정보를 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하도록 더 구성된다. 처리 모듈(902)이, 목적지 게이트웨이의 MAC 주소에 따라, SDN 제어기에 의해 저장된 흐름표를 조회하여 제1 데이터 센터에 위치한 라우터의 둘 이상의 VTEP 정보를 획득하는 경우, 처리 모듈(902)은, 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 선택한다.
제2 가상 머신이 제2 데이터 센터에 위치하면, 처리 모듈(902)은, 제2 데이터 센터의 SDN 제어기로부터 제2 가상 머신 IP 주소 및 MAC 주소, 제2 서브네트의 VNI, 및 제2 교환기의 VTEP 정보를 획득하도록 더 구성된다.
본 발명의 실시예에 따라 도 8에 제공된 교환기 및 도 9에 제공된 SDN 제어기는 도 2, 도 3, 도 4a 및 도 4b에서의 구성 프로세스를 실행하는 데 사용될 수 있고, 도 5a, 도 5b, 도 7a 및 도 7b에 도시된 방법을 실행하는 데 사용될 수 있다. 구체적인 프로세스에 대해서는, 시스템 실시예들 및 방법 실시예들의 설명을 참조할 수 있으므로, 자세하게 다시 설명하지 않는다.
본 발명의 실시예에 따른 도 8에 제공된 교환기 및 도 9에 제공된 SDN 제어기는 서브네트들에 걸친 통신을 구현할 수 있고, SDN 제어기는 VM에 의해 전송된 브로드캐스트 ARP 요청에 대해 응답을 하는 프록시 역할을 할 수 있어, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킨다. 또, VM 간의 통신 중에, 데이터 센터 1의 라우터와 데이터 센터 2의 라우터 모두를 통과하는 대신에, 패킷은 데이터 센터 1의 라우터만을 통과하므로, 데이터 센터들 사이의 패킷의 우회 라우팅을 완화한다.
도 10에 도시된 바와 같이, 본 발명의 실시예는 본 발명의 실시예는, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 제1 교환기를 제공하며, 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 제1 가상 머신과 제2 가상 머신은 동일 서브네트에 위치하고, 제1 교환기는 제2 교환기와 동일하거나 상이할 수 있다. 상기 제1 교환기는 다음 구성요소:
제1 가상 머신으로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈(1001);
목적지 가상 머신의 IP 주소에 따라 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하고, 목적지 가상 머신의 MAC 주소에 따라, 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하도록 구성된 처리 모듈(1002) - VTEP 정보는 제2 교환기의 IP 주소임 -; 및
제1 교환기와 제2 교환기 사이의 터널을 통해 제2 가상 머신에 IP 패킷을 전송하도록 구성된 전송 모듈(1003)을 포함한다.
처리 모듈(1002)이 목적지 가상 머신의 IP 주소에 따라 목적지 가상 머신의 MAC 주소를 획득하도록 구성되는 것은 구체적으로, 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기에 목적지 가상 머신의 IP 주소를 싣고 있는 ARP 요청을 전달하고; SDN 제어기로부터 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 수신하는 것이다.
처리 모듈(1002)이, 목적지 가상 머신의 MAC 주소에 따라, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것은 구체적으로, 처리 모듈(1002)이, SDN 제어기에 요청을 전송하여 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하고, SDN 제어기에 의해 전송되는, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 수신하도록 구성되는 것이나; 또는
처리 모듈(1002)이, 목적지 가상 머신의 MAC 주소에 따라, 제1 교환기에 의해 저장된 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 구성되는 것이다.
처리 모듈(1002)은, 제1 데이터 센터의 SDN 제어기로부터, 제2 가상 머신의 IP 주소와 MAC 주소, 및 제2 교환기의 VTEP 정보를 획득하도록 더 구성된다.
도 11에 도시된 바와 같이, 본 발명의 실시예는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기를 제공하며, 상기 SDN 제어기는 제1 데이터 센터에 위치하고, 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되며, 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하고, 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 제1 가상 머신과 제2 가상 머신은 동일 서브네트에 위치하고, 제1 교환기는 제2 교환기와 동일하거나 상이한 교환기이다. 상기 SDN 제어기는 다음 구성요소:
제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하도록 구성된 수신 모듈(1101);
목적지 가상 머신의 IP 주소에 따라 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하도록 구성된 획득 모듈(1102); 및
제1 교환기가 목적지 가상 머신의 MAC 주소에 따라 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득할 수 있도록, 제1 교환기에 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 전송하도록 구성된 전송 모듈(1103) - 제1 교환기가 제1 교환기와 제2 교환기 사이의 터널을 통해 제2 가상 머신에 IP 패킷을 전송할 수 있도록, VTEP 정보는 제2 교환기의 IP 주소임 -을 포함한다.
수신 모듈(1101)은, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 제1 교환기에 의해 전송되는 요청을 수신하도록 더 구성되고; 획득 모듈(1102)은, 목적지 가상 머신의 MAC 주소에 따라, SDN 제어기에 의해 저장된 흐름표를 조회하여, 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 제1 교환기에 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 회신하도록 더 구성된다.
획득 모듈(1102)은 제2 데이터 센터의 SDN 제어기로부터 제2 가상 머신의 IP 주소와 MAC 주소, 및 제2 교환기의 VTEP 정보를 획득하도록 더 구성되고; 전송 모듈(1103)은 제1 교환기에 제2 가상 머신의 IP 주소와 MAC 주소, 및 제2 교환기의 VTEP 정보를 전송하도록 더 구성된다.
본 발명의 실시예에 따라 도 10에서 제공된 교환기 및 도 11에서 제공된 SDN 제어기는 도 2, 도 2, 도 4a 및 도 4b에서의 구성 프로세스를 실행하는 데 사용될 수 있고, 도 6a 및 도 6b에 도시된 방법을 실행하는 데 사용된다. 구체적인 프로세스에 대해서는, 시스템 실시예 및 방법 실시예의 설명을 참조할 수 있으므로, 자세하게 다시 설명하지 않는다.
본 발명의 실시예에 따른 도 10에 제공된 교환기 및 도 11에 제공된 SDN 제어기는 데이터 센터들에 걸친, 동일한 서브네트 내의 통신을 구현할 수 있고, SDN 제어기는 VM에 의해 전송된 브로드캐스트 ARP 요청에 대해 응답을 하는 프록시 역할을 할 수 있어, 패킷 브로드캐스팅에 의해 점유되는 송신 대역폭을 감소시킨다. 또, VM 간의 통신 중에, 패킷은 데이터 센터 1의 라우터를 통과할 필요가 없고 데이터 센터 2의 라우터를 통과할 필요도 없어, 두 데이터 센터 사이의 패킷의 우회 라우팅을 완화한다.
도 12에는 본 발명의 실시예에 따른 가상 머신 간의 통신을 구현하는 다른 장치(1200)가 제공되며, 상기 장치는 다음 구성요소:
프로세서(101), 메모리(102), 및 시스템 버스(약칭하여 버스)(105)를 포함하고, 프로세서(101)와 메모리(102)는 시스템 버스(105)를 사용하여 연결되고 상호 간의 통신을 완성한다.
프로세서(101)는 본 발명의 실시예들을 구현하도록 구성된 싱글코어(single-core) 또는 멀티코어(multi-core) 중앙 처리 유닛, 특정 집적회로, 또는 하나 이상의 집적회로일 수 있다.
메모리(102)는 고속 RAM 메모리일 수 있거나, 비휘발성(non-volatile) 메모리, 예를 들어, 하나 이상의 하드 디스크 메모리일 수 있다.
컴퓨터가 동작할 때, 프로세서(101)은 컴퓨터로 판독 가능한 명령어(1021)를 동작시켜, 도 2 내지 도 7b에서의 프로세스 중 어느 하나를 실행할 수 있다.
본 발명의 실시예는 프로그램 코드를 저장하는 컴퓨터로 판독 가능한 저장 매체를 포함하는, 가상 머신 간의 통신을 구현하는 컴퓨터 프로그램 제품을 더 제공하며, 프로그램 코드에 포함된 명령어가 도 2 내지 도 7b에서의 프로세스 중 어느 하나를 실행하는 데 사용된다.
당업자는, 본 발명의 각 측면 또는 각 면의 가능한 구현 방식이 구체적으로 시스템, 방법, 또는 컴퓨터 프로그램 제품으로 구현될 수 있다는 것을 이해할 수 있을 것이다. 따라서, 본 발명의 각 측면 또는 각 측면의 가능한 구현 방식은, 여기서 "회로", "모듈", 또는 "시스템"이라고 하는, 하드웨어만의 실시예, 소프트웨어만의 실시예(펌웨어, 상주 소프트웨어 등을 포함), 또는 소프트웨어와 하드웨어의 조합을 가진 실시예의 형태로 사용할 수 있다. 또, 본 발명의 각 측면 또는 각 측면의 가능한 구현 방식은 컴퓨터 프로그램 제품의 형태를 취할 수 있고, 컴퓨터 프로그램 제품은 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 판독 가능한 코드를 가리킨다.
컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 저장 매체일 수 있다. 컴퓨터로 판독 가능한 매체는 임의 접근 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소거 및 프로그램 가능한 읽기 전용 메모리(erasable programmable read only memory(EPROM) 또는 플래시 메모리), 광섬유, 및 컴팩트 디스크 판독 전용 메모리(compact disc read only memory, CD-ROM)과 같은, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 기기, 또는 장치, 또는 이들의 적절한 조합을 포함하지만 이에 한정되는 것은 아니다.
컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램은, 프로세서가 흐름도 내의 각 단계 또는 단계들의 조합으로 특정되는 기능 및 동작을 수행할 수 있도록 하고; 장치는
블록도 내의 각 블록 또는 블록들의 조합으로 특정되는 기능 및 동작을 구현하도록 생성된다.
컴퓨터로 판독 가능한 프로그램 코드 전부가 사용자 컴퓨터에서 실행될 수 있거나, 또는 일부가 사용자 컴퓨터에서 독립형 소프트웨어 패키지로서 실행될 수 있거나, 또는 일부는 사용자의 컴퓨터에서 실행될 수 있는 한편 일부는 원격의 컴퓨터에서 실행될 수 있거나, 또는 모든 코드가 원격의 컴퓨터 또는 서버에서 실행될 수 있다. 또한, 유의해야 할 것은, 일부 대안적인 구현 방안에서, 흐름도 내의 각 단계 또는 블록도 내의 각 블록에 특정된 기능은 예시된 순서로 출현하지 않을 수 있다는 것이다. 예를 들어, 도면에서 관련 기능에 의존하는 두 개의 연속적인 단계들 또는 두 개의 블록은 실제 실질적으로 동시에 실행될 수 있거나, 또는 이들 블록은 때로는 반대 순서로 실행될 수도 있다.
당업자라면, 본 명세서에 개시된 실시예에서 설명한 예와 함께, 유닛 및 알고리즘 단계가 전자적 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합으로 구현될 수도 있음을 알 수 있을 것이다. 기능이 하드웨어 또는 소프트웨어로 구현되는지는 기술적 해결방안의 구체적인 애플리케이션 및 설계 제약 조건에 따라 달라진다. 당업자는 각각의 특정 애플리케이션에 대해 설명한 기능을 실현하기 위해 다른 방법을 사용할 수도 있지만, 본 발명의 범위를 넘어서는 것으로 간주되어서는 안된다.

Claims (40)

  1. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법으로서, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하며, 상기 가상 머신 간의 통신을 구현하는 방법은,
    상기 제1 교환기가 상기 제1 가상 머신으로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(Address Resolution Protocol, ARP) 요청을 수신하는 단계;
    상기 제1 교환기가 상기 제1 데이터 센터의 소프트웨어 정의 네트워크(software defined network, SDN) 제어기에 상기 ARP 요청을 전달하는 단계;
    상기 제1 교환기가 상기 SDN 제어기로부터 상기 목적지 게이트웨이의 미디어 액세스 제어(Media Access Control, MAC) 주소를 싣고 있는 ARP 응답을 수신하는 단계;
    상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(virtual extensible local area network tunnel end point, VTEP) 정보를 획득하는 단계 - 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -; 및
    상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 제1 교환기가, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송하는 단계
    를 포함하는 가상 머신 간의 통신을 구현하는 방법.
  2. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 제1 교환기가 상기 SDN 제어기에 요청을 전송하여 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하는 단계; 및
    상기 SDN 제어기에 의해 전송되는, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 수신하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  3. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 로컬로 저장된 흐름표(flow table)를 조회하여 상기 VTEP 정보를 획득하는 단계; 및
    둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치하는 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  4. 제1항에 있어서,
    상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 제1 교환기가, 상기 VTEP 정보에 따라, 상기 VTEP 정보에 대응하는 라우터에 상기 IP 패킷을 전송하는 단계는 구체적으로,
    상기 제1 교환기가, 상기 제1 가상 머신으로부터 수신된 IP 패킷에 대해 확장 가능한 가상 근거리 통신(virtual extensible local area network, VxLAN) 캡슐화(capsulation)를 수행하는 단계 - 상기 VxLAN 캡슐화의 목적지 IP 주소는 상기 획득된 VTEP 정보이고, 가상 네트워크 식별자(virtual network identifier, VNI)는 상기 제1 서브네트의 식별자이고, 상기 VxLAN 캡슐화의 목적지 MAC 주소는 상기 목적지 게이트웨이의 MAC 주소임 -;
    상기 VTEP 정보에 대응하는 라우터가, 상기 목적지 IP 주소를 상기 제2 교환기의 IP 주소로, 상기 VNI를 상기 제2 서브네트의 식별자로, 그리고 상기 목적지 MAC 주소를 상기 제2 가상 머신의 MAC 주소로 변경하고, 상기 제2 교환기에 VxLAN 캡슐화가 변경된 IP 패킷을 전송하는 단계; 및
    상기 제2 교환기가 상기 수신된, VxLAN 캡슐화가 변경된 IP 패킷에 대해 VxLAN 캡슐 해제(decapsulation)를 수행한 후, 상기 제2 가상 머신에 상기 IP 패킷을 전송하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  5. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법으로서, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 서브네트에 위치하고 제2 교환기와 통신하며, 상기 가상 머신 간의 통신을 구현하는 방법은,
    상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기가 상기 제1 교환기로부터 목적지 게이트웨이의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 및
    상기 제1 교환기가, 상기 목적지 게이트웨이의 MAC 주소에 따라, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 SDN 제어기가, 상기 목적지 게이트웨이의 IP 주소에 따라, 상기 목적지 게이트웨이의 미디어 액세스 제어(MAC) 주소를 획득하고, 상기 제1 교환기에 상기 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -
    를 포함하는 가상 머신 간의 통신을 구현하는 방법.
  6. 제5항에 있어서,
    상기 SDN 제어기가, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하는 단계; 및
    상기 SDN 제어기가, 상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 상기 제1 교환기에 회신하는 단계를 더 포함하는 가상 머신 간의 통신을 구현하는 방법.
  7. 제6항에 있어서,
    상기 조회하는 단계는,
    상기 SDN 제어기가 상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 둘 이상의 VTEP 정보를 획득하는 경우, 상기 제1 데이터 센터에 위치한 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 사용하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  8. 제7항에 있어서,
    상기 SDN 제어기가 상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여 상기 제1 데이터 센터에 위치한 라우터의 둘 이상의 VTEP 정보를 획득하는 경우, 상기 SDN 제어기는 라우터의 부하 및 스케줄링 정책 중 적어도 하나에 따라 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 선택하는, 가상 머신 간의 통신을 구현하는 방법.
  9. 제5항에 있어서,
    상기 제2 가상 머신이 제2 데이터 센터에 위치하면,
    상기 제1 데이터 센터의 SDN 제어기의 제어하에, 상기 VTEP 정보에 대응하는 라우터가 상기 라우터와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 상기 IP 패킷을 전송할 수 있도록, 상기 제1 데이터 센터의 SDN 제어기가 상기 제2 데이터 센터의 SDN 제어기로부터 상기 제2 가상 머신 IP 주소 및 MAC 주소, 상기 제2 서브네트의 가상 네트워크 식별자(VNI), 및 상기 제2 교환기의 VTEP 정보를 획득하는 단계를 더 포함하는 가상 머신 간의 통신을 구현하는 방법.
  10. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법으로서, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 가상 머신 간의 통신을 구현하는 방법은,
    상기 제1 교환기가 상기 제1 가상 머신으로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계;
    상기 제1 교환기가 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하는 단계;
    상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득하는 단계 - 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -; 및
    상기 제1 교환기가 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송하는 단계
    를 포함하는 가상 머신 간의 통신을 구현하는 방법.
  11. 제10항에 있어서,
    상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로,
    상기 제1 교환기가 SDN(Software Defined Network) 제어기에 요청을 전송하여 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하는 단계; 및
    상기 SDN 제어기에 의해 전송되는, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 수신하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  12. 제10항에 있어서,
    상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계는 구체적으로,
    상기 제1 교환기가, 상기 목적지 가상 머신의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계를 포함하는, 가상 머신 간의 통신을 구현하는 방법.
  13. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 방법으로서, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일 서브네트에 위치하고, 상기 가상 머신 간의 통신을 구현하는 방법은,
    상기 제1 데이터 센터의 소프트웨어 정의 네트워크(SDN) 제어기가, 상기 제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 및
    상기 제1 교환기가, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신망 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 SDN 제어기가, 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 제1 교환기가 상기 제1 교환기와 상기 제2 교환기 사이의 터널을 통해 상기 제2 가상 머신에 IP 패킷을 전송할 수 있도록, 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -
    를 포함하는 가상 머신 간의 통신을 구현하는 방법.
  14. 제13항에 있어서,
    상기 SDN 제어기가, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하는 단계; 및
    상기 SDN 제어기가, 상기 목적지 가상 머신의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하여, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 회신하는 단계를 더 포함하는 가상 머신 간의 통신을 구현하는 방법.
  15. 제13항에 있어서,
    상기 제1 데이터 센터의 SDN 제어기가, 상기 제2 데이터 센터의 SDN 제어기로부터 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 제2 가상 머신의 IP 주소와 MAC 주소, 및 상기 제2 교환기의 VTEP 정보를 전송하는 단계를 더 포함하는 가상 머신 간의 통신을 구현하는 방법.
  16. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기로서, 상기 제1 가상 머신은 제1 데이터 센터의 제1 서브네트에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터의 제2 서브네트에 위치하고 제2 교환기와 통신하며, 상기 SDN 제어기는,
    프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호 간의 통신을 완성하며;
    상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
    상기 프로세서는, 상기 컴퓨터로 실행 가능한 명령어를 동작시켜, 상기 제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하는 단계; 및 상기 제1 교환기가 목적지 게이트웨이의 MAC 주소에 따라 상기 목적지 게이트웨이의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 제1 교환기에 상기 목적지 게이트웨이의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 VTEP 정보에 대응하는 라우터는 상기 제1 데이터 센터에 위치함 -를 실행하도록 구성되는,
    SDN 제어기.
  17. 제16항에 있어서,
    상기 프로세서는, 상기 컴퓨터로 실행 가능한 명령어를 동작시켜,
    상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하는 단계; 및
    상기 목적지 게이트웨이의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하고, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 회신하는 단계를 실행하도록 더 구성되는, SDN 제어기.
  18. 제17항에 있어서,
    상기 프로세서가 상기 컴퓨터로 실행 가능한 명령어를 동작시켜, 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보를 획득하는 단계를 실행하도록 구성되는 것은,
    둘 이상의 VTEP 정보를 취득하고, 상기 둘 이상의 VTEP 정보에서 상기 제1 데이터 센터에 위치하는 라우터의 VTEP 정보를 상기 목적지 게이트웨이의 MAC 주소에 대응하는 VTEP 정보로서 선택하는 것을 포함하는, SDN 제어기.
  19. 적어도 제1 가상 머신 및 제2 가상 머신을 포함하는 시스템에 적용되는 가상 머신 간의 통신을 구현하는 소프트웨어 정의 네트워크(SDN) 제어기로서, 상기 제1 가상 머신은 제1 데이터 센터에 위치하고 제1 교환기와 통신하며, 상기 제2 가상 머신은 제2 데이터 센터에 위치하고 제2 교환기와 통신하며, 상기 제1 가상 머신과 상기 제2 가상 머신은 동일한 서브네트에 위치하고, 상기 SDN 제어기는,
    프로세서, 메모리, 및 시스템 버스를 포함하고, 상기 프로세서와 상기 메모리는 상기 시스템 버스를 사용하여 연결되고 상호간의 통신을 완성하며;
    상기 메모리는 컴퓨터로 실행 가능한 명령어를 저장하도록 구성되고;
    상기 프로세서는, 상기 컴퓨터로 실행 가능한 명령어를 동작시켜, 상기 제1 교환기로부터 목적지 가상 머신의 IP 주소를 싣고 있는 주소 결정 프로토콜(ARP) 요청을 수신하는 단계; 상기 목적지 가상 머신의 IP 주소에 따라 상기 목적지 가상 머신의 미디어 액세스 제어(MAC) 주소를 획득하는 단계; 및 상기 제1 교환기가, 상기 목적지 가상 머신의 MAC 주소에 따라, 상기 목적지 가상 머신의 MAC 주소에 대응하는 확장 가능한 가상 근거리 통신 터널 종점(VTEP) 정보를 획득할 수 있도록, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소를 싣고 있는 ARP 응답을 전송하는 단계 - 상기 VTEP 정보는 상기 제2 교환기의 IP 주소임 -를 실행하도록 구성되는,
    SDN 제어기.
  20. 제19항에 있어서,
    상기 프로세서는, 상기 컴퓨터로 실행 가능한 명령어를 동작시켜,
    상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하도록 요청하기 위해 상기 제1 교환기에 의해 전송되는 요청을 수신하는 단계; 및
    상기 목적지 가상 머신의 MAC 주소에 따라 로컬로 저장된 흐름표를 조회하고, 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 획득하고, 상기 제1 교환기에 상기 목적지 가상 머신의 MAC 주소에 대응하는 VTEP 정보를 회신하는 단계를 실행하도록 더 구성되는, SDN 제어기.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020167000575A 2013-12-31 2014-06-16 가상 머신 간의 통신을 구현하는 방법 및 장치 KR101712901B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2013/091202 2013-12-31
PCT/CN2013/091202 WO2015100656A1 (zh) 2013-12-31 2013-12-31 一种实现虚拟机通信的方法和装置
PCT/CN2014/079949 WO2015100953A1 (zh) 2013-12-31 2014-06-16 一种实现虚拟机通信的方法和装置

Publications (2)

Publication Number Publication Date
KR20160018775A KR20160018775A (ko) 2016-02-17
KR101712901B1 true KR101712901B1 (ko) 2017-03-07

Family

ID=53492997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000575A KR101712901B1 (ko) 2013-12-31 2014-06-16 가상 머신 간의 통신을 구현하는 방법 및 장치

Country Status (8)

Country Link
US (3) US9325615B2 (ko)
EP (2) EP3376712B1 (ko)
JP (1) JP6068685B2 (ko)
KR (1) KR101712901B1 (ko)
CN (3) CN110427334A (ko)
AU (1) AU2014366588B2 (ko)
CA (1) CA2895001C (ko)
WO (2) WO2015100656A1 (ko)

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
WO2015100656A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9509603B2 (en) * 2014-03-31 2016-11-29 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
US9755858B2 (en) 2014-04-15 2017-09-05 Cisco Technology, Inc. Programmable infrastructure gateway for enabling hybrid cloud services in a network environment
US9473365B2 (en) 2014-05-08 2016-10-18 Cisco Technology, Inc. Collaborative inter-service scheduling of logical resources in cloud platforms
US10205648B1 (en) * 2014-05-30 2019-02-12 EMC IP Holding Company LLC Network monitoring using traffic mirroring and encapsulated tunnel in virtualized information processing system
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
CN105262685B (zh) * 2014-07-14 2018-10-09 新华三技术有限公司 一种报文处理方法和装置
CN105471744B (zh) * 2014-09-19 2018-10-09 新华三技术有限公司 一种虚拟机迁移方法和装置
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
CN104283980B (zh) * 2014-10-09 2018-02-09 新华三技术有限公司 一种地址解析协议代答方法和装置
CN104320267B (zh) * 2014-10-29 2017-11-17 武汉绿色网络信息服务有限责任公司 基于SDN框架实现VxLAN的ARP广播抑制系统及方法
CN104407911B (zh) * 2014-10-31 2018-03-20 新华三技术有限公司 虚拟机迁移方法及装置
CN105656796B (zh) * 2014-11-25 2019-01-22 新华三技术有限公司 实现虚拟扩展局域网三层转发的方法和装置
CN104486103B (zh) * 2014-12-03 2018-03-16 新华三技术有限公司 一种报文传输的方法和设备
CN104468384B (zh) * 2014-12-22 2018-01-30 武汉绿色网络信息服务有限责任公司 一种实现多业务优先级的系统及方法
CN104580168B (zh) * 2014-12-22 2019-02-26 华为技术有限公司 一种攻击数据包的处理方法、装置及系统
US10439908B2 (en) 2014-12-23 2019-10-08 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic
CN105812260B (zh) * 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
CN105812269B (zh) * 2014-12-31 2019-04-23 华为技术有限公司 Sdn中创建端口组的方法、sdn控制器及网络系统
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US10037617B2 (en) 2015-02-27 2018-07-31 Cisco Technology, Inc. Enhanced user interface systems including dynamic context selection for cloud-based networks
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
CN106210157B (zh) * 2015-04-30 2019-07-23 中国电信股份有限公司 抑制地址解析协议消息的方法与系统、控制器
TWI543566B (zh) * 2015-05-12 2016-07-21 財團法人工業技術研究院 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器
US9716688B1 (en) * 2015-05-13 2017-07-25 Parallels International Gmbh VPN for containers and virtual machines in local area networks
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10554620B2 (en) * 2015-05-29 2020-02-04 Cisco Technology, Inc. Default gateway extension
CN104869058B (zh) * 2015-06-04 2018-10-19 北京京东尚科信息技术有限公司 一种数据报文转发方法和装置
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
TWI580227B (zh) * 2015-06-17 2017-04-21 財團法人工業技術研究院 路由閘道器選擇方法、控制器及交通網路系統
CN106330649B (zh) 2015-06-18 2019-08-02 新华三技术有限公司 一种跨软件定义网络的数据报文转发方法和装置
CN106302175A (zh) * 2015-06-29 2017-01-04 联想(北京)有限公司 一种sdn中的数据包发送方法及设备
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
CN106375231B (zh) * 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
CN108028801B (zh) * 2015-07-27 2021-02-23 华为技术有限公司 一种基于sdn的arp实现方法及装置
CN105591907B (zh) * 2015-07-28 2018-11-09 新华三技术有限公司 一种路由获取方法和装置
CN107925623A (zh) * 2015-08-04 2018-04-17 诺基亚技术有限公司 覆盖网络的互连
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
CN106712988B (zh) 2015-08-25 2019-11-12 新华三技术有限公司 一种虚拟网络管理方法及装置
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US9781037B2 (en) * 2015-09-15 2017-10-03 Cisco Technology, Inc. Method and apparatus for advanced statistics collection
CN106549780B (zh) * 2015-09-18 2020-05-08 华为技术有限公司 一种网络配置方法、装置及系统
CN105162704B (zh) * 2015-09-28 2019-01-25 杭州数梦工场科技有限公司 Overlay网络中组播复制的方法及装置
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10067780B2 (en) 2015-10-06 2018-09-04 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
KR101710385B1 (ko) * 2015-10-12 2017-02-27 아토리서치(주) Arp 패킷을 관리하는 방법, 장치 및 컴퓨터 프로그램
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
CN105591872B (zh) * 2015-10-23 2019-04-05 新华三技术有限公司 一种实现多数据中心互联的方法和装置
US10079798B2 (en) 2015-10-23 2018-09-18 Inernational Business Machines Corporation Domain intercommunication in shared computing environments
CN106612224B (zh) * 2015-10-26 2019-11-01 新华三技术有限公司 应用于vxlan的报文转发方法和装置
CN106612266B (zh) * 2015-10-27 2020-05-08 阿里巴巴集团控股有限公司 网络转发方法及设备
CN105591955B (zh) * 2015-10-30 2019-07-09 新华三技术有限公司 一种报文传输的方法和装置
WO2017071780A1 (en) * 2015-10-30 2017-05-04 Huawei Technologies Co., Ltd. Methods and systems of mapping virtual machine communication paths
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10212122B2 (en) 2015-11-24 2019-02-19 Red Hat Israel, Ltd Fan network management
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
KR101786620B1 (ko) * 2015-12-24 2017-11-15 아토리서치(주) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
KR101786616B1 (ko) * 2015-12-24 2017-10-17 아토리서치(주) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
US10484285B2 (en) * 2015-12-30 2019-11-19 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System, method and article of manufacture for using control plane for critical data communications in software-defined networks
CN107113241B (zh) * 2015-12-31 2020-09-04 华为技术有限公司 路由确定方法、网络配置方法以及相关装置
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
CN113162857B (zh) * 2016-01-18 2023-01-13 华为技术有限公司 按需获取路由的方法及网关
US10397108B2 (en) * 2016-01-25 2019-08-27 Futurewei Technologies, Inc. Service function chaining across multiple subnetworks
CN107181681B (zh) * 2016-03-10 2022-02-25 中兴通讯股份有限公司 Sdn二层转发方法及系统
US10243916B2 (en) * 2016-04-07 2019-03-26 Cisco Technology, Inc. Control plane based technique for handling multi-destination traffic in overlay networks
CN107276783B (zh) * 2016-04-08 2022-05-20 中兴通讯股份有限公司 一种实现虚拟机统一管理及互通的方法、装置和系统
CN107317832B (zh) * 2016-04-27 2020-01-03 新华三技术有限公司 报文转发方法及装置
CN107342925B (zh) * 2016-04-29 2020-03-06 新华三技术有限公司 一种报文传输方法及装置
US10581793B1 (en) * 2016-04-29 2020-03-03 Arista Networks, Inc. Address resolution in virtual extensible networks
CN107332772B (zh) * 2016-04-29 2020-02-14 华为技术有限公司 转发表项建立方法和装置
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
CN107453971B (zh) * 2016-05-30 2020-11-24 北京京东尚科信息技术有限公司 通信方法、通信系统、计算机系统及计算机可读存储介质
CN107453992A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 一种虚拟网络内的数据转发方法及系统
CN106101008B (zh) * 2016-05-31 2019-08-06 新华三技术有限公司 一种报文的传输方法和装置
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
KR102554413B1 (ko) * 2016-06-23 2023-07-11 네이버클라우드 주식회사 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
CN107566262A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 虚拟可扩展局域网vxlan中报文转发方法及装置
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
CN106302076B (zh) * 2016-07-22 2020-03-06 浪潮(北京)电子信息产业有限公司 建立vxlan隧道的方法、系统及sdn控制器
US10142346B2 (en) 2016-07-28 2018-11-27 Cisco Technology, Inc. Extension of a private cloud end-point group to a public cloud
CN107666428B (zh) * 2016-07-28 2020-03-06 新华三技术有限公司 静默设备探测方法以及装置
CN112217747A (zh) 2016-08-03 2021-01-12 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
EP3340064B1 (en) * 2016-08-03 2020-12-02 Huawei Technologies Co., Ltd. Network interface card, computer device and data packet processing method
CN106230740A (zh) * 2016-08-23 2016-12-14 杭州华三通信技术有限公司 一种vxlan中的报文转发方法及装置
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
CN107800625B (zh) * 2016-08-30 2020-07-07 新华三技术有限公司 一种报文转发方法及装置
CN107783815B (zh) * 2016-08-30 2020-12-01 华为技术有限公司 一种确定虚拟机迁移的方法和装置
US10454758B2 (en) * 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
CN107846342B (zh) * 2016-09-20 2020-11-06 华为技术有限公司 一种vxlan报文的转发方法、设备及系统
CN106656719B (zh) 2016-09-26 2020-07-07 华为技术有限公司 云间通信方法及相关设备、云间通信配置方法及相关设备
KR101878758B1 (ko) * 2016-09-30 2018-08-17 아토리서치(주) 네트워크 기능 가상화에서 가상 네트워크를 설정하는 방법, 장치 및 컴퓨터 프로그램
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
CN108011800B (zh) * 2016-10-31 2020-12-08 中国电信股份有限公司 虚拟可扩展局域网vxlan部署方法及vxlan网关
CN112217746B (zh) * 2016-11-09 2024-06-18 华为技术有限公司 云计算系统中报文处理的方法、主机和系统
CN106789667B (zh) * 2016-11-21 2021-01-01 华为技术有限公司 一种数据转发方法、相关设备及系统
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
CN106533890B (zh) * 2016-12-30 2019-12-24 华为技术有限公司 一种报文处理方法、装置及系统
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10389542B2 (en) 2017-01-26 2019-08-20 International Business Machines Corporation Multicast helper to link virtual extensible LANs
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
CN108512737B (zh) * 2017-02-27 2021-08-03 中兴通讯股份有限公司 一种数据中心ip层互联的方法和sdn控制器
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
CN110419199B (zh) * 2017-03-08 2020-12-15 华为技术有限公司 使用主动式最短路径的sdn中的扁平化l3路由
CN108574635B (zh) * 2017-03-09 2021-06-22 华为技术有限公司 一种路由优先级配置方法、设备以及控制器
CN106878168B (zh) * 2017-03-20 2021-03-19 新华三技术有限公司 一种报文转发方法及装置
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
CN108880968B (zh) * 2017-05-11 2021-12-07 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法及装置、存储介质
CN108964949A (zh) * 2017-05-19 2018-12-07 中兴通讯股份有限公司 虚拟机迁移方法、sdn控制器及计算机可读存储介质
CN107547242B (zh) * 2017-05-24 2019-11-12 新华三技术有限公司 Vm配置信息的获取方法及装置
CN108989068B (zh) * 2017-05-31 2019-08-20 华为技术有限公司 一种编排软件定义网络的方法及sdn控制器
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
CN107547325B (zh) * 2017-09-27 2020-07-07 新华三技术有限公司 报文转发方法及装置
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10353800B2 (en) 2017-10-18 2019-07-16 Cisco Technology, Inc. System and method for graph based monitoring and management of distributed systems
CN107800697B (zh) * 2017-10-26 2020-03-06 新华三技术有限公司 接入认证方法及装置
CN109729010B (zh) * 2017-10-27 2021-06-22 华为技术有限公司 一种网络中确定流量传输路径的方法、设备和系统
US10587507B2 (en) * 2017-11-09 2020-03-10 International Business Machines Corporation Routing between software defined networks and physical networks
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
CN108616450B (zh) * 2018-03-08 2020-11-06 烽火通信科技股份有限公司 一种基于sdn的ip网络实现约束路径转发的方法
CN110300060B (zh) * 2018-03-23 2022-06-07 北京京东尚科信息技术有限公司 用于软件定义网络的通信方法和装置
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
CN108768895B (zh) 2018-05-18 2021-02-23 华为技术有限公司 一种虚拟机迁移的方法及数据中心
CN108768817B (zh) * 2018-05-22 2020-07-28 腾讯科技(深圳)有限公司 一种虚拟化网络组网系统、数据包发送方法
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
EP3804241B1 (en) 2018-06-07 2022-03-09 Telefonaktiebolaget LM Ericsson (publ) Configuring a network path in an sdn
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
CN110620715B (zh) * 2018-06-20 2021-10-22 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
CN109245984B (zh) * 2018-07-13 2021-07-09 华为技术有限公司 一种报文传输方法、一种信息处理方法及其相关设备
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
CN111262771B (zh) * 2018-11-30 2021-06-22 北京金山云网络技术有限公司 虚拟私有云通信系统、系统配置方法及控制器
CN109587286B (zh) * 2018-12-27 2022-05-31 新华三技术有限公司 一种设备接入控制方法及装置
JP7048898B2 (ja) * 2019-03-11 2022-04-06 日本電信電話株式会社 システム、方法、及びプログラム
CN110011859B (zh) * 2019-04-15 2022-04-29 深信服科技股份有限公司 一种虚拟机控制方法及集群系统
CN112995007B (zh) * 2019-12-18 2022-04-15 中国移动通信集团陕西有限公司 云专线连接方法及系统
US11153261B2 (en) * 2020-01-22 2021-10-19 Cisco Technology, Inc. Routing traffic for virtualized/containerized network functions
US11329911B2 (en) * 2020-06-04 2022-05-10 Juniper Networks, Inc. Local repair for underlay failure using prefix independent convergence
US11870677B2 (en) 2020-06-04 2024-01-09 Juniper Networks, Inc. Liveness detection and route convergence in software-defined networking distributed system
US11729166B2 (en) * 2020-07-07 2023-08-15 Arista Networks, Inc. Authentication of passive devices
CN112994928B (zh) * 2021-02-04 2023-07-25 中国联合网络通信集团有限公司 一种虚拟机的管理方法、装置及系统
CN113590268B (zh) * 2021-08-06 2023-11-24 中国联合网络通信集团有限公司 虚拟机迁移方法、arp代理网关及vtep
CN113691436B (zh) * 2021-09-07 2023-04-18 中国联合网络通信集团有限公司 虚拟机迁移方法及虚拟机迁移装置
WO2023060025A1 (en) * 2021-10-04 2023-04-13 Juniper Networks, Inc. User interface for cloud native software-defined network architectures
CN114124813B (zh) * 2021-11-23 2023-08-25 浪潮云信息技术股份公司 一种openstack中基于流表的l3-agent实现方法
CN114338507B (zh) * 2021-12-23 2022-11-22 武汉绿色网络信息服务有限责任公司 一种实现改变云网关系统中流量转发路径的方法和装置
US20230246962A1 (en) * 2022-02-02 2023-08-03 Oracle International Corporation Configuring a network-link for establishing communication between different cloud environments
CN114172750B (zh) * 2022-02-14 2022-05-13 南京易科腾信息技术有限公司 基于加密机制的网络通信方法、装置及存储介质
CN115334036B (zh) * 2022-08-11 2023-07-07 安超云软件有限公司 智能控制源地址转换的方法和装置、电子设备和存储介质
CN115604167A (zh) * 2022-08-25 2023-01-13 紫光云技术有限公司(Cn) 一种公有云mac地址学习优化方法
CN116055398A (zh) * 2022-12-29 2023-05-02 天翼云科技有限公司 一种vxlan集群系统的转发方法和系统节点

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130223277A1 (en) 2012-02-28 2013-08-29 International Business Machines Corporation Disjoint multi-pathing for a data center network
US20130322443A1 (en) 2012-05-29 2013-12-05 Futurewei Technologies, Inc. SDN Facilitated Multicast in Data Center

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077423A1 (en) 2006-12-22 2008-07-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement relating to communications network services request activation
US8259726B2 (en) * 2009-05-28 2012-09-04 Force10 Networks, Inc. Method and apparatus for forwarding table reduction
US8532116B2 (en) * 2009-07-21 2013-09-10 Cisco Technology, Inc. Extended subnets
CN102457583B (zh) 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US20120099602A1 (en) * 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization
JP5757324B2 (ja) 2011-03-31 2015-07-29 日本電気株式会社 コンピュータシステム、及び通信方法
US9444651B2 (en) * 2011-08-17 2016-09-13 Nicira, Inc. Flow generation from second level controller to first level controller to managed switching element
US8923149B2 (en) * 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
CN103379010B (zh) * 2012-04-20 2018-09-21 中兴通讯股份有限公司 一种虚拟网络实现方法及系统
US10454760B2 (en) * 2012-05-23 2019-10-22 Avago Technologies International Sales Pte. Limited Layer-3 overlay gateways
CN102801715B (zh) * 2012-07-30 2015-03-11 华为技术有限公司 一种网络中虚拟机迁移的方法、网关及系统
CN102857416B (zh) * 2012-09-18 2016-09-28 中兴通讯股份有限公司 一种实现虚拟网络的方法、控制器和虚拟网络
US9325636B2 (en) * 2013-06-14 2016-04-26 Cisco Technology, Inc. Scaling interconnected IP fabric data centers
CN103647853B (zh) 2013-12-04 2018-07-03 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130223277A1 (en) 2012-02-28 2013-08-29 International Business Machines Corporation Disjoint multi-pathing for a data center network
US20130322443A1 (en) 2012-05-29 2013-12-05 Futurewei Technologies, Inc. SDN Facilitated Multicast in Data Center

Also Published As

Publication number Publication date
WO2015100953A1 (zh) 2015-07-09
EP3091696B1 (en) 2018-03-28
EP3376712B1 (en) 2019-11-13
CN104115453A (zh) 2014-10-22
AU2014366588B2 (en) 2016-05-12
WO2015100656A1 (zh) 2015-07-09
CN104115453B (zh) 2016-06-22
KR20160018775A (ko) 2016-02-17
CA2895001A1 (en) 2015-06-30
US10003571B2 (en) 2018-06-19
JP6068685B2 (ja) 2017-01-25
US9325615B2 (en) 2016-04-26
CN105791463B (zh) 2019-05-24
US20160212067A1 (en) 2016-07-21
EP3376712A1 (en) 2018-09-19
US20150281067A1 (en) 2015-10-01
EP3091696A4 (en) 2016-12-14
EP3091696A1 (en) 2016-11-09
AU2014366588A1 (en) 2015-07-16
US20170118171A1 (en) 2017-04-27
US9577958B2 (en) 2017-02-21
CN105791463A (zh) 2016-07-20
CN110427334A (zh) 2019-11-08
CA2895001C (en) 2017-05-16
JP2016509448A (ja) 2016-03-24

Similar Documents

Publication Publication Date Title
KR101712901B1 (ko) 가상 머신 간의 통신을 구현하는 방법 및 장치
US11546288B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
KR101478475B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
JP6581277B2 (ja) データパケット転送
WO2016034014A1 (zh) 一种基于虚拟机迁移的网关控制方法、装置及系统
US20140068045A1 (en) Network system and virtual node migration method
CN113872845B (zh) 建立vxlan隧道的方法及相关设备
EP4027593A1 (en) Tunnel configuration method, apparatus and system, and device and storage medium
TWI759571B (zh) 基於流表的資料傳送方法
EP3913870A1 (en) Packet forwarding method and network device
US11611508B2 (en) Packet forwarding method and network device
US12021826B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
CN114389992A (zh) 一种控制流量转发方法、设备及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 4