WO2012049960A1 - スイッチシステム、モニタリング集中管理方法 - Google Patents

スイッチシステム、モニタリング集中管理方法 Download PDF

Info

Publication number
WO2012049960A1
WO2012049960A1 PCT/JP2011/071823 JP2011071823W WO2012049960A1 WO 2012049960 A1 WO2012049960 A1 WO 2012049960A1 JP 2011071823 W JP2011071823 W JP 2011071823W WO 2012049960 A1 WO2012049960 A1 WO 2012049960A1
Authority
WO
WIPO (PCT)
Prior art keywords
entry
packet
switch
controller
transfer
Prior art date
Application number
PCT/JP2011/071823
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 EP11832398.9A priority Critical patent/EP2629463B1/en
Priority to US13/824,356 priority patent/US10623314B2/en
Priority to RU2013117009/08A priority patent/RU2541113C2/ru
Priority to JP2012538617A priority patent/JP5557066B2/ja
Priority to CA2814072A priority patent/CA2814072A1/en
Priority to KR1020137009551A priority patent/KR101472695B1/ko
Priority to CN201180049756.XA priority patent/CN103155489B/zh
Publication of WO2012049960A1 publication Critical patent/WO2012049960A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications

Definitions

  • the present invention relates to a switch system, and more particularly to a switch system that performs path control.
  • monitoring functions such as “sFlow” and “RSPAN (Remote Switched Port Analyzer)” exist in each switch constituting the switch system. Therefore, monitoring was possible with each switch, but it was difficult to centrally control the monitoring function.
  • OpenFlow open flow
  • a controller such as OFC (OpenFlow Controller) controls the behavior of a switch by operating a flow table (Flow Table) of a switch such as OFS (OpenFlow Switch).
  • the controller and the switch are connected by a secure channel (Secure Channel) for the controller to control the switch using a control message conforming to the OpenFlow protocol.
  • the switches in the OpenFlow network are edge switches and core switches that form the OpenFlow network and are under the control of the controller.
  • a series of packet flows from reception of a packet (communication data) at an input side edge switch to transmission at an output side edge switch in an OpenFlow network is called a flow.
  • Flow entry a flow entry that defines a predetermined action (predetermined processing) to be performed on a packet group (packet sequence) that conforms (Hit) to a predetermined rule (match condition) is registered. It is a table.
  • the rules of the flow entry are as follows: destination address (Destination Address), source address (Source Address), destination port (Destination Port), source port (Source Port) included in the header area of each protocol layer of the packet Defined and distinguishable by various combinations using any or all.
  • destination address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address).
  • IP address Internet Protocol Address
  • Information on the ingress port (Ingress Port) can also be used as a rule for the flow entry.
  • the action of the flow entry indicates operations such as “output to a specific port”, “discard”, and “rewrite header”. For example, when output port identification information (output port number, etc.) is indicated in the action of the flow entry, the switch outputs a packet to the corresponding port, and if the output port identification information is not indicated , Discard the packet. Alternatively, when the header information is indicated in the action of the flow entry, the switch rewrites the header of the packet based on the header information.
  • the switch in the OpenFlow network executes the action of the flow entry for a packet group that conforms (Hit) to the rule of the flow entry registered in the flow table.
  • the statistical information has a one-to-one relationship with the flow routing entry. Therefore, to freely change the granularity of monitoring, the flow routing entry is conscious. Had to be set.
  • An object of the present invention is to provide a switch system that can centrally control monitoring of the switch system.
  • the switch system of the present invention includes a switch, a controller, and an adjacent switch.
  • the switch forwards the packet according to the flow entry registered in the internal flow table.
  • the controller registers a flow entry defining a rule (match condition) and an action (predetermined processing) for the packet in a flow table inside the switch.
  • the adjacent switch is connected to the switch.
  • the switch uses a first table (the monitoring table 107 in FIGS. 1 to 10 and FIGS. 13 to 15) for registering an inquiry entry for transferring a packet corresponding to the rule (match condition) to the controller. 16 to 17 and a second table (FIG. 1 to FIG. 17) for registering packet transfer entries for transferring packets corresponding to the rule (match condition) to the adjacent switch. 10 and the transfer table 106 shown in FIGS. 13 to 15 and the transfer table B 106-2) shown in FIGS.
  • the switch transfers a first table for registering an inquiry entry for transferring a packet corresponding to a rule (match condition) to a controller and a packet corresponding to the rule (match condition) to an adjacent switch.
  • a second table for registering a packet transfer entry to be transmitted, and a transfer unit for transferring a packet according to each of the inquiry entry and the packet transfer entry.
  • a first table for registering an inquiry entry for transferring a packet corresponding to a rule (match condition) to the controller is provided as a flow table in the switch.
  • a second table for registering a packet transfer entry for transferring a packet corresponding to the rule (match condition) to an adjacent switch is provided as a flow table in the switch.
  • the packet is transferred according to the flow entry registered in the internal flow table.
  • the program according to the present invention refers to a step of referring to a first table for registering an inquiry entry for transferring a packet corresponding to a rule (match condition) to a controller, and a packet corresponding to the rule (match condition).
  • the program of the present invention can be stored in a storage device or a storage medium.
  • the switch 101 represents the switch body. Note that the switch 101 corresponds to a control protocol (for example, OpenFlow), and can be changed from an external controller that centrally manages a packet transfer table and a monitoring table.
  • a control protocol for example, OpenFlow
  • the controller 102 controls the switch 101 via a secure channel according to the control protocol.
  • the adjacent switch 103 is adjacent to the switch 101.
  • the switch 101 and the adjacent switch 103 an open flow switch is assumed.
  • the OpenFlow switch include a network switch and a multi-layer switch.
  • the multi-layer switch is further classified into each layer of the OSI reference model to be supported.
  • the main types are a layer 3 switch for reading network layer (third layer) data, a layer 4 switch for reading transport layer (fourth layer) data, and a layer 7 for reading application layer (seventh layer) data.
  • a relay device such as a general router or switching hub can be used as an OpenFlow switch.
  • the switch 101 and the adjacent switch 103 may be virtual switches constructed on a physical machine.
  • a router As an alternative example of the switch 101 and the adjacent switch 103, a router, a proxy, a gateway, a firewall, a load balancer, a bandwidth control device (packet shaper). ), Security supervisory control and data acquisition (SCADA), gatekeeper, base station, access point (AP: Access Point), communication satellite (CS: Communication Satellite)
  • SCADA Security supervisory control and data acquisition
  • AP Access Point
  • CS Communication Satellite
  • the controller 102 As an example of the controller 102, a computer such as a PC (personal computer), an appliance, a workstation, a mainframe, and a supercomputer is assumed.
  • the controller 102 may be a virtual machine (VM) constructed on a physical machine.
  • VM virtual machine
  • a LAN Local Area Network
  • Other examples include the Internet, wireless LAN (Wireless LAN), WAN (Wide Area Network), backbone (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like are also conceivable.
  • the switch 101, the controller 102, and the adjacent switch 103 are driven based on a program to execute a predetermined process, a memory that stores the program and various data, and a communication interface (I / F: interface).
  • a CPU Central Processing Unit
  • a microprocessor a microcontroller, or a semiconductor integrated circuit (Integrated Circuit (IC)) having a dedicated function
  • IC Integrated Circuit
  • the switch 101 includes a hardware transfer unit (switching unit) 104, a flow table 105, and a protocol control unit 108.
  • switching unit switching unit
  • the switch 101 includes a hardware transfer unit (switching unit) 104, a flow table 105, and a protocol control unit 108.
  • the hardware transfer unit 104 performs switching, and transfers a packet received from outside the switch or a packet inside the switch.
  • the hardware transfer is, for example, closing and transferring in a switch chip without using a CPU in the switch.
  • the flow table 105 includes a transfer table 106 and a monitoring table 107.
  • the transfer table 106 represents a transfer flow table for registering packet transfer entries.
  • the packet transfer entry is a flow entry for transferring a packet corresponding to the rule (match condition) to a predetermined port (Port) of the switch 101 and transferring the packet to an adjacent switch 103 at the output destination of the port. It is.
  • Packet 109 represents a packet received by the switch 101.
  • a route 110 represents a route between the switch 101 and the controller 102.
  • the hardware transfer unit 104 finds a matching (Hit) entry in the monitoring table 107, the hardware transfer unit 104 performs the reception on the output port connected to the path 110 according to the entry.
  • the packet is output and transferred to the controller 102 via the path 110.
  • the route 111 represents a route between the switch 101 and the adjacent switch 103.
  • the hardware transfer unit 104 finds a matching (Hit) entry in the transfer table 106, the hardware transfer unit 104 receives the reception at the output port connected to the path 111 according to the entry.
  • the packet is output and transferred to the adjacent switch 103 via the path 111.
  • FIG. 1 shows an operation when a switch receives a packet.
  • the hardware transfer unit 104 searches the transfer table 106 belonging to the flow table 105 and the entry registered in the monitoring table 107, and compares the entry with the information of the packet 109. If the packet 109 matches the entry condition, the action (predetermined processing) described in the entry is performed on the packet 109.
  • the hardware transfer unit 104 transmits the packet 109 to the adjacent switch 103 via the path 111.
  • Hardware transfer For example, if it is described in the entry action (predetermined processing) that the hardware transfer unit 104 transfers the packet to the adjacent switch 103, the hardware transfer unit 104 transmits the packet 109 to the adjacent switch 103 via the path 111. Hardware transfer.
  • the hardware transfer unit 104 passes between the switch 101 and the controller 102 via the protocol control unit 108.
  • the data is transferred to the controller 102 through the path 110 according to the rules of the specified protocol.
  • the hardware transfer unit 104 searches each entry in the transfer table 106 and the monitoring table 107 for one received packet, and there is an entry with a condition that matches both tables. Assume that a “multi-hit operation” is performed in which actions (predetermined processing) described in both entries are performed simultaneously.
  • the hardware transfer unit 104 has an entry that matches one packet 109 in both the transfer table 106 and the monitoring table 107, and the action (predetermined processing) of the entry in the transfer table 106 is “adjacent”.
  • the action (predetermined processing) of the entry in the transfer table 106 is “adjacent”.
  • the entry registration 112 represents a flow of control (data) when registering a mirroring entry and a statistics entry in the monitoring table 107.
  • the entry registration 113 represents a flow of control (data) when registering a packet transfer entry in the transfer table 106.
  • a protocol message according to the protocol is used between the controller 102 and the protocol control unit 108 in the switch 101 as in the entry registration 112. Then, an entry registration request is made from the controller 102.
  • the protocol control unit 108 registers a mirroring entry or a statistical entry in the monitoring table 107 according to the content of the entry registration request.
  • a protocol message in accordance with a protocol defined between the controller 102 and the protocol control unit 108 in the switch 101 is registered as in the entry registration 113. Used to make an entry registration request from the controller 102.
  • the protocol control unit 108 Upon receiving an entry registration request from the controller 102, the protocol control unit 108 registers a packet transfer entry in the transfer table 106 in accordance with the content of the entry registration request.
  • the statistical information acquisition request 114 represents a flow of request control (data) for acquiring statistical information.
  • the statistical information response 115 represents a flow of control (data) for sending statistical information to the controller 102.
  • a protocol message in accordance with a protocol defined between the controller 102 and the protocol control unit 108 in the switch 101 is used as in the case of the statistical information acquisition request 114.
  • the controller 102 issues a statistical information acquisition request.
  • the protocol control unit 108 acquires statistical information from the monitoring table 107.
  • the protocol control unit 108 collects statistical information of packets that hit (corresponding) to the statistical entry and accumulates the statistical information in the monitoring table 107.
  • the monitoring table 107 receives the statistical information acquisition request 114 and returns the statistical information to the protocol control unit 108 as in the case of the statistical information response 115. .
  • the protocol control unit 108 uses the protocol message according to the protocol, and returns the acquired statistical information to the controller 102 through the statistical information response 115.
  • the network is a centralized management network in which the switch packet transfer table is changed from the controller in accordance with a control protocol (for example, OpenFlow).
  • a control protocol for example, OpenFlow
  • the switch 101 and the controller 102 are the same as those in FIG.
  • Packet 205 represents a packet received by the switch 101.
  • the packet 205 corresponds to the packet 109 in FIG.
  • the packet 208 represents a packet including “A”, “b”, “1”, “DATA” as an internal configuration.
  • the packet 209 represents a packet including “B”, “a”, “1”, “DATA” as an internal configuration.
  • the packet group 210 represents a packet group output from “Port 1” which is one of the ports of the switch 101.
  • the packet group 210 includes a packet 206, a packet 207, and a packet 208.
  • the entry 212 is one of the packet transfer entries registered in the transfer table 106, and represents a packet transfer entry for transferring “packet including“ A ”” to “Port1”.
  • FIG. 4 shows a normal state in which there are no entries in the monitoring table 107, entries 212 and 213 are already registered in the transfer table 106, and only packet transfer is performed.
  • the hardware transfer unit 104 inside the switch 101 is one of the packet transfer entries registered in the transfer table 106, and transfers “packet including“ B ”” to “Port 2”.
  • the packet 209 is output from “Port 2” as the packet group 211 in accordance with the packet transfer entry (entry 213).
  • the entry registration 214 represents a flow of control (data) in the case where a mirroring entry is registered in the monitoring table 107 of the switch 101 from the controller 102 via the secure channel in accordance with the control protocol.
  • the controller 102 transmits a protocol message according to the protocol to the protocol control unit 108 in the switch 101, and makes an entry registration request.
  • the protocol control unit 108 Upon receiving an entry registration request from the controller 102, the protocol control unit 108 registers a mirroring entry 215 in the monitoring table 107 in accordance with the content of the entry registration request.
  • the controller 102 Since the controller 102 also controls the transfer table 212, the condition of the entry 215 can be selected.
  • the protocol control unit 108 in the switch 101 sends “packet including“ A ”” to the controller 102 as in the packet 216 in FIG. Transmit as a mirror packet.
  • the hardware transfer unit 104 inside the switch 101 performs the multi-hit operation of the transfer table 106 and the monitoring table 107, so that the normal transfer (packet group 210, packet group 211) processing is continued as it is.
  • the packet 216 can be mirrored.
  • Entry registration 217 represents the flow of control (data) when the controller 102 registers a statistical entry in the monitoring table 107 of the switch 101 via a secure channel in accordance with the control protocol.
  • the entry 218 is one of the monitoring entries registered in the monitoring table 107, and represents a statistical entry that matches (Hit) “packet including“ A ””.
  • the controller 102 receives the monitoring result (mirror packet) in FIG. 6 and, as in the entry registration 217 in FIG. 7, “A”, “a” having a finer granularity than “packet including“ A ””.
  • An entry 218 for collecting statistical information under the condition “packet containing” is registered in the monitoring table 107.
  • the controller 102 transmits a protocol message according to the protocol to the protocol control unit 108 in the switch 101, and makes an entry registration request.
  • the protocol control unit 108 Upon receipt of the entry registration request from the controller 102, the protocol control unit 108 registers the statistical information collection entry 218 in the monitoring table 107 in accordance with the content of the entry registration request.
  • Statistical information 219 represents statistical information sent from the switch 101 to the controller 102.
  • the packet group 210 represents a packet group output from “Port 1” of the switch 101.
  • the packet group 210 includes a packet 208.
  • the packet group 211 represents a packet group output from “Port 2” of the switch 101.
  • the packet group 211 includes a packet 206, a packet 207, and a packet 209.
  • the entry registration 220 represents a flow of control (data) when the controller 102 registers a packet transfer entry in the transfer table 106 of the switch 101 via the secure channel in accordance with the control protocol.
  • the entry 221 is one of packet transfer entries registered in the transfer table 106 and represents a packet transfer entry for transferring “packet including“ A ”and“ a ”” to “Port 2”. .
  • the controller 102 transmits a protocol message in accordance with a prescribed protocol to the protocol control unit 108 in the switch 101 to make an entry registration request.
  • the protocol control unit 108 Upon receiving an entry registration request from the controller 102, the protocol control unit 108 registers a packet transfer entry 221 in the transfer table 106 in accordance with the content of the entry registration request.
  • the hardware transfer unit 104 inside the switch 101 converts the packet 206 and the packet 207 that are “packets including“ A ”and“ a ”” into the packet group 211 according to the entry 221 registered in the transfer table 106.
  • the data is output from “Port 2”.
  • the hardware transfer unit 104 outputs the packet 208 from the “Port 1” as the packet group 210, and outputs the packet 206, the packet 207, and the packet 209 from the “Port 2” as the packet group 211.
  • the controller since the controller centrally controls the monitoring process, the monitoring result can be reflected in the switch path control.
  • the switch 101 and the controller 102 are the same as those in FIG.
  • Step S101 The controller 102 sends a mirroring entry registration request to the switch 101 using a “Protocol message” compliant with a control protocol (OpenFlow protocol) in the OpenFlow technology.
  • the protocol control unit 108 inside the switch 101 receives a mirroring entry registration request from the controller 102 by “Protocol message”. This processing flow is included in the entry registration 214 of FIG.
  • Step S102 The protocol control unit 108 registers the mirroring entry in the monitoring table 107 in response to the mirroring entry registration request. That is, the controller 102 performs control to register the mirroring entry in the monitoring table 107 via the protocol control unit 108. This processing flow is included in the entry registration 214 of FIG.
  • Step S103 The protocol control unit 108 completes the registration of the mirroring entry (entry 215 in FIG. 5) in the monitoring table 107.
  • the hardware transfer unit 104 inside the switch 101 starts mirroring when the registration of the mirroring entry is completed.
  • Step S104 When the hardware transfer unit 104 receives a packet from the outside of the switch 101, the hardware transfer unit 104 checks whether the received packet matches (Hit) the mirroring entry registered in the monitoring table 107. Actually, the same processing is performed for a packet generated inside the switch.
  • Step S105 When the received packet matches (Hit) the mirroring entry registered in the monitoring table 107, the hardware transfer unit 104 sends a packet (the packet shown in FIG. 6) to the controller 102 for mirroring to the controller 102. 216).
  • Step S106 The protocol control unit 108 transmits a mirror packet (packet 216 in FIG. 6) to the controller 102 using the “Protocol message”, and mirrors it.
  • Step S107 The controller 102 analyzes the mirror packet sent from the switch 101.
  • Step S108 Based on the analysis result of the mirror packet, the controller 102 transmits a request for registration of a statistical entry to the switch 101 by “Protocol message”.
  • the protocol control unit 108 inside the switch 101 receives a request for registration of a statistical entry by a “Protocol message” from the controller 102. This processing flow is included in the entry registration 217 of FIG.
  • Step S109 The protocol control unit 108 registers the statistical entry in the monitoring table 107 in response to the statistical entry registration request. That is, the controller 102 performs control to register the statistical entry in the monitoring table 107 via the protocol control unit 108. This processing flow is included in the entry registration 217 of FIG.
  • Step S110 The monitoring table 107 accepts entry registration work and registers a statistical entry (entry 218 in FIG. 7).
  • the hardware transfer unit 104 starts collecting statistical information on the packet corresponding to the statistical entry from the time when the registration of the statistical entry is completed.
  • the hardware transfer unit 104 receives a packet from the outside of the switch 101, the hardware transfer unit 104 confirms whether the received packet matches (Hit) the statistical entry registered in the monitoring table 107, so that the statistical information of the corresponding entry is obtained. Are collected in the switch 101 and stored in the monitoring table 107.
  • Step S111 The controller 102 starts processing for inquiring statistical information to the switch 101 and performing statistical analysis.
  • Step S112 In order to collect the statistical information, the controller 102 inquires of the switch 101 about the statistical information by “Protocol message”.
  • Step S114 The protocol control unit 108 acquires the result of statistical information as a response from the monitoring table 107.
  • Step S115 The protocol control unit 108 transmits the result of the statistical information to the controller 102 by “Protocol message”.
  • the controller 102 performs statistical analysis based on the result of the statistical information.
  • Step S118 The transfer table 106 accepts entry registration work and registers a packet transfer entry (entry 221 in FIG. 9).
  • the hardware transfer unit 104 starts the action (predetermined processing) described in the entry for the received packet corresponding to the entry from the time when the registration of the packet transfer entry is completed.
  • the switch system uses the control protocol of the communication device to realize the monitoring function and the network path control, so that the centralized monitoring of the entire network is realized and the monitoring is performed. The result can be reflected in the route control.
  • a transfer flow table and a monitoring flow table are prepared in the switch system, both tables are searched for one packet, and the operation registered in each entry is performed.
  • 11 to 14 show the flow of control (data) in the second embodiment of the present invention from the network system viewpoint.
  • the switch 101 and the controller 102 are the same as those in FIG.
  • Packets 205 to 221 are the same as those in FIGS.
  • the basic operation of the switch system in the present embodiment is the same as that in the first embodiment, and therefore will be omitted.
  • Packet 205 represents a packet received by the switch 101.
  • the packet 206 represents a packet including “A”, “a”, “1”, “DATA” as an internal configuration.
  • the packet 208 represents a packet including “A”, “b”, “1”, “DATA” as an internal configuration.
  • the packet 209 represents a packet including “B”, “a”, “1”, “DATA” as an internal configuration.
  • the packet group 210 represents a packet group output from “Port 1” of the switch 101.
  • the packet group 210 includes a packet 206, a packet 207, and a packet 208.
  • the packet group 211 represents a packet group output from “Port 2” of the switch 101.
  • the packet group 211 includes a packet 209.
  • the entry 212 is one of the packet transfer entries registered in the transfer table 106, and represents a packet transfer entry for transferring “packet including“ A ”” to “Port1”.
  • the entry 213 is one of the packet transfer entries registered in the transfer table 106 and represents a packet transfer entry for transferring “packet including“ B ”” to “Port 2”.
  • the entry 222 is one of the packet transfer entries registered in the transfer table 106, and represents a transfer default entry for transferring all packets to the controller 102 (unconditionally).
  • the entry 222 (default entry for transfer) can be said to be one of the entries for inquiry to the controller 102.
  • packets that do not fit (Hit) the entry of the transfer table 106 sends the switch 101 to the controller 102 after analyzing the controller 102, the analysis results Based on this, as shown in FIG. 11, by registering the packet transfer entry 212 and the entry 213 in the transfer table 106, the switch 101 can perform hardware transfer.
  • a control protocol such as the open flow technique
  • a packet transfer entry other than the packet transfer entry (entry 222) for transferring all packets to the controller, such as the entry 212 or the entry 213, in the transfer table 106 A packet transfer entry other than the entry 222 (here, the entry 212 or the entry 213) is preferentially used.
  • the hardware transfer unit 104 inside the switch 101 sets the entry when the received packet matches (Hit) both the entry 222 and a packet transfer entry (entry 212 or 213) other than the entry 222.
  • the action (predetermined processing) described in the packet transfer entry (entry 212 or entry 213) other than 222 is adopted.
  • a packet transfer entry (entry 212 or 213) other than the entry 222 is registered higher than the entry 222 (the entry 222 is made the lowest). good.
  • the hardware transfer unit 104 ends the search when the received packet first matches (Hit) a packet transfer entry (entry 212 or entry 213) other than the entry 222, and the received packet to start the actions described in the transfer entry (predetermined processing).
  • the monitoring table 107 does not exist inside the switch 101, and only one transfer table 106 exists.
  • the state in which the monitoring table 107 does not exist may be a state in which no entry corresponding to the received packet is registered in the monitoring table 107.
  • the first packet is the first packet for which no corresponding entry is registered in the flow table.
  • both the transfer table 106 and the monitoring table 107 exist inside the switch 101.
  • Packet 216 represents a packet transferred from the switch 101 to the controller 102.
  • the entry 223 is one of packet transfer entries registered in the transfer table 106, and represents a packet transfer entry for transferring all packets (unconditionally) to “Port1”.
  • the discard point 225 represents a discard point between the switch 101 and the controller 102.
  • the hardware transfer unit 104 inside the switch 101 When the hardware transfer unit 104 inside the switch 101 receives a normal packet, the hardware transfer unit 104 transfers the hardware to “Port 1” in accordance with the entry 223 of the transfer table 106.
  • the hardware transfer unit 104 enables the multi-hit operation of the transfer table 106 and the monitoring table 107. Therefore, according to the entry 223, the hardware transfer of the received packet is performed simultaneously with the monitoring. The table 107 is also searched, and mirroring to the controller 102 is performed according to the matched (Hit) entry 224.
  • the mirror packet may be transferred within the allowable range of the processing performance of the controller 102, the network bandwidth between the switch 101 and the controller 102, and the protocol processing performance of the switch.
  • FIG. 13 a state in which the mirror packet (packet 216) received by the controller 102 is analyzed and the path control to the switch 101 is performed based on the analysis result is the state in FIG. 14.
  • the entry 226 represents a discard entry for performing nothing or dropping (discard) the “packet including“ A ”” registered in the monitoring table 107.
  • the monitoring table 107 does nothing with the same rule (match condition) as the packet transfer entry (entry 212, entry 213).
  • a discard entry entry 226, entry 227) for dropping (discarding)
  • the mirroring entry indicates that all packets are transmitted (unconditionally) to the controller 102 as mirror packets.
  • the default entry for transfer indicates that all packets are transferred (unconditionally) to a predetermined output destination (here, the controller 102).
  • the switch 101 has registered in the monitoring table 107 a mirroring entry that specifies that all packets are to be transmitted to the controller 102 as mirror packets, and the transfer table 106 has determined all packets in advance.
  • a packet that matches the mirroring entry (Hit) is sent to the “Protocol message” via the protocol control unit 108. ”To the controller 102.
  • Step S206 The controller 102 analyzes the transmitted mirror packet.
  • Step S208 The protocol control unit 108 receives a request for registering the packet transfer entry in the transfer table 106 from the controller 102 by “Protocol message”, and registers the packet transfer entry in the transfer table 106.
  • Step S210 At the same time as registering the packet transfer entry in the transfer table 106, the protocol control unit 108 does nothing with the monitoring table 107 with the same rule (match condition) as the above packet transfer entry, or A statistical entry describing an action (predetermined processing) to drop (discard) is registered.
  • Step S211 Registration of the statistical entry in the monitoring table 107 is completed.
  • the hardware transfer unit 104 does nothing or drops (discards) the received packet that is the same as the mirror packet from the point when registration of the statistical entry is completed.
  • the controller 102 receives the mirror packets, analyzes the contents of the mirror packets, using the "Protocol message" based on the analysis result, to the transfer table 106 of the switch 101, the official packet Controls to register transfer entry.
  • the controller 102 performs control for registering the packet transfer entry with respect to the transfer table 106, and at the same time, also with respect to the monitoring table 107, the above packet transfer entry. Under the same rule (match condition), control is performed to register a statistic entry in which an action (predetermined processing) indicating nothing or dropping (discarding) is performed.
  • a forwarding table is prepared instead of the monitoring table and the route control method is further devised using two forwarding tables.
  • the configuration will be described with reference to FIGS.
  • the problem to be solved is the loss of the first packet when the switch is activated, as in the second embodiment of the present invention.
  • a transfer table A 106-1 is prepared inside the switch 101 for mirroring.
  • a transfer table B 106-2 is prepared.
  • controller 102 is the same as that of FIG. Packets 205 to 221 are the same as those in FIGS.
  • the basic operation of the switch system in the present embodiment is the same as that in the first embodiment, and therefore will be omitted.
  • Packet 205 represents a packet received by the switch 101.
  • the packet 206 represents a packet including “A”, “a”, “1”, “DATA” as an internal configuration.
  • the packet 207 represents a packet including “A”, “a”, “2”, “DATA” as an internal configuration.
  • the packet 209 represents a packet including “B”, “a”, “1”, “DATA” as an internal configuration.
  • the packet group 210 represents a packet group output from “Port 1” of the switch 101.
  • the packet group 210 includes a packet 206, a packet 207, a packet 208, and a packet 209.
  • the packet group 211 represents a packet group output from “Port 2” of the switch 101.
  • the packet group 211 contains nothing because there is no corresponding packet.
  • Packet 216 represents a packet (mirror packet) transferred from the switch 101 to the controller 102.
  • the discard point 225 represents a discard point between the switch 101 and the controller 102.
  • the entry 230 is one of the packet transfer entries registered in the transfer table A 106-1, and represents a transfer default entry for transferring all packets to the controller 102 (unconditionally).
  • the entry 230 (the default entry for transfer) can be said to be one of the entries for inquiring to the controller 102.
  • the entry 231 is one of the packet transfer entries registered in the transfer table B 106-2, and represents a packet transfer entry for transferring all packets (unconditionally) to “Port1”.
  • a packet transfer entry (entry 230) for transferring all packets to the controller 102 is registered in the transfer table A 106-1.
  • a packet transfer entry (entry 231) for transferring all packets to “Port 1” is registered.
  • the switch according to the present invention enables the multi-hit operation of the transfer table A 106-1 and the transfer table B 106-2, when the transfer switch 101 receives a normal packet, it transfers the transfer table B 106-2. according entry 231 retrieved and adapted (Hit), and at the same time implementing the hardware forwarding to "Port1" transfer table A106-1 also searched according entry 230 that matches (Hit), also transfer to the controller 102 carry out.
  • the packet 216 transferred (mirrored) to the controller 102 may be discarded.
  • the transfer of the received packet is performed according to the entry 231, the packet 216 that is a mirror packet is discarded. Even if it does, it does not affect communication.
  • the state in which the mirror packet (packet 216) received by the controller 102 is analyzed and the path control to the switch 101 is performed based on the analysis result is the state in FIG.
  • the entry 232 is one of the packet transfer entries registered in the transfer table A 106-1, and represents a packet transfer entry for transferring “packet including“ A ”” to “Port1”.
  • the entry 233 is one of the packet transfer entries registered in the transfer table A 106-1, and represents a packet transfer entry for transferring "packet including" B "" to "Port2.”
  • the entry 234 is one of the packet transfer entries registered in the transfer table B 106-2. For the “packet including“ A ””, nothing is performed, or the discard for dropping (discarding) is performed. Represents an entry.
  • the entry 235 is one of the packet transfer entries registered in the transfer table B 106-2, and does nothing for the “packet including“ B ”” or discards it for dropping (discarding). Represents an entry.
  • the controller 102 analyzes the mirror packet (packet 216), and based on the analysis result, the packet transfer entry (entry 232) for transferring “packet including“ A ”” to “Port1” in the transfer table A. ) And a packet transfer entry (entry 233) for transferring “packet including“ B ”” to “Port2”.
  • the packet transfer entry entity 232
  • a packet transfer entry entity 233
  • the controller 102 registers the packet transfer entries (entry 232 and entry 233) in the transfer table A, and at the same time, the same rule (match condition) as the packet transfer entry in the transfer table B. Then, the discard entry (entry 234, entry 235) to do nothing or drop (discard) is registered, and hardware transfer according to the entry 231 registered by default (hardware transfer of all packets) ).
  • an object of the present invention is to realize centralized management of communication data monitoring.
  • control protocol for centralized control of the network by combining the control protocol for centralized control of the network and monitoring, centralized control of the switching system can be performed, the granularity of monitoring can be freely changed, and it can be freely reflected in the route control of the network. I did it.
  • the multi-hit operation is performed on the transfer table and the monitoring table in the switch so that the monitoring can be performed freely without affecting the data communication.
  • a monitoring table that does not register packet transfer entries is prepared separately from the transfer table, and only statistical entries and mirroring entries are registered in the monitoring table, and their multi-hits are registered. Perform the action.
  • the statistics entry and the mirroring entry may be registered in the monitoring table, and the routing control entry may not be registered. That is, it is also possible not to perform the hardware forwarding.
  • the monitoring of the switch is centrally controlled in cooperation with the controller by the control protocol for centrally controlling the network.
  • the loss of the first packet flowing in at the time of starting the switch is reduced by realizing the centralized control of the switch monitoring by using the control protocol.
  • control protocol of the communication device for example, OpenFlow
  • OpenFlow the control protocol of the communication device
  • the switch has a flow table for transfer and a flow table for monitoring, and both tables are searched for one packet, and a multi-hit operation for performing the operation registered in each entry is performed. Do. Thereby, the granularity of monitoring can be freely changed without being conscious of route control.

Landscapes

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

Abstract

 スイッチシステムは、経路制御を意識することなくモニタリングの粒度を自由に変更可能にする。例えば、オープンフロー(OpenFlow)技術に準拠した通信機器の制御プロトコルを使用し、スイッチシステムのモニタリング機能を制御することにより、ネットワーク全体として集中制御可能なモニタリングを実現し、そのモニタリング結果を経路制御へ反映する。ここで、スイッチは、内部に、パケット転送用のフローテーブルと、モニタリング用のフローテーブルを持ち、1つのパケットに対して両テーブルを検索し、それぞれのエントリに登録された動作を実施するマルチヒット動作を行う。すなわち、両テーブルを検索し、該当する全てのフローエントリに従って、当該パケットを転送する。

Description

スイッチシステム、モニタリング集中管理方法
 本発明は、スイッチシステムに関し、特に経路制御を行うスイッチシステムに関する。
 従来技術では、スイッチシステムを構成するそれぞれのスイッチに、「sFlow」、「RSPAN(Remote Switched Port Analyzer)」等のモニタリング(monitoring:監視)機能は存在している。そのため、それぞれのスイッチで、モニタリングが可能であったが、そのモニタリングの機能を集中制御することは困難であった。
 sFlow等のように集中制御できる方式もあるが、それぞれのスイッチにコンフィグレーションが必要であったり、モニタリング自体の粒度が制限されていたりと制約も多く、モニタリングの機能を集中制御する際に自由度が無かった。
 また、集中制御できる方式といえども、それはあくまでモニタリングのみの集中制御であり、経路制御と連動することはできなかった。そのため、モニタリングした結果も踏まえてモニタリングの粒度を変更したり、モニタリングの結果を踏まえてネットワークの経路制御に反映したりすることはできなかった。
 現在、ネットワーク通信の経路制御方式の1つとして、通信機器の制御プロトコルであるオープンフロー(OpenFlow)技術を使用した経路制御方式が研究されている。オープンフロー技術の詳細については、非特許文献1、2に記載されている。オープンフロー技術による経路制御が行われるネットワークを、オープンフローネットワークと呼ぶ。
 オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラーが、OFS(OpenFlow Switch)等のスイッチのフローテーブル(Flow Table)を操作することによりスイッチの挙動を制御する。コントローラーとスイッチの間は、コントローラーがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
 オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラーの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット(通信データ)の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
 フローテーブルとは、所定のルール(マッチ条件)に適合(Hit)するパケット群(パケット系列)に対して行うべき所定のアクション(所定の処理)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
 フローエントリのルールは、パケットの各プロトコル階層のヘッダ(header)領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組合せにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。
 フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されている場合、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されている場合、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 オープンフローネットワークにおけるスイッチは、フローテーブルに登録されたフローエントリのルールに適合(Hit)するパケット群に対して、当該フローエントリのアクションを実行する。
 オープンフロー技術を使用した制御方式においても、フローエントリ毎に統計情報を取得することによる通信のモニタリングは可能である。
 しかし、オープンフロー技術をそのまま使用するだけの制御方式では、統計情報はフローの経路制御エントリと一対一の関係であるため、モニタリングの粒度を自由に変更するには、フローの経路制御エントリを意識して設定する必要があった。
"The OpenFlow Switch Consortium" <http://www.openflowswitch.org/> "OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009" <http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
 本発明の目的は、スイッチシステムのモニタリングを集中制御できるスイッチシステムを提供することにある。
 本発明のスイッチシステムは、スイッチと、コントローラーと、隣接スイッチとを含む。スイッチは、内部のフローテーブルに登録されたフローエントリに従ってパケットを転送する。コントローラーは、スイッチからパケットについての問い合わせを受けた際に、スイッチの内部のフローテーブルに、当該パケットについてのルール(マッチ条件)とアクション(所定の処理)とを定義したフローエントリを登録する。隣接スイッチは、スイッチに接続されている。ここで、スイッチは、ルール(マッチ条件)に該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブル(図1~図10及び図13~図15のモニタリング用テーブル107、図16~図17の転送用テーブルA106-1)と、ルール(マッチ条件)に該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブル(図1~図10及び図13~図15の転送用テーブル106、図16~図17の転送用テーブルB106-2)とを含む。
 本発明に係るスイッチは、ルール(マッチ条件)に該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルと、ルール(マッチ条件)に該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルと、問い合わせ用エントリ及びパケット転送用エントリの各々に従ってパケットを転送する転送部とを備える。
 本発明のモニタリング集中管理方法では、スイッチの内部に、フローテーブルとして、ルール(マッチ条件)に該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを設ける。また、スイッチの内部に、フローテーブルとして、ルール(マッチ条件)に該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを設ける。また、スイッチにおいて、内部のフローテーブルに登録されたフローエントリに従ってパケットを転送する。また、コントローラーにおいて、スイッチからパケットについての問い合わせを受けた際に、スイッチの内部のフローテーブルに、当該パケットについてのルール(マッチ条件)とアクション(所定の処理)とを定義したフローエントリを登録する。
 本発明に係るプログラムは、ルール(マッチ条件)に該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを参照するステップと、ルール(マッチ条件)に該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを参照するステップと、問い合わせ用エントリ及びパケット転送用エントリの各々に従ってパケットを転送するステップとをスイッチに実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
 これにより、モニタリングの粒度が自由に変更可能になり、ネットワークの経路制御への反映を自由に行えるようになる。
本発明の第1実施形態におけるスイッチシステムの構成例を示す図である。 本発明の第1実施形態における、フローテーブルにエントリを登録する場合の制御の流れを説明するための図である。 本発明の第1実施形態における、統計情報を取得する場合の制御の流れを説明するための図である。 本発明の第1実施形態における、転送用テーブルに従ったパケット転送の際の制御の流れについて説明するための図である。 本発明の第1実施形態における、モニタリング用テーブルへのミラーリング用エントリ登録の際の制御の流れを説明するための図である。 本発明の第1実施形態における、コントローラーへの問い合わせの際の制御の流れを説明するための図である。 本発明の第1実施形態における、モニタリング用テーブルへの統計用エントリ登録の際の制御の流れを説明するための図である。 本発明の第1実施形態における、コントローラーへの統計情報の通知の際の制御の流れを説明するための図である。 本発明の第1実施形態における、転送用テーブルへのパケット転送用エントリ登録の際の制御の流れを説明するための図である。 本発明の第1実施形態におけるスイッチシステムの動作を表したシーケンス図である。 本発明の第1実施形態におけるスイッチシステムの動作を表したシーケンス図である。 本発明の第2実施形態における、モニタリング用テーブルが存在しない場合のパケット転送時の制御の流れを説明するための図である。 本発明の第2実施形態における、モニタリング用テーブルが存在しない場合のスイッチの起動時の制御の流れを説明するための図である。 本発明の第2実施形態における、ファーストパケット転送時の制御の流れを説明するための図である。 本発明の第2実施形態における、モニタリング用テーブル利用時の制御の流れを説明するための図である。 本発明の第2実施形態における、本発明の第2実施形態におけるスイッチシステムの動作を表したシーケンス図である。 本発明の第3実施形態における、ファーストパケット転送時の制御の流れを説明するための図である。 本発明の第3実施形態における、経路制御を行った状態を説明するための図である。
 <第1実施形態>
 以下に、本発明の第1実施形態について添付図面を参照して説明する。
 [システム構成]
 図1に示すように、本発明の第1実施形態におけるスイッチシステムは、スイッチ101と、コントローラー102と、隣接スイッチ103を含む。
 スイッチ101は、スイッチ本体を表す。なお、スイッチ101は、制御プロトコル(例えばオープンフロー等)に対応し、パケット転送用のテーブルやモニタリング用のテーブルを集中管理する外部のコントローラーから変更可能であるものとする。
 コントローラー102は、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101を制御する。
 隣接スイッチ103は、スイッチ101に隣接する。
 [ハードウェアの例示]
 スイッチ101及び隣接スイッチ103の例として、オープンフロースイッチを想定している。オープンフロースイッチの例として、ネットワークスイッチ(network switch)、マルチレイヤスイッチ(multi-layer switch)等が考えられる。マルチレイヤスイッチは、サポートするOSI参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層(第3層)のデータを読むレイヤ3スイッチ、トランスポート層(第4層)のデータを読むレイヤ4スイッチ、アプリケーション層(第7層)のデータを読むレイヤ7スイッチ(アプリケーションスイッチ)がある。なお、オープンフローネットワークでは、一般的なルータやスイッチングハブ等の中継装置をオープンフロースイッチとして使用することもできる。また、スイッチ101及び隣接スイッチ103は、物理マシン上に構築された仮想スイッチでも良い。また、スイッチ101及び隣接スイッチ103の代替例として、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等も考えられる。
 コントローラー102の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラー102は、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
 スイッチ101、コントローラー102、及び隣接スイッチ103を接続するネットワークの例として、LAN(Local Area Network)を想定している。他の例として、インターネット、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等も考えられる。
 図示しないが、スイッチ101、コントローラー102、及び隣接スイッチ103は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、通信用インターフェース(I/F:interface)とによって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、マイクロプロセッサ(microprocessor)、マイクロコントローラー、或いは、専用の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。
 上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。或いは、DAS(Direct Attached Storage)、FC-SAN(Fibre Channel - Storage Area Network)、NAS(Network Attached Storage)、IP-SAN(IP - Storage Area Network)等を用いたストレージ装置でも良い。
 上記の通信用インターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 但し、実際には、これらの例に限定されない。
 スイッチ101は、ハードウェア転送部(スイッチング部)104と、フローテーブル105と、プロトコル制御部108を備える。
 ハードウェア転送部104は、スイッチングを行い、スイッチ外部から受信したパケットや、スイッチ内部にあるパケットをハードウェア転送する。ハードウェア転送とは、スイッチにおいて、CPUを介在することなく、例えばスイッチチップ内に閉じて転送することである。
 フローテーブル105は、転送用テーブル106と、モニタリング用テーブル107を含む。
 転送用テーブル106は、パケット転送用エントリを登録するための転送用のフローテーブルを表す。パケット転送用エントリとは、ルール(マッチ条件)に該当するパケットを、スイッチ101の所定のポート(Port)に転送し、当該ポートの出力先にある隣接スイッチ103にハードウェア転送するためのフローエントリである。
 モニタリング用テーブル107は、ミラーリング用エントリ及び統計用エントリを登録するためのモニタリング用のフローテーブルを表す。ミラーリング用エントリとは、ルール(マッチ条件)に該当するパケットをコントローラー102に転送(ミラーリング)するためのフローエントリである。ミラーリングとは、対象のネットワークに流れているパケットを通常通り転送しつつ、当該パケットをコピー(複写)して任意の転送先に転送することである。ネットワーク通信においては、受信した1つの通信データを複写して複数の転送先に転送することも可能である。統計用エントリとは、ルール(マッチ条件)に該当するパケットについての統計情報を取得するためのフローエントリである。ミラーリング用エントリ及び統計用エントリは、コントローラー102への問い合わせ用エントリの1つであるといえる。
 プロトコル制御部108は、オープンフロー(OpenFlow)技術を使用した制御を行う。プロトコル制御部108は、ハードウェア転送部104から受け取ったパケットをコントローラー102に送信し、コントローラー102からの制御に応じて、フローテーブル105へのエントリの登録・変更を行う。
 パケット109は、スイッチ101が受信したパケットを表す。
 経路110は、スイッチ101とコントローラー102との間の経路を表す。ハードウェア転送部104は、受信パケットについてフローテーブル105を検索した結果、モニタリング用テーブル107内に適合(Hit)したエントリがあれば、当該エントリにしたがって、経路110と接続された出力ポートに当該受信パケットを出力し、経路110を経由してコントローラー102に転送する。
 経路111は、スイッチ101と隣接スイッチ103との間の経路を表す。ハードウェア転送部104は、受信パケットについてフローテーブル105を検索した結果、転送用テーブル106内に適合(Hit)したエントリがあれば、当該エントリにしたがって、経路111と接続された出力ポートに当該受信パケットを出力し、経路111を経由して隣接スイッチ103に転送する。
 [パケット受信時の動作]
 図1では、スイッチにてパケットを受信時の動作を表している。
 ハードウェア転送部104は、パケット109を受信した時、フローテーブル105に所属している転送用テーブル106、及びモニタリング用テーブル107に登録されているエントリを検索し、パケット109の情報と比較を行い、エントリの条件にパケット109が合致している場合、パケット109に対し、そのエントリに記されているアクション(所定の処理)を行う。
 例えば、ハードウェア転送部104は、エントリのアクション(所定の処理)として、当該パケットを隣接スイッチ103にハードウェア転送する旨が記されている場合、パケット109を、経路111を通して隣接スイッチ103へハードウェア転送する。
 また、ハードウェア転送部104は、エントリのアクション(所定の処理)として、当該パケットをコントローラー102へ転送する旨が記されている場合、プロトコル制御部108を経由し、スイッチ101とコントローラー102間で規定されたプロトコルのルールに従い、経路110を通してコントローラー102へ転送する。
 なお、本発明では、ハードウェア転送部104は、1つの受信パケットに対して、転送用テーブル106とモニタリング用テーブル107のそれぞれのエントリを検索し、両テーブルに合致する条件のエントリがあった場合、両方のエントリに記載されているアクション(所定の処理)を同時に実施する「マルチヒット動作」を行うものとする。
 例えば、ハードウェア転送部104は、1つのパケット109に合致するエントリが転送用テーブル106、及びモニタリング用テーブル107の両方にあり、転送用テーブル106のエントリのアクション(所定の処理)には「隣接スイッチ103へのハードウェア転送」が記され、モニタリング用テーブル107のアクション(所定の処理)には「コントローラー102への転送(ミラーリング)」が記されていた場合、パケット109を受信すると、経路111を通して隣接スイッチ103にハードウェア転送し、同時に、経路110を通してコントローラー102へも転送(ミラーリング)する。
 [フローテーブルにエントリを登録する場合]
 図2を参照して、コントローラーからスイッチのフローテーブルに対してエントリを登録する場合について説明する。
 エントリ登録112は、モニタリング用テーブル107にミラーリング用エントリ及び統計用エントリを登録する場合の制御(データ)の流れを表す。
 エントリ登録113は、転送用テーブル106にパケット転送用エントリを登録する場合の制御(データ)の流れを表す。
 コントローラー102からモニタリング用テーブル107にミラーリング用エントリや統計用エントリを登録する場合、エントリ登録112のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間でプロトコルに従ったプロトコルメッセージを使用し、コントローラー102からエントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、ミラーリング用エントリや統計用エントリを登録する。
 コントローラー102から転送用テーブル106にパケット転送用エントリを登録する場合、エントリ登録113のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間で規定されているプロトコルに従ったプロトコルメッセージを使用し、コントローラー102からエントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、転送用テーブル106に対して、パケット転送用エントリを登録する。
 [統計情報を取得する場合]
 図3を参照して、コントローラーからスイッチの統計情報を取得する場合について説明する。
 統計情報取得要求114は、統計情報を取得するためのリクエスト制御(データ)の流れを表す。
 統計情報応答115は、統計情報をコントローラー102へ送る制御(データ)の流れを表す。
 コントローラー102からスイッチ101に統計情報の取得を要求する場合、統計情報取得要求114のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間で規定されたプロトコルに従ったプロトコルメッセージを使用し、コントローラー102から統計情報取得要求を行う。プロトコル制御部108は、コントローラー102から統計情報取得要求を受けると、モニタリング用テーブル107に対して統計情報取得を行う。ここでは、プロトコル制御部108は、統計用エントリにヒット(該当)するパケットの統計情報を収集し、モニタリング用テーブル107に蓄積する。
 スイッチ101からコントローラー102に取得した統計情報を応答する場合、統計情報応答115のように、モニタリング用テーブル107は、統計情報取得要求114を受け、プロトコル制御部108に対して、統計情報を応答する。プロトコル制御部108は、プロトコルに従ったプロトコルメッセージを使用し、コントローラー102に対して、統計情報応答115により、取得した統計情報を応答する。
 [ネットワークのシステム視点]
 図4から図9において、ネットワークのシステム視点で、本発明の第1実施形態における制御(データ)の流れを表す。
 本実施形態では、制御プロトコル(例えばオープンフロー等)に準拠して、スイッチのパケットの転送用テーブルをコントローラーから変更する集中管理型のネットワークであることを前提とする。
 なお、スイッチ101、コントローラー102については、図1と同様である。
 [パケット転送]
 図4を参照して、転送用テーブルに従ったパケット転送の例について説明する。
 パケット205は、スイッチ101が受信したパケットを表す。なお、パケット205は、図1のパケット109に相当する。
 パケット206は、内部構成として「“A”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット207は、内部構成として「“A”、“a”、“2”、“DATA”」を含むパケットを表す。
 パケット208は、内部構成として「“A”、“b”、“1”、“DATA”」を含むパケットを表す。
 パケット209は、内部構成として「“B”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット群210は、スイッチ101のポートの1つである「Port1」から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208を含む。
 パケット群211は、スイッチ101のポートの1つである「Port2」から出力されたパケット群を表す。ここでは、パケット群211は、パケット209を含む。
 エントリ212は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリを表す。
 エントリ213は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリを表す。
 図4は、モニタリング用テーブル107にエントリが無く、転送用テーブル106にエントリ212とエントリ213が既に登録されており、パケットの転送のみ行っている通常状態である。
 スイッチ101が受信する可能性のあるパケットとしては、パケットの内部構成に応じて、パケット206、パケット207、パケット208、パケット209がある。
 スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリ(エントリ212)に従い、パケット206、パケット207、パケット208を、パケット群210として「Port1」から出力する。
 また、スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリ(エントリ213)に従い、パケット209を、パケット群211として「Port2」から出力する。
 [モニタリング用テーブルへのミラーリング用エントリ登録]
 図5を参照して、モニタリング用テーブルへのミラーリング用エントリ登録の例について説明する。
 エントリ登録214は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101のモニタリング用テーブル107にミラーリング用エントリを登録する場合の制御(データ)の流れを表す。
 エントリ215は、モニタリング用テーブル107に登録されているモニタリング用エントリの1つであり、「“A”を含むパケット」をコントローラー102に転送(ミラーリング)するためのミラーリング用エントリを表す。
 例えば、図4の状態において、「Port1」の先で輻輳が発生した場合等、パケット転送用のエントリ212に含まれる通信を解析し、原因を特定したい時に、図5に示すミラーリング用エントリ登録を行う。
 まず、エントリ登録214で示すように、コントローラー102からスイッチ101のモニタリング用テーブル107に「“A”を含むパケット」をコントローラーに転送(ミラーリング)するというエントリ215を登録する。
 ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、プロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。
 プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、ミラーリング用のエントリ215を登録する。
 なお、コントローラー102は、転送用テーブル212の制御も行っているため、エントリ215の条件を選定するのは可能である。
 [コントローラーへの問い合わせ]
 図6を参照して、既存のエントリにヒットするものがない未知のパケットについて、コントローラーへの問い合わせを行う処理の例について説明する。
 パケット216は、スイッチ101からコントローラー102に転送されるパケット(ミラーパケット)を表す。
 スイッチ101の内部にあるプロトコル制御部108は、図5でモニタリング用テーブル107に登録したエントリ215に従い、図6のパケット216のように、コントローラー102に対して、「“A”を含むパケット」をミラーパケットとして送信する。
 なお、スイッチ101の内部のハードウェア転送部104では、転送用テーブル106とモニタリング用テーブル107のマルチヒット動作を行うため、通常の転送(パケット群210、パケット群211)の処理をそのまま継続した状態で、パケット216のミラーリングが可能である。
 また、ミラーリングすることにより、コントローラー102は、「Port1」に転送されるパケット群210の中に、パケット206、パケット207、パケット208が存在することを認識することができる。
 [モニタリング用テーブルへの統計用エントリ登録]
 図7を参照して、モニタリング用テーブルへの統計用エントリ登録の例について説明する。
 エントリ登録217は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101のモニタリング用テーブル107に統計用エントリを登録する場合の制御(データ)の流れを表す。
 エントリ218は、モニタリング用テーブル107に登録されているモニタリング用エントリの1つであり、「“A”を含むパケット」に適合(Hit)する統計用エントリを表す。
 コントローラー102は、図6のモニタリング結果(ミラーパケット)を受けて、図7のエントリ登録217のように、「“A”を含むパケット」という粒度よりも更に細かい粒度の「“A”、“a”を含むパケット」という条件の統計情報収集用のエントリ218をモニタリング用テーブル107に登録する。
 ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、プロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。
 プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、統計情報収集用のエントリ218を登録する。
 [コントローラーへの統計情報の通知]
 図8を参照して、コントローラーに対する統計情報の通知の例について説明する。
 統計情報219は、スイッチ101からコントローラー102に送られた統計情報を表す。
 スイッチ101は、図7で登録されたエントリ218にヒットするパケットに対して、図8で示すように、統計情報の取得を行う。スイッチ101は、エントリ218にヒットしたパケットの統計情報219をコントローラー102へ送信する。
 [転送用テーブルへのパケット転送用エントリ登録]
 図9を参照して、統計情報に基づく転送用テーブルへのパケット転送用エントリ登録の例について説明する。
 パケット群210は、スイッチ101の「Port1」から出力されたパケット群を表す。ここでは、パケット群210は、パケット208を含む。
 パケット群211は、スイッチ101の「Port2」から出力されたパケット群を表す。ここでは、パケット群211は、パケット206と、パケット207と、パケット209を含む。
 エントリ登録220は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101の転送用テーブル106にパケット転送用エントリを登録する場合の制御(データ)の流れを表す。
 エントリ221は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“A”、“a”を含むパケット」を「Port2」に転送するためのパケット転送用エントリを表す。
 コントローラー102は、図8の統計情報の収集結果等を踏まえて、エントリ登録220のように、「“A”、“a”を含むパケット」を「Port2」へ転送するというエントリ221を転送用テーブルに登録し、「“A”、“a”を含むパケット」を「Port2」から送信されるパケット群211に変更する。
 ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、規定されているプロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。
 プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、転送用テーブル106に対して、パケット転送用のエントリ221を登録する。
 スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているエントリ221に従い、「“A”、“a”を含むパケット」であるパケット206、パケット207を、パケット群211に加えて、「Port2」から出力する。この場合、ハードウェア転送部104は、パケット208を、パケット群210として「Port1」から出力し、パケット206、パケット207、パケット209を、パケット群211として「Port2」から出力する。
 このように、本実施形態では、コントローラーがモニタリング処理を集中制御しているため、モニタリング結果をスイッチの経路制御に反映することができる。
 [動作シーケンス]
 図10A、図10Bを参照して、本発明の第1実施形態におけるスイッチシステムの動作を表したシーケンスについて説明する。
 なお、スイッチ101、コントローラー102については、図1と同様である。
 (1)ステップS101
 コントローラー102は、スイッチ101宛に、オープンフロー技術における制御プロトコル(オープンフロープロトコル)に準拠した「Protocol message」でミラーリング用エントリの登録の要求を送信する。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102から「Protocol message」でミラーリング用エントリの登録の要求を受信する。この処理フローは、図5のエントリ登録214に含まれる。
 (2)ステップS102
 プロトコル制御部108は、ミラーリング用エントリの登録の要求に応じて、モニタリング用テーブル107へミラーリング用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由してモニタリング用テーブル107へミラーリング用エントリを登録する制御を行う。この処理フローは、図5のエントリ登録214に含まれる。
 (3)ステップS103
 プロトコル制御部108は、モニタリング用テーブル107へのミラーリング用エントリ(図5のエントリ215)の登録を完了する。スイッチ101の内部にあるハードウェア転送部104は、ミラーリング用エントリの登録が完了した時点から、ミラーリングを開始する。
 (4)ステップS104
 ハードウェア転送部104は、スイッチ101の外部からパケットを受信した際、受信パケットが、モニタリング用テーブル107に登録されたミラーリング用エントリに適合(Hit)するか確認する。なお、実際には、スイッチ内部で生成されたパケットに対しても同様の処理を行う。
 (5)ステップS105
 ハードウェア転送部104は、受信パケットが、モニタリング用テーブル107に登録されたミラーリング用エントリに適合(Hit)する場合、コントローラー102宛にミラーリングするために、プロトコル制御部108にパケット(図6のパケット216)を転送する。
 (6)ステップS106
 プロトコル制御部108は、コントローラー102宛に「Protocol message」でミラーパケット(図6のパケット216)を送信し、ミラーリングする。
 (7)ステップS107
 コントローラー102は、スイッチ101から送られてきたミラーパケットを解析する。
 (8)ステップS108
 コントローラー102は、ミラーパケットを解析した結果を踏まえて、スイッチ101宛に「Protocol message」で統計用エントリの登録の要求を送信する。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102からの「Protocol message」で統計用エントリの登録の要求を受信する。この処理フローは、図7のエントリ登録217に含まれる。
 (9)ステップS109
 プロトコル制御部108は、統計用エントリの登録の要求に応じて、モニタリング用テーブル107へ統計用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由してモニタリング用テーブル107へ統計用エントリを登録する制御を行う。この処理フローは、図7のエントリ登録217に含まれる。
 (10)ステップS110
 モニタリング用テーブル107は、エントリ登録作業を受け付け、統計用エントリ(図7のエントリ218)を登録する。ハードウェア転送部104は、統計用エントリの登録が完了した時点から、その統計用エントリに該当するパケットについて、統計情報の収集を開始する。ハードウェア転送部104は、スイッチ101の外部からパケットを受信した際、受信パケットが、モニタリング用テーブル107に登録された統計用エントリに適合(Hit)するか確認することで、該当エントリの統計情報をスイッチ101の内部で収集し、モニタリング用テーブル107に蓄積する。
 (11)ステップS111
 コントローラー102は、スイッチ101に対する統計情報の問い合わせ、及び統計解析を行う処理を開始する。
 (12)ステップS112
 コントローラー102は、統計情報を収集するために、スイッチ101に「Protocol message」で統計情報を問い合わせる。
 (13)ステップS113
 プロトコル制御部108は、コントローラー102からの「Protocol message」に応じて、モニタリング用テーブル107に、スイッチ101で収集している統計情報の問い合わせを行う。
 (14)ステップS114
 プロトコル制御部108は、モニタリング用テーブル107からの応答として、統計情報の結果を取得する。
 (15)ステップS115
 プロトコル制御部108は、統計情報の結果を「Protocol message」でコントローラー102へ送信する。コントローラー102は、統計情報の結果を基に、統計解析を行う。
 (16)ステップS116
 コントローラー102は、統計解析の結果をネットワークの経路制御にフィードバックする必要がある場合、スイッチ101宛に「Protocol message」でパケット転送用エントリの登録の要求を送信する。これにより、コントローラー102は、スイッチ101の経路変更を行う。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102から「Protocol message」でパケット転送用エントリの登録の要求を受信する。この処理フローは、図9のエントリ登録220に含まれる。
 (17)ステップS117
 プロトコル制御部108は、パケット転送用エントリの登録の要求に応じて、転送用テーブル106へパケット転送用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由して転送用テーブル106へパケット転送用エントリを登録する制御を行う。この処理フローは、図9のエントリ登録220に含まれる。
 (18)ステップS118
 転送用テーブル106は、エントリ登録作業を受け付け、パケット転送用エントリ(図9のエントリ221)を登録する。ハードウェア転送部104は、パケット転送用エントリの登録が完了した時点から、当該エントリに該当する受信パケットに対し、当該エントリに記されたアクション(所定の処理)を開始する。
 本実施形態では、オープンフロープロトコルに準拠した「Protocol message」を使用することを想定しているが、実際には、コントローラーへのミラーリングの方法はその限りではない。例えば、宛先を設定情報(Config)で指定し、GRE(Generic Routing Encapsulation)等でカプセル化してパケットを転送する等、既存の技術を使用してコントローラーへのミラーリングを行う方法も考えられる。
 [本実施形態の特徴]
 以上説明したように、本実施形態におけるスイッチシステムでは、通信機器の制御プロトコルを使用し、モニタリング機能とネットワークの経路制御を実現しているので、ネットワーク全体としてモニタリングの集中制御を実現し、そのモニタリング結果を経路制御へ反映することができる。
 また、本実施形態におけるスイッチシステムでは、スイッチシステム内部に転送用フローテーブルとモニタリングの用のフローテーブルを用意し、1つのパケットに対して両テーブルを検索し、それぞれのエントリに登録された動作を実施するマルチヒット動作を行うことで、経路制御を意識することなくモニタリングの粒度を自由に変更できる。
 <第2実施形態>
 本発明の第2実施形態として、その基本的構成は第1実施形態と同様であるが、経路制御の方法について更に工夫している。その構成を図11~図15で説明する。
 図11から図14において、ネットワークのシステム視点で、本発明の第2実施形態における制御(データ)の流れを表す。
 なお、スイッチ101、コントローラー102については、図1と同様である。パケット205~エントリ221については、図4~図9と同様である。
 また、本実施形態におけるスイッチシステムの基本的な動作は、第1実施形態と同様であるため省略する。
 まず、図11、図12を参照して、転送用テーブルの検索時にマルチヒット動作可能なモニタリング用テーブルが無い場合の動作について説明する。
 [パケット転送時]
 図11を参照して、モニタリング用テーブルが存在しない場合のパケット転送時の制御(データ)の流れについて説明する。
 ここでは、スイッチ101の内部には、モニタリング用テーブル107は存在せず、転送用テーブル106が1つだけ存在する。なお、モニタリング用テーブル107が存在しない状態とは、モニタリング用テーブル107に、受信パケットに該当するエントリが登録されていない状態でも良い。
 パケット205は、スイッチ101が受信したパケットを表す。
 パケット206は、内部構成として「“A”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット207は、内部構成として「“A”、“a”、“2”、“DATA”」を含むパケットを表す。
 パケット208は、内部構成として「“A”、“b”、“1”、“DATA”」を含むパケットを表す。
 パケット209は、内部構成として「“B”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット群210は、スイッチ101の「Port1」から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208を含む。
 パケット群211は、スイッチ101の「Port2」から出力されたパケット群を表す。ここでは、パケット群211は、パケット209を含む。
 エントリ212は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリを表す。
 エントリ213は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリを表す。
 エントリ222は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、全てのパケットを(無条件で)コントローラー102へ転送するための転送用デフォルトエントリを表す。エントリ222(転送用デフォルトエントリ)は、コントローラー102への問い合わせ用エントリの1つであるといえる。
 オープンフロー技術における制御プロトコル等を使用し、経路制御を行う場合、転送用テーブル106のエントリに適合(Hit)しないパケットは、スイッチ101からコントローラー102に送り、コントローラー102で解析した後、解析結果を基に、図11に示すように、転送用テーブル106にパケット転送用のエントリ212、エントリ213を登録することより、スイッチ101にてハードウェア転送が可能となる。
 図11に示すように、転送用テーブル106に、エントリ212又はエントリ213のように、全てのパケットをコントローラーへ転送するためのパケット転送用エントリ(エントリ222)以外のパケット転送用エントリがある場合は、エントリ222以外のパケット転送用エントリ(ここではエントリ212又はエントリ213)を優先的に使用する。
 すなわち、スイッチ101の内部にあるハードウェア転送部104は、受信パケットが、エントリ222と、エントリ222以外のパケット転送用エントリ(エントリ212又はエントリ213)との両方に適合(Hit)する場合、エントリ222以外のパケット転送用エントリ(エントリ212又はエントリ213)に記されたアクション(所定の処理)を採用する。
 なお、転送用テーブル106に登録する際に、エントリ222以外のパケット転送用エントリ(エントリ212又はエントリ213)を、エントリ222よりも上位に登録する(エントリ222を最下位にする)ようにしても良い。ハードウェア転送部104は、受信パケットが、エントリ222以外のパケット転送用エントリ(エントリ212又はエントリ213)に先に適合(Hit)した時点で、検索を終了し、受信パケットに対して、当該パケット転送用エントリに記されたアクション(所定の処理)を開始する。
 [スイッチの起動時]
 図12を参照して、モニタリング用テーブルが存在しない場合のスイッチの起動時の制御(データ)の流れについて説明する。
 ここでは、スイッチ101の内部には、モニタリング用テーブル107は存在せず、転送用テーブル106が1つだけ存在する。なお、モニタリング用テーブル107が存在しない状態とは、モニタリング用テーブル107に、受信パケットに該当するエントリが登録されていない状態でも良い。
 図12に示すように、スイッチの起動時等、転送用テーブル106に、エントリ212、エントリ213のようなパケット転送用エントリが無い場合(全てのパケットをコントローラーへ転送するためのパケット転送用エントリ(エントリ222)のみある場合)は、スイッチで受信したパケットが大量にコントローラー102に転送されることになる。
 この場合、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチ101のプロトコル処理性能等の条件次第では、パケットの廃棄が発生してしまうという問題がある。
 そこで、図13、図14に示すように、モニタリング用テーブル107を有効活用し、スイッチの起動時等のファーストパケット(first packet)のロス(欠損)をなくす方法について説明する。なお、ファーストパケットとは、フローテーブルに該当するエントリが登録されていない最初のパケットのことである。
 [ファーストパケット転送時]
 図13を参照して、モニタリング用テーブルを利用し、スイッチの起動時等のファーストパケットをコントローラーへ転送する場合の制御(データ)の流れについて説明する。
 ここでは、スイッチ101の内部には、転送用テーブル106とモニタリング用テーブル107の両方が存在する。
 パケット216は、スイッチ101からコントローラー102に転送されるパケットを表す。
 エントリ223は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、全てのパケットを(無条件で)「Port1」へ転送するためのパケット転送用エントリを表す。
 エントリ224は、モニタリング用テーブル107に登録されている、全てのパケットを(無条件で)コントローラー102へ転送するためのミラーリング用エントリを表す。
 廃棄ポイント225は、スイッチ101とコントローラー102間での廃棄ポイントを表す。
 図13に示すように、転送用テーブル106には、全てのパケットを「Port1」に転送するためのパケット転送用のエントリ223が登録されており、モニタリング用テーブル107には、全てのパケットをミラーパケットとしてコントローラーに送信するミラーリング用のエントリ224が登録されている。
 スイッチ101の内部にあるハードウェア転送部104は、通常のパケットを受信すると、転送用テーブル106のエントリ223に従い、「Port1」にハードウェア転送する。
 本発明に係るスイッチにおいては、ハードウェア転送部104は、転送用テーブル106とモニタリング用テーブル107のマルチヒット動作を可能とするので、エントリ223に従い、受信パケットのハードウェア転送を実施すると同時に、モニタリング用テーブル107も検索し、適合(Hit)したエントリ224に従い、コントローラー102へのミラーリングも実施する。
 ミラーリングされたパケット216については、図12の時と同様に、廃棄が発生する可能性はあるが、パケットの転送処理(ハードウェア転送)自体はエントリ223に従って行われているため、通信への影響はない。すなわち、廃棄が発生するのは、受信パケットを複写したミラーパケット(パケット216)のみであり、受信パケットをハードウェア転送した出力パケット(パケット群210、パケット群211)には関係ない。
 廃棄の発生を回避するためには、ミラーパケットの受け渡しは、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチのプロトコル処理性能の許容範囲内で処理すれば良い。
 図13において、コントローラー102が受信したミラーパケット(パケット216)を解析し、解析結果を基にスイッチ101への経路制御を行った状態が、図14の状態である。
 [モニタリング用テーブル利用時]
 図14を参照して、モニタリング用テーブルを利用した場合の制御(データ)の流れについて説明する。
 エントリ226は、モニタリング用テーブル107に登録されている「“A”を含むパケット」に対して、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを表す。
 エントリ227は、モニタリング用テーブル107に登録されている「“B”を含むパケット」に対して、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを表す。
 コントローラー102は、ミラーパケットの解析の結果、転送用テーブル106に、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリ(エントリ212)を登録し、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリ(エントリ213)を登録することにより、通信の負荷分散等経路制御を行うことが可能になる。
 ここで、パケット転送用エントリ(エントリ212、エントリ213)を登録すると同時に、モニタリング用テーブル107にも、パケット転送用エントリ(エントリ212、エントリ213)と同じルール(マッチ条件)で、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリ(エントリ226、エントリ227)を登録することにより、コントローラー102へのミラーパケットの付加を削減することが可能である。
 [動作シーケンス]
 図15を参照して、本発明の第2実施形態におけるスイッチシステムの動作を表したシーケンスについて説明する。
 なお、スイッチ101、コントローラー102については、図1と同様である。
 (1)ステップS201
 スイッチ101は、モニタリング用テーブル107にミラーリング用エントリが存在し、転送用テーブル106に転送用デフォルトエントリが登録されている状態である。例えば、コントローラー102は、スイッチの起動時等、事前に、スイッチ101に対して、モニタリング用テーブル107にミラーリング用エントリを登録し、転送用テーブル106に転送用デフォルトエントリを登録しておくようにしても良い。
 ここでは、ミラーリング用エントリには、全てのパケットを(無条件で)ミラーパケットとしてコントローラー102に送信する旨が記されている。また、転送用デフォルトエントリには、全てのパケットを(無条件で)予め決められた出力先(ここではコントローラー102)に転送する旨が記されている。
 (2)ステップS202
 スイッチ101の内部にあるハードウェア転送部104は、ファーストパケットを受信した際、受信パケットがモニタリング用テーブル107に登録されているミラーリング用エントリに適合(Hit)するか否か確認する。ここでは、ミラーリング用エントリには、全てのパケットをミラーパケットとしてコントローラー102に送信する旨が記されているため、受信パケットはミラーリング用エントリに適合(Hit)する。
 (3)ステップS203
 更に、ハードウェア転送部104は、受信パケットが転送用テーブル106に登録されている転送用デフォルトエントリに適合(Hit)するか否か確認する。ここでは、転送用デフォルトエントリには、全てのパケットを予め決められた出力先(ここではコントローラー102)に転送する旨が記されているため、受信パケットは転送用デフォルトエントリに適合(Hit)する。
 (4)ステップS204
 ハードウェア転送部104は、受信パケットが、モニタリング用テーブル107に登録されているミラーリング用エントリに適合(Hit)し、更に、転送用テーブル106に登録されている転送用デフォルトエントリに適合(Hit)した場合、ミラーリング用エントリに記されているアクション(所定の処理)として、当該パケット(図12のパケット216)をプロトコル制御部108に送信する。
 (5)ステップS205
 プロトコル制御部108は、上記パケット(図12のパケット216)を「Protocol message」でコントローラー102宛にミラーパケットとして送信(ミラーリング)する。
 すなわち、スイッチ101は、モニタリング用テーブル107に全てのパケットをミラーパケットとしてコントローラー102に送信する旨が指定されたミラーリング用エントリが登録されており、転送用テーブル106に全てのパケットを予め決められた出力先(ここではコントローラー102)に転送する旨が指定された転送用デフォルトエントリが登録されている状態の場合、ミラーリング用エントリに適合(Hit)したパケットを、プロトコル制御部108経由で「Protocol message」を使用してコントローラー102へ転送する。
 (6)ステップS206
 コントローラー102は、送られてきたミラーパケットを解析する。
 (7)ステップS207
 コントローラー102は、ミラーパケットの解析結果を基に、当該ミラーパケットに関して、「Protocol message」で転送用テーブル106へのパケット転送用エントリの登録の要求を、スイッチ101宛に送信する。なお、この「Protocol message」を使用した転送用エントリの登録要求は、当該パケット転送用エントリと同じルール(マッチ条件)の統計用エントリの登録要求との兼用であっても良い。
 (8)ステップS208
 プロトコル制御部108は、コントローラー102から「Protocol message」で転送用テーブル106へのパケット転送用エントリの登録の要求を受信し、転送用テーブル106に対して、パケット転送用エントリの登録を行う。
 (9)ステップS209
 転送用テーブル106へのパケット転送用エントリの登録が完了する。ハードウェア転送部104は、パケット転送用エントリの登録が完了した時点から、当該パケット転送用エントリに該当する受信パケット(上記ミラーパケットと同じ受信パケット)に対し、当該エントリに記されたアクション(所定の処理)を開始する。
 (10)ステップS210
 転送用テーブル106へのパケット転送用エントリの登録と同時に、プロトコル制御部108は、モニタリング用テーブル107に対しても、上記のパケット転送用エントリと同じルール(マッチ条件)で、何もしない、もしくはドロップ(廃棄)する旨のアクション(所定の処理)を記した統計用エントリの登録を行う。
 (11)ステップS211
 モニタリング用テーブル107への統計用エントリの登録が完了する。ハードウェア転送部104は、統計用エントリの登録が完了した時点から、上記ミラーパケットと同じ受信パケットに対し、何もしない、もしくはドロップ(廃棄)する。
 すなわち、コントローラー102は、ミラーパケットを受けると、そのミラーパケットの内容を解析し、その解析結果を基に「Protocol message」を使用して、スイッチ101の転送用テーブル106に対して、正式なパケット転送用エントリを登録するための制御を行う。
 また、コントローラー102は、上記のように、転送用テーブル106に対して、パケット転送用エントリを登録するための制御を行うと同時に、モニタリング用テーブル107に対しても、上記のパケット転送用エントリと同じルール(マッチ条件)で、何もしない、もしくはドロップ(廃棄)する旨のアクション(所定の処理)を記した統計用エントリを登録するための制御を行う。
 なお、プロトコル制御部108は、コントローラー102から「Protocol message」で転送用テーブル106に対するパケット転送用エントリの登録要求を受信した場合、自動的に、転送用テーブル106へのパケット転送用エントリの登録と同時に、上記のパケット転送用エントリと同じルール(マッチ条件)で、モニタリング用テーブル107への統計用エントリの登録を行うようにしても良い。
 [本実施形態の特徴]
 このように、本実施形態では、モニタリング用テーブルのミラーリング機能と転送用テーブルとモニタリング用テーブルのマルチヒット動作を工夫することにより、スイッチの起動時等に流入してくるファーストパケットのロスを削減するという効果が得られる。
 <第3実施形態>
 本発明の第3実施形態として、モニタリング用テーブルの代わりに転送テーブルを用意し、2つの転送テーブルを使って、経路制御の方法について更に工夫する方法について説明する。その構成を図16~図17で説明する。
 なお、本実施形態においても、解決したい課題は、本発明の第2実施形態と同様で、スイッチの起動時等のファーストパケットのロスである。
 本実施形態においては、図16、図17に示すように、転送用テーブルA106-1、転送用テーブルB106-2を有効活用し、スイッチの起動時等のファーストパケットのロスをなくす方法について説明する。
 図16、図17に示すように、本実施形態では、スイッチ101の内部において、パケット転送用エントリを登録するための転送用テーブル106の代わりに、転送用テーブルA106-1を用意し、ミラーリング用エントリ及び統計用エントリを登録するためのモニタリング用テーブル107の代わりに、転送用テーブルB106-2を用意する。
 なお、コントローラー102については、図1と同様である。パケット205~エントリ221については、図4~図9と同様である。
 また、本実施形態におけるスイッチシステムの基本的な動作は、第1実施形態と同様であるため省略する。
 パケット205は、スイッチ101が受信したパケットを表す。
 パケット206は、内部構成として「“A”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット207は、内部構成として「“A”、“a”、“2”、“DATA”」を含むパケットを表す。
 パケット208は、内部構成として「“A”、“b”、“1”、“DATA”」を含むパケットを表す。
 パケット209は、内部構成として「“B”、“a”、“1”、“DATA”」を含むパケットを表す。
 パケット群210は、スイッチ101の「Port1」から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208と、パケット209を含む。
 パケット群211は、スイッチ101の「Port2」から出力されたパケット群を表す。ここでは、パケット群211は、該当するパケットが存在しないため、何も含んでいない。
 パケット216は、スイッチ101からコントローラー102に転送されるパケット(ミラーパケット)を表す。
 廃棄ポイント225は、スイッチ101とコントローラー102間での廃棄ポイントを表す。
 エントリ230は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、全てのパケットを(無条件で)コントローラー102へ転送するための転送用デフォルトエントリを表す。エントリ230(転送用デフォルトエントリ)は、コントローラー102への問い合わせ用エントリの1つであるといえる。
 エントリ231は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、全てのパケットを(無条件で)「Port1」へ転送するためのパケット転送用エントリを表す。
 図16に示すように、転送用テーブルA106-1には、全てのパケットをコントローラー102に転送するためのパケット転送用エントリ(エントリ230)が登録されており、転送用テーブルB106-2には、全てのパケットを「Port1」に転送するためのパケット転送用エントリ(エントリ231)が登録されている。
 本発明に係るスイッチは、転送用テーブルA106-1と転送用テーブルB106-2のマルチヒット動作を可能とするので、転送スイッチ101は、通常のパケットを受信した場合、転送用テーブルB106-2を検索し、適合(Hit)したエントリ231に従い、「Port1」へのハードウェア転送を実施すると同時に、転送用テーブルA106-1も検索し、適合(Hit)したエントリ230に従い、コントローラー102への転送も実施する。
 このとき、コントローラー102へ転送(ミラーリング)されたパケット216の廃棄が発生する可能性はあるが、受信パケットの転送自体はエントリ231に従って実施されているため、ミラーパケットであるパケット216の廃棄が発生したとしても、通信に影響を与えない。
 スイッチ101とコントローラー102との間のミラーパケットの受け渡しは、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチのプロトコル処理性能の範囲内で処理すれば良い。
 図16において、コントローラー102が受信したミラーパケット(パケット216)を解析し、解析結果を基にスイッチ101への経路制御を行った状態が、図17の状態である。
 エントリ232は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリを表す。
 エントリ233は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリを表す。
 エントリ234は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、「“A”を含むパケット」に対して、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを表す。
 エントリ235は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、「“B”を含むパケット」に対して、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを表す。
 コントローラー102は、ミラーパケット(パケット216)を解析し、解析結果を基に、転送用テーブルAに、「“A”を含むパケット」を「Port1」に転送するためのパケット転送用エントリ(エントリ232)と、「“B”を含むパケット」を「Port2」に転送するためのパケット転送用エントリ(エントリ233)を登録する。これにより、通信の負荷分散等の経路制御を行うことが可能になる。
 また、コントローラー102は、転送用テーブルAに、上記のパケット転送用エントリ(エントリ232、エントリ233)を登録すると同時に、転送用テーブルBにも、上記のパケット転送用エントリと同じルール(マッチ条件)で、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリ(エントリ234、エントリ235)を登録し、デフォルトで登録されているエントリ231に従ったハードウェア転送(全てのパケットのハードウェア転送)を止める。
 [本実施形態の特徴]
 このように、本実施形態においても、本発明の第2実施形態と同様、スイッチの起動時等に流入してくるファーストパケットのロスを削減するという効果が得られる。
 <各実施形態の関係>
 なお、上記の各実施形態は、組み合わせて実施することも可能である。
 <本発明の特徴>
 以上のように、本発明では、通信データのモニタリングの集中管理を実現することを目的としている。
 本発明では、ネットワークを集中制御するための制御プロトコルとモニタリングを組み合わせることによって、スイッチシステムのモニタリングを集中制御し、モニタリングの粒度を自由に変更可能にし、ネットワークの経路制御への反映を自由に行えるようにした。
 また、本発明では、スイッチ内にある転送用テーブルとモニタリング用テーブルをマルチヒット動作させることにより、データ通信に影響を与えず、自由にモニタリングを行えるようにした。
 また、本発明では、転送用テーブルとは別に、パケット転送用エントリは登録しないモニタリング用テーブルを用意し、このモニタリング用テーブルには、統計用エントリとミラーリング用エントリのみを登録し、それらのマルチヒット動作を行う。
 すなわち、本発明では、スイッチ内部に、フローテーブルとして、転送用テーブルとモニタリング用テーブルを用意し、それらのマルチヒット動作を行って、パケットの転送を実現させている。
 また、本発明では、モニタリング用テーブルには、統計用エントリとミラーリング用エントリのみ登録し、経路制御エントリの登録は行わないようにすることもできる。すなわち、ハードウェア転送を行わないようにすることもできる。
 また、本発明では、ネットワークを集中制御するための制御プロトコルにより、コントローラーと連携して、スイッチのモニタリングを集中制御している。
 また、本発明では、制御プロトコルを使用して、スイッチのモニタリングの集中制御を実現することにより、スイッチの起動時等に流入してくるファーストパケットのロスを削減する。
 このように、本発明では、パケットロスを検知するロジックについてではなく、一方のテーブルでデフォルトエントリを使ってハードウェア転送を行いつつ、もう一方のテーブルでモニタリングし、その結果をパケット転送用エントリにフィードバックする。これにより、スイッチの再起動時等の初期流入パケットをパケットロスせずハードウェア転送しつつも、パケットそれぞれを解析し、最終的に細やかなパケット単位の転送制御ができる。
 また、本発明では、通信機器の制御プロトコル(例えばオープンフロー)を使用し、スイッチシステムのモニタリング機能を制御することにより、ネットワーク全体として集中制御可能なモニタリングを実現し、そのモニタリング結果を経路制御へ反映することができる。
 また、本発明では、スイッチ内部に転送用フローテーブルとモニタリングの用のフローテーブルを持ち、1つのパケットに対して両テーブルを検索し、それぞれのエントリに登録された動作を実施するマルチヒット動作を行う。これにより、経路制御を意識することなくモニタリングの粒度を自由に変更することができる。
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2010-232772に基づく優先権を主張するものであり、日本出願番号2010-232772における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  内部のフローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチと、
     前記スイッチからパケットについての問い合わせを受けた際に、前記スイッチの内部のフローテーブルに、当該パケットについてのルールとアクションとを定義したフローエントリを登録するコントローラーと、
     前記スイッチに接続された隣接スイッチと
    を含み、
     前記スイッチは、
     ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルと、
     ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルと
    を含む
     スイッチシステム。
  2.  請求項1に記載のスイッチシステムであって、
     前記コントローラーは、ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを前記第1テーブルに登録し、更に、前記スイッチから転送されたパケットを解析し、解析結果を基に、当該パケットについての統計情報を取得するための統計用エントリを前記第1テーブルに登録し、更に、前記スイッチから通知された統計情報を基に、前記パケット転送用エントリを前記第2テーブルに登録し、
     前記スイッチは、前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送し、更に、前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知する
     スイッチシステム。
  3.  請求項1又は2に記載のスイッチシステムであって、
     前記第1テーブルには、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリが登録されており、
     前記第2テーブルには、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリが登録されており、
     前記スイッチは、最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送し、
     前記コントローラーは、前記スイッチから転送されたパケットについて、該当するパケット転送用エントリがあれば、当該パケット転送用エントリを前記第1テーブルに登録し、当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを前記第2テーブルに登録する
     スイッチシステム。
  4.  ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルと、
     ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルと、
     前記問い合わせ用エントリ及び前記パケット転送用エントリの各々に従ってパケットを転送する手段と
    を具備する
     スイッチ。
  5.  請求項4に記載のスイッチであって、
     ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを前記第1テーブルに登録する手段と、
     前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送する手段と、
     前記コントローラーにパケットを転送した際、前記コントローラーからの制御により、当該パケットについての統計情報を取得するための統計用エントリを前記第1テーブルに登録する手段と、
     前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知する手段と、
     前記コントローラーに統計情報を通知した際、前記コントローラーからの制御により、前記パケット転送用エントリを前記第2テーブルに登録する手段と
    を更に具備する
     スイッチ。
  6.  請求項4又は5に記載のスイッチであって、
     前記第1テーブルには、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリが登録されており、
     前記第2テーブルには、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリが登録されており、
     最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送する手段と、
     前記コントローラーにパケットを転送した際、前記コントローラーからの制御により、当該パケットについてのパケット転送用エントリを前記第1テーブルに登録する手段と、
     当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを前記第2テーブルに登録する手段と
    を更に具備する
     スイッチ。
  7.  スイッチの内部に、フローテーブルとして、ルールに該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを設けることと、
     前記スイッチの内部に、フローテーブルとして、ルールに該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを設けることと、
     前記スイッチにおいて、内部のフローテーブルに登録されたフローエントリに従ってパケットを転送することと、
     前記コントローラーにおいて、前記スイッチからパケットについての問い合わせを受けた際に、前記スイッチの内部のフローテーブルに、当該パケットについてのルールとアクションとを定義したフローエントリを登録することと
    を含む
     モニタリング集中管理方法。
  8.  請求項7に記載のモニタリング集中管理方法であって、
     前記コントローラーから、前記第1テーブルに、ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを登録することと、
     前記スイッチにおいて、前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送することと、
     前記コントローラーにおいて、前記スイッチから転送されたパケットを解析することと、
     解析結果を基に、前記コントローラーから、前記第1テーブルに、当該パケットについての統計情報を取得するための統計用エントリを登録することと、
     前記スイッチにおいて、前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知することと、
     前記スイッチから転送された統計情報を基に、前記コントローラーから、前記第2テーブルに、前記パケット転送用エントリを登録することと
    を更に含む
     モニタリング集中管理方法。
  9.  請求項7又は8に記載のモニタリング集中管理方法であって、
     前記第1テーブルに、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリを登録しておくことと、
     前記第2テーブルに、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリを登録しておくことと、
     前記スイッチにおいて、最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送することと、
     前記コントローラーにおいて、前記スイッチから転送されたパケットについて、該当するパケット転送用エントリがあれば、当該パケット転送用エントリを前記第1テーブルに登録することと、
     前記コントローラーにおいて、当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ(廃棄)するための廃棄用エントリを前記第2テーブルに登録することと
    を更に含む
     モニタリング集中管理方法。
  10.  ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを参照するステップと、
     ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを参照するステップと、
     前記問い合わせ用エントリ及び前記パケット転送用エントリの各々に従ってパケットを転送するステップと
    をスイッチに実行させるためのプログラムを格納した
     記憶媒体。
PCT/JP2011/071823 2010-10-15 2011-09-26 スイッチシステム、モニタリング集中管理方法 WO2012049960A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP11832398.9A EP2629463B1 (en) 2010-10-15 2011-09-26 Switching system, and monitoring centralization management method
US13/824,356 US10623314B2 (en) 2010-10-15 2011-09-26 Switch system, and monitoring centralized control method
RU2013117009/08A RU2541113C2 (ru) 2010-10-15 2011-09-26 Система коммутаторов и способ централизованного управления мониторингом
JP2012538617A JP5557066B2 (ja) 2010-10-15 2011-09-26 スイッチシステム、モニタリング集中管理方法
CA2814072A CA2814072A1 (en) 2010-10-15 2011-09-26 Switch system, and monitoring centralized control method
KR1020137009551A KR101472695B1 (ko) 2010-10-15 2011-09-26 스위치 시스템, 모니터링 집중 관리 방법
CN201180049756.XA CN103155489B (zh) 2010-10-15 2011-09-26 交换机系统以及监视集中控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010232772 2010-10-15
JP2010-232772 2010-10-15

Publications (1)

Publication Number Publication Date
WO2012049960A1 true WO2012049960A1 (ja) 2012-04-19

Family

ID=45938191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/071823 WO2012049960A1 (ja) 2010-10-15 2011-09-26 スイッチシステム、モニタリング集中管理方法

Country Status (8)

Country Link
US (1) US10623314B2 (ja)
EP (1) EP2629463B1 (ja)
JP (2) JP5557066B2 (ja)
KR (1) KR101472695B1 (ja)
CN (2) CN104883326B (ja)
CA (1) CA2814072A1 (ja)
RU (1) RU2541113C2 (ja)
WO (1) WO2012049960A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013164988A1 (ja) * 2012-05-01 2013-11-07 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
WO2013168207A1 (en) * 2012-05-09 2013-11-14 Nec Corporation Communication system, communication method, and program
WO2014101394A1 (zh) * 2012-12-24 2014-07-03 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
JP2016524412A (ja) * 2013-06-14 2016-08-12 華為技術有限公司Huawei Technologies Co.,Ltd. パケットを処理するための方法およびフォワーダ
JP2018506211A (ja) * 2014-12-31 2018-03-01 シマンテック コーポレーションSymantec Corporation 仮想ネットワークをモニタリングするシステム及び方法
JP2019068420A (ja) * 2017-09-29 2019-04-25 ソリッド インコーポレイテッド オープンフロー基盤の分散アンテナシステム
JP2020018001A (ja) * 2014-06-30 2020-01-30 シーエフピーエイチ, エル.エル.シー. 金融ネットワーク
US10938679B2 (en) 2016-08-01 2021-03-02 New H3C Technologies Co., Ltd. Packet monitoring

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015010997A2 (pt) * 2012-11-28 2017-07-11 Nec Corp aparelho de comutação, método e programa de gerenciamento de configuração de vlan
WO2014098108A1 (ja) * 2012-12-19 2014-06-26 日本電気株式会社 通信ノード、制御装置、通信システム、パケット処理方法、通信ノードの制御方法及びプログラム
KR101404491B1 (ko) * 2013-06-05 2014-06-10 한국과학기술정보연구원 오픈플로우 망 기반의 서브넷별 동적 대역폭 설정 시스템 및 방법
CN103428094B (zh) 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
US9654372B2 (en) * 2013-09-06 2017-05-16 Nec Corporation Patent latency monitoring in software-defined networks
CN104579968B (zh) 2013-10-26 2018-03-09 华为技术有限公司 Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统
KR101589385B1 (ko) * 2013-11-19 2016-01-29 주식회사 케이티 컨트롤러와 네트워크 장치 간 이벤트를 처리하는 방법
KR101538667B1 (ko) * 2013-12-31 2015-07-22 주식회사 시큐아이 네트워크 시스템 및 네트워크 제어 방법
CN106464596B (zh) 2014-06-03 2019-08-20 华为技术有限公司 开放流通信方法、系统、控制器和业务网关
US9338694B2 (en) * 2014-06-16 2016-05-10 Freescale Semiconductor, Inc. Wireless communication system with SIPTO continuity
EP3179687B1 (en) 2014-08-25 2020-02-12 Huawei Technologies Co., Ltd. Network flow information statistics method and apparatus
US9641459B2 (en) 2015-04-24 2017-05-02 Alcatel Lucent User-defined flexible traffic monitoring in an SDN switch
CN106330783B (zh) 2015-07-01 2019-03-15 中兴通讯股份有限公司 一种OpenFlow交换机能力上报的方法及装置
US9860152B2 (en) * 2015-09-21 2018-01-02 Telefonaktiebolaget L M Ericsson (Publ) Non-intrusive method for testing and profiling network service functions
CN107078964B (zh) * 2015-09-23 2020-09-04 华为技术有限公司 一种报文处理的方法、网络设备及系统
US9921756B2 (en) * 2015-12-29 2018-03-20 EMC IP Holding Company LLC Method and system for synchronizing an index of data blocks stored in a storage system using a shared storage module
US11095497B2 (en) * 2016-09-12 2021-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Efficient troubleshooting in SDN network
CN108429652A (zh) * 2017-02-14 2018-08-21 中兴通讯股份有限公司 基于sdn的远端流镜像控制方法、实现方法及相关设备
WO2018203108A1 (en) 2017-05-04 2018-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Efficient troubleshooting in openflow switches
WO2019043435A1 (en) 2017-08-30 2019-03-07 Telefonaktiebolaget Lm Ericsson (Publ) PACKET TRACKING METHOD AND SYSTEM IN SOFTWARE-DEFINED NETWORKS
US11438254B2 (en) 2018-06-13 2022-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
JP2022029306A (ja) * 2020-08-04 2022-02-17 富士通株式会社 ネットワークスイッチ,制御プログラムおよび制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010232772A (ja) 2009-03-26 2010-10-14 Nomura Research Institute Ltd コンテンツ視聴者分析装置及びコンテンツ視聴者分析方法、並びにプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215641B1 (en) * 1999-01-27 2007-05-08 Cisco Technology, Inc. Per-flow dynamic buffer management
WO2000074305A2 (en) * 1999-05-14 2000-12-07 Dunti Corporation Method for routing in hierarchical networks
RU2233473C2 (ru) * 2000-12-22 2004-07-27 Самсунг Электроникс Ко., Лтд. Устройство и способ выполнения высокоскоростного поиска маршрутов протокола интернет и управления таблицами маршрутизации/пересылки
US7441262B2 (en) 2002-07-11 2008-10-21 Seaway Networks Inc. Integrated VPN/firewall system
CN100336363C (zh) 2002-09-18 2007-09-05 中兴通讯股份有限公司 一种实现聚合链路流量均衡的方法
JP3704134B2 (ja) * 2003-05-29 2005-10-05 日本電信電話株式会社 パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
RU2387002C2 (ru) * 2003-06-30 2010-04-20 Майкрософт Корпорейшн Выравнивание сетевой нагрузки с помощью управления соединением
US7525919B2 (en) 2003-09-01 2009-04-28 Nippon Telegraph And Telephone Corporation Packet communication method with increased traffic engineering efficiency
US7796596B2 (en) * 2004-08-03 2010-09-14 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for producing, transporting, and capturing network traffic data
CN100566288C (zh) 2004-12-28 2009-12-02 杭州华三通信技术有限公司 在路由器或交换机上进行多出口流量管理的方法和设备
US7281085B1 (en) * 2005-01-31 2007-10-09 Netlogic Microsystems, Inc. Method and device for virtualization of multiple data sets on same associative memory
JP2006352831A (ja) * 2005-05-20 2006-12-28 Alaxala Networks Corp ネットワーク制御装置およびその制御方法
JP4774357B2 (ja) 2006-05-18 2011-09-14 アラクサラネットワークス株式会社 統計情報収集システム及び統計情報収集装置
TWI325705B (en) * 2006-06-01 2010-06-01 Via Tech Inc Method and apparatus for packet switching
CN100544322C (zh) 2007-02-15 2009-09-23 杭州华三通信技术有限公司 转发报文和建立媒质接入控制地址表项的方法及交换机
EP2193630B1 (en) * 2007-09-26 2015-08-26 Nicira, Inc. Network operating system for managing and securing networks
US8164211B2 (en) * 2008-06-10 2012-04-24 Mitsubishi Heavy Industries, Ltd. Wind turbine generator
JP5645139B2 (ja) * 2010-01-05 2014-12-24 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
JP5283638B2 (ja) * 2010-01-08 2013-09-04 アラクサラネットワークス株式会社 パケット中継装置
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
US8619546B2 (en) * 2010-08-17 2013-12-31 Alcatel Lucent Method and apparatus for coping with link failures in central control plane architectures
EP2643952B1 (en) 2010-11-22 2023-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US8964563B2 (en) 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010232772A (ja) 2009-03-26 2010-10-14 Nomura Research Institute Ltd コンテンツ視聴者分析装置及びコンテンツ視聴者分析方法、並びにプログラム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AKIO IIJIMA ET AL.: "Cloud Computing Jidai no Datacenter to Network no Shoene Gijutsu", NEC TECHNICAL JOURNAL, vol. 62, no. 3, 25 September 2009 (2009-09-25), pages 117 - 120, XP008155466 *
HIDEYUKI SHIMONISHI: "Shorai no Cloud Kiban Gijutsu o Sasaeru Kenkyu Kaihatsu", NEC TECHNICAL JOURNAL, vol. 63, no. 2, 23 April 2010 (2010-04-23), pages 119 - 123, XP008170393 *
OPENFLOW SWITCH SPECIFICATION VERSION 1.0.0 (WIRE PROTOCOL 0X01, 31 December 2009 (2009-12-31), Retrieved from the Internet <URL:http: //www.openflowswitch.org/ documents/openflow-spec-vl.O.O.pdf>
SABURO SETO ET AL.: "A study of protocol monitoring method with flow control", TECHNICAL REPORT OF IEICE, ICM2009-13, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, 2 July 2009 (2009-07-02), pages 1 - 6, XP008170529 *
See also references of EP2629463A4
THE OPENFLOW SWITCH CONSORTIUM, Retrieved from the Internet <URL:http: //www.openflowswitch.org>

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272676A (zh) * 2012-05-01 2015-01-07 日本电气株式会社 通信系统、访问控制装置、交换机、网络控制方法及程序
JPWO2013164988A1 (ja) * 2012-05-01 2015-12-24 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
WO2013164988A1 (ja) * 2012-05-01 2013-11-07 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
US10244537B2 (en) 2012-05-01 2019-03-26 Nec Corporation Communication system, access control apparatus, switch, network control method, and program
WO2013168207A1 (en) * 2012-05-09 2013-11-14 Nec Corporation Communication system, communication method, and program
WO2014101394A1 (zh) * 2012-12-24 2014-07-03 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
JP2016524412A (ja) * 2013-06-14 2016-08-12 華為技術有限公司Huawei Technologies Co.,Ltd. パケットを処理するための方法およびフォワーダ
US9998364B2 (en) 2013-06-14 2018-06-12 Huawei Technologies Co., Ltd. Method for processing packet and forwarder
JP2020018001A (ja) * 2014-06-30 2020-01-30 シーエフピーエイチ, エル.エル.シー. 金融ネットワーク
JP2018506211A (ja) * 2014-12-31 2018-03-01 シマンテック コーポレーションSymantec Corporation 仮想ネットワークをモニタリングするシステム及び方法
US10938679B2 (en) 2016-08-01 2021-03-02 New H3C Technologies Co., Ltd. Packet monitoring
JP2019068420A (ja) * 2017-09-29 2019-04-25 ソリッド インコーポレイテッド オープンフロー基盤の分散アンテナシステム
US10819644B2 (en) 2017-09-29 2020-10-27 Solid, Inc. Openflow based distributed antenna system
US11252092B2 (en) 2017-09-29 2022-02-15 Solid Inc. OpenFlow based distributed antenna system

Also Published As

Publication number Publication date
CA2814072A1 (en) 2012-04-19
EP2629463A1 (en) 2013-08-21
KR20130052030A (ko) 2013-05-21
US20130176888A1 (en) 2013-07-11
RU2013117009A (ru) 2014-11-20
JP2014171226A (ja) 2014-09-18
CN104883326B (zh) 2019-07-05
CN103155489A (zh) 2013-06-12
CN103155489B (zh) 2016-02-17
EP2629463A4 (en) 2017-03-29
RU2541113C2 (ru) 2015-02-10
JPWO2012049960A1 (ja) 2014-02-24
KR101472695B1 (ko) 2014-12-12
EP2629463B1 (en) 2019-09-04
JP5557066B2 (ja) 2014-07-23
US10623314B2 (en) 2020-04-14
CN104883326A (zh) 2015-09-02

Similar Documents

Publication Publication Date Title
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
KR101501397B1 (ko) 네트워크 시스템, 스위치 및 접속 단말기 검지 방법
US9515868B2 (en) System and method for communication
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
CN105262683B (zh) 网络系统和路由控制方法
JP5717057B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
JP5532276B2 (ja) スイッチシステム、及びデータ転送方法
WO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
WO2012056816A1 (ja) ネットワークシステム、及び通信トラフィック制御方法
EP2765742B1 (en) Load reduction system, and load reduction method
US9088432B2 (en) Remote control system, remote control method and program for remote control
KR20130124552A (ko) 네트워크 시스템, 패킷 처리 방법 및 기억 매체
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP6160101B2 (ja) 通信装置、制御装置、通信システム、制御メッセージの送信方法
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180049756.X

Country of ref document: CN

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

Ref document number: 11832398

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13824356

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011832398

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2012538617

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2814072

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20137009551

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013117009

Country of ref document: RU

Kind code of ref document: A