WO2012066830A1 - 閉路形成未然防止システム、及び閉路形成未然防止方法 - Google Patents
閉路形成未然防止システム、及び閉路形成未然防止方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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
Description
従来の課題を説明するに当たり、まず、図1を用いて、オープンフローネットワークシステムの構成例について説明する。
OFS12(12-j、j=1~y)の各々には、図2で示される形式のフローエントリが複数登録されている。
図2に示すように、フローエントリは、大きく、「ルール」フィールド(領域)、「アクション」フィールド、「統計情報」フィールドの3つのフィールドを有する。
次に、図3を用いて、図1のようなネットワーク構成においては閉路が構成され得ることについて説明する。
なお、閉路の種類としては、図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)に相当する。
図4Aに示すパターンでは、ホスト30-1からパケットを受けたOFS31-1において、当該パケットが新規に登録されたフローエントリにマッチし、新規に登録されたフローエントリに従って転送された結果、OFS31-2に到着する。OFS31-2及びOFS31-3において、当該パケットが既存のフローエントリにマッチし、既存のフローエントリに従って転送された結果、OFS31-2及びOFS31-3を経てOFS31-1に戻ってくるため、OFS31-1、OFS31-2、及びOFS31-3の間で閉路が形成されてしまう。
図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での負荷が高くなるという課題があった。
本発明は、図1に示すようなオープンフローネットワークシステムを対象としている。
図7は、本発明で用いるフローエントリの形式である。本発明におけるフローエントリは、図2のフローエントリを拡張し、「テストID」フィールドを追加したものである。
図8は、本発明で用いるテストパケットの形式である。ここでは、テストパケットが「IPv4」に準拠する場合を例に説明する。
次に、図9を参照して、(A)テストの実施例、(B)成否判断の実施例、(C)結果反映の実施例の順に説明する。
図9に示すオープンフローネットワークシステムは、ホスト40(40-i、i=1~x)と、OFS41(41-j、j=1~y)と、OFC42(42-k、k=1~z)を含む。
ホスト40-1は、ホスト40-2宛のパケットをOFS41-1に送信する。OFS41-1は、パケットを受け取った際、フローテーブルに登録されたフローエントリの中に、パケットに記された転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。
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」を格納する。
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アドレス及びポート番号の値を格納する。
OFS41-1は、上記のようにして生成されたテストパケットを、仮登録されたフローエントリに従って、OFS41-2宛に転送する。
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」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
OFS41-2は、テストパケットを、マッチした既存のフローエントリに従って、OFS41-3宛に転送する。
OFS41-3は、到着したパケットのサービスタイプとプロトコルタイプの値をチェックすることで、テストパケットが到着したことを検知する。OFS41-3は、テストパケットの「通過OFS情報」フィールドに、OFS41-3のMACアドレス及びポート番号の値を追加する。OFS41-3は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがあるかないかを判断する。
OFS41-3は、自身のフローテーブルの既存のフローエントリの中に、テストパケットの転送先アドレス・転送元アドレスの値がマッチするフローエントリがないので、OFC42-2に仮登録のフローエントリ設定を依頼する。OFC42-2は、具備する経路計算ルーチンにより経路の計算を行う。OFC42-2は、その計算結果をフローエントリとしてOFS41-3に登録する際、このフローエントリを仮登録のフローエントリとする。また、OFC42-2は、ステップA03と同様に、仮登録であることが判別可能となるように、仮登録のフローエントリの「アクション」フィールドに、例えば、「TESTFORWARD」といった内容のデータを記すものとする。
OFS41-3は、仮登録のフローエントリの「テストID」フィールドに、当該テストパケットの「テストID」フィールドに記されている値を格納する。
OFS41-3は、テストパケットを、仮登録されたフローエントリに従って、OFS41-4宛に転送する。
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」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
OFS41-4は、テストパケットを、マッチした既存のフローエントリに従って、OFS41-5宛に転送する。
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」フィールドと同一の値が記されている場合、閉路が形成されたことになるため、この時点でテスト失敗としてテストを完了する。ここでは、テスト失敗ではないものとして、テストを継続する。
OFS41-5は、テストパケットを、マッチした既存のフローエントリに従って、ホスト40-2に転送する。
(A)のステップA01からステップA14は、閉路が生成されなかった事例(ケース)の実施例である。
上記の(A)(B)の実施例のように、テストパケットを転送し続けることにより、いずれかのOFSにおいて、テストが成功/失敗して完了する。OFSは、テスト結果を反映させるために、テスト結果の値を「テスト成否フラグ」フィールドに詰めた後、テストパケットとフローエントリのクリーンナップ(clean up)処理を行う。
OFSは、クリーンナップ処理の対象がテストパケットの場合、当該テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾に、自身のMACアドレスが記載されているので、このMACアドレスを削除する。
OFSは、クリーンナップ処理の対象が本登録のフローエントリの場合、テストの成否に関わらず、当該フローエントリの「テストID」フィールドから、自身に該当するテストIDを削除し、テスト中に付与したデータを削除する。
OFSは、クリーンナップ処理の対象が仮登録のフローエントリの場合、テストの成否に応じてクリーンナップ処理を行う。例えば、OFSは、テスト失敗の場合、仮登録のフローエントリ自体を削除する。また、OFSは、テスト成功の場合、仮登録のフローエントリの「アクション」フィールドを書き換えて、仮登録のフローエントリから本登録のフローエントリに更新する。
図10A、図10B、及び図10Cを用いて、OFSの処理ルーチンについて説明する。
OFSは、パケットを受け取ったとき、パケットのヘッダ部の「サービスタイプ」、「プロトコル」を参照することにより、テストパケットか否かを確認(チェック)する。
OFSは、受け取ったパケットがテストパケットでない場合、パケットのヘッダ部の「送信元アドレス」、「宛て先アドレス」を基に、自身のフローテーブルの既存のフローエントリの中に、マッチするフローエントリがあるかないかを判断する。
OFSは、マッチするフローエントリがある場合は、そのエントリに従って転送等の処理をする。
OFSは、マッチするフローエントリがない場合は、OFCに経路を問い合わせる。OFCは、経路を計算し、テストIDを生成する。
OFCは、計算結果を基に、OFSにフローエントリを仮登録する。OFCは、当該フローエントリの「アクション」フィールドに、仮登録による転送である旨を記す。また、OFCは、当該フローエントリの「テストID」フィールドに、生成したテストIDを記す。
OFSは、テストパケットを生成する。テストパケットの生成については、ステップA03で説明した通りである。
OFSは、元々受け取ったパケットを、ペンディング扱いとして保持しておき、ステップB06で生成したテストパケットを、ステップB05で仮登録したフローエントリに従って転送する。これにより、テストが開始したことになる。
また、OFSは、ステップB01において、受け取ったパケットがテストパケットである場合は、テスト処理中、或いは、テスト結果の反映処理中であるか、テスト成否フラグの値を参照して判断する。
OFSは、ステップB08において、「テスト成否フラグ」フィールドに値がセットされていない(或いは、値が0である)場合は、テスト処理中であると判断し、「生存時間」フィールドの値が0か否かを確認する。
OFSは、ステップB09において、「生存時間」フィールドの値が0であった場合は、パケットの生存期限(有効期限)切れであると判断する。
OFSは、ステップB09において、「生存時間」フィールドの値が0でない場合は、パケットのヘッダ部の「送信元アドレス」、「宛て先アドレス」を基に、自身のフローテーブルの既存のフローエントリの中に、マッチするフローエントリがあるかないかを判断する。
OFSは、ステップB11において、マッチするフローエントリがある場合、当該フローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値と同一の値があるか否かを確認する。
OFSは、ステップB12において、同一の値があった場合は、閉路を検出したことになるため、テスト失敗と判断する。
OFSは、ステップB12において、同一の値が無い場合は、現段階では閉路は形成されていないと判断し、当該フローエントリの転送先がホストであるか否かを確認する。
OFSは、ステップB14において、当該フローエントリの転送先がホストである場合、閉路を形成しておらず、ルーティングできることを検出したことになるため、テスト成功と判断する。
OFSは、テスト結果を表す値を、テストパケットの「テスト成否フラグ」フィールドに格納する。ここでは、OFSは、ステップB10を経由した場合は、生存期限(有効期限)切れで失敗したことを表す「3」を、テストパケットの「テスト成否フラグ」フィールドに格納する。また、OFSは、ステップB13を経由した場合は、閉路が形成されて失敗したことを表す「2」を、テストパケットの「テスト成否フラグ」フィールドに格納する。また、OFSは、ステップB15を経由した場合は、成功を表す「1」を、テストパケットの「テスト成否フラグ」フィールドに格納する。
OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾のMACアドレスを参照して、テストパケットを1つ前に経由したOFSに転送し、この時点でテストを完了する。
OFSは、ステップB11において、マッチするフローエントリがない場合は、OFCに経路を問い合わせる。OFCは、経路を計算する。
OFCは、計算結果を基に、OFSにフローエントリを仮登録する。OFCは、当該フローエントリの「アクション」フィールドに、仮登録による転送である旨を記す。
OFSは、フローエントリにテストIDを格納する。このとき、既に別のフローエントリが格納されている場合は、別のテストを実行中ということである。通常、テストは短い時間で完了するため、当該テストが完了するのを待ち、既存のテストIDがクリーンナップ処理により削除されてから、当該テストパケットのテストIDを格納する。ここでは、OFSは、ステップB14を経由した場合は、マッチしたフローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値を記す。また、OFSは、ステップB19を経由した場合は、仮登録されたフローエントリの「テストID」フィールドに、テストパケットの「テストID」フィールドに記されている値を記す。
OFSは、テストパケットの「通過OFS情報」フィールドに、自OFSのMACアドレス及びポート番号を記載し、テストパケットの「生存時間」フィールドの値を1減算し、エントリに従って転送する。
また、ステップB08において、「テスト成否フラグ」フィールドに、テスト成功を表す値、或いは、テスト失敗を表す値がセットされていた場合(0以外の値がセットされている場合)は、テスト結果の反映処理中であるということである。OFSにおいて、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾のMACアドレスを見ると、当該OFSのMACアドレスが記載されているはずである。OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドの末尾から、自身のMACアドレスを削除する。
OFSは、自身のフローテーブルに登録されているフローエントリの中から、テストパケットの「テストID」フィールドに記されている値と同一の値が「テストID」フィールドに記されているフローエントリを探す。
OFSは、見つかったフローエントリの「アクション」フィールドを参照して、当該フローエントリが仮登録のフローエントリか本登録のフローエントリかを判断する。
OFSは、ステップB24の結果、当該フローエントリが仮登録のフローエントリであった場合、テストパケットの「テスト成否フラグ」を参照する。
OFSは、ステップB25の結果、「テスト成否フラグ」フィールドにテスト成功を表す値が入っていれば、仮登録のフローエントリを本登録のフローエントリに更新する。すなわち、OFSは、当該フローエントリの「アクション」フィールドに記された仮登録である旨を示す内容のデータを、本登録である旨を示す内容のデータに更新する。例えば、OFSは、当該フローエントリの「アクション」フィールドから、仮登録である旨を示す内容のデータを削除するようにしても良い。
OFSは、ステップB25の結果、「テスト成否フラグ」フィールドにテスト失敗を表す値が入っていれば、当該フローエントリを削除する。
OFSは、ステップB24の結果、当該フローエントリが本登録のフローエントリであった場合、テストの成否に関わらず、当該フローエントリの「テストID」フィールドから、テストパケットの「テストID」フィールドに記載されているテストIDの値を削除する。
OFSは、テストパケットのテストデータ部の「通過OFS情報」フィールドを参照し、1個以上のMACアドレスがあるか否かを確認する。
OFSは、ステップB29において、1個以上のMACアドレスがある場合は、「通過OFS情報」フィールドの末尾のMACアドレスを持つOFSにテストパケットを転送する。
ステップB29において、1個もMACアドレスがない場合は、テストパケット生成元のOFSに戻ってきたということである。OFSは、テストパケットの「テスト成否フラグ」フィールドを参照して、テストの成否を確認する。
OFSは、ステップB31において、テストが成功していた場合、ステップB07においてペンディングとしていたパケットを、フローエントリに従って転送する。また、OFSは、テストパケットを破棄する。
OFSは、ステップB31において、テストが失敗していた場合、ステップB07においてペンディングとしていたパケットを破棄し、OFCに対してエラーを返す。また、OFSは、テストパケットを破棄する。
本発明では、テストパケットにより、事前に閉路の形成をチェックし、その結果をフローエントリ登録に反映できる。そのため、OFC等のコントローラ同士が連携することを必要とせず、閉路の形成を未然に防止できる。
図11を参照して、本発明に係る閉路形成未然防止システムにおけるOFSの内部構成例について説明する。
図12を参照して、テストパケット生成部114の詳細について説明する。
図13を参照して、テスト実行部115の詳細について説明する。
以下に、テストパケットが未登録の場合における処理について説明する。
以下に、テストが実行済みの場合における処理について説明する。
図14を参照して、本発明に係る閉路形成未然防止システムにおけるOFCの内部構成例について説明する。
ホスト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)でも良い。
以上のように、本発明では、オープンフロー(OpenFlow)ネットワークにおける閉路形成を未然に防止する。
Claims (10)
- パケットを受信し、フローテーブルに登録されたフローエントリに従って前記パケットを転送するスイッチと、
前記スイッチからの問い合わせに応じて、前記フローテーブルにフローエントリを登録するコントローラと
を含み、
前記スイッチは、
受信パケットがテストパケットか否かを確認する手段と、
前記受信パケットがテストパケットでない場合、前記フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認する手段と、
前記受信パケットにマッチするフローエントリがない場合、前記コントローラに問い合わせる手段と、
前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成する手段と、
前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始する手段と、
テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄する手段と
を具備する
閉路形成未然防止システム。 - 請求項1に記載の閉路形成未然防止システムであって、
前記コントローラは、
前記スイッチから問い合わせを受けた際、経路を計算する手段と、
テストを一意に識別可能なテストIDを生成する手段と、
前記スイッチに、経路計算結果に基づくフローエントリを仮登録する手段と
前記仮登録されるフローエントリの中に、アクションフィールドとテストIDフィールドとを設ける手段と、
前記アクションフィールドに、仮登録である旨の内容のデータを格納する手段と、
前記テストIDフィールドに、前記テストIDの値を格納する手段と
を具備する
閉路形成未然防止システム。 - 請求項2に記載の閉路形成未然防止システムであって、
前記スイッチは、
テストパケットを生成する際、当該テストパケットに、基本ヘッダ部とテストデータ部とを設ける手段と、
前記基本ヘッダ部のサービスタイプフィールド及びプロトコルタイプフィールドに、テストパケットである旨を示す値を格納する手段と、
前記基本ヘッダ部の生存時間フィールドに、前記受信パケットに記されていた値を転記する手段と、
前記テストデータ部のテストIDフィールドに、前記コントローラから仮登録されたフローエントリに記載されているテストIDを格納する手段と、
前記テストデータ部のテスト成否フラグフィールドに、テスト未完のステータスであることを示す値を格納する手段と、
前記テストデータ部の通過OFS情報フィールドに、前記スイッチのMACアドレス及びポート番号の値を格納する手段と
を更に具備する
閉路形成未然防止システム。 - 請求項3に記載の閉路形成未然防止システムであって、
前記スイッチは、
前記受信パケットがテストパケットである場合、前記テストパケットのテスト成否フラグフィールドの値を参照する手段と、
前記テストパケットのテスト成否フラグフィールドに値がセットされていないか、値が0である場合、テスト処理中であると判断し、生存時間フィールドの値が0か否かを確認する手段と、
前記テストパケットの生存時間フィールドの値が0であった場合、パケットの生存期限切れであると判断し、テスト失敗と判断する手段と、
前記テストパケットの生存時間フィールドの値が0でない場合、前記フローテーブルの既存のフローエントリの中に、前記テストパケットにマッチするフローエントリがあるか否かを確認する手段と、
前記テストパケットにマッチするフローエントリがある場合、当該フローエントリのテストIDフィールドに、前記テストパケットのテストIDフィールドに記されている値と同一の値があるか否かを確認する手段と、
同一の値があった場合、閉路が形成されたと判断し、テスト失敗と判断する手段と、
同一の値がない場合、現段階では閉路は形成されていないと判断し、当該フローエントリの転送先がホストであるか否かを確認する手段と、
当該フローエントリの転送先がホストである場合、閉路を形成しておらずルーティングできると判断し、テスト成功と判断する手段と、
テスト結果を表す値を、前記テストパケットのテスト成否フラグフィールドに格納する手段と、
前記テストパケットの通過OFS情報フィールドの末尾のMACアドレスを参照して、前記テストパケットを1つ前に経由したスイッチに転送し、テストを完了する手段と
を更に具備する
閉路形成未然防止システム。 - 請求項4に記載の閉路形成未然防止システムであって、
前記スイッチは、
前記テストパケットにマッチするフローエントリがない場合、前記コントローラに問い合わせる手段と、
前記コントローラからフローエントリが仮登録された場合、或いは、前記テストパケットにマッチするフローエントリの転送先がホストでない場合、当該フローエントリのテストIDフィールドに、前記テストパケットのテストIDフィールドに記されている値を記入する手段と、
前記テストパケットの通過OFS情報フィールドに、前記スイッチのMACアドレス及びポート番号の値を格納する手段と、
前記テストパケットの生存時間フィールドの値を1減算する手段と、
当該フローエントリに従い、前記テストパケットを転送し、テストを継続する手段と
を更に具備する
閉路形成未然防止システム。 - 請求項4又は5に記載の閉路形成未然防止システムであって、
前記スイッチは、
前記テストパケットのテスト成否フラグフィールドに0以外の値がセットされている場合、前記テストパケットの通過OFS情報フィールドの末尾から、前記スイッチのMACアドレスを削除する手段と、
前記フローテーブルに登録されているフローエントリの中から、前記テストパケットのテストIDフィールドに記されている値と同一の値がテストIDフィールドに記されているフローエントリを検索する手段と、
検出されたフローエントリのアクションフィールドを参照して、当該フローエントリが仮登録のフローエントリか本登録のフローエントリかを判断する手段と、
当該フローエントリが仮登録のフローエントリであった場合、前記テストパケットのテスト成否フラグを参照する手段と、
前記テストパケットのテスト成否フラグフィールドにテスト成功を表す値が入っている場合、当該フローエントリを本登録のフローエントリに更新する手段と、
前記テストパケットのテスト成否フラグフィールドにテスト失敗を表す値が入っている場合、当該フローエントリを削除する手段と、
当該フローエントリが本登録のフローエントリであった場合、テストの成否に関わらず、当該フローエントリのテストIDフィールドから、前記テストパケットのテストIDフィールドに記載されているテストIDの値を削除する手段と、
前記テストパケットの通過OFS情報フィールドを参照し、1個以上のMACアドレスがあるか否かを確認する手段と、
前記テストパケットの通過OFS情報フィールドに1個以上のMACアドレスがある場合は、前記テストパケットの通過OFS情報フィールドの末尾のMACアドレスを持つスイッチに前記テストパケットを転送し、テストを継続する手段と、
前記テストパケットの通過OFS情報フィールドに1個もMACアドレスがない場合、前記テストパケットの生成元のスイッチに戻ってきたと判断し、前記テストパケットのテスト成否フラグフィールドを参照して、テストの成否を確認する手段と、
テストが成功していた場合、前記保留していた受信パケットを、本登録のフローエントリに従って転送する手段と、
テストが失敗していた場合、前記保留していた受信パケットを破棄し、前記コントローラに対してエラーを返す手段と、
前記テストパケットを破棄し、テストを完了する手段と
を更に具備する
閉路形成未然防止システム。 - 受信パケットがテストパケットか否かを確認する手段と、
前記受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認する手段と、
前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送する手段と、
前記受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせる手段と、
前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成する手段と、
前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始する手段と、
テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄する手段と
を具備する
スイッチ。 - フローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチから受信パケットについての問い合わせを受けた際、経路を計算する手段と、
テストを一意に識別可能なテストIDを生成する手段と、
前記スイッチに、経路計算結果に基づくフローエントリを仮登録する手段と
前記仮登録されるフローエントリの中に、アクションフィールドとテストIDフィールドとを設ける手段と、
前記アクションフィールドに、仮登録である旨の内容のデータを格納する手段と、
前記テストIDフィールドに、前記テストIDの値を格納する手段と
を具備する
コントローラ。 - スイッチにより実施される閉路形成未然防止方法であって、
受信パケットがテストパケットか否かを確認することと、
前記受信パケットがテストパケットでない場合、前記フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認することと、
前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送することと、
前記受信パケットにマッチするフローエントリがない場合、コントローラに問い合わせることと、
前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成することと、
前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始することと、
テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄することと
を含む
閉路形成未然防止方法。 - 受信パケットがテストパケットか否かを確認するステップと、
前記受信パケットがテストパケットでない場合、フローテーブルの既存のフローエントリの中に、前記受信パケットにマッチするフローエントリがあるか否かを確認するステップと、
前記受信パケットにマッチするフローエントリがある場合、当該フローエントリに従って、前記受信パケットを転送するステップと、
前記受信パケットにマッチするフローエントリがない場合、前記コントローラに問い合わせるステップと、
前記コントローラから仮登録されたフローエントリを基に、テストパケットを生成するステップと、
前記受信パケットを保留し、前記コントローラから仮登録されたフローエントリに従い、前記テストパケットを転送し、閉路形成を検出するためのテストを開始するステップと、
テストの結果、閉路形成を検出した場合、前記コントローラから仮登録されたフローエントリを破棄するステップと
をスイッチに実行させるためのプログラムを格納するための
記憶媒体。
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)
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)
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)
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)
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 | 日本電気株式会社 | ネットワークシステム、コントローラ、ネットワーク制御方法 |
-
2011
- 2011-08-09 EP EP11840851.7A patent/EP2642700A4/en not_active Withdrawn
- 2011-08-09 US US13/824,358 patent/US9143447B2/en not_active Expired - Fee Related
- 2011-08-09 JP JP2012544132A patent/JP5435317B2/ja not_active Expired - Fee Related
- 2011-08-09 CN CN201180053712.4A patent/CN103210615B/zh not_active Expired - Fee Related
- 2011-08-09 WO PCT/JP2011/068116 patent/WO2012066830A1/ja active Application Filing
Patent Citations (1)
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)
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)
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 |