WO2012066830A1 - 閉路形成未然防止システム、及び閉路形成未然防止方法 - Google Patents

閉路形成未然防止システム、及び閉路形成未然防止方法 Download PDF

Info

Publication number
WO2012066830A1
WO2012066830A1 PCT/JP2011/068116 JP2011068116W WO2012066830A1 WO 2012066830 A1 WO2012066830 A1 WO 2012066830A1 JP 2011068116 W JP2011068116 W JP 2011068116W WO 2012066830 A1 WO2012066830 A1 WO 2012066830A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
packet
flow entry
ofs
field
Prior art date
Application number
PCT/JP2011/068116
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 CN201180053712.4A priority Critical patent/CN103210615B/zh
Priority to JP2012544132A priority patent/JP5435317B2/ja
Priority to EP11840851.7A priority patent/EP2642700A4/en
Priority to US13/824,358 priority patent/US9143447B2/en
Publication of WO2012066830A1 publication Critical patent/WO2012066830A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • 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/04Interdomain routing, e.g. hierarchical routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates to a circuit formation prevention system, and more particularly to a circuit formation prevention system in an open flow network.
  • OpenFlow open flow
  • a controller such as OFC (OpenFlow Controller) controls the behavior of the switch by operating an open flow table (OpenFlow Table) of a switch such as OFS (OpenFlow Switch).
  • OpenFlow Table open flow table
  • OFS OpenFlow Switch
  • the controller and the switch are connected by a secure channel (Secure Channel) for the controller to control the switch using a control message conforming to the OpenFlow protocol.
  • the switches in the OpenFlow network are edge switches and core switches that form the OpenFlow network and are under the control of the controller.
  • a series of packet flows from reception of a packet (communication data) at an input side edge switch to transmission at an output side edge switch in an OpenFlow network is called a flow.
  • the OpenFlow table is a table in which a flow entry (Flow entry) that defines a predetermined action (processing content) to be performed on a packet group (packet series) that conforms to a predetermined rule (match condition) is registered. .
  • the rules of the flow entry are as follows: destination address (Destination Address), source address (Source Address), destination port (Destination Port), source port (Source Port) included in the header area of each protocol layer of the packet Defined and distinguishable by various combinations using any or all.
  • destination address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address).
  • IP address Internet Protocol Address
  • Information on the ingress port (Ingress Port) can also be used as a rule for the flow entry.
  • the action of the flow entry indicates operations such as “output to a specific port”, “discard”, and “rewrite header”. For example, if the identification information (output port number, etc.) of the output port is indicated in the action of the flow entry, the switch outputs a packet to the corresponding port, and if the identification information of the output port is not indicated , Discard the packet. Alternatively, if the header information is indicated in the action of the flow entry, the switch rewrites the header of the packet based on the header information.
  • the switch in the OpenFlow network executes a flow entry action on a packet group that conforms to the flow entry rules.
  • OpenFlow technology is in a transitional period from the research stage to the practical stage. In such a situation, it is not rare to replace the existing legacy network with the OpenFlow network. In most cases (cases), it is normal to replace part of the existing network with one that supports OpenFlow and perform a pilot test in a small-scale environment.
  • OpenFlow network system OpenFlow network system
  • OpenFlow network system OpenFlow network system
  • one OFC 12 manages a plurality of OFSs 11.
  • Each of the small-scale networks is connected to other small-scale networks via the highest-level OFS 11 to form a large-scale network.
  • the host 10-1, the host 10-2, the host 10-3, and the host 10-4 are connected to the OFS 11-2 and OFS 11-3 through a communication line such as a LAN cable, respectively.
  • the OFS 11-2 and OFS 11-3 are each connected to the OFS 11-1 via a communication line such as a LAN cable.
  • the OFC 12-1 performs management such as route calculation and flow entry registration for the OFS 11-1, OFS 11-2, and OFS 11-3.
  • the host 10-5, the host 10-6, the host 10-7, and the host 10-8 are respectively connected to the OFS 11-5 and the OFS 11-6 through a communication line such as a LAN cable.
  • the OFS 11-5 and OFS 11-6 are each connected to the OFS 11-4 via a communication line such as a LAN cable.
  • the OFC 12-2 performs management such as route calculation and flow entry registration for the OFS 11-4, OFS 11-5, and OFS 11-6.
  • the host 10-9, the host 10-10, the host 10-11, and the host 10-12 are connected to the OFS 11-8 and the OFS 11-9, respectively, through communication lines such as LAN cables.
  • the OFS 11-8 and OFS 11-9 are each connected to the OFS 11-7 via a communication line such as a LAN cable.
  • the OFC 12-3 performs management such as route calculation and flow entry registration for the OFS 11-7, OFS 11-8, and OFS 11-9.
  • the OFS 11-1, OFS 11-4, and OFS 11-7 are connected by a LAN cable or the like.
  • the OFC 12-1, the OFC 12-2, and the OFC 12-3 do not have components or processing procedures for exchanging information with each other. That is, for example, there is no component or processing procedure for the OFC 12-1 and the OFC 12-2 to detect what flow entry is registered in the OFS 11-7 by the OFC 12-3.
  • the flow entry is large and includes three fields: a “rule” field (region), an “action” field, and a “statistical information” field.
  • rules such as a packet type, a packet transmission source host address, and a packet transmission destination host address are described.
  • Information such as “IPv4” (Internet Protocol version 4) and “IPv6” (Internet Protocol version 6) is written in the packet type field.
  • action processing content indicating how to process a packet that matches the rule, such as “discard” or “forward to OFS12-n (n is optional)” is described. Is done.
  • statistical information such as the cumulative number of processed packets is recorded.
  • the OFS 21-2, OFC 22-2, host 20-4, host 20-5, OFS 21-4, and OFC 22-4 are assumed to belong to the network 200-2.
  • the host 20-2, the host 20-3, the OFS 21-3, and the OFC 22-3 belong to the network 200-3.
  • the host 20-6, OFS 21-5, and OFC 22-5 are assumed to belong to the network 200-4.
  • the network address “192.168.1.0” is given to the network 200-1. It is assumed that the network address “192.168.2.0” is given to the network 200-2. It is assumed that the network address “192.168.3.0” is given to the network 200-3. It is assumed that a network address “192.168.4.0” is given to the network 200-4. It is assumed that the address “192.168.1.5” is given to the host 20-1. Assume that an address “192.168.3.10” is given to the host 20-2. It is assumed that the address “192.168.3.21” is given to the host 20-3. It is assumed that the address “192.168.4.8” is given to the host 20-6.
  • the host 20-1 issues a packet addressed to the host 20-2, it first transmits it to the OFS 21-1.
  • the OFS 21-1 transfers the packet addressed to the host 20-2 to the OFS 21-2 according to the flow entry.
  • the OFS 21-2 transfers the packet addressed to the host 20-2 to the OFS 21-3 according to the flow entry.
  • the OFS 21-3 transfers the packet addressed to the host 20-2 to the host 20-2 according to the flow entry.
  • the packet addressed to the host 20-2 arrives at the target host. That is, for the packet addressed from the host 20-1 to the host 20-2, a route (route) is established through the OFS 21-1, OFS 21-2, and OFS 21-3.
  • the host 20-4 or the host 20-5 issues a packet addressed to the host 20-6, it first transmits it to the OFS 21-4.
  • the OFS 21-4 transfers the packet addressed to the host 20-6 to the OFS 21-5 according to the flow entry.
  • the OFS 21-5 transfers the packet addressed to the host 20-6 to the host 20-6 according to the flow entry. That is, for packets addressed to the host 20-6 from the host 20-4 or the host 20-5, a route through the OFS 21-4 and OFS 21-5 is established.
  • the OFS 21-3 makes an inquiry to the OFC 22-3 regarding the handling of the packet.
  • the OFC 22-3 does not have a component or processing procedure for detecting how the flow entry is set for the OFS managed by the other OFC.
  • the OFC 22-3 determines that it is appropriate to transfer the packet to the OFS 21-4 based on the route calculation result according to the route calculation routine, A packet addressed to 192.168.3. * Is transferred to the host, and a packet addressed to another address is transferred to OFS 21-4. " In this case, the path 24-1 of “OFS 21-3 ⁇ OFS 21-4” is established. The OFC 22-3 transfers the packet to the OFS 21-4. The OFS 21-4 transfers the packet to the host 20-6 via the OFS 21-5.
  • the OFC 22-3 determines that it is appropriate to transfer the packet to the OFS 21-1 based on the route calculation result according to the route calculation routine, “Flow packets addressed to 192.168.3. * Are transferred to the host. Packets addressed to other addresses are transferred to the OFS 21-1”.
  • the path 24-2 “OFS 21-3 ⁇ OFS 21-1” is established.
  • the OFC 22-3 transfers the packet to the OFS 21-1. Since the packet matches the existing flow entry, the OFS 21-1 transfers the packet to the OFS 21-2.
  • the OFS 21-2 also transfers the packet to the OFS 21-3 because the packet matches an existing flow entry. Since the packet matches the newly registered flow entry, the OFS 21-3 transfers the packet to the OFS 21-1.
  • the closed circuit 25-1 of “OFS 21-1 ⁇ OFS 21-2 ⁇ OFS 21-3 ⁇ OFS 21-1” is formed, it does not arrive at the target host.
  • the OFS 31-1 that has received a packet from the host 30-1 matches the newly registered flow entry and is transferred according to the newly registered flow entry. Arrives at 2.
  • the packet matches the existing flow entry, and is transferred according to the existing flow entry. As a result, the packet returns to the OFS 31-1 via the OFS 31-2 and OFS 31-3. 1, a closed circuit is formed between the OFS 31-2 and the OFS 31-3.
  • the OFS 31-4 that has received a packet from the host 30-2 matches the newly registered flow entry and is transferred according to the newly registered flow entry.
  • the packet matches the existing flow entry and is transferred according to the existing flow entry.
  • the packet returns to OFS 31-6 via OFS 31-7 and OFS 31-8. Therefore, a closed circuit is formed between OFS 31-6, OFS 31-7, and OFS 31-8.
  • the “single controller system” shown in FIG. 5 has a configuration in which OFC 12-1, OFC 12-2, and OFC 12-4 that controls OFC 12-3 are added to the elements shown in FIG.
  • the OFC 12-1 makes an inquiry to the OFC 12-4 when calculating the packet path.
  • the OFC 12-4 takes into account the path already set by the OFC 12-3 and the OFC 12-4, and notifies the OFC 12-2 of a flow entry that does not form a closed path.
  • the “route calculation device cooperation method” shown in FIG. 6 includes, in addition to the elements in FIG. 1, a route calculation unit 121-1 that operates on the OFC 12-1, a route calculation unit 121-2 that operates on the OFC 12-2, In addition, the route calculation unit 121-3 operating on the OFC 12-3 exchanges information on the set flow entries with each other and adds a mechanism that can be used for route calculation. In this configuration, for example, the OFC 12-1 inquires of the OFC 12-2 and the OFC 12-3 for information on related flow entries when calculating the packet path.
  • the “path computation device cooperation method” when the network scale increases, the number of OFCs to communicate with and the number of path information received from each OFC become enormous. In addition, since a combination of these calculations is required, there is a problem that the load on the OFC 12-1 increases.
  • An object of the present invention is to provide a closed circuit formation prevention system that checks the formation of a closed circuit in advance using a test packet in an open flow network and reflects the result in flow entry registration.
  • a closed loop formation prevention system includes a host that issues a packet, a switch that receives the packet and forwards the packet according to a flow entry registered in the flow table, and a flow table that responds to an inquiry from the switch. And a controller for registering a flow entry.
  • the switch confirms (checks) whether the received packet is a test packet, and if the received packet is not a test packet, whether there is a flow entry that matches the received packet in the existing flow entries in the flow table.
  • a processing unit for confirming whether there is no flow entry matching the received packet a processing unit for inquiring of the controller, a processing unit for generating a test packet based on the flow entry temporarily registered from the controller, and a received packet , And in accordance with the flow entry temporarily registered from the controller, the test packet is transferred, and the processing unit that starts a test for detecting the formation of a circuit, and if the circuit formation is detected as a result of the test, the controller temporarily registers And a processing unit that discards the flow entry.
  • the circuit formation prevention method according to the present invention is implemented by a switch that transfers a packet in accordance with a flow entry registered in a flow table.
  • it is confirmed whether or not the received packet is a test packet. If the received packet is not a test packet, it is checked whether there is a flow entry that matches the received packet in the existing flow entries in the flow table. If there is no flow entry that matches the received packet, the controller is inquired. A test packet is generated based on the temporarily registered flow entry from the controller. The received packet is suspended, a test packet is transferred according to the flow entry temporarily registered from the controller, and a test for detecting the formation of a closed circuit is started. As a result of the test, if the formation of a closed circuit is detected, the flow entry temporarily registered from the controller is discarded.
  • the program according to the present invention includes a step of confirming whether or not a received packet is a test packet, and if the received packet is not a test packet, a flow entry that matches the received packet among existing flow entries registered in the flow table A step for checking whether there is a flow entry that matches the received packet, a step for transferring the received packet according to the flow entry, and a step for inquiring the controller if there is no flow entry that matches the received packet. And a step of generating a test packet based on the flow entry temporarily registered from the controller, and holding the received packet, transferring the test packet according to the flow entry temporarily registered from the controller, and detecting a closed circuit formation.
  • the program according to the present invention can be stored in a storage device or a storage medium.
  • controllers such as OFC to cooperate with each other, and the formation of a closed circuit can be prevented.
  • FIG. 1 It is a figure which shows the structural example of an OpenFlow network system. It is a figure for demonstrating the format of the conventional flow entry. It is a figure for demonstrating the condition where a closed circuit may be comprised in the structure of an open flow network system. It is a figure which shows the pattern 1 of a circuit. It is a figure which shows the pattern 2 of a circuit. It is a figure for demonstrating the conventional single controller system. It is a figure for demonstrating the conventional route calculation apparatus cooperation system. It is a figure for demonstrating the format of the flow entry in this invention. It is a figure for demonstrating the format of the test packet in this invention. It is a figure for demonstrating the test in this invention, success / failure determination, and result reflection.
  • one OFC 12 manages a plurality of OFSs 11.
  • Each of the small-scale networks is connected to other small-scale networks via the highest-level OFS 11 to form a large-scale network.
  • FIG. 7 shows a flow entry format used in the present invention.
  • the flow entry in the present invention is obtained by expanding the flow entry of FIG. 2 and adding a “test ID” field.
  • the flow entry in the present invention is large and has four fields: a “rule” field, an “action” field, a “statistical information” field, and a “test ID” field.
  • rules such as a packet type, a packet transmission source host address, and a packet transmission destination host address are described.
  • Information such as “IPv4” (Internet Protocol version 4) and “IPv6” (Internet Protocol version 6) is written in the packet type field.
  • action processing content indicating how to process a packet that matches the rule, such as “discard” or “forward to OFS12-n (n is optional)” is described. Is done.
  • statistical information such as the cumulative number of processed packets is recorded.
  • Test ID In the “Test ID” field, “Test ID” that can uniquely identify the test is written.
  • FIG. 8 shows the format of the test packet used in the present invention.
  • IPv4 IP Multimedia Subsystem
  • the test packet has a basic header part and a test data part.
  • the test packet includes a “service type” (TOS: Type Of Service) field and a “protocol” (Protocol) field in the basic header part.
  • service type TOS: Type Of Service
  • provision Protocol
  • the “service type” field has a size capable of storing a “service type” that can uniquely identify an important service when a packet is transferred.
  • the “Protocol” field has a size that can store a “Protocol Number” that can uniquely identify the upper protocol.
  • the “service type” field and the “protocol” field represent a cycle detection test packet according to the present invention by a combination of the values of the respective fields. That is, the “service type” field and the “protocol” field are used for determining whether or not the circuit packet is a test packet for detecting a closed circuit according to the present invention.
  • test packet includes a “test ID” field, a “test success / failure flag” field, and a “passed OFS information” field in the test data portion.
  • the “test ID” field has a size capable of storing a “test ID” that can uniquely identify a test.
  • the OFC generates a unique “test ID” from the MAC address and time of the OFC.
  • the “test success / failure flag” field includes “0” indicating that the test has not been completed, “1” indicating that the test has been completed successfully, “2” indicating that the test has failed, and the lifetime of the packet ( It is assumed that it has a size (for example, 2 bits) that can express four states of “3” indicating that routing has not been completed due to expiration.
  • the “passed OFS information” field has a size capable of storing a plurality of MAC addresses and port numbers.
  • the MAC address and port number are address information for one OFS. That is, each OFS has one set of MAC address and port number.
  • the MAC address of the OFS through which the test packet passed during the test is stored in order.
  • the “passing OFS information” field can store as many address information as indicated by the value of the “time to live” (TTL) field in the basic header part. That is, the upper limit of the number of address information entries in the “passed OFS information” field is indicated by the value of the “survival time” field.
  • TTL time to live
  • the host 40-1, OFS 41-1 and OFS 41-2 belong to the network 400-1, and the OFC 42-1 manages the OFS 41-1 and OFS 41-2.
  • the OFS 41-3 belongs to the network 400-2, and the OFC 42-2 manages the OFS 41-3.
  • the host 40-2, OFS 41-4, and OFS 41-5 belong to the network 400-3, and the OFC 42-3 manages the OFS 41-4 and OFS 41-5.
  • Step A01 The host 40-1 transmits a packet addressed to the host 40-2 to the OFS 41-1.
  • the OFS 41-1 determines whether there is a flow entry in the flow entry registered in the flow table that matches the value of the transfer destination address / transfer source address described in the packet.
  • the OFS 41-1 makes an inquiry to the OFC 42-1 because there is no flow entry in the existing flow entry that matches the value of the transfer destination address / transfer source address described in the packet.
  • the OFC 42-1 does not have a component or processing procedure for detecting what flow entry is set in the network 400-2 and the network 400-3.
  • the OFC 42-1 calculates a route according to the route calculation routine. When the OFC 42-1 registers the calculation result in the OFS 41-1 as a flow entry, the OFC 42-1 sets this flow entry as a temporary registration flow entry.
  • the OFC 42-1 records data indicating content such as “TESTFORWARD” in the “action” field of the flow entry of temporary registration so that it can be determined that it is temporary registration. To do. Further, the OFC 42-1 generates a unique “test ID” from the MAC address and time of the OFC 42-1 and stores the “test ID” in the “test ID” field.
  • the OFS 41-1 temporarily holds a packet originally received from the host 40-1.
  • the OFS 41-1 generates a test packet according to the format shown in FIG.
  • the OFS 41-1 stores values that can be identified as a packet (test packet) used in the circuit closing test in the “service type” field and the “protocol” field of the basic header part.
  • the OFS 41-1 transcribes the value originally written in the received packet in the “survival time” field of the basic header part.
  • the OFS 41-1 stores the “test ID” generated by the OFC 42-1 (that is, the “test ID” described in the temporarily registered flow entry) in the “test ID” field of the test data section. It shall be.
  • the OFS 41-1 stores a value (for example, “0”) indicating that the test is incomplete status in the “test success / failure flag” field of the test data portion. Further, the OFS 41-1 stores the MAC address and port number values of the OFS 41-1 in the “passed OFS information” field of the test data section.
  • Step A04 The OFS 41-1 transfers the test packet generated as described above to the OFS 41-2 according to the temporarily registered flow entry.
  • Step A05 The OFS 41-2 detects that the test packet has arrived by checking the service type and protocol type values of the arrived packet.
  • the OFS 41-2 adds the MAC address and port number values of the OFS 41-2 to the “passed OFS information” field of the test data portion of the test packet.
  • the OFS 41-2 determines whether there is a flow entry in the existing flow entry of its own flow table that matches the transfer destination address / transfer source address value of the test packet.
  • the OFS 41-2 since the OFS 41-2 has a flow entry in which the value of the transfer destination address / transfer source address of the test packet matches among the existing flow entries in its own flow table, the “test ID” of the flow entry.
  • test ID the same value as that in the “test ID” field of the test packet is written in the field. If the same value as the “test ID” field of the test packet is not written in the “test ID” field of the flow entry, the OFS 41-2 displays the test packet in the “test ID” field of the flow entry. Enter the value (test ID) written in the “Test ID” field. Since the OFS 41-2 already has the same value as the “test ID” field of the test packet in the “test ID” field of the flow entry, a cycle has been formed. The test is completed as a test failure. Here, the test is continued assuming that the test is not failed.
  • Step A06 The OFS 41-2 transfers the test packet to the OFS 41-3 according to the matched existing flow entry.
  • Step A07 The OFS 41-3 detects that the test packet has arrived by checking the service type and protocol type values of the arrived packet.
  • the OFS 41-3 adds the MAC address and port number values of the OFS 41-3 to the “passed OFS information” field of the test packet.
  • the OFS 41-3 determines whether there is a flow entry that matches the transfer destination address / transfer source address value of the test packet in the existing flow entries of its own flow table.
  • Step A08 The OFS 41-3 does not have a flow entry whose test packet transfer destination address and transfer source address match among the existing flow entries in its own flow table, so it temporarily sets the flow entry setting in the OFC 42-2. Ask.
  • the OFC 42-2 calculates a route by a route calculation routine provided. When the OFC 42-2 registers the calculation result in the OFS 41-3 as a flow entry, the OFC 42-2 sets this flow entry as a temporary registration flow entry.
  • the OFC 42-2 describes data such as “TESTFORWARD” in the “action” field of the temporary registration flow entry so that it can be determined that the registration is temporary.
  • data such as “TESTFORWARD” in the “action” field of the temporary registration flow entry
  • Step A09 The OFS 41-3 stores the value written in the “test ID” field of the test packet in the “test ID” field of the temporarily registered flow entry.
  • Step A10 The OFS 41-3 transfers the test packet to the OFS 41-4 according to the temporarily registered flow entry.
  • Step A11 The OFS 41-4 detects the arrival of the test packet by checking the service type and protocol type values of the arrived packet.
  • the OFS 41-4 adds the MAC address and port number values of the OFS 41-4 to the “passed OFS information” field of the test test packet.
  • the OFS 41-4 determines whether there is any flow entry in the existing flow entry of its own flow table that matches the transfer destination address / transfer source address value of the test packet.
  • OFS 41-4 since there is a matching flow entry, OFS 41-4 has the same value as the “test ID” field of the test packet in the “test ID” field of the flow entry, as in step A05. Check for it.
  • the OFS 41-4 displays the test packet in the “test ID” field of the flow entry. Enter the value written in the “Test ID” field. Since the OFS 41-4 already has the same value as the “test ID” field of the test packet in the “test ID” field of the flow entry, a cycle has been formed. The test is completed as a test failure. Here, the test is continued assuming that the test is not failed.
  • Step A12 The OFS 41-4 transfers the test packet to the OFS 41-5 according to the matched existing flow entry.
  • Step A13 The OFS 41-5 detects the arrival of the test packet by checking the service type and protocol type values of the arrived packet.
  • the OFS 41-5 adds the MAC address and port number values of the OFS 41-4 to the “passed OFS information” field of the test test packet.
  • the OFS 41-5 determines whether there is a flow entry that matches the value of the transfer destination address / transfer source address of the test packet among the existing flow entries of its own flow table.
  • OFS 41-5 since there is a matching flow entry, OFS 41-5 has the same value as the “test ID” field of the test packet in the “test ID” field of the flow entry, as in steps A05 and A11. Check if it is not marked.
  • the OFS 41-5 displays the test packet in the “test ID” field of the flow entry. Enter the value written in the “Test ID” field. Since the OFS 41-5 already has the same value as the “test ID” field of the test packet in the “test ID” field of the flow entry, a cycle has been formed. The test is completed as a test failure. Here, the test is continued assuming that the test is not failed.
  • Step A14 The OFS 41-5 transfers the test packet to the host 40-2 according to the matched existing flow entry.
  • Steps A01 to A14 in (A) are examples of cases (cases) in which no closed circuit is generated.
  • step A13 and step A14 since it can be determined that the OFS can be transferred to a host different from the transmission source host, the test is successful at this point, and the test is successful in the “test success / failure flag” field of the test packet. It is assumed that a value “1” indicating completion is stored.
  • test ID the test ID
  • the OFS stores a value “2” indicating that the test has failed and completed in the “test success / failure flag” field of the test packet.
  • TTL time to live
  • the lifetime (expiration date) of the packet has expired.
  • a value for example, “3” indicating failure due to expiration of the lifetime (expiration date) is stored. This case will be described separately in the “OFS processing routine” (see FIG. 10A) described later.
  • the OFS reflects the test result in the test packet and the flow entry as described above.
  • the OFS transfers the test packet to the OFS having the MAC address based on the MAC address described at the end of the “passed OFS information” field of the test data portion of the test packet. .
  • the destination OFS also performs cleanup processing. By repeating this, the test packet is finally in a state where no MAC address is described. At this time, the test packet has returned to the generation source OFS.
  • the OFS is a flow entry in which the packet that has been pending in the OFS is registered as shown in (A), (B), and (C) above. Transfer according to. If the test fails, the OFS discards the pending packet and returns an error to the OFC that has performed the route calculation.
  • the embodiments (A), (B), and (C) can be realized by the flow entry shown in FIG. 7, the test packet shown in FIG. 8, and the OFS processing routine shown in FIGS. 10A to 10C. .
  • the OFS processing routine is implemented as firmware (FW: Firmware).
  • OFS processing routine The OFS processing routine will be described with reference to FIGS. 10A, 10B, and 10C.
  • Step B01 When the OFS receives the packet, it checks (checks) whether the packet is a test packet by referring to the “service type” and “protocol” in the header of the packet.
  • Step B02 If the received packet is not a test packet, the OFS has a matching flow entry in the existing flow entry of its own flow table based on the “source address” and “destination address” in the header of the packet. Determine if there is any.
  • Step B03 If there is a matching flow entry, the OFS performs processing such as transfer according to the entry.
  • Step B04 If there is no matching flow entry, OFS queries the OFC for the route.
  • the OFC calculates a route and generates a test ID.
  • Step B05 The OFC temporarily registers a flow entry in the OFS based on the calculation result.
  • the OFC describes in the “action” field of the flow entry that the transfer is based on temporary registration.
  • the OFC records the generated test ID in the “test ID” field of the flow entry.
  • Step B06 OFS generates a test packet.
  • the generation of the test packet is as described in step A03.
  • Step B07 The OFS retains the originally received packet as pending, and transfers the test packet generated in step B06 according to the flow entry temporarily registered in step B05. As a result, the test has started.
  • Step B08 In step B01, if the received packet is a test packet, the OFS determines whether the test process or the test result reflection process is being performed with reference to the value of the test success / failure flag.
  • Step B09 In step B08, if the value is not set in the “test success / failure flag” field (or the value is 0), OFS determines that the test process is being performed, and the value of the “survival time” field is 0. Check whether or not.
  • Step B10 If the value of the “survival time” field is 0 in step B09, the OFS determines that the lifetime of the packet (expiration date) has expired.
  • Step B11 In step B09, if the value of the “time to live” field is not 0, the OFS uses the “source address” and “destination address” in the header of the packet to change the existing flow entry of its own flow table. Determine if there is a matching flow entry in it.
  • Step B12 If there is a matching flow entry in step B11, OFS determines whether or not the “test ID” field of the flow entry has the same value as the value written in the “test ID” field of the test packet. Check.
  • Step B13 If the same value is found in step B12, OFS has detected a closed circuit and determines that the test has failed.
  • Step B14 If the same value does not exist in step B12, the OFS determines that a closed circuit is not formed at this stage, and checks whether the transfer destination of the flow entry is a host.
  • Step B15 In step B14, when the transfer destination of the flow entry is the host, OFS determines that the test has succeeded because it has detected that the circuit is not formed and routing is possible.
  • Step B16 The OFS stores a value representing the test result in the “test success / failure flag” field of the test packet.
  • the OFS stores “3” indicating failure due to expiration of the lifetime (expiration date) in step B10 in the “test success / failure flag” field of the test packet.
  • the OFS stores “2” indicating failure due to the formation of a closed circuit in the “test success / failure flag” field of the test packet.
  • the OFS stores “1” indicating success in the “test success / failure flag” field of the test packet when it has passed through step B15.
  • Step B17 The OFS refers to the MAC address at the end of the “passed OFS information” field in the test data portion of the test packet, transfers the test packet to the previous OFS, and completes the test at this point.
  • Step B18 If there is no matching flow entry in step B11, the OFS inquires about the path from the OFC. The OFC calculates the route.
  • Step B19 The OFC temporarily registers a flow entry in the OFS based on the calculation result.
  • the OFC describes in the “action” field of the flow entry that the transfer is based on temporary registration.
  • Step B20 OFS stores the test ID in the flow entry. At this time, if another flow entry is already stored, it means that another test is being executed. Usually, since the test is completed in a short time, the test waits for the test to be completed, and after the existing test ID is deleted by the cleanup process, the test ID of the test packet is stored.
  • the OFS writes the value written in the “test ID” field of the test packet in the “test ID” field of the matched flow entry. Further, when passing through step B19, OFS writes the value written in the “test ID” field of the test packet in the “test ID” field of the temporarily registered flow entry.
  • Step B21 The OFS describes the MAC address and port number of its own OFS in the “passed OFS information” field of the test packet, subtracts 1 from the value of the “survival time” field of the test packet, and transfers it according to the entry.
  • step B08 when a value indicating a test success or a value indicating a test failure is set in the “test success / failure flag” field (when a value other than 0 is set), This means that the reflection process is in progress.
  • OFS when the MAC address at the end of the “passed OFS information” field of the test data part of the test packet is viewed, the MAC address of the OFS should be described. OFS deletes its own MAC address from the end of the “passed OFS information” field in the test data portion of the test packet.
  • Step B23 Of the flow entries registered in its own flow table, OFS selects a flow entry in which the same value as the value written in the “test ID” field of the test packet is written in the “test ID” field. look for.
  • Step B24 The OFS refers to the “action” field of the found flow entry and determines whether the flow entry is a temporarily registered flow entry or a fully registered flow entry.
  • Step B25 If the result of step B24 is that the flow entry is a temporarily registered flow entry, OFS refers to the “test success / failure flag” of the test packet.
  • Step B26 If the result of step B25 is that the value indicating the success of the test is entered in the “test success / failure flag” field, the OFS updates the temporary registration flow entry to the main registration flow entry. That is, the OFS updates the data indicating the temporary registration described in the “action” field of the flow entry to the data indicating the main registration. For example, the OFS may delete the data indicating the provisional registration from the “action” field of the flow entry.
  • Step B27 If the result of step B25 is that the value indicating test failure is entered in the “test success / failure flag” field, OFS deletes the flow entry.
  • Step B28 If the result of step B24 is that the flow entry is a main registration flow entry, OFS describes in the “test ID” field of the test packet from the “test ID” field of the flow entry, regardless of whether the test is successful. The value of the test ID that has been set is deleted.
  • Step B29 The OFS refers to the “passed OFS information” field in the test data part of the test packet and confirms whether there is one or more MAC addresses.
  • Step B30 If there is one or more MAC addresses in step B29, the OFS transfers the test packet to the OFS having the MAC address at the end of the “passed OFS information” field.
  • Step B31 If there is no MAC address in step B29, it means that the test packet generator OFS has been returned.
  • the OFS refers to the “test success / failure flag” field of the test packet and confirms the success / failure of the test.
  • Step B32 If the test is successful in step B31, the OFS transfers the packet that was pending in step B07 according to the flow entry. The OFS discards the test packet.
  • Step B33 If the test fails in step B31, the OFS discards the pending packet in step B07 and returns an error to the OFC. The OFS discards the test packet.
  • the formation of a closed circuit can be checked in advance using a test packet, and the result can be reflected in the flow entry registration. Therefore, it is not necessary for controllers such as OFC to cooperate with each other, and the formation of a closed circuit can be prevented in advance.
  • the test packet confirmation unit 111 confirms whether or not the received packet is a test packet.
  • the flow entry confirmation unit 112 confirms whether there is a flow entry that matches the received packet in the existing flow entries of the flow table.
  • test packet confirmation unit 111 the flow entry confirmation unit 112
  • inquiry processing unit 113 the inquiry processing unit 113
  • test packet generation unit 114 the test packet generation unit 114
  • test execution unit 115 the temporary registration flow entry discard unit 116
  • test packet generator Details of the test packet generator 114 will be described with reference to FIG.
  • the test packet generation unit 114 includes a field setting unit 1141, a test packet discrimination information management unit 1142, a TTL management unit 1143, a test ID management unit 1144, a test result information initialization unit 1145, and a passing OFS information management unit 1146. Is provided.
  • the field setting unit 1141 When the field setting unit 1141 generates a test packet, the field setting unit 1141 provides a basic header part and a test data part in the test packet.
  • the test packet discrimination information management unit 1142 stores a value indicating that it is a test packet in the service type field and the protocol type field of the basic header part.
  • the TTL management unit 1143 transcribes the value written in the received packet in the lifetime field of the basic header part.
  • the test result information initialization unit 1145 stores a value indicating that the test has not been completed in the test success / failure flag field of the test data portion.
  • test execution unit 115 Details of the test execution unit 115 will be described with reference to FIG.
  • the test execution unit 115 includes a test success / failure flag confirmation unit 1151, a TTL confirmation unit 1152, a test ID confirmation unit 1153, a transfer destination confirmation unit 1154, a test result information management unit 1155, and a test packet transfer unit 1156.
  • the test success / failure flag confirmation unit 1151 confirms the value of the test success / failure flag field of the test packet, and the value of the test success / failure flag field of the test packet is not set or the value is 0. If it is, it is determined that the test process is in progress.
  • the TTL confirmation unit 1152 confirms whether or not the value of the survival time field is 0 when the test process is being performed. If the value of the survival time field of the test packet is 0, the TTL confirmation unit 1152 determines that the packet has expired and determines that the test has failed. If the value of the lifetime field of the test packet is not 0, the TTL confirmation unit 1152 cooperates with the flow entry confirmation unit 112 in FIG. 11 to match the test packet in the existing flow entry of the flow table. Check if there is a flow entry.
  • test ID confirmation unit 1153 confirms whether the test ID field of the flow entry has the same value as the value written in the test ID field of the test packet. If the same value exists, it is determined that a closed circuit has been formed, and it is determined that the test has failed.
  • the transfer destination confirmation unit 1154 determines that no closed circuit is formed at this stage, confirms whether the transfer destination of the flow entry is a host, and transfers the transfer entry of the flow entry. Is a host, it is determined that the test is successful because it is determined that the route is not formed and that routing is possible.
  • the test result information management unit 1155 stores a value representing the test result in the test success / failure flag field of the test packet.
  • test packet is not registered
  • processing when a test packet is not registered will be described.
  • the TTL management unit 1143 in FIG. 12 subtracts 1 from the value of the lifetime field of the test packet.
  • the test packet transfer unit 1156 in FIG. 13 transfers the test packet according to the flow entry and continues the test.
  • the passing OFS information management unit 1146 in FIG. 12 starts from the end of the passing OFS information field of the test packet.
  • the flow entry confirmation unit 112 in FIG. 11 has a flow entry in which the same value as the value written in the test ID field of the test packet is entered in the test ID field among the flow entries registered in the flow table. Search for. With reference to the action field of the detected flow entry, it is determined whether the flow entry is a temporarily registered flow entry or a fully registered flow entry. When the flow entry is a temporarily registered flow entry, the test success / failure flag of the test packet is referred to in cooperation with the test success / failure flag confirmation unit 1151 of FIG. If the test success / failure flag field of the test packet contains a value indicating the test success, the flow entry is updated to the flow entry of the main registration.
  • test success / failure flag field of the test packet contains a value indicating test failure
  • the flow entry is deleted.
  • the test ID field of the flow entry is changed from the test ID field of the flow entry to the test ID field of the test packet in cooperation with the test ID management unit 1144 of FIG. Delete the test ID value listed.
  • the test packet transfer unit 1156 in FIG. 13 refers to the passing OFS information field of the test packet and confirms whether there is one or more MAC addresses.
  • the test ID generation unit 122 generates a test ID that can uniquely identify a test.
  • VM Virtual Machine
  • a network switch is assumed.
  • the network switch include an L3 switch (layer 3 switch), an L4 switch (layer 4 switch), an L7 switch / application switch (layer 7 switch), a multi-layer switch (multi-layer switch), and the like.
  • a control device / security monitoring control device (gatekeeper), a base station (base station), an access point (AP), a communication satellite (CS), or a computer having a plurality of communication ports may be considered.
  • processors include a CPU (Central Processing Unit), a network processor (NP: Network Processor), a microprocessor (microprocessor), a microcontroller, or a semiconductor integrated circuit (IC: Integrated Circuit) having a dedicated function. Conceivable.
  • CPU Central Processing Unit
  • NP Network Processor
  • microprocessor microprocessor
  • microcontroller or a semiconductor integrated circuit (IC: Integrated Circuit) having a dedicated function. Conceivable.
  • semiconductor storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable and Programmable Read Only Memory), and HDD Memory (SDHidK)
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • HDD Memory HDD Memory
  • An auxiliary storage device such as State Drive
  • a removable disk such as a DVD (Digital Versatile Disk)
  • a storage medium such as an SD memory card (Secure Digital memory card), or the like
  • a buffer or a register may be used.
  • DAS Direct Attached Storage
  • FC-SAN Fibre Channel-Storage Area Network
  • NAS Network Attached Storage
  • IP-SAN IP-Storage Area
  • processor and the memory may be integrated.
  • a single chip such as a microcomputer has been developed. Therefore, a case where a one-chip microcomputer mounted on an electronic device or the like includes the processor and the memory can be considered.
  • Examples of the above interfaces include semiconductor integrated circuits such as substrates (motherboards, I / O boards) and chips that support network communication, network adapters such as NIC (Network Interface Card), and similar expansion cards, communication devices such as antennas, etc.
  • a communication port such as a connection port (connector) is conceivable.
  • networks include the Internet, LAN (Local Area Network), wireless LAN (Wireless LAN), WAN (Wide Area Network), backbone (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like are conceivable.
  • a virtual machine Virtual Machine (VM) may also be used.
  • VM Virtual Machine
  • the present invention prevents the formation of a closed circuit in an open flow network.
  • a plurality of networks in which one OFC manages a plurality of OFS, and a combination of these networks forms a large network. Registration of flow entries that form a closed circuit is prevented without requiring components and processing procedures that are linked to each other.
  • the route evaluation is performed using the temporarily registered flow entry and test packet.
  • the component and processing procedure for monitoring the behavior of the test packet or the component and processing procedure for collecting and analyzing the result are not required for route evaluation, and only the interaction between the test packet and the OFS group is required. Thus, it can be carried out autonomously from the start of the test to the determination of the test result and the reflection of the test result.
  • the present invention can be realized only by updating the OFC software and updating the OFS firmware.
  • the present invention can be used for a circuit formation test in an open flow network system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 1個のOFC(OpenFlow Controller)が複数のOFS(OpenFlow Switch)を管理するネットワークが複数あり、それらの組み合わせにより大きなネットワークが形成されているオープンフローネットワークシステムにおいて、複数あるOFC同士が相互に連携する構成要素や処理手順を必要とせず、閉路を形成するようなフローエントリの登録を未然に防止する。具体的には、OFCは、経路計算後、その計算結果のフローエントリをOFSのフローテーブルにテスト用のフローエントリとして仮登録する。その後、OFSは、この仮登録フローエントリに従ってテストパケットを流す。OFSは、テストパケットがループせずにルーティングされた場合にそれを検出し、初めて当該フローエントリを本登録する。OFSは、テストパケットがループした場合(閉路を形成した場合)にもそれを検出し、仮登録フローエントリを削除し、OFCに対しエラーを返す。

Description

閉路形成未然防止システム、及び閉路形成未然防止方法
 本発明は、閉路形成未然防止システムに関し、特にオープンフロー(OpenFlow)ネットワークにおける閉路形成未然防止システムに関する。
 ネットワーク通信の経路制御方式の1つとして、通信機器の制御プロトコルであるオープンフロー(OpenFlow)技術を使用した経路制御方式が研究されている。オープンフロー技術による経路制御が行われるネットワークを、オープンフローネットワークと呼ぶ。
 オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのオープンフローテーブル(OpenFlow Table)を操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
 オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット(通信データ)の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
 オープンフローテーブルとは、所定のルール(マッチ条件)に適合するパケット群(パケット系列)に対して行うべき所定のアクション(処理内容)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
 フローエントリのルールは、パケットの各プロトコル階層のヘッダ(header)領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組合せにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。
 フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 オープンフローネットワークにおけるスイッチは、フローエントリのルールに適合するパケット群に対して、フローエントリのアクションを実行する。
 オープンフロー技術の詳細については、非特許文献1、2に記載されている。
 現在のところ、オープンフロー技術は、研究段階から実用段階への過渡期にある。このような状況においては、既存のレガシーネットワークを一括してオープンフローネットワークに置き換えることは余りない。大半の事例(ケース)において、既存ネットワークの一部をオープンフロー対応のものに置き換え、小規模環境にてパイロットテストを行うのが通常である。
 また、このようなパイロットテストには大きな予算は投入されず、限られた予算で実施されるのが普通である。このような状況において、既存技術の「単一コントローラ方式」では新たなOFCを一台用意する必要があり、コスト上の障害となっていた。
 また、パイロットテストの段階では、多種多様なベンダからOFCやOFSを調達して、ベンチマークをとるのが普通である。しかしながら、既存技術の「経路計算装置連携方式」では、経路計算装置の通信規格が現時点で統一されていないため、そもそも多種多様なベンダの製品が混在するネットワークを構築できないという障害があった。
 また、一方で、現状におけるオープンフローネットワーク環境(オープンフローネットワークシステム)は、パイロットテスト目的の小規模環境が大半であることから、大規模環境で生じうる問題に対し、十分な考慮がされていない状況でもある。
 このような状況から、新規の装置を必要とせず、また、各種ベンダのOFC/OFSが混在可能で、大規模ネットワークとなっても軽量な処理で、閉路(ループ)の形成を未然防止する手法が望まれていた。
 [ネットワークの構成例]
 従来の課題を説明するに当たり、まず、図1を用いて、オープンフローネットワークシステムの構成例について説明する。
 図1に示されたオープンフローネットワークシステムでは、1個のOFCが複数のOFSを管理する小規模ネットワークが複数あり、それらの組み合わせにより、大規模ネットワークが形成されている。
 当該オープンフローネットワークシステムは、ホスト(host computer)10(10-i、i=1~x:xは総台数)と、OFS11(11-j、j=1~y:yは総台数)と、OFC12(12-k、k=1~z:zは総台数)を含む。
 小規模ネットワークでは、1個のOFC12が複数のOFS11を管理している。小規模ネットワークの各々は、最上位のOFS11を介して、他の小規模ネットワークと接続し、大規模ネットワークを形成する。
 ホスト10-1、ホスト10-2、ホスト10-3、及びホスト10-4は、それぞれOFS11-2及びOFS11-3にLANケーブル等の通信回線で接続されている。OFS11-2及びOFS11-3は、それぞれLANケーブル等の通信回線でOFS11-1に接続されている。OFC12-1は、OFS11-1、OFS11-2、及びOFS11-3に対する経路計算やフローエントリ登録等の管理を行うものとする。同様に、ホスト10-5、ホスト10-6、ホスト10-7、及びホスト10-8は、それぞれOFS11-5及びOFS11-6にLANケーブル等の通信回線で接続されている。OFS11-5、OFS11-6は、それぞれLANケーブル等の通信回線でOFS11-4に接続されている。OFC12-2は、OFS11-4、OFS11-5、及びOFS11-6に対する経路計算やフローエントリ登録等の管理を行うものとする。同様に、ホスト10-9、ホスト10-10、ホスト10-11、及びホスト10-12は、それぞれOFS11-8及びOFS11-9にLANケーブル等の通信回線で接続されている。OFS11-8及びOFS11-9は、それぞれLANケーブル等の通信回線でOFS11-7に接続されている。OFC12-3は、OFS11-7、OFS11-8、及びOFS11-9に対する経路計算やフローエントリ登録等の管理を行うものとする。OFS11-1、OFS11-4、及びOFS11-7は、LANケーブル等により接続されている。
 本構成において、OFC12-1とOFC12-2とOFC12-3は、相互に情報をやり取りする構成要素や処理手順を持たない。すなわち、例えば、OFC12-3が、OFS11-7にどのようなフローエントリを登録したのかを、OFC12-1とOFC12-2が検知する構成要素や処理手順はないということである。
 [フローエントリの形式]
 OFS12(12-j、j=1~y)の各々には、図2で示される形式のフローエントリが複数登録されている。
 [従来のフローエントリの形式]
 図2に示すように、フローエントリは、大きく、「ルール」フィールド(領域)、「アクション」フィールド、「統計情報」フィールドの3つのフィールドを有する。
 「ルール」フィールドには、パケット種別、パケット送信元ホストアドレス、パケット送信先ホストアドレス等のルール(マッチ条件)が記される。パケット種別のフィールドには、「IPv4」(Internet Protocol version 4)や「IPv6」(Internet Protocol version 6)等の情報が記される。
 「アクション」フィールドには、「破棄」や「OFS12-n(nは任意)に転送」等、ルールに合致するパケットを受け取った際にどのように処理するかを示すアクション(処理内容)が記される。
 「統計情報」フィールドには、処理したパケットの累計数等の統計情報が記される。
 第1の例として、あるOFSにおいて、「ルール」フィールドに発信元として「192.168.10.*」、アクションとして「破棄」と記されたフローエントリがフローテーブルに登録されている場合を考える。なお、「*」は、ワイルドカード(wild card)であり、任意の長さの任意の文字(0文字以上の文字列)を意味する。すなわち、「*」の部分は、何でも良い。この場合、受信パケットの送信元IPアドレスの先頭に「192.168.10」の部分が含まれていれば、当該受信パケットは、当該フローエントリとマッチすることになる。当該OFSに、「192.168.10.34」からのパケットが到着した場合、そのパケットは、当該フローエントリにマッチし、破棄処理が行われる。
 第2の例として、あるOFSにおいて、「ルール」フィールドに発信元として「*.*.*.*」、発信先として「192.168.20.*」、アクションとして「OFS12-nに転送「と記されたフローエントリがフローテーブルに登録されている場合を考える。当該OFSに「192.168.10.23」から「192.168.20.25」宛に発行されたパケットが到着した場合、当該フローエントリにマッチし、OFS12-nに宛てて転送処理が行われる。なお、当該OFSは、フローテーブルに登録されているフローエントリのいずれにもマッチしないパケットを受け取った場合、OFCに対し、フローエントリの登録を求める。OFCは、適宜、効率的な経路の計算等をして、当該パケットをどのようにルーティングするかを定義したフローエントリを当該OFSに登録する。当該OFSは、このフローエントリに従って受け取ったパケットを処理する。
 [閉路の構成]
 次に、図3を用いて、図1のようなネットワーク構成においては閉路が構成され得ることについて説明する。
 図3に示すネットワークは、ホスト20(20-i、i=1~x)と、OFS21(21-j、j=1~y)と、OFC22(22-k、k=1~z)を含む。
 ホスト20(20-i、i=1~x)は、図1のホスト10(10-i、i=1~x)に相当する。OFS21(21-j、j=1~y)は、図1のOFS11(11-j、j=1~y)に相当する。OFC22(22-k、k=1~z)は、図1のOFC11(11-k、k=1~z)に相当する。ホスト20(20-i、i=1~x)、OFS21(21-j、j=1~y)、及びOFC22(22-k、k=1~z)は、ネットワーク200(200-l、l=1~w:wは小規模ネットワークの総数)に属する。ホスト20-1及びOFS21-1及びOFC22-1は、ネットワーク200-1に属するものとする。OFS21-2、OFC22-2、ホスト20-4、ホスト20-5、OFS21-4、及びOFC22-4は、ネットワーク200-2に属するものとする。ホスト20-2及びホスト20-3及びOFS21-3及びOFC22-3は、ネットワーク200-3に属するものとする。ホスト20-6及びOFS21-5及びOFC22-5は、ネットワーク200-4に属するものとする。
 ネットワーク200-1には、「192.168.1.0」なるネットワークアドレスが与えられているものとする。ネットワーク200-2には、「192.168.2.0」なるネットワークアドレスが与えられているものとする。ネットワーク200-3には、「192.168.3.0」なるネットワークアドレスが与えられているものとする。ネットワーク200-4には、「192.168.4.0」なるネットワークアドレスが与えられているものとする。ホスト20-1には、「192.168.1.5」なるアドレスが与えられているものとする。ホスト20-2には、「192.168.3.10」なるアドレスが与えられているものとする。ホスト20-3には、「192.168.3.21」なるアドレスが与えられているものとする。ホスト20-6には、「192.168.4.8」なるアドレスが与えられているものとする。また、OFS21-1には、「192.168.1.*宛のパケットは、ホストに転送。他のアドレス宛のパケットは、OFS21-2に転送。」という旨のフローエントリがフローテーブルに登録されているものとする。OFS21-2には、「192.168.2.*宛のパケットは、ホストに転送。他のアドレス宛のパケットは、OFS21-3に転送。」という旨のフローエントリがフローテーブルに登録されているものとする。OFS21-3には、「192.168.3.*宛のパケットは、ホストに転送。」という旨のフローエントリがフローテーブルに登録されているものとする。OFS21-4には、「192.168.2.*宛のパケットは、ホストに転送。他のアドレス宛のパケットは、OFS21-5に転送。」という旨のフローエントリがフローテーブルに登録されているものとする。OFS21-5には、「192.168.4.*宛のパケットは、ホストに転送。」という旨のフローエントリがフローテーブルに登録されているものとする。
 この場合、ホスト20-1は、ホスト20-2宛のパケットを発行すると、まずOFS21-1に送信する。OFS21-1は、フローエントリに従い、ホスト20-2宛のパケットをOFS21-2に転送する。OFS21-2は、フローエントリに従い、ホスト20-2宛のパケットをOFS21-3に転送する。OFS21-3は、フローエントリに従い、ホスト20-2宛のパケットをホスト20-2に転送する。これにより、ホスト20-2宛のパケットは、目的のホストに到着する。すなわち、ホスト20-1からホスト20-2宛のパケットについては、OFS21-1、OFS21-2、及びOFS21-3を経由する経路(ルート)が確立している。
 また、ホスト20-4或いはホスト20-5は、ホスト20-6宛のパケットを発行すると、まずOFS21-4に送信する。OFS21-4は、フローエントリに従い、ホスト20-6宛のパケットをOFS21-5に転送する。OFS21-5は、フローエントリに従い、ホスト20-6宛のパケットをホスト20-6に転送する。すなわち、ホスト20-4或いはホスト20-5からホスト20-6宛のパケットについては、OFS21-4、OFS21-5を経由する経路が確立している。
 このような場合に、ホスト20-3から発行されたホスト20-6宛のパケットについて、どのようにルーティングされるかを考える。ホスト20-3は、ホスト20-6宛のパケットを発行すると、まずOFS21-3に送信する。しかし、OFS21-3には、受け取ったパケットにマッチするフローエントリが登録されていない。
 したがって、OFS21-3は、当該パケットの処遇について、OFC22-3に問い合わせることとなる。しかし、OFC22-3は、他のOFCがそれぞれの管理するOFSに対してどのようにフローエントリを設定したのかを検知する構成要素や処理手順を持たない。
 仮に、OFC22-3は、経路計算ルーチンに従い、経路を計算した結果を基に、当該パケットをOFS21-4に転送するのが妥当であるとした場合、OFS21-3に対しては、例えば、「192.168.3.*宛のパケットは、ホストに転送。他のアドレス宛のパケットは、OFS21-4に転送。」という旨のフローエントリを新規に登録することになる。この場合、「OFS21-3→OFS21-4」の経路24-1が確立する。OFC22-3は、当該パケットをOFS21-4に転送する。OFS21-4は、OFS21-5を経由して、当該パケットをホスト20-6に転送する。
 一方で、仮に、OFC22-3は、経路計算ルーチンに従い、経路を計算した結果を基に、当該パケットをOFS21-1に転送するのが妥当であるとした場合は、OFS21-3に対し、例えば、「192.168.3.*宛のパケットは、ホストに転送。他のアドレス宛のパケットは、OFS21-1に転送。」という旨のフローエントリを新規に登録することになる。この場合、「OFS21-3→OFS21-1」の経路24-2が確立する。OFC22-3は、当該パケットをOFS21-1に転送する。OFS21-1は、当該パケットが既存のフローエントリにマッチするため、当該パケットをOFS21-2に転送する。OFS21-2も、当該パケットが既存のフローエントリにマッチするため、当該パケットをOFS21-3に転送する。OFS21-3は、当該パケットが新規に登録されたフローエントリにマッチするため、当該パケットをOFS21-1に転送する。このように、「OFS21-1→OFS21-2→OFS21-3→OFS21-1」の閉路25-1が形成されたため、目的のホストには到着しない。
 以上より、他のOFCが管理するOFSにパケットを転送する場合に、当該OFSの先でどのようなフローエントリが既に登録されているのかを検知する構成要素や処理手順がない場合、閉路が形成される可能性がある。
 [閉路の種類]
 なお、閉路の種類としては、図4Aに示すパターンと、図4Bに示すパターンとの2種類が考えられる。図4A、図4Bに示すホスト30(30-i、i=1~x)は、図1のホスト10(10-i、i=1~x)に相当する。図4A、図4Bに示すOFS31(31-j、j=1~y)は、図1のOFS11(11-j、j=1~y)に相当する。
 [パターン1]
 図4Aに示すパターンでは、ホスト30-1からパケットを受けたOFS31-1において、当該パケットが新規に登録されたフローエントリにマッチし、新規に登録されたフローエントリに従って転送された結果、OFS31-2に到着する。OFS31-2及びOFS31-3において、当該パケットが既存のフローエントリにマッチし、既存のフローエントリに従って転送された結果、OFS31-2及びOFS31-3を経てOFS31-1に戻ってくるため、OFS31-1、OFS31-2、及びOFS31-3の間で閉路が形成されてしまう。
 [パターン2]
 図4Bに示すパターンでは、ホスト30-2からパケットを受けたOFS31-4において、当該パケットが新規に登録されたフローエントリにマッチし、新規に登録されたフローエントリに従って転送された結果、OFS31-4及びOFS31-5を経てOFS31-6に到着する。OFS31-6、OFS31-7、及びOFS31-8において、当該パケットが既存のフローエントリにマッチし、既存のフローエントリに従って転送された結果、OFS31-7及びOFS31-8を経てOFS31-6に戻ってくるため、OFS31-6、OFS31-7、及びOFS31-8の間で閉路が形成されてしまう。
 [閉路形成への従来対応]
 このような閉路形成問題に対し、従来は、図5に示す「単一コントローラ方式」や、図6に示す「経路計算装置連携方式」が提案され実装されてきた。
 [単一コントローラ方式]
 図5に示す「単一コントローラ方式」は、図1の各要素に加え、OFC12-1、OFC12-2、及びOFC12-3を統括するOFC12-4を追加する構成である。この構成では、例えば、OFC12-1は、パケットの経路を計算するに当たって、OFC12-4に問い合わせる。OFC12-4は、OFC12-3やOFC12-4が既に設定した経路を加味し、閉路を形成しないようなフローエントリをOFC12-2に伝える。しかし、「単一コントローラ方式」の欠点として、ネットワーク規模が大きくなった場合に、各OFCが設定したフローエントリの情報量や、経路導出の際に計算が必要となる組み合わせの量が膨大となり、OFC12-4での負荷が高くなるという課題があった。
 [経路計算装置連携方式]
 図6に示す「経路計算装置連携方式」は、図1の各要素に加え、OFC12-1上で動作する経路計算部121-1、及びOFC12-2上で動作する経路計算部121-2、及びOFC12-3上で動作する経路計算部121-3が、相互に設定済みフローエントリの情報をやり取りし、経路計算に活用可能とする仕組みを追加する構成である。この構成では、例えば、OFC12-1は、パケットの経路を計算するに当たって、OFC12-2及びOFC12-3に対して、関係するフローエントリの情報を問い合わせる。しかし、「経路計算装置連携方式」においても、ネットワーク規模が大きくなった場合に、通信するOFCの数や、それぞれのOFCから受け取る経路情報の数が膨大となる。また、それらを組み合わせての計算が必要となるため、OFC12-1での負荷が高くなるという課題があった。
"TheOpenFlowSwitchConsortium",[online],インターネット(URL:http://www.openflowswitch.org/) "OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
 本発明の目的は、オープンフロー(OpenFlow)ネットワークにおいて、テストパケットにより、事前に閉路の形成をチェックし、その結果をフローエントリ登録に反映する閉路形成未然防止システムを提供することである。
 本発明に係る閉路形成未然防止システムは、パケットを発行するホストと、パケットを受信し、フローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチと、スイッチからの問い合わせに応じて、フローテーブルにフローエントリを登録するコントローラとを含む。スイッチは、受信パケットがテストパケットか否かを確認(チェック)する処理部と、受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、受信パケットにマッチするフローエントリがあるか否かを確認する処理部と、受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせる処理部と、コントローラから仮登録されたフローエントリを基に、テストパケットを生成する処理部と、受信パケットを保留し、コントローラから仮登録されたフローエントリに従い、テストパケットを転送し、閉路形成を検出するためのテストを開始する処理部と、テストの結果、閉路形成を検出した場合、コントローラから仮登録されたフローエントリを破棄する処理部とを具備する。
 本発明に係る閉路形成未然防止方法は、フローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチにより実施される。本発明に係る閉路形成未然防止方法では、受信パケットがテストパケットか否かを確認する。受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、受信パケットにマッチするフローエントリがあるか否かを確認する。受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせる。コントローラから仮登録されたフローエントリを基に、テストパケットを生成する。受信パケットを保留し、コントローラから仮登録されたフローエントリに従い、テストパケットを転送し、閉路形成を検出するためのテストを開始する。テストの結果、閉路形成を検出した場合、コントローラから仮登録されたフローエントリを破棄する。
 本発明に係るプログラムは、受信パケットがテストパケットか否かを確認するステップと、受信パケットがテストパケットでない場合、フローテーブルに登録された既存のフローエントリの中に、受信パケットにマッチするフローエントリがあるか否かを確認するステップと、受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、受信パケットを転送するステップと、受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせるステップと、コントローラから仮登録されたフローエントリを基に、テストパケットを生成するステップと、受信パケットを保留し、コントローラから仮登録されたフローエントリに従い、テストパケットを転送し、閉路形成を検出するためのテストを開始するステップと、テストの結果、閉路形成を検出した場合、コントローラから仮登録されたフローエントリを破棄するステップとをスイッチに実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 本発明では、OFC等のコントローラ同士が連携することを必要とせず、閉路の形成を未然に防止できる。
オープンフローネットワークシステムの構成例を示す図である。 従来のフローエントリの形式を説明するための図である。 オープンフローネットワークシステムの構成において閉路が構成され得る状況を説明するための図である。 閉路のパターン1を示す図である。 閉路のパターン2を示す図である。 従来の単一コントローラ方式を説明するための図である。 従来の経路計算装置連携方式を説明するための図である。 本発明におけるフローエントリの形式を説明するための図である。 本発明におけるテストパケットの形式を説明するための図である。 本発明におけるテスト、成否判断、結果反映を説明するための図である。 OFSの処理ルーチンを説明するためのフローチャートである。 OFSの処理ルーチンを説明するためのフローチャートである。 OFSの処理ルーチンを説明するためのフローチャートである。 OFSの内部構成例を示す図である。 OFSの内部構成の1つであるテストパケット生成部の詳細を説明するための図である。 OFSの内部構成の1つであるテスト実行部の詳細を説明するための図である。
 以下に、本発明の実施形態について添付図面を参照して説明する。
 本発明は、図1に示すようなオープンフローネットワークシステムを対象としている。
 図1に示されたオープンフローネットワークシステムでは、1個のOFCが複数のOFSを管理する小規模ネットワークが複数あり、それらの組み合わせにより、大規模ネットワークが形成されている。
 当該オープンフローネットワークシステムは、ホスト10(10-i、i=1~x:xは総台数)と、OFS11(11-j、j=1~y:yは総台数)と、OFC12(12-k、k=1~z:zは総台数)を含む。
 小規模ネットワークでは、1個のOFC12が複数のOFS11を管理している。小規模ネットワークの各々は、最上位のOFS11を介して、他の小規模ネットワークと接続し、大規模ネットワークを形成する。
 [本発明におけるフローエントリの形式]
 図7は、本発明で用いるフローエントリの形式である。本発明におけるフローエントリは、図2のフローエントリを拡張し、「テストID」フィールドを追加したものである。
 図7に示すように、本発明におけるフローエントリは、大きく、「ルール」フィールド、「アクション」フィールド、「統計情報」フィールド、「テストID」フィールドの4つのフィールドを有する。
 「ルール」フィールドには、パケット種別、パケット送信元ホストアドレス、パケット送信先ホストアドレス等のルール(マッチ条件)が記される。パケット種別のフィールドには、「IPv4」(Internet Protocol version 4)や「IPv6」(Internet Protocol version 6)等の情報が記される。
 「アクション」フィールドには、「破棄」や「OFS12-n(nは任意)に転送」等、ルールに合致するパケットを受け取った際にどのように処理するかを示すアクション(処理内容)が記される。
 「統計情報」フィールドには、処理したパケットの累計数等の統計情報が記される。
 「テストID」フィールドには、テストを一意に判別可能な「テストID」が記される。
 [本発明におけるテストパケットの形式]
 図8は、本発明で用いるテストパケットの形式である。ここでは、テストパケットが「IPv4」に準拠する場合を例に説明する。
 テストパケットは、基本ヘッダ部と、テストデータ部を有する。
 テストパケットは、基本ヘッダ部に、「サービスタイプ」(TOS:Type Of Service)フィールドと、「プロトコル」(Protocol)フィールドを含む。
 「サービスタイプ」フィールドは、パケットが転送される際に重視するサービスを一意に判別可能な「サービス種別」を格納できるサイズを持つものとする。
 「プロトコル」フィールドは、上位プロトコルを一意に判別可能な「プロトコル番号」を格納できるサイズを持つものとする。
 「サービスタイプ」フィールド及び「プロトコル」フィールドは、それぞれのフィールドの値の組み合わせにより、本発明に係る閉路検出用テストパケットであることを表す。すなわち、「サービスタイプ」フィールド及び「プロトコル」フィールドは、本発明に係る閉路検出用テストパケットであるか否かの判別に用いられる。
 また、テストパケットは、テストデータ部に、「テストID」フィールドと、「テスト成否フラグ」フィールドと、「通過OFS情報」フィールドを含む。
 「テストID」フィールドは、テストを一意に判別可能な「テストID」を格納できるサイズを持つものとする。例えば、OFCは、当該OFCのMACアドレス及び時刻等からユニーク(unique)な「テストID」を生成する。
 「テスト成否フラグ」フィールドは、テスト未完了を表す「0」、テストが成功して完了したことを表す「1」、テストが失敗して完了したことを表す「2」、パケットの生存期限(有効期限)切れによりルーティングが完了しなかったことを表す「3」の4つの状態を表現できるサイズ(例えば、2bit)を持つものとする。
 「通過OFS情報」フィールドは、MACアドレス及びポート番号を複数格納できるサイズを持つものとする。MACアドレス及びポート番号は、OFS1台分のアドレス情報である。すなわち、OFS1台につき、MACアドレス及びポート番号の組を1つ持つ。この「通過OFS情報」フィールドには、テストパケットがテスト中に経由したOFSのMACアドレスを順に格納するものとする。なお、この「通過OFS情報」フィールドは、基本ヘッダ部にある「生存時間」(TTL:Time To Live)フィールドの値で示される数だけアドレス情報を格納できる。すなわち、この「通過OFS情報」フィールドにおけるアドレス情報のエントリ数の上限は、「生存時間」フィールドの値で示される。
 [動作の説明]
 次に、図9を参照して、(A)テストの実施例、(B)成否判断の実施例、(C)結果反映の実施例の順に説明する。
 [(A)テストの実施例]
 図9に示すオープンフローネットワークシステムは、ホスト40(40-i、i=1~x)と、OFS41(41-j、j=1~y)と、OFC42(42-k、k=1~z)を含む。
 ここで、ホスト40(40-i、i=1~x)は、図1のホスト10(10-i、i=1~x)に相当する。OFS41(41-j、j=1~y)は、図1のOFS11(11-j、j=1~y)に相当する。OFC42(42-k、k=1~z)は、図1のOFC11(11-k、k=1~z)に相当する。ホスト40(40-i、i=1~x)、OFS41(41-j、j=1~y)、及びOFC42(42-k、k=1~z)は、ネットワーク400(400-l、l=1~w)に属する。ホスト40-1、OFS41-1、及びOFS41-2は、ネットワーク400-1に属し、OFC42-1は、OFS41-1、OFS41-2を管理しているものとする。同様に、OFS41-3は、ネットワーク400-2に属し、OFC42-2は、OFS41-3を管理しているものとする。同様に、ホスト40-2、OFS41-4、及びOFS41-5は、ネットワーク400-3に属し、OFC42-3は、OFS41-4及びOFS41-5を管理しているものとする。
 (1)ステップA01
 ホスト40-1は、ホスト40-2宛のパケットをOFS41-1に送信する。OFS41-1は、パケットを受け取った際、フローテーブルに登録されたフローエントリの中に、パケットに記された転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。
 (2)ステップA02
 OFS41-1は、既存のフローエントリには、パケットに記された転送先アドレス・転送元アドレスの値がマッチするフローエントリが無いので、OFC42-1に問い合わせる。OFC42-1は、ネットワーク400-2及びネットワーク400-3において、どのようなフローエントリが設定されているかを検知する構成要素や処理手順を持たない。OFC42-1は、経路計算ルーチンに従い、経路を計算する。OFC42-1は、その計算結果をフローエントリとしてOFS41-1に登録する際、このフローエントリを仮登録のフローエントリとする。OFC42-1は、仮登録であることが判別可能となるように、仮登録のフローエントリの「アクション」フィールドに、例えば、「TESTFORWARD」といった仮登録である旨を示す内容のデータを記すものとする。また、OFC42-1は、当該OFC42-1のMACアドレス及び時刻等からユニークな「テストID」を生成し、「テストID」フィールドに「テストID」を格納する。
 (3)ステップA03
 OFS41-1では、元々ホスト40-1から受け取ったパケットを一時保持する。また、OFS41-1は、図8に示す形式に準じたテストパケットを生成する。OFS41-1は、テストパケットを生成する際、基本ヘッダ部の「サービスタイプ」フィールド及び「プロトコル」フィールドに、本閉路形成テストに用いるパケット(テストパケット)であることを判別可能な値を格納する。また、OFS41-1は、基本ヘッダ部の「生存時間」フィールドに、元々受け取ったパケットに記されていた値を転記する。また、OFS41-1は、テストデータ部の「テストID」フィールドに、OFC42-1により生成された「テストID」(すなわち、仮登録されたフローエントリに記載されている「テストID」)を格納するものとする。また、OFS41-1は、テストデータ部の「テスト成否フラグ」フィールドに、テスト未完のステータスであることを示す値(例えば、「0」)を格納する。また、OFS41-1は、テストデータ部の「通過OFS情報」フィールドに、OFS41-1のMACアドレス及びポート番号の値を格納する。
 (4)ステップA04
 OFS41-1は、上記のようにして生成されたテストパケットを、仮登録されたフローエントリに従って、OFS41-2宛に転送する。
 (5)ステップA05
 OFS41-2は、到着したパケットのサービスタイプとプロトコルタイプの値をチェックすることで、テストパケットが到着したことを検知する。OFS41-2は、テストパケットのテストデータ部の「通過OFS情報」フィールドに、OFS41-2のMACアドレス及びポート番号の値を追加する。OFS41-2は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。ここでは、OFS41-2は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるので、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値(テストID)が記されていないかをチェックする。OFS41-2は、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されていない場合、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドに記されている値(テストID)を記入する。OFS41-2は、既に、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
 (6)ステップA06
 OFS41-2は、テストパケットを、マッチした既存のフローエントリに従って、OFS41-3宛に転送する。
 (7)ステップA07
 OFS41-3は、到着したパケットのサービスタイプとプロトコルタイプの値をチェックすることで、テストパケットが到着したことを検知する。OFS41-3は、テストパケットの「通過OFS情報」フィールドに、OFS41-3のMACアドレス及びポート番号の値を追加する。OFS41-3は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。
 (8)ステップA08
 OFS41-3は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがないので、OFC42-2に仮登録のフローエントリ設定を依頼する。OFC42-2は、具備する経路計算ルーチンにより経路の計算を行う。OFC42-2は、その計算結果をフローエントリとしてOFS41-3に登録する際、このフローエントリを仮登録のフローエントリとする。また、OFC42-2は、ステップA03と同様に、仮登録であることが判別可能となるように、仮登録のフローエントリの「アクション」フィールドに、例えば、「TESTFORWARD」といった内容のデータを記すものとする。
 (9)ステップA09
 OFS41-3は、仮登録のフローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドに記されている値を格納する。
 (10)ステップA10
 OFS41-3は、テストパケットを、仮登録されたフローエントリに従って、OFS41-4宛に転送する。
 (11)ステップA11
 OFS41-4は、到着したパケットのサービスタイプとプロトコルタイプの値をチェックすることで、テストパケットが到着したことを検知する。OFS41-4は、テストテストパケットの「通過OFS情報」フィールドに、OFS41-4のMACアドレス及びポート番号の値を追加する。OFS41-4は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。ここでは、OFS41-4は、マッチするフローエントリがあるので、ステップA05と同様に、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されていないかをチェックする。OFS41-4は、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されていない場合、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドに記されている値を記入する。OFS41-4は、既に、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
 (12)ステップA12
 OFS41-4は、テストパケットを、マッチした既存のフローエントリに従って、OFS41-5宛に転送する。
 (13)ステップA13
 OFS41-5は、到着したパケットのサービスタイプとプロトコルタイプの値をチェックすることで、テストパケットが到着したことを検知する。OFS41-5は、テストテストパケットの「通過OFS情報」フィールドにOFS41-4のMACアドレス及びポート番号の値を追加する。OFS41-5は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。ここでは、OFS41-5は、マッチするフローエントリがあるので、ステップA05、ステップA11と同様に、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されていないかをチェックする。OFS41-5は、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されていない場合、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドに記されている値を記入する。OFS41-5は、既に、当該フローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
 (14)ステップA14
 OFS41-5は、テストパケットを、マッチした既存のフローエントリに従って、ホスト40-2に転送する。
 [(B)成否判断の実施例]
 (A)のステップA01からステップA14は、閉路が生成されなかった事例(ケース)の実施例である。
 ステップA13、ステップA14において、OFSは、送信元ホストと異なるホストに転送可能であることが判断できるため、この時点でテスト成功とし、テストパケットの「テスト成否フラグ」フィールドに、テストが成功して完了したことを示す値「1」を格納するものとする。
 一方、テストが失敗する事例(ケース)では、自身のフローテーブルの既存のフローエントリの中に、テストパケットとマッチするフローエントリがあり、当該フローエントリの「テストID」フィールドとテストパケットの「テストID」フィールドとに、同一の値(テストID)が記されている場合は、既に一度通った経路に再び入ったこととなり、閉路が形成されてしまったことになる。
 したがって、この場合、OFSは、テストパケットの「テスト成否フラグ」フィールドに、テストが失敗して完了したことを示す値「2」を格納するものとする。また、図9では示されていないが、テストパケットの転送において「生存時間」(TTL)フィールドの値が0となった場合は、パケットの生存期限(有効期限)が切れたことになるため、生存期限(有効期限)切れで失敗したことを示す値(例えば、「3」)を格納するものとする。本事例については、後述する「OFSの処理ルーチン」(図10A参照)において別途説明する。
 [(C)結果反映の実施例]
 上記の(A)(B)の実施例のように、テストパケットを転送し続けることにより、いずれかのOFSにおいて、テストが成功/失敗して完了する。OFSは、テスト結果を反映させるために、テスト結果の値を「テスト成否フラグ」フィールドに詰めた後、テストパケットとフローエントリのクリーンナップ(clean up)処理を行う。
 [テストパケットのクリーンナップ処理]
 OFSは、クリーンナップ処理の対象がテストパケットの場合、当該テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾に、自身のMACアドレスが記載されているので、このMACアドレスを削除する。
 [本登録のフローエントリのクリーンナップ処理]
 OFSは、クリーンナップ処理の対象が本登録のフローエントリの場合、テストの成否に関わらず、当該フローエントリの「テストID」フィールドから、自身に該当するテストIDを削除し、テスト中に付与したデータを削除する。
 [仮登録のフローエントリのクリーンナップ処理]
 OFSは、クリーンナップ処理の対象が仮登録のフローエントリの場合、テストの成否に応じてクリーンナップ処理を行う。例えば、OFSは、テスト失敗の場合、仮登録のフローエントリ自体を削除する。また、OFSは、テスト成功の場合、仮登録のフローエントリの「アクション」フィールドを書き換えて、仮登録のフローエントリから本登録のフローエントリに更新する。
 OFSは、上記のようにして、テスト結果を、テストパケットとフローエントリに反映する。
 以上のクリーンナップ処理が完了すると、OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾に記載されているMACアドレスを基に、当該MACアドレスを持つOFSに当該テストパケットを転送する。
 転送先のOFSも、クリーンナップ処理を行う。これを繰り返すことにより、最終的にテストパケットにMACアドレスが1個も記載されていない状態となる。このとき、テストパケットは、生成元のOFSに戻ってきたことになる。ここで、OFSは、テスト成功の場合には、当該OFSでペンディング(pending:未解決、保留)としていたパケットを、上記の(A)(B)(C)のようにして本登録したフローエントリに従って転送する。また、OFSは、テスト失敗の場合には、ペンディングとしていたパケットを破棄して経路計算を実施したOFCにエラーを返す。
 上記(A)(B)(C)の実施例は、図7で示されるフローエントリと、図8で示されるテストパケットと、図10A~図10Cで示されるOFSの処理ルーチンにより実現可能となる。OFSの処理ルーチンは、ファームウェア(FW:Firmware)として実装される。
 [OFSの処理ルーチン]
 図10A、図10B、及び図10Cを用いて、OFSの処理ルーチンについて説明する。
 (1)ステップB01
 OFSは、パケットを受け取ったとき、パケットのヘッダ部の「サービスタイプ」、「プロトコル」を参照することにより、テストパケットか否かを確認(チェック)する。
 (2)ステップB02
 OFSは、受け取ったパケットがテストパケットでない場合、パケットのヘッダ部の「送信元アドレス」、「宛て先アドレス」を基に、自身のフローテーブルの既存のフローエントリの中に、マッチするフローエントリがあるかないかを判断する。
 (3)ステップB03
 OFSは、マッチするフローエントリがある場合は、そのエントリに従って転送等の処理をする。
 (4)ステップB04
 OFSは、マッチするフローエントリがない場合は、OFCに経路を問い合わせる。OFCは、経路を計算し、テストIDを生成する。
 (5)ステップB05
 OFCは、計算結果を基に、OFSにフローエントリを仮登録する。OFCは、当該フローエントリの「アクション」フィールドに、仮登録による転送である旨を記す。また、OFCは、当該フローエントリの「テストID」フィールドに、生成したテストIDを記す。
 (6)ステップB06
 OFSは、テストパケットを生成する。テストパケットの生成については、ステップA03で説明した通りである。
 (7)ステップB07
 OFSは、元々受け取ったパケットを、ペンディング扱いとして保持しておき、ステップB06で生成したテストパケットを、ステップB05で仮登録したフローエントリに従って転送する。これにより、テストが開始したことになる。
 (8)ステップB08
 また、OFSは、ステップB01において、受け取ったパケットがテストパケットである場合は、テスト処理中、或いは、テスト結果の反映処理中であるか、テスト成否フラグの値を参照して判断する。
 (9)ステップB09
 OFSは、ステップB08において、「テスト成否フラグ」フィールドに値がセットされていない(或いは、値が0である)場合は、テスト処理中であると判断し、「生存時間」フィールドの値が0か否かを確認する。
 (10)ステップB10
 OFSは、ステップB09において、「生存時間」フィールドの値が0であった場合は、パケットの生存期限(有効期限)切れであると判断する。
 (11)ステップB11
 OFSは、ステップB09において、「生存時間」フィールドの値が0でない場合は、パケットのヘッダ部の「送信元アドレス」、「宛て先アドレス」を基に、自身のフローテーブルの既存のフローエントリの中に、マッチするフローエントリがあるかないかを判断する。
 (12)ステップB12
 OFSは、ステップB11において、マッチするフローエントリがある場合、当該フローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値と同一の値があるか否かを確認する。
 (13)ステップB13
 OFSは、ステップB12において、同一の値があった場合は、閉路を検出したことになるため、テスト失敗と判断する。
 (14)ステップB14
 OFSは、ステップB12において、同一の値が無い場合は、現段階では閉路は形成されていないと判断し、当該フローエントリの転送先がホストであるか否かを確認する。
 (15)ステップB15
 OFSは、ステップB14において、当該フローエントリの転送先がホストである場合、閉路を形成しておらず、ルーティングできることを検出したことになるため、テスト成功と判断する。
 (16)ステップB16
 OFSは、テスト結果を表す値を、テストパケットの「テスト成否フラグ」フィールドに格納する。ここでは、OFSは、ステップB10を経由した場合は、生存期限(有効期限)切れで失敗したことを表す「3」を、テストパケットの「テスト成否フラグ」フィールドに格納する。また、OFSは、ステップB13を経由した場合は、閉路が形成されて失敗したことを表す「2」を、テストパケットの「テスト成否フラグ」フィールドに格納する。また、OFSは、ステップB15を経由した場合は、成功を表す「1」を、テストパケットの「テスト成否フラグ」フィールドに格納する。
 (17)ステップB17
 OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾のMACアドレスを参照して、テストパケットを1つ前に経由したOFSに転送し、この時点でテストを完了する。
 (18)ステップB18
 OFSは、ステップB11において、マッチするフローエントリがない場合は、OFCに経路を問い合わせる。OFCは、経路を計算する。
 (19)ステップB19
 OFCは、計算結果を基に、OFSにフローエントリを仮登録する。OFCは、当該フローエントリの「アクション」フィールドに、仮登録による転送である旨を記す。
 (20)ステップB20
 OFSは、フローエントリにテストIDを格納する。このとき、既に別のフローエントリが格納されている場合は、別のテストを実行中ということである。通常、テストは短い時間で完了するため、当該テストが完了するのを待ち、既存のテストIDがクリーンナップ処理により削除されてから、当該テストパケットのテストIDを格納する。ここでは、OFSは、ステップB14を経由した場合は、マッチしたフローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値を記す。また、OFSは、ステップB19を経由した場合は、仮登録されたフローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値を記す。
 (21)ステップB21
 OFSは、テストパケットの「通過OFS情報」フィールドに、自OFSのMACアドレス及びポート番号を記載し、テストパケットの「生存時間」フィールドの値を1減算し、エントリに従って転送する。
 (22)ステップB22
 また、ステップB08において、「テスト成否フラグ」フィールドに、テスト成功を表す値、或いは、テスト失敗を表す値がセットされていた場合(0以外の値がセットされている場合)は、テスト結果の反映処理中であるということである。OFSにおいて、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾のMACアドレスを見ると、当該OFSのMACアドレスが記載されているはずである。OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾から、自身のMACアドレスを削除する。
 (23)ステップB23
 OFSは、自身のフローテーブルに登録されているフローエントリの中から、テストパケットの「テストID」フィールドに記されている値と同一の値が「テストID」フィールドに記されているフローエントリを探す。
 (24)ステップB24
 OFSは、見つかったフローエントリの「アクション」フィールドを参照して、当該フローエントリが仮登録のフローエントリか本登録のフローエントリかを判断する。
 (25)ステップB25
 OFSは、ステップB24の結果、当該フローエントリが仮登録のフローエントリであった場合、テストパケットの「テスト成否フラグ」を参照する。
 (26)ステップB26
 OFSは、ステップB25の結果、「テスト成否フラグ」フィールドにテスト成功を表す値が入っていれば、仮登録のフローエントリを本登録のフローエントリに更新する。すなわち、OFSは、当該フローエントリの「アクション」フィールドに記された仮登録である旨を示す内容のデータを、本登録である旨を示す内容のデータに更新する。例えば、OFSは、当該フローエントリの「アクション」フィールドから、仮登録である旨を示す内容のデータを削除するようにしても良い。
 (27)ステップB27
 OFSは、ステップB25の結果、「テスト成否フラグ」フィールドにテスト失敗を表す値が入っていれば、当該フローエントリを削除する。
 (28)ステップB28
 OFSは、ステップB24の結果、当該フローエントリが本登録のフローエントリであった場合、テストの成否に関わらず、当該フローエントリの「テストID」フィールドから、テストパケットの「テストID」フィールドに記載されているテストIDの値を削除する。
 (29)ステップB29
 OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドを参照し、1個以上のMACアドレスがあるか否かを確認する。
 (30)ステップB30
 OFSは、ステップB29において、1個以上のMACアドレスがある場合は、「通過OFS情報」フィールドの末尾のMACアドレスを持つOFSにテストパケットを転送する。
 (31)ステップB31
 ステップB29において、1個もMACアドレスがない場合は、テストパケット生成元のOFSに戻ってきたということである。OFSは、テストパケットの「テスト成否フラグ」フィールドを参照して、テストの成否を確認する。
 (32)ステップB32
 OFSは、ステップB31において、テストが成功していた場合、ステップB07においてペンディングとしていたパケットを、フローエントリに従って転送する。また、OFSは、テストパケットを破棄する。
 (33)ステップB33
 OFSは、ステップB31において、テストが失敗していた場合、ステップB07においてペンディングとしていたパケットを破棄し、OFCに対してエラーを返す。また、OFSは、テストパケットを破棄する。
 [本発明の効果]
 本発明では、テストパケットにより、事前に閉路の形成をチェックし、その結果をフローエントリ登録に反映できる。そのため、OFC等のコントローラ同士が連携することを必要とせず、閉路の形成を未然に防止できる。
 また、本発明では、閉路形成テスト処理において、OFCやOFSの数に対して線形以上の処理量の増加があるような計算要素がない。そのため、ネットワークの規模が大きくなっても、閉路形成テストが軽量な処理により実行できる。
 [OFSの内部構成例]
 図11を参照して、本発明に係る閉路形成未然防止システムにおけるOFSの内部構成例について説明する。
 OFS11(11-j、j=1~y)の各々は、テストパケット確認部111と、フローエントリ確認部112と、問い合わせ処理部113と、テストパケット生成部114と、テスト実行部115と、仮登録フローエントリ破棄部116を備える。
 テストパケット確認部111は、受信パケットがテストパケットか否かを確認する。
 フローエントリ確認部112は、受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、受信パケットにマッチするフローエントリがあるか否かを確認する。
 問い合わせ処理部113は、受信パケットにマッチするフローエントリがない場合、OFC12(12-k、k=1~z)に問い合わせる。
 テストパケット生成部114は、OFC12(12-k、k=1~z)から仮登録されたフローエントリを基に、テストパケットを生成する。
 テスト実行部115は、受信パケットを保留し、OFC12(12-k、k=1~z)から仮登録されたフローエントリに従い、テストパケットを転送し、閉路形成を検出するためのテストを開始する。
 仮登録フローエントリ破棄部116は、テストの結果、閉路形成を検出した場合、OFC12(12-k、k=1~z)から仮登録されたフローエントリを破棄する。
 なお、テストパケット確認部111、フローエントリ確認部112、問い合わせ処理部113、テストパケット生成部114、テスト実行部115、及び仮登録フローエントリ破棄部116は、相互に連携可能であるものとする。
 [テストパケット生成部の詳細]
 図12を参照して、テストパケット生成部114の詳細について説明する。
 テストパケット生成部114は、フィールド設定部1141と、テストパケット判別情報管理部1142と、TTL管理部1143と、テストID管理部1144と、テスト結果情報初期化部1145と、通過OFS情報管理部1146を備える。
 フィールド設定部1141は、テストパケットを生成する際、当該テストパケットに、基本ヘッダ部とテストデータ部とを設ける。
 テストパケット判別情報管理部1142は、基本ヘッダ部のサービスタイプフィールド及びプロトコルタイプフィールドに、テストパケットである旨を示す値を格納する。
 TTL管理部1143は、基本ヘッダ部の生存時間フィールドに、受信パケットに記されていた値を転記する。
 テストID管理部1144は、テストデータ部のテストIDフィールドに、OFC12(12-k、k=1~z)から仮登録されたフローエントリに記載されているテストIDを格納する。
 テスト結果情報初期化部1145は、テストデータ部のテスト成否フラグフィールドに、テスト未完のステータスであることを示す値を格納する。
 通過OFS情報管理部1146は、テストデータ部の通過OFS情報フィールドに、OFS11(11-j、j=1~y)のMACアドレス及びポート番号の値を格納する。
 [テスト実行部の詳細]
 図13を参照して、テスト実行部115の詳細について説明する。
 テスト実行部115は、テスト成否フラグ確認部1151と、TTL確認部1152と、テストID確認部1153と、転送先確認部1154と、テスト結果情報管理部1155と、テストパケット転送部1156を備える。
 テスト成否フラグ確認部1151は、受信パケットがテストパケットである場合、テストパケットのテスト成否フラグフィールドの値を確認し、テストパケットのテスト成否フラグフィールドに値がセットされていないか、又は値が0である場合、テスト処理中であると判断する。
 TTL確認部1152は、テスト処理中である場合、生存時間フィールドの値が0か否かを確認する。TTL確認部1152は、テストパケットの生存時間フィールドの値が0であった場合、パケットの生存期限切れであると判断し、テスト失敗と判断する。また、TTL確認部1152は、テストパケットの生存時間フィールドの値が0でない場合、図11のフローエントリ確認部112と連携して、フローテーブルの既存のフローエントリの中に、テストパケットにマッチするフローエントリがあるか否かを確認する。
 テストID確認部1153は、テストパケットにマッチするフローエントリがある場合、当該フローエントリのテストIDフィールドに、テストパケットのテストIDフィールドに記されている値と同一の値があるか否かを確認し、同一の値があった場合、閉路が形成されたと判断し、テスト失敗と判断する。
 転送先確認部1154は、同一の値がない場合、現段階では閉路は形成されていないと判断し、当該フローエントリの転送先がホストであるか否かを確認し、当該フローエントリの転送先がホストである場合、閉路を形成しておらずルーティングできると判断し、テスト成功と判断する。
 テスト結果情報管理部1155は、テスト結果を表す値を、テストパケットのテスト成否フラグフィールドに格納する。
 テストパケット転送部1156は、テストパケットの通過OFS情報フィールドの末尾のMACアドレスを参照して、テストパケットを1つ前に経由したOFS11(11-j、j=1~y)に転送し、テストを完了する。
 [テストパケット未登録の場合]
 以下に、テストパケットが未登録の場合における処理について説明する。
 図11の問い合わせ処理部113は、テストパケットにマッチするフローエントリがない場合、OFC12(12-k、k=1~z)に問い合わせる。
 図12のテストID管理部1144は、OFC12(12-k、k=1~z)からフローエントリが仮登録された場合、或いは、テストパケットにマッチするフローエントリの転送先がホストでない場合、当該フローエントリのテストIDフィールドに、テストパケットのテストIDフィールドに記されている値を記入する。
 図12の通過OFS情報管理部1146は、テストパケットの通過OFS情報フィールドに、OFS11(11-j、j=1~y)のMACアドレス及びポート番号の値を格納する。
 図12のTTL管理部1143は、テストパケットの生存時間フィールドの値を1減算する。
 図13のテストパケット転送部1156は、当該フローエントリに従い、テストパケットを転送し、テストを継続する。
 [テスト実行済みの場合]
 以下に、テストが実行済みの場合における処理について説明する。
 図12の通過OFS情報管理部1146は、テストパケットのテスト成否フラグフィールドに0以外の値がセットされている場合(テスト未完了ではない場合)、テストパケットの通過OFS情報フィールドの末尾から、OFS11(11-j、j=1~y)のMACアドレスを削除する。
 図11のフローエントリ確認部112は、フローテーブルに登録されているフローエントリの中から、テストパケットのテストIDフィールドに記されている値と同一の値がテストIDフィールドに記されているフローエントリを検索する。検出されたフローエントリのアクションフィールドを参照して、当該フローエントリが仮登録のフローエントリか本登録のフローエントリかを判断する。当該フローエントリが仮登録のフローエントリであった場合、図13のテスト成否フラグ確認部1151と連携して、テストパケットのテスト成否フラグを参照する。テストパケットのテスト成否フラグフィールドにテスト成功を表す値が入っている場合、当該フローエントリを本登録のフローエントリに更新する。テストパケットのテスト成否フラグフィールドにテスト失敗を表す値が入っている場合、当該フローエントリを削除する。当該フローエントリが本登録のフローエントリであった場合、図12のテストID管理部1144と連携して、テストの成否に関わらず、当該フローエントリのテストIDフィールドから、テストパケットのテストIDフィールドに記載されているテストIDの値を削除する。
 図13のテストパケット転送部1156は、テストパケットの通過OFS情報フィールドを参照し、1個以上のMACアドレスがあるか否かを確認する。テストパケットの通過OFS情報フィールドに1個以上のMACアドレスがある場合は、テストパケットの通過OFS情報フィールドの末尾のMACアドレスを持つOFS11(11-j、j=1~y)にテストパケットを転送し、テストを継続する。テストパケットの通過OFS情報フィールドに1個もMACアドレスがない場合、テストパケットの生成元のOFS11(11-j、j=1~y)に戻ってきたと判断し、テスト結果情報管理部1155と連携して、テストパケットの生成元のOFS11(11-j、j=1~y)に戻ってきた場合、テストパケットのテスト成否フラグフィールドを参照して、テストの成否を確認する。テストが成功していた場合、保留していた受信パケットを、本登録のフローエントリに従って転送する。テストが失敗していた場合、保留していた受信パケットを破棄し、OFC12(12-k、k=1~z)に対してエラーを返す。その後、テストパケットを破棄し、テストを完了する。
 [OFCの内部構成例]
 図14を参照して、本発明に係る閉路形成未然防止システムにおけるOFCの内部構成例について説明する。
 OFC12(12-k、k=1~z)の各々は、経路計算部121と、テストID生成部122と、フローエントリ仮登録部123を備える。
 経路計算部121は、OFS11(11-j、j=1~y)から問い合わせを受けた際、経路を計算する。
 テストID生成部122は、テストを一意に識別可能なテストIDを生成する。
 フローエントリ仮登録部123は、OFS11(11-j、j=1~y)に、経路計算結果に基づくフローエントリを仮登録する。このとき、フローエントリ仮登録部123は、仮登録されるフローエントリの中に、アクションフィールドとテストIDフィールドとを設ける。アクションフィールドには、仮登録である旨の内容のデータを格納する。テストIDフィールドには、テストIDの値を格納する。
 [ハードウェアの例示]
 ホスト10(10-i、i=1~x)及びOFC12(12-k、k=1~z)の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。他にも、ホスト10(10-i、i=1~x)の例として、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、POS(Point of Sale)端末、OA(Office Automation)機器、店頭端末・高機能コピー機、デジタルサイネージ(Digital Signage:電子看板)等も考えられる。ホスト10(10-i、i=1~x)及びOFC12(12-k、k=1~z)は、車両や船舶、航空機等の移動体に搭載されていても良い。なお、ホスト10(10-i、i=1~x)及びOFC12(12-k、k=1~z)は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、ホスト10(10-i、i=1~x)及びOFC12(12-k、k=1~z)は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
 OFS11(11-j、j=1~y)の例として、ネットワークスイッチ(network switch)を想定している。ネットワークスイッチの例として、L3スイッチ(layer 3 switch)、L4スイッチ(layer 4 switch)、L7スイッチ/アプリケーションスイッチ(layer 7 switch)、或いは、マルチレイヤスイッチ(multi-layer switch)等が考えられる。その他、OFS11(11-j、j=1~y)の例として、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置/セキュリティ監視制御装置(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等も考えられる。
 図示しないが、上記のようなホスト10(10-i、i=1~x)、OFS11(11-j、j=1~y)、及びOFC12(12-k、k=1~z)は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(IC:Integrated Circuit)等が考えられる。
 上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)でも良い。或いは、DAS(Direct Attached Storage)、FC-SAN(Fibre Channel - Storage Area Network)、NAS(Network Attached Storage)、IP-SAN(IP - Storage Area Network)等を用いたストレージ装置でも良い。
 なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。
 上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
 なお、ホスト10(10-i、i=1~x)、OFS11(11-j、j=1~y)、及びOFC12(12-k、k=1~z)は、物理マシン上に構築された仮想マシン(Virtual Machine(VM))でも良い。
 また、ホスト10(10-i、i=1~x)、OFS11(11-j、j=1~y)、及びOFC12(12-k、k=1~z)内の各部(内部構成)は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 但し、実際には、これらの例に限定されない。
 <まとめ>
 以上のように、本発明では、オープンフロー(OpenFlow)ネットワークにおける閉路形成を未然に防止する。
 具体的には、本発明は、1個のOFCが複数のOFSを管理するネットワークが複数あり、それらの組み合わせにより大きなネットワークが形成されているオープンフローネットワークシステムにおいて、複数あるOFC等のコントローラ同士が相互に連携する構成要素や処理手順を必要とせず、閉路を形成するようなフローエントリの登録を未然に防止する。
 本発明では、OFCで導出したフローエントリをOFSに登録するに先立って、閉路が形成されることがないか評価する。
 また、本発明では、経路評価を仮登録のフローエントリ及びテストパケットを用いて実施する。
 また、本発明では、経路評価に際して、テストパケットの挙動のモニタリングする構成要素や処理手順、又は結果を収集して分析する構成要素や処理手順を必要とせず、テストパケットとOFS群の相互作用だけにより、テストの開始からテスト結果の判定、テスト結果の反映に至るまで、自律的に実施できる。
 本発明は、OFCのソフトウェアの更新、及び、OFSのファームウェアの更新のみで実現できる。
 本発明は、オープンフローネットワークシステムにおける閉路形成のテストに利用できる。
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2010-257781に基づく優先権を主張するものであり、日本出願番号2010-257781における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  パケットを受信し、フローテーブルに登録されたフローエントリに従って前記パケットを転送するスイッチと、
     前記スイッチからの問い合わせに応じて、前記フローテーブルにフローエントリを登録するコントローラと
    を含み、
     前記スイッチは、
     受信パケットがテストパケットか否かを確認する手段と、
     前記受信パケットがテストパケットでない場合、前記フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認する手段と、
     前記受信パケットにマッチするフローエントリがない場合、前記コントローラに問い合わせる手段と、
     前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成する手段と、
     前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始する手段と、
     テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄する手段と
    を具備する
     閉路形成未然防止システム。
  2.  請求項1に記載の閉路形成未然防止システムであって、
     前記コントローラは、
     前記スイッチから問い合わせを受けた際、経路を計算する手段と、
     テストを一意に識別可能なテストIDを生成する手段と、
     前記スイッチに、経路計算結果に基づくフローエントリを仮登録する手段と
     前記仮登録されるフローエントリの中に、アクションフィールドとテストIDフィールドとを設ける手段と、
     前記アクションフィールドに、仮登録である旨の内容のデータを格納する手段と、
     前記テストIDフィールドに、前記テストIDの値を格納する手段と
    を具備する
     閉路形成未然防止システム。
  3.  請求項2に記載の閉路形成未然防止システムであって、
     前記スイッチは、
     テストパケットを生成する際、当該テストパケットに、基本ヘッダ部とテストデータ部とを設ける手段と、
     前記基本ヘッダ部のサービスタイプフィールド及びプロトコルタイプフィールドに、テストパケットである旨を示す値を格納する手段と、
     前記基本ヘッダ部の生存時間フィールドに、前記受信パケットに記されていた値を転記する手段と、
     前記テストデータ部のテストIDフィールドに、前記コントローラから仮登録されたフローエントリに記載されているテストIDを格納する手段と、
     前記テストデータ部のテスト成否フラグフィールドに、テスト未完のステータスであることを示す値を格納する手段と、
     前記テストデータ部の通過OFS情報フィールドに、前記スイッチのMACアドレス及びポート番号の値を格納する手段と
    を更に具備する
     閉路形成未然防止システム。
  4.  請求項3に記載の閉路形成未然防止システムであって、
     前記スイッチは、
     前記受信パケットがテストパケットである場合、前記テストパケットのテスト成否フラグフィールドの値を参照する手段と、
     前記テストパケットのテスト成否フラグフィールドに値がセットされていないか、値が0である場合、テスト処理中であると判断し、生存時間フィールドの値が0か否かを確認する手段と、
     前記テストパケットの生存時間フィールドの値が0であった場合、パケットの生存期限切れであると判断し、テスト失敗と判断する手段と、
     前記テストパケットの生存時間フィールドの値が0でない場合、前記フローテーブルの既存のフローエントリの中に、前記テストパケットにマッチするフローエントリがあるか否かを確認する手段と、
     前記テストパケットにマッチするフローエントリがある場合、当該フローエントリのテストIDフィールドに、前記テストパケットのテストIDフィールドに記されている値と同一の値があるか否かを確認する手段と、
     同一の値があった場合、閉路が形成されたと判断し、テスト失敗と判断する手段と、
     同一の値がない場合、現段階では閉路は形成されていないと判断し、当該フローエントリの転送先がホストであるか否かを確認する手段と、
     当該フローエントリの転送先がホストである場合、閉路を形成しておらずルーティングできると判断し、テスト成功と判断する手段と、
     テスト結果を表す値を、前記テストパケットのテスト成否フラグフィールドに格納する手段と、
     前記テストパケットの通過OFS情報フィールドの末尾のMACアドレスを参照して、前記テストパケットを1つ前に経由したスイッチに転送し、テストを完了する手段と
    を更に具備する
     閉路形成未然防止システム。
  5.  請求項4に記載の閉路形成未然防止システムであって、
     前記スイッチは、
     前記テストパケットにマッチするフローエントリがない場合、前記コントローラに問い合わせる手段と、
     前記コントローラからフローエントリが仮登録された場合、或いは、前記テストパケットにマッチするフローエントリの転送先がホストでない場合、当該フローエントリのテストIDフィールドに、前記テストパケットのテストIDフィールドに記されている値を記入する手段と、
     前記テストパケットの通過OFS情報フィールドに、前記スイッチのMACアドレス及びポート番号の値を格納する手段と、
     前記テストパケットの生存時間フィールドの値を1減算する手段と、
     当該フローエントリに従い、前記テストパケットを転送し、テストを継続する手段と
    を更に具備する
     閉路形成未然防止システム。
  6.  請求項4又は5に記載の閉路形成未然防止システムであって、
     前記スイッチは、
     前記テストパケットのテスト成否フラグフィールドに0以外の値がセットされている場合、前記テストパケットの通過OFS情報フィールドの末尾から、前記スイッチのMACアドレスを削除する手段と、
     前記フローテーブルに登録されているフローエントリの中から、前記テストパケットのテストIDフィールドに記されている値と同一の値がテストIDフィールドに記されているフローエントリを検索する手段と、
     検出されたフローエントリのアクションフィールドを参照して、当該フローエントリが仮登録のフローエントリか本登録のフローエントリかを判断する手段と、
     当該フローエントリが仮登録のフローエントリであった場合、前記テストパケットのテスト成否フラグを参照する手段と、
     前記テストパケットのテスト成否フラグフィールドにテスト成功を表す値が入っている場合、当該フローエントリを本登録のフローエントリに更新する手段と、
     前記テストパケットのテスト成否フラグフィールドにテスト失敗を表す値が入っている場合、当該フローエントリを削除する手段と、
     当該フローエントリが本登録のフローエントリであった場合、テストの成否に関わらず、当該フローエントリのテストIDフィールドから、前記テストパケットのテストIDフィールドに記載されているテストIDの値を削除する手段と、
     前記テストパケットの通過OFS情報フィールドを参照し、1個以上のMACアドレスがあるか否かを確認する手段と、
     前記テストパケットの通過OFS情報フィールドに1個以上のMACアドレスがある場合は、前記テストパケットの通過OFS情報フィールドの末尾のMACアドレスを持つスイッチに前記テストパケットを転送し、テストを継続する手段と、
     前記テストパケットの通過OFS情報フィールドに1個もMACアドレスがない場合、前記テストパケットの生成元のスイッチに戻ってきたと判断し、前記テストパケットのテスト成否フラグフィールドを参照して、テストの成否を確認する手段と、
     テストが成功していた場合、前記保留していた受信パケットを、本登録のフローエントリに従って転送する手段と、
     テストが失敗していた場合、前記保留していた受信パケットを破棄し、前記コントローラに対してエラーを返す手段と、
     前記テストパケットを破棄し、テストを完了する手段と
    を更に具備する
     閉路形成未然防止システム。
  7.  受信パケットがテストパケットか否かを確認する手段と、
     前記受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認する手段と、
     前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送する手段と、
     前記受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせる手段と、
     前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成する手段と、
     前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始する手段と、
     テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄する手段と
    を具備する
     スイッチ。
  8.  フローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチから受信パケットについての問い合わせを受けた際、経路を計算する手段と、
     テストを一意に識別可能なテストIDを生成する手段と、
     前記スイッチに、経路計算結果に基づくフローエントリを仮登録する手段と
     前記仮登録されるフローエントリの中に、アクションフィールドとテストIDフィールドとを設ける手段と、
     前記アクションフィールドに、仮登録である旨の内容のデータを格納する手段と、
     前記テストIDフィールドに、前記テストIDの値を格納する手段と
    を具備する
     コントローラ。
  9.  スイッチにより実施される閉路形成未然防止方法であって、
     受信パケットがテストパケットか否かを確認することと、
     前記受信パケットがテストパケットでない場合、前記フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認することと、
     前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送することと、
     前記受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせることと、
     前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成することと、
     前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始することと、
     テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄することと
    を含む
     閉路形成未然防止方法。
  10.  受信パケットがテストパケットか否かを確認するステップと、
     前記受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認するステップと、
     前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送するステップと、
     前記受信パケットにマッチするフローエントリがない場合、前記コントローラに問い合わせるステップと、
     前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成するステップと、
     前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始するステップと、
     テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄するステップと
    をスイッチに実行させるためのプログラムを格納するための
     記憶媒体。
PCT/JP2011/068116 2010-11-18 2011-08-09 閉路形成未然防止システム、及び閉路形成未然防止方法 WO2012066830A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201180053712.4A CN103210615B (zh) 2010-11-18 2011-08-09 闭合环路形成防止系统和闭合环路形成防止方法
JP2012544132A JP5435317B2 (ja) 2010-11-18 2011-08-09 閉路形成未然防止システム、及び閉路形成未然防止方法
EP11840851.7A EP2642700A4 (en) 2010-11-18 2011-08-09 Closed-path formation forestalling system and closed-path formation forestalling method
US13/824,358 US9143447B2 (en) 2010-11-18 2011-08-09 Closed loop formation preventing system and closed loop formation preventing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-257781 2010-11-18
JP2010257781 2010-11-18

Publications (1)

Publication Number Publication Date
WO2012066830A1 true WO2012066830A1 (ja) 2012-05-24

Family

ID=46083774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/068116 WO2012066830A1 (ja) 2010-11-18 2011-08-09 閉路形成未然防止システム、及び閉路形成未然防止方法

Country Status (5)

Country Link
US (1) US9143447B2 (ja)
EP (1) EP2642700A4 (ja)
JP (1) JP5435317B2 (ja)
CN (1) CN103210615B (ja)
WO (1) WO2012066830A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014000290A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 数据报文的控制方法、设备及系统
WO2014063605A1 (en) * 2012-10-22 2014-05-01 Huawei Technologies Co., Ltd. System and apparatus of generalized network controller for a software defined network (sdn)
WO2014112614A1 (ja) * 2013-01-21 2014-07-24 日本電気株式会社 制御情報管理装置、制御情報提示方法及びプログラム
US20150009828A1 (en) * 2012-03-05 2015-01-08 Takahiko Murakami Network System, Switch and Method of Network Configuration
US9912592B2 (en) 2013-09-23 2018-03-06 Hewlett Packard Enterprise Development Lp Troubleshooting openflow networks

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161122A (ja) * 2012-02-01 2013-08-19 Canon Inc データ処理装置、情報処理方法、及びプログラム
KR101569588B1 (ko) * 2013-08-29 2015-11-16 주식회사 케이티 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
WO2015066208A1 (en) * 2013-11-04 2015-05-07 Illumio, Inc. Pairing in a distributed network management system that uses a logical multi-dimensional label-based policy model
WO2015176257A1 (zh) * 2014-05-21 2015-11-26 华为技术有限公司 OpenFlow设备与IP网络设备通信的方法、装置和系统
WO2016019676A1 (zh) 2014-08-06 2016-02-11 华为技术有限公司 一种软件定义网络sdn中处理数据包的方法、装置及系统
CN105704020B (zh) * 2014-11-25 2019-05-17 华为技术有限公司 环路避免方法,设备和系统
CN106375357B (zh) * 2015-07-22 2020-01-07 中兴通讯股份有限公司 软件定义网络设备与控制器连接状态的指示方法及装置
EP3400685B1 (en) 2016-01-05 2020-07-01 Telefonaktiebolaget LM Ericsson (PUBL) Mechanism to detect control plane loops in a software defined networking (sdn) network
CN112565026B (zh) * 2021-02-20 2021-06-04 支付宝(杭州)信息技术有限公司 测试帧的生成方法、装置及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257781A (ja) 2009-04-24 2010-11-11 J&K Car Electronics Corp 電線、ボイスコイル、電線結合装置、及び電線の製造方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975592B1 (en) * 2000-11-22 2005-12-13 Nortel Networks Limited Configurable rule-engine for layer-7 and traffic characteristic-based classification
US7139278B2 (en) * 2001-12-21 2006-11-21 Nortel Networks Limited Routing traffic in a communications network
US7369557B1 (en) * 2004-06-03 2008-05-06 Cisco Technology, Inc. Distribution of flows in a flow-based multi-processor system
JP2007049495A (ja) * 2005-08-10 2007-02-22 Mitsubishi Electric Corp リングノード装置
US8107382B2 (en) * 2006-03-31 2012-01-31 Avaya Holdings Limited Loop detection in a communications network
US7453818B2 (en) 2006-05-01 2008-11-18 Cisco Technology, Inc. Detection of potential forwarding loops in bridged networks
US7848331B2 (en) * 2006-07-20 2010-12-07 Oracle America, Inc. Multi-level packet classification
CN101159981B (zh) * 2007-10-26 2011-06-08 华为技术有限公司 呼叫路由建立方法、网元设备及网络系统
US8284665B1 (en) * 2008-01-28 2012-10-09 Juniper Networks, Inc. Flow-based rate limiting
US7826381B1 (en) * 2008-05-30 2010-11-02 Spirent Communications, Inc. Method and device test data streams bound to emulated devices
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
US7872988B1 (en) * 2009-09-21 2011-01-18 Spirent Communications, Inc. Methods and apparatuses for generating network test packets and parts of network test packets
US8443434B1 (en) * 2009-10-06 2013-05-14 Palo Alto Networks, Inc. High availability security device
JP5648926B2 (ja) * 2010-02-01 2015-01-07 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257781A (ja) 2009-04-24 2010-11-11 J&K Car Electronics Corp 電線、ボイスコイル、電線結合装置、及び電線の製造方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NOBUHIKO ITO ET AL.: "An Efficient Calculation of Passive Type Loop Detection Method and it's Implimentation on OpenFlow-based Network", IEICE TECHNICAL REPORT, vol. 109, no. 448, 25 February 2010 (2010-02-25), pages 31 - 36, XP008170473 *
See also references of EP2642700A4
YOICHI HATANO ET AL.: "An Efficient Measurement Flow Placement for QoS Degradation Locating on OpenFlow-based Network", IEICE TECHNICAL REPORT, vol. 109, no. 448, 25 February 2010 (2010-02-25), pages 25 - 30, XP008164079 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150009828A1 (en) * 2012-03-05 2015-01-08 Takahiko Murakami Network System, Switch and Method of Network Configuration
US9548933B2 (en) * 2012-03-05 2017-01-17 Nec Corporation Network system, switch, and methods of network configuration
WO2014000290A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 数据报文的控制方法、设备及系统
WO2014063605A1 (en) * 2012-10-22 2014-05-01 Huawei Technologies Co., Ltd. System and apparatus of generalized network controller for a software defined network (sdn)
US8982727B2 (en) 2012-10-22 2015-03-17 Futurewei Technologies, Inc. System and apparatus of generalized network controller for a software defined network (SDN)
WO2014112614A1 (ja) * 2013-01-21 2014-07-24 日本電気株式会社 制御情報管理装置、制御情報提示方法及びプログラム
CN105027502A (zh) * 2013-01-21 2015-11-04 日本电气株式会社 控制信息管理装置、控制信息呈现方法和程序
JP5991385B2 (ja) * 2013-01-21 2016-09-14 日本電気株式会社 制御情報管理装置、制御情報提示方法及びプログラム
US10411979B2 (en) 2013-01-21 2019-09-10 Nec Corporation Control information management apparatus, control information presentation method, and program
US9912592B2 (en) 2013-09-23 2018-03-06 Hewlett Packard Enterprise Development Lp Troubleshooting openflow networks

Also Published As

Publication number Publication date
EP2642700A4 (en) 2017-09-27
EP2642700A1 (en) 2013-09-25
JP5435317B2 (ja) 2014-03-05
CN103210615B (zh) 2015-11-25
CN103210615A (zh) 2013-07-17
US9143447B2 (en) 2015-09-22
US20130176889A1 (en) 2013-07-11
JPWO2012066830A1 (ja) 2014-05-12

Similar Documents

Publication Publication Date Title
JP5435317B2 (ja) 閉路形成未然防止システム、及び閉路形成未然防止方法
JP5811253B2 (ja) ネットワークシステム、及びネットワーク管理方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
JP5652630B2 (ja) ネットワークシステム、スイッチ、及び接続端末検知方法
US9590923B2 (en) Reliable link layer for control links between network controllers and switches
JP5842933B2 (ja) ネットワークシステム、及び経路情報同期方法
WO2011083786A1 (ja) 通信制御システム、及び通信制御方法
JP5747993B2 (ja) 負荷低減システム、及び負荷低減方法
CN103907319A (zh) 路由子集的安装和使用
US9203758B2 (en) Network system, packet processing method and recording medium
JP2021197725A (ja) バーチャルローカルエリアネットワーク(vlan)タグ操作により、時間依存ネットワーキング(tsn)ネットワークと非tsnネットワーク間のパケットをルーティングする装置、および、方法
JP5821641B2 (ja) ネットワークシステム、スイッチ、及びスイッチ間設定通知方法
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム

Legal Events

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

Ref document number: 11840851

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13824358

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2012544132

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011840851

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE