WO2011080870A1 - 通信システムおよびポート情報収集方法 - Google Patents
通信システムおよびポート情報収集方法 Download PDFInfo
- Publication number
- WO2011080870A1 WO2011080870A1 PCT/JP2010/006875 JP2010006875W WO2011080870A1 WO 2011080870 A1 WO2011080870 A1 WO 2011080870A1 JP 2010006875 W JP2010006875 W JP 2010006875W WO 2011080870 A1 WO2011080870 A1 WO 2011080870A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- port
- packet
- connection destination
- packet transfer
- control device
- 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/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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
-
- 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/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/344—Out-of-band transfers
Definitions
- the present invention relates to a communication system including a plurality of packet transfer devices and a control device that controls each packet transfer device, and a packet transfer device, a control device, a port information collection method, and a control device program applied to the communication system.
- a communication system including a plurality of packet transfer devices and a control device that controls each packet transfer device, and a packet transfer device, a control device, a port information collection method, and a control device program applied to the communication system.
- the communication system includes a plurality of switches that transfer packets and a control device that controls each switch, the control device sets flow entry information in each switch, and forwards packets received by each switch according to the flow entry information .
- the flow entry information is information that defines how to process a packet (transfer, discard, rewrite, etc.) according to the header of the received packet.
- Such a communication system requires a control channel used by the control device to control the switch. For example, when a switch receives a packet that is not defined in the flow entry information, the switch notifies the control device to that effect, and the control device transmits flow entry information corresponding to the packet to the switch.
- the control channel is used for such notification from the switch to the control device, transmission of flow entry information from the control device to the switch, and the like.
- the protocol for the control device to control the switch is called open flow. It can be said that the switch is a packet transfer device that transfers a packet.
- the control channel corresponds to “Secure channel” in OpenFlow. In the open flow, the control device is called a “controller”.
- FIG. 27 is an explanatory diagram illustrating an example of a general communication system to which OpenFlow is applied.
- Each switch 92 shown in FIG. 27 uses a packet transfer communication network 94 when transferring a received packet to another switch based on the flow entry information.
- a control communication network 93 serving as a control channel is provided separately from the packet transfer communication network 94, and the control device 91 controls each switch 92 via the control communication network 93.
- the control communication network 93 uses a routing protocol such as STP (Spanning Tree Protocol), TCP / IP (Transmission Control Protocol / Internet Protocol), RIP (Routing Information Protocol), OSPF (Open Shortest Path First).
- each switch transmits and receives control frames in the communication system to grasp a new topology.
- a control frame for grasping the topology there is, for example, BPDU (Bridge Protocol Data Unit) in STP.
- BPDU Bridge Protocol Data Unit
- a control communication network 93 and a packet transfer communication network 94 are used.
- a communication system including a plurality of packet transfer devices and a control device that controls each packet transfer device a communication network that each packet transfer device uses for packet transfer, and a control device that is used to control each packet transfer device. It is preferable to combine the communication network into one type.
- the present invention is a communication system including a plurality of packet transfer devices and a control device that controls each packet transfer device, wherein each packet transfer device uses a communication network for packet transfer, and the control device uses each packet transfer device.
- Communication system that can be used to control the communication network, and a packet transfer device, a control device, a port information collection method, and a program for the control device that are applied to the communication system.
- the communication system includes a plurality of packet transfer devices and a control device that controls the packet transfer devices, and the control device stores topology information including connection information between the ports of the control device or the packet transfer device.
- a response request transmission means for sending a response request to the connection destination of the connection destination unsearched port, and information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port
- Response receiving means for receiving a response
- the packet transfer apparatus transfers the response request to another packet based on the content of the received response request.
- the transfer determination means for determining whether or not to transfer to the device
- the response request is transferred to the other packet transfer device based on the content of the response request.
- a forwarding means and a response sending means for returning a response sent along the path to the control device, including information on the port of the own packet forwarding device, when it is determined not to forward the response request to another packet forwarding device. It is characterized by including.
- control device is a control device for controlling a plurality of packet transfer devices, topology information storage means for storing topology information including connection information between each port of the control device or the packet transfer device, From the topology information, the connection destination unsearched port specifying means for specifying the connection destination unsearched port whose connection destination is not searched among the ports of the control device or the packet transfer device, via the connection destination unsearched port, Response request transmission means for sending a response request to the connection destination of the connection destination unsearched port, and a response for receiving a response including information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port Receiving means.
- the packet transfer device is a packet transfer device controlled by the control device, and is a response request to the connection destination of the connection destination unsearched port whose connection destination is not searched, and is transmitted by the control device.
- transfer determination means for determining whether to transfer the response request to another packet transfer device, and to transfer the response request to another packet transfer device. If it is determined that the response request is not transferred to another packet transfer device based on the content of the response request, the transfer means for transferring the response request to the other packet transfer device and the port of the own packet transfer device Response transmission means for returning a response that includes information and is sent along a route to the control device.
- the port information collecting method is such that a control device that controls a plurality of packet transfer devices uses the control device or the packet transfer device from topology information including connection information between each port of the control device or the packet transfer device.
- the connection destination unsearched port whose connection destination is not searched is identified, and a response request to the connection destination of the connection destination unsearched port is sent via the connection destination unsearched port, and the connection destination unsearched
- a response including port information of the packet transfer apparatus is received from the packet transfer apparatus to which the port is connected.
- control device program is a control device program installed in a computer that controls a plurality of packet transfer devices, and the connection information between each port of the computer or the packet transfer device is transmitted to the computer.
- the connection destination unsearched port specifying process for specifying the connection destination unsearched port whose connection destination is not searched among the ports of the computer or the packet transfer device from the topology information included, and the connection via the connection destination unsearched port Response request transmission processing for sending a response request to the connection destination of the destination unsearched port, and a response for receiving a response including information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port A reception process is executed.
- the communication network used by each packet transfer device for packet transfer and the control device controls each packet transfer device.
- the communication networks used for the communication can be combined into one type.
- the communication system of the present invention includes a plurality of packet transfer apparatuses that transfer packets and a control apparatus that controls the plurality of switches.
- the control device transmits flow entry information to the packet transfer device, and the packet transfer device processes the packet according to the flow entry information when receiving the packet.
- a terminal device connected to one of the packet transfer devices may transmit or broadcast a packet to another terminal device connected to another packet transfer device via an arbitrary route. It becomes possible.
- the packet transfer device in the present invention is, for example, a switch in open flow
- the control device in the present invention is, for example, a controller in open flow.
- a case where the packet transfer device and the control device are a switch and a controller in the open flow will be described as an example.
- the present invention can be applied to other than open flow.
- the present invention can be applied to any communication system having a configuration in which the control device centrally manages each packet transfer device on the communication network.
- the communication system of the present invention does not include a communication network specialized for control between the control device (controller) and the switch.
- the control device only needs to be connected to at least one switch.
- the control device provides a control channel with each switch using a communication network used by each switch for packet transfer.
- the control device uses the link of the communication network that each switch uses for packet transfer to and from each switch after the switch connected to the control device itself when viewed from the control device.
- a control apparatus communicates with each switch by tunneling via a control channel, and controls each switch. That is, in the present invention, it can be said that the control device forms a star-structured overlay network with individual switches by using a communication network used by each switch for packet transfer.
- the control device holds topology information representing the connection relationship between the control device itself and the ports of each switch. Individual switches need not retain topology information. In the initial state, the control device does not hold the topology information, and makes an inquiry about the connection state of the port to the switch to create the topology information.
- the control device grasps the topology of the switch group, it determines a route to be a control channel with the switch for each switch, and sends a packet for notifying each switch of the route to the control device. Send.
- the control device can recognize the control channel to each switch, and each switch can also recognize the control channel to the control device. Thereafter, when the switch and the control device communicate with each other, the communication is performed by tunneling via the control channel.
- FIG. 1 is an explanatory diagram schematically showing a process from a state in which the control device does not hold topology information to a communication between the control device and the switch through tunneling.
- FIG. 1 (a) schematically shows an initial state of the communication system of the present invention. In this state, the control device 10 is connected to at least one switch of the switch group, but does not recognize which port of which switch is connected.
- the control device 10 Based on the topology information, the control device 10 identifies a port that is a link-up port of the control device itself or a switch port, and which is connected to which port of which switch is unknown. Hereinafter, this port is referred to as a connection destination unsearched port. Then, the control device 10 transmits a request packet so that a packet (hereinafter referred to as a request packet) that inquires the port that is linked up to the switch is output from the connection destination unsearched port (FIG. 1). (See (b)). Since topology information is not retained in the initial state, the control device 10 identifies the port of the control device 10 itself to which switch is unknown as a connection destination unsearched port, and the connection destination unsearched port. Send a request packet from.
- a link-up port is a port connected to another switch.
- the switch 20 that has received the request packet includes information indicating the link-up port, information indicating the port from which the switch has received the request packet, and identification information of the switch 20 itself.
- a packet (hereinafter referred to as a reply packet) is returned to the control device 10 from the port that received the request packet (see FIG. 1C).
- the control device 10 generates and holds topology information based on the reply packet. Further, the control device 10 specifies a connection destination unsearched port based on the topology information, and transmits a request packet so as to be output from the connection destination unsearched port.
- the connection destination unsearched port is a port of the switch 20
- the control device 10 performs source routing so that the switch 20 having the connection destination unsearched port of interest outputs a request packet from the connection destination unsearched port. Request packet is forwarded to each switch.
- the switch 20 that has received the request packet also transmits the reply packet from the port that has received the request packet, and the control device 10 reflects the contents of the reply packet in the topology information.
- control device 10 repeats the identification of the connection destination unsearched port, the transmission of the request packet, the reception of the reply packet, and the creation of topology information. Then, the control device 10 determines that the topology information is completed when it becomes impossible to identify the connection destination unsearched port from the topology information.
- control apparatus 10 determines the path
- Each switch 20 that has received the setup packet stores a path serving as a control channel from the switch 20 itself to the control device 10 based on the setup packet. As a result, each switch 20 can recognize the control channel up to the control device 10.
- communication for the control device 10 to control the switch 20 is performed by tunneling via a control channel determined for each switch 20 (see FIG. 1E).
- the switch 20 notifies the control device 10 to that effect.
- the switch 20 performs this notification by tunneling via the control channel.
- the control device 10 Upon receiving this notification, the control device 10 generates flow entry information and transmits it to the switch.
- the control apparatus 10 transmits flow entry information by tunneling via a control channel.
- a tunnel packet transmitted and received between the control device 10 and the switch 20 via the control channel through tunneling is hereinafter referred to as a tunnel packet.
- control device 10 periodically recreates the topology information. For example, when a certain period of time has elapsed since the control device 10 started generating the request packet in the initial state, the topology information is deleted and returned to the initial state, and generation of the request packet is started again and collected. Based on the reply packet, topology information is newly created, and a setup packet is transmitted to each switch. The control device 10 repeats this operation. By periodically recreating the topology information, even if the connection relationship between the switches is changed, the change can be reflected in the topology information.
- Request packet, reply packet, setup packet and tunnel packet are described as specific packets.
- the switch 20 performs a different process on the specific packet from the data packet transferred between the switches.
- the switch 20 receives a data packet exchanged between terminals (not shown)
- the switch 20 transfers the data packet according to the flow entry information. If the flow entry information does not specify the flow of the data packet, the switch 20 informs the control device 10 of the fact. Notice.
- the switch 20 does not perform such processing, but performs processing according to the request packet, reply packet, setup packet, and tunnel packet.
- each switch gives priority to the processing for the specific packet in the data packet and the specific packet. By giving priority to processing for a specific packet, QoS (Quality of Service) of the communication system can be guaranteed.
- QoS Quality of Service
- a count value corresponding to the number of hops from the transmission source of the specific packet is described. This count value is referred to as a port count.
- FIG. 2 is a block diagram illustrating a configuration example of a control device and a switch included in the communication system of the present invention.
- FIG. 2 illustrates the case where the communication system includes four switches 20a to 20d, but the number of switches and the topology of the switches are not particularly limited.
- 2 illustrates a case where two switches 20a and 20b are connected to the control device 10, but three switches are connected to the control device 10 even if the number of switches is one. It may be the above.
- the control device 10 may be connected to at least one switch.
- the control device 10 includes a control device side specific packet transmission / reception unit 11, a topology search unit 12, a topology holding unit 13, a control channel route determination unit 14, and a control device side control message tunneling unit 15.
- Control device side specific packet transmission / reception unit 11 transmits and receives specific packets. Specifically, the specific packet transmitting / receiving unit 11 transmits a request packet, a setup packet, and a tunnel packet, and receives a reply packet and a tunnel packet.
- the specific packet transmission / reception unit 11 When the specific packet transmission / reception unit 11 receives a reply packet from the switch, the specific packet transmission / reception unit 11 outputs the reply packet to the topology search unit 12. When the specific packet transmission / reception unit 11 receives a tunnel packet from the switch, the specific packet transmission / reception unit 11 outputs the tunnel packet to the control device side control message tunneling processing unit 15.
- the request packet, setup packet, and tunnel packet transmitted by the specific packet transmission / reception unit 11 are sequentially transferred to the switch on the route by the source routing and reach the destination switch.
- the topology search unit 12 that generates the request packet describes the output port of the control device 10 itself and the output port of each switch on the route to the destination switch in the request packet, and the specific packet transmission / reception unit 11 A request packet is transmitted from the port of the control device 10 described first in the output port sequence.
- the control channel route determining unit 14 that generates the setup packet describes the output port of the control device 10 itself and the output port of each switch on the control channel up to the destination switch in the setup packet, in order.
- the transmission / reception unit 11 transmits a setup packet from the port of the control device 10 described first in the output port sequence.
- control-device-side control message tunneling processing unit 15 that generates a tunnel packet to be sent to the switch sequentially outputs the output port of the control device 10 and the output port of each switch on the control channel to the destination switch.
- the specific packet transmitting / receiving unit 11 transmits the tunnel packet from the port of the control device 10 described first in the output port sequence. The source routing will be described later.
- the output port string is a sequence of port identification information.
- a number port identification number
- the topology search unit 12 identifies a connection destination unsearched port, generates a request packet, and transmits the request packet to the specific packet transmission / reception unit 11.
- a reply packet transmitted from the switch is input as a response to the request packet, topology information is created based on the reply packet and stored in the topology holding unit 13.
- the topology search unit 12 repeats this process until it becomes impossible to identify the connection destination unsearched port from the topology information.
- the topology searching unit 12 selects a link-up port of the control device 10 itself as a connection destination unsearched port. Then, the topology search unit 12 describes the port selected as the connection destination unsearched port as an output port in the request packet, the length of the output port string (that is, the number of described output ports), and the port count. Describe the initial value. In this case, since the output port is only the port of the control device 10 itself, the length of the output port string is 1.
- the topology search unit 12 generates a request packet for each connection destination unsearched port. That is, there is a one-to-one correspondence between the connection destination unsearched port and the request packet.
- the specific packet transmitting / receiving unit 11 transmits each request packet from the port described in the request packet.
- the topology search unit 12 refers to the topology information, and among the ports linked up of the switch described in the topology information, A port whose connection to which port is unknown is specified as a connection destination unsearched port. Furthermore, the topology search unit 12 identifies the route from the control device 10 to the switch having the connection destination unsearched port of interest from the created topology information. The topology search unit 12 describes the output port of the control apparatus 10 itself and the output port of each switch corresponding to the route in the request packet in order, and the length of the output port string (that is, the number of described output ports). And the initial port count value. Also in this case, the topology search unit 12 generates a request packet for each connection destination unsearched port. The specific packet transmitting / receiving unit 11 transmits each request packet from the first port described in the request packet.
- the topology search unit 12 generates topology information based on the reply packet obtained from each switch as a response to the request packet.
- the reply packet contains the identification information of the switch and the request packet that caused the reply packet. Contains information.
- the topology search unit 12 determines that the connection destination unsearched port corresponding to the request packet is connected to the port of the switch that has transmitted the reply packet, and the switch receives the request packet. Add the connection relationship between ports to the topology information.
- topology search unit 12 When the topology search unit 12 starts generating a request packet, a series of processes including transmission of a request packet, reception of a reply packet, creation of topology information, and transmission of a setup packet are started.
- the topology search unit 12 periodically deletes the topology information and starts generating a request packet to start this series of processes.
- the topology holding unit 13 is a storage device that stores topology information.
- the control channel route determination unit 14 refers to the topology information after completion of the topology information and determines a control channel for each switch.
- the method for determining the control channel is not particularly limited.
- the control channel route determination unit 14 may calculate the shortest route to the switch by the Dijkstra method and determine the route as the control channel. Then, the control channel route determination unit 14 generates a setup packet for each switch.
- the control channel path determination unit 14 describes the output port of the control device 10 itself and the output port in each switch on the control channel up to the destination switch of the setup packet in the setup packet. Further, the control channel route determination unit 14 describes the length of the output port string (that is, the number of described output ports) and the initial value of the port count in the setup packet. Then, the specific packet transmitting / receiving unit 11 is caused to transmit the setup packet.
- the control device side control message tunneling processing unit 15 (hereinafter referred to as the control message tunneling processing unit 15) transmits and receives control messages exchanged between the control device 10 and the switch by tunneling. That is, the control message tunneling processing unit 15 encrypts a control message (for example, flow entry information) to be transmitted to the switch and generates an encapsulated tunnel packet. At this time, the control message tunneling processing unit 15 sequentially describes the output port of the control device 10 itself and the output port in each switch on the control channel to the switch that is the destination of the tunnel packet in the tunnel packet. Further, the control message tunneling processing unit 15 describes the length of the output port string and the initial value of the port count in the tunnel packet. Then, the specific packet transmitting / receiving unit 11 is caused to transmit the tunnel packet.
- the control message tunneling processing unit 15 transmits and receives control messages exchanged between the control device 10 and the switch by tunneling. That is, the control message tunneling processing unit 15 encrypts a control message (for example, flow entry information)
- the control message tunneling processing unit 15 transmits the control message included in the tunnel packet. Decapsulate and further decode the control message.
- the initial value of the port count is set to 0
- the initial value of the port count may be other than 0.
- the specific packet transmitting / receiving unit 11, the topology searching unit 12, the topology holding unit 13, the control channel route determining unit 14, and the control message tunneling unit 15 may be realized as separate units.
- the specific packet transmission / reception unit 11, the topology search unit 12, the control channel route determination unit 14, and the control message tunneling unit 15 may be realized by a CPU of a computer that operates according to the control device program.
- a program storage device (not shown) of the computer stores the control device program, and the CPU reads the program, and according to the program, the specific packet transmission / reception unit 11, the topology search unit 12, and the control channel path determination It suffices to operate as the unit 14 and the control message tunneling unit 15.
- each switch 20a to 20d is the same.
- the switch 20a will be described as an example.
- the switch 20a includes a switch side specific packet transmitting / receiving unit 21, an information providing unit 23, a path holding unit 24, and a switch side control message tunneling unit 25.
- the switch-side specific packet transmission / reception unit 21 (hereinafter referred to as a specific packet transmission / reception unit 21) transfers, receives, and transmits specific packets.
- the specific packet transmitting / receiving unit 21 compares the length of the output port sequence described in the specific packet with the port count, and determines whether the switch 20a itself is the destination of the specific packet. judge. In the present embodiment, since the initial value of the port count is 0, if the value obtained by adding 1 to the port count in the received specific packet matches the length of the output port string, the switch 20a itself specifies the specific packet. If the value obtained by adding 1 to the port count in the specific packet is smaller than the length of the output port string, it may be determined that it is not the destination.
- the length of the output port column is the number of output ports described in the specific packet.
- the port determined from the port count among the ports described in the output port string in the specific packet is the port of the switch 20a that has received the specific packet. Rewrite to port.
- the port described in the (k + 1) th in the output port string is rewritten to the port of the switch 20a itself that received the specific packet.
- the specific packet transmitting / receiving unit 21 specifies the k + 2nd port (that is, the port next to the rewritten port) in the output port string. This port is a port for transmitting a specific packet from the switch 20a itself.
- the specific packet transmitting / receiving unit 21 adds 1 to the port count value described in the specific packet.
- the specific packet transmission / reception part 21 transmits a specific packet from the specified port. As a result, the specific packet with the port count incremented is transferred.
- the specific packet transmitting / receiving unit 21 outputs the request packet to the information providing unit 23. If the packet is a setup packet, the setup packet is output to the path holding unit 24. If the specific packet is a tunnel packet, the tunnel packet is output to the switch-side control message tunneling unit 25.
- the specific packet transmitting / receiving unit 21 transmits a reply packet.
- the information providing unit 23 that generates a reply packet describes the output ports in each switch on the route to the control device 10 in order in the reply packet.
- the specific packet transmitting / receiving unit 21 transmits a reply packet from the port of the switch 20a described first in the output port sequence.
- the information providing unit 23 sets the information indicating the link-up port of the switch 20a itself as the reply packet and the port from which the switch 20a has received the request packet.
- the packet including the information to be shown and the identification information of the switch 20a is created.
- the information providing unit 23 sequentially describes the output port in each switch on the route from the switch itself to the control device 10 in a reply packet.
- This output port string may be determined as follows. That is, the information providing unit 23 rewrites the last port in the output port sequence described in the input request packet so that the switch receives the request packet.
- the information providing unit 23 rearranges the order of the ports in the output port string after the rewriting, and describes the rearranged output port string in the reply packet.
- the information providing unit 23 also describes the length of the output port string and the initial value of the port count in the reply packet, and causes the specific packet transmitting / receiving unit 21 to transmit the reply packet.
- the switch transmits a reply packet to the request packet from the port that received the request packet.
- the path holding unit 24 stores a path serving as a control channel from the setup packet to the control device 10. Specifically, the path holding unit 24 rewrites the last port in the output port sequence described in the input setup packet so that the switch receives the setup packet. Then, the path holding unit 24 rearranges the order of the ports in the rewritten output port string in the reverse order, and stores the rearranged output port string as information representing a path serving as a control channel.
- the switch-side control message tunneling unit 25 (hereinafter referred to as a control message tunneling unit 25) transmits and receives control messages exchanged between the control device 10 and the switch by tunneling. That is, the control message tunneling unit 25 encrypts a control message (for example, a message indicating that a packet not defined in the flow entry information) to be transmitted to the control device 10 is generated, and generates an encapsulated tunnel packet. At this time, the control message tunneling unit 25 reads the output port string indicating the control channel up to the control device 10 from the path holding unit 24, and describes the output port string in the tunnel packet. Further, the control message tunneling unit 25 describes the length of the output port string and the initial value of the port count in the tunnel packet. Then, the specific packet transmitting / receiving unit 21 is caused to transmit the tunnel packet.
- a control message tunneling unit 25 transmits and receives control messages exchanged between the control device 10 and the switch by tunneling. That is, the control message tunneling unit 25 encrypts a control message
- control message tunneling unit 25 decapsulates the control message (for example, flow entry information) included in the tunnel packet, and further transmits the control message. Decrypt.
- the specific packet transmitting / receiving unit 21, the information providing unit 23, the path holding unit 24, and the control message tunneling unit 25 may be realized by separate units.
- the specific packet transmitting / receiving unit 21, the information providing unit 23, the path holding unit 24, and the control message tunneling unit 25 may be realized by a CPU of a computer that operates according to a packet transfer device program.
- the program storage device (not shown) of the computer stores the packet transfer device program, and the CPU reads the program, and according to the program, the specific packet transmitting / receiving unit 21, the information providing unit 23, the path holding unit 24 and the control message tunneling unit 25 may be operated.
- Source routing is a packet transfer method in which a source node describes a communication path in a packet, and a relay node transfers the packet according to the communication path described in the packet.
- the relay node does not need to hold route information prepared in advance.
- the communication system of the present invention describes an output port sequence in which output ports to which individual nodes should transmit specific packets are arranged in order in specific packets.
- the control apparatus 10 and each switch implement
- FIG. 3 is an explanatory diagram showing an example of source routing when the control device transmits a setup packet to the switch.
- the topology of the switch shown in FIG. 3 is different from the topology shown in FIG.
- the switches 20A to 20D shown in FIG. 3 have the same configuration as the switches 20a to 20d shown in FIG.
- the numbers shown in the vicinity of the control device 10 and the switches 20A to 20D are port identification numbers in the respective devices.
- a port whose port identification number is n is denoted as #n.
- control device 10 transmits a setup packet with the switch 20D as a destination is taken as an example.
- the control device 10 first sets the port count to the initial value 0, and transmits a setup packet describing the output port string ⁇ 2, 3, 2, 1 ⁇ .
- the control device 10 transmits a setup packet from the port # 2 of the control device 10 (see FIG. 3A).
- Switch 20A receives this setup packet at port # 1. Then, since the port count value is 0, the switch 20A rewrites the first port identification number in the output port string to the port identification number of the port # 1 that has received the setup packet. Further, since the switch 20A has a port count value of 0, the switch 20A determines that the port to which the switch 20A should transmit the setup packet is described second in the output port sequence, and is described second. The port identification number “3” is specified. Then, the switch 20A updates the port count value from 0 to 1, and transmits a setup packet from the port # 3 of the switch 20A.
- the output port string described in this setup packet is ⁇ 1, 3, 2, 1 ⁇ (see FIG. 3B).
- Switch 20B receives this setup packet at port # 1. Then, since the value of the port count is 1, the switch 20B rewrites the second port identification number in the output port sequence with the port identification number of the port # 1 that has received the setup packet. Further, since the switch 20B has a port count value of 1, the switch 20B determines that the port to which the switch 20B should transmit the setup packet is described third in the output port sequence, and is described third. The port identification number “2” is specified. Then, the switch 20B updates the port count value from 1 to 2, and transmits a setup packet from the port # 2 of the switch 20B.
- the output port string described in this setup packet is ⁇ 1, 1, 2, 1 ⁇ (see FIG. 3C).
- Switch 20C receives this setup packet at port # 3. Then, since the value of the port count is 2, the switch 20C rewrites the third port identification number in the output port string to the port identification number of the port # 3 that has received the setup packet. Further, since the switch 20C has a port count value of 2, the switch 20C determines that the port to which the switch 20C should transmit the setup packet is described as the fourth in the output port sequence, and is described as the fourth. The port identification number “1” is specified. Then, the switch 20C updates the port count value from 2 to 3, and transmits a setup packet from the port # 1 of the switch 20C.
- the output port string described in this setup packet is ⁇ 1, 1, 3, 1 ⁇ (see FIG. 3D).
- Switch 20D receives this setup packet at port # 2.
- the switch 20D determines that the switch 20D itself is the destination because the port count value is 3 and the number of port identification numbers in the output port string is four. Then, the switch 20D rewrites the last port identification number “1” of the output port string ⁇ 1, 1, 3, 1 ⁇ in the setup packet with the port identification number of the port # 2 that has received the setup packet. As a result, the output port string is ⁇ 1, 1, 3, 2 ⁇ .
- the switch 20D rearranges the output port string in reverse order, and stores the rearranged output port string ⁇ 2, 3, 1, 1 ⁇ as an output port string representing a control channel up to the control device 10.
- the control device transmits a setup packet to the switch
- the operation of the switches 20A to 20C when the control device transmits a tunnel packet or a request packet to the switch 20D is the same. It is.
- the switch 20D receives the tunnel packet or the request packet in which the output port string ⁇ 1, 1, 3, 1 ⁇ is described at the port # 2.
- the switch 20D when the switch 20D receives the tunnel packet, the switch 20D does not have to perform processing for the output port string in the tunnel packet.
- the switch 20D operates as follows when the request packet is received.
- the switch 20D determines that the switch 20D itself is the destination because the port count value is 3 and the number of port identification numbers in the output port string is four.
- the switch 20D rewrites the last port identification number of the output port string ⁇ 1, 1, 3, 1 ⁇ described in the request packet to the identification number of the port # 2 that has received the request packet.
- the output port string is ⁇ 1, 1, 3, 2 ⁇ .
- This output port sequence is rearranged in reverse order, and the rearranged output port sequence ⁇ 2, 3, 1, 1 ⁇ is described in a reply packet, and the port corresponding to the first of ⁇ 2, 3, 1, 1 ⁇ Send reply packet from # 2.
- the operation of the switch when receiving the reply packet is the same as the operation when receiving the setup packet and the tunnel packet, and the reply packet reaches the control device 10.
- control device 10 transmits a specific packet with the switch 20D as the destination is illustrated, but each switch operates in the same manner as described above even when another switch is set as the destination.
- each switch when each switch describes the output port sequence stored as the control channel up to the control device 10 in the tunnel packet and transmits the tunnel packet, the other switches perform the same operation as above, The packets are sequentially transferred to the control device 10.
- the case where the initial value of the port count is set to 0 has been described as an example.
- the method for each switch to determine which port identification number in the output port string is to be rewritten and from which port a specific packet is forwarded can be determined in advance according to the initial value of the port count. That's fine.
- a method in which the switch that has received the specific packet determines whether or not it is the destination may be determined in advance according to the initial value of the port count.
- FIG. 4 An example of the format of the specific packet is shown in FIG.
- FIG. 4 An example in which a specific packet is realized in an Ethernet (registered trademark) frame format is illustrated.
- the values shown in parentheses in FIG. 4 represent the number of bytes.
- a destination MAC address 51 and a source MAC address 52 are provided in the Ethernet frame format.
- the communication system of the present invention does not use these addresses for transmission / reception of specific packets, but transmits specific packets by source routing as described above.
- a value indicating that the packet is a specific packet is stored in the type 53 in the Ethernet frame format.
- the value indicating that the packet is a specific packet is stored in the type 53.
- the control device 10 and each switch determine that the received packet is the specific packet on the condition that a value indicating that the packet is a specific packet is stored in the type 53 when the packet is received.
- the Ethernet frame format data 54 includes a type 61 indicating the type of a specific packet, a first data length 62, an output port string length 63, a port count 64, an output port string 65, a second data length 66, and Data 67 of a specific packet is included.
- the type 61 representing the type of the specific packet is referred to as a type 61.
- the specific packet data 67 is referred to as specific packet data 67.
- the first data length 62 (denoted as Length in FIG. 4) stores the data length of the entire information after the first data length 62.
- the second data length 66 (denoted as DataLength in FIG. 4) stores the data length of the entire information after the second data length 66.
- the output port string length 63 (referred to as “PortsLength” in FIG. 4) is the number of ports included in the output port string. More specifically, it is the number of port identification numbers included in the output port string.
- the port count 64 (denoted as PortsCount in FIG. 4) is a count value corresponding to the number of hops from the transmission source of the specific packet.
- port identification numbers are stored side by side.
- FIG. 5 is an explanatory diagram showing an example of information included in the request packet.
- the type 61 stores a value indicating a request packet.
- the control device 10 stores a value indicating that it is a request packet in the type 61 when the request packet is generated.
- Each switch determines that the received packet is a request packet when a value indicating that the packet is a request packet is stored in the type 61 when the packet is received.
- the specific packet data 67 is NULL.
- FIG. 6 is an explanatory diagram showing an example of information included in a reply packet.
- the type 61 stores a value indicating that it is a reply packet.
- Each switch stores a value indicating that it is a reply packet in the type 61 when the reply packet is generated.
- the control device 10 determines that the received packet is a reply packet on condition that a value indicating that the packet is a reply packet is stored in the type 61 when the packet is received.
- the reply packet In the reply packet, information indicating the port that is linked up, information indicating the port from which the switch has received the request packet, and identification information of the switch that is the transmission source of the reply packet are stored in the specific packet data 67. .
- the switch that transmits the reply packet stores the information in the specific packet data 67 when the reply packet is generated.
- “DataPathID” corresponds to the switch identification information.
- “Requested_Port” corresponds to the reception port of the request packet.
- Port # n_Status indicates whether or not the port having the port identification number n is linked up.
- the link-up port may be described by other expression methods.
- FIG. 7 is an explanatory diagram showing an example of information included in the setup packet.
- the type 61 stores a value indicating that it is a setup packet.
- the control device 10 stores a value indicating that the packet is a setup packet in the type 61 when the setup packet is generated.
- each switch determines that the received packet is a setup packet, on condition that a value indicating that the packet is a setup packet is stored in the type 61 when the packet is received.
- the specific packet data 67 is NULL.
- FIG. 8 is an explanatory diagram showing an example of information included in a tunnel packet.
- the type 61 stores a value indicating that it is a tunnel packet.
- the control device 10 and each switch store a value indicating that it is a tunnel packet in the type 61 when the tunnel packet is generated.
- the control device 10 and each switch determine that the received packet is a tunnel packet on the condition that a value indicating that it is a tunnel packet is stored in the type 61 when the packet is received.
- a control message is stored in the specific packet data 67. Specifically, a control packet transmitted and received as a control message in an open flow general communication system is stored. Therefore, also in the communication system of the present invention, control messages can be exchanged between the control device and the switch, as in a general communication system.
- FIG. 9 to FIG. 13 is a schematic diagram showing a process in which the control device generates topology information and forms a control channel.
- the control device is represented by symbol A and the switches are denoted by symbols B to E.
- the configurations of the control device A and the individual switches B to E are the same as those shown in FIG.
- the numbers shown in the vicinity of the control device A and the switches B mean port identification numbers.
- the port identification number of the port determined as the connection destination unsearched port is indicated by circles.
- the ports of the control device A and the switches B to E are described as “# n @ A”, “# n @ B”, etc. together with the control device and switch codes and port identification numbers. There is.
- the number next to “#” represents a port identification number, and the symbol next to “@” represents either a control device or each switch.
- “# 1 @ A” means the port # 1 of the control device 10
- “# 2 @ B” means the port # 2 of the switch B.
- FIG. 14 is an explanatory diagram showing an example of a process in which the control device A and the switches B to D transmit / receive a request packet and a reply packet.
- a dashed arrow indicates transmission / reception of a request packet
- a solid arrow indicates transmission / reception of a reply packet.
- the numbers shown with “#” at both ends of each arrow shown in FIG. 14 represent the port identification numbers of the ports that have transmitted or received the request packet or reply packet.
- FIG. 14 is an example of a process of transmitting and receiving a request packet and a reply packet, and the transmission order of each packet is not limited to the order shown in FIG. For example, FIG.
- control apparatus A transmits / receives a request packet and a reply packet to / from the switch D and then transmits / receives a request packet and a reply packet to the switch B. This order may be reversed. Further, the control device A may transmit the request packet in parallel to both the switch B and the switch D, and continuously receive the reply packet from each switch.
- the topology search unit 12 of the control device A selects a port that is linked up to the control device A and is unknown to which port of which switch is connected as a connection destination unsearched port. To do. In this example, topology search unit 12 selects # 1 @ A (port # 1 of control device A) and # 2 @ A (port # 2 of control device A) (see FIG. 9). Then, the specific packet transmitting / receiving unit 11 of the control device A transmits a request packet from the connection destination unsearched ports # 1 @ A and # 2 @ A (see FIGS. 9 and 14). The topology search unit 12 describes ⁇ # 1 ⁇ as an output port string for source routing in the request packet transmitted from # 1 @ A, and similarly to the request packet transmitted from # 2 @ A. Describes ⁇ # 2 ⁇ as the output port string.
- the specific packet transmitting / receiving unit 21 of the switch D receives the request packet transmitted from # 1 @ A at # 1 @ D (port # 1 of the switch D). Then, the information providing unit 23 of the switch D generates a reply packet including identification information of the switch D itself, information indicating the reception port # 1 of the request packet, and information of the port linked up in the switch D. . At this time, the information providing unit 23 describes information indicating # 1, # 2, and # 3 as information on the ports linked up in the switch D in the reply packet. Further, the information providing unit 23 describes ⁇ # 1 ⁇ as an output port string for source routing in this reply packet.
- the specific packet transmitting / receiving unit 21 of the switch D transmits a reply packet from # 1 @ D that has received the request packet (see FIG. 10).
- this reply packet is described as “reply (src: # 1 @ D, ports: # 1, # 2, # 3)”.
- the specific packet transmitting / receiving unit 21 of the switch B receives the request packet transmitted from # 2 @ A at # 2 @ B (switch B port # 2). Then, the information providing unit 23 of the switch B generates a reply packet including the identification information of the switch B itself, information indicating the reception port # 2 of the request packet, and information of the port linked up in the switch B. . At this time, the information providing unit 23 describes information indicating # 1, # 2, and # 3 as information on the ports linked up in the switch B in the reply packet. Further, the information providing unit 23 describes ⁇ # 2 ⁇ as an output port string for source routing in this reply packet.
- the specific packet transmitting / receiving unit 21 of the switch B transmits a reply packet from # 2 @ B that has received the request packet (see FIG. 10).
- this reply packet is described as “reply (src: # 2 @ B, ports: # 1, # 2, # 3)”.
- the specific packet transmitting / receiving unit 11 of the control device A receives the reply packet transmitted from the switch in response to the request packet at the port of the control device A that transmitted the request packet.
- the topology search unit 12 of the control device A is the connection destination unsearched port selected at the time of request packet transmission, and is the port of the switch that sent the reply packet, and the port that the switch received the request packet Are stored in the topology holding unit 13 as topology information.
- the topology search unit 12 of the control switch A selects a connection destination unsearched port from the ports of the switch that is the transmission source of the reply packet, and generates a request packet transmitted from the connection destination unsearched port.
- the topology search unit 12 may describe the output port of the control device A and the output port of each switch that forms a route to the selected connection destination unsearched port for this request packet. And the specific packet transmission / reception part 11 of the control apparatus A transmits this request packet.
- the specific packet transmission / reception unit 11 of the control device A receives the reply packet transmitted from # 1 @ D at # 1 @ A. Then, the topology search unit 12 of the control device A determines that # 1 @ D is connected to the connection destination unsearched port # 1 @ A selected at the time of request packet transmission, and stores it in the topology holding unit 13. Further, the topology search unit 12 selects # 2 and # 3 as connection destination unsearched ports among the ports # 1, # 2, and # 3 of the switch D that is the transmission source of the reply packet (see FIG. 11). Topology search unit 12 generates a request packet transmitted from connection destination unsearched port # 2 @ D.
- the topology search unit 12 describes ⁇ # 1, # 2 ⁇ as an output port sequence for source routing for this request packet, and the specific packet transmitting / receiving unit 11 of the control device A is described first.
- a request packet is transmitted from # 1.
- the specific packet transmitting / receiving unit 21 of the switch D receives the request packet and transfers the request packet from # 2 described in the second of the output port string (see FIGS. 11 and 14).
- the topology search unit 12 of the control device A generates a request packet transmitted from the connection destination unsearched port # 3 @ D.
- the topology search unit 12 describes ⁇ # 1, # 3 ⁇ as an output port sequence for source routing for this request packet, and the specific packet transmitting / receiving unit 11 of the control device A is described first.
- a request packet is transmitted from # 1.
- the specific packet transmitting / receiving unit 21 of the switch D receives the request packet and transfers the request packet from # 3 described in the second of the output port string (see FIGS. 11 and 14).
- the control device A receives the reply packet transmitted from # 2 @ B at # 2 @ A. Then, the control device A determines that # 2 @ B is connected to the connection destination unsearched port # 2 @ A, and stores it. Further, the control device A selects # 1, # 3 as connection destination unsearched ports among the ports # 1, # 2, # 3 of the switch B that is the transmission source of the reply packet (see FIG. 11). The control device A generates a request packet transmitted from the connection destination unsearched port # 1 @ B. The control device A describes ⁇ # 2, # 1 ⁇ as an output port string for source routing for this request packet, and transmits the request packet from # 2 described first.
- the switch B receives this request packet and transfers the request packet from # 1 described in the second in the output port string (see FIGS. 11 and 14).
- the control device A generates a request packet transmitted from the connection destination unsearched port # 3 @ B.
- the control device A describes ⁇ # 2, # 3 ⁇ as an output port string for source routing for this request packet, and transmits the request packet from # 2 described first.
- the switch B receives this request packet and transfers the request packet from # 3 described in the second of the output port string (see FIGS. 11 and 14).
- the specific packet transmitting / receiving unit 21 of the switch C receives the request packet transferred from # 2 @ D at # 1 @ C, and receives the request packet transmitted from # 3 @ B at # 2 @ C. Then, the information providing unit 23 of the switch C converts the reply packet including the identification information of the switch C itself, the information indicating the reception port of the request packet, and the information of the port linked up in the switch C into the request packet packet. Create for each receiving port. At this time, the information providing unit 23 describes # 1 and # 2 as information on the ports linked up in the switch C for each reply packet. In this example, the information providing unit 23 describes ⁇ 1, 1 ⁇ as the output port string in the reply packet for the request packet transferred from # 2 @ D.
- the specific packet transmitting / receiving unit 21 of the switch C transmits the reply packet from # 1, the switch D transmits the reply packet from # 1, and the reply packet reaches the control device A (see FIGS. 12 and 14). .
- this reply packet is described as “reply (src: # 1 @ C, ports: # 1, # 2)”.
- the switch C describes ⁇ 2, 2 ⁇ as the output port string in the reply packet for the request packet transferred from # 3 @ B.
- the switch C transmits a reply packet from # 2, the switch B transmits the reply packet from # 2, and the reply packet reaches the control device A (see FIGS. 12 and 14).
- this reply packet is described as “reply (src: # 2 @ C, ports: # 1, # 2)”.
- the reply packet “reply (src: # 1 @ C, ports: # 1, # 2)” and “reply (src: # 2 @ C, ports: # 1, # 2)” received by the control device A are , Both include information that there are # 1 and # 2 as ports of the switch C. Accordingly, there are duplicate contents in the reply packet received by the control device A.
- the control device A may generate the topology information while leaving such overlapping information. Alternatively, the topology information may be generated after a part of the information is deleted so that there is no duplication.
- switch E The operation of switch E is the same as that of switch C. That is, the specific packet transmission / reception unit 21 of the switch E receives the request packet transferred from # 3 @ D by # 1 @ E and receives the request packet transferred from # 1 @ B by # 2 @ E. Then, the information providing unit 23 of the switch E sends a reply packet containing the identification information of the switch E itself, information indicating the reception port of the request packet, and information of the port linked up in the switch E, to the request packet packet. Create for each receiving port. At this time, the information providing unit 23 describes # 1 and # 2 as information on the ports linked up in the switch E for each reply packet.
- the information providing unit 23 describes ⁇ 1, 1 ⁇ as the output port string in the reply packet for the request packet transferred from # 3 @ D.
- the specific packet transmitting / receiving unit 21 of the switch E transmits a reply packet from # 1, the switch D transmits the reply packet from # 1, and the reply packet reaches the control device A (see FIGS. 12 and 14). .
- this reply packet is described as “reply (src: # 1 @ E, ports: # 1, # 2)”.
- the switch E describes ⁇ 2, 2 ⁇ as the output port string in the reply packet for the request packet transferred from # 1 @ B.
- the switch E transmits a reply packet from # 2, the switch B transmits the reply packet from # 2, and the reply packet reaches the control device A (see FIGS. 12 and 14).
- this reply packet is described as “reply (src: # 2 @ E, ports: # 1, # 2)”.
- the specific packet transmitting / receiving unit 11 of the control device A receives the reply packet transmitted from # 1 @ C at # 1 @ A. Then, topology search unit 12 of control device A determines that # 1 @ C is connected to connection destination unsearched port # 2 @ D selected at the time of request packet transmission, and adds it to the topology information. Similarly, the control device A receives the reply packet transmitted from # 2 @ C at # 2 @ A. Then, the control device A determines that # 2 @ C is connected to the connection destination unsearched port # 3 @ B selected at the time of request packet transmission, and adds it to the topology information.
- the specific packet transmitting / receiving unit 11 of the control device A receives the reply packet transmitted from # 1 @ E at # 1 @ A. Then, the topology search unit 12 of the control device A determines that # 1 @ E is connected to the connection destination unsearched port # 3 @ D selected at the time of request packet transmission, and adds it to the topology information. Similarly, the control device A receives the reply packet transmitted from # 2 @ E at # 2 @ A. Then, the control device A determines that # 2 @ E is connected to the connection destination unsearched port # 1 @ B selected when the request packet is transmitted, and adds it to the topology information.
- the topology search unit 12 of the control device A determines that the topology information is completed.
- route determination part 14 of the control apparatus A determines a control channel for every switch. For example, the control channel route determination unit 14 calculates the shortest route to the switch by the Dijkstra method and determines the route as a control channel (see FIG. 13). Further, the control channel route determination unit 14 of the control device A generates a setup packet for each of the switches B to E, and the specific packet transmitting / receiving unit 11 transmits a setup packet for each of the switches B to E, respectively.
- each of the switches B to E When the route holding unit 24 of each of the switches B to E receives the setup packet, it stores the route to the control device A as a control channel based on the setup packet.
- the control channels determined by the control device A for the switches C and E are illustrated by bold links, but the control channels for the switches C and E are not limited to the case shown in FIG. 13.
- control channel A and the switches B to E transmit and receive control messages by tunneling through the control channel.
- the topology search unit 12 may generate topology information with a data structure described as a pair of connected ports of switches, such as (# 1 @ A, # 1 @ D).
- the connection destination unsearched port may be described as a pair with data meaning “unknown port” (in this example, “?”).
- a group (# 3 @ D,?) May represent that # 3 @ D is a connection destination unsearched port.
- the connection destination unsearched port may have a data structure in which only the connection destination unsearched port information is described independently without being described as a set.
- the data structure describing the connection destination unsearched port as a pair with “?” Is referred to as a first data structure.
- a data structure that describes the connection destination unsearched port alone is not described as a pair, but is described as a second data structure.
- the topology information may be described in either the first data structure or the second data structure, or may be described in a data structure of another description format.
- topology information is generated as a result of transmission / reception of the request packet and reply packet shown in FIG.
- the topology information is described in the first data structure and the case where the topology information is described in the second data structure are shown.
- FIG. 15 shows an example of the topology information in the initial state.
- the topology information in the initial state is represented as a set of ports (# 1 @ A,?), (# 2 @ A,?).
- # 1 @ A and # 2 @ A are described as connection destination unsearched ports.
- FIG. 16 shows an example of topology information created by the control device A receiving the reply packet transmitted from # 1 @ D. Based on this reply packet, information that # 1 @ A and # 1 @ D are connected is added. Also, # 2 @ D and # 3 @ D are added as connection destination unsearched ports.
- FIG. 17 shows an example of topology information created by the control device A receiving the reply packet transmitted from # 2 @ B. Based on this reply packet, information that # 2 @ A and # 2 @ B are connected is added. Also, # 1 @ B and # 3 @ B are added as connection destination unsearched ports.
- FIG. 18 shows an example of topology information created by the control device A receiving the reply IV packet transmitted from # 1 @ C. Based on this reply packet, information that # 2 @ D and # 1 @ C are connected is added. Also, # 2 @ C is added as a connection destination unsearched port.
- FIG. 19 shows an example of topology information created by the control device A by receiving the reply packet transmitted from # 1 @ E. Based on this reply packet, information that # 3 @ D and # 1 @ E are connected is added. Also, # 2 @ E is added as a connection destination unsearched port.
- FIG. 20 shows an example of topology information generated by the control device A by receiving the reply packet transmitted from # 2 @ E. Based on this reply packet, information that # 1 @ B and # 2 @ E are connected is added.
- FIG. 21 shows an example of topology information generated by the control device A by receiving the reply IV packet transmitted from # 2 @ C. Based on this reply packet, information that # 3 @ B and # 2 @ C are connected is added. As a result, there is no connection destination unsearched port.
- the communication system periodically creates topology information from the beginning, creates topology information according to the latest topology of the switch, and determines a control channel based on the topology information.
- the topology search unit 12 of the control device A periodically deletes the topology information stored in the topology holding unit 13 to return to the initial state, and repeats the processing from request request packet generation.
- FIG. 22 is a flowchart showing an example of processing progress of the control device 10. Note that the control device 10 is in an initial state. That is, it is assumed that the topology information is not held.
- the topology search unit 12 of the control device 10 selects a connection destination unsearched port (step S1).
- the topology search unit 12 selects a link-up port of the control device 10 in the initial state.
- the topology search unit 12 refers to the topology information and is connected to which port of which switch among the ports that are linked up of each switch. Select an unknown or unknown port.
- the topology search unit 12 determines whether or not the connection destination unsearched port has been selected in step S1 (step S2). If the connection destination unsearched port can be selected (Yes in step S2), the topology search unit 12 generates a request packet transmitted from the connection destination unsearched port and causes the specific packet transmission / reception unit 11 to transmit the request packet (step S3). . When a plurality of connection destination unsearched ports are selected in step S1, the topology search unit 12 generates a request packet for each connection destination unsearched port. When the connection destination unsearched port is a port of the control device 10, the topology search unit 12 describes the port identification number of the port as the output port string of the request packet, and describes 1 as the length of the output port string. .
- control device 10 repeats the loop processing of steps S1 to S5, and determines the connection relationship between the ports starting from the port of the control device 10 in order from the switch with the smallest number of hops from the control device 10. . Therefore, when the connection destination unsearched port is a switch port, the topology search unit 12 can specify the output port of each switch on the route from the port of the control device 10 to the connection destination unsearched port, The port identification number of each output port from the port of the device 10 to the connection destination unsearched port is described as an output port string in order.
- the topology search unit 12 describes the number of output ports in the request packet as the length of the output port string.
- the topology search unit 12 describes an initial value 0 as a port count for all request packets.
- the specific packet transmission / reception unit 11 transmits each request packet from the first port described in the output port string in the request packet.
- Each request packet transmitted in step S3 reaches a switch connected to the port described at the end of the output port string in the request packet (connected port unsearched port), and the switch is addressed to the control device 10.
- a reply packet is sent from the request packet receiving port. This reply packet contains identification information of the switch that sent the reply packet, information indicating the port linked up in the switch, and information indicating the port from which the switch received the request packet. .
- the specific packet transmission / reception unit 11 of the control storage 10 receives the reply packet transmitted from the switch that is the destination of the request packet (that is, the switch connected to the connection destination unsearched port) (step S4). If the specific packet transmitting / receiving unit 11 determines that the received specific packet is a reply packet, it outputs the reply packet to the topology search unit 12.
- the topology search unit 12 updates the topology information based on the reply information input from the specific packet transmission / reception unit 11 (step 5).
- the newly established port-to-port connection relation is added to the topology information by storing the newly revealed port-to-port relation in the topology holding unit 13 based on the input reply information.
- the topology search unit 12 may specify the connection relationship between the ports based on the input reply information as follows. Since the port identification number of the connection destination unsearched port is described at the end of the output port string of the request packet, the request packet is sequentially transferred to the switch starting from the control device 10 and connected to the connection destination unsearched port. To the designated switch.
- the reply packet sent by the switch includes the identification information of the switch itself, information indicating the port linked up in the switch, and information indicating the port from which the switch received the request packet. Yes. Accordingly, the topology search unit 12 refers to the reply packet that has been transferred through the reverse route to the request packet, and sends the reply packet source to the connection destination unsearched port described at the end of the output port string of the request packet.
- the topology search unit 12 adds the connection relationship between the connection destination unsearched port and the port of the switch connected to the connection destination unsearched port to the topology information. Furthermore, topology search unit 12 also adds information on the ports linked up in the switch determined to be connected to the connection destination unsearched port (that is, the switch that sent the reply packet) to the topology information. . The topology search unit 12 sets a port that is unknown to which port of which switch among the ports that are linked up in the switch determined to be connected to the connection destination unsearched port as the next step. In S1, it is selected as a connection destination unsearched port.
- step S5 the control device 10 repeats the processing after step S1.
- the control channel path determination unit 14 refers to the completed topology information stored in the topology holding unit 13 and determines a control channel to each switch. This determination method is not particularly limited. For example, the control channel route determination unit 14 may calculate the shortest route to each switch and determine the shortest route as the control channel. For each switch, the control channel path determination unit 14 generates a setup packet that describes an output port sequence representing the control channel up to the switch. Further, the control channel route determination unit 14 describes the initial value 0 in the setup packet as the port count, and also describes the length of the output port string.
- the control channel route determination unit 14 causes the specific packet transmission / reception unit 11 to transmit the setup packet generated for each switch (step S6). At this time, the specific packet transmitting / receiving unit 11 transmits the setup packet from the port described first in the output port string in the setup packet.
- the switch that has received the setup packet specifies the control channel to the control device 10 based on the setup packet and stores it. As a result, the control device 10 and each switch can recognize the control channel.
- the control message tunneling unit 15 When the control device 10 transmits a control message, the control message tunneling unit 15 generates a tunnel packet in which the control message is encrypted and encapsulated. Then, the control message tunneling unit 15 describes the output port sequence representing the control channel, the length of the output port sequence, and the initial value 0 of the port count in the tunnel packet, and causes the specific packet transmitting / receiving unit 11 to transmit.
- the specific packet transmitting / receiving unit 11 transmits the tunnel packet from the first port described in the output port sequence in the tunnel packet.
- the control message tunneling unit 25 and the specific packet transmitting / receiving unit 21 perform the same operation.
- the specific packet transmitting / receiving unit 11 of the control device 10 determines that the tunnel packet from the switch has been received, the specific packet transmitting / receiving unit 11 outputs the tunnel packet to the control message tunneling unit 15.
- the control message tunneling unit 15 decapsulates the control message and decodes it. And the control apparatus 10 performs the process according to the control message.
- the topology search unit 12 periodically deletes the topology information stored in the topology holding unit 13 and returns it to the initial state. Then, the processing after step S1 is performed from the initial state. As a result, the control device 10 periodically regenerates topology information. Then, even if the topology of the switch is changed once the topology information is created, the control device 10 can reflect the changed topology when newly creating the topology information. Further, the control device 10 can determine a control channel reflecting the changed topology.
- FIG. 23 is a flowchart showing an example of the process progress of the switch.
- the specific packet transmitting / receiving unit 21 determines whether or not the switch itself that has received the specific packet is the destination of the specific packet (step S21).
- the switch itself is the destination (Yes in step S21)
- the specific packet transmitting / receiving unit 21 determines the type of the specific packet (step S22).
- the specific packet transmitting / receiving unit 21 outputs the request packet to the information providing unit 23 (step S23). Then, the information providing unit 23 generates a reply packet that includes information on the link-up port of the switch itself, identification information of the switch, and a port identification number of the reception port of the request packet. Further, the information providing unit 23 rewrites the last port identification number of the output port string described in the input request packet to the port identification number of the receiving port of the request packet, and further identifies the port identification in the output port string. Sort numbers in reverse order. The information providing unit 23 describes the rearranged output port string in a reply packet.
- the information providing unit 23 also describes the length of the output port string and the initial value of the port count in the reply packet, and causes the specific packet transmitting / receiving unit 21 to transmit the reply packet (step S24).
- the specific packet transmitting / receiving unit 21 transmits a reply packet from the port indicated by the port identification number described at the beginning of the output port string. As a result, the reply packet is transferred in the reverse direction along the transfer path of the request packet and reaches the control device 10.
- the specific packet transmitting / receiving unit 21 outputs the setup packet to the route holding unit 24 (step S25).
- the path holding unit 24 rewrites the last port identification number of the output port string described in the setup packet to the port identification number of the reception port of the setup packet.
- the route holding unit 24 rearranges the port identification numbers of the output port sequence in the reverse order, and stores the rearranged output port sequence as information representing the route serving as the control channel (step S26).
- the specific packet transmitting / receiving unit 21 outputs the tunnel packet to the control message tunneling unit 25 (step S27).
- the control message tunneling unit 25 decapsulates the control message from the tunnel packet and decodes it (step S33). The switch performs processing according to the control message.
- the specific packet transmitting / receiving unit 21 determines the port identification number at the position determined from the port count among the port identification numbers in the output port string. Is replaced with the port identification number of the receiving port of the specific packet. The specific packet transmitting / receiving unit 21 adds 1 to the port count of the specific packet (step S29). Then, the specific packet transmitting / receiving unit 21 transmits the specific packet (step S30).
- Steps S24, S26, S28, and S30 the process at the time of receiving the specific packet is terminated.
- the control channel between the control device and the switch is set via the communication network through which the switch transfers data packets. That is, the communication network in which the switch transfers data packets and the control channel can be realized by one type of communication network. As a result, the following effects can also be obtained.
- redundancy and fault tolerance can be improved. This is because even if a failure occurs in a part of the communication network to which the switch transfers data packets, the control channel can be set if a path from the control device 10 to the switch is secured. For example, in the topology shown in FIG. 2, even if a failure occurs in the link between the control device 10 and the switch 20b and the switch 20b and the control device 10 are not linked up, the control device 10 A request packet can be sequentially transmitted from the switch 20a side to the switches 20a to 20d. As a result, a control channel between the control device 10 and each switch can be set.
- each switch 92 is physically connected from the control device 91. Even if there is a route that can be reached, the route is not used for control. Therefore, if a failure occurs in the control communication network 93, control by the control device 91 cannot be performed, and the fault tolerance is low. On the other hand, according to the present invention, redundancy and fault tolerance can be improved as described above.
- the control device 10 since it is not necessary to provide a dedicated communication network for the control channel, it is not necessary to manage such a dedicated network, and the management cost of the communication system can be reduced. Even when the number of switches is increased or decreased, the control device 10 periodically deletes the topology information and returns it to the initial state, and starts the processing after step S1 (see FIG. 22). The latest topology information can be created, and a control channel with each switch can be set.
- the communication system illustrated in FIG. 27 has a high management cost because both the packet transfer communication network 94 and the control communication network 93 must be managed.
- the management cost of the communication system can be reduced as described above.
- the latest topology information can be created by the control device 10 transmitting a request packet as described above.
- the transmission source of the request packet is only the control device 10
- the communication amount of the specific packet when the switch is added can be suppressed as compared with the case where BPDU or the like in STP is adopted. Therefore, it can be prevented that it takes time to generate the topology information or the communication band is compressed.
- a control frame for example, for the communication system to grasp a new topology
- BPDUs in STP for example, Since BPDUs in STP
- the communication amount of a specific packet when a switch is added can be reduced as compared with the case where BPDU or the like in STP is adopted, and thus scalability can be realized with respect to the scale of the communication system.
- FIG. 24 is a block diagram showing an example of the minimum configuration of the communication system of the present invention.
- FIG. 25 is a block diagram showing an example of the minimum configuration of the control device of the present invention.
- FIG. 26 is a block diagram showing an example of the minimum configuration of the packet transfer apparatus of the present invention.
- the communication system of the present invention includes a plurality of packet transfer apparatuses 90 (for example, switches 20a to 20d) and a control apparatus 80 (for example, control apparatus 10) that controls the packet transfer apparatus 90.
- the control device 80 includes topology information storage means 81, connection destination unsearched port identification means 82, response request transmission means 83, and response request reception means 84 (see FIGS. 24 and 25).
- the topology information storage unit 81 (for example, the topology holding unit 13) stores topology information including connection information between the ports of the control device 80 or the packet transfer device 90.
- connection destination unsearched port specifying means 82 determines from the topology information that the connection destination of the ports of the control device 80 or the packet transfer device 90 is not searched. Identify unsearched ports.
- the response request transmission unit 83 (for example, the topology search unit 12 and the control device side specific packet transmission / reception unit 11) sends a response request (for example, to the connection destination of the connection destination unsearched port via the connection destination unsearched port). send request packet).
- the response receiving unit 84 (for example, the control device side specific packet transmission / reception unit 11) transmits a response (for example, a reply packet) from the packet transfer device that is the connection destination of the connection destination unsearched port to the port of the packet transfer device Receive.
- a response for example, a reply packet
- the packet transfer device 90 includes a transfer determination unit 91, a transfer unit 92, and a response transmission unit 93.
- the transfer determination unit 91 determines whether or not to transfer the response request to another packet transfer device based on the content of the received response request. To do.
- the transfer unit 92 (for example, the step of executing step S30 of the switch side specific packet transmitting / receiving unit 21) transfers the response request to another packet transfer device, the transfer request is sent based on the content of the response request. Transfer to another packet transfer device.
- the response transmission unit 93 includes the port information of the own packet transfer device, Returns a response sent along the path to the control unit.
- the characteristic configuration of the communication system as shown in the following (1) to (10) is shown. Further, characteristic configurations of the control device as shown in the following (11) to (13) are shown. Further, the characteristic configuration of the packet transfer apparatus as shown in the following (14) and (15) is shown.
- a communication system includes a plurality of packet transfer apparatuses (for example, switches 20a to 20d) and a control apparatus (for example, control apparatus 10) that controls the packet transfer apparatus.
- a control apparatus for example, control apparatus 10.
- topology information storage means for example, topology holding unit 13 that stores topology information including connection information between each port of the packet transfer device, and the connection destination of the port of the control device or the packet transfer device is not determined from the topology information.
- a connection destination unsearched port specifying means for example, a part that executes step S1 in the topology search unit 12 for specifying a connection destination unsearched port that is a search, and the connection destination unsearched port via the connection destination unsearched port Response request transmission means (for example, topology search unit 12) for transmitting a response request (for example, request packet) to the port connection destination And a control device side specific packet transmission / reception unit 11) and a response receiving means for receiving a response (for example, a reply packet) including information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port (For example, the control device side specific packet transmitting / receiving unit 11), and the packet transfer device determines whether or not to transfer the response request to another packet transfer device based on the content of the received response request.
- a response request for example, request packet
- a response receiving means for receiving a response (for example,
- the response request is transferred to another packet transfer apparatus and the means (for example, the part that executes step S21 of the switch-side specific packet transmission / reception unit 21), the response request is transferred to another packet based on the content of the response request.
- Transfer means for transferring to the packet transfer device for example, a part for executing step S30 of the switch side specific packet transmitting / receiving unit 21
- response transmission means for example, switch-side specific packet transmission / reception
- the control device adds the port information of the packet transfer device included in the response received from the packet transfer device that is the connection destination of the connection destination unsearched port to the topology information, and further, the packet Topology information adding means for adding, to the topology information, information indicating that the port is not searched when the connection destination of the port other than the port for which the packet transfer device has received the response request is not searched among the ports of the transfer device; For example, it includes a part for executing step S5 in the topology search unit 12.
- the response request transmission unit stops the transmission of the response request when it is determined by the connection destination unsearched port specifying unit that there is no connection destination unsearched port.
- the response request transmission means displays a sequence in which the information of the ports to which each packet transfer device on the path from the port of the control device to the connection destination unsearched port outputs a response request is arranged in order. And the transfer means transfers the response request along the transfer path described in the response request, and the response transmission means is based on the transfer path described in the response request. A route for sending a response to the control device is determined.
- control device determines a control channel that is a route between the control device and each packet transfer device based on the topology information (for example, the control channel route determination unit 14), Control channel notification transmission means (for example, the control device side specific packet transmission / reception unit 11) for transmitting a control channel notification for notifying each packet transfer device of the channel, and when the packet transfer device receives the control channel notification, Control channel storage means (for example, path holding unit 24) that stores a control channel between the control device and the own packet transfer device based on the control channel notification is included.
- Control channel notification transmission means for example, the control device side specific packet transmission / reception unit 11
- Control channel storage means for example, path holding unit 24
- the communication system of the present invention includes a plurality of packet transfer devices and a control device that controls the packet transfer devices, and the control device includes topology information including connection information between each port of the control device or the packet transfer device.
- a topology information storage unit for storing the connection destination, a connection destination unsearched port specifying unit for specifying a connection destination unsearched port whose connection destination is not searched among the ports of the control device or the packet transfer device from the topology information,
- a response request transmission unit that sends a response request to the connection destination of the connection destination unsearched port via the search port, and a port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port
- a response receiving unit that receives a response including information, and the packet transfer device sends the response request to another packet transfer device based on the content of the received response request.
- a transfer determination unit that determines whether or not to transmit, and a transfer unit that transfers a response request to another packet transfer device based on the content of the response request when it is determined to transfer the response request to another packet transfer device
- a response transmission unit that includes information on the port of the own packet transfer device and returns a response sent along the route to the control device when it is determined that the response request is not transferred to another packet transfer device. It may be.
- control device adds the port information of the packet transfer device included in the response received from the packet transfer device that is the connection destination of the connection destination unsearched port to the topology information, and further, the packet A topology information adding unit that adds information indicating that the port has not been searched to the topology information when the connection destination of a port other than the port for which the packet transfer device has received the response request is not searched among the ports of the transfer device; Including.
- the response request transmission unit stops the transmission of the response request when it is determined by the connection destination unsearched port specifying unit that there is no connection destination unsearched port.
- the response request transmission unit displays a sequence in which information of the ports to which each packet transfer device on the path from the port of the control device to the connection destination unsearched port outputs a response request is arranged in order. And the transfer unit transfers the response request along the transfer path described in the response request, and the response transmitter transmits the response request based on the transfer path described in the response request. A route for sending a response to the control device is determined.
- control device determines a control channel that is a path between the control device and each packet transfer device based on the topology information, and a control for notifying each packet transfer device of the control channel. And a control channel notification transmission unit that transmits a channel notification.
- the packet transfer device determines a control channel between the control device and the own packet transfer device based on the control channel notification.
- a control channel storage unit for storing is included.
- the control device is a control device that controls a plurality of packet transfer devices, and stores topology information including connection information between the ports of the control device or the packet transfer device.
- a connection destination unsearched port specifying unit for specifying a connection destination unsearched port whose connection destination is not searched from the ports of the control device or the packet transfer device from the topology information and the connection destination unsearched port.
- a response request transmission unit that sends a response request to the connection destination of the connection destination unsearched port, and a response including information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port.
- a response receiving unit for receiving.
- the information on the port of the packet transfer device included in the response received from the packet transfer device that is the connection destination of the connection destination unsearched port is added to the topology information, and Even when the packet transfer apparatus includes a topology information adding unit that adds information indicating that the port has not been searched to the topology information when the connection destination of a port other than the port that has received the response request has not been searched. Good.
- control device of the present invention is a control device that controls a plurality of packet transfer devices, and stores topology information that includes connection information between each port of the control device or the packet transfer device.
- a connection destination unsearched port specifying means for specifying a connection destination unsearched port whose connection destination is not searched from the ports of the control device or the packet transfer device from the topology information, and the connection destination unsearched port
- a response request transmitting means for sending a response request to the connection destination of the connection destination unsearched port, and a response including information on the port of the packet transfer device from the packet transfer device that is the connection destination of the connection destination unsearched port. It may be configured to include a response receiving means for receiving.
- the packet transfer apparatus of the present invention is a packet transfer apparatus controlled by the control apparatus, and is a response request to the connection destination of the connection destination unsearched port whose connection destination is not searched,
- a transfer determination unit that determines whether or not to transfer the response request to another packet transfer device, and forwards the response request to another packet transfer device Then, based on the content of the response request, if it is determined, the transfer unit that transfers the response request to another packet transfer device, and if it is determined not to transfer the response request to another packet transfer device, the own packet transfer device And a response transmission unit that returns a response sent along a route to the control device.
- the packet transfer apparatus of the present invention is a packet transfer apparatus controlled by the control apparatus, and is a response request to the connection destination of the connection destination unsearched port whose connection destination is not searched,
- transfer determination means for determining whether or not to transfer the response request to another packet transfer device, and transfer the response request to another packet transfer device If it is determined that the response request is transferred to another packet transfer device based on the content of the response request, and if it is determined not to transfer the response request to another packet transfer device, the own packet transfer device Response transmission means for returning a response sent along the route to the control device.
- the present invention is preferably applied to a communication system including a plurality of packet transfer devices and a control device that controls each packet transfer device.
- Control apparatus 11
- Control apparatus side specific packet transmission / reception part 12
- Topology search part 13
- Topology holding part 14
- Control channel route determination part 15
- Control apparatus side control message tunneling part 20a-20d, 20A-20D Switch (packet transfer apparatus) 21
- switch side specific packet transmission / reception unit 23 information providing unit 24 route holding unit 25 switch side control message tunneling unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明の通信システムは、パケットを転送する複数のパケット転送装置と、その複数のスイッチを制御する制御装置とを備える。制御装置が、パケット転送装置に対してフローエントリ情報を送信し、パケット転送装置は、パケット受信時に、そのフローエントリ情報に従って、パケットを処理する。この結果、いずれかのパケット転送装置に接続された端末装置が、他のパケット転送装置に接続された別の端末装置に対してパケットを任意の経路で送信したり、同報したりすることが可能となる。
図9から図13までの各説明図は、制御装置がトポロジー情報を生成し、制御チャネルを形成する過程を示す模式図である。図9から図13までの各図では、便宜的に、制御装置を符号Aで表し、各スイッチを符号B~Eで表す。制御装置Aおよび個々のスイッチB~Eの構成は、図2に示す構成と同様である。また、図9から図13までの各図において、制御装置Aおよび各スイッチBの近傍に示す数字は、ポート識別番号を意味する。また、図9から図13までの各図において、接続先未探索ポートと判定されるポートのポート識別番号は、円で囲んで示す。また、以下の説明において、制御装置AおよびスイッチB~Eの各ポートを、制御装置やスイッチの符号とポート識別番号とともに“#n@A”,“#n@B”等のように記すことがある。“#”の次の数は、ポート識別番号を表し、“@”の次の符号は、制御装置または各スイッチのいずれかを表す。例えば、“#1@A”は、制御装置10のポート#1を意味し、“#2@B”は、スイッチBのポート#2を意味する。
11 制御装置側特定パケット送受信部
12 トポロジー探索部
13 トポロジー保持部
14 制御チャネル経路決定部
15 制御装置側制御メッセージトンネリング部
20a~20d,20A~20D スイッチ(パケット転送装置)
21 スイッチ側特定パケット送受信部
23 情報提供部
24 経路保持部
25 スイッチ側制御メッセージトンネリング部
Claims (10)
- 複数のパケット転送装置と、
前記パケット転送装置を制御する制御装置とを備え、
前記制御装置は、
前記制御装置または前記パケット転送装置の各ポート間の接続情報を含むトポロジー情報を記憶するトポロジー情報記憶手段と、
前記トポロジー情報から、前記制御装置または前記パケット転送装置のポートのうち接続先が未探索である接続先未探索ポートを特定する接続先未探索ポート特定手段と、
前記接続先未探索ポートを経由して、該接続先未探索ポートの接続先への応答要求を送る応答要求送信手段と、
前記接続先未探索ポートの接続先となるパケット転送装置から該パケット転送装置の持つポートの情報を含む応答を受信する応答受信手段とを含み、
前記パケット転送装置は、
受信した前記応答要求の内容に基づいて、前記応答要求を他のパケット転送装置に転送するか否かを判定する転送判定手段と、
前記応答要求を他のパケット転送装置に転送すると判定された場合、前記応答要求の内容に基づいて、前記応答要求を他のパケット転送装置に転送する転送手段と、
前記応答要求を他のパケット転送装置に転送しないと判定された場合、自パケット転送装置のポートの情報を含み、前記制御装置への経路に沿って送られる前記応答を返す応答送信手段とを含む
ことを特徴とする通信システム。 - 制御装置は、
接続先未探索ポートの接続先となるパケット転送装置から受信した応答に含まれる該パケット転送装置のポートの情報をトポロジー情報に追加し、さらに、該パケット転送装置のポートのうち該パケット転送装置が応答要求を受信したポート以外のポートの接続先が未探索である場合に該ポートが未探索であるという情報を前記トポロジー情報に追加するトポロジー情報追加手段を含む
請求項1に記載の通信システム。 - 応答要求送信手段は、接続先未探索ポート特定手段によって接続先未探索ポートがないと判定された場合に、応答要求の送信を停止する
請求項1または請求項2に記載の通信システム。 - 応答要求送信手段は、
制御装置のポートから接続先未探索ポートまでの経路上の各パケット転送装置が応答要求を出力するポートの情報を順にならべた列を、応答要求の転送経路として該応答要求に記述し、
転送手段は、応答要求に記述された転送経路に沿って該応答要求を転送し、
応答送信手段は、前記応答要求に記述された転送経路に基づいて、制御装置に応答を送る経路を判定する
請求項1から請求項3のうちのいずれか1項に記載の通信システム。 - 制御装置は、
トポロジー情報に基づいて制御装置と各パケット転送装置間の経路である制御チャネルを決定する制御チャネル決定手段と、
前記制御チャネルを各パケット転送装置へ通知する制御チャネル通知を送信する制御チャネル通知送信手段とを含み、
パケット転送装置は、
前記制御チャネル通知を受信したときに、該制御チャネル通知に基づいて、前記制御装置と自パケット転送装置との間の制御チャネルを記憶する制御チャネル記憶手段を含む
請求項1から請求項4のうちのいずれか1項に記載の通信システム。 - 複数のパケット転送装置を制御する制御装置であって、
該制御装置または前記パケット転送装置の各ポート間の接続情報を含むトポロジー情報を記憶するトポロジー情報記憶手段と、
前記トポロジー情報から、該制御装置または前記パケット転送装置のポートのうち接続先が未探索である接続先未探索ポートを特定する接続先未探索ポート特定手段と、
前記接続先未探索ポートを経由して、該接続先未探索ポートの接続先への応答要求を送る応答要求送信手段と、
前記接続先未探索ポートの接続先となるパケット転送装置から該パケット転送装置の持つポートの情報を含む応答を受信する応答受信手段とを備える
ことを特徴とする制御装置。 - 接続先未探索ポートの接続先となるパケット転送装置から受信した応答に含まれる該パケット転送装置のポートの情報をトポロジー情報に追加し、さらに、該パケット転送装置のポートのうち該パケット転送装置が応答要求を受信したポート以外のポートの接続先が未探索である場合に該ポートが未探索であるという情報を前記トポロジー情報に追加するトポロジー情報追加手段を備える
請求項6に記載の制御装置。 - 制御装置によって制御されるパケット転送装置であって、
接続先が未探索である接続先未探索ポートの接続先への応答要求であって、前記制御装置が送信した応答要求を受信すると、前記応答要求の内容に基づいて、前記応答要求を他のパケット転送装置に転送するか否かを判定する転送判定手段と、
前記応答要求を他のパケット転送装置に転送すると判定された場合、前記応答要求の内容に基づいて、前記応答要求を他のパケット転送装置に転送する転送手段と、
前記応答要求を他のパケット転送装置に転送しないと判定された場合、自パケット転送装置のポートの情報を含み、前記制御装置への経路に沿って送られる応答を返す応答送信手段とを備える
ことを特徴とするパケット転送装置。 - 複数のパケット転送装置を制御する制御装置が、該制御装置または前記パケット転送装置の各ポート間の接続情報を含むトポロジー情報から、該制御装置または前記パケット転送装置のポートのうち接続先が未探索である接続先未探索ポートを特定し、
前記接続先未探索ポートを経由して、該接続先未探索ポートの接続先への応答要求を送り、
前記接続先未探索ポートの接続先となるパケット転送装置から該パケット転送装置の持つポートの情報を含む応答を受信する
ことを特徴とするポート情報収集方法。 - 複数のパケット転送装置を制御するコンピュータに搭載される制御装置用プログラムであって、
該コンピュータに、
該コンピュータまたは前記パケット転送装置の各ポート間の接続情報を含むトポロジー情報から、該コンピュータまたは前記パケット転送装置のポートのうち接続先が未探索である接続先未探索ポートを特定する接続先未探索ポート特定処理、
前記接続先未探索ポートを経由して、該接続先未探索ポートの接続先への応答要求を送る応答要求送信処理、および、
前記接続先未探索ポートの接続先となるパケット転送装置から該パケット転送装置の持つポートの情報を含む応答を受信する応答受信処理
を実行させるための制御装置用プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011547261A JP5598482B2 (ja) | 2009-12-28 | 2010-11-25 | 通信システムおよびポート情報収集方法 |
EP10840730.5A EP2521308B1 (en) | 2009-12-28 | 2010-11-25 | Communications system and port information collection method |
RU2012132449/08A RU2012132449A (ru) | 2009-12-28 | 2010-11-25 | Система связи и способ сбора информации портов |
CN201080059970.9A CN102687465B (zh) | 2009-12-28 | 2010-11-25 | 通信系统和收集端口信息的方法 |
US13/137,485 US9391880B2 (en) | 2009-12-28 | 2011-08-19 | Communication system, and method of collecting port information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-298852 | 2009-12-28 | ||
JP2009298852 | 2009-12-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/137,485 Continuation US9391880B2 (en) | 2009-12-28 | 2011-08-19 | Communication system, and method of collecting port information |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011080870A1 true WO2011080870A1 (ja) | 2011-07-07 |
Family
ID=44226299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/006875 WO2011080870A1 (ja) | 2009-12-28 | 2010-11-25 | 通信システムおよびポート情報収集方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9391880B2 (ja) |
EP (1) | EP2521308B1 (ja) |
JP (1) | JP5598482B2 (ja) |
CN (1) | CN102687465B (ja) |
RU (1) | RU2012132449A (ja) |
WO (1) | WO2011080870A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015501109A (ja) * | 2012-04-18 | 2015-01-08 | ニシラ, インコーポレイテッド | ネットワーク転送状態の算出ならびに伝播のためのトランザクションの使用 |
WO2015046539A1 (ja) * | 2013-09-30 | 2015-04-02 | 日本電気株式会社 | 中継装置、制御装置、通信システム、監視パケットの処理方法及びトポロジ管理方法 |
JP5699939B2 (ja) * | 2010-01-08 | 2015-04-15 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバおよび通信方法 |
WO2015114714A1 (ja) * | 2014-02-03 | 2015-08-06 | 日本電気株式会社 | ネットワークトポロジー検出システム、方法およびプログラムならびに制御装置 |
US9602421B2 (en) | 2011-10-25 | 2017-03-21 | Nicira, Inc. | Nesting transaction updates to minimize communication |
US9923760B2 (en) | 2015-04-06 | 2018-03-20 | Nicira, Inc. | Reduction of churn in a network control system |
US10057132B2 (en) | 2015-03-24 | 2018-08-21 | Fujitsu Limited | Apparatus and method for detecting connection relationships among switches in a communication network |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
JP2022068125A (ja) * | 2020-10-21 | 2022-05-09 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5493926B2 (ja) * | 2010-02-01 | 2014-05-14 | 日本電気株式会社 | インタフェース制御方式、インタフェース制御方法、及びインタフェース制御用プログラム |
US9124524B2 (en) * | 2011-06-29 | 2015-09-01 | Broadcom Corporation | System and method for priority based flow control between nodes |
US9252970B2 (en) * | 2011-12-27 | 2016-02-02 | Intel Corporation | Multi-protocol I/O interconnect architecture |
JP6168052B2 (ja) * | 2012-05-31 | 2017-07-26 | 株式会社ニコン | 移動電子機器およびプログラム |
US9832098B2 (en) | 2013-01-09 | 2017-11-28 | Telefonaktiebolaget L M Ericsson (Publ) | Connecting a booting switch to a network |
WO2014112614A1 (ja) | 2013-01-21 | 2014-07-24 | 日本電気株式会社 | 制御情報管理装置、制御情報提示方法及びプログラム |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
US9344349B2 (en) | 2013-07-12 | 2016-05-17 | Nicira, Inc. | Tracing network packets by a cluster of network controllers |
US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
US10193771B2 (en) | 2013-12-09 | 2019-01-29 | Nicira, Inc. | Detecting and handling elephant flows |
EP3447977B1 (en) * | 2013-12-11 | 2021-05-26 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
US9686200B2 (en) | 2014-03-31 | 2017-06-20 | Nicira, Inc. | Flow cache hierarchy |
CN104038446B (zh) * | 2014-06-06 | 2017-07-07 | 华为技术有限公司 | 链路发现方法以及装置 |
US9742881B2 (en) | 2014-06-30 | 2017-08-22 | Nicira, Inc. | Network virtualization using just-in-time distributed capability for classification encoding |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
US10805239B2 (en) | 2017-03-07 | 2020-10-13 | Nicira, Inc. | Visualization of path between logical network endpoints |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
CN110445678B (zh) * | 2019-07-26 | 2021-02-09 | 新华三大数据技术有限公司 | 组播网络检测方法、装置及转发设备 |
US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
US11706109B2 (en) | 2021-09-17 | 2023-07-18 | Vmware, Inc. | Performance of traffic monitoring actions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002223235A (ja) * | 2001-01-26 | 2002-08-09 | Kddi Corp | Mpls経路設定装置 |
JP2004129054A (ja) * | 2002-10-04 | 2004-04-22 | Ntt Docomo Inc | 経路制御装置及び経路制御情報生成方法 |
JP2007104350A (ja) * | 2005-10-05 | 2007-04-19 | Hitachi Ltd | ネットワーク管理装置およびネットワークシステム |
JP2009298852A (ja) | 2008-06-10 | 2009-12-24 | Ube Ind Ltd | 可塑剤含有ポリアミド樹脂組成物及び成形物 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319633A (en) * | 1992-08-17 | 1994-06-07 | International Business Machines Corporation | Enhanced serial network topology generation algorithm |
US6987740B1 (en) * | 2000-09-11 | 2006-01-17 | Cisco Technology, Inc. | STP root guard |
JP3823867B2 (ja) | 2002-04-11 | 2006-09-20 | 日本電気株式会社 | 通信ネットワーク制御システム、制御方法、ノード及びプログラム |
CN1497913A (zh) | 2002-10-04 | 2004-05-19 | 株式会社Ntt都科摩 | 路径控制装置及路径控制信息生成方法 |
US7493562B2 (en) * | 2003-06-27 | 2009-02-17 | Computer Associates Think, Inc. | System and method for bridge port administration |
JP4030979B2 (ja) * | 2004-03-31 | 2008-01-09 | Necパーソナルプロダクツ株式会社 | ネットワーク機器の相互接続装置 |
US8184644B1 (en) | 2006-02-28 | 2012-05-22 | Nortel Networks Limited | WiMAX R6 management protocol |
JP5393686B2 (ja) * | 2007-09-26 | 2014-01-22 | ニシラ, インコーポレイテッド | ネットワークを管理する及び安全にするためのネットワークオペレーティングシステム |
-
2010
- 2010-11-25 WO PCT/JP2010/006875 patent/WO2011080870A1/ja active Application Filing
- 2010-11-25 RU RU2012132449/08A patent/RU2012132449A/ru not_active Application Discontinuation
- 2010-11-25 EP EP10840730.5A patent/EP2521308B1/en not_active Not-in-force
- 2010-11-25 CN CN201080059970.9A patent/CN102687465B/zh not_active Expired - Fee Related
- 2010-11-25 JP JP2011547261A patent/JP5598482B2/ja active Active
-
2011
- 2011-08-19 US US13/137,485 patent/US9391880B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002223235A (ja) * | 2001-01-26 | 2002-08-09 | Kddi Corp | Mpls経路設定装置 |
JP2004129054A (ja) * | 2002-10-04 | 2004-04-22 | Ntt Docomo Inc | 経路制御装置及び経路制御情報生成方法 |
JP2007104350A (ja) * | 2005-10-05 | 2007-04-19 | Hitachi Ltd | ネットワーク管理装置およびネットワークシステム |
JP2009298852A (ja) | 2008-06-10 | 2009-12-24 | Ube Ind Ltd | 可塑剤含有ポリアミド樹脂組成物及び成形物 |
Non-Patent Citations (2)
Title |
---|
"OpenFlow Switch Specification Version 0.9.0", 4.4 ENCRYPTION, 20 July 2009 (2009-07-20) |
See also references of EP2521308A4 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5699939B2 (ja) * | 2010-01-08 | 2015-04-15 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバおよび通信方法 |
US10505856B2 (en) | 2011-10-25 | 2019-12-10 | Nicira, Inc. | Chassis controller |
US12111787B2 (en) | 2011-10-25 | 2024-10-08 | Nicira, Inc. | Chassis controller |
US11669488B2 (en) | 2011-10-25 | 2023-06-06 | Nicira, Inc. | Chassis controller |
US9602421B2 (en) | 2011-10-25 | 2017-03-21 | Nicira, Inc. | Nesting transaction updates to minimize communication |
US10135676B2 (en) | 2012-04-18 | 2018-11-20 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
US9843476B2 (en) | 2012-04-18 | 2017-12-12 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
US10033579B2 (en) | 2012-04-18 | 2018-07-24 | Nicira, Inc. | Using transactions to compute and propagate network forwarding state |
JP2015501109A (ja) * | 2012-04-18 | 2015-01-08 | ニシラ, インコーポレイテッド | ネットワーク転送状態の算出ならびに伝播のためのトランザクションの使用 |
WO2015046539A1 (ja) * | 2013-09-30 | 2015-04-02 | 日本電気株式会社 | 中継装置、制御装置、通信システム、監視パケットの処理方法及びトポロジ管理方法 |
WO2015114714A1 (ja) * | 2014-02-03 | 2015-08-06 | 日本電気株式会社 | ネットワークトポロジー検出システム、方法およびプログラムならびに制御装置 |
US10057132B2 (en) | 2015-03-24 | 2018-08-21 | Fujitsu Limited | Apparatus and method for detecting connection relationships among switches in a communication network |
US9923760B2 (en) | 2015-04-06 | 2018-03-20 | Nicira, Inc. | Reduction of churn in a network control system |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11288249B2 (en) | 2015-09-30 | 2022-03-29 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
US11601521B2 (en) | 2016-04-29 | 2023-03-07 | Nicira, Inc. | Management of update queues for network controller |
JP2022068125A (ja) * | 2020-10-21 | 2022-05-09 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
JP7389091B2 (ja) | 2020-10-21 | 2023-11-29 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
US12068955B2 (en) | 2020-10-21 | 2024-08-20 | Huawei Technologies Co., Ltd. | Method for controlling traffic forwarding, device, and system |
Also Published As
Publication number | Publication date |
---|---|
US9391880B2 (en) | 2016-07-12 |
EP2521308A1 (en) | 2012-11-07 |
RU2012132449A (ru) | 2014-02-10 |
EP2521308A4 (en) | 2015-07-29 |
US20110305167A1 (en) | 2011-12-15 |
CN102687465B (zh) | 2015-04-08 |
JP5598482B2 (ja) | 2014-10-01 |
CN102687465A (zh) | 2012-09-19 |
EP2521308B1 (en) | 2016-08-24 |
JPWO2011080870A1 (ja) | 2013-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5598482B2 (ja) | 通信システムおよびポート情報収集方法 | |
JP5644775B2 (ja) | 通信システムおよびトポロジー情報作成方法 | |
JP6358347B2 (ja) | 通信システム、制御装置、ノードの制御方法 | |
CN102308519B (zh) | 适用于点至多点域间多协议标签交换流量工程路径计算的系统和方法 | |
JP5418925B2 (ja) | 動的経路分岐システム、動的経路分岐装置、動的経路分岐方法、通信システム、ノード、制御装置、パケット転送方法およびプログラム | |
JP5644895B2 (ja) | 通信システム、制御装置、通信方法及びプログラム | |
EP2731305B1 (en) | Communication system, node, control server and communication method | |
JP5423787B2 (ja) | 経路設定サーバ、経路設定方法、及び経路設定プログラム | |
WO2012090996A1 (ja) | 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム | |
JP6085263B2 (ja) | 中継ノード及び経路制御方法 | |
US9397956B2 (en) | Communication system, control device, forwarding node, and control method and program for communication system | |
EP3364613B1 (en) | Method and device for transmitting traffic via specified path | |
KR20090110916A (ko) | 링크 상태 광고(lsa)에 기반한 신장 트리를 계산하는 방법, 브릿지 및 컴퓨터 네트워크 | |
JP5991385B2 (ja) | 制御情報管理装置、制御情報提示方法及びプログラム | |
JP5669955B2 (ja) | ネットワーク構成方法、リング型ネットワークシステム及びノード | |
WO2014157609A1 (ja) | 制御装置、通信システム、通信ノードの制御方法及びプログラム | |
JP2004349881A (ja) | フラッディング量削減方法および通信装置 | |
WO2016072424A1 (ja) | 制御装置、通信システム及び中継装置の制御方法 | |
JP2012257335A (ja) | 通信システム、ノード、制御装置、通信方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080059970.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10840730 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011547261 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2010840730 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 5674/CHENP/2012 Country of ref document: IN Ref document number: 2010840730 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012132449 Country of ref document: RU |