KR101621720B1 - Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch - Google Patents

Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch Download PDF

Info

Publication number
KR101621720B1
KR101621720B1 KR1020150014646A KR20150014646A KR101621720B1 KR 101621720 B1 KR101621720 B1 KR 101621720B1 KR 1020150014646 A KR1020150014646 A KR 1020150014646A KR 20150014646 A KR20150014646 A KR 20150014646A KR 101621720 B1 KR101621720 B1 KR 101621720B1
Authority
KR
South Korea
Prior art keywords
software
frame
software switch
header
network
Prior art date
Application number
KR1020150014646A
Other languages
Korean (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 아토리서치(주)
Priority to KR1020150014646A priority Critical patent/KR101621720B1/en
Application granted granted Critical
Publication of KR101621720B1 publication Critical patent/KR101621720B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

The present invention relates to a computer program which is stored in a medium in order to execute a process in which a server which implements a software switch inside a software defined data center (SDDC) environment transmits a frame to multiple points. The computer program executes the functions of: receiving, by a first software switch, a frame, whose destination is a plurality of virtual machines, from a first virtual machine; and, when all software switches connected to the respective destination virtual machines are included in the same L2 network as the first software switch, copying a frame immediately before which an MAC header including tenant ID information is added a number of times equal to the number of destination virtual machines.

Description

소프트웨어 정의 데이터 센터에서 멀티포인트 통신 서비스를 소프트웨어 스위치가 제공하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR PROVIDING MULTIPOINT COMMUNICATION SERVICE OF SOFTWARE DEFINED DATA CENTER BY SOFTWARE SWITCH}METHOD, APPARATUS AND COMPUTER PROGRAM FOR PROVIDING MULTIPOINT COMMUNICATION SERVICE OF SOFTWARE DEFINED DATA CENTER BY SOFTWARE SWITCH,

본 발명은 소프트웨어 정의 데이터 센터 (SDDC, Software Defined Data Center) 환경의 네트워크 가상화를 구현하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 SDDC 환경에서 데이터 전송을 위한 터널링(Tunneling)을 효율적으로 구성하고, 멀티포인트 통신 서비스를 제공하는 방법, 장치 및 컴퓨터 프로그램에 대한 것이다.The present invention relates to a method for implementing network virtualization in a software defined data center (SDDC) environment. More particularly, the present invention relates to a method, apparatus, and computer program for efficiently configuring tunneling for data transmission in an SDDC environment and providing a multi-point communication service.

최근 ‘소프트웨어 정의’ 기술은 데이터센터 구성 요소들 전반에 새로운 변화를 일으키고 있다. SDDC(Software Defined Data Center), 소프트웨어 정의 데이터센터는 데이터센터를 구성하는 서버, 스토리지, 네트워킹 등을 모두 가상화함으로써 하드웨어를 컴퓨팅 자원과 분리하여 데이터 센터를 구축하는 개념이다.Recently, 'software defined' technology is making new changes throughout the data center components. Software Defined Data Center (SDDC), a software-defined data center, is a concept that virtualizes servers, storage, and networking that make up a data center, thereby isolating hardware from computing resources and building a data center.

한편 소프트웨어 정의 네트워크 (SDN, Software Defined Network)는 SDDC에서 서버 가상화 실현에 문제가 되어 왔던 네트워크의 문제를 해결하고 구조적 유연성을 제공하고 있다. 소프트웨어 정의 네트워크 기술은 복잡한 컨트롤 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하여, 컨트롤 플레인의 복잡한 기능을 소프트웨어로 처리하고, 데이터 플레인은 네트워크 패킷의 전달, 무시, 변경 등 컨트롤 플레인이 지시하는 단순한 기능만을 수행하도록 한다. 이런 변화로, 복잡한 하드웨어의 제약 없이 소프트웨어로 새로운 네트워크 기능을 개발할 수 있으며, 동시에 이전 네트워크 구조에서 불가능했던 다양한 시도를 할 수 있게 되었다.Software Defined Network (SDN), on the other hand, solves network problems that have been a problem with server virtualization in SDDC and provides structural flexibility. Software-defined network technology separates the complexity of the control plane from the data plane, processing the complex functions of the control plane with software, and the data plane is the control plane So that only a simple function of the instruction is performed. With these changes, software can develop new network functions without complex hardware constraints, while at the same time making various attempts that were not possible with previous network architectures.

본 발명은 SDDC 환경에서 네트워크 가상화를 효율적으로 구현하는 것을 목적으로 한다. 특히 본 발명은 발명은 SDDC 가상 네트워크에서 터널링 및 멀티포인트 통신에 소모되는 네트워크 자원을 줄일 수 있는 방법을 제공하는 것을 목적으로 한다. The present invention aims at efficiently implementing network virtualization in an SDDC environment. In particular, it is an object of the present invention to provide a method for reducing network resources consumed in tunneling and multipoint communication in an SDDC virtual network.

본 발명의 실시예를 따르는 소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 소프트웨어 스위치를 구현하는 서버가 프레임을 멀티포인트 전송하는 방법은, 복수의 가상 머신을 도착지(Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 상기 제 1 가상 머신으로부터 수신하는 단계; 및 도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하는 단계를 포함하는 것을 특징으로 한다.A method for multipoint transmission of a frame by a server implementing a software switch in a Software Defined Data Center (SDDC) environment according to an embodiment of the present invention includes transmitting a frame having a plurality of virtual machines as a destination Receiving a first software switch from the first virtual machine; And all the software switches connected to each of the destination virtual machines are included in the same L2 network as the first software switch, the MAC header including the LAN ID information is added to the frame immediately before the frame to the number of the destination virtual machines And a step of copying.

나아가 본 발명의 실시예를 따르는 소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 소프트웨어 스위치를 구현하는 서버가 프레임을 멀티포인트 전송하는 처리를 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램은, 복수의 가상 머신을 도착지 (Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 상기 제 1 가상 머신으로부터 수신하는 기능; 및 도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하는 기능을 실행하는 것을 특징으로 한다. Further, a computer program stored on a medium for executing a process of multipoint transfer of a frame by a server implementing a software switch in a software defined data center (SDDC) environment according to an embodiment of the present invention includes a plurality of virtual A function of a first software switch receiving a frame from the first virtual machine with the machine as a destination; And all the software switches connected to each of the destination virtual machines are included in the same L2 network as the first software switch, the MAC header including the LAN ID information is added to the frame immediately before the frame to the number of the destination virtual machines And a copying function is executed.

한편 본 발명의 실시예를 따르는 소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 프레임을 브로드캐스팅하는 소프트웨어 스위치를 구현하는 서버는, 상기 소프트웨어 스위치에 대한 물리적 네트워크를 연결하는 통신부; 및 복수의 가상 머신을 도착지 (Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 상기 제 1 가상 머신으로부터 수신하도록 제어하고, 도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.Meanwhile, a server implementing a software switch for broadcasting a frame in a Software Defined Data Center (SDDC) environment according to an embodiment of the present invention includes: a communication unit for connecting a physical network to the software switch; And to control the first software switch to receive from the first virtual machine a frame with a plurality of virtual machines as a destination, and wherein all software switches connected to each of the destination virtual machines are connected to the same L2 network The control unit controls to copy the frame added immediately before the frame with the Mac header including the current ID information by the number of the destination virtual machines.

본 발명에 따르면, SDDC 환경에서 터널링을 위한 헤더의 사이즈가 72% 감소될 수 있고, MAC 헤더 만으로 소프트웨어 스위치에서 각 VM의 태넌트를 인식할 수 있어, 멀티포인트 프레임을 처리하기 위한 CPU 오버헤드와 네트워크 오버헤드를 획기적으로 줄일 수 있는 효과가 있다. According to the present invention, the size of the header for tunneling in the SDDC environment can be reduced by 72%, and the software switch can recognize the constituent of each VM with only the MAC header, so that the CPU overhead for processing the multipoint frame The network overhead can be drastically reduced.

나아가 본 발명을 따르면, 멀티포인트 통신의 수신 VM들이 모두 동일한 L2 네트워크에서 구동 중이라면, 소프트웨어 스위치에서 멀티캐스트 서비스 노드의 역할을 겸할 수 있어, 서비스 노드로의 추가적인 1 hop을 위한 네트워크 오버헤드를 줄일 수 있는 효과가 있다.Further, according to the present invention, if the receiving VMs of the multipoint communication are all running in the same L2 network, the software switch can also serve as a multicast service node, thereby reducing the network overhead for additional 1 hop to the service node There is an effect that can be.

도 1은 SDDC에서 소프트웨어 스위치 기반의 가상화 동작 방식을 설명하기 위한 도면
도 2는 터널링을 위한 표준 포멧으로 사용되는 VXLAN Packet Format을 설명하기 위한 도면
도 3은 본원발명의 L2P(L2 based light tunneling protocol) Packet Format 기반의 L2HM(L2 based Lightweight Hybrid Multicast) 프로토콜을 설명하기 위한 도면
도 4는 본원발명에 따라 프레임을 브로드캐스팅하는 예시를 설명하기 위한 도면
도 5는 본원발명과 종래기술의 차이를 설명하기 위한 도면
1 is a diagram for explaining a software switch-based virtualization operation method in SDDC
2 is a diagram for explaining a VXLAN packet format used as a standard format for tunneling;
FIG. 3 is a view for explaining the L2 based Lightweight Hybrid Multicast (L2HM) protocol based on the L2 based light tunneling protocol (L2P)
4 is a diagram for explaining an example of broadcasting a frame according to the present invention;
5 is a view for explaining a difference between the present invention and the prior art;

본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. It is to be understood that the present invention is not limited to the description of the embodiments described below, and that various modifications may be made without departing from the technical scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. In the drawings, the same components are denoted by the same reference numerals. And in the accompanying drawings, some of the elements may be exaggerated, omitted or schematically illustrated. It is intended to clearly illustrate the gist of the present invention by omitting unnecessary explanations not related to the gist of the present invention. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 SDDC에서 소프트웨어 스위치 기반의 가상화 동작 방식을 설명하기 위한 도면이다. 1 is a diagram for explaining a software switch-based virtualization operation method in SDDC.

일반적인 경우, SDDC에서 네트워크 가상화는 SDDC를 구현하는 물리적 서버 및 물리적 서버를 연결하기 위한 물리적인 네트워크 망은 문제삼지 않고, 물리적 서버에 설치된 소프트웨어 스위치를 기반으로 오버레이(overlay) 네트워크를 구성하는 것을 기본으로 한다. In general, network virtualization in SDDC is based on the configuration of an overlay network based on a software switch installed on a physical server, without concern for a physical network for connecting SDDC and a physical server for connecting the physical server do.

다수의 물리적인 서버들에 분산하여 SDDC를 구현하는 경우, 각 물리적 서버에는 복수의 가상 머신 (VM, Virtual Machine) 및 적어도 하나 이상의 소프트웨어 스위치가 설치될 수 있다. 소프트웨어 스위치는 설치된 서버 상에서 구동되는 VM들과 외부의 물리적 네트워크를 연결하는 가상 네트워크 허브 (Virtual Network Hub) 역할을 수행할 수 있다. When SDDC is distributed among a plurality of physical servers, a plurality of virtual machines (VMs) and at least one software switch may be installed in each physical server. The software switch can serve as a virtual network hub that connects the VMs running on the installed server with the external physical network.

SDDC를 구현하는 하나의 물리적 서버는 본원발명에 따르면 통신부와 제어부를 포함하여 구성할 수 있다. 도 1의 예에서, 통신부는 다른 서버와의 물리적인 네트워크를 연결하는 102이며, 제어부는 복수의 VM(103, 104) 모듈 및 VM들의 네트워크 허브 역할을 수행하는 소프트웨어 스위치(101) 모듈을 포함할 수 있다. One physical server implementing the SDDC may include a communication unit and a control unit according to the present invention. 1, the communication unit 102 connects a physical network with another server, and the control unit includes a software switch 101 module serving as a network hub of a plurality of VMs 103 and 104 and VMs .

상기 서버에서 패킷을 포워딩하는 절차는 아래와 같다. The procedure for forwarding packets at the server is as follows.

예를 들어, VM1 (103)이 VM2(104)로 임의의 패킷을 전송하는 경우, 103에서 발생한 트래픽은 VM1의 vNIC (virtual NIC)를 통하여 101로 전송된다. 101은 수신한 트래픽의 도착 MAC 주소 (L2 주소)를 확인하고, 이것이 같은 서버내의 vNIC 주소이기 때문에 별도의 캡슐화 없이 패킷을 바로 VM2 (104)로 포워딩한다. For example, when VM1 103 transmits an arbitrary packet to VM2 104, the traffic generated at 103 is transmitted to 101 via vNIC (virtual NIC) of VM1. 101 identifies the destination MAC address (L2 address) of the received traffic, and forwards the packet directly to the VM2 104 without additional encapsulation because it is the vNIC address in the same server.

그러나 VM1이 다른 서버의 VM으로 패킷을 전송하고자 하는 경우는, 패킷을 인캡슐레이션(encapsulation)하는 터널링 절차가 필요하며, 터널링을 통해 101은 도착 VM을 관리하는 소프트웨어 스위치에게 패킷을 바로 포워딩할 수 있다. 즉 터널링은 소프트웨어 스위치가 패킷을 캡슐화하는 것을 의미하며, 가상 네트워크 환경에서는 터널링을 통해 소스 소프트웨어 스위치는 토폴로지와는 무관하게 도착 소프트웨어 스위치에게 바로 패킷을 포워딩할 수 있다. However, if the VM 1 wishes to transmit a packet to a VM of another server, a tunneling procedure is required to encapsulate the packet. Through tunneling 101, the packet can be immediately forwarded to the software switch managing the incoming VM have. Tunneling means that a software switch encapsulates a packet. In a virtual network environment, tunneling allows the source software switch to forward the packet directly to the destination software switch regardless of the topology.

예를 들어 VM1이 다른 서버의 VM3으로 패킷을 전송하고자 하는 경우, 101은 VM3을 관리하는 소프트웨어 스위치에게 터널을 연결하여 해당 패킷을 포워딩할 수 있다. For example, when VM1 wants to transmit a packet to VM3 of another server, 101 can forward the packet by connecting a tunnel to a software switch that manages VM3.

위와 같은 터널링은 여러가지 프로토콜을 따를 수 있으나, VXLAN 프로토콜이 (사실상의) 표준으로서 범용적으로 통용되고 있다. Such tunneling can follow various protocols, but the VXLAN protocol is commonly used as a (de facto) standard.

VXLAN 프로토콜은 오리지널 네트워크 패킷을 UDP 프로토콜을 이용하여 캡슐화(encapsulation)하여 IP망 어디로든 터널링할 수 있도록 지원한다. 따라서 SDDC는 물리적인 서버의 물리적인 네트워크 구성에 종속되지 않고 필요에 따라 가상화된 네트워크를 자유롭게 구현할 수 있게 된다. The VXLAN protocol encapsulates the original network packets using the UDP protocol and supports tunneling to any IP network. Therefore, SDDC is not dependent on the physical network configuration of the physical server, but can freely implement the virtualized network as needed.

한편, VM1이 임의의 네트워크에 연결된 모든 VM에게 패킷을 전송하거나 임의의 그룹에 속하는 VM에게 패킷을 전송하고자 하는 경우를 고려할 수 있다. 즉, SDDC에서 임의의 VM이 브로드캐스트/ 멀티캐스트 통신을 시도하는 경우이다. Meanwhile, it may be considered that the VM 1 wants to transmit a packet to all VMs connected to an arbitrary network or to transmit a packet to a VM belonging to an arbitrary group. That is, it is a case that an arbitrary VM in SDDC tries to perform broadcast / multicast communication.

브로드캐스트/ 멀티캐스트 트래픽을 수신한 소프트웨어 스위치는 마찬가지로 패킷을 인캡슐레이션하는 터널링 절차를 거친다. 터널링을 통해 소프트웨어 스위치는 멀티캐스트 서비스 노드에 패킷을 전송하고, 멀티캐스트 서비스 노드도 터널링을 통해 캡슐화된 패킷을 도착 VM에 연결된 소프트웨어 스위치에게 브로드캐스팅할 수 있다. The software switch that received the broadcast / multicast traffic likewise goes through a tunneling process that encapsulates the packet. Through tunneling, the software switch can send the packet to the multicast service node, and the multicast service node can also broadcast the encapsulated packet through the tunneling to the software switch connected to the destination VM.

도 2는 터널링을 위한 표준 포멧으로 사용되는 VXLAN 패킷 포멧 (Packet Format)을 설명하기 위한 도면이다. 2 is a diagram illustrating a VXLAN packet format used as a standard format for tunneling.

도 2에서 VM의 오리지널 프레임은 201이며, 202 내지 205은 터널링을 위해 소프트웨어 스위치가 추가한 헤더이다. VXLAN 터널은 소프트웨어 스위치가 오리지널 프레임에 202 내지 205 헤더 정보를 추가하여 캡슐화한 패킷이라고 할 수 있다. In FIG. 2, the original frame of the VM is 201, and 202 to 205 are the headers to which a software switch is added for tunneling. The VXLAN tunnel can be said to be a packet encapsulated by the software switch adding 202 to 205 header information to the original frame.

VXLAN 패킷 포멧에서 202는 VXAN 헤더로서 8바이트가 할당되고, 203은 L4 정보를 위한 UDP 헤더로서 8바이트가 할당된다. 그리고 204는 L3 정보를 위한 IP 헤더로서 20 바이트가 할당되며, 205는 L2 정보를 위한 Mac 헤더로서 14바이트가 할당된다. 즉 VXLAN 터널을 위해 필요한 네트워크 헤더의 크기는 총 50 바이트이다. VXLAN 패킷 포멧에서 SDDC의 각각의 태넌트들에 대한 정보는 VXAN 헤더의 VNID 필드에 기록될 수 있다. In the VXLAN packet format, 202 is allocated 8 bytes as a VXAN header, and 203 is allocated as 8 bytes as a UDP header for L4 information. In addition, 20 bytes are assigned as an IP header 204 for L3 information, and 205 bytes are assigned 14 bytes as MAC header for L2 information. That is, the size of the network header required for the VXLAN tunnel is 50 bytes in total. Information about each of the SDDC's components in the VXLAN packet format can be recorded in the VNID field of the VXAN header.

그런데 일반적인 경우 오리지널 프레임 사이즈가 최대 1500바이트인 것을 고려하면 VXAN의 50 바이트는 헤더 사이즈로 매우 크다. 나아가 터널링의 경우의 수를 고려하지 않고, 모두 L2, L3, L4 헤더를 씌우는 것은 비효율적일 수 있다. 즉, VXLAN 패킷 포멧을 따르면 모든 터널링되는 패킷에 VXLAN 캡슐화를 위해 총 50바이트 헤더를 생성하고 처리해야 하는 오버헤드가 발생될 수 밖에 없다. However, considering that the original frame size is at most 1500 bytes in general, the 50 bytes of VXAN is very large as the header size. Furthermore, it may be inefficient to cover all L2, L3, and L4 headers without considering the number of tunneling cases. That is, according to the VXLAN packet format, there is an overhead to generate and process a total 50 byte header for VXLAN encapsulation in all tunneled packets.

보다 구체적으로, 종래의 VXLAN 패킷 포멧을 따르면 50 바이트 네트워크 헤더를 생성하기 위한 CPU 오버헤드 및 오리지널 프레임에서 50바이트가 추가된 프레임을 물리적인 네트워크 상에서 전송하기 위한 자원 소모의 문제가 발생된다. More specifically, according to the conventional VXLAN packet format, there arises a problem of resource consumption for transmitting a CPU overhead for generating a 50-byte network header and a frame added with 50 bytes in the original frame on the physical network.

따라서 본 발명은 위와 같은 문제, 즉 터널링을 위해 과도한 리소스가 투여되는 문제를 해결하면서 동시에 범용성을 충족할 수 있는 가벼운 터널링 프로토콜(Light Tunneling Protocol)을 제안하고자 한다. 본원발명에서 제공하는 가벼운 터널링 프로토콜은 VXLAN 패킷 포멧에서 지원하는 VM의 태넌트에 대한 정보도 포함할 수 있다. Accordingly, the present invention proposes a light tunneling protocol that can solve the above-mentioned problem, that is, the problem that excessive resources are administered for tunneling while at the same time satisfying general purpose. The light tunneling protocol provided by the present invention may also include information on the VM's supported by the VXLAN packet format.

본 발명은 SDDC에서 대부분의 네트워크 트래픽이 동일한 서버의 랙(Server Rack) 내부에서 이동하는 현상을 주목했다. 연구 결과에 따르면 80%의 네트워크 트래픽이 서버 랙 내부에서만 포워딩된다. 일반적으로 각각의 Rack은 L2 스위치를 TOR (Top of the rack) 스위치로 사용하여 구성되며 대부분의 트래픽은 L2네트워크 망을 벗어나지 않는다. The present invention noted that most of the network traffic in SDDC moves within a server rack of the same server. Research shows that 80% of network traffic is forwarded only within the server rack. Typically, each Rack is configured with an L2 switch as the top of the rack (TOR) switch, and most of the traffic does not leave the L2 network.

따라서 터널링되는 모든 패킷에 종래의 VXAN 포멧에 따라 L2, L3, L4 네트워크 헤더를 전부 추가하는 것은 매우 비효율적이다. L2 헤더만으로도 대부분의 터널링은 문제없이 수행될 수 있기 때문이다. 특히 종래의 이더넷 헤더 포멧을 그대로 사용하여 L2 헤더 정보를 처리하면, 레거시(Legacy) 스위치 하드웨어와도 아무런 문제없이 연동할 수 있는 효과가 있다. Therefore, it is very inefficient to add all L2, L3, and L4 network headers to all packets to be tunneled according to the conventional VXAN format. This is because most tunneling can be performed without problems even if only the L2 header is used. Particularly, when the L2 header information is processed using the conventional Ethernet header format as it is, there is an effect that it can be interlocked with the legacy switch hardware without any problem.

한편, SDDC는 일반적으로 멀티 태넌트(Multi-tenant)를 지원하고 있다. 그리고 SDDC에서 하나의 랙은 다수의 태넌트가 아니라 하나의 태넌트에 대한 SDDC를 구현하는 것이 일반적이다. 따라서, 하나의 태넌트에 속하는 다수의 VM들 사이의 트래픽은 대부분 L2네트워크 망을 벗어나지 않는다. 따라서 본원발명은 종래의 L2 헤더 포멧을 이용하여 다수의 태넌트들의 주소를 처리할 수 있는 방법도 함께 제안한다. On the other hand, SDDC generally supports multi-tenant. And in SDDC, it is common for a rack to implement SDDC for a single timeline rather than multiple timelines. Therefore, most of the traffic among multiple VMs belonging to one constituent does not deviate from the L2 network. Therefore, the present invention also proposes a method of processing addresses of a plurality of elements using a conventional L2 header format.

본 발명에서는 이와 같이 L2 헤더만을 추가하여 VM의 태넌트 정보를 구분하고, 터널링을 할 수 있으며, 이를 L2P 터널, 또는 L2HM(L2 based Lightweight Hybrid Multicast) 프로토콜이라고 지칭한다. L2P (L2 based Light Tunneling Protocol)터널을 구현하는 L2HM 프로토콜 포멧은 첨부된 도 3과 함께 아래에서 후술된다.In the present invention, only the L2 header is added in this way to distinguish the VM's constituent information, and tunneling can be performed, which is referred to as an L2P tunnel or L2HM (L2 based Lightweight Hybrid Multicast) protocol. The L2HM protocol format for implementing the L2 based Light Tunneling Protocol (L2P) tunnel will be described below with reference to FIG. 3 attached hereto.

도 3은 본원발명의 L2P Packet Format 기반의 L2HM 프로토콜을 설명하기 위한 도면이다. 3 is a diagram for explaining the L2HM protocol based on the L2P Packet Format of the present invention.

도 3에 도시된 바와 같이, 본원발명을 따르는 터널링되는 패킷은 오리지널 프레임 (301) 바로 앞에 MAC 헤더(302, 304 및 305)만이 추가된다. 도 3에서 302, 304 및 305는 터널링을 위해 추가된 L2 헤더의 필드이며, 303은 옵션이다. As shown in FIG. 3, only the MAC header 302, 304, and 305 are added to the tunneled packet according to the present invention immediately before the original frame 301. In FIG. 3, 302, 304, and 305 are fields of the L2 header added for tunneling, and 303 is an option.

본발명의 실시예를 따르면 도 3에 도시된 바와 같이, 오리지널 프레임 바로 앞에 도착 주소 필드 (Destination Address field, 305), 출발 주소 필드 (Source Address field, 304) 및 이더넷 타입/길이 필드 (Ethernet Type/ Length field, 302)만으로 구성되는 Mac 헤더가 붙을 수 있다. 3, a destination address field 305, a source address field 304, and an Ethernet type / length field 304 are provided immediately in front of the original frame, Length field, 302).

보다 구체적으로, 본원발명에 따르면 도착 주소 필드(305) 6바이트는 해당 패킷의 도착지인 VM을 운영하는 물리적 서버를 관리하는 소프트웨어 스위치에 할당된 네트워크 인터페이스의 맥 주소 정보를 포함할 수 있다. More specifically, according to the present invention, 6 bytes of the destination address field 305 may include MAC address information of a network interface allocated to a software switch that manages a physical server operating a VM that is a destination of the packet.

본원발명에 따르면 출발 주소 필드(304) 6바이트는 네트워크 패킷의 출발지인 VM을 관리하는 소프트웨어 스위치에 할당된 네트워크 인터페이스의 맥 주소 정보를 포함할 수 있다. According to the present invention, the starting address field 304 6 bytes may include MAC address information of the network interface assigned to the software switch that manages the VM which is the origin of the network packet.

본원발명에 따르면 타입/길이 필드(302) 2바이트는 레거시 스위치와의 연동을 위해 0x8100 (이더넷 타입)으로 고정할 수 있다. 결론적으로 본원발명의 L2P 터널링을 위한 헤더는 총 14바이트에 불과하다. According to the present invention, two bytes of type / length field 302 can be fixed to 0x8100 (Ethernet type) for interworking with a legacy switch. As a result, the header for the L2P tunneling of the present invention is only 14 bytes in total.

한편 본원발명에 따르면 VLAN 태그 필드(303) 4바이트는 옵션일 수 있다. 구체적으로는 물리적인 네트워크가 VLAN (Virtual LAN)을 사용하고 있고 SDDC 용으로 VLAN을 할당해 놓은 경우에는 303에 해당 VLAN ID를 기재하고, 그렇지 않은 경우라면 303을 추가할 필요가 없다. VLAN 태그를 사용하는 경우, 본원발명의 L2P 터널링을 위한 헤더는 14바이트에서 18바이트로 증가한다. According to the present invention, 4 bytes of the VLAN tag field 303 may be optional. Specifically, if the physical network uses a VLAN (virtual LAN) and a VLAN is allocated for SDDC, the VLAN ID is written in 303, and if not, it is unnecessary to add 303. In the case of using the VLAN tag, the header for the L2P tunneling of the present invention increases from 14 bytes to 18 bytes.

특히, 본원발명에 따르면 도착 주소 필드(305)는 SDDC의 태넌트 ID 정보를 포함할 수 있으며, 특히 태넌트 ID는 상기 도착 주소 필드의 이더넷 멀티캐스트 어드레스 중, 리저브된 20개의 주소를 제외한 01:00:5E:00:00:00 - 01:00:5E:7F:FF:FF 사이 값을 가질 수 있다. In particular, according to the present invention, the destination address field 305 may include the SDDC's tentative ID information, and in particular, the tentative ID may be an Ethernet multicast address of the destination address field of 01: 00: 5E: 00: 00: 00 - 01: 00: 5E: 7F: FF: FF.

이더넷 정의상으로는 FF:FF:FF:FF:FF:FF 가 L2 네트워크의 브로드캐스트에 사용되도록 되어 있으나, 실제 이더넷 장비들은 멀티캐스트 프레임과 브로드캐스트 프레임을 구분하지 않고, L2 네트워크 전체에 트래픽을 전송한다. 그리고 이더넷 지원 NIC 이 자신의 멀티캐스트 맥 어드레스 해쉬 (multicast MAC address hash)에 들어있는 멀티캐스트 그룹 주소와 일치하는 경우에 트래픽을 수신하는 방식으로 브로드캐스트/ 멀티캐스트 서비스가 제공된다. In the Ethernet definition, FF: FF: FF: FF: FF: FF is used for the broadcast of the L2 network, but the actual Ethernet devices transmit the traffic to the entire L2 network without distinguishing between the multicast frame and the broadcast frame . The broadcast / multicast service is provided in such a manner that the traffic is received when the Ethernet-enabled NIC matches the multicast group address contained in its multicast MAC address hash.

따라서 패킷의 헤더가 멀티캐스트 주소만을 포함하는 경우에도 전체 L2 네트워크에서 브로드캐스트/ 멀티캐스트 서비스가 지원될 수 있기 때문에, 본원발명은 멀티캐스트 주소를 이용하여 태넌트 ID 정보를 제공하는 방식을 채택한 것이다. Therefore, even if the header of the packet includes only the multicast address, the broadcast / multicast service can be supported in the entire L2 network. Therefore, the present invention adopts a method of providing the TID information using the multicast address .

특히 본 발명에 따르면 이더넷이 사용하는 IPv4 의 멀티캐스트용 주소 영역을 이용하여 태넌트 ID 정보를 제공할 수 있다. 보다 구체적으로, 본 발명은 01:00:5E:00:00:00 - 01:00:5E:7F:FF:FF 사이의 223 개의 멀티캐스트 주소 영역을 태넌트 ID로 사용한다. (리저브된(reserved) 20 여개의 address 는 제외될 수 있음) 이러한 방식으로 종래 레거시 이더넷 장비와 호환성을 담보할 수 있다. Particularly, according to the present invention, it is possible to provide the tentative ID information using the multicast address space of the IPv4 used by the Ethernet. More specifically, the present invention uses 2 23 multicast address areas between 01: 00: 5E: 00: 00: 00 - 01: 00: 5E: 7F: FF: FF as the tentative ID. (20 reserved addresses may be excluded). In this way, compatibility with conventional legacy Ethernet equipment can be assured.

본 발명에 따르면, SDDC 상의 각 태넌트에게는 기본적으로 하나의 멀티캐스트 주소가 할당될 수 있다. 본 발명에 따르면 상기 태넌트 ID를 도착 주소 필드가 포함하는 하위 23 비트의 멀티캐스트 주소를 이용해 설정하는 방식으로 223 개의 가상 태넌트 네트워크 지원이 가능할 수 있다. According to the present invention, a single multicast address can be basically assigned to each country on the SDDC. According to the present invention, it is possible to support 22 23 virtual tent networks by setting the above-mentioned tentative ID using the lower 23-bit multicast address included in the destination address field.

패킷을 수신하는 소프트웨어 스위치들은 헤더 정보 중 멀티캐스트 어드레스의 하위 23 비트에서 태넌트 ID 를 확인하여, 해당 패킷이 어떤 태넌트의 브로드캐스트/ 멀티캐스트 트래픽인지를 인식할 수 있다. The software switches that receive the packet can identify the tentative ID in the lower 23 bits of the multicast address among the header information, and recognize which of the broadcast / multicast traffic of the corresponding packet.

도 3의 헤더 정보를 이용하여 소프트웨어 스위치가 패킷을 포워딩하는 구체적인 예시는 첨부된 도 4와 함께 아래에서 후술된다. A concrete example in which the software switch forwards the packet using the header information of FIG. 3 will be described below with reference to FIG. 4 attached hereto.

도 4는 본원발명에 따라 프레임을 브로드캐스트/ 멀티캐스트 하는 예시를 설명하기 위한 도면이다. 4 is a diagram for explaining an example of broadcasting / multicasting a frame according to the present invention.

도 4에 도시된 SDDC는 RACK 1 및 RACK 2를 포함하는 복수의 RACK에서 구현되고, RACK 1및 RACK 2은 동일한 태넌트에 대한 SDDC를 지원하여, 즉 동일한 태넌트의 VM들이 RACK 1 및 RACK 2 에 나뉘어 동작하고 있다고 가정한다. The SDDC shown in FIG. 4 is implemented in a plurality of RACKs including RACK 1 and RACK 2, and RACK 1 and RACK 2 support SDDC for the same timeline, i.e., VMs of the same timeline support RACK 1 and RACK 2 As shown in FIG.

RACK 1과 RACK 2 사이의 통신은 L3 네트워크를 통할 수 있다. 나아가 RACK 1은 서버 1 (411), 서버 2 (412), 서버 3 (413)를 포함하며 서버 1,2,3 사이의 통신은 L2 네트워크 (416)을 통할 수 있다. Communication between RACK 1 and RACK 2 may be through the L3 network. Further, the RACK 1 includes the server 1 411, the server 2 412, and the server 3 413, and the communication between the servers 1, 2, and 3 may pass through the L2 network 416.

마찬가지로 RACK 2는 서버 4 (414) 및 서버 5 (415)를 포함하고 서버 4,5 사이의 통신은 L2 네트워크 (417)을 통할 수 있다. 도 4에서 A, B, C, D ,E 는 해당 서버에서 구현된 소프트웨어 스위치이고, 1, 2, 3, 4, 5, 6 및 7은 해당 서버에서 구현된 VM을 도식화한 것이다. 그리고 α, β는 멀티캐스트 서비스 노드이다. Likewise, RACK 2 includes server 4 414 and server 5 415, and communication between servers 4, 5 can be via L2 network 417. 4, A, B, C, D, and E are software switches implemented in the server, and 1, 2, 3, 4, 5, 6, and 7 are schematized VMs implemented in the server. And α and β are multicast service nodes.

VM 1에서 임의의 멀티캐스트 그룹 X (VM 3, 4로 구성)에게 패킷을 멀티캐스팅하는 경우를 예로 들어 설명한다. A case of multicasting a packet to an arbitrary multicast group X (composed of VMs 3 and 4) in VM 1 will be described as an example.

이 경우, 소프트웨어 스위치 A는 VM1으로부터 멀티캐스트 프레임을 수신하며, 매핑 테이블, 즉 해당 소프트웨어 스위치와 네트워크로 연결된 모든 소프트웨어 스위치의 MAC 주소 및 각 소프트웨어 스위치가 네트워크 서비스를 제공하는 VM들의 Vnic의 맥 주소 정보의 매핑 테이블을 체크하여 멀티캐스트 그룹 X가 서버 1 (411)에 없는 것을 확인하고 터널링을 위해 패킷을 캡슐화하는 과정을 진행할 수 있다. In this case, the software switch A receives the multicast frame from the VM 1, and the mapping table, that is, the MAC address of all the software switches connected to the software switch and the network, and the MAC address of the Vnic of the VMs It checks that the multicast group X is not present in the server 1 411 and encapsulates the packet for tunneling.

본 발명의 실시예를 따르면, 상기 매핑 테이블은 플로우 엔트리들로 구성된 플로우 테이블(Flow table)일 수 있으며, 플로우 엔트리들 각각에는 플로우 룰이 명시될 수 있다. According to an embodiment of the present invention, the mapping table may be a flow table composed of flow entries, and flow rules may be specified in each of the flow entries.

이때 종래의 VXLAN 프로토콜을 따르면 소프트웨어 스위치 A는 해당 패킷에 총 50바이트의 헤더를 붙여서, VXLAN 터널을 통해 캡슐화된 패킷을 멀티캐스트 서비스 노드 α 로 전송하고, α 는 (50바이트의 헤더가 포함된) 패킷을 복제하여 해당 태넌트에 대한 네트워크에 연결된 모든 소프트웨어 스위치, 즉 A, B, C, D, E에 전송된다. B와 C는 멀티캐스트 그룹 X에 속해있기 때문에 패킷을 수신하며, 탈캡슐화된 패킷을 VM3, 4에게 각각 전송할 것이다. At this time, according to the conventional VXLAN protocol, the software switch A transmits a packet encapsulated through the VXLAN tunnel to the multicast service node α by appending a total of 50 bytes to the packet, and α is transmitted (including the header of 50 bytes) Replicates the packet and sends it to all software switches connected to the network for that particular entity, namely A, B, C, D, and E. B and C will receive the packet because they belong to multicast group X and will send the decapsulated packet to VM 3, 4, respectively.

그러나 본원발명의 L2HM 프로토콜을 따르면 멀티캐스트 그룹 X 는 동일한 L2 네트워크 (416)에 포함되어 있기 때문에, 소프트웨어 스위치 A는 총 16바이트의 헤더만을 붙인 패킷을 (즉 L2P 터널을 통해) 멀티캐스트 서비스 노드 α 로 전송할 수 있다. 나아가 α 는 해당 태넌트 VM을 관리하는 모든 소프트웨어 스위치가 아니라, 동일한 L2 네트워크 (416)에 포함되는 A, B, C 에게만 패킷을 전송할 수 있다. However, according to the L2HM protocol of the present invention, since the multicast group X is included in the same L2 network 416, the software switch A transmits a packet with only a total of 16 bytes of the header (i.e., through the L2P tunnel) Lt; / RTI > Furthermore, α can transmit packets only to A, B, and C included in the same L2 network 416, not all software switches that manage the corresponding VM.

나아가 본 발명의 다른 실시예를 따르면, 멀티캐스트 서비스 노드의 역할을 소프트웨어 스위치가 겸임할 수도 있다. Further, according to another embodiment of the present invention, the role of the multicast service node may also be a software switch.

앞의 예에서 멀티캐스트 그룹 X에 대한 패킷을 수신한 소프트웨어 스위치 A는 멀티캐스트 그룹 X 가 동일한 L2 네트워크 (416)에 포함된 것을 확인하고, 패킷을 복사하여, 총 16바이트의 헤더만을 붙인 패킷을 (즉 L2P 터널을 통해) 멀티캐스트 그룹 X를 관리하는 B, C에게 각각 전송할 수도 있다. In the above example, the software switch A that received the packet for the multicast group X confirms that the multicast group X is included in the same L2 network 416, copies the packet, and adds a packet (Via the L2P tunnel) to the B and C managing the multicast group X, respectively.

한편, VM 2에서 다른 멀티캐스트 그룹 Y (VM 6, 7로 구성) 으로 패킷을 포워딩하는 경우는 VXLAN 터널이 여전히 유효할 수 있다. 본원발명을 따르면, VM2로부터 패킷을 수신한 소프트웨어 스위치 A는 매핑 테이블을 체크하여 멀티캐스트 그룹 Y을 관리하는 소프트웨어 스위치는 E이며 E는 자신의 L2 네트워크 (416)에 포함되지 않는 것을 확인할 수 있다. 이 경우 A는 패킷을 복사하여, L2P 터널이 아니라 종래의 VXLAN 터널을 통해 캡슐화된 멀티캐스트 패킷을 소프트웨어 스위치 E로 포워딩할 수 있다. On the other hand, when forwarding packets from VM 2 to another multicast group Y (consisting of VMs 6 and 7), the VXLAN tunnel may still be valid. According to the present invention, the software switch A that has received the packet from the VM 2 checks the mapping table to confirm that the software switch for managing the multicast group Y is E and that E is not included in its L2 network 416. In this case, A may copy the packet and forward the multicast packet encapsulated through the conventional VXLAN tunnel to the software switch E instead of the L2P tunnel.

즉, 본원발명을 따르면 VM으로부터 멀티캐스트 패킷을 수신한 소프트웨어 스위치는 멀티캐스트 서비스 노드의 역할을 겸임하여 패킷을 복사하며, 멀티캐스트 그룹이 자신과 동일한 L2네트워크에 포함된 경우에는 L2P 터널, 포함되지 않은 경우에는 VXLAN 터널을 통해 패킷을 멀티캐스팅할 수 있다. 따라서 본원발명을 따르면 종래 표준에 비해, 멀티캐스트 서비스 노드로의 1 hop의 오버헤드를 줄이고, 기타 추가되는 오버헤드 없이 범용적이고 효율적으로 패킷을 멀티캐스팅할 수 있는 효과가 있다. That is, according to the present invention, a software switch that receives a multicast packet from a VM also plays a role of a multicast service node and copies a packet. When the multicast group is included in the same L2 network as itself, If not, you can multicast packets through the VXLAN tunnel. Therefore, according to the present invention, compared with the conventional standard, it is possible to reduce the overhead of 1 hop to the multicast service node and multicast packets in a general and efficient manner without any additional overhead.

한편, 본원발명을 따르는 소프트웨어 스위치들은 자신이 관리하는 VM 들을 소유한 태넌트에 속하는 멀티캐스트 그룹에 대해서만 멀티캐스트 그룹 등록을 할 수 있다. 이는 L2HM 네트워크의 태넌트별 멀티캐스팅을 지원하기 위해서이다. Meanwhile, the software switches according to the present invention can register the multicast group only for the multicast group belonging to a country that owns the VMs managed by the software switches. This is to support multicast per-time of L2HM network.

소프트웨어 스위치들이 자신이 관리하는 VM 들을 소유한 태넌트에 속하는 멀티캐스트 그룹에 대해서만 멀티캐스트 그룹 등록을 하면, 해당 소프트웨어 스위치가 처리할 필요가 없는 멀티캐스트 트래픽은 해당 소프트웨어 스위치가 사용하는 물리적 NIC 에서 하드웨어 적으로 필터링되는 효과가 있다. When software switches register multicast groups only for multicast groups belonging to a group that owns VMs managed by them, multicast traffic that does not need to be processed by the software switch is transmitted from the physical NIC used by the software switch to hardware There is an effect of being filtered.

소프트웨어 스위치들이 처리할 태넌트 ID 리스트는 테이블은 다양한 방법으로 생성되고, 업데이트될 수 있다. A table of the list of the target IDs to be processed by software switches can be created and updated in various ways.

예를 들어 태넌트 ID 리스트는 Proactive 기법으로 생성하고 관리할 수 있다. 이는 SDN 컨트롤러 (controller)와 같은 중앙 관제 시스템에서 소프트웨어 스위치에 태넌트 ID 리스트 정보를 전달하고, 미리 설정된 주기 또는 리스트에 변화가 있을 때마다 업데이트된 리스트 정보를 전송하는 방식으로 태넌트 정보 리스트를 관리할 수 있다. For example, a list of the target IDs can be created and managed using the Proactive method. This allows the central control system such as the SDN controller to transmit the list of the list of the target ID to the software switch and to transmit the updated list information whenever there is a change in the preset period or list can do.

또 다른 예로 태넌트 ID 리스트는 Reactive 기법을 적용하여 생성하고 관리할 수 있다. 이는 각각의 VM 이 생성될 때 소프트웨어 스위치에게 연결을 시도하는데 각 소프트웨어 스위치가 태넌트 ID 리스트에 해당 VM의 태넌트 ID를 을 추가하는 방식으로 태넌트 정보 리스트를 관리할 수 있다. As another example, the list of the target IDs can be created and managed by applying the reactive method. This means that when each VM is created, it tries to connect to the software switch, and each software switch can manage the list of information in the form of adding the corresponding VM's TID to the list of TIDs.

도 5는 앞서 설명한 도 4의 첫번째 예시를 구체적으로 설명하여 본원발명과 종래기술의 차이 및 종래 기술 대비한 본원발명의 효과를 명확하게 하기 위한 도면이다. FIG. 5 is a view for explaining the difference between the present invention and the prior art and the effect of the present invention in comparison with the prior art, by concretely explaining the first example of FIG. 4 described above.

도 5의 501은 종래의 VXLAN 프로토콜을 따라 도 4의 멀티캐스트 그룹 X (VM 3, 4로 구성)에게 패킷을 멀티캐스팅하는 경우이며, 503은 본원발명의 실시예에 따라 멀티캐스트 서비스 노드 없이 패킷을 멀티캐스트 그룹 X에게 멀티캐스팅하는 경우에 대한 순서도 이다. 5 shows a case of multicasting a packet to multicast group X (consisting of VM 3, 4) of FIG. 4 according to the conventional VXLAN protocol, and 503 shows a case where multicast service node Is multicast to the multicast group < RTI ID = 0.0 > X. ≪ / RTI >

단계 510에서 VM1로부터 소프트웨어 스위치 A가 멀티캐스트 그룹 X 에 대한 멀티캐스트 프레임을 수신하면, 단계 511에서 소프트웨어 스위치 A는 VXALN 프로토콜에 따라 50바이트의 헤더 (즉 outer Ethernet 헤더, Outer IP 헤더, UDP 헤더 및 VXLAN 헤더)를 추가하여 해당 패킷을 캡슐화하여 VXLAN 터널을 통해 캡슐화된 프레임을 멀티캐스트 서비스 노드 α에게 전송할 것이다. If the software switch A receives a multicast frame for the multicast group X from VM1 in step 510, the software switch A, in step 511, sends 50 bytes of header (i.e., outer Ethernet header, Outer IP header, UDP header, VXLAN header) to encapsulate the packet to transmit the encapsulated frame via the VXLAN tunnel to the multicast service node alpha.

이후 단계 512에서 멀티캐스트 서비스 노드 α는 해당 패킷을 복수개 복사하고 단계 513 내지 517에서 VXLAN 터널을 통해 해당 태넌트 네트워크의 모든 소프트웨어 스위치 A, B, C, D, E에게 패킷을 전송할 것이다. Thereafter, in step 512, the multicast service node α copies a plurality of packets and transmits packets to all the software switches A, B, C, D, and E of the corresponding primary network through the VXLAN tunnel in steps 513 to 517.

이후 단계 518, 519에서 소프트웨어 스위치 B와 C만 멀티캐스트 그룹 X에 속해있기 때문에 패킷을 수신하며, 탈캡슐화된 패킷을 VM3, 4에게 각각 전송할 것이다.Thereafter, in steps 518 and 519, only software switches B and C will receive packets because they belong to multicast group X, and will transmit the decapsulated packets to VMs 3 and 4, respectively.

반면, 본원발명을 따르면 단계 530에서 VM1로부터 멀티캐스트 그룹 X 에 대한 멀티캐스트 프레임을 수신한 소프트웨어 스위치 A는 멀티캐스트 그룹 X 가 자신과 동일한 L2 네트워크 환경에 있는 것을 확인할 수 있다. On the other hand, according to the present invention, the software switch A receiving the multicast frame for the multicast group X from the VM 1 in step 530 can confirm that the multicast group X is in the same L2 network environment as itself.

이후 단계 531에서, 소프트웨어 스위치 A는 멀티캐스트 서비스 노드에게 패킷을 보내지 않고, 직접 패킷을 복수개 복사할 수 있다. 즉, 본원발명에 따르면 멀티캐스트 서비스 노드에게 패킷을 포워드하는 1 hop의 네트워크 오버헤드를 줄일 수 있는 효과가 있다.Thereafter, in step 531, the software switch A can directly copy a plurality of packets without sending a packet to the multicast service node. That is, according to the present invention, there is an effect that the network overhead of 1 hop for forwarding a packet to a multicast service node can be reduced.

그리고 단계 533, 534에서 소프트웨어 스위치 A는 본원발명의 L2P프로토콜을 따라 태넌트 ID 정보가 포함된 14바이트의 MAC헤더만을 추가 하여 해당 패킷을 캡슐화하고, 멀티캐스트 그룹 X에 속해있는 소프트웨어 스위치 B와 C에게 패킷을 전송할 수 있다. In steps 533 and 534, the software switch A encapsulates the packet by adding only the 14-byte MAC header including the ID information according to the L2P protocol of the present invention, and transmits the encapsulated packet to the software switches B and C Lt; / RTI >

즉 본원발명의 실시예인 503을 따르면, 501과 비교하여 단계 511, 513, 516, 517의 단계를 생략할 수 있으며, 단계 514, 515도 50바이트의 헤더를 추가할 필요없이 14바이트의 헤더만을 추가하여 진행할 수 있다. That is, according to the embodiment 503 of the present invention, the steps 511, 513, 516 and 517 can be omitted in comparison with the step 501. In steps 514 and 515, it is also possible to add only 14 bytes of header .

이후 단계 535, 536에서 소프트웨어 스위치 B와 C는 멀티캐스트 그룹 X에 속해있기 때문에 패킷을 수신하며, 탈캡슐화된 패킷을 VM3, 4에게 각각 전송할 것이다.Then, at steps 535 and 536, software switches B and C will receive packets because they belong to multicast group X, and will send the decapsulated packets to VM 3, 4, respectively.

본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. The embodiments of the present invention disclosed in the present specification and drawings are intended to be illustrative only and not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

Claims (6)

소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 소프트웨어 스위치를 구현하는 서버가 프레임을 멀티포인트 전송하는 방법에 있어서,
복수의 가상 머신을 도착지(Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 제 1 가상 머신으로부터 수신하는 단계; 및
도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하고, 상기 도착지 가상 머신과 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되지 않는 경우, 상기 프레임의 앞에 순서대로 VXAN 헤더, UDP 헤더, Outer IP 헤더, 및 Outer Mac 헤더를 추가한 프레임을 멀티캐스트 서비스 노드에 포워드하는 단계를 포함하는 것을 특징으로 하는 서버의 멀티캐스팅 방법.
A method for multipoint transmission of a frame by a server implementing a software switch in a software defined data center (SDDC) environment,
The method comprising: receiving a first software switch from a first virtual machine with a plurality of virtual machines as a destination; And
When all the software switches connected to each of the destination virtual machines are included in the same L2 network as the first software switch, the MAC header including the LAN ID information is copied by the number of the destination virtual machines And if all the software switches connected to the destination virtual machine are not included in the same L2 network as the first software switch, the VXAN header, the UDP header, the Outer IP header, and the Outer Mac header are added in order before the frame And forwarding the frame to the multicast service node.
제 1항에 있어서, 상기 Mac 헤더는,
상기 태넌트 ID 정보를 포함하는 도착 주소 (Destination Address) 필드, 상기 제 1 소프트웨어 스위치의 맥주소 정보를 포함하는 출발 주소 (Source Address) 필드, 및 0x8100값을 가지는 이더넷 타입(Ethernet Type) 필드를 포함하며,
상기 태넌트 ID는, 상기 도착 주소 필드의 이더넷 멀티캐스트 어드레스 중 01:00:5E:00:00:00 - 01:00:5E:7F:FF:FF 사이 값을 가지는 것을 특징으로 하는 서버의 멀티캐스팅 방법.
The method of claim 1,
A Destination Address field including the TID information, a Source Address field including MAC address information of the first software switch, and an Ethernet Type field having a value of 0x8100 In addition,
The method according to claim 1, characterized in that the tentative ID has a value between 01: 00: 5E: 00: 00: 01: 00: 5E: 7F: FF: FF among the Ethernet multicast addresses of the destination address field Casting method.
삭제delete 제 2항에 있어서, 상기 Mac 헤더는,
상기 서버와 연결된 물리적인 네트워크가 VLAN (Virtual LAN)을 사용하고 상기 소프트웨어 정의 데이터 센터에 대해 VLAN ID를 미리 할당한 경우, 상기 VLAN ID 정보를 포함하는 VLAN 태그 필드를 더 포함하는 것을 특징으로 하는 서버의 멀티캐스팅 방법.
3. The method of claim 2,
Further comprising a VLAN tag field including the VLAN ID information when a physical network connected to the server uses a VLAN and a VLAN ID is previously allocated to the software defined data center. Lt; / RTI >
소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 소프트웨어 스위치를 구현하는 서버가 프레임을 멀티포인트 전송하는 처리를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
복수의 가상 머신을 도착지 (Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 제 1 가상 머신으로부터 수신하는 기능; 및
도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하고, 상기 도착지 가상 머신과 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되지 않는 경우, 상기 프레임의 앞에 순서대로 VXAN 헤더, UDP 헤더, Outer IP 헤더, 및 Outer Mac 헤더를 추가한 프레임을 멀티캐스트 서비스 노드에 포워드하는 기능을 실행하는 것을 특징으로 하는 컴퓨터 프로그램.
A computer program stored in a computer-readable medium for causing a server implementing a software switch in a Software Defined Data Center (SDDC) environment to perform a process of multipoint transfer of a frame,
A function in which a first software switch receives a frame with a plurality of virtual machines as a destination from a first virtual machine; And
When all the software switches connected to each of the destination virtual machines are included in the same L2 network as the first software switch, the MAC header including the LAN ID information is copied by the number of the destination virtual machines And if all the software switches connected to the destination virtual machine are not included in the same L2 network as the first software switch, the VXAN header, the UDP header, the Outer IP header, and the Outer Mac header are added in order before the frame And forwards the frame to the multicast service node.
소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center) 환경 내의 프레임을 브로드캐스팅하는 소프트웨어 스위치를 구현하는 서버에 있어서,
상기 소프트웨어 스위치에 대한 물리적 네트워크를 연결하는 통신부; 및
복수의 가상 머신을 도착지 (Destination)로 하는 프레임을 제 1 소프트웨어 스위치가 제 1 가상 머신으로부터 수신하도록 제어하고, 도착지 가상 머신들 각각에게 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되는 경우, 태넌트 ID 정보를 포함하는 Mac 헤더를 상기 프레임 바로 앞에 추가한 프레임을 도착지 가상 머신의 개수만큼 복사하고, 상기 도착지 가상 머신과 연결된 모든 소프트웨어 스위치가 상기 제 1 소프트웨어 스위치와 동일한 L2 네트워크에 포함되지 않는 경우, 상기 프레임의 앞에 순서대로 VXAN 헤더, UDP 헤더, Outer IP 헤더, 및 Outer Mac 헤더를 추가한 프레임을 멀티캐스트 서비스 노드에 포워드하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 서버.
CLAIMS What is claimed is: 1. A server implementing a software switch for broadcasting frames within a Software Defined Data Center (SDDC)
A communication unit for connecting a physical network to the software switch; And
A first software switch is controlled to receive a frame from a first virtual machine with a plurality of virtual machines as a destination and all software switches connected to each of the destination virtual machines are included in the same L2 network as the first software switch , Copying the frame added immediately before the frame with the Mac header including the TID information by the number of destination virtual machines, and copying all the software switches connected to the destination virtual machine to the same L2 network as the first software switch And a control unit for controlling the forwarding unit to forward the frames added with the VXAN header, the UDP header, the Outer IP header, and the Outer Mac header to the multicast service node in order before the frame is included.
KR1020150014646A 2015-01-30 2015-01-30 Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch KR101621720B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150014646A KR101621720B1 (en) 2015-01-30 2015-01-30 Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150014646A KR101621720B1 (en) 2015-01-30 2015-01-30 Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch

Publications (1)

Publication Number Publication Date
KR101621720B1 true KR101621720B1 (en) 2016-05-17

Family

ID=56109701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150014646A KR101621720B1 (en) 2015-01-30 2015-01-30 Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch

Country Status (1)

Country Link
KR (1) KR101621720B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072035A1 (en) * 2005-01-31 2008-03-20 Johnson Robert A Securing multicast data
US20130322443A1 (en) * 2012-05-29 2013-12-05 Futurewei Technologies, Inc. SDN Facilitated Multicast in Data Center
KR101438212B1 (en) * 2014-02-25 2014-09-04 주식회사 나임네트웍스 Method for deep packet instection of software defined network and software defined networking system using the same
KR101477153B1 (en) * 2010-05-28 2014-12-29 후아웨이 테크놀러지 컴퍼니 리미티드 Virtual layer 2 and mechanism to make it scalable

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072035A1 (en) * 2005-01-31 2008-03-20 Johnson Robert A Securing multicast data
KR101477153B1 (en) * 2010-05-28 2014-12-29 후아웨이 테크놀러지 컴퍼니 리미티드 Virtual layer 2 and mechanism to make it scalable
US20130322443A1 (en) * 2012-05-29 2013-12-05 Futurewei Technologies, Inc. SDN Facilitated Multicast in Data Center
KR101438212B1 (en) * 2014-02-25 2014-09-04 주식회사 나임네트웍스 Method for deep packet instection of software defined network and software defined networking system using the same

Similar Documents

Publication Publication Date Title
US11765000B2 (en) Method and system for virtual and physical network integration
US20220191064A1 (en) Method for sending virtual extensible local area network packet, computer device, and computer readable medium
US10693766B2 (en) Engines to prune overlay network traffic
EP3533189B1 (en) Rule-based network identifier mapping
EP3091696B1 (en) Method and device for implementing virtual machine communication
US9596099B2 (en) Scalable network virtualization with aggregate endpoints
CN108880968B (en) Method and device for realizing broadcast and multicast in software defined network and storage medium
US9462047B2 (en) Network interface controller supporting network virtualization
EP3069471B1 (en) Optimized multicast routing in a clos-like network
CN107623636B (en) User isolation method and switch
KR101621719B1 (en) Method, apparatus and computer program for providing multipoint communication service of software defined data center
KR101621717B1 (en) Method, apparatus and computer program for virtualizing network resource of software defined data center
KR101621720B1 (en) Method, apparatus and computer program for providing multipoint communication service of software defined data center by software switch
WO2017219272A1 (en) Packet forwarding method and device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190507

Year of fee payment: 4