KR101503717B1 - Network Apparatus and Data Transporting Method Used in the Same - Google Patents
Network Apparatus and Data Transporting Method Used in the Same Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/46—Cluster building
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual 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
본 발명은 클러스터 내부에 위치하는 호스트들 사이에서 터널에 의한 다중 경로를 사용하여 데이터를 송신할 수 있는 네트워크 장치 및 이에 이용되는 데이터 송수신 방법에 관한 것이다.BACKGROUND OF THE
대용량 데이터의 시대가 도래하면서, 네트워크 장치는 방대한 데이터의 처리를 필요로 하게 되었고, 이를 처리하기 위해 분산 시스템을 도입함에 따라 수평 계층간 네트워크 성능이 큰 이슈로 떠오르게 되었다. 특히, 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
상기 호스트(100)은 적어도 한 개의 종단시스템(End System; ES)(110)과 가상 스위치(130)와 적어도 두 개의 업링크 포트(140) 및 제어 에이전트(150)를 포함하여 형성된다. The
상기 호스트(100)는 네트워크 스위치(300)를 통하여 네트워크 망(400)에 연결되어 패킷을 송수신하는 일반적인 시스템으로 형성된다. 예를 들면, 상기 호스트 (100)는 개인용 컴퓨터, 네트워크 컴퓨터, 모바일 단말 또는 멀티 프로세스 시스템과 같이 유선 통신을 통하여 네트워크에 접속하여 데이터를 송수신하는 장치를 포함한다. 상기 호스트(100)는 웹서버, 파일 서버, 파일 저장 시스템 등으로 동작할 수 있다. The
상기 호스트(100)는 동일 클러스터(cluster) 내부에 적어도 두 개가 위치하게 된다. 또한, 상기 호스트(100)는 내부에 가상 스위치(130)를 포함한다. 여기서, 상기 클러스터는 가상 스위치(130)가 내부에 위치하는 호스트(100)의 집합을 의미한다. 상기 네트워크 장치는 각 호스트(100)내에 위치하는 가상 스위치(130)들 사이에 OSI L2계층에서 적어도 두 개의 터널에 의한 다중 경로를 형성하고, 다중 경로를 통하여 호스트(100)들 사이에서 패킷 형태의 데이터를 송수신하게 된다. 또한, 상기 네트워크 장치는 호스트(100)들 사이에서 그물망 형태의 네트워크(full mesh network)를 형성하여 데이터를 송수신하게 된다. At least two of the
따라서, 상기 네트워크 장치는 고가의 전용 장비를 사용하지 않고도 소프트웨어적인 방법으로 동일 계층의 호스트(100)들 사이에 다중 경로를 형성하여 패킷을 송수신하게 된다.Therefore, the network device forms a multipath between the
또한, 상기 네트워크 장치는 동일 클러스터 외부에 위치하는 호스트들과도 네트워크 망(400)을 통하여 데이터를 송수신하게 된다.
In addition, the network device transmits and receives data to and from the hosts located outside the same cluster through the
상기 종단시스템(110)은 네트워크에서 종단에 위치하는 시스템을 의미하며, 네트워크를 통하여 패킷 형태의 데이터를 송수신하는 시스템을 의미한다. 상기 종단시스템(110)은 호스트(100) 자체이거나 호스트(100)에 탑재되는 적어도 한 개의 가상 머신(120)일 수 있다. 따라서, 상기 종단시스템(110)은 호스트(100)만으로 또는 가상 머신(120)만으로 이루어지거나, 호스트(100) 및 적어도 한 개의 가상 머신(120)으로 이루어질 수 있다. 이하에서는, 상기 호스트(100)가 종단시스템(110)으로 작용하는 경우에 별도의 블록으로 표시하고, 블록에 대한 도면 부호를 '100a'로 부여한다. 한편, 상기 종단시스템(110)이 데이터를 전송하는 경우에 호스트(100a) 또는 가상 머신(120)인지에 관계없이 송신 종단시스템으로 지칭하며, 패킷을 수신하는 경우에 수신 종단시스템으로 지칭한다.The
상기 종단시스템(110)은 가상 스위치(130)와 데이터 송수신을 위한 적어도 한 개의 종단시스템 내부 포트(112, 122)를 포함하게 된다. 상기 종단시스템 내부 포트(112, 122)는 호스트(100a)에 형성되는 내부 포트(112)와 가상 머신(120)에 형성되는 내부 포트(122)로 구분될 수 있다. 상기 종단시스템 내부 포트(112)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다. The
상기 종단시스템(110)은 고유의 MAC 주소가 할당된다. 예를 들면, 상기 종단시스템(110)은 한 개의 호스트(100a)와 N-1개의 가상 머신(120)을 포함하는 경우에 'MAC 1', 'MAC 2', …, MAC N'과 같은 MAC 주소가 할당된다. 상기 종단시스템(110)은 패킷을 송신할 때 자신의 MAC 주소를 송신지 주소(Source Address)로 추가하고, 패킷을 전송하고자 하는 종단시스템(110)의 주소를 수신지 주소(Destination Address)로 추가하게 된다.
The
상기 가상 머신(120)은 호스트(100)내에서 독립적인 기능을 수행하는 어플리케이션(application)이며, 전형적인 가상 머신으로 생성될 수 있다. 상기 가상 머신(120)은 호스트(100) 내부에 생성되지 않거나 적어도 한 개로 생성되며, 호스트(100a)와 마찬가지로 각각 MAC 주소가 할당된다. 상기 가상 머신(120)은 가상 스위치(130)와 패킷 형태의 데이터를 송수신하기 위하여 적어도 한 개의 가상 머신 내부 포트(122)를 포함하게 된다. 상기 가상 머신 내부 포트(122)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다.
The
상기 가상 스위치(Virtual Switch)(130)는 종단시스템(110)과 데이터를 송수신하기 위한 가상 스위치 내부 포트(132)를 포함하게 된다. 상기 가상 스위치(130)는 가상 스위치 내부 포트(132)를 통하여 종단시스템(110)의 종단시스템 내부 포트(112, 122)와 연결되어 패킷 형태의 데이터를 송수신하게 된다. 상기 가상 스위치 내부 포트(132)는 논리적인 내부 포트이며, 소프트웨어로 구현되는 가상의 인터페이스이다. The
상기 가상 스위치(130)는 업링크 포트(140)들과 연결되며, 업링크 포트(140)를 통하여 호스트(100)의 외부에 위치하는 물리적인 스위치인 네트워크 스위치(300)와 연결된다. 상기 가상 스위치(130)는 업링크 포트(140)로 사용하여 클러스터 내부의 다른 가상 스위치(130)들과 OSI L2계층의 터널을 형성하게 된다. 상기 업링크 포트(140)는 이하에서 설명하는 바와 같이 호스트(100)에 설치되는 물리적인 네트워크 장치인 네트워크 인터페이스 카드(Network Interface Card; NIC)의 포트들을 의미한다.The
상기 가상 스위치(130)는 소프트웨어 스위치로 형성되며, 각각의 호스트(100) 내부에 위치하게 된다. 따라서, 상기 가상 스위치(130)는 호스트(100)와 동일한 개수로 형성될 수 있다. 상기 가상 스위치(130)는 클러스터 내부에 위치하는 다른 가상 스위치(130)들과의 사이에 적어도 두 개의 OSI L2 계층의 터널(t1, t2, t3)을 형성하며, 각 터널을 다른 가상 스위치(130)들과 패킷 형태의 데이터를 송수신하는 다중 경로로 사용하게 된다. 즉, 상기 가상 스위치(130)는 실질적으로 L2 계층의 스위치로 작동되도록 구현된다. 또한, 상기 네트워크 장치는 L2계층뿐만 아니라 L3 계층 또는 L4 계층에서 가상 스위치(130)에 의한 L2 계층을 연결하는 터널을 형성하는 경우에 원격에 있는 네트워크와 다중 경로를 통한 패킷 송수신이 가능하게 된다. 예를 들면, 상기 네트워크 장치는 데이터 센터와 데이터 센터 사이에 가상 네트워크를 구성하여 다중 경로로 패킷을 송수신할 수 있다.The
상기 가상 스위치(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
상기 가상 스위치(130)는 터널에 의한 다중 경로를 사용하여 패킷을 수신할 때, 업링크 포트(140)로 수신한 패킷을 가상 스위치(130)에 연결되어 있는 다른 업링크 포트(140)로 플러딩하지 않는다. 따라서, 상기 가상 스위치(130)는 물리적인 네트워크 스위치(300)와의 사이에서 네트워크 루프 또는 브로드캐스트 스톰이 발생되지 않도록 한다. 한편, 상기 터널을 형성하는 양단의 업링크 포트(140)들은 동일한 네트워크 스위치(300)를 통하여 연결된다. 또한, 상기 가상 스위치(130)를 연결하는 복수 개의 터널들은 각각 다른 네트워크 스위치(300)를 통하여 연결되어 패킷 송수신 효율을 증가시키게 된다.The
또한, 상기 가상 스위치(130)는 업링크 포트(140)에 의하여 네트워크 스위치(300)와 물리적 네트워크 링크를 형성하게 된다. 따라서, 상기 가상 스위치(130)는 네트워크 스위치(300)를 통하여 클러스터 외부에 위치하며 가상 스위치(130)가 존재하지 않는 호스트들과 패킷 형태의 데이터를 송수신할 수 있다. 또한, 상기 가상 스위치(130)는 클러스터 내에 위치하는 호스트(100)들 사이의 데이터 송수신과 클러스터 외부에 위치하는 호스트(100)와의 데이터 송수신을 가능하게 한다. 상기 가상 스위치(130)는 어느 하나의 특정 종단시스템(110)에서 네트워크 스위치(300)를 통하여 클러스터 외부로 패킷을 송신할 때 어느 하나의 할당된 업링크 포트(140)를 사용하며 임의의 업링크 포트(140) 또는 복수 개의 업링크 포트(140)를 사용하지 않는다. 따라서, 상기 가상 스위치(130)는 네트워크 스위치(300)의 MAC 주소 학습에 장애가 발생되는 것을 방지하게 된다.
In addition, the
상기 업링크 포트(140)는 호스트(100) 내부에 위치하는 물리적 입출력 포트로서 네트워크 인터페이스 카드(Network Interface Card; NIC)의 입출력 포트들로 이루어질 수 있다. 상기 업링크 포트(140)는 적어도 네트워크 스위치(300)의 개수에 대응되는 개수로 형성되며, 바람직하게는 네트워크 스위치(300)의 개수에 대응되는 개수로 형성된다. 한편, 상기 네트워크 스위치(300)의 송신 성능이 업링크 포트(140)의 성능보다 높을 경우에 하나의 네트워크 스위치(300)에 복수 개의 업링크 포트(140)가 연결될 수 있다. 이러한 경우에, 상기 업링크 포트(140)는 네트워크 스위치(140)보다 많은 개수로 형성될 수 있다. 또한, 상기 업링크 포트(140)는 호스트(100) 내부에 위치하는 한 개 또는 복수의 종단시스템(110)에 대하여 특정하여 할당되며, 클러스터 외부에 위치하는 호스트들과 패킷을 송수신할 때, 할당된 종단시스템(110)에서 전송되는 패킷만을 전송하며 할당된 종단시스템(110)으로 수신되는 패킷만을 수신하게 된다.The
상기 업링크 포트(140)는, 도 3을 참조하면, 각각 MAC 주소와 같은 고유의 L2 계층의 주소가 할당된다. 상기 업링크 포트(140)의 MAC 주소는 네트워크 인터페이스 카드 제조사에서 부여한 고유 값을 사용하고, 한편, 주소 검색 성능을 향상시키기 위해 업링크 포트(140)가 연결되는 물리적인 스위치인 네트워크 스위치(300)의 순번과 해당 업링크 포트(140)의 순번 및 기타 라우팅 정보를 반영하여 임의로 부여될 수 있으며, 제어부(200)에 의하여 변경 또는 삭제되어 저장된다. Referring to FIG. 3, the
또한, 상기 업링크 포트(140)는 클러스터 외부에 위치하는 네트워크 스위치(300)와 연결된다. 상기 업링크 포트(140)는 바람직하게는 각각 서로 다른 네트워크 스위치(300)와 일대일로 연결된다.
Also, the
상기 제어 에이전트(150)는 가상 스위치(130)의 내부에 위치하게 된다. 상기 제어 에이전트(150)는 소프트웨어로 이루어지며, 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하여 데이터의 송수신에 필요한 네트워크 정보를 관리하게 된다. 상기 네트워크 정보는 호스트(100)와 네트워크 스위치(300) 사이에서 패킷을 송수신하는데 필요한 모든 정보를 포함한다. 예를 들면, 상기 네트워크 정보는 종단시스템(110)과 업링크 포트(140)의 연결 관계에 대한 정보, 종단시스템(110)의 MAC 주소 및 종단시스템(110)이 연결되는 가상 스위치(130)에 대한 정보, 가상 스위치(130)들 사이에서 패킷이 전달되는 경로에 대한 정보 및 다른 호스트(100)의 가상 스위치(130)와 패킷이 전달되는 경로에 대한 정보를 포함한다.The
상기 제어 에이전트(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
또한, 상기 제어 에이전트(150)는 제어부(200)와 연동하며, 제어부(200)로부터 상기의 각 테이블에서 변경되는 정보를 송수신하여 관리하게 된다. 또한, 상기 제어 에이전트(150)는 다른 호스트(100)에 위치하는 제어 에이전트(150)와도 필요한 정보를 송수신하여 관리한다.
In addition, the
상기 제어부(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
상기 제어부(200)는 클러스터 내부에 위치하는 어느 하나의 호스트(100)에 위치할 수 있으며, 클러스터 내부에 위치하는 복수 개의 호스트(100)에 분산되어 위치할 수 있다. 또한, 상기 제어부(200)는 별도의 서버에 위치할 수 있다. The
상기 데이터 베이스(210)는 클러스터 내부에 위치하는 호스트(100)의 설정 정보와 상태를 포함하는 정보를 저장하게 된다. 또한, 상기 데이터베이스(210)는 클러스터 내부에 위치하는 종단시스템(110) 및 업링크 포트(140)의 MAC 주소를 포함하는 네트워크 장치의 정보를 저장하게 된다. 여기서, 상기 종단시스템(110) 및 가상 스위치(130)는 패킷을 전송하는 송신 측과 패킷을 수신하는 수신 측을 포함한다.The
상기 제어부(200)는 별도의 제어 포트(220)를 통하여 각각의 네트워크 스위치(300)와 연결되며, 네트워크 스위치(300)에 연결되는 각 호스트(100)와 정보를 송수신하게 된다.
The
상기 네트워크 스위치(300)는 OSI 7 계층 중에서 L2 계층(Layer)에 위치하는 L2 스위치로 형성된다. 한편, 상기 네트워크 스위치(300)는 네트워크 장치에서 사용되는 L3 계층의 L3 스위치 또는 L4 계층의 L4 스위치가 사용될 수 있다.The
상기 네트워크 스위치(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
다음은 본 발명의 실시예에 따른 네트워크 장치에서 패킷 형태의 데이터를 송수신하는 방법에 대하여 구체적으로 설명한다.
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
상기에서 설명한 바와 같이, 상기 터널은 송신 가상 스위치(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
상기 송신 가상 스위치(130s)는 확장 헤더를 포함하는 패킷(L2 tunnel packet)을 네트워크 스위치(300)로 전송(S12)하게 된다. 또한, 상기 네트워크 스위치(300)는 수신되는 패킷을 수신 가상 스위치(130d)로 전송(S13)한다. 이때, 상기 송신 가상 스위치(130d)는 수신 가상 스위치(130s)와의 사이에 형성되는 다중 경로에 로드 밸런싱을 적용하여 전체적인 전송 성능(속도, 대역폭등)을 향상시키게 된다. The transmission
상기 수신 가상 스위치(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
다음은 상기 네트워크 장치가 클러스터 내부에서 클러스터 외부로 유니캐스트 패킷을 전송하는 방법에 대하여 설명한다.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
상기 송신 종단시스템(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
상기 네트워크 스위치(300)는 송신 가상 스위치(130s)로부터 전송되는 패킷을 네트워크 망(400)을 통하여 클러스터 외부의 수신 종단시스템(110d)으로 전송(S23)하게 된다. The
한편, 상기 네트워크 스위치(300)는 클러스터 외부의 수신 종단시스템(110d)으로 패킷을 전송하는 과정에서 학습된 주소 테이블(MAC table)을 생성 및 관리하게 되며, 이후에 수신 종단시스템(110d)들로부터 송신 종단시스템(110s)으로 전송되는 모든 패킷이 송신 종단시스템(110s)에 할당된 송신 가상 스위치(130s)의 업링크 포트를 통하여 송신 종단시스템(110s)으로 전달되도록 한다.
Meanwhile, the
다음으로, 상기 네트워크 장치가 클러스터 내부에서 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 방법에 대하여 설명한다.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
상기 수신 가상 스위치(130d)들은 수신되는 패킷이 확장 헤더로 캡슐화되어 있음을 확인하여 다중 경로를 통하여 전송되는 패킷임을 확인하게 된다. 상기 수신 가상 스위치(130d)는 패킷의 확장 헤더를 제거하여 수신지 MAC 주소(멀티캐스트 주소 또는 브로드캐스트 주소)를 확인하고 수신 종단시스템(110d)으로 패킷을 전송(S33)하게 된다. 상기 수신 종단시스템(110d)은 수신 가상 스위치(130d)로부터 전송되는 패킷을 수신하게 된다.
The receiving
다음은 상기 네트워크 장치가 클러스터 내부에서 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 방법에 대하여 설명한다.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
또한, 상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 송신해야 하는 수신 종단시스템(110di, 110do)이 클러스터 외부에도 위치하는지 여부를 확인한다. 상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 클러스터 외부로 전송하는 경우에 다중 경로를 사용하지 않게 된다. 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)과 업링크 포토(140s)의 연결관계를 업링크 포트 할당테이블에서 확인한 후에 송신 종단시스템(110s)에 할당된 하나의 업링크 포트를 이용하여 패킷을 네트워크 스위치(300)로 전송(S42)한다.Also, the transmission
또한, 상기 네트워크 스위치(300)는 전송되는 패킷(original packet)을 플러딩하게 되므로 클러스터 내에 위치하는 다른 수신 가상 스위치(Virtual Switch 2, Virtual Switch 3, …)(130d)들로도 패킷이 전달(S43)되게 된다. 또한, 상기 네트워크 스위치(130)는 네트워크 망(400)으로 패킷을 전송(S44)하게 된다.Also, since the
이때, 상기 클러스터 내부에 위치하는 수신 가상 스위치(130d)는 클러스터 외부에 위치하는 네트워크 스위치(300) 또는 네트워크 망(400)으로부터 패킷을 중복하여 수신(S43, S45)하게 되며, 수신된 멀티캐스트 패킷 또는 브로드캐스트 패킷에서 송신지 MAC 주소가 클러스터 내부인 패킷에 대하여는 수신한 후에 바로 폐기(S46)하여 패킷이 수신 종단시스템(110di)으로 전송되지 않도록 한다.At this time, the receiving
또한, 상기 클러스터 외부에 위치하는 수신 종단시스템(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
상기 송신 가상 스위치(130s)는 패킷의 수신지 MAC 주소를 확인하여, 수신지 MAC 주소가 멀티캐스트 주소 또는 브로드캐스트 주소인지 여부를 확인하게 된다. 또한, 상기 송신 가상 스위치(130s)는 패킷을 송신해야 할 수신 종단시스템(110di, 110do)이 클러스터 외부에도 존재하는지 여부를 확인하게 된다. 상기 송신 가상 스위치(130s)는 패킷을 송신해야 하는 수신 종단시스템(110di, 110do)이 클러스터 내부와 외부에 동시에 존재하는 경우에 패킷을 클러스터 내부와 외부로 동시에 전송하게 된다. 한편, 상기 수신 종단시스템(110di)이 클러스터 외부에 존재하지 않는 경우에는 도 7의 방법에 따라 패킷을 전송하게 된다. The transmission
상기 송신 가상 스위치(130s)는 멀티캐스트 패킷 또는 브로드캐스트 패킷을 클러스터 외부로 송신할 때 다중 경로를 사용하지 않으므로, 도 8에서 설명한 방법에 따라 패킷을 전송하게 된다. 즉, 상기 송신 가상 스위치(130s)는 송신 종단시스템(110s)과 업링크 포트(140s)의 연결 관계를 업링크 포트 할당테이블을 통하여 확인하고 송신 종단시스템(110s)에 할당된 업링크 포트(140s)를 이용하여 패킷을 네트워크 스위치(300)으로 전송(S52)한다. 즉, 상기 송신 가상 스위치(130s)는 송신 종단시스템(MAC 1)에 할당된 업링크 포트(NIC 1)을 통하여 멀티캐스트 패킷 또는 브로드캐스트 패킷을 캡슐화하지 않고 전송하게 된다.Since the transmission
또한, 상기 네트워크 스위치(300)는 전송되는 패킷(original packet)을 플러딩하게 되므로 클러스터 내에 위치하는 다른 수신 가상 스위치(Virtual Switch 2, Virtual Switch 3, …)(130d)들로도 반복하여 패킷이 전달(S53)되게 된다. 또한, 상기 네트워크 스위치(300)는 네트워크 망(400)을 통하여도 패킷을 전송(S54)하게 된다.In addition, since the
상기 클러스터 내부에 위치하는 수신 가상 스위치(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
또한, 상기 클러스터 외부에 위치하는 수신 종단시스템(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
상기 수신 가상 스위치(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
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)
클러스터 내부에 위치하는 적어도 두 개의 호스트와
상기 호스트의 네트워크 정보를 저장 및 제어하는 제어부 및
상기 호스트와 연결되는 적어도 두 개의 네트워크 스위치를 포함하며,
상기 가상 스위치는 다른 상기 호스트에 위치하는 상기 가상 스위치와 상기 네트워크 스위치를 통하여 적어도 두 개의 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.
상기 가상 스위치는 어느 하나의 특정한 상기 종단시스템으로부터 전송되는 상기 패킷을 상기 클러스터 외부로 송신할 때 어느 하나의 특정한 상기 업링크 포트를 사용하여 상기 패킷을 전송하도록 형성되는 것을 특징으로 하는 네트워크 장치.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.
상기 터널은 상기 패킷을 전송하는 송신 종단시스템에 연결되는 송신 가상 스위치의 업링크 포트의 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:
상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 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.
상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 유니캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 수신 종단시스템에 연결되는 상기 수신 가상 스위치를 확인하고, 상기 송신 종단시스템으로부터 수신받은 상기 패킷을 상기 송신 가상 스위치 및 수신 가상 스위치의 업링크 포트의 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.
상기 송신 종단시스템으로부터 상기 클러스터 외부로 유니캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 송신 종단시스템으로부터 수신되는 상기 패킷의 송신지 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.
상기 송신 가상 스위치는 상기 터널을 사용하지 않고 상기 패킷을 전송하는 것을 특징으로 하는 네트워크 장치.10. The method of claim 9,
Wherein the transmission virtual switch transmits the packet without using the tunnel.
상기 송신 종단시스템으로부터 상기 클러스터 내부에 위치하는 상기 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에,
상기 송신 종단시스템에 연결되는 상기 송신 가상 스위치는 상기 패킷의 수신지 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.
상기 송신 종단시스템으로부터 상기 클러스터 외부로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 전송하는 경우에,
상기 송신 가상 스위치는 상기 패킷의 수신지 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.
상기 클러스터 내부에 위치하는 상기 수신 가상 스위치는 전송되는 상기 패킷의 송신지 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.
상기 클러스터 내에 위치하는 상기 수신 가상 스위치는 상기 송신 종단시스템에 할당된 상기 업링크 포트와 형성되는 상기 터널을 확인하고, 상기 터널을 구성하는 상기 업링크 포트로 수신되는 상기 패킷을 수신하고, 다른 상기 업링크 포트를 통하여 수신되는 상기 패킷을 폐기하는 것을 특징으로 하는 네트워크 장치.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.
상기 클러스터 외부로부터 상기 클러스터 내에 위치하는 수신 종단시스템으로 멀티캐스트 패킷 또는 브로드캐스트 패킷을 수신받는 경우에,
상기 수신 가상 스위치는 상기 패킷의 수신지 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.
상기 가상 스위치들 사이에 적어도 두 개의 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.
상기 터널은 상기 패킷을 전송하는 송신 종단시스템이 연결되는 송신 가상 스위치의 업링크 포트의 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:
상기 가상 스위치는 상기 송신 종단시스템이 전송하는 상기 패킷을 상기 송신 가상 스위치의 업링크 포트의 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.
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)
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)
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 |
-
2013
- 2013-01-31 KR KR1020130010909A patent/KR101503717B1/en active IP Right Grant
Patent Citations (3)
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 |