WO2016035306A1 - 制御システム、通信システム、通信方法および記録媒体 - Google Patents

制御システム、通信システム、通信方法および記録媒体 Download PDF

Info

Publication number
WO2016035306A1
WO2016035306A1 PCT/JP2015/004377 JP2015004377W WO2016035306A1 WO 2016035306 A1 WO2016035306 A1 WO 2016035306A1 JP 2015004377 W JP2015004377 W JP 2015004377W WO 2016035306 A1 WO2016035306 A1 WO 2016035306A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
address
network
tunnel
vxlan
Prior art date
Application number
PCT/JP2015/004377
Other languages
English (en)
French (fr)
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 JP2016546308A priority Critical patent/JPWO2016035306A1/ja
Publication of WO2016035306A1 publication Critical patent/WO2016035306A1/ja

Links

Images

Definitions

  • the present invention relates to a control system, a communication system, a communication method, and a recording medium, and more particularly to a communication system and a communication method for constructing a virtual network on a physical network by logically separating the physical network.
  • VMs virtual machines
  • networking is also virtualized. Need to do.
  • An important function in network virtualization is to logically slice a physical network in units such as for each user tenant and build a virtual network in a multi-layered manner on the physical network.
  • VXLAN Virtual eXtensible Local Area Network
  • Non-Patent Document 1 One of the methods currently attracting attention is a method using a tunneling protocol such as VXLAN (Non-Patent Document 1).
  • the broadcast domain is extended by tunneling layer 2 communication at layer 3 without introducing special equipment for virtualization between servers. Thereby, the network user can use the extended broadcast domain without being aware of this.
  • Non-Patent Document 3 a mechanism has been devised that operates on general-purpose hardware such as Intel (registered trademark) DPDK (Non-patent Document 2) and speeds up specialized packet transfer performance. Also, a virtual switch that uses this mechanism to perform high-speed communication between virtual machines is being realized (Non-Patent Document 3).
  • VXLAN performs encapsulation using UDP (User Datagram Protocol). At this time, there are some problems to be solved when trying to realize large-capacity communication on the virtual network.
  • UDP User Datagram Protocol
  • the first problem is that, when using UDP, since the UDP socket of the OS is generally used, it is difficult to realize the required large capacity communication.
  • the processing of the network stack is a heavy process, and since it is implemented by the OS, it is difficult to incorporate a device for speeding up, which inevitably causes deterioration in communication performance.
  • the second problem is that even if trying to improve the communication performance on the virtual network by implementing UDP communication on some speed-up mechanism, problems arise in terms of reliability, consistency, maintainability, etc. It is to end. Apart from the network stack of OSs that are widely used in general, it is difficult to implement the processing of the network stack again, and there are many problems in terms of reliability for commercial operation. In addition, layers that are implemented in the OS are not dedicated products, and use of general-purpose Linux (registered trademark) is often required, and there is a field where it is not acceptable to create network stack processing independently. To do. In VXLAN, UDP / IP (User Datagram Protocol / Internet ⁇ Protocol) is used.
  • UDP / IP User Datagram Protocol / Internet ⁇ Protocol
  • an object of the present invention is to provide a control system, a communication system, a communication method, and a recording medium that are suitable for high-speed and large-capacity communication and can enhance the consistency of network communication operations when realizing a virtual network construction. There is to do.
  • a control system includes a tunnel endpoint of a communication destination from a user's MAC (Media Access Control) address of a VNI (VXLAN Network Identifier) and a VXLAN (Virtual eXtensible Local Area Network) tunnel.
  • a database that searches for the IP (Internet Protocol) address of the outgoing interface of
  • a communication system includes: A VM (Virtual Machine) configured on a physical machine; A tunnel endpoint configured on the physical machine, which is a destination tunnel endpoint from a VNI (VXLAN Network Identifier) and a MAC (Media Access Control) address of a VM (Virtual Machine) in another physical machine A tunnel endpoint having a database for retrieving an IP (Internet Protocol) address of the outgoing interface of And an OS (Operating System) having a network stack processing unit.
  • VNI VXLAN Network Identifier
  • MAC Media Access Control
  • the communication method according to the present invention is based on the VNI (VXLAN Network Identifier) and the MAC (Media Access Control) address of the user of the VXLAN (Virtual eXtensible Local Area Network) tunnel.
  • Search for (Internet Protocol) address When the IP address of the outward interface of the tunnel destination endpoint of the communication destination can be acquired, the encapsulated packet is completed, and the packet is transmitted from the NIC (Network Interface Card) to be outside the tunnel endpoint of the communication destination. Communicate to the correct interface.
  • a recording medium on which a program for communication by packet transmission according to the present invention is recorded To the tunnel endpoint, The IP (Internet Protocol) address of the outward interface of the tunnel endpoint of the communication destination is searched from the VNI (VXLAN Network Identifier) and the MAC (Media Access Control) address of the user of the VXLAN (Virtual eXtensible Local Area Network) tunnel. Processing, When the IP address of the outward interface of the tunnel destination endpoint of the communication destination can be acquired, the encapsulated packet is completed, and the packet is transmitted from the NIC (Network Interface Card) to be outside the tunnel endpoint of the communication destination. A program for executing communication processing for communicating with the interface of the direction is recorded.
  • VNI VXLAN Network Identifier
  • MAC Media Access Control
  • the present invention can realize a large-capacity communication on a virtual network realized by VXLAN.
  • FIG. 1 is a block diagram showing a communication system according to a first embodiment of the present invention. It is a block diagram for demonstrating operation
  • a large-capacity communication on the virtual network is realized when a virtual network is built on a physical network.
  • the network stack processing is minimized to make the effective performance almost equal to the performance of packet transfer only.
  • the stability, consistency and maintainability of the network stack processing are not deteriorated.
  • the OS By transferring all network stack processing to the OS as it is, large-capacity communication on a virtual network can be realized using a general-purpose OS.
  • the route / management information for processing is one, the analysis of the network processing itself is simplified, and the maintenance target can be limited to one.
  • FIG. 1A is a block diagram illustrating a control system according to an embodiment of the highest concept of the present invention.
  • the control system 20a of FIG. 1A includes an FDB (Forwarding Database) 25.
  • the FDB 25 is cache data, and is a database for searching for the IP address of the outward interface of the tunnel end point of the communication destination from the MAC addresses of the VNI and VXLAN tunnel users.
  • the control system 20a receives a packet from the VM
  • the FDB 25 can identify the MAC address of the destination Outer from the IP address of the destination Outer only by looking at the MAC address of the destination VM. Therefore, the UDP / IP header can be completed by adding a simple header, and VXLAN communication can be performed only by packet transfer processing.
  • FIG. 1B is a block diagram showing a control system according to an embodiment of the superordinate concept of the present invention.
  • a tunnel endpoint 20 is shown as an example of the control system.
  • the tunnel end point 20 of FIG. 1B includes an FDB 25, a UDP socket 23, and an FD (file descriptor) 24.
  • the FDB 25 is cache data, and is a database for searching for the IP address of the outward interface of the tunnel end point of the communication destination from the MAC addresses of the VNI and VXLAN tunnel users.
  • a case of a VM in another physical machine will be described as an example of a user of the VXLAN tunnel.
  • the UDP socket 23 is used for using the network stack processing by the OS when there is no information on the destination VM in the FDB 25 or when the destination is broadcast and it is necessary to perform multicast communication from the outward interface. is there.
  • the FD 24 is for receiving a packet generated as a result of network stack processing by the OS.
  • the FDB 25 can identify the MAC address of the destination Outer from the IP address of the destination Outer only by looking at the MAC address of the destination VM. Therefore, the UDP / IP header can be completed by adding a simple header, and VXLAN communication can be performed only by packet transfer processing.
  • the network stack processing is performed by the OS using the UDP socket 23.
  • the network stack processing of the OS is performed using the UDP socket 23.
  • the tunnel end point 20 can know the set of the IP address of the Outer corresponding to the MAC address of the VM by receiving the packet generated as a result of the network stack processing from the FD 24.
  • the UDP / IP header can be completed, and VXLAN communication can be performed.
  • FIG. 2 is a block diagram for explaining a communication system according to the first embodiment of the present invention.
  • Each block in FIG. 2 is mounted on one physical machine. It is assumed that there are a plurality of physical machines having this configuration.
  • a virtual machine 11 exists as an existing communication apparatus.
  • the virtual machine is hereinafter referred to as VM (Virtual Machine), and the virtual machine 11 is hereinafter referred to as VM11.
  • VM Virtual Machine
  • VM11 There is no limit on the number of VMs mounted on one physical machine.
  • Each VM is not aware of the virtual network and performs normal TCP / IP communication (Transmission Control Protocol / Internet Protocol communication).
  • An OS 30 having a network stack processing unit 31 capable of UDP / IP communication exists on the physical machine.
  • VXLAN virtual network
  • VNI VXLAN Network Identifier
  • the tunnel end point 20 has an inner 21 as an inward interface and an outer 22 as an outward interface.
  • An IP address is assigned to the Outer 22 as an outward interface.
  • Tunnel endpoints between a plurality of physical machines perform UDP / IP communication by performing encapsulation using a UDP / IP header so that mutual Outers can communicate with each other. Thereby, tunnel end points between a plurality of physical machines perform communication exceeding the layer 3.
  • the tunnel end point 20 has cache data called FDB (Forwarding Database).
  • the FDB is a DB for subtracting the IP address of the destination tunnel end point Outer from the MAC address of the VM in another physical machine as an example of a user of the VNI and VXLAN tunnels.
  • the MAC address of the destination Outer can be specified from the FDB 25 only by looking at the MAC address of the destination VM. That is, by referring to the FDB 25, the MAC address of the destination Outer can be specified from the IP address of the destination Outer, the IP address, and the ARP (Address Resolution Protocol) table of the OS 30. Therefore, the UDP / IP header can be completed by adding a simple header, and VXLAN communication can be performed only by packet transfer processing.
  • ARP Address Resolution Protocol
  • the tunnel end point 20 is provided with a UDP socket 23 for using the network stack processing of the OS 30 and an FD (file descriptor) 24 for receiving a packet generated as a result of the processing.
  • FD file descriptor
  • the network stack processing unit 31 of the OS 30 When there is no destination VM information in the FDB 25 for the packet received by the tunnel endpoint 20 from the VM 11, the network stack processing unit 31 of the OS 30 performs network stack processing using the UDP socket 23. For the packet received by the tunnel end point 20 from the VM 11, the network stack processing by the OS 30 is also performed when the destination is broadcast and the multicast communication from the Outer needs to be performed.
  • the tunnel end point 20 receives the packet generated as a result of the network stack processing from the FD 24 and can know the pair of the VM's MAC address and the corresponding IP address of the Outer, it adds the information to the FDB 25.
  • This operation eliminates the need for network stack processing just for VXLAN. Since the FDB record is unchanged unless the VM configuration or virtual network configuration on each physical device is changed, the network stack processing by the OS is performed only at the beginning of communication. The performance of network stack processing has little effect on the overall communication performance.
  • the configuration of the present embodiment communicates with the VM 11 that performs communication and provides services, the tunnel endpoint 20 that performs virtual network communication using VXLAN, and the OS 30 that has a UDP / IP communication function.
  • NIC41 There are a plurality of physical machines having this configuration, and IP communication is possible through the NIC 41.
  • the tunnel end point 20 includes an inner 21 that exchanges packets with the VM 11 and an outer 22 that has an IP address and communicates with another external physical machine through the NIC 41. Further, the tunnel end point 20 has a UDP socket 23 for using the network stack processing of the OS 30. Further, the tunnel end point 20 has an FD 24 for receiving a packet generated as a result of the network stack processing performed by the OS 30 and for passing a packet coming from the outside to the network stack processing. The tunnel endpoint 20 has an FDB (Forwarding Database) 25 as cache data for performing the VXLAN process.
  • FDB Forwarding Database
  • the high-speed packet transfer processing mechanism and the virtual switch are used between the VM 11 and the Inner 21 to enable high-speed communication connected by the L2 layer. Similarly, communication with the outside performed by the Outer 22 through the NIC 41 can be performed at high speed.
  • the FDB 25 is a DB (Database) for associating the Outer IP address of the tunnel endpoint that manages the correspondence between the virtual NIC and the VNI to be accommodated, using the pair of the MAC address of the VNI and the virtual NIC as a key.
  • DB Database
  • the OS 30 performs network stack processing from a UDP socket and is not limited as long as it can perform UDP / IP communication.
  • 3 and 4 show the flow of processing when transmission is performed from the VM 11.
  • the processing branches depending on whether or not there is information about the destination Outer in the FDB 25.
  • FIG. 3 shows a transmission flow when there is information on the destination Outer in the FDB 25. Since the VM 11 transmits using VXLAN, the VM 11 transfers the packet at a high speed toward the inner 21 of the tunnel end point 20.
  • the tunnel end point 20 refers to the FDB 25 using the VNI that accommodates the virtual NIC that received the packet and the MAC address of the destination VM described in the received packet as keys. In this way, the Outer IP address of the tunnel endpoint that accommodates the virtual NIC of the destination VM is acquired from the FDB 25.
  • APR information is acquired. If only the information in the ARP table is referred to, the MAC address of the Outer can be found and information for encapsulating is prepared. In this way, the encapsulated packet is completed, and the packet is directly transmitted from the NIC 41 at a high speed, thereby communicating with the destination tunnel endpoint Outer.
  • FIG. 4 shows a transmission flow when there is no information on the destination Outer in the FDB 25. This also applies when the Outer information is not in the ARP table and when the transmission request from the VM 11 is broadcast. Since the VM 11 transmits using VXLAN, the VM 11 transfers the packet at a high speed toward the inner 21 of the tunnel end point 20.
  • the tunnel endpoint 20 refers to information from the FDB 25 using the VNI that accommodates the virtual NIC that received the packet and the MAC address of the destination VM described in the received packet as keys. If there is no information on the destination Outer in the FDB 25, the necessary information is not available, so it is necessary to make a multicast or ARP request according to the VXLAN specification.
  • the tunnel end point 20 entrusts generation of a packet to be sent to the OS 30 using the UDP socket 23, and sends the result from the NIC 41.
  • FIG. 5 is a flow of processing when receiving to the VM 11.
  • the packet arrives from the outside to the outer endpoint 22 of the tunnel end point through the NIC 41 and is determined to be a VXLAN packet
  • the packet is removed and then transferred to the VM 11 received from the Inner 21 at high speed.
  • the FDB 25 is made to learn this information if necessary.
  • Fig. 6 explains another processing at the time of reception.
  • the OS 30 As information necessary for the OS 30 to perform network stack processing, it is necessary to receive an ARP Response of a tunnel endpoint in another physical machine.
  • the packet is flowed from the FD 24 to the network stack processing unit 31 of the OS 30 to be learned, and the ARP table of the OS 30 is learned.
  • the first effect is that large-capacity communication can be performed on a virtual network realized by VXLAN. As a result, it is possible to realize server virtualization and network virtualization while maintaining large capacity communication performance by using an existing apparatus that performs large capacity communication as it is.
  • the reason is that the necessary network stack processing can be suppressed to the minimum necessary by the UDP communication for tunneling used for realizing the network virtualization. Therefore, most of the communication processing can be limited to simple packet transfer processing, and large-capacity communication processing can be realized.
  • the second effect is that a packet transfer mechanism for obtaining necessary performance on the virtual network and a network stack process for UDP communication can be freely selected. As a result, the performance required for the virtual network and the OS used on the device can be selected independently.
  • the reason is that the network stack processing suppressed to the minimum necessary has almost no influence on the communication performance, so that the processing itself can be delivered even if the network stack processing of the selected OS is slow.
  • the network stack process selected here is also used for other processes that do not need to be fast, and the network stack process is unified within the device, simplifying analysis and maintenance work in the event of a failure. Can be.
  • the OS 30 includes the network stack processing unit 31 and has been described as using the network stack processing of the OS 30.
  • the ARP table possessed by the network stack processing unit 31 may be stored in the tunnel end point 20 as a cache.
  • the same effects as those of the first embodiment described above are brought about. Furthermore, in the present embodiment, the ARP table of the network stack processing unit 31 is used as a cache and is included in the tunnel end point 20, so that all of the capsule processing is performed at the tunnel end point 20 during the transmission processing of FIG. Can be implemented. As a result, higher-speed communication can be expected compared to the first embodiment.
  • whether the transmission process becomes the flow of FIG. 3 or the flow of FIG. 4 is branched depending on whether the information of the destination tunnel endpoint is prepared.
  • the flow in FIG. 4 may be selected. For example, even when the destination information is fixed, if it is necessary to fragment, it is necessary to leave the processing to the OS, so the flow in FIG. 4 is selected. If there is a case where a fragmented packet is received even at the time of reception, the processing may be thrown from the FD 24 to the network stack processing unit 31 as shown in FIG. By configuring this route, it is possible to support transmission / reception of all VXLAN packets.
  • the IP address of the outward interface of the tunnel endpoint of the communication destination is searched from the VNI and the MAC address of the VM in another physical machine.
  • the present invention is not limited to this. I can't.
  • the IP address of the outward interface of the tunnel end point of the communication destination is retrieved from the VNI and the MAC address of the user of the VXLAN tunnel, the above-described remarkable effect is brought about.
  • the operation of the tunnel endpoint described above can also be realized in a program that executes such an operation.
  • This program is a general-purpose semiconductor recording device such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), a magnetic recording medium such as a flexible disk, or a CD-ROM (Compact Disk Read). It can be distributed in the form of a computer-readable recording medium such as an optical recording medium such as “Only Memory”.
  • the communication function of this embodiment may be realized in software by reading and executing a program recorded in such a recording medium.
  • (Supplementary Note 2) A UDP (User Datagram Protocol) socket for using an OS (Operating System) network stack process available, and a file descriptor for receiving a packet generated as a result of the OS network stack process
  • the control system according to Appendix 1 further comprising: (Supplementary note 3) The control system according to supplementary note 2, further comprising a cache corresponding to an ARP (Address Resolution Protocol) table of the network stack processing of the usable OS. (Supplementary note 4)
  • VM Virtual Machine
  • a VM Virtual Machine configured on a physical machine and a tunnel endpoint configured on the physical machine, which is a VNI (VXLAN Network Identifier) and a VM (Virtual Machine) in another physical machine ) From the MAC (Media Access Control) address of the communication destination tunnel endpoint having a database that searches for the IP (Internet Protocol) address of the outward interface of the destination tunnel endpoint, and an OS (Operating System) having a network stack processing unit System).
  • the tunnel endpoint includes a UDP (User Datagram Protocol) socket for using the network stack processing of the OS, and a file descriptor for receiving a packet generated as a result of the network stack processing of the OS.
  • UDP User Datagram Protocol
  • ARP Address Resolution Protocol
  • VNI VXLAN Network Identifier
  • VXLAN Virtual eXtensible Local Area Network
  • MAC Media Access Control
  • VXLAN tunnel 11 The communication method according to any one of supplementary notes 8 to 10, wherein the user of the VXLAN tunnel is a VM (Virtual Machine) in another physical machine.
  • VNI VXLAN Network Identifier
  • VXLAN Virtual eXtensible Local Area Network
  • MAC Media Access Control
  • a recording medium on which a program for communication by packet transmission is recorded which executes a communication process for transmitting and communicating to an outward interface of the tunnel endpoint of the communication destination.
  • a program for communication by packet transmission executes a communication process for transmitting and communicating to an outward interface of the tunnel endpoint of the communication destination.
  • the MAC address of the outgoing interface of the tunnel endpoint of the communication destination is identified from the IP address of the outgoing interface of the tunnel endpoint of the communication destination obtained and the ARP (Address Resolution Protocol) table.
  • the present invention can be applied to the use of virtualization of a node that processes a large amount of data communication in a carrier.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 仮想ネットワーク構築の実現にあたり、高速・大容量な通信に適し、またネットワーク通信の動作の一貫性を高めることのできる、通信システム、制御システム、通信方法および記録媒体を提供する。本発明による制御システムは、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを、有する。

Description

制御システム、通信システム、通信方法および記録媒体
 本発明は、制御システム、通信システム、通信方法および記録媒体に関し、特に物理ネットワークを論理的に分離することで、仮想的なネットワークを物理ネットワーク上に構築する通信システムや通信方法に関する。
 サーバ仮想化におけるメリットの1つとして、仮想マシン(VM:Virtual Machine)の物理的な配置を柔軟にできることが挙げられるが、その柔軟さを最大限に生かすためには、ネットワークも合わせて仮想化を行う必要がある。ネットワーク仮想化で重要な機能は、物理ネットワークをユーザテナント毎などの単位で論理的にスライシングし、仮想的なネットワークを物理ネットワーク上に重層的に構築することである。仮想ネットワーク構築の実現においては、VXLAN(Virtual eXtensible Local Area Network)といったトンネリングプロトコルを使用する手法が知られている。
 現在注目されている手法の1つは、VXLANといったトンネリングプロトコルを利用する手法である(非特許文献1)。サーバ間に仮想化のための特殊な機器を導入することなく、レイヤ2の通信をレイヤ3でトンネリングすることでブロードキャストドメインが延長される。これにより、ネットワークの利用者はこのことを意識することなく、延長されたブロードキャストドメインを利用することができる。
 一方近年のネットワーク通信は、一般的に使われているOS(Operating System)による処理では追い付けないほど大容量な性能を求められることが増えている。そのため、Intel(登録商標) DPDK(非特許文献2)などの、汎用のハードウェアの上で動作し、パケット転送の性能に特化して高速化する仕組みが考案されている。またこの仕組みを利用し、仮想マシン間の通信を高速に行う仮想スイッチも実現されつつある(非特許文献3)。
「VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks」、[online]、[平成26年(2014)年7月24日検索]、インターネット<http://datatracker.ietf.org/doc/draft-mahalingam-dutt-dcops-vxlan/> 「Packet Processing - Intel(登録商標)DPDK」、[online]、[平成26年(2014)年7月24日検索]、インターネット<https://01.org/packet-processing/overview/dpdk-detail> 「Packet Processing - Intel(登録商標)DPDK vSwitch and Openstack* Paches」、[online]、[平成26年(2014)年7月24日検索]、インターネット<https://01.org/packet-processing/intel%C2%AE-dpdk-vswitch-and-openstack-patches>
 VXLANは、UDP(User Datagram Protocol)を使用してカプセル化を行う。この時、仮想ネットワーク上で大容量通信を実現しようとした場合、いくつかの解決すべき課題がある。
 第1の課題は、UDPを使用する際、一般にはOSのUDPソケットを使用することになるため、求める大容量通信の実現が難しいことである。ネットワークスタックの処理は重い処理であり、またOSで実装されていることから高速化の工夫を入れ込むことが難しいため、どうしても通信性能を劣化させる要因となってしまう。
 第2の課題は、何らかの高速化の仕組みの上にUDP通信を実装することで仮想ネットワーク上の通信性能を向上しようとしても、信頼性、一貫性、メンテナンス性などの観点で問題が発生してしまうことである。広く一般的に使われているOSによるネットワークスタックとは別に、ネットワークスタックの処理を改めて実装することは難易度が高く、商用で運用するには信頼性という面で課題が多い。またOSで実装されるようなレイヤについては専用品ではなく、汎用のLinux(登録商標)などの使用が求められることも多く、ネットワークスタック処理を独自に作りこむこと自体が受け入れられない分野も存在する。VXLANではUDP/IP(User Datagram Protocol/Internet Protocol)を利用するが、その際一般的に使用されているLinux系OSにて通信処理を行うと、高速・大容量な通信が実現できない。また、高速パケット転送処理の仕組みを使うとすると、UDP/IPといったレイヤの処理を改めてその仕組みの上で作りこむ必要があり、複数のネットワークスタック処理が1つの装置内に存在することとなる。
 このため、もし高速なネットワークスタック処理の実装ができた場合でも、ネットワークスタック処理としてOSとVXLAN用との2つのルート・管理情報が存在してしまうため、ネットワーク通信の動作の一貫性が失われてしまう。障害解析やバグ対処などの難易度を高める原因となってしまう。このため、メンテナンス性が低下するといった課題があった。
 キャリアにおける大量のデータ通信を処理するノードの仮想化の用途においては、発生する通信量が一般的なオペレーティングシステムが備えるネットワーク通信機能で処理しきれない量になるため、何らかのパケット高速転送処理が必要になる。また一部の狭い世界のみで使われているようなソフトウェアの利用は避けられており、広く一般で使用されているOSを使用したいという需要が存在している。
 したがって本発明の目的は、仮想ネットワーク構築の実現にあたり、高速・大容量な通信に適し、またネットワーク通信の動作の一貫性を高めることのできる、制御システム、通信システム、通信方法および記録媒体を提供することにある。
 前記目的を達成するため、本発明に係る制御システムは、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを、有する。
 本発明に係る通信システムは、
 物理マシン上に構成されたVM(Virtual Machine)と、
 上記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、
 ネットワークスタック処理部を有するOS(Operating System)と、を備える。
 本発明に係る通信方法は、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、
 上記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して上記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う。
 本発明に係るパケット送出により通信するためのプログラムが記録された記録媒体は、
 トンネルエンドポイントに、
 VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、
 上記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して上記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させるプログラムが記録されている。
 本発明は、VXLANで実現する仮想ネットワーク上で大容量な通信を実現できる。
本発明の最上位概念の実施形態に係る制御システムを示すブロック図である。 本発明の上位概念の実施形態に係る制御システムを示すブロック図である。 本発明の第1実施形態に係る通信システムを示すブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。
 本発明の実施形態では、物理ネットワークを論理的に分離することで、仮想的なネットワークを物理ネットワーク上に重層的に構築した際に、その仮想ネットワーク上での大容量通信を実現する。
 本発明の実施形態では、一般的なTCP/IP、UDP/IP通信の機能を持つオペレーティングシステム、およびサービスが必要とする高速なパケット転送処理の仕組みが存在する状況において、仮想ネットワーク上での大容量通信の実現を達成する。しかも、装置として一貫性を持ったネットワーク通信機能を持ちながら、仮想ネットワーク上での大容量通信の実現を達成する。
 本発明の実施形態では、ネットワークスタック処理を最低限に抑えることにより、実効上の性能をパケット転送のみの性能にほぼ等しくする。VXLANの特性によりUDPのヘッダに乗る情報がほとんど変わらないことを利用し、通信性能にネットワークスタック処理を含まないようにする仕組みを実現する。
 さらに本発明の実施形態では、ネットワークスタック処理の安定性、一貫性、メンテナンス性を低下させない。全てのネットワークスタック処理をOSにそのまま引き渡すことにより、汎用品のOSを使って仮想ネットワーク上の大容量通信を実現できる。また処理を行うルート・管理情報が1つになるので、ネットワーク処理自体の解析がシンプルになり、メンテナンス対象も1つに絞ることができる。
 図1Aは、本発明の最上位概念の実施形態に係る制御システムを示すブロック図である。図1Aの制御システム20aは、FDB(Forwarding Database)25を備える。FDB25はキャッシュデータであり、VNIとVXLANトンネルのユーザのMACアドレスから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するためのデータベースである。制御システム20aはVMからパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25により宛先OuterのIPアドレスなどから宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
 図1Bは、本発明の上位概念の実施形態に係る制御システムを示すブロック図である。制御システムの一例として、トンネルエンドポイント20を示す。図1Bのトンネルエンドポイント20は、FDB25と、UDPソケット23と、FD(ファイルディスクリプタ)24と、を備える。FDB25はキャッシュデータであり、VNIとVXLANトンネルのユーザのMACアドレスから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するためのデータベースである。以下、VXLANトンネルのユーザの一例として、他の物理マシンにあるVMの場合で説明する。
 UDPソケット23は、FDB25に宛先VMの情報がない場合や、宛先がブロードキャストであるため外向きのインターフェースからマルチキャスト通信を行う必要があるといった場合に、OSによるネットワークスタック処理を利用するためのものである。
 FD24は、OSによるネットワークスタック処理の結果できたパケットを受け取るためのものである。
 このトンネルエンドポイント20はVMからパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25により宛先OuterのIPアドレスなどから宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
 さらに、トンネルエンドポイント20がVMから受け取ったパケットについて、FDB25に宛先VMの情報がない場合は、UDPソケット23を使って、OSによりネットワークスタック処理を実施する。また、トンネルエンドポイント20がVMから受け取ったパケットについて、宛先がブロードキャストであるためOuterからマルチキャスト通信を行う必要があるといった場合にも、UDPソケット23を使って、OSのネットワークスタック処理を実施する。さらにトンネルエンドポイント20は、ネットワークスタック処理の結果できたパケットをFD24から受け取ることで、VMのMACアドレスと対応するOuterのIPアドレスの組を知ることができる。こうして、UDP/IPヘッダを完成させることができ、VXLANの通信を行うことができる。以下、本発明の好ましい実施形態について、図面を参照しながら詳細に説明する。
 〔第1実施形態〕
 次に、本発明の第1実施形態による通信システムについて、説明する。図2は、本発明の第1実施形態による通信システムを説明するためのブロック図である。図2の各ブロックは1つの物理マシン上に搭載される。この構成を持つ物理マシンは複数あることが想定される。既存の通信を行う装置として、仮想マシン11が存在している。仮想マシンを以下、VM(Virtual Machine)と呼び、仮想マシン11を以下、VM11と呼ぶことにする。1つの物理マシン上に搭載されるVMの数に、制限はない。各VMは仮想ネットワークを意識せず、通常のTCP/IP通信(Transmission Control Protocol/Internet Protocol通信)を行う。物理マシン上には、UDP/IP通信が可能なネットワークスタック処理部31を持つOS30が存在している。
 さらに物理マシン上には、VXLANによるトンネリングを実施するトンネルエンドポイント20が存在する。トンネルエンドポイント20は、VXLANの仕様に従いトンネルを管理する。VXLANでは、VNI(VXLAN Network Identifier)と呼ばれるIDで仮想ネットワークが管理される。
 各VMの仮想NIC(Network Interface Card)がどのVNIに収容されるかの管理、および違う物理マシン上にいる同じVNIに収容された仮想NICを持つVM同士をレイヤ2トンネリングすることにより、物理ネットワーク上に仮想ネットワークを実現する。トンネリングの実装方法に制限はない。
 トンネルエンドポイント20は、内向きのインターフェースとしてInner21を有し、外向きのインターフェースとしてOuter22を有している。外向きのインターフェースとしてOuter22には、IPアドレスが振られている。複数物理マシン間のトンネルエンドポイント同士は、お互いのOuter同士が通信できるようにUDP/IPヘッダによりカプセリングを行い、UDP/IP通信を行う。これにより、複数物理マシン間のトンネルエンドポイント同士は、レイヤ3超えの通信を行う。
 VM11とトンネルエンドポイントのInner21との間、およびトンネルエンドポイントのOuter22とNIC41を通じた外部との間は、高速パケット転送処理を用いて大容量の通信が可能であるとする。
 本発明の実施形態の手法の第一点として、トンネルエンドポイント20に、FDB(Forwarding Database)と呼ばれるキャッシュデータを持たせている。FDBは、VNIとVXLANトンネルのユーザの一例としての他の物理マシンにあるVMのMACアドレスから、通信先のトンネルエンドポイントOuterのIPアドレスを引くためのDBである。
 トンネルエンドポイント20がVM11からパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25から宛先OuterのMACアドレスを特定できる。すなわちFDB25を参照することにより、宛先OuterのIPアドレス、そのIPアドレスとOS30のARP(Address Resolution Protocol)テーブルから、宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
 第二点として、トンネルエンドポイント20にOS30のネットワークスタック処理を使用するためのUDPソケット23、およびその処理の結果生成されるパケットを受け取るためのFD(ファイルディスクリプタ)24を持たせている。
 トンネルエンドポイント20がVM11から受け取ったパケットについて、FDB25に宛先VMの情報がない場合は、UDPソケット23を使って、OS30のネットワークスタック処理部31によりネットワークスタック処理を実施する。トンネルエンドポイント20がVM11から受け取ったパケットについて、宛先がブロードキャストであるためOuterからマルチキャスト通信を行う必要があるといった場合にも、OS30によるネットワークスタック処理を実施する。
 さらにトンネルエンドポイント20は、ネットワークスタック処理の結果できたパケットをFD24から受け取ることで、VMのMACアドレスと対応するOuterのIPアドレスの組を知ることができるため、FDB25にその情報を追加する。
 この操作により、VXLANのためだけにネットワークスタック処理を持つ必要がなくなる。また各物理装置上のVM構成、仮想ネットワーク構成に変更がない限りはFDBのレコードは不変であるため、OSによるネットワークスタック処理は通信の最初のみの実施となる。ネットワークスタック処理の性能は全体の通信性能にほとんど影響を与えない。
 (実施形態の構成)
 次に、本発明の実施形態の構成について、図面を参照して詳細に説明する。図2を参照すると、本実施形態の構成は、通信を行いサービス提供するVM11と、VXLANによる仮想ネットワーク通信を行うトンネルエンドポイント20と、UDP/IP通信機能を持つOS30と、外部と通信するためのNIC41とから構成されている。本構成を持つ物理マシンが複数存在し、NIC41を通してIP通信が可能となっている。
 トンネルエンドポイント20は、VM11とパケットをやり取りするInner21と、IPアドレスを持ちNIC41を通して外部の別物理マシンと通信するOuter22と、を有する。さらにトンネルエンドポイント20は、OS30のネットワークスタック処理を使うためのUDPソケット23を有する。さらにトンネルエンドポイント20は、OS30が行ったネットワークスタック処理の結果できたパケットの受け取りや、外部から来たパケットをネットワークスタック処理に渡すためのFD24を有する。またトンネルエンドポイント20は、VXLAN処理を実施するためのキャッシュデータとして、FDB(Forwarding Database)25を持つ。
 VM11とInner21の間は高速パケット転送処理の仕組み、および仮想スイッチを利用して、L2レイヤで繋がれた高速な通信ができるようにする。同様にOuter22がNIC41を通して行う外部との通信も高速で行えるようにする。
 FDB25は、VNIと仮想NICのMACアドレスの組をキーとし、その仮想NICと収容するVNIの対応を管理しているトンネルエンドポイントのOuterIPアドレスを紐づけるDB(Database)である。
 OS30はUDPソケットからネットワークスタック処理を実施し、UDP/IP通信ができるものであれば、その他の制限はない。
 (実施形態の動作)
 次に、図3~図5を参照して本発明の実施形態の動作として、VMがVXLANを使って他のVMへ通信する処理を詳細に説明する。
 図3、図4がVM11から送信を行う場合の処理の流れである。FDB25に送信先のOuterの情報がある場合とない場合で処理が分岐する。
 図3が、FDB25に送信先のOuterの情報がある場合の送信の流れである。VM11はVXLANを使って送信をするため、トンネルエンドポイント20のInner21に向かって高速にパケットを転送する。トンネルエンドポイント20は、パケットを受け取った仮想NICを収容するVNIと、受け取ったパケットに記載のある宛先VMのMACアドレスをキーとして、FDB25を参照する。こうして、FDB25から宛先VMの仮想NICを収容するトンネルエンドポイントのOuterIPアドレスを取得する。
 OS30のARPテーブルを参照し、APR情報を取得する。ARPテーブルの情報だけ参照すればOuterのMACアドレスも分かり、カプセル化するための情報が揃う。こうして、カプセリングしたパケットを完成させ、直接NIC41から高速にパケットを送出することで、宛先トンネルエンドポイントのOuterへの通信を行う。
 図4が、FDB25に送信先のOuterの情報がない場合の送信の流れである。またOuterの情報がARPテーブルにない時、およびVM11からの送信要求がブロードキャストである時もこの場合に該当する。VM11はVXLANを使って送信をするため、トンネルエンドポイント20のInner21に向かって高速にパケットを転送する。
 トンネルエンドポイント20は、パケットを受け取った仮想NICを収容するVNIと、受け取ったパケットに記載のある宛先VMのMACアドレスをキーとして、FDB25から情報を参照する。FDB25に送信先のOuterの情報がない場合には必要な情報が揃わないため、VXLANの仕様に従ったマルチキャストやARPリクエストを行う必要がある。トンネルエンドポイント20はUDPソケット23を使ってOS30に送出するパケット生成を任せ、その結果をNIC41から送出する。
 図5がVM11への受信を行う場合の処理の流れである。外部からNIC41を通じて、トンネルエンドポイントのOuter22へパケットが届き、VXLANのパケットと判断されれば、カプセルを外してから、Inner21から受信するVM11へパケットを高速に転送する。またこのとき、VNI、通信元VMのMACアドレス、通信元トンネルエンドポイントOuterのIPアドレスがパケットに乗っているため、必要であればこの情報をFDB25に学習させる。
 図6で別の受信時の処理を説明する。OS30がネットワークスタック処理を行う際に必要となる情報として、他の物理マシンにあるトンネルエンドポイントのARP Responseを受け取る必要がある。受信パケットがARP Responseと分かった段階で、FD24からOS30のネットワークスタック処理部31にパケットを流し込んで渡して、OS30のARPテーブルを学習させる。
 (実施形態の効果)
 第1の効果は、VXLANで実現する仮想ネットワーク上で大容量な通信ができることにある。この結果、既存で大容量通信を行っている装置をそのまま使用して、大容量の通信性能を維持したままサーバ仮想化、ネットワーク仮想化を実現できる。
 その理由としては、ネットワーク仮想化実現のために用いたトンネリングのためのUDP通信で、必要なネットワークスタック処理を必要最低限に抑えることができたことがあげられる。そのため通信処理の大部分を単純なパケット転送処理に限定することができ、大容量な通信処理を実現できるようになる。
 第2の効果は、仮想ネットワーク上で必要な性能を出すためのパケット転送の仕組み、およびUDP通信のためのネットワークスタック処理を、自由に選択できることにある。この結果、仮想ネットワークに求める性能と、その装置上で使用するOSを、独立して選択することができる。
 その理由は、必要最低限に抑えたネットワークスタック処理は通信性能にほとんど影響を与えないため、たとえ選択したOSのネットワークスタック処理が低速であっても、処理自体を引き渡すことができるためである。
 また、ここで選択したネットワークスタック処理は、高速である必要がない他の処理でも使用される処理であり、装置内でネットワークスタックの処理が統一されるため、障害時の解析や保守作業をシンプルにすることができる。
 〔その他の実施形態〕
 次に、本発明のその他の実施形態による通信システムについて、説明する。上述した第1実施形態では、OS30がネットワークスタック処理部31を備えており、OS30のネットワークスタック処理を利用するものとして、説明した。このネットワークスタック処理部31が持つARPテーブルをキャッシュとして、トンネルエンドポイント20の中に持っても良い。
 本実施形態によれば、上述した第1実施形態と同様な効果がもたらされる。さらに本実施形態では、このネットワークスタック処理部31が持つARPテーブルをキャッシュとして、トンネルエンドポイント20の中に持つ構成により、図2の送信処理の際にカプセル処理の全てをトンネルエンドポイント20にて実施できる。その結果、第1実施形態と比べて、より高速な通信が期待できる。
 ただしARPテーブルがトンネルエンドポイント20とOS30の2か所に存在することになるので、キャッシュのエイジングを行う、OSからARPテーブルの変更を通知してもらうなどの、一貫性の問題が起きないような適切な管理をする必要がある。
 さらに、本発明の実施形態では、送信処理が図3の流れになるか、図4の流れになるかは、宛先トンネルエンドポイントの情報が揃うかどうかで分岐していたが、その他の制限の都合で図4の流れを選択させてもよい。例えば宛先情報が確定している場合でも、フラグメントの必要がある場合にはその処理をOSに任せる必要があるため、図4の流れを選択する。また受信時もフラグメントしたパケットを受け取るケースがある場合は、図7のようにFD24からネットワークスタック処理部31へ処理を投げてから、VM11へ渡すこともあり得る。このルートを構成することで、あらゆるVXLANパケットの送受信に対応することができる。
 以上、本発明の好ましい実施形態や実施形態を説明したが、本発明はこれに限定されるものではない。上述した実施形態では、VNIと他の物理マシンにあるVMのMACアドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するものとして説明したが、本発明はこれに限られない。例えば、VNIとVXLANトンネルのユーザのMACアドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索する場合に、上述した顕著な効果がもたらされる。また、上述したトンネルエンドポイントの動作は、このような動作を実行させるプログラムにおいても実現可能である。なお、このプログラムは、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記録デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体などのコンピュータが読み取り可能な記録媒体の形態で、流通され得る。このような記録媒体に記録されたプログラムを読み込んで実行することにより、本実施形態の通信機能をソフトウェア的に実現してもよい。請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
 上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有する、制御システム。
(付記2)利用可能なOS(Operating System)のネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、付記1に記載の制御システム。
(付記3)前記利用可能なOSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、付記2に記載の制御システム。
(付記4)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記1乃至付記3のいずれか一つに記載の制御システム。
(付記5)物理マシン上に構成されたVM(Virtual Machine)と、前記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、ネットワークスタック処理部を有するOS(Operating System)と、を備える通信システム。
(付記6)前記トンネルエンドポイントは、前記OSのネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、付記5に記載の通信システム。
(付記7)前記トンネルエンドポイントは、前記OSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、付記6に記載の通信システム。
(付記8)VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う、通信方法。
(付記9)前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、付記8に記載の通信方法。
(付記10)前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する、付記8に記載の通信方法。
(付記11)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記8乃至付記10のいずれか一つに記載の通信方法。
(付記12)トンネルエンドポイントに、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させる、パケット送出により通信するためのプログラムが記録された記録媒体。
(付記13)前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、付記12に記載のプログラムが記録された記録媒体。
(付記14)前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する特定処理をさらに含む、付記12に記載のプログラムが記録された記録媒体。
(付記15)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記12乃至付記14のいずれか一つに記載のプログラムが記録された記録媒体。
 本発明は、キャリアにおける大量のデータ通信を処理するノードの仮想化の用途に適用できる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2014年9月1日に出願された日本出願特願2014-176927号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 11  VM
 20  トンネルエンドポイント
 20a  制御システム
 21  Inner
 22  Outer
 23  UDPソケット
 24  FD
 25  FDB
 30  OS
 31  ネットワークスタック処理部
 41  NIC

Claims (10)

  1.  VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有する、
     制御システム。
  2.  利用可能なOS(Operating System)のネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、
     前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、請求項1に記載の制御システム。
  3.  前記利用可能なOSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、請求項2に記載の制御システム。
  4.  物理マシン上に構成されたVM(Virtual Machine)と、
     前記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、
     ネットワークスタック処理部を有するOSと、を備える通信システム。
  5.  前記トンネルエンドポイントは、前記OSのネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、請求項4に記載の通信システム。
  6.  前記トンネルエンドポイントは、前記OSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、請求項5に記載の通信システム。
  7.  VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、
     前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う、通信方法。
  8.  前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、請求項7に記載の通信方法。
  9.  前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する、請求項7に記載の通信方法。
  10.  パケット送出により通信するためのプログラムが記録された記録媒体であって、
     トンネルエンドポイントに、
     VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、
     前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させるプログラムが記録された記録媒体。
PCT/JP2015/004377 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体 WO2016035306A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016546308A JPWO2016035306A1 (ja) 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014176927 2014-09-01
JP2014-176927 2014-09-01

Publications (1)

Publication Number Publication Date
WO2016035306A1 true WO2016035306A1 (ja) 2016-03-10

Family

ID=55439389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/004377 WO2016035306A1 (ja) 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体

Country Status (2)

Country Link
JP (1) JPWO2016035306A1 (ja)
WO (1) WO2016035306A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337158A (zh) * 2018-01-23 2018-07-27 新华三技术有限公司 单播报文转发方法和装置
JP2019514310A (ja) * 2016-04-27 2019-05-30 新華三技術有限公司New H3C Technologies Co., Ltd. パケット転送
WO2023010730A1 (zh) * 2021-08-02 2023-02-09 武汉绿色网络信息服务有限责任公司 数据包解析的方法和服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013110509A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 転送処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IS2837B (en) * 2011-07-22 2013-05-15 Atli Mar Josafatsson A trawl door or paravane with remote control adjustment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013110509A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 転送処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Jisedai Open Platform ni Okeru CTC no Torikumi Server Un'yo no Know-how o Network nimo Tekiyo shita Linux no Network OS 'Cumulus Linux", BUSINESS COMMUNICATION, vol. 51, no. 5, 1 May 2014 (2014-05-01), pages 78 - 79, ISSN: 0385-695X *
M. MAHALINGAM ET AL.: "Virtual extensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", RFC7348, August 2014 (2014-08-01), Retrieved from the Internet <URL:URL:https://www.rfc-editor.org/rfc/pdfrfc/rfc7348.txt.pdf> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019514310A (ja) * 2016-04-27 2019-05-30 新華三技術有限公司New H3C Technologies Co., Ltd. パケット転送
US10547567B2 (en) 2016-04-27 2020-01-28 New H3C Technologies Co., Ltd Packet forwarding
CN108337158A (zh) * 2018-01-23 2018-07-27 新华三技术有限公司 单播报文转发方法和装置
CN108337158B (zh) * 2018-01-23 2020-12-04 新华三技术有限公司 单播报文转发方法和装置
WO2023010730A1 (zh) * 2021-08-02 2023-02-09 武汉绿色网络信息服务有限责任公司 数据包解析的方法和服务器

Also Published As

Publication number Publication date
JPWO2016035306A1 (ja) 2017-06-08

Similar Documents

Publication Publication Date Title
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
US11398921B2 (en) SDN facilitated multicast in data center
US10320664B2 (en) Cloud overlay for operations administration and management
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
US20210168114A1 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US9565105B2 (en) Implementation of virtual extensible local area network (VXLAN) in top-of-rack switches in a network environment
CN103200069B (zh) 一种报文处理的方法和设备
US9281955B2 (en) Interoperability of data plane based overlays and control plane based overlays in a network environment
EP2874359B1 (en) Extended ethernet fabric switches
US9559896B2 (en) Network-assisted configuration and programming of gateways in a network environment
CN106713103B (zh) 用于虚拟和物理网络集成的方法和系统
EP3197107B1 (en) Message transmission method and apparatus
JP5855630B2 (ja) 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法
JP6426879B2 (ja) データパケット転送
CN103227757A (zh) 一种报文转发方法及设备
JP6722816B2 (ja) パケット転送
US10257086B2 (en) Source imposition of network routes in computing networks
US10020954B2 (en) Generic packet encapsulation for virtual networking
WO2021083332A1 (zh) 发送报文的方法、装置及系统
TW201541919A (zh) 可縮放位址解析之技術
WO2016035306A1 (ja) 制御システム、通信システム、通信方法および記録媒体
CN110752989A (zh) 一种东西向流量转发方法与装置
US20150281086A1 (en) Information processing system and controlling method and controlling device for the same
CN115065660B (zh) Arp代答的优化方法
JP2024503319A (ja) 仮想化されたクラウド環境におけるレイヤ2ネットワーキング情報

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15838947

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016546308

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15838947

Country of ref document: EP

Kind code of ref document: A1