WO2014132967A1 - 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム - Google Patents

通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム Download PDF

Info

Publication number
WO2014132967A1
WO2014132967A1 PCT/JP2014/054568 JP2014054568W WO2014132967A1 WO 2014132967 A1 WO2014132967 A1 WO 2014132967A1 JP 2014054568 W JP2014054568 W JP 2014054568W WO 2014132967 A1 WO2014132967 A1 WO 2014132967A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
control
packet
control device
layer
Prior art date
Application number
PCT/JP2014/054568
Other languages
English (en)
French (fr)
Inventor
孝裕 大島
飛 高
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2015502936A priority Critical patent/JP5987971B2/ja
Priority to US14/766,008 priority patent/US9628376B2/en
Priority to EP14756566.7A priority patent/EP2963869A4/en
Publication of WO2014132967A1 publication Critical patent/WO2014132967A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • the present invention is based on the priority claim of Japanese Patent Application No. 2013-036091 (filed on Feb. 26, 2013), the entire contents of which are incorporated herein by reference. Shall.
  • the present invention relates to a communication system, a switch, a control device, and a control channel construction method and program, and more particularly, to a centralized control communication system, switch, control device, control channel construction method and program having a control device.
  • a network in which a packet transfer function of a network device and a control function such as route control are separated has attracted attention.
  • the network device is responsible for the packet transfer function, and the controller separated outside the network device is responsible for the control function. In this way, it becomes possible to construct a network that is easy to control and rich in flexibility.
  • Non-Patent Documents 1 and 2 propose a technique called OpenFlow that realizes the centralized control network.
  • OpenFlow captures communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
  • the OpenFlow switch specified in Non-Patent Document 2 includes a secure channel for communication with the OpenFlow controller, and operates according to a flow table that is appropriately added or rewritten from the OpenFlow controller. For each flow, a set of match conditions (Match Fields), flow statistical information (Counters), and instructions (Instructions) that define processing contents are defined for each flow (non-patented). (Refer to “5.2 Flow Table” in Document 2).
  • the OpenFlow switch searches the flow table for an entry having a matching condition (see “5.3 Matching” in Non-Patent Document 2) that matches the header information of the received packet. If an entry that matches the received packet is found as a result of the search, the OpenFlow switch updates the flow statistical information (counter) and processes the processing (designated) in the instruction field of the entry for the received packet. Perform packet transmission, flooding, discard, etc. from the port. On the other hand, if no entry matching the received packet is found as a result of the search, the OpenFlow switch sends an entry setting request to the OpenFlow controller via the secure channel, that is, a control for processing the received packet. An information transmission request (Packet-In message) is transmitted. The OpenFlow switch receives a flow entry whose processing content is defined and updates the flow table. As described above, the OpenFlow switch performs packet transfer using the entry stored in the flow table as control information.
  • a matching condition see “5.3 Matching” in Non-Patent Document 2
  • the OpenFlow switch updates the flow statistical information (counter
  • Non-Patent Document 3 a control channel is accommodated in a data network between switches without providing a control network (hereinafter referred to as “In-band control method”.
  • In-band control method For example, Non-Patent Document 3 Reference.
  • Non-Patent Documents 1 and 2 high reliability is required for a control channel between a control device and a switch.
  • the switch that has been controlled via the control channel is removed from the control target of the control device and becomes uncontrollable.
  • a communication failure is caused even in a state where it is connected to the data channel link.
  • LAG Link Aggregation
  • Non-Patent Document 3 it is necessary to add a function that causes each switch to interpret a special frame. Further, Non-Patent Document 3 only states that the fault tolerance can be improved by periodically repeating the topology search.
  • the present invention provides a communication system, a switch, a control device, a control channel construction method, and a program that provide automatic recovery means when disconnecting the control channel of the centralized control network and can contribute to improvement of fault tolerance.
  • the purpose is to provide.
  • a control device that controls the switch by setting control information in the switch via a control channel, and a packet that processes a received packet based on the control information set from the control device
  • a control unit learns a control packet input port between the control device and another switch, and based on the learning result, detects a disconnection of the control channel and a layer 2 transfer unit that transfers the control packet
  • a packet requesting resolution of the layer 2 address of the control device is transmitted to the adjacent switch, the layer 2 address is acquired from the control device via the adjacent switch, and the acquired layer 2 address is acquired.
  • an alternative control channel configuration unit that configures a second control channel with the control device using a switch. Communication system is provided.
  • a packet processing unit that processes a received packet based on control information set from a control device that controls the switch by setting control information in the switch via a control channel; Learning the input port of the control packet between the control device and the other switch, based on the learning result, adjacent to the layer 2 forwarding unit that forwards the control packet and detecting the disconnection of the control channel A packet requesting resolution of the layer 2 address of the control device is transmitted to the switch, a layer 2 address is acquired from the control device via the adjacent switch, and the control is performed using the acquired layer 2 address.
  • a switch comprising an alternative control channel configuration unit that configures a second control channel with the device.
  • a control device that configures the second control channel in response to a request from the switch that detects the disconnection of the control channel.
  • a packet processing unit that processes a received packet based on control information set from a control device that controls the switch by setting control information in the switch via a control channel;
  • a switch that learns an input port of a control packet between the control device and another switch, and that has a layer 2 forwarding unit that forwards the control packet based on the learning result, detects the disconnection of the control channel
  • a step of transmitting a packet requesting resolution of a layer 2 address of the control device to an adjacent switch, a step of acquiring a layer 2 address from the control device via the adjacent switch, and the acquired Configuring a second control channel with the control device using a layer 2 address, for control How to build a Yaneru is provided.
  • the method is associated with a specific machine, a switch that processes received packets based on control information set via a control channel.
  • a packet processing unit that processes a received packet based on control information set from a control device that controls the switch by setting control information in the switch via a control channel;
  • the control channel is connected to a computer mounted on a switch comprising a layer 2 forwarding unit that learns an input port of a control packet between the control device and another switch and forwards the control packet based on the learning result.
  • processing for transmitting a packet requesting resolution of the layer 2 address of the control device to an adjacent switch and processing for acquiring a layer 2 address from the control device via the adjacent switch And a process of configuring a second control channel with the control device using the acquired layer 2 address;
  • Program to be executed is provided.
  • This program can be recorded on a computer-readable (non-transient) storage medium. That is, the present invention can be embodied as a computer program product.
  • the switches 10A and 10B are set. It can be realized by a communication system including a control device 20A for controlling the control.
  • the switch 10A (10B) includes a packet processing unit 12 that processes a received packet based on control information set by the control device 20A, and an input of a control packet between the control device and another switch.
  • a layer 2 transfer unit 13 that learns a port and transfers the control packet based on the learning result, and an alternative control channel configuration unit 14 are provided.
  • the alternative control channel configuration unit 14 transmits a packet requesting resolution of the layer 2 address of the control device to an adjacent switch (see FIG. 2).
  • the alternative control channel configuration unit 14 uses the acquired layer 2 address to communicate with the control device.
  • a second control channel is formed between them (see FIG. 5). Note that the control packet between the switch that has detected the disconnection of the control channel and the control device 20A is relayed by the layer 2 transfer unit 13 of the switch on the second control channel.
  • FIG. 6 is a diagram illustrating a configuration of the communication system according to the first embodiment.
  • a plurality of switches 10-1 to 10-4 and a control device 20 that controls these switches 10-1 to 10-4 are shown.
  • the switches 10-1 to 10-4 are connected by a link indicated by a solid line in FIG.
  • the switches 10-1 to 10-4 and the control device 20 are connected by a control channel indicated by a broken line in FIG.
  • the reference numeral # 1-1 in FIG. 6 represents the port numbers of the switches 10-1 to 10-4.
  • FIG. 7 is a diagram showing a configuration of the switch according to the first embodiment (hereinafter referred to as “switch 10” when the switches 10-1 to 10-4 are not particularly distinguished).
  • switch 10 a configuration including a control information storage unit 11, a packet processing unit 12, a layer 2 transfer unit 13, an alternative control channel configuration unit 14, and a protocol processing unit 15 is shown.
  • 7 is a port number corresponding to FIG. 6,
  • LOCAL is a local port inside the switch connected to the alternative control channel configuration unit 14, and NORMAL is a layer 2 transfer unit 13 The normal port inside the switch connected to is shown.
  • the control information storage unit 11 stores control information (flow entry) transmitted from the control device 20.
  • FIG. 8 is an example of a table that stores control information (flow entry).
  • the control information (flow entry) is a process that is applied to a matching condition that is matched with the header of the received packet, and a packet that matches the matching condition.
  • the instruction that defines the contents and the priority indicating the priority order of each control information are associated with each other.
  • the packet processing unit 12 searches the control information storage unit 11 for control information (flow entry) having a matching condition that matches the received packet, and the processing contents (designation specified in the instruction field) (Transfer from port, rewrite header, discard, etc.)
  • control information flow entry
  • the source MAC address SMAC
  • DMAC destination MAC address
  • control information (flow entry) having matching conditions that match the received packet does not exist in the control information storage unit 11
  • the packet processing unit 12 sends the received packet to the control device 20 via the protocol processing unit 15. Is transmitted to request generation / transmission of control information (flow entry) (corresponding to the Packet-In message of Non-Patent Document 2). Note that the operation for requesting transmission of control information (flow entry) is also executed when it is set as an instruction of control information (flow entry).
  • the layer 2 transfer unit 13 holds the MAC address table and performs the following operations. First, when receiving a packet, the layer 2 forwarding unit 13 refers to the source MAC address of the ether frame header of the packet, and if there is no corresponding entry in the MAC address table, it corresponds to the MAC address and the receiving port. And register it in the MAC address table. When there is an entry corresponding to the MAC address table, the layer 2 transfer unit 13 outputs a received packet from the port associated with the MAC address. If there is no corresponding entry in the MAC address table, the layer 2 forwarding unit 13 outputs the packet from all ports except the input port (flooding).
  • the alternative control channel configuration unit 14 performs control from all ports connected to other switches.
  • An ARP (Address Resolution Protocol) packet for requesting resolution of the MAC address of the device 20 is output. This packet is transferred to the control device 20 by the operation in the adjacent switch, for example, when there is no control information (flow entry) having matching conditions matching the received packet described above in the control information storage unit 11.
  • the alternative control channel configuration unit 14 transmits a control packet to the control device 20 with the MAC address as a destination.
  • the control packet is delivered to the control device 20 via the layer 2 transfer unit 13 of the adjacent switch 10.
  • an alternative control channel is established.
  • the protocol processing unit 15 communicates with the control device 20 according to a predetermined protocol such as the open flow protocol of Non-Patent Document 2 and stores control information (flow entry) received from the control device 20 in the control information storage unit 11 In addition, an operation for deleting the control information (flow entry) instructed from the control device 20 from the control information storage unit 11 is executed.
  • the switch 10 including the layer 2 transfer unit 13 as described above may be configured by adding an alternative control channel configuration unit 14 to the switch specified as “Hybrid Switch” in Non-Patent Document 2. Yes (see “5.1 Pipeline Processing” in Non-Patent Document 2).
  • FIG. 9 is a diagram illustrating a configuration of the control device 20 according to the first embodiment. Referring to FIG. 9, a configuration including an alternative control channel management unit 21, a switch management unit 22, a packet packing / distribution unit 23, and a packet transmission / reception unit 24 is shown.
  • the alternative control channel management unit 21 is a module that manages information on a switch (relay switch) serving as an alternative route when the control channel is disconnected.
  • the alternative control channel management unit 21 includes a relay switch selection unit 211 and a relay switch management unit 212.
  • the relay switch selection unit 211 receives the ARP request packet from the switch 10 that has detected the disconnection of the control channel, the relay switch selection unit 211 refers to the relay switch management unit 212 and the ARP request packet has already established an alternative control channel (other switches First, the ARP request packet is received first, and the ARP response has been transmitted), and then the ARP response packet is transmitted.
  • FIG. 10 is an example of relay switch information held by the relay switch management unit 212.
  • the IP address of the switch that detected the disconnection of the control channel is stored in the control channel connection destination switch field, and the switch and its port information on the alternate control channel of the switch are stored in the relay switch field. ing.
  • the relay switch selection unit 211 When receiving the ARP request packet, the relay switch selection unit 211 checks whether an entry corresponding to the transmission source switch already exists. As a result of the confirmation, if there is no entry corresponding to the transmission source switch, the relay switch selection unit 211 relays the ARP request packet transmission source switch information and the ARP to the relay switch management unit 212. The switch information is stored, and a response to the transmission source of the ARP request packet is transmitted. On the other hand, as a result of the confirmation, if an entry corresponding to the transmission source switch already exists, information necessary for constructing the alternative control channel (the MAC address of the control device 20) has already reached the transmission source switch 10. The relay switch selection unit 211 discards the ARP request packet.
  • the switch management unit 22 is a module that manages a switch connected to the control device 20. For example, in response to a control information (flow entry) transmission request (Packet-In message) from each switch 10, an operation of generating and transmitting control information (flow entry) is performed.
  • the switch management unit 22 holds a network topology constituted by the switch 10 and port information held by each switch in order to generate the control information (flow entry).
  • the packet packing / distributing unit 23 performs an operation of encapsulating a packet to be transmitted to the switch 10 or assembling a packet received from the switch 10 and distributing the packet to the alternative control channel management unit 21 or the switch management unit 22. Specifically, the packet packing / sorting unit 23 transfers the ARP request packet transferred from the switch 10 to the alternative control channel management unit 21, and receives the ARP response packet output from the alternative control channel management unit 21 as a packet. The operation to output to the transmission module is performed.
  • the packet transmission / reception unit 24 is a module that transmits and receives packets to and from the switch 10 via the control channel or the alternative control channel.
  • the control device 20 as described above can be configured by adding an alternative control channel management unit 21 and a packet distribution function to the alternative control channel management unit 21 based on the OpenFlow controller of Non-Patent Document 2. it can.
  • the units (processing means) of the switch 10 and the control device 20 shown in FIG. 1 are realized by a computer program that causes a computer constituting these devices to execute the above-described processes using the hardware. You can also.
  • FIG. 11 is a diagram illustrating an initial setting operation performed by the control device 20 according to the present embodiment.
  • the control device 20 sets control information (flow entry) that causes each switch 10 to execute the following processes (1) to (3) as an initial setting.
  • (1) The packet addressed to the control device 20 is transferred by the layer 2 transfer unit 13.
  • the second control information (flow entry) from the bottom in FIG. 8 is set in each switch.
  • DMAC destination MAC address of the control device from the normal port (layer 2 reserved port)
  • the normal port (layer 2 reserved port) is equivalent to the “Normal” port defined as a reserved port of “Hybrid Switch” having a layer 2 transfer function in Non-Patent Document 2.
  • the packet from the control device 20 is transferred by the layer 2 transfer unit 13.
  • the first control information (flow entry) from the bottom in FIG. 8 is set in each switch.
  • SMAC source MAC address of the control device from the normal port (layer 2 reserved port)
  • a packet that is a packet from the control device 20 and whose destination MAC address is the MAC address assigned to the port of the own device is determined to be a control packet addressed to the own device, and the alternative control channel configuration unit 14
  • the first and second control information (flow entry) from the top in FIG. 8 is set in each switch.
  • an instruction for outputting the packet from the local port is defined.
  • the local port is a port connected to the alternative control channel configuration unit 14 inside the switch, and is equivalent to a “Local” port defined as a reserved port in Non-Patent Document 2.
  • control information (flow entry) shown in FIG. 8 As described above, by setting the control information (flow entry) shown in FIG. 8 in each switch, the initial setting is completed, and an alternative control channel can be configured. Note that part of the matching conditions of the control information (flow entry) that realizes the above processing is matched. For this reason, in the example of FIG. 8, a high priority is given so that control information (flow entry) in which a finer match condition is set is preferentially applied.
  • FIG. 12 is a diagram illustrating an operation when the control channel disconnection is detected in the switch 10-1 of the present embodiment. As shown in FIG. 12, when the switch 10-1 detects disconnection of the control channel, the switch 10-1 transmits the ARP request packet of the control device from the ports connected to the other switches 10-2 and 10-3.
  • Transfer of the ARP request packet to the control device 20 in FIG. 13 can also be realized by setting control information (flow entry) for transferring the ARP request packet to the control device 20 in each switch at the time of initial setting.
  • the control device 20 that has received the ARP request packet selects one of the switches 10-2 and 10-3 as a relay switch, specifies a connection port with the switch 10-1, and instructs the output of the ARP response packet. .
  • the control device 20 since the ARP request packet from the switch 10-2 has arrived at the control device 20 first, the control device 20 selects the switch 10-2 as a relay switch, and from its port # 2-1 An instruction to transmit an ARP response packet is given.
  • the output of the ARP response packet is instructed using the Packet-Out message of Non-Patent Document 2.
  • the switch with the earlier arrival of the ARP request packet (that is, the shorter channel length) is selected as the relay switch.
  • the control device 20 performs the performance and position of each switch (actual Or the like on the shortest route).
  • the switch 10-2 Upon receiving the Packet-Out message instructing the output of the ARP response packet, the switch 10-2 outputs the ARP response packet from the port designated by the Packet-Out message, as shown in FIG. As a result, the ARP response packet from the control device 20 reaches the switch 10-1.
  • the alternative control channel configuration unit 14 that has received the ARP response packet transmits a session connection request packet to the control device 20 from the port that has received the ARP response packet.
  • the switch 10-2 receives the session connection request packet, the switch 10-2 passes through the layer 2 transfer unit 13 according to control information (flow entry) that is set in the initial setting and transfers the packet addressed to the control device in layer 2.
  • control information flow entry
  • the control device 20 may suppress flooding by transmitting a packet that causes the layer 2 transfer unit 13 of the switch 10-2 to learn its own MAC address.
  • the control device 20 that has received the session connection request packet transmits a session connection response packet to the switch 10-1 via the switch 10-2.
  • the switch 10-2 receives the session connection response packet, the switch 10-2 follows the control information (flow entry) that is set in the initial setting and transfers the packet originating from the control device 20 in layer 2, and the layer 2 transfer unit 13 to the switch 10-1.
  • the layer 2 transfer unit 13 of the switch 10-2 learns the MAC address of the switch 10-1 and its port when transferring the session connection request packet, no flooding is performed.
  • an alternative control channel is established as shown in FIG. Thereafter, the control device 20 resumes the control of the switch 10-1. If this alternative control channel is also disconnected, the above-mentioned [ARP request transfer after disconnecting control channel] process is executed again, so that the alternative control with the switch 10-3 as a relay switch is performed.
  • a channel can be built.
  • control channel it is possible to realize redundancy of the control channel without adding a physical link between the control device 20 and the switch 10.
  • the reason is that an alternative control channel can be configured as long as there is a physical path that can reach the control device 20 via another switch.
  • the present invention can also be applied to a network in which layer 2 switches that are not controlled by the control device 20 are mixed (second embodiment).
  • a layer 2 switch (hereinafter referred to as “L2 switch”) 30-1 is disposed between the control device 20 and the switches 10-1 to 10-4. Even in this case, when the link connecting the switch 10 and the L2 switch is disconnected, transmission of the ARP request packet is started as in the first embodiment, and an alternative control channel can be established by the same procedure. .
  • the L2 switch 30- is sent at the timing when the session connection request packet is transmitted from the control channel disconnection detection switch (for example, the switch 10-1). 1 will learn the MAC table.
  • the control device 20 may suppress flooding by transmitting a packet that causes the L2 switch 30-1 to learn its own MAC address.
  • the L2 switch 30-2 is also arranged between the switch 10-2 and the switch 10-3. Even in this case, the ARP request packet and the ARP response packet can be transferred without any problem. For example, if the control channel of the switch 10-2 in FIG. 17 is disconnected, the switch 10-2 also transmits an ARP request packet to the L2 switch 30-2. At this stage, the L2 switch 30-2 learns the MAC address of the switch 10-2. Then, the L2 switch 30-2 floods the ARP request packet, so that the ARP request packet reaches the switch 10-4. After that, as in the first embodiment, the switch 10-4 requests the control device 20 to generate and transmit control information (flow entry), so that the ARP request packet is transmitted to the control device 20. To reach.
  • the control device 20 selects the switch 10-4 as a relay switch, the control device 20 instructs the switch 10-4 to output an ARP response packet toward the L2 switch 30-2.
  • the L2 switch 30-2 since the L2 switch 30-2 has learned the MAC address of the switch 10-2, the ARP response packet reaches the switch 10-2. Further, the L2 switch 30-2 learns the MAC address of the control device 20 when receiving the ARP response packet. Therefore, the session connection request packet received from the switch 10-2 is also transferred to the control device 20 via the switch 10-4. Is done.
  • the present invention can also be applied to the In-band control method described in Non-Patent Document 3.
  • control information storage unit 10A, 10B, 10-1 to 10-4 switch 11 control information storage unit 12 packet processing unit 13 Layer 2 Transfer Unit 14 Alternative Control Channel Configuration Unit 15 Protocol Processing Unit 20, 20A Control Device 21 Alternative Control Channel Management Unit 22 Switch Management Unit 23 Packet Packing / Distribution Unit 24 Packet Transmission / Reception Units 30-1, 30-2 Layer 2 Switch (L2 switch) 211 Relay switch selection unit 212 Relay switch management unit # 1-1, # 1-2, # 1-3, # 2-1 port

Abstract

 集中制御型ネットワークの対障害性の向上に貢献する。制御装置は、制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する。スイッチは、前記制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部と、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得し、前記取得したレイヤ2アドレスを用いて前記制御装置に制御用パケットを送信することで、前記制御装置との間に第2の制御チャネルを構成する代替制御チャネル構成部と、を備える。

Description

通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2013-036091号(2013年2月26日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラムに関し、特に、制御装置を有する集中制御型の通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラムに関する。
 近年、ネットワーク機器のパケット転送機能と経路制御等の制御機能とを分離した形態のネットワークが注目を浴びている。このようなネットワークでは、ネットワーク機器がパケット転送機能を担い、ネットワーク機器の外部に分離したコントローラが制御機能を担うことになる。このようにすることで、制御が容易になり柔軟性に富んだネットワークを構築することが可能になる。
 非特許文献1、2に、上記集中制御型のネットワークを実現するオープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献2に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件(Match Fields)と、フロー統計情報(Counters)と、処理内容を定義したインストラクション(Instructions)と、の組が定義される(非特許文献2の「5.2 Flow Table」の項参照)。
 例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献2の「5.3 Matching」参照)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求(Packet-Inメッセージ)を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
 また、非特許文献3には、制御用のネットワークを設けずに、スイッチ間のデータ用のネットワークに制御チャネルを収容する方式(以下、「In-band制御方式」という。例えば、非特許文献3参照)が開示されている。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成25(2013)年1月9日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.3.1 (Wire Protocol 0x04)、[online]、[平成25(2013)年1月9日検索]、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉 小出 俊夫、下西 英之、「OpenFlowネットワークにおける制御ネットワークの構築自動化に関する一検討」、信学技報、社団法人電子情報通信学会、NS2009-165(2010-3)、Vol.109、 No.448、pp.19-24、2010年3月
 以下の分析は、本発明によって与えられたものである。非特許文献1、2に代表される集中制御型のネットワークにおいては、制御装置とスイッチ間の制御用チャネルには高い信頼性が求められる。この制御用チャネルが切断されると、その制御用チャネルを介して制御を受けていたスイッチは、制御装置の制御対象から外れ、制御不能となる。結果として、データチャネル用のリンクに接続されている状態であっても通信障害を引き起こすこととなる。
 上記制御チャネルの信頼性を高めるための方法としては、LAG(Link Aggregation)などのリンク冗長化手法が挙げられる。しかしながら、LAGは冗長度を高めるためには物理的なリンクを増やす必要があるため、高い冗長度を実現しづらいという問題点がある。
 非特許文献3では、各スイッチに特殊フレームを解釈させる機能を追加させる必要がある。また、非特許文献3では、トポロジ探索を定期的に繰り返し実施することにより、その対障害性を向上させることができると述べるに止まっている。
 本発明は、上記集中制御型ネットワークの制御用チャネルの切断時の自動復旧手段を提供し、その対障害性の向上に貢献できる通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラムを提供することを目的とする。
 第1の視点によれば、制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置と、前記制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部と、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得し、前記取得したレイヤ2アドレスを用いて前記制御装置との間に第2の制御チャネルを構成する代替制御チャネル構成部と、を備えるスイッチと、を含む通信システムが提供される。
 第2の視点によれば、制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部と、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得し、前記取得したレイヤ2アドレスを用いて前記制御装置との間に第2の制御チャネルを構成する代替制御チャネル構成部と、を備えるスイッチが提供される。
 第3の視点によれば、上記制御チャネルの切断を検出したスイッチからの要求に応じて第2の制御チャネルを構成する制御装置が提供される。
 第4の視点によれば、制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部とを備えるスイッチが、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信するステップと、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得するステップと、前記取得したレイヤ2アドレスを用いて前記制御装置との間に第2の制御チャネルを構成するステップと、を含む制御用チャネルの構築方法が提供される。本方法は、制御用チャネルを介して設定された制御情報に基づいて受信パケットを処理するスイッチという、特定の機械に結びつけられている。
 第5の視点によれば、制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部とを備えるスイッチに搭載されたコンピュータに、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信する処理と、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得する処理と、前記取得したレイヤ2アドレスを用いて前記制御装置との間に第2の制御チャネルを構成する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明によれば、集中制御型ネットワークの対障害性の向上に貢献することが可能となる。
一実施形態の構成を示す図である。 一実施形態の動作を説明するための図である。 一実施形態の動作を説明するための図である。 一実施形態の動作を説明するための図である。 一実施形態の動作を説明するための図である。 第1の実施形態の通信システムの構成を示す図である。 第1の実施形態のスイッチの構成を示す図である。 第1の実施形態のスイッチが保持する制御情報(フローエントリ)を説明するための図である。 第1の実施形態の制御装置の構成を示す図である。 第1の実施形態の制御装置に保持される中継スイッチ情報を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第1の実施形態の制御装置の動作を説明するための図である。 第2の実施形態の通信システムの構成を示す図である。
 はじめに一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本願開示を図示の態様に限定することを意図するものではない。
 本願開示の一実施形態において、図1に示すように、スイッチ10A、10Bと、制御用チャネル(図1の破線)を介してスイッチ10A、10Bに制御情報を設定することにより、スイッチ10A、10Bを制御する制御装置20Aと、を含む通信システムにて実現できる。
 より具体的には、スイッチ10A(10B)は、制御装置20Aから設定された制御情報に基づいて受信パケットを処理するパケット処理部12と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部13と、代替制御チャネル構成部14とを備える。
 代替制御チャネル構成部14は、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信する(図2参照)。前記制御装置のレイヤ2アドレスの解決を要求するパケットに対する応答が得られると(図3、図4参照)、代替制御チャネル構成部14は、前記取得したレイヤ2アドレスを用いて前記制御装置との間に第2の制御チャネルを構成する(図5参照)。なお、前記制御チャネルの切断を検出したスイッチと、制御装置20A間の制御パケットは、第2の制御チャネル上のスイッチのレイヤ2転送部13によって中継される。
 以上のようにすることで、LAG等の物理的な冗長リンクを用いずに、代替制御チャネル(第2の制御チャネル)を構成することが可能となる。
[第1の実施形態]
 続いて、第1の実施形態について図面を参照して詳細に説明する。図6は、第1の実施形態の通信システムの構成を示す図である。図6を参照すると、複数のスイッチ10-1~10-4と、これらスイッチ10-1~10-4を制御する制御装置20とが、示されている。スイッチ10-1~10-4は、図6の実線で示されたリンクによって接続されている。また、スイッチ10-1~10-4と制御装置20は、図6の破線で示された制御用チャネルで接続されている。なお、図6の#1-1といった符号は、スイッチ10-1~10-4のポート番号を表している。
 図7は、第1の実施形態のスイッチ(以下、スイッチ10-1~10-4を特に区別しない場合、「スイッチ10」と記す。)の構成を示す図である。図7を参照すると、制御情報記憶部11と、パケット処理部12と、レイヤ2転送部13と、代替制御チャネル構成部14と、プロトコル処理部15と、を備えた構成が示されている。なお、図7の#1-1等の符号は、図6に対応するポート番号であり、LOCALは代替制御チャネル構成部14に接続されたスイッチ内部のローカルポート、NORMALは、レイヤ2転送部13に接続されたスイッチ内部のノーマルポートを示している。
 制御情報記憶部11は、制御装置20から送信された制御情報(フローエントリ)を記憶している。図8は、制御情報(フローエントリ)を格納したテーブルの一例であり、制御情報(フローエントリ)は、受信パケットのヘッダ等と照合するマッチ条件と、このマッチ条件に適合するパケットに適用する処理内容を定めたインストラクションと、個々の制御情報の優先順位を示す優先度とを対応付けて構成されている。
 パケット処理部12は、パケットが入力されると、制御情報記憶部11から、受信パケットの適合するマッチ条件を持つ制御情報(フローエントリ)を検索し、そのインストラクションフィールドに定められた処理内容(指定ポートからの転送、ヘッダ書換え、廃棄等)を実行する。例えば、図8に示すような制御情報(フローエントリ)が格納されている場合において、送信元MACアドレス(SMAC)が、制御装置20のMACアドレスであり、かつ、宛先MACアドレス(DMAC)が自身のポートのMACアドレスに一致するパケットを受信すると、スイッチ10-1は、そのパケットをローカルポートから出力する動作を行う。また、受信パケットに適合するマッチ条件を持つ制御情報(フローエントリ)が制御情報記憶部11に存在しない場合、パケット処理部12は、プロトコル処理部15を介して、制御装置20に対し、受信パケットの情報を送信して、制御情報(フローエントリ)の生成・送信を要求する(非特許文献2のPacket-Inメッセージに相当)。なお、制御情報(フローエントリ)の送信を要求動作は、制御情報(フローエントリ)のインストラクションとして設定されている場合にも実行される。
 レイヤ2転送部13は、MACアドレステーブルを保持し、以下の動作を行う。まず、レイヤ2転送部13は、パケットを受信した際、そのパケットのイーサフレームヘッダの送信元MACアドレスを参照し、MACアドレステーブルに該当するエントリが存在しない場合はそのMACアドレスと受信ポートと対応付けてMACアドレステーブルに登録する。また、MACアドレステーブルに該当するエントリが存在する場合、レイヤ2転送部13は、そのMACアドレスに対応付けられたポートから受信パケットを出力する。また、MACアドレステーブルに該当するエントリが存在しない場合、レイヤ2転送部13は、入力ポートを除くすべてのポートからそのパケットを出力する(フラッディング)。
 代替制御チャネル構成部14は、例えば、制御装置20と接続されたポート#1-1のポートダウン等により制御チャネルの切断を検出した場合、他のスイッチと接続しているすべてのポートから、制御装置20のMACアドレスの解決を求めるARP(Address Resolution Protocol)パケットを出力する。このパケットは、隣接するスイッチにおいて、例えば、上述した受信パケットに適合するマッチ条件を持つ制御情報(フローエントリ)が制御情報記憶部11に存在しない場合の動作により制御装置20に転送される。
 また、前記ARP要求パケットに対する応答パケットを受信すると、代替制御チャネル構成部14は、そのMACアドレスを宛先として制御装置20に制御用パケットを送信する。この制御用パケットは、隣接するスイッチ10のレイヤ2転送部13を介して、制御装置20に届けられる。以上により代替制御チャネルが構築される。
 プロトコル処理部15は、非特許文献2のオープンフロープロトコル等の所定のプロトコルに従って、制御装置20と通信し、制御装置20から受信した制御情報(フローエントリ)を制御情報記憶部11に格納する動作や、制御装置20から指示した制御情報(フローエントリ)を制御情報記憶部11から削除する動作等を実行する。
 なお、上記のようなレイヤ2転送部13を備えたスイッチ10は、非特許文献2において「Hybrid Switch」として規定されているスイッチに、代替制御チャネル構成部14を追加することで構成することもできる(非特許文献2の「5.1 Pipeline Processing」参照)。
 続いて、本実施形態の制御装置20の構成について説明する。図9は、第1の実施形態の制御装置20の構成を示す図である。図9を参照すると、代替制御チャネル管理部21と、スイッチ管理部22と、パケット梱包・振り分け部23と、パケット送受信部24とを備えた構成が示されている。
 代替制御チャネル管理部21は、制御チャネル切断時の代替経路となるスイッチ(中継スイッチ)の情報を管理するモジュールである。図9の例では、代替制御チャネル管理部21は、中継スイッチ選択部211と、中継スイッチ管理部212とを備えている。中継スイッチ選択部211は、制御チャネル切断を検出したスイッチ10からのARP要求パケットを受信すると、中継スイッチ管理部212を参照して、そのARP要求パケットがすでに代替制御チャネルを構築済み(他のスイッチを経由して先にARP要求パケットを受信し、ARP応答を送信済み)であるか否かを確かめてから、ARP応答パケットを送信する。
 図10は、中継スイッチ管理部212にて保持される中継スイッチ情報の一例である。図10の例では、制御チャネル接続先スイッチフィールドに、制御チャネル切断を検出したスイッチのIPアドレスが格納され、中継スイッチフィールドに、そのスイッチの代替制御チャネル上のスイッチとそのポートの情報が格納されている。
 中継スイッチ選択部211は、ARP要求パケットを受信すると、その送信元のスイッチに対応するエントリがすでに存在するかどうかを確認する。前記確認の結果、送信元のスイッチに対応するエントリが存在しない場合、中継スイッチ選択部211は、中継スイッチ管理部212に、ARP要求パケットの送信元のスイッチの情報と、そのARPを中継してきたスイッチの情報とを格納し、さらに、ARP要求パケットの送信元に対する応答を送信する。一方、前記確認の結果、送信元のスイッチに対応するエントリがすでに存在する場合、すでに代替制御チャネルの構築に必要な情報(制御装置20のMACアドレス)は送信元のスイッチ10に届いているため、中継スイッチ選択部211は、ARP要求パケットを破棄する。
 スイッチ管理部22は、制御装置20に接続されているスイッチを管理するモジュールである。例えば、各スイッチ10からの制御情報(フローエントリ)の送信要求(Packet-Inメッセージ)に応じて、制御情報(フローエントリ)を生成、送信する動作を行う。スイッチ管理部22は、前記制御情報(フローエントリ)の生成のために、スイッチ10によって構成されるネットワークトポロジや各スイッチが持つポート情報などを保持している。
 パケット梱包・振り分け部23は、スイッチ10に送信するパケットのカプセル化や、スイッチ10から受信したパケットを組み立てて代替制御チャネル管理部21又はスイッチ管理部22に振り分ける動作を行う。具体的には、パケット梱包・振り分け部23は、スイッチ10から転送されてきたARP要求パケットを代替制御チャネル管理部21に転送し、代替制御チャネル管理部21から出力されたARP応答パケットを、パケット送信モジュールに出力する動作を行う。
 パケット送受信部24は、制御チャネル又は代替制御チャネルを介してスイッチ10と、パケットの送受信を行うモジュールである。
 なお、上記のような制御装置20は、非特許文献2のオープンフローコントローラをベースに、代替制御チャネル管理部21と代替制御チャネル管理部21へのパケット振り分け機能を追加することで構成することができる。
 なお、図1に示したスイッチ10及び制御装置20の各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
 続いて、第1の実施形態の動作について図面を参照して詳細に説明する。以下、本実施形態を4つのフェーズ(「初期設定」、「制御チャネル切断後のARP要求転送」、「ARP応答転送」、「代替制御チャネルの確立」)に分けて説明する。
[初期設定]
 図11は、本実施形態の制御装置20による初期設定の動作を表した図である。制御装置20は、スイッチ10と制御チャネルが確立されると、初期設定として、各スイッチ10に、以下の処理(1)~(3)を実行させる制御情報(フローエントリ)を設定する。(1)制御装置20宛てのパケットは、レイヤ2転送部13で転送する。例えば、図8の下から2番目の制御情報(フローエントリ)が各スイッチに設定される。なお、図8の例では、マッチ条件がDMAC(宛先MACアドレス)=制御装置のMACアドレスであるパケットをノーマルポート(レイヤ2予約ポート)から出力するインストラクションが定められている。これにより、該当するパケットを受信すると、ノーマルポート経由でレイヤ2転送部13による転送が行われる。ここで、ノーマルポート(レイヤ2予約ポート)とは、非特許文献2において、レイヤ2転送機能を備えた「Hybrid Switch」の予約ポートとして規定されている「Normal」ポートと同等のものである。
(2)制御装置20からのパケットは、レイヤ2転送部13により転送する。例えば、図8の下から1番目の制御情報(フローエントリ)が各スイッチに設定される。なお、図8の例では、マッチ条件がSMAC(送信元MACアドレス)=制御装置のMACアドレスであるパケットをノーマルポート(レイヤ2予約ポート)から出力するインストラクションが定められている。これにより、先の(1)の制御情報(フローエントリ)と同様に、該当するパケットを受信すると、レイヤ2転送部13による転送が行われる。
(3)制御装置20からのパケットであり、かつ、宛先MACアドレスが自装置のポートに付与されたMACアドレスであるパケットは、自装置宛ての制御パケットであると判断し、代替制御チャネル構成部14に送る。例えば、図8の上から1、2番目の制御情報(フローエントリ)が各スイッチに設定される。なお、図8の例では、該当パケットをローカルポートから出力するインストラクションが定められている。ここで、ローカルポートとは、スイッチ内部の代替制御チャネル構成部14に接続されているポートであり、非特許文献2において予約ポートとして規定されている「Local」ポートと同等のものである。
 以上のように図8に示す制御情報(フローエントリ)を各スイッチに設定することにより初期設定が完了し、代替制御チャネルの構成が可能となる。なお、上記処理を実現する各制御情報(フローエントリ)のマッチ条件は一部一致することになる。このため、図8の例では、より細かいマッチ条件が設定されている制御情報(フローエントリ)が優先的に適用されるように、高い優先度が与えられている。
[制御チャネル切断後のARP要求転送]
 図12は、本実施形態のスイッチ10-1において制御チャネル切断を検出した場合の動作を表した図である。図12に示したとおり、スイッチ10-1は、制御チャネル切断を検出すると、他のスイッチ10-2、10-3と接続されているポートから、制御装置のARP要求パケットを送信する。
 前記ARP要求パケットを受信したスイッチ10-2、10-3は、ARP要求パケットに適合するマッチ条件を持つ制御情報(フローエントリ)を持たないため、図13に示すように、制御装置20に対し、受信したARP要求パケットを転送し、制御情報(フローエントリ)の送信を要求する(Packet-Inメッセージ)を送信する。
 以上により、制御チャネル切断時のARP要求パケットが制御装置20に転送される。なお、図13の制御装置20へのARP要求パケットの転送は、初期設定時に、ARP要求パケットを制御装置20に転送させる制御情報(フローエントリ)を各スイッチに設定しておくことでも実現できる。
[ARP応答転送]
 前記ARP要求パケットを受信した制御装置20は、スイッチ10-2、10-3のいずれかを中継スイッチとして選択し、スイッチ10-1との接続ポートを指定してARP応答パケットの出力を指示する。図14の例では、スイッチ10-2からのARP要求パケットの方が先に制御装置20に到達したため、制御装置20は、中継スイッチとしてスイッチ10-2を選択し、そのポート#2-1からARP応答パケットを送信するよう指示している。なお、本実施形態では、非特許文献2のPacket-Outメッセージを用いてARP応答パケットの出力を指示している。また、本実施形態では、ARP要求パケットの到達が早かった(つまりチャネル長が短い)方のスイッチを中継スイッチとして選択しているが、例えば、制御装置20が、各スイッチの性能や位置(実際に最短経路上にあるかどうか)等を考慮するものとしてもよい。
 前記ARP応答パケットの出力を指示するPacket-Outメッセージを受信したスイッチ10-2は、図15に示すように、Packet-Outメッセージにて指定されたポートからARP応答パケットを出力する。これにより、制御装置20からのARP応答パケットがスイッチ10-1に到達する。
[代替制御チャネルの確立]
 前記ARP応答パケットを受信したスイッチ10-1は、スイッチ10-2からARP応答パケットを受信したので、図8の上から1番目の制御情報(フローエントリ)に従い、内部のローカルポートを介して、代替制御チャネル構成部14にARP応答パケットを転送する。
 ARP応答パケットを受信した代替制御チャネル構成部14は、前記ARP応答パケットを受信したポートから制御装置20に対しセッション接続要求パケットを送信する。スイッチ10-2は、セッション接続要求パケットを受信すると、初期設定にて設定された、制御装置宛てのパケットをレイヤ2で転送するとの制御情報(フローエントリ)に従い、レイヤ2転送部13を介して、制御装置20に転送する。なお、この段階で、スイッチ10-2のレイヤ2転送部13が、制御装置20のMACアドレスとそのポートを未学習である場合、フラッディングを行うことになる。もちろん、制御装置20がスイッチ10-2のレイヤ2転送部13に自身のMACアドレスを学習させるパケットを送信するようにしてフラッディングを抑止するようにしてもよい。
 セッション接続要求パケットを受信した制御装置20は、スイッチ10-2経由で、スイッチ10-1に対して、セッション接続応答パケットを送信する。スイッチ10-2は、セッション接続応答パケットを受信すると、初期設定にて設定された、制御装置20を送信元とするパケットをレイヤ2で転送するとの制御情報(フローエントリ)に従い、レイヤ2転送部13を介して、スイッチ10-1に転送する。なお、ここでは、スイッチ10-2のレイヤ2転送部13は、セッション接続要求パケットの転送時に、スイッチ10-1のMACアドレスとそのポートを学習しているため、フラッディングは行われない。
 以上により、セッション接続応答パケットがスイッチ10-1に到達することで、図16に示すように、代替制御チャネルが確立される。以後、制御装置20は、スイッチ10-1の制御を再開する。なお、この代替制御チャネルも切断となった場合には、再度、上記[制御チャネル切断後のARP要求転送]処理以降を実行することで、今度は、スイッチ10-3を中継スイッチとした代替制御チャネルを構築することができる。
 以上のように、本実施形態によれば、制御装置20とスイッチ10間の物理リンクを増設することなく、制御チャネルの冗長化を実現することが可能となる。その理由は、他のスイッチを経由して制御装置20へ到達可能な物理的な経路が存在する限り、代替制御チャネルを構成できるようにしたことにある。
 以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
 例えば、図17に示すように、制御装置20の制御を受けないレイヤ2スイッチが混在するネットワークにも適用可能である(第2の実施形態)。
 図17の場合、制御装置20とスイッチ10-1~10-4間にレイヤ2スイッチ(以下、「L2スイッチ」)30-1が配置されている。この場合においても、スイッチ10とL2スイッチを繋ぐリンクが切断された場合は、第1の実施形態と同様にARP要求パケットの送信が開始され、同様の手順により代替制御チャネルを確立することができる。なお、図17の例においては、ARP要求パケットに対する応答が行われた後、制御チャネル切断検出スイッチ(例えば、スイッチ10-1)から、セッション接続要求パケットが送信されたタイミングで、L2スイッチ30-1がMACテーブルを学習することになる。また、この場合においては、制御装置20がL2スイッチ30-1に自身のMACアドレスを学習させるパケットを送信するようにしてフラッディングを抑止するようにしてもよい。
 また、図17の場合、スイッチ10-2とスイッチ10-3との間にもL2スイッチ30-2が配置されている。この場合においても、問題なくARP要求パケット及びARP応答パケットを転送することができる。例えば、図17のスイッチ10-2の制御チャネルが切断されたとすると、スイッチ10-2は、L2スイッチ30-2にもARP要求パケットを送信する。この段階で、L2スイッチ30-2は、スイッチ10-2のMACアドレスを学習する。そして、L2スイッチ30-2がARP要求パケットをフラッディングすることにより、ARP要求パケットがスイッチ10-4に到達する。その後は、先の第1の実施形態と同様に、スイッチ10-4が、制御装置20に対して、制御情報(フローエントリ)の生成、送信を要求する動作により、ARP要求パケットが制御装置20に到達する。制御装置20が、中継スイッチとしてスイッチ10-4を選択した場合、制御装置20は、スイッチ10-4に対し、L2スイッチ30-2に向けてARP応答パケットを出力するよう指示する。この段階で、L2スイッチ30-2は、スイッチ10-2のMACアドレスを学習しているので、ARP応答パケットは、スイッチ10-2に到達する。また、L2スイッチ30-2は、ARP応答パケットの受信時に、制御装置20のMACアドレスを学習するので、スイッチ10-2から受信したセッション接続要求パケットもスイッチ10-4経由で制御装置20に転送される。
 また、上記した第1の実施形態では特に触れなかったが、本発明は、非特許文献3に記載されているIn-band制御方式にも適用することができる。
 最後に、本発明の好ましい形態を要約する。
[第1の形態]
 (上記第1の視点による通信システム参照)
[第2の形態]
 第1の形態の通信システムにおいて、
 前記スイッチは、前記制御チャネルの切断を検出した場合、隣接するすべてのスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、
 前記制御装置は、前記制御装置のレイヤ2アドレスの解決を要求するパケットのいずれか一つに対して応答する代替制御チャネル管理部を備える通信システム。
[第3の形態]
 第2の形態の通信システムにおいて、
 前記代替制御チャネル管理部は、最初に到達した制御装置のレイヤ2アドレスの解決を要求するパケットに応答する通信システム。
[第4の形態]
 第1から第3いずれか一の形態の通信システムにおいて、
 前記制御装置は、前記制御装置と他のスイッチ間の制御用パケットを前記レイヤ2転送部で転送するよう指示する制御情報を、予め各スイッチに設定しておく通信システム。
[第5の形態]
 第1から第4いずれか一の形態の通信システムにおいて、
 前記制御装置と前記スイッチとの間、又は、前記スイッチ間に、レイヤ2スイッチが配置されている通信システム。
[第6の形態]
 (上記第2の視点によるスイッチ参照)
[第7の形態]
 第6の形態のスイッチにおいて、
 前記制御チャネルの切断を検出した場合、隣接するすべてのスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信するスイッチ。
[第8の形態]
 第6又は第7の形態のスイッチにおいて、
 前記制御装置から設定された制御情報に基づいて、前記制御装置と他のスイッチ間の制御用パケットを前記レイヤ2転送部で転送するスイッチ。
[第9の形態]
 (上記第3の視点による制御装置参照)
[第10の形態]
 (上記第4の視点による制御用チャネルの構築方法参照)
[第11の形態]
 (上記第5の視点によるプログラム参照)
 なお、上記第10、第11の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
 なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
 10、10A、10B、10-1~10-4 スイッチ
 11 制御情報記憶部
 12 パケット処理部 
 13 レイヤ2転送部
 14 代替制御チャネル構成部
 15 プロトコル処理部
 20、20A 制御装置
 21 代替制御チャネル管理部
 22 スイッチ管理部
 23 パケット梱包・振り分け部
 24 パケット送受信部
 30-1、30-2 レイヤ2スイッチ(L2スイッチ)
 211 中継スイッチ選択部
 212 中継スイッチ管理部
 #1-1、#1-2、#1-3、#2-1 ポート

Claims (10)

  1.  制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置と、
     前記制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部と、前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得し、前記取得したレイヤ2アドレスを用いて前記制御装置に制御用パケットを送信することで、前記制御装置との間に第2の制御チャネルを構成する代替制御チャネル構成部と、を備えるスイッチと、
     を含む通信システム。
  2.  前記スイッチは、前記制御チャネルの切断を検出した場合、隣接するすべてのスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、
     前記制御装置は、前記制御装置のレイヤ2アドレスの解決を要求するパケットのいずれか一つに対して応答する代替制御チャネル管理部を備える請求項1の通信システム。
  3.  前記代替制御チャネル管理部は、最初に到達した制御装置のレイヤ2アドレスの解決を要求するパケットに応答する請求項2の通信システム。
  4.  前記制御装置は、前記制御装置と他のスイッチ間の制御用パケットを前記レイヤ2転送部で転送するよう指示する制御情報を、予め各スイッチに設定しておく請求項1から3いずれか一の通信システム。
  5.  前記制御装置と前記スイッチとの間、又は、前記スイッチ間に、レイヤ2スイッチが配置されている請求項1から4いずれか一の通信システム。
  6.  制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、
     前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部と、
     前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信し、前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得し、前記取得したレイヤ2アドレスを用いて前記制御装置に制御用パケットを送信することで、前記制御装置との間に第2の制御チャネルを構成する代替制御チャネル構成部と、
     を備えるスイッチ。
  7.  前記制御チャネルの切断を検出した場合、隣接するすべてのスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信する請求項6のスイッチ。
  8.  前記制御装置から設定された制御情報に基づいて、前記制御装置と他のスイッチ間の制御用パケットを前記レイヤ2転送部で転送する請求項6又は7のスイッチ。
  9.  制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置であって、
     前記制御装置のレイヤ2アドレスの解決を要求するパケットを複数のスイッチから受信した場合、前記パケットのいずれか一つに対して応答する代替制御チャネル管理部を備える制御装置。
  10.  制御用チャネルを介してスイッチに制御情報を設定することにより前記スイッチを制御する制御装置から設定された制御情報に基づいて受信パケットを処理するパケット処理部と、前記制御装置と他のスイッチ間の制御用パケットの入力ポートを学習し、前記学習結果に基づいて、前記制御用パケットを転送するレイヤ2転送部とを備えるスイッチが、
     前記制御チャネルの切断を検出した場合、隣接するスイッチに対し、前記制御装置のレイヤ2アドレスの解決を要求するパケットを送信するステップと、
     前記隣接するスイッチを介して前記制御装置からレイヤ2アドレスを取得するステップと、
     前記取得したレイヤ2アドレスを用いて前記制御装置に制御用パケットを送信することで、前記制御装置との間に第2の制御チャネルを構成するステップと、
     を含む制御用チャネルの構築方法。
PCT/JP2014/054568 2013-02-26 2014-02-25 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム WO2014132967A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015502936A JP5987971B2 (ja) 2013-02-26 2014-02-25 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
US14/766,008 US9628376B2 (en) 2013-02-26 2014-02-25 Communication system, switch, controller, method for constructing a control channel and program
EP14756566.7A EP2963869A4 (en) 2013-02-26 2014-02-25 COMMUNICATION SYSTEM, SWITCH, CONTROL APPARATUS, CONTROL CHANNEL CONFIGURATION METHOD AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013036091 2013-02-26
JP2013-036091 2013-02-26

Publications (1)

Publication Number Publication Date
WO2014132967A1 true WO2014132967A1 (ja) 2014-09-04

Family

ID=51428231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/054568 WO2014132967A1 (ja) 2013-02-26 2014-02-25 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム

Country Status (4)

Country Link
US (1) US9628376B2 (ja)
EP (1) EP2963869A4 (ja)
JP (1) JP5987971B2 (ja)
WO (1) WO2014132967A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015204533A (ja) * 2014-04-14 2015-11-16 富士通株式会社 オープンフロースイッチおよびオープンフローネットワークの障害復旧方法
WO2016133043A1 (ja) * 2015-02-16 2016-08-25 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
WO2016133033A1 (ja) * 2015-02-16 2016-08-25 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
JP2019041368A (ja) * 2017-08-25 2019-03-14 日本電信電話株式会社 転送装置、転送システム、転送方法、およびプログラム
JP2020049769A (ja) * 2018-09-26 2020-04-02 住友重機械工業株式会社 射出成形システム、射出成形機

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426789B (zh) * 2013-08-23 2017-08-11 新华三技术有限公司 软件定义网络中的转发设备控制方法及设备
EP2919423B1 (en) * 2014-03-12 2018-11-14 Xieon Networks S.à.r.l. A network element of a software-defined network
US11709681B2 (en) * 2017-12-11 2023-07-25 Advanced Micro Devices, Inc. Differential pipeline delays in a coprocessor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
WO2011083785A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 ネットワークシステム、及びネットワーク冗長化方法
WO2012165446A1 (ja) * 2011-05-30 2012-12-06 日本電気株式会社 通信経路制御システム、及び通信経路制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742457B2 (en) * 2006-06-29 2010-06-22 Scientific-Atlanta, Llc Systems and methods of configuring a layer-2 switch for multicast filtering
HUP1000010A2 (en) 2010-01-08 2011-11-28 Sanofi Sa Process for producing dronedarone

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011083785A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 ネットワークシステム、及びネットワーク冗長化方法
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
WO2012165446A1 (ja) * 2011-05-30 2012-12-06 日本電気株式会社 通信経路制御システム、及び通信経路制御方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NICK MCKEOWN, OPENFLOW: ENABLING INNOVATION IN CAMPUS NETWORKS, 9 January 2013 (2013-01-09), Retrieved from the Internet <URL:http://www.openflow.org/documents/openflow-wp-latest.pdf>
OPENFLOW SWITCH SPECIFICATION, 9 January 2013 (2013-01-09), Retrieved from the Internet <URL:https://www.opennetworking.org/images/stories/downloads/speci fi cat ion/open flow-spec-vl.3. l .pdf>
See also references of EP2963869A4
TOSHIO KOIDE; HIDEYUKI SHIMONISHI; SHINGAKU-GIHOU: "A study on the automatic construction mechanism of control network in OpenFlow-based network", SOCIETY OF ELECTRONIC INFORMATION COMMUNICATION, A BODY CORPORATE, vol. 109, no. 448, March 2010 (2010-03-01), pages 19 - 24, XP008174257

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015204533A (ja) * 2014-04-14 2015-11-16 富士通株式会社 オープンフロースイッチおよびオープンフローネットワークの障害復旧方法
WO2016133043A1 (ja) * 2015-02-16 2016-08-25 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
WO2016133033A1 (ja) * 2015-02-16 2016-08-25 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
JP2019041368A (ja) * 2017-08-25 2019-03-14 日本電信電話株式会社 転送装置、転送システム、転送方法、およびプログラム
JP2020049769A (ja) * 2018-09-26 2020-04-02 住友重機械工業株式会社 射出成形システム、射出成形機
JP7186565B2 (ja) 2018-09-26 2022-12-09 住友重機械工業株式会社 射出成形システム、射出成形機

Also Published As

Publication number Publication date
JP5987971B2 (ja) 2016-09-07
US20150381476A1 (en) 2015-12-31
US9628376B2 (en) 2017-04-18
JPWO2014132967A1 (ja) 2017-02-02
EP2963869A4 (en) 2016-09-28
EP2963869A1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
JP5987971B2 (ja) 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
JP5590263B2 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
JP5939353B2 (ja) 制御装置、通信システム、スイッチ制御方法及びプログラム
CN103763207A (zh) 软件定义网络中的带内控制连接建立方法及设备
WO2012050071A1 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5818268B2 (ja) 通信システム、制御装置、経路制御方法およびプログラム
JP6064989B2 (ja) 制御装置、通信システム、ノード制御方法及びプログラム
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
WO2013176262A1 (ja) パケット転送システム、制御装置、パケット転送方法及びプログラム
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
WO2015151442A1 (ja) 通信システム、通信方法および制御装置
CN104221337B (zh) 通信系统、控制装置、通信装置、信息中继方法
JP6544242B2 (ja) パケット転送システム、制御装置、中継装置の制御方法及びプログラム
JP6127569B2 (ja) スイッチ、制御装置、通信システム、制御チャネルの管理方法及びプログラム
JP6206493B2 (ja) 制御装置、通信システム、中継装置の制御方法及びプログラム
JP6024761B2 (ja) 制御装置、通信システム、通信方法及びプログラム
CN104067564A (zh) 用于光纤通道的域间链接
JP5776978B2 (ja) ネットワーク中継システム及びネットワーク中継システムの自動設定方法
WO2014087993A1 (ja) 制御装置、通信システム、通信方法及びプログラム
JP2018113564A (ja) 通信システム、スイッチ、制御装置、通信方法、および、プログラム

Legal Events

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

Ref document number: 14756566

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14766008

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2014756566

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015502936

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE