WO2013140507A1 - ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム - Google Patents

ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム Download PDF

Info

Publication number
WO2013140507A1
WO2013140507A1 PCT/JP2012/057043 JP2012057043W WO2013140507A1 WO 2013140507 A1 WO2013140507 A1 WO 2013140507A1 JP 2012057043 W JP2012057043 W JP 2012057043W WO 2013140507 A1 WO2013140507 A1 WO 2013140507A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
virtual
aggregation
virtual switch
switch
Prior art date
Application number
PCT/JP2012/057043
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 PCT/JP2012/057043 priority Critical patent/WO2013140507A1/ja
Publication of WO2013140507A1 publication Critical patent/WO2013140507A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches

Definitions

  • the present invention relates to a network aggregation device, a network aggregation method, and a network aggregation system that control a multicast packet transfer path.
  • VLAN Virtual LAN
  • IEEE802.1Q IEEE802.1Q
  • VLAN tagging is a technique for adding a tag defined by IEEE802.1Q to an Ethernet (registered trademark) frame.
  • a VLAN to which the frame belongs is identified by a 12-bit VID (VLAN Identifier) field included in the tag.
  • Network routers, switches, and NICs Network Interface Cards logically divide the network by comparing the VID value with pre-registered setting information and performing filtering.
  • the VLAN also has a function of limiting the propagation range of broadcast traffic.
  • VID identifiers may be insufficient due to the large-scale system environment accompanying the advancement of virtualization technology. Furthermore, it is difficult to construct a VLAN between devices connected via a relay device having a broadcast traffic filtering function such as a router.
  • Non-Patent Documents 1 and 2 describe the extended VLAN technology.
  • an extended VLAN identifier is added to a frame, and a frame transmitted from a virtual machine or the like is a termination device or termination software (hereinafter simply referred to as a termination point).
  • IP Internet Protocol
  • UDP / IP User Datagram Protocol / Internet Protocol
  • Patent Document 1 realizes transfer of packets between virtual machines by selecting and executing connection processes such as different subnets and different hosts, and transfer processing such as encapsulation and address conversion according to the destination address.
  • the technology (invention) to do is described.
  • Non-Patent Document 1 and the invention described in Patent Document 1 when encapsulating a MAC frame (Media Access Control Frame) transmitted from a virtual machine, the destination IP of the IP header of a broadcast frame and an unlearned frame A multicast address is set as the address, and these frames are transmitted on the shared network.
  • MAC frame Media Access Control Frame
  • IP multicast route corresponding to each IP multicast address must be constructed on the shared network.
  • the construction of an IP multicast route is realized using a routing protocol such as IGMP (Internet Group Management Protocol), MLD (Multicast Listener Discovery), and PIM (Protocol-Independent Multicast).
  • Non-Patent Document 1 and Patent Document 1 encapsulate a broadcast frame with an IP multicast packet.
  • the number of IP multicast paths increases, the number of control messages such as IGMP increases, which places a load on the physical network device.
  • IGMP increases, which places a load on the physical network device.
  • a table record for the IP multicast route on the physical network device is newly used. Since the table for the IP multicast route on the physical network device is limited in size, it is difficult to realize a large number of extended logical networks.
  • Patent Document 2 it is determined whether or not a plurality of multicast traffic for the same broadcast-type content can be aggregated based on a broadcast reproduction state or the like, and when it is determined that aggregation is possible, A technique for realizing reduction of IP multicast routes is described.
  • data communicated via a network in the virtual environment described above is not limited to broadcast-type content. Therefore, with the determination method described in Patent Document 2, it is difficult to aggregate traffic, and it is difficult to realize a large number of extended logical networks.
  • the present invention provides a network aggregating apparatus, a network aggregating method, and a network aggregating system capable of realizing a large number of extended logical networks when a network is logically divided by the extended logical network technology in a virtual environment.
  • the task is to do.
  • the invention described in claim 1 of the present invention includes a plurality of physical hosts and a network aggregation device, and a virtual machine and a virtual switch are arranged on the physical host.
  • the virtual switch includes a machine management unit that manages deployment of the virtual machine in a network aggregation system that tunnels broadcast communication between the virtual machines for each extended logical network, and the machine management unit includes the virtual machine. If it is determined that the broadcasts of the extended logical network to which the changed virtual machine belongs can be transferred and transferred when the deployment or configuration of the virtual machine is changed, the virtual switch is set so as to collect the broadcasts. And a logical network management unit that controls the network aggregation device. Other means will be described in the embodiment for carrying out the invention.
  • a network aggregation device capable of realizing a large number of extended logical networks when a network is logically divided by the extended logical network technology in a virtual environment. can do.
  • FIG. 1 is a diagram showing an outline of a network aggregation system in the first embodiment.
  • the network aggregation system 1 according to the first embodiment includes switches 201a and 201b, a router 202a, a management server 300a, and physical hosts 100a to 100d.
  • the switches 201a, 201b, ..., the routers 202a, ..., the management servers 300a, ..., and the physical hosts 100a, ... are not limited to the number shown in FIG.
  • the switches 201a, 201b,... are simply referred to as “switch 201” unless otherwise distinguished.
  • the routers 202a,... are simply described as “router 202”.
  • the management servers 300a,... are not particularly distinguished, they are simply described as “management server 300”.
  • the physical hosts 100a,... They are simply described as “physical host 100”.
  • the network aggregation system 1 tunnels broadcast communication between the virtual machines 104 for each extended logical network, and determines that the broadcast of the extended logical network to which the virtual machine 104 belongs can be aggregated and transferred. Then, the virtual switch 103 is controlled so as to aggregate the broadcast communications.
  • the router 202a is a device having a layer 3 relay function.
  • the router 202a includes a layer 3 switch device having a layer 2 relay function.
  • the router 202a is a communication device that interconnects the switches 201a and 201b and the management server 300a.
  • the switch 202a (SW_1), the switch 201b (SW_2), and the management server 300 are connected to the router 202a.
  • the switch 201 is a layer 2 switch that is a relay device of the network, and transfers data by determining the destination of a packet using data in the data link layer (second layer) of the OSI (Open Systems Interconnection) reference model.
  • the physical hosts 100a to 100d are server computers that are physical computer hardware, for example. Each physical host 100 is connected to the switch 201 and can communicate with each other via the switch 201 and the router 202a.
  • the physical host 100a (Host_1) is provided with a virtual switch 103a (VSW_1), a virtual machine 104 (VM_a1), a virtual machine 104 (VM_b1), and a virtual machine 104 (VM_c1).
  • the physical host 100b (Host_2) is provided with a virtual switch 103b (VSW_2), a virtual machine 104 (VM_a2), and a virtual machine 104 (VM_a3).
  • a virtual switch 103c (VSW_3), a virtual machine 104 (VM_b2), and a virtual machine 104 (VM_c2) are arranged on the physical host 100c (Host_3).
  • the physical host 100d (Host_4) is provided with a virtual switch 103d (VSW_4) and a virtual machine 104 (VM_a4).
  • the virtual switches 103a to 103d are, for example, virtual layer 2 switches (L2 switches) compatible with VLAN, and relay communication in the network 200.
  • L2 switches virtual layer 2 switches
  • the virtual machine 104 is a virtual computer and is deployed on the physical host 100 and operates. An arbitrary operating system, application program, or the like is operating on the virtual machine 104.
  • the virtual machine 104 according to the first embodiment belongs to one of the extended logical networks, and is connected to the switch 201 via the virtual switch 103.
  • a bold broken line in FIG. 1 indicates, for example, when broadcast is performed from the virtual machine 104 (VM_a1) to the virtual machine 104 (VM_a2), the virtual machine 104 (VM_a3), and the virtual machine 104 (VM_a4) belonging to the same extended logical network.
  • the route of the communication packet is shown.
  • the communication packet broadcast by the virtual machine 104 (VM_a1) is transmitted to the switch 201a (SW_1) via the virtual switch 103a (VSW_1).
  • the communication packet is transmitted from the switch 201a (SW_1) to the physical host 100b (Host_2) and flows to the virtual machine 104 (VM_a2) via the virtual switch 103b (VSW_2).
  • the communication packet is transmitted from the switch 201a (SW_1) to the physical host 100d (Host_4) via the router 202a and the switch 201b (SW_2), and to the virtual machine 104 (VM_a4) via the virtual switch 103d (VSW_4).
  • FIG. 2 is a configuration diagram showing each part of the network aggregation system in the first embodiment.
  • the network aggregation system 1 includes a physical host 100, a network 200, and a management server 300.
  • the physical host 100 is connected to the management server 300 via the network 200.
  • the network 200 relays communication packets from a transmission source device to a destination device.
  • a hypervisor 102 is operating on the physical host 100.
  • the physical host 100 includes a CPU 131 (FIG. 3), a physical communication interface (NIC) 101, and an external storage device 133 (FIG. 3).
  • the CPU 131 (FIG. 3) reads and executes a system program, a virtual machine program, and a business program stored in the external storage device 133 (FIG. 3), and executes the hypervisor 102, the virtual machine 104, the guest OS 106, and a business program. 107 and the like are embodied and operated.
  • the hypervisor 102 is a control program for realizing the virtual machine 104, and is, for example, Hyper Visor (registered trademark) of Microsoft Corporation. On the hypervisor 102, one virtual switch 103 (VSW) and two virtual machines 104 (VM) are operating.
  • VSW virtual switch 103
  • VM virtual machines 104
  • the virtual switch 103 is, for example, a virtual layer 2 switch (L2 switch) compatible with VLAN, and relays communication in the network 200 within the hypervisor 102.
  • the virtual switch 103 is connected to the physical communication interface 101 and the virtual machine 104.
  • the virtual switch 103 includes a transfer processing unit 111, one or a plurality of logical ports 112, and a management unit 113.
  • the virtual switch 103 stores and manages various types of information, so that a learned transfer table 121, an unlearned transfer table 122, The extended logical network information table 123 is provided.
  • the transfer processing unit 111 switches communication data (frame) received from any one of the logical ports 112 and transfers it to the destination logical port 112.
  • the transfer processing unit 111 further includes a VLAN function and an extended VLAN function.
  • the extended VLAN function is a tunneling communication function, which converts a frame received from the virtual machine 104 into an encapsulated IP packet and forwards it to the network 200, and encapsulates an IP packet received from the network 200. And the function of taking out the frame and transferring it to the destination virtual machine 104.
  • the logical port 112 is a virtually configured communication port, and is connected to the transfer processing unit 111 and also connected to the physical communication interface 101 and the virtual communication interface 105.
  • the management unit 113 manages the processing of the virtual switch 103 in an integrated manner.
  • the learned transfer table 121 will be described later with reference to FIG.
  • the unlearned transfer table 122 will be described later with reference to FIG.
  • the extended logical network information table 123 will be described later with reference to FIG.
  • These various tables are realized by, for example, a hash table or a relational database. However, the present invention is not limited to this, and various tables may be realized by a dedicated memory (for example, Content Addressable / Associative Memory).
  • the virtual machine 104 is a virtualized computer and is realized by the hypervisor 102.
  • the virtual machine 104 includes one or a plurality of virtual communication interfaces 105.
  • a virtual communication interface 105 is provided on the virtual machine 104, and a guest OS (Operating System) 106 and a business program 107 are operating.
  • the virtual communication interface 105 is a logical communication interface and is connected to the virtual switch 103.
  • the guest OS 106 is an operating system that operates on the virtual machine 104.
  • the business program 107 is an application program that runs on the guest OS 106.
  • the business program 107 can communicate with the virtual switch 103 via the guest OS 106 and the virtual communication interface 105.
  • one virtual switch 103 is connected to one physical communication interface 101.
  • the management server 300 is a single physical server computer.
  • the management server 300 includes a machine management unit 311 and a logical network management unit 312 as software function modules.
  • the management server 300 includes a machine deployment configuration table 321, an extended logical network allocation table 322, and a multicast address allocation table 323 for storing and managing various types of information.
  • the management server 300 includes a physical communication interface 301 that communicates with the virtual switch 103 and the like via the network 200.
  • the machine management unit 311 newly deploys the virtual machine 104 on the physical host 100 and starts it.
  • the machine management unit 311 further stops and deletes the operating virtual machine 104.
  • the machine management unit 311 manages the virtual machine 104 by assigning the virtual communication interface 105 to the virtual machine 104 or assigning a MAC address to the virtual communication interface 105, and stores the management contents in the machine deployment configuration table 321. To do.
  • the logical network management unit 312 cooperates with the machine management unit 311 to assign an extended logical network identifier (LGID).
  • the logical network management unit 312 further performs network aggregation determination, assigns a multicast address for forwarding broadcast frames or unlearned frames in each extended logical network, and instructs the virtual switch 103.
  • the logical network management unit 312 stores the management contents such as these assignments and instructions in the multicast address assignment table 323.
  • the machine deployment configuration table 321 will be described with reference to FIG.
  • the extended logical network allocation table 322 will be described later with reference to FIG.
  • the multicast address allocation table 323 will be described later with reference to FIG.
  • These various tables are realized by a relational database as management information (such as a table) for managing the relationship.
  • FIG. 3 is a diagram showing the configuration of the physical host in the first embodiment.
  • the physical host 100 includes a CPU (Central Processing Unit) 131, a memory 132, an external storage device 133, a communication device 134, an output device 135, an input device 136, and a read / write device 137.
  • CPU Central Processing Unit
  • the CPU 131 includes a RAM (Random Access Memory), a ROM (Read Only Media), and the like.
  • the CPU 131 reads various programs stored in the ROM, the memory 132, or the external storage device 133, develops the programs on the RAM, and executes them to embody the operation of the hypervisor 102.
  • the memory 132 is a non-volatile memory such as a flash memory, for example, and stores various programs and various data.
  • the external storage device 133 is, for example, an HDD (Hard Disk Drive) or an SSD (solid state drive), and stores various programs and various data.
  • the communication device 134 is, for example, a NIC (Network Interface Card).
  • the communication device 134 includes one or a plurality of physical ports, and is connected to the network 200 via the physical ports.
  • the output device 135 is, for example, a monitor display or a speaker.
  • the monitor display which is the output device 135 displays a still image or a moving image.
  • the speaker which is the output device 135 outputs sound.
  • the input device 136 is, for example, a keyboard, a switch, a pointing device, or a microphone.
  • the input device 136 receives an operation input or voice input by an operator.
  • the read / write device 137 reads / writes data from / to a portable storage medium M such as a CD (Compact Disk) or a DVD (Digital Versatile Disk).
  • a portable storage medium M such as a CD (Compact Disk) or a DVD (Digital Versatile Disk).
  • the read / write device 137 reads various programs stored in the storage medium M to the memory 132 and the external storage device 133.
  • the physical host 100 may be configured to include each unit, or may include a plurality of units.
  • the management server 300 is configured in the same manner as the physical host 100.
  • FIG. 4 is a schematic configuration diagram showing the switch in the first embodiment.
  • the switch 201 includes a transfer unit 213, a plurality of physical ports 214, and a storage unit 220. As in FIG. 1, the switch 201 is connected to the router 202 and the physical hosts 100a and 100b.
  • the transfer unit 213 switches communication data received from one of the physical ports 214 and transfers it to the destination physical port 214.
  • the transfer unit 213 is connected to a plurality of physical ports 214.
  • the physical port 214 is a 10/100 / 1000BaseT connector, for example, and is a port for connecting a network cable. In the present embodiment, the six physical ports 214 are assigned port numbers 1 to 6. The physical port 214 is connected to the physical host 100, the router 202, and the physical ports 214 of other switches 201.
  • the storage unit 220 is, for example, an HDD or an SSD, and stores various programs and various data.
  • the storage unit 220 includes an FDB (Filtering Database) table 221 and a multicast forwarding table 222.
  • the FDB table 221 will be described later with reference to FIG.
  • the multicast forwarding table 222 will be described later with reference to FIG.
  • FIG. 5 is a diagram showing an FDB table in the first embodiment.
  • the FDB table 221 of the first embodiment includes a MAC_Address field 221a, a VID field 221b, and a Port field 221c.
  • the MAC_Address field 221a stores MAC address information possessed by the virtual communication interface 105 of the virtual machine 104, the physical communication interface 101 of the physical host 100, and the like.
  • the VID column 221b stores an identifier (VID) that identifies one or more VLANs to which the communication interface belongs.
  • the Port column 221c stores a port number connected to a network that can reach the communication interface identified by the combination of the MAC_Address column 121a and the VID column 121b.
  • FIG. 6 is a diagram showing a multicast forwarding table in the first embodiment.
  • the multicast forwarding table 222 includes an IP_Multicast_Address field 222a, a Port field 222b, a VID field 222c, an Uptime field 222d, and an Expires field 222e.
  • the multicast forwarding table 222 is referred to when the forwarding unit 213 forwards a frame whose destination is an IP multicast address.
  • the IP_Multicast_Address field 222a stores an IP multicast address assigned to one of the extended logical networks.
  • the Port column 222b stores a port number indicating the physical port 214 that is a transfer destination of the IP multicast address. In FIG. 6, port numbers 2, 4, and 6 are stored in the respective records.
  • the VID column 222c stores an identifier (VID) that identifies a VLAN of a packet having the IP multicast address.
  • the VID column 222c is a column corresponding to an Encap_VID column 122b (FIG. 10) described later.
  • the Uptime column 222d stores the time when the record is updated.
  • the Expires column 222e stores a time indicating the expiration date of the record. In the present embodiment, the Expires column 222e stores a time 3 minutes after the time indicated by the Uptime column 222d.
  • FIG. 7 is a sequence diagram showing communication in the first embodiment. Sequences Q10 to Q15 are update processing of each multicast forwarding table 222 in accordance with the deployment change of the virtual machine 104.
  • the management server 300 transmits to the virtual switch 103a (VSW_1) that the deployment of the virtual machine 104 has been changed.
  • the virtual switch 103a (VSW_1) transmits deployment information of the virtual machine 104 based on IGMP to the switch 201a (SW_1).
  • the switch 201a (SW_1) updates the multicast forwarding table 222 included in the switch 201a (SW_1) based on the deployment information of the virtual machine 104.
  • the switch 201a (SW_1) transmits the deployment information of the virtual machine 104 to the router 202 by IGMP.
  • the router 202 transmits the deployment information of the virtual machine 104 based on IGMP to the switch 201b (SW_2).
  • the switch 201b (SW_2) updates the multicast forwarding table 222 included in the switch 201b (SW_2) based on the deployment information of the virtual machine 104.
  • Sequences Q20 to Q23 are frame multicast transmission processing.
  • the virtual switch 103a (VSW_1) sets the IP multicast address as the frame destination and transmits the frame to the switch 201a (SW_1). Thereby, the frame is multicast-transferred.
  • the switch 201a (SW_1) refers to the multicast forwarding table 222 and identifies the physical port 214 that is the destination of the frame.
  • the switch 201a (SW_1) transmits the frame to the virtual switch 103b (VSW_2).
  • the switch 201a (SW_1) transmits the frame to the router 202.
  • the router 202 transmits the frame to the switch 201b (SW_2).
  • the switch 201 and the router 202 can transfer the frame to all the virtual machines 104 belonging to the extended logical network of the frame.
  • FIG. 8 is a diagram showing a frame format in the first embodiment.
  • the original frame 20 is a frame transmitted / received from the virtual communication interface 105 of the virtual machine 104.
  • the original frame 20 includes a destination MAC address 20a (MAC DA), a source MAC address 20b (MAC SA), a VLAN tag header 20c (VLAN Tag) defined by IEEE802.1Q, an Ethertype 20d, and data 20e as a payload.
  • FCS 20f Frarame Check Sequence
  • the destination MAC address 20 a is the MAC address of the destination communication interface of the original frame 20.
  • the transmission source MAC address 20 b is the MAC address of the communication interface of the transmission source of the original frame 20.
  • the VLAN tag header 20c stores information indicating the VLAN to which the virtual machine 104 that transmitted the original frame 20 belongs.
  • the Ethertype 20d stores an identifier indicating the type of communication protocol to be transmitted (type of network layer).
  • the data 20e stores a payload body.
  • the FCS 20f stores information for checking the validity of the original frame 20.
  • the destination MAC address 20a, the source MAC address 20b, the VLAN tag header 20c, and the Ethertype 20d are collectively referred to as a MAC header.
  • the VLAN tag header 20c is optional and may not be attached.
  • the virtual switch 103 encapsulates the original frame 20 and transmits it to the network 200 as the encapsulated frame 21.
  • the modified original frame 21 i in the encapsulated frame 21 is a part corresponding to the original frame 20.
  • the encapsulated frame 21 includes a destination MAC address 21a (MAC DA), a source MAC address 21b (MAC SA), a VLAN tag header 21c in IEEE802.1Q, a MAC header such as Ethertype 21d, and a protocol number (Protocol Number).
  • IP SA source IP address 21f
  • IP DA destination IP address 21g
  • LGID 21h that is an identifier for identifying an extended logical network
  • FCS 21j FCS 21j
  • the VLAN tag header 20c is newly added.
  • the FCS 20f may be deleted when the original frame 20 is modified to the modified original frame 21i, and may be recalculated and added when decapsulated from the encapsulated frame 21 to the original frame 20.
  • the protocol number included in the IP header 21e may store a number that is determined as the protocol for the extended logical network, so that the protocol type can be determined.
  • FIG. 9 is a diagram showing a learned transfer table in the first embodiment.
  • the learned transfer table 121 belongs to the virtual switch 103.
  • the learned transfer table 121 stores information used when the virtual switch 103 transfers a frame received from the logical port 112 to another logical port 112.
  • the learned transfer table 121 of the first embodiment includes a MAC_Address field 121a, a VID field 121b, an LGID field 121c, a Port field 121d, an Encap_VID field 121e, and an Encap_IP_Address field 121f.
  • the MAC_Address field 121a stores MAC address information possessed by the virtual communication interface 105 of the virtual machine 104, the physical communication interface 101 of the physical host 100, and the like.
  • the VID column 121b stores a VLAN identifier (VID) that identifies one or more VLANs to which the communication interface belongs.
  • the LGID column 121c stores an identifier for identifying one or more extended logical networks to which the communication interface belongs.
  • the Port field 121d stores the port number of the logical port 112 that can be reached via the switch 201 or the router 202 in the communication interface identified by the combination of the MAC_Address field 121a, the VID field 121b, and the LGID field 121c of the record.
  • the Encap_VID column 121e stores the value of the VID assigned to the outer MAC header when the frame is encapsulated when the frame is transferred through the logical port 112 indicated by the Port column 121d.
  • the Encap_IP_Address field 121f the value of the destination IP address 21g given to the encapsulated frame 21 when the virtual switch 103 encapsulates the frame is stored.
  • the encapsulated frame 21 is transferred via a port connected to the network 200 that can reach the communication interface identified by the combination of the MAC_Address field 121a, the VID field 121b, and the LGID field 121c of the record.
  • the MAC_Address column 121a, the VID column 121b, and the Port column 121d of the learned transfer table 121 are the same as the information stored in the FDB (Filtering Database) provided in the already known network device or software switch.
  • FDB Frtering Database
  • FIG. 10 is a diagram showing an unlearned transfer table in the first embodiment.
  • the unlearned transfer table 122 includes an LGID column 122a, an Encap_VID column 122b, and an Encap_IP_Address column 122c.
  • the LGID column 122a stores an ID for identifying the extended logical network.
  • the Encap_VID column 122b information specified as the VID of the MAC header to be encapsulated when the virtual switch 103 encapsulates and transfers the unlearned frame as described above is stored.
  • the Encap_IP_Address field 122c stores information specified as the destination IP address 21g of the encapsulated frame 21 when the virtual switch 103 encapsulates the unlearned frame. Information in the unlearned transfer table 122 is instructed by the management server 300 and stored.
  • the unlearned transfer table 122 belongs to the virtual switch 103.
  • the unlearned transfer table 122 stores information related to capsule headers of unlearned frames.
  • the unlearned frame is a frame in which the destination is not recorded (learned) in the learned transfer table 121 among the received original frames 20.
  • the first case of an unlearned frame is a case where the destination MAC address 20a is a broadcast address.
  • FIG. 11 is a diagram showing an extended logical network information table in the first embodiment.
  • the extended logical network information table 123 shows the allocation status of VLANs and extended logical networks in the logical port 112.
  • a VLAN can be normally assigned to each physical or logical port 112, and a VLAN type and a VID can be designated.
  • information corresponding to the extended logical network is further added.
  • the extended logical network information table 123 includes a Port column 123a, a VLAN_Mode column 123b, a VID column 123c, and an LGID column 123d.
  • the Port column 123a stores an ID that uniquely identifies the logical port 112 included in the virtual switch 103.
  • the VLAN_Mode column 123b stores information for identifying the VLAN processing mode of the logical port 112 identified in the Port column 123a.
  • “Tagged” representing an IEEE 802.1Q tagged VLAN
  • “Port” representing a port-based VLAN are stored.
  • the VID column 123c stores a VID to be processed by the VLAN processing method specified in the VLAN_Mode column 123b in the logical port 112 identified by the Port column 123a.
  • the LGID column 123d stores an identifier for identifying the extended logical network to which the virtual communication interface 105 of the virtual machine 104 connected to the logical port 112 identified in the Port column 123a belongs.
  • the extended logical network information table 123 stores information transmitted from the management server 300 at the timing of configuration change such as deployment, update, and deletion of the virtual machine 104.
  • FIG. 12 is a diagram illustrating a machine deployment configuration table according to the first embodiment.
  • the machine deployment configuration table 321 is a table that stores the deployment status of the virtual machine 104 to the physical host 100.
  • the machine deployment configuration table 321 includes an MID column 321a, a Host column 321b, and a Site column 321c.
  • the MID column 321a stores an identifier for identifying the virtual machine 104 related to the record.
  • the Host column 321b stores an identifier for identifying the physical host 100 in which the virtual machine 104 is deployed.
  • the Site column 321c stores information for identifying the location where the physical host 100 is installed.
  • the machine deployment configuration table 321 is updated at the timing of configuration change such as deployment, update, and deletion of the virtual machine 104.
  • FIG. 13 is a diagram showing an extended logical network allocation table in the first embodiment.
  • the extended logical network assignment table 322 stores a connection relationship between the virtual communication interface 105 and the virtual switch 103 of the virtual machine 104 and an identifier for identifying an extended logical network assigned to one or a plurality of virtual communication interfaces 105. It is a table.
  • the extended logical network allocation table 322 includes an NIC column 322a, an MID column 322b, an LGID column 322c, a VID column 322d, an SW column 322e, and a Port column 322f.
  • the NIC column 322a stores an identifier for identifying one or more virtual communication interfaces 105 assigned to the virtual machine 104.
  • the MID column 322b stores an identifier for identifying the virtual machine 104.
  • the LGID column 322c stores an identifier for identifying the extended logical network assigned to the virtual communication interface 105 group.
  • the VID column 322d stores an identifier for identifying a VLAN assigned to the virtual communication interface 105 group.
  • an identifier for identifying the virtual switch 103 connected to the virtual communication interface 105 is stored.
  • the Port column 322f stores an identifier for identifying the logical port 112 on the virtual switch 103.
  • the extended logical network allocation table 322 is updated at the timing of configuration change such as deployment, update, and deletion of the virtual machine 104.
  • FIG. 14 is a diagram showing a multicast address assignment table in the first embodiment.
  • the multicast address allocation table 323 stores a multicast address used when multicast is used to transfer the unlearned frame on the network 200 among the frames belonging to the extended logical network.
  • the multicast address assignment table 323 includes an LGID column 323a and an IP_Multicast_Address column 323b.
  • the LGID column 323a stores an identifier for uniquely identifying the extended logical network.
  • the IP_Multicast_Address column 323b stores an IP multicast address assigned to the extended logical network.
  • the multicast address allocation table 323 is updated with the result determined in the aggregation determination flow described later.
  • Each virtual switch 103 shown in FIG. 1 is assigned a different IP address, and various settings such as routing and VLAN are set in each device on the network 200 so that the virtual switches 103 can communicate with each other.
  • Each device on the network 200 has a basic setting for performing multicast communication. This basic setting is, for example, an IGMP snooping setting in the switch 201, a PIM (Protocol-Independent Multicast) setting in the router 202, or the like.
  • the virtual machine 104 transmits and receives Ethernet (registered trademark) frames.
  • FIG. 15 is a flowchart showing the aggregation determination process in the first embodiment.
  • the management server 300 determines whether to transfer the unlearned frame by multicast or unicast according to the number of termination points, The end point is indicated.
  • the termination point is, for example, the virtual switch 103 and is connected to the network 200 to transmit the encapsulated frame 21 related to the extended logical network, or from the network 200 to the encapsulated frame 21 related to the extended logical network. It is received and decapsulated.
  • the management server 300 When the management server 300 receives a request for changing a virtual machine 104, such as new deployment, deletion, deployment destination (host) change, or network connection configuration, from an administrator (not shown) or another management system (not shown), the aggregation is performed. Judgment processing starts. Further, the management server 300 may start the aggregation determination process periodically.
  • the logical network management unit 312 of the management server 300 determines the deployment configuration (VM deployment configuration) and network connection configuration of the virtual machine 104. That is, the logical network management unit 312 determines information to be stored in the machine deployment configuration table 321 (FIG. 12) and the extended logical network allocation table 322 (FIG. 13). For example, as shown in FIG.
  • the logical network management unit 312 of the management server 300 adds the virtual machine 104 (VM_b2) to the physical host 100c (Host_3), and adds the virtual communication interface 105 (VM_b2_VNIC_1) of the virtual machine 104.
  • the extended logical network identifier to which the virtual machine 104 belongs is set to (b)
  • the VLAN identifier to which the virtual communication interface 105 (VM_b2_VNIC_1) participates is set to (100)
  • the virtual communication interface 105 (VM_b2_VNIC_1) is set to virtual Records in the machine deployment configuration table 321 (FIG. 12) and the extended logical network allocation table 322 (FIG. 13) are determined so as to connect to the port number 2 of the logical port 112 of the switch 103 (VSW_3).
  • the logical network management unit 312 of the management server 300 searches for the configuration of the extended logical network to which the deployed virtual machine 104 belongs. For example, the logical network management unit 312 of the management server 300 searches the LGID column 322c of the record of the extended logical network allocation table 322 with the identifier (b) of the extended logical network to which the virtual machine 104 (VM_b2) belongs. The logical network management unit 312 acquires the value of the SW column 322e of the retrieved record. At this time, the values in the SW column 322e of the retrieved record are (VSW_1) and (VSW_2), which indicate the virtual switch 103 accommodated by the extended logical network.
  • step S12 the logical network management unit 312 of the management server 300 determines whether or not the number of virtual switches 103 accommodated in the extended logical network is equal to or greater than a predetermined threshold value.
  • the threshold value is referred to as a multicast usage restriction threshold value.
  • the logical network management unit 312 of the management server 300 performs the process of step S13 when the condition is not satisfied (No), and performs the process of step S14 when the condition is satisfied (Yes).
  • the logical network management unit 312 of the management server 300 determines to transfer the unlearned frame by unicast, and changes various tables. For example, the logical network management unit 312 changes the IP_Multicast_Address field 323b of the record related to the extended logical network in the multicast address assignment table 323 to “ ⁇ ” (meaning “no multicast address assigned”). Further, the logical network management unit 312 instructs the virtual switch 103 identified by the SW column 322e of the record related to the extended logical network to add the record related to the extended logical network to the unlearned transfer table 122. . In other words, the logical network management unit 312 instructs the virtual switch 103 to add the record in the LGID column 122a (b) to the unlearned transfer table 122.
  • the logical network management unit 312 allocates the Encap_VID column 122b of the added record in advance for one or a plurality of extended logical networks.
  • the Encap_VID column 122b is stored in the VID of the MAC header of the encapsulated frame.
  • the Encap_IP_Address field 122c stores the IP address of the virtual switch 103 other than the virtual switch 103 to be set among the virtual switches 103 identified in the SW field 322e of the record related to the extended logical network. For example, as shown in FIG.
  • the LGID column 122a of the unlearned transfer table 122 of the virtual switch 103 (VSW_1) is a record in (b), and the Encap_IP_Address column 122c contains other than the virtual switch 103 (VSW_1).
  • the IP address (IP_VSP_3) of the virtual switch 103 (VSW_3) is stored.
  • IP_Multicast_1 is stored in the Encap_IP_Address field 122c of the record of the LGID field 122a of the unlearned transfer table 122 for the virtual switch 103 accommodated by the extended logical network.
  • the virtual switch 103 newly assigned with the multicast address transmits a participation request for the multicast route identified by the multicast address by, for example, an IGMP Join message. As shown in sequences Q11 to Q15 in FIG. 7, when the switch 201 and the router 202 process the IGMP Join message, a multicast path is established.
  • step S15 the logical network management unit 312 of the management server 300 executes the deployment of the virtual machine 104.
  • the unlearned frame is encapsulated with the value stored in the unlearned transfer table 122 and transferred.
  • the logical network management unit 312 of the management server 300 ends the process of FIG. 15 when the process of step S15 ends.
  • the management server 300 can similarly process not only new additions but also configuration changes such as deletion and movement.
  • the management server 300 periodically performs the aggregation determination process in steps S10 to S15 in preparation for when the physical host 100 stops operating illegally.
  • the unlearned transfer table 122 and the extended logical network in each virtual switch 103 are stored, and based on the stored result, participation in the IP multicast is performed, and the construction of the IP multicast route is performed by a known method. It shall be.
  • the virtual machine 104 (VM_a1) deployed on the physical host 100a (Host_1) and the virtual machine 104 newly deployed on the physical host 100d (Host_4) ( A case where data communication is performed between VM_a4) will be described as an example.
  • the virtual machine 104 (VM_a1) and the virtual machine 104 (VM_a4) know the IP addresses assigned to each other's virtual communication interface 105 in advance.
  • FIG. 16 is a flowchart showing the capsule processing of the virtual switch in the first embodiment.
  • the virtual machine 104 (VM_a1) knows the MAC address of the virtual communication interface 105 (VM_a4_VNIC_1) to which the IP address (IP_VM_a4_VNIC_1) of the virtual machine 104 (VM_a4) that is the communication partner is assigned in specific data transfer.
  • ARP Address Resolution Protocol
  • a broadcast address is stored in the destination MAC address 20a of the original frame 20 of the ARP request.
  • the original frame 20 that is the ARP request is transmitted to the second port of the virtual switch 103a (VSW_1) via the virtual communication interface 105. Thereby, the encapsulation process of the virtual switch 103a starts.
  • step S40 the virtual switch 103a acquires a virtual LAN identifier (VID) and an extended logical network identifier (LGID) from the reception port number of the frame.
  • VIP virtual LAN identifier
  • LGID extended logical network identifier
  • step S40 the virtual switch 103a searches the Port column 123a of the extended logical network information table 123 with the port number that received the original frame 20.
  • the virtual switch 103a acquires the VID of the VLAN to which the original frame 20 belongs from the VID field 123c of the retrieved record, and the extended logical network identifier of the transmission source of the original frame 20 by the LGID field 123d of the retrieved record (LGID) is acquired.
  • step S41 the virtual switch 103a determines whether or not the transmission source of the frame has been learned.
  • the virtual switch 103a performs the process of step S42 if the condition is not satisfied (No), and performs the process of step S43 if the condition is satisfied (Yes).
  • step S41 the virtual switch 103a learns using the source MAC address 20b of the original frame 20, the VID of the VLAN to which the frame belongs, and the extended logical network identifier of the virtual machine 104 (VM_a1) as keys.
  • the completed transfer table 121 is searched, and if a search result record exists, it is determined that learning has been completed.
  • step S42 the virtual switch 103a records the transmission source information in the learned transfer table 121, and then performs the process of step S45. That is, in step S42, the virtual switch 103a adds a new record to the learned transfer table 121.
  • the virtual switch 103a stores the source MAC address 20b in the MAC_Address field 121a of the new record, stores the determined VID in the VID field 121b, and stores the searched LGID field 123d in the LGID field 121c.
  • the port number of the reception port is stored in the Port column 121d.
  • step S43 the virtual switch 103a determines whether or not the learned port number is different from the reception port number.
  • the virtual switch 103a performs the process of step S45 if the condition is not satisfied (No), and performs the process of step S44 if the condition is satisfied (Yes). That is, in step S43, the virtual switch 103a compares the Port field 121d of the search result record with the number of the logical port 112 that received the original frame 20, and determines whether or not they are different.
  • step S44 the virtual switch 103a updates the Port column 121d with the reception port number. That is, in step S44, the virtual switch 103a records the number of the logical port 112 that has received the original frame 20 in the Port field 121d of the search result record.
  • step S45 the virtual switch 103a determines whether or not the destination of the frame has been learned.
  • the virtual switch 103a performs the process of step S46 if the condition is not satisfied (No), and performs the process of step S48 if the condition is satisfied (Yes). That is, the virtual switch 103a searches the learned transfer table 121 using the destination MAC address 20a of the original frame 20, the determined VID, and LGID as keys, and has learned if the corresponding record exists. to decide.
  • the broadcast address is generally not learned, there is no search result record.
  • step S46 the virtual switch 103a acquires information of the corresponding logical port 112 based on the reception port number, the virtual LAN identifier, and the extended logical network identifier of the frame. That is, in step S46, the virtual switch 103a searches the extended logical network information table 123 using the received port number, the determined VID, and LGID as keys, and obtains the Port field 123a of the search result record. To do.
  • step S47 the virtual switch 103a transfers the original frame 20 to all ports other than the reception port among the acquired ports, and then performs the process of step S49. That is, in step S47, the virtual switch 103a copies and transfers the original frame 20 to all ports other than the reception port number in the Port field 123a of the search result record.
  • the virtual switch 103a adds or deletes the VLAN tag header 20c and the FCS 20f according to the VLAN_Mode column 123b of each port, and transfers the FCS 20f after recalculating and updating it.
  • step S48 the virtual switch 103a transfers the original frame 20 from the learned logical port 112.
  • step S49 the virtual switch 103a acquires the destination of the encapsulated frame 21 related to the LGID. That is, in step S49, the virtual switch 103a searches the unlearned transfer table 122 using the LGID value as a key, and acquires a combination of the Encap_VID column 122b and the Encap_IP_Address column 122c.
  • the virtual switch 103a repeats the process for the number of destinations.
  • the virtual switch 103a encapsulates the original frame 20 and sets a destination. That is, in step S51, the virtual switch 103a (VSW_1) copies and encapsulates the original frame 20, and stores the value of the Encap_IP_Address column 122c in the destination MAC address 21a of the encapsulated frame 21.
  • the virtual switch 103a sets the MAC address of the virtual switch 103a to the transmission source MAC address 21b of the encapsulated frame 21, sets the value of the Encap_VID column 122b to the VLAN tag header 21c, and extends logic to the IP header 21e.
  • a network number is set, the IP address of the virtual switch 103a is set as the source IP address 21f, the value stored in the Encap_IP_Address field 122c is set as the destination IP address 21g, and the LGID 21h is searched The value in the LGID field 123d is set, the original frame 20 is set in the corrected original frame 21i (corrected as necessary), and the checksum values of the destination MAC address 21a to the corrected original frame 21i are stored in the FCS 21j.
  • step S52 the virtual switch 103a determines whether the destination corresponding to the VID of the encapsulated frame 21 (hereinafter referred to as “encapsulated VID”) has been learned.
  • the virtual switch 103a performs the process of step S53 if the condition is satisfied (Yes), and performs the process of step S54 if the condition is not satisfied (No). That is, in step S52, the virtual switch 103a searches the learned forwarding table 121 using the destination MAC address 21a, the VLAN tag header 21c of the generated encapsulated frame 21, and the LGID “ ⁇ ” as keys. .
  • the virtual switch 103a performs the process of step S53 if there is a search result, and performs the process of step S54 if there is no search result.
  • step S53 the virtual switch 103a transfers the encapsulated frame 21 from the learned logical port 112, and then performs the process of step S55. That is, in step S53, the virtual switch 103a transfers the encapsulated frame 21 from the logical port 112 indicated by the Port column 121d of the retrieved record.
  • step S54 the virtual switch 103a transfers the encapsulated frame 21 from the logical port 112 corresponding to the encapsulated VID. That is, in step S54, the virtual switch 103a searches the VID column 123c of the extended logical network information table 123 using the VLAN tag header 21c as a key. The virtual switch 103a copies the encapsulated frame 21 by the number of records of the search result, and transfers the encapsulated frame 21 from the port indicated by the Port column 123a of the record.
  • step S55 the virtual switch 103a determines whether the process has been repeated for the number of destinations.
  • the virtual switch 103a returns to the process of step S50 if the condition is not satisfied, and ends the process of FIG. 16 if the condition is satisfied.
  • FIG. 17 is a flowchart showing the decapsulation processing of the virtual switch in the first embodiment.
  • the decapsulation process is a process when the virtual switch 103 receives an encapsulated unicast frame.
  • the virtual switch 103a receives a frame at the logical port 112 via the physical communication interface 101 of the physical host 100a, decapsulation processing starts.
  • step S60 the virtual switch 103a determines whether or not the transmission source of the encapsulated frame 21 has been learned.
  • the virtual switch 103a performs the process of step S61 if the determination condition is not satisfied (No), and performs the process of step S62 if the determination condition is satisfied (Yes). That is, the virtual switch 103a searches the learned transfer table 121 using the information of the transmission source MAC address 21b, VLAN tag header 21c, and LGID “ ⁇ ” of the received frame as keys.
  • step S61 the virtual switch 103a adds the record of the transmission source information of the encapsulated frame 21 to the learned transfer table 121, and then performs the process of step S63.
  • step S62 the virtual switch 103a records the reception port number in the transmission source information record of the encapsulated frame 21 in the learned transfer table 121. That is, the virtual switch 103a updates the Port field 121d of the transmission source information record with the reception port number.
  • step S63 the virtual switch 103a determines whether or not the destination of the received encapsulated frame 21 is the virtual switch 103a.
  • the virtual switch 103a performs the process of step S72 if the determination condition is not satisfied (No) and performs the process of step S64 if the determination condition is satisfied (Yes). That is, the virtual switch 103a determines whether the destination MAC address 21a of the received encapsulated frame 21 is the MAC address of the virtual switch 103a or a multicast address in which the virtual switch 103a is participating. to decide.
  • step S64 the virtual switch 103a acquires the extended logical network identifier (LGID) of the encapsulated frame 21. That is, in the virtual switch 103a, the destination MAC address 21a is a multicast MAC address, the destination IP address 21g is a multicast address to which the virtual switch 103a participates, and the IP header 21e is a number for the extended logical network. If it is, the extended logical network to which the encapsulated frame 21 belongs is determined by the LGID 21h.
  • LGID extended logical network identifier
  • step S65 the virtual switch 103a acquires the modified original frame 21i from the encapsulated frame 21.
  • step S66 the virtual switch 103a determines whether or not the transmission source of the modified original frame 21i has been learned. The virtual switch 103a performs the process of step S67 if the determination condition is not satisfied (No), and performs the process of step S68 if the determination condition is satisfied (Yes). That is, in step S66, the virtual switch 103a extracts the transmission source MAC address 20b and the VLAN tag header 20c from the modified original frame 21i. The virtual switch 103a searches the learned transfer table 121 using the LGID 21h, the source MAC address 20b, and the VLAN tag header 20c included in the received encapsulated frame 21 as keys.
  • step S67 the virtual switch 103a learns the transmission source of the modified original frame 21i. That is, in step S67, the virtual switch 103a adds a record to the learned transfer table 121, and stores the value of the source MAC address 20b in the MAC_Address column 121a of the record. The virtual switch 103a stores the value of the VLAN tag header 20c in the VID column 121b of the record, and stores the value of LGID 21h in the LGID column 121c.
  • the virtual switch 103a stores the value of the VLAN tag header 21c of the encapsulated frame 21 in the Encap_VID column 121e of the record, and stores the transmission source IP address 21f of the encapsulated frame 21 in the Encap_IP_Address column 121f.
  • the virtual switch 103a stores nothing in the Port column 121d.
  • step S68 the virtual switch 103a determines whether or not the destination of the modified original frame 21i has been learned.
  • the virtual switch 103a performs the process of step S69 if the determination condition is not satisfied (No), and performs the process of step S70 if the determination condition is satisfied (Yes).
  • step S68 the virtual switch 103a searches the learned transfer table 121 using the LGID 21h, the destination MAC address 20a of the modified original frame 21i, and the VLAN tag header 20c as keys.
  • step S69 the virtual switch 103a acquires the destination port from the LGID and VLAN, and performs the process of step S71. That is, in step S69, the virtual switch 103a searches the extended logical network information table 123 using the LGID 21h and the VLAN tag header 20c as keys, and acquires the Port field 123a of the search result record as the destination port.
  • step S70 the virtual switch 103a acquires the learned destination port.
  • the virtual switch 103a acquires the Port field 121d of the search result record in the learned transfer table 121 as the destination port.
  • step S71 the virtual switch 103a transfers the original frame 20 from the destination port, and ends the process of FIG. That is, in step S71, the virtual switch 103a transfers the modified original frame 21i from the logical port 112 indicated by the Port field 121d of the record. At this time, the VLAN tag header 20c and the FCS 20f are transferred after being corrected as necessary in the same manner as described above.
  • step S72 the virtual switch 103a determines whether the destination of the encapsulated frame 21 has been learned. The virtual switch 103a performs the process of step S73 if the determination condition is satisfied (Yes), and performs the process of step S74 if the determination condition is not satisfied (No).
  • step S73 the virtual switch 103a transfers the encapsulated frame 21 from the learned port, and ends the process of FIG.
  • step S74 the virtual switch 103a transfers the encapsulated frame 21 from the port corresponding to the encapsulated VID, and ends the process of FIG.
  • the first embodiment described above has the following effect (A).
  • (A) The deployment configuration of the virtual machine 104 and the number of end points of the extended logical network to which the virtual communication interface 105 of the virtual machine 104 belongs are searched. If the number of end points is equal to or greater than the threshold value, the multicast address is used to transfer an unlearned frame If the number of end points is less than the threshold, unicast is used to transfer an unlearned frame.
  • the network aggregation system 1 can reduce the number of multicast paths used, reduce the load on the switch 201, and reduce the multicast table usage in the switch 201.
  • the network aggregation system 1 of the second embodiment aggregates multicast addresses (multicast routes) for a plurality of extended logical networks whose configurations of the termination points are similar.
  • FIG. 18 is a diagram showing an outline of the network aggregation system in the second embodiment.
  • a new virtual machine 104 (VM_c3) is installed on the physical host 100d (Host_4). Has been deployed.
  • the virtual machine 104 (VM_c3) is connected to the virtual switch 103d (VSW_4).
  • Other configurations of the network aggregation system 1A of the second embodiment are the same as the configurations of the network aggregation system 1 (FIG. 1) of the first embodiment.
  • a bold broken line in FIG. 18 indicates, for example, when broadcast is performed from the virtual machine 104 (VM_a1) to the virtual machine 104 (VM_a2), the virtual machine 104 (VM_a3), and the virtual machine 104 (VM_a4) belonging to the same extended logical network.
  • the route of the communication packet is shown.
  • the broadcast communication of the route from the switch 201b (SW_2) to the physical host 100c (Host_3) is further performed. Done.
  • FIG. 19 is a flowchart showing the aggregation determination process in the second embodiment.
  • the preconditions of the aggregation determination process in the second embodiment are the same as the preconditions of the aggregation determination process (FIG. 14) of the first embodiment.
  • steps S20 to S23 are the same as the processes in steps S10 to S13 (FIG. 15) of the first embodiment.
  • step S24 the logical network management unit 312 of the management server 300 calculates the similarity of the list of each virtual switch 103 that receives the multicast.
  • step S25 the logical network management unit 312 of the management server 300 selects the one with the highest similarity and determines whether the similarity is equal to or greater than a threshold value.
  • the logical network management unit 312 of the management server 300 performs the process of step S26 when the condition is not satisfied (No), and performs the process of step S27 when the condition is satisfied (Yes).
  • step S26 the logical network management unit 312 of the management server 300 updates various tables to use the multicast address for the destination IP address 21g when the unlearned frame is encapsulated, and then the process of step S28. I do.
  • step S27 the logical network management unit 312 of the management server 300 updates various tables so that the aggregated multicast address is used as the destination IP address 21g when the unlearned frame is encapsulated.
  • step S28 the logical network management unit 312 of the management server 300 changes the deployment of the virtual machine 104 and ends the process of FIG.
  • the logical network management unit 312 of the management server 300 newly deploys the virtual machine 104 (VM_c3) on the physical host 100d (Host_4), and the virtual communication interface 105 of the virtual machine 104 Will be described with reference to the flowchart of FIG. 19.
  • the logical network management unit 312 of the management server 300 determines whether or not the number of virtual switches 103 accommodated in the extended logical network (c) is equal to or greater than a threshold value.
  • the multicast usage limit value (threshold value) of this embodiment is 2.
  • the extended logical network (c) accommodates three virtual switches 103 (VSW_1), (VSW_2), and (VSW_4). Accordingly, the logical network management unit 312 determines that the number of virtual switches 103 is equal to or greater than the threshold value and uses multicast, and performs the process of step S24.
  • step S24 the logical network management unit 312 of the management server 300 calculates the similarity of the list of virtual switches 103 that receive the multicast. Based on the similarity, the logical network management unit 312 determines whether the multicast communication of the extended logical network (c) and the multicast communication of another extended logical network can be aggregated.
  • the similarity (sim) is calculated by (Equation 1).
  • x and y are multicast addresses.
  • X and Y in (Expression 1) indicate a list of virtual switches 103 that receive packets of each multicast address.
  • the logical network management unit 312 determines whether or not a multicast address has already been assigned to the extended logical network to which the virtual communication interface 105 of the virtual machine 104 whose configuration has been changed belongs (see FIG. 14).
  • the set X in (Expression 1) is a list of virtual switches 103 that accommodate the extended logical network (c).
  • the set X of the virtual switches 103 is (VSW_1, VSW_3, VSW_4).
  • the set X of the virtual switches 103 is calculated from the multicast address assignment table 323 and the extended logical network assignment table 322.
  • the logical network management unit 312 of the management server 300 searches the multicast address assignment table 323 for all multicast addresses other than the multicast address assigned to the extended logical network (c) (referred to as multicast address x), and each of the virtual switches The set Y of 103 is obtained, and the similarity of the list of the virtual switch 103 between the multicast address x and another multicast address y is calculated by (Equation 1).
  • IP_Multicast_1 a multicast address (IP_Multicast_1) has already been assigned to the multicast address assignment table 323.
  • a set Y of the virtual switches 103 that receives the multicast address (IP_Multicast_1) is (VSW_1, VSW_2, VSW_3, VSW_4).
  • the similarity is calculated by (Equation 2).
  • step S25 the logical network management unit 312 of the management server 300 has the highest similarity (sim (x, y)) and a predetermined similarity threshold (for example, “0.5”). It is determined whether it is above.
  • a predetermined similarity threshold for example, “0.5”. It is determined whether it is above.
  • the multicast addresses x and y are aggregated and various tables are updated.
  • the already assigned IP_Multicast_1 is applied to the multicast address x to be newly assigned and aggregated, and various tables are updated.
  • FIG. 20 is an example of the unlearned transfer table 122 of the virtual switch 103a after being updated.
  • the difference from the unlearned transfer table 122 (FIG. 10) of the first embodiment is that the LG_ID_122 is stored in the Encap_IP_Address field 122c of the LGID field 122a in the record of (c).
  • step S28 in FIG. 19 is the same as the process of step S15 (FIG. 15).
  • the management server 300 changes the deployment of the virtual machine 104.
  • the second embodiment described above has the following effect (B).
  • B In the case of using IP multicast for transferring an unlearned frame of the extended logical network, a plurality of extended logical networks whose configurations of termination points of the extended logical network to which the virtual communication interface 105 of the virtual machine 104 belongs are approximated The multicast addresses used in the are aggregated. As a result, it is possible to reduce the load on the network device and reduce the amount of multicast table usage in the network device.
  • the multicast use restriction threshold in the first embodiment and the similarity threshold in the second embodiment are values set in advance by an administrator or the like. However, when the system becomes large, a large amount of extended logical network is required, and it is necessary to further reduce the number of multicasts.
  • the network aggregation system 1 of the third embodiment is configured similarly to the network aggregation system 1 (FIG. 1) of the first embodiment.
  • the management server 300 of the third embodiment periodically checks the number of multicasts, and if the upper limit is exceeded, the aggregation determination process shown in the first embodiment or the second embodiment Among the aggregation determination processes indicated by, a process having a high effect is performed to reduce the number of multicasts.
  • FIG. 21 is a flowchart showing the aggregation determination process in the third embodiment.
  • the management server 300 of the third embodiment periodically checks the number of multicasts, and if the upper limit is exceeded, the aggregation determination process of the first embodiment and the aggregation determination process of the second embodiment Of these, the most effective method is performed to reduce the number of multicasts.
  • the logical network management unit 312 of the management server 300 determines aggregation at regular intervals (for example, every hour) or when a specific event occurs (for example, when the number of used multicast addresses increases). Start processing. In step S30, the logical network management unit 312 of the management server 300 determines whether or not the number of multicasts used exceeds a predefined value. When the condition is not satisfied (No), the logical network management unit 312 ends the process of FIG. 21, and when the condition is satisfied (Yes), the logical network management unit 312 performs the process of step S31.
  • step S31 the logical network management unit 312 of the management server 300 calculates the number of virtual switches 103 accommodated for all of the multicast addresses being used, and the virtual switch 103 of the accommodated virtual switch 103 is calculated. Select the multicast address with the smallest number.
  • step S32 the logical network management unit 312 of the management server 300 deletes the selected multicast address and sets the first aggregation reduction degree when the transfer is performed by unicast according to the following (formula 3). calculate.
  • step S33 the logical network management unit 312 of the management server 300 calculates the similarity for all the combinations of multicast addresses used, and selects the combination (pair) of the multicast addresses with the highest similarity. .
  • step S34 the logical network management unit 312 of the management server 300 sets the second degree of aggregation reduction when the combination (pair) of the multicast addresses is aggregated to one multicast address as the following (formula 4). ).
  • step S35 the logical network management unit 312 of the management server 300 uses the second degree of calculation calculated in (expression 4) in step S34, rather than the first degree of aggregation reduction calculated using (expression 3). It is determined whether or not the aggregation reduction degree is larger.
  • the logical network management unit 312 performs the process of step S36 when the condition is satisfied (Yes), and performs the process of step S37 when the condition is not satisfied (No).
  • step S36 the logical network management unit 312 of the management server 300 deletes the selected multicast address, changes it to unicast transfer, and returns to the process of step S30.
  • step S37 the logical network management unit 312 of the management server 300 aggregates the selected combinations (pairs) of multicast addresses into one, and returns to the process of step S30. That is, in steps S35 to S37, the logical network management unit 312 of the management server 300 executes an aggregation method having the lowest degree of aggregation reduction among a plurality of aggregation methods.
  • one virtual switch 103 is connected to one physical communication interface 101.
  • the present invention is not limited to this, and in the network aggregation system 1, a plurality of virtual switches 103 may be connected to one physical communication interface 101.
  • the virtual machine 104 may include a plurality of virtual communication interfaces 105, and the plurality of virtual communication interfaces 105 may be connected to one or a plurality of virtual switches 103.
  • the network 200 may be via a wide area network provided by the Internet or a telecommunications carrier, or may be a plurality of physically or logically separated networks.
  • the management server 300 may be realized by one physical host or may be configured by a plurality of hosts. In addition, the management server 300 may be installed outside the network aggregation system 1 while ensuring safety in a concealed communication environment such as VPN (Virtual Private Network).
  • VPN Virtual Private Network
  • the physical host 100 and the management server 300 may acquire various programs from other devices connected to the network 200 via the communication device 134.
  • the management server 300 of the second embodiment may repeat the processes of steps S24 and S25 (FIG. 19) for the list of the virtual switches 103 repeatedly.
  • the logical network management unit 312 of the management server 300 may perform processing so that all unlearned frames use multicast without performing the processing of steps S20 to S23.

Landscapes

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

Abstract

仮想化環境に対して拡張論理ネットワーク技術によってネットワークを論理分割する際、多数の拡張論理ネットワークを実現する。 ネットワーク集約システム(1)は、複数の物理ホスト(100)および管理用サーバ(300)を備え、物理ホスト(100)上には仮想マシン(104)と仮想スイッチ(103)とが配備され、仮想スイッチ(103)は、拡張論理ネットワークごとに仮想マシン(104)間の同報通信をトンネリングする。管理用サーバ(300)は、仮想マシン(104)の配備を管理するマシン管理部(311)と、定期的および当該マシン管理部(311)が仮想マシン(104)の配備を変更した場合に、変更した仮想マシン(104)が属する拡張論理ネットワークの同報通信を集約して転送可能と判断したならば、同報通信を集約するように仮想スイッチ(103)を制御する論理ネットワーク管理部(312)とを備える。

Description

ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム
 本発明は、マルチキャストパケットの転送経路を制御するネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システムに関するものである。
 近年、コンピュータリソースの仮想化技術によって、1つのコンピュータハードウェア上に、複数の仮想マシン(VM)を実行させる事が可能となっている。仮想マシンは、他のコンピュータと接続するネットワークが有するネットワークリソースを共有する。仮想マシンがネットワークリソースを共有する場合、例えば、異なるシステムに属する仮想マシンの通信データが不正に傍受(盗聴)されないよう、ネットワークを論理的に分割することが望ましい。ネットワークを論理的に分割する技術として、IEEE802.1Qに於けるVLAN(Virtual LAN)タギングが知られている。
 VLANタギングとは、イーサネット(登録商標)フレームにIEEE802.1Qで規定されたタグを追加する技術である。VLANタギングでは、当該タグに含まれる12bitのVID(VLAN Identifier)フィールドによって、当該フレームが属するVLANを識別する。ネットワークルータ、スイッチ、NIC(Network Interface Card)が、このVIDの値と、予め登録されている設定情報を比較してフィルタリングを行うことで、ネットワークを論理的に分割している。また、VLANは、ブロードキャストトラヒックの伝搬範囲を制限する機能も有している。
 しかし、仮想化技術の進展に伴う大規模システム環境によって、VIDの識別子数が不足する場合がある。さらに、VLANには、ルータなどのブロードキャストトラヒックのフィルタリング機能を持つ中継装置を介して接続されている装置間で構築することが困難である。
 非特許文献1,2には拡張VLAN技術が記載されている。非特許文献1,2に記載の拡張VLAN技術によれば、フレームに拡張VLAN識別子を追加し、かつ、仮想マシンなどから送信されたフレームを、終端装置または終端ソフトウェア(以降単に終端点と呼ぶ)がIP(Internet Protocol)パケットまたはUDP/IP(User Datagram Protocol/Internet Protocol)パケットにカプセル化し、対向の終端点まで送信するものである。拡張VLAN技術によれば、共有ネットワーク上に、多数の拡張された論理ネットワーク(以下、拡張論理ネットワークと呼ぶ)を構築することが可能となる。
 特許文献1には、異なるサブネットや異なるホストなどの接続関係、および、宛先アドレスに応じたカプセル化やアドレスの変換などの転送時処理を選択して実行し、仮想マシン間のパケットの転送を実現する技術(発明)が記載されている。
 非特許文献1に記載の技術および特許文献1に記載の発明では、仮想マシンから送信されたMACフレーム(Media Access Control Frame)をカプセル化する際、ブロードキャストフレームおよび未学習フレームのIPヘッダの宛先IPアドレスに、マルチキャストアドレスを設定し、これらのフレームを共有ネットワーク上に送信している。これによって、非特許文献1に記載の技術および特許文献1に記載の発明では、ブロードキャストフレームと未学習フレームのフィルタリングを実現している。
 ブロードキャストフレームと未学習フレームとの到達範囲は、拡張論理ネットワークに属する1つ以上の仮想マシンが実行されている全ての物理コンピュータでなければならない。そのため、IPマルチキャストアドレスは、拡張論理ネットワークに対して1つ割当られ、各IPマルチキャストアドレスに対応するIPマルチキャスト経路が共有ネットワーク上に構築されていなければならない。IPマルチキャスト経路の構築は、IGMP(Internet Group Management Protocol)、MLD(Multicast Listener Discovery)、PIM(Protocol-Independent Multicast)などのルーティングプロトコルを用いて実現される。
米国出願公開第2011/0075664号明細書 特開2004-260287号公報
M.Mahalingam他7名、"A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks"、[online]、August 26, 2011、Network Working Group、[平成24年1月27日検索]、インターネット(URL:http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00) M. Sridharan他9名、"Network Virtualization using Generic Routing Encapusulation"、[online]、September 2011、Network Working Group、[平成24年1月27日検索]、インターネット(URL:http://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00)
 非特許文献1および特許文献1に記載の技術は、ブロードキャストフレームをIPマルチキャストパケットにてカプセル化している。しかし、IPマルチキャスト経路の数が増えると、IGMPなどの制御メッセージの数が多くなり、物理ネットワーク装置に負荷が掛かる。
 仮想化環境に於いて新たに拡張論理ネットワークを実現すると、物理ネットワーク装置上のIPマルチキャスト経路用のテーブルのレコードが新たに使用される。物理ネットワーク装置上のIPマルチキャスト経路用のテーブルは、サイズが制限されているので、多数の拡張論理ネットワークを実現することは困難である。
 特許文献2には、同一の放送型コンテンツに対する複数のマルチキャストトラヒックを、放送の再生状態等に基づき集約可能であるか否かを判定し、集約可能であると判定された場合に集約することで、IPマルチキャスト経路の削減を実現する技術が記載されている。しかし、前記した仮想化環境に於いてネットワークを介して通信されるデータは放送型のコンテンツに限らない。そのため、特許文献2に記載の判定方法では、トラヒックの集約は困難であり、多数の拡張論理ネットワークを実現することは困難である。
 そこで、本発明は、仮想化環境に対して拡張論理ネットワーク技術によってネットワークを論理分割する際、多数の拡張論理ネットワークを実現することを可能とするネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システムを提供することを課題とする。
 前記した課題を解決するため、本発明の請求の範囲第1項に記載の発明では、複数の物理ホストおよびネットワーク集約装置を備え、前記物理ホスト上には、仮想マシンと仮想スイッチとが配備され、前記仮想スイッチは、拡張論理ネットワークごとに前記仮想マシン間の同報通信をトンネリングするネットワーク集約システムに於いて、前記仮想マシンの配備を管理するマシン管理部と、前記マシン管理部が前記仮想マシンの配備または構成を変更した場合に、変更した当該仮想マシンが属する当該拡張論理ネットワークの前記同報通信を集約して転送可能と判断したならば、当該同報通信を集約するように前記仮想スイッチを制御する論理ネットワーク管理部と、を備えたことを特徴とするネットワーク集約装置とした。
 その他の手段については、発明を実施するための形態のなかで説明する。
 本発明によれは、仮想化環境に対して拡張論理ネットワーク技術によってネットワークを論理分割する際、多数の拡張論理ネットワークを実現することを可能とするネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システムを提供することができる。
第1の実施形態に於けるネットワーク集約システムの概要を示す図である。 第1の実施形態に於けるネットワーク集約システムの各部を示す構成図である。 第1の実施形態に於ける物理ホストの構成を示す図である。 第1の実施形態に於けるスイッチを示す概略の構成図である。 第1の実施形態に於けるFDBテーブルを示す図である。 第1の実施形態に於けるマルチキャスト転送テーブルを示す図である。 第1の実施形態に於ける通信を示すシーケンス図である。 第1の実施形態に於けるフレーム形式を示す図である。 第1の実施形態に於ける学習済転送テーブルを示す図である。 第1の実施形態に於ける未学習転送テーブルを示す図である。 第1の実施形態に於ける拡張論理ネットワーク情報テーブルを示す図である。 第1の実施形態に於けるマシン配備構成テーブルを示す図である。 第1の実施形態に於ける拡張論理ネットワーク割当テーブルを示す図である。 第1の実施形態に於けるマルチキャストアドレス割当テーブルを示す図である。 第1の実施形態に於ける集約判定処理を示すフローチャートである。 第1の実施形態に於ける仮想スイッチのカプセル処理を示すフローチャートである。 第1の実施形態に於ける仮想スイッチのデカプセル処理を示すフローチャートである。 第2の実施形態に於けるネットワーク集約システムの概要を示す図である。 第2の実施形態に於ける集約判定処理を示すフローチャートである。 第2の実施形態に於ける未学習テーブルを示す図である。 第3の実施形態に於ける集約判定処理を示すフローチャートである。
 以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
(第1の実施形態の構成)
 図1は、第1の実施形態に於けるネットワーク集約システムの概要を示す図である。
 第1の実施形態のネットワーク集約システム1は、スイッチ201a,201bと、ルータ202aと、管理用サーバ300aと、物理ホスト100a~100dとを備えている。なお、スイッチ201a,201b,…と、ルータ202a,…と、管理用サーバ300a,…と、物理ホスト100a,…とは、図1に示した台数に限られない。
 以下、スイッチ201a,201b,…を特に区別しない場合は、単に「スイッチ201」と記載する。ルータ202a,…を特に区別しない場合は、単に「ルータ202」と記載する。管理用サーバ300a,…を特に区別しない場合は、単に「管理用サーバ300」と記載する。物理ホスト100a,…を特に区別しない場合は、単に「物理ホスト100」と記載する。
 第1の実施形態のネットワーク集約システム1は、拡張論理ネットワークごとに仮想マシン104間の同報通信をトンネリングし、仮想マシン104が属する拡張論理ネットワークの同報通信を集約して転送可能と判断したならば、この同報通信を集約するように仮想スイッチ103を制御するものである。
 ルータ202aは、レイヤ3の中継機能を持つ装置である。ルータ202aは、レイヤ2の中継機能を兼ね備えたレイヤ3スイッチ機器を含むものとする。
 ルータ202aは、スイッチ201a、201bと、管理用サーバ300aとを相互接続する通信機器である。ルータ202aには、スイッチ201a(SW_1)と、スイッチ201b(SW_2)と、管理用サーバ300とが接続されている。
 スイッチ201は、ネットワークの中継機器であるレイヤ2スイッチであり、OSI(Open Systems Interconnection)参照モデルのデータリンク層(第2層)のデータで、パケットの行き先を判断して転送を行うものである。
 物理ホスト100a~100dは、例えば、物理的なコンピュータハードウェアであるサーバ計算機である。各物理ホスト100は、それぞれスイッチ201に接続されて、これらスイッチ201とルータ202aとを介して、相互に通信可能である。
 物理ホスト100a(Host_1)には、仮想スイッチ103a(VSW_1)と、仮想マシン104(VM_a1)と、仮想マシン104(VM_b1)と、仮想マシン104(VM_c1)とが配備されている。物理ホスト100b(Host_2)には、仮想スイッチ103b(VSW_2)と、仮想マシン104(VM_a2)と、仮想マシン104(VM_a3)とが配備されている。物理ホスト100c(Host_3)には、仮想スイッチ103c(VSW_3)と、仮想マシン104(VM_b2)と、仮想マシン104(VM_c2)とが配備されている。物理ホスト100d(Host_4)には、仮想スイッチ103d(VSW_4)と、仮想マシン104(VM_a4)とが配備されている。
 仮想スイッチ103a~103dは、例えば、VLANに対応した仮想的なレイヤ2スイッチ(L2スイッチ)であり、ネットワーク200に於ける通信の中継を行うものである。以下、仮想スイッチ103a~103dを特に区別しないときには、単に「仮想スイッチ103」と記載する。
 仮想マシン104は、仮想的な計算機であり、物理ホスト100上に配備されて動作する。仮想マシン104上には、任意のオペレーティングシステムやアプリケーションプログラムなどが動作している。第1の実施形態の仮想マシン104は、いずれかの拡張論理ネットワークに属しており、仮想スイッチ103を介してスイッチ201に接続されている。
 図1の太破線は、例えば仮想マシン104(VM_a1)から、同一の拡張論理ネットワークに属する仮想マシン104(VM_a2)、仮想マシン104(VM_a3)、仮想マシン104(VM_a4)に同報通信した場合の通信パケットの経路を示している。
 仮想マシン104(VM_a1)が同報送信した通信パケットは、仮想スイッチ103a(VSW_1)を介してスイッチ201a(SW_1)に送信される。
 当該通信パケットは、スイッチ201a(SW_1)から、物理ホスト100b(Host_2)に送信され、仮想スイッチ103b(VSW_2)を介して仮想マシン104(VM_a2)に流れる。
 当該通信パケットは、スイッチ201a(SW_1)から、ルータ202aとスイッチ201b(SW_2)を介して、物理ホスト100d(Host_4)に送信され、仮想スイッチ103d(VSW_4)を介して仮想マシン104(VM_a4)に流れる。
 図2は、第1の実施形態に於けるネットワーク集約システムの各部を示す構成図である。
 ネットワーク集約システム1は、物理ホスト100と、ネットワーク200と、管理用サーバ300とを備えている。物理ホスト100は、ネットワーク200を介して管理用サーバ300に接続されている。
 ネットワーク200は、図1で示したように、1または複数のルータ202や、1または複数のスイッチ201が相互に接続されている。ネットワーク200は、通信パケットを送信元装置から宛先装置へ中継するものである。
 物理ホスト100上に、ハイパーバイザ102が動作している。
 物理ホスト100は、CPU131(図3)と、物理通信インタフェース(NIC)101と、外部記憶装置133(図3)とを備えている。CPU131(図3)は、外部記憶装置133(図3)に格納されたシステムプログラム、仮想マシンプログラム、および、業務プログラムなどを読み込んで実行し、ハイパーバイザ102、仮想マシン104、ゲストOS106、業務プログラム107などを具現化して動作させる。
 ハイパーバイザ102は、仮想マシン104を実現する制御プログラムであり、例えば、マイクロソフト社製品のHyper Visor(登録商標)などである。ハイパーバイザ102上に、1台の仮想スイッチ103(VSW)と、2台の仮想マシン104(VM)とが動作している。
(仮想スイッチ103の構成)
 仮想スイッチ103は、例えば、VLANに対応した仮想的なレイヤ2スイッチ(L2スイッチ)であり、当該ハイパーバイザ102内で、ネットワーク200に於ける通信の中継を行うものである。仮想スイッチ103は、物理通信インタフェース101と仮想マシン104とに接続されている。
 仮想スイッチ103は、転送処理部111と、1または複数の論理ポート112と、管理部113とを備え、更に各種情報を格納および管理するため、学習済転送テーブル121と、未学習転送テーブル122と、拡張論理ネットワーク情報テーブル123とを備えている。
 転送処理部111は、いずれかの論理ポート112から受信した通信データ(フレーム)をスイッチ処理して、宛先の論理ポート112に転送するものである。転送処理部111は更に、VLAN機能および拡張VLAN機能を備えている。ここで、拡張VLAN機能とは、トンネリング通信機能であり、仮想マシン104から受信したフレームをカプセル化したIPパケットに変換し、ネットワーク200に転送する機能と、ネットワーク200から受信したIPパケットのカプセル化を解除してフレームを取り出し、宛先の仮想マシン104に転送する機能とである。
 論理ポート112は、仮想的に構成された通信ポートであり、転送処理部111に接続されていると共に、物理通信インタフェース101や仮想通信インタフェース105に接続されている。
 管理部113は、当該仮想スイッチ103の処理を統括して管理するものである。
 学習済転送テーブル121は、後記する図9にて説明する。未学習転送テーブル122は、後記する図10にて説明する。拡張論理ネットワーク情報テーブル123は、後記する図11にて説明する。これら各種テーブルは、例えばハッシュテーブルや、リレーショナルデータベースによって実現される。しかし、これに限られず、各種テーブルは、専用のメモリ(例えばContent Addressable/Associative Memory)によって実現されてもよい。
(仮想マシン104の構成)
 仮想マシン104は、仮想化されたコンピュータであり、ハイパーバイザ102によって実現されている。仮想マシン104は、1または複数の仮想通信インタフェース105を備えている。仮想マシン104上には、仮想通信インタフェース105が配備され、ゲストOS(Operating System)106と、業務プログラム107とが動作している。
 仮想通信インタフェース105は、論理的な通信インタフェースであり、仮想スイッチ103に接続されている。ゲストOS106は、当該仮想マシン104上で動作するオペレーティングシステムである。業務プログラム107は、ゲストOS106上で動作するアプリケーションプログラムである。業務プログラム107は、ゲストOS106と仮想通信インタフェース105とを介して、仮想スイッチ103と相互に通信することができる。
 本実施形態のネットワーク集約システム1は、1台の仮想スイッチ103が1つの物理通信インタフェース101に接続されている。
(管理用サーバ300の構成)
 管理用サーバ300は、1台の物理的なサーバ計算機である。管理用サーバ300は、ソフトウェア機能モジュールとして、マシン管理部311、論理ネットワーク管理部312を備えている。管理用サーバ300は、各種情報を格納および管理するため、マシン配備構成テーブル321と、拡張論理ネットワーク割当テーブル322と、マルチキャストアドレス割当テーブル323とを備えている。管理用サーバ300は、ネットワーク200を介して仮想スイッチ103などと通信する物理通信インタフェース301を備えている。
 マシン管理部311は、物理ホスト100上に新たに仮想マシン104を配備し、起動するものである。マシン管理部311は更に、動作中の仮想マシン104を停止し、削除するものである。
 マシン管理部311は、仮想マシン104に仮想通信インタフェース105を割り当てることや、当該仮想通信インタフェース105にMACアドレスを割り当てることなどにより、仮想マシン104を管理し、管理内容をマシン配備構成テーブル321に格納するものである。
 論理ネットワーク管理部312は、マシン管理部311と連携し、拡張論理ネットワーク識別子(LGID)の割り当てを行う。論理ネットワーク管理部312は更に、ネットワークの集約判定を行い、各々の拡張論理ネットワークに於けるブロードキャストフレームまたは未学習フレームの転送用にマルチキャストアドレスを割り当て、仮想スイッチ103に指示を行う。論理ネットワーク管理部312は、これらの割り当てや指示などの管理内容を、マルチキャストアドレス割当テーブル323に格納する。
 マシン配備構成テーブル321は、後記する図12で説明する。拡張論理ネットワーク割当テーブル322は、後記する図13で説明する。マルチキャストアドレス割当テーブル323は、後記する図14で説明する。これら各種テーブルは、関係を管理する管理情報(テーブルなど)として、リレーショナルデータベースによって実現される。
 図3は、第1の実施形態に於ける物理ホストの構成を示す図である。
 物理ホスト100は、CPU(Central Processing Unit)131と、メモリ132と、外部記憶装置133と、通信装置134と、出力装置135と、入力装置136と、読書き装置137とを備えている。
 CPU131は、RAM(Random Access Memory)やROM(Read Only Media)などを備えて構成されている。CPU131は、ROM、メモリ132、または、外部記憶装置133に格納されている各種プログラムを読み取ってRAMに展開して実行し、ハイパーバイザ102の動作を具現化するものである。
 メモリ132は、例えば、フラッシュメモリなどの不揮発メモリであり、各種プログラムや各種データを格納するものである。
 外部記憶装置133は、例えば、HDD(Hard Disk Drive)やSSD(solid state drive)などであり、各種プログラムや各種データを格納するものである。
 通信装置134は、例えば、NIC(Network Interface Card)である。通信装置134は、1または複数個の物理ポートを備え、当該物理ポートを介してネットワーク200に接続されている。
 出力装置135は、例えば、モニタディスプレイやスピーカである。出力装置135であるモニタディスプレイは、静止画または動画を表示する。出力装置135であるスピーカは、音声を出力する。
 入力装置136は、例えば、キーボード、スイッチ、ポインティングデバイスまたはマイクロフォンである、入力装置136は、操作者による操作入力や、音声入力を受け付けるものである。
 読書き装置137は、CD(Compact Disk)やDVD(Digital Versatile Disk)などの可搬性を有する記憶媒体Mに対し、読書きを実行するものである。読書き装置137は、記憶媒体Mに記憶されている各種プログラムを、メモリ132や外部記憶装置133に読み出すものである。
 物理ホスト100は、各部をそれぞれ1つずつ備えて構成されてもよく、複数備えて構成されてもよい。
 管理用サーバ300は、物理ホスト100と同様に構成されている。
(第1の実施形態のスイッチの構成と動作)
 図4は、第1の実施形態に於けるスイッチを示す概略の構成図である。
 スイッチ201は、転送部213と、複数の物理ポート214と、記憶部220とを備えている。スイッチ201は、図1と同様に、ルータ202と、物理ホスト100a,100bとに接続されている。
 転送部213は、いずれかの物理ポート214から受信した通信データをスイッチ処理し、宛先の物理ポート214に転送するものである。転送部213は、複数の物理ポート214に接続されている。
 物理ポート214は、例えば、10/100/1000BaseTコネクタであり、ネットワークケーブルを接続するポートである。本実施形態に於いて、6個の物理ポート214は、1から6のポート番号が付与されている。物理ポート214は、物理ホスト100や、ルータ202や、他のスイッチ201の物理ポート214に接続されている。
 記憶部220は、例えば、HDDやSSDなどであり、各種プログラムや各種データを格納するものである。記憶部220は、FDB(Filtering Database)テーブル221と、マルチキャスト転送テーブル222とを備えている。
 FDBテーブル221は、後記する図5で説明する。マルチキャスト転送テーブル222は、後記する図6で説明する。
 図5は、第1の実施形態に於けるFDBテーブルを示す図である。
 第1の実施形態のFDBテーブル221は、MAC_Address欄221aと、VID欄221bと、Port欄221cとを備えている。
 MAC_Address欄221aには、仮想マシン104の仮想通信インタフェース105および物理ホスト100の物理通信インタフェース101などが持つMACアドレス情報が格納されている。以下、仮想通信インタフェース105と物理通信インタフェース101とを特に区別しない場合は、単に「通信インタフェース」と記載する。
 VID欄221bは、通信インタフェースが属する1つまたは複数のVLANを識別する識別子(VID)が格納される。
 Port欄221cには、当該レコードの、MAC_Address欄121aとVID欄121bとの組合せで識別される通信インタフェースに到達可能なネットワークと接続されているポート番号が格納される。
 図6は、第1の実施形態に於けるマルチキャスト転送テーブルを示す図である。
 マルチキャスト転送テーブル222は、IP_Multicast_Address欄222aと、Port欄222bと、VID欄222cと、Uptime欄222dと、Expires欄222eとを備えている。マルチキャスト転送テーブル222は、転送部213が、IPマルチキャストアドレスを宛先とするフレームを転送するときに、参照するものである。
 IP_Multicast_Address欄222aには、いずれかの拡張論理ネットワークに対して割り当てたIPマルチキャストアドレスが格納される。
 Port欄222bは、当該IPマルチキャストアドレスの転送先である物理ポート214を示すポート番号が格納される。図6では、ポート番号2,4,6が、それぞれのレコードに格納されている。
 VID欄222cは、当該IPマルチキャストアドレスを備えたパケットのVLANを識別する識別子(VID)が格納される。VID欄222cは、後記するEncap_VID欄122b(図10)に相当する欄である。
 Uptime欄222dには、当該レコードが更新された時刻が格納される。
 Expires欄222eには、当該レコードの有効期限を示す時刻が格納される。本実施形態に於いて、Expires欄222eには、Uptime欄222dが示す時刻の3分後の時刻が格納されている。
 図7は、第1の実施形態に於ける通信を示すシーケンス図である。
 シーケンスQ10~Q15は、仮想マシン104の配備変更に伴う、各マルチキャスト転送テーブル222の更新処理である。
 シーケンスQ10に於いて、管理用サーバ300は、仮想スイッチ103a(VSW_1)に、仮想マシン104の配備が変更されたことを送信する。
 シーケンスQ11に於いて、仮想スイッチ103a(VSW_1)は、IGMPによる仮想マシン104の配備情報を、スイッチ201a(SW_1)に送信する。
 シーケンスQ12に於いて、スイッチ201a(SW_1)は、仮想マシン104の配備情報に基づき、自身が備えるマルチキャスト転送テーブル222を更新する。
 シーケンスQ13に於いて、スイッチ201a(SW_1)は、IGMPにより仮想マシン104の配備情報を、ルータ202に送信する。
 シーケンスQ14に於いて、ルータ202は、IGMPによる仮想マシン104の配備情報を、スイッチ201b(SW_2)に送信する。
 シーケンスQ15に於いて、スイッチ201b(SW_2)は、仮想マシン104の配備情報に基づき、自身が備えるマルチキャスト転送テーブル222を更新する。
 シーケンスQ20~Q23は、フレームのマルチキャスト転送処理である。
 シーケンスQ20に於いて、仮想スイッチ103a(VSW_1)は、フレームの宛先にIPマルチキャストアドレスを設定して、スイッチ201a(SW_1)に送信する。これにより、当該フレームは、マルチキャスト転送される。
 シーケンスQ21に於いて、スイッチ201a(SW_1)は、マルチキャスト転送テーブル222を参照して、当該フレームの宛先である物理ポート214を特定する。
 シーケンスQ22に於いて、スイッチ201a(SW_1)は、当該フレームを仮想スイッチ103b(VSW_2)に送信する。
 シーケンスQ23に於いて、スイッチ201a(SW_1)は、当該フレームをルータ202に送信する。
 シーケンスQ24に於いて、ルータ202は、当該フレームをスイッチ201b(SW_2)に送信する。以下同様にして、スイッチ201とルータ202とは、当該フレームを、当該フレームの拡張論理ネットワークに属する全ての仮想マシン104に、転送することができる。
 図8は、第1の実施形態に於けるフレーム形式を示す図である。
 オリジナルフレーム20は、仮想マシン104の仮想通信インタフェース105から送受信されるフレームである。オリジナルフレーム20は、宛先MACアドレス20a(MAC DA)と、送信元MACアドレス20b(MAC SA)と、IEEE802.1Qで規定されたVLANタグヘッダ20c(VLAN Tag)と、Ethertype20dと、ペイロードであるデータ20eと、FCS20f(Frame Check Sequence)とを備えている。
 宛先MACアドレス20aは、当該オリジナルフレーム20の宛先の通信インタフェースのMACアドレスである。
 送信元MACアドレス20bは、当該オリジナルフレーム20の送信元の通信インタフェースのMACアドレスである。
 VLANタグヘッダ20cは、当該オリジナルフレーム20を送信した仮想マシン104が属するVLANを示す情報を格納している。
 Ethertype20dは、伝送する通信プロトコルの種類(ネットワーク層の種類)を表わす識別子が格納されている。
 データ20eは、ペイロード本体が格納されている。
 FCS20fは、当該オリジナルフレーム20の正当性を検査する情報が格納されている。
 宛先MACアドレス20aと、送信元MACアドレス20bと,VLANタグヘッダ20cと、Ethertype20dとを、纏めてMACヘッダと呼ぶ。また、VLANタグヘッダ20cは、オプションであり、付与されていない場合がある。
 仮想スイッチ103は、オリジナルフレーム20をカプセル化して、カプセル化フレーム21としてネットワーク200に送信する。カプセル化フレーム21内の修正オリジナルフレーム21iが、オリジナルフレーム20に対応する部位である。
 カプセル化フレーム21は、宛先MACアドレス21a(MAC DA)と、送信元MACアドレス21b(MAC SA)と、IEEE802.1Qに於けるVLANタグヘッダ21cと、Ethertype21dなどのMACヘッダと、プロトコル番号(Protocol Number)などのIPヘッダ21eと、送信元IPアドレス21f(IP SA)と、宛先IPアドレス21g(IP DA)と、拡張論理ネットワークを識別する識別子であるLGID21hと、オリジナルフレーム20を必要に応じて適宜修正した修正オリジナルフレーム21iと、FCS21jとを備えている。
 修正オリジナルフレーム21iは、オリジナルフレーム20がVLANタグヘッダ20cを有していないときには、VLANタグヘッダ20cが新たに追加される。
 FCS20fは、オリジナルフレーム20が修正オリジナルフレーム21iに修正される際に削除され、カプセル化フレーム21からオリジナルフレーム20にデカプセル化される際に再計算されて付与されてもよい。また、IPヘッダ21eに含まれるプロトコル番号には、拡張論理ネットワーク用のプロトコルと判別する番号を格納し、プロトコル種別を判定できるようにしてもよい。
(第1の実施形態の各種テーブルの構成)
 図9は、第1の実施形態に於ける学習済転送テーブルを示す図である。
 学習済転送テーブル121は、仮想スイッチ103に属している。学習済転送テーブル121は、仮想スイッチ103が論理ポート112から受信したフレームを、他の論理ポート112に転送する際に用いる情報が格納されている。
 第1の実施形態の学習済転送テーブル121は、MAC_Address欄121aと、VID欄121bと、LGID欄121cと、Port欄121dと、Encap_VID欄121eと、Encap_IP_Address欄121fとを備えている。
 MAC_Address欄121aには、仮想マシン104の仮想通信インタフェース105および物理ホスト100の物理通信インタフェース101などが持つMACアドレス情報が格納される。
 VID欄121bには、通信インタフェースが属する1つまたは複数のVLANを識別するVLAN識別子(VID)が格納される。
 LGID欄121cには、通信インタフェースが属する1つまたは複数の拡張論理ネットワークを識別する識別子が格納される。
 Port欄121dには、当該レコードのMAC_Address欄121a、VID欄121bおよびLGID欄121cの組合せで識別される通信インタフェースに、スイッチ201やルータ202を介して到達可能な論理ポート112のポート番号が格納される。
 Encap_VID欄121eには、Port欄121dで示された論理ポート112を介してフレームを転送する際、当該フレームをカプセル化する場合に於ける外側MACヘッダに付与するVIDの値が格納される。
 Encap_IP_Address欄121fには、仮想スイッチ103にてフレームをカプセル化したときのカプセル化フレーム21に付与する宛先IPアドレス21gの値が格納される。このカプセル化フレーム21は、当該レコードのMAC_Address欄121a、VID欄121b、および、LGID欄121cの組合せで識別される通信インタフェースに到達可能なネットワーク200に接続されているポートを介して転送される。
 なお、この学習済転送テーブル121が持つMAC_Address欄121a、VID欄121b、Port欄121dは、既に知られているネットワーク機器やソフトウェアスイッチが備えているFDB(Filtering Database)が持つ情報と同様である。
 図10は、第1の実施形態に於ける未学習転送テーブルを示す図である。
 未学習転送テーブル122は、LGID欄122aと、Encap_VID欄122bと、Encap_IP_Address欄122cとから構成される。
 LGID欄122aには、拡張論理ネットワークを識別するIDが格納される。Encap_VID欄122bには、前記のように仮想スイッチ103にて未学習フレームをカプセル化して転送する際のカプセル化するMACヘッダのVIDに指定する情報が格納される。
 Encap_IP_Address欄122cには、仮想スイッチ103にて未学習フレームをカプセル化したときのカプセル化フレーム21の宛先IPアドレス21gに指定する情報が格納される。
 未学習転送テーブル122の情報は、管理用サーバ300より指示されて格納される。
 未学習転送テーブル122は、仮想スイッチ103に属している。未学習転送テーブル122は、未学習フレームのカプセルヘッダに関する情報が格納されるものである。未学習フレームとは、受信したオリジナルフレーム20うち、宛先が学習済転送テーブル121に記録(学習)されていないものである。
 未学習フレームの第1の場合は、宛先MACアドレス20aがブロードキャストアドレスである場合である。未学習フレームの第2の場合は、宛先MACアドレス20a、VLANタグヘッダ20c、後記する拡張論理ネットワーク情報テーブル123(図11)にて当該フレームにマッピングされるLGIDの組合せによって一意に識別される宛先の通信インタフェースが、学習済転送テーブル121のレコードの中で、MAC_Address欄121a、VID欄121bおよびLGID欄121cの組合せで一意に識別されるレコードにマッチしない場合である。
 図11は、第1の実施形態に於ける拡張論理ネットワーク情報テーブルを示す図である。
 拡張論理ネットワーク情報テーブル123は、論理ポート112に於けるVLANおよび拡張論理ネットワークの割り当て状況を示したものである。一般的なLayer2スイッチでは、通常各物理または論理ポート112に対してVLANを割り当てる事ができ、VLANの種類およびVIDを指定することが出来る。本実施形態ではさらに拡張論理ネットワークに対応する情報を追加している。
 拡張論理ネットワーク情報テーブル123は、Port欄123aと、VLAN_Mode欄123bと、VID欄123cと、LGID欄123dとを備えている。
 Port欄123aには、仮想スイッチ103が備える論理ポート112を一意に識別するIDが格納される。
 VLAN_Mode欄123bには、Port欄123aで識別される論理ポート112のVLAN処理モードを識別する情報が格納される。図11では一例として、IEEE802.1Q Tagged VLANをあらわす「Tagged」や、ポートベースVLANをあらわす「Port」が格納されている。
 VID欄123cには、Port欄123aで識別される論理ポート112に於いて、VLAN_Mode欄123bで指定したVLAN処理方法にて処理するVIDが格納される。
 LGID欄123dには、Port欄123aで識別される論理ポート112に接続する仮想マシン104の仮想通信インタフェース105が属する拡張論理ネットワークを識別する識別子が格納される。
 拡張論理ネットワーク情報テーブル123は、仮想マシン104の配備、更新および削除などの構成変更のタイミングで、管理用サーバ300から送信された情報が格納される。
 図12は、第1の実施形態に於けるマシン配備構成テーブルを示す図である。
 マシン配備構成テーブル321は、仮想マシン104の物理ホスト100への配備状況を格納するテーブルである。マシン配備構成テーブル321は、MID欄321aと、Host欄321bと、Site欄321cとを備えている。
 MID欄321aには、当該レコードに係る仮想マシン104を識別する識別子が格納される。
 Host欄321bには、当該仮想マシン104が配備されている物理ホスト100を識別する識別子が格納される。
 Site欄321cには、当該物理ホスト100が設置されている場所を識別する情報が格納されている。
 マシン配備構成テーブル321は、仮想マシン104の配備、更新および削除などの構成変更のタイミングで更新される。
 図13は、第1の実施形態に於ける拡張論理ネットワーク割当テーブルを示す図である。
 拡張論理ネットワーク割当テーブル322は、仮想マシン104の仮想通信インタフェース105と仮想スイッチ103との接続関係、および1または複数の仮想通信インタフェース105群に対して割り当てた拡張論理ネットワークを識別する識別子を格納するテーブルである。
 拡張論理ネットワーク割当テーブル322は、NIC欄322aと、MID欄322bと、LGID欄322cと、VID欄322dと、SW欄322eと、Port欄322fとを備えている。
 NIC欄322aには、当該仮想マシン104に割り当てた1つまたは複数の仮想通信インタフェース105を識別する識別子が格納される。
 MID欄322bには、当該仮想マシン104を識別する識別子が格納される。
 LGID欄322cには、当該仮想通信インタフェース105群に対して割り当てた拡張論理ネットワークを識別する識別子が格納される。
 VID欄322dには、当該仮想通信インタフェース105群に対して割り当てたVLANを識別する識別子が格納される。
 SW欄322eには、当該仮想通信インタフェース105に接続されている仮想スイッチ103を識別する識別子が格納される。
 Port欄322fには、当該仮想スイッチ103上の論理ポート112を識別する識別子が格納される。
 拡張論理ネットワーク割当テーブル322は、仮想マシン104の配備、更新および削除などの構成変更のタイミングで更新される。
 図14は、第1の実施形態に於けるマルチキャストアドレス割当テーブルを示す図である。
 マルチキャストアドレス割当テーブル323は、拡張論理ネットワークに属するフレームのうち、前記未学習フレームをネットワーク200上で転送するためにマルチキャストを用いる場合に於いて利用するマルチキャストアドレスを格納するテーブルである。
 マルチキャストアドレス割当テーブル323は、LGID欄323aと、IP_Multicast_Address欄323bとを備えている。
 LGID欄323aには、当該拡張論理ネットワークを一意に識別する識別子が格納される。
 IP_Multicast_Address欄323bには、当該拡張論理ネットワークに対して割り当てたIPマルチキャストアドレスが格納される。
 マルチキャストアドレス割当テーブル323は、後記する集約判定フローにて判定された結果によって更新される。
(第1の実施形態の動作)
 図1に示す第1の実施形態に於けるネットワーク集約システムの動作について説明する。図1に示す各仮想スイッチ103には、それぞれ異なるIPアドレスが割り当てられており、当該仮想スイッチ103間で通信ができるようネットワーク200上の各機器にルーティングやVLANなどの各種設定がなされている。ネットワーク200上の各機器には、マルチキャスト通信を行うための基本的な設定がなされている。この基本的な設定とは、例えば、スイッチ201に於けるIGMPスヌーピング設定や、ルータ202に於けるPIM(Protocol-Independent Multicast)の設定などである。仮想マシン104は、イーサネット(登録商標)のフレームを送受信する。
 図15は、第1の実施形態に於ける集約判定処理を示すフローチャートである。
 第1の実施形態の集約判定処理に於いて、管理用サーバ300は、終端点の数に応じて、未学習フレームの転送をマルチキャストによって転送するか、ユニキャストによって転送するかを判定して、終端点に指示している。終端点とは、例えば、仮想スイッチ103であり、ネットワーク200に接続して、拡張論理ネットワークに係るカプセル化フレーム21を送信するか、または、当該ネットワーク200から拡張論理ネットワークに係るカプセル化フレーム21を受信してデカプセル化を行うものである。
 仮想マシン104の新規配備、削除、配備先(ホスト)の変更、ネットワーク接続構成などの変更要求を管理用サーバ300が管理者(不図示)や他の管理システム(不図示)から受け付けると、集約判定処理が開始する。管理用サーバ300は更に、定期的に集約判定処理を開始してもよい。
 ステップS10に於いて、管理用サーバ300の論理ネットワーク管理部312は、仮想マシン104の配備構成(VM配備構成)およびネットワーク接続構成を決定する。すなわち、論理ネットワーク管理部312は、マシン配備構成テーブル321(図12)および拡張論理ネットワーク割当テーブル322(図13)に格納する情報を決定する。
 例えば、管理用サーバ300の論理ネットワーク管理部312は、図1に示すように仮想マシン104(VM_b2)を、物理ホスト100c(Host_3)に追加し、仮想マシン104の仮想通信インタフェース105(VM_b2_VNIC_1)を生成し、仮想マシン104が属する拡張論理ネットワークの識別子を(b)に設定し、仮想通信インタフェース105(VM_b2_VNIC_1)が参加するVLAN識別子を(100)に設定し、仮想通信インタフェース105(VM_b2_VNIC_1)を仮想スイッチ103(VSW_3)の論理ポート112のポート番号2に接続するよう、マシン配備構成テーブル321(図12)および拡張論理ネットワーク割当テーブル322(図13)のレコードを決定する。
 ステップS11に於いて、管理用サーバ300の論理ネットワーク管理部312は、当該配備された仮想マシン104が属する拡張論理ネットワークの構成を検索する。
 例えば、管理用サーバ300の論理ネットワーク管理部312は、仮想マシン104(VM_b2)が属する拡張論理ネットワークの識別子(b)で、拡張論理ネットワーク割当テーブル322のレコードのLGID欄322cを検索する。論理ネットワーク管理部312は、当該検索したレコードのSW欄322eの値を取得する。このとき、当該検索したレコードのSW欄322eの値は、(VSW_1)および(VSW_2)であり、当該拡張論理ネットワークが収容している仮想スイッチ103を示している。
 ステップS12に於いて、管理用サーバ300の論理ネットワーク管理部312は、当該拡張論理ネットワークが収容している仮想スイッチ103の数が、予め指定された閾値以上であるか否かを判定する。以下、当該閾値をマルチキャスト利用制限閾値と呼ぶ。管理用サーバ300の論理ネットワーク管理部312は、当該条件が成立しなかったとき(No)ステップS13の処理を行い、当該条件が成立したとき(Yes)、ステップS14の処理を行う。
 ステップS13に於いて、管理用サーバ300の論理ネットワーク管理部312は、未学習フレームをユニキャストで転送すると決定し、各種テーブルを変更する。
 例えば、論理ネットワーク管理部312は、マルチキャストアドレス割当テーブル323の当該拡張論理ネットワークに係るレコードのIP_Multicast_Address欄323bを「-」(「マルチキャストアドレスを割り当てない」の意味)に変更する。更に論理ネットワーク管理部312は、当該拡張論理ネットワークに係るレコードのSW欄322eで識別される仮想スイッチ103に対して、未学習転送テーブル122に、当該拡張論理ネットワークに係るレコードを追加するよう指示する。すなわち、論理ネットワーク管理部312は、当該仮想スイッチ103に対して、未学習転送テーブル122に、LGID欄122aが(b)のレコードを追加するように指示する。
 論理ネットワーク管理部312は、追加したレコードのEncap_VID欄122bを予め1つまたは複数の拡張論理ネットワーク用に割り当てる。Encap_VID欄122bは、カプセル化されたフレームのMACヘッダのVIDに格納される。
 Encap_IP_Address欄122cには、当該拡張論理ネットワークに係るレコードのSW欄322eで識別される仮想スイッチ103の中で、当該設定対象の仮想スイッチ103以外の仮想スイッチ103のIPアドレスを格納する。
 例えば、図10に示すように、仮想スイッチ103(VSW_1)の未学習転送テーブル122のLGID欄122aが(b)のレコードに於いて、Encap_IP_Address欄122cには、当該仮想スイッチ103(VSW_1)以外の仮想スイッチ103(VSW_3)のIPアドレス(IP_VSP_3)が格納されている。
 ステップS14に於いて、管理用サーバ300の論理ネットワーク管理部312は、未学習フレームをマルチキャストにて転送すると決定し、各種テーブルを変更する。
 例えば、論理ネットワーク管理部312は、拡張論理ネットワーク(a)が収容している仮想スイッチ103を取得する。論理ネットワーク管理部312は、仮想スイッチ103(VSW_1)と仮想スイッチ103(VSW_2)と仮想スイッチ103(VSW_4)とを取得したので、仮想スイッチ103の数は3であると判断する。ここで、閾値=2が予め設定されているので、論理ネットワーク管理部312は、拡張論理ネットワーク(a)への同報通信をマルチキャスト転送すると判断し、未だ使用されていないマルチキャストアドレス(IP_Multicast_1)を拡張論理ネットワーク(a)に発行し、マルチキャストアドレス割当テーブル323のレコード(例えばLGID欄323aが(a))に登録する。
 さらに、当該拡張論理ネットワークが収容している仮想スイッチ103に対して、未学習転送テーブル122の当該LGID欄122aのレコードのEncap_IP_Address欄122cに、当該割り当てたマルチキャストアドレス(IP_Multicast_1)を格納する。さらに、新たにマルチキャストアドレスを割り当てられた仮想スイッチ103は、当該マルチキャストアドレスで識別されるマルチキャスト経路に対する参加要求を、例えばIGMP Joinメッセージによって送信する。
 図7のシーケンスQ11~Q15に示すように、スイッチ201およびルータ202が、IGMP Joinメッセージを処理すると、マルチキャスト経路が確立される。
 ステップS15に於いて、管理用サーバ300の論理ネットワーク管理部312は、仮想マシン104の配備を実行する。仮想マシン104の配備実行後、当該仮想マシン104から送受信される通信データのうち、未学習フレームは、未学習転送テーブル122に格納された値でカプセル化されて転送される。管理用サーバ300の論理ネットワーク管理部312は、ステップS15の処理が終了すると、図15の処理を終了する。
 なお、ここでは仮想マシン104の新規追加を例に挙げて説明したが、管理サーバ300は、新規追加だけでなく、削除、移動などの構成変更についても同様に処理することができる。また、管理サーバ300は、物理ホスト100が不正に動作停止したときに備えて、定期的にステップS10~S15の集約判定処理を行う。
 次に、図15に示した処理手順によって仮想スイッチ103上の未学習転送テーブル122および拡張論理ネットワーク情報テーブル123に対して情報が格納され、仮想マシン104の配備が行われた後に、仮想スイッチ103に於いて前記各種テーブルの情報をどのように使用して通信が行われるかを説明する。
 ここでは前提として、図1に示すシステム構成に於いて、図15に示す集約判定処理が管理用サーバ300にて行われた後、各仮想スイッチ103に於ける未学習転送テーブル122および拡張論理ネットワーク情報テーブル123に、ネットワーク集約判定結果に基づく値が格納されており、かつ格納された結果に基づき、IPマルチキャストへの参加がされており、IPマルチキャスト経路の構築が既に知られている方法によってされているものとする。
 また、ここでは一例として、図1に示す構成に於いて物理ホスト100a(Host_1)上に配備された仮想マシン104(VM_a1)と、物理ホスト100d(Host_4)に新たに配備された仮想マシン104(VM_a4)の間でデータ通信を行うケースを例にして説明する。また、前提として、事前に仮想マシン104(VM_a1)と、仮想マシン104(VM_a4)とは、お互いの仮想通信インタフェース105に割り当てられているIPアドレスを知っているものとする。
 図16は、第1の実施形態に於ける仮想スイッチのカプセル処理を示すフローチャートである。
 仮想マシン104(VM_a1)は、具体的なデータ転送に於いて、通信相手である仮想マシン104(VM_a4)のIPアドレス(IP_VM_a4_VNIC_1)が割り当てられた仮想通信インタフェース105(VM_a4_VNIC_1)のMACアドレスを知るため、ARP(Address Resolution Protocol)リクエストをブロードキャストで送信する。当該ARPリクエストのオリジナルフレーム20の宛先MACアドレス20aには、ブロードキャストアドレスが格納されている。当該ARPリクエストであるオリジナルフレーム20は、仮想通信インタフェース105を介して仮想スイッチ103a(VSW_1)の2番ポートに送信される。これにより、仮想スイッチ103aのカプセル化処理が開始する。
 ステップS40に於いて、仮想スイッチ103aは、当該フレームの受信ポート番号から、仮想LAN識別子(VID)と拡張論理ネットワーク識別子(LGID)とを取得する。
 すなわち、ステップS40に於いて、仮想スイッチ103aは、当該オリジナルフレーム20を受信したポート番号で、拡張論理ネットワーク情報テーブル123のPort欄123aを検索する。仮想スイッチ103aは、検索した当該レコードのVID欄123cによって、当該オリジナルフレーム20が属するVLANのVIDを取得し、検索した当該レコードのLGID欄123dによって、当該オリジナルフレーム20の送信元の拡張論理ネットワーク識別子(LGID)を取得する。
 ステップS41に於いて、仮想スイッチ103aは、当該フレームの送信元は学習済みであるか否かを判断する。仮想スイッチ103aは、当該条件が成立しなかったならば(No)、ステップS42の処理を行い、当該条件が成立したならば(Yes)、ステップS43の処理を行う。
 すなわち、ステップS41に於いて、仮想スイッチ103aは、当該オリジナルフレーム20の送信元MACアドレス20b、当該フレームが属するVLANのVID、および、当該仮想マシン104(VM_a1)の拡張論理ネットワーク識別子をキーとして学習済転送テーブル121を検索し、検索結果のレコードが存在したならば学習済みと判断する。
 ステップS42に於いて、仮想スイッチ103aは、学習済転送テーブル121に当該送信元情報を記録し、その後、ステップS45の処理を行う。
 すなわち、ステップS42に於いて、仮想スイッチ103aは、学習済転送テーブル121に新たなレコードを追加する。仮想スイッチ103aは、当該新たなレコードのMAC_Address欄121aには送信元MACアドレス20bを格納し、VID欄121bには前記判定したVIDを格納し、LGID欄121cには前記検索されたLGID欄123dを格納し、Port欄121dには受信ポートのポート番号を格納する。
 ステップS43に於いて、仮想スイッチ103aは、学習済のポート番号と受信ポート番号とが相違するか否かを判断する。仮想スイッチ103aは、当該条件が成立しなかったならば(No)、ステップS45の処理を行い、当該条件が成立したならば(Yes)、ステップS44の処理を行う。
 すなわち、ステップS43に於いて、仮想スイッチ103aは、検索結果のレコードのPort欄121dと、当該オリジナルフレーム20を受信した論理ポート112の番号とを比較して、相違するか否かを判断する。
 ステップS44に於いて、仮想スイッチ103aは、Port欄121dを、受信ポート番号で更新する。
 すなわち、ステップS44に於いて、仮想スイッチ103aは、検索結果のレコードのPort欄121dに、当該オリジナルフレーム20を受信した論理ポート112の番号を記録する。
 ステップS45に於いて、仮想スイッチ103aは、当該フレームの宛先は学習済みであるか否かを判断する。仮想スイッチ103aは、当該条件が成立しなかったならば(No)、ステップS46の処理を行い、当該条件が成立したならば(Yes)、ステップS48の処理を行う。
 すなわち、仮想スイッチ103aは、当該オリジナルフレーム20の宛先MACアドレス20a、前記判定したVID、および、LGIDをキーに、学習済転送テーブル121を検索し、該当するレコードが存在すれば学習済みであると判断する。ここで、一般にブロードキャストアドレスは学習されないため、検索結果のレコードは存在しない。
 ステップS46に於いて、仮想スイッチ103aは、当該フレームの受信ポート番号、仮想LAN識別子、および、拡張論理ネットワーク識別子に基づいて、対応する論理ポート112の情報を取得する。
 すなわち、ステップS46に於いて、仮想スイッチ103aは、受信したポート番号、前記判定したVID、および、LGIDをキーに、拡張論理ネットワーク情報テーブル123を検索し、検索結果のレコードのPort欄123aを取得する。
 ステップS47に於いて、仮想スイッチ103aは、取得したポートのうち、受信ポート以外の全てのポートに、当該オリジナルフレーム20を転送し、その後、ステップS49の処理を行う。
 すなわち、ステップS47に於いて、仮想スイッチ103aは、検索結果のレコードのPort欄123aのうち、受信ポート番号以外の全てのポートに対して、当該オリジナルフレーム20をコピーして転送する。仮想スイッチ103aは、VLANタグヘッダ20cおよびFCS20fを、各ポートのVLAN_Mode欄123bに応じて付加または削除し、FCS20fを再計算して更新したのちに転送する。
 ステップS48に於いて、仮想スイッチ103aは、学習済みの論理ポート112から、当該オリジナルフレーム20を転送する。
 ステップS49に於いて、仮想スイッチ103aは、当該LGIDに係るカプセル化フレーム21の宛先を取得する。
 すなわち、ステップS49に於いて、仮想スイッチ103aは、当該LGIDの値をキーに未学習転送テーブル122を検索し、Encap_VID欄122bとEncap_IP_Address欄122cとの組合せを取得する。
 ステップS50~S55に於いて、仮想スイッチ103aは、宛先の数だけ処理を繰り返す。
 ステップS51に於いて、仮想スイッチ103aは、オリジナルフレーム20をカプセル化して宛先を設定する。
 すなわち、ステップS51に於いて、仮想スイッチ103a(VSW_1)は、オリジナルフレーム20をコピーしてカプセル化し、カプセル化フレーム21の宛先MACアドレス21aに、Encap_IP_Address欄122cの値を格納する。仮想スイッチ103aは、カプセル化フレーム21の送信元MACアドレス21bには当該仮想スイッチ103aのMACアドレスを設定し、VLANタグヘッダ21cには、Encap_VID欄122bの値を設定し、IPヘッダ21eには拡張論理ネットワーク用の番号を設定し、送信元IPアドレス21fには当該仮想スイッチ103aのIPアドレスを設定し、宛先IPアドレス21gにはEncap_IP_Address欄122cに格納された値を設定し、LGID21hには検索されたLGID欄123dの値を設定し、修正オリジナルフレーム21iにはオリジナルフレーム20を設定し(必要に応じて修正)、FCS21jには宛先MACアドレス21a~修正オリジナルフレーム21iのチェックサム値を格納する。
 ステップS52に於いて、仮想スイッチ103aは、当該カプセル化フレーム21のVID(以下、「カプセル化VID」と記載する。)に対応した宛先が学習済みであるか否かを判断する。仮想スイッチ103aは、当該条件が成立したならば(Yes)、ステップS53の処理を行い、当該条件が成立しなかったならば(No)、ステップS54の処理を行う。
 すなわち、ステップS52に於いて、仮想スイッチ103aは、生成したカプセル化フレーム21の宛先MACアドレス21a、VLANタグヘッダ21c、および、LGIDが「-」であるものをキーとして学習済転送テーブル121を検索する。仮想スイッチ103aは、検索結果が存在したならば、ステップS53の処理を行い、検索結果が存在しなかったならば、ステップS54の処理を行う。
 ステップS53に於いて、仮想スイッチ103aは、学習済みの論理ポート112から、カプセル化フレーム21を転送し、その後、ステップS55の処理を行う。
 すなわち、ステップS53に於いて、仮想スイッチ103aは、当該検索されたレコードのPort欄121dで示される論理ポート112から、カプセル化フレーム21を転送する。
 ステップS54に於いて、仮想スイッチ103aは、当該カプセル化VIDに対応した論理ポート112からカプセル化フレーム21を転送する。
 すなわち、ステップS54に於いて、仮想スイッチ103aは、VLANタグヘッダ21cをキーに拡張論理ネットワーク情報テーブル123のVID欄123cを検索する。仮想スイッチ103aは、検索結果のレコードの数だけカプセル化フレーム21をコピーし、当該レコードのPort欄123aで示されるポートからカプセル化フレーム21を転送する。
 ステップS55に於いて、仮想スイッチ103aは、宛先の数だけ処理を繰り返したか否かを判断する。仮想スイッチ103aは、当該条件が成立しなかったならば、ステップS50の処理に戻り、当該条件が成立したならば、図16の処理を終了する。
 図17は、第1の実施形態に於ける仮想スイッチのデカプセル処理を示すフローチャートである。
 デカプセル処理とは、仮想スイッチ103がカプセル化されたユニキャストフレームを受信したときの処理である。仮想スイッチ103aが物理ホスト100aの物理通信インタフェース101を経由して論理ポート112でフレームを受信すると、デカプセル処理が開始する。
 ステップS60に於いて、仮想スイッチ103aは、カプセル化フレーム21の送信元は学習済みであるか否かを判断する。仮想スイッチ103aは、当該判断条件が成立しなかったならば(No)、ステップS61の処理を行い当該判断条件が成立したならば(Yes)、ステップS62の処理を行う。
 すなわち、仮想スイッチ103aは、受信したフレームの送信元MACアドレス21b、VLANタグヘッダ21c、LGID「-」の情報をキーに、学習済転送テーブル121を検索する。
 ステップS61に於いて、仮想スイッチ103aは、学習済転送テーブル121にカプセル化フレーム21の送信元情報のレコードを追加し、その後、ステップS63の処理を行う。
 ステップS62に於いて、仮想スイッチ103aは、学習済転送テーブル121に於けるカプセル化フレーム21の送信元情報レコードに、受信ポート番号を記録する。すなわち、仮想スイッチ103aは、送信元情報レコードのPort欄121dを、受信ポート番号に更新する。
 ステップS63に於いて、仮想スイッチ103aは、受信したカプセル化フレーム21の宛先が当該仮想スイッチ103aであるか否かを判断する。仮想スイッチ103aは、当該判断条件が成立しなかったならば(No)、ステップS72の処理を行い当該判断条件が成立したならば(Yes)、ステップS64の処理を行う。
 すなわち、仮想スイッチ103aは、受信したカプセル化フレーム21の宛先MACアドレス21aが、当該仮想スイッチ103aのMACアドレスであるか、または、当該仮想スイッチ103aが参加しているマルチキャストアドレスであるか否かを判断する。
 ステップS64に於いて、仮想スイッチ103aは、当該カプセル化フレーム21の拡張論理ネットワーク識別子(LGID)を取得する。
 すなわち、仮想スイッチ103aは、宛先MACアドレス21aがマルチキャスト用MACアドレスであり、宛先IPアドレス21gが当該仮想スイッチ103aの参加しているマルチキャストアドレスであり、かつ、IPヘッダ21eが拡張論理ネットワーク用の番号である場合には、LGID21hによって当該カプセル化フレーム21が属する拡張論理ネットワークを判定する。
 ステップS65に於いて、仮想スイッチ103aは、当該カプセル化フレーム21から、修正オリジナルフレーム21iを取得する。
 ステップS66に於いて、仮想スイッチ103aは、修正オリジナルフレーム21iの送信元が学習済みであるか否かを判断する。仮想スイッチ103aは、当該判断条件が成立しなかったならば(No)、ステップS67の処理を行い、当該判断条件が成立したならば(Yes)、ステップS68の処理を行う。
 すなわち、ステップS66に於いて、仮想スイッチ103aは、修正オリジナルフレーム21iより、送信元MACアドレス20bおよびVLANタグヘッダ20cを抽出する。仮想スイッチ103aは、受信した前記カプセル化フレーム21に含まれるLGID21hおよび送信元MACアドレス20bおよびVLANタグヘッダ20cをキーに、学習済転送テーブル121を検索する。
 ステップS67に於いて、仮想スイッチ103aは、修正オリジナルフレーム21iの送信元を学習する。
 すなわち、ステップS67に於いて、仮想スイッチ103aは、学習済転送テーブル121にレコードを追加し、当該レコードのMAC_Address欄121aには送信元MACアドレス20bの値を格納する。仮想スイッチ103aは、当該レコードのVID欄121bにはVLANタグヘッダ20cの値を格納し、LGID欄121cにはLGID21hの値を格納する。仮想スイッチ103aは、当該レコードのEncap_VID欄121eにはカプセル化フレーム21のVLANタグヘッダ21cの値を格納し、Encap_IP_Address欄121fにはカプセル化フレーム21の送信元IPアドレス21fを格納する。なお、仮想スイッチ103aは、Port欄121dには何も格納しない。
 ステップS68に於いて、仮想スイッチ103aは、修正オリジナルフレーム21iの宛先が学習済みであるか否かを判断する。仮想スイッチ103aは、当該判断条件が成立しなかったならば(No)、ステップS69の処理を行い、当該判断条件が成立したならば(Yes)、ステップS70の処理を行う。
 すなわち、ステップS68に於いて、仮想スイッチ103aは、LGID21hおよび当該修正オリジナルフレーム21iの宛先MACアドレス20aおよびVLANタグヘッダ20cをキーに、学習済転送テーブル121を検索する。
 ステップS69に於いて、仮想スイッチ103aは、LGIDとVLANから宛先ポートを取得し、ステップS71の処理を行う。
 すなわち、ステップS69に於いて、仮想スイッチ103aは、LGID21hおよびVLANタグヘッダ20cをキーに、拡張論理ネットワーク情報テーブル123を検索し、検索結果のレコードのPort欄123aを、宛先ポートとして取得する。
 ステップS70に於いて、仮想スイッチ103aは、学習済みの宛先ポートを取得する。すなわち、ステップS70に於いて、仮想スイッチ103aは、学習済転送テーブル121の検索結果のレコードのPort欄121dを、宛先ポートとして取得する。
 ステップS71に於いて、仮想スイッチ103aは、当該宛先ポートからオリジナルフレーム20を転送し、図17の処理を終了する。
 すなわち、ステップS71に於いて、仮想スイッチ103aは、当該レコードのPort欄121dで示される論理ポート112から修正オリジナルフレーム21iを転送する。この際、VLANタグヘッダ20cおよびFCS20fは、前記と同様に必要に応じて修正された後に転送される。
 ステップS72に於いて、仮想スイッチ103aは、カプセル化フレーム21の宛先は学習済みであるか否かを判断する。仮想スイッチ103aは、当該判断条件が成立したならば(Yes)、ステップS73の処理を行い、当該判断条件が成立しなかったならば(No)、ステップS74の処理を行う。
 ステップS73に於いて、仮想スイッチ103aは、学習したポートから、カプセル化フレーム21を転送し、図17の処理を終了する。
 ステップS74に於いて、仮想スイッチ103aは、カプセル化VIDに対応するポートから、カプセル化フレーム21を転送し、図17の処理を終了する。
(第1の実施形態の効果)
 以上説明した第1の実施形態では、次の(A)のような効果がある。
(A) 仮想マシン104の配備構成および当該仮想マシン104の仮想通信インタフェース105が属する拡張論理ネットワークの終端点の数を検索し、終端点の数が閾値以上ならば未学習フレームの転送にマルチキャストアドレスを使い、終端点の数が閾値未満ならば未学習フレームの転送にユニキャストを用いる。これにより、ネットワーク集約システム1は、マルチキャスト経路の使用数を削減することができ、スイッチ201の負荷を軽減し、かつ、スイッチ201内のマルチキャスト用のテーブル使用量を削減することができる。
(第2の実施形態の構成)
 第2の実施形態のネットワーク集約システム1は、各終端点の構成が近似している複数の拡張論理ネットワークについて、マルチキャストアドレス(マルチキャスト経路)を集約するものである。
 図18は、第2の実施形態に於けるネットワーク集約システムの概要を示す図である。
 第2の実施形態に於けるネットワーク集約システム1Aは、第1の実施形態のネットワーク集約システム1(図1)に加えて更に、新たな仮想マシン104(VM_c3)が、物理ホスト100d(Host_4)上に配備されている。仮想マシン104(VM_c3)は、仮想スイッチ103d(VSW_4)に接続されている。それ以外の第2の実施形態のネットワーク集約システム1Aの構成は、第1の実施形態のネットワーク集約システム1(図1)の構成と同様である。
 図18の太破線は、例えば仮想マシン104(VM_a1)から、同一の拡張論理ネットワークに属する仮想マシン104(VM_a2)、仮想マシン104(VM_a3)、仮想マシン104(VM_a4)に同報通信した場合の通信パケットの経路を示している。
 第2の実施形態のネットワーク集約システム1Aでは、第1の実施形態に於ける経路の同報通信に加えて更に、スイッチ201b(SW_2)から物理ホスト100c(Host_3)への経路の同報通信が行われる。
(第2の実施形態の動作)
 図19は、第2の実施形態に於ける集約判定処理を示すフローチャートである。
 第2の実施形態に於ける集約判定処理の前提条件は、第1の実施形態の集約判定処理(図14)の前提条件と同様である。
 ステップS20~S23の処理は、第1の実施形態のステップS10~S13の処理(図15)と同様である。
 ステップS24に於いて、管理用サーバ300の論理ネットワーク管理部312は、マルチキャストを受信する各仮想スイッチ103のリストの類似度を計算する。
 ステップS25に於いて、管理用サーバ300の論理ネットワーク管理部312は、類似度が最も高いものを選択し、当該類似度が閾値以上であるか否かを判断する。管理用サーバ300の論理ネットワーク管理部312は、当該条件が成立しなかったとき(No)ステップS26の処理を行い、当該条件が成立したとき(Yes)、ステップS27の処理を行う。
 ステップS26に於いて、管理用サーバ300の論理ネットワーク管理部312は、未学習フレームのカプセル化時の宛先IPアドレス21gに、マルチキャストアドレスを用いるよう、各種テーブルを更新し、その後、ステップS28の処理を行う。
 ステップS27に於いて、管理用サーバ300の論理ネットワーク管理部312は、未学習フレームのカプセル化時の宛先IPアドレス21gに、集約マルチキャストアドレスを用いるよう各種テーブルを更新する。
 ステップS28に於いて、管理用サーバ300の論理ネットワーク管理部312は、仮想マシン104の配備を変更し、図19の処理を終了する。
 以下、図18に示すように、管理用サーバ300の論理ネットワーク管理部312が、新たに仮想マシン104(VM_c3)を、物理ホスト100d(Host_4)上に配備し、仮想マシン104の仮想通信インタフェース105を、拡張論理ネットワーク(c)に属させる処理を、図19のフローチャートに沿って説明する。
 ステップS22に於いて、管理用サーバ300の論理ネットワーク管理部312は、拡張論理ネットワーク(c)が収容している仮想スイッチ103の数が、閾値以上であるか否かを判断する。ここで、本実施形態のマルチキャスト利用制限値(閾値)は2である。拡張論理ネットワーク(c)は、仮想スイッチ103(VSW_1)、(VSW_2)、(VSW_4)の3台を収容している。これにより、論理ネットワーク管理部312は、仮想スイッチ103の数が閾値以上であり、マルチキャストを利用すると判断して、ステップS24の処理を行う。
 ステップS24に於いて、管理用サーバ300の論理ネットワーク管理部312は、マルチキャストを受信する仮想スイッチ103のリストの類似度を計算する。この類似度により、論理ネットワーク管理部312は、拡張論理ネットワーク(c)のマルチキャスト通信と他の拡張論理ネットワークのマルチキャスト通信とが集約可能であるか否かを判断する。ここで類似度(sim)は、(式1)によって算出される。
Figure JPOXMLDOC01-appb-M000001
 
 (式1)のx,yは、マルチキャストアドレスである。(式1)のX,Yは、各マルチキャストアドレスのパケットを受信する仮想スイッチ103のリストを指す。
 すなわち、論理ネットワーク管理部312は、当該配備構成を変更した当該仮想マシン104の仮想通信インタフェース105が属する拡張論理ネットワークについて、既にマルチキャストアドレスが割り当てられているか否かを、マルチキャストアドレス割当テーブル323(図14)に基づいて判断する。
 (式1)の集合Xは、拡張論理ネットワーク(c)を収容している仮想スイッチ103のリストである。仮想スイッチ103の集合Xは、(VSW_1,VSW_3,VSW_4)である。この仮想スイッチ103の集合Xは、マルチキャストアドレス割当テーブル323および拡張論理ネットワーク割当テーブル322より算出される。
 管理用サーバ300の論理ネットワーク管理部312は、拡張論理ネットワーク(c)に割り当てたマルチキャストアドレス(マルチキャストアドレスxという。)以外の、全マルチキャストアドレスをマルチキャストアドレス割当テーブル323より検索して、それぞれ仮想スイッチ103の集合Yを求め、マルチキャストアドレスxと、他のマルチキャストアドレスyとの仮想スイッチ103のリストの類似度を(式1)によって計算する。
 図14の例では、マルチキャストアドレス割当テーブル323には、マルチキャストアドレス(IP_Multicast_1)が既に割り当てられている。当該マルチキャストアドレス(IP_Multicast_1)を受信する仮想スイッチ103の集合Yは、(VSW_1,VSW_2,VSW_3,VSW_4)となる。このとき類似度は、(式2)によって算出される。
Figure JPOXMLDOC01-appb-M000002
 
 ステップS25に於いて、管理用サーバ300の論理ネットワーク管理部312は、当該類似度(sim(x,y))が最も高い値で、かつ、予め定めた類似度閾値(例えば“0.5)以上か否かを判定する。
 図14の例では、当該条件が成立しているので、マルチキャストアドレスx,yを集約して各種テーブルを更新する。本実施形態では、既に割り当てられているIP_Multicast_1を、新たに割り当てようとしていたマルチキャストアドレスxに適用して集約し、各種テーブルを更新する。
 図20は、更新された後の仮想スイッチ103aの未学習転送テーブル122の一例である。
 第1の実施形態の未学習転送テーブル122(図10)との相違点は、LGID欄122aが(c)のレコードに於けるEncap_IP_Address欄122cに、IP_Multicast_1が格納されていることである。
 図19のステップS28の処理は、ステップS15(図15)の処理と同様である。これにより、管理用サーバ300は、仮想マシン104の配備変更を実行する。
(第2の実施形態の効果)
 以上説明した第2の実施形態では、次の(B)のような効果がある。
(B) 拡張論理ネットワークの未学習フレームの転送用にIPマルチキャストを利用する場合に於いて、仮想マシン104の仮想通信インタフェース105が属する拡張論理ネットワークの終端点の構成が近似する複数の拡張論理ネットワークで使用するマルチキャストアドレスを集約している。これによって、ネットワーク装置の負荷を軽減し、かつネットワーク装置内のマルチキャスト用のテーブル使用量を削減することができる。
(第3の実施形態の構成)
 第1の実施形態に於けるマルチキャスト利用制限閾値、および、第2の実施形態に於ける類似度閾値は、予め事前に管理者等によって設定された値である。しかし、システムが大規模になると、大量の拡張論理ネットワークが必要になり、マルチキャスト数の削減を更に進める必要がある。
 第3の実施形態のネットワーク集約システム1は、第1の実施形態のネットワーク集約システム1(図1)と同様に構成されている。
 第3の実施形態の管理用サーバ300は、定期的にマルチキャスト数を確認して、上限値を超えている場合には、第1の実施形態にて示した集約判定処理または第2の実施形態にて示した集約判定処理のうち、効果が高い処理を行って、マルチキャスト数を削減するものである。
(第3の実施形態の動作)
 図21は、第3の実施形態に於ける集約判定処理を示すフローチャートである。
 第3の実施形態の管理用サーバ300は、定期的にマルチキャスト数を確認し、上限値を超えている場合には、第1の実施形態の集約判定処理と第2の実施形態の集約判定処理のうち、効果が高い方法を行い、マルチキャスト数を削減する。
 管理用サーバ300の論理ネットワーク管理部312は、定期的に(例えば1時間毎に)、または、特定のイベントが発生したタイミング(例えば使用しているマルチキャストアドレス数が増えた時)に、集約判定処理を開始する。
 ステップS30に於いて、管理用サーバ300の論理ネットワーク管理部312は、使用しているマルチキャスト数が予め定義した値を超えたか否かを判定する。論理ネットワーク管理部312は、当該条件が成立しなかったとき(No)、図21の処理を終了し、当該条件が成立したとき(Yes)、ステップS31の処理を行う。
 ステップS31に於いて、管理用サーバ300の論理ネットワーク管理部312は、使用している全てのマルチキャストアドレスについて、それぞれ収容している仮想スイッチ103の数を計算し、収容している仮想スイッチ103の数が最も少ないマルチキャストアドレスを選択する。
 ステップS32に於いて、管理用サーバ300の論理ネットワーク管理部312は、選択されたマルチキャストアドレスを削除し、ユニキャストによる転送にした場合の第1の集約低下度を、以下の(式3)によって算出する。
Figure JPOXMLDOC01-appb-M000003
 
 ステップS33に於いて、管理用サーバ300の論理ネットワーク管理部312は、使用している全てのマルチキャストアドレスの組み合わせについて類似度を計算し、最も類似度が高いマルチキャストアドレスの組み合わせ(ペア)を選択する。
 ステップS34に於いて、管理用サーバ300の論理ネットワーク管理部312は、当該マルチキャストアドレスの組み合せ(ペア)を、1つのマルチキャストアドレスに集約した場合の第2の集約低下度を、以下の(式4)によって算出する。
Figure JPOXMLDOC01-appb-M000004
 
 ステップS35に於いて、管理用サーバ300の論理ネットワーク管理部312は、(式3)を用いて算出した第1の集約低下度よりも、ステップS34にて(式4)で算出した第2の集約低下度の方が大きいか否かを判断する。論理ネットワーク管理部312は、当該条件が成立したとき(Yes)、ステップS36の処理を行い、当該条件が成立しなかったとき(No)、ステップS37の処理を行う。
 ステップS36に於いて、管理用サーバ300の論理ネットワーク管理部312は、選択されたマルチキャストアドレスを削除して、ユニキャスト転送に変更し、ステップS30の処理に戻る。
 ステップS37に於いて、管理用サーバ300の論理ネットワーク管理部312は、選択されたマルチキャストアドレスの組み合わせ(ペア)を1つに集約し、ステップS30の処理に戻る。
 すなわち、ステップS35~S37に於いて、管理用サーバ300の論理ネットワーク管理部312は、複数の集約方法のうち、集約低下度が最も低い集約方法を実行する。
(第3の実施形態の効果)
 以上説明した第3の実施形態では、次の(C)のような効果がある。
(C) マルチキャスト数が上限値を超えている場合には、第1の実施形態の集約処理と、第2の実施形態の集約処理のうち、集約低下度が低い方の(効果が高い方の)処理を行うので、効果的にマルチキャスト数を削減することができる。
(変形例)
 本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能である。この利用形態や変形例としては、例えば、次の(a)~(f)のようなものがある。
(a) 本実施形態のネットワーク集約システム1は、1台の仮想スイッチ103が1つの物理通信インタフェース101に接続されている。しかし、これに限られず、ネットワーク集約システム1は、複数台の仮想スイッチ103が、1つの物理通信インタフェース101に接続されていてもよい。更に、仮想マシン104が複数の仮想通信インタフェース105を備え、当該複数の仮想通信インタフェース105が、1または複数の仮想スイッチ103に接続されてもよい。
(b) ネットワーク200は、インターネットや通信事業者が提供する広域ネットワークを介していてもよく、複数の物理的または論理的に分離されたネットワークでもよい。
(c) 管理用サーバ300は、1つの物理的なホストによって実現されてもよいし、複数のホストによって構成されてもよい。また、管理用サーバ300は、VPN(Virtual Private Network)などの秘匿された通信環境によって、安全を確保した上でネットワーク集約システム1の外部に設置されてもよい。
(d) 物理ホスト100や管理用サーバ300は、各種プログラムを、通信装置134を介してネットワーク200に接続された他の装置から取得してもよい。
(e) 第2の実施形態の管理用サーバ300は、繰り返し仮想スイッチ103のリストに対して、ステップS24,S25(図19)の処理を繰り返してもよい。
(f) 第2の実施形態の管理用サーバ300の論理ネットワーク管理部312は、ステップS20~S23の処理を実施せず、すべての未学習フレームはマルチキャストを用いるように処理してもよい。
131 CPU
132 メモリ
133 外部記憶装置
134 通信装置
102 ハイパーバイザ
103 仮想スイッチ
104 仮想マシン
105 仮想通信インタフェース
106 ゲストOS
107 業務プログラム
111 転送処理部、
112 仮想ポート、
113 管理部
121 学習済転送テーブル
122 未学習転送テーブル
123 拡張論理ネットワーク情報テーブル、
200 共有ネットワーク
201 物理スイッチ
202 ルータ
300 管理用サーバ (ネットワーク集約装置)
311 マシン管理部
312 論理ネットワーク管理部
321 マシン配備構成テーブル
322 拡張論理ネットワーク割当テーブル
323 マルチキャストアドレス割当テーブル

Claims (9)

  1.  複数の物理ホストおよびネットワーク集約装置を備え、
     前記物理ホスト上には、仮想マシンと仮想スイッチとが配備され、
     前記仮想スイッチは、拡張論理ネットワークごとに前記仮想マシン間の同報通信をトンネリングするネットワーク集約システムに於いて、
     前記仮想マシンの配備を管理するマシン管理部と、
     前記マシン管理部が前記仮想マシンの配備または構成を変更した場合に、変更した当該仮想マシンが属する当該拡張論理ネットワークの前記同報通信を集約して転送可能と判断したならば、当該同報通信を集約するように前記仮想スイッチを制御する論理ネットワーク管理部と、
     を備えたことを特徴とするネットワーク集約装置。
  2.  前記論理ネットワーク管理部は、
     前記拡張論理ネットワークの前記仮想マシンに接続された前記仮想スイッチの数が閾値以上ならば、前記仮想マシン間の前記同報通信の宛先をマルチキャストアドレスとするよう前記仮想スイッチを制御して、当該同報通信を集約する、
     ことを特徴とする請求の範囲第1項に記載のネットワーク集約装置。
  3.  前記論理ネットワーク管理部は更に、
     2つの拡張論理ネットワークの前記仮想マシンの配備構成の類似度が閾値以上ならば、当該2つの拡張論理ネットワークの前記同報通信の宛先を共通のマルチキャストアドレスとするよう前記仮想スイッチを制御して、当該同報通信を集約する、
     ことを特徴とする請求の範囲第2項に記載のネットワーク集約装置。
  4.  前記論理ネットワーク管理部は更に、
     前記同報通信を集約する複数の集約方法それぞれの集約低下度を算出し、前記集約低下度のうち最も低いものに係る前記集約方法で、当該同報通信を集約する、
     ことを特徴とする請求の範囲第1項に記載のネットワーク集約装置。
  5.  複数の物理ホストおよびネットワーク集約装置を備え、
     前記物理ホスト上には、仮想マシンと仮想スイッチとが配備され、
     前記仮想スイッチは、拡張論理ネットワークごとに前記仮想マシン間の同報通信をトンネリングするネットワーク集約システムに於けるネットワーク集約方法であって、
     前記ネットワーク集約装置は、
     前記仮想マシンの配備を管理するマシン管理ステップと、
     前記マシン管理ステップによって前記仮想マシンの配備または構成を変更した場合に、変更した当該仮想マシンが属する当該拡張論理ネットワークの前記同報通信を集約して転送可能と判断する判断ステップと、
     前記判断ステップの判断が成立したならば、当該同報通信を集約するように前記仮想スイッチを制御する同報通信集約ステップと、
     を実行することを特徴とするネットワーク集約方法。
  6.  前記ネットワーク集約装置は、
     前記判断ステップに於いて、前記拡張論理ネットワークの前記仮想マシンに接続された前記仮想スイッチの数が閾値以上ならば、前記同報通信集約ステップに於いて、前記仮想マシン間の前記同報通信の宛先をマルチキャストアドレスとするよう前記仮想スイッチを制御することによって、当該同報通信を集約する、
     ことを特徴とする請求の範囲第5項に記載のネットワーク集約方法。
  7.  前記ネットワーク集約装置は、
     前記判断ステップに於いて、2つの拡張論理ネットワークの前記仮想マシンの配備構成の類似度が閾値以上ならば、前記同報通信集約ステップに於いて、当該2つの拡張論理ネットワークの前記同報通信の宛先を共通のマルチキャストアドレスとするよう、前記仮想スイッチを制御することによって、当該同報通信を集約する、
     ことを特徴とする請求の範囲第5項または請求の範囲第6項に記載のネットワーク集約方法。
  8.  前記ネットワーク集約装置は、
     前記同報通信集約ステップに於いて、前記同報通信を集約する複数の集約方法それぞれの集約低下度を算出し、前記集約低下度のうち最も低いものに係る前記集約方法で、当該同報通信を集約する、
     ことを特徴とする請求の範囲第5項に記載のネットワーク集約方法。
  9.  複数の物理ホストおよびネットワーク集約装置を備え、
     前記物理ホスト上には、仮想マシンと仮想スイッチとが配備され、
     前記仮想スイッチは、拡張論理ネットワークごとに前記仮想マシン間の同報通信をトンネリングするネットワーク集約システムであって、
     前記ネットワーク集約装置は、
     前記仮想マシンの配備を管理するマシン管理部と、
     前記マシン管理部が前記仮想マシンの配備または構成を変更した場合に、変更した当該仮想マシンが属する当該拡張論理ネットワークの前記同報通信を集約して転送可能と判断したならば、当該同報通信を集約するように前記仮想スイッチを制御する論理ネットワーク管理部と、
     を備えたことを特徴とするネットワーク集約システム。
PCT/JP2012/057043 2012-03-19 2012-03-19 ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム WO2013140507A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/057043 WO2013140507A1 (ja) 2012-03-19 2012-03-19 ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/057043 WO2013140507A1 (ja) 2012-03-19 2012-03-19 ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム

Publications (1)

Publication Number Publication Date
WO2013140507A1 true WO2013140507A1 (ja) 2013-09-26

Family

ID=49222001

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/057043 WO2013140507A1 (ja) 2012-03-19 2012-03-19 ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム

Country Status (1)

Country Link
WO (1) WO2013140507A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016100739A (ja) * 2014-11-21 2016-05-30 株式会社日立製作所 ネットワークシステム、ネットワークシステムの管理方法及びゲートウェイ装置
JP2017212759A (ja) * 2014-01-16 2017-11-30 日本電気株式会社 パケット転送装置、制御装置、通信システム、通信方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KATHERINE BARABASH ET AL.: "A Case for Overlays in DCN Virtualization", September 2011 (2011-09-01), Retrieved from the Internet <URL:http://www.itc23.com/fileadmin/ITC23_files/slides/WDC_6_CaseFo_OverlaysINDCN.pdf> [retrieved on 20120419] *
M. SRIDHARAN ET AL.: "NVGRE: Network Virtualization using Generic Routing Encapsulation", September 2011 (2011-09-01), Retrieved from the Internet <URL:http://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00> [retrieved on 20120419] *
M.MAHALINGAM ET AL.: "VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", 26 August 2011 (2011-08-26), Retrieved from the Internet <URL:http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00> [retrieved on 20120419] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017212759A (ja) * 2014-01-16 2017-11-30 日本電気株式会社 パケット転送装置、制御装置、通信システム、通信方法及びプログラム
US10154073B2 (en) 2014-01-16 2018-12-11 Nec Corporation Packet forwarding apparatus for handling multicast packet
US10742697B2 (en) 2014-01-16 2020-08-11 Nec Corporation Packet forwarding apparatus for handling multicast packet
JP2016100739A (ja) * 2014-11-21 2016-05-30 株式会社日立製作所 ネットワークシステム、ネットワークシステムの管理方法及びゲートウェイ装置

Similar Documents

Publication Publication Date Title
US11398921B2 (en) SDN facilitated multicast in data center
US10320664B2 (en) Cloud overlay for operations administration and management
US20200195579A1 (en) Multicast packet handling based on control information in software-defined networking (sdn) environment
US10887119B2 (en) Multicasting within distributed control plane of a switch
US9374270B2 (en) Multicast service in virtual networks
US10193707B2 (en) Packet transmission method and apparatus
US9654303B2 (en) Method and apparatus for emulating network devices
EP2843906B1 (en) Method, apparatus, and system for data transmission
CN116210204A (zh) 用于vlan交换和路由服务的系统和方法
KR20210093312A (ko) 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터
EP3069471B1 (en) Optimized multicast routing in a clos-like network
US8325733B2 (en) Method and system for layer 2 manipulator and forwarder
JPWO2014136864A1 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
US20060123204A1 (en) Method and system for shared input/output adapter in logically partitioned data processing system
US11228459B2 (en) Anycast address configuration for extended local area networks
US9419894B2 (en) NVGRE biomodal tunnel mesh
WO2013140507A1 (ja) ネットワーク集約装置、ネットワーク集約方法およびネットワーク集約システム
US20220247598A1 (en) Packet Detection Method, Connectivity Negotiation Relationship Establishment Method, and Related Device
US20140105064A1 (en) Method and apparatus for path indication
US9548964B1 (en) VPN for containers and virtual machines in local area networks
KR20150079391A (ko) 네트워크 가상화 방법 및 장치
US11799929B1 (en) Efficient multicast control traffic management for service discovery
Zhang et al. MAVIN: A MAC address coding based virtual network platform
Kim Scalable and efficient self-configuring networks
James Design of a New Network Infrastructure using Routing Control Platform for the University of Huddersfield Campus Grid

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: 12871981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12871981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP