Nothing Special   »   [go: up one dir, main page]

WO2015052854A1 - トラフィック管理システムおよびトラフィック管理方法 - Google Patents

トラフィック管理システムおよびトラフィック管理方法 Download PDF

Info

Publication number
WO2015052854A1
WO2015052854A1 PCT/JP2014/002247 JP2014002247W WO2015052854A1 WO 2015052854 A1 WO2015052854 A1 WO 2015052854A1 JP 2014002247 W JP2014002247 W JP 2014002247W WO 2015052854 A1 WO2015052854 A1 WO 2015052854A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
information
switch
interface controller
network interface
Prior art date
Application number
PCT/JP2014/002247
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 JP2015541415A priority Critical patent/JPWO2015052854A1/ja
Publication of WO2015052854A1 publication Critical patent/WO2015052854A1/ja

Links

Images

Classifications

    • 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 traffic management system and a traffic management method, and more particularly to a traffic management system and a traffic management method capable of managing traffic between computer systems sharing the same network interface controller.
  • the I / O device is SR-IOV (Single Root-I / O Virtualization).
  • the chip set supports IOMMU (I / O Memory Management Unit), it is possible to share the same I / O device from one or more virtual machines.
  • I / O devices can be shared from one or more physically different computer systems.
  • FIG. 10 is a block diagram showing an overview of a network interface controller corresponding to SR-IOV or MR-IOV.
  • a network interface controller 1 compatible with SR-IOV or MR-IOV internally includes a packet switch 10 for communication between computer systems sharing the network interface controller 1. And a forwarding table 12 used by the packet switch 10 to determine the output destination of the packet.
  • a forwarding table 12 used by the packet switch 10 to determine the output destination of the packet.
  • information indicating a destination such as a MAC (Media Access Control) address included in the packet header and an output destination interface (computer system interface 14 or external network port 16) are registered as a set.
  • the packet switch 10 and the forwarding table 12 are often limited to simple functions in order to reduce the chip size and cost of the network interface controller 1. For this reason, for example, only switching using only the MAC address and VLAN ID is possible, and examples of not holding traffic statistical information are seen.
  • a PCI-Express interface 18 As an interface for the computer system, a PCI-Express interface 18, one or more computer system interfaces 14, and the like so that the network interface controller 1 can be shared from one or more computer systems. Is provided.
  • the PCI-Express interface 18 includes a function for handling transmission / reception of signals compliant with the PCI-Express standard with a CPU (Central Processing Unit), and a register and interface for setting the network interface controller 1. .
  • the computer system interface 14 is called a physical function (PF) or a virtual function (VF) in the SR-IOV or MR-IOV specifications.
  • the PCI-Express interface 18 analyzes a signal conforming to the PCI-Express standard sent from the CPU, determines which computer system interface 14 is the data to be transferred, and determines the computer system interface determined as the transfer destination The signal is transferred to 14.
  • the network interface controller 1 includes one or more external network ports 16 for connecting to an external network.
  • FIG. 11 is a system configuration diagram showing a state where one or more computer systems 4 share the network interface controller 1. As shown in FIG. 11, the network interface controller 1 is shared by one or more computer systems 4 (computer system 4a, computer system 4b,...) Via an I / O switch 3.
  • the computer system 4 includes a CPU 40, a memory 42, and an I / O interface 44.
  • An example of the I / O interface 44 is a PCI-Express interface, for example.
  • some functions of the I / O interface 44 may be built in the CPU 40.
  • various peripheral devices such as a hard disk and an optical drive are connected to the computer system 4 via the I / O interface 44 or the like.
  • the I / O switch 3 has a function of switching a signal conforming to PCI-Express.
  • data is transferred as a packet. That is, a header indicating a destination and CRC (Cyclic Redundant Check) data for error check are added to the data, and the data is switched and transferred by the I / O switch 3.
  • CRC Cyclic Redundant Check
  • a packet that flows through a computer network such as Ethernet (registered trademark) is referred to as a network packet
  • a packet that flows through a PCI-Express bus is referred to as a PCIe packet.
  • the PCIe packet is transferred.
  • the network packet is as follows by the operation of each part of the network interface controller 1 shown in FIG. Forwarded to
  • the PCIe packet is sent from the computer system 4 a to the computer system interface 14 assigned to the computer system 4 a provided in the network interface controller 1 via the I / O interface 44 and the I / O switch 3. Send.
  • a network packet is stored in the payload portion of the PCIe packet.
  • the computer system 4a divides the network packet, divides it into payloads of one or more PCIe packets, stores them, and transmits them.
  • the network interface controller 1 that has received the PCIe packet from the computer system 4 a takes out the network packet from the PCIe packet by the PCI-Express interface 18.
  • the network interface controller 1 assembles the network packet.
  • the packet switch 10 refers to the forwarding table 12 using the header information of the network packet and searches for the computer system interface 14 that is the transfer destination of the network packet.
  • the packet switch 10 outputs the network packet to the computer system interface 14 which is the transfer destination of the network packet obtained by the search result of the forwarding table 12.
  • the output network packet is stored as a payload in the PCIe packet by the PCI-Express interface 18 and transferred to the destination computer system 4b.
  • the network interface controller 1 since the network interface controller 1 operates like a network switch, it must be managed as a network switch.
  • network interface controller 1 Is defined to forward all network packets from the computer system 4 to an external network. Therefore, in the case of communication between the computer systems 4 sharing the network interface controller 1, a network switch that is directly connected to the external network port 16 of the network interface controller 1 and that exists in the external network inputs the network packet. Is output to the same port as the input port, the network packet is returned to the network interface controller 1 that has output the network packet. Processing necessary for switching of the network switch is performed in the adjacent switch, thereby realizing switching between the computer systems 4.
  • VEPA Virtual Ethernet Port Aggregator
  • Non-Patent Document 1 since all traffic is transferred to the network switch of the external network, from the viewpoint of network management, only the network switch is managed as in the past. Good.
  • the first problem in the prior art is that communication between computer systems 4 sharing the network interface controller 1 cannot be managed in the case of the techniques shown in FIGS.
  • the second problem in the prior art is that, in the case of the techniques described in Non-Patent Document 1 and Non-Patent Document 2, the link between the network interface controller 1 and the network switch of the external network becomes a bottleneck. Is a point.
  • the third problem in the prior art is that, in the case of the techniques shown in FIGS. 10 and 11, the management point is greatly increased if the network interface controller 1 is managed in the same manner as the conventional network switch. That is the point.
  • the number of network interface controllers 1 is equal to the number of computer systems 4 at the maximum, so that depending on the environment such as a large-scale data center, the number of computer systems 4 becomes enormous and the number of network switches This is because the number is several tens of times.
  • the present invention has the first problem described above, that is, the problem that communication between computer systems 4 sharing the network interface controller 1 cannot be managed, and the second problem, that is, all network packets are A traffic management system capable of effectively solving the problem that communication performance is deteriorated by using an external network and the third problem, that is, the problem that the management point of the network is greatly increased; Its purpose is to provide a traffic management method.
  • the traffic management system and the traffic management method according to the present invention mainly adopt the following characteristic configuration.
  • a traffic management system includes at least one network interface controller that transmits and receives information to and from one or more computer systems, and is connected to the network interface controller and transmits information to and from an external network.
  • a traffic management system that includes at least one or more network switches that transmit and receive and a logical switch configuration system that constitutes a logical switch, and manages information to be transmitted and received, each network interface controller including the network interface controller For traffic between one or more computer systems that share the network, the transfer process is completed within the network interface controller, and the statistical information of the traffic is displayed.
  • the logical switch configuration system includes a mechanism for acquiring configuration information and statistical information from each network interface controller and each network switch and configuring the logical switch configuration system as one logical switch. It is characterized by that.
  • a traffic management method includes one or more network interface controllers that transmit and receive information to and from one or more computer systems, and the network interface controller that is connected to the network interface controller and transmits information to and from external networks.
  • the logical switch configuration system has a mechanism for acquiring configuration information and statistical information from each network interface controller and each network switch and configuring the logical switch as one logical switch. It is characterized by that.
  • the traffic between one or more computer systems sharing the network interface controller and the traffic flowing through the network switch to which the network interface controller is connected can be reduced without degrading the communication performance.
  • Centralized management is possible without increasing management points.
  • the reason is that the configuration information and statistical information are obtained from the network interface controller and the network switch, and a mechanism for configuring the logical interface as one logical switch is provided, and between one or more computer systems sharing the network interface controller. This is because the traffic can be completed in the network interface controller.
  • FIG. 1 It is a system configuration figure showing an example of composition of a traffic management system concerning an embodiment of the present invention. It is a block block diagram which shows an example of an internal structure of the network interface controller shown to the traffic management system of FIG. It is a block block diagram which shows an example of an internal structure of the network switch shown to the traffic management system of FIG. It is a block block diagram which shows an example of an internal structure of the logical switch management part of the logical switch management system shown in the traffic management system of FIG. It is a sequence diagram which shows an example of the flow of a process for the logical switch management system shown in FIG. 1 to comprise a logical switch.
  • FIG. 1 It is a system configuration figure showing an example of composition of a traffic management system concerning an embodiment of the present invention. It is a block block diagram which shows an example of an internal structure of the network interface controller shown to the traffic management system of FIG. It is a block block diagram which shows an example of an internal structure of the network switch shown to the traffic management system of FIG. It is a block
  • FIG. 3 is a flowchart showing an example of processing for adding an entry to a loopback table or updating an entry registered in the loopback table when the network interface controller shown in FIG. 2 receives a network packet.
  • structure figure which shows an example of a structure of the traffic management system at the time of implementing using an open flow.
  • It is a block block diagram which shows an example of an internal structure of the network interface controller corresponding to an open flow shown to the traffic management system of FIG.
  • FIG. 2 is a system configuration diagram illustrating a state in which one or more computer systems share a network interface controller.
  • the traffic management method according to the present invention may be implemented as a traffic management program that can be executed by a computer, or the traffic management program may be recorded on a computer-readable recording medium. Needless to say.
  • the traffic management system of the present invention provides a mechanism for acquiring configuration information and statistical information from a network interface controller and a network switch and configuring it as a single logical switch, and sharing one or more network interface controllers.
  • the main feature is that the transfer process can be completed within the network interface controller.
  • the traffic flowing through the network switch to which the network interface controller is connected can be increased without degrading the communication performance and the management point. Rather, it is made possible to centrally manage.
  • the present invention comprises a table (loopback table) for holding traffic identification information and statistical information between one or more computer systems sharing a network interface controller in the network interface controller
  • a logical switch management system having a mechanism configured as a logical switch includes configuration information acquisition means (a network interface controller management unit interface and a network switch management unit interface) for acquiring configuration information from a network interface controller and a network switch, Connection information management means (connection information) for managing connection information indicating how the network interface controller and the network switch are connected.
  • Logical switch configuration means for determining the number of ports of the logical switch and the number of entries in the forwarding table from the identification unit, the statistical information, the configuration information, and the connection information, and configuring the logical switch
  • the main features include at least a logical switch port management unit and a logical switch forwarding table management unit) and traffic information acquisition means (logical switch management interface) for acquiring traffic information from the configured logical switch. It is said.
  • FIG. 1 is a system configuration diagram showing a configuration example of a traffic management system according to an embodiment of the present invention.
  • the traffic management system 8 shown in FIG. 1 includes a logical switch management system 6, one or more network interface controllers 5, and one or more network switches 7.
  • the logical switch management system 6 includes at least a logical switch management unit 60, a network switch management unit 62, and a network interface controller management unit 64.
  • FIG. 2 is a block diagram showing an example of the internal configuration of the network interface controller 5 shown in the traffic management system 8 of FIG.
  • the network interface controller 5 shown as an example in FIG. 2 is configured by newly adding a loopback table 13 and a management interface 17 to the conventional network interface controller 1 shown in FIG.
  • the same components as those of the conventional network interface controller 1 shown in FIG. 10 are denoted by the same reference numerals, and detailed description thereof is omitted here.
  • the loopback table 13 includes traffic identification information, an identifier of the destination computer system interface 14, and traffic for traffic between computer systems sharing the same network interface controller 5 (computer system 4 shown in FIG. 11). Is a table for managing the statistical information.
  • the traffic identification information is, for example, physical information of the network interface controller 5 such as the identifier of the computer system interface 14 of the transmission source, MAC address, VLAN ID, IP address, L4 (Layer 4: Transport) Layer) is composed of a set of information included in the header of a network packet, such as a protocol type and an L4 port number.
  • L4 Layer 4: Transport
  • the traffic statistical information includes at least the number of passing packets of each flow, the number of passing bytes, and the time when the entry of the flow was last referred.
  • the management interface 17 is an interface for connecting to the logical switch management system 6.
  • the management interface 17 may be an interface that is physically independent of the external network port 16, an interface that is physically integrated with the external network port 16, or a PCI-Express. An interface via the interface 18 may be used.
  • FIG. 3 is a block configuration diagram showing an example of the internal configuration of the network switch 7 shown in the traffic management system 8 of FIG.
  • the network switch 7 illustrated in FIG. 3 includes at least a packet switch 70, a forwarding table 72, one or more network ports 74, a packet switch management unit 76, and a management interface 78.
  • Each network port 74 is an interface for connecting to the network interface controller 5 and other network switches 7 and is used for transmitting and receiving network packets.
  • the packet switch 70 is a module for determining a network port 74 as an output destination by referring to the forwarding table 72 based on the information of the network packet received from any one of the network ports 74, and transmitting the network packet. is there.
  • the packet switch 70 may perform not only the process of determining and sending out the output destination network port 74 but also the process of dropping the network packet, the process of rewriting the header information of the network packet, and the like. good.
  • the forwarding table 72 includes flow identification information, a destination network port 74 identifier, and flow statistics for traffic flowing through the packet switch 70. It is a table for managing information.
  • the packet switch management unit 76 is a module for managing the packet switch 70. Specifically, processing such as entry reading and writing to the forwarding table 72 and setting to the network port 74 can be mentioned.
  • the packet switch management unit 76 is realized in the form of an application that runs on a general-purpose CPU and a general-purpose OS.
  • the management interface 78 is an interface for connecting to the logical switch management system 6.
  • the management interface 78 may be realized as a management port provided in a general network switch, or may be realized as an interface physically integrated with any one of the network ports 74.
  • the logical switch management system 6 shown in FIG. 1 includes at least the logical switch management unit 60, the network switch management unit 62, and the network interface controller management unit 64, as described above.
  • the logical switch management system 6 has a function of logically managing the network interface controller 5 and the network switch 7 as one switch.
  • the network interface controller management unit 64 of the logical switch management system 6 sends the specification information (configuration information) and traffic transfer status (statistical information) of each network interface controller 5 via the management interface 17 of each network interface controller 5. Read and hold inside. Further, the network switch management unit 62 reads the specification information (configuration information) and traffic transfer status (statistical information) of each network switch 7 via the management interface 78 of each network switch 7 and holds them internally. To do.
  • each of the network interface controller management unit 64 and the network switch management unit 62 internally includes information on the specification information and traffic transfer status of each network interface controller 5, and the specification information and traffic of each network switch 7. And a storage area for storing information on the transfer status of each.
  • a logical switch is configured using information acquired and held by the network switch management unit 62 and the network interface controller management unit 64.
  • the specification information of each network interface controller 5 acquired and held by the network interface controller management unit 64 includes at least the total number of computer system interfaces 14, the total number of entries in the loopback table 13, and the number of external network ports 16. Including the total number.
  • the total number of entries in the forwarding table 12, functions provided in the computer system interface 14, functions provided in the packet switch 10, and the like are assumed as examples of specification information of each network interface controller 5. .
  • the traffic transfer status of each network interface controller 5 acquired and held by the network interface controller management unit 64 includes at least the number of used entries in the loopback table 13 of each network interface controller 5 and the used entries. And registered information. In addition to such information, for example, the number of entries used in the forwarding table 12 and information registered in the entries used in the forwarding table 12 are assumed as the traffic transfer status of each network interface controller 5.
  • the specification information of each network switch 7 acquired and held by the network switch management unit 62 includes at least the total number of entries in the forwarding table 72 of each network switch 7 and the total number of network ports 74.
  • functions provided in the network port 74, functions provided in the packet switch 70, and the like are assumed as examples of the specification information of each network switch 7.
  • the traffic transfer status of each network switch 7 acquired and held by the network switch management unit 62 is registered in at least the number of entries used in the forwarding table 72 of each network switch 7 and the entries used in the forwarding table 72. Information.
  • the information registered in the forwarding table 72 includes at least flow identification information, the number of passing packets for each flow, the number of passing bytes, and the time when the entry of the flow was last referred.
  • FIG. 4 is a block configuration diagram showing an example of an internal configuration of the logical switch management unit 60 of the logical switch management system 6 shown in the traffic management system 8 of FIG. 4 includes a network switch management unit interface 600, a network interface controller management unit interface 610, a logical switch forwarding table management unit 620, a logical switch port management unit 630, and connection information management. 640 and a logical switch management interface 660 at least.
  • the network switch management unit interface 600 is an interface for transmitting and receiving information to and from the network switch management unit 62 in the logical switch management system 6 shown in FIG.
  • the network interface controller management unit interface 610 is an interface for transmitting and receiving information to and from the network interface controller management unit 64 in the logical switch management system 6 shown in FIG.
  • the logical switch forwarding table management unit 620 includes the information of the loopback table 13 of the network interface controller 5 of FIG. 2 acquired by the network interface controller management unit 64 and the forwarding of the network switch 7 of FIG. 3 acquired by the network switch management unit 62. This is a module that logically manages the information in the table 72 as one table. As a result, the logical switch forwarding table management unit 620 holds statistical information of flows that flow through the network interface controller 5 and the network switch 7.
  • the logical switch port management unit 630 includes information on the computer system interface 14 of the network interface controller 5 acquired by the network interface controller management unit 64 of FIG. 1 and the network of the network switch 7 acquired by the network switch management unit 62 of FIG. This is a module that manages the information of the port 74 as a port included in the logical switch.
  • the connection information management unit 640 manages connection information between the network interface controller 5 and the network switch 7.
  • the connection information is information indicating which external network port 16 of which network interface controller 5 is connected to which network port 74 of which network switch 7.
  • the connection information may be statically stored in advance, or for example, connection information may be dynamically acquired by flowing a network packet for link connection confirmation. In the latter case, for example, it is assumed to use LLDP (Link Layer Discovery Protocol).
  • the logical switch management interface 660 is an interface for reading logical switch information.
  • the configuration of the logical switch such as the number of ports of the logical switch and the size of the forwarding table of the logical switch, and the statistical information of the flow flowing through the logical switch can be acquired.
  • the logical switch port manager 630 determines which computer system interface 14 of which network interface controller 5 corresponds to which network port 74 of which network switch 7 the logical switch port corresponds to. Associate. The result of the association is held by the logical switch port management unit 630 as mapping information.
  • the logical switch port management unit 630 has acquired the function of the computer system interface 14 and the function of the network port 74 in the network switch management unit 62 and the network interface controller management unit 64.
  • information indicating what function is provided for each logical port can be added to the mapping information.
  • FIG. 5 is a sequence diagram illustrating an example of a process flow for the logical switch management system 6 illustrated in FIG. 1 to configure a logical switch. Information transmission / reception between the network interface controller 5 and the network switch 7 is performed. In addition, an example of a processing flow in the logical switch management system 6 is shown. Note that the processing of the logical switch management system 6 shown in FIG. 5 is periodically performed at an arbitrary timing.
  • the logical switch management system 6 acquires information on the computer system interface 14 and the loopback table 13 from the network interface controller 5 through the network interface controller management unit 64 (steps). S100).
  • Examples of information related to the computer system interface 14 include the number of computer system interfaces 14 and the functions of each computer system interface 14.
  • Examples of information relating to the loopback table 13 include the number of entries in the loopback table 13.
  • the logical switch management system 6 acquires information regarding the network port 74 and the forwarding table 72 from the network switch 7 through the network switch management unit 62 (step S110).
  • Examples of information related to the network port 74 include the number of network ports 74, functions provided in each network port 74, and the like.
  • Examples of information related to the forwarding table 72 include the number of entries in the forwarding table 72.
  • step S110 can be executed first, or step S100 and step S110 can be executed simultaneously.
  • the logical switch management system 6 obtains the number of logical switch ports from the information regarding the number of computer system interfaces 14 acquired from the network interface controller 5 and the number of network ports 74 acquired from the network switch 7 ( Step S120).
  • the logical switch management system 6 uses the information on the number of entries in the loopback table 13 acquired from the network interface controller 5 and the information on the number of entries in the forwarding table 72 acquired from the network switch 7 to enter the entry in the forwarding table of the logical switch.
  • the number is obtained (step S130).
  • step S130 can be executed first, or step S120 and step S130 can be executed simultaneously.
  • the logical switch management system 6 configures a logical switch based on the calculated number of ports of the logical switch and the number of entries in the forwarding table of the logical switch.
  • FIG. 6 shows a process for adding an entry to the loopback table 13 or a process for updating an entry registered in the loopback table 13 when the network interface controller 5 shown in FIG. 2 receives a network packet. It is a flowchart which shows an example.
  • step S200 when the network interface controller 5 receives a network packet from either the computer system interface 14 or the external network port 16, the network interface controller 5 refers to the forwarding table 12 (step S200).
  • the network interface controller 5 determines whether both the input / output ports of the received network packet are the computer system interface 14 using the result of referring to the forwarding table 12 in step S200 (step S200). S210).
  • whether the input / output port of each network packet is the computer system interface 14 is determined, for example, by the network interface controller 5, which port is the computer system interface 14, or the network interface controller 5. It is conceivable to hold information indicating whether or not there is, and compare this information with the result of referring to the forwarding table 12. Alternatively, it can also be realized by including in each entry of the forwarding table 12 a flag indicating that both of the input / output ports are the computer system interface 14.
  • the network interface controller 5 uses the information of the header of the network packet to loop back. It is determined whether or not an entry exists in the table 13 (step S220).
  • the network interface controller 5 updates the statistical information of the entry in the loopback table 13 (Step S230).
  • the network interface controller 5 additionally registers the identifier of the flow to which the received network packet belongs in the loopback table 13 as a new entry. (Step S240).
  • step S210 if any one of the input / output ports of the network packet is not the computer system interface 14 (No in step S210), the network interface controller 5 does not perform any operation on the loopback table 13.
  • the flow statistics are periodically obtained from the loopback table 13 of the network interface controller 5 and the forwarding table 72 of the network switch 7 at predetermined intervals.
  • the information is acquired and the information in the forwarding table of the logical switch is updated.
  • the traffic management system 8 As described above in detail, the traffic management system 8 according to the present embodiment provides the following effects.
  • each network interface controller 5 of the traffic management system 8 includes a loopback table 13, can hold statistical information regarding traffic between computer systems 4 sharing the network interface controller 5, and the network interface controller 5.
  • the transfer process can be completed within the network interface controller 5.
  • the logical switch management system 6 performs logical processing based on information on the loopback table 13 and the computer system interface 14 of the network interface controller 5 and information on the forwarding table 72 and network port 74 of the network switch 7. By configuring the switch, the network interface controller 5 and the network switch 7 can be managed as one logical switch.
  • the traffic between the one or more computer systems 4 sharing the network interface controller 5 and the traffic flowing through the network switch 7 to which the network interface controller 5 is connected can be reduced without degrading the communication performance.
  • Centralized management is possible without increasing management points.
  • OpenFlow is one of the technologies for constructing a software-defined network (SDN: Software-Defined Network) on a physical network.
  • SDN Software-Defined Network
  • FIG. 7 is a system configuration diagram showing an example of the configuration of the traffic management system 80 when implemented using OpenFlow.
  • OpenFlow please refer to “OpenFlow Specification Version 1.3.1 (Wire Protocol 0x04) September 6, 2012”, ⁇ https: //www.opennetworking. org / images / stories / downloads / specification / openflow-spec-v1.3.1.pdf>, and so on, are not described in detail here.
  • the traffic management system 80 shown in FIG. 7 includes an OpenFlow controller 110, one or more OpenFlow switches 100, and one or more OpenFlow compatible network interface controllers 120.
  • the OpenFlow controller 110 controls the switches (OpenFlow switch 100 and OpenFlow compatible network interface controller 120) corresponding to the OpenFlow specification by using an API (Application Programming Interface) based on the OpenFlow specification.
  • API Application Programming Interface
  • the OpenFlow controller 110 includes an OpenFlow interface 140.
  • OpenFlow there is no specific provision regarding how to control the network in advance. Instead, the user can use the OpenFlow interface 140 to select an arbitrary network control application for controlling the network. It can be freely implemented.
  • a logical switch management unit 60 As a network control application, a logical switch management unit 60, a network interface controller management unit 64, which have the same functions as those in the logical switch management system 6 of FIG.
  • the network switch management unit 62 is mounted in a form arbitrarily defined by the user using the OpenFlow interface 140. However, at that time, the network interface controller management unit 64 and the network switch management unit 62 use an API provided by the OpenFlow interface 140.
  • OpenFlow a control communication connection called a secure channel is established between the OpenFlow controller 110 and a switch corresponding to the OpenFlow specification.
  • the OpenFlow controller 110 includes a secure channel control unit 130 for this purpose.
  • OpenFlow controller 110 when OpenFlow controller 110 and a switch that supports OpenFlow are connected through a secure channel, information about what function the switch that supports OpenFlow has is provided. Exchange with 110. The information includes information about the number of ports of the switch corresponding to the open flow and the number of entries in the flow table provided for performing flow management in the switch corresponding to the open flow. As a result, the OpenFlow controller 110 can configure a logical switch.
  • the OpenFlow controller 110 can read the information in the flow table of the switch corresponding to the OpenFlow at an arbitrary timing, the information about how many flow entries are consumed and the statistical information of each flow Can also be acquired reliably.
  • FIG. 8 is a block configuration diagram showing an example of the internal configuration of the network interface controller 120 for OpenFlow shown in the traffic management system 80 of FIG.
  • the open flow compatible network interface controller 120 shown in FIG. 8 is different from the network interface controller 5 shown in FIG. 2 in that a control CPU 19 and a flow table 20 are added, and a forwarding table 12 and a loopback table. 13 are excluded, but the other parts are composed of the same elements as those of the network interface controller 5 of FIG.
  • the same components as those of the network interface controller 5 of FIG. 2 are denoted by the same reference numerals as those of the network interface controller 5 of FIG. 2, and detailed description thereof is omitted here.
  • the flow table 20 is a table for flow management in OpenFlow.
  • the flow entry of the flow table 20 includes an input port number to the packet switch 10, a key defined by information (an identifier of the network packet) included in a network packet header such as a MAC address and an IP address, and the key And an action for a packet belonging to a packet group matching the above.
  • the key can also use a wild card, and is defined as “a flow with an L4 port number of 80 (port number meaning HTTP (Hyper Text Transfer Protocol)) regardless of the MAC address or IP address”.
  • the action can specify not only the output destination port of the network packet but also the rewriting of the header of the network packet, the packet drop, and the like. Note that the packet switch 10 operates based on the actions held in the flow table 20 in this embodiment.
  • the control CPU 19 processes the OpenFlow protocol, controls the packet switch 10 and the flow table 20, and executes an OpenFlow agent for managing a secure channel with the OpenFlow controller 110.
  • the OpenFlow agent exchanges messages with the OpenFlow controller 110 based on the OpenFlow specifications, and reads information from the flow table 20 based on the messages.
  • the traffic between the computer systems 4 sharing the OpenFlow compatible network interface controller 120 can be detected as follows.
  • the OpenFlow controller 110 and the OpenFlow compatible network interface controller 120 exchange information regarding the functions provided in the OpenFlow compatible network interface controller 120, which of the ports included in the OpenFlow compatible network interface controller 120 is The function is extended so that information including information indicating whether the interface is for the computer system 14 is exchanged. Extensions like this are possible in the form of vendor extensions in OpenFlow. Thereby, the OpenFlow controller 110 can acquire information about which port of the OpenFlow compatible network interface controller 120 is the computer system interface 14.
  • the OpenFlow controller 110 acquires information on entries registered in the flow table 20 of the OpenFlow compatible network interface controller 120, and the input port included in the key and the output destination port included in the action are , It is determined whether or not both are the computer system interface 14. When both are the computer system interface 14, the flow can be recognized as traffic between the computer systems 4 sharing the open flow compatible network interface controller 120.
  • FIG. 9 is a block configuration diagram showing an example of the internal configuration of the OpenFlow switch 100 shown in the traffic management system 80 of FIG. 9 is different from the network switch 7 of FIG. 3 in that a flow table 73 and a control CPU 77 are added, and a forwarding table 72 and a packet switch management unit 76 are excluded.
  • the other parts are the same as those of the network switch 7 in FIG.
  • the same components as those of the network switch 7 of FIG. 3 are denoted by the same reference numerals as those of the network switch 7 of FIG. 3, and detailed description thereof is omitted here.
  • flow table 73 and the control CPU 77 have exactly the same functions as the flow table 20 and the control CPU 19 of the open flow compatible network interface controller 120, respectively. The detailed explanation is omitted.
  • a logical switch configured so that the network interface controller and the network switch are collectively managed to manage traffic. It can be suitably applied to the application.
  • Network Interface Controller 3 I / O Switch 4 Computer System 4a Computer System 4b Computer System 5 Network Interface Controller 6 Logical Switch Management System 7 Network Switch 8 Traffic Management System 10 Packet Switch 12 Forwarding Table 13 Loopback Table 14 Computer System Interface 16 External network port 17 Management interface 18 PCI-Express interface 19 Control CPU 20 Flow table 40 CPU 42 Memory 44 I / O Interface 60 Logical Switch Manager 62 Network Switch Manager 64 Network Interface Controller Manager 70 Packet Switch 72 Forwarding Table 73 Flow Table 74 Network Port 76 Packet Switch Manager 77 Control CPU 78 Management Interface 80 Traffic Management System 100 OpenFlow Switch 110 OpenFlow Controller 120 OpenFlow Compatible Network Interface Controller 130 Secure Channel Controller 140 OpenFlow Interface 600 Network Switch Manager Interface 610 Network Interface Controller Manager Interface 620 Logical Switch Forwarding Table Management Section 630 Logical switch port management section 640 Connection information management section 650 Mapping information management section 660 Logical switch management interface

Landscapes

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

Abstract

1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラ(5)と、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチ(7)と、トラフィックを一纏めにして管理する論理スイッチ管理システム(6)とからなる。コントローラ(5)は、共有する1つ以上のコンピュータシステム同士のトラフィックについては内部で転送処理を完結させる仕組みを備える。論理スイッチ管理システム(6)は、コントローラ(5)とネットワークスイッチ(7)とから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備える。これにより、ネットワークインタフェースコントローラとそこに接続されたネットワークスイッチとを流れるトラフィックを一纏めに管理可能なトラフィック管理システムを提供することができる。

Description

トラフィック管理システムおよびトラフィック管理方法
 本発明は、トラフィック管理システムおよびトラフィック管理方法に関し、特に、同一のネットワークインタフェースコントローラを共有するコンピュータシステム間のトラフィックを管理することが可能なトラフィック管理システムおよびトラフィック管理方法に関する。
 近年、1つ以上のコンピュータシステムから、同一のI/Oデバイスを共有する技術が出現してきている。例えば、サーバ仮想化技術においては、物理的に1つのコンピュータシステム上で1つ以上のOS(Operating system)が動作する場合に、I/OデバイスがSR-IOV(Single Root-I/O Virtualization)に、チップセットがIOMMU(I/O Memory Management Unit)に対応することによって、1つ以上の仮想マシンから同一のI/Oデバイスを共有することができる。
 さらに、MR-IOV(Multi Root-I/O Virtualization)技術を用いることによって、1つ以上の物理的に異なるコンピュータシステムからI/Oデバイスを共有することもできる。
 SR-IOVについては、従来より、ネットワークインタフェースコントローラを中心に採用されてきている。図10は、SR-IOVまたはMR-IOVに対応したネットワークインタフェースコントローラの概観を示すブロック構成図である。
 図10に示すように、一般的に、SR-IOVやMR-IOVに対応したネットワークインタフェースコントローラ1は、該ネットワークインタフェースコントローラ1を共有するコンピュータシステム同士の通信のために、内部に、パケットスイッチ10と、パケットスイッチ10がパケットの出力先を決定するために使用するフォワーディングテーブル12と、を備えている。フォワーディングテーブル12には、パケットヘッダに含まれるMAC(Media Access Control)アドレスなどの宛先を示す情報と、出力先のインタフェース(コンピュータシステム用インタフェース14または外部ネットワーク用ポート16)とが組になって登録されている。このパケットスイッチ10や、フォワーディングテーブル12は、ネットワークインタフェースコントローラ1のチップ規模やコストを抑えるために、シンプルな機能に限定されることが多い。そのため、例えば、MACアドレスとVLAN IDのみを用いたスイッチングのみが可能であったり、トラフィックの統計情報を保持しないといった例が見られる。
 また、1つ以上のコンピュータシステムから、ネットワークインタフェースコントローラ1を共有することが可能になるように、コンピュータシステム用のインタフェースとして、PCI-Expressインタフェース18と、1つ以上のコンピュータシステム用インタフェース14と、を備える。
 PCI-Expressインタフェース18は、CPU(Central Processing Unit)との間でPCI-Express規格に準拠した信号の送受信をハンドリングするための機能や、ネットワークインタフェースコントローラ1の設定を行うためのレジスタやインタフェースを備える。一方、コンピュータシステム用インタフェース14は、SR-IOVやMR-IOVの仕様においては物理機能(PF:Physical Function)や仮想機能(VF:Virtual Function)と呼ばれている。PCI-Expressインタフェース18は、CPUから送られてきたPCI-Express規格準拠の信号を解析し、どのコンピュータシステム用インタフェース14に転送するデータであるかを判定し、転送先と判定したコンピュータシステム用インタフェース14に対して信号を転送する。
 そして、ネットワークインタフェースコントローラ1は、外部ネットワークと接続するために、外部ネットワーク用ポート16を1つ以上備える。
 図11は、ネットワークインタフェースコントローラ1を1つ以上のコンピュータシステム4が共有している様子を示すシステム構成図である。図11に示すように、ネットワークインタフェースコントローラ1は、I/Oスイッチ3を経由して、1つ以上のコンピュータシステム4(コンピュータシステム4a、コンピュータシステム4b、…)によって共有される。
 コンピュータシステム4は、CPU40と、メモリ42と、I/Oインタフェース44と、から構成される。I/Oインタフェース44の一つの例としては、例えばPCI-Expressのインタフェースがある。また、I/Oインタフェース44の機能の一部が、CPU40に内蔵されることもある。なお、図11には示していないものの、コンピュータシステム4には、I/Oインタフェース44などを介して、ハードディスクや光学ドライブなどの各種周辺装置が接続される。
 I/Oスイッチ3は、PCI-Express準拠の信号をスイッチングする機能を備える。PCI-Express準拠の信号の場合、データはパケットとして転送される。つまり、データに、宛先などを示すヘッダや、エラーチェックのためのCRC(Cyclic Redundant Check)データが付加され、I/Oスイッチ3によってスイッチングして転送される。ここでは、イーサネット(登録商標)などのコンピュータネットワークを流れるパケットをネットワークパケット、PCI-Expressバスを流れるパケットをPCIeパケットと呼称して区別することにする。I/Oスイッチ3においては、PCIeパケットヘッダに含まれるメモリアドレスによって転送を行う方式と、同様に、PCIeパケットヘッダに含まれるバス番号、デバイス番号、ファンクション番号に基づいて転送を行う方式とのいずれかによって、PCIeパケットを転送する。
 ネットワークインタフェースコントローラ1に備えられる各コンピュータシステム用インタフェース14には、それぞれ互いに異なる[バス番号、デバイス番号、ファンクション番号]の組が割り当てられる。これにより、コンピュータシステム4(コンピュータシステム4a、コンピュータシステム4b、…)やI/Oスイッチ3は、コンピュータシステム用インタフェース14を識別することができる。
 図11の環境において、コンピュータシステム4aとコンピュータシステム4bとが、ネットワークインタフェースコントローラ1を経由して通信を行う場合、図10に示すネットワークインタフェースコントローラ1の各部位の動作により、ネットワークパケットは次のように転送される。
 まず、コンピュータシステム4aが、I/Oインタフェース44、I/Oスイッチ3を経由して、ネットワークインタフェースコントローラ1に備えられている、コンピュータシステム4aに割り当てられたコンピュータシステム用インタフェース14に対してPCIeパケットを送信する。PCIeパケットのペイロード部にはネットワークパケットが格納されている。コンピュータシステム4aは、ネットワークパケットのサイズによっては、ネットワークパケットを分割し、1つ以上のPCIeパケットそれぞれのペイロードに分割して格納して、送信する。
 次に、コンピュータシステム4aからのPCIeパケットを受け取ったネットワークインタフェースコントローラ1は、PCI-Expressインタフェース18にてPCIeパケットからネットワークパケットを取り出す。1つ以上のPCIeパケットに分割されてネットワークパケットが送信されてきている場合は、ネットワークインタフェースコントローラ1においてネットワークパケットの組み立てが行われる。
 次に、パケットスイッチ10は、ネットワークパケットのヘッダ情報を用いてフォワーディングテーブル12を参照して、該ネットワークパケットの転送先となるコンピュータシステム用インタフェース14を検索する。
 次に、パケットスイッチ10は、フォワーディングテーブル12の検索結果によって得られた、ネットワークパケットの転送先となるコンピュータシステム用インタフェース14に対してネットワークパケットを出力する。
 出力されたネットワークパケットは、PCI-Expressインタフェース18にて、PCIeパケットにペイロードとして格納され、宛先となるコンピュータシステム4bに対して転送される。
 このように、I/Oを共有するコンピュータシステム4同士の通信については、ネットワークインタフェースコントローラ1によって処理され、外部ネットワークにはネットワークパケットが送信されることはない。
 つまり、ネットワーク管理の観点からは、ネットワークインタフェースコントローラ1は、ネットワークスイッチのように動作しているので、ネットワークスイッチとして管理することが必要になる。
 これに対して、非特許文献1のIEEE802.1Qbgに規定されているVEPA(Virtual Ethernet Port Aggregator)や、非特許文献2のIEEE802.1Qbhに規定されているBridge Port Extensionにおいては、ネットワークインタフェースコントローラ1は、コンピュータシステム4からの全てのネットワークパケットを外部ネットワークに転送するように規定されている。したがって、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信の場合には、ネットワークインタフェースコントローラ1の外部ネットワーク用ポート16と直接接続される、外部ネットワークに存在するネットワークスイッチが、入力してきたネットワークパケットを入力ポートと同じポートに出力することによって、ネットワークパケットが当該ネットワークパケットを出力したネットワークインタフェースコントローラ1に返ってくる。ネットワークスイッチのスイッチングに必要な処理は、隣接スイッチで行われており、これにより、コンピュータシステム4間のスイッチングを実現することになる。
 これらの非特許文献1、非特許文献2の技術においては、全てのトラフィックが外部ネットワークのネットワークスイッチに転送されるため、ネットワーク管理の観点からは、従来と同様に、ネットワークスイッチのみを管理するだけで良い。
 以下の分析は、本発明によって与えられたものである。
 従来技術における第1の問題点は、前述の図10、図11に示した技術の場合には、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信を管理することができないという点である。
 その理由は、このようなコンピュータシステム4同士の通信の場合、ネットワークパケットが外部ネットワークに転送されず、ネットワークインタフェースコントローラ1内部でネットワークパケットの転送処理が完了してしまうことと、ネットワークインタフェースコントローラ1内部に、トラフィックの統計情報を取得する機能が備わっていないことによる。
 従来技術における第2の問題点は、非特許文献1および非特許文献2に記載の技術の場合には、ネットワークインタフェースコントローラ1と、外部ネットワークのネットワークスイッチとの間のリンクがボトルネックになるという点である。
 その理由は、全てのネットワークパケットが、前記リンクを経由することになり、外部ネットワークとのトラフィックによって、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士のトラフィックが圧迫されるためである。また、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4が増加するにしたがって、同一リンクを共有するトラフィックが増加するために、当該リンクがボトルネックとなってしまう。
 従来技術における第3の問題点は、前述の図10、図11に示した技術の場合において、ネットワークインタフェースコントローラ1を、従来のネットワークスイッチと同様に管理しようとすると、管理ポイントが大幅に増加するという点である。
 その理由は、ネットワークインタフェースコントローラ1の数は、最大でコンピュータシステム4の個数と等しくなるため、大規模データセンタなどの環境如何によっては、コンピュータシステム4の個数が膨大になり、ネットワークスイッチの個数の数十倍の個数となるためである。
(本発明の目的)
 本発明は、前述した第1の問題点、すなわち、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信を管理することができないという課題と、第2の問題点、すなわち、全てのネットワークパケットが外部ネットワークを利用することによって通信性能が劣化するという課題と、第3の問題点、すなわち、ネットワークの管理ポイントが大幅に増加するという課題と、を効果的に解決することができるトラフィック管理システムおよびトラフィック管理方法を提供することを、その目的としている。
 前述の課題を解決するため、本発明によるトラフィック管理システムおよびトラフィック管理方法は、主に、次のような特徴的な構成を採用している。
 (1)本発明によるトラフィック管理システムは、1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、送受信される情報を管理するトラフィック管理システムであって、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを備えるとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備えていることを特徴とする。
 (2)本発明によるトラフィック管理方法は、1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備えたシステムにおいて送受信される情報を管理するトラフィック管理方法であって、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを有するとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを有していることを特徴とする。
 本発明のトラフィック管理システムおよびトラフィック管理方法によれば、以下のような効果を奏することができる。
 すなわち、本発明においては、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックと、ネットワークインタフェースコントローラが接続されるネットワークスイッチを流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することができる。
 その理由は、ネットワークインタフェースコントローラとネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを提供し、かつ、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、ネットワークインタフェースコントローラ内で転送処理を完結させることを可能にしているためである。
本発明の実施形態に係るトラフィック管理システムの構成例を示すシステム構成図である。 図1のトラフィック管理システムに示したネットワークインタフェースコントローラの内部構成の一例を示すブロック構成図である。 図1のトラフィック管理システムに示したネットワークスイッチの内部構成の一例を示すブロック構成図である。 図1のトラフィック管理システムに示した論理スイッチ管理システムの論理スイッチ管理部の内部構成の一例を示すブロック構成図である。 図1に示した論理スイッチ管理システムが論理スイッチを構成するための処理の流れの一例を示すシーケンス図である。 図2に示したネットワークインタフェースコントローラが、ネットワークパケットを受信した際に、ループバックテーブルにエントリを追加する処理、あるいは、ループバックテーブルに登録されているエントリを更新する処理の一例を示すフローチャートである。 オープンフローを用いて実施した場合のトラフィック管理システムの構成の一例を示すシステム構成図である。 図7のトラフィック管理システムに示したオープンフロー対応ネットワークインタフェースコントローラの内部構成の一例を示すブロック構成図である。 図7のトラフィック管理システムに示したオープンフロースイッチの内部構成の一例を示すブロック構成図である。 SR-IOVまたはMR-IOVに対応したネットワークインタフェースコントローラの概観を示すブロック構成図である。 ネットワークインタフェースコントローラを1つ以上のコンピュータシステムが共有している様子を示すシステム構成図である。
 以下、本発明によるトラフィック管理システムおよびトラフィック管理方法の好適な実施形態について添付図を参照して説明する。なお、本発明によるトラフィック管理方法をコンピュータにより実行可能なトラフィック管理プログラムとして実施するようにしても良いし、あるいは、トラフィック管理プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。
(本発明の特徴)
 本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明のトラフィック管理システムは、ネットワークインタフェースコントローラとネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを提供し、かつ、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、ネットワークインタフェースコントローラ内で転送処理を完結させることを可能にすることを主要な特徴とし、而して、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックと、ネットワークインタフェースコントローラが接続されるネットワークスイッチを流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することを可能にしている。
 より具体的には、本発明は、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックの識別情報と統計情報とを保持するためのテーブル(ループバックテーブル)をネットワークインタフェースコントローラに備え、かつ、論理スイッチとして構成する仕組みを有する論理スイッチ管理システムは、ネットワークインタフェースコントローラとネットワークスイッチとから、構成情報を取得する構成情報取得手段(ネットワークインタフェースコントローラ管理部インタフェースとネットワークスイッチ管理部インタフェース)と、ネットワークインタフェースコントローラとネットワークスイッチとがどのように接続されているかを示す接続情報を管理する接続情報管理手段(接続情報管理部)と、前記識別情報および前記統計情報と、前記構成情報と、前記接続情報とから、論理スイッチのポート数とフォワーディングテーブルのエントリ数とを求め、論理スイッチを構成する論理スイッチ構成手段(論理スイッチポート管理部、論理スイッチフォワーディングテーブル管理部)と、構成した論理スイッチからトラフィックの情報を取得するためのトラフィック情報取得手段(論理スイッチ管理インタフェース)と、を少なくとも備えていることを主要な特徴としている。
(実施形態の構成例)
 本発明の一実施形態としてトラフィック管理システムの構成例について、図面を参照して詳細に説明する。なお、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことは言うまでもない。
 図1は、本発明の実施形態に係るトラフィック管理システムの構成例を示すシステム構成図である。図1に示すトラフィック管理システム8は、論理スイッチ管理システム6と、1つ以上のネットワークインタフェースコントローラ5と、1つ以上のネットワークスイッチ7と、から構成される。論理スイッチ管理システム6は、論理スイッチ管理部60と、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、を少なくとも含んで構成される。
 図2は、図1のトラフィック管理システム8に示したネットワークインタフェースコントローラ5の内部構成の一例を示すブロック構成図である。図2に一例を示すネットワークインタフェースコントローラ5は、図10に示した従来のネットワークインタフェースコントローラ1に対して、ループバックテーブル13と、管理インタフェース17と、が新たに追加されて構成される。なお、図2のネットワークインタフェースコントローラ5において、図10に示した従来のネットワークインタフェースコントローラ1と同一の構成要素については同一の符号を付して示しており、ここでの詳細な説明を省略する。
 ループバックテーブル13は、同一ネットワークインタフェースコントローラ5を共有するコンピュータシステム(図11に示したコンピュータシステム4)同士のトラフィックについて、トラフィックの識別情報と、宛先となるコンピュータシステム用インタフェース14の識別子と、トラフィックの統計情報と、を管理するテーブルである。
 ここで、トラフィックの識別情報とは、例えば、送信元のコンピュータシステム用インタフェース14の識別子のようなネットワークインタフェースコントローラ5の物理情報と、MACアドレスやVLAN ID、IPアドレス、L4(Layer 4:トランスポート層)プロトコル種別、L4ポート番号といった、ネットワークパケットのヘッダに含まれる情報と、の組から構成される。以降、このトラフィックの識別情報によって識別される個々のトラフィックを、「フロー」と呼称する。
 また、トラフィックの統計情報には、各フローの通過パケット数、通過バイト数、該フローのエントリが最後に参照された時間、が少なくとも含まれる。
 管理インタフェース17は、論理スイッチ管理システム6と接続するためのインタフェースである。管理インタフェース17は、外部ネットワーク用ポート16とは物理的に独立したインタフェースであっても良いし、外部ネットワーク用ポート16と物理的に統合されたインタフェースであっても良いし、また、PCI-Expressインタフェース18を介したインタフェースであっても良い。
 図3は、図1のトラフィック管理システム8に示したネットワークスイッチ7の内部構成の一例を示すブロック構成図である。図3に一例を示すネットワークスイッチ7は、パケットスイッチ70と、フォワーディングテーブル72と、1つ以上のネットワークポート74と、パケットスイッチ管理部76と、管理インタフェース78と、を少なくとも含んで構成される。
 各ネットワークポート74は、ネットワークインタフェースコントローラ5や、他のネットワークスイッチ7と接続するためのインタフェースであり、ネットワークパケットの送受信のために用いられる。
 パケットスイッチ70は、ネットワークポート74のいずれかから受信したネットワークパケットの情報により、フォワーディングテーブル72を参照して、出力先となるネットワークポート74を決定して、該ネットワークパケットを送出するためのモジュールである。なお、パケットスイッチ70は、出力先のネットワークポート74を決定して送出する処理のみならず、さらに、ネットワークパケットをドロップする処理、ネットワークパケットのヘッダ情報などの書き換えを行う処理、等を行っても良い。
 フォワーディングテーブル72は、図2のネットワークインタフェースコントローラ5におけるループバックテーブル13の場合と同様に、パケットスイッチ70を流れるトラフィックについて、フローの識別情報と、宛先となるネットワークポート74の識別子と、フローの統計情報と、を管理するテーブルである。
 パケットスイッチ管理部76は、パケットスイッチ70を管理するためのモジュールである。具体的には、フォワーディングテーブル72に対する、エントリの読み出し、書き込み、ネットワークポート74に対する設定、などの処理が挙げられる。ネットワークスイッチ7が一般的なネットワークスイッチの場合には、パケットスイッチ管理部76は、汎用CPUと汎用OSの上で動くアプリケーションの形で実現される。
 管理インタフェース78は、論理スイッチ管理システム6と接続するためのインタフェースである。管理インタフェース78は、一般的なネットワークスイッチが備える管理用ポートとして実現しても良いし、ネットワークポート74のいずれかと物理的に統合されたインタフェースで実現しても良い。
 図1に示す論理スイッチ管理システム6は、前述したように、論理スイッチ管理部60と、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、を少なくとも含んで構成される。
 論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、を論理的に1つのスイッチとして管理する機能を備える。
 論理スイッチ管理システム6のネットワークインタフェースコントローラ管理部64は、各ネットワークインタフェースコントローラ5のスペック情報(構成情報)とトラフィック転送ステータス(統計情報)とを、各ネットワークインタフェースコントローラ5の管理インタフェース17を経由して読み出して、内部に保持する。また、ネットワークスイッチ管理部62は、各ネットワークスイッチ7のスペック情報(構成情報)とトラフィックの転送ステータス(統計情報)とを、各ネットワークスイッチ7の管理インタフェース78を経由して読み出して、内部に保持する。
 したがって、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62と、のそれぞれは、内部に、各ネットワークインタフェースコントローラ5のスペック情報とトラフィック転送ステータスとに関する情報と、各ネットワークスイッチ7のスペック情報とトラフィックの転送ステータスとに関する情報と、をそれぞれに保持するための記憶領域を備えている。そして、論理スイッチ管理部60においては、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、が取得して保持した情報を用いて、論理スイッチを構成する。
 ネットワークインタフェースコントローラ管理部64が取得して保持する各ネットワークインタフェースコントローラ5のスペック情報としては、少なくとも、コンピュータシステム用インタフェース14の総数と、ループバックテーブル13の総エントリ数と、外部ネットワーク用ポート16の総数と、を含む。かくのごとき情報以外にも、例えば、フォワーディングテーブル12の総エントリ数、コンピュータシステム用インタフェース14が備える機能、パケットスイッチ10が備える機能、などが各ネットワークインタフェースコントローラ5のスペック情報の例として想定される。
 また、ネットワークインタフェースコントローラ管理部64が取得して保持する各ネットワークインタフェースコントローラ5のトラフィック転送ステータスとしては、少なくとも、各ネットワークインタフェースコントローラ5のループバックテーブル13の使用エントリ数と、使用されているエントリに登録されている情報と、を含む。かくのごとき情報以外にも、例えば、フォワーディングテーブル12の使用エントリ数、フォワーディングテーブル12の使用されているエントリに登録されている情報、などが各ネットワークインタフェースコントローラ5のトラフィック転送ステータスとして想定される。
 一方、ネットワークスイッチ管理部62が取得して保持する各ネットワークスイッチ7のスペック情報としては、少なくとも、各ネットワークスイッチ7のフォワーディングテーブル72の総エントリ数と、ネットワークポート74の総数と、を含む。かくのごとき情報以外にも、例えば、ネットワークポート74が備える機能、パケットスイッチ70が備える機能、などが各ネットワークスイッチ7のスペック情報の例として想定される。
 また、ネットワークスイッチ管理部62が取得して保持する各ネットワークスイッチ7のトラフィック転送ステータスとして、少なくとも、各ネットワークスイッチ7のフォワーディングテーブル72の使用エントリ数と、フォワーディングテーブル72の使用されているエントリに登録されている情報と、を含む。
 なお、フォワーディングテーブル72に登録されている情報として、フローの識別情報と、フローごとの通過パケット数、通過バイト数、該フローのエントリが最後に参照された時間、が少なくとも含まれる。
 図4は、図1のトラフィック管理システム8に示した論理スイッチ管理システム6の論理スイッチ管理部60の内部構成の一例を示すブロック構成図である。図4に一例を示す論理スイッチ管理部60は、ネットワークスイッチ管理部インタフェース600と、ネットワークインタフェースコントローラ管理部インタフェース610と、論理スイッチフォワーディングテーブル管理部620と、論理スイッチポート管理部630と、接続情報管理部640と、論理スイッチ管理インタフェース660と、を少なくとも含んで構成される。
 ネットワークスイッチ管理部インタフェース600は、図1に示す論理スイッチ管理システム6内のネットワークスイッチ管理部62と情報を送受信するためのインタフェースである。また、ネットワークインタフェースコントローラ管理部インタフェース610は、図1に示す論理スイッチ管理システム6内のネットワークインタフェースコントローラ管理部64と情報を送受信するためのインタフェースである。
 論理スイッチフォワーディングテーブル管理部620は、ネットワークインタフェースコントローラ管理部64が取得した図2のネットワークインタフェースコントローラ5のループバックテーブル13の情報と、ネットワークスイッチ管理部62が取得した図3のネットワークスイッチ7のフォワーディングテーブル72の情報と、を論理的に1つのテーブルとして管理するモジュールである。その結果、論理スイッチフォワーディングテーブル管理部620は、ネットワークインタフェースコントローラ5や、ネットワークスイッチ7を流れるフローの統計情報を保持することになる。
 つまり、論理スイッチフォワーディングテーブル管理部620は、以下のように、論理スイッチのフォワーディングテーブルのエントリ数を求めて、論理スイッチのフォワーディングテーブルを作成し、作成した論理スイッチのフォワーディングテーブルには、各ループバックテーブル13と、各フォワーディングテーブル72と、の情報を格納する。
 (論理スイッチのフォワーディングテーブルのエントリ数)
   =(各ネットワークインタフェースコントローラ5の
    ループバックテーブル13の総エントリ数)
   +(各ネットワークスイッチ7のフォワーディングテーブル72の
    総エントリ数)
 論理スイッチポート管理部630は、図1のネットワークインタフェースコントローラ管理部64が取得したネットワークインタフェースコントローラ5のコンピュータシステム用インタフェース14の情報と、図1のネットワークスイッチ管理部62が取得したネットワークスイッチ7のネットワークポート74の情報と、を論理スイッチが備えるポートとして管理するモジュールである。
 接続情報管理部640は、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、の接続情報を管理している。該接続情報とは、どのネットワークインタフェースコントローラ5のどの外部ネットワーク用ポート16が、どのネットワークスイッチ7のどのネットワークポート74と接続されているかを示す情報である。該接続情報は、あらかじめ静的に保持させておくようにしても良いし、例えば、リンク接続確認用のネットワークパケットを流して、接続情報を動的に取得するようにしても良い。後者の場合は、例えば、LLDP(Link Layer Discovery Protocol)を利用することが想定される。
 論理スイッチ管理インタフェース660は、論理スイッチの情報を読み出すためのインタフェースである。論理スイッチのポート数や論理スイッチのフォワーディングテーブルのサイズなどの論理スイッチの構成や、論理スイッチを流れるフローの統計情報を取得することができる。
 なお、論理スイッチポート管理部630は、接続情報管理部640が管理する接続情報と、論理スイッチポート管理部630自身が管理する情報と、から、論理スイッチのポートの総数を、以下のようにして求める。
 (論理スイッチポートの総数)
   =(各ネットワークインタフェースコントローラ5の
    コンピュータシステム用インタフェース14の総数)
   +(各ネットワークスイッチ7のネットワークポート74の総数)
   -(ネットワークインタフェースコントローラ5と
    ネットワークスイッチ7との間のリンク数)
 次に、論理スイッチポート管理部630は、論理スイッチのポートが、どのネットワークインタフェースコントローラ5のどのコンピュータシステム用インタフェース14と、あるいは、どのネットワークスイッチ7のどのネットワークポート74と、が対応しているかを関連付ける。該関連付けの結果は、マッピング情報として、論理スイッチポート管理部630が保持している。
 さらに、論理スイッチポート管理部630は、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、において、コンピュータシステム用インタフェース14が備える機能や、ネットワークポート74が備える機能、を取得している場合には、各論理ポートに対して、どのような機能を備えているかを示す情報を、前述のマッピング情報に追加することも可能である。
(実施形態の動作の説明)
 次に、図1ないし図4に本発明の一実施形態として示したトラフィック管理システム8の全体の動作の一例について図面を参照しながら詳細に説明する。
 図5は、図1に示した論理スイッチ管理システム6が論理スイッチを構成するための処理の流れの一例を示すシーケンス図であり、ネットワークインタフェースコントローラ5およびネットワークスイッチ7との間の情報の送受信を含め、論理スイッチ管理システム6における処理の流れの一例を示している。なお、図5に示す論理スイッチ管理システム6の処理は、任意のタイミングで定期的に実施される。
 図5のシーケンス図において、まず、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ管理部64を通じて、ネットワークインタフェースコントローラ5から、コンピュータシステム用インタフェース14と、ループバックテーブル13と、に関する情報を取得する(ステップS100)。コンピュータシステム用インタフェース14に関する情報の例としては、コンピュータシステム用インタフェース14の数、各コンピュータシステム用インタフェース14が備える機能、などが挙げられる。また、ループバックテーブル13に関する情報の例としては、ループバックテーブル13のエントリ数、などが挙げられる。
 次に、論理スイッチ管理システム6は、ネットワークスイッチ管理部62を通じて、ネットワークスイッチ7から、ネットワークポート74と、フォワーディングテーブル72と、に関する情報を取得する(ステップS110)。ネットワークポート74に関する情報の例としては、ネットワークポート74の数、各ネットワークポート74が備える機能、などが挙げられる。フォワーディングテーブル72に関する情報の例としては、フォワーディングテーブル72のエントリ数、などが挙げられる。
 ここで、図5のステップS100とステップS110とは、互いに独立な処理であるため、ステップS110を先に実行することや、ステップS100とステップS110とを同時に実行することも可能である。
 次に、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5から取得したコンピュータシステム用インタフェース14の数、および、ネットワークスイッチ7から取得したネットワークポート74の数に関する情報から、論理スイッチのポート数を求める(ステップS120)。
 次に、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5から取得したループバックテーブル13のエントリ数、および、ネットワークスイッチ7から取得したフォワーディングテーブル72のエントリ数に関する情報から、論理スイッチのフォワーディングテーブルのエントリ数を求める(ステップS130)。
 ここで、図5のステップS120とステップS130とは、互いに独立な処理であるため、ステップS130を先に実行することや、ステップS120とステップS130とを同時に実行することも可能である。
 以上のようにして、論理スイッチ管理システム6は、算出した論理スイッチのポート数、および、論理スイッチのフォワーディングテーブルのエントリ数に基づいて、論理スイッチを構成する。
 次に、図2に示したネットワークインタフェースコントローラ5のループバックテーブル13にエントリを追加・更新する処理について、図6のフローチャートを用いてその一例を説明する。図6は、図2に示したネットワークインタフェースコントローラ5が、ネットワークパケットを受信した際に、ループバックテーブル13にエントリを追加する処理、あるいは、ループバックテーブル13に登録されているエントリを更新する処理の一例を示すフローチャートである。
 図6のフローチャートにおいて、まず、ネットワークインタフェースコントローラ5は、ネットワークパケットをコンピュータシステム用インタフェース14あるいは外部ネットワーク用ポート16のいずれかから受信すると、フォワーディングテーブル12を参照する(ステップS200)。
 次に、ネットワークインタフェースコントローラ5は、ステップS200においてフォワーディングテーブル12を参照した結果を用いて、受信したネットワークパケットの入出力ポートが、共に、コンピュータシステム用インタフェース14であるか否かを判定する(ステップS210)。ここで、各ネットワークパケットの入出力ポートがコンピュータシステム用インタフェース14であるかどうかの判定は、例えば、ネットワークインタフェースコントローラ5が、どのポートがコンピュータシステム用インタフェース14であるか、あるいはネットワークインタフェースコントローラ5であるかを示す情報を保持し、この情報とフォワーディングテーブル12を参照した結果を比較する、といったことが考えられる。あるいは、フォワーディングテーブル12の各エントリに、入出力ポートの双方がコンピュータシステム用インタフェース14であることを示すフラグを含めることでも実現可能である。
 次に、受信したネットワークパケットの入出力ポートが共にコンピュータシステム用インタフェース14であった場合には(ステップS210のYes)、ネットワークインタフェースコントローラ5は、該ネットワークパケットのヘッダの情報を用いて、ループバックテーブル13にエントリが存在するか否かを判定する(ステップS220)。
 ループバックテーブル13にエントリが存在する場合(ステップS220のYes)、ネットワークインタフェースコントローラ5は、ループバックテーブル13の当該エントリの統計情報を更新する(ステップS230)。
 一方、ループバックテーブル13にエントリが存在しない場合には(ステップS220のNo)、ネットワークインタフェースコントローラ5は、ループバックテーブル13に、受信したネットワークパケットが属するフローの識別子を、新規エントリとして追加登録する(ステップS240)。
 また、ステップS210において、ネットワークパケットの入出力ポートのいずれか一方でもコンピュータシステム用インタフェース14ではなかった場合(ステップS210のNo)、ネットワークインタフェースコントローラ5は、ループバックテーブル13に対する操作を一切行わない。
 ここで、論理スイッチ管理システム6においては、前述したように、ネットワークインタフェースコントローラ5のループバックテーブル13と、ネットワークスイッチ7のフォワーディングテーブル72と、から、あらかじめ定めた周期で定期的に、フローの統計情報を取得し、論理スイッチのフォワーディングテーブルの情報を更新している。
(本実施形態の効果の説明)
 以上に詳細に説明したように、本実施形態におけるトラフィック管理システム8においては、以下のような効果が得られる。
 すなわち、トラフィック管理システム8の各ネットワークインタフェースコントローラ5は、ループバックテーブル13を備え、ネットワークインタフェースコントローラ5を共有するコンピュータシステム4同士のトラフィックに関する統計情報を保持することができ、かつ、ネットワークインタフェースコントローラ5を共有する1つ以上のコンピュータシステム4同士のトラフィックについては、ネットワークインタフェースコントローラ5内で転送処理を完結させることが可能である。また、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5のループバックテーブル13とコンピュータシステム用インタフェース14との情報と、ネットワークスイッチ7のフォワーディングテーブル72とネットワークポート74との情報と、に基づいて、論理スイッチを構成することによって、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、を1つの論理スイッチとして管理することができる。
 その結果、ネットワークインタフェースコントローラ5を共有する1つ以上のコンピュータシステム4同士のトラフィックと、ネットワークインタフェースコントローラ5が接続されるネットワークスイッチ7を流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することができる。
 次に、具体的な実施例として、物理的なネットワーク上にソフトウェアにより定義したネットワーク(SDN:Software-Defined Network)を構築するための技術の一つであるオープンフローを用いた場合において、本発明を実施するための動作についてさらに詳細に説明する。
 図7は、オープンフローを用いて実施した場合のトラフィック管理システム80の構成の一例を示すシステム構成図である。オープンフローについては、“OpenFlow Switch Specification Version 1.3.1 (Wire Protocol 0x04) September 6,2012”,<https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>、などに詳しく記載されているので、ここでの詳細な説明は省略する。
 図7に示すトラフィック管理システム80は、オープンフローコントローラ110と、1つ以上のオープンフロースイッチ100と、1つ以上のオープンフロー対応ネットワークインタフェースコントローラ120と、から構成される。
 オープンフローコントローラ110は、オープンフローの仕様に対応したスイッチ(オープンフロースイッチ100およびオープンフロー対応ネットワークインタフェースコントローラ120)を、オープンフローの仕様に基づいたAPI(Application Programming Interface)を用いて制御する。
 そのため、オープンフローコントローラ110は、オープンフローインタフェース140を備えている。オープンフローにおいては、どのようにネットワークを制御するかに関して、あらかじめ特定の規定をしているのではなく、ユーザが、オープンフローインタフェース140を用いて、ネットワークを制御するための任意のネットワーク制御アプリケーションを自由に実装することができる。
 ここで、本実施例におけるトラフィック管理システム80においては、ネットワーク制御アプリケーションとして、図1の論理スイッチ管理システム6の場合と同様の機能を有する、論理スイッチ管理部60と、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62と、を、オープンフローインタフェース140を用いてユーザが任意に定義した形態で実装する。ただし、その際に、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62とは、オープンフローインタフェース140が提供するAPIを用いる。
 オープンフローにおいては、オープンフローコントローラ110と、オープンフローの仕様に対応したスイッチとの間で、セキュアチャネルという、制御用の通信コネクションを張る。オープンフローコントローラ110は、そのために、セキュアチャネル制御部130を備えている。
 オープンフローにおいて、オープンフローコントローラ110と、オープンフローに対応したスイッチと、がセキュアチャネルを通じて接続される際に、オープンフローに対応したスイッチがどのような機能を持っているかについての情報をオープンフローコントローラ110との間で交換する。該情報の中には、オープンフローに対応したスイッチのポート数や、オープンフローに対応したスイッチにおいてフロー管理を行うために備えられているフローテーブルのエントリ数についての情報が含まれる。これによって、オープンフローコントローラ110は、論理スイッチを構成することが可能となる。
 また、オープンフローコントローラ110は、任意のタイミングで、オープンフローに対応したスイッチのフローテーブルの情報を読み出すことができるので、いくつのフローエントリが消費されているかについての情報や、各フローの統計情報を確実に取得することもできる。
 図8は、図7のトラフィック管理システム80に示したオープンフロー対応ネットワークインタフェースコントローラ120の内部構成の一例を示すブロック構成図である。図8に示すオープンフロー対応ネットワークインタフェースコントローラ120は、図2に示したネットワークインタフェースコントローラ5に対して、制御用CPU19と、フローテーブル20と、が追加され、かつ、フォワーディングテーブル12と、ループバックテーブル13と、が除かれているが、その他の部位については、図2のネットワークインタフェースコントローラ5と同一の要素から構成されている。図2のネットワークインタフェースコントローラ5と同一の構成要素については、図2のネットワークインタフェースコントローラ5と同じ符号を付して示しており、ここでの詳細な説明を省略する。
 フローテーブル20は、オープンフローにおける、フロー管理のためのテーブルである。フローテーブル20のフローエントリは、パケットスイッチ10への入力ポート番号と、MACアドレスやIPアドレス、などのネットワークパケットのヘッダに含まれる情報(該ネットワークパケットの識別子)によって定義されるキーと、該キーにマッチするパケット群に属するパケットに対するアクションと、から構成される。なお、該キーは、ワイルドカードを使用することもでき、「MACアドレスやIPアドレスに関わらず、L4ポート番号が80(HTTP(Hyper Text Transfer Protocol)を意味するポート番号)のフロー」という定義の仕方も可能である。また、アクションは、ネットワークパケットの出力先のポートを指定することができるのみならず、ネットワークパケットのヘッダの書き換えや、パケットドロップなどを指定することもできる。なお、パケットスイッチ10は、本実施例においては、フローテーブル20に保持されているアクションに基づいて動作する。
 制御用CPU19は、オープンフロープロトコルを処理し、パケットスイッチ10と、フローテーブル20と、を制御し、オープンフローコントローラ110とのセキュアチャネルを管理するためのオープンフローエージェントを実行する。該オープンフローエージェントは、オープンフローの仕様に基づく、オープンフローコントローラ110とのメッセージの交換や、該メッセージに基づいてフローテーブル20からの情報の読み出しなどを実行する。
 オープンフロー対応ネットワークインタフェースコントローラ120を共有するコンピュータシステム4同士のトラフィックは、次のようにして、検出することができる。
 まず、オープンフローコントローラ110とオープンフロー対応ネットワークインタフェースコントローラ120とが、オープンフロー対応ネットワークインタフェースコントローラ120が備える機能に関する情報を交換する際に、オープンフロー対応ネットワークインタフェースコントローラ120が備えるポートのうち、いずれがコンピュータシステム用インタフェース14であるかを示す情報を含めた情報を交換するように機能を拡張する。かくのごとき拡張は、オープンフローではベンダーエクステンションという形で可能である。これにより、オープンフローコントローラ110は、オープンフロー対応ネットワークインタフェースコントローラ120のどのポートがコンピュータシステム用インタフェース14であるかについての情報を取得することができる。
 次に、オープンフローコントローラ110は、オープンフロー対応ネットワークインタフェースコントローラ120のフローテーブル20に登録されているエントリの情報を取得し、キーに含まれる入力ポートと、アクションに含まれる出力先ポートと、が、共に、コンピュータシステム用インタフェース14であるか否かを判定する。共にコンピュータシステム用インタフェース14であった場合には、そのフローは、オープンフロー対応ネットワークインタフェースコントローラ120を共有するコンピュータシステム4同士のトラフィックであると認識することができる。
 図9は、図7のトラフィック管理システム80に示したオープンフロースイッチ100の内部構成の一例を示すブロック構成図である。図9に示すオープンフロースイッチ100は、図3のネットワークスイッチ7に対して、フローテーブル73と、制御用CPU77と、が追加され、かつ、フォワーディングテーブル72と、パケットスイッチ管理部76と、が除かれている点が異なっているが、その他の部位については、図3のネットワークスイッチ7と同一の要素から構成されている。図3のネットワークスイッチ7と同一の構成要素については、図3のネットワークスイッチ7と同じ符号を付して示しており、ここでの詳細な説明を省略する。
 なお、フローテーブル73と、制御用CPU77と、は、それぞれ、オープンフロー対応ネットワークインタフェースコントローラ120のフローテーブル20と、制御用CPU19と、全く同様の機能を有しており、ここでの重複する詳細な説明を省略する。
 かくのごとく、オープンフローを用いる場合であっても、ネットワークインタフェースコントローラ5を共有するコンピュータシステム4同士のトラフィックを管理することが可能となる。
 本発明によれば、データセンタのような、ネットワークインタフェースコントローラを備えたサーバが多数用いられる環境において、論理スイッチ構成することにより、ネットワークインタフェースコントローラとネットワークスイッチとを一纏めにまとめてトラフィックを管理するといった用途に好適に適用することができる。
 以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
 この出願は、2013年10月7日に出願された日本出願特願2013-209858を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1    ネットワークインタフェースコントローラ
 3    I/Oスイッチ
 4    コンピュータシステム
 4a   コンピュータシステム
 4b   コンピュータシステム
 5    ネットワークインタフェースコントローラ
 6    論理スイッチ管理システム
 7    ネットワークスイッチ
 8    トラフィック管理システム
 10   パケットスイッチ
 12   フォワーディングテーブル
 13   ループバックテーブル
 14   コンピュータシステム用インタフェース
 16   外部ネットワーク用ポート
 17   管理インタフェース
 18   PCI-Expressインタフェース
 19   制御用CPU
 20   フローテーブル
 40   CPU
 42   メモリ
 44   I/Oインタフェース
 60   論理スイッチ管理部
 62   ネットワークスイッチ管理部
 64   ネットワークインタフェースコントローラ管理部
 70   パケットスイッチ
 72   フォワーディングテーブル
 73   フローテーブル
 74   ネットワークポート
 76   パケットスイッチ管理部
 77   制御用CPU
 78   管理インタフェース
 80   トラフィック管理システム
 100  オープンフロースイッチ
 110  オープンフローコントローラ
 120  オープンフロー対応ネットワークインタフェースコントローラ
 130  セキュアチャネル制御部
 140  オープンフローインタフェース
 600  ネットワークスイッチ管理部インタフェース
 610  ネットワークインタフェースコントローラ管理部インタフェース
 620  論理スイッチフォワーディングテーブル管理部
 630  論理スイッチポート管理部
 640  接続情報管理部
 650  マッピング情報管理部
 660  論理スイッチ管理インタフェース

Claims (10)

  1.  1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを備えるとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチとから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備えていることを特徴とするトラフィック管理システム。
  2.  前記ネットワークインタフェースコントローラは、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットの出力先を保持するフォワーディングテーブルと、前記フォワーディングテーブルが保持する出力先に基づいて、入力された前記パケットを出力先とされる前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに出力するパケットスイッチと、前記コンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するループバックテーブルと、前記ループバックテーブルが保持する情報を前記論理スイッチ管理システムから取得するための管理インタフェースと、を少なくとも備えることを特徴とする請求項1に記載のトラフィック管理システム。
  3.  前記ネットワークインタフェースコントローラは、パケットが入力された際に、前記フォワーディングテーブルを参照し、前記パケットが入力されたポートとパケットを出力するポートとが共に前記コンピュータシステム用インタフェースであると判定した場合、入力された前記パケットから抽出したトラフィックの識別情報に基づいて前記ループバックテーブルに該当するエントリが存在するか否かを判定し、該当するエントリが存在する場合には、前記ループバックテーブルの該当する当該エントリの統計情報を更新し、一方、該当するエントリが存在しない場合には、前記ループバックテーブルに前記パケットから抽出したトラフィックの識別情報をキーとしたエントリを新たに追加することを特徴とする請求項2に記載のトラフィック管理システム。
  4.  前記ネットワークインタフェースコントローラは、オープンフローに対応するコントローラであった場合、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケット群の識別子と、前記パケット群に属する各パケットに対して実行するアクションとを組として保持するフローテーブルと、前記フローテーブルの保持するアクションに基づいて、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットを、指定された前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに対して出力するパケットスイッチと、オープンフロープロトコルを処理するための制御用CPU(Central Processing Unit)と、オープンフローの管理を行うオープンフローコントローラとの間でメッセージを交換する管理インタフェースと、を少なくとも備えるオープンフロー対応ネットワークインタフェースコントローラとして構成することを特徴とする請求項1に記載のトラフィック管理システム。
  5.  前記論理スイッチ管理システムは、前記ネットワークスイッチが、外部ネットワークへ入出力するために備えているネットワークポートの識別子およびネットワークポート数に関する情報と、フローの識別情報および統計情報を管理するために備えているフォワーディングテーブルのエントリ数とに関する情報と、を前記ネットワークスイッチから当該ネットワークスイッチの構成情報として取得するネットワークスイッチ管理手段と、前記ネットワークインタフェースコントローラが、前記コンピュータシステムとの間を接続するコンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するために備えているループバックテーブルのエントリ数に関する情報と、1つ以上のコンピュータシステムから共有するために備えているコンピュータシステム用インタフェース数に関する情報と、を前記ネットワークインタフェースコントローラから当該ネットワークインタフェースコントローラの構成情報として取得するネットワークインタフェースコントローラ管理手段と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとの間のどのインタフェースが接続されているかを示す接続情報を保持する接続情報管理手段と、取得した前記ネットワークスイッチの前記フォワーディングテーブルのエントリ数の情報と、取得した前記ネットワークインタフェースコントローラの前記ループバックテーブルのエントリ数の情報と、から、論理スイッチのフォワーディングテーブルのエントリ数を求め、論理フォワーディングテーブルを構成する論理スイッチフォワーディングテーブル管理手段と、取得した前記ネットワークスイッチのネットワークへの前記ネットワークポート数に関する情報と、取得した前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェース数に関する情報と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとのどのインタフェースが接続されているかを示す前記接続情報と、から、論理スイッチのポート数を求めて管理する論理スイッチポート管理手段と、前記論理スイッチのポートと、前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェースと、前記ネットワークスイッチの前記ネットワークポートと、の対応を管理する論理スイッチ管理手段と、を少なくとも備えることを特徴とする請求項1ないし4のいずれかに記載のトラフィック管理システム。
  6.  任意のタイミングで、前記ネットワークインタフェースコントローラから、前記ループバックテーブルに登録されているエントリの情報を読み出し、かつ、前記ネットワークスイッチから、前記フォワーディングテーブルに登録されているエントリの情報を読み出して、読み出した前記ループバックテーブルに登録されているエントリの情報と、前記フォワーディングテーブルに登録されているエントリの情報と、を、前記論理フォワーディングテーブルの該当するエントリに登録することを特徴とする請求項5に記載のトラフィック管理システム。
  7.  前記論理スイッチ管理システムは、オープンフローに対応するシステムであった場合、ネットワークを制御するための任意のネットワーク制御アプリケーションをユーザが実装することができるオープンフローインタフェースをさらに備え、請求項4に記載のオープンフロー対応ネットワークインタフェースコントローラから取得した前記コンピュータシステム用インタフェースに関する情報に含まれる、前記コンピュータシステム用インタフェースであることを示す情報と、請求項4に記載のオープンフロー対応ネットワークインタフェースコントローラから取得した前記フローテーブルに保持されているエントリの情報と、から、前記エントリに記載されている入力ポートと出力ポートとが共に前記コンピュータシステム用インタフェースであるか否かを判定し、共に前記コンピュータシステム用インタフェースであった場合には前記ネットワークインタフェースコントローラを共有するコンピュータシステム同士のトラフィックであることを検出することを特徴とする請求項4ないし6のいずれかに記載のトラフィック管理システム。
  8.  1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを有するとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチとから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを有していることを特徴とするトラフィック管理方法。
  9.  前記ネットワークインタフェースコントローラは、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットの出力先を保持するフォワーディングテーブルと、前記フォワーディングテーブルが保持する出力先に基づいて、入力された前記パケットを出力先とされる前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに出力するパケットスイッチングステップと、前記コンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するループバックテーブルと、前記ループバックテーブルが保持する情報を前記論理スイッチ管理システムから取得するための管理ステップと、を少なくとも有することを特徴とする請求項8に記載のトラフィック管理方法。
  10.  前記論理スイッチ管理システムは、前記ネットワークスイッチが、外部ネットワークへ入出力するために備えているネットワークポートの識別子およびネットワークポート数に関する情報と、フローの識別情報および統計情報を管理するために備えているフォワーディングテーブルのエントリ数とに関する情報と、を前記ネットワークスイッチから当該ネットワークスイッチの構成情報として取得するネットワークスイッチ管理ステップと、前記ネットワークインタフェースコントローラが、前記コンピュータシステムとの間を接続するコンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するために備えているループバックテーブルのエントリ数に関する情報と、1つ以上のコンピュータシステムから共有するために備えているコンピュータシステム用インタフェース数に関する情報と、を前記ネットワークインタフェースコントローラから当該ネットワークインタフェースコントローラの構成情報として取得するネットワークインタフェースコントローラ管理ステップと、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとの間のどのインタフェースが接続されているかを示す接続情報を保持する接続情報管理ステップと、取得した前記ネットワークスイッチの前記フォワーディングテーブルのエントリ数の情報と、取得した前記ネットワークインタフェースコントローラの前記ループバックテーブルのエントリ数の情報と、から、論理スイッチのフォワーディングテーブルのエントリ数を求め、論理フォワーディングテーブルを構成する論理スイッチフォワーディングテーブル管理ステップと、取得した前記ネットワークスイッチのネットワークへの前記ネットワークポート数に関する情報と、取得した前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェース数に関する情報と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとのどのインタフェースが接続されているかを示す前記接続情報と、から、論理スイッチのポート数を求めて管理する論理スイッチポート管理ステップと、前記論理スイッチのポートと、前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェースと、前記ネットワークスイッチの前記ネットワークポートと、の対応を管理する論理スイッチ管理ステップと、を少なくとも有することを特徴とする請求項8または9に記載のトラフィック管理方法。
PCT/JP2014/002247 2013-10-07 2014-04-22 トラフィック管理システムおよびトラフィック管理方法 WO2015052854A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015541415A JPWO2015052854A1 (ja) 2013-10-07 2014-04-22 トラフィック管理システムおよびトラフィック管理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-209858 2013-10-07
JP2013209858 2013-10-07

Publications (1)

Publication Number Publication Date
WO2015052854A1 true WO2015052854A1 (ja) 2015-04-16

Family

ID=52812696

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/002247 WO2015052854A1 (ja) 2013-10-07 2014-04-22 トラフィック管理システムおよびトラフィック管理方法

Country Status (2)

Country Link
JP (1) JPWO2015052854A1 (ja)
WO (1) WO2015052854A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017164219A1 (ja) * 2016-03-24 2017-09-28 日本電気株式会社 統計情報管理装置、通信システム、統計情報管理方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139170A1 (ja) * 2008-05-16 2009-11-19 パナソニック株式会社 攻撃パケット検知装置、攻撃パケット検知方法、映像受信装置、コンテンツ記録装置、およびip通信装置
JP2009296158A (ja) * 2008-06-03 2009-12-17 Alaxala Networks Corp 通信データ統計装置および通信データ統計方法
US20110032944A1 (en) * 2009-08-06 2011-02-10 Uri Elzur Method and System for Switching in a Virtualized Platform
US20110103389A1 (en) * 2009-11-03 2011-05-05 Blade Network Technologies, Inc. Method and apparatus for switching traffic between virtual machines
WO2012114398A1 (en) * 2011-02-24 2012-08-30 Nec Corporation Network system, controller, and flow control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139170A1 (ja) * 2008-05-16 2009-11-19 パナソニック株式会社 攻撃パケット検知装置、攻撃パケット検知方法、映像受信装置、コンテンツ記録装置、およびip通信装置
JP2009296158A (ja) * 2008-06-03 2009-12-17 Alaxala Networks Corp 通信データ統計装置および通信データ統計方法
US20110032944A1 (en) * 2009-08-06 2011-02-10 Uri Elzur Method and System for Switching in a Virtualized Platform
US20110103389A1 (en) * 2009-11-03 2011-05-05 Blade Network Technologies, Inc. Method and apparatus for switching traffic between virtual machines
WO2012114398A1 (en) * 2011-02-24 2012-08-30 Nec Corporation Network system, controller, and flow control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017164219A1 (ja) * 2016-03-24 2017-09-28 日本電気株式会社 統計情報管理装置、通信システム、統計情報管理方法およびプログラム

Also Published As

Publication number Publication date
JPWO2015052854A1 (ja) 2017-03-09

Similar Documents

Publication Publication Date Title
US9311120B2 (en) Method and system for virtual machine networking
JP5360607B2 (ja) Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
US8750106B2 (en) Interface control system and interface control method
US8856419B2 (en) Register access in distributed virtual bridge environment
US8571408B2 (en) Hardware accelerated data frame forwarding
US7082138B2 (en) Internal communication protocol for data switching equipment
TW201933837A (zh) 虛擬網路隧道內流量資料擷取方法與系統
US8493850B2 (en) Communication apparatus and frame transmission method
US10050906B2 (en) Virtual node having separate control and data planes
US20190266116A1 (en) Network controller - sideband interface port controller
US8989194B1 (en) Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network
US20160134559A1 (en) Network controller-sideband interface port controller
US9385951B2 (en) Apparatus and method for controlling packet transfer based on registered destination information
KR101934908B1 (ko) Sdn 기반의 통합 라우팅에 의한 피씨 전원 제어 방법
WO2014064976A1 (ja) ネットワーク機器、制御方法、及びプログラム
US9755892B2 (en) Integrated device managment over Ethernet network
CN104471538B (zh) 一种数据流处理方法、设备和系统
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
WO2015052854A1 (ja) トラフィック管理システムおよびトラフィック管理方法
US20050125523A1 (en) Methodology for remote HBA management using message encapsulation
US11533277B2 (en) Method and system for virtual channel remapping
KR20180040963A (ko) Sdn 기반의 통합 라우팅 방법 및 멀티 테넌트 지원 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015541415

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14851670

Country of ref document: EP

Kind code of ref document: A1