WO2012127894A1 - ネットワークシステム、及びスイッチ方法 - Google Patents

ネットワークシステム、及びスイッチ方法 Download PDF

Info

Publication number
WO2012127894A1
WO2012127894A1 PCT/JP2012/050986 JP2012050986W WO2012127894A1 WO 2012127894 A1 WO2012127894 A1 WO 2012127894A1 JP 2012050986 W JP2012050986 W JP 2012050986W WO 2012127894 A1 WO2012127894 A1 WO 2012127894A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
packet
sampling
switch
controller
Prior art date
Application number
PCT/JP2012/050986
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 JP2013505834A priority Critical patent/JP5660198B2/ja
Priority to CN201280013961.5A priority patent/CN103444132B/zh
Priority to US14/005,236 priority patent/US9391895B2/en
Priority to EP12761408.9A priority patent/EP2688256A4/en
Publication of WO2012127894A1 publication Critical patent/WO2012127894A1/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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • H04L43/024Capturing of monitoring data by sampling by adaptive sampling
    • 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

Definitions

  • the present invention relates to a network system, and more particularly to a network system that performs packet sampling.
  • switches In a network formed by switching nodes such as packet switches (hereinafter referred to as switches) used in the Internet, various abnormalities are caused by various types of traffic being transferred by packet multiplexing and mixed with abnormal behavior traffic. May occur.
  • Non-Patent Document 1 As an example of such a traffic control method, there is an open flow network system using an open flow (OpenFlow) technology for controlling a switch from a controller and controlling a network path.
  • OpenFlow open flow
  • the details of the open flow technique are described in Non-Patent Document 1.
  • the OpenFlow network system is merely an example of a CU (C: control plane / U: user plane) separation type network system that controls a node device (user plane) from an external control device (control plane).
  • control plane control plane
  • a controller such as OFC (OpenFlow Controller) controls the behavior of the switch by operating a flow table of the 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 system are edge switches and core switches that form an OpenFlow network and are under the control of the controller.
  • a sequence of packets from reception of a packet at the input side edge switch to transmission at the output side edge switch is defined, and a packet group (packet sequence) conforming to this definition is flowed (Flow) ).
  • the packet may be read as a frame.
  • the difference between a packet and a frame is only the difference in the data unit (PDU: Protocol Data Unit) handled by the protocol.
  • the packet is a PDU of “TCP / IP” (Transmission Control Protocol / Internet Protocol).
  • the frame is a PDU of “Ethernet” (registered trademark).
  • the flow table is a table in which a flow entry (Flow entry) defining a predetermined operation (action) to be performed on a packet (communication data) that meets a predetermined matching condition (rule) is registered.
  • Flow entry a flow entry defining a predetermined operation (action) to be performed on a packet (communication data) that meets a predetermined matching condition (rule) is registered.
  • the rule of the flow entry is one of a destination address (Destination Address), a source address (Source Address), a destination port (Destination Port), a source port (Source Port) included in the header area of each protocol layer of the packet, or Defined and distinguishable by various combinations using all.
  • the above address includes a MAC address (Media Access Control Address) and an 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, if the identification information (output port number, etc.) of the output port is indicated in the action of the flow entry, the switch outputs a packet to the corresponding port, and if the identification information of the output port is not indicated , Discard the packet. Alternatively, if 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 system executes a flow entry action on a packet group that conforms to the flow entry rules.
  • the switches in the OpenFlow network system can perform detailed switch processing in units of flows, and can perform traffic control and traffic monitoring in units of flows.
  • the data transfer processing unit that performs packet processing such as OpenFlow
  • the control processing unit are logically separated, if fine control is performed on the flow, the control target increases and the processing load of the control increases. There are challenges.
  • a packet sampling technique is known. For example, “sFlow” and “NetFlow” are known.
  • sFlow and “NetFlow” are known.
  • the entire traffic is monitored by sampling the passing packet with a certain probability to monitor the flow of the packet and estimating the original traffic amount according to the occurrence probability.
  • Packet sampling is suitable for monitoring traffic that accounts for a large proportion of traffic volume for probability processing, but is not suitable for monitoring minute traffic.
  • Patent Document 1 Japanese Patent Laid-Open No. 2009-77136 discloses a traffic information providing apparatus, a traffic information acquiring apparatus, a traffic information collecting system, a traffic information providing program, a traffic information acquiring program, and a traffic information collecting method. Is disclosed.
  • Patent Document 1 proposes monitoring desired traffic by combining monitoring at different sampling rates.
  • the network system includes a switch and a controller that sets a flow entry in which rules and actions for uniformly controlling packets as a flow are defined in the flow table of the switch.
  • the switch determines whether or not to perform sampling processing on the received packet according to the setting of the flow table, and notifies the controller of the sampling result when sampling processing is performed on the received packet.
  • the controller updates the flow table according to the sampling result, and narrows down the packets to be sampled.
  • the controller according to the present invention sets a flow entry in which a rule and an action for uniformly controlling a packet as a flow are set in a flow table of a switch, and receives a packet from the switch according to the setting of the flow table And a device that receives a sampling result when performing sampling processing on the, and a device that updates the flow table according to the sampling result and narrows down the packets to be subjected to sampling processing.
  • the switch according to the present invention includes a device for setting a flow entry in which a rule and an action for uniformly controlling a packet as a flow are set in its own flow table according to control from the controller, According to the setting, there is provided an apparatus for determining whether or not to perform a sampling process for a received packet, and an apparatus for notifying the controller of a sampling result when the sampling process for the received packet is performed.
  • a flow entry in which rules and actions for uniformly controlling a packet as a flow are defined from the controller in the flow table of the switch. Further, the switch determines whether or not to perform the sampling process for the received packet according to the setting of the flow table, and when the sampling process for the received packet is performed, notifies the sampling result to the controller. In addition, the controller updates the flow table according to the sampling result, and narrows down the packets to be sampled.
  • the program according to the present invention is a program for causing a controller or a switch to execute processing in the above switching method.
  • the program according to the present invention can be stored in a storage device or a storage medium.
  • FIG. 1 It is a block diagram which shows the structural example of the network system which concerns on this invention. It is a figure for demonstrating the Example of the network system which concerns on this invention. It is a flowchart for demonstrating the basic operation
  • the present invention is directed to a CU separation type network system.
  • an OpenFlow network system which is one of CU separation type network systems, will be described as an example. However, actually, it is not limited to the open flow network system.
  • the network system includes a switch 10 and a controller 20.
  • the switch 10 is an open flow switch (OpenFlow Switch) that performs switch processing based on a flow table.
  • OpenFlow Switch OpenFlow Switch
  • the controller 20 is an open flow controller (OpenFlow Controller) that sets the flow table and controls the behavior of the switch 10.
  • OpenFlow Controller OpenFlow Controller
  • the controller 20 is a server device that executes software for realizing a function as an OpenFlow controller.
  • the switch 10 and the controller 20 are connected via a control line.
  • the control line is used when transmitting / receiving a control message conforming to the OpenFlow protocol.
  • the switch 10 includes a reception unit 11, a switch processing unit 12, a flow table 13, a sampling processing unit 14, an action execution unit 15, a transmission unit 16, and a control processing unit 17.
  • the receiving unit 11 receives a packet from the outside via a receiving line. There are as many reception lines as there are interfaces (number of input ports) of the reception unit 11. The input port indicates a reception port. When receiving the packet on the receiving line, the receiving unit 11 passes the received packet to the switch processing unit 12.
  • the switch processing unit 12 stores the received packet in the buffer, extracts the header field value of the received packet, and creates a search key for the flow table 13 based on the extracted header field value.
  • the switch processing unit 12 searches the flow table 13 using the created search key.
  • the search key hits (corresponds) any flow entry in the flow table 13
  • the received packet is sampled by the sampling processing unit 14, the action execution unit 15, the transmission unit 16, or the control processing unit according to the action of the flow entry.
  • Flow entry actions include output port designation, output packet header rewriting, output to the control line, and packet discard.
  • the output port indicates a transmission port.
  • the switch processing unit 12 passes the received packet to the sampling processing unit 14 if the action of the flow entry in the flow table 13 specifies that there is a sampling instruction. That is, the sampling process is performed on the received packet. If the action of the flow entry in the flow table 13 specifies that there is no sampling instruction, the received packet is passed to the action execution unit 15. That is, the determined action is executed on the received packet without performing the sampling process. Further, the switch processing unit 12 passes the received packet to the transmission unit 16 when there is no corresponding flow in the flow table 13. That is, the received packet is output as a normal packet that does not correspond to any flow.
  • a set of a header field value and an action of a packet indicating a flow is set as a flow entry.
  • the value of the header field of the packet becomes the rule of the flow entry.
  • a part (or all) of the header field value of a packet indicating a flow can be set by expressing a regular expression, a wild card “*”, or the like. .
  • Sampling processing unit 14 samples packets at a specified sampling rate. For example, the sampling processing unit 14 collects packets at a constant interval (every time, every constant number of packets), and performs statistical analysis. Thereafter, the packet is passed to the action execution unit 15. At this time, the sampling processing unit 14 may pass the sampling result to the action execution unit 15 together with the packet.
  • the action execution unit 15 executes the determined action on the packet. For example, the action execution unit 15 rewrites the header, transmits to a predetermined transmission line, or discards the packet as an action for the packet. At this time, the action execution unit 15 voluntarily extracts the header field of the packet, searches the flow table 13 based on the extracted header field, determines an action for the received packet, and determines the determined action. May be executed. Further, when the action execution unit 15 receives the sampling result together with the packet from the sampling processing unit 14, the action execution unit 15 may change the action for the packet according to the sampling result.
  • the transmission unit 16 transmits a packet to the outside via a transmission line.
  • One of the output ports of the transmission unit 16 may be connected to the controller 20 via a control line.
  • an input port corresponding to the output port of the transmission unit 16 exists on the controller 20 side. That is, the transmission unit 16 outputs the output packet to the transmission line or the control line.
  • the control processing unit 17 controls the operation of the entire switch.
  • the control processing unit 17 transmits / receives control messages to / from the controller 20 and sets the flow table 13 according to the control messages from the controller 20.
  • the controller 20 includes a control processing unit 21.
  • the control processing unit 21 controls the operation of the entire controller. Further, the control processing unit 21 transmits / receives a control message to / from the switch 10 and sets the flow table 13 of the switch 10 using the control message. For example, the flow entry is registered / updated in the flow table 13 of the switch 10 using a control message such as a flow update (Flow Mod) message. That is, the control processing unit 21 performs processing related to the control of the switch 10.
  • a control message such as a flow update (Flow Mod) message.
  • the control processing unit 21 receives packet information and a control message such as a packet inquiry from the switch 10 via the control line, determines whether or not to permit the transfer of the packet, and permits the transfer of the packet. Transfer processing content is determined, and the flow table 13 is set via the control processing unit 17 of the switch 10.
  • the controller calculates a route (path) of a predetermined packet group (flow) “in advance (before data communication starts)”, and registers the flow entry in the flow table of the switch.
  • the “Proactive type” here refers to “advanced flow entry registration” performed voluntarily by the controller.
  • the controller calculates the route of the packet group (flow) when receiving an inquiry about the 1st packet (new packet with no corresponding flow entry) from the switch, and flows to the flow table of the switch. Create an entry. That is, the “Reactive type” here refers to “real-time flow entry registration” performed by the controller in response to an inquiry from the switch during actual data communication.
  • the control processing unit 21 of the controller 20 specifies the packet for a predetermined packet that is expected to arrive at the switch 10 in advance (before data communication starts). The value of the header field and the action for the packet are determined, and the flow table 13 of the switch 10 is set using the control message.
  • control processing unit 21 of the controller 20 determines the value of the header field for identifying the packet and the action for the packet when receiving an inquiry about the packet from the switch 10. Using the control message, the flow table 13 of the switch 10 is set.
  • Examples of the switch 10 include a network switch, a router, a proxy, a gateway, a firewall, a load balancer, a bandwidth controller. ), Security supervisory control device (SCADA: Supervision Control And Data Acquisition), gatekeeper (gatekeeper), base station (base station), access point (AP: Access Point), communication satellite (CS: Communication Satellite) Think of a computer with a communication port of That.
  • the switch 10 may be a virtual switch realized by a virtual machine (VM) constructed on a physical machine.
  • VM virtual machine
  • a computer such as a PC (personal computer), an appliance, a thin client server, a workstation, a mainframe, and a supercomputer is assumed.
  • the controller 20 may be an expansion board mounted on the computer or a virtual machine (VM) constructed on a physical machine.
  • VM virtual machine
  • the switch 10 and the controller 20 are driven by a processor and execute a predetermined process, a memory for storing the program and various data, and a communication interface (I / F: interface) for connecting to a network. Realized.
  • processors include a CPU (Central Processing Unit), a network processor (NP: Network Processor), a microprocessor (microprocessor), a microcontroller (microcontroller), or a semiconductor integrated circuit (LSI: Large Scale) having a dedicated function. Integration) or the like.
  • CPU Central Processing Unit
  • NP Network Processor
  • microprocessor microprocessor
  • microcontroller microcontroller
  • LSI semiconductor integrated circuit
  • semiconductor storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable and Programmable Read Only Memory), and HDD Memory (SDHidK)
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EEPROM Electrical Erasable and Programmable Read Only Memory
  • HDD Memory HDD Memory
  • An auxiliary storage device such as State Drive
  • a removable disk such as a DVD (Digital Versatile Disk)
  • a storage medium such as an SD memory card (Secure Digital memory card), or the like is conceivable.
  • processor and the memory may be integrated.
  • a single chip such as a microcomputer has been developed. Therefore, a case where a one-chip microcomputer mounted on a computer or the like includes a processor and a memory can be considered.
  • Examples of the above communication interfaces include semiconductor integrated circuits such as boards (motherboards, I / O boards) and chips that support network communications, network adapters such as NIC (Network Interface Card), similar expansion cards, antennas, etc. Communication ports such as communication devices and connection ports (connectors) are conceivable.
  • networks include the Internet, LAN (Local Area Network), 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 conceivable.
  • the above communication interface is assumed.
  • the above processor is assumed as an example of the switch processing unit 12, the sampling processing unit 14, the action execution unit 15, the control processing unit 17, and the control processing unit 21.
  • the switch processing unit 12, the sampling processing unit 14, the action execution unit 15, the control processing unit 17, and the control processing unit 21 may be a combination of the above processor and the above memory.
  • the control processing unit 17 and the control processing unit 21 may be a combination of the processor, the memory, and the communication interface.
  • the switch processing unit 12, the sampling processing unit 14, the action execution unit 15, the control processing unit 17, and the control processing unit 21 are modules, components (components), dedicated devices, or activation (calling) thereof. It may be a program.
  • the above memory is assumed as an example of a storage area for storing the flow table 13.
  • the controller 20 is the same as the controller 20 described above.
  • Each switch 10 searches the flow table 13 using a combination of header field values of a packet received from the receiving line as a search key. If there is a hit flow entry, the switch 10 classifies the flow entry and selects the flow. Perform the action specified by the entry.
  • the switch 10-1 classifies the packets received from the receiving line into FL0 to FL3.
  • FL indicates a flow.
  • the fact that there is a sampling instruction (sampling process) and a predetermined output port (output action) are specified in the action.
  • the switch 10-1 applies sampling processing to FL0, and with the probability of 1 / N, matches the packet sampling target (adapted) information (sample packet information). Then, the data is transferred to the controller 20 via the control line. That is, the switch 10-1 collects FL0 packets at a rate of 1 in N, and transfers the collected packet information to the controller 20 via the control line. Note that the switch 10-1 may transfer a packet (sample packet) obtained by copying (copying) the collected packet to the controller 20 via the control line as information on the collected packet.
  • the switch 10-1 applies an action similar to the output action of FL0 to each of FL0 to FL3, outputs a packet to the designated output port, and sends the packet from the output port to the transmission line. .
  • the other switches 10 other than the switch 10-1 perform the same processing as described above, and for the flow corresponding to FL0 (packet matching the packet sampling target), the information of the packet is transferred to the controller via the control line. For the flow corresponding to FL1 to FL3 (packet that does not match the packet sampling target), the packet is sent from the output port to the transmission line.
  • the flow of FL1 to FL3 is a flow group included in the flow set of FL0. That is, FL0 to FL3 all indicate packets belonging to the flow set of FL0.
  • Step S101 When receiving the packet, the switch 10 extracts the value of the header field of the received packet and creates a search key for flow search.
  • Step S102 The switch 10 searches the flow table 13 using the search key.
  • Step S103 If the search key hits any flow entry in the flow table 13 (Yes in step S102), the switch 10 checks whether there is a sampling instruction specified in the action of the hit flow entry.
  • Step S104 When there is a sampling instruction (Yes in step S103), the switch 10 performs a sampling process on the flow at a designated sampling rate (1 / N). That is, the switch 10 counts the packets of the flow and samples one packet for every N packets.
  • Step S105 The switch 10 confirms whether the packet matches the packet sampling target. That is, the switch 10 confirms whether the packet is one packet per N.
  • Step S106 When the packet matches the packet sampling target, the switch 10 executes the first designated action. For example, when a packet transfer addressed to the controller 20 is instructed as the first designated action, the switch 10 transfers the packet information to the controller 20 with a probability of 1 / N in the corresponding flow.
  • the controller 20 analyzes the information of the packet, and when it is traffic with a large flow rate, it updates the setting of the flow entry 13 of the switch 10 (addition / update of the flow entry) and excludes unnecessary traffic from the sampling target. To do. Accordingly, the controller 20 narrows down the traffic to be sampled and selectively extracts the traffic.
  • Step S107 When the packet does not match the packet sampling target, the switch 10 executes the second designated action. For example, when the output to a certain port is instructed as the second designated action, the switch 10 outputs the corresponding flow to the port and sends it to the transmission line.
  • Step S108 When there is no sampling instruction (No in step S103), the switch 10 transfers according to the designated action.
  • Step S109 In addition, when the search key does not hit any flow entry in the flow table 13 (No in step S102), the switch 10 transfers the packet according to a predetermined default entry action (default action).
  • the default entry is a default flow entry for an unspecified number of packets (all packets are acceptable). By expressing a part (or all) of the header field value of a packet indicating a flow with a regular expression or a wild card “*”, an unspecified number of packets (or all packets) may be targeted. it can.
  • the priority order of the default entries is low. If there is another hit flow entry, the other hit flow entry has priority. That is, the default entry is a flow entry that hits only when there is no other hit flow entry. A packet that hits the default entry is a normal packet that does not correspond to any flow.
  • the switch 10 transfers a packet whose transfer process is unknown without hitting the flow table 13 to the controller 20.
  • the controller 20 performs processing for the packet, and performs processing for setting the flow table 13 of the switch 10 as necessary (“Reactive type”).
  • the switch 10 when an output to a certain port is instructed as a default action, the switch 10 outputs the packet to the port and sends it to the transmission line (“Proactive type”).
  • a flow entry corresponding to FL0 is set.
  • action 1 is defined as “transfer to the controller 20 when the packet sampling target is matched at the sampling rate (1 / N), and output to the output destination 1 when it does not match”.
  • action 2 is defined as “header update”.
  • the switch processing unit 12 transfers the packet to the controller 20 when it matches the packet sampling target at the sampling rate (1 / N), and outputs the destination 1 when it does not match. Output to. Further, when outputting, “header update” is performed as “action 2”.
  • FL0 represents a set of a certain network address group. For example, a set of flows from the network such as “IPSA (Internet Protocol Source Address: 10.0.0.0/8)” hits a flow entry corresponding to FL0, and more flows. It is assumed that it can be divided into sets.
  • IPSA Internet Protocol Source Address: 10.0.0.0/8
  • FL1 is set in the flow table 13 as a flow entry having a higher priority than the flow entry of FL0. Even if the received packet is included in both FL0 and FL1, it hits the flow entry corresponding to FL1. In the flow entry corresponding to FL1, “action 1” is defined as “output to output destination 1”. Furthermore, when outputting, “action 2” is defined as “header update”.
  • the switch processing unit 12 outputs all to the output destination 1 without performing sample processing. Further, when outputting, “header update” is performed as “action 2”.
  • the traffic hitting the flow entry of FL0 becomes a set with a relatively small amount of traffic, and the traffic Is analyzed by the controller 20 or the analysis device, it becomes possible to check a fine (subdivided) flow.
  • the flow entries of FL1 to FL3 are used to exclude packets that are not targeted for sampling from the beginning among the packets that hit the flow entry of FL0. Specifically, sampling is performed on the remaining packets excluding “packets that hit the flow entries of FL1 to FL3” from “packets that hit the flow entry of FL0”.
  • the value of the header field of the packet indicating the flow is more limited in the flow entry rules of FL1 to FL3 than in the flow entry rule of FL0.
  • the priority relationship of the priority of the flow entry is “default entry ⁇ FL0 ⁇ FL1 to FL3”.
  • the priority relationship of “FL1 to FL3” depends on the setting.
  • the switch 10 transmits a packet to the controller 20 by sampling FL0.
  • the controller 20 sets flow entries such as FL1, FL2, and FL3 in the flow table 13 of the switch 10.
  • a range that is not included in FL1, FL2, and FL3 in the flow set of FL0 becomes the target of FL0.
  • the switch 10 changes the destination as a packet transfer process based on a match for the flow (when the flow entry is hit) and a match by packet sampling (when the packet sampling is matched).
  • the switch 10 forwards the matching packet to the controller 20 for a packet that matches by packet sampling.
  • the controller 20 sets the flow entry of the flow table 13 of the switch 10 based on the flow information obtained by sampling at the switch 10 and excludes it from the sampling target, thereby making the sampling target a finer flow. Limited to traffic.
  • the switch transmits a control message including information on the packet extracted by the sampling process to the controller.
  • the controller analyzes the received messages, and if they are traffic with a large flow rate, the controller sets the flow entry of the switch to exclude unnecessary traffic from the sampling target. By narrowing down the traffic to be sampled, the controller can selectively extract minute traffic and selectively switch the relevant flow to an abnormality detection device (transfer destination to the abnormality detection device, etc.). Switching).
  • Appendix 1 A device that sets a flow entry in which rules and actions for uniformly controlling a packet as a flow are defined in the flow table of the switch; An apparatus for receiving a sampling result when performing a sampling process on a received packet according to the setting of the flow table from the switch; A controller comprising: a device that updates a flow table according to a sampling result and narrows down packets to be sampled.
  • Appendix 2 The controller according to appendix 1, wherein A controller further comprising a device that sets a flow entry relating to a flow for performing sampling processing, a flow entry relating to a flow not performing sampling processing, and a default entry relating to a normal packet not corresponding to any flow to a flow table.
  • Appendix 3 The controller according to appendix 2, wherein Based on the packet information notified from the switch, the flow entry related to the flow that is newly excluded from the sampling processing among the flows that perform sampling processing with higher priority than the flow entry related to the flow that performs sampling processing
  • a controller that further includes a device that is set in the table and excludes packets corresponding to flows that are not subject to sampling processing from packets corresponding to flows that perform sampling processing.
  • a device that sets a flow entry in which a rule and an action for uniformly controlling a packet as a flow are defined in its own flow table, An apparatus for determining whether or not to perform sampling processing on a received packet according to the setting of the flow table; A switch comprising a device for notifying a controller of a sampling result when a sampling process is performed on a received packet.
  • Appendix 5 The switch according to appendix 4, wherein A device that classifies received packets into packets that correspond to a flow that performs sampling processing, packets that correspond to a flow that does not perform sampling processing, and normal packets that do not correspond to any flow according to the setting of the flow table; A device for notifying the controller of packet information corresponding to the flow for sampling processing; A device that converts header information of a packet corresponding to a flow that performs sampling processing and a packet that corresponds to a flow that does not perform sampling processing; And a switch for outputting a packet.
  • Appendix 6 The switch according to appendix 5, wherein In accordance with control from the controller based on the packet information, a flow entry related to a flow that is newly excluded from sampling processing among flows that perform sampling processing at a higher priority than a flow entry related to the flow that performs sampling processing.
  • a switch further comprising: a device that excludes packets corresponding to a flow that is not subject to sampling processing from packets corresponding to a flow that performs sampling processing according to the setting of the flow table.

Landscapes

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

Abstract

 オープンフロー等のフロースイッチにおいて、コントローラの負荷を上昇させずに、きめ細かいフローの監視を行う。具体的には、スイッチは、サンプリング手段で抽出したパケット情報を含む制御メッセージをコントローラに送信する。コントローラは、受信したメッセージを解析して、それらが流量の大きいトラヒックである場合には、スイッチのフローエントリを設定することでサンプリング対象から外す。サンプリング対象のトラヒックを絞り込んでゆくことで、コントローラは微細なトラヒックを選択的に抽出することが可能で、該当フローを選択的に異常検知装置等にスイッチすることが可能になる。

Description

ネットワークシステム、及びスイッチ方法
 本発明は、ネットワークシステムに関し、特にパケットサンプリングを行うネットワークシステムに関する。
 インターネット等で用いられるパケットスイッチ(以下、スイッチ)等のスイッチングノードにより形成されるネットワークでは、種々のトラヒック(traffic)がパケット多重で転送され、異常な振る舞いのトラヒックが混入することで、様々な異常が発生する可能性がある。
 このようなパケットネットワークにおいて、同様のサービスに関するトラヒックを集約したフロー(Flow)を定義し、フロー単位でスイッチを定義することで、きめ細かいトラヒック制御を行う方式が提案されている。
 このようなトラヒック制御方式の一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。
 なお、オープンフローネットワークシステムは、外部の制御装置(コントロールプレーン)からノード装置(ユーザプレーン)を制御するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークシステムの一例に過ぎない。
 [オープンフローネットワークシステムの説明]
 オープンフローネットワークシステムでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
 オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット(packet)の受信から出力側エッジスイッチでの送信までのパケットの一連の流れを定義し、この定義に適合するパケット群(パケット系列)をフロー(Flow)と呼ぶ。
 パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「Ethernet」(登録商標)のPDUである。
 フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
 フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。
 フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群に対して、フローエントリのアクションを実行する。
 オープンフローネットワークシステムにおけるスイッチでは、フロー単位にきめ細かいスイッチ処理が可能であり、フロー単位のトラヒック制御や、トラヒック監視が可能である。しかし、オープンフローのようなパケット処理を行うデータ転送処理部と制御処理部が論理的に分離したアーキテクチャにおいて、きめ細かいフローに対する制御を行うと、制御対象が増大し、制御の処理負荷が増大するという課題がある。
 一方で、フローの粒度(細分化の単位)を大きくすることで、制御部の処理負荷を下げることが可能であるが、フローの粒度の単位でしか統計がとれず、スイッチにフロー設定されて高速転送されているパケットの詳細を監視することができない。
 トラヒック監視技術の一例として、パケットサンプリング(packet sampling)技術が知られている。例えば、「sFlow」や「NetFlow」等が知られている。パケットサンプリングによるトラヒック監視では、通過するパケットを一定の確率でサンプリングしてパケットの流れを監視し、オリジナルのトラヒック量を発生確率に応じて推測することで、全体のトラヒック監視を行う。
 パケットサンプリングでは、確率処理するために、トラヒック量で大きな比率を占めるトラヒックの監視には向いているが、微小なトラヒックの監視には向いていない。
 本方式の改良方式として、特許文献1(特開2009-77136号公報)に、トラヒック情報提供装置、トラヒック情報取得装置、トラヒック情報収集システム、トラヒック情報提供プログラム、トラヒック情報取得プログラム及びトラヒック情報収集方法が開示されている。
 特許文献1では、異なるサンプリングレートでの監視を組み合わせることで、所望のトラヒックを監視することを提案している。
 しかし、パケットサンプリングによるトラヒック情報収集だけでは、やはりトラヒックの制御はできない。そのため、スイッチによるトラヒック制御と組み合わせる方式が望まれる。
特開2009-77136号公報
"OpenFlow: Enabling Innovation in Campus Networks"、 March 14, 2008、 Nick McKeown他7名、 インターネット(URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf) "OpenFlow Switch Specification, Version 1.0.0"、 December 31, 2009、 インターネット(URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
 オープンフロー等のフロースイッチにおいて、コントローラの負荷を上昇させずに、きめ細かいフローの監視を行う方式が求められる。
 本発明に係るネットワークシステムは、スイッチと、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、該スイッチのフローテーブルに設定するコントローラとを含む。該スイッチは、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する。該コントローラは、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む。
 本発明に係るコントローラは、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する装置と、該スイッチから、該フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する装置と、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む装置と
を具備する。
 本発明に係るスイッチは、コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する装置と、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する装置と、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する装置とを具備する。
 本発明に係るスイッチ方法では、コントローラから、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する。また、該スイッチにおいて、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する。また、該コントローラにおいて、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む。
 本発明に係るプログラムは、上記のスイッチ方法における処理を、コントローラやスイッチに実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 オープンフロー等のフロースイッチにおいて、帯域の大きなトラヒックに埋もれて解析が困難なフローを選択的に解析することが可能になる。
本発明に係るネットワークシステムの構成例を示すブロック図である。 本発明に係るネットワークシステムの実施例を説明するための図である。 本発明に係るスイッチの基本動作について説明するためのフローチャートである。 初期フローとして1つのフローが設定されている状態を示す図である。 初期フローとサンプリングなしフローとが設定されている状態を示す図である。 FL0と、FL1、FL2、FL3のトラヒック量の分布の例を示す図である。
 <実施形態>
 以下に、本発明の実施形態について添付図面を参照して説明する。
 本発明は、CU分離型ネットワークシステムを対象としている。ここでは、CU分離型ネットワークシステムの1つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
 [システム構成]
 図1に示すように、本発明に係るネットワークシステムは、スイッチ10と、コントローラ20を含む。
 スイッチ10は、フローテーブルに基づいてスイッチ処理を行うオープンフロースイッチ(OpenFlow Switch)である。
 コントローラ20は、フローテーブルを設定してスイッチ10の挙動を制御するオープンフローコントローラ(OpenFlow Controller)である。例えば、コントローラ20は、オープンフローコントローラとしての機能を実現するためのソフトウェアを実行しているサーバ装置である。
 スイッチ10とコントローラ20は、制御回線を介して接続されている。制御回線は、オープンフロープロトコルに準拠した制御メッセージを送受信する際に利用される。
 [スイッチの構成]
 スイッチ10は、受信部11と、スイッチ処理部12と、フローテーブル13と、サンプリング処理部14と、アクション実行部15と、送信部16と、制御処理部17を備える。
 受信部11は、受信回線を介して、外部からのパケットを受信する。受信回線は、受信部11が有するインタフェース数(入力ポート数)だけ存在する。なお、入力ポートは、受信ポートを示す。受信部11は、受信回線でパケットを受信すると、受信パケットをスイッチ処理部12に渡す。
 スイッチ処理部12は、受信パケットをバッファに格納するとともに、受信パケットのヘッダフィールドの値を抽出して、抽出したヘッダフィールドの値を基に、フローテーブル13の検索キーを作成する。スイッチ処理部12は、作成した検索キーを用いて、フローテーブル13の検索を行う。該検索キーがフローテーブル13のいずれかのフローエントリにヒット(該当)した場合は、そのフローエントリのアクションに従い、受信パケットをサンプリング処理部14、アクション実行部15、送信部16、又は制御処理部17のいずれかに送る。フローエントリのアクションとしては、出力ポートの指定、出力パケットヘッダの書き換え、制御回線への出力、パケット破棄等がある。なお、出力ポートは、送信ポートを示す。
 ここでは、スイッチ処理部12は、フローテーブル13のフローエントリのアクションでサンプリング指示ありの旨が指定されている場合、受信パケットをサンプリング処理部14に渡す。すなわち、受信パケットに対して、サンプリング処理を行う。また、フローテーブル13のフローエントリのアクションでサンプリング指示なしの旨が指定されている場合、受信パケットをアクション実行部15に渡す。すなわち、受信パケットに対して、サンプリング処理を行わずに、決定されたアクションを実行する。更に、スイッチ処理部12は、フローテーブル13に該当するフローがない場合、受信パケットを送信部16に渡す。すなわち、受信パケットを、いずれのフローにも該当しない通常のパケットとして出力する。
 フローテーブル13には、フローエントリとして、フロー(Flow)を示すパケットのヘッダフィールドの値とアクションの組が設定されている。ここでは、パケットのヘッダフィールドの値が、フローエントリのルールとなる。なお、フローテーブル13は、フローエントリのルールとして、フローを示すパケットのヘッダフィールドの値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することができる。
 サンプリング処理部14は、指定されたサンプリングレートでパケットをサンプリングする。例えば、サンプリング処理部14は、一定の間隔(一定時間毎、一定パケット数毎)で、パケットを採取し、統計解析を行う。その後、該パケットをアクション実行部15に渡す。このとき、サンプリング処理部14は、該パケットと共に、サンプリング結果をアクション実行部15に渡しても良い。
 アクション実行部15は、パケットに対して、決定されたアクションを実行する。例えば、アクション実行部15は、パケットに対して、アクションとして、ヘッダの書き換え、所定の送信回線への送信、又は該パケットの破棄を行う。このとき、アクション実行部15は、自主的に、パケットのヘッダフィールドを抽出し、抽出したヘッダフィールドを基に、フローテーブル13を検索して、受信パケットに対するアクションを決定し、決定されたアクションを実行しても良い。また、アクション実行部15は、サンプリング処理部14からパケットと共にサンプリング結果を受け取った場合、サンプリング結果に応じて、パケットに対するアクションを変更しても良い。
 送信部16は、送信回線を介して、パケットを外部に送信する。送信回線は、送信部16が有するインタフェース数(出力ポート数)だけ存在する。なお、送信部16の出力ポートの1つは、制御回線を介して、コントローラ20と接続されていても良い。この場合、コントローラ20側には、送信部16の出力ポートに対応する入力ポートが存在する。すなわち、送信部16は、出力パケットを送信回線や制御回線に出力する。
 制御処理部17は、スイッチ全体の動作を制御する。また、制御処理部17は、コントローラ20と制御メッセージの送受信を行い、コントローラ20からの制御メッセージに従って、フローテーブル13の設定を行う。
 [コントローラの構成]
 コントローラ20は、制御処理部21を備える。
 制御処理部21は、コントローラ全体の動作を制御する。また、制御処理部21は、スイッチ10と制御メッセージの送受信を行い、制御メッセージを用いて、スイッチ10のフローテーブル13の設定を行う。例えば、フロー更新(Flow Mod)メッセージ等の制御メッセージを用いて、スイッチ10のフローテーブル13に対するフローエントリの登録・更新を行う。すなわち、制御処理部21は、スイッチ10の制御に関する処理を行う。
 制御処理部21は、スイッチ10から制御回線を介してパケットの情報や、パケットの問い合わせ等の制御メッセージを受け取り、該パケットの転送の許否を判定し、該パケットの転送を許可する場合、スイッチ10の転送処理内容を決定し、スイッチ10の制御処理部17を介して、フローテーブル13の設定を行う。
 [2つのフローエントリ登録方式]
 オープンフローネットワークシステムでは、スイッチのフローテーブルにフローエントリを登録する方式は、大きく「Proactive型」と、「Reactive型」の2つの方式に分けられる。
 「Proactive型」では、コントローラが「事前に(データ通信が始まる前に)」所定のパケット群(フロー)の経路(パス)を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Proactive型」とは、コントローラが自発的に行う「事前のフローエントリ登録」を指す。
 「Reactive型」では、コントローラが「スイッチから1stパケット(該当フローエントリがない新規のパケット)についての問い合わせを受けた際に」当該パケット群(フロー)の経路を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Reactive型」とは、実際のデータ通信時に、コントローラがスイッチからの問い合わせに応じて行う「リアルタイムのフローエントリ登録」を指す。
 本発明では、「Proactive型」と、「Reactive型」のいずれの方式を用いても良い。
 「Proactive型」を採用した場合、コントローラ20の制御処理部21は、事前に(データ通信が始まる前に)、スイッチ10への到着が予想される所定のパケットについて、該パケットを特定するためのヘッダフィールドの値と、該パケットに対するアクションを決定し、制御メッセージを用いて、スイッチ10のフローテーブル13の設定を行う。
 「Reactive型」を採用した場合、コントローラ20の制御処理部21は、スイッチ10からパケットの問い合わせを受けた際に、該パケットを特定するためのヘッダフィールドの値と、該パケットに対するアクションを決定し、制御メッセージを用いて、スイッチ10のフローテーブル13の設定を行う。
 [ハードウェアの例示]
 以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
 スイッチ10の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ10は、物理マシン上に構築された仮想マシン(VM:Virtual Machine)により実現される仮想スイッチでも良い。
 コントローラ20の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ20は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM)でも良い。
 スイッチ10及びコントローラ20は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インタフェース(I/F:interface)によって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
 上記のメモリの例として、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)等の記憶媒体(メディア)等が考えられる。
 なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、計算機等に搭載される1チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。
 上記の通信用インタフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 また、ネットワークの例として、インターネット、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(登録商標)、シリアル通信回線、データバス等が考えられる。
 受信部11及び送信部16の例として、上記の通信用インタフェースを想定している。
 スイッチ処理部12、サンプリング処理部14、アクション実行部15、制御処理部17、及び制御処理部21の例として、上記のプロセッサを想定している。なお、スイッチ処理部12、サンプリング処理部14、アクション実行部15、制御処理部17、及び制御処理部21は、上記のプロセッサと上記のメモリの組合せでも良い。特に、制御処理部17及び制御処理部21は、上記のプロセッサと上記のメモリと上記の通信用インタフェースの組合せでも良い。また、スイッチ処理部12、サンプリング処理部14、アクション実行部15、制御処理部17、及び制御処理部21は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 フローテーブル13を格納する記憶領域の例として、上記のメモリを想定している。
 但し、実際には、これらの例に限定されない。
 [基本概念]
 図2を参照して、スイッチとコントローラ、及びフローの関係と、スイッチに複数のフローエントリが設定されている時の動作の概念について説明する。
 図2では、本発明に係るネットワークシステムは、スイッチ10(10-i、i=1~n:nは台数)と、コントローラ20を含む。
 スイッチ10(10-i、i=1~n)の各々は、上記で説明したスイッチ10と同じである。コントローラ20は、上記で説明したコントローラ20と同じである。
 スイッチ10(10-i、i=1~n)の各々は、コントローラ20と制御回線を介して接続され、コントローラ20からのフローテーブル設定指示(制御メッセージ)に従ってフローテーブル13を設定する。
 各スイッチ10は、受信回線から受信したパケットのヘッダフィールドの値の組合せを検索キーに用いて、フローテーブル13の検索を行い、ヒットしたフローエントリがあれば、そのフローに分類して、該フローエントリで指定されるアクションを実行する。
 ここでは、スイッチ10-1は、受信回線から受信したパケットについて、FL0~FL3に分類する。なお、FLは、フロー(Flow)を示す。該フロー(FL0~FL3)には、アクションにおいて、サンプリング指示ありの旨(サンプリング処理)と、所定の出力ポート(出力アクション)が指定されている。
 スイッチ10-1は、これらのFL0~FL3のうち、FL0に対して、サンプリング処理を適用し、1/Nの確率で、パケットサンプリング対象にマッチ(適合)したパケットの情報(サンプルパケット情報)を、制御回線を経由してコントローラ20に転送する。すなわち、スイッチ10-1は、FL0のパケットをN個に1個の割合で採取し、採取したパケットの情報を、制御回線を経由してコントローラ20に転送する。なお、スイッチ10-1は、採取したパケットの情報として、採取したパケットをコピー(複写)したパケット(サンプルパケット)を、制御回線を経由してコントローラ20に転送しても良い。
 また、スイッチ10-1は、FL0~FL3のそれぞれに対して、FL0の出力アクションと同様のアクションをそれぞれ適用し、指定された出力ポートにパケットを出力し、該出力ポートから送信回線に送出する。
 スイッチ10-1以外の他のスイッチ10も、以上と同様な処理を行い、FL0に相当するフロー(パケットサンプリング対象にマッチしたパケット)については、該パケットの情報を、制御回線を経由してコントローラ20に転送し、FL1~FL3に相当するフロー(パケットサンプリング対象にマッチしないパケット)については、該パケットを出力ポートから送信回線に送出する。
 ここでは、FL1~FL3のフローは、FL0のフロー集合に含まれるフロー群である。すなわち、FL0~FL3は、いずれもFL0のフロー集合に属するパケットを示す。
 [スイッチの基本動作]
 図3のフローチャートを用いて、スイッチの基本動作について説明する。
 (1)ステップS101
 スイッチ10は、パケットを受信すると、受信パケットのヘッダフィールドの値を抽出して、フロー検索のための検索キーを作成する。
 (2)ステップS102
 スイッチ10は、検索キーを用いて、フローテーブル13を検索する。
 (3)ステップS103
 スイッチ10は、フローテーブル13のいずれかのフローエントリに検索キーがヒットした場合(ステップS102でYes)、ヒットしたフローエントリのアクションにおいて指定されるサンプリング指示の有無を確認する。
 (4)ステップS104
 スイッチ10は、サンプリング指示ありの場合(ステップS103でYes)、該フローに対し、指定されたサンプリングレート(1/N)でサンプリング処理を行う。すなわち、スイッチ10は、該フローのパケットをカウントし、N個に1個のパケットをサンプリングする。
 (5)ステップS105
 スイッチ10は、該パケットが、パケットサンプリング対象にマッチするか確認する。すなわち、スイッチ10は、該パケットが、N個に1個のパケットであるか確認する。
 (6)ステップS106
 スイッチ10は、該パケットが、パケットサンプリング対象にマッチした場合は、第1の指定アクションを実行する。例えば、第1の指定アクションとして、コントローラ20宛のパケット転送が指示されている場合、スイッチ10は、該当フローのうち、1/Nの確率でコントローラ20宛にパケットの情報を転送する。コントローラ20は、パケットの情報を解析し、流量の大きいトラヒックである場合には、スイッチ10のフローエントリ13の設定の更新(フローエントリの追加・更新)を行い、サンプリング対象から不要なトラヒックを除外する。これにより、コントローラ20は、サンプリング対象のトラヒックを絞り込み、トラヒックを選択的に抽出する。
 (7)ステップS107
 スイッチ10は、該パケットが、パケットサンプリング対象にマッチしない場合、第2の指定アクションを実行する。例えば、第2の指定アクションとして、あるポートへの出力が指示されている場合、スイッチ10は、該当フローを、そのポートへ出力し、送信回線に送出する。
 (8)ステップS108
 スイッチ10は、サンプリング指示なしの場合(ステップS103でNo)、指定アクションに従って転送する。
 (9)ステップS109
 また、スイッチ10は、フローテーブル13のいずれのフローエントリにも検索キーがヒットしなかった場合(ステップS102でNo)、予め決められたデフォルトエントリのアクション(デフォルトアクション)に従い、パケットを転送する。
 なお、デフォルトエントリとは、不特定多数のパケット(全てのパケットでも可)を対象とした初期設定のフローエントリである。フローを示すパケットのヘッダフィールドの値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現することで、不特定多数のパケット(又は全てのパケット)を対象とすることができる。デフォルトエントリの優先順位は低く、他にヒットしたフローエントリがあれば、他にヒットしたフローエントリの方が優先される。すなわち、デフォルトエントリは、他にヒットするフローエントリが存在しない場合のみヒットするフローエントリである。デフォルトエントリにヒットしたパケットは、いずれのフローにも該当しない通常のパケットである。
 例えば、デフォルトアクションとして、コントローラ20宛のパケット転送が指示されている場合、スイッチ10は、フローテーブル13にヒットせず転送処理の不明なパケットを、コントローラ20宛に転送する。コントローラ20は、パケットに対する処理を行い、必要に応じて、スイッチ10のフローテーブル13を設定するという処理を行う(「Reactive型」)。
 或いは、デフォルトアクションとして、あるポートへの出力が指示されている場合、スイッチ10は、パケットを、そのポートへ出力し、送信回線に送出する(「Proactive型」)。
 [初期フローのみ]
 図4Aを参照して、初期フローとして1つのフローが設定されている状態について説明する。
 フローテーブル13には、FL0に対応するフローエントリが設定されている。FL0に対応するフローエントリでは、「アクション1」として、「サンプリングレート(1/N)でパケットサンプリング対象にマッチした時にはコントローラ20宛へ転送し、マッチしない時には出力先1に出力する」と定義している。更に、出力する際に、「アクション2」として「ヘッダ更新を行う」と定義している。
 したがって、スイッチ処理部12は、受信したパケットがFL0に対応するフローエントリにヒットすると、サンプリングレート(1/N)でパケットサンプリング対象にマッチした時にはコントローラ20宛へ転送し、マッチしない時には出力先1に出力する。更に、出力する際に、「アクション2」として「ヘッダ更新」を行う。
 FL0は、あるネットワークアドレスグループの集合を表している。例えば、「IPSA(Internet Protocol Source Address:送信元IPアドレス)=10.0.0.0/8」等のネットワークからのフローの集合が、FL0に対応するフローエントリにヒットし、更に複数のフロー集合に分割できるようにすることを想定している。
 [初期フロー+サンプリングなしフロー]
 図4Bを参照して、FL0からサンプリングにてコントローラ20に送られたパケットの情報に基づいて、FL1としてサンプリング対象から除外したフローをフローテーブル13に設定した状態について説明する。
 FL1は、フローテーブル13において、FL0のフローエントリよりも優先度大のフローエントリに設定されている。受信したパケットは、FL0とFL1の両方に含まれる場合でも、FL1に対応するフローエントリにヒットする。FL1に対応するフローエントリでは、「アクション1」として、「出力先1に出力する」と定義している。更に、出力する際に、「アクション2」として「ヘッダ更新を行う」と定義している。
 したがって、スイッチ処理部12は、受信したパケットがFL1に対応するフローエントリにヒットすると、サンプル処理を行わずに全て出力先1に出力する。更に、出力する際に、「アクション2」として「ヘッダ更新」を行う。
 このようにすることで、元々FL0に含まれていたパケットのうち、パケットサンプリング対象にマッチしやすい、帯域の大きなフローについてはFL1としてサンプリング対象から除外することができる。
 同様に、サンプリングによりコントローラ20に送られたパケットをサンプリング対象でないフローであるFL2、FL3に設定することで、FL0のフローエントリにヒットするトラヒックは、比較的トラヒック量の少ない集合になり、そのトラヒックをコントローラ20や分析装置で分析することにより、微細な(細分化された)フローのチェックが可能になる。
 すなわち、FL0のフローエントリにヒットするパケットのうち、最初からサンプリング対象にしないパケットを除外するために、FL1~FL3のフローエントリを利用している。具体的には、「FL0のフローエントリにヒットするパケット」から「FL1~FL3のフローエントリにヒットするパケット」を除外した残りのパケットに対して、サンプリングを実施する。
 したがって、フローエントリのルールとして、FL1~FL3のフローエントリのルールは、FL0のフローエントリのルールよりも、フローを示すパケットのヘッダフィールドの値が限定的である。
 例えば、FL0のフローエントリのルールを「IPSA=10.0.0.*/8」とした場合、FL1のフローエントリのルールを「IPSA=10.0.0.1/8」、FL2のフローエントリのルールを「IPSA=10.0.0.2/8」、FL3のフローエントリのルールを「IPSA=10.0.0.3/8」とすることで、「FL0のフローエントリにヒットするパケット」から「FL1~FL3のフローエントリにヒットするパケット」を除外することができる。
 ここでは、フローエントリの優先度の大小関係は、「デフォルトエントリ<FL0<FL1~FL3」である。「FL1~FL3」の優先度の大小関係については設定次第である。
 [トラヒック量の分布]
 図5を参照して、FL0と、FL1、FL2、FL3のトラヒック量の分布の例について説明する。
 FL0のフロー集合におけるヘッダの組合せを横軸にとり、それぞれのトラヒック量を縦軸にとった場合に、図5の曲線で示すようなトラヒック量の分布があるとする。
 このとき、スイッチ10は、FL0のサンプリングによりコントローラ20にパケットを送信する。その結果として、コントローラ20は、FL1、FL2、FL3のようなフローエントリをスイッチ10のフローテーブル13に設定する。これにより、FL0のフロー集合のうち、FL1、FL2、FL3に含まれない範囲がFL0の対象となる。
 これら(FL0、FL1、FL2、FL3)のトラヒックを解析することで、帯域の大きなトラヒックに埋もれて解析が困難なフローを選択的に解析することが可能になる。
 スイッチ10は、パケット転送処理として、フローに対する一致(フローエントリにヒットした場合)と、パケットサンプリングによる一致(パケットサンプリングにマッチした場合)によって、宛先を変更する。
 特に、スイッチ10は、パケットサンプリングにより一致したパケットについては、コントローラ20に対して、該当一致パケットを転送する。
 コントローラ20は、スイッチ10でのサンプリングで得られたフロー情報に基づいて、スイッチ10のフローテーブル13のフローエントリを設定して、サンプリング対象から除外することで、サンプリングの対象を、より微細なフローのトラヒックに限定する。
 <まとめ>
 以上のように、本発明では、スイッチは、サンプリング処理で抽出したパケットの情報を含む制御メッセージをコントローラに送信する。コントローラは、受信したメッセージを解析して、それらが流量の大きいトラヒックである場合には、スイッチのフローエントリを設定することで、サンプリング対象から不要なトラヒックを除外する。サンプリング対象のトラヒックを絞り込んでゆくことで、コントローラは、微細なトラヒックを選択的に抽出することが可能で、該当フローを選択的に異常検知装置等にスイッチする(異常検知装置等に転送先を切り替える)ことが可能になる。
 <付記>
 上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
 (付記1)
 パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する装置と、
 スイッチから、フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する装置と、
 サンプリング結果に応じて、フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む装置と
を具備する
 コントローラ。
 (付記2)
 付記1に記載のコントローラであって、
 サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、フローテーブルに設定する装置
を更に具備する
 コントローラ。
 (付記3)
 付記2に記載のコントローラであって、
 スイッチから通知されたパケットの情報を基に、サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、フローテーブルに設定し、サンプリング処理の対象外とするフローに該当するパケットを、サンプリング処理を行うフローに該当するパケットから除外する装置
を更に具備する
 コントローラ。
 (付記4)
 コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する装置と、
 フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する装置と、
 受信パケットに対するサンプリング処理を行った場合、コントローラにサンプリング結果を通知する装置と
を具備する
 スイッチ。
 (付記5)
 付記4に記載のスイッチであって、
 フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類する装置と、
 サンプリング処理を行うフローに該当するパケットの情報をコントローラに通知する装置と、
 サンプリング処理を行うフローに該当するパケット及びサンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換する装置と、
 パケットを出力する装置と
を更に具備する
 スイッチ。
 (付記6)
 付記5に記載のスイッチであって、
 パケットの情報に基づくコントローラからの制御に応じて、サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、フローテーブルに設定する装置と、
 フローテーブルの設定に従い、サンプリング処理の対象外とするフローに該当するパケットを、サンプリング処理を行うフローに該当するパケットから除外する装置と
を更に具備する
 スイッチ。
 <備考>
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2011-060389に基づく優先権を主張するものであり、日本出願番号2011-060389における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  スイッチと、
     パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記スイッチのフローテーブルに設定するコントローラと
    を含み、
     前記スイッチは、前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知し、
     前記コントローラは、前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む
     ネットワークシステム。
  2.  請求項1に記載のネットワークシステムであって、
     前記コントローラは、
     サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、前記フローテーブルに設定する手段
    を具備し、
     前記スイッチは、
     前記フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類する手段と、
     前記サンプリング処理を行うフローに該当するパケットの情報を前記コントローラに通知する手段と、
     前記サンプリング処理を行うフローに該当するパケット及び前記サンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換する手段と、
     パケットを出力する手段と
    を具備する
     ネットワークシステム。
  3.  請求項2に記載のネットワークシステムであって、
     前記コントローラは、
     前記スイッチから通知されたパケットの情報を基に、前記サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、前記サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、前記フローテーブルに設定し、前記サンプリング処理の対象外とするフローに該当するパケットを、前記サンプリング処理を行うフローに該当するパケットから除外する手段
    を更に具備する
     ネットワークシステム。
  4.  パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する手段と、
     前記スイッチから、前記フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する手段と、
     前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む手段と
    を具備する
     コントローラ。
  5.  コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する手段と、
     前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する手段と、
     前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知する手段と
    を具備する
     スイッチ。
  6.  コントローラから、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定することと、
     前記スイッチにおいて、前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知することと、
     前記コントローラにおいて、前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込むことと
    を含む
     スイッチ方法。
  7.  請求項6に記載のスイッチ方法であって、
     前記コントローラにおいて、サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、前記フローテーブルに設定することと、
     前記スイッチにおいて、
     前記フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類することと、
     前記サンプリング処理を行うフローに該当するパケットの情報を前記コントローラに通知することと、
     前記サンプリング処理を行うフローに該当するパケット及び前記サンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換することと、
     パケットを出力することと
    を含む
     スイッチ方法。
  8.  請求項7に記載のスイッチ方法であって、
     前記コントローラにおいて、前記スイッチから通知されたパケットの情報を基に、前記サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、前記サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、前記フローテーブルに設定し、前記サンプリング処理の対象外とするフローに該当するパケットを、前記サンプリング処理を行うフローに該当するパケットから除外すること
    を更に含む
     スイッチ方法。
  9.  パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定するステップと、
     前記スイッチから、前記フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信するステップと、
     前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込むステップと
    をコントローラに実行させるためのプログラムを格納した
     記憶媒体。
  10.  コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定するステップと、
     前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断するステップと、
     前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知するステップと
    をスイッチに実行させるためのプログラムを格納した
     記憶媒体。
PCT/JP2012/050986 2011-03-18 2012-01-18 ネットワークシステム、及びスイッチ方法 WO2012127894A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013505834A JP5660198B2 (ja) 2011-03-18 2012-01-18 ネットワークシステム、及びスイッチ方法
CN201280013961.5A CN103444132B (zh) 2011-03-18 2012-01-18 网络系统及其交换方法
US14/005,236 US9391895B2 (en) 2011-03-18 2012-01-18 Network system and switching method thereof
EP12761408.9A EP2688256A4 (en) 2011-03-18 2012-01-18 NETWORK SYSTEM AND SWITCHING METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011060389 2011-03-18
JP2011-060389 2011-03-18

Publications (1)

Publication Number Publication Date
WO2012127894A1 true WO2012127894A1 (ja) 2012-09-27

Family

ID=46879064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/050986 WO2012127894A1 (ja) 2011-03-18 2012-01-18 ネットワークシステム、及びスイッチ方法

Country Status (5)

Country Link
US (1) US9391895B2 (ja)
EP (1) EP2688256A4 (ja)
JP (1) JP5660198B2 (ja)
CN (1) CN103444132B (ja)
WO (1) WO2012127894A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 网络异常通知方法和装置
WO2014142256A1 (ja) * 2013-03-14 2014-09-18 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
WO2015046859A1 (ko) * 2013-09-26 2015-04-02 주식회사 케이티 플로우 테이블을 업데이트하는 방법
CN104579810A (zh) * 2013-10-23 2015-04-29 中兴通讯股份有限公司 软件定义网络流量采样方法和系统
KR20160010639A (ko) * 2013-09-26 2016-01-27 주식회사 케이티 플로우 테이블을 업데이트하는 방법
US10554511B2 (en) 2017-08-04 2020-02-04 Fujitsu Limited Information processing apparatus, method and non-transitory computer-readable storage medium

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9444748B2 (en) * 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9692775B2 (en) * 2013-04-29 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to dynamically detect traffic anomalies in a network
US9967199B2 (en) * 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
EP3105697A4 (en) * 2014-02-16 2017-12-13 B.G. Negev Technologies & Applications Ltd. at Ben-Gurion University A system and method for integrating legacy flow-monitoring systems with sdn networks
CN105490865A (zh) * 2014-09-17 2016-04-13 中兴通讯股份有限公司 一种实现流量分析的方法及装置
CN104468360B (zh) * 2014-12-12 2018-01-19 国家电网公司 一种无损电力软件定义网络流表一致更新方法
KR101628219B1 (ko) * 2015-01-22 2016-06-21 아토리서치(주) 소프트웨어 정의 네트워크에서 컨트롤러를 운용하는 방법 및 장치
US10374947B2 (en) * 2016-09-30 2019-08-06 Huawei Technologies Co., Ltd. Method and apparatus for encapsulating / decapsulating data packets at a radio access node
CN109274673B (zh) * 2018-09-26 2021-02-12 广东工业大学 一种网络流量异常检测和防御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336512A (ja) * 2006-05-18 2007-12-27 Alaxala Networks Corp 統計情報収集システム及び統計情報収集装置
JP2009077136A (ja) 2007-09-20 2009-04-09 Oki Electric Ind Co Ltd トラヒック情報提供装置、トラヒック情報取得装置、トラヒック情報収集システム、トラヒック情報提供プログラム、トラヒック情報取得プログラム及びトラヒック情報収集方法
WO2011030462A1 (ja) * 2009-09-14 2011-03-17 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP2011060389A (ja) 2009-09-11 2011-03-24 Toshiba Corp 半導体メモリ装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975592B1 (en) * 2000-11-22 2005-12-13 Nortel Networks Limited Configurable rule-engine for layer-7 and traffic characteristic-based classification
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US7133365B2 (en) * 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
AU2003300900A1 (en) * 2002-12-13 2004-07-09 Internap Network Services Corporation Topology aware route control
JP4341413B2 (ja) * 2003-07-11 2009-10-07 株式会社日立製作所 統計収集装置を備えたパケット転送装置および統計収集方法
US7782793B2 (en) * 2005-09-15 2010-08-24 Alcatel Lucent Statistical trace-based methods for real-time traffic classification
WO2011083682A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
JP5717057B2 (ja) * 2011-01-17 2015-05-13 日本電気株式会社 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US8593958B2 (en) * 2011-09-14 2013-11-26 Telefonaktiebologet L M Ericsson (Publ) Network-wide flow monitoring in split architecture networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336512A (ja) * 2006-05-18 2007-12-27 Alaxala Networks Corp 統計情報収集システム及び統計情報収集装置
JP2009077136A (ja) 2007-09-20 2009-04-09 Oki Electric Ind Co Ltd トラヒック情報提供装置、トラヒック情報取得装置、トラヒック情報収集システム、トラヒック情報提供プログラム、トラヒック情報取得プログラム及びトラヒック情報収集方法
JP2011060389A (ja) 2009-09-11 2011-03-24 Toshiba Corp 半導体メモリ装置
WO2011030462A1 (ja) * 2009-09-14 2011-03-17 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NICK MCKEOWN ET AL., OPENFLOW: ENABLING INNOVATION IN CAMPUS NETWORKS, 14 March 2008 (2008-03-14), Retrieved from the Internet <URL:http://www.openflowswitch.org//documents/openflow-wp-1 atest.pdf>
OPENFLOW SWITCH SPECIFICATION, VERSION 1.0.0, 31 December 2009 (2009-12-31), Retrieved from the Internet <URL:http://www.openflowswitch.org/documents/openflow-spec- vl.0.0.pdf>
See also references of EP2688256A4

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 网络异常通知方法和装置
WO2014108029A1 (zh) * 2013-01-11 2014-07-17 华为技术有限公司 网络异常通知方法和装置
US9819590B2 (en) 2013-01-11 2017-11-14 Huawei Technologies Co., Ltd. Method and apparatus for notifying network abnormality
WO2014142256A1 (ja) * 2013-03-14 2014-09-18 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
JPWO2014142256A1 (ja) * 2013-03-14 2017-02-16 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
WO2015046859A1 (ko) * 2013-09-26 2015-04-02 주식회사 케이티 플로우 테이블을 업데이트하는 방법
KR20160010639A (ko) * 2013-09-26 2016-01-27 주식회사 케이티 플로우 테이블을 업데이트하는 방법
KR101627992B1 (ko) 2013-09-26 2016-06-13 주식회사 케이티 플로우 테이블을 업데이트하는 방법
US10171351B2 (en) 2013-09-26 2019-01-01 Kt Corporation Method for updating flow table
CN104579810A (zh) * 2013-10-23 2015-04-29 中兴通讯股份有限公司 软件定义网络流量采样方法和系统
US10554511B2 (en) 2017-08-04 2020-02-04 Fujitsu Limited Information processing apparatus, method and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
CN103444132A (zh) 2013-12-11
US20140010235A1 (en) 2014-01-09
JP5660198B2 (ja) 2015-01-28
EP2688256A1 (en) 2014-01-22
CN103444132B (zh) 2016-06-01
US9391895B2 (en) 2016-07-12
EP2688256A4 (en) 2014-08-27
JPWO2012127894A1 (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
JP6609024B2 (ja) ネットワーク中で、トラフィックを監視する方法、および、装置
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US10623314B2 (en) Switch system, and monitoring centralized control method
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
US9560177B2 (en) Network system and network flow tracing method
US8149705B2 (en) Packet communications unit
JP5510687B2 (ja) ネットワークシステム、及び通信トラフィック制御方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
EP2765742B1 (en) Load reduction system, and load reduction method
Phan et al. Sdn-mon: Fine-grained traffic monitoring framework in software-defined networks
JP2006352831A (ja) ネットワーク制御装置およびその制御方法
WO2011118575A1 (ja) 通信システム、制御装置およびトラヒック監視方法
EP2830265A1 (en) Control device, communication device, communication system, communication method, and program
JP2011035932A (ja) ネットワーク制御装置およびその制御方法
KR20160122226A (ko) 통신 시스템, 제어 장치, 통신 제어 방법 및 프로그램
JP2015533045A (ja) 通信システム、通信方法、情報処理装置、通信制御方法及びプログラム
EP2683120B1 (en) Network system, packet processing method, and storage medium
JP2008193628A (ja) トラフィック情報の配信及び収集方法
JP2012151689A (ja) トラヒック情報収集装置、ネットワーク制御装置およびトラヒック情報収集方法
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP6160101B2 (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: 12761408

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013505834

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2012761408

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14005236

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE