WO2011049135A1 - ネットワークシステムとその制御方法、及びコントローラ - Google Patents
ネットワークシステムとその制御方法、及びコントローラ Download PDFInfo
- Publication number
- WO2011049135A1 WO2011049135A1 PCT/JP2010/068504 JP2010068504W WO2011049135A1 WO 2011049135 A1 WO2011049135 A1 WO 2011049135A1 JP 2010068504 W JP2010068504 W JP 2010068504W WO 2011049135 A1 WO2011049135 A1 WO 2011049135A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- relay processing
- processing devices
- network
- switch
- server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Definitions
- the present invention relates to a network system and a control method thereof.
- Non-Patent Document 1 realizes total load distribution in an unstructured network such as an enterprise network by considering a network congestion state and a server load state.
- Japanese Patent Application Laid-Open No. 2005-64882 discloses a higher layer processing system.
- a packet distribution device is provided in the preceding stage of the higher layer processing device group.
- the packet distribution device distributes the packets to a plurality of higher layer processing devices based on the information of L3 or less of the received packet.
- the packet distribution device incorporates the hash value into the received packet and transmits the packet to the higher layer processing device.
- the higher layer processing apparatus receives the packet and notifies the packet distribution apparatus of the fact when there is a possibility of congestion. In this case, the packet distribution device selects another higher layer processing device. This prevents load concentration on a specific higher layer processing apparatus.
- a packet distribution device is provided in the preceding stage of a plurality of higher layer processing devices, thereby suppressing load concentration on a specific higher layer processing device.
- the packet distribution device itself becomes a bottleneck. Therefore, it is preferable to ensure the scalability of the packet distribution device itself.
- devices such as a load balancer (load balancer) and a firewall are not limited to packet distribution devices, and are hereinafter referred to as “relay processing devices”.
- One object of the present invention is to easily ensure scalability of a relay processing device in a network system.
- a network system in one aspect of the present invention, includes a plurality of servers connected to the network, a plurality of relay processing devices connected to the network, a plurality of switches arranged in the network, and a controller that controls the plurality of switches.
- Each of the plurality of servers is assigned to at least one of the plurality of relay processing devices.
- Each of the plurality of relay processing devices performs a predetermined process on the packet to the server assigned to itself.
- Each of the plurality of switches has a flow table showing the correspondence between the input source of the packet and the transfer destination for each flow, and transfers the packet received from the input source to the transfer destination by referring to the flow table.
- the controller includes a storage unit, a route design unit, and a switch setting unit.
- the storage unit includes a plurality of servers, a plurality of relay processing devices, network configuration information indicating a connection state between the plurality of switches, allocation information indicating an allocation relationship between the plurality of servers and the plurality of relay processing devices, Is stored.
- the route design unit designs a flow route from the request source switch to the destination address in response to a request from the request source switch among the plurality of switches. Specifically, the route design unit refers to the assignment information and selects any one of the relay processing devices assigned to the server specified by the destination address as a target. Then, the route design unit refers to the network configuration information and designs the route so as to include the selected target.
- the switch setting unit instructs each switch on the design path to set the flow table so that the packet of the flow is transferred along the design path.
- a controller for controlling a plurality of switches arranged in a network is provided.
- a plurality of servers and a plurality of relay processing devices are connected to the network.
- Each of the plurality of servers is assigned to at least one of the plurality of relay processing devices.
- Each of the plurality of relay processing devices performs a predetermined process on the packet to the server assigned to itself.
- Each of the plurality of switches has a flow table showing the correspondence between the input source of the packet and the transfer destination for each flow, and transfers the packet received from the input source to the transfer destination by referring to the flow table.
- the controller includes a storage unit, a route design unit, and a switch setting unit.
- the storage unit includes a plurality of servers, a plurality of relay processing devices, network configuration information indicating a connection state between the plurality of switches, allocation information indicating an allocation relationship between the plurality of servers and the plurality of relay processing devices, Is stored.
- the route design unit designs a flow route from the request source switch to the destination address in response to a request from the request source switch among the plurality of switches. Specifically, the route design unit refers to the assignment information and selects any one of the relay processing devices assigned to the server specified by the destination address as a target. Then, the route design unit refers to the network configuration information and designs the route so as to include the selected target.
- the switch setting unit instructs each switch on the design path to set the flow table so that the packet of the flow is transferred along the design path.
- a network system control method in still another aspect of the present invention, includes a plurality of servers connected to the network, a plurality of relay processing devices connected to the network, and a plurality of switches arranged in the network.
- Each of the plurality of servers is assigned to at least one of the plurality of relay processing devices.
- Each of the plurality of relay processing devices performs a predetermined process on the packet to the server assigned to itself.
- Each of the plurality of switches has a flow table showing the correspondence between the input source of the packet and the transfer destination for each flow, and transfers the packet received from the input source to the transfer destination by referring to the flow table.
- the control method includes: (A) a step of designing a flow path from the request source switch to the destination address in response to a request from the request source switch among a plurality of switches; and (B) each switch on the design path. And instructing to set the flow table so that the packets of the flow are transferred along the design path.
- the path design step includes (A1) a step of reading network configuration information and allocation information from a storage device, and the network configuration information includes a plurality of servers, a plurality of relay processing devices, and a plurality of switches.
- the allocation information indicates the allocation relationship between the plurality of servers and the plurality of relay processing devices, and (A2) the relay allocated to the server specified by the destination address with reference to the allocation information Selecting any one of the processing devices as a target, and (A3) referencing the network configuration information and designing a path to include the selected target.
- FIG. 1 is a block diagram showing a configuration example of a network system according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a configuration example of the switch according to the embodiment of the present invention.
- FIG. 3 is a conceptual diagram showing a flow table in the embodiment of the present invention.
- FIG. 4 is a flowchart showing the operation of the network system according to the embodiment of the present invention.
- FIG. 5A is a block diagram illustrating a hardware configuration example of the controller according to the embodiment of the present invention.
- FIG. 5B is a functional block diagram showing a functional configuration of the controller according to the embodiment of the present invention.
- FIG. 6 is a conceptual diagram showing allocation information in the embodiment of the present invention.
- FIG. 1 is a block diagram showing a configuration example of a network system according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a configuration example of the switch according to the embodiment of the present invention.
- FIG. 3 is a conceptual diagram showing
- FIG. 7 is a flowchart showing the process of step S110 (route design) in the embodiment of the present invention.
- FIG. 8 is a flowchart showing the process of step S140 in the embodiment of the present invention.
- FIG. 9 is a flowchart showing the process of step S150 in the embodiment of the present invention.
- FIG. 10 is a flowchart showing the process of step S160 in the embodiment of the present invention.
- FIG. 11 is a flowchart showing the process of step S170 in the embodiment of the present invention.
- FIG. 12 shows the configuration of the network system in the first example.
- FIG. 13 shows a logical configuration of the network system in the first example.
- FIG. 14 shows allocation information in the first example.
- FIG. 15 shows the configuration of the network system in the second example.
- FIG. 16 shows a logical configuration of the network system in the second example.
- FIG. 17 shows allocation information in the second example.
- FIG. 1 is a block diagram illustrating a configuration example of a network system 1 according to the present embodiment.
- the network system 1 includes a plurality of switches 10, a plurality of relay processing devices 20, a plurality of servers 30, and a controller 100.
- the relay processing device 20 and the server 30 are connected to the network via the switch 10.
- the relay processing device 20 is a dedicated device for processing a flow addressed to the server 30.
- Examples of the relay processing device 20 include network appliances such as a load balancer (load distribution device) and a firewall.
- the network appliance is realized by dedicated hardware or by installing software on a general-purpose server. Alternatively, the network appliance may be realized by installing software in a virtual machine (Virtual Machine) on a general-purpose server (referred to as a virtual appliance).
- a plurality of relay processing devices 20 are provided to ensure scalability of the relay processing device 20.
- the plurality of relay processing devices 20 and the plurality of servers 30 are associated with each other.
- Each server 30 is assigned to at least one of the plurality of relay processing devices 20, and each relay processing device 20 is assigned to at least one of the plurality of servers 30.
- Each relay processing device 20 executes predetermined processing (processing as a load balancer, processing as a firewall, etc.) on a packet of a flow to the server 30 assigned to itself.
- each management device notifies the controller 100 of identification information of the relay processing device 20 and the server 30 in response to a request from the controller 100.
- the plurality of switches 10 are distributed in the network.
- the switches 10 are connected by links (lines), and a plurality of switches 10 constitute a switch network.
- This switch network is interposed between the external network and the relay processing device 20 and the server 30 and between the relay processing device 20 and the server 30.
- Each switch 10 has a function of transferring a received packet to a designated transfer destination.
- the controller 100 performs the designation.
- the controller 100 is connected to the switch 10 via the control line 5 and has a function of controlling each switch 10 via the control line 5.
- FIG. 2 shows a configuration example of the switch 10.
- the switch 10 includes a switch processing unit 11, a controller communication unit 12, a storage unit 13, and a plurality of ports 15.
- the port 15 to which a packet is input from the outside is an input port, and the port 15 from which the packet is output to the outside is an output port.
- the switch processing unit 11 performs main processing of the switch such as packet transfer from the input port to the output port.
- the controller communication unit 12 is connected to the controller 100 via the control line 5 and communicates with the controller 100.
- the storage unit 13 stores a flow table (transfer table) TBL.
- This flow table TBL shows the correspondence between the packet input source (input port) and transfer destination (output port) for each flow.
- the switch processing unit 11 can transfer the packet received from the input port to the designated output port by referring to the flow table TBL stored in the storage unit 13. More details are as follows.
- FIG. 3 is a conceptual diagram showing the flow table TBL.
- the flow table TBL has a different entry for each flow.
- One entry indicates a correspondence relationship between an input port, header information, an output port, and an action.
- the header information is information obtained from the packet header such as a destination MAC address, a source MAC address, a destination IP address, a source IP address, and the like. By using this header information, the flow can be identified.
- the action indicates the processing content (transfer, delete, etc.) for the received packet.
- FIG. 4 is a flowchart showing the operation of the network system 1 according to the present embodiment.
- the switch 10 receives a packet of a certain flow (step S11). Specifically, the switch processing unit 11 receives a packet through the input port. When receiving a packet from the input port, the switch processing unit 11 extracts header information of the received packet. Then, the switch processing unit 11 searches the flow table TBL using the extracted header information and input port as search keys (step S12). If there is an entry that matches the search key (step S13; Yes), the switch processing unit 11 executes the action indicated in the corresponding entry (step S14). Typically, the switch processing unit 11 outputs the received packet to the output port indicated by the corresponding entry.
- step S13 when there is no entry matching the search key in the flow table TBL (step S13; No), this means that the switch 10 has received the packet of the flow for the first time.
- the switch processing unit 11 requests the controller 100 to set the packet transfer path of the flow. Specifically, the switch processing unit 11 transmits a received packet (or header information of the received packet) to the controller 100 via the controller communication unit 12 (Step S15).
- the switch 10 that has transmitted this route setting request to the controller 100 is hereinafter referred to as a “request source switch”.
- the controller 100 receives a route setting request (packet or header information) from the request source switch. In response to this route setting request, the controller 100 designs the route of the flow (step S110). More specifically, the controller 100 extracts the destination address of the packet from the route setting request, and designs (determines) the route from the request source switch to the destination address. At this time, the controller 100 according to the present embodiment selects an optimal one from the plurality of relay processing devices 20 and designs a flow path so as to pass through the optimal relay processing device 20. Details will be described later (see Section 2).
- the controller 100 instructs the switch 10 (including the request source switch) on the design path to realize flow communication along the design path (step S120). Specifically, the controller 100 instructs each switch 10 on the design path to reflect the design path in the flow table TBL. That is, the controller 100 instructs each switch 10 on the design path to set the flow table TBL so that the packet of the flow is transferred along the design path. In response to this instruction, each switch 10 on the design path adds an entry related to the flow to its own flow table TBL.
- the controller 100 After setting the flow table TBL, the controller 100 returns the received packet to the request source switch (step S130). Thereafter, when each switch 10 on the design path receives the packet of the flow, the switch 10 can transfer the packet along the specified path.
- the controller 100 determines the flow path and controls the switch 10 in the network so that communication along the flow path is realized. That is, the controller 100 can appropriately control network communication by controlling the switch 10.
- An example of an interface method between the controller 100 and the switch 10 for realizing such processing is Openflow (see http://www.openflowswitch.org/).
- Openflow Controller is the controller 100
- Openflow Switch is each switch 10.
- the flow table TBL of each switch 10 can be set by using “Secure Channel” of Openflow.
- the network system 1 is applied to, for example, a data center.
- a server group is accommodated in a rack in a data center.
- all servers in the rack or virtual machines in the server belong to the same tenant.
- a plurality of tenant environments can be mixed in the rack.
- a virtual network is multiplexed on the physical network by a network virtualization technology such as VLAN. Then, connection management of the relay processing device and the server is performed in each virtual network.
- FIG. 5A is a block diagram illustrating a hardware configuration example of the controller 100.
- the controller 100 is a computer including a CPU (Central Processing Unit) 101, a memory 102, a secondary storage device 103, a network interface 104, and the like.
- CPU Central Processing Unit
- FIG. 5B is a functional block diagram showing a functional configuration of the controller 100.
- the controller 100 includes a route design unit 110, a switch setting unit 120, a switch communication unit 130, an assignment management unit 140, a management interface 150, and a storage unit 160.
- the route design unit 110 executes the above-described step S110 (route design).
- the switch setting unit 120 executes the above-described step S120 (switch setting).
- the switch communication unit 130 is connected to each switch 10 via the control line 5 and communicates with each switch 10.
- the allocation management unit 140 executes an allocation management process (steps S140, S150, S160, and S170) described later.
- the management interface 150 communicates with the relay processing device 20 and the management device of the server 30.
- the switch communication unit 130 and the management interface 150 correspond to the network interface 104 in FIG. 5A.
- the route design unit 110, the switch setting unit 120, the assignment management unit 140, and the like are realized by the CPU 101 executing a computer program. This computer program may be recorded on a computer-readable recording medium.
- the storage unit 160 is a storage device such as a RAM (Random Access Memory) or an HDD (Hard Disk Drive), and corresponds to the memory 102 and the secondary storage device 103 in FIG. 5A.
- the storage unit 160 stores network configuration information TPL, load information LAD, link information LNK, design route information RTE, policy information POL, allocation information ASN, and the like.
- the network configuration information TPL indicates the physical configuration and logical configuration of the network. That is, the network configuration information TPL indicates a connection state (topology) between the plurality of servers 30, the plurality of relay processing devices 20, and the plurality of switches 10. For example, the network configuration information TPL indicates to which port 15 of which switch 10 each server 30 is connected, to which port 15 of which switch 10 each relay processing apparatus 20 is connected.
- the load information LAD indicates the load of each relay processing device 20.
- the load on each relay processing device 20 is measured by each relay processing device 20.
- the controller 100 acquires information on the measured load through the management device of the relay processing device 20.
- the link information LNK indicates the state of a link (line) in the network.
- the link state includes a link capacity (communication capability) and a congestion state.
- the link capacity is predetermined.
- the congestion state is measured by each switch 10 and notified to the controller 100.
- the link here includes not only a physical line but also a virtual link obtained by dividing the physical line. In this case, the communication capability between the switches is defined by the bandwidth of the virtual link.
- Design route information RTE is information created as a result of step S110, and indicates a transfer route of a packet of a certain flow.
- Policy information POL indicates the policy of the relay processing device 20 (load balancer, firewall). This policy information POL is used for policy setting in the relay processing device 20.
- Allocation information ASN indicates an allocation relationship between a plurality of servers 30 and a plurality of relay processing devices 20. Each server 30 is assigned to at least one of the plurality of relay processing devices 20, and each relay processing device 20 is assigned to at least one of the plurality of servers 30.
- FIG. 6 is a conceptual diagram showing the allocation information ASN.
- the assignment information ASN indicates the identification information of each relay processing device 20 and the identification information and IP address of the server 30 assigned to each relay processing device 20.
- step S110 Route design (step S110) and switch setting (step S120)
- step S110 the route design unit 110 receives a route setting request (packet or header information) from the request source switch.
- the route design unit 110 designs a flow route from the request source switch to the destination.
- Step S111 The route design unit 110 extracts the destination IP address of the packet from the received route setting request. Subsequently, the route design unit 110 refers to the allocation information ASN stored in the storage unit 160 and extracts the relay processing device 20 associated with the destination IP address. That is, the route design unit 110 extracts the relay processing device 20 assigned to the server specified by the destination IP address by referring to the assignment information ASN.
- Step S113 When the extraction number is 1, that is, when the destination IP address is assigned only to the single relay processing device 20 (step S112; Yes), the path design unit 110 designates the single relay processing device 20 as “ Select as “Target”.
- Step S114 When the number of extractions is plural, that is, when the destination IP address is assigned to two or more relay processing devices 20 (step S112; No), the route design unit 110 selects any one of the relay processing devices 20. As the “target”. In selecting this target, the route design unit 110 considers communication efficiency and load distribution of the relay processing device 20. Therefore, the route design unit 110 refers to the link information LINK and / or the load information LAD stored in the storage unit 160. Then, the route design unit 110 selects one optimal relay processing device 20 as a target from the viewpoint of communication efficiency and load distribution.
- Step S115 The route design unit 110 refers to the network configuration information TPL and designs a packet transfer route from the request source switch to the destination address. At this time, the route design unit 110 designs (determines) the route so as to pass the above-described selected target.
- Step S116 The route design unit 110 creates design route information RTE indicating the designed route, and stores the design route design information RTE in the storage unit 160.
- the switch setting unit 120 refers to the design route information RTE stored in the storage unit 160 and executes Step S120. Specifically, the switch setting unit 120 instructs each switch 10 on the design path to set the flow table TBL so that the packet of the flow is transferred along the design path. In response to this instruction, each switch 10 on the design path adds an entry related to the flow to its own flow table TBL.
- a plurality of relay processing devices 20 are provided in order to ensure the scalability of the relay processing device 20. Further, a plurality of switches 10 are provided in front of the plurality of relay processing devices 20.
- the controller 100 selects an appropriate one corresponding to the destination from the plurality of relay processing devices 20 as a target, and designs a route so as to pass through the target.
- former stage of the relay processing apparatus 20 is controlled so that a packet may be transferred along a design path
- the scalability of the relay processing device 20 can be easily ensured.
- Allocation management For example, when a server 30 or a relay processing device 20 is newly added, the network configuration changes. In response to such a change in the network configuration, the allocation management unit 140 of the controller 100 updates the allocation information ASN.
- Step S140 Server addition
- a process (step S140) when a new server is additionally registered in the network will be described.
- new servers are added to scale out the servers in the network system.
- Step S141 The allocation management unit 140 acquires new server information from the management device of the server 30 or the setting information file of the server 30. Further, server search processing or the like is performed to acquire connection destination information (which switch is connected to which port) of the new server.
- Step S142 The allocation management unit 140 determines the relay processing device 20 in charge of the new server based on the network configuration information TPL (logical network connection relationship), the connection destination information, and the new server information. At this time, the assignment management unit 140 selects the relay processing device 20 having a function necessary for the new server. For example, when a load balancer is required for a new server, the allocation management unit 140 selects the relay processing device 20 having a load balancer function.
- TPL logical network connection relationship
- the allocation management unit 140 selects the relay processing device 20 having a load balancer function.
- Step S143 The allocation management unit 140 registers new server information in the relay processing device 20 selected in step S142.
- the new server information may be registered in a plurality of relay processing devices 20.
- the relay processing device 20 is a load balancer, the new server information is added to the load balance group.
- the relay processing device 20 is a firewall, it is not necessary to explicitly register subsequent server information in the firewall, but the controller 100 holds information on servers that may be transferred via the relay processing device. deep.
- Step S144 The allocation management unit 140 updates the allocation information ASN.
- Step S150 Server deletion
- Step S151 The assignment management unit 140 acquires the deleted server information from the management device of the server 30 or the setting information file of the server 30.
- Step S152 The allocation management unit 140 refers to the allocation information ASN and recognizes the relay processing device 20 allocated to the deletion server.
- Step S153 The assignment management unit 140 deletes the server information from the relay processing device 20 obtained in step S152.
- Step S154 The allocation management unit 140 updates the allocation information ASN.
- Step S160 Addition of relay processing device
- a new relay processing device is typically added when the performance of the relay processing device 20 becomes insufficient or when the relay route to the server 30 is congested.
- Step S161 The assignment management unit 140 is connected to the identification information (function, address, etc.) of the new relay processing device and connection destination information (which port of which switch is connected) from the management device of the relay processing device 20 or the setting information file of the relay processing device 20. Taka).
- Step S162 Based on the identification information and connection destination information of the new relay processing device, the allocation management unit 140 selects a server whose responsibility is changed to the new relay processing device from among the servers that the existing relay processing device 20 is responsible for.
- Step S163 The assignment management unit 140 registers the server information of the server selected in step S162 in the new relay processing device.
- Step S164 The allocation management unit 140 updates the allocation information ASN.
- Step S170 Change the number of assigned servers
- Step S171 The relay processing device 20 measures its own load and notifies the controller 100 of the measured load via the management device.
- a load information collection unit (not shown) of the controller 100 may collect measured load information from each relay processing device 20.
- the allocation management unit 140 stores the above-described load information LAD indicating the load of each relay processing device 20 in the storage unit 160.
- Step S172 The allocation management unit 140 refers to the load information LAD and compares the measured load of each relay processing device 20 with a predetermined threshold value. If the measurement load does not exceed the threshold (step S172; No), the process ends.
- Step S173 On the other hand, if the measurement load related to a certain relay processing device 20 (the transfer source relay processing device) exceeds the threshold (step S172; Yes), the allocation management unit 140 determines whether there is room in other relay processing devices 20. Investigate. When there is another relay processing device 20 with a margin (step S173; Yes), the allocation management unit 140 sets the relay processing device 20 as a transfer destination relay processing device.
- Step S174 On the other hand, when there is no other relay processing device 20 with a margin (step S173; No), a new relay processing device is added as in step S160. In this case, the allocation management unit 140 sets the new relay processing device as the transfer destination relay processing device.
- Step S175 The allocation management unit 140 selects a server whose responsibility is changed to the transfer destination relay processing device from among the servers that were in charge of the transfer processing relay processing device. Then, the assignment management unit 140 deletes the server information of the selected server from the transfer source relay processing device and registers it in the transfer destination relay processing device.
- Step S176 The allocation management unit 140 updates the allocation information ASN. In this way, the number of servers allocated to each relay processing device 20 can be increased or decreased according to the load on each relay processing device 20. Thereby, the resources of the relay processing device 20 can be used efficiently.
- FIG. 12 shows the configuration of the network system 1 in the first example.
- FIG. 13 shows a logical configuration of the network system 1 in the first example.
- FIG. 14 shows allocation information ASN in the first example.
- the relay processing device 20 is a load balancer LB.
- the first load balancer LB1 is connected to the switch 10-1
- the second load balancer LB2 is connected to the switch 10-2.
- Twenty servers SV1-1 to SV1-20 are assigned to the first load balancer LB1, and the first load balancer LB1 performs load distribution to the servers SV1-1 to SV1-20.
- Ten servers SV2-1 to SV2-10 are assigned to the second load balancer LB2, and the second load balancer LB2 performs load distribution to the servers SV2-1 to SV2-10.
- the virtual IP address of the server group processed by the load balancers LB1 and LB2 is “20.1.1.1” in common.
- each load balancer LB1, LB2 receives a packet whose destination IP address is “20.1.1.1”, it selects one of the subordinate real servers 30 and distributes the received packet to that real server. (Processing is possible even if it is sent to any real server). That is, the destination IP address is common among the plurality of servers SV, and the single destination IP address is associated with the two load balancers LB1 and LB2. This is equivalent to the fact that each server SV is assigned to two load balancers LB1 and LB2.
- step S140 When the new server SV3 is additionally connected to the switch 10-2, the controller 100 acquires server information and connection destination information related to the new server SV3 (step S141). Next, the controller 100 refers to the network configuration including the new server SV3, and incorporates the new server SV3 under the control of the second load balancer LB2 close to the switch 10-2 (step S142). Subsequently, the controller 100 adds the server information of the new server SV3 to the load balance group of the second load balancer LB2 (Step S143). Then, the controller 100 updates the allocation information ASN as shown in FIG. 14 (step S144).
- the new server SV3 may be registered with a small weight in the first load balancer LB1 in parallel. In this case, most of the traffic using the server SV3 is processed by the second load balancer LB2, but when the servers SV1-1 to SV1-20 subordinate to the first load balancer LB1 are overloaded, Processing such as selection is also possible.
- the route design unit 110 selects one of the two load balancers LB1 and LB2 as a target in consideration of communication efficiency and load distribution (step S114). For example, as shown in FIG. 12, the link capacity between the switch 10-1 to which the first load balancer LB1 is connected and the request source switch 10-4 is 1 Gbps, and the second load balancer LB2 Consider a case where the link capacity between the connected switch 10-2 and the request source switch 10-4 is 10 Gbps. The route design unit 110 selects the second load balancer LB2 as a target based on the network configuration information TPL and the link information LNK.
- the route design unit 110 designs a packet transfer route from the request source switch 10-4 to the destination IP address (step S115). At this time, the route design unit 110 determines a route so as to pass through the second load balancer LB2. Thereafter, the switch setting unit 120 instructs each of the switches 10-4 and 10-2 on the design path to set the flow table TBL so that the packet of the flow is transferred along the design path. (Step S120). In response to this instruction, each of the switches 10-4 and 10-2 on the design path adds an entry related to the flow to its own flow table TBL.
- the second load balancer LB2 performs distributed processing on the subordinate servers SV2-1 to 2-10 and SV3.
- FIG. 15 shows the configuration of the network system 1 in the second example.
- FIG. 16 shows a logical configuration of the network system 1 in the second example.
- FIG. 17 shows allocation information ASN in the second example.
- the relay processing device 20 is a firewall FW.
- the firewall FW relays a packet for the individual destination server 30.
- the first firewall FW1 is connected to the switch 10-1
- the second firewall FW2 is connected to the switch 10-2.
- Twenty servers SV1-1 to SV1-20 are assigned to the first firewall FW1, and the first firewall FW1 relays packets to the servers SV1-1 to SV1-20.
- Ten servers SV2-1 to SV2-10 are assigned to the second firewall FW2, and the second firewall FW2 relays packets to the servers SV2-1 to SV2-10.
- the IP addresses of the firewalls FW1 and FW2 are “20.1.1.2”.
- the firewall policy is set in each of the firewalls FW1 and FW2 by the controller 100 in accordance with the policy information POL.
- step S140 When the new server SV3 is additionally connected to the switch 10-2, the controller 100 acquires server information and connection destination information related to the new server SV3 (step S141). Next, the controller 100 refers to the network configuration including the new server SV3, and incorporates the new server SV3 under the second firewall FW2 close to the switch 10-2 (step S142). Then, the controller 100 updates the allocation information ASN as shown in FIG. 17 (step S144).
- connection to the server SV3 is also possible from the first firewall FW1. Most of the traffic using the server SV3 is connected from the second firewall FW2, but when the second firewall FW2 is overloaded, it is also possible to connect to the server SV3 via the first firewall FW1.
- the route design unit 110 designs a packet transfer route from the request source switch 10-4 to the destination IP address (step S115). At this time, the route design unit 110 determines a route so as to pass through the second firewall FW2. Thereafter, the switch setting unit 120 instructs each of the switches 10-4 and 10-2 on the design path to set the flow table TBL so that the packet of the flow is transferred along the design path. (Step S120). In response to this instruction, each of the switches 10-4 and 10-2 on the design path adds an entry related to the flow to its own flow table TBL. The second firewall FW2 relays the packet for the server SV3 specified by the destination IP address.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ネットワークシステムにおいて、各サーバは少なくとも1つの中継処理装置に割り当てられる。また、ネットワーク中には複数のスイッチが配置され、コントローラがそれらスイッチを制御する。具体的には、コントローラは、要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。このとき、コントローラは、サーバと中継処理装置との割り当て関係を示す割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、そのターゲットを含むように経路を設計する。そして、コントローラは、設計経路上の各スイッチに対して、当該設計経路に沿ってパケットが転送されるようにフローテーブルを設定することを指示する。
Description
本発明は、ネットワークシステムとその制御方法に関する。
ネットワークシステムにおいて、負荷分散(load balancing)は重要な課題の1つである。例えば、非特許文献1に記載された技術は、エンタープライズネットワークのような非構造的なネットワークにおいて、ネットワーク輻輳状態とサーバ負荷状態を考慮することによって総合的な負荷分散を実現している。
特許文献1(特開2005-64882号公報)には、高位レイヤ処理システムが開示されている。その高位レイヤ処理システムにおいて、システムのスケーラビリティ確保のため、複数の高位レイヤ処理装置が並列に配置される。それら高位レイヤ処理装置群のリソースを均等に活用するために、高位レイヤ処理装置群の前段にパケット振分装置が設けられる。パケット振分装置は、受信パケットのL3以下の情報に基づいて、複数の高位レイヤ処理装置に対してパケットを振り分ける。具体的には、パケット振分装置は、ハッシュ値を受信パケットに組み込み、そのパケットを高位レイヤ処理装置に送信する。高位レイヤ処理装置は、そのパケットを受け取り、自分が輻輳するおそれがある場合にはその旨をパケット振分装置に通知する。その場合、パケット振分装置は、他の高位レイヤ処理装置を選択する。これにより、特定の高位レイヤ処理装置への負荷集中が防止される。
Nikhil Handigol et al., "Plug-n-Serve: Load-Balancing Web Traffic using OpenFlow", ACM SIGCOMM, 2009, (http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf)
上記特許文献1に記載された技術によれば、複数の高位レイヤ処理装置の前段にパケット振分装置が設けられ、それにより、特定の高位レイヤ処理装置への負荷集中が抑制される。しかしながらこの場合、そのパケット振分装置自体がボトルネックとなる。従って、パケット振分装置自体のスケーラビリティも確保することが好ましい。
より一般的に、パケット振分装置に限らず、ロードバランサ(load balancer;負荷分散装置)やファイアウォール(fire wall)等の装置は、以下「中継処理装置」と参照される。本発明の1つの目的は、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することにある。
本発明の1つの観点において、ネットワークシステムが提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、複数のスイッチを制御するコントローラと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の他の観点において、ネットワーク中に配置された複数のスイッチを制御するコントローラが提供される。ネットワークには複数のサーバと複数の中継処理装置が接続される。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の更に他の観点において、ネットワークシステムの制御方法が提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。制御方法は、(A)複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、(B)設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示するステップと、を含む。(A)経路を設計するステップは、(A1)ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、ネットワーク構成情報は、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示し、割当情報は、複数のサーバと複数の中継処理装置との間の割り当て関係を示し、(A2)割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、(A3)ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計するステップと、を含む。
本発明によれば、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
添付図面を参照して、本発明の実施の形態を説明する。
1.ネットワークシステム
図1は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、複数のスイッチ10、複数の中継処理装置20、複数のサーバ30、及びコントローラ100を備えている。
図1は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、複数のスイッチ10、複数の中継処理装置20、複数のサーバ30、及びコントローラ100を備えている。
中継処理装置20及びサーバ30は、スイッチ10を介してネットワークに接続されている。中継処理装置20は、サーバ30宛のフローを処理するための専用装置である。中継処理装置20としては、ロードバランサ(負荷分散装置)やファイアウォールといったネットワークアプライアンスが例示される。ネットワークアプライアンスは、専用のハードウェアによって、あるいは、汎用サーバにソフトウェアを実装することによって実現される。あるいは、ネットワークアプライアンスは、汎用サーバ上の仮想マシン(Virtual Machine)にソフトウェアを実装することによって実現されてもよい(仮想アプライアンスと呼ばれる)。
本実施の形態では、中継処理装置20のスケーラビリティを確保するため、複数の中継処理装置20が設けられる。また、複数の中継処理装置20と複数のサーバ30とは互いに関連付けられる。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。そして、各中継処理装置20は、自身に割り当てられたサーバ30へのフローのパケットに対して、所定の処理(ロードバランサとしての処理、ファイアウォールとしての処理、等)を実行する。
尚、中継処理装置20及びサーバ30は、管理装置(図示されない)によってそれぞれ管理される。それぞれの管理装置は、コントローラ100からの要求に応じて、中継処理装置20及びサーバ30の識別情報等をコントローラ100に通知する。
複数のスイッチ10は、ネットワーク内に分散的に配置されている。スイッチ10間はリンク(回線)で接続されており、複数のスイッチ10によってスイッチネットワークが構成される。このスイッチネットワークは、外部ネットワークと中継処理装置20、サーバ30との間、及び、中継処理装置20とサーバ30との間に介在している。各スイッチ10は、受信したパケットを指定された転送先に転送する機能を有している。その指定を行うのが、コントローラ100である。コントローラ100は、制御回線5を介してスイッチ10に接続されており、制御回線5を介して各スイッチ10を制御する機能を有している。
図2は、スイッチ10の構成例を示している。スイッチ10は、スイッチ処理部11、コントローラ通信部12、記憶部13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。スイッチ処理部11は、入力ポートから出力ポートへのパケット転送等、スイッチの主要な処理を行う。コントローラ通信部12は、制御回線5を介してコントローラ100に接続されており、コントローラ100と通信を行う。
記憶部13には、フローテーブル(転送テーブル)TBLが格納されている。このフローテーブルTBLは、パケットの入力元(入力ポート)と転送先(出力ポート)との対応関係を、フロー毎に示している。スイッチ処理部11は、記憶部13に格納されているフローテーブルTBLを参照することによって、入力ポートから受け取ったパケットを指定された出力ポートに転送することができる。より詳細には、次の通りである。
図3は、フローテーブルTBLを示す概念図である。フローテーブルTBLは、フロー毎に異なるエントリを有している。1つのエントリは、入力ポート、ヘッダ情報、出力ポート、及びアクションの対応関係を示している。ヘッダ情報は、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス等、パケットヘッダから得られる情報である。このヘッダ情報を用いることにより、フローを識別することができる。アクションは、受信パケットに対する処理内容(転送、消去等)を示す。
図4は、本実施の形態に係るネットワークシステム1の動作を示すフローチャートである。スイッチ10は、あるフローのパケットを受信する(ステップS11)。具体的には、スイッチ処理部11が、入力ポートを通してパケットを受信する。入力ポートからパケットを受け取ると、スイッチ処理部11は、受信パケットのヘッダ情報を抽出する。そして、スイッチ処理部11は、抽出したヘッダ情報と入力ポートを検索キーとして用いてフローテーブルTBLの検索を行う(ステップS12)。検索キーに一致するエントリが有る場合(ステップS13;Yes)、スイッチ処理部11は、該当エントリに示されているアクションを実行する(ステップS14)。典型的には、スイッチ処理部11は、該当エントリに示される出力ポートに受信パケットを出力する。
一方、検索キーに一致するエントリがフローテーブルTBLに無い場合(ステップS13;No)、それは、スイッチ10が当該フローのパケットを初めて受信したことを意味する。この場合、スイッチ処理部11は、当該フローのパケットの転送経路を設定するよう、コントローラ100に対して要求する。具体的には、スイッチ処理部11は、コントローラ通信部12を介して、受信パケット(あるいは受信パケットのヘッダ情報)をコントローラ100に送信する(ステップS15)。この経路設定要求をコントローラ100に送信したスイッチ10は、以下「要求元スイッチ」と参照される。
コントローラ100は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、コントローラ100は、当該フローの経路を設計する(ステップS110)。より詳細には、コントローラ100は、経路設定要求からパケットの宛先アドレスを抽出し、要求元スイッチからその宛先アドレスまでの経路を設計(決定)する。このとき、本実施の形態に係るコントローラ100は、複数の中継処理装置20の中から最適なものを選び、最適な中継処理装置20を通過するようにフロー経路を設計する。詳細は後述される(第2節参照)。
次に、コントローラ100は、設計経路上のスイッチ10(要求元スイッチを含む)に対して、設計経路に沿ったフロー通信を実現するように指示する(ステップS120)。具体的には、コントローラ100は、設計経路上の各スイッチ10に対して、当該設計経路をフローテーブルTBLに反映するよう指示する。すなわち、コントローラ100は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
フローテーブルTBLの設定後、コントローラ100は、受信パケットを要求元スイッチに返送する(ステップS130)。それ以降、設計経路上の各スイッチ10は、当該フローのパケットを受け取った際に、そのパケットを指定された経路に沿って転送することができる。
このように、コントローラ100は、フロー経路を決定し、そのフロー経路に沿った通信が実現されるようにネットワーク中のスイッチ10を制御する。つまり、コントローラ100は、スイッチ10を制御することによって、ネットワーク通信を適宜制御することができる。このような処理を実現するためのコントローラ100とスイッチ10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ100となり、「Openflow Switch」が各スイッチ10となる。Openflowの「Secure Channel」を利用することにより、各スイッチ10のフローテーブルTBLの設定が可能である。
尚、本実施の形態に係るネットワークシステム1は、例えばデータセンター(data center)に適用される。一般的に、データセンターではサーバ群はラックに収容される。単一テナントの場合、ラック内のサーバ、あるいは、サーバ内の仮想マシンは全て、同じテナントに属することになる。一方、マルチテナントの場合、ラック内に複数のテナント環境が混在し得る。その場合、VLANなどのネットワーク仮想化技術によって、物理ネットワーク上に仮想的なネットワークが多重される。そして、個々の仮想的なネットワークにおいて、中継処理装置及びサーバが接続管理される。
2.コントローラ
2-1.構成
次に、本実施の形態に係るコントローラ100を詳しく説明する。図5Aは、コントローラ100のハードウェア構成例を示すブロック図である。コントローラ100は、CPU(Central Processing Unit)101、メモリ102、二次記憶装置103、ネットワークインタフェース104等を備える計算機である。
2-1.構成
次に、本実施の形態に係るコントローラ100を詳しく説明する。図5Aは、コントローラ100のハードウェア構成例を示すブロック図である。コントローラ100は、CPU(Central Processing Unit)101、メモリ102、二次記憶装置103、ネットワークインタフェース104等を備える計算機である。
図5Bは、コントローラ100の機能構成を示す機能ブロック図である。コントローラ100は、経路設計部110、スイッチ設定部120、スイッチ通信部130、割当管理部140、管理インタフェース150、及び記憶部160を備えている。
経路設計部110は、上述のステップS110(経路設計)を実行する。スイッチ設定部120は、上述のステップS120(スイッチ設定)を実行する。スイッチ通信部130は、制御回線5を介して各スイッチ10に接続されており、各スイッチ10と通信を行う。割当管理部140は、後述される割当管理処理(ステップS140、S150、S160、S170)を実行する。管理インタフェース150は、中継処理装置20及びサーバ30の管理装置と通信を行う。スイッチ通信部130及び管理インタフェース150は、図5A中のネットワークインタフェース104に対応している。経路設計部110、スイッチ設定部120、割当管理部140等は、CPU101がコンピュータプログラムを実行することにより実現される。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
記憶部160は、RAM(Random Access Memory)やHDD(Hard Disk Drive)といった記憶装置であり、図5A中のメモリ102及び二次記憶装置103に相当する。この記憶部160には、ネットワーク構成情報TPL、負荷情報LAD、リンク情報LNK、設計経路情報RTE、ポリシ情報POL、割当情報ASNなどが格納される。
ネットワーク構成情報TPLは、ネットワークの物理構成及び論理構成を示す。すなわち、ネットワーク構成情報TPLは、複数のサーバ30、複数の中継処理装置20、複数のスイッチ10間の接続状態(トポロジ)を示す。例えば、ネットワーク構成情報TPLは、各サーバ30がどのスイッチ10のどのポート15に接続されているか、各中継処理装置20がどのスイッチ10のどのポート15に接続されているか、などを示す。
負荷情報LADは、それぞれの中継処理装置20の負荷を示す。各中継処理装置20の負荷は、各中継処理装置20によって計測される。コントローラ100は、中継処理装置20の管理装置を通して、計測された負荷に関する情報を取得する。
リンク情報LNKは、ネットワークにおけるリンク(回線)の状態を示す。リンク状態は、リンク容量(通信能力)及び輻輳状態を含む。リンク容量は予め決まっている。輻輳状態は、各スイッチ10により計測され、コントローラ100に通知される。尚、ここでのリンクは、物理的な回線だけでなく、物理的な回線を分割した仮想リンクも含む。この場合、スイッチ間の通信能力は、仮想リンクの帯域幅で規定される。
設計経路情報RTEは、ステップS110の結果作成される情報であり、あるフローのパケットの転送経路を示す。
ポリシ情報POLは、中継処理装置20(ロードバランサ、ファイアウォール)のポリシを示す。このポリシ情報POLは、中継処理装置20へのポリシ設定に利用される。
割当情報ASNは、複数のサーバ30と複数の中継処理装置20との間の割り当て関係を示す。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。図6は、割当情報ASNを示す概念図である。例えば、割当情報ASNは、各中継処理装置20の識別情報と、各中継処理装置20に割り当てられたサーバ30の識別情報及びIPアドレスを示す。
2-2.経路設計(ステップS110)及びスイッチ設定(ステップS120)
ステップS110において、経路設計部110は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、経路設計部110は、要求元スイッチから宛先までのフローの経路を設計する。図7に示されるフローチャートを参照して、本実施の形態におけるステップS110を以下に詳しく説明する。
ステップS110において、経路設計部110は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、経路設計部110は、要求元スイッチから宛先までのフローの経路を設計する。図7に示されるフローチャートを参照して、本実施の形態におけるステップS110を以下に詳しく説明する。
ステップS111:
経路設計部110は、受け取った経路設定要求からパケットの宛先IPアドレスを抽出する。続いて、経路設計部110は、記憶部160に格納されている上記割当情報ASNを参照して、宛先IPアドレスに関連付けられている中継処理装置20を抽出する。つまり、経路設計部110は、割当情報ASNを参照することによって、宛先IPアドレスで指定されるサーバに対して割り当てられている中継処理装置20を抽出する。
経路設計部110は、受け取った経路設定要求からパケットの宛先IPアドレスを抽出する。続いて、経路設計部110は、記憶部160に格納されている上記割当情報ASNを参照して、宛先IPアドレスに関連付けられている中継処理装置20を抽出する。つまり、経路設計部110は、割当情報ASNを参照することによって、宛先IPアドレスで指定されるサーバに対して割り当てられている中継処理装置20を抽出する。
ステップS113:
抽出数が1の場合、すなわち、宛先IPアドレスが単一の中継処理装置20にだけ割り当てられている場合(ステップS112;Yes)、経路設計部110は、その単一の中継処理装置20を“ターゲット”として選択する。
抽出数が1の場合、すなわち、宛先IPアドレスが単一の中継処理装置20にだけ割り当てられている場合(ステップS112;Yes)、経路設計部110は、その単一の中継処理装置20を“ターゲット”として選択する。
ステップS114:
抽出数が複数の場合、すなわち、宛先IPアドレスが2以上の中継処理装置20に割り当てられている場合(ステップS112;No)、経路設計部110は、それら中継処理装置20のうちいずれか1つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部110は、通信効率や中継処理装置20の負荷分散を考慮する。そのため、経路設計部110は、記憶部160に格納されているリンク情報LINKあるいは/及び負荷情報LADを参照する。そして、経路設計部110は、通信効率や負荷分散の観点から最適な1つの中継処理装置20をターゲットとして選択する。
抽出数が複数の場合、すなわち、宛先IPアドレスが2以上の中継処理装置20に割り当てられている場合(ステップS112;No)、経路設計部110は、それら中継処理装置20のうちいずれか1つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部110は、通信効率や中継処理装置20の負荷分散を考慮する。そのため、経路設計部110は、記憶部160に格納されているリンク情報LINKあるいは/及び負荷情報LADを参照する。そして、経路設計部110は、通信効率や負荷分散の観点から最適な1つの中継処理装置20をターゲットとして選択する。
ステップS115:
経路設計部110は、ネットワーク構成情報TPLを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部110は、上述の選択ターゲットを通過するように経路を設計(決定)する。
経路設計部110は、ネットワーク構成情報TPLを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部110は、上述の選択ターゲットを通過するように経路を設計(決定)する。
ステップS116:
経路設計部110は、設計した経路を示す設計経路情報RTEを作成し、その設計経路設計情報RTEを記憶部160に格納する。
経路設計部110は、設計した経路を示す設計経路情報RTEを作成し、その設計経路設計情報RTEを記憶部160に格納する。
その後、スイッチ設定部120は、記憶部160に格納された設計経路情報RTEを参照して、ステップS120を実行する。具体的には、スイッチ設定部120は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
以上に説明されたように、本実施の形態によれば、中継処理装置20のスケーラビリティを確保するために、複数の中継処理装置20が設けられる。更に、それら複数の中継処理装置20の前段に複数のスイッチ10が設けられる。コントローラ100は、複数の中継処理装置20の中から宛先に応じた適切なものをターゲットとして選択し、そのターゲットを通過するように経路を設計する。そして、設計経路に沿ってパケットが転送されるように、中継処理装置20の前段に設けられたスイッチ10を制御する。これは、複数の中継処理装置20に対するフローの分配(振り分け)が、スイッチ10とコントローラ100によって実現されていることを意味する。従って、状況に応じて、中継処理装置20を簡単にスケールアウトすることができる。このように、本実施の形態によれば、中継処理装置20のスケーラビリティを容易に確保することができる。
2-3.割当管理
例えばサーバ30や中継処理装置20が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ100の割当管理部140は、割当情報ASNの更新を行う。
例えばサーバ30や中継処理装置20が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ100の割当管理部140は、割当情報ASNの更新を行う。
(ステップS140:サーバ追加)
図8を参照して、新規サーバをネットワークに追加登録する場合の処理(ステップS140)を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
図8を参照して、新規サーバをネットワークに追加登録する場合の処理(ステップS140)を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
ステップS141:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS142:
割当管理部140は、ネットワーク構成情報TPL(論理的なネットワーク接続関係)と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置20を決定する。このとき、割当管理部140は、新規サーバに必要な機能を有する中継処理装置20を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部140は、ロードバランサ機能をもつ中継処理装置20を選択する。
割当管理部140は、ネットワーク構成情報TPL(論理的なネットワーク接続関係)と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置20を決定する。このとき、割当管理部140は、新規サーバに必要な機能を有する中継処理装置20を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部140は、ロードバランサ機能をもつ中継処理装置20を選択する。
ステップS143:
割当管理部140は、ステップS142で選択された中継処理装置20に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置20に登録されてもよい。中継処理装置20がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置20がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ100に保持しておく。
割当管理部140は、ステップS142で選択された中継処理装置20に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置20に登録されてもよい。中継処理装置20がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置20がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ100に保持しておく。
ステップS144:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS150:サーバ削除)
図9を参照して、サーバを登録から削除する場合の処理(ステップS150)を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
図9を参照して、サーバを登録から削除する場合の処理(ステップS150)を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
ステップS151:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから削除サーバ情報を取得する。
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから削除サーバ情報を取得する。
ステップS152:
割当管理部140は、割当情報ASNを参照して、削除サーバに割り当てられている中継処理装置20を認識する。
割当管理部140は、割当情報ASNを参照して、削除サーバに割り当てられている中継処理装置20を認識する。
ステップS153:
割当管理部140は、ステップS152で得られた中継処理装置20から、サーバ情報を削除する。
割当管理部140は、ステップS152で得られた中継処理装置20から、サーバ情報を削除する。
ステップS154:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS160:中継処理装置の追加)
図10を参照して、新規中継処理装置を追加する場合の処理(ステップS160)を説明する。典型的には、典型的には、中継処理装置20の性能が足りなくなった場合や、サーバ30までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
図10を参照して、新規中継処理装置を追加する場合の処理(ステップS160)を説明する。典型的には、典型的には、中継処理装置20の性能が足りなくなった場合や、サーバ30までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
ステップS161:
割当管理部140は、中継処理装置20の管理装置あるいは中継処理装置20の設定情報ファイルから、新規中継処理装置の識別情報(機能、アドレス等)及び接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
割当管理部140は、中継処理装置20の管理装置あるいは中継処理装置20の設定情報ファイルから、新規中継処理装置の識別情報(機能、アドレス等)及び接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS162:
割当管理部140は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置20が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
割当管理部140は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置20が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
ステップS163:
割当管理部140は、ステップS162で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
割当管理部140は、ステップS162で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
ステップS164:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS170:割当サーバ数の変更)
図11を参照して、中継処理装置20に対する割当サーバ数を変更する場合の処理(ステップS170)を説明する。
図11を参照して、中継処理装置20に対する割当サーバ数を変更する場合の処理(ステップS170)を説明する。
ステップS171:
中継処理装置20は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ100に通知する。あるいは、コントローラ100の負荷情報収集部(図示されない)が、各中継処理装置20から計測負荷情報を収集してもよい。割当管理部140は、それぞれの中継処理装置20の負荷を示す上述の負荷情報LADを記憶部160に格納する。
中継処理装置20は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ100に通知する。あるいは、コントローラ100の負荷情報収集部(図示されない)が、各中継処理装置20から計測負荷情報を収集してもよい。割当管理部140は、それぞれの中継処理装置20の負荷を示す上述の負荷情報LADを記憶部160に格納する。
ステップS172:
割当管理部140は、負荷情報LADを参照し、各中継処理装置20の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合(ステップS172;No)、処理は終了する。
割当管理部140は、負荷情報LADを参照し、各中継処理装置20の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合(ステップS172;No)、処理は終了する。
ステップS173:
一方、ある中継処理装置20(移行元の中継処理装置)に関する計測負荷が閾値を超えている場合(ステップS172;Yes)、割当管理部140は、他の中継処理装置20に余裕があるかどうか調べる。余裕のある他の中継処理装置20が有る場合(ステップS173;Yes)、割当管理部140は、その中継処理装置20を移行先の中継処理装置とする。
一方、ある中継処理装置20(移行元の中継処理装置)に関する計測負荷が閾値を超えている場合(ステップS172;Yes)、割当管理部140は、他の中継処理装置20に余裕があるかどうか調べる。余裕のある他の中継処理装置20が有る場合(ステップS173;Yes)、割当管理部140は、その中継処理装置20を移行先の中継処理装置とする。
ステップS174:
一方、余裕のある中継処理装置20が他に無い場合(ステップS173;No)、上記ステップS160と同様に、新規中継処理装置が追加される。この場合、割当管理部140は、新規中継処理装置を移行先の中継処理装置とする。
一方、余裕のある中継処理装置20が他に無い場合(ステップS173;No)、上記ステップS160と同様に、新規中継処理装置が追加される。この場合、割当管理部140は、新規中継処理装置を移行先の中継処理装置とする。
ステップS175:
割当管理部140は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部140は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
割当管理部140は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部140は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
ステップS176:
割当管理部140は、割当情報ASNを更新する。このようにして、各中継処理装置20に割り当てるサーバ数を、各中継処理装置20の負荷に応じて増減させることが可能となる。それにより、中継処理装置20のリソースを効率的に利用することが可能となる。
割当管理部140は、割当情報ASNを更新する。このようにして、各中継処理装置20に割り当てるサーバ数を、各中継処理装置20の負荷に応じて増減させることが可能となる。それにより、中継処理装置20のリソースを効率的に利用することが可能となる。
3.具体例
3-1.第1の例:ロードバランサ
図12~図14を参照して、本実施の形態の第1の例を説明する。図12は、第1の例におけるネットワークシステム1の構成を示している。図13は、第1の例におけるネットワークシステム1の論理構成を示している。図14は、第1の例における割当情報ASNを示している。
3-1.第1の例:ロードバランサ
図12~図14を参照して、本実施の形態の第1の例を説明する。図12は、第1の例におけるネットワークシステム1の構成を示している。図13は、第1の例におけるネットワークシステム1の論理構成を示している。図14は、第1の例における割当情報ASNを示している。
第1の例では、中継処理装置20がロードバランサLBである。図12に示されるように、第1のロードバランサLB1がスイッチ10-1に接続されており、第2のロードバランサLB2がスイッチ10-2に接続されている。第1のロードバランサLB1には、20台のサーバSV1-1~SV1-20が割り当てられており、第1のロードバランサLB1は、それらサーバSV1-1~SV1-20に対する負荷分散を行う。第2のロードバランサLB2には、10台のサーバSV2-1~SV2-10が割り当てられており、第2のロードバランサLB2は、それらサーバSV2-1~SV2-10に対する負荷分散を行う。
図13及び図14に示されるように、ロードバランサLB1、LB2が処理するサーバ群の仮想IPアドレスは共通の「20.1.1.1」であるとする。各ロードバランサLB1、LB2は、宛先IPアドレスが「20.1.1.1」であるパケットを受信すると、配下の複数の実サーバ30のうち1つを選択し、その実サーバに受信パケットを振り分ける(どの実サーバに送信しても処理は可能である)。つまり、宛先IPアドレスは複数のサーバSV間で共通であり、その単一の宛先IPアドレスが2つのロードバランサLB1、LB2に対応付けられている。これは、各サーバSVが、2つのロードバランサLB1、LB2に割り当てられていることと等価である。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10-2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10-2に近い第2のロードバランサLB2の配下に組み込む(ステップS142)。続いて、コントローラ100は、第2のロードバランサLB2のロードバランスグループに、新規サーバSV3のサーバ情報を追加する(ステップS143)。そして、コントローラ100は、図14で示されるように割当情報ASNを更新する(ステップS144)。
尚、並列で第1のロードバランサLB1にも、新規サーバSV3を少ない重み付けで登録してもよい。この場合、サーバSV3を利用するトラヒックのほとんどは第2のロードバランサLB2で処理されるが、第1のロードバランサLB1の配下のサーバSV1-1~SV1-20が過負荷のときにサーバSV3を選択するといった処理も可能となる。
スイッチ10-4(図12参照)が、「宛先IPアドレス=20.1.1.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10-4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10-4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.1.1」を抽出する。更に、経路設計部110は、図14に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.1.1」に対応付けられている2台のロードバランサLB1、LB2を抽出する(ステップS111、ステップS112;No)。
この場合、経路設計部110は、通信効率や負荷分散を考慮して、2台のロードバランサLB1、LB2のうちいずれか1つをターゲットとして選択する(ステップS114)。例えば、図12に示されるように、第1のロードバランサLB1が接続されているスイッチ10-1と要求元スイッチ10-4との間のリンク容量が1Gbpsであり、第2のロードバランサLB2が接続されているスイッチ10-2と要求元スイッチ10-4との間のリンク容量が10Gbpsである場合を考える。経路設計部110は、ネットワーク構成情報TPLやリンク情報LNKに基づいて、第2のロードバランサLB2の方をターゲットとして選択する。
経路設計部110は、要求元スイッチ10-4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のロードバランサLB2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10-4、10-2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10-4、10-2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のロードバランサLB2は、配下のサーバSV2-1~2-10、SV3に対して分散処理を実施する。
3-2.第2の例:ファイアウォール
図15~図17を参照して、本実施の形態の第2の例を説明する。図15は、第2の例におけるネットワークシステム1の構成を示している。図16は、第2の例におけるネットワークシステム1の論理構成を示している。図17は、第2の例における割当情報ASNを示している。
図15~図17を参照して、本実施の形態の第2の例を説明する。図15は、第2の例におけるネットワークシステム1の構成を示している。図16は、第2の例におけるネットワークシステム1の論理構成を示している。図17は、第2の例における割当情報ASNを示している。
第2の例では、中継処理装置20がファイアウォールFWである。ファイアウォールFWは、個別の宛先サーバ30に対するパケットを中継する。図15に示されるように、第1のファイアウォールFW1がスイッチ10-1に接続されており、第2のファイアウォールFW2がスイッチ10-2に接続されている。第1のファイアウォールFW1には、20台のサーバSV1-1~SV1-20が割り当てられており、第1のファイアウォールFW1は、それらサーバSV1-1~SV1-20に対するパケットを中継する。第2のファイアウォールFW2には、10台のサーバSV2-1~SV2-10が割り当てられており、第2のファイアウォールFW2は、それらサーバSV2-1~SV2-10に対するパケットを中継する。
図16及び図17に示されるように、ファイアウォールFW1、FW2の各々のIPアドレスは「20.1.1.2」である。各ファイアウォールFW1、FW2は、「IPアドレス=20.1.1.2」が転送次ホップとして指定されたパケットを受信し、ファイアウォールポリシに従ってフィルタ処理を行ったのち、当該パケットを宛先IPアドレスで指定される個々のサーバ30へ転送する。尚、ファイアウォールポリシは、ポリシ情報POLに従って、コントローラ100によって各ファイアウォールFW1、FW2に設定される。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10-2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10-2に近い第2のファイアウォールFW2の配下に組み込む(ステップS142)。そして、コントローラ100は、図17で示されるように割当情報ASNを更新する(ステップS144)。但し、第1のファイアウォールFW1からもサーバSV3に接続は可能である。サーバSV3を利用するトラヒックのほとんどが第2のファイアウォールFW2から接続されるが、第2のファイアウォールFW2が過負荷のときには、第1のファイアウォールFW1を介してサーバSV3に接続することも可能である。
スイッチ10-4(図15参照)が、「宛先IPアドレス=20.1.3.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10-4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10-4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.3.1」を抽出する。更に、経路設計部110は、図17に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.3.1」に対応付けられている第2のファイアウォールFW2を抽出する(ステップS111、ステップS112;Yes)。この場合、経路設計部110は、この第2のファイアウォールFW2をターゲットとして選択する(ステップS113)。
経路設計部110は、要求元スイッチ10-4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のファイアウォールFW2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10-4、10-2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10-4、10-2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のファイアウォールFW2は、宛先IPアドレスで指定されるサーバSV3に対するパケットを中継する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
本出願は、2009年10月23日に出願された日本国特許出願2009-244872を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (9)
- ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと、
前記複数のスイッチを制御するコントローラと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
ネットワークシステム。 - 請求項1に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち2以上の中継処理装置に割り当てられており、
前記経路設計部は、前記2以上の中継処理装置のうちいずれか1つを前記ターゲットとして選択する
ネットワークシステム。 - 請求項2に記載のネットワークシステムであって、
前記記憶部には、更に、
前記複数の中継処理装置のそれぞれの負荷を示す負荷情報と、
前記ネットワークにおけるリンクの状態を示すリンク情報と
が格納され、
前記経路設計部は、前記負荷情報と前記リンク情報のうち少なくとも一方を参照することによって、前記2以上の中継処理装置のうち最適な1つを前記ターゲットとして選択する
ネットワークシステム。 - 請求項2又は3に記載のネットワークシステムであって、
前記各中継処理装置は、ロードバランサである
ネットワークシステム。 - 請求項1に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち1つの中継処理装置に割り当てられており、
前記経路設計部は、前記1つの中継処理装置を前記ターゲットとして選択する
ネットワークシステム。 - 請求項5に記載のネットワークシステムであって、
前記各中継処理装置は、ファイアウォールである
ネットワークシステム。 - 請求項1乃至6のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、更に、サーバあるいは中継処理装置の追加に応答して前記割当情報を更新する割当管理部を備える
ネットワークシステム。 - ネットワーク中に配置された複数のスイッチを制御するコントローラであって、
前記ネットワークには複数のサーバと複数の中継処理装置が接続され、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
コントローラ。 - ネットワークシステムの制御方法であって、
前記ネットワークシステムは、
ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記制御方法は、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するステップと
を含み、
前記経路を設計するステップは、
ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、前記ネットワーク構成情報は、前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示し、前記割当情報は、前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示し、
前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、
前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計するステップと
を含む
制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011537284A JPWO2011049135A1 (ja) | 2009-10-23 | 2010-10-20 | ネットワークシステムとその制御方法、及びコントローラ |
| US13/200,755 US8832272B2 (en) | 2009-10-23 | 2011-09-30 | Network system, control method for the same, and controller, using targeted relay processing devices |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009244872 | 2009-10-23 | ||
| JP2009-244872 | 2009-10-23 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/200,755 Continuation US8832272B2 (en) | 2009-10-23 | 2011-09-30 | Network system, control method for the same, and controller, using targeted relay processing devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011049135A1 true WO2011049135A1 (ja) | 2011-04-28 |
Family
ID=43900358
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2010/068504 Ceased WO2011049135A1 (ja) | 2009-10-23 | 2010-10-20 | ネットワークシステムとその制御方法、及びコントローラ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8832272B2 (ja) |
| JP (1) | JPWO2011049135A1 (ja) |
| WO (1) | WO2011049135A1 (ja) |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102301663A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
| JP2012160926A (ja) * | 2011-02-01 | 2012-08-23 | Nec Corp | 有害サイトフィルタリングシステム及びフィルタリング方法 |
| JP2013005087A (ja) * | 2011-06-14 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラム |
| WO2013128798A1 (ja) * | 2012-03-02 | 2013-09-06 | 日本電気株式会社 | 経路制御システム、コントロール装置及び経路制御方法 |
| JP2014007438A (ja) * | 2012-06-21 | 2014-01-16 | Ntt Comware Corp | ノード管理装置、ノード管理方法、及びプログラム |
| JP2014143617A (ja) * | 2013-01-24 | 2014-08-07 | Fujitsu Ltd | 中継プログラム、中継方法および中継処理装置 |
| JP2015508967A (ja) * | 2012-02-23 | 2015-03-23 | ビッグ スウィッチ ネットワークス インコーポレイテッド | コントローラでネットワークパケット転送を管理するシステム及び方法 |
| WO2015133059A1 (ja) * | 2014-03-07 | 2015-09-11 | 日本電気株式会社 | 経路制御装置、経路制御方法および経路制御プログラム |
| JP2015528235A (ja) * | 2012-06-25 | 2015-09-24 | アルカテル−ルーセント | 通信ネットワークのネットワーク・エンティティ |
| JP2016527825A (ja) * | 2013-07-31 | 2016-09-08 | オラクル・インターナショナル・コーポレイション | トラフィックストームを緩和するための方法、システム、およびコンピュータ読取可能媒体 |
| JP2017517220A (ja) * | 2014-06-03 | 2017-06-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ |
Families Citing this family (74)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7675854B2 (en) | 2006-02-21 | 2010-03-09 | A10 Networks, Inc. | System and method for an adaptive TCP SYN cookie with time validation |
| US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
| US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
| US9960967B2 (en) | 2009-10-21 | 2018-05-01 | A10 Networks, Inc. | Determining an application delivery server based on geo-location information |
| WO2011074630A1 (ja) * | 2009-12-17 | 2011-06-23 | 日本電気株式会社 | 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム |
| US9215275B2 (en) | 2010-09-30 | 2015-12-15 | A10 Networks, Inc. | System and method to balance servers based on server load status |
| US9609052B2 (en) | 2010-12-02 | 2017-03-28 | A10 Networks, Inc. | Distributing application traffic to servers based on dynamic service response time |
| WO2012101689A1 (en) * | 2011-01-28 | 2012-08-02 | Nec Corporation | Communication system, forwarding node, control device, communication control method, and program |
| EP2761824B1 (en) * | 2011-09-28 | 2017-08-30 | Telefonaktiebolaget LM Ericsson (publ) | Centralized data plane flow control |
| US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
| US9386088B2 (en) | 2011-11-29 | 2016-07-05 | A10 Networks, Inc. | Accelerating service processing using fast path TCP |
| US9094364B2 (en) | 2011-12-23 | 2015-07-28 | A10 Networks, Inc. | Methods to manage services over a service gateway |
| US10044582B2 (en) | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
| US9185166B2 (en) | 2012-02-28 | 2015-11-10 | International Business Machines Corporation | Disjoint multi-pathing for a data center network |
| US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
| US9013995B2 (en) * | 2012-05-04 | 2015-04-21 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control in packet data networking |
| US8782221B2 (en) | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
| US10002141B2 (en) | 2012-09-25 | 2018-06-19 | A10 Networks, Inc. | Distributed database in software driven networks |
| US10021174B2 (en) | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
| US9843484B2 (en) | 2012-09-25 | 2017-12-12 | A10 Networks, Inc. | Graceful scaling in software driven networks |
| US9705800B2 (en) | 2012-09-25 | 2017-07-11 | A10 Networks, Inc. | Load distribution in data networks |
| US9042234B1 (en) * | 2012-10-31 | 2015-05-26 | Big Switch Networks, Inc. | Systems and methods for efficient network traffic forwarding |
| US9338225B2 (en) * | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
| US9531846B2 (en) | 2013-01-23 | 2016-12-27 | A10 Networks, Inc. | Reducing buffer usage for TCP proxy session based on delayed acknowledgement |
| US8966586B2 (en) * | 2013-01-27 | 2015-02-24 | International Business Machines Corporation | Authentication within OpenFlow network |
| US9374285B1 (en) * | 2013-02-07 | 2016-06-21 | Big Switch Networks, Inc. | Systems and methods for determining network topologies |
| KR20140106235A (ko) * | 2013-02-26 | 2014-09-03 | 한국전자통신연구원 | 오픈플로우 스위치 및 그 패킷 처리 방법 |
| US9900252B2 (en) | 2013-03-08 | 2018-02-20 | A10 Networks, Inc. | Application delivery controller and global server load balancer |
| US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
| US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
| US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
| US9992107B2 (en) | 2013-03-15 | 2018-06-05 | A10 Networks, Inc. | Processing data packets using a policy based network path |
| US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
| US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
| US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
| US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
| US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
| WO2014179753A2 (en) | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
| US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
| CN104243337B (zh) | 2013-06-09 | 2017-09-01 | 新华三技术有限公司 | 一种跨集群负载均衡的方法及装置 |
| US10230770B2 (en) | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
| US20150163072A1 (en) * | 2013-12-05 | 2015-06-11 | Broadcom Corporation | Virtual Port Extender |
| US20150169345A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Software-defined networking (sdn) for management of traffic between virtual processors |
| US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
| US9942162B2 (en) | 2014-03-31 | 2018-04-10 | A10 Networks, Inc. | Active application response delay time |
| US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
| US10129122B2 (en) | 2014-06-03 | 2018-11-13 | A10 Networks, Inc. | User defined objects for network devices |
| US9992229B2 (en) | 2014-06-03 | 2018-06-05 | A10 Networks, Inc. | Programming a data network device using user defined scripts with licenses |
| US9986061B2 (en) | 2014-06-03 | 2018-05-29 | A10 Networks, Inc. | Programming a data network device using user defined scripts |
| US9755898B2 (en) | 2014-09-30 | 2017-09-05 | Nicira, Inc. | Elastically managing a service node group |
| US10320679B2 (en) | 2014-09-30 | 2019-06-11 | Nicira, Inc. | Inline load balancing |
| US11296930B2 (en) | 2014-09-30 | 2022-04-05 | Nicira, Inc. | Tunnel-enabled elastic service model |
| US10268467B2 (en) | 2014-11-11 | 2019-04-23 | A10 Networks, Inc. | Policy-driven management of application traffic for providing services to cloud-based applications |
| US10609091B2 (en) | 2015-04-03 | 2020-03-31 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
| US10581976B2 (en) | 2015-08-12 | 2020-03-03 | A10 Networks, Inc. | Transmission control of protocol state exchange for dynamic stateful service insertion |
| US10243791B2 (en) | 2015-08-13 | 2019-03-26 | A10 Networks, Inc. | Automated adjustment of subscriber policies |
| US10797966B2 (en) | 2017-10-29 | 2020-10-06 | Nicira, Inc. | Service operation chaining |
| US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
| US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
| US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
| US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
| US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
| US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
| US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
| US11397604B2 (en) | 2019-02-22 | 2022-07-26 | Vmware, Inc. | Service path selection in load balanced manner |
| US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
| US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
| US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
| US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
| US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
| US11277331B2 (en) | 2020-04-06 | 2022-03-15 | Vmware, Inc. | Updating connection-tracking records at a network edge using flow programming |
| CN114640726B (zh) * | 2020-12-01 | 2023-12-01 | 阿里巴巴集团控股有限公司 | 报文处理方法、设备、系统及存储介质 |
| US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
| US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003174473A (ja) * | 2001-12-06 | 2003-06-20 | Fujitsu Ltd | サーバ負荷分散システム |
| JP2004064490A (ja) * | 2002-07-30 | 2004-02-26 | Fujitsu Ltd | データ通信システム |
| JP2004129156A (ja) * | 2002-10-07 | 2004-04-22 | Ntt Docomo Inc | 経路制御システム、経路制御装置、転送装置及び経路制御方法 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7055173B1 (en) * | 1997-12-19 | 2006-05-30 | Avaya Technology Corp. | Firewall pooling in a network flowswitch |
| US6601084B1 (en) * | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
| JP3897603B2 (ja) * | 2002-01-28 | 2007-03-28 | 富士通株式会社 | フロントエンドプロセッサ、ルーティング管理方法、およびルーティング管理プログラム |
| JP2004140539A (ja) * | 2002-10-17 | 2004-05-13 | Hitachi Ltd | 情報ルーティング方式および情報中継装置 |
| US20050169254A1 (en) * | 2003-04-14 | 2005-08-04 | Fujitsu Limited | Data relay apparatus, data relay method, data relay program, service selection apparatus, service selection method and service selection program |
| JP4041038B2 (ja) | 2003-08-13 | 2008-01-30 | 富士通株式会社 | 高位レイヤ処理方法及びシステム |
| US9019830B2 (en) * | 2007-05-15 | 2015-04-28 | Imagine Communications Corp. | Content-based routing of information content |
| EP2597816B1 (en) * | 2007-09-26 | 2019-09-11 | Nicira Inc. | Network operating system for managing and securing networks |
-
2010
- 2010-10-20 WO PCT/JP2010/068504 patent/WO2011049135A1/ja not_active Ceased
- 2010-10-20 JP JP2011537284A patent/JPWO2011049135A1/ja not_active Withdrawn
-
2011
- 2011-09-30 US US13/200,755 patent/US8832272B2/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003174473A (ja) * | 2001-12-06 | 2003-06-20 | Fujitsu Ltd | サーバ負荷分散システム |
| JP2004064490A (ja) * | 2002-07-30 | 2004-02-26 | Fujitsu Ltd | データ通信システム |
| JP2004129156A (ja) * | 2002-10-07 | 2004-04-22 | Ntt Docomo Inc | 経路制御システム、経路制御装置、転送装置及び経路制御方法 |
Non-Patent Citations (1)
| Title |
|---|
| "Security Kyoka no Tameno IPS Kanzen Guide", NETWORK MAGAZINE, vol. 9, no. 11, 1 November 2004 (2004-11-01), pages 25 - 32 * |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012160926A (ja) * | 2011-02-01 | 2012-08-23 | Nec Corp | 有害サイトフィルタリングシステム及びフィルタリング方法 |
| JP2013005087A (ja) * | 2011-06-14 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラム |
| CN102301663A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
| WO2012106869A1 (zh) * | 2011-07-06 | 2012-08-16 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
| US9385886B2 (en) | 2011-07-06 | 2016-07-05 | Huawei Technologies Co., Ltd. | Method for processing a packet and related device |
| CN102301663B (zh) * | 2011-07-06 | 2013-11-06 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
| JP2015508967A (ja) * | 2012-02-23 | 2015-03-23 | ビッグ スウィッチ ネットワークス インコーポレイテッド | コントローラでネットワークパケット転送を管理するシステム及び方法 |
| JPWO2013128798A1 (ja) * | 2012-03-02 | 2015-07-30 | 日本電気株式会社 | 経路制御システム、コントロール装置及び経路制御方法 |
| WO2013128798A1 (ja) * | 2012-03-02 | 2013-09-06 | 日本電気株式会社 | 経路制御システム、コントロール装置及び経路制御方法 |
| US10038669B2 (en) | 2012-03-02 | 2018-07-31 | Nec Corporation | Path control system, control device, and path control method |
| JP2014007438A (ja) * | 2012-06-21 | 2014-01-16 | Ntt Comware Corp | ノード管理装置、ノード管理方法、及びプログラム |
| JP2015528235A (ja) * | 2012-06-25 | 2015-09-24 | アルカテル−ルーセント | 通信ネットワークのネットワーク・エンティティ |
| US10764121B2 (en) | 2012-06-25 | 2020-09-01 | Alcatel Lucent | Network entity of a communication network |
| JP2014143617A (ja) * | 2013-01-24 | 2014-08-07 | Fujitsu Ltd | 中継プログラム、中継方法および中継処理装置 |
| JP2016527825A (ja) * | 2013-07-31 | 2016-09-08 | オラクル・インターナショナル・コーポレイション | トラフィックストームを緩和するための方法、システム、およびコンピュータ読取可能媒体 |
| WO2015133059A1 (ja) * | 2014-03-07 | 2015-09-11 | 日本電気株式会社 | 経路制御装置、経路制御方法および経路制御プログラム |
| JP2017517220A (ja) * | 2014-06-03 | 2017-06-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ |
| US10148565B2 (en) | 2014-06-03 | 2018-12-04 | Huawei Technologies Co., Ltd. | OPENFLOW communication method and system, controller, and service gateway |
| KR101938623B1 (ko) | 2014-06-03 | 2019-01-15 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이 |
Also Published As
| Publication number | Publication date |
|---|---|
| US8832272B2 (en) | 2014-09-09 |
| JPWO2011049135A1 (ja) | 2013-03-14 |
| US20120023231A1 (en) | 2012-01-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2011049135A1 (ja) | ネットワークシステムとその制御方法、及びコントローラ | |
| JP6335363B2 (ja) | 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供 | |
| US10938748B2 (en) | Packet processing method, computing device, and packet processing apparatus | |
| JP5637148B2 (ja) | スイッチネットワークシステム、コントローラ、及び制御方法 | |
| JP5648926B2 (ja) | ネットワークシステム、コントローラ、ネットワーク制御方法 | |
| JP6670109B2 (ja) | ネットワーク内のスケーラブルなフロー及び輻輳制御 | |
| US8218561B2 (en) | Flow redirection employing state information | |
| JP6619096B2 (ja) | ファイアウォールクラスタ | |
| US10257066B2 (en) | Interconnect congestion control in a storage grid | |
| WO2011074516A1 (ja) | ネットワークシステムとその制御方法、及びコントローラ | |
| JP6248929B2 (ja) | 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム | |
| JP2015503274A (ja) | 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法 | |
| US9584422B2 (en) | Methods and apparatuses for automating return traffic redirection to a service appliance by injecting traffic interception/redirection rules into network nodes | |
| JP5861772B2 (ja) | ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム | |
| US8908702B2 (en) | Information processing apparatus, communication apparatus, information processing method, and relay processing method | |
| JPWO2014112616A1 (ja) | 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム | |
| JP2015215799A (ja) | 制御装置、通信装置、および、通信方法 | |
| JP6888566B2 (ja) | 負荷分散システム及び負荷分散方法 | |
| JP5534033B2 (ja) | 通信システム、ノード、パケット転送方法およびプログラム | |
| JP2011159247A (ja) | ネットワークシステム、コントローラ、ネットワーク制御方法 | |
| US20150319099A1 (en) | Storage area network system, controller, access control method and program | |
| JP7052634B2 (ja) | 負荷分散システム及び負荷分散方法 | |
| KR102579474B1 (ko) | 네트워크 부하 분산 방법 및 장치 | |
| WO2020162185A1 (ja) | 負荷分散システム及び負荷分散方法 | |
| JP7750423B2 (ja) | パケット転送制御装置、パケット転送制御方法、振分シミュレーション装置、および、プログラム |
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: 10824984 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2011537284 Country of ref document: JP |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 10824984 Country of ref document: EP Kind code of ref document: A1 |