KR101503717B1 - Network Apparatus and Data Transporting Method Used in the Same - Google Patents

Network Apparatus and Data Transporting Method Used in the Same Download PDF

Info

Publication number
KR101503717B1
KR101503717B1 KR1020130010909A KR20130010909A KR101503717B1 KR 101503717 B1 KR101503717 B1 KR 101503717B1 KR 1020130010909 A KR1020130010909 A KR 1020130010909A KR 20130010909 A KR20130010909 A KR 20130010909A KR 101503717 B1 KR101503717 B1 KR 101503717B1
Authority
KR
South Korea
Prior art keywords
packet
virtual switch
receiving
uplink port
end system
Prior art date
Application number
KR1020130010909A
Other languages
Korean (ko)
Other versions
KR20140098379A (en
Inventor
홍도형
Original Assignee
에스코어 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스코어 주식회사 filed Critical 에스코어 주식회사
Priority to KR1020130010909A priority Critical patent/KR101503717B1/en
Publication of KR20140098379A publication Critical patent/KR20140098379A/en
Application granted granted Critical
Publication of KR101503717B1 publication Critical patent/KR101503717B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 패킷을 송수신하는 적어도 한 개의 종단시스템과, 상기 종단시스템과 연결되는 가상 스위치와, 상기 가상 스위치에 연결되는 물리적인 포트인 업링크 포트 및 상기 패킷의 송수신에 필요한 상기 종단시스템 및 상기 업링크 포트의 MAC 주소를 포함하는 네트워크 정보를 관리하는 제어 에이전트를 포함하며 클러스터 내부에 위치하는 적어도 두 개의 호스트와, 상기 호스트의 네트워크 정보를 저장 및 제어하는 제어부 및 상기 호스트와 연결되는 적어도 두 개의 네트워크 스위치를 포함하며, 상기 가상 스위치는 다른 상기 호스트에 위치하는 상기 가상 스위치와 상기 네트워크 스위치를 통하여 적어도 두 개의 터널에 의한 다중 경로를 형성하여 상기 패킷을 송수신하는 네트워크 장치를 개시한다.
또한, 본 발명은 클러스터 내부에 위치하며, 패킷을 송수신하는 적어도 한 개의 종단시스템과 상기 가상 스위치 및 업링크 포트를 포함하는 적어도 두 개의 호스트 사이에 패킷 형태의 데이터를 송수신하는 방법으로서, 상기 가상 스위치들 사이에 네트워크 스위치를 통하여 적어도 두 개의 터널에 의한 다중 경로를 형성하여 상기 패킷을 송수신하는 데이터 송수신 방법을 개시한다.
The present invention relates to an apparatus and method for transmitting and receiving packets, comprising at least one end system for transmitting and receiving packets, a virtual switch connected to the end system, an uplink port being a physical port connected to the virtual switch, A control agent for managing network information including a MAC address of a link port, at least two hosts located in a cluster, a controller for storing and controlling network information of the host, and at least two networks Wherein the virtual switch establishes a multipath by at least two tunnels through the virtual switch and the network switch located in another host, and transmits and receives the packet.
According to another aspect of the present invention, there is provided a method for transmitting and receiving packet data between at least one end system for transmitting and receiving packets and at least two hosts including the virtual switch and the uplink port, And forming a multi-path between at least two tunnels through a network switch to transmit / receive the packet.

Description

네트워크 장치 및 이에 이용되는 데이터 송수신 방법{Network Apparatus and Data Transporting Method Used in the Same}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network device and a data transmission /

본 발명은 클러스터 내부에 위치하는 호스트들 사이에서 터널에 의한 다중 경로를 사용하여 데이터를 송신할 수 있는 네트워크 장치 및 이에 이용되는 데이터 송수신 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network device capable of transmitting data using a multi-path by a tunnel among hosts located in a cluster, and a data transmission / reception method used therefor.

대용량 데이터의 시대가 도래하면서, 네트워크 장치는 방대한 데이터의 처리를 필요로 하게 되었고, 이를 처리하기 위해 분산 시스템을 도입함에 따라 수평 계층간 네트워크 성능이 큰 이슈로 떠오르게 되었다. 특히, NoSQL같이 대용량 데이터를 처리하거나, 분산 파일 시스템을 사용하는 시스템, 또는 오픈 스택(Open Stack) 또는 클라우드 스택(Cloud Stack)과 같은 클라우드 플랫폼을 사용하는 시스템들은 구조상 내부 시스템 사이에 데이터 통신이 급증하게 되었다. 따라서, 상기 시스템들은 내부 시스템들간의 대용량 네트워크를 지원하는 성능이 전체 시스템의 성능을 결정하는 중요한 요인이 되었다. OSI L2 계층에서 다중 경로를 통하여 대용량 데이터의 송수신을 위한 기술이 등장하고 있는데 대표적인 예는 IETF에서 표준화한 TRILL과 Cisco에서 개발한 FabricPath 등이 있다.As the age of large data has come, network devices have required massive data processing, and as a result of introducing a distributed system to handle them, network performance between horizontal layers has become a big issue. In particular, systems that handle large amounts of data, such as NoSQL, systems that use distributed file systems, or systems that use cloud platforms such as open stacks or cloud stacks, . Therefore, the above systems have become important factors for determining the performance of the entire system in terms of performance of supporting large capacity networks among internal systems. In OSI L2 layer, there are technologies for transmitting and receiving large amount of data through multipath. Typical examples are TRILL standardized by IETF and FabricPath developed by Cisco.

하지만, 상기와 같은 기술은 네트워크 스위치들간의 프로토콜이며 이를 구현하기 위해서는 고가의 전용장비를 사용해야만 하므로 전체 시스템 구축비용이 증가하고 전용장비(네트워크 스위치)들 사이에만 다중 경로를 통하여 데이터를 송수신할 수 있다는 단점이 있다. 따라서, 네트워크의 종단 시스템(예를 들면 호스트 또는 가상 머신)과 네트워크 스위치 사이에서는 다중 경로를 통하여 데이터를 송수신할 수 없으므로, 종단 시스템과 네트워크 스위치 사이에서는 여전히 병목 현상이 발생하게 되는 문제가 있다.  However, since the above-described technology is a protocol between network switches, it is necessary to use expensive dedicated equipment in order to implement the protocol. Therefore, the cost of constructing the entire system increases and data can be transmitted / received only through dedicated paths (network switches) . Therefore, there is a problem that bottlenecks still occur between the end system and the network switch because data can not be transmitted / received between the end system of the network (for example, a host or a virtual machine) and the network switch through multiple paths.

본 발명은 동일 클러스터 내부에 위치하는 호스트들 사이에 터널에 의한 다중 경로를 형성하여 데이터를 송수신함으로써 네트워크 대역폭을 증가시킬 수 있는 네트워크 장치 및 이에 이용되는 데이터 송수신 방법을 제공한다.The present invention provides a network device capable of increasing network bandwidth by forming multiple paths by tunnels between hosts located in the same cluster and transmitting / receiving data, and a data transmission / reception method used therefor.

본 발명의 네트워크 장치는 패킷을 송수신하는 적어도 한 개의 종단시스템과, 상기 종단시스템과 연결되는 가상 스위치와, 상기 가상 스위치에 연결되는 물리적인 포트인 업링크 포트 및 상기 패킷의 송수신에 필요한 상기 종단시스템 및 상기 업링크 포트의 MAC 주소를 포함하는 네트워크 정보를 관리하는 제어 에이전트를 포함하며 클러스터 내부에 위치하는 적어도 두 개의 호스트와, 상기 호스트의 네트워크 정보를 저장 및 제어하는 제어부 및 상기 호스트와 연결되는 적어도 두 개의 네트워크 스위치를 포함하며, 상기 가상 스위치는 다른 상기 호스트에 위치하는 상기 가상 스위치와 상기 네트워크 스위치를 통하여 적어도 두 개의 터널에 의한 다중 경로를 형성하여 상기 패킷을 송수신하는 것을 특징으로 한다. 이때, 상기 종단시스템은 상기 호스트 자체로 이루어지거나 또는 적어도 한 개의 가상 머신을 포함할 수 있다. The network device of the present invention includes at least one end system for transmitting and receiving packets, a virtual switch connected to the end system, an uplink port being a physical port connected to the virtual switch, And a control agent for managing network information including a MAC address of the uplink port, wherein the control agent includes at least two hosts located in a cluster, a controller for storing and controlling network information of the host, Wherein the virtual switch forms a multipath by at least two tunnels through the virtual switch and the network switch located in another host and transmits and receives the packet. At this time, the end system may be composed of the host itself or may include at least one virtual machine.

또한, 상기 호스트에 위치하는 업링크 포트는 적어도 상기 네트워크 스위치의 개수에 대응되는 개수로 형성될 수 있다. In addition, the uplink ports located in the host may be formed in a number corresponding to at least the number of the network switches.

또한, 상기 가상 스위치는 상기 업링크 포트로 수신되는 상기 패킷을 상기 가상 스위치에 연결되어 있는 다른 업링크 포트로 플러딩하지 않도록 형성될 수 있다.In addition, the virtual switch may be configured to not flood the packet received at the uplink port to another uplink port connected to the virtual switch.

또한, 상기 가상 스위치는 어느 하나의 특정한 상기 종단시스템으로부터 전송되는 상기 패킷을 상기 클러스터 외부로 송신할 때 어느 하나의 특정한 상기 업링크 포트를 사용하여 상기 패킷을 전송하도록 형성될 수 있다.In addition, the virtual switch may be configured to transmit the packet using any one of the uplink ports when transmitting the packet transmitted from any one of the specific end systems to the outside of the cluster.

상기 터널은 L2 계층의 터널로 형성되며, 상기 패킷을 전송하는 송신 종단시스템에 연결되는 송신 가상 스위치의 업링크 포트의 MAC 주소와 상기 패킷을 수신하는 수신 종단시스템에 연결되는 수신 가상 스위치의 업링크 포트의 MAC 주소의 쌍으로 형성될 수 있다. Wherein the tunnel is formed of a tunnel of an L2 layer and includes a MAC address of an uplink port of a transmission virtual switch connected to a transmission end system for transmitting the packet and an uplink port of a receiving virtual switch connected to a receiving end system for receiving the packet, Lt; / RTI > MAC address of the port.

상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 MAC 주소 및 상기 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 전송하도록 형성될 수 있다.The virtual switch may be configured to transmit the packet transmitted by the transmission terminal system by wrapping the MAC address of the uplink port of the transmitting virtual switch and the MAC address of the uplink port of the receiving virtual switch.

또한, 상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 유니캐스트 패킷을 전송하는 경우에, 상기 송신 종단시스템에 연결되는 상기 송신 가상 스위치는 상기 수신 종단시스템에 연결되는 상기 수신 가상 스위치를 확인하고, 상기 송신 종단시스템으로부터 수신받은 상기 패킷을 상기 송신 가상 스위치 및 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 상기 터널을 사용하여 송수신하고, 상기 수신 가상 스위치는 수신한 상기 패킷에서 상기 확장 헤더를 제거한 후에 상기 수신 종단시스템으로 상기 패킷을 전송하도록 형성될 수 있다. In addition, in the case of transmitting a unicast packet from the transmission terminal system to the reception terminal system located inside the cluster, the transmission virtual switch connected to the transmission terminal system is connected to the reception virtual switch And transmits and receives the packet received from the transmission terminal system by using an extension header formed by a MAC address of an uplink port of the transmission virtual switch and a reception virtual switch and using the tunnel, And remove the extension header from the packet before sending the packet to the receiving end system.

또한, 상기 송신 종단시스템으로부터 상기 클러스터 외부로 유니캐스트 패킷을 전송하는 경우에, 상기 송신 가상 스위치는 상기 송신 종단시스템으로부터 수신되는 상기 패킷의 송신지 MAC 주소를 이용하여 상기 패킷을 송신할 업링크 포트를 확인하고, 상기 업링크 포트를 통하여 상기 패킷을 상기 클러스터 외부에 위치하는 상기 수신 종단시스템으로 전송하도록 형성될 수 있다. 이때, 상기 송신 가상 스위치는 상기 터널을 사용하지 않고 상기 패킷을 송신할 수 있다.In addition, when transmitting a unicast packet from the transmission terminal system to the outside of the cluster, the transmission virtual switch uses the transmission destination MAC address of the packet received from the transmission terminal system to transmit the packet to the uplink port And to forward the packet to the receiving end system located outside the cluster through the uplink port. At this time, the transmission virtual switch can transmit the packet without using the tunnel.

또한, 상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에, 상기 송신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하고, 상기 송신 가상 스위치는 상기 클러스터 내부에 위치하는 상기 수신 종단시스템이 연결되어 있는 상기 수신 가상 스위치의 업링크 포트의 MAC 주소를 확인하여, 상기 패킷을 상기 송신 가상 스위치 및 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 상기 터널을 이용하여 전송하고, 상기 수신 가상 스위치는 수신한 상기 패킷에서 상기 확장 헤더를 제거한 후에 상기 수신 종단시스템으로 상기 패킷을 전송하도록 형성될 수 있다.In addition, when transmitting a multicast packet or a broadcast packet from the transmitting end system to the receiving end system located inside the cluster, the transmitting virtual switch determines whether the destination MAC address of the packet is a multicast address or broadcast Address, the transmission virtual switch confirms the MAC address of the uplink port of the receiving virtual switch to which the receiving end system located in the cluster is connected, and transmits the packet to the transmitting virtual switch and the receiving virtual switch Wherein the virtual switch is configured to transmit the packet to the reception end system after removing the extension header from the received packet by wrapping the packet in an extension header formed by the MAC address of the uplink port of the virtual switch and using the tunnel, .

또한, 상기 송신 종단시스템으로부터 상기 클러스터 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에, 상기 송신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부와 상기 종단시스템이 상기 클러스터 외부에 위치하는 것을 확인하고, 상기 송신 종단시스템에 할당된 상기 업링크 포트를 이용하여 상기 패킷을 전송하도록 형성될 수 있다. 이때, 상기 클러스터 내부에 위치하는 상기 수신 가상 스위치는 전송되는 상기 패킷의 송신지 MAC 주소로부터 상기 송신 종단시스템이 상기 클러스터 내부에 위치하는 것으로 확인되는 경우에 상기 패킷을 폐기하여 상기 패킷이 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 중복 수신되지 않도록 형성될 수 있다. In addition, when transmitting a multicast packet or a broadcast packet from the transmitting end system to the outside of the cluster, the transmitting virtual switch determines whether the destination MAC address of the packet is a multicast address or a broadcast address, Is located outside the cluster, and transmits the packet using the uplink port allocated to the transmission terminal system. At this time, if the receiving virtual switch located inside the cluster determines that the transmitting end system is located within the cluster from the destination MAC address of the packet to be transmitted, discards the packet, May be formed so as not to be redundantly received by the receiving end system located in the receiving end system.

또한, 상기 클러스터 내에 위치하는 상기 수신 가상 스위치는 상기 송신 종단시스템에 할당된 상기 업링크 포트와 연결되는 상기 터널을 확인하고, 상기 터널을 구성하는 상기 업링크 포트로 수신되는 상기 패킷을 수신하고, 다른 상기 업링크 포트를 통하여 수신되는 상기 패킷을 폐기하도록 형성될 수 있다. The receiving virtual switch located in the cluster is further configured to identify the tunnel connected to the uplink port allocated to the transmission terminal system, receive the packet received on the uplink port constituting the tunnel, And discard the packet received via the other uplink port.

또한, 상기 클러스터 외부로부터 상기 클러스터 내에 위치하는 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신받는 경우에, 상기 수신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 또는 브로드캐스트 주소인지 여부 및 상기 송신 종단시스템이 클러스터 외부에 위치하는지 여부를 확인하고, 상기 수신 종단시스템 별로 할당된 상기 업링크 포트로 수신되는 상기 패킷을 각각의 상기 수신 종단시스템으로 전송하고, 상기 할당된 업링크 포트가 아닌 업링크 포트로 수신되는 패킷을 폐기하도록 형성될 수 있다. In addition, when receiving a multicast packet or a broadcast packet from outside the cluster to a receiving end system located in the cluster, the receiving virtual switch determines whether the destination MAC address of the packet is a multicast or broadcast address, Determining whether the transmission terminal system is located outside the cluster, transmitting the packet received at the uplink port allocated to each reception terminal system to each of the reception terminal systems, May be configured to discard packets received on the uplink port.

상기 종단시스템은 상기 가상 스위치와 소프트웨어로 구현되는 가상의 인터페이스에 의하여 연결될 수 있다. The termination system may be connected to the virtual switch by a virtual interface implemented by software.

또한, 본 발명의 데이터 송수신 방법은 클러스터 내부에 위치하며, 패킷을 송수신하는 적어도 한 개의 종단시스템과 상기 가상 스위치 및 업링크 포트를 포함하는 적어도 두 개의 호스트 사이에 패킷 형태의 데이터를 송수신하는 방법으로서, 상기 가상 스위치들 사이에 적어도 두 개의 터널에 의한 다중 경로를 형성하여 상기 패킷을 송수신하는 것을 특징으로 한다.Also, a data transmission / reception method of the present invention is a method for transmitting / receiving packet type data between at least one end system for transmitting / receiving a packet and at least two hosts including the virtual switch and an uplink port, And forming a multipath by at least two tunnels between the virtual switches to transmit and receive the packets.

또한, 상기 가상 스위치는 상기 업링크 포트로 수신되는 상기 패킷을 상기 가상 스위치에 연결되어 있는 다른 업링크 포트로 플러딩하지 않도록 형성될 수 있다.In addition, the virtual switch may be configured to not flood the packet received at the uplink port to another uplink port connected to the virtual switch.

또한, 상기 터널은 L2 계층의 터널로 형성되며, 상기 패킷을 전송하는 송신 종단시스템이 연결되는 송신 가상 스위치의 업링크 포트의 MAC 주소와 상기 패킷을 수신하는 수신 종단시스템이 연결되는 수신 가상 스위치의 업링크 포트의 MAC 주소의 쌍으로 형성될 수 있다. In addition, the tunnel is formed of a tunnel of L2 layer, and the MAC address of the uplink port of the transmission virtual switch to which the transmission terminal system for transmitting the packet is connected and the receiving virtual switch And a MAC address of the uplink port.

또한, 상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 MAC 주소 및 상기 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 전송하도록 형성될 수 있다.The virtual switch may be configured to transmit the packet transmitted by the transmission terminal system by wrapping the MAC address of the uplink port of the transmitting virtual switch and the MAC address of the uplink port of the receiving virtual switch have.

본 발명의 네트워크 장치 및 이에 이용되는 데이터 송수신 방법은 고가의 전용 장비를 사용하지 않고도 가상 스위치를 이용하여 동일 클러스터 내부에 위치하는 호스트들 사이에 터널에 의한 다중 경로를 형성하여 데이터를 송수신함으로써 네트워크 대역폭을 증가시킬 수 있는 효과가 있다.The network device and the data transmission / reception method used therefor can form a multipath by a tunnel between hosts located in the same cluster using a virtual switch without using expensive dedicated equipment, Can be increased.

또한, 본 발명의 네트워크 장치 및 이에 이용되는 데이터 송수신 방법은 수평계층간의 다중 경로에 의하여 수평 계층간의 네트워크 대역폭을 증가시키면서, 추가적으로 호스트의 업링크 포트의 적절한 분배에 의하여 수직 계층간의 네트워크 대역폭도 증가시킬 수 있는 효과가 있다.In addition, the network device and the data transmission / reception method used in the present invention increase the network bandwidth between the horizontal layers by multipaths between the layers of the level system, and further increase the network bandwidth between the vertical layers by appropriately distributing the uplink ports of the host There is an effect that can be.

또한, 본 발명의 네트워크 장치 및 이에 이용되는 데이터 송수신 방법은 STP와 같은 프로토콜을 사용하지 않아도 네트워크 루프(network loop) 또는 브로드캐스트 스톰(broadcast storm)이 발생되지 않아, 호스트와 네트워크 스위치 사이에 형성되는 그물망 형태의 네트워크를 통하여 정상적으로 데이터가 송수신되도록 하는 효과가 있다. In addition, the network apparatus and the data transmission / reception method used therefor according to the present invention do not generate a network loop or a broadcast storm without using a protocol such as STP, There is an effect that data can be normally transmitted and received through a network in the form of a network.

또한, 본 발명의 네트워크 장치 및 이에 이용되는 데이터 송수신 방법은 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에 송신 종단시스템에서 전송되는 패킷에 포함되어 있는 수신지의 MAC 주소를 확인하여 수신 종단시스템을 검색하고, 수신 종단시스템이 클러스터 내부에 존재하는 경우에 클러스터 외부로 패킷을 전달하지 않으며 송신 가상 스위치가 터널에 의한 다중 경로를 통하여 패킷을 송신함으로써, 패킷을 외부의 네트워크 스위치로 플러딩(flooding)할 필요가 없게 되어 브로드캐스트 스톰이 발생되지 않으며, 네트워크 스위치의 MAC 주소 학습이 불안정해지는 것을 방지하는 효과가 있다.In the network device and the data transmission / reception method used therefor, when transmitting a multicast packet or a broadcast packet, the MAC address of the destination included in the packet transmitted from the transmission terminal system is checked, When the receiving end system exists in the cluster, the packet is not delivered outside the cluster. The transmitting virtual switch transmits the packet through the multi-path by the tunnel, thereby flooding the packet to the external network switch There is no need to generate a broadcast storm, and it is possible to prevent the learning of the MAC address of the network switch from becoming unstable.

도 1은 본 발명의 일 실시예에 따른 네트워크 장치가 연결되는 전체 네트워크 시스템의 블록 다이아그램이다.
도 2는 도 1에 도시된 네트워크 장치의 블록도이다.
도 3은 도 1에 도시된 네트워크 장치에서 가상 스위치 사이에 형성되는 터널 및 가상 스위치 사이와 네트워크 스위치의 링크 관계를 나타내는 블록도이다.
도 4는 도 1에 도시된 네트워크 장치에서 종단시스템과 업링크 포트에 할당되는 MAC 주소가 도시된 블록도이다.
도 5는 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 내부에서 유니캐스트 패킷을 전송하는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 외부로 유니캐스트 패킷을 전송하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 내부에서 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 내부 및 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 다른 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 네트워크 장치가 클러스터 외부에서 내부로 전송되는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신하는 흐름도이다.
1 is a block diagram of an entire network system to which a network device according to an embodiment of the present invention is connected.
2 is a block diagram of the network device shown in FIG.
FIG. 3 is a block diagram showing a link relationship between a network switch and a tunnel formed between virtual switches in the network device shown in FIG. 1; FIG.
4 is a block diagram illustrating MAC addresses assigned to an end system and an uplink port in the network device shown in FIG.
5 is a flowchart illustrating a method for transmitting a unicast packet within a cluster according to an exemplary embodiment of the present invention.
6 is a flowchart illustrating a method for transmitting a unicast packet to a network device outside a cluster according to an exemplary embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method for transmitting a multicast packet or a broadcast packet in a network according to an exemplary embodiment of the present invention. Referring to FIG.
8 is a flowchart illustrating a method for transmitting a multicast packet or a broadcast packet to a network device outside a cluster according to an exemplary embodiment of the present invention.
9 is a flowchart illustrating a method for transmitting a multicast packet or a broadcast packet to a network device in a cluster according to an exemplary embodiment of the present invention.
10 is a flowchart illustrating a method of receiving a multicast packet or a broadcast packet in which a network device according to an exemplary embodiment of the present invention is transmitted from outside the cluster to the inside.

이하, 첨부한 도면을 참고로 하여 본 발명의 한 실시예에 따른 네트워크 장치 및 이에 이용되는 데이터 송수신 방법에 대하여 설명한다.
Hereinafter, a network device according to an embodiment of the present invention and a data transmission / reception method used therein will be described with reference to the accompanying drawings.

먼저, 본 발명의 일 실시예에 따른 네트워크 장치의 구성에 대하여 설명한다.
First, a configuration of a network device according to an embodiment of the present invention will be described.

도 1은 본 발명의 일 실시예에 따른 네트워크 장치가 연결되는 전체 네트워크 시스템의 블록 다이아그램이다. 도 2는 도 1에 도시된 네트워크 장치의 블록도이다. 도 3은 도 1에 도시된 네트워크 장치에서 가상 스위치 사이에 형성되는 터널 및 가상 스위치 사이와 네트워크 스위치의 링크 관계를 나타내는 블록도이다. 도 4는 도 1에 도시된 네트워크 장치에서 종단시스템과 업링크 포트에 할당되는 MAC 주소가 도시된 블록도이다.
1 is a block diagram of an entire network system to which a network device according to an embodiment of the present invention is connected. 2 is a block diagram of the network device shown in FIG. FIG. 3 is a block diagram showing a link relationship between a network switch and a tunnel formed between virtual switches in the network device shown in FIG. 1; FIG. 4 is a block diagram illustrating MAC addresses assigned to an end system and an uplink port in the network device shown in FIG.

본 발명의 실시예에 따른 네트워크 장치는, 도 1 내지 도 4를 참조하면, 적어도 두 개의 호스트(100)와 제어부(200) 및 적어도 두 개의 네트워크 스위치(300)를 포함한다. 미설명 부호인 400은 네트워크 스위치가 연결되는 일반적인 네트워크 망을 의미한다.
1 to 4, a network apparatus according to an embodiment of the present invention includes at least two hosts 100, a controller 200, and at least two network switches 300. The reference numeral 400 denotes a general network to which a network switch is connected.

상기 호스트(100)은 적어도 한 개의 종단시스템(End System; ES)(110)과 가상 스위치(130)와 적어도 두 개의 업링크 포트(140) 및 제어 에이전트(150)를 포함하여 형성된다. The host 100 includes at least one end system (ES) 110, a virtual switch 130, at least two uplink ports 140, and a control agent 150.

상기 호스트(100)는 네트워크 스위치(300)를 통하여 네트워크 망(400)에 연결되어 패킷을 송수신하는 일반적인 시스템으로 형성된다. 예를 들면, 상기 호스트 (100)는 개인용 컴퓨터, 네트워크 컴퓨터, 모바일 단말 또는 멀티 프로세스 시스템과 같이 유선 통신을 통하여 네트워크에 접속하여 데이터를 송수신하는 장치를 포함한다. 상기 호스트(100)는 웹서버, 파일 서버, 파일 저장 시스템 등으로 동작할 수 있다. The host 100 is connected to the network 400 through the network switch 300 and is formed as a general system for transmitting and receiving packets. For example, the host 100 includes an apparatus for connecting to a network and transmitting / receiving data through wired communication, such as a personal computer, a network computer, a mobile terminal, or a multiprocess system. The host 100 may operate as a web server, a file server, a file storage system, or the like.

상기 호스트(100)는 동일 클러스터(cluster) 내부에 적어도 두 개가 위치하게 된다. 또한, 상기 호스트(100)는 내부에 가상 스위치(130)를 포함한다. 여기서, 상기 클러스터는 가상 스위치(130)가 내부에 위치하는 호스트(100)의 집합을 의미한다. 상기 네트워크 장치는 각 호스트(100)내에 위치하는 가상 스위치(130)들 사이에 OSI L2계층에서 적어도 두 개의 터널에 의한 다중 경로를 형성하고, 다중 경로를 통하여 호스트(100)들 사이에서 패킷 형태의 데이터를 송수신하게 된다. 또한, 상기 네트워크 장치는 호스트(100)들 사이에서 그물망 형태의 네트워크(full mesh network)를 형성하여 데이터를 송수신하게 된다. At least two of the hosts 100 are located in the same cluster. Also, the host 100 includes a virtual switch 130 therein. Here, the cluster means a set of hosts 100 in which the virtual switch 130 is located. The network device forms multipaths by at least two tunnels in the OSI L2 layer between the virtual switches 130 located in each host 100, Data is transmitted and received. In addition, the network device forms a full mesh network between the hosts 100 to transmit and receive data.

따라서, 상기 네트워크 장치는 고가의 전용 장비를 사용하지 않고도 소프트웨어적인 방법으로 동일 계층의 호스트(100)들 사이에 다중 경로를 형성하여 패킷을 송수신하게 된다.Therefore, the network device forms a multipath between the hosts 100 of the same layer by a software method without using expensive dedicated equipment, and transmits / receives the packet.

또한, 상기 네트워크 장치는 동일 클러스터 외부에 위치하는 호스트들과도 네트워크 망(400)을 통하여 데이터를 송수신하게 된다.
In addition, the network device transmits and receives data to and from the hosts located outside the same cluster through the network 400.

상기 종단시스템(110)은 네트워크에서 종단에 위치하는 시스템을 의미하며, 네트워크를 통하여 패킷 형태의 데이터를 송수신하는 시스템을 의미한다. 상기 종단시스템(110)은 호스트(100) 자체이거나 호스트(100)에 탑재되는 적어도 한 개의 가상 머신(120)일 수 있다. 따라서, 상기 종단시스템(110)은 호스트(100)만으로 또는 가상 머신(120)만으로 이루어지거나, 호스트(100) 및 적어도 한 개의 가상 머신(120)으로 이루어질 수 있다. 이하에서는, 상기 호스트(100)가 종단시스템(110)으로 작용하는 경우에 별도의 블록으로 표시하고, 블록에 대한 도면 부호를 '100a'로 부여한다. 한편, 상기 종단시스템(110)이 데이터를 전송하는 경우에 호스트(100a) 또는 가상 머신(120)인지에 관계없이 송신 종단시스템으로 지칭하며, 패킷을 수신하는 경우에 수신 종단시스템으로 지칭한다.The termination system 110 refers to a system located at an end in a network, and refers to a system for transmitting and receiving packet-type data through a network. The termination system 110 may be the host 100 itself or at least one virtual machine 120 mounted on the host 100. Thus, the end system 110 may be comprised of only the host 100 or only the virtual machine 120, or may be comprised of the host 100 and the at least one virtual machine 120. Hereinafter, when the host 100 acts as the end system 110, the host 100 is indicated as a separate block and the reference numeral 100a is assigned to the block. On the other hand, when the terminal system 110 transmits data, it refers to the transmission terminal system regardless of whether it is the host 100a or the virtual machine 120, and when receiving the packet, it refers to the reception terminal system.

상기 종단시스템(110)은 가상 스위치(130)와 데이터 송수신을 위한 적어도 한 개의 종단시스템 내부 포트(112, 122)를 포함하게 된다. 상기 종단시스템 내부 포트(112, 122)는 호스트(100a)에 형성되는 내부 포트(112)와 가상 머신(120)에 형성되는 내부 포트(122)로 구분될 수 있다. 상기 종단시스템 내부 포트(112)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다. The termination system 110 includes a virtual switch 130 and at least one termination system internal port 112, 122 for data transmission and reception. The end system internal ports 112 and 122 may be divided into an internal port 112 formed in the host 100a and an internal port 122 formed in the virtual machine 120. [ The end system internal port 112 is a logical internal port and is a virtual interface implemented in software.

상기 종단시스템(110)은 고유의 MAC 주소가 할당된다. 예를 들면, 상기 종단시스템(110)은 한 개의 호스트(100a)와 N-1개의 가상 머신(120)을 포함하는 경우에 'MAC 1', 'MAC 2', …, MAC N'과 같은 MAC 주소가 할당된다. 상기 종단시스템(110)은 패킷을 송신할 때 자신의 MAC 주소를 송신지 주소(Source Address)로 추가하고, 패킷을 전송하고자 하는 종단시스템(110)의 주소를 수신지 주소(Destination Address)로 추가하게 된다.
The end system 110 is assigned a unique MAC address. For example, if the end system 110 includes one host 100a and N-1 virtual machines 120, 'MAC 1', 'MAC 2', ... , MAC N '. When transmitting the packet, the end system 110 adds its MAC address as a source address and adds the address of the end system 110 to which the packet is to be transmitted as a destination address .

상기 가상 머신(120)은 호스트(100)내에서 독립적인 기능을 수행하는 어플리케이션(application)이며, 전형적인 가상 머신으로 생성될 수 있다. 상기 가상 머신(120)은 호스트(100) 내부에 생성되지 않거나 적어도 한 개로 생성되며, 호스트(100a)와 마찬가지로 각각 MAC 주소가 할당된다. 상기 가상 머신(120)은 가상 스위치(130)와 패킷 형태의 데이터를 송수신하기 위하여 적어도 한 개의 가상 머신 내부 포트(122)를 포함하게 된다. 상기 가상 머신 내부 포트(122)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다.
The virtual machine 120 is an application that performs an independent function in the host 100, and can be created as a typical virtual machine. The virtual machine 120 is not created in the host 100 or is generated in at least one host, and the MAC address is assigned to each of the virtual machines 120, like the host 100a. The virtual machine 120 includes at least one virtual machine internal port 122 for transmitting and receiving packet type data to and from the virtual switch 130. The virtual machine internal port 122 is a logical internal port and is a virtual interface implemented in software.

상기 가상 스위치(Virtual Switch)(130)는 종단시스템(110)과 데이터를 송수신하기 위한 가상 스위치 내부 포트(132)를 포함하게 된다. 상기 가상 스위치(130)는 가상 스위치 내부 포트(132)를 통하여 종단시스템(110)의 종단시스템 내부 포트(112, 122)와 연결되어 패킷 형태의 데이터를 송수신하게 된다. 상기 가상 스위치 내부 포트(132)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다. The virtual switch 130 includes a virtual switch internal port 132 for transmitting and receiving data to and from the terminal system 110. The virtual switch 130 is connected to the end system internal ports 112 and 122 of the end system 110 through the virtual switch internal port 132 to transmit and receive packet data. The virtual switch internal port 132 is a logical internal port and is a virtual interface implemented in software.

상기 가상 스위치(130)는 업링크 포트(140)들과 연결되며, 업링크 포트(140)를 통하여 호스트(100)의 외부에 위치하는 물리적인 스위치인 네트워크 스위치(300)와 연결된다. 상기 가상 스위치(130)는 업링크 포트(140)로 사용하여 클러스터 내부의 다른 가상 스위치(130)들과 OSI L2계층의 터널을 형성하게 된다. 상기 업링크 포트(140)는 이하에서 설명하는 바와 같이 호스트(100)에 설치되는 물리적인 네트워크 장치인 네트워크 인터페이스 카드(Network Interface Card; NIC)의 포트들을 의미한다.The virtual switch 130 is connected to the uplink ports 140 and is connected to the network switch 300 which is a physical switch located outside the host 100 through the uplink port 140. The virtual switch 130 is used as an uplink port 140 to form a tunnel of the OSI L2 layer with other virtual switches 130 in the cluster. The uplink port 140 refers to ports of a network interface card (NIC) which is a physical network device installed in the host 100 as described below.

상기 가상 스위치(130)는 소프트웨어 스위치로 형성되며, 각각의 호스트(100) 내부에 위치하게 된다. 따라서, 상기 가상 스위치(130)는 호스트(100)와 동일한 개수로 형성될 수 있다. 상기 가상 스위치(130)는 클러스터 내부에 위치하는 다른 가상 스위치(130)들과의 사이에 적어도 두 개의 OSI L2 계층의 터널(t1, t2, t3)을 형성하며, 각 터널을 다른 가상 스위치(130)들과 패킷 형태의 데이터를 송수신하는 다중 경로로 사용하게 된다. 즉, 상기 가상 스위치(130)는 실질적으로 L2 계층의 스위치로 작동되도록 구현된다. 또한, 상기 네트워크 장치는 L2계층뿐만 아니라 L3 계층 또는 L4 계층에서 가상 스위치(130)에 의한 L2 계층을 연결하는 터널을 형성하는 경우에 원격에 있는 네트워크와 다중 경로를 통한 패킷 송수신이 가능하게 된다. 예를 들면, 상기 네트워크 장치는 데이터 센터와 데이터 센터 사이에 가상 네트워크를 구성하여 다중 경로로 패킷을 송수신할 수 있다.The virtual switch 130 is formed of a software switch, and is located inside each host 100. Therefore, the number of virtual switches 130 may be the same as that of the host 100. The virtual switch 130 forms at least two tunnels t1, t2 and t3 of the OSI L2 layer between the virtual switches 130 and other virtual switches 130 located inside the cluster, ) As a multipath for transmitting and receiving packet type data. That is, the virtual switch 130 is implemented to operate substantially as an L2 layer switch. In addition, when the network device forms a tunnel connecting the L2 layer by the virtual switch 130 in the L3 layer or the L4 layer in addition to the L2 layer, the network device can transmit and receive a packet through a multi-path with a remote network. For example, the network device can configure a virtual network between a data center and a data center to transmit and receive packets in multiple paths.

상기 가상 스위치(130)는 네트워크 스위치(300)를 통하여 클러스터 내부에 위치하는 다른 호스트(100)들의 가상 스위치(130)와 터널에 의한 다중 경로로 연결되며, 호스트(100)들 사이에 그물망 형태의 네트워크를 형성하게 된다. 예를 들면, 도 3을 참조하면, 가상 스위치 1은 네트워크 스위치 1 내지 3을 통하여 가상 스위치 2와 3개의 터널(t1)을 형성하며, 가상 스위치 3과 3개의 터널(t2)을 형성할 수 있다. 또한, 가상 스위치 2는 네트워크 스위치 1 내지 3을 통하여 가상 스위치 3과 3개의 터널(t3)을 형성할 수 있다. 상기 터널은 양측에 위치하는 가상 스위치(130)의 각 업링크 포트(140)에 할당되는 MAC 주소의 쌍으로 형성된다. 또한, 상기 터널은 가상 스위치(130)들 사이에서 최단 경로를 지나도록 형성된다. 상기 가상 스위치(130)는 패킷을 업링크 포트(140)의 MAC 주소로 이루어지는 L2 계층의 헤더로 감싸고 다중 경로를 이용하여 송수신하게 된다. 보다 구체적으로는, 상기 가상 스위치(130)는 자신의 업링크 포트(140)의 MAC 주소와 패킷을 수신하는 가상 스위치(130)의 업링크 포트(140)의 MAC 주소로 이루어지는 L2 계층의 헤더로 패킷을 감싸게 된다. 여기서, 상기 패킷을 수신하는 가상 스위치(130)는 패킷을 수신하는 종단시스템(110)이 연결된 가상 스위치(130)를 의미한다. 한편, 상기 터널은 기존의 프로토콜을 포함하여 터널을 만들기 위하여 사용되는 터널링 프로토콜(예를 들면, L2TP)에 의하여 형성될 수 있다.The virtual switch 130 is connected to the virtual switch 130 of the other hosts 100 located inside the cluster through a network switch 300 by a multipath by a tunnel, Thereby forming a network. For example, referring to FIG. 3, the virtual switch 1 forms three tunnels t1 with the virtual switch 2 through the network switches 1 to 3, and can form three tunnels t2 with the virtual switch 3 . Further, the virtual switch 2 can form the virtual switch 3 and the three tunnels t3 through the network switches 1 to 3. The tunnel is formed of a pair of MAC addresses allocated to each uplink port 140 of the virtual switch 130 located on both sides. Further, the tunnel is formed so as to pass the shortest path between the virtual switches 130. The virtual switch 130 encapsulates the packet in the header of the L2 layer formed by the MAC address of the uplink port 140 and transmits and receives the packet using the multipath. More specifically, the virtual switch 130 is an L2 layer header composed of the MAC address of its own uplink port 140 and the MAC address of the uplink port 140 of the virtual switch 130 receiving the packet Packets are wrapped. Here, the virtual switch 130 receiving the packet means the virtual switch 130 connected to the end system 110 receiving the packet. Meanwhile, the tunnel may be formed by a tunneling protocol (for example, L2TP) used to create a tunnel including an existing protocol.

상기 가상 스위치(130)는 터널에 의한 다중 경로를 사용하여 패킷을 수신할 때, 업링크 포트(140)로 수신한 패킷을 가상 스위치(130)에 연결되어 있는 다른 업링크 포트(140)로 플러딩하지 않는다. 따라서, 상기 가상 스위치(130)는 물리적인 네트워크 스위치(300)와의 사이에서 네트워크 루프 또는 브로드캐스트 스톰이 발생되지 않도록 한다. 한편, 상기 터널을 형성하는 양단의 업링크 포트(140)들은 동일한 네트워크 스위치(300)를 통하여 연결된다. 또한, 상기 가상 스위치(130)를 연결하는 복수 개의 터널들은 각각 다른 네트워크 스위치(300)를 통하여 연결되어 패킷 송수신 효율을 증가시키게 된다.The virtual switch 130 floods the packet received by the uplink port 140 to another uplink port 140 connected to the virtual switch 130 when receiving the packet using the multi path by the tunnel I never do that. Accordingly, the virtual switch 130 prevents a network loop or a broadcast storm from occurring between the virtual switch 130 and the physical network switch 300. Meanwhile, uplink ports 140 at both ends forming the tunnel are connected through the same network switch 300. In addition, the plurality of tunnels connecting the virtual switch 130 are connected to each other through another network switch 300, thereby increasing the efficiency of transmitting and receiving a packet.

또한, 상기 가상 스위치(130)는 업링크 포트(140)에 의하여 네트워크 스위치(300)와 물리적 네트워크 링크를 형성하게 된다. 따라서, 상기 가상 스위치(130)는 네트워크 스위치(300)를 통하여 클러스터 외부에 위치하며 가상 스위치(130)가 존재하지 않는 호스트들과 패킷 형태의 데이터를 송수신할 수 있다. 또한, 상기 가상 스위치(130)는 클러스터 내에 위치하는 호스트(100)들 사이의 데이터 송수신과 클러스터 외부에 위치하는 호스트(100)와의 데이터 송수신을 가능하게 한다. 상기 가상 스위치(130)는 어느 하나의 특정 종단시스템(110)에서 네트워크 스위치(300)를 통하여 클러스터 외부로 패킷을 송신할 때 어느 하나의 할당된 업링크 포트(140)를 사용하며 임의의 업링크 포트(140) 또는 복수 개의 업링크 포트(140)를 사용하지 않는다. 따라서, 상기 가상 스위치(130)는 네트워크 스위치(300)의 MAC 주소 학습에 장애가 발생되는 것을 방지하게 된다.
In addition, the virtual switch 130 forms a physical network link with the network switch 300 through the uplink port 140. Accordingly, the virtual switch 130 is located outside the cluster through the network switch 300, and can exchange packet-type data with hosts that do not have the virtual switch 130. In addition, the virtual switch 130 enables data transmission / reception between the hosts 100 located in the cluster and data transmission / reception with the host 100 located outside the cluster. The virtual switch 130 uses any one of the assigned uplink ports 140 when transmitting a packet to the outside of the cluster through the network switch 300 in any one of the specific end systems 110, Port 140 or a plurality of uplink ports 140 are not used. Therefore, the virtual switch 130 prevents the failure of the MAC address learning of the network switch 300.

상기 업링크 포트(140)는 호스트(100) 내부에 위치하는 물리적 입출력 포트로서 네트워크 인터페이스 카드(Network Interface Card; NIC)의 입출력 포트들로 이루어질 수 있다. 상기 업링크 포트(140)는 적어도 네트워크 스위치(300)의 개수에 대응되는 개수로 형성되며, 바람직하게는 네트워크 스위치(300)의 개수에 대응되는 개수로 형성된다. 한편, 상기 네트워크 스위치(300)의 송신 성능이 업링크 포트(140)의 성능보다 높을 경우에 하나의 네트워크 스위치(300)에 복수 개의 업링크 포트(140)가 연결될 수 있다. 이러한 경우에, 상기 업링크 포트(140)는 네트워크 스위치(140)보다 많은 개수로 형성될 수 있다. 또한, 상기 업링크 포트(140)는 호스트(100) 내부에 위치하는 한 개 또는 복수의 종단시스템(110)에 대하여 특정하여 할당되며, 클러스터 외부에 위치하는 호스트들과 패킷을 송수신할 때, 할당된 종단시스템(110)에서 전송되는 패킷만을 전송하며 할당된 종단시스템(110)으로 수신되는 패킷만을 수신하게 된다.The uplink port 140 may be a physical input / output port located inside the host 100 and may include input / output ports of a network interface card (NIC). The uplink ports 140 are formed in a number corresponding to at least the number of the network switches 300 and are preferably formed in a number corresponding to the number of the network switches 300. Meanwhile, when the transmission performance of the network switch 300 is higher than that of the uplink port 140, a plurality of uplink ports 140 may be connected to one network switch 300. In this case, the uplink port 140 may be formed in a larger number than the network switch 140. The uplink port 140 is allocated specifically to one or a plurality of the end systems 110 located in the host 100. When the packets are transmitted and received to hosts located outside the cluster, Only the packet transmitted from the end system 110 is received and only the packet received by the assigned end system 110 is received.

상기 업링크 포트(140)는, 도 3을 참조하면, 각각 MAC 주소와 같은 고유의 L2 계층의 주소가 할당된다. 상기 업링크 포트(140)의 MAC 주소는 네트워크 인터페이스 카드 제조사에서 부여한 고유 값을 사용하고, 한편, 주소 검색 성능을 향상시키기 위해 업링크 포트(140)가 연결되는 물리적인 스위치인 네트워크 스위치(300)의 순번과 해당 업링크 포트(140)의 순번 및 기타 라우팅 정보를 반영하여 임의로 부여될 수 있으며, 제어부(200)에 의하여 변경 또는 삭제되어 저장된다. Referring to FIG. 3, the uplink port 140 is assigned a unique L2 layer address such as a MAC address. The MAC address of the uplink port 140 is a unique value given by the network interface card manufacturer and is used by the network switch 300 as a physical switch to which the uplink port 140 is connected to improve the address search performance. The sequence number of the corresponding uplink port 140, and other routing information, and is modified or deleted by the control unit 200 and stored.

또한, 상기 업링크 포트(140)는 클러스터 외부에 위치하는 네트워크 스위치(300)와 연결된다. 상기 업링크 포트(140)는 바람직하게는 각각 서로 다른 네트워크 스위치(300)와 일대일로 연결된다.
Also, the uplink port 140 is connected to the network switch 300 located outside the cluster. The uplink ports 140 are preferably connected in a one-to-one manner with different network switches 300, respectively.

상기 제어 에이전트(150)는 가상 스위치(130)의 내부에 위치하게 된다. 상기 제어 에이전트(150)는 소프트웨어로 이루어지며, 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하여 데이터의 송수신에 필요한 네트워크 정보를 관리하게 된다. 상기 네트워크 정보는 호스트(100)와 네트워크 스위치(300) 사이에서 패킷을 송수신하는데 필요한 모든 정보를 포함한다. 예를 들면, 상기 네트워크 정보는 종단시스템(110)과 업링크 포트(140)의 연결 관계에 대한 정보, 종단시스템(110)의 MAC 주소 및 종단시스템(110)이 연결되는 가상 스위치(130)에 대한 정보, 가상 스위치(130)들 사이에서 패킷이 전달되는 경로에 대한 정보 및 다른 호스트(100)의 가상 스위치(130)와 패킷이 전달되는 경로에 대한 정보를 포함한다.The control agent 150 is located inside the virtual switch 130. The control agent 150 is implemented by software and manages network information necessary for data transmission and reception, including the MAC addresses of the end system 110 and the uplink port 140. The network information includes all information necessary to transmit and receive a packet between the host 100 and the network switch 300. For example, the network information may include information on the connection relationship between the end system 110 and the uplink port 140, the MAC address of the end system 110, and the virtual switch 130 to which the end system 110 is connected Information about a path through which packets are transferred between the virtual switches 130, and information about paths through which the virtual switches 130 and packets of the other host 100 are transmitted.

상기 제어 에이전트(150)는, 도 4를 참조하면, 가상 스위치(130)에 연결되어 있는 종단시스템(110)에 대한 정보(테이블 1), 가상 스위치(130)가 클러스터 내부에 위치하는 다른 호스트(100)에 포함되어 있는 가상 스위치(130)와 형성되는 다중 경로에 대한 정보(테이블 2), 각 다중 경로의 양단에 위치하는 가상 스위치(130)의 업링크 포트(140)와 업링크 포트(140)의 MAC 주소에 대한 정보(테이블 3), 각 종단시스템(110)에 클러스터 외부와의 통신용으로 할당된 업링크 포트(140)에 대한 정보(테이블 4)등을 저장 및 관리한다. 보다 구체적으로, 호스트 1을 기준으로 설명하면, 테이블 1은 호스트 1에 포함되어 있는 가상 스위치 1(Virtual Switch 1)이 호스트(100a; MAC 1)와 가상 머신(120; MAC 3, MAC 4)에 연결되어 있으며, 호스트 2에 포함되어 있는 가상 스위치 2(Virtual Switch 2)가 종단시스템인 호스트(100a; MAC 2)와 가상 머신(120; MAC 5, MAC 6)에 연결되어 있다는 정보를 포함한다. 또한, 테이블 2는 가상 스위치 1(Virtual Switch 1)이 클러스터 내부의 다른 가상 스위치인 가상 스위치 2(Virtual Switch 2)와 PATH 1 및 PATH 2와 같은 경로를 통하여 연결되고 있다는 정보를 포함한다. 또한, 테이블 3은 PATH 1이 가상 스위치 1(Virtual Switch 1)의 업링크 포트 1(MAC 11)과 가상 스위치 2(Virtual Switch 2)의 업링크 포트 1(MAC 21) 사이에 형성되며, PATH 2가 가상 스위치 1(Virtual Switch 1)의 업링크 포트 2(MAC 12)와 가상 스위치 2(Virtual Switch 2)의 업링크 포트 2(MAC 22) 사이에 형성된다는 정보를 포함한다. 또한, 테이블 4는 종단시스템인 호스트(MAC 1)와 하나의 가상 머신(MAC 3)이 업링크 포트 1에 연결되며, 다른 하나의 가상 머신(MAC 4)이 업링크 포트 2에 연결된다는 정보를 포함한다.4, information about the end system 110 connected to the virtual switch 130 (table 1), information about the status of the virtual switch 130 connected to another host Information about the multipath formed by the virtual switch 130 included in the uplink port 140 and the uplink port 140 of the virtual switch 130 located at both ends of each multipath, (Table 3), information about the uplink port 140 allocated for communication with the outside of the cluster (Table 4) in each of the end systems 110, and the like. More specifically, with reference to the host 1, Table 1 shows that the virtual switch 1 (Virtual Switch 1) included in the host 1 is connected to the host 100a (MAC 1) and the virtual machines 120 (MAC 3 and MAC 4) And information that the virtual switch 2 included in the host 2 is connected to the host 100a (MAC 2) and the virtual machine 120 (MAC 5, MAC 6), which are the end systems. Table 2 also includes information that the virtual switch 1 is connected to the virtual switch 2 (Virtual Switch 2), which is another virtual switch in the cluster, via paths such as PATH 1 and PATH 2. In Table 3, PATH 1 is formed between the uplink port 1 (MAC 11) of the virtual switch 1 and the uplink port 1 (MAC 21) of the virtual switch 2, and PATH 2 Is formed between the uplink port 2 (MAC 12) of the virtual switch 1 and the uplink port 2 (MAC 22) of the virtual switch 2 (Virtual Switch 2). Table 4 also shows that the host system (MAC 1) and one virtual machine (MAC 3) are connected to the uplink port 1 and that the other virtual machine (MAC 4) is connected to the uplink port 2 .

또한, 상기 제어 에이전트(150)는 제어부(200)와 연동하며, 제어부(200)로부터 상기의 각 테이블에서 변경되는 정보를 송수신하여 관리하게 된다. 또한, 상기 제어 에이전트(150)는 다른 호스트(100)에 위치하는 제어 에이전트(150)와도 필요한 정보를 송수신하여 관리한다.
In addition, the control agent 150 interlocks with the control unit 200, and transmits and receives information to be changed in the respective tables from the control unit 200 to manage the changed information. In addition, the control agent 150 transmits and receives necessary information to and from the control agent 150 located in another host 100.

상기 제어부(200)는 데이터베이스(210)를 포함하며, 클러스터 내부에 위치하는 호스트(100)의 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하는 네트워크 장치의 정보를 제어하게 된다. 상기 제어부(200)는 클러스터 내부에 위치하는 호스트(100)의 종단시스템(110) 및 가상 스위치(130)의 인터페이스에 필요한 MAC 주소, IP, DNS, 라우팅 테이블등의 네트워크 환경을 정적인 방법 또는 동적인 방법으로 제어하게 된다. 즉, 상기 제어부(200)는 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 저장, 변경 또는 삭제하여 관리하게 된다. 또한, 상기 제어부(200)는 종단시스템(110) 및 가상 스위치(130)의 내부 포트의 정보를 저장 또는 변경하여 관리하게 된다. 상기 제어부(200)는 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하는 네트워크 장치의 정보를 각 가상 스위치(130)에 위치하는 제어 에이전트(150)와 송수신하게 된다.The control unit 200 includes a database 210 and controls information of a network device including a MAC address of an end system 110 and an uplink port 140 of a host 100 located in a cluster . The control unit 200 may control the network environment such as a MAC address, an IP, a DNS and a routing table necessary for the interface of the end system 110 and the virtual switch 130 of the host 100 located in the cluster, As shown in FIG. That is, the controller 200 stores, changes, or deletes the MAC addresses of the terminal system 110 and the uplink port 140, and manages the MAC addresses. In addition, the controller 200 stores or modifies the information of the internal ports of the end system 110 and the virtual switch 130 to manage the internal ports. The controller 200 transmits and receives information of the network devices including the MAC addresses of the end system 110 and the uplink port 140 to the control agent 150 located in each virtual switch 130.

상기 제어부(200)는 클러스터 내부에 위치하는 어느 하나의 호스트(100)에 위치할 수 있으며, 클러스터 내부에 위치하는 복수 개의 호스트(100)에 분산되어 위치할 수 있다. 또한, 상기 제어부(200)는 별도의 서버에 위치할 수 있다. The controller 200 may be located in any one host 100 located in the cluster and may be located in a plurality of hosts 100 located in the cluster. Also, the controller 200 may be located in a separate server.

상기 데이터 베이스(210)는 클러스터 내부에 위치하는 호스트(100)의 설정 정보와 상태를 포함하는 정보를 저장하게 된다. 또한, 상기 데이터베이스(210)는 클러스터 내부에 위치하는 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하는 네트워크 장치의 정보를 저장하게 된다. 여기서, 상기 종단시스템(110) 및 가상 스위치(130)는 패킷을 전송하는 송신 측과 패킷을 수신하는 수신 측을 포함한다.The database 210 stores information including the setting information and status of the host 100 located in the cluster. In addition, the database 210 stores information of a network device including MAC addresses of the end system 110 and the uplink port 140 located in the cluster. Here, the end system 110 and the virtual switch 130 include a transmitting side for transmitting a packet and a receiving side for receiving a packet.

상기 제어부(200)는 별도의 제어 포트(220)를 통하여 각각의 네트워크 스위치(300)와 연결되며, 네트워크 스위치(300)에 연결되는 각 호스트(100)와 정보를 송수신하게 된다.
The controller 200 is connected to each network switch 300 through a separate control port 220 and transmits and receives information to and from each host 100 connected to the network switch 300.

상기 네트워크 스위치(300)는 OSI 7 계층 중에서 L2 계층(Layer)에 위치하는 L2 스위치로 형성된다. 한편, 상기 네트워크 스위치(300)는 네트워크 장치에서 사용되는 L3 계층의 L3 스위치 또는 L4 계층의 L4 스위치가 사용될 수 있다.The network switch 300 is formed of an L2 switch located at an L2 layer of the OSI layer. The L3 switch of the L3 layer or the L4 switch of the L4 layer used in the network device may be used as the network switch 300. [

상기 네트워크 스위치(300)는 MAC 주소 학습에 의하여 네트워크 스위치(300)의 네트워크 포트(310)와 해당 네트워크 포트(310)로 수신된 패킷의 송신지 주소의 업링크 포트(140)와의 연결관계에 대한 학습된 주소 테이블을 생성하여 관리하게 된다. 예를 들면, 도 4를 참조하면, 상기 네트워크 스위치 1은, 네트워크 포트 1(P 1)이 가상 스위치 1의 업링크 포트 1(MAC 11)과 연결되어 있으며, 네트워크 포트 2(P 2)가 가상 스위치 2의 업링크 포트 1(MAC 21)과 연결되는 정보에 대한 학습된 주소 테이블(테이블 5)을 생성하여 관리하게 된다. 또한, 네트워크 스위치 2와 네트워크 스위치 3도 각각의 포트와 연결되는 가상 스위치 1 및 가상 스위치 2의 업링크 포트에 대한 학습된 주소 테이블(테이블 6, 테이블 7)을 생성하여 관리하게 된다. 한편, 도 4에서 네트워크 스위치(300)가 관리하는 학습된 주소 테이블에서 삭제된 것으로 표시된 정보는 네트워크 스위치(300)가 최초 패킷을 수신하였을 때 학습된 정보이며, 학습 후에 사용되지 않으며 일정 시간이 경과한 후에 삭제된 정보를 나타낸다.The network switch 300 determines the connection relationship between the network port 310 of the network switch 300 and the uplink port 140 of the destination of the packet received through the corresponding network port 310, The learned address table is created and managed. For example, referring to FIG. 4, the network switch 1 is configured such that the network port 1 (P 1) is connected to the uplink port 1 (MAC 11) of the virtual switch 1, and the network port 2 A learned address table (table 5) for information connected to the uplink port 1 (MAC 21) of the switch 2 is generated and managed. The network switch 2 and the network switch 3 also generate and manage the learned address table (Table 6, Table 7) for the virtual switch 1 and the uplink port of the virtual switch 2 connected to the respective ports. 4, the information that is deleted from the learned address table managed by the network switch 300 is information learned when the network switch 300 receives the first packet, is not used after the learning, And indicates deleted information after the deletion.

다음은 본 발명의 실시예에 따른 네트워크 장치에서 패킷 형태의 데이터를 송수신하는 방법에 대하여 구체적으로 설명한다.
A method for transmitting and receiving packet-type data in a network device according to an embodiment of the present invention will be described in detail.

먼저, 상기 네트워크 장치가 클러스터 내부에서 유니캐스트 패킷을 전송하는 방법에 대하여 설명한다.First, a method in which the network device transmits a unicast packet within a cluster will be described.

도 5는 본 발명의 실시예에 따른 네트워크 장치가 클러스터 내부에서 유니캐스트 패킷을 전송하는 흐름도이다.5 is a flowchart illustrating a method for transmitting a unicast packet within a cluster according to an exemplary embodiment of the present invention.

패킷을 전송하는 종단시스템(ES)(이하 '송신 종단시스템'이라 한다)(110s)은 전송하고자 하는 데이터(User Data)와 자신의 MAC 주소(MAC 1) 및 데이터를 전송하고자 하는 종단시스템(ES)(이하 '수신 종단시스템'이라 한다)(110d)의 MAC 주소(MAC 2)를 포함하는 패킷(original packet)을 송신 종단 시스템(110s)이 연결된 가상 스위치(이하 '송신 가상 스위치'라 한다)(Virtual Switch 1)(130)로 전송(S11)한다. 상기 송신 가상 스위치(130s)는 수신 종단시스템(110d)의 MAC 주소로부터 수신 종단시스템(110d)이 동일 클러스터 내부에 위치하는 종단시스템인지 여부를 확인하고, 수신 종단시스템(110d)이 연결된 가상 스위치(이하 '수신 가상 스위치'라 한다)(Virtual Switch 2)(130d)를 확인하게 된다. 이때, 상기 송신 가상 스위치(130s)는 네트워크 정보로부터 패킷이 수신되는 수신지 MAC 주소에 매칭되는 수신 가상 스위치(130d)의 MAC 주소에 대한 정보를 획득하게 된다. 또한, 상기 송신 가상 스위치(130s)는 제어 에이전트(150)가 관리하는 경로 테이블의 정보로부터 송신 가상 스위치(130s)의 업링크 포트(140s)의 MAC 주소(MAC 11, MAC 12, MAC 13)와 수신 가상 스위치(130d)의 업링크 포트(140d)의 MAC 주소(MAC 21, MAC 22, MAC 23)사이의 경로 관계를 확인하게 된다.An end system ES (hereinafter, referred to as a 'transmission terminal system') 110s for transmitting a packet includes a user data to be transmitted, a MAC address (MAC 1) of the user and an end system ES (Hereinafter, referred to as a "transmission virtual switch") to which the transmission terminal system 110s is connected, including a MAC address (MAC 2) of a reception end system (hereinafter referred to as a "reception end system") 110d, (Virtual Switch 1) 130 (S11). The transmission virtual switch 130s checks whether the receiving end system 110d is an end system located in the same cluster from the MAC address of the receiving end system 110d and checks whether the receiving end system 110d is connected to the virtual switch (Virtual Switch 2) 130d (hereafter referred to as a "received virtual switch"). At this time, the transmission virtual switch 130s obtains information on the MAC address of the receiving virtual switch 130d matching the destination MAC address from which the packet is received from the network information. Also, the transmission virtual switch 130s receives the MAC address (MAC 11, MAC 12, MAC 13) of the uplink port 140s of the transmission virtual switch 130s from the information of the route table managed by the control agent 150 (MAC 21, MAC 22, MAC 23) of the uplink port 140d of the receiving virtual switch 130d.

상기에서 설명한 바와 같이, 상기 터널은 송신 가상 스위치(130s)와 수신 가상 스위치(130d)의 업링크 포트의 MAC 주소에 의하여 복수 개로 형성된다. 또한, 상기 터널은 복수 개의 네트워크 스위치(300)를 이용하여 형성된다. 예를 들면, 상기 터널은 송신 가상 스위치(130s)의 업링크 포트(140s)인 NIC 1(MAC 11), NIC 2(MAC 12) 및 NIC 3(MAC 13)과 수신 가상 스위치(130d)의 업링크 포트(140d)인 NIC 1(MAC 21), NIC 2(MAC 22) 및 NIC 3(MAC 23)에 의하여 복수 개로 형성된다. 또한 상기 터널은 각각 네트워크 스위치 1과 2 및 3(300)을 통하여 형성된다. 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)으로부터 전송되는 패킷(original packet)을 자신의 업링크 포트(140s)의 MAC 주소인 송신지 MAC 주소와 패킷을 수신하는 수신 가상 스위치(130d)의 업링크 포트(140d)의 MAC 주소인 수신지 MAC 주소를 포함하는 확장 헤더로 감싸서 캡슐화된 패킷(L2 tunnel packet)을 형성하게 된다. 한편, 상기 패킷은 확장 헤더의 크기만큼 패킷 사이즈가 증가하게 되므로 송신 종단시스템(110s)과 수신 종단시스템(110d)에서 송수신되는 최대 전송 단위(Maximum Transmission Unit; MTU)값을 조정해 줄 필요가 있게 된다. 다만, 상기 네트워크 스위치(300)가 점보 프레임을 지원하는 경우에, 패킷 사이즈의 증가는 문제가 되지 않는다. As described above, the tunnel is formed by a plurality of the MAC addresses of the uplink ports of the transmission virtual switch 130s and the reception virtual switch 130d. In addition, the tunnel is formed using a plurality of network switches 300. For example, the tunnel may include uplink ports 140s of NIC 1 (MAC 11), NIC 2 (MAC 12), and NIC 3 (MAC 13) of the transmission virtual switch 130s and the uplink NIC 1 (MAC 21), NIC 2 (MAC 22), and NIC 3 (MAC 23) which are link ports 140d. The tunnels are also formed through network switches 1, 2 and 3 (300), respectively. The transmission virtual switch 130s transmits an original packet transmitted from the transmission terminal system 110s to a receiving virtual switch 130d receiving the MAC address of the MAC address of its uplink port 140s and a packet, The packet is wrapped with an extension header including the MAC address of the uplink port 140d, which is the MAC address of the uplink port 140d, to form an encapsulated packet (L2 tunnel packet). Meanwhile, since the packet size increases by the size of the extension header, the packet needs to adjust the maximum transmission unit (MTU) value transmitted and received in the transmission terminal system 110s and the reception terminal system 110d do. However, when the network switch 300 supports jumbo frames, the increase of the packet size is not a problem.

상기 송신 가상 스위치(130s)는 확장 헤더를 포함하는 패킷(L2 tunnel packet)을 네트워크 스위치(300)로 전송(S12)하게 된다. 또한, 상기 네트워크 스위치(300)는 수신되는 패킷을 수신 가상 스위치(130d)로 전송(S13)한다. 이때, 상기 송신 가상 스위치(130d)는 수신 가상 스위치(130s)와의 사이에 형성되는 다중 경로에 로드 밸런싱을 적용하여 전체적인 전송 성능(속도, 대역폭등)을 향상시키게 된다. The transmission virtual switch 130s transmits a packet (L2 tunnel packet) including an extension header to the network switch 300 (S12). Also, the network switch 300 transmits the received packet to the receiving virtual switch 130d (S13). At this time, the transmission virtual switch 130d applies load balancing to the multipath formed between itself and the receiving virtual switch 130s, thereby improving the overall transmission performance (speed, bandwidth, etc.).

상기 수신 가상 스위치(130d)는 패킷(L2 tunnel packet)을 수신한 후에 확장 헤더에 포함되어 있는 송신지 주소와 수신지 주소가 터널을 구성하는 업링크 포트(140s, 140d)의 MAC 주소임을 확인하거나, 패킷(L2 tunnel packet)이 L2 계층의 확장 헤더로 캡슐화되어 있음을 확인하여 다중 경로로 전송되는 패킷임을 확인하게 된다. 상기 수신 가상 스위치(130d)는 패킷(L2 tunnel packet)의 확장 헤더를 제거하고 수신 종단시스템(110d)의 MAC 주소(MAC 2)를 확인하고 수신 종단시스템(110d)으로 패킷(original packet)을 전송(S14)하게 된다.
After receiving the packet (L2 tunnel packet), the receiving virtual switch 130d confirms that the transmission destination address and the destination address included in the extension header are the MAC addresses of the uplink ports 140s and 140d constituting the tunnel , It is confirmed that a packet (L2 tunnel packet) is encapsulated in an extension header of the L2 layer and is transmitted in a multi-path. The receiving virtual switch 130d removes the extension header of the L2 tunnel packet and confirms the MAC address MAC2 of the receiving end system 110d and transmits the original packet to the receiving end system 110d (S14).

다음은 상기 네트워크 장치가 클러스터 내부에서 클러스터 외부로 유니캐스트 패킷을 전송하는 방법에 대하여 설명한다.Next, a method of transmitting the unicast packet from the inside of the cluster to the outside of the cluster by the network device will be described.

도 6은 본 발명의 실시예에 따른 네트워크 장치가 클러스터 외부로 유니캐스트 패킷을 전송하는 흐름도이다. 6 is a flowchart illustrating a method for transmitting a unicast packet to a network device outside a cluster according to an exemplary embodiment of the present invention.

상기 네트워크 장치는 클러스터 외부에 위치하는 수신 종단시스템(110d)에 패킷을 전송하는 경우에 수신 종단시스템(110d) 측에 패킷을 수신할 가상 스위치가 존재하지 않게 되므로, 패킷을 전송하기 위하여 다중 경로를 사용하지 않게 된다. 또한, 상기 네트워크 장치는 패킷을 캡슐화하지 않고 전송하게 된다.When the network device transmits a packet to the receiving end system 110d located outside the cluster, there is no virtual switch for receiving the packet at the receiving end system 110d side. Therefore, It is not used. In addition, the network device transmits the packet without encapsulating it.

상기 송신 종단시스템(110s)은 전송하고자 하는 데이터와 자신의 MAC 주소(MAC 1 또는 MAC 2) 및 데이터를 전송하고자 하는 수신 종단시스템(110d)의 MAC 주소(MAC 3)를 포함하는 패킷을 송신 가상 스위치(130s)로 전송(S21)한다. 상기 송신 가상 스위치(130s)는 수신 종단시스템(110d)의 MAC 주소(MAC 3)를 확인하여 수신 종단시스템(110d)이 클러스터 내부의 종단시스템이 아닌 것을 확인한다. 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)의 MAC 주소를 확인하여 외부로 패킷을 송신할 업링크 포트(NIC 1 또는 NIC 2)를 업링크 포트 할당테이블로부터 확인하게 된다. 이때, 상기 송신 가상 스위치(130s)는 업링크 포트 할당테이블로부터 확인하여 송신 종단시스템(110s)과 업링크 포트(NIC 1, NIC 2)의 연결관계를 확인한다. 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)으로부터 전송되는 패킷을 업링크 포트 할당테이블로부터 확인된 업링크 포트(NIC 1 또는 NIC 2)만을 이용하여 클러스터 외부의 네트워크 스위치(300)로 전송(S22)하게 된다. 즉, 상기 송신 가상 스위치(130s)는 MAC 1의 송신 종단시스템(110s)으로부터 전송되는 패킷을 NIC 1의 업링크 포트를 통하여 네트워크 스위치(Network Switch 1)(300)로 전송하며, MAC 2의 송신 종단시스템(110s)으로부터 전송되는 패킷을 NIC 2의 업링크 포트를 통하여 네트워크 스위치(Network Switch 2)(300)로 전송하게 된다. 따라서, 상기 네트워크 장치는 네트워크 스위치(300)에서 학습된 주소 테이블이 불안정하게 생성되지 않도록 한다. 상기 송신 가상 스위치(130s)는 패킷을 캡슐화하지 않고 네트워크 스위치(300)로 전송하게 된다. The transmission terminal system 110s transmits a packet including the data to be transmitted and a MAC address (MAC 3) of the MAC address (MAC 1 or MAC 2) of the receiving end system 110d and the MAC address (MAC 1 or MAC 2) To the switch 130s (S21). The transmission virtual switch 130s checks the MAC address (MAC 3) of the receiving end system 110d to confirm that the receiving end system 110d is not an end system in the cluster. The transmission virtual switch 130s confirms the MAC address of the transmission terminal system 110s and confirms the uplink port (NIC 1 or NIC 2) to transmit the packet to the outside from the uplink port allocation table. At this time, the transmission virtual switch 130s confirms the connection relationship between the transmission terminal system 110s and the uplink ports NIC 1 and NIC 2 by checking from the uplink port allocation table. The transmission virtual switch 130s transmits a packet transmitted from the transmission terminal system 110s to the network switch 300 outside the cluster using only the uplink port (NIC 1 or NIC 2) confirmed from the uplink port assignment table (S22). That is, the transmission virtual switch 130s transmits a packet transmitted from the transmission terminal system 110s of the MAC 1 to the network switch 1 (300) through the uplink port of the NIC 1, And transmits the packet transmitted from the terminal system 110s to the network switch 300 through the uplink port of the NIC2. Accordingly, the network device prevents the address table learned in the network switch 300 from being generated unstably. The transmission virtual switch 130s transmits the packet to the network switch 300 without encapsulating the packet.

상기 네트워크 스위치(300)는 송신 가상 스위치(130s)로부터 전송되는 패킷을 네트워크 망(400)을 통하여 클러스터 외부의 수신 종단시스템(110d)으로 전송(S23)하게 된다. The network switch 300 transmits the packet transmitted from the transmission virtual switch 130s to the receiving end system 110d outside the cluster through the network 400 (S23).

한편, 상기 네트워크 스위치(300)는 클러스터 외부의 수신 종단시스템(110d)으로 패킷을 전송하는 과정에서 학습된 주소 테이블(MAC table)을 생성 및 관리하게 되며, 이후에 수신 종단시스템(110d)들로부터 송신 종단시스템(110s)으로 전송되는 모든 패킷이 송신 종단시스템(110s)에 할당된 송신 가상 스위치(130s)의 업링크 포트를 통하여 송신 종단시스템(110s)으로 전달되도록 한다.
Meanwhile, the network switch 300 generates and manages the learned MAC table in the process of transmitting the packet to the receiving end system 110d outside the cluster, and then, from the receiving end system 110d, All of the packets to be transmitted to the transmission terminal system 110s are transmitted to the transmission terminal system 110s through the uplink port of the transmission virtual switch 130s assigned to the transmission terminal system 110s.

다음으로, 상기 네트워크 장치가 클러스터 내부에서 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 방법에 대하여 설명한다.Next, a method in which the network device transmits a multicast packet or a broadcast packet in a cluster will be described.

도 7은 본 발명의 실시예에 따른 네트워크 장치가 클러스터 내부에서 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 흐름도이다.FIG. 7 is a flowchart illustrating a method of transmitting a multicast packet or a broadcast packet within a cluster according to an exemplary embodiment of the present invention.

상기 송신 종단시스템(110s)은 전송하고자 하는 데이터와 자신의 MAC 주소(MAC 1) 및 데이터를 보내고자 하는 복수 개의 수신 종단시스템(110d)에 해당하는 멀티캐스트 주소 또는 브로드캐스트 주소(OxFFFFFFFFFFFF)를 포함하는 패킷(original packet)을 송신 가상 스위치(Virtual Switch 1)(130s)로 전송(S31)한다. 상기 송신 가상 스위치(130s)는 패킷의 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하게 된다. 또한, 상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신할 모든 수신 가상 스위치(Virtual Switch 2, … , Virtual Switch N)(130d)를 확인하게 된다. 상기 송신 가상 스위치(130s)는 유니캐스트 패킷의 송신 과정과 동일하게 캡슐화한 패킷(L2 tunnel packet)을 각 수신 가상 스위치(130d)로 전송하는 과정을 반복하여 수행(S32)하게 된다. 이때, 상기 송신 가상 스위치(130s)는 각 수신 가상 스위치(130d)와의 사이에 형성되는 다중 경로를 통하여 패킷을 전송하게 된다.The transmission terminal system 110s includes a multicast address or a broadcast address OxFFFFFFFFFFFF corresponding to a plurality of reception end systems 110d to which data to be transmitted and its MAC address MAC1 and data are to be transmitted To the transmission virtual switch 1 (130s) (S31). The transmission virtual switch 130s checks whether the destination MAC address of the packet is a multicast address or a broadcast address. Also, the transmission virtual switch 130s confirms all the receiving virtual switches (Virtual Switch 2, ..., Virtual Switch N) 130d to receive a multicast packet or a broadcast packet. The transmission virtual switch 130s repeats the process of transmitting the encapsulated packet (L2 tunnel packet) to each receiving virtual switch 130d in the same manner as the unicast packet transmission process (S32). At this time, the transmission virtual switch 130s transmits the packet through the multipath formed between each virtual switch 130d and each virtual switch 130d.

상기 수신 가상 스위치(130d)들은 수신되는 패킷이 확장 헤더로 캡슐화되어 있음을 확인하여 다중 경로를 통하여 전송되는 패킷임을 확인하게 된다. 상기 수신 가상 스위치(130d)는 패킷의 확장 헤더를 제거하여 수신지 MAC 주소(멀티캐스트 주소 또는 브로드캐스트 주소)를 확인하고 수신 종단시스템(110d)으로 패킷을 전송(S33)하게 된다. 상기 수신 종단시스템(110d)은 수신 가상 스위치(130d)로부터 전송되는 패킷을 수신하게 된다.
The receiving virtual switch 130d confirms that the received packet is a packet transmitted through the multipath by confirming that the received packet is encapsulated in the extended header. The reception virtual switch 130d removes the extension header of the packet and confirms the destination MAC address (multicast address or broadcast address) and transmits the packet to the reception end system 110d (S33). The receiving end system 110d receives a packet transmitted from the receiving virtual switch 130d.

다음은 상기 네트워크 장치가 클러스터 내부에서 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 방법에 대하여 설명한다.Next, a method of transmitting a multicast packet or a broadcast packet from the inside to the outside of the cluster will be described.

도 8은 본 발명의 실시예에 따른 네트워크 장치가 클러스터 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 흐름도이다. 8 is a flowchart illustrating a method for transmitting a multicast packet or a broadcast packet to a network device outside a cluster according to an exemplary embodiment of the present invention.

상기 네트워크 장치가 멀티캐스트 패킷 또는 브로드캐스트 패킷을 클러스터 내부에서 외부로 송신할 때는 패킷이 클러스터 내부에 위치하는 수신 종단시스템(110di)과 클러스터 외부에 위치하는 수신 종단시스템(110do)에도 전달된다. 따라서, 상기 네트워크 장치는 멀티캐스트 패킷 또는 브로드캐스트 패킷이 클러스터 내부의 수신 종단시스템(110di)으로 전송되는 것을 차단하게 된다.When the network device transmits a multicast packet or a broadcast packet from the inside to the outside of the cluster, the packet is also transmitted to the receiving end system 110di located inside the cluster and the receiving end system 110do located outside the cluster. Therefore, the network device blocks the multicast packet or the broadcast packet from being transmitted to the receiving-end system 110di within the cluster.

상기 송신 종단시스템(110s)은 전송하고자 하는 데이터와 자신의 MAC 주소(MAC 1) 및 데이터를 보내고자 하는 복수 개의 수신 종단시스템(110di, 110do)에 해당하는 멀티캐스트 주소 또는 브로드캐스트 주소(OxFFFFFFFFFFFF)를 포함하는 패킷(original packet)을 송신 가상 스위치(Virtual Switch 1)(130s)로 전송(S41)한다. 상기 송신 가상 스위치(130s)는 패킷의 수신지 MAC 주소를 확인하여, 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하게 된다.The transmission terminal system 110s transmits a multicast address or a broadcast address OxFFFFFFFFFFFF corresponding to a plurality of reception end systems 110di and 110do to transmit data and its own MAC address (MAC 1) To the transmitting virtual switch 130s (S41). The transmission virtual switch 130s checks the destination MAC address of the packet to check whether the destination MAC address is a multicast address or a broadcast address.

또한, 상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 송신해야 하는 수신 종단시스템(110di, 110do)이 클러스터 외부에도 위치하는지 여부를 확인한다. 상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 클러스터 외부로 전송하는 경우에 다중 경로를 사용하지 않게 된다. 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)과 업링크 포토(140s)의 연결관계를 업링크 포트 할당테이블에서 확인한 후에 송신 종단시스템(110s)에 할당된 하나의 업링크 포트를 이용하여 패킷을 네트워크 스위치(300)로 전송(S42)한다.Also, the transmission virtual switch 130s checks whether the receiving end system 110di or 110do to transmit a multicast packet or a broadcast packet is located outside the cluster. The transmission virtual switch 130s does not use the multipath when the multicast packet or the broadcast packet is transmitted outside the cluster. After the transmission virtual switch 130s confirms the connection relationship between the transmission terminal system 110s and the uplink port 140s in the uplink port assignment table, the transmission virtual switch 130s uses one uplink port allocated to the transmission terminal system 110s And transmits the packet to the network switch 300 (S42).

또한, 상기 네트워크 스위치(300)는 전송되는 패킷(original packet)을 플러딩하게 되므로 클러스터 내에 위치하는 다른 수신 가상 스위치(Virtual Switch 2, Virtual Switch 3, …)(130d)들로도 패킷이 전달(S43)되게 된다. 또한, 상기 네트워크 스위치(130)는 네트워크 망(400)으로 패킷을 전송(S44)하게 된다.Also, since the network switch 300 floods the original packet, the packet is transmitted to other receiving virtual switches (Virtual Switch 2, Virtual Switch 3, ...) 130d located in the cluster (S43) do. In addition, the network switch 130 transmits a packet to the network 400 (S44).

이때, 상기 클러스터 내부에 위치하는 수신 가상 스위치(130d)는 클러스터 외부에 위치하는 네트워크 스위치(300) 또는 네트워크 망(400)으로부터 패킷을 중복하여 수신(S43, S45)하게 되며, 수신된 멀티캐스트 패킷 또는 브로드캐스트 패킷에서 송신지 MAC 주소가 클러스터 내부인 패킷에 대하여는 수신한 후에 바로 폐기(S46)하여 패킷이 수신 종단시스템(110di)으로 전송되지 않도록 한다.At this time, the receiving virtual switch 130d located inside the cluster receives duplicate packets (S43, S45) from the network switch 300 or the network 400 located outside the cluster (S43, S45) The packet is discarded immediately after the reception of the packet in which the source MAC address is in the cluster in the broadcast packet (S46), so that the packet is not transmitted to the reception end system 110di.

또한, 상기 클러스터 외부에 위치하는 수신 종단시스템(110do)은 네트워크 망(400)을 통하여 전송되는 패킷을 수신(S47)하게 된다.
In addition, the receiving end system 110do located outside the cluster receives the packet transmitted through the network 400 (S47).

다음은 상기 네트워크 장치가 클러스터 내부 및 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 방법에 대하여 설명한다. Next, a description will be given of a method in which the network device transmits a multicast packet or a broadcast packet to and from a cluster.

도 9는 본 발명의 실시예에 따른 네트워크 장치가 클러스터 내부 및 외부로 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 흐름도이다. 도 9에 의한 방법은 도 7에 의한 패킷 송신과 도 8에 의한 패킷 송신을 동시에 수행하는 방법이다.
FIG. 9 is a flowchart illustrating a method for transmitting a multicast packet or a broadcast packet to a network device according to an exemplary embodiment of the present invention. The method according to FIG. 9 is a method for simultaneously performing packet transmission according to FIG. 7 and packet transmission according to FIG.

상기 송신 종단시스템(110s)은 전송하고자 하는 데이터와 자신의 MAC 주소(MAC1) 및 데이터를 보내고자 하는 복수의 수신 종단시스템(110di, 110do)에 해당하는 멀티캐스트 주소 또는 브로드캐스트 주소(OxFFFFFFFFFFFF)를 포함하는 패킷(original packet)을 송신 가상 스위치(Virtual Switch 1)(130s)로 전송(S51)한다.The transmission terminal system 110s transmits a multicast address or a broadcast address OxFFFFFFFFFFFF corresponding to a plurality of reception termination systems 110di and 110do to transmit data and its own MAC address MAC1 and data, (Virtual switch 1) 130s (S51).

상기 송신 가상 스위치(130s)는 패킷의 수신지 MAC 주소를 확인하여, 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하게 된다. 또한, 상기 송신 가상 스위치(130s)는 패킷을 송신해야 할 수신 종단시스템(110di, 110do)이 클러스터 외부에도 존재하는지 여부를 확인하게 된다. 상기 송신 가상 스위치(130s)는 패킷을 송신해야 하는 수신 종단시스템(110di, 110do)이 클러스터 내부와 외부에 동시에 존재하는 경우에 패킷을 클러스터 내부와 외부로 동시에 전송하게 된다. 한편, 상기 수신 종단시스템(110di)이 클러스터 외부에 존재하지 않는 경우에는 도 7의 방법에 따라 패킷을 전송하게 된다. The transmission virtual switch 130s checks the destination MAC address of the packet to check whether the destination MAC address is a multicast address or a broadcast address. Also, the transmission virtual switch 130s checks whether the receiving end systems 110di and 110do to which packets are to be transmitted are also present outside the cluster. The transmission virtual switch 130s simultaneously transmits the packet to both the inside and outside of the cluster when the receiving end system 110di and 110do to transmit the packet exists both inside and outside the cluster. On the other hand, if the receiving end system 110di is not located outside the cluster, the packet is transmitted according to the method of FIG.

상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 클러스터 외부로 송신할 때 다중 경로를 사용하지 않으므로, 도 8에서 설명한 방법에 따라 패킷을 전송하게 된다. 즉, 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)과 업링크 포트(140s)의 연결 관계를 업링크 포트 할당테이블을 통하여 확인하고 송신 종단시스템(110s)에 할당된 업링크 포트(140s)를 이용하여 패킷을 네트워크 스위치(300)으로 전송(S52)한다. 즉, 상기 송신 가상 스위치(130s)는 송신 종단시스템(MAC 1)에 할당된 업링크 포트(NIC 1)을 통하여 멀티캐스트 패킷 또는 브로드캐스트 패킷을 캡슐화하지 않고 전송하게 된다.Since the transmission virtual switch 130s does not use a multipath when transmitting a multicast packet or a broadcast packet outside the cluster, the transmission virtual switch 130s transmits the packet according to the method described in FIG. That is, the transmission virtual switch 130s verifies the connection relationship between the transmission terminal system 110s and the uplink port 140s through the uplink port assignment table and transmits the uplink port 140s To the network switch 300 (S52). That is, the transmission virtual switch 130s transmits the multicast packet or the broadcast packet through the uplink port (NIC 1) allocated to the transmission terminal system (MAC 1) without encapsulating it.

또한, 상기 네트워크 스위치(300)는 전송되는 패킷(original packet)을 플러딩하게 되므로 클러스터 내에 위치하는 다른 수신 가상 스위치(Virtual Switch 2, Virtual Switch 3, …)(130d)들로도 반복하여 패킷이 전달(S53)되게 된다. 또한, 상기 네트워크 스위치(300)는 네트워크 망(400)을 통하여도 패킷을 전송(S54)하게 된다.In addition, since the network switch 300 floods the original packet, the packet is repeatedly transmitted to other receiving virtual switches (Virtual Switch 2, Virtual Switch 3, ..., ). Also, the network switch 300 transmits a packet through the network 400 (S54).

상기 클러스터 내부에 위치하는 수신 가상 스위치(130d)는 클러스터 외부에 위치하는 네트워크 스위치(300) 또는 네트워크 망(400)으로부터 패킷을 중복하여 수신(S53, S55)하게 된다. 따라서, 상기 수신 가상 스위치(130d)는 수신된 멀티캐스트 패킷 또는 브로드캐스트 패킷에서 송신지 MAC 주소가 클러스터 내부에 위치하는 패킷에 대하여는, 경로 테이블에서 확인하여 송신 가상 스위치(130s)의 업링크 포트(NIC 1)(140s)와 연결된 터널의 수신 가상 스위치(130d)의 업링크 포트(NIC 1)(140d)로 수신된 패킷만을 수신 종단시스템(110di)으로 전송(S56)하게 된다. 또한, 상기 수신 가상 스위치(130d)는 다른 업링크 포트(NIC2, NIC3)로 수신된 패킷을 폐기(S57)하여 클러스터 내부의 수신 종단시스템(110di)으로 중복하여 패킷이 전송되지 않도록 한다. 즉, 상기 수신 가상 스위치(Virtual Switch 2, Virtual Switch 3)(130d)들은 송신 종단시스템(110s)에 할당된 업링크 포트(NIC 1-MAC 11)(140s)의 경로를 확인하고, 해당 경로의 수신 가상 스위치(130d)의 업링크 포트(NIC 1-MAC 21; NIC 1-MAC 31)를 통하여 전송되는 패킷만을 수신(S56)하고 나머지는 업링크 포트를 통하여 전송되는 패킷을 폐기(S57)하게 된다. 이때, 상기 수신 가상 스위치(130d)는 송신 종단시스템(MAC 1)(110s)에 할당된 송신 가상 스위치(130s)의 업링크 포트(NIC 1-MAC 11)를 업링크 포트 할당테이블에서 확인한다. 또한, 상기 수신 가상 스위치(130d)는 경로 테이블에서 송신 가상 스위치(130s)의 업링크 포트(NIC 1-MAC 11)와 연결된 수신 가상 스위치(130d)의 업링크 포트(NIC 1-MAC 21; NIC 1-MAC 31)를 검색하는 방법으로 송신 가상 스위치(130s)와 수신 가상 스위치(130d)사이에 형성되는 터널의 연결 관계를 확인하게 된다.The receiving virtual switch 130d located inside the cluster duplicates and receives packets from the network switch 300 or the network 400 located outside the cluster at steps S53 and S55. Therefore, the receiving virtual switch 130d confirms the packet in which the source MAC address is located in the cluster in the received multicast packet or the broadcast packet in the route table, and transmits it to the uplink port Only the packet received to the uplink port (NIC 1) 140d of the receiving virtual switch 130d of the tunnel connected to the NIC 1 140s is transmitted to the receiving end system 110di (S56). In addition, the receiving virtual switch 130d discards the packets received by the other uplink ports NIC2 and NIC3 (S57), thereby preventing packets from being transmitted to the receiving end system 110di in the cluster. That is, the Virtual Switch 2 (Virtual Switch 3) 130d confirms the path of the uplink port (NIC 1-MAC 11) 140s allocated to the transmission terminal system 110s, Only the packet transmitted through the uplink port (NIC 1-MAC 21) of the receiving virtual switch 130d is received (S56), and the remaining packets are discarded (S57) do. At this time, the receiving virtual switch 130d checks the uplink port (NIC1-MAC11) of the transmission virtual switch 130s allocated to the transmission terminal system (MAC 1) 110s in the uplink port assignment table. The receiving virtual switch 130d is also connected to the uplink port NIC1-MAC21 of the receiving virtual switch 130d connected to the uplink port (NIC1-MAC11) of the transmitting virtual switch 130s 1-MAC 31), the connection relationship of the tunnel formed between the transmission virtual switch 130s and the reception virtual switch 130d is confirmed.

또한, 상기 클러스터 외부에 위치하는 수신 종단시스템(110do)은 네트워크 망(400)을 통하여 전송되는 패킷을 수신(S58)하게 된다.
In addition, the receiving end system 110do located outside the cluster receives the packet transmitted through the network 400 (S58).

다음은 상기 네트워크 장치가 클러스터 외부에서 내부로 전송되는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신하는 방법에 대하여 설명한다.Next, a method for receiving a multicast packet or a broadcast packet in which the network device is transmitted from outside the cluster to the inside will be described.

도 10은 본 발명의 실시예에 따른 네트워크 장치가 클러스터 내부로 전송되는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신하는 일 실시예의 흐름도이다.
FIG. 10 is a flowchart of an embodiment in which a network device according to an embodiment of the present invention receives a multicast packet or a broadcast packet transmitted into a cluster.

상기 네트워크 장치는 클러스터 외부에 위치하는 송신 종단시스템(110s)으로부터 네트워크 망(400)으로 전송(S61)되어 네트워크 스위치(Network Switch 1)(300)로 수신(S62)되는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신할 때, 수신 가상 스위치(Virtual Switch 1)(130d)가 네트워크 스위치(Network Switch 1)(300)와 연결된 업링크 포트(NIC 1)(140d)로 패킷을 수신(S63)하게 된다. 또한, 상기 수신 가상 스위치(130d)는 할당된 업링크 포트(NIC 2, NIC 3)와 연결된 다른 네트워크 스위치(300)로부터도 패킷을 수신(S64)하게 된다.The network device is a multicast packet or a broadcast packet transmitted from the transmission terminal system 110s located outside the cluster to the network 400 in step S61 and received by the network switch 1 300 in step S62, The receiving virtual switch 130d receives a packet to the uplink port NIC 1 140d connected to the network switch 300 in step S63. The receiving virtual switch 130d also receives a packet from another network switch 300 connected to the assigned uplink ports NIC2 and NIC3 (S64).

상기 수신 가상 스위치(130d)는 업링크 포트 할당테이블을 참조하여, 각 업링크 포트(140d)로 수신되는 패킷을 각 수신 종단시스템(130d)으로 전송하게 된다. 즉, 상기 수신 가상 스위치(130d)는 업링크 포트(NIC 1)로 수신되는 패킷을 주소가 MAC 1인 수신 종단시스템(110d)과 MAC 2인 수신 종단시스템(110d)으로 각각 전송(S65)한다. 또한, 상기 수신 가상 스위치(130d)는 업링크 포트(NIC 2)로 수신되는 패킷을 주소가 MAC 3인 수신 종단시스템(110d)으로 송신(S66)한다. 한편, 상기 수신 가상 스위치(130d)는 패킷을 수신한 업링크 포트(NIC 3)와 연결되는 수신 종단시스템이 없는 경우에 해당 업링크 포트(NIC 3)로 수신한 패킷을 폐기(S67)하게 된다. 상기 수신 가상 스위치(130d)는 업링크 포트 할당테이블을 통하여 수신 종단시스템(110d)과 업링크 포트(140d)의 연결 관계를 확인하게 된다. The receiving virtual switch 130d refers to the uplink port assignment table and transmits a packet received in each uplink port 140d to each receiving end system 130d. That is, the receiving virtual switch 130d transmits the packet received in the uplink port NIC 1 to the receiving-end system 110d having the address of MAC 1 and the receiving-end system 110d of MAC 2 (S65) . In addition, the receiving virtual switch 130d transmits the packet received at the uplink port NIC2 to the receiving end system 110d whose address is MAC 3 (S66). On the other hand, when there is no receiving end system connected to the uplink port (NIC 3) receiving the packet, the receiving virtual switch 130d discards the packet received at the corresponding uplink port (NIC 3) (S67) . The receiving virtual switch 130d checks the connection relationship between the receiving end system 110d and the uplink port 140d through the uplink port assignment table.

100 - 호스트 110 - 종단시스템
120 - 가상 머신 130 - 가상 스위치
140 - 업링크 포트 150 - 제어 에이전트
200 - 제어부 300 - 네트워크 스위치
400 - 네트워크 망
100 - Host 110 - Termination system
120 - Virtual machine 130 - Virtual switch
140 - uplink port 150 - control agent
200 - Control unit 300 - Network switch
400 - Network

Claims (20)

패킷을 송수신하는 적어도 한 개의 종단시스템과, 상기 종단시스템과 연결되는 가상 스위치와, 상기 가상 스위치에 연결되는 물리적인 포트인 업링크 포트 및 상기 패킷의 송수신에 필요한 상기 종단시스템 및 상기 업링크 포트의 MAC 주소를 포함하는 네트워크 정보를 관리하는 제어 에이전트를 포함하며
클러스터 내부에 위치하는 적어도 두 개의 호스트와
상기 호스트의 네트워크 정보를 저장 및 제어하는 제어부 및
상기 호스트와 연결되는 적어도 두 개의 네트워크 스위치를 포함하며,
상기 가상 스위치는 다른 상기 호스트에 위치하는 상기 가상 스위치와 상기 네트워크 스위치를 통하여 적어도 두 개의 L2 계층의 터널에 의한 다중 경로를 형성하고, 상기 패킷을 상기 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸 상기 다중 경로를 이용하여 송수신하며,
상기 종단시스템은 상기 호스트 자체 또는 적어도 한 개의 가상 머신을 포함하고, 상기 호스트에 위치하는 업링크 포트는 적어도 상기 네트워크 스위치의 개수에 대응되는 개수로 형성되며,
상기 가상 스위치는 상기 업링크 포트로 수신되는 상기 패킷을 상기 가상 스위치에 연결되어 있는 다른 업링크 포트로 플러딩하지 않는 것을 특징으로 하는 네트워크 장치.
At least one end system for transmitting and receiving a packet, a virtual switch connected to the end system, an uplink port being a physical port connected to the virtual switch, and an uplink port connected to the end system and the uplink port And a control agent for managing network information including a MAC address
At least two hosts located inside the cluster
A controller for storing and controlling network information of the host;
At least two network switches connected to the host,
The virtual switch forms a multipath by at least two L2 layer tunnels through the virtual switch and the network switch located in another host and encapsulates the packet in an extension header formed by the MAC address of the uplink port Transmits and receives using the multi-path,
Wherein the end system comprises the host itself or at least one virtual machine, wherein the uplink ports located in the host are formed in a number corresponding to at least the number of the network switches,
Wherein the virtual switch does not flood the packet received at the uplink port to another uplink port connected to the virtual switch.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 가상 스위치는 어느 하나의 특정한 상기 종단시스템으로부터 전송되는 상기 패킷을 상기 클러스터 외부로 송신할 때 어느 하나의 특정한 상기 업링크 포트를 사용하여 상기 패킷을 전송하도록 형성되는 것을 특징으로 하는 네트워크 장치.
The method according to claim 1,
Wherein the virtual switch is configured to transmit the packet using any one of the specific uplink ports when transmitting the packet transmitted from any one of the specific end systems to the outside of the cluster.
제 1 항에 있어서,
상기 터널은 상기 패킷을 전송하는 송신 종단시스템에 연결되는 송신 가상 스위치의 업링크 포트의 MAC 주소와 상기 패킷을 수신하는 수신 종단시스템에 연결되는 수신 가상 스위치의 업링크 포트의 MAC 주소의 쌍으로 형성되는 것을 특징으로 하는 네트워크 장치.
The method according to claim 1,
The tunnel is formed of a pair of a MAC address of an uplink port of a transmission virtual switch connected to a transmission terminal system transmitting the packet and a MAC address of an uplink port of a receiving virtual switch connected to a receiving end system receiving the packet The network device comprising:
제 6 항에 있어서,
상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 MAC 주소 및 상기 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 전송하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
Wherein the virtual switch is configured to transmit the packet transmitted by the transmission terminal system by wrapping the packet in an extension header formed by the MAC address of the uplink port of the transmission virtual switch and the MAC address of the uplink port of the reception virtual switch, Device.
제 6 항에 있어서,
상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 유니캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 수신 종단시스템에 연결되는 상기 수신 가상 스위치를 확인하고, 상기 송신 종단시스템으로부터 수신받은 상기 패킷을 상기 송신 가상 스위치 및 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 상기 터널을 사용하여 송수신하고,
상기 수신 가상 스위치는 수신한 상기 패킷에서 상기 확장 헤더를 제거한 후에 상기 수신 종단시스템으로 상기 패킷을 전송하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
When transmitting a unicast packet from the transmitting end system to the receiving end system located inside the cluster,
The transmission virtual switch identifies the reception virtual switch connected to the reception terminal system and transmits the packet received from the transmission terminal system to an extension header composed of the MAC address of the transmission virtual switch and the uplink port of the reception virtual switch And transmits and receives using the tunnel,
Wherein the receiving virtual switch removes the extension header from the received packet and then transmits the packet to the receiving end system.
제 6 항에 있어서,
상기 송신 종단시스템으로부터 상기 클러스터 외부로 유니캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 송신 종단시스템으로부터 수신되는 상기 패킷의 송신지 MAC 주소를 이용하여 상기 패킷을 송신할 업링크 포트를 확인하고, 상기 업링크 포트를 통하여 상기 패킷을 상기 클러스터 외부에 위치하는 상기 수신 종단시스템으로 전송하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
When a unicast packet is transmitted from the transmission terminal system to the outside of the cluster,
Wherein the transmission virtual switch identifies an uplink port to which the packet is to be transmitted using the MAC address of the packet received from the transmission terminal system and transmits the packet through the uplink port to the outside of the cluster To the receiving end system.
제 9 항에 있어서,
상기 송신 가상 스위치는 상기 터널을 사용하지 않고 상기 패킷을 전송하는 것을 특징으로 하는 네트워크 장치.
10. The method of claim 9,
Wherein the transmission virtual switch transmits the packet without using the tunnel.
제 6 항에 있어서,
상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에,
상기 송신 종단시스템에 연결되는 상기 송신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하고,
상기 송신 가상 스위치는 상기 클러스터 내부에 위치하는 상기 수신 종단시스템이 연결되어 있는 상기 수신 가상 스위치의 업링크 포트의 MAC 주소를 확인하여, 상기 패킷을 상기 송신 가상 스위치 및 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 상기 터널을 이용하여 전송하고,
상기 수신 가상 스위치는 수신한 상기 패킷에서 상기 확장 헤더를 제거한 후에 상기 수신 종단시스템으로 상기 패킷을 전송하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
When a multicast packet or a broadcast packet is transmitted from the transmission terminal system to the reception terminal system located inside the cluster,
Wherein the transmitting virtual switch connected to the transmitting end system checks whether the destination MAC address of the packet is a multicast address or a broadcast address,
The transmitting virtual switch confirms the MAC address of the uplink port of the receiving virtual switch to which the receiving end system located in the cluster is connected and transmits the packet to the transmitting virtual switch and the receiving virtual switch of the receiving virtual switch MAC address, and transmits the packet using the tunnel,
Wherein the receiving virtual switch removes the extension header from the received packet and then transmits the packet to the receiving end system.
제 6 항에 있어서,
상기 송신 종단시스템으로부터 상기 클러스터 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부와 상기 수신 종단시스템이 상기 클러스터 외부에도 위치하는 것을 확인하고, 상기 송신 종단시스템에 할당된 상기 업링크 포트를 이용하여 상기 패킷을 전송하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
When a multicast packet or a broadcast packet is transmitted from the transmission terminal system to the outside of the cluster,
Wherein the transmitting virtual switch determines whether the destination MAC address of the packet is a multicast address or a broadcast address and whether the receiving end system is also located outside the cluster and transmits the uplink port allocated to the transmitting end system And transmits the packet using the packet.
제 12 항에 있어서,
상기 클러스터 내부에 위치하는 상기 수신 가상 스위치는 전송되는 상기 패킷의 송신지 MAC 주소로부터 상기 송신 종단시스템이 상기 클러스터 내부에 위치하는 것으로 확인되는 경우에 상기 패킷을 폐기하여 상기 패킷이 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 중복 수신되지 않도록 하는 것을 특징으로 하는 네트워크 장치.
13. The method of claim 12,
Wherein the receiving virtual switch located in the cluster discards the packet when the transmitting end system is determined to be located in the cluster from the destination MAC address of the packet to be transmitted, So as not to be duplicated in the receiving end system.
제 12 항에 있어서,
상기 클러스터 내에 위치하는 상기 수신 가상 스위치는 상기 송신 종단시스템에 할당된 상기 업링크 포트와 형성되는 상기 터널을 확인하고, 상기 터널을 구성하는 상기 업링크 포트로 수신되는 상기 패킷을 수신하고, 다른 상기 업링크 포트를 통하여 수신되는 상기 패킷을 폐기하는 것을 특징으로 하는 네트워크 장치.
13. The method of claim 12,
Wherein the receiving virtual switch located in the cluster identifies the tunnel formed with the uplink port allocated to the transmission terminal system, receives the packet received on the uplink port constituting the tunnel, And discards the packet received via the uplink port.
제 6 항에 있어서,
상기 클러스터 외부로부터 상기 클러스터 내에 위치하는 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신받는 경우에,
상기 수신 가상 스위치는 상기 패킷의 수신지 MAC 주소가 멀티캐스트 또는 브로드캐스트 주소인지 여부 및 상기 송신 종단시스템이 클러스터 외부에 위치하는지 여부를 확인하고, 상기 수신 종단시스템에 할당된 상기 업링크 포트로 수신되는 상기 패킷을 각각의 상기 수신 종단시스템으로 전송하고, 상기 할당된 업링크 포트가 아닌 업링크 포트로 수신되는 패킷을 폐기하는 것을 특징으로 하는 네트워크 장치.
The method according to claim 6,
When receiving a multicast packet or a broadcast packet from an outside of the cluster to a receiving end system located in the cluster,
Wherein the receiving virtual switch determines whether the destination MAC address of the packet is a multicast or broadcast address and whether the transmitting end system is located outside the cluster and transmits the receiving end to the uplink port assigned to the receiving end system To the respective receiving end system, and discards packets received at the uplink port other than the assigned uplink port.
삭제delete 클러스터 내부에 위치하며, 패킷을 송수신하는 적어도 한 개의 종단시스템과 가상 스위치 및 업링크 포트를 포함하는 적어도 두 개의 호스트 사이에 패킷 형태의 데이터를 송수신하는 방법으로서,
상기 가상 스위치들 사이에 적어도 두 개의 L2 계층의 터널에 의한 다중 경로를 형성하고, 상기 패킷을 상기 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸 상기 다중 경로를 이용하여 송수신하며,
상기 가상 스위치는 상기 업링크 포트로 수신되는 상기 패킷을 상기 가상 스위치에 연결되어 있는 다른 업링크 포트로 플러딩하지 않는 것을 특징으로 하는 데이터 송수신 방법.
CLAIMS What is claimed is: 1. A method for transmitting and receiving packets of data between at least one end system for transmitting and receiving packets and at least two hosts including virtual switches and uplink ports,
Forming a multi-path by at least two L2-layered tunnels between the virtual switches, transmitting and receiving the packet by wrapping the packet in an extension header formed by the MAC address of the uplink port,
Wherein the virtual switch does not flood the packet received at the uplink port to another uplink port connected to the virtual switch.
삭제delete 제 17 항에 있어서,
상기 터널은 상기 패킷을 전송하는 송신 종단시스템이 연결되는 송신 가상 스위치의 업링크 포트의 MAC 주소와 상기 패킷을 수신하는 수신 종단시스템이 연결되는 수신 가상 스위치의 업링크 포트의 MAC 주소의 쌍으로 형성되는 것을 특징으로 하는 데이터 송수신 방법.
18. The method of claim 17,
The tunnel is formed of a pair of a MAC address of an uplink port of a transmission virtual switch to which a transmission terminal system transmitting the packet is connected and a MAC address of an uplink port of a receiving virtual switch to which the receiving end system receiving the packet is connected The data transmission / reception method comprising the steps of:
제 19 항에 있어서,
상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 MAC 주소 및 상기 수신 가상 스위치의 업링크 포트의 MAC 주소로 이루어지는 확장 헤더로 감싸서 전송하는 것을 특징으로 하는 데이터 송수신 방법.
20. The method of claim 19,
Wherein the virtual switch transfers the packet transmitted by the transmission terminal system with an extension header formed by an MAC address of an uplink port of the transmission virtual switch and an MAC address of an uplink port of the reception virtual switch, Transmitting / receiving method.
KR1020130010909A 2013-01-31 2013-01-31 Network Apparatus and Data Transporting Method Used in the Same KR101503717B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130010909A KR101503717B1 (en) 2013-01-31 2013-01-31 Network Apparatus and Data Transporting Method Used in the Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130010909A KR101503717B1 (en) 2013-01-31 2013-01-31 Network Apparatus and Data Transporting Method Used in the Same

Publications (2)

Publication Number Publication Date
KR20140098379A KR20140098379A (en) 2014-08-08
KR101503717B1 true KR101503717B1 (en) 2015-03-19

Family

ID=51745179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130010909A KR101503717B1 (en) 2013-01-31 2013-01-31 Network Apparatus and Data Transporting Method Used in the Same

Country Status (1)

Country Link
KR (1) KR101503717B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101985890B1 (en) * 2017-05-17 2019-06-04 단국대학교 산학협력단 A network interface controller with data storage capability and a computing system including the same
EP4309354A4 (en) * 2021-04-29 2024-09-18 Samsung Electronics Co Ltd Methods and systems for managing multipath communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124129A (en) * 2008-11-18 2010-06-03 Kddi Corp Virtual computer transmission method, system, management device, and program
US20110075664A1 (en) * 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure
US20120307826A1 (en) * 2011-06-02 2012-12-06 Fujitsu Limited Medium for storing packet conversion program, packet conversion apparatus and packet conversion method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124129A (en) * 2008-11-18 2010-06-03 Kddi Corp Virtual computer transmission method, system, management device, and program
US20110075664A1 (en) * 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure
US20120307826A1 (en) * 2011-06-02 2012-12-06 Fujitsu Limited Medium for storing packet conversion program, packet conversion apparatus and packet conversion method

Also Published As

Publication number Publication date
KR20140098379A (en) 2014-08-08

Similar Documents

Publication Publication Date Title
US9781052B2 (en) Virtual machine and application movement over local area networks and a wide area network
US10938748B2 (en) Packet processing method, computing device, and packet processing apparatus
CN108476160B (en) switch interconnect based on layered overlay tunneling
EP3522457A1 (en) Dedicated virtual local area network for peer-to-peer traffic transmitted between switches
US9088511B2 (en) Multi-hop error recovery
EP2109962B1 (en) Triple-tier anycast addressing
CN110912798B (en) Method and system for transmitting data through aggregated connections
EP3474521B1 (en) Cross-stratum optimization protocol
CN110061915B (en) Method and system for virtual link aggregation across multiple fabric switches
US20080159150A1 (en) Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US20080137669A1 (en) Network of nodes
WO2012149503A1 (en) Data forwarder, network and method for centralized control and management for fiber channel over ethernet networks
KR20110027682A (en) Data center interconnect and traffic engineering
EP2788883B1 (en) Tcp connection relocation
WO2014127629A1 (en) Message forwarding system, method and device
EP2999171B1 (en) Method, apparatus and system for establishing optical bypass
WO2022253087A1 (en) Data transmission method, node, network manager, and system
CN112822097A (en) Message forwarding method, first network device and first device group
WO2014157512A1 (en) System for providing virtual machines, device for determining paths, method for controlling paths, and program
KR101503717B1 (en) Network Apparatus and Data Transporting Method Used in the Same
CN101778032B (en) Internet access method realized by aggregating tunnel links
JP6718739B2 (en) Communication device and communication method
KR102001487B1 (en) Method for controlling software defined networking and computing device performing the same
Nakamura et al. Layer-3 multipathing in commodity-based data center networks
CN116782279A (en) Wireless network disaster recovery method, device and system and electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180312

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190311

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200305

Year of fee payment: 6