WO2014129624A1 - 制御装置、通信システム、経路切替方法及びプログラム - Google Patents

制御装置、通信システム、経路切替方法及びプログラム Download PDF

Info

Publication number
WO2014129624A1
WO2014129624A1 PCT/JP2014/054324 JP2014054324W WO2014129624A1 WO 2014129624 A1 WO2014129624 A1 WO 2014129624A1 JP 2014054324 W JP2014054324 W JP 2014054324W WO 2014129624 A1 WO2014129624 A1 WO 2014129624A1
Authority
WO
WIPO (PCT)
Prior art keywords
control information
transfer
packet
control
route
Prior art date
Application number
PCT/JP2014/054324
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 CN201480010213.0A priority Critical patent/CN105075196A/zh
Priority to US14/769,784 priority patent/US20160006601A1/en
Priority to JP2015501533A priority patent/JPWO2014129624A1/ja
Publication of WO2014129624A1 publication Critical patent/WO2014129624A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing

Definitions

  • the present invention is based on a Japanese patent application: Japanese Patent Application No. 2013-034982 (filed on February 25, 2013), and the entire description of the application is incorporated in the present specification by reference.
  • the present invention relates to a control device, a communication system, a route switching method, and a program, and more particularly, to a control device, a communication system, a route switching method, and a program that realize communication by controlling a transfer device.
  • Non-Patent Documents 1 and 2 propose a centralized control type network called OpenFlow.
  • An open flow switch hereinafter also referred to as “OFS”
  • an open flow controller hereinafter also referred to as “OFC”
  • OFS has a flow table for packet lookup and forwarding and a secure channel for communication with the controller.
  • the OFC communicates with the OFS over a secure channel using an open flow protocol, and controls the flow at, for example, an API (Application Programming Interface) level.
  • API Application Programming Interface
  • the OFS searches the flow table for an entry having a matching condition that matches the header information of the packet. As a result of the search, if no entry having a matching condition that matches the header information of the received packet is found, the OFS transfers the packet to the controller through a secure channel.
  • the OFC determines the transfer path of the packet from the network topology information managed by the OFC based on the destination and transmission source information of the packet.
  • the OFC sets control information (flow entry) for transferring the packet along the transfer path in the flow table of each OFS on the determined transfer path.
  • the OFS transfers the subsequent packet according to the control information (flow entry).
  • match conditions Match Fields
  • actions Actions
  • flow statistical information Statistics
  • the match condition functions as a flow filter definition for specifying a flow, and an accurate value (Exact) and a wild card (Wild Card) can be used.
  • action Action
  • the processing content processing definition for the flow to be applied to the packet that matches the matching condition (Match Fields) is set.
  • Flow statistics is the number of active entries, the number of packet lookups, the number of packet matches, the number of received packets, the number of received bytes, the period during which the flow is active, the number of received packets, the number of transmitted packets, A reception byte, a transmission byte, a reception drop, a transmission drop, a reception error, a transmission error, a reception frame alignment error, a reception overrun error, a reception CRC error, and the number of collisions are included.
  • OFS performs a match (match) between the input packet and the flow table match condition. If an entry that matches the match condition is found, the action field contents of the matched entry are applied to the packet. To do. On the other hand, if no matching entry is found, the OFS transfers the packet to the OFC via the secure channel. After determining the path of the packet, the OFC transmits a flow entry indicating the transfer destination along the path to the OFS.
  • the OFC instructs the OFS to change or delete the flow entry when triggered by communication end detection, network topology change detection, OFS failure detection, and the like realized by the flow entry. OFS adds, changes, and deletes flow entries in the flow table according to instructions from these OFCs.
  • Match target information includes MAC DA (Media Access Address Address), MAC SA (MAC Source Address Address), Ethernet type (TPID; TagProtocolID) in the Ethernet (registered trademark) / TCP / IP packet header shown in FIG. , VLAN ID (Virtual Local Area Network ID), VLAN TYPE (priority), IP SA (Internet Protocol Source Address), IP DA (IP Destination Address), IP protocol, Source UDP, Source TCP ( Internet Control Message Protocol) Type, Destination Port (TCP / UDP Destination Port or ICMP Code)).
  • MAC DA Media Access Address Address
  • MAC SA MAC Source Address Address
  • Ethernet type TPID; TagProtocolID
  • IP SA Internet Protocol Source Address
  • IP DA IP Destination Address
  • IP protocol Source UDP
  • Source TCP Internet Control Message Protocol
  • Destination Port TCP / UDP Destination Port or ICMP Code
  • FIG. 15 is a diagram showing typical action names and action contents supported by the OFS.
  • OUTPUT is an action for outputting a packet from a designated port (interface).
  • SET_VLAN_VID to SET_TP_DST are actions for modifying the field of the packet header. Packets that match a flow entry for which no action is specified are dropped (discarded).
  • OFS has a function of transferring a packet not only to a physical port but also to the following virtual port.
  • FIG. 16 is an example of a virtual port reserved in the specification of OpenFlow 1.0.0.
  • IN_PORT is a virtual port used when outputting a packet to an input port.
  • NORMAL is a virtual port used when processing is performed using an existing transfer path supported by the switch.
  • FLOOD is a virtual port that is used when forwarding to all ports in a communicable state (Forwarding state) except for the port from which the packet came.
  • ALL is a virtual port that is used when forwarding to a port other than the port from which the packet came.
  • CONTROLLER is a virtual port used when encapsulating a packet and transmitting it to the controller.
  • LOCAL is a virtual port used when a packet is transmitted to the local network stack of the switch itself.
  • FIG. 17 illustrates a typical control message of the OpenFlow protocol exchanged between OFS and OFC via the secure channel.
  • Flow-mod is a message for adding, changing, or deleting a flow entry from the OFC to the OFS.
  • Packet-In is a message sent from OFS to OFC and is used to send a packet that does not match the flow entry.
  • Packet-out is a message sent from the OFC to the OFS, and is used to output a packet generated by the OFC from an arbitrary port of the OFS.
  • Port-status is a message sent from the OFS to the OFC and is used to notify that the port status has changed. For example, when a failure occurs in the link connected to the port, a notification that the link is down is sent.
  • Flow-Removed is a message sent from the switch to the controller, and is used to notify the controller when the flow entry is not used for a certain period of time and is deleted from the OFS flow table due to timeout. .
  • Non-Patent Document 3 The above OpenFlow 1.0.0 specification has been extended in Non-Patent Document 3 so that a plurality of flow tables can be handled.
  • a flow table here, flow table # 0
  • flow table # 0 a flow table determined first is referred to.
  • an entry in the flow table is matched, it can be specified which table is to be referred to next. This expansion enables more flexible control than before.
  • Patent Document 1 in the communication system using the above-described OpenFlow, an alternative route is calculated in advance, an alternative flow entry is set in the communication device (corresponding to the OFS), and a network failure or congestion occurs.
  • OFS deletes an entry for which a drop (discard) action is set from among alternative flow entries, and switches a route.
  • Patent Document 1 in a centralized control type network represented by OpenFlow, when a failure or congestion occurs, there is a problem that it takes time to respond (Patent Document 1). Paragraphs 0006-0008).
  • An object of the present invention is to provide a control device, a communication system, a path switching method, and a program that can contribute to speeding up path switching of a centralized control network without adding a special function to a switch.
  • a first control information generation unit that generates first control information for causing a transfer device to be controlled to transfer a packet through a first route, and A second control information generating unit for generating second control information for transferring a packet group including a target packet of the first control information through a second route different from the first route;
  • a second control information generating unit for generating second control information for transferring a packet group including a target packet of the first control information through a second route different from the first route
  • a communication system including a transfer device that processes a received packet according to control information set from the outside, and the control device described above.
  • the step of generating first control information for causing the transfer device to be controlled to transfer a packet through the first route, and the transfer of the first control information to the transfer device to be controlled Generating second control information for transferring a packet group including the target packet through a second route different from the first route, and the priority of the second control information is determined by the first control.
  • a step of switching the transfer route is linked to a specific machine called a control device for controlling a transfer device arranged in a centralized control type network.
  • a process for generating first control information for causing a transfer apparatus to be controlled to transfer a packet through a first route, and a process for generating the first control information in the transfer apparatus to be controlled A process for generating second control information for transferring a packet group including a target packet through a second route different from the first route, and the priority of the second control information is determined by the first control.
  • a packet that conforms to at least the first control information by setting the transfer device to be controlled to be higher than the information and instructing the transfer device to be controlled to delete the second control information.
  • a program for causing a computer that controls the transfer apparatus to execute the process of switching the transfer path 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.
  • FIG. 5 is a diagram showing a topology configuration between switches corresponding to the topology information of FIG. 4. It is a figure which shows the path
  • a first control information generating unit that generates first control information for causing a transfer device 120 to be controlled to transfer a packet through a first route.
  • 61 and second control information for causing the transfer device 120 to be controlled to transfer a packet group including the target packet of the first control information through a second route different from the first route.
  • This can be realized by a control device 60 including two control information generation units 62 and a transfer control unit 63. More specifically, the transfer control unit 63 sets the priority of the second control information in the transfer device 120 to be controlled so that the priority is higher than that of the first control information. Then, the transfer control unit 63 instructs the transfer device to be controlled to delete the second control information, thereby switching at least a transfer path of a packet that conforms to the first control information (see FIG. 2). ).
  • the port of the transfer device 120 when a failure occurs in the port of the transfer device 120 (the occurrence of the failure can be detected by, for example, receiving the “Port-status” message described above), the port is transferred. Only by instructing deletion of the second control information, the path can be switched.
  • control information for transferring the packet to the destination is set in advance in the transfer destination transfer device, for example, the aforementioned packet-in message is transferred from the transfer device to the control device 60 as the switch destination. It is also possible to recalculate the route by sending it to and set the control information.
  • FIG. 3 is a diagram illustrating a configuration of the control device 6 according to the first embodiment of the present invention. Referring to FIG. 3, there is shown a configuration including a secure channel 1 that communicates with each switch in the network, a switch management unit 2, a route management unit 3, a topology management unit 4, and a route database 5. Yes.
  • the switch management unit 2 includes a failure notification reception unit 21 and a control information transmission unit 22.
  • the failure notification receiving unit 21 sends the content of the failure to the control information deletion command generating unit 31 of the route management unit 3.
  • the control information sending unit 22 is connected via the secure channel 1 to the control information deletion command generating unit 31, the normal system control information generating unit 34, the second table normal system control information generating unit 35, and the standby system control.
  • the control information sent from any of the information generators 36 is sent to each switch.
  • the route management unit 3 includes a control information deletion command generation unit 31, a route calculation unit 32, a standby system route calculation unit 33, a normal system control information generation unit 34, and a second table normal system control information generation unit 35. And a standby system control information generation unit 36.
  • the control information deletion command generating unit 31 analyzes the failure notification sent from the failure notification receiving unit 21, and controls to delete the control information (second control information) of the corresponding second table of the corresponding switch. A message is generated and sent to the control information sending unit 22.
  • the route calculation unit 32 calculates a route (second route) to be used during normal operation based on the topology information stored in the topology database (topology DB) 42, and performs normal system control information generation unit 34 and second The data is sent to the table normal system control information generation unit 35.
  • the standby path calculation unit 33 calculates a path (first path) to be used when each port of the switch fails based on the topology information stored in the topology DB 42 and sends the calculated path to the backup system control information generation unit 36. .
  • the normal system control information generation unit 34 generates control information to be stored in the first table of the switch based on the route calculation result sent from the route calculation unit 32 and sends it to the control information sending unit 22.
  • the second table normal system control information generation unit 35 generates high priority normal system control information (second control information) to be stored in the switch table based on the route calculation result sent from the route calculation unit 32. To the control information sending unit 22.
  • the standby system control information generation unit 36 generates backup system control information (first control information) to be stored in the switch table based on the route calculation result sent from the backup system route calculation unit 33, and controls the control information.
  • the data is sent to the sending unit 22.
  • the topology management unit 4 includes a topology update unit 41 and a topology DB 42.
  • the topology update unit 41 updates information in the topology DB 42 based on the failure notification sent from the failure notification reception unit 21.
  • the topology DB 42 stores connection information between the switches in the network managed by the control device 6.
  • FIG. 4 is a diagram illustrating an example of topology information held in the topology DB 42.
  • an entry that associates the ID 411 of the entrance side switch, the output port number 412 of the entrance side switch, the ID 413 of the exit side switch, and the input port number 414 of the exit side switch is shown. Has been.
  • the first entry from the top of FIG. 4 indicates that there is a link from the second port of the switch with ID 121 to the first port of the switch with ID 122.
  • the second and third entries from the top in FIG. 4 are links from the third and fourth ports of the switch with ID 121 to the first ports of the switches with IDs 123 and 124. Indicates that it exists.
  • Such an entry can be used to represent the connection relationship between the switches 121 to 124 as shown in FIG.
  • control device 6 instructs the switch 6 to send an LLDP (Link Layer Discovery Protocol) packet or the like to the switch by using the Packet-Out message described above, and the above-mentioned packet from the opposite switch. -Collect by receiving In messages.
  • LLDP Link Layer Discovery Protocol
  • a network topology prepared separately by other methods may be used.
  • the route database (route DB) 5 stores route information calculated by the route calculation unit 32 and the standby route calculation unit 33.
  • FIG. 5 is a diagram illustrating an example of route information held in the route DB 5. In the example of FIG. 5, an entry in which a destination prefix 511, an exit switch ID 512, and an exit switch (spare) ID 513 are associated with each other is illustrated.
  • FIG. 7 is a diagram in which the route information of FIG. 5 is superimposed on FIG. In the following description, it is assumed that the normal system path (second path) and the standby system path (first path) are calculated as shown in FIG.
  • the second table normal system control information generation unit 35 corresponds to the second control information generation unit described above, and the standby system control information generation unit 36 performs the first control described above. It corresponds to a control information generation unit.
  • each unit (processing means) of the control device 6 shown in FIG. 3 can be realized by a computer program that causes a computer constituting the control device 6 to execute the above-described processes using its hardware.
  • FIG. 8 is a flowchart showing an operation of control information (control information setting process 1) according to the first embodiment of this invention.
  • the switch can hold a plurality of control information storage tables as in Non-Patent Document 3, and whenever a packet is received, the switch is always referred to as the first table (hereinafter referred to as “table T0”). It is assumed that the operation is performed so as to determine the subsequent processing.
  • the switch also describes a second table group corresponding to the port number (for example, n second tables with table numbers 1 to n for the 1st to nth ports, hereinafter referred to as “tables T1 to Tn”). )).
  • the route calculation unit 32 first extracts an unprocessed entry R1 from the route DB 5 (step S1). For example, the first entry from the top of the route entry in FIG. 5 is extracted.
  • the route calculation unit 32 searches the topology DB 42 for a link connected to the exit switch in the entry R1, and determines the output port P1 of the entrance side switch (step S2). For example, the top entry corresponding to the link connected to the egress switch 122 in the entry R1 is extracted from the topology information in FIG. In this case, the output port P1 of the entrance side switch is the second port (port 2) of the switch 121 of FIG.
  • the normal system control information generation unit 34 associates the match condition including the destination prefix in the entry R1 with the action of referring to the second table corresponding to the output port P1 (distribution control information). Is generated (step S3).
  • the switch 121 of FIG. 7 is associated with the match condition including the destination prefix of FIG. 5 and the action instructing reference to the table T2 corresponding to the second port (port 2) from the top of FIG.
  • First control information is generated.
  • the description will be made assuming that the output port number P1 of the ingress switch corresponds to the table number on a one-to-one basis. The previous table may be determined.
  • control information sending unit 22 sends control information (distribution control information) to the switch together with an instruction to register in the first table T0 (step S4).
  • control information distributed control information
  • the switch 121 receives a packet that matches the match condition 192.168.1.0/24
  • control information having an action of referring to the table T2 is set (one of FIG. 10). See top entry).
  • the standby path calculation unit 33 searches the topology DB 42 for a link connected to the exit switch (for backup) in the entry extracted in step S1, and determines the output port P2 of the entrance side switch (step S5).
  • the second entry from the top corresponding to the link connected to the exit switch (for backup) 123 in the entry R1 is extracted from the topology information of FIG.
  • the output port P2 of the entrance-side switch is the third port (port 3) of the switch 121 in FIG.
  • the standby system control information generation unit generates control information (first control information) in which the matching condition including the destination prefix in the entry R1 is associated with the action of outputting from the output port P2 (step S6).
  • control information sending unit 22 sends control information (first control information) to the switch together with an instruction to register in the second table T2 (step S7).
  • the control information first control
  • the control information (first control) has an action of outputting from the port P2, that is, the third port. Information) is set (see the second entry from the top in the upper table of FIG. 11).
  • this control information first control information
  • the route calculation unit 32 confirms whether all entries in the route DB 5 have been processed (step S8), returns to step S1 if not processed, and ends a series of procedures if processed. .
  • the above-described processing is executed and control information (control information for distribution) is set in the first table T0 of the switch 121 (from the top of FIG. 10).
  • the second entry (see the second entry) and the process of setting the control information (first control information) in the second table T4 of the switch 121 are performed.
  • FIG. 9 is a flowchart showing the operation (control information setting process 2) of the control device according to the first embodiment of the present invention.
  • the second table normal system control information generation unit 35 selects a port P that has not been processed among the output ports of the switch S to be processed (step S11). For example, when the processing of port 2 and port 4 among the ports of the switch 121 in FIG. 7 has not been completed, port 2 is selected.
  • the second table normal system control information generation unit 35 associates the match condition in which wild cards are set in all fields with the action of outputting to the corresponding port P (second control information). ) Is generated (step S12).
  • control information sending unit 22 sends the control information (second control information) to the switch together with an instruction to register in the second table TP corresponding to the selected port P (step S13).
  • control information having an action of outputting all packets from the port 2 is set for the switch 121 (the upper table in FIG. 11). (See the first entry from the top).
  • the second table normal system control information generation unit 35 confirms whether the output port of the switch S to be processed has been processed (step S14). If not processed, the process returns to step S11 and has been processed. If there is, end the series of procedures.
  • the processing described above is executed, and the control information (second control information) is set in the second table T4 corresponding to the port 4 of the switch 121 ( 11 (see the first entry from the top of the lower table in FIG. 11).
  • FIG. 12 is a flowchart showing the operation (path switching process) of the control device according to the first embodiment of the present invention.
  • step S21 when the notification that the port m is down is received from the switch S (step S21), the control device 6 instructs the switch S from the second table Tm corresponding to the port m of the switch S. Then, a control message (Flow-mod message in FIG. 17) for instructing deletion of the second control information is transmitted (step S22).
  • the control device 6 sends the second control information with high priority to the switch 121 from the table T2 shown in the upper part of FIG. Instructs to delete the entry. Therefore, after that, when the switch 121 receives a packet addressed to the server 141 whose destination IP address is 192.168.1.1, the first match 192.168.1.0/24 is set as the first match condition. Will be hit, and the action defined by the first control information (output from port 3) will be applied. As a result, the route of the destination prefix 192.168.1.0/24 shown in FIG. 7 is switched from the normal route shown by the solid line to the backup route shown by the broken line.
  • the control device 6 instructs the switch 121 from the table T4 shown in the lower part of FIG. To delete the control information entry. Therefore, after that, when the switch 121 receives a packet addressed to the server 142 whose destination IP address is 192.168.2.1, the first control information will be hit and is specified in the first control information. Action (output from port 3) is applied. As a result, the route addressed to the server 141 shown in FIG. 7 is switched from the normal route indicated by the solid line to the standby route indicated by the broken line.
  • the first control information that realizes the protection path describes the match condition for specifying the packet to be controlled.
  • the normal systems of both the switch 122 and the switch 124 are described. Even if a failure occurs in the route, it is possible to perform transfer according to each destination by setting control information having an appropriate matching condition in the switch 123.
  • control device 6 when the control device 6 according to the present embodiment receives a port down notification from the switch has been described above, but the same operation can be applied even when a link connected to the port fails. For example, if a message indicating keepalive is sent between neighboring switches periodically, and these messages do not arrive for a certain period of time, it is determined that the link is down and the port connected to this link The same processing as in FIG. 12 may be performed.
  • a specific packet is set as a target by adding a condition in a specific field. It may be removed (for example, a packet having a specific VLAN ID).
  • the number of switches is not limited. For example, even when a switch is arranged on the exit side of the switches 122 to 124 in FIG. 6, the route is calculated in the same manner, and the switch on the entrance side (not limited to the switch 121, the port constituting the alternative route) By setting the first and second control information in a switch having a switch, high-speed path switching can be realized.
  • the transfer control unit to the transfer device to be controlled, Storing a first table in which a matching condition to be compared with a received packet is associated with a second table to be referred to, the first control information, and the second control information; A control device for setting a plurality of second tables referred to in accordance with the specification of the table.
  • a control device provided with a plurality of the second tables so that the second table and the output port of the transfer device have a one-to-one correspondence.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 集中制御型ネットワークの経路切替の高速化に貢献する。制御装置は、制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する第1の制御情報生成部と、前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する第2の制御情報生成部と、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定し、前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる転送制御部と、を備える。

Description

制御装置、通信システム、経路切替方法及びプログラム
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2013-034982号(2013年2月25日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、制御装置、通信システム、経路切替方法及びプログラムに関し、特に、転送装置を制御することにより通信を実現する制御装置、通信システム、経路切替方法及びプログラムに関する。
 非特許文献1、2にオープンフローと呼ばれる集中制御型のネットワークが提案されている。非特許文献2のOpenFlow1.0.0の仕様におけるオープンフロースイッチ(以下、「OFS」とも記す。)とオープンフローコントローラ(以下、「OFC」とも記す。)について説明する。
 OFSは、パケットのルックアップとフォアワーディングを行うフローテーブルと、コントローラとの通信用のセキュアチャネルを備えている。OFCは、オープンフロープロトコルを用いてセキュアチャネル上でOFSと通信し、例えばAPI(Application Programming Interface)レベルでフローを制御する。
 一例として、OFSに最初のパケット(First packet)が到着すると、OFSは、フローテーブルから該パケットのヘッダ情報に適合するマッチ条件を持つエントリを検索する。前記検索の結果、受信パケットのヘッダ情報に適合するマッチ条件を持つエントリが見つからない場合、OFSは、当該パケットをコントローラにセキュアチャネルで転送する。
 OFCは、当該パケットの宛先、送信元情報に基づいて、OFCが管理するネットワークトポロジー情報から、該パケットの転送経路を決定する。OFCは、決定した転送経路上の各OFSのフローテーブルに、当該パケットを前記転送経路に沿って転送させる制御情報(フローエントリ)を設定する。
 以後、OFSは、前記最初のパケット(First packet)と共通するヘッダ情報を持つ後続パケットを受信すると、前記制御情報(フローエントリ)に従い、後続パケットを転送する。
 OFSのフローテーブルには、例えば、図13に示すように、パケットヘッダと照合するマッチ条件(Match Fields)と、フローに対する処理を定義したアクション(Action)と、フロー統計情報(Statistics)とを対応付けたエントリが格納される。マッチ条件(Match Fields)は、フローを特定するフローフィルタ定義として機能し、正確な値(Exact)とワイルドカード(Wild Card)とを用いることができる。アクション(Action)としては、マッチ条件(Match Fields)に適合するパケットに適用する処理内容(フローに対する処理定義)が設定される。フロー統計情報は、アクティビティカウンタともいい、アクティブエントリ数、パケットルックアップ数、パケットマッチ数、フロー単位に、受信パケット数、受信バイト数、フローがアクティブな期間、ポート単位で受信パケット、送信パケット、受信バイト、送信バイト、受信ドロップ、送信ドロップ、受信エラー、送信エラー、受信フレームアラインメントエラー、受信オーバーランエラー、受信CRCエラー、コリジョン数が含まれる。
 OFSは、入力されたパケットと、フローテーブルのマッチ条件との照合(マッチ)を実行し、マッチ条件にマッチするエントリが見つかった場合、当該パケットに対してマッチしたエントリのアクションフィールドの内容を適用する。一方、マッチするエントリが見つからなかった場合、OFSは、セキュアチャネルを介してOFCに対して、当該パケットを転送する。OFCは、当該パケットの経路を決定した後、OFSに対し、その経路に沿った転送先を指示するフローエントリを送信する。OFCは、例えば、前記フローエントリにて実現されていた通信の終了検出、ネットワークトポロジーの変更検出、OFSの障害検出などの契機で、OFSに対し、フローエントリの変更や削除を指示する。OFSは、これらOFCからの指示に従い、フローテーブルへのフローエントリの追加、変更、削除を行う。
 パケットのヘッダの所定のフィールドがスイッチのフローテーブルのマッチ条件との照合に用いられる。マッチ対象の情報は、図14に示すEthernet(登録商標)/TCP/IPパケットヘッダ中のMAC DA(Media Access Control Destination Address)、MAC SA(MAC Source Address)、Ethernetタイプ(TPID;Tag Protocol IDentifier)、VLAN ID(Virtual Local Area Network ID)、VLAN TYPE(優先度)、IP SA(Internet Protocol Source Address)、IP DA(IP Destination Address)、IP プロトコル、Source Port(TCP/UDP ソースポート、あるいは、ICMP(Internet Control Message Protocol) Type、Destination Port(TCP/UDP ディスティネーションポート、あるいは、ICMP Code))を含む。
 図15は、OFSがサポートする代表的なアクション名とアクションの内容を示す図である。OUTPUTは、指定ポート(インタフェース)からパケットを出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダのフィールドを修正するアクションである。アクションが指定されないフローエントリにマッチしたパケットはドロップ(廃棄)される。
 また、OFSは、物理ポートだけでなく、以下の仮想ポートへパケットを転送する機能を有している。図16は、OpenFlow1.0.0の仕様において予約されている仮想ポートの例である。IN_PORTはパケットを入力ポートに出力する際に利用する仮想ポートである。NORMALはスイッチがサポートする既存の転送パスを用いて処理する際に利用する仮想ポートである。FLOODはパケットが入来したポートを除く通信可能状態(Forwarding状態)のすべてのポートに転送する際に利用する仮想ポートである。ALLはパケットが入来したポートを除くポートに転送する際に利用する仮想ポートである。CONTROLLERはパケットをカプセル化してコントローラに送信する際に利用する仮想ポートである。LOCALはパケットをスイッチ自身のローカルネットワークスタックに送信する際に利用する仮想ポートである。
 図17に、セキュアチャネルを介してOFSとOFC間で授受されるオープンフロープロトコルの代表的な制御メッセージを例示する。Flow-modは、OFCからOFSに対して、フローエントリの追加、変更、削除を行うためのメッセージである。Packet-Inは、OFSからOFCに対して送られるメッセージで、フローエントリにマッチしなかったパケットを送るために用いられる。Packet-outは、OFCからOFSに対して送られるメッセージで、OFCが生成したパケットをOFSの任意のポートから出力するために用いられる。Port-statusはOFSからOFCに対して送られるメッセージで、ポートの状態が変化したことを通知するために用いられる。例えばポートに接続するリンクに故障が発生した場合、リンクダウン状態になったとの通知が送られる。Flow-Removedは、スイッチからコントローラに対して送られるメッセージで、フローエントリが一定時間使用されず、タイムアウトでOFSのフローテーブルから消されるときに、その旨コントローラへと通知されるために使用される。
 以上のOpenFlow1.0.0の仕様は、非特許文献3において、複数のフローテーブルが扱えるよう拡張が行われている。非特許文献3のOpenFlow1.1.0の仕様では、初めに決められたフローテーブル(ここではフローテーブル#0)を参照する。フローテーブル中のエントリにマッチした場合、次にどのテーブルを参照するかを指定することができる。この拡張により、従来以上に柔軟な制御が可能となっている。
 特許文献1には、上記したオープンフローを用いた通信システムにおいて、代替経路を予め計算し、通信装置(上記OFSに相当)に、代替フローエントリを設定しておき、ネットワークの障害又は輻輳発生時に、OFSが、代替フローエントリのうちのドロップ(廃棄)アクションが設定されていたエントリを削除して、経路を切り替える構成が開示されている。
特開2012-49674号公報
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.0.0 (Wire Protocol 0x01)、[online]、[平成25(2013)年2月14日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 (Wire Protocol 0x02)、[online]、[平成25(2013)年2月14日検索]、インターネット〈URL: http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
 以下の分析は、本発明によって与えられたものである。特許文献1に記載されているように、オープンフローに代表される集中制御型のネットワークでは、障害や輻輳が発生した際に、その対応に時間が掛かってしまうという問題点がある(特許文献1の段落0006~0008参照)。
 この点、特許文献1の方法では、経路の高速切替が可能となっているが、スイッチの経路制御情報処理部に、フローテーブルに、障害発生ポートから転送するようなエントリがあるかどうかを検索する機能と、該当エントリがあった場合、該当エントリのマッチ条件と一致する代替フローエントリグループの処理「drop」を削除する更新を行う機能を追加する必要がある(特許文献1の段落0064~0065参照)。
 本発明は、スイッチに特別な機能を追加しなくとも、集中制御型ネットワークの経路切替の高速化に貢献できる制御装置、通信システム、経路切替方法及びプログラムを提供することを目的とする。
 第1の視点によれば、制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する第1の制御情報生成部と、前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する第2の制御情報生成部と、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定し、前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる転送制御部と、を備える制御装置が提供される。
 第2の視点によれば、外部から設定された制御情報に従って受信パケットを処理する転送装置と、上記した制御装置と、を含む通信システムが提供される。
 第3の視点によれば、制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成するステップと、前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成するステップと、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定するステップと、前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させるステップと、を含む経路切替方法が提供される。本方法は、集中制御型のネットワークに配置された転送装置を制御する制御装置という、特定の機械に結びつけられている。
 第4の視点によれば、制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する処理と、前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する処理と、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定する処理と、前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる処理と、を前記転送装置を制御するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明によれば、スイッチに特別な機能を追加しなくとも、集中制御型ネットワークの経路切替の高速化に貢献することが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の一実施形態の動作を説明するための図である。 本発明の第1の実施形態の制御装置の構成を示す図である。 本発明の第1の実施形態の制御装置が保持するトポロジー情報の一例を示す図である。 本発明の第1の実施形態の制御装置が保持する経路情報の一例を示す図である。 図4のトポロジー情報に対応するスイッチ間のトポロジー構成を示す図である。 本発明の第1の実施形態の制御装置による経路計算結果を示す図である。 本発明の第1の実施形態の制御装置の動作(第1の制御情報設定処理)を示したフローチャートである。 本発明の第1の実施形態の制御装置の動作(第2の制御情報設定処理)を示したフローチャートである。 本発明の第1の実施形態のスイッチの第1のテーブルに設定されているフローエントリの一例を示す図である。 本発明の第1の実施形態のスイッチの第2のテーブルに設定されているフローエントリの一例を示す図である。 本発明の第1の実施形態の制御装置の動作(経路切替処理)を示したフローチャートである。 背景技術として説明するOFSのフローテーブルの図である。 背景技術として説明するOFSが照合するパケットヘッダ中の項目を説明するための図である。 背景技術として説明するOFSが受信パケットに適用するアクションを示す図である。 背景技術として説明するOFSがサポートする仮想ポートを説明するための図である。 背景技術として説明するオープンフロープロトコルの制御メッセージを説明するための図である。
 はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
 本発明は、その一実施形態において、図1に示すように、制御対象の転送装置120に第1の経路でパケットを転送させるための第1の制御情報を生成する第1の制御情報生成部61と、前記制御対象の転送装置120に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する第2の制御情報生成部62と、転送制御部63とを備える制御装置60にて実現できる。より具体的には、前記転送制御部63は、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置120に設定しておく。そして、転送制御部63は、前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる(図2参照)。
 以上のようにすることで、例えば、転送装置120のポートに障害が発生した際に(障害発生は、例えば、前述の「Port-status」メッセージの受信等により検出できる。)、そのポートを転送先としている第2の制御情報の削除を指示するだけで、経路を切り替えることが可能となる。
 なお、切替先の転送装置には、予め該当パケットを宛先に転送するための制御情報が設定されていることが望ましいが、例えば、切替先に転送装置から前述のPacket-Inメッセージを制御装置60に送信させることで経路を再計算し、制御情報を設定する構成することも可能である。
[第1の実施形態]
 続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図3は、本発明の第1の実施形態の制御装置6の構成を示す図である。図3を参照すると、ネットワーク中の各スイッチと通信を行うセキュアチャネル1と、スイッチ管理部2と、経路管理部3と、トポロジー管理部4と、経路データベース5とを備えた構成が示されている。
 スイッチ管理部2は、故障通知受信部21と、制御情報送出部22とを含む。故障通知受信部21は、セキュアチャネル1を介して、スイッチからの故障通知を受信すると、経路管理部3の制御情報削除指令生成部31へ故障の内容を送る。制御情報送出部22は、セキュアチャネル1を介して、経路管理部3の制御情報削除指令生成部31、正常系制御情報生成部34、第2テーブル用正常系制御情報生成部35及び予備系制御情報生成部36のいずれかから送られてきた制御情報を各スイッチへと送る。
 経路管理部3は、制御情報削除指令生成部31と、経路計算部32と、予備系経路計算部33と、正常系制御情報生成部34と、第2テーブル用正常系制御情報生成部35と、予備系制御情報生成部36と、を含む。
 制御情報削除指令生成部31は、故障通知受信部21から送られてきた故障通知を解析し、該当するスイッチの該当する第2テーブルの制御情報(第2の制御情報)の削除を指令する制御メッセージを生成し、制御情報送出部22へと送る。
 経路計算部32は、トポロジーデータベース(トポロジーDB)42に格納されているトポロジー情報を元に、正常時に使用する経路(第2の経路)の計算を行い、正常系制御情報生成部34及び第2テーブル用正常系制御情報生成部35に送る。
 予備系経路計算部33は、トポロジーDB42に格納されているトポロジー情報を元に、スイッチの各ポート故障時に使用する経路(第1の経路)の計算を行い、予備系制御情報生成部36に送る。
 正常系制御情報生成部34は、経路計算部32から送られてきた経路計算結果を元に、スイッチの第1テーブルに格納する制御情報を生成し、制御情報送出部22へと送る。
 第2テーブル用正常系制御情報生成部35は、経路計算部32から送られてきた経路計算結果を元に、スイッチのテーブルに格納する高優先正常系制御情報(第2の制御情報)を生成し、制御情報送出部22へと送る。
 予備系制御情報生成部36は、予備系経路計算部33から送られてきた経路計算結果を元に、スイッチのテーブルに格納する予備系制御情報(第1の制御情報)を生成し、制御情報送出部22へと送る。
 トポロジー管理部4は、トポロジー更新部41と、トポロジーDB42とを含む。トポロジー更新部41は、故障通知受信部21から送られてきた故障通知を元に、トポロジーDB42の情報を更新する。
 トポロジーDB42は、制御装置6が管理するネットワーク中の各スイッチ間の接続情報を格納している。図4は、トポロジーDB42に保持されているトポロジー情報の一例を示す図である。図4の例では、入口側のスイッチのID411と、入口側のスイッチの出力ポート番号412と、出口側のスイッチのID413と、出口側のスイッチの入力ポート番号414とを対応付けたエントリが示されている。
 例えば図4の上から1番目のエントリは、IDが121であるスイッチの2番目のポートから、IDが122であるスイッチの1番目のポートへと至るリンクが存在することを示している。同様に、図4の上から2、3番目のエントリは、IDが121であるスイッチの3番目、4番目のポートから、IDが123、124であるスイッチの1番目のポートへと至るリンクが存在することを示している。このようなエントリを用いて図6に示すようなスイッチ121~124間の接続関係を表すことができる。
 なお、この上記したトポロジー情報は、例えば、制御装置6が、スイッチに、上述したPacket-Outメッセージを用いてLLDP(Link Layer Discovery Protocol)パケット等の送出を指示し、対抗するスイッチから上述したPacket-Inメッセージを受信することで収集できる。もちろん、その他の方法で別途用意したネットワークトポロジーを用いてもよい。
 経路データベース(経路DB)5は、経路計算部32及び予備系経路計算部33が計算した経路情報を格納している。図5は、経路DB5に保持されている経路情報の一例を示す図である。図5の例では、宛先プレフィックス511と、出口スイッチID512と、出口スイッチ(予備用)ID513とを対応付けたエントリが示されている。
 例えば図5の上から1番目のエントリは、宛先プレフィックス192.168.1.0/24に接続する出口スイッチはIDが122であるスイッチであり、また、予備用の出口スイッチはIDが123であることを示している。また、上から2番目のエントリは、宛先プレフィックス192.168.2.0/24に接続する出口スイッチはIDが124であるスイッチであり、また、予備用の出口スイッチはIDが123であることを示している。図7は、図6に、図5の経路情報を重ねて表した図である。以下の説明では、図7のように正常系経路(第2の経路)と、予備系経路(第1の経路)が計算されたものとして説明する。
 なお、上記した制御装置6の構成中、第2テーブル用正常系制御情報生成部35が、上記した第2の制御情報生成部に相当し、予備系制御情報生成部36が上記した第1の制御情報生成部に相当する。
 なお、図3に示した制御装置6の各部(処理手段)は、制御装置6を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
 続いて、本実施形態の動作について図面を参照して詳細に説明する。はじめに、本発明の第1の実施形態の制御装置が経路毎に実施する制御情報の設定処理について説明する。図8は、本発明の第1の実施形態の制御情報の動作(制御情報設定処理1)を表したフローチャートである。また、以下の説明では、スイッチは、非特許文献3のように、制御情報格納用のテーブルを複数保持可能となっており、パケットを受信すると、必ず、第1テーブル(以下「テーブルT0」と記す)を参照して以降の処理を決定するよう動作するものとして説明する。また、スイッチは、そのポート番号に対応する第2テーブル群(例えば、1~n番目のポートに対し、テーブル番号1~nのn個の第2テーブル、以下、「テーブルT1~Tn」と記す。)を備えるものとして説明する。
 図8を参照すると、まず、経路計算部32は、経路DB5から未処理のエントリR1を取り出す(ステップS1)。例えば、図5の経路エントリの上から1番目のエントリが取り出される。
 次に、経路計算部32は、トポロジーDB42から、エントリR1中の出口スイッチに接続するリンクを検索し、入口側スイッチの出力ポートP1を決定する(ステップS2)。例えば、図4のトポロジー情報の中から、エントリR1中の出口スイッチ122に接続するリンクに当たる上から1番目のエントリが抽出される。この場合、入口側スイッチの出力ポートP1は、図7のスイッチ121の2番目のポート(ポート2)となる。
 次に、正常系制御情報生成部34は、エントリR1中の宛先プレフィックスを含むマッチ条件と、出力ポートP1に対応した第2テーブルを参照するというアクションと対応付けた制御情報(振り分け用制御情報)を生成する(ステップS3)。例えば、図7のスイッチ121に対し、図5の宛先プレフィックスを含むマッチ条件と、2番目のポート(ポート2)に対応するテーブルT2の参照を指示するアクションとを対応付けた図10の上から1番目の制御情報が生成される。なお、本実施形態では、入口側スイッチの出力ポート番号P1と、テーブルの番号が1対1に対応しているものとして説明するが、両者の対応付けた規定したテーブル等を参照して、参照先のテーブルを決定するようにしてもよい。
 次に、制御情報送出部22は、スイッチに対し、第1テーブルT0へと登録する指示とともに制御情報(振り分け用制御情報)を送信する(ステップS4)。ここでは、スイッチ121に対し、マッチ条件192.168.1.0/24に適合するパケットを受信すると、テーブルT2を参照するとのアクションを持つ制御情報が設定されることになる(図10の一番上のエントリ参照)。
 続いて、予備系経路計算部33は、ステップS1で取り出したエントリ中の出口スイッチ(予備用)に接続するリンクをトポロジーDB42から検索し、入口側スイッチの出力ポートP2を決定する(ステップS5)。例えば、図4のトポロジー情報の中から、エントリR1中の出口スイッチ(予備用)123に接続するリンクに当たる上から2番目のエントリが抽出される。この場合、入口側スイッチの出力ポートP2は、図7のスイッチ121の3番目のポート(ポート3)となる。
 予備系制御情報生成部は、エントリR1中の宛先プレフィックスを含むマッチ条件と、出力ポートP2から出力するというアクションとを対応付けた制御情報(第1の制御情報)を生成する(ステップS6)。
 次に、制御情報送出部22は、スイッチに対し、第2テーブルT2へと登録する指示とともに制御情報(第1の制御情報)を送信する(ステップS7)。ここでは、スイッチ121に対し、マッチ条件192.168.1.0/24に適合するパケットを受信すると、ポートP2、即ち、3番目のポートから出力するとのアクションを持つ制御情報(第1の制御情報)が設定されることになる(図11の上段のテーブルの上から2番目のエントリ参照)。また、この制御情報(第1の制御情報)は、後に説明する第2の制御情報よりも低い優先度が設定される(図11の上段のテーブルの上から2番目のエントリのPriority=1参照)。このため、例えば、スイッチ121が、宛先IPアドレスが192.168.1.1であるサーバ141宛てのパケットを受信した場合、より高い優先度を持つ第2の制御情報が存在するならば、第2の制御情報のアクションが適用されることになる。
 次に、経路計算部32は、経路DB5中のすべてのエントリが処理済みかを確認し(ステップS8)、処理済みでなければステップS1へと戻り、処理済みであれば一連の手続きを終了する。例えば、図5の上から2番目のエントリが処理済みでない場合、上記した処理を実行し、スイッチ121の第1テーブルT0へ制御情報(振り分け用制御情報)を設定する処理(図10の上から2番目のエントリ参照)と、スイッチ121の第2テーブルT4へ制御情報(第1の制御情報)を設定する処理(図11の下段のテーブルの上から2番目のエントリ参照)とが行われる。
 本発明の第1の実施形態の制御装置が出力ポート毎に実施する制御情報の設定処理について説明する。図9は、本発明の第1の実施形態の制御装置の動作(制御情報設定処理2)を表したフローチャートである。図9を参照すると、第2テーブル用正常系制御情報生成部35は、処理対象のスイッチSの出力ポートのうち、処理済みでないポートPを選択する(ステップS11)。例えば、図7のスイッチ121のポートのうちポート2、ポート4の処理が済んでいない場合、ポート2が選択される。
 次に、第2テーブル用正常系制御情報生成部35は、すべてのフィールドにワイルドカードを設定したマッチ条件と、該当ポートPに出力するというアクションとを対応付けた制御情報(第2の制御情報)を生成する(ステップS12)。
 次に、制御情報送出部22は、スイッチに対し、前記選択したポートPに対応する第2テーブルTPへと登録する指示とともに、前記制御情報(第2の制御情報)を送信する(ステップS13)。例えば、ステップS11でスイッチ121のポート2が選択された場合、スイッチ121に対し、すべてのパケットをポート2から出力するとのアクションを持つ制御情報が設定されることになる(図11の上段のテーブルの上から1番目のエントリ参照)。この制御情報(第2の制御情報)は、前述の第1の制御情報よりも高い優先度が設定される(図11の上段のテーブルの上から1番目のエントリのPriority=65535参照)。このため、例えば、スイッチ121が、宛先IPアドレスが192.168.1.1であるサーバ141宛てのパケットを受信した場合、第2の制御情報が存在するならば、第2の制御情報のアクションが適用されることになる。
 次に、第2テーブル用正常系制御情報生成部35は、処理対象のスイッチSの出力ポートが処理済みかを確認し(ステップS14)、処理済みでなければステップS11へと戻り、処理済みであれば一連の手続きを終了する。図7のスイッチ121のポート4の処理が済んでいない場合、上記した処理を実行し、スイッチ121のポート4に対応する第2テーブルT4へ制御情報(第2の制御情報)を設定する処理(図11の下段のテーブルの上から1番目のエントリ参照)が行われる。
 続いて、図10、図11のように制御情報の設定が完了したとの前提で、スイッチから故障通知として、ポートダウンの通知を受信した場合の動作について説明する。図12が、本発明の第1の実施形態の制御装置の動作(経路切替処理)を示したフローチャートである。
 図12を参照すると、まず、スイッチSからポートmがダウンしたという通知を受信すると(ステップS21)、制御装置6は、スイッチSに対し、当該スイッチSのポートmに対応する第2テーブルTmから、第2の制御情報の削除を指示する制御メッセージ(図17のFlow-modメッセージ)を送信する(ステップS22)。
 例えば、図7のスイッチ121から、ポート2がダウンしたとの通知を受けた場合、制御装置6は、スイッチ121に対し、図11の上段に示すテーブルT2から、高優先の第2の制御情報のエントリを削除するよう指示する。従って、その後、スイッチ121が、宛先IPアドレスが192.168.1.1であるサーバ141宛てのパケットを受信した場合、マッチ条件として192.168.1.0/24が設定されている第1の制御情報がヒットすることになり、第1の制御情報に規定されたアクション(ポート3から出力)が適用されることになる。これにより、図7に示した宛先プレフィックス192.168.1.0/24の経路が、実線で示した正常系経路から破線で示した予備系経路に切り替わる。
 同様に、例えば、図7のスイッチ121から、ポート4がダウンしたとの通知を受けた場合、制御装置6は、スイッチ121に対し、図11の下段に示すテーブルT4から、高優先の第2の制御情報のエントリを削除するよう指示する。従って、その後、スイッチ121が、宛先IPアドレスが192.168.2.1であるサーバ142宛てのパケットを受信した場合、第1の制御情報がヒットすることになり、第1の制御情報に規定されたアクション(ポート3から出力)が適用されることになる。これにより、図7に示したサーバ141宛ての経路が、実線で示した正常系経路から破線で示した予備系経路に切り替わる。
 また、上記のように、予備経路を実現する第1の制御情報には、制御対象のパケットを特定するマッチ条件を記述してあるため、例えば、スイッチ122と、スイッチ124との双方の正常系経路に障害が発生したとしても、スイッチ123に適切なマッチ条件を持つ制御情報を設定することで、それぞれの宛先に応じた転送を行わせることができる。
 以上、本実施形態の制御装置6が、スイッチからポートダウンの通知を受けた場合の動作を説明したが、ポートに接続するリンクの障害時にも同様な動作を適用可能である。例えば、隣接スイッチ間でキープアライブを意味するメッセージをお互いに定期的に送信しておき、これらのメッセージが一定時間到着しなかった場合、リンクダウンと判断し、このリンクの接続するポートに対して、図12と同様の処理を行えばよい。
 以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
 例えば、上記した実施形態では、第2の制御情報のマッチ条件に、すべてのフィールドにワイルドカードを設定する例を挙げて説明したが、特定のフィールドに条件を入れて、特定のパケットを対象から外してもよい(例えば、特定のVLAN IDを持つパケット等)。
 また、上記した実施形態では、ポートダウンやリンク障害を契機に、正常系の経路と予備系の経路とを切り替える例を挙げて説明したが、本発明の適用場面は上記した例に限られるものではない。例えば、特定のリンクの輻輳を契機に経路を切り替える、特定のタイミングで経路を切り替えるといった用途にも適用可能である。
 また、上記した実施形態では、1つのスイッチに、3つのスイッチが接続されている例を挙げて説明したが、スイッチの数に制限はない。例えば、図6のスイッチ122~124よりも出口側にスイッチが配置されている場合であっても、同様に経路を計算し、入口側のスイッチ(スイッチ121に限られず、代替経路を構成するポートを持つスイッチであればよい)に、第1、第2の制御情報を設定することで、高速な経路切替を実現することができる。
 最後に、本発明の好ましい形態を要約する。
[第1の形態]
 (上記第1の視点による制御装置参照)
[第2の形態]
 第1の形態の制御装置において、
 さらに、前記制御対象の転送装置から収集した情報に基づいて、前記第2の経路の障害を検出する故障通知受信部を備え、
 前記転送制御部は、前記第2の経路に障害が発生した際に、前記制御対象の転送装置に前記第2の制御情報の削除を指示する制御装置。
[第3の形態]
 第1又は第2の形態の制御装置において、
 前記転送制御部は、前記制御対象の転送装置に、
 受信パケットと照合するマッチ条件と、参照すべき第2のテーブルとを対応付けた第1のテーブルと、前記第1の制御情報と、前記第2の制御情報とを格納し、前記第1のテーブルの指定に従って参照される複数の第2のテーブルと、を設定する制御装置。
[第4の形態]
 第3の形態の制御装置において、
 前記第2のテーブルと、前記転送装置の出力ポートとが1対1に対応するよう、前記第2のテーブルを複数設ける制御装置。
[第5の形態]
 第1から第4いずれか一の形態の制御装置において、
 前記第1の経路は、前記第2の経路に障害が発生した際の予備経路である制御装置。
[第6の形態]
 (上記第2の視点による通信システム参照)
[第7の形態]
 (上記第3の視点による経路切替方法参照)
[第8の形態]
 (上記第4の視点によるプログラム参照)
 なお、上記第6~第8の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
 なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
 1 セキュアチャネル
 2 スイッチ管理部
 3 経路管理部
 4 トポロジー管理部
 5 経路データベース(経路DB)
 6、60 制御装置
 21 故障通知受信部
 22 制御情報送出部
 31 制御情報削除指令生成部
 32 経路計算部
 33 予備系経路計算部
 34 正常系制御情報生成部
 35 第2テーブル用正常系制御情報生成部
 36 予備系制御情報生成部
 41 トポロジー更新部
 42 トポロジーDB
 61 第1の制御情報生成部
 62 第2の制御情報生成部
 63 転送制御部
 101 端末
 120 転送装置
 121~124 スイッチ
 131、132 ネットワーク
 141、142 サーバ
 411 入口側のスイッチのID
 412 入口側のスイッチの出力ポート番号
 413 出口側のスイッチのID
 414 出口側のスイッチの入力ポート番号
 511 宛先プレフィックス
 512 出口スイッチID
 513 出口スイッチ(予備用)ID 

Claims (8)

  1.  制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する第1の制御情報生成部と、
     前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する第2の制御情報生成部と、
     前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定し、
     前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる転送制御部と、
     を備える制御装置。
  2.  さらに、前記制御対象の転送装置から収集した情報に基づいて、前記第2の経路の障害を検出する故障通知受信部を備え、
     前記転送制御部は、前記第2の経路に障害が発生した際に、前記制御対象の転送装置に前記第2の制御情報の削除を指示する請求項1の制御装置。
  3.  前記転送制御部は、前記制御対象の転送装置に、
     受信パケットと照合するマッチ条件と、参照すべき第2のテーブルとを対応付けた第1のテーブルと、
     前記第1の制御情報と、前記第2の制御情報とを格納し、前記第1のテーブルの指定に従って参照される複数の第2のテーブルと、を設定する請求項1又は2の制御装置。
  4.  前記第2のテーブルと、前記転送装置の出力ポートとが1対1に対応するよう、前記第2のテーブルを複数設ける請求項3の制御装置。
  5.  前記第1の経路は、前記第2の経路に障害が発生した際の予備経路である請求項1から4いずれか一の制御装置。
  6.  外部から設定された制御情報に従って受信パケットを処理する転送装置と、
     前記転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する第1の制御情報生成部と、
     前記転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する第2の制御情報生成部と、前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記転送装置に設定し、前記転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる転送制御部と、を備える制御装置と、を含む通信システム。
  7.  制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成するステップと、
     前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成するステップと、
     前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定するステップと、
     前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させるステップと、を含む経路切替方法。
  8.  制御対象の転送装置に第1の経路でパケットを転送させるための第1の制御情報を生成する処理と、
     前記制御対象の転送装置に前記第1の制御情報の対象パケットを包含するパケット群を前記第1の経路とは異なる第2の経路で転送させる第2の制御情報を生成する処理と、
     前記第2の制御情報の優先度が、前記第1の制御情報よりも高くなるよう前記制御対象の転送装置に設定する処理と、
     前記制御対象の転送装置に前記第2の制御情報の削除を指示することにより、少なくとも前記第1の制御情報に適合するパケットの転送経路を切替させる処理と、を前記転送装置を制御するコンピュータに実行させるプログラム。
PCT/JP2014/054324 2013-02-25 2014-02-24 制御装置、通信システム、経路切替方法及びプログラム WO2014129624A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480010213.0A CN105075196A (zh) 2013-02-25 2014-02-24 控制器、通信系统、路径切换方法和程序
US14/769,784 US20160006601A1 (en) 2013-02-25 2014-02-24 Controller, communication system, path switching method and program
JP2015501533A JPWO2014129624A1 (ja) 2013-02-25 2014-02-24 制御装置、通信システム、経路切替方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-034982 2013-02-25
JP2013034982 2013-02-25

Publications (1)

Publication Number Publication Date
WO2014129624A1 true WO2014129624A1 (ja) 2014-08-28

Family

ID=51391402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/054324 WO2014129624A1 (ja) 2013-02-25 2014-02-24 制御装置、通信システム、経路切替方法及びプログラム

Country Status (4)

Country Link
US (1) US20160006601A1 (ja)
JP (1) JPWO2014129624A1 (ja)
CN (1) CN105075196A (ja)
WO (1) WO2014129624A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152429A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワーク機能の管理方法及びプログラム
JP2016152427A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 ポリシ管理装置、仮想ネットワークの管理方法及びプログラム
JP2016152426A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
JP2016152428A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
EP3232616A4 (en) * 2015-01-05 2017-12-27 Huawei Technologies Co., Ltd. Failure processing method and device for forwarding device, and controller
JP2019153887A (ja) * 2018-03-01 2019-09-12 株式会社デンソー 中継装置、通信システムおよび中継制御装置

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 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
JP2012049674A (ja) * 2010-08-25 2012-03-08 Nec Corp 通信装置、通信システム、通信方法、および通信プログラム
JP2013034139A (ja) * 2011-08-03 2013-02-14 Fujitsu Ltd 通信装置および通信プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999048301A2 (en) * 1998-03-16 1999-09-23 British Telecommunications Public Limited Company Data transport system
US6885657B1 (en) * 1998-11-30 2005-04-26 Broadcom Corporation Network telephony system
JP4428184B2 (ja) * 2004-10-04 2010-03-10 株式会社日立製作所 検索テーブル高速切替方式およびパケット転送装置
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
WO2011102093A1 (ja) * 2010-02-18 2011-08-25 日本電気株式会社 品質劣化箇所分析システム、品質劣化箇所分析装置、品質劣化箇所分析方法およびプログラム

Patent 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 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
JP2012049674A (ja) * 2010-08-25 2012-03-08 Nec Corp 通信装置、通信システム、通信方法、および通信プログラム
JP2013034139A (ja) * 2011-08-03 2013-02-14 Fujitsu Ltd 通信装置および通信プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAZUYA SUZUKI: "BGP o Mochiite Un'yo sareru ISP/DC Network no OpenFlow ni yoru Sekkei to Jisso", SYMPOSIUM ON MULTIMEDIA, DISTRIBUTED, COOPERATIVE AND MOBILE SYSTEMS (DICOM02012) RONBUNSHU, IPSJ SYMPOSIUM SERIES, vol. 2012, no. 1, 4 July 2012 (2012-07-04), pages 1810 - 1814 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3232616A4 (en) * 2015-01-05 2017-12-27 Huawei Technologies Co., Ltd. Failure processing method and device for forwarding device, and controller
US10756958B2 (en) 2015-01-05 2020-08-25 Huawei Technologies Co., Ltd. Method, device, and controller for processing forwarding device faults received from forwarding devices on a forwarding path
US11496355B2 (en) 2015-01-05 2022-11-08 Huawei Technologies Co., Ltd. Method for processing forwarding device fault, device, and controller
JP2016152429A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワーク機能の管理方法及びプログラム
JP2016152427A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 ポリシ管理装置、仮想ネットワークの管理方法及びプログラム
JP2016152426A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
JP2016152428A (ja) * 2015-02-16 2016-08-22 日本電気株式会社 制御装置、通信システム、仮想ネットワークの管理方法及びプログラム
JP2019153887A (ja) * 2018-03-01 2019-09-12 株式会社デンソー 中継装置、通信システムおよび中継制御装置
JP7063010B2 (ja) 2018-03-01 2022-05-09 株式会社デンソー 中継装置、通信システムおよび中継制御装置

Also Published As

Publication number Publication date
JPWO2014129624A1 (ja) 2017-02-02
CN105075196A (zh) 2015-11-18
US20160006601A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
KR101787861B1 (ko) 제어 장치, 통신 시스템, 스위치 제어 방법 및 프로그램을 기록한 기록 매체
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
JP5987971B2 (ja) 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
JP2014533001A (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
JP5818268B2 (ja) 通信システム、制御装置、経路制御方法およびプログラム
US20150304216A1 (en) Control method, control apparatus, communication system, and program
JPWO2013141340A1 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
US20190007279A1 (en) Control apparatus, communication system, virtual network management method, and program
WO2014175423A1 (ja) 通信ノード、通信システム、パケット処理方法及びプログラム
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
WO2015045275A1 (ja) 制御装置、ネットワークシステム、パケット転送制御方法、制御装置用プログラム
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP6175766B2 (ja) 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
WO2015087947A1 (ja) 通信システム、通信ノード、制御装置、通信制御方法及びプログラム
JPWO2014142256A1 (ja) 通信システム、制御装置、通信方法およびプログラム

Legal Events

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

Ref document number: 201480010213.0

Country of ref document: CN

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

Ref document number: 14753796

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14769784

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015501533

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14753796

Country of ref document: EP

Kind code of ref document: A1