WO2011030490A1 - 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム - Google Patents

中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム Download PDF

Info

Publication number
WO2011030490A1
WO2011030490A1 PCT/JP2010/004419 JP2010004419W WO2011030490A1 WO 2011030490 A1 WO2011030490 A1 WO 2011030490A1 JP 2010004419 W JP2010004419 W JP 2010004419W WO 2011030490 A1 WO2011030490 A1 WO 2011030490A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
communication
information
relay
rule
Prior art date
Application number
PCT/JP2010/004419
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 JP2011530730A priority Critical patent/JP5648639B2/ja
Priority to CN201080045695.5A priority patent/CN102577275B/zh
Priority to EP10815093.9A priority patent/EP2477362A4/en
Publication of WO2011030490A1 publication Critical patent/WO2011030490A1/ja
Priority to US13/137,926 priority patent/US20120044935A1/en
Priority to US15/349,717 priority patent/US10075338B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering

Definitions

  • the present invention relates to a relay control device, a relay control system and a relay control program for controlling processing performed by a packet relay device, and a packet relay device, a packet relay method and a packet relay program applied to the relay control system.
  • Non-Patent Document 1 and Non-Patent Document 2 describe a network architecture based on Ethane.
  • Ethane is a network architecture that includes a controller that determines the return of a packet to be transmitted and a switch that belongs to the controller and forwards the packet.
  • Each switch has a flow table for determining the packet destination.
  • the switch receives a packet having an entry indicating the transmission destination in the flow table, the switch transmits the packet based on the entry.
  • the switch transfers the information of the packet to the controller.
  • the controller holds information related to the communication network topology, and performs route calculation for packets that allow communication. Specifically, when the controller receives packet information from the switch, the controller determines whether to permit communication of the packet. If the controller determines to permit, the controller calculates the route of the packet. Then, the controller adds a new destination entry to the switch flow table on the calculated path. Thereafter, the switch transmits a packet based on the registered destination entry.
  • Non-Patent Document 3 describes a network architecture based on OpenFlow (hereinafter sometimes referred to as OF).
  • OpenFlow is a network architecture in which a controller controls a switch.
  • the packet transfer function and the path control function are separated by a flow control protocol, and the controller performs control using a uniform API (Application Program Interface) for different types of switches.
  • OpenFlow packet control is performed with the granularity as a flow unit in order to increase the data path speed and keep the control cost low.
  • the switch in the OF includes a flow table that stores the action of the received packet, and a secure channel for the switch to communicate with the controller.
  • the switch and the controller communicate on a secure channel using the OF protocol.
  • FIG. 20 is an explanatory diagram showing flow entries stored in the flow table.
  • the flow table stores, for each flow, a rule (Rule) that matches a packet header, an action (Action) that defines processing for the flow, and flow statistical information (Statistics).
  • Rule a rule that matches a packet header
  • Action an action that defines processing for the flow
  • flow statistical information Statistics
  • FIG. 21 is an explanatory diagram showing fields that are collated with the packet header. The following fields are used as search keys to be matched with the packet header.
  • Ethernet registered trademark
  • Ethernet registered trademark
  • MAC Media Access Control
  • MAC SA MAC source address
  • VLAN ID Virtual Area Network
  • IP TYPE priority
  • IPv4 version 4
  • IP SA IP source address
  • IP DA IP destination address
  • IP protocol IP protocol
  • Action is a process applied to a packet that matches a rule.
  • FIG. 22 is an explanatory diagram showing actions set in the flow. For example, when “OUTPUT” is set in the action, the setting means that the switch “outputs the packet that matches the rule to the designated port”. Similarly, when “SET_DL_DST” is set in the action, this setting means that the switch “updates the MAC DA (destination device)” that transmits a packet that matches the rule.
  • the flow statistics information includes the number of packets that match the rule, the number of bytes, the elapsed time since the packet was last received (session duration), and so on, to determine whether to delete the flow entry. Used to do.
  • the switch compares the received packet header with the rules of the flow table. If the received packet does not match the rule, the switch uses the message on the secure channel to transfer the packet information to the controller.
  • the controller calculates the transmission path of the packet based on the communication network topology. Then, the controller transmits a message for adding a flow entry to the flow table of the switch so that the switch can relay the packet through the transmission path. Thereafter, when receiving a packet corresponding to the added flow entry, the switch performs a corresponding action (transfer process) without transferring the information of the packet to the controller.
  • FIG. 23 is an explanatory diagram showing messages used on the secure channel.
  • the switch when the switch notifies an input packet to the controller, the switch transmits a message “Packet in” to the controller.
  • the switch when the switch notifies the controller that the flow has reached the expiration time (the session duration has elapsed for a predetermined time), the switch transmits a message “Flow Expired” to the controller.
  • the controller instructs the switch to output a packet
  • the controller transmits a message “Packet Out” to the switch.
  • the controller requests the switch to register, change, or delete a flow, the controller transmits a message “Flow Mod” to the switch.
  • Non-Patent Document 1 and Non-Patent Document 2 packets that do not have an entry in the flow table and are not permitted to be communicated by the controller are normally subjected to route calculation. Not transferred. For this reason, such packets often accumulate in the switch queue and are discarded after a predetermined time.
  • the switch When the switch receives a packet that is not permitted to be communicated by the controller, the switch usually makes an inquiry to the controller again, and the controller determines whether to permit the communication again for the packet. It will be. That is, when the switch receives a packet for which communication is not permitted many times, the switch makes an inquiry to the controller each time. The controller also needs to determine whether to permit communication each time. Therefore, in such a case, there is a problem that the processing load increases for both the switch and the controller.
  • the switch receives the same packet many times. In this case, the switch makes an inquiry to the controller every time the packet arrives. Therefore, both the switch and the controller have a problem that the CPU load increases.
  • Non-Patent Document 3 Even in OpenFlow described in Non-Patent Document 3, there is a problem that if the switch repeatedly sends a packet that is not allowed to communicate with the destination device to the controller, both the switch and the controller have a high processing load. Therefore, it is desirable that the controller can control the switch so that such a packet can be processed appropriately.
  • the present invention provides a relay control device, a relay control system, a relay control program, and a packet applied to a relay control system that can reduce the processing load performed by the packet relay device for a packet that is not permitted to communicate with a destination device. It is an object to provide a relay device, a packet relay method, and a packet relay program.
  • a relay control device is a relay control device that controls a packet relay device, and permits a match condition that is information for identifying a packet and communication to a destination device for a packet that satisfies the match condition. Based on the policy that is the information that associates the communication availability information indicating whether or not the packet is received, the packet relay device communicates with the destination device for the packet that matches the matching condition based on the packet information received. Communication permission determining means for determining whether or not to permit the packet, and the communication permission determining means determines that the packet corresponding to the match condition is not permitted to be communicated to the destination apparatus, and the packet is transmitted to the destination apparatus. And a rule setting means for setting at least a rule for executing a process for preventing the packet from being transferred to a packet relay apparatus that has received the packet.
  • the relay control system includes a packet relay device and a relay control device that controls the packet relay device.
  • the relay control device applies a match condition that is information for identifying a packet, and a packet corresponding to the match condition.
  • the packet relay device meets the matching condition based on the information of the packet received.
  • Communication permission determining means for determining whether to permit communication to the destination device for the packet to be determined, and the communication permission determining means has determined that communication to the destination device is not permitted for packets that meet the matching condition On the condition that the packet relay device that received the packet has at least a rule that executes processing to prevent the packet from being transferred to the destination device Characterized in that a rule setting means.
  • the packet relay apparatus includes a flow storage unit that stores a flow, which is information in which processing for a received packet is associated with information for identifying the packet, and a packet received based on the flow stored in the flow storage unit
  • a packet relay unit that relays the packet, and the packet relay unit indicates a match condition that is information for identifying the packet, and communication indicating whether or not communication to the destination device is permitted for a packet corresponding to the match condition
  • Based on the policy that is the information that correlates the availability information based on the information of the received packet, determine whether to allow communication to the destination device for the packet that matches the match condition, If it is determined that communication to the destination device is not permitted for the packet, the packet that matches the match condition is forwarded to the destination device.
  • the information of the packet is transmitted to the relay control device that sets at least the flow that executes the processing for the transmission to the device that received the packet And processing the packet based on the flow set by the relay control device.
  • a relay control device that controls a packet relay device permits a match condition that is information for identifying a packet, and whether to permit communication to a destination device for a packet that satisfies the match condition. Based on the policy that is the information that associates the communication availability information indicating that the packet relay device has received the packet, the packet that matches the matching condition is allowed to communicate with the destination device. Processing for preventing the relay control device from transferring the packet to the destination device on the condition that the relay control device determines that communication to the destination device is not permitted for the packet corresponding to the match condition The rule for executing is set at least in the packet relay apparatus that has received the packet.
  • the packet relay method relays a received packet based on the flow stored in the flow storage means for storing a flow which is information in which processing for the received packet is associated with information for identifying the packet, Based on a policy that is information that associates a match condition that is information for identifying a packet and communication enable / disable information that indicates whether or not communication with a destination device is permitted for a packet that satisfies the match condition, Based on the received packet information, it is determined whether or not communication to the destination device is permitted for the packet corresponding to the matching condition, and it is determined that communication to the destination device is not permitted for the packet.
  • the packet that matches the match condition On the condition that the packet that matches the match condition is received, at least the packet that receives the flow that executes the process to prevent the packet from being transferred to the destination device is received.
  • the packet information is transmitted, and the packet is based on the flow set by the relay control device. It is characterized by relaying.
  • a relay control program is a relay control program that is applied to a computer that controls a packet relay device.
  • the relay control program applies to a computer a match condition that is information for identifying a packet and a packet corresponding to the match condition. Packets that match the matching condition based on the information of the packet received by the packet relay device based on the policy that is the information that associates the communication enable / disable information indicating whether or not to permit communication with the destination device.
  • the communication permission determination process for determining whether or not to permit communication to the destination device, and the communication permission determination process that the packet that matches the matching condition is determined not to allow communication to the destination device On the condition that the packet is received at least a rule that executes processing to prevent the packet from being forwarded to the destination device Characterized in that to execute the rule setting process of setting the packet relay apparatus.
  • a packet relay program is a packet relay program applied to a computer having a flow storage means for storing a flow that is information in which processing for a received packet is associated with information for identifying the packet.
  • the packet relay process for relaying the packet received based on the flow stored in the flow storage means is executed, and the packet relay process determines the match condition, which is information for identifying the packet, and the packet corresponding to the match condition.
  • the policy which is information that associates communication permission / inhibition information indicating whether or not communication with the destination device is permitted
  • the packet corresponding to the matching condition is determined based on the received packet information. Determine whether to permit communication to the destination device, and pass the packet to the destination device.
  • the relay control device that sets a flow for executing processing for preventing a packet corresponding to the match condition from being transferred to the destination device, at least in the source device that received the packet,
  • the packet information is transmitted, and the packet is processed based on the flow set by the relay control device.
  • the present invention it is possible to reduce the load of processing performed by the packet relay device for a packet for which communication to the destination device is not permitted.
  • an OF switch Open Flow Switch, hereinafter referred to as OFS
  • OFC Open Controller
  • the network architecture to which the present invention is applied is not limited to OpenFlow. Other forms may be used as long as the relay control apparatus is a network architecture that controls the packet relay apparatus.
  • FIG. FIG. 1 is a block diagram showing an example of a relay control system according to the first embodiment of the present invention.
  • the relay control system in this embodiment includes an OFC 10 and an OFS 30.
  • the OFC 10 is a controller that holds network topology information and valid communication path information and controls the OFS 30 in the communication network. Specifically, the OFC 10 controls processing performed when the OFS 30 receives a packet.
  • the OFS 30 is a switch that forwards a received packet based on a set rule based on control from the OFC 10.
  • the OFC 10 and OFS 30 are connected to each other via a communication network, but the form of the communication network is not particularly limited. In the relay control system in FIG.
  • the OFC 10 may have a cluster configuration including a plurality of computers, and may be configured to satisfy the functions of the OFC 10 as a whole.
  • the OFS 30 includes a network interface unit 31, a storage unit 32, and a control unit 33.
  • the network interface unit 31 communicates with the OFC 10 and other switches (not shown).
  • the storage unit 32 stores the processing for the received packet (hereinafter also referred to as a switch action) in association with information for identifying the packet.
  • the switch action includes processes such as transferring a received packet to a designated port, performing a discarding process (sometimes referred to as “Drop”), and transmitting the packet to the OFC 10.
  • the storage unit 32 stores, for example, a protocol number, a Src (Source) IP address, a Src port, a Dst (Distration) IP address, and a Dst port included in an information group called 5-tuple as information for identifying a packet. Also good.
  • the information for identifying the packet is not limited to 5-tuple.
  • the storage unit 32 may store an input port, a VLAN (Virtual LAN) ID, an Ethertype, a SrcMAC address, and a DstMAC address included in an information group called 10-tuple as information for identifying a packet. Furthermore, the storage unit 32 may store VLAN priority included in an information group called 11-tuple as information for identifying a packet. Moreover, the memory
  • this identification information is information for determining a switch action, in the following description, it may be described as a rule.
  • the storage unit 32 can be said to be a storage device that stores a flow.
  • the storage unit 32 is realized by, for example, a magnetic disk device provided in the OFS 30.
  • the flow of the storage unit 32 is stored by the control unit 33 in response to an instruction from the OFC 10.
  • the control unit 33 processes the received packet based on the flow stored in the storage unit 32. Specifically, when receiving a packet from another device, the control unit 33 compares the header information of the packet with the rule in the flow, and executes the switch action of the rule corresponding to the header information. For example, when the header information of the packet matches the identification information indicated by the rule, the control unit 33 may execute a switch action corresponding to the rule.
  • the control unit 33 determines whether the information identifying the received packet corresponds to the information indicated by the rule. It may be determined whether or not.
  • the control unit 33 compares the IP address included in the received packet with the prefix portion to determine whether or not a match is found. May be.
  • the control unit 33 transmits information on the received packet to the OFC 10.
  • the control unit 33 receives a flow for the transmitted packet information from the OFC 10
  • the control unit 33 stores the flow in the storage unit 32 and executes a switch action indicated by the received flow.
  • OpenFlow as described above, a packet that does not correspond to the flow stored in the storage unit 32 may be referred to as a first packet.
  • the control unit 33 may notify the OFC 10 of information (for example, a Hello message) indicating that it has been connected. Further, the control unit 33 may receive the identification information and the switch action (that is, the flow) transmitted collectively from the OFC 10 and store the information in the storage unit 32.
  • the control unit 33 is realized by a CPU of a computer that operates according to a program.
  • the program may be stored in the storage unit 32 of the OFS 30, and the CPU may read the program and operate as the control unit 33 according to the program.
  • the OFC 10 includes an OF protocol (hereinafter referred to as OFP) reception unit 11, a policy table 12, a static policy acquisition unit 13, a dynamic policy acquisition unit 14, a policy determination unit 15, and an Allow control unit 16. , A Deny control unit 17, a route calculation unit 18, a Deny log generation unit 19, an OFS control unit 20, and an OFP transmission unit 21.
  • OFP OF protocol
  • the OFP receiving unit 11 receives a message based on the OFP 30 from the OFS 30. Specifically, the OFP receiving unit 11 receives a packet whose corresponding flow does not exist in the storage unit 32 of the OFS 30.
  • the policy table 12 includes information for identifying a packet to be transmitted (hereinafter referred to as a match condition), and communication enable / disable information indicating whether or not communication to the destination device is permitted for a packet corresponding to the match condition. (Hereinafter simply referred to as an action) is stored (hereinafter referred to as a policy).
  • the policy table 12 is realized by, for example, a magnetic disk device provided in the OFC 10.
  • the match condition may be the same as the rule for the OpenFlow controller to identify the packet.
  • the matching condition for example, information similar to the identification information (rule) stored in the storage unit 32 (that is, 5-tuple or 10-tuple) may be used.
  • the policy table 12 may store a policy in advance, or may store a policy according to an instruction from another device or a user.
  • the action is information indicating whether the packet is allowed to communicate with the destination device (Allow) or not allowed to communicate with the destination device (Deny).
  • the action may include additional information indicating the content of processing performed on a packet in which communication to the destination device is not permitted (Deny).
  • the policy table 12 stores this additional information in association with the action of each matching condition.
  • the additional information includes information such as discarding the Deny packet (dropping), collecting a log (logging), and setting a route to an external specific device.
  • a process for a packet in which communication to a destination device is not permitted (Deny) may be referred to as a Deny process.
  • the Deny process is a process for preventing a packet from being transferred to the destination device because it is a process for a packet that is not transferred.
  • the policy table 12 does not have to store additional information.
  • FIG. 2 is an explanatory diagram showing an example of a policy of a packet in which communication to the destination device is not permitted (Deny).
  • FIG. 2A is an explanatory diagram showing an example when Deny is set as the last policy among the set policies. In the example shown in FIG. 2A, the policy and the packet are compared in the set order, and when the packet does not match all the policies set before “All Deny”, Deny and Indicates that it will be judged.
  • FIG. 2B is an explanatory diagram illustrating an example of a policy when a Deny packet is determined based on information set in the payload of the packet.
  • IP 192.168.0.1 ⁇ Deny illustrated in FIG. 2B indicates that access from the IP address “192.168.0.1” is not permitted (determined to be Deny).
  • IP 192.168.0.0/0.0.7.7255 ⁇ Deny illustrated in FIG. 2B has an IP address “192.168.0.0/255.255.248. Indicates that access from other than “0” is not permitted (determined to be Deny).
  • the policy using an IP address as identification information has been described as an example.
  • the contents used as policy identification information are not limited to IP addresses.
  • an ID for identifying a terminal such as a MAC (Media Access Control) address may be used as policy identification information.
  • information on a field for identifying a protocol or an application such as a protocol number or a port number may be used.
  • a network identification value such as VLAN ID or MPLS (Multi-Protocol Label Switching) label may be used.
  • the switch input port may be used as policy identification information.
  • the policy may be set to “Deny packets from Port 1 of switch A”.
  • the policy may include both information set in the payload and the input port of the switch. For example, the policy may be set so that “access from IP 192.168.0.1 of Port 1 of switch A is Deny”.
  • the static policy acquisition unit 13 acquires a policy stored in the policy table 12. Specifically, the static policy acquisition unit 13 determines whether there is an updated policy among the policies stored in the policy table 12, and reads the updated policy. For example, the static policy acquisition unit 13 may periodically access the policy table 12, determine that information different from the previous access is an updated policy, and read the policy. However, the method for determining the updated policy is not limited to the above method. In addition, for example, the policy table 12 generates a trigger at the timing when the policy content is updated and notifies the static policy acquisition unit 13 that the static policy acquisition unit 13 has received the trigger. As an opportunity, it may be determined that the policy has been updated. The static policy acquisition unit 13 may determine that all policies in the policy table 12 have been updated when the policy table 12 is initialized.
  • the static policy acquisition unit 13 determines whether or not the policy table 12 has been updated when receiving notification of information (for example, a Hello message) indicating that the OFS 30 is connected to the communication network. Also good. When the static policy acquisition unit 13 reads the updated policy, the static policy acquisition unit 13 notifies the policy determination unit 15 of the policy.
  • notification of information for example, a Hello message
  • the OFS 30 receives the identification information and the action stored in the policy table 12 regardless of the received packet. Therefore, identification information and actions transmitted and received in this way can be called a static policy. From the above, it can be said that the static policy acquisition unit 13 detects the update of the static policy and acquires the flow (that is, the match condition) and the action.
  • the dynamic policy acquisition unit 14 acquires a policy corresponding to the received packet information from the policy table 12. Specifically, the dynamic policy acquisition unit 14 compares the match condition stored in the policy table 12 with the received packet information, and reads an action corresponding to the corresponding match condition from the policy table 12. For example, when the OFP receiving unit 11 receives the packet information and the “Packet-in” message based on the OFP from the OFS 30, the dynamic policy acquisition unit 14 confirms that the received packet information satisfies the match condition. And the action corresponding to the matching condition is read from the policy table 12.
  • the “Packet-in” message is a message used on the OpenFlow Secure Channel, which means that a packet input to the switch is notified to the controller. Then, the dynamic policy acquisition unit 14 notifies the policy determination unit 15 of the read action and packet information.
  • the OFC 10 includes both the static policy acquisition unit 13 and the dynamic policy acquisition unit 14 .
  • the OFC 10 only needs to include one of the static policy acquisition unit 13 and the dynamic policy acquisition unit 14, or may include both.
  • the policy determination unit 15 determines, based on the policy, whether to permit communication to the destination device for the packet based on the information of the packet received by the OFS 30. Specifically, when the policy determination unit 15 receives the action read by the dynamic policy acquisition unit 14 and the packet information received from the OFS 30, the policy determination unit 15 determines whether the action is an action that permits communication to the destination device. to decide. In the case of an action that permits communication to the destination device (Allow), the policy determination unit 15 determines that communication to the destination device is permitted, and causes the Allow control unit 16 described later to calculate a packet transfer destination. On the other hand, in the case of an action that does not permit communication to the destination device (Deny), the policy determination unit 15 determines that communication to the destination device is not permitted, and causes the Deny control unit 17 described later to determine the packet Deny process. .
  • the policy determination unit 15 may determine whether to permit communication to the destination device for the packet indicated by the updated policy match condition based on the policy. Specifically, when the policy determination unit 15 receives the updated policy from the static policy acquisition unit 13, the policy determination unit 15 determines whether or not the action included in the policy is an action that permits communication to the destination device. In the case of an action that permits communication to the destination device (Allow), the policy determination unit 15 determines that communication to the destination device is permitted for the packet indicated by the policy match condition, and sends an Allow control unit 16 described later to the Allow control unit 16. The packet transfer destination is calculated.
  • the policy determination unit 15 determines that communication to the destination device is not permitted for a packet indicated by the match condition of the policy, and Deny control described later.
  • the unit 17 is caused to determine the packet Deny process.
  • the Allow control unit 16 calculates a packet transmission path when the policy action is “Allow”. Specifically, the Allow control unit 16 causes the route calculation unit 18 to calculate a transmission route to the transmission destination. Then, the Allow control unit 16 notifies the OFS control unit 20 of the calculated transmission path.
  • the Deny control unit 17 determines the Deny process when the policy action is “Deny”. That is, the Deny control unit 17 determines a Deny process for a packet that is determined not to allow communication to the destination device. Specifically, when the policy determination unit 15 determines that the policy action is an action that does not permit communication to the destination device (Deny), the Deny control unit 17 determines the content of the additional information included in the action. Then, processing for a packet that is determined not to permit communication to the destination device is determined. The Deny control unit 17 notifies the OFS control unit 20 of the determined process.
  • the Deny control unit 17 may determine that the OFS 30 discards the received packet (Drop).
  • the OFC 10 sets a process rule (Drop process) for discarding a specific packet to the OFS 30, whereby the CPU load when the OFS 30 receives a similar packet thereafter can be suppressed. That is, when the Drop processing rule is set in the OFS 30, the OFS 30 can perform the Drop processing in the hardware part of the OFS 30 without inquiring of the processing content of the received packet to the OFC 10. Therefore, the CPU load of the OFS 30 and OFC 10 can be suppressed.
  • the Deny control unit 17 sets another received destination different from the destination device for the received packet. It may be determined that an explicit route to (for example, an external specific device) is set in the OFS 30. Specifically, the Deny control unit 17 determines to transmit a packet to the OFS 30 as another transmission destination to a quarantine network, a honeypot, a detailed flow behavior analysis device, or the like. In this case, the Deny control unit 17 causes the route calculation unit 18 to calculate a transmission route to the plurality of security analysis devices. The Deny control unit 17 may determine to transmit a packet to one of the plurality of devices, or may determine to transmit a packet to a plurality of devices. The destination to which the Deny control unit 17 transmits is determined in advance according to the match condition. When there is one transmission destination, the same transmission destination may be set for all match conditions.
  • the OFC 10 cannot explicitly set a path or adaptively set a path for the OFS 30. However, as described above, since the action is determined according to the policy, the OFC 10 sets an explicit route for the packet that does not permit communication to the destination device or sets an adaptive route to the OFS 30. You can do it. It is also possible to provide more detailed Deny processing by an external device.
  • the Deny control unit 17 determines that when the OFS 30 receives a packet decided to be discarded or a packet decided to set an explicit route, the OFS 30 transmits information on the packet to the OFC 10 again. May be. Specifically, when the additional information is set to log (logging setting), the Deny control unit 17 determines that the OFS 30 discards the received packet (Drop). The packet information may be determined to be transmitted (Packet-in) to the OFC 10 as well. Alternatively, the Deny control unit 17 may determine to set an explicit route of the received packet to the OFS 30 and to transmit the packet information to the OFC 10 (Packet-in).
  • the OFC 10 can grasp the contents of these packets by causing the OFS 30 to transmit the contents of the packets that are not permitted to communicate with the destination device to the OFC 10.
  • the Deny log generation unit 19 described later can create log information based on the contents of the received packet.
  • the Deny control unit 17 determines the Deny process based on the additional information included in the action corresponding to the identification information.
  • the method by which the Deny control unit 17 determines the Deny process is not limited to the case based on the identification information.
  • the Deny control unit 17 may determine a predetermined process as the Deny process.
  • the packet may show the same behavior as the Drop processing in the Deny processing.
  • the OFS 30 cannot perform processing other than Drop such as transfer to a specific device or collection of a log by the OFC 10.
  • the Policy determining unit 15 determines that the action for the policy is an action not permitting communication with the destination device
  • the Deny control unit 17 determines the Deny process based on the policy. Therefore, the OFC 10 can set in the OFS 30 a switch action that does not transfer a packet that is not allowed to be communicated with the destination device (that is, a process for not transferring the packet to the destination device).
  • the route calculation unit 18 calculates a route for transmitting a packet to a destination in the payload or a device indicated by the policy. For example, the route calculation unit 18 calculates information indicating the destination in the payload and the OFS 30 through which the packet reaches the specific device indicated in the policy and its output port in order.
  • the route calculation unit 18 may calculate the route to the destination device based on Shortest Path. However, the route calculation method is not limited to the method based on Shortest Path. Note that since a method for calculating a route to a destination device is widely known, a description thereof is omitted here. Further, the route calculation unit 18 may calculate a plurality of route candidates instead of only one.
  • a route can be said to be a device in which a device (for example, a switch) that passes through to reach a target location and its output port are sequentially shown for a certain flow.
  • the received packet is first transmitted from “output port 1” of switch A to switch B, then transmitted from “output port 3” of switch B to switch C, and further to “output port of switch C”.
  • the route can be expressed as “switch A output port 1 ⁇ switch B output port 3 ⁇ switch C output port 4”.
  • the Deny log generation unit 19 generates a log when the Deny process is performed (hereinafter referred to as a Deny log). That is, the Deny log can be said to be a log indicating that it is determined that communication to the destination device is not permitted.
  • the Deny control unit 17 may determine to cause the OFS 30 to transmit the information of the packet to be discarded or the information of the packet for which an explicit route is set to the OFC 10 again. At this time, the Deny log generation unit 19 may generate a Deny log when information on these packets is received from the OFS 30.
  • the Deny log generation unit 19 sets the Deny log as “2009/08/11 12:00:01 Deny TCP SRC: 192.168.1.3:49388 DST: xxx.xxx.xxx.xxx:80” May be generated.
  • An example of the Deny log shown above is an IP address “xxx.xxx.xxx.xxx (port number 80) from a device whose source IP address is represented by“ 192.168.1.3 (port number 49388) ”. "The packet transmitted to the destination represented by” is deny processed at 12:00:00 on August 11, 2009 ". Note that when the OFC 10 does not output a log, the OFC 10 may not include the Deny log generation unit 19.
  • the Deny log includes part of the date and the payload information of the packet (for example, IP address) has been described as an example.
  • the contents included in the Deny log are not limited to the above contents.
  • the Deny log may include information other than the above included in the payload information of the packet.
  • the log output by the Deny log generation unit 19 is not limited to the Deny log.
  • a log indicating that communication to the destination apparatus is permitted hereinafter referred to as an Allow log
  • the OFS control unit 20 sets a processing rule to be executed by the OFS 30 based on the packet transmission path calculated by the Allow control unit 16 and the Deny process determined by the Deny control unit 17. That is, when receiving the Deny process determined by the Deny control unit 17, the OFS control unit 20 sets a rule for executing the Deny process in the OFS 30 that has received the packet.
  • the OFS control unit 20 may determine that the OFS 30 that has transmitted packet information to the OFC 10 is a setting target switch.
  • the switch for which the OFS control unit 20 sets the processing rule is not limited to the OFS 30 that has received the packet.
  • the OFS control unit 20 sets a rule for transferring the packet to the transmission path in the OFS 30.
  • the OFS control unit 20 receives a packet transmission path calculated by the Allow control unit 16 and a Deny process notification determined by the Deny control unit 17.
  • the OFS control unit 20 creates a flow in which the content of the payload of the packet as the identification information is associated with the transmission path of the packet as the action.
  • the OFS control unit 20 creates a flow in which the content of the payload of the packet that is identification information is associated with the Deny process that is an action.
  • the OFS control unit 20 creates a message for updating the storage unit 32 of the OFS 30 with the information of the created flow, and instructs the OFP transmission unit 21 to send the message to the OFS 30.
  • the OFS control unit 20 performs the Deny process setting
  • the following cases may be mentioned.
  • the OFS control unit 20 performs a flow stored in a single or a plurality of OFS 30 according to the route. Set to update the packet output port.
  • the OFS control unit 20 compares the packet with respect to the flow in the OFS 30 that transmitted the packet (sometimes referred to as ingress). Set to discard.
  • the Deny control unit 17 may decide to cause the OFS 30 to transmit the packet determined to be dropped or the packet determined to set an explicit route to the OFC 10 again.
  • the OFS control unit 20 sets a virtual port “Controller” for the flow in the OFS 30 (that is, ingress) that has transmitted these packets, and transmits these packets (Packet-in). I do.
  • the OFS control unit 20 may set the flow of the OFS 30 by using this Flow Mod message.
  • the OFP transmission unit 21 transmits a message based on the OFP 30 to the OFS 30. Specifically, the OFP transmission unit 21 transmits a message generated by the OFS control unit 20 based on the OFP to the OFS 30.
  • OFP receiving unit 11, static policy acquisition unit 13, dynamic policy acquisition unit 14, policy determination unit 15, Allow control unit 16, Deny control unit 17, route calculation unit 18, and Deny log generation unit 19 and the OFS control unit 20 are realized by a CPU of a computer that operates according to a program (relay control program).
  • the program is stored in a storage unit (not shown) of the OFC 10, and the CPU reads the program, and according to the program, the OFP reception unit 11, the static policy acquisition unit 13, the dynamic policy acquisition unit 14, and the policy determination Unit 15, Allow control unit 16, Deny control unit 17, route calculation unit 18, Deny log generation unit 19, and OFS control unit 20 may be operated.
  • the generation unit 19 and the OFS control unit 20 may be realized by dedicated hardware, respectively.
  • FIG. 3 is a flowchart showing an example of processing when the OFC 10 receives packet information from the OFS 30.
  • the control unit 33 of the OFS 30 transmits a message including the received packet information to the OFC 10 via the network interface unit 31.
  • the dynamic policy acquisition unit 14 acquires an action that matches the packet-in header in the OpenFlow message from the policy table 12 (step S120). ). That is, the dynamic policy acquisition unit 14 compares the match condition stored in the policy table 12 with the received packet information, and reads an action corresponding to the corresponding match condition from the policy table 12.
  • the policy determination unit 15 determines whether or not the action read by the dynamic policy acquisition unit 14 is an action “Do not allow communication to destination device (Deny)” (step S130). When the action is Deny (“Yes” in Step S130), the policy determination unit 15 causes the Deny control unit 17 to determine the Deny process for the packet (Step S140).
  • FIG. 4 is a flowchart illustrating an example of processing performed by the Deny control unit 17.
  • the Deny control unit 17 determines a process based on the content of the additional information included in the action (step S141).
  • the content of the additional information is “Drop” (“Drop” in Step S141
  • the Deny control unit 17 sets a Drop flag (Step S142).
  • the Deny control unit 17 includes the memory (FIG. The fact that the Drop flag has been set is stored in, for example, (not shown), etc.
  • the Deny control unit 17 causes the route calculation unit 18 to calculate the transmission route of the packet to the specific host (step S143).
  • the Deny control unit 17 determines whether or not logging is set in the additional information (step S144). If logging is set (“Yes” in step S144), the Deny control unit 17 sets a Packet-in flag (step S145). Specifically, the Deny control unit 17 stores that the Packet-in flag is set in a memory (not shown) provided in the OFC 10. Then, the Deny log generation unit 19 generates a Deny log (Deny logging) (step S146). If the logging setting is not made (“No” in step S144), the Deny control unit 17 does not perform Deny log generation processing.
  • Step S150 the policy determination unit 15 causes the Allow control unit 16 to calculate a packet transfer destination (Step S150). Specifically, the Allow control unit 16 causes the route calculation unit 18 to calculate the route to the packet. In this way, the Allow control unit 16 acquires a route.
  • the OFS control unit 20 After the processing in the Deny control unit 17 (Step S140) or the route calculation processing (Step S150) by the Allow control unit 16, the OFS control unit 20 is based on OFP based on the transmission route, Drop flag, and Packet-in flag. A message is created (step S160). Specifically, the OFS control unit 20 uses the packet transmission path calculated by the Allow control unit 16 and the Deny process determined by the Deny control unit 17 in addition to the Drop flag and the Packet-in flag. A message for updating the contents of the flow stored in the storage unit 32 is created. Then, the OFP transmission unit 21 transmits the message generated by the OFS control unit 20 based on the OFP to the OFS 30 (step S170).
  • the flow is determined when the packet information is received from the OFS 30 (that is, the entry is stored in the storage unit 32 of the OFS 30 after the OFC 10 actually receives the packet). There is an effect that the number of flow entries stored in the unit 32 can be reduced.
  • FIG. 5 is a flowchart showing an example of the above process.
  • the static policy acquisition unit 13 reads the updated policy from the policy table 12 when receiving a notification of information indicating that the OFS 30 is connected to the communication network, or when detecting an update of the contents of the policy table 12.
  • the static policy acquisition unit 13 detects that the policy table 12 has been initialized, and reads all the policies in the policy table 12 (step S210).
  • the static policy acquisition unit 13 notifies the policy determination unit 15 of the policy.
  • the policy determination unit 15 determines whether or not the action included in the policy received from the static policy acquisition unit 13 is an action “Do not allow communication to destination device (Deny)” (step S220). If the action is not Deny (“No” in step S220), the policy determination unit 15 ends the process. On the other hand, when the action is Deny (“Yes” in Step S220), the policy determination unit 15 causes the Deny control unit 17 to determine the Deny process for the packet (Step S230). Thereafter, the processing until the Deny control unit 17 determines the Deny process and the OFS control unit 20 transmits the message generated based on the OFP to the OFS 30 (Steps S230 to S250) is shown in FIG. Since it is the same as the process of step S140 and steps S160 to S170 illustrated, the description is omitted.
  • the policy determination unit 15 determines whether or not to permit communication to the destination device for a packet that satisfies the match condition based on the packet information received by the OFS 30. Judge based on policy. Then, on the condition that the policy determining unit 15 determines that communication with the destination device is not permitted for the packet corresponding to the match condition (Deny), the Deny control unit 17 does not transfer the packet to the destination device.
  • the OFS control unit 20 sets a processing rule for executing the process in at least the OFS 30 that has received the packet. Therefore, it is possible to reduce the processing load performed by the packet relay device (for example, OFS 30) on a packet that is not permitted to communicate with the destination device (Deny).
  • the Deny control unit 17 and the OFS control unit 20 set a processing rule for dropping a packet corresponding to the matching condition in the OFS 30. Therefore, the CPU load of the OFS 30 and OFC 10 can be suppressed.
  • the Deny control unit 17 and the OFS control unit 20 send processing rules (for example, routes to other transmission destinations) to the OFS 30 for transmitting a packet corresponding to the matching condition to another transmission destination different from the destination device. Set. Therefore, it becomes possible to provide more detailed Deny processing by an external device.
  • the Deny control unit 17 and the OFS control unit 20 set a rule for transmitting information on the packet to the OFC 30 in the OFS 30.
  • the Deny log generation unit 19 generates a log. Therefore, it is possible to grasp the communication status of the Deny packet.
  • FIG. FIG. 6 is a block diagram illustrating an example of a relay control system according to the second embodiment of the present invention.
  • symbol same as FIG. 1 is attached
  • subjected and description is abbreviate
  • the relay control system in this embodiment includes an OFC 10a and an OFS 30.
  • the OFS 30 is the same as that in the first embodiment.
  • the OFC 10a includes an OFP reception unit 11, a policy table 12, a static policy acquisition unit 13, a dynamic policy acquisition unit 14, a policy determination unit 15, an Allow control unit 16, a Deny control unit 17, and a route calculation.
  • a flow management table 22 is provided in addition to the unit 18, the Deny log generation unit 19, the OFS control unit 20 a, and the OFP transmission unit 21, a flow management table 22 is provided. That is, the OFC 10a differs from the OFC 10 in the first embodiment in that it includes an OFS control unit 20a instead of the OFS control unit 20 and a flow management table 22. About another structure, it is the same as that of 1st Embodiment.
  • the flow management table 22 stores a flow action created by the OFS control unit 20 (hereinafter referred to as an OF action). That is, the flow management table 22 stores the rules set in the OFS 30.
  • the flow management table 22 is realized by, for example, a magnetic disk device provided in the OFC 10a.
  • the flow management table 22 may store an OF action and information (hereinafter, referred to as switch identification information) for identifying the OFS 30 that is the target of the flow update.
  • the OFS control unit 20a stores the created OF action in the flow management table 22. Further, when a new OF action is created, the OFS control unit 20a determines whether or not the same OF action is already stored in the flow management table 22. If the same OF action is already stored, the OFS control unit 20a discards the created OF action so as not to transmit a message from the OFP transmission unit 21. That is, if the rule to be set for the OFS 30 is already stored in the flow management table 22, the OFS control unit 20a does not set the rule for the OFS 30. On the other hand, when the created OF action is different from the stored OF action, the OFS control unit 20a updates the contents of the flow management table 22 with the contents of the created OF action.
  • the other functions of the OFS control unit 20a are the same as the functions of the OFS control unit 20 in the first embodiment.
  • the OFS control unit 20a is realized by a CPU of a computer that operates according to a program (relay control program).
  • the OFS control unit 20a may be realized by dedicated hardware.
  • FIG. 7 is a flowchart illustrating an example of processing when the OFC 10a receives packet information from the OFS 30 in the second embodiment.
  • the processing from when the OFC 10a receives packet information from the OFS 30 to when the OFS control unit 20a creates a message based on the OFP is the same as the processing of steps S110 to S160 illustrated in FIG.
  • the OFS control unit 20a determines whether or not the same OF action is stored in the flow management table 22 (step S310). If the same OF action already exists in the flow management table 22 (“Yes” in step S310), the OFS control unit 20a discards the created message (step S320) and ends the process. On the other hand, when the same OF action does not exist in the flow management table 22 (“No” in step S310), the OFS control unit 20a stores the created OF action in the flow management table 22 (step S330). Then, the OFP transmission unit 21 transmits the message generated by the OFS control unit 20a based on the OFP to the OFS 30 (step S170).
  • the processing rule is also stored in the flow management table 22.
  • the policy determination unit 15 determines that communication to the destination device is not permitted for the packet that matches the matching condition (Deny)
  • the OFS control unit 20a has already set the processing rule set in the OFS 30 to the flow management table. If it is stored in the memory 22, the processing rule is not set in the OFS 30.
  • the instruction for resetting the processing rule that has already been set can be suppressed, the CPU load of the OFS 30 and the OFC 10a can be suppressed.
  • the OFC 10a when the OFS 30 performs only the drop processing on the Deny packet, the OFC 10a does not receive the Deny packet from the OFS 30 again. However, when the packet-in setting is performed for the Deny packet, a packet that is not permitted to communicate (Deny) is transmitted to the OFC 10a again. However, in this embodiment, even if the Deny packet is transmitted to the OFC 10a again, the OFS control unit 20a suppresses the update of the already set flow. Therefore, the processing load of the OFC 10a and OFS 30 can be reduced.
  • the OFC 10a is already written in the storage unit 32 of the OFS 30 even if the policy is an action representing Drop processing and Packet-in processing or explicit route setting and Packet-in processing for a Deny packet. You can prevent the flow action from going to write multiple times.
  • FIG. FIG. 8 is a block diagram illustrating an example of a relay control system according to the third embodiment of the present invention.
  • the relay control system in this embodiment includes an OFC 10b and an OFS 30.
  • the OFS 30 is the same as that in the first embodiment.
  • the OFC 10b includes an OFP reception unit 11, a policy table 12, a static policy acquisition unit 13, a dynamic policy acquisition unit 14, a policy determination unit 15, an Allow control unit 16, a Deny control unit 17b, and a route calculation.
  • a Deny counter table 23 is provided in addition to the unit 18, the Deny log generation unit 19, the OFS control unit 20, and the OFP transmission unit 21, a Deny counter table 23 is provided. That is, the OFC 10 b is different from the OFC 10 in the first embodiment in that it includes a Deny control unit 17 b instead of the Deny control unit 17 and a Deny counter table 23. About another structure, it is the same as that of 1st Embodiment.
  • the Deny counter table 23 corresponds to the packet identification information (for example, match condition) the number of times of determination (sometimes referred to as a counter value) for a packet that the Deny control unit 17b determines not to allow communication to the destination device. Add and remember.
  • this identification information may be referred to as a field.
  • the counter value can also be referred to as a value obtained by measuring the number of packet-in times.
  • the Deny counter table 23 may store the same information as the identification information used in the policy matching condition in association with the number of Deny processes. Alternatively, the Deny counter table 23 may store information included in the payload such as a packet transmission source in association with the number of Deny processes.
  • the Deny counter table 23 may store the counter values in a format in which one counter value is shared for a plurality of flows (match conditions).
  • the Deny counter table 23 is realized by, for example, a magnetic disk device provided in the OFC 10b.
  • the Deny control unit 17b sets the counter value of the Deny counter table 23 corresponding to the policy match condition. increase. Then, when the counter value exceeds a predetermined threshold value (hereinafter referred to as a Deny processing count threshold value), the Deny control unit 17b displays packet information for the flow corresponding to the match condition corresponding to the counter value. It is determined that the process to be transmitted to the OFC 10b (that is, Packet-in process) is not performed.
  • a predetermined threshold value hereinafter referred to as a Deny processing count threshold value
  • the Deny control unit 17b exceeds a certain threshold (Deny processing count threshold) for the number of packet-in processes for a specific flow determined to be Deny (for example, for each policy or each source address), the OFS 30
  • a certain threshold Deny processing count threshold
  • the OFS 30 On the other hand, for the specific flow, it is determined that only drop processing or specific route selection is performed. By doing so, for example, when an attack process is performed on the OFC 10b, the frequency of Packet-in can be reduced, so that the processing load on the OFS 30 and the OFC 10b can be suppressed.
  • the Deny control unit 17b is realized by a CPU of a computer that operates according to a program (relay control program).
  • the Deny control unit 17b may be realized by dedicated hardware.
  • the process from when the OFC 10b receives packet information from the OFS 30 to when the OFP transmission unit 21 transmits a message to the OFS 30 is the same as the process illustrated in the flowchart illustrated in FIG.
  • the process performed by the Deny control unit 17b is different from the process performed by the Deny control unit 17 in the first embodiment.
  • an operation performed by the Deny control unit 17b will be described.
  • FIG. 9 is a flowchart illustrating an example of processing performed by the Deny control unit 17b.
  • the operation until the Deny control unit 17b determines the process based on the content of the additional information included in the action is the same as the operation in steps S141 to S143 in FIG.
  • the Deny control unit 17b determines whether logging is set in the additional information (step S144). If the logging setting has not been made (“No” in step S144), the Deny control unit 17b does not perform Deny log generation processing. On the other hand, when the logging setting has been made (“Yes” in step S144), the Deny control unit 17b determines whether or not there is a field that matches the flow in the Deny counter table 23 (step S410). If there is a field that matches the flow (“Yes” in step S410), the Deny control unit 17b increases the counter value corresponding to the field (step S420). For example, the Deny control unit 17b adds 1 to the counter value of the field that matches the flow.
  • the Deny control unit 17b creates a flow matching condition (field) and initializes the count value to 0 (step S430).
  • the Deny control unit 17b increases the counter value (Step S420) or creates a flow match condition (field) (Step S430), and then whether or not the count value is equal to or greater than a threshold value (Deny processing count threshold value). Is determined (step S440).
  • the Deny control unit 17b causes the Deny log generation unit 19 to output information indicating that log output has been suppressed (step S450).
  • the Deny control unit 17b instructs the OFS control unit 20 to generate a message in which Packet-in is deleted from the policy action when the counter value is equal to or greater than a certain threshold value.
  • the Deny control unit 17b sets the Packet-in flag and logs the Deny as in steps S145 to S146 illustrated in FIG.
  • the Deny control unit 17b determines whether or not the count value is equal to or greater than the threshold value (Deny processing frequency threshold value) in step S440 in FIG. 9 has been described. However, the Deny control unit 17b may determine whether or not the count value exceeds a threshold value (Deny processing frequency threshold value).
  • the Deny control unit 17b and the OFS control unit 20 store the Deny counter table 23 when the policy determination unit 15 determines that communication to the destination device is not permitted (Deny). Increase the number of packet judgments corresponding to the element identifying the stored packet. Then, when the packet determination count exceeds the Deny processing count threshold, a processing rule for not transmitting the packet information to the OFC 10b is set in the OFS 30. For this reason, it is possible to prevent the OFC 10b from being notified too much of information on a packet that does not permit communication.
  • FIG. 10 is a block diagram illustrating an example of a relay control system according to the fourth embodiment of the present invention.
  • the relay control system in this embodiment includes an OFC 10c and an OFS 30.
  • the OFS 30 is the same as that in the first embodiment.
  • the case has been described in which the OFS control unit 20 sets a processing rule for executing the Deny process in the OFS 30 (that is, ingress) that has received packet information.
  • a case where Deny setting is performed for the OFS 30 other than the ingress will be described.
  • the OFC 10c includes an OFP reception unit 11, a policy table 12, a static policy acquisition unit 13, a dynamic policy acquisition unit 14, a policy determination unit 15, an Allow control unit 16c, a Deny control unit 17, and a route calculation.
  • a unit 18, a Deny log generation unit 19, an OFS control unit 20, and an OFP transmission unit 21 are provided. That is, the OFC 10c is different from the OFC 10 in the first embodiment in that an Allow control unit 16c is provided instead of the Allow control unit 16. About another structure, it is the same as that of 1st Embodiment.
  • the Allow control unit 16c calculates at least one route candidate to the destination device of the packet. Specifically, the Allow control unit 16c causes the route calculation unit 18 to calculate a plurality of transmission routes to the destination device. Then, the Allow control unit 16c determines whether there is a switch (hereinafter referred to as a Deny switch) that determines that communication of the received packet is not permitted (Deny) on each calculated path. For example, the Allow control unit 16c may inquire each switch on the route whether or not to allow packet communication, and determine whether or not there is a Deny switch based on the response result.
  • a switch hereinafter referred to as a Deny switch
  • the Allow control unit 16c determines to perform the Deny process. Specifically, the Allow control unit 16c causes the Deny control unit 17 to determine the Deny process for the packet. On the other hand, if there is a path that allows packet communication, the Allow control unit 16c determines that the Deny process is not performed, and notifies the OFS control unit 20 of the path.
  • the Allow control unit 16c may determine that the Deny process is set for the Deny switch. In this case, the Allow control unit 16c causes the Deny control unit 17 to determine the Deny process for the switch on the route, and the OFS control unit 20 instructs to update the contents of the flow based on the determined Deny process. May be performed on a switch on the route.
  • FIGS. 11 and 12 are explanatory diagrams illustrating an example in which communication is performed from a transmission source (Nancy) to a transmission destination (Paul).
  • a range surrounded by a broken line is a communication network to which a transmission source (Nancy) and a transmission destination (Paul) are connected.
  • SW1 to SW4 represent switches (for example, OFS 30), and CT1 represents a controller (for example, OFC 10c).
  • the shaded switch is a switch that does not permit communication from the transmission source (Nancy) to the transmission destination (Paul), and the switch indicated by a white circle is the transmission from the transmission source (Nancy) to the transmission destination.
  • the switch to which the transmission source (Nancy) connects determines that communication to the transmission destination (Paul) is not permitted. That is, the policy determination unit 15 causes the Deny control unit 17 to determine the packet Deny process.
  • the policy determination unit 15 causes the Allow control unit 16c to calculate a packet transfer destination.
  • the Allow control unit 16c causes the route calculation unit 18 to calculate a plurality of transmission routes to the transmission destination.
  • the route to the destination is the route via SW1, SW2 and SW4 (route 1), the route via SW1, SW3 and SW4 (route 2), and the route via SW1 and SW4 (route 1). Three types of routes 3) are calculated.
  • the Allow control unit 16c determines whether a Deny switch exists on the path 1 or not. On the path 1, there is SW2, which judges that communication is not permitted.
  • the Allow control unit 16c determines whether or not a Deny switch exists on the path for the next path candidate (path 2). There is no Deny switch on the path 2. Therefore, the Allow control unit 16 c notifies the OFS control unit 20 of the path 2.
  • the Allow control unit 16c may determine that the Deny process is set for the SW2 on the path 1. In this case, the Allow control unit 16c causes the Deny control unit 17 to determine the Deny process for SW2. Then, the OFS control unit 20 issues an instruction for updating the content of the flow to the SW 2 based on the determined Deny process. In this way, since the Deny process can be set in advance for the switch on the route, when the communication apparatus is connected to the switch for which the Deny process has been set, there is no need to make an inquiry to the OFC 10c again. Therefore, it is possible to reduce the load on the OFC 10c and OFS 30 related to the inquiry.
  • the Allow control unit 16c is realized by a CPU of a computer that operates according to a program (relay control program). Moreover, the Allow control unit 16c may be realized by dedicated hardware.
  • FIG. 13 is a flowchart illustrating an example of processing when the OFC 10c receives packet information from the OFS 30.
  • the processing when the OFC 10c receives packet information from the OFS 30 and the policy determination unit 15 determines that the action is “Deny” is performed in steps S110 to S140 and steps S160 to S170 illustrated in FIG. It is the same as the processing.
  • the policy determination unit 15 determines that the action is the “permit communication to the destination device (Allow)” action (“No” in step S130 of FIG. 13)
  • the process performed by the Allow control unit 16c. (Step S510) will be described.
  • FIG. 14 is a flowchart showing an example of processing performed by the Allow control unit 16c.
  • the Allow control unit 16c causes the route calculation unit 18 to calculate route candidates (step S511).
  • the Allow control unit 16c sequentially determines the calculated route candidates from the first (step S512). Note that the order of determination is not particularly limited.
  • the Allow control unit 16c determines whether there is a Deny switch on the candidate path (step S513). If there is a Deny switch (“Yes” in step S513), the Allow control unit 16c determines that the Deny process is to be performed on the switch (step S515). Next, the Allow control unit 16c determines whether there is another route candidate (step S516).
  • step S516 the Allow control unit 16c repeats the processes of step S513 and steps S515 to S518 for the subsequent candidates (step S518). If there is no other route candidate (“No” in step S516), the Allow control unit 16c determines to perform the Deny process (step S517).
  • step S513 if there is no Deny switch on the candidate route in step S513 ("No" in step S513), the Allow control unit 16c notifies the OFS control unit 20 of the route (step S514).
  • the Allow control unit 16c determines that the Deny process is to be performed (“Yes” in Step S520)
  • the Allow control unit 16c causes the Deny control unit 17 to determine the Deny process.
  • the subsequent processing is the same as the processing in step S140 and steps S160 to S170 illustrated in FIG.
  • the Allow control unit 16 c notifies the OFS control unit 20 of the route at which the Deny switch does not exist, and does not determine the contents of the subsequent candidate routes.
  • the Allow control unit 16c determines whether there is a Deny switch on the route for all remaining route candidates, and then finds a route that has been found. May be notified to the OFS control unit 20.
  • the route calculation unit 18 determines that the policy determination unit 15 determines that communication to the destination device is permitted (Allow) with respect to a packet that satisfies the match condition. Then, at least one or more route candidates to the destination device of the packet are calculated. Next, the Allow control unit 16c determines whether there is an OFS 30 that determines that packet communication is not permitted on the route candidate. Then, the Deny control unit 17 and the OFS control unit 20 transfer the packet to the destination device when the OFS 30 that determines that the packet communication is not permitted among the route candidates is present on each route in all candidate routes.
  • a processing rule for executing the processing (Deny processing) for preventing the packet from being set is set at least in the OFS 30 that has received the packet. Therefore, since the OFS 30 can determine whether transmission is possible before relaying the packet to another switch, the load on the communication network can be reduced.
  • the Deny control unit 17 sets a processing rule for executing a process (Deny process) for preventing the packet from being transferred to the destination device when an OFS 30 that does not permit communication of the packet corresponding to the match condition exists on the path.
  • a processing rule for executing the Deny process can be set not only on the switch (that is, ingress) that transmitted the packet to the controller, but also on the switch on the route candidate, thereby reducing the load on the communication network. it can.
  • FIG. FIG. 15 is a block diagram illustrating an example of a relay control system according to the fifth embodiment of the present invention.
  • the relay control system in the present embodiment includes an OFC 10d and an OFS 30.
  • the OFS 30 is the same as that in the first embodiment.
  • the OFC 10d includes an OFP reception unit 11, a policy table 12, a dynamic policy acquisition unit 14, a policy determination unit 15, an Allow control unit 16, a Deny control unit 17, a route calculation unit 18, and a Deny log generation unit. 19, an OFS control unit 20 d, an OFP transmission unit 21, and a flow management table 22. That is, the OFC 10d is different from the OFC 10a in the second embodiment in that it does not include the static policy acquisition unit 13 but includes an OFS control unit 20d instead of the OFS control unit 20a. About another structure, it is the same as that of 2nd Embodiment.
  • the OFS control unit 20d is based on the OF action stored in the flow management table 22 (that is, the flow action created by the OFS control unit 20a).
  • An instruction to update the flow stored in is issued. That is, the OFS control unit 20 d sets the OF action stored in the flow management table 22 in the OFS 30.
  • the OFS control unit 20d reads the OF action corresponding to the switch identification information indicating the connected OFS 30 from the flow management table 22. Then, the OFS control unit 20d creates a message for updating the flow, and instructs the OFP transmission unit 21 to transmit the message to the OFS 30.
  • the OFS control unit 20d may read all OF actions stored in the flow management table 22 regardless of the switch identification information. Further, the OFS control unit 20d may perform the above process when the OFC 10d receives a message requesting a flow action from the OFS 30.
  • the OFS control unit 20d is realized by a CPU of a computer that operates according to a program (relay control program).
  • the OFS control unit 20d may be realized by dedicated hardware.
  • FIG. 16 is a flowchart illustrating an example of processing when the OFC 10d receives a message requesting a flow action from the OFS 30.
  • the OFP receiving unit 11 receives a message requesting a flow action from the OFS 30 (step S610)
  • the OFS control unit 20d reads the flow action (OF action) from the flow management table 22 and creates a message based on the OFP. (Step S620).
  • the OFP transmission unit 21 transmits the message created by the OFS control unit 20d based on the OFP to the OFS 30 (step S630).
  • the OFS control unit 20d sets the flow stored in the flow management table 22 in the packet relay device. Therefore, even if the update of the policy table 12 cannot be detected as in the second embodiment, the flow indicating the Deny process can be reflected in the OFS 30.
  • FIG. 17 is a block diagram showing an example of the minimum configuration of the relay control apparatus according to the present invention.
  • the relay control apparatus according to the present invention is a relay control apparatus (for example, OFC 10) that controls a packet relay apparatus (for example, OFS 30), and includes a match condition that is information for identifying a packet, and a packet corresponding to the match condition.
  • a relay control apparatus for example, OFC 10
  • OFS 30 a packet relay apparatus
  • a match condition that is information for identifying a packet
  • a packet corresponding to the match condition On the basis of the information of the packet received by the packet relay device based on a policy that is information that associates communication enable / disable information (for example, action) indicating whether or not to allow communication to the destination device.
  • Communication permission determining means 81 for example, policy determining unit 15 for determining whether or not communication (for example, Allow) is permitted (for example, Deny) to a destination device for a packet corresponding to the matching condition;
  • the permission determining unit 81 determines that communication to the destination device is not permitted (for example, Deny) for a packet that satisfies the matching condition.
  • Rule setting means 82 for example, Deny control
  • Rule setting means 82 that sets a rule (for example, flow) for executing a process (for example, Deny process) for preventing the packet from being transferred to the destination apparatus as a condition in at least the packet relay apparatus that has received the packet.
  • Unit 17 and OFS control unit 20 for example, Policy determining unit 15 for determining whether or not communication (for example, Allow) is permitted (for example, Deny) to a destination device for a packet corresponding to the matching condition;
  • the permission determining unit 81 determines that communication to the destination device is not permitted (for example, Deny) for a
  • a relay control system may be configured by providing a packet relay device 90 in the relay control device 80 according to the present invention.
  • FIG. 19 is a block diagram showing an example of the minimum configuration of the packet relay device according to the present invention.
  • the packet relay apparatus according to the present invention stores a flow storage unit 71 (for example, storage unit 32) that stores a flow that is information that associates processing for a received packet with information for identifying the packet, and stores the flow in the flow storage unit 71.
  • a packet relay unit 72 (for example, the control unit 33) that relays the received packet based on the flow.
  • the packet relay means 72 includes a match condition that is information for identifying a packet, and communication enable / disable information (for example, an action) that indicates whether or not communication with a destination device is permitted for a packet that satisfies the match condition. Based on the policy that is the associated information, based on the received packet information, whether or not communication to the destination device is permitted for the packet that matches the matching condition (for example, Allow) (for example, Deny) ) And a process for preventing the packet corresponding to the match condition from being transferred to the destination device (for example, for example, Deny) For a relay control device (for example, OFC10) that sets at least the flow that executes the Deny process) to the source device that received the packet , Flows corresponding to the received packet is transmitted the information of the packet in the absence of the flow storage unit 72, to process the packet based on the flow set by the relay control unit.
  • a relay control device for example, OFC10
  • relay control device the relay system, and the packet relay device described below are also described in any of the embodiments described above.
  • a relay control device for example, OFC 10 that controls a packet relay device (for example, OFS 30), which is a match condition that is information for identifying a packet, and a packet corresponding to the match condition is sent to a destination device
  • a packet relay device for example, OFS 30
  • the packet relay device meets the matching condition based on the packet information received
  • a communication permission determination means for example, policy determination unit 15 that determines whether communication to a destination device is permitted (for example, Allow) or not (for example, Deny) for a packet to be transmitted, and a communication permission determination means that match conditions If it is determined that communication to the destination device is not permitted for the packet corresponding to (for example, Deny), the packet is sent to the destination device.
  • Rule setting means for example, Deny control unit 17 and OFS control unit 20 that sets at least a rule (for example, flow) for executing processing (for example, Deny processing) not to be transferred to the packet relay apparatus that has received the packet;
  • a relay control device comprising:
  • Rule setting means sets at least a rule for discarding (for example, dropping) a packet corresponding to the matching condition in the packet relay apparatus that has received the packet. Relay control device to perform.
  • the rule setting means (for example, the Deny control unit 17 and the OFS control unit 20) sends a packet corresponding to the matching condition to another transmission destination (for example, a quarantine network, a honeypot, or a detailed flow behavior) different from the destination device.
  • a relay control device that sets at least a rule for transmission to an analysis device or the like in a packet relay device that has received a packet.
  • a route calculation unit (for example, a route calculation unit 18) that calculates a route to a transmission destination determined in advance according to the match condition, and the rule setting unit sends a packet that matches the match condition to the route calculation unit.
  • a relay control device that sets at least a rule for transmitting to a calculated transmission destination in a packet relay device that has received a packet.
  • Log generation unit for example, Deny log generation unit
  • a log for example, Deny log
  • the communication permission determination unit for example, policy determination unit 15
  • the rule setting means transmits information on the packet to the relay control device
  • the relay control device A relay control device that sets a rule for the packet relay device and generates a log when log generation means receives packet information from the packet relay device.
  • a rule storage unit (for example, the flow management table 22) that stores a rule set in the packet relay device is provided, and the rule setting unit (for example, the Deny control unit 17 and the OFS control unit 20a) Is stored in the rule storage means, and is set in the packet relay apparatus when the communication permission determination means determines that communication to the destination apparatus is not permitted for the packet corresponding to the matching condition.
  • the rule setting unit for example, the Deny control unit 17 and the OFS control unit 20a
  • the number of determinations (for example, the count value) of the packet that the communication permission determination unit (for example, policy determination unit 15) determines not to permit communication to the destination device is stored in association with the element that identifies the packet.
  • a rule setting unit for example, Deny control unit 17b and OFS control unit 20 determines that the communication permission determination unit does not permit communication to the destination device.
  • a predetermined threshold for example, the Deny processing frequency threshold
  • the packet destination device On the condition that the communication permission determining means (for example, policy determining unit 15) determines that the packet corresponding to the match condition is permitted to be transmitted to the destination device (for example, Allow), the packet destination device Whether or not there is a route candidate calculation means (for example, the route calculation unit 18) that calculates at least one route candidate to and a packet relay device that determines that packet communication is not permitted on the route candidate.
  • a route determination unit for example, an Allow control unit 16c
  • a rule setting unit for example, the Deny control unit 17 and the OFS control unit 20
  • the rule setting means for example, the Deny control unit 17 and the OFS control unit 20
  • a packet relay device for example, a switch
  • a relay control device that sets a rule for executing processing for preventing a packet from being transferred to a destination device (that is, Deny processing) for the packet relay device.
  • a relay control device in which a rule setting unit (for example, OFS control unit 20d) sets a rule (for example, a flow action) stored in a rule storage unit (for example, flow management table 22) in a packet relay device.
  • a rule setting unit for example, OFS control unit 20d
  • a rule storage unit for example, flow management table 22
  • a packet relay apparatus for example, OFS 30 and a relay control apparatus (OFC10) that controls the packet relay apparatus, and the relay control apparatus corresponds to a match condition that is information for identifying a packet, and the match condition Information on packets received by the packet relay device based on a policy that is information that associates communication enable / disable information (for example, action) indicating whether or not communication with a destination device is permitted for a packet to be received.
  • a communication permission determining means for example, policy determining unit 15 for determining whether or not communication (for example, Allow) is permitted (for example, Deny) to a destination device for a packet corresponding to the matching condition.
  • the communication permission judging means judges that communication to the destination device is not permitted (for example, Deny) for the packet that matches the matching condition.
  • Rule setting means for example, Deny control unit
  • sets at least a rule for example, flow
  • a process for example, Deny process
  • a relay control system in which the rule setting means sets at least a rule for discarding a packet corresponding to the match condition in a packet relay device that has received the packet.
  • a relay control system in which the rule setting means sets at least a rule for transmitting a packet corresponding to the match condition to another destination different from the destination device in the packet relay device that has received the packet.
  • a flow storage unit (for example, storage unit 32) that stores a flow that is information in which processing for a received packet is associated with information for identifying the packet, and reception based on the flow stored in the flow storage unit
  • a packet relay unit (for example, the control unit 33) that relays the received packet, and the packet relay unit communicates a match condition that is information for identifying the packet and a packet that satisfies the match condition to the destination device.
  • the policy that is information that associates communication permission / inhibition information (for example, action) indicating whether or not to permit the packet, the destination of the packet corresponding to the matching condition is determined based on the received packet information.
  • the transmission source device that has received at least the flow for executing the processing (for example, Deny processing) for preventing the packet corresponding to the match condition from being transferred to the destination device
  • the relay control device for example, OFC10 set to, information on the packet is transmitted, and based on the flow set by the relay control device Packet relay device that processes packets.
  • the present invention is preferably applied to a relay control device that controls processing performed by the packet relay device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 通信許可判断手段は、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する。規則設定手段は、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、そのパケットを宛先装置に転送させないための処理を実行する規則を少なくともパケットを受信したパケット中継装置に設定する。

Description

中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム
 本発明は、パケット中継装置が行う処理を制御する中継制御装置、中継制御システム及び中継制御プログラム、および中継制御システムに適用されるパケット中継装置、パケット中継方法及びパケット中継プログラムに関する。
 パケットを転送するスイッチの動作を、コントローラが集中的に管理するネットワークアーキテクチャが各種知られている。例えば、非特許文献1及び非特許文献2には、Ethaneによるネットワークアーキテクチャが記載されている。Ethaneは、送信されるパケットの帰趨を決定するコントローラと、そのコントローラ配下に属し、パケットを転送するスイッチとを含むネットワークアーキテクチャである。
 各スイッチは、パケットの送信先を決定するためのフローテーブルを備えている。スイッチは、フローテーブル中に送信先を示すエントリが存在するパケットを受信すると、そのエントリに基づいてパケットを送信する。一方、フローテーブルにエントリが存在しないパケットを受信すると、スイッチは、そのパケットの情報をコントローラに転送する。コントローラは、通信ネットワークトポロジーに関する情報を保持しており、通信を許可するパケットに対して経路計算を行う。具体的には、コントローラは、スイッチからパケットの情報を受信すると、そのパケットの通信を許可するか否かを判断し、許可すると判断した場合には、そのパケットの経路計算を行う。そして、コントローラは、計算した経路上のスイッチのフローテーブルに対して新しい送信先エントリを追加する。以後、スイッチは、登録された送信先エントリに基づいてパケットを送信する。
 また、非特許文献3には、OpenFlow(以下、OFと記すこともある。)によるネットワークアーキテクチャが記載されている。OpenFlowもEthaneと同様、コントローラがスイッチを制御するネットワークアーキテクチャである。OpenFlowでは、パケット転送機能と経路制御機能とをフロー制御プロトコルにより分離し、コントローラが、異種のスイッチに対して統一のAPI(Application Program Interface )を用いた制御を行う。また、OpenFlowでは、データパスを高速にするとともに、制御コストを低く抑えるため、粒度をフロー単位としたパケット制御を行う。
 OFにおけるスイッチは、受信したパケットのアクションを記憶するフローテーブルと、スイッチがコントローラと通信するためのセキュアチャネルとを備えている。スイッチとコントローラとは、OFプロトコルを使用して、セキュアチャネル上で通信を行う。
 図20は、フローテーブルに記憶されるフローエントリーを示す説明図である。フローテーブルは、パケットヘッダと照合するルール(Rule)と、そのフローに対する処理を定義したアクション(Action)と、フロー統計情報(Staticstics)とをフロー毎に記憶する。
 ルール(Rule)には、一致するか否かが判断される値(exact)、及びワイルドカード(wild card)が用いられる。図21は、パケットヘッダと照合されるフィールドを示す説明図である。パケットヘッダと照合される検索キーとして、以下のようなフィールドが使用される。
(1)Physical(物理)レイヤの入力ポート番号(Input Port No)。
(2)Ethernet(登録商標)(イーサネット(登録商標))レイヤのMAC(Media Access Control) DA(MACデスティネーションアドレス)、MAC SA(MACソースアドレス)、VLAN ID(Virtual LAN(Local Area Network) ID)、もしくは、VLAN TYPE(優先度)。
(3)IPv4(version4)レイヤのIP SA(IPソースアドレス)、IP DA(IPデスティネーションアドレス)、もしくは、IPプロトコル。
(4)TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)レイヤのSource Port(TCP/UDPソースポート)、もしくは、及びDestination port(TCP/UDPデスティネーションポート)。
(5)ICMP(Internet Control Message Protocol)レイヤのICMP Type、もしくは、ICMP Code。
 アクション(Action)は、ルールにマッチしたパケットに適用される処理である。図22は、フローに設定されるアクションを示す説明図である。例えば、アクションに「OUTPUT」と設定されている場合、その設定は、スイッチが、ルールにマッチしたパケットを「指定ポートに出力する」ことを意味する。同様に、アクションに「SET_DL_DST」と設定されている場合、その設定は、スイッチが、ルールにマッチしたパケットを送信する「MAC DA(宛先の装置)を更新する」ことを意味する。
 フロー統計情報には、ルールにマッチしたパケットのパケット数やバイト数、そのパケットを最後に受信してからの経過時間(セッション継続時間)などが含まれ、フローエントリーを削除するか否かを判断するために用いられる。
 次に、OFにおける動作について説明する。スイッチは、パケットを受信すると、受信したパケットヘッダとフローテーブルのルールとを比較する。受信したパケットがルールにマッチしない場合、スイッチは、セキュアチャンネルにおけるメッセージを用いてそのパケットの情報をコントローラに転送する。コントローラは、通信ネットワークトポロジーに基づいて、そのパケットの送信経路を算出する。そして、コントローラは、スイッチがその送信経路でパケットを中継できるように、スイッチのフローテーブルにフローエントリーを追加するためのメッセージを送信する。以降、スイッチは、追加されたフローエントリーに該当するパケットを受信すると、そのパケットの情報をコントローラに転送することなく、対応するアクション(転送処理)を行う。
 図23は、セキュアチャンネル上で使用されるメッセージを示す説明図である。例えば、スイッチは、入力されたパケットをコントローラに通知する場合、メッセージ「Packet in」をコントローラに送信する。同様に、スイッチは、フローが満了時刻を迎えた(セッション継続時間が、所定の時間経過した)ことをコントローラに通知する場合、メッセージ「Flow Expired」をコントローラに送信する。一方、コントローラは、スイッチにパケットの出力を指示する場合、メッセージ「Packet Out」をスイッチに送信する。同様に、コントローラは、スイッチにフローの登録・変更・削除を要求する場合、メッセージ「Flow Mod」をスイッチに送信する。
Martin Casado、外5名、"Ethane:Taking Control of the Enterprise"、ACM SIGCOMM Computer Communication Review, Volume 37,Issue 4,SESSION: Enterprise networks, Pages: 1 - 12, October 2007 Martin Casado、外5名、"Architectural Support for Security Management in Enterprise Networks"、スライド11、[online]、[平成21年8月24日検索]、インターネット〈URL:http://www.soi.wide.ad.jp/project/sigcomm2007/pdf/sig11.pdf〉 Nick McKeown、外7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成21年8月24日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-wp-latest.pdf〉
 非特許文献1及び非特許文献2に記載されたEthaneに基づくネットワークアーキテクチャのように、フローテーブルにエントリの存在しないパケットであって、コントローラによって通信が許可されなかったパケットは、通常、経路計算がされず、転送も行われない。そのため、このようなパケットは、スイッチのキューに溜まり、所定の時間の経過後に破棄されることが多い。
 そして、コントローラによって通信が許可されないパケットをスイッチが再度受信した場合、そのスイッチは、通常、再度コントローラに問い合わせを行い、コントローラは、そのパケットに対して、再度通信を許可するか否かを判断することになる。すなわち、通信が許可されないパケットをスイッチが何度も受信するような場合、スイッチはその度にコントローラに問い合わせを行う。そして、コントローラもその度に通信を許可するか否かを判断する必要がある。そのため、このような場合には、スイッチ、コントローラともに処理負荷が高くなってしまうという課題がある。
 例えば、TCPによる通信で、パケットが宛先装置に到達しないことによる再送処理が何度も行われると、スイッチは同様のパケットを何度も受信することになる。この場合、スイッチは、そのパケットが到着するごとにコントローラに問い合わせを行うことになる。そのため、スイッチ、コントローラともCPU負荷が増大するという問題がある。
 非特許文献3に記載されたOpenFlowにおいても、宛先装置までの通信が許可されないパケットを何度もスイッチがコントローラに送ってしまうと、スイッチ、コントローラともに処理負荷が高くなってしまうという課題がある。そのため、このようなパケットを適切に処理できるよう、コントローラがスイッチに対して制御できる事が望ましい。
 そこで、本発明は、宛先装置までの通信が許可されないパケットに対してパケット中継装置が行う処理の負荷を低減できる中継制御装置、中継制御システム及び中継制御プログラム、および中継制御システムに適用されるパケット中継装置、パケット中継方法及びパケット中継プログラムを提供することを目的とする。
 本発明による中継制御装置は、パケット中継装置を制御する中継制御装置であって、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断手段と、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、そのパケットを宛先装置に転送させないための処理を実行する規則を少なくともパケットを受信したパケット中継装置に設定する規則設定手段とを備えたことを特徴とする。
 本発明による中継制御システムは、パケット中継装置と、パケット中継装置を制御する中継制御装置とを備え、中継制御装置が、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断手段と、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、そのパケットを宛先装置に転送させないための処理を実行する規則を少なくともパケットを受信したパケット中継装置に設定する規則設定手段とを備えたことを特徴とする。
 本発明によるパケット中継装置は、受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段と、フロー記憶手段に記憶されたフローに基づいて受信したパケットを中継するパケット中継手段とを備え、パケット中継手段が、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、そのパケットに対して宛先装置への通信を許可しないと判断したことを条件に、マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくともパケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローがフロー記憶手段に存在しない場合にそのパケットの情報を送信し、中継制御装置により設定されたフローに基づいてパケットを処理することを特徴とする。
 本発明による中継制御方法は、パケット中継装置を制御する中継制御装置が、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、中継制御装置が、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、そのパケットを宛先装置に転送させないための処理を実行する規則を少なくともパケットを受信したパケット中継装置に設定することを特徴とする。
 本発明によるパケット中継方法は、受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段に記憶されたそのフローに基づいて受信したパケットを中継し、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、そのパケットに対して宛先装置への通信を許可しないと判断したことを条件に、マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくともパケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローがフロー記憶手段に存在しない場合にそのパケットの情報を送信し、中継制御装置により設定されたフローに基づいてパケットを中継することを特徴とする。
 本発明による中継制御プログラムは、パケット中継装置を制御するコンピュータに適用される中継制御プログラムであって、コンピュータに、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断処理、および、通信許可判断処理でマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、そのパケットに対して宛先装置に転送させないための処理を実行する規則を少なくともパケットを受信したパケット中継装置に設定する規則設定処理を実行させることを特徴とする。
 本発明によるパケット中継プログラムは、受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段を備えたコンピュータに適用されるパケット中継プログラムであって、コンピュータに、フロー記憶手段に記憶されたフローに基づいて受信したパケットを中継するパケット中継処理を実行させ、パケット中継処理で、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、そのパケットに対して宛先装置への通信を許可しないと判断したことを条件に、マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくともパケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローがフロー記憶手段に存在しない場合にそのパケットの情報を送信させ、中継制御装置により設定されたフローに基づいてパケットを処理させることを特徴とする。
 本発明によれば、宛先装置までの通信が許可されないパケットに対してパケット中継装置が行う処理の負荷を低減できる。
第1の実施形態における中継制御システムの例を示すブロック図である。 Denyパケットのポリシーの例を示す説明図である。 パケットの情報を受信した場合の処理の例を示すフローチャートである。 Deny制御部17が行う処理の例を示すフローチャートである。 ポリシーが更新されたことを契機として行われる処理の例を示すフローチャートである。 第2の実施形態における中継制御システムの例を示すブロック図である。 パケットの情報を受信した場合の処理の例を示すフローチャートである。 第3の実施形態における中継制御システムの例を示すブロック図である。 Deny制御部17bが行う処理の例を示すフローチャートである。 第4の実施形態における中継制御システムの例を示すブロック図である。 送信元から送信先へ通信を行う場合の例を示す説明図である。 送信元から送信先へ通信を行う場合の例を示す説明図である。 パケットの情報を受信した場合の処理の例を示すフローチャートである。 Allow制御部16cが行う処理の例を示すフローチャートである。 第5の実施形態における中継制御システムの例を示すブロック図である。 フローのアクションを要求するメッセージを受信した場合の処理の例を示すフローチャートである。 本発明による中継制御装置の最小構成の例を示すブロック図である。 本発明による中継制御システムの最小構成の例を示すブロック図である。 本発明によるパケット中継装置の最小構成の例を示すブロック図である。 フローテーブルに記憶されるフローエントリーを示す説明図である。 パケットヘッダと照合されるフィールドを示す説明図である。 フローに設定されるアクションを示す説明図である。 セキュアチャンネル上で使用されるメッセージを示す説明図である。
 以下、本発明の実施形態を図面を参照して説明する。なお、以下の説明では、本発明をOpenFlowに適用する場合について説明する。すなわち、パケット中継装置であるOFスイッチ(Open Flow Switch。以下、OFSと記す。)と、パケット中継装置を制御する装置(すなわち、中継制御装置)であるOFコントローラ(Open Flow Controller。以下、OFCと記す。)とを含むOpenFlowに、本発明を適用する場合について説明する。なお、本発明が適用されるネットワークアーキテクチャは、OpenFlowに限定されない。中継制御装置が、パケット中継装置を制御する形態のネットワークアーキテクチャであれば、他の形態であってもよい。
実施形態1.
 図1は、本発明の第1の実施形態における中継制御システムの例を示すブロック図である。本実施形態における中継制御システムは、OFC10と、OFS30とを備えている。OFC10は、ネットワークトポロジー情報や、有効な通信経路情報を保持し、通信ネットワーク内のOFS30を制御するコントローラである。具体的には、OFC10は、OFS30がパケットを受信したときに行う処理を制御する。OFS30は、OFC10からの制御に基づいて、受信したパケットを設定された規則に基づいて転送するスイッチである。OFC10とOFS30とは、通信ネットワークを介して相互に接続されるが、通信ネットワークの形態は特に限定されない。また、図1における中継制御システムでは、OFS30を1台のみ記載しているが、OFS30の台数は1台に限定されず、2台以上であってもよい。また、OFC10が、複数の計算機からなるクラスタ構成をとり、全体としてOFC10の機能を満たすように構成されていてもよい。
 OFS30は、ネットワークインタフェース部31と、記憶部32と、制御部33とを備えている。ネットワークインタフェース部31は、OFC10や、他のスイッチ(図示せず)との通信を行う。
 記憶部32は、受信したパケットに対する処理(以下、スイッチアクションと記すこともある。)を、パケットを識別する情報と対応付けて記憶する。スイッチアクションには、受信したパケットを指定のポートに転送する、廃棄処理(Dropと記すこともある。)を行う、OFC10へパケットを送信する、などの処理が含まれる。記憶部32は、パケットを識別する情報として、例えば、5-tupleと呼ばれる情報群に含まれるプロトコル番号、Src(Sourse)IPアドレス、Srcポート、Dst(Distination)IPアドレス、Dstポートを記憶してもよい。ただし、パケットを識別する情報は5-tupleに限定されない。他にも、記憶部32は、パケットを識別する情報として、10-tupleと呼ばれる情報群に含まれる入力ポート、VLAN(Virtual LAN)ID、Ethertype、SrcMACアドレス、DstMACアドレスを記憶してもよい。さらに、記憶部32は、パケットを識別する情報として、11-tupleと呼ばれる情報群に含まれるVLAN priorityを記憶してもよい。また、記憶部32は、パケットを識別するための情報として、任意の情報を示すワイルドカードを記憶してもよい。記憶部32は、少なくとも1つ以上の識別情報とスイッチアクションとを対応付けて記憶する。なお、この識別情報は、スイッチアクションを決めるための情報であることから、以下の説明では、ルールと記すこともある。また、このルールとスイッチアクションとを対応付けた情報をまとめて、フローと記すこともある。すなわち、記憶部32は、フローを記憶する記憶装置という事が出来る。記憶部32は、例えば、OFS30が備える磁気ディスク装置等によって実現される。なお、記憶部32のフローは、OFC10からの指示に応じて、制御部33によって記憶される。
 制御部33は、記憶部32に記憶されたフローに基づいて受信したパケットを処理する。具体的には、制御部33は、他の装置からパケットを受信すると、そのパケットのヘッダ情報とフローにおけるルールとを比較し、ヘッダ情報に該当するルールのスイッチアクションを実行する。制御部33は、例えば、パケットのヘッダ情報とルールが示す識別情報とが一致する場合に、そのルールに対応するスイッチアクションを実行してもよい。なお、記憶部32が、入力ポート及びペイロード中の任意のビットフィールドの値をルールとして記憶している場合、制御部33は、受信したパケットを識別する情報がそのルールが示す情報に該当するか否かを判断してもよい。また、記憶部32に、ルールとしてIPアドレスのプレフィックスが記憶されている場合、制御部33は、受信したパケットに含まれるIPアドレスとそのプレフィックス部分とを比較して、マッチするか否かを判断してもよい。
 また、制御部33は、受信したパケットに対応するフローが記憶部32に存在しない場合、受信したパケットの情報をOFC10に対して送信する。そして、制御部33は、送信したパケットの情報に対するフローをOFC10から受信すると、そのフローを記憶部32に記憶させるとともに、受信したフローが示すスイッチアクションを実行する。なお、OpenFlowにおいて、上記のように、記憶部32に記憶されたフローに該当しないパケットは、first packetと呼ばれることもある。
 さらに、制御部33は、OFC10が接続された通信ネットワークにOFS30を接続したときに、接続した旨の情報(例えば、Helloメッセージ)をOFC10に通知してもよい。また、制御部33は、OFC10からまとめて送信される識別情報及びスイッチアクション(すなわち、フロー)を受信して、それらの情報を記憶部32に記憶させてもよい。
 なお、制御部33は、プログラムに従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、OFS30の記憶部32に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、制御部33として動作してもよい。
 OFC10は、OFプロトコル(以下、OFPと記す。)受信部11と、ポリシーテーブル12と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20と、OFP送信部21とを備えている。
 OFP受信部11は、OFPに基づくメッセージをOFS30から受信する。具体的には、OFP受信部11は、対応するフローがOFS30の記憶部32に存在しないパケットを受信する。
 ポリシーテーブル12は、送信されるパケットを識別する情報(以下、マッチ条件と記す。)と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(以下、単に、アクションと記す。)とを対応付けた情報(以下、ポリシーと記す。)を記憶する。ポリシーテーブル12は、例えば、OFC10が備える磁気ディスク装置等によって実現される。マッチ条件は、OpenFlowにおけるコントローラがパケットを識別するためのルールと同様であってもよい。他にも、マッチ条件として、例えば、記憶部32が記憶する識別情報(ルール)と同様の情報(すなわち、5-tupleや10-tuple)を用いてもよい。なお、ポリシーテーブル12は、ポリシーを予め記憶していてもよく、他の装置やユーザによる指示に応じてポリシーを記憶してもよい。
 上記のとおり、アクションは、宛先装置への通信が許可される(Allow)パケットか、宛先装置への通信が許可されない(Deny)パケットかを示す情報である。なお、アクションには、宛先装置への通信が許可されない(Deny)パケットに対して行われる処理内容を示す付加情報を含んでいてもよい。この場合、ポリシーテーブル12は、この付加情報を、個々のマッチ条件のアクションに対応づけて記憶する。付加情報は、Denyパケットを廃棄する(ドロップ)、ログの採取を行う(ロギング)、外部の特定装置への経路を設定する、などの情報を含む。以下の説明では、宛先装置への通信が許可されない(Deny)パケットに対する処理をDeny処理と記すこともある。Deny処理は、転送処理が行われないパケットに対する処理であることから、パケットを宛先装置に転送させないための処理であるということができる。なお、Deny処理が1種類の場合、ポリシーテーブル12は、付加情報を記憶していなくてもよい。
 図2は、宛先装置への通信が許可されない(Deny)パケットのポリシーの例を示す説明図である。図2(a)は、設定されているポリシーのうち、最後のポリシーにDeny設定した場合の例を示す説明図である。図2(a)に示す例は、設定されている順にポリシーとパケットとが比較され、そのパケットが、「All Deny」より前に設定されたすべてのポリシーに一致しなかった場合に、Denyと判断されることを示す。
 図2(b)は、パケットのペイロードに設定されている情報をもとにDenyパケットを判断する場合のポリシーの例を示す説明図である。図2(b)に例示する「IP 192.168.0.1 → Deny」は、IPアドレス「192.168.0.1」からのアクセスを許可しない(Denyと判断される)ことを示す。また、図2(b)に例示する「IP 192.168.0.0/0.0.7.255 → Deny」は、IPアドレスが「192.168.0.0/255.255.248.0」以外からのアクセスを許可しない(Denyと判断される)ことを示す。
 なお、図2では、識別情報としてIPアドレスを用いたポリシーを例に挙げて説明した。ただし、ポリシーの識別情報として用いられる内容は、IPアドレスに限定されない。他にも、ポリシーの識別情報としてMAC(Media Access Control address)アドレスなどの端末を識別するIDを用いてもよい。また、ポリシーの識別情報として、プロトコル番号やポート番号など、プロトコルやアプリケーションを識別するフィールドの情報などを用いてもよい。さらに、ポリシーの識別情報として、VLAN IDやMPLS(Multi-Protocol Label Switching)のラベルなど、ネットワークを識別する値を用いてもよい。
 他にも、ポリシーの識別情報として、スイッチの入力ポートを用いてもよい。例えば、ポリシーとして、「スイッチAのPort1からのパケットをDeny」とする設定を行ってもよい。さらに、ポリシーが、ペイロードに設定されている情報と、上記スイッチの入力ポートとの両方を含むものであってもよい。例えば、ポリシーとして、「スイッチAのPort1のIP 192.168.0.1からのアクセスをDeny」とする設定を行ってもよい。
 静的ポリシー取得部13は、ポリシーテーブル12に記憶されたポリシーを取得する。具体的には、静的ポリシー取得部13は、ポリシーテーブル12に記憶されたポリシーのうち、更新されたポリシーが存在するか否かを判断し、更新されたポリシーを読み取る。例えば、静的ポリシー取得部13は、定期的にポリシーテーブル12にアクセスし、前回アクセスしたときと異なる情報を更新されたポリシーと判断し、そのポリシーを読み取ってもよい。ただし、更新されたポリシーを判断する方法は、上記方法に限定されない。他にも、例えば、ポリシーテーブル12が、ポリシーの内容を更新したタイミングでトリガを発生させて、静的ポリシー取得部13に通知し、静的ポリシー取得部13が、そのトリガを受信したことを契機として、ポリシーが更新されたと判断してもよい。また、静的ポリシー取得部13は、ポリシーテーブル12が初期化されたことを契機として、ポリシーテーブル12の全てのポリシーが更新されたと判断してもよい。
 また、静的ポリシー取得部13は、通信ネットワークにOFS30が接続された旨の情報(例えば、Helloメッセージ)の通知を受けたことを契機として、ポリシーテーブル12が更新されたか否かを判断してもよい。そして、静的ポリシー取得部13は、更新されたポリシーを読み取ると、そのポリシーをポリシー判断部15に通知する。
 このように、OFS30は、ポリシーテーブル12に記憶された識別情報及びアクションを、受信したパケットに関わらず受信する。そのため、このように送受信される識別情報及びアクションを静的ポリシーと呼ぶことができる。以上のことから、静的ポリシー取得部13は、静的ポリシーの更新を検知して、フロー(すなわち、マッチ条件)やアクションを取得するとも言える。
 動的ポリシー取得部14は、受信したパケットの情報に対応するポリシーをポリシーテーブル12から取得する。具体的には、動的ポリシー取得部14は、ポリシーテーブル12に記憶されたマッチ条件と受信したパケットの情報とを比較し、該当するマッチ条件に対応するアクションをポリシーテーブル12から読み取る。例えば、OFP受信部11が、パケットの情報と、OFPに基づく「Packet-in」メッセージとをOFS30から受信した場合、動的ポリシー取得部14は、受信したパケットの情報がマッチ条件に該当することを条件に、そのマッチ条件に対応するアクションをポリシーテーブル12から読み取る。ここで、「Packet-in」メッセージとは、OpenFlowのSecure Channel上で使用されるメッセージであり、スイッチに入力されたパケットをコントローラに通知することを意味するメッセージである。そして、動的ポリシー取得部14は、読み取ったアクションとパケットの情報とをポリシー判断部15に通知する。
 本実施形態では、OFC10が、静的ポリシー取得部13及び動的ポリシー取得部14をいずれも備えている場合について説明する。ただし、OFC10は、静的ポリシー取得部13と動的ポリシー取得部14のいずれか一方を備えていればよく、両方備えていてもよい。
 ポリシー判断部15は、OFS30が受信したパケットの情報をもとに、そのパケットに対して宛先装置への通信を許可するか否かをポリシーに基づいて判断する。具体的には、ポリシー判断部15は、動的ポリシー取得部14が読み取ったアクションとOFS30から受信したパケットの情報とを受け取ると、そのアクションが宛先装置への通信を許可するアクションか否かを判断する。宛先装置への通信を許可する(Allow)アクションの場合、ポリシー判断部15は、宛先装置への通信を許可すると判断し、後述のAllow制御部16に、パケットの転送先を算出させる。一方、宛先装置への通信を許可しない(Deny)アクションの場合、ポリシー判断部15は、宛先装置への通信を許可しないと判断し、後述のDeny制御部17に、パケットのDeny処理を決定させる。
 また、ポリシー判断部15は、更新されたポリシーのマッチ条件が示すパケットに対して宛先装置への通信を許可するか否かを、そのポリシーに基づいて判断してもよい。具体的には、ポリシー判断部15は、更新されたポリシーを静的ポリシー取得部13から受け取ると、そのポリシーに含まれるアクションが宛先装置への通信を許可するアクションか否かを判断する。宛先装置への通信を許可する(Allow)アクションの場合、ポリシー判断部15は、そのポリシーのマッチ条件が示すパケットに対して宛先装置への通信を許可すると判断し、後述のAllow制御部16に、パケットの転送先を算出させる。一方、宛先装置への通信を許可しない(Deny)アクションの場合、ポリシー判断部15は、そのポリシーのマッチ条件が示すパケットに対して宛先装置への通信を許可しないと判断し、後述のDeny制御部17に、パケットのDeny処理を決定させる。
 Allow制御部16は、ポリシーのアクションが「Allow」だった場合に、パケットの送信経路を算出する。具体的には、Allow制御部16は、経路算出部18に送信先までの送信経路を算出させる。そして、Allow制御部16は、算出した送信経路をOFS制御部20に通知する。
 Deny制御部17は、ポリシーのアクションが「Deny」だった場合に、Deny処理を決定する。すなわち、Deny制御部17は、宛先装置への通信を許可しないと判断したパケットに対するDeny処理を決定する。具体的には、ポリシー判断部15が、ポリシーのアクションが宛先装置への通信を許可しない(Deny)アクションであると判断すると、Deny制御部17は、アクションに含まれる付加情報の内容をもとに、宛先装置への通信を許可しないと判断したパケットに対する処理を決定する。そして、Deny制御部17は、決定した処理をOFS制御部20に通知する。
 例えば、アクションの付加情報として「Drop」が設定されている場合、Deny制御部17は、OFS30に対し、受信したパケットを破棄(Drop)させると決定してもよい。このように、OFC10が、特定のパケットを破棄する処理(Drop処理)規則をOFS30に対して設定することで、以後、OFS30が同様のパケットを受信した場合のCPU負荷を抑えることができる。すなわち、OFS30にDrop処理規則が設定されている場合、OFS30は、受信したパケットの処理内容をOFC10に問い合わせることなく、OFS30のハードウェア部分でDrop処理を行うことができる。そのため、OFS30及びOFC10のCPU負荷を抑制することができる。
 他にも、Deny制御部17は、例えば、アクションの付加情報として「特定装置へ転送」を示す旨の情報が設定されている場合、受信したパケットに対し、宛先装置とは異なる他の送信先(例えば、外部の特定装置)への明示的な経路をOFS30に設定すると決定してもよい。具体的には、Deny制御部17は、OFS30に対し、他の送信先として検疫ネットワークやハニーポット、詳細なフロー挙動解析装置などへパケットを送信すると決定する。この場合、Deny制御部17は、これらの複数のセキュリティ解析装置への送信経路を経路算出部18に算出させる。なお、Deny制御部17は、これらの複数の装置のうち、一つの装置にパケットを送信すると決定してもよく、複数の装置へパケットを送信すると決定してもよい。また、Deny制御部17がどの送信先に送信するかについては、マッチ条件に応じて予め定められる。なお、送信先が一つの場合には、全てのマッチ条件に同じ送信先を定めておけばよい。
 例えば、スタティックなデフォルトVLANの設定しかポリシーに存在しない場合、OFC10は、OFS30に対して、明示的に経路を設定したり、適応的に経路を設定したりすることはできない。しかし、以上のように、ポリシーに応じてアクションが決定されるため、OFC10は、OFS30に対し、宛先装置までの通信を許可しないパケットについて明示的な経路を設定したり、適応的な経路を設定したりすることができる。また、外部装置による、より詳細なDeny処理を提供することも可能になる。
 また、Deny制御部17は、廃棄すると決定したパケットや、明示的な経路を設定すると決定したパケットをOFS30が受信したとき、OFS30に対してそれらのパケットの情報を再度OFC10に送信させると決定してもよい。具体的には、付加情報にログを採取する旨の設定(ロギング設定)がされている場合に、Deny制御部17が、OFS30に対して、受信したパケットを破棄(Drop)させると決定するとともに、そのパケットの情報をOFC10にも送信(Packet-in)させると決定してもよい。もしくは、Deny制御部17は、OFS30に対して受信したパケットの明示的な経路を設定するとともに、そのパケットの情報をOFC10にも送信(Packet-in)させると決定してもよい。
 このように、OFS30に対して宛先装置への通信が許可されないパケットの内容をOFC10に送信させることで、OFC10は、これらのパケットの内容を把握することができる。また、後述のDenyログ生成部19は、受信したパケットの内容をもとにログ情報を作成することが可能になる。
 上記説明では、Deny制御部17が、識別情報に対応するアクションに含まれる付加情報をもとにDeny処理を決定する場合について説明した。ただし、Deny制御部17がDeny処理を決定する方法は、識別情報をもとにする場合に限定されない。例えば、Deny制御部17は、予め定められた処理をDeny処理として決定してもよい。
 宛先装置への通信が許可されないパケットは、所定の時間の経過後に破棄される場合があるため、結果としてDeny処理におけるDrop処理と同様の挙動を示すことがある。しかし、このようなパケットに対する制御を何ら行わない場合、OFS30が特定装置へ転送することや、OFC10がログを採取するといったDrop以外の処理を行うことはできない。しかし、本実施形態では、ポリシー判断部15が、ポリシーに対するアクションを宛先装置への通信を許可しないアクションと判断したときに、Deny制御部17が、そのポリシーに基づいてDeny処理を決定する。そのため、OFC10は、宛先装置への通信が許可されないパケットを転送させないスイッチアクション(すなわち、宛先装置に転送させないための処理)をOFS30に設定できる。
 経路算出部18は、ペイロード中の宛先や、ポリシーに示された装置へパケットを送信する際の経路を算出する。例えば、経路算出部18は、ペイロード中の宛先や、ポリシーに示された特定装置へパケットを到達させるために経由するOFS30とその出力ポートを順に示した情報を算出する。経路算出部18は、宛先装置への経路をShortest Path に基づいて算出してもよい。ただし、経路の算出方法はShortest Path に基づく方法に限定されない。なお、宛先装置への経路を算出する方法は広く知られているため、ここでは説明を省略する。また、経路算出部18は、経路の候補を1つだけでなく、複数算出してもよい。
 なお、経路とは、あるフローについて、目的の場所へ到達するのに経由する装置(例えば、スイッチ)とその出力ポートを順に示したものということができる。例えば、受信したパケットを、まず、スイッチAの「出力ポート1」からスイッチBに送信し、次に、スイッチBの「出力ポート3」からスイッチCに送信し、さらに、スイッチCの「出力ポート4」から出力するという経路を考える。この場合、経路は「スイッチA 出力ポート1→スイッチB 出力ポート3→スイッチC 出力ポート4」のように表すことができる。
 Denyログ生成部19は、Deny処理を行った際のログ(以下、Denyログと記す。)を生成する。すなわち、Denyログとは、宛先装置への通信を許可しないと判断したことを示すログであるとも言える。また、Deny制御部17が、OFS30に対し、廃棄するパケットの情報や、明示的な経路が設定されたパケットの情報を再度OFC10に送信させると決定する場合がある。このとき、Denyログ生成部19は、OFS30からこれらのパケットの情報を受信したときに、Denyログを生成してもよい。
 例えば、Denyログ生成部19は、Denyログを「2009/08/11 12:00:01 Deny TCP SRC:192.168.1.3:49388 DST:xxx.xxx.xxx.xxx:80」のように生成してもよい。上記に示すDenyログの例は、「送信元のIPアドレスが「192.168.1.3(ポート番号49388)」で表わされる装置からIPアドレス「xxx.xxx.xxx.xxx(ポート番号80)」で表わされる宛先に送信されたパケットが、2009年8月11日12時0分1秒にDeny処理された」ことを表す。なお、OFC10がログを出力しない場合には、OFC10はDenyログ生成部19を含んでいなくてもよい。
 上記説明では、日付やパケットのペイロード情報の一部(例えば、IPアドレスなど)をDenyログに含む場合を例に説明した。ただし、Denyログに含まれる内容は上記内容に限定されない。Denyログは、パケットのペイロード情報に含まれる上記以外の情報を含んでいてもよい。また、Denyログ生成部19が出力するログは、Denyログに限定されない。例えば、宛先装置への通信が許可された(Allow)ことを表すログ(以下、Allowログと記す。)を含んでいてもよい。例えば、「xxx.xxx.xxx.xxx(ポート番号80)」で表わされる宛先に送信されたパケットが、2009年8月11日12時0分1秒に通信を許可された(Allow)」場合、Denyログ生成部19は、Allowログを「2009/08/11 12:00:01 Allow TCP SRC:192.168.1.3:49388 DST:xxx.xxx.xxx.xxx:80」のように生成してもよい。
 OFS制御部20は、Allow制御部16が算出したパケットの送信経路や、Deny制御部17が決定したDeny処理に基づき、OFS30が実行する処理規則を設定する。すなわち、OFS制御部20は、Deny制御部17が決定したDeny処理を受け取ると、Deny処理を実行する規則をそのパケットを受信したOFS30に設定する。OFS制御部20は、OFC10に対してパケットの情報を送信してきたOFS30を設定対象のスイッチと判断すればよい。なお、OFS制御部20が処理規則を設定するスイッチは、パケットを受信したOFS30に限られない。また、OFS制御部20は、Allow制御部16が算出したパケットの送信経路を受け取ると、そのパケットを送信経路に転送する規則をOFS30に設定する。
 OFS制御部20の動作について、具体的に説明する。まず、OFS制御部20は、Allow制御部16が算出したパケットの送信経路や、Deny制御部17が決定したDeny処理の通知を受け取る。Allow制御部16が算出したパケットの送信経路を受け取った場合、OFS制御部20は、識別情報であるパケットのペイロードの内容と、アクションであるパケットの送信経路とを対応付けたフローを作成する。もしくは、Deny制御部17が決定したDeny処理を受け取った場合、OFS制御部20は、識別情報であるパケットのペイロードの内容と、アクションであるDeny処理とを対応付けたフローを作成する。そして、OFS制御部20は、OFS30の記憶部32を作成したフローの情報で更新するためのメッセージを作成し、そのメッセージをOFS30へ送信するよう、OFP送信部21に指示する。
 OFS制御部20がDeny処理設定を行う例として、以下のような場合が挙げられる。例えば、Deny制御部17が複数のセキュリティ解析装置への経路を明示的に設定すると決定した場合、OFS制御部20は、その経路に従って、単一もしくは複数のOFS30に記憶されたフローに対して、パケットの出力ポートを更新する設定を行う。また、Deny制御部17が、受信したパケットをドロップさせると決定した場合、OFS制御部20は、そのパケットを送信してきたOFS30(イングレスと記すこともある。)におけるフローに対して、そのパケットの破棄する設定を行う。
 さらに、Deny制御部17が、OFS30に対し、Dropすると決定したパケットや、明示的な経路を設定すると決定したパケットを再度OFC10に送信させると決定する場合がある。この場合、OFS制御部20は、これらのパケットを送信してきたOFS30(すなわち、イングレス)におけるフローに対して、仮想ポート「Controller」を設定するとともに、これらのパケットを送信(Packet-in)する設定を行う。
 なお、OpenFlowにおけるSecure Channel上で、コントローラがスイッチにフローの登録、変更、もしくは削除を要求する場合には、「Flow Modメッセージ」が使用される。そのため、OFS制御部20は、このFlow Modメッセージを利用することにより、OFS30のフローを設定してもよい。
 OFP送信部21は、OFPに基づくメッセージをOFS30に送信する。具体的には、OFP送信部21は、OFS制御部20がOFPに基づいて生成したメッセージをOFS30に送信する。
 OFP受信部11と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20とは、プログラム(中継制御プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、OFC10の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、OFP受信部11、静的ポリシー取得部13、動的ポリシー取得部14、ポリシー判断部15、Allow制御部16、Deny制御部17、経路算出部18、Denyログ生成部19及びOFS制御部20として動作してもよい。また、OFP受信部11と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20とは、それぞれが専用のハードウェアで実現されていてもよい。
 次に、動作について説明する。以下の説明では、まず、OFC10が、OFS30からパケットの情報を受信した場合の処理について説明する。次に、ポリシーテーブル12に記憶されたポリシーが更新されたことを契機として行われる処理について説明する。
 図3は、OFC10が、OFS30からパケットの情報を受信した場合の処理の例を示すフローチャートである。まず、対応するフローが記憶部32に存在しないパケットをOFS30が受信すると、OFS30の制御部33は、ネットワークインタフェース部31を介して、受信したパケットの情報を含むメッセージをOFC10に送信する。
 OFP受信部11は、OFPに基づくメッセージをOFS30から受信すると(ステップS110)、動的ポリシー取得部14は、OpenFlowメッセージにおけるPacket-inのヘッダにマッチするアクションをポリシーテーブル12から取得する(ステップS120)。すなわち、動的ポリシー取得部14は、ポリシーテーブル12に記憶されたマッチ条件と受信したパケットの情報とを比較し、該当するマッチ条件に対応するアクションをポリシーテーブル12から読み取る。ポリシー判断部15は、動的ポリシー取得部14が読み取ったアクションが「宛先装置への通信を許可しない(Deny)」アクションか否かを判断する(ステップS130)。アクションがDenyの場合(ステップS130における「はい」)、ポリシー判断部15は、Deny制御部17に、そのパケットのDeny処理を決定させる(ステップS140)。
 図4は、Deny制御部17が行う処理の例を示すフローチャートである。まず、Deny制御部17は、アクションに含まれる付加情報の内容をもとに処理を決定する(ステップS141)。付加情報の内容が「Drop」の場合(ステップS141における「Drop」、Deny制御部17は、Dropフラグを立てる(ステップS142)。具体的には、Deny制御部17は、OFC10が備えるメモリ(図示せず)などに、Dropフラグを設定したことを記憶させる。一方、付加情報の内容が、特定ホストにパケットを転送する(すなわち、特定装置へ転送する)場合(ステップS141における「特定ホストへ」)、Deny制御部17は、特定ホストまでのパケットの送信経路を経路算出部18に算出させる(ステップS143)。
 また、Deny制御部17は、付加情報にロギング設定がされているか否かを判断する(ステップS144)。ロギング設定がされている場合(ステップS144における「はい」)、Deny制御部17は、Packet-inフラグを立てる(ステップS145)。具体的には、Deny制御部17は、OFC10が備えるメモリ(図示せず)などに、Packet-inフラグを設定したことを記憶させる。そして、Denyログ生成部19は、Denyログの生成(Denyのロギング)を行う(ステップS146)。なお、ロギング設定がされていない場合(ステップS144における「いいえ」)、Deny制御部17は、Denyログ生成の処理を行わない。
 一方、図3のステップS130において、アクションがDenyでない場合(ステップS130における「いいえ」)、ポリシー判断部15は、Allow制御部16に、パケットの転送先を算出させる(ステップS150)。具体的には、Allow制御部16は、経路算出部18にパケットまでの経路を算出させる。このようにして、Allow制御部16は、経路を取得する。
 Deny制御部17における処理(ステップS140)もしくはAllow制御部16による経路算出処理(ステップS150)の後、OFS制御部20は、送信経路やDropフラグ、Packet-inフラグをもとに、OFPに基づくメッセージを作成する(ステップS160)。具体的には、OFS制御部20は、Dropフラグ、Packet-inフラグの他にも、Allow制御部16が算出したパケットの送信経路や、Deny制御部17が決定したDeny処理に基づき、OFS30の記憶部32に記憶されたフローの内容を更新するためのメッセージを作成する。そして、OFP送信部21は、OFS制御部20がOFPに基づいて生成したメッセージをOFS30に送信する(ステップS170)。
 このように、OFS30からパケットの情報を受信したことを契機としてフローが決定される(すなわち、OFC10が実際にパケットを受信してからOFS30の記憶部32に記憶させるエントリを作成する)ため、記憶部32が記憶するフローエントリー数を削減できるという効果がある。
 次に、ポリシーテーブル12に記憶されたポリシーが更新されたことを契機として行われる処理について説明する。図5は、上記処理の例を示すフローチャートである。静的ポリシー取得部13は、通信ネットワークにOFS30が接続された旨の情報の通知を受け取ったときや、ポリシーテーブル12の内容の更新を検知したとき、ポリシーテーブル12から更新されたポリシーを読み取る。もしくは、静的ポリシー取得部13は、ポリシーテーブル12が初期化されたことを検知して、ポリシーテーブル12の全てのポリシーを読み取る(ステップS210)。静的ポリシー取得部13は、更新されたポリシーを読み取ると、そのポリシーをポリシー判断部15に通知する。
 ポリシー判断部15は、静的ポリシー取得部13から受け取ったポリシーに含まれるアクションが「宛先装置への通信を許可しない(Deny)」アクションか否かを判断する(ステップS220)。アクションがDenyでない場合(ステップS220における「いいえ」)、ポリシー判断部15は、処理を終了する。一方、アクションがDenyの場合(ステップS220における「はい」)、ポリシー判断部15は、Deny制御部17に、そのパケットのDeny処理を決定させる(ステップS230)。以降、Deny制御部17がDeny処理を決定し、OFS制御部20がOFPに基づいて生成したメッセージを、OFP送信部21がOFS30に送信するまでの処理(ステップS230~S250)は、図3に例示するステップS140、及びステップS160~S170の処理と同様のため、説明を省略する。
 このように、ポリシーテーブル12に記憶されたポリシーが更新されたことを契機としてフローが決定される(すなわち、ポリシーが更新されたときにOFS30の記憶部32に記憶させるエントリを作成する)ため、OFC10は、OFS30からのアクセスを低減できるため、負荷を低減できるという効果がある。
 以上のように、本発明によれば、ポリシー判断部15が、OFS30が受信したパケットの情報をもとに、マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かをポリシーに基づいて判断する。そして、ポリシー判断部15が、マッチ条件に該当するパケットに対して宛先装置への通信を許可しない(Deny)と判断したことを条件に、Deny制御部17が、そのパケットを宛先装置に転送させないための処理を決定し、OFS制御部20が、少なくともそのパケットを受信したOFS30にその処理を実行する処理規則を設定する。そのため、宛先装置までの通信が許可されない(Deny)パケットに対してパケット中継装置(例えば、OFS30)が行う処理の負荷を低減できる。
 また、Deny制御部17及びOFS制御部20が、マッチ条件に該当するパケットを破棄(Drop)するための処理規則をOFS30に設定する。そのため、OFS30及びOFC10のCPU負荷を抑制することができる。
 また、Deny制御部17及びOFS制御部20が、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための処理規則(例えば、他の送信先への経路)をOFS30に設定する。そのため、外部装置による、より詳細なDeny処理を提供することが可能になる。
 さらに、Deny制御部17及びOFS制御部20は、OFS30がDenyパケットを受信したときに、そのパケットの情報をOFC10に送信する規則をOFS30に設定する。この場合に、OFC10がOFS30からパケットの情報を受信したときにDenyログ生成部19がログを生成する。そのため、Denyパケットの通信状況を把握することができる。
実施形態2.
 図6は、本発明の第2の実施形態における中継制御システムの例を示すブロック図である。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。本実施形態における中継制御システムは、OFC10aと、OFS30とを備えている。OFS30については、第1の実施形態と同様である。
 OFC10aは、OFP受信部11と、ポリシーテーブル12と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20aと、OFP送信部21に加え、フロー管理テーブル22を備えている。すなわち、OFC10aは、第1の実施形態におけるOFC10と比べ、OFS制御部20の代わりにOFS制御部20aを備えている点、及び、フロー管理テーブル22を備えている点において異なる。それ以外の構成については、第1の実施形態と同様である。
 フロー管理テーブル22は、OFS制御部20が作成したフローのアクション(以下、OFアクションと記す。)を記憶する。すなわち、フロー管理テーブル22は、OFS30に設定したルールを記憶する。フロー管理テーブル22は、例えば、OFC10aが備える磁気ディスク装置等によって実現される。フロー管理テーブル22は、OFアクションと、フローを更新する対象のOFS30を識別する情報(以下、スイッチ識別情報と記す。)とを対応付けて記憶してもよい。
 OFS制御部20aは、作成したOFアクションをフロー管理テーブル22に記憶させる。また、OFS制御部20aは、新たにOFアクションを作成すると、フロー管理テーブル22に同一のOFアクションが既に記憶されているか否かを判断する。同一のOFアクションが既に記憶されている場合、OFS制御部20aは、OFP送信部21からメッセージを送信しないよう、作成したOFアクションを破棄する。すなわち、OFS制御部20aは、OFS30に設定するルールが既にフロー管理テーブル22に記憶されている場合には、そのルールをOFS30に対して設定しないようにする。一方、作成したOFアクションが記憶されているOFアクションと異なる場合、OFS制御部20aは、作成したOFアクションの内容でフロー管理テーブル22の内容を更新する。なお、OFS制御部20aの上記以外の機能は、第1の実施形態におけるOFS制御部20の機能と同様である。
 なお、OFS制御部20aは、プログラム(中継制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、OFS制御部20aは、専用のハードウェアで実現されていてもよい。
 次に、動作について説明する。図7は、第2の実施形態において、OFC10aが、OFS30からパケットの情報を受信した場合の処理の例を示すフローチャートである。なお、OFC10aがOFS30からパケットの情報を受信してから、OFS制御部20aがOFPに基づくメッセージを作成するまでの処理は、図3に例示するステップS110~S160の処理と同様である。
 OFS制御部20aは、OFPに基づくメッセージを作成すると、フロー管理テーブル22に同一のOFアクションが記憶されているか否かを判断する(ステップS310)。同一のOFアクションがフロー管理テーブル22に既に存在する場合(ステップS310における「はい」)、OFS制御部20aは、作成したメッセージを破棄し(ステップS320)、処理を終了する。一方、同一のOFアクションがフロー管理テーブル22に存在しない場合(ステップS310における「いいえ」)、OFS制御部20aは、作成したOFアクションをフロー管理テーブル22に記憶させる(ステップS330)。そして、OFP送信部21は、OFS制御部20aがOFPに基づいて生成したメッセージをOFS30に送信する(ステップS170)。
 以上のように、本実施形態によれば、OFS制御部20aが、OFS30に処理規則を設定したときに、フロー管理テーブル22にもその処理規則を記憶させる。そして、ポリシー判断部15がマッチ条件に該当するパケットに対して宛先装置への通信を許可しない(Deny)と判断したときに、OFS制御部20aは、OFS30に設定する処理規則が既にフロー管理テーブル22に記憶されている場合にはその処理規則をOFS30に設定しないようにする。このように、既に設定された処理規則の再設定指示を抑制できるため、OFS30及びOFC10aのCPU負荷を抑制することができる。
 例えば、OFS30が、Denyパケットに対し、Drop処理のみを行う場合、OFC10aは、OFS30からDenyパケットを再度受信することはない。しかし、Denyパケットに対してPacket-inの設定が行われている場合には、通信を許可されない(Deny)パケットが、再度OFC10aに送信されることになる。しかし、本実施形態では、Denyパケットが再度OFC10aに送信されても、OFS制御部20aが、すでに設定されたフローの更新を抑制する。よって、OFC10aや、OFS30の処理負荷を軽減することができる。
 すなわち、ポリシーが、Denyパケットに対し、Drop処理及びPacket-in処理、もしくは、明示的な経路設定及びPacket-in処理を表すアクションであっても、OFC10aが、OFS30の記憶部32にすでに書き込まれたフローのアクションを複数回書き込みに行くことを防ぐことができる。
実施形態3.
 図8は、本発明の第3の実施形態における中継制御システムの例を示すブロック図である。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。本実施形態における中継制御システムは、OFC10bと、OFS30とを備えている。OFS30については、第1の実施形態と同様である。
 OFC10bは、OFP受信部11と、ポリシーテーブル12と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17bと、経路算出部18と、Denyログ生成部19と、OFS制御部20と、OFP送信部21に加え、Denyカウンタテーブル23を備えている。すなわち、OFC10bは、第1の実施形態におけるOFC10と比べ、Deny制御部17の代わりにDeny制御部17bを備えている点、及び、Denyカウンタテーブル23を備えている点において異なる。それ以外の構成については、第1の実施形態と同様である。
 Denyカウンタテーブル23は、Deny制御部17bが宛先装置への通信を許可しないと判断したパケットに対する判断回数(カウンタ値と記すこともある。)を、パケットの識別情報(例えば、マッチ条件)と対応付けて記憶する。以下、この識別情報を、フィールドと記すこともある。なお、カウンタ値は、Packet-in回数を計測した値ということもできる。Denyカウンタテーブル23は、ポリシーのマッチ条件で使用される識別情報と同一の情報をDeny処理の回数と対応付けて記憶してもよい。もしくは、Denyカウンタテーブル23は、例えば、パケットの送信元など、ペイロードに含まれる情報をDeny処理の回数と対応付けて記憶してもよい。また、カウンタ値を集約するため、Denyカウンタテーブル23は、複数のフロー(マッチ条件)に対して1つのカウンタ値を共有する形式で記憶してもよい。Denyカウンタテーブル23は、例えば、OFC10bが備える磁気ディスク装置等によって実現される。
 Deny制御部17bは、ポリシーのアクションが「Deny」だった場合(すなわち、宛先装置への通信を許可しないと判断した場合)に、そのポリシーのマッチ条件に対応するDenyカウンタテーブル23のカウンタ値を増加させる。そして、Deny制御部17bは、カウンタ値が予め定められた閾値(以下、Deny処理回数閾値と記す。)を超えた場合、そのカウンタ値に対応するマッチ条件に該当するフローについて、パケットの情報をOFC10bに送信させる処理(すなわち、Packet-in処理)を行わせないと決定する。
 すなわち、Deny制御部17bは、Denyと判断される特定フロー(例えば、ポリシーごと、もしくは、送信元のアドレスごと)のPacket-in処理回数がある閾値(Deny処理回数閾値)を越えた場合、OFS30に対して、特定フローについてはドロップ処理もしくは特定経路の選択のみを行わせると決定する。こうすることにより、例えば、OFC10bに対してアタック処理が行われるような場合に、Packet-inの頻度を低減させることができるため、OFS30及びOFC10bの処理負荷を抑制することができる。
 なお、Deny制御部17bは、プログラム(中継制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、Deny制御部17bは、専用のハードウェアで実現されていてもよい。
 次に、動作について説明する。第3の実施形態では、OFC10bがOFS30からパケットの情報を受信してから、OFP送信部21がOFS30にメッセージを送信するまでの処理は、図3に例示するフローチャートが示す処理と同様である。ただし、Deny制御部17bが行う処理は、第1の実施形態におけるDeny制御部17が行う処理と異なる。以下、Deny制御部17bが行う動作について説明する。
 図9は、Deny制御部17bが行う処理の例を示すフローチャートである。Deny制御部17bがアクションに含まれる付加情報の内容をもとに処理を決定するまでの動作は、図4におけるステップS141~S143の動作と同様である。
 次に、Deny制御部17bは、付加情報にロギング設定がされているか否かを判断する(ステップS144)。ロギング設定がされていない場合(ステップS144における「いいえ」)、Deny制御部17bはDenyログ生成の処理を行わない。一方、ロギング設定がされている場合(ステップS144における「はい」)、Deny制御部17bは、フローにマッチするフィールドがDenyカウンタテーブル23にあるか否かを判断する(ステップS410)。フローにマッチするフィールドが存在する場合(ステップS410における「はい」)、Deny制御部17bは、そのフィールドに対応するカウンタ値を増加させる(ステップS420)。例えば、Deny制御部17bは、フローにマッチするフィールドのカウンタ値に1を加算する。一方、フローにマッチするフィールドが存在しない場合(ステップS410における「いいえ」)、Deny制御部17bは、フローのマッチ条件(フィールド)を作成し、カウント値を0で初期化する(ステップS430)。Deny制御部17bは、カウンタ値を増加させた(ステップS420)後、もしくは、フローのマッチ条件(フィールド)を作成した(ステップS430)後、カウント値が閾値(Deny処理回数閾値)以上か否かを判断する(ステップS440)。カウント値が閾値以上の場合(ステップS440における「はい」)、Deny制御部17bは、Denyログ生成部19に、ログ出力を抑制した旨の情報を出力させる(ステップS450)。具体的には、Deny制御部17bは、カウンタ値がある閾値以上の場合、ポリシーのアクションからPacket-inを削除したメッセージを生成するようにOFS制御部20に指示する。一方、カウント値が閾値以上でない場合(ステップS440における「いいえ」)、Deny制御部17bは、図3に例示するステップS145~S146と同様、Packet-inフラグを立て、Denyのロギングを行う。
 なお、図9におけるステップS440において、カウント値が閾値(Deny処理回数閾値)以上か否かをDeny制御部17bが判断する場合について説明した。ただし、Deny制御部17bは、カウント値が閾値(Deny処理回数閾値)を超えるか否かによって判断してもよい。
 以上のように、本実施形態によれば、Deny制御部17b及びOFS制御部20は、ポリシー判断部15が宛先装置への通信を許可しない(Deny)と判断したときに、Denyカウンタテーブル23に記憶されたパケットを識別する要素に対応するパケットの判断回数を増加させる。そして、パケットの判断回数がDeny処理回数閾値を超えた場合に、そのパケットの情報をOFC10bに送信しないための処理規則をOFS30に設定する。そのため、通信を許可しないパケットの情報がOFC10bに通知され過ぎることを防止できる。
実施形態4.
 図10は、本発明の第4の実施形態における中継制御システムの例を示すブロック図である。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。本実施形態における中継制御システムは、OFC10cと、OFS30とを備えている。OFS30については、第1の実施形態と同様である。また、第1の実施形態では、OFS制御部20が、パケットの情報を受信したOFS30(すなわち、イングレス)に、Deny処理を実行する処理規則を設定する場合について説明した。本実施形態では、イングレス以外のOFS30に対してもDeny設定を行う場合について説明する。
 OFC10cは、OFP受信部11と、ポリシーテーブル12と、静的ポリシー取得部13と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16cと、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20と、OFP送信部21とを備えている。すなわち、OFC10cは、第1の実施形態におけるOFC10と比べ、Allow制御部16の代わりにAllow制御部16cを備えている点において異なる。それ以外の構成については、第1の実施形態と同様である。
 Allow制御部16cは、ポリシーのアクションが「Allow」だった場合(すなわち、宛先装置への通信を許可すると判断した場合)に、パケットの宛先装置への少なくとも1つ以上の経路候補を算出する。具体的には、Allow制御部16cは、経路算出部18に宛先装置への複数の送信経路を算出させる。そして、Allow制御部16cは、算出された各経路上に、受信したパケットの通信を許可しない(Deny)と判断するスイッチ(以下、Denyスイッチと記す。)が存在するか否かを判断する。例えば、Allow制御部16cは、パケットの通信を許可するか否かを経路上の各スイッチに問い合わせ、その応答結果をもとにDenyスイッチが存在するか否かを判断してもよい。
 パケットの通信が許可される経路が送信経路の候補に存在しない場合、Allow制御部16cは、Deny処理を行うと判断する。具体的には、Allow制御部16cは、Deny制御部17にパケットに対するDeny処理を決定させる。一方、パケットの通信が許可される経路が存在する場合、Allow制御部16cは、Deny処理を行わないと判断し、その経路をOFS制御部20に通知する。
 なお、Allow制御部16cは、Denyスイッチが経路上に存在すると判断した場合、そのDenyスイッチに対して、Deny処理の設定を行うと判断してもよい。この場合、Allow制御部16cは、経路上の上記スイッチに対するDeny処理をDeny制御部17に決定させ、OFS制御部20が、決定されたDeny処理に基づいて、フローの内容を更新するための指示を経路上のスイッチに対して行ってもよい。
 経路上のスイッチに対してDeny処理の設定がされる場合について、図11及び図12を用いて説明する。図11及び図12は、送信元(Nancy)から、送信先(Paul)へ通信を行う場合の例を示す説明図である。破線で囲んだ範囲は、送信元(Nancy)及び送信先(Paul)が接続する通信ネットワークである。また、SW1~SW4はスイッチ(例えば、OFS30)を表し、CT1は、コントローラ(例えば、OFC10c)を表す。また、SW1~SW4のうち、網掛けで示すスイッチは、送信元(Nancy)から送信先(Paul)への通信を許可しないスイッチであり、白丸で示すスイッチは、送信元(Nancy)から送信先(Paul)への通信を許可するスイッチである。図11に示す例では、送信元(Nancy)が接続するスイッチは、送信先(Paul)への通信を許可しないと判断する。すなわち、ポリシー判断部15は、Deny制御部17に、パケットのDeny処理を決定させることになる。
 一方、図12に示す例では、送信元(Nancy)が接続するスイッチは、(Paul)への通信を許可すると判断する。すなわち、ポリシー判断部15が、Allow制御部16cに、パケットの転送先を算出させる。そして、Allow制御部16cは、経路算出部18に送信先までの複数の送信経路を算出させる。図12に示す例では、送信先への経路は、SW1とSW2とSW4を経由する経路(経路1)、SW1とSW3とSW4を経由する経路(経路2)、SW1とSW4を経由する経路(経路3)の3種類の経路が算出される。まず、Allow制御部16cは、Denyスイッチが経路1上に存在するか否かを判断する。経路1上には、通信を許可しないと判断するSW2が存在する。この場合、Allow制御部16cは、次の経路の候補(経路2)に対して、Denyスイッチが経路上に存在するか否かを判断する。経路2上には、Denyスイッチは存在しない。よって、Allow制御部16cは、経路2をOFS制御部20に通知する。
 なお、Allow制御部16cは、経路1上のSW2に対し、Deny処理の設定を行うと判断してもよい。この場合、Allow制御部16cは、SW2に対するDeny処理をDeny制御部17に決定させる。そして、OFS制御部20が、決定されたDeny処理に基づいて、フローの内容を更新するための指示をSW2に対して行う。このように、経路上のスイッチに対しても、予めDeny処理の設定を行うことができるため、Deny処理を設定済みのスイッチに通信装置を接続した場合に、再度OFC10cに問い合わせる必要がない。そのため、問合せにかかるOFC10c及びOFS30の負荷を軽減することができる。
 なお、Allow制御部16cは、プログラム(中継制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、Allow制御部16cは、専用のハードウェアで実現されていてもよい。
 次に、動作について説明する。図13は、OFC10cが、OFS30からパケットの情報を受信した場合の処理の例を示すフローチャートである。第4の実施形態において、OFC10cがOFS30からパケットの情報を受信し、ポリシー判断部15がアクションをDenyと判断した場合の処理については、図3に例示するステップS110~S140及びステップS160~S170における処理と同様である。以下、ポリシー判断部15が、アクションが「宛先装置への通信を許可する(Allow)」アクションであると判断した場合(図13のステップS130における「いいえ」)に、Allow制御部16cが行う処理(ステップS510)について説明する。
 図14は、Allow制御部16cが行う処理の例を示すフローチャートである。まず、Allow制御部16cは、経路算出部18に経路の候補を算出させる(ステップS511)。Allow制御部16cは、算出させた経路候補を1つ目(ステップS512)から順に判断する。なお、判断する順序は特に限定されない。Allow制御部16cは、候補の経路上にDenyスイッチが存在するか否かを判断する(ステップS513)。Denyスイッチが存在する場合(ステップS513における「はい」)、Allow制御部16cは、そのスイッチに対してDeny処理を行うと判断する(ステップS515)。次に、Allow制御部16cは、他に経路候補が存在するか否かを判断する(ステップS516)。他に経路候補が存在する場合(ステップS516における「はい」)、Allow制御部16cは、以降の候補(ステップS518)に対し、ステップS513及びステップS515~S518の処理を繰り返す。他に経路候補が存在しない場合(ステップS516における「いいえ」)、Allow制御部16cは、Deny処理を行うと判断する(ステップS517)。
 一方、ステップS513において、候補の経路上にDenyスイッチが存在しない場合(ステップS513における「いいえ」)、Allow制御部16cは、OFS制御部20にその経路を通知する(ステップS514)。
 図13において、Allow制御部16cがDeny処理を行うと判断すると(ステップS520における「はい」)、Allow制御部16cは、Deny処理をDeny制御部17に決定させる。以降の処理は、図3に例示するステップS140及びステップS160~S170における処理と同様である。
 なお、図14に例示する処理では、Allow制御部16cが、Denyスイッチが存在しない経路を発見した段階で、OFS制御部20にその経路を通知し、以降の候補の経路の内容を判断しない場合について説明した。ただし、Allow制御部16cは、Denyスイッチが存在しない経路を発見しても、残りの経路の候補全てに対して、経路上にDenyスイッチが存在するか否かを判断し、その後で発見した経路をOFS制御部20に通知してもよい。
 以上のように、本実施形態によれば、ポリシー判断部15がマッチ条件に該当するパケットに対して宛先装置への通信を許可する(Allow)と判断したことを条件に、経路算出部18が、パケットの宛先装置への少なくとも1つ以上の経路候補を算出する。次に、Allow制御部16cは、経路候補上に、パケットの通信を許可しないと判断するOFS30が存在するか否かを判断する。そして、Deny制御部17及びOFS制御部20は、経路候補のうち、パケットの通信を許可しないと判断するOFS30が全ての候補経路における各経路上に存在する場合に、そのパケットを宛先装置に転送させないための処理(Deny処理)を実行する処理規則を、少なくとも上記パケットを受信したOFS30に設定する。そのため、OFS30が他のスイッチにパケットを中継する前に、送信可否を判断できるため、通信ネットワークの負荷を軽減することができる。
 また、Deny制御部17は、マッチ条件に該当するパケットの通信を許可しないOFS30が経路上に存在する場合に、そのパケットを宛先装置に転送させないための処理(Deny処理)を実行する処理規則を上記OFS30に対して設定する。このように、コントローラにパケットを送信したスイッチ(すなわち、イングレス)だけでなく、経路候補上のスイッチに対してもDeny処理を実行する処理規則を設定できるため、通信ネットワークの負荷を軽減することができる。
実施形態5.
 図15は、本発明の第5の実施形態における中継制御システムの例を示すブロック図である。なお、第2の実施形態と同様の構成については、図6と同一の符号を付し、説明を省略する。本実施形態における中継制御システムは、OFC10dと、OFS30とを備えている。OFS30については、第1の実施形態と同様である。
 OFC10dは、OFP受信部11と、ポリシーテーブル12と、動的ポリシー取得部14と、ポリシー判断部15と、Allow制御部16と、Deny制御部17と、経路算出部18と、Denyログ生成部19と、OFS制御部20dと、OFP送信部21と、フロー管理テーブル22とを備えている。すなわち、OFC10dは、第2の実施形態におけるOFC10aと比べ、静的ポリシー取得部13を備えず、OFS制御部20aの代わりにOFS制御部20dを備えている点において異なる。それ以外の構成については、第2の実施形態と同様である。
 OFS制御部20dは、第2の実施形態におけるOFS制御部20aの機能に加え、フロー管理テーブル22に記憶されたOFアクション(すなわち、OFS制御部20aが作成したフローのアクション)に基づいて、OFS30に記憶されたフローの更新指示を行う。すなわち、OFS制御部20dは、フロー管理テーブル22に記憶されたOFアクションをOFS30に設定する。OFS制御部20dは、例えば、OFS30が接続されたときに、接続されたOFS30を示すスイッチ識別情報に対応するOFアクションをフロー管理テーブル22から読み取る。そして、OFS制御部20dは、フローを更新するためのメッセージを作成し、そのメッセージをOFS30へ送信するよう、OFP送信部21に指示する。なお、OFS制御部20dは、スイッチ識別情報に関わらず、フロー管理テーブル22に記憶されたOFアクションを全て読み取ってもよい。また、OFS制御部20dは、OFC10dが、フローのアクションを要求するメッセージをOFS30から受信した場合に、上記処理を行ってもよい。
 OFS制御部20dは、プログラム(中継制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、OFS制御部20dは、専用のハードウェアで実現されていてもよい。
 次に、動作について説明する。図16は、OFC10dが、フローのアクションを要求するメッセージをOFS30から受信した場合の処理の例を示すフローチャートである。OFP受信部11が、フローのアクションを要求するメッセージをOFS30から受信すると(ステップS610)、OFS制御部20dは、フロー管理テーブル22からフローのアクション(OFアクション)を読み取り、OFPに基づくメッセージを作成する(ステップS620)。そして、OFP送信部21は、OFS制御部20dがOFPに基づいて作成したメッセージをOFS30に送信する(ステップS630)。
 以上のように、本実施形態によれば、OFS制御部20dが、フロー管理テーブル22に記憶されたフローをパケット中継装置に設定する。よって、第2の実施形態のように、ポリシーテーブル12の更新を検知できない場合であっても、Deny処理を示すフローをOFS30に反映することができる。
 次に、本発明による中継制御装置の最小構成の例を説明する。図17は、本発明による中継制御装置の最小構成の例を示すブロック図である。本発明による中継制御装置は、パケット中継装置(例えば、OFS30)を制御する中継制御装置(例えば、OFC10)であって、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(例えば、アクション)とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)か否(例えば、Deny)かを判断する通信許可判断手段81(例えば、ポリシー判断部15)と、通信許可判断手段81がマッチ条件に該当するパケットに対して宛先装置への通信を許可しない(例えば、Deny)と判断したことを条件に、そのパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行する規則(例えば、フロー)を少なくともパケットを受信したパケット中継装置に設定する規則設定手段82(例えば、Deny制御部17及びOFS制御部20)とを備えている。
 そのような構成により、宛先装置までの通信が許可されないパケットに対してパケット中継装置が行う処理の負荷を低減できる。
 また、図18のブロック図に示すように、本発明による中継制御装置80にパケット中継装置90を設けて、中継制御システムを構成してもよい。
 さらに、本発明によるパケット中継装置の最小構成の例を説明する。図19は、本発明によるパケット中継装置の最小構成の例を示すブロック図である。本発明によるパケット中継装置は、受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段71(例えば、記憶部32)と、フロー記憶手段71に記憶されたフローに基づいて受信したパケットを中継するパケット中継手段72(例えば、制御部33)とを備えている。
 パケット中継手段72は、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(例えば、アクション)とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)か否(例えば、Deny)かを判断し、そのパケットに対して宛先装置への通信を許可しない(例えば、Deny)と判断したことを条件に、マッチ条件に該当するパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行するフローを少なくともパケットを受信した送信元の装置に設定する中継制御装置(例えば、OFC10)に対して、受信したパケットに対応するフローがフロー記憶手段72に存在しない場合にそのパケットの情報を送信し、中継制御装置により設定されたフローに基づいてパケットを処理する。
 そのような構成により、宛先装置までの通信が許可されないパケットに対してパケット中継装置が行う処理の負荷を低減できる。
 なお、少なくとも以下に示すような中継制御装置、中継システム及びパケット中継装置も、上記に示すいずれかの実施形態に記載されていると言える。
(1)パケット中継装置(例えば、OFS30)を制御する中継制御装置(例えば、OFC10)であって、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(例えば、アクション)とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)か否(例えば、Deny)かを判断する通信許可判断手段(例えば、ポリシー判断部15)と、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しない(例えば、Deny)と判断したことを条件に、そのパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行する規則(例えば、フロー)を少なくともパケットを受信したパケット中継装置に設定する規則設定手段(例えば、Deny制御部17及びOFS制御部20)とを備えた中継制御装置。
(2)規則設定手段(例えば、Deny制御部17及びOFS制御部20)が、マッチ条件に該当するパケットを破棄する(例えば、Dropする)ための規則を少なくともパケットを受信したパケット中継装置に設定する中継制御装置。
(3)規則設定手段(例えば、Deny制御部17及びOFS制御部20)が、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先(例えば、検疫ネットワークやハニーポット、詳細なフロー挙動解析装置など)に送信するための規則を少なくともパケットを受信したパケット中継装置に設定する中継制御装置。
(4)マッチ条件に応じて予め定められた送信先までの経路を算出する経路算出手段(例えば、経路算出部18)を備え、規則設定手段が、マッチ条件に該当するパケットを経路算出手段が算出した送信先に送信するための規則を少なくともパケットを受信したパケット中継装置に設定する中継制御装置。
(5)通信許可判断手段(例えば、ポリシー判断部15)が宛先装置への通信を許可しないと判断したことを示すログ(例えば、Denyログ)を生成するログ生成手段(例えば、Denyログ生成部19)を備え、規則設定手段が、宛先装置に転送させないための処理(例えば、Deny処理)が実行されるパケットをパケット中継装置が受信したときに、そのパケットの情報を中継制御装置に送信するための規則をそのパケット中継装置に設定し、ログ生成手段が、パケット中継装置からパケットの情報を受信したときにログを生成する中継制御装置。
(6)パケット中継装置に設定した規則を記憶する規則記憶手段(例えば、フロー管理テーブル22)を備え、規則設定手段(例えば、Deny制御部17及びOFS制御部20a)が、パケット中継装置に規則を設定したときに、規則記憶手段にその規則を記憶させ、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したときに、パケット中継装置に設定する規則が既に規則記憶手段に記憶されている場合にはその規則をパケット中継装置に設定しない中継制御装置。
(7)通信許可判断手段(例えば、ポリシー判断部15)が宛先装置への通信を許可しないと判断したパケットの判断回数(例えば、カウント値)を、そのパケットを識別する要素と対応付けて記憶する判断回数記憶手段(例えば、Denyカウンタテーブル23)を備え、規則設定手段(例えば、Deny制御部17b及びOFS制御部20)が、通信許可判断手段が宛先装置への通信を許可しないと判断したときに、要素に対応するパケットの判断回数を増加させ、パケットの判断回数が予め定められた閾値(例えば、Deny処理回数閾値)を超えた場合に、そのパケットの情報を中継制御装置に送信しないための規則をそのパケット中継装置に設定する中継制御装置。
(8)通信許可判断手段(例えば、ポリシー判断部15)がマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)と判断したことを条件に、パケットの宛先装置への少なくとも1つ以上の経路候補を算出する経路候補算出手段(例えば、経路算出部18)と、経路候補上に、パケットの通信を許可しないと判断するパケット中継装置が存在するか否かを判断する経路判断手段(例えば、Allow制御部16c)とを備え、規則設定手段(例えば、Deny制御部17及びOFS制御部20)が、経路候補のうち、パケットの通信を許可しないと判断するパケット中継装置が全ての候補経路における各経路上に存在する場合に、そのパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行する規則を少なくともパケットを受信したパケット中継装置に設定する中継制御装置。
(9)規則設定手段(例えば、Deny制御部17及びOFS制御部20)が、マッチ条件に該当するパケットの通信を許可しないパケット中継装置(例えば、スイッチ)が経路上に存在する場合に、そのパケットを宛先装置に転送させないための処理(すなわち、Deny処理)を実行する規則をパケット中継装置に対して設定する中継制御装置。
(10)規則設定手段(例えば、OFS制御部20d)が、規則記憶手段(例えば、フロー管理テーブル22)に記憶された規則(例えば、フローのアクション)をパケット中継装置に設定する中継制御装置。
(11)パケット中継装置(例えば、OFS30)と、パケット中継装置を制御する中継制御装置(OFC10)とを備え、中継制御装置が、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(例えば、アクション)とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)か否(例えば、Deny)かを判断する通信許可判断手段(例えば、ポリシー判断部15)と、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しない(例えば、Deny)と判断したことを条件に、そのパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行する規則(例えば、フロー)を少なくともパケットを受信したパケット中継装置に設定する規則設定手段(例えば、Deny制御部17及びOFS制御部20)とを備えた中継制御システム。
(12)規則設定手段が、マッチ条件に該当するパケットを破棄するための規則を少なくともパケットを受信したパケット中継装置に設定する中継制御システム。
(13)規則設定手段が、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための規則を少なくともパケットを受信したパケット中継装置に設定する中継制御システム。
(14)受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段(例えば、記憶部32)と、フロー記憶手段に記憶されたフローに基づいて受信したパケットを中継するパケット中継手段(例えば、制御部33)とを備え、パケット中継手段は、パケットを識別する情報であるマッチ条件と、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報(例えば、アクション)とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、そのマッチ条件に該当するパケットに対して宛先装置への通信を許可する(例えば、Allow)か否(例えば、Deny)かを判断し、そのパケットに対して宛先装置への通信を許可しない(例えば、Deny)と判断したことを条件に、マッチ条件に該当するパケットを宛先装置に転送させないための処理(例えば、Deny処理)を実行するフローを少なくともパケットを受信した送信元の装置に設定する中継制御装置(例えば、OFC10)に対して、受信したパケットに対応するフローがフロー記憶手段に存在しない場合にそのパケットの情報を送信し、中継制御装置により設定されたフローに基づいてパケットを処理するパケット中継装置。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2009年9月10日に出願された日本特許出願2009-209722を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、パケット中継装置が行う処理を制御する中継制御装置に好適に適用される。
10,10a,10b,10c,10d OFC
11 OFP受信部
12 ポリシーテーブル
13 静的ポリシー取得部
14 動的ポリシー取得部
15 ポリシー判断部
16,16c Allow制御部
17,17b Deny制御部
18 経路算出部
19 Denyログ生成部
20,20a,20d OFS制御部
21 OFP送信部
22 フロー管理テーブル
23 Denyカウンタテーブル
30 OFS
31 ネットワークインタフェース部
32 記憶部
33 制御部
SW1~SW4 スイッチ
CT1 コントローラ

Claims (22)

  1.  パケット中継装置を制御する中継制御装置であって、
     パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断手段と、
     前記通信許可判断手段が前記マッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、当該パケットを宛先装置に転送させないための処理を実行する規則を少なくとも前記パケットを受信したパケット中継装置に設定する規則設定手段とを備えた
     ことを特徴とする中継制御装置。
  2.  規則設定手段は、マッチ条件に該当するパケットを破棄するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項1記載の中継制御装置。
  3.  規則設定手段は、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項1記載の中継制御装置。
  4.  マッチ条件に応じて予め定められた送信先までの経路を算出する経路算出手段を備え、
     規則設定手段は、マッチ条件に該当するパケットを前記経路算出手段が算出した送信先に送信するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項3記載の中継制御装置。
  5.  通信許可判断手段が宛先装置への通信を許可しないと判断したことを示すログを生成するログ生成手段を備え、
     規則設定手段は、宛先装置に転送させないための処理が実行されるパケットをパケット中継装置が受信したときに、当該パケットの情報を中継制御装置に送信するための規則を当該パケット中継装置に設定し、
     前記ログ生成手段は、パケット中継装置から前記パケットの情報を受信したときに前記ログを生成する
     請求項1から請求項4のうちのいずれか1項に記載の中継制御装置。
  6.  パケット中継装置に設定した規則を記憶する規則記憶手段を備え、
     規則設定手段は、パケット中継装置に規則を設定したときに、前記規則記憶手段に当該規則を記憶させ、通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したときに、パケット中継装置に設定する規則が既に前記規則記憶手段に記憶されている場合には当該規則をパケット中継装置に設定しない
     請求項1から請求項5のうちのいずれか1項に記載の中継制御装置。
  7.  通信許可判断手段が宛先装置への通信を許可しないと判断したパケットの判断回数を、当該パケットを識別する要素と対応付けて記憶する判断回数記憶手段を備え、
     規則設定手段は、通信許可判断手段が宛先装置への通信を許可しないと判断したときに、前記要素に対応するパケットの判断回数を増加させ、前記パケットの判断回数が予め定められた閾値を超えた場合に、当該パケットの情報を中継制御装置に送信しないための規則を当該パケット中継装置に設定する
     請求項5記載の中継制御装置。
  8.  通信許可判断手段がマッチ条件に該当するパケットに対して宛先装置への通信を許可すると判断したことを条件に、前記パケットの宛先装置への少なくとも1つ以上の経路候補を算出する経路候補算出手段と、
     前記経路候補上に、前記パケットの通信を許可しないと判断するパケット中継装置が存在するか否かを判断する経路判断手段とを備え、
     規則設定手段は、前記経路候補のうち、前記パケットの通信を許可しないと判断するパケット中継装置が全ての候補経路における各経路上に存在する場合に、当該パケットを宛先装置に転送させないための処理を実行する規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項1から請求項7のうちのいずれか1項に記載の中継制御装置。
  9.  規則設定手段は、マッチ条件に該当するパケットの通信を許可しないパケット中継装置が経路上に存在する場合に、当該パケットを宛先装置に転送させないための処理を実行する規則を前記パケット中継装置に対して設定する
     請求項8記載の中継制御装置。
  10.  規則設定手段は、規則記憶手段に記憶された規則をパケット中継装置に設定する
     請求項6記載の中継制御装置。
  11.  パケット中継装置と、
     前記パケット中継装置を制御する中継制御装置とを備え、
     前記中継制御装置は、
     パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断手段と、
     前記通信許可判断手段が前記マッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、当該パケットを宛先装置に転送させないための処理を実行する規則を少なくとも前記パケットを受信したパケット中継装置に設定する規則設定手段とを備えた
     ことを特徴とする中継制御システム。
  12.  規則設定手段は、マッチ条件に該当するパケットを破棄するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項11記載の中継制御システム。
  13.  規則設定手段は、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項11記載の中継制御システム。
  14.  受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段と、
     前記フロー記憶手段に記憶されたフローに基づいて受信したパケットを中継するパケット中継手段とを備え、
     前記パケット中継手段は、パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、当該パケットに対して宛先装置への通信を許可しないと判断したことを条件に、前記マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくとも前記パケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローが前記フロー記憶手段に存在しない場合に当該パケットの情報を送信し、前記中継制御装置により設定されたフローに基づいて前記パケットを処理する
     ことを特徴とするパケット中継装置。
  15.  パケット中継装置を制御する中継制御装置が、パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、
     前記中継制御装置が、前記マッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、当該パケットを宛先装置に転送させないための処理を実行する規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     ことを特徴とする中継制御方法。
  16.  受信したパケットに対して宛先装置への通信を許可しないと判断したことを条件に、マッチ条件に該当するパケットを破棄するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項15記載の中継制御方法。
  17.  受信したパケットに対して宛先装置への通信を許可しないと判断したことを条件に、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための規則を少なくとも前記パケットを受信したパケット中継装置に設定する
     請求項15記載の中継制御方法。
  18.  受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段に記憶された当該フローに基づいて受信したパケットを中継し、
     パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、当該パケットに対して宛先装置への通信を許可しないと判断したことを条件に、前記マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくとも前記パケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローが前記フロー記憶手段に存在しない場合に当該パケットの情報を送信し、前記中継制御装置により設定されたフローに基づいて前記パケットを中継する
     ことを特徴とするパケット中継方法。
  19.  パケット中継装置を制御するコンピュータに適用される中継制御プログラムであって、
     前記コンピュータに、
     パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、パケット中継装置が受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断する通信許可判断処理、および、
     前記通信許可判断処理で前記マッチ条件に該当するパケットに対して宛先装置への通信を許可しないと判断したことを条件に、当該パケットを宛先装置に転送させないための処理を実行する規則を少なくとも前記パケットを受信したパケット中継装置に設定する規則設定処理
     を実行させるための中継制御プログラム。
  20.  コンピュータに、
     規則設定処理で、マッチ条件に該当するパケットを破棄するための規則を少なくとも前記パケットを受信したパケット中継装置に設定させる
     請求項19記載の中継制御プログラム。
  21.  コンピュータに、
     規則設定処理で、マッチ条件に該当するパケットを宛先装置とは異なる他の送信先に送信するための規則を少なくとも前記パケットを受信したパケット中継装置に設定させる
     請求項19記載の中継制御プログラム。
  22.  受信したパケットに対する処理とパケットを識別する情報とを対応付けた情報であるフローを記憶するフロー記憶手段を備えたコンピュータに適用されるパケット中継プログラムであって、
     前記コンピュータに、
     前記フロー記憶手段に記憶されたフローに基づいて受信したパケットを中継するパケット中継処理を実行させ、
     前記パケット中継処理で、パケットを識別する情報であるマッチ条件と、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを示す通信可否情報とを対応付けた情報であるポリシーに基づいて、受信したパケットの情報をもとに、当該マッチ条件に該当するパケットに対して宛先装置への通信を許可するか否かを判断し、当該パケットに対して宛先装置への通信を許可しないと判断したことを条件に、前記マッチ条件に該当するパケットを宛先装置に転送させないための処理を実行するフローを少なくとも前記パケットを受信した送信元の装置に設定する中継制御装置に対して、受信したパケットに対応するフローが前記フロー記憶手段に存在しない場合に当該パケットの情報を送信させ、前記中継制御装置により設定されたフローに基づいて前記パケットを処理させる
     ためのパケット中継プログラム。
PCT/JP2010/004419 2009-09-10 2010-07-06 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム WO2011030490A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011530730A JP5648639B2 (ja) 2009-09-10 2010-07-06 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム
CN201080045695.5A CN102577275B (zh) 2009-09-10 2010-07-06 中继控制设备、中继控制系统、中继控制方法
EP10815093.9A EP2477362A4 (en) 2009-09-10 2010-07-06 RELAY CONTROL DEVICE, RELAY CONTROL SYSTEM, RELAY CONTROL METHOD, AND RELAY CONTROL PROGRAM
US13/137,926 US20120044935A1 (en) 2009-09-10 2011-09-21 Relay control unit, relay control system, relay control method, and relay control program
US15/349,717 US10075338B2 (en) 2009-09-10 2016-11-11 Relay control unit, relay control system, relay control method, and relay control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-209722 2009-09-10
JP2009209722 2009-09-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/137,926 Continuation US20120044935A1 (en) 2009-09-10 2011-09-21 Relay control unit, relay control system, relay control method, and relay control program

Publications (1)

Publication Number Publication Date
WO2011030490A1 true WO2011030490A1 (ja) 2011-03-17

Family

ID=43732173

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/004419 WO2011030490A1 (ja) 2009-09-10 2010-07-06 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム

Country Status (5)

Country Link
US (2) US20120044935A1 (ja)
EP (1) EP2477362A4 (ja)
JP (2) JP5648639B2 (ja)
CN (1) CN102577275B (ja)
WO (1) WO2011030490A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012141086A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワークアクセスポリシ制御方法
WO2013035342A1 (en) * 2011-09-09 2013-03-14 Nec Corporation Network management service system, control apparatus, method, and program
WO2013164988A1 (ja) * 2012-05-01 2013-11-07 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
US8693344B1 (en) * 2011-09-27 2014-04-08 Big Switch Network, Inc. Systems and methods for generating packet forwarding rules based on network policy
KR20170008814A (ko) 2014-05-21 2017-01-24 닛본 덴끼 가부시끼가이샤 통신 장치, 제어 장치, 통신 시스템, 및 송신 제어 방법
US11323862B2 (en) 2016-05-06 2022-05-03 Convida Wireless, Llc Traffic steering at the service layer

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081145A1 (en) * 2010-12-13 2012-06-21 Nec Corporation Communication path control system, path control device, communication path control method, and path control program
JP5105124B2 (ja) * 2011-02-24 2012-12-19 Necアクセステクニカ株式会社 ルータ装置、プレフィクス管理にもとづくパケット制御方法およびプログラム
WO2012173234A1 (ja) * 2011-06-17 2012-12-20 日本電気株式会社 通信制御装置、通信制御方法およびプログラム
WO2013127429A1 (en) * 2012-02-28 2013-09-06 Nokia Siemens Networks Oy Data forwarding in a mobile communications network system with centralized gateway apparatus controlling distributed gateway elements
JP6146419B2 (ja) * 2012-02-29 2017-06-14 日本電気株式会社 通信装置、通信方法、通信システムおよびプログラム
US9571523B2 (en) * 2012-05-22 2017-02-14 Sri International Security actuator for a dynamically programmable computer network
US9712373B1 (en) * 2012-07-30 2017-07-18 Rambus Inc. System and method for memory access in server communications
CN104247350A (zh) * 2012-07-31 2014-12-24 惠普发展公司,有限责任合伙企业 实现转换协议,其中用于在第一时间段期间路由由一组交换机接收到的分组的第一规则集被更新到第二规则集
CN103001887B (zh) * 2012-11-22 2018-01-05 中兴通讯股份有限公司 一种链路保活方法、控制器及交换机
US9729425B2 (en) * 2012-11-29 2017-08-08 Futurewei Technologies, Inc. Transformation and unified control of hybrid networks composed of OpenFlow switches and other programmable switches
EP2843885A1 (en) * 2013-08-29 2015-03-04 NTT DoCoMo, Inc. Apparatus and method for implementing a packet gateway user plane
JP6435719B2 (ja) * 2013-09-17 2018-12-12 株式会社リコー 通信システムおよび通信方法
CN104579722A (zh) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 流统计能力的协商方法及装置
CN104734988B (zh) * 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
US9924382B2 (en) * 2014-07-16 2018-03-20 Cisco Technology, Inc. Interfrequency and inter-technology neighbor planning on a self-organizing network
US9923772B2 (en) * 2014-07-16 2018-03-20 Cisco Technology, Inc. Interfrequency and inter-technology neighbor planning on a self-organizing network
CN105450710B (zh) * 2014-09-01 2019-08-27 上海诺基亚贝尔股份有限公司 用于网关设备中建立用户对用户的直接通信的方法
US9660903B2 (en) 2015-02-10 2017-05-23 Alcatel Lucent Method and system for inserting an openflow flow entry into a flow table using openflow protocol
US9667440B2 (en) * 2015-02-10 2017-05-30 Alcatel Lucent Method and system for identifying an incoming interface using openflow protocol
US9686137B2 (en) 2015-02-10 2017-06-20 Alcatel Lucent Method and system for identifying an outgoing interface using openflow protocol
US9660904B2 (en) 2015-02-10 2017-05-23 Alcatel Lucent Method and system for inserting an openflow flow entry into a flow table using openflow protocol
EP3073701B1 (en) * 2015-03-27 2017-10-04 Deutsche Telekom AG Network protection entity and method for protecting a communication network against fraud messages
JP6606919B2 (ja) * 2015-08-25 2019-11-20 富士通株式会社 フロースイッチ、コントローラ、及び、中継装置
JP6525824B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 中継装置
US9806983B2 (en) * 2015-09-14 2017-10-31 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for control flow management in software defined networks
US10536549B2 (en) * 2015-12-15 2020-01-14 Nxp Usa, Inc. Method and apparatus to accelerate session creation using historical session cache
US11218506B2 (en) * 2018-12-17 2022-01-04 Microsoft Technology Licensing, Llc Session maturity model with trusted sources
US11750504B2 (en) * 2019-05-23 2023-09-05 Hewlett Packard Enterprise Development Lp Method and system for providing network egress fairness between applications
CN113497718B (zh) * 2020-03-19 2023-08-15 阿里巴巴集团控股有限公司 报文处理设备及报文处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083051A (ja) * 1998-06-30 2000-03-21 Hitachi Ltd パケット中継方法及びパケット中継装置
JP2006319808A (ja) * 2005-05-13 2006-11-24 Nippon Telegraph & Telephone East Corp サービス中継ネットワークシステム及びサービス中継方法
JP2009130838A (ja) * 2007-11-27 2009-06-11 Alaxala Networks Corp パケット中継装置
JP2009209722A (ja) 2008-03-03 2009-09-17 Nissan Motor Co Ltd エンジンの始動制御装置及び始動制御方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542496B1 (en) 1998-06-30 2003-04-01 Hitachi, Ltd. Packet switching method and apparatus thereof
US6726929B1 (en) 1998-12-18 2004-04-27 Basf Aktiengesellschaft Pharmaceutical mixture comprising a profen
US7328349B2 (en) * 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
US20040213237A1 (en) * 2000-06-29 2004-10-28 Toshikazu Yasue Network authentication apparatus and network authentication system
AU2001280818A1 (en) * 2000-07-25 2002-02-05 Peribit Networks, Inc. Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data
US6728929B1 (en) * 2001-02-16 2004-04-27 Spirent Communications Of Calabasas, Inc. System and method to insert a TCP checksum in a protocol neutral manner
JP3963690B2 (ja) * 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US7403999B2 (en) * 2001-12-28 2008-07-22 International Business Machines Corporation Classification support system and method for fragmented IP packets
US7359962B2 (en) * 2002-04-30 2008-04-15 3Com Corporation Network security system integration
US7403542B1 (en) * 2002-07-19 2008-07-22 Qlogic, Corporation Method and system for processing network data packets
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
CN1531282A (zh) * 2003-03-12 2004-09-22 ���µ�����ҵ��ʽ���� 分组中继装置
JP2005175635A (ja) * 2003-12-08 2005-06-30 Nippon Telegr & Teleph Corp <Ntt> ネットワーク間接続制御方法及びシステム装置
JP2005197823A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ファイアウォールとルータ間での不正アクセス制御装置
JP4484663B2 (ja) * 2004-02-02 2010-06-16 株式会社サイバー・ソリューションズ 不正情報検知システム及び不正攻撃元探索システム
US7703138B2 (en) * 2004-12-29 2010-04-20 Intel Corporation Use of application signature to identify trusted traffic
JP4545647B2 (ja) * 2005-06-17 2010-09-15 富士通株式会社 攻撃検知・防御システム
US7856661B1 (en) * 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7664088B2 (en) * 2005-12-08 2010-02-16 Electronics And Telecommunications Research Institute Method for providing QoS using flow label in providing multimedia service in IPv6 network and system applying the same
JP4648182B2 (ja) * 2005-12-19 2011-03-09 富士通株式会社 パケット中継システム
US20070157316A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Managing rogue IP traffic in a global enterprise
US20070220187A1 (en) * 2006-03-20 2007-09-20 Lawrence Kates Virus-resistant computer with data interface for filtering data
CN1921477A (zh) * 2006-09-01 2007-02-28 华为数字技术有限公司 一种对分片报文进行复杂流分类的方法及系统
US20080077793A1 (en) * 2006-09-21 2008-03-27 Sensory Networks, Inc. Apparatus and method for high throughput network security systems
CN104113433B (zh) * 2007-09-26 2018-04-10 Nicira股份有限公司 管理和保护网络的网络操作系统
JP4570652B2 (ja) * 2007-11-02 2010-10-27 日本電信電話株式会社 不正アクセス監視装置およびその方法
US8072894B2 (en) * 2007-11-07 2011-12-06 Juniper Networks, Inc. Systems and methods for flow monitoring
CN101222379B (zh) * 2007-12-13 2010-12-29 东软集团股份有限公司 一种垃圾语音信息的监控方法和装置
US20090252041A1 (en) * 2008-04-03 2009-10-08 Alcatel Lucent Optimized statistics processing in integrated DPI service-oriented router deployments
US7826458B2 (en) * 2009-03-05 2010-11-02 Juniper Networks, Inc. Tracking fragmented data flows
US8588056B1 (en) * 2009-04-15 2013-11-19 Sprint Communications Company L.P. Elimination of unwanted packets entering a restricted bandwidth network
US8495725B2 (en) * 2009-08-28 2013-07-23 Great Wall Systems Methods, systems, and computer readable media for adaptive packet filtering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083051A (ja) * 1998-06-30 2000-03-21 Hitachi Ltd パケット中継方法及びパケット中継装置
JP2006319808A (ja) * 2005-05-13 2006-11-24 Nippon Telegraph & Telephone East Corp サービス中継ネットワークシステム及びサービス中継方法
JP2009130838A (ja) * 2007-11-27 2009-06-11 Alaxala Networks Corp パケット中継装置
JP2009209722A (ja) 2008-03-03 2009-09-17 Nissan Motor Co Ltd エンジンの始動制御装置及び始動制御方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARTIN CASADO, ARCHITECTURAL SUPPORT FOR SECURITY MANAGEMENT IN ENTERPRISE NETWORKS, 24 August 2009 (2009-08-24)
MARTIN CASADO: "Ethane: Taking Control of the Enterprise", ACM SIGCOMM COMPUTER COMMUNICATION REVIEW, vol. 37, no. 4, October 2007 (2007-10-01), pages 1 - 12
NICK MCKEOWN, OPENFLOW: ENABLING INNOVATION IN CAMPUS NETWORKS, 24 August 2009 (2009-08-24)
See also references of EP2477362A4

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2698952A4 (en) * 2011-04-15 2014-12-03 Nec Corp COMPUTER SYSTEM, CONTROL DEVICE AND NETWORK ACCESS POLICY CONTROL PROCEDURE
WO2012141086A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワークアクセスポリシ制御方法
US9065815B2 (en) 2011-04-15 2015-06-23 Nec Corporation Computer system, controller, and method of controlling network access policy
EP2698952A1 (en) * 2011-04-15 2014-02-19 Nec Corporation Computer system, controller, and network access policy control method
CN103621028A (zh) * 2011-04-15 2014-03-05 日本电气株式会社 控制网络访问策略的计算机系统、控制器和方法
JP5660202B2 (ja) * 2011-04-15 2015-01-28 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワークアクセスポリシ制御方法
US9544194B2 (en) 2011-09-09 2017-01-10 Nec Corporation Network management service system, control apparatus, method, and program
JP2014526809A (ja) * 2011-09-09 2014-10-06 日本電気株式会社 ネットワーク管理サービスシステム、制御装置、方法およびプログラム
WO2013035342A1 (en) * 2011-09-09 2013-03-14 Nec Corporation Network management service system, control apparatus, method, and program
US8693344B1 (en) * 2011-09-27 2014-04-08 Big Switch Network, Inc. Systems and methods for generating packet forwarding rules based on network policy
CN104272676A (zh) * 2012-05-01 2015-01-07 日本电气株式会社 通信系统、访问控制装置、交换机、网络控制方法及程序
WO2013164988A1 (ja) * 2012-05-01 2013-11-07 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
JPWO2013164988A1 (ja) * 2012-05-01 2015-12-24 日本電気株式会社 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
US10244537B2 (en) 2012-05-01 2019-03-26 Nec Corporation Communication system, access control apparatus, switch, network control method, and program
KR20170008814A (ko) 2014-05-21 2017-01-24 닛본 덴끼 가부시끼가이샤 통신 장치, 제어 장치, 통신 시스템, 및 송신 제어 방법
US11323862B2 (en) 2016-05-06 2022-05-03 Convida Wireless, Llc Traffic steering at the service layer

Also Published As

Publication number Publication date
CN102577275A (zh) 2012-07-11
JP2015029356A (ja) 2015-02-12
EP2477362A1 (en) 2012-07-18
US20120044935A1 (en) 2012-02-23
CN102577275B (zh) 2016-05-04
EP2477362A4 (en) 2013-12-04
JPWO2011030490A1 (ja) 2013-02-04
US10075338B2 (en) 2018-09-11
US20170063619A1 (en) 2017-03-02
JP5648639B2 (ja) 2015-01-07

Similar Documents

Publication Publication Date Title
JP5648639B2 (ja) 中継制御装置、中継制御システム、中継制御方法及び中継制御プログラム
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
US8837286B2 (en) Communication system, flow control device, flow table updating method, and program
US9065724B2 (en) Managing a flow table
WO2012056816A1 (ja) ネットワークシステム、及び通信トラフィック制御方法
US20130282867A1 (en) Information system, control apparatus, method of providing virtual network, and program
US20160050150A1 (en) Method and system for tracking and managing network flows
US20110310894A1 (en) Network system, network control device and control method
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
US10069648B2 (en) Communication system, control apparatus, communication control method and program
JP5651970B2 (ja) 通信装置、通信制御方法、及び通信制御用プログラム
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JPWO2013039083A1 (ja) 通信システム、制御装置および通信方法
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
JP4669454B2 (ja) データフレーム中継装置、およびデータ通信網における輻輳制御方法
JP4597102B2 (ja) パケット交換装置
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
JP2015095768A (ja) 情報伝送装置、及びプログラム
JP2019029907A (ja) 転送システム、情報処理装置、転送方法及び情報処理方法

Legal Events

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

Ref document number: 201080045695.5

Country of ref document: CN

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

Ref document number: 10815093

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011530730

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2010815093

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE