JP2013211706A - Open flow network system, and data communication method - Google Patents

Open flow network system, and data communication method Download PDF

Info

Publication number
JP2013211706A
JP2013211706A JP2012080859A JP2012080859A JP2013211706A JP 2013211706 A JP2013211706 A JP 2013211706A JP 2012080859 A JP2012080859 A JP 2012080859A JP 2012080859 A JP2012080859 A JP 2012080859A JP 2013211706 A JP2013211706 A JP 2013211706A
Authority
JP
Japan
Prior art keywords
packet
switch
network device
router
controller
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2012080859A
Other languages
Japanese (ja)
Other versions
JP5814849B2 (en
Inventor
Shigeaki Maeda
繁章 前田
Kensuke Watanabe
兼介 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2012080859A priority Critical patent/JP5814849B2/en
Publication of JP2013211706A publication Critical patent/JP2013211706A/en
Application granted granted Critical
Publication of JP5814849B2 publication Critical patent/JP5814849B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an open flow network system and data communication method capable of connecting a redundant network apparatus with an open flow network, in a state of keeping a redundant configuration.SOLUTION: A switch SW transfers a VRRP packet transmitted from a router connected to the switch SW and a GARP packet transmitted from an active system router, to a controller C. The controller C controls a switch SW to which another router in a VRRP group including the router transmitting the VRRP packet is connected, to transmit the VRRP packet to the other router. The controller C also calculates a path from a switch SWn to which a layer 3 node N1 is connected to the active system router, and controls respective switches on the path so as to transmit packet data transmitted from the layer 3 node N1 to a virtual IP address shared by routers R1 and R2 to the active system router.

Description

本発明は、オープンフローネットワークシステム、及び、データ通信方法に関し、特に、冗長化構成を維持した状態で、冗長化されたネットワーク機器をオープンフローネットワークに接続することが可能なオープンフローネットワークシステム、及び、データ通信方法に関する。   The present invention relates to an OpenFlow network system and a data communication method, and more particularly to an OpenFlow network system capable of connecting a redundant network device to an OpenFlow network while maintaining a redundant configuration, and The present invention relates to a data communication method.

ネットワークで使用される機器の信頼性を向上させる技術として、VRRP(Virtual Router Redundancy Protocol)がある(例えば、特許文献1参照)。VRRPは、物理的に複数の機器で冗長化し、現用系の機器に障害が発生しても、冗長化構成を形成する他の機器が処理を引き継ぐことで、処理が停止してしまうのを防止することが可能となる。   VRRP (Virtual Router Redundancy Protocol) is a technique for improving the reliability of devices used in a network (see, for example, Patent Document 1). VRRP is made redundant by a plurality of devices physically, and even if a failure occurs in the active device, it prevents the processing from being stopped by other devices forming the redundant configuration taking over the processing. It becomes possible to do.

また、ネットワークを構成する各スイッチにおける転送処理等をコントローラにより一元的に制御するオープンフロー技術が、OpenFlow Consortiumによって提案されている。   In addition, an OpenFlow Consortium has been proposed by the OpenFlow Consortium that centrally controls transfer processing and the like in each switch constituting a network by a controller.

特開2005−167435号公報JP 2005-167435 A

既存のネットワーク機器は、自律的に動作するため、VRRP機能を備えた機器をオープンフロー技術を利用したネットワークに接続した場合、コントローラは、同じVRRPグループを形成する機器のうちの、いずれの機器が現用系として機能しているのかについての情報を得ることができない。   Since existing network devices operate autonomously, when a device equipped with a VRRP function is connected to a network using the open flow technology, the controller can select any of the devices that form the same VRRP group. Information about whether it is functioning as an active system cannot be obtained.

そのため、オープンフロー技術を利用したネットワークにVRRPグループを形成する機器を接続した場合、コントローラは、各スイッチの転送処理等を一元的に制御できなくなる。   For this reason, when a device that forms a VRRP group is connected to a network that uses OpenFlow technology, the controller cannot centrally control the transfer processing of each switch.

本発明は、上記の課題を解決するためになされたものであり、冗長化構成を維持した状態で、冗長化されたネットワーク機器をオープンフローネットワークに接続することが可能なオープンフローネットワークシステム、及び、データ通信方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and an OpenFlow network system capable of connecting a redundant network device to an OpenFlow network while maintaining a redundant configuration, and An object of the present invention is to provide a data communication method.

上記目的を達成するために、本発明の第1の観点に係るオープンフローネットワークシステムは、
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、受信した死活監視用パケットを、前記各スイッチのデータ転送処理を一元的に制御するコントローラへ転送する死活監視用パケット転送手段と、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送手段と、
を備え、
前記コントローラが、
前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる死活監視用パケット転送制御手段と、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する経路算出手段と、
前記経路算出手段により算出された経路上の各スイッチを制御して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるパケット転送制御手段と、
を備える、
ことを特徴とする。
In order to achieve the above object, an OpenFlow network system according to the first aspect of the present invention provides:
Each switch that makes up the OpenFlow network
A controller that centrally controls the data transfer processing of each switch when the life / death monitoring packet, which is packet data for life / death monitoring, is received from a physically redundant network device. Alive monitoring packet transfer means to transfer to,
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving the Address Resolution Protocol) packet, a GARP packet transfer means for transferring the received GARP packet to the controller;
With
The controller is
Controlling a switch connected to a network device other than the network device that has transmitted the alive monitoring packet among the physically redundant network devices, the alive monitoring packet is monitored by the alive monitoring. A packet transfer control means for alive monitoring that transmits the packet to a network device other than the network device that has transmitted the packet;
Route calculation means for calculating a route from the switch to which the node is connected to the active network device;
By controlling each switch on the route calculated by the route calculating means, packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device is transmitted. Packet transfer control means for transmitting to the active network device;
Comprising
It is characterized by that.

なお、前記コントローラが、
前記物理的に冗長化されているネットワーク機器が接続されている各スイッチを一意に識別可能な情報を対応付けたネットワーク機器スイッチ対応情報を格納する記憶部をさらに備え、
前記死活監視用パケット転送制御部は、前記記憶部に格納されている前記ネットワーク機器スイッチ対応情報に基づいて、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器を特定し、特定したネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記特定したネットワーク機器へ送信させる、
ようにしてもよい。
The controller is
A storage unit for storing network device switch correspondence information in which information that can uniquely identify each switch connected to the physically redundant network device is associated;
The life and death monitoring packet transfer control unit transmits the life and death monitoring packet among the physically redundant network devices based on the network device switch correspondence information stored in the storage unit. Identifying a network device other than the network device, controlling a switch to which the identified network device is connected, and transmitting the alive monitoring packet to the identified network device.
You may do it.

また、前記記憶部は、前記ネットワーク機器スイッチ対応情報と、前記物理的に冗長化されているネットワーク機器が接続されているスイッチのうちで、いずれのスイッチに接続されているネットワーク機器が現用系ネットワーク機器かを識別可能な現用系情報と、を対応つけた接続情報を格納し、
前記コントローラが、
前記GARPパケット転送手段により転送された前記GARPパケットに含まれる、前記現用系ネットワーク機器の物理MAC(Media Access Control)アドレスを取得する取得手段をさらに備え、
前記経路算出手段は、前記取得手段により取得された前記現用系ネットワーク機器の物理MACアドレスと前記接続情報とに基づいて、前記パケットデータのヘッダ情報に含まれる送信先MACアドレスと一致する前記現用系ネットワーク機器の物理MACアドレスに対応するスイッチを特定して、前記ノードが接続されているスイッチから前記特定したスイッチに接続されている前記現用系ネットワーク機器までの経路を算出する、
ようにしてもよい。
In addition, the storage unit includes the network device switch correspondence information and the switch to which the physically redundant network device is connected, which network device is connected to the active network Stores connection information that associates the active system information that can be identified as a device,
The controller is
An acquisition unit for acquiring a physical MAC (Media Access Control) address of the active network device included in the GARP packet transferred by the GARP packet transfer unit;
The path calculating unit is configured to match the destination MAC address included in the header information of the packet data based on the physical MAC address of the active network device acquired by the acquiring unit and the connection information. Identifying a switch corresponding to the physical MAC address of the network device, and calculating a path from the switch to which the node is connected to the active network device connected to the identified switch;
You may do it.

また、前記コントローラが、
前記記憶部に格納されている接続情報を参照して、前記死活監視用パケットを送信したネットワーク機器が現用系ネットワーク機器か否かを判定する送信元判定手段をさらに備え、
死活監視用パケット転送制御手段は、前記送信元判定手段により前記死活監視用パケットを送信したネットワーク機器が現用系ネットワーク機器であると判定された場合のみ、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる、
ようにしてもよい。
In addition, the controller
Further comprising transmission source determination means for referring to connection information stored in the storage unit to determine whether the network device that has transmitted the alive monitoring packet is an active network device;
The life and death monitoring packet transfer control means is configured so that the network device that is physically redundant only when the transmission source determination means determines that the network device that has transmitted the life and death monitoring packet is an active network device. A network device other than the network device that has transmitted the alive monitoring packet by controlling a switch to which a network device other than the network device that has transmitted the alive monitoring packet is connected. To send to
You may do it.

また、前記コントローラが、
現用系ネットワーク機器からの死活監視用パケットが所定時間内に受信できなかった場合には、該現用系ネットワーク機器に障害が発生したと判定し、前記接続情報の対応する現用系情報を更新する更新手段をさらに備える、
ようにしてもよい。
In addition, the controller
When the alive monitoring packet from the active network device cannot be received within a predetermined time, it is determined that a failure has occurred in the active network device, and the update for updating the corresponding active information in the connection information Further comprising means,
You may do it.

また、前記物理的に冗長化されているネットワーク機器は、VRRP(Virtual Router Redundancy Protocol)機能を備え、前記死活監視用パケットは、VRRPパケットである、
ようにしてもよい。
The physically redundant network device has a VRRP (Virtual Router Redundancy Protocol) function, and the alive monitoring packet is a VRRP packet.
You may do it.

また、前記物理的に冗長化されているネットワーク機器は、ルータである、
ようにしてもよい。
The physically redundant network device is a router.
You may do it.

上記目的を達成するために、本発明の第2の観点に係るオープンフローネットワークシステムは、
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローの設定を、自スイッチから前記死活監視用パケットの送信先のネットワーク機器までの経路上の各スイッチに対して実行するよう要求するフロー設定要求を、コントローラへ送信するフロー設定要求送信手段と、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送手段と、
を備え、
前記コントローラが、
前記フロー設定要求を受信すると、前記フロー設定要求を送信したスイッチから、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器までの経路を算出する第1経路算出手段と、
前記第1経路算出手段により算出された経路上の各スイッチに対して、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信させるためのフローをそれぞれ設定する死活監視用パケット転送制御手段と、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する第2経路算出手段と、
前記第2経路算出手段により算出された経路上の各スイッチに対して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるためのフローをそれぞれ設定するパケット転送制御手段と、
を備える、
ことを特徴とする。
In order to achieve the above object, an OpenFlow network system according to the second aspect of the present invention provides:
Each switch that makes up the OpenFlow network
When a life / death monitoring packet that is packet data for life / death monitoring is received from a physically redundant network device, the life / death monitoring packet is transmitted from the physically redundant network device. The flow setting for transmitting the life / death monitoring packet received to the network device other than the network device is executed for each switch on the path from the own switch to the network device that is the transmission destination of the life / death monitoring packet. Flow setting request transmitting means for transmitting a flow setting request for requesting to the controller;
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving the Address Resolution Protocol) packet, a GARP packet transfer means for transferring the received GARP packet to the controller;
With
The controller is
When the flow setting request is received, a path from the switch that transmitted the flow setting request to a network device other than the network device that transmitted the alive monitoring packet among the physically redundant network devices First route calculating means for calculating
For each switch on the route calculated by the first route calculating means, among the network devices that are physically redundant, to network devices other than the network device that transmitted the alive monitoring packet, Life and death monitoring packet transfer control means for setting a flow for transmitting the life and death monitoring packet,
Second route calculating means for calculating a route from the switch to which the node is connected to the active network device;
Packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device for each switch on the route calculated by the second route calculating means A packet transfer control means for setting a flow for transmitting to the active network device,
Comprising
It is characterized by that.

なお、前記各スイッチが、
前記ネットワーク機器から前記死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記受信した死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローが既に設定されているか否かを判定する判定手段をさらに備え、
フロー設定要求送信手段は、前記判定手段により、前記物理的に冗長化されているネットワーク機器のうちで、前記受信した死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローがまだ設定されていないと判定された場合のみ、前記フロー設定要求をコントローラへ送信する、
ようにしてもよい。
Each switch is
Upon receiving the alive monitoring packet from the network device, the alive monitoring received from the physically redundant network device to a network device other than the network device that has transmitted the received alive monitoring packet. A determination unit for determining whether or not a flow for transmitting a packet has already been set;
The flow setting request transmission means receives the life / death monitoring packet received by the determination means to a network device other than the network device that has transmitted the received life / death monitoring packet among the physically redundant network devices. The flow setting request is transmitted to the controller only when it is determined that the flow for transmitting is not yet set.
You may do it.

また、前記コントローラが、
前記物理的に冗長化されているネットワーク機器が接続されている各スイッチを一意に識別可能な情報を対応付けたネットワーク機器スイッチ対応情報を格納する記憶部をさらに備え、
前記第1経路算出部は、前記記憶部に格納されている前記ネットワーク機器スイッチ対応情報に基づいて、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器を特定し、前記フロー設定要求を送信したスイッチから、特定したネットワーク機器までの経路を算出する、
ようにしてもよい。
In addition, the controller
A storage unit for storing network device switch correspondence information in which information that can uniquely identify each switch connected to the physically redundant network device is associated;
The first path calculation unit is a network that transmits the alive monitoring packet among the physically redundant network devices based on the network device switch correspondence information stored in the storage unit. Specify a network device other than the device, and calculate a route from the switch that transmitted the flow setting request to the specified network device.
You may do it.

また、前記物理的に冗長化されているネットワーク機器は、VRRP(Virtual Router Redundancy Protocol)機能を備え、前記死活監視用パケットは、VRRPパケットである、
ようにしてもよい。
The physically redundant network device has a VRRP (Virtual Router Redundancy Protocol) function, and the alive monitoring packet is a VRRP packet.
You may do it.

また、前記物理的に冗長化されているネットワーク機器は、ルータである、
ようにしてもよい。
The physically redundant network device is a router.
You may do it.

上記目的を達成するために、本発明の第3の観点に係るデータ通信方法は、
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、受信した死活監視用パケットを、前記各スイッチのデータ転送処理を一元的に制御するコントローラへ転送する死活監視用パケット転送ステップと、
前記コントローラが、
前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる死活監視用パケット転送制御ステップと、
前記オープンフローネットワークを構成する各スイッチが、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送ステップと、
前記コントローラが、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する経路算出ステップと、
前記コントローラが、
前記経路算出ステップにより算出された経路上の各スイッチを制御して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるパケット転送制御ステップと、
を備える、
ことを特徴とする。
In order to achieve the above object, a data communication method according to a third aspect of the present invention includes:
Each switch that makes up the OpenFlow network
A controller that centrally controls the data transfer processing of each switch when the life / death monitoring packet, which is packet data for life / death monitoring, is received from a physically redundant network device. Alive monitoring packet forwarding step to forward to,
The controller is
Controlling a switch connected to a network device other than the network device that has transmitted the alive monitoring packet among the physically redundant network devices, the alive monitoring packet is monitored by the alive monitoring. A packet transfer control step for alive monitoring that transmits a packet to a network device other than the network device that transmitted the packet,
Each switch constituting the OpenFlow network is
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving an Address Resolution Protocol) packet, a GARP packet transfer step for transferring the received GARP packet to the controller;
The controller is
A route calculating step for calculating a route from the switch to which the node is connected to the active network device;
The controller is
By controlling each switch on the route calculated by the route calculating step, packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device A packet transfer control step for transmitting to the active network device;
Comprising
It is characterized by that.

上記目的を達成するために、本発明の第4の観点に係るデータ通信方法は、
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローの設定を、自スイッチから前記死活監視用パケットの送信先のネットワーク機器までの経路上の各スイッチに対して実行するよう要求するフロー設定要求を、コントローラへ送信するフロー設定要求送信ステップと、
前記コントローラが、
前記フロー設定要求を受信すると、前記フロー設定要求を送信したスイッチから、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器までの経路を算出する第1経路算出ステップと、
前記コントローラが、
前記第1経路算出ステップで算出された経路上の各スイッチに対して、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信させるためのフローをそれぞれ設定する死活監視用パケット転送制御ステップと、
前記第1経路算出ステップで算出された経路上の各スイッチが、
前記第1経路算出ステップでそれぞれ設定されたフローに基づいて、前記死活監視用パケットを順次転送することで、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信する死活監視用パケット送信ステップと、
前記オープンフローネットワークを構成する各スイッチが、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送ステップと、
前記コントローラが、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する第2経路算出ステップと、
前記コントローラが、
前記第2経路算出ステップで算出された経路上の各スイッチに対して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるためのフローをそれぞれ設定するパケット転送制御ステップと、
前記第2経路算出ステップで算出された経路上の各スイッチが、
前記パケット転送制御ステップでそれぞれ設定されたフローに基づいて、前記パケットデータを順次転送することで、前記現用系ネットワーク機器へ、前記パケットデータを送信するパケット送信ステップと、
を備える、
ことを特徴とする。
In order to achieve the above object, a data communication method according to a fourth aspect of the present invention includes:
Each switch that makes up the OpenFlow network
When a life / death monitoring packet that is packet data for life / death monitoring is received from a physically redundant network device, the life / death monitoring packet is transmitted from the physically redundant network device. The flow setting for transmitting the life / death monitoring packet received to the network device other than the network device is executed for each switch on the path from the own switch to the network device that is the transmission destination of the life / death monitoring packet. A flow setting request sending step for sending a flow setting request to the controller to the controller;
The controller is
When the flow setting request is received, a path from the switch that transmitted the flow setting request to a network device other than the network device that transmitted the alive monitoring packet among the physically redundant network devices A first route calculating step for calculating
The controller is
For each switch on the route calculated in the first route calculating step, among the network devices that are physically redundant, to network devices other than the network device that transmitted the alive monitoring packet, Life and death monitoring packet transfer control step for setting a flow for transmitting the life and death monitoring packet, and
Each switch on the route calculated in the first route calculating step is
Based on the flow set in the first route calculation step, the life and death monitoring packet is sequentially transferred, so that the life and death monitoring packet is transmitted among the physically redundant network devices. A life / death monitoring packet transmission step for transmitting the life / death monitoring packet to a network device other than the network device,
Each switch constituting the OpenFlow network is
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving an Address Resolution Protocol) packet, a GARP packet transfer step for transferring the received GARP packet to the controller;
The controller is
A second route calculating step for calculating a route from the switch to which the node is connected to the active network device;
The controller is
Packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device for each switch on the route calculated in the second route calculating step A packet transfer control step for setting a flow for transmitting to the active network device,
Each switch on the route calculated in the second route calculating step is
A packet transmission step of transmitting the packet data to the active network device by sequentially transferring the packet data based on the flow set in the packet transfer control step,
Comprising
It is characterized by that.

本発明によれば、冗長化構成を維持した状態で、冗長化されたネットワーク機器をオープンフローネットワークに接続することが可能となる。   According to the present invention, it is possible to connect a redundant network device to an OpenFlow network while maintaining a redundant configuration.

実施形態1における、オープンフローネットワークシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the open flow network system in Embodiment 1. FIG. 実施形態1における、VRRPパケットのフォーマットの例を示す図である。6 is a diagram illustrating an example of a format of a VRRP packet in Embodiment 1. FIG. 実施形態1における、各スイッチの構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of each switch in the first embodiment. 実施形態1における、フローテーブルの例を示す図である。It is a figure which shows the example of the flow table in Embodiment 1. FIG. 実施形態1における、コントローラの構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a controller in the first embodiment. 実施形態1における、設定時間テーブルの例を示す図である。It is a figure which shows the example of the setting time table in Embodiment 1. FIG. 実施形態1における、接続情報テーブルの例を示す図である。It is a figure which shows the example of the connection information table in Embodiment 1. FIG. 実施形態1における、アドレステーブルの例を示すブロック図である。3 is a block diagram illustrating an example of an address table in Embodiment 1. FIG. 実施形態1における、トポロジ情報テーブルの例を示す図である。It is a figure which shows the example of the topology information table in Embodiment 1. FIG. 実施形態1における、VRRPパケット転送処理のフローチャートを示す図である。FIG. 6 is a diagram illustrating a flowchart of VRRP packet transfer processing in the first embodiment. 実施形態1における、図1に示すオープンフローネットワークシステムを例にした、平常時のシステム全体の処理のフローを説明するための図である。It is a figure for demonstrating the flow of the process of the whole system of a normal time which made the example of the open flow network system shown in FIG. 1 in Embodiment 1. FIG. 実施形態1における、図1に示すオープンフローネットワークシステムを例にした、障害発生時のシステム全体の処理のフローを説明するための図である。FIG. 2 is a diagram for explaining a processing flow of the entire system when a failure occurs, taking the OpenFlow network system shown in FIG. 1 as an example in the first embodiment; 実施形態2における、コントローラの構成を示すブロック図である。6 is a block diagram illustrating a configuration of a controller in Embodiment 2. FIG. 実施形態2における、接続情報テーブルの例を示す図である。It is a figure which shows the example of the connection information table in Embodiment 2. FIG. 実施形態2における、図1に示すオープンフローネットワークシステムを例にした、平常時のシステム全体の処理のフローを説明するための図である。FIG. 9 is a diagram for explaining a processing flow of the entire system in a normal state, taking the OpenFlow network system shown in FIG. 1 as an example in the second embodiment. 実施形態2における、図1に示すオープンフローネットワークシステムを例にした、障害発生時のシステム全体の処理のフローを説明するための図である。FIG. 9 is a diagram for explaining a processing flow of the entire system when a failure occurs, taking the OpenFlow network system shown in FIG. 1 as an example in Embodiment 2.

(実施形態1)
添付図面を参照しながら本実施形態について説明する。
(Embodiment 1)
The present embodiment will be described with reference to the accompanying drawings.

図1を参照して、本実施形態におけるオープンフローネットワークシステム1の構成を説明する。ネットワークシステム1は、図1に示すように、複数のオープンフロースイッチ(以下、スイッチという)SW1乃至SWnからなるスイッチ群2と、オープンフローコントローラ(以下、コントローラという)Cと、から構成される。なお、nは2以上の自然数であり、スイッチSW1乃至SWnを区別せずに総称する場合はスイッチSWということとする。   With reference to FIG. 1, the structure of the open flow network system 1 in this embodiment is demonstrated. As shown in FIG. 1, the network system 1 includes a switch group 2 including a plurality of open flow switches (hereinafter referred to as switches) SW1 to SWn, and an open flow controller (hereinafter referred to as a controller) C. Note that n is a natural number of 2 or more, and the switches SW1 to SWn are collectively referred to as switches SW without being distinguished.

オープンフローネットワークシステム1のスイッチSW1とSW2には、それぞれ、ルータR1とルータR2が接続されており、ルータR1とR2は、VRRP(Virtual Router Redundancy Protocol)機能を備え、冗長化されている。すなわち、現用系のルータに障害が発生しても、待機系のルータで処理を引継ぎ、ルータとしての機能が停止し、通信が遮断されないように構成されている。また、スイッチSWnには、レイヤ3ノードN1が接続されている。本実施形態においては、ルータR1とR2とから構成されるVRRPグループがオープンフローネットワークシステム1に接続されている構成を例に説明するが、複数のVRRPグループがオープンフローネットワーク1に接続されている構成であってもよい。また、VRRPグループを構成するルータは3以上でもよいし、VRRPグループを構成する機器は、ルータではなく、VRRP機能を備えるロードバランサなどであってもよい。   Routers R1 and R2 are connected to the switches SW1 and SW2 of the OpenFlow network system 1, respectively, and the routers R1 and R2 have a VRRP (Virtual Router Redundancy Protocol) function and are made redundant. That is, even if a failure occurs in the active router, the standby router takes over the processing, the router function is stopped, and communication is not interrupted. Further, the layer 3 node N1 is connected to the switch SWn. In the present embodiment, a configuration in which a VRRP group including routers R1 and R2 is connected to the OpenFlow network system 1 will be described as an example. However, a plurality of VRRP groups are connected to the OpenFlow network 1. It may be a configuration. Further, the number of routers constituting the VRRP group may be three or more, and the devices constituting the VRRP group may be a load balancer having a VRRP function instead of a router.

同じVRRPグループを形成するルータは、図2に例示するVRRPパケットを同じVRRPグループを形成する他のルータへ送信する。すなわち、本実施形態においては、ルータR1は、VRRPパケットをルータR2宛てに送信し、ルータR2は、VRRPパケットをルータR1宛に送信する。ただし、ルータ間で現用系ルータが決定されると、現用系ルータのみがVRRPパケットを待機系ルータ宛に送信する。同じVRRPグループを形成するルータのうち、いずれのルータが現用系になるかは、詳しくは後述するVRRPパケットに含まれる優先度に基づいて決定される。現用系ルータが決定されると、上述したように、現用系ルータのみがVRRPパケットを待機系ルータ宛てに送信し、待機系ルータは、現用系ルータから送信されるVRRPパケットを一定時間内に受信できなかった場合は、現用系ルータに障害が発生したと判定し、障害が発生した現用系ルータの処理を引き継いで、現用系ルータとしてVRRPパケットを送信する。   Routers that form the same VRRP group transmit the VRRP packet illustrated in FIG. 2 to other routers that form the same VRRP group. That is, in the present embodiment, the router R1 transmits the VRRP packet to the router R2, and the router R2 transmits the VRRP packet to the router R1. However, when the working router is determined between the routers, only the working router transmits the VRRP packet to the standby router. Which router becomes the active system among the routers forming the same VRRP group is determined based on the priority included in the VRRP packet described later in detail. When the active router is determined, as described above, only the active router transmits the VRRP packet to the standby router, and the standby router receives the VRRP packet transmitted from the active router within a predetermined time. If not, it is determined that a failure has occurred in the active router, the processing of the active router in which the failure has occurred is taken over, and a VRRP packet is transmitted as the active router.

図2は、VRRPパケットのフォーマットの例を示す図である。VRRPパケットのフォーマットは、図2に示すように、「バージョン」フィールドには、VRRPバージョンが格納され、「タイプ」フィールドには、VRRPパケットがアドバタイズメント(アナウンスメント)である場合は”1”が格納される。「VRID」フィールドには、VRID値が格納され、同じVRRPグループを形成する各ルータ、本実施形態においては、ルータR1とR2から送信されるVRRPパケットの「VRID」フィールドには、同じVRID値が格納される。「プライオリティ」フィールドには、VRRPパケットの送信元ルータの優先度が格納され、この優先度の値が高いVRRPパケットを送信するルータが現用系ルータとなる。   FIG. 2 is a diagram illustrating an example of the format of a VRRP packet. As shown in FIG. 2, the VRRP version is stored in the “version” field, and “1” is stored in the “type” field when the VRRP packet is an advertisement (announcement). Stored. The VRID value is stored in the “VRID” field, and the same VRID value is stored in the “VRID” field of each router that forms the same VRRP group, in the present embodiment, the VRRP packets transmitted from the routers R1 and R2. Stored. The priority of the VRRP packet source router is stored in the “priority” field, and the router that transmits the VRRP packet having a high priority value becomes the active router.

「カウントIP(Internet Protocol)アドレス」フィールドには、VRRPパケットで広告するIPアドレスの数を格納し、「認証タイプ」フィールドには、認証タイプを特定するための値が格納される。例えば、認証を行わない場合は、”0”が、テキストパスワードによる認証の場合は、”1”が、格納される。「アドバタイズメントインターバル」フィールドには、VRRPパケットをアドバタイズメントパケットとして送信する間隔を特定する値が格納される。VRRPパケットを受信した他のルータは、「アドバタイズメントインターバル」フィールドに格納されている値から、VRRPパケットの送信間隔を取得し、例えば、現用系ルータからのVRRPパケットが「アドバタイズメントインターバル」フィールドに規定されている送信間隔に基づいて、次式により定められる時間S内に受信されなかった場合には、待機系ルータは、現用系ルータに障害が発生したと判定し、待機系ルータが現用系ルータとして、障害が発生した現用系ルータの処理を引継ぐ。   The “count IP (Internet Protocol) address” field stores the number of IP addresses advertised by the VRRP packet, and the “authentication type” field stores a value for specifying the authentication type. For example, “0” is stored when authentication is not performed, and “1” is stored when authentication is performed using a text password. In the “advertisement interval” field, a value for specifying an interval for transmitting a VRRP packet as an advertisement packet is stored. The other routers that have received the VRRP packet obtain the VRRP packet transmission interval from the value stored in the “advertisement interval” field. For example, the VRRP packet from the working router is displayed in the “advertisement interval” field. If it is not received within the time S defined by the following formula based on the prescribed transmission interval, the standby router determines that a failure has occurred in the active router, and the standby router determines that the active router As a router, take over the processing of the active router where the failure occurred.

(式1)
時間S=(アドバタイズメントインターバル)x3+(256−優先度値)/256
(Formula 1)
Time S = (advertisement interval) × 3 + (256−priority value) / 256

「IPアドレス」フィールドには、仮想IPアドレスとして使用可能なIPアドレスを格納する。この仮想IPアドレスは、同じVRRPグループを形成するルータR1とR2がネットワークで共有するIPアドレスである。   The “IP address” field stores an IP address that can be used as a virtual IP address. This virtual IP address is an IP address shared by the routers R1 and R2 forming the same VRRP group in the network.

また、現用系ルータは、ARP(Address Resolution Protocol)テーブルを更新させるためのGratuitous ARPパケット(以下、GARPパケットという)を送信する。GARPパケットの「送信元IPアドレス」フィールドには、同じVRRPグループを形成するルータR1とR2がネットワークで共有する仮想IPアドレスが格納され、「送信元ハードウェアアドレス」フィールドには、GARPパケットを送信した現用系ルータの物理MACアドレスが格納される。GARPパケットを受信した装置は、自身が保持するARPテーブルを参照し、GARPパケットに含まれるIPアドレス(仮想IPアドレス)に該当するエントリが存在する場合には、そのエントリのMACアドレスをGARPパケットの「送信元ハードウェアアドレス」フィールドに格納されているMACアドレスで更新する。一方、GARPパケットに含まれるIPアドレス(仮想IPアドレス)に該当するエントリがARPテーブルに存在しない場合には、そのGARPパケットの送信元ルータの仮想IPアドレスと物理MACアドレスとを対応付けたエントリがARPテーブルに追加される。   The active router transmits a Gratuitous ARP packet (hereinafter referred to as a GARP packet) for updating an ARP (Address Resolution Protocol) table. The “source IP address” field of the GARP packet stores a virtual IP address shared by the routers R1 and R2 forming the same VRRP group in the network, and the “source hardware address” field transmits the GARP packet. The physical MAC address of the active router is stored. The device that has received the GARP packet refers to the ARP table held by itself, and when an entry corresponding to the IP address (virtual IP address) included in the GARP packet exists, the MAC address of the entry is set to the GARP packet. Update with the MAC address stored in the "source hardware address" field. On the other hand, when an entry corresponding to the IP address (virtual IP address) included in the GARP packet does not exist in the ARP table, an entry that associates the virtual IP address of the transmission source router of the GARP packet with the physical MAC address is displayed. Added to the ARP table.

例えば、ルータR1から送信されたGARPパケットをレイヤ3ノードN1が受信し、レイヤ3ノードN1が保持するARPテーブルにそのGARPパケットに含まれるIPアドレス(仮想IPアドレス)に該当するエントリが存在する場合には、そのエントリのMACアドレスをGARPパケットに含まれるルータR1の物理MACアドレスで更新する。一方、レイヤ3ノードN1が保持するARPテーブルにそのGARPパケットに含まれるIPアドレス(仮想IPアドレス)に該当するエントリが存在しない場合には、GARPパケットに含まれるルータR1の仮想IPアドレスと物理MACアドレスとを対応付けたエントリがARPテーブルに追加される。   For example, when the GARP packet transmitted from the router R1 is received by the layer 3 node N1, and an entry corresponding to the IP address (virtual IP address) included in the GARP packet exists in the ARP table held by the layer 3 node N1 The MAC address of the entry is updated with the physical MAC address of the router R1 included in the GARP packet. On the other hand, if there is no entry corresponding to the IP address (virtual IP address) included in the GARP packet in the ARP table held by the layer 3 node N1, the virtual IP address and physical MAC of the router R1 included in the GARP packet are stored. An entry associated with an address is added to the ARP table.

スイッチSWは、図3に示すように、制御部S1と、記憶部S2とから構成される。   As shown in FIG. 3, the switch SW includes a control unit S1 and a storage unit S2.

制御部S1は、CPU(Central Processing Unit)を備え、記憶部S2に格納されている動作プログラムを実行することで、VRRPパケット処理部S1Aと、GARPパケット処理部S1Bと、フロー設定部S1Cと、判定部S1Dと、フロー処理部S1Eとしての機能を実現する。   The control unit S1 includes a CPU (Central Processing Unit), and by executing an operation program stored in the storage unit S2, the VRRP packet processing unit S1A, the GARP packet processing unit S1B, the flow setting unit S1C, Functions as the determination unit S1D and the flow processing unit S1E are realized.

VRRPパケット処理部S1Aは、自スイッチに接続されているルータからVRRPパケットを受信すると、受信したVRRPパケットをコントローラCへ転送する。VRRPパケット処理部1Aは、VRRPパケットを転送する際に、自身のスイッチ番号SWNと、受信したVRRPパケットの送信元のルータが接続されている物理ポートの物理ポート番号PNと、をそれぞれ特定するための情報を付加する。ここで、スイッチ番号SWNは、各スイッチSWを一意に識別可能な番号である。   When receiving the VRRP packet from the router connected to the own switch, the VRRP packet processing unit S1A transfers the received VRRP packet to the controller C. When the VRRP packet processing unit 1A transfers the VRRP packet, the VRRP packet processing unit 1A specifies its own switch number SWN and the physical port number PN of the physical port to which the router of the received VRRP packet is connected. Is added. Here, the switch number SWN is a number that can uniquely identify each switch SW.

例えば、スイッチSW1のスイッチ番号SWNが”1”であり、ルータR1が接続されているスイッチSW1の物理ポートの物理ポート番号PNが”10”の場合には、スイッチSW1がルータR1からVRRPパケットを受信すると、スイッチSW1のVRRPパケット処理部S1Aは、スイッチ番号”1”と物理ポート番号”10”を特定するための情報を受信したVRRPパケットに付加して、コントローラCへ転送する。   For example, when the switch number SWN of the switch SW1 is “1” and the physical port number PN of the physical port of the switch SW1 to which the router R1 is connected is “10”, the switch SW1 receives a VRRP packet from the router R1. When received, the VRRP packet processing unit S1A of the switch SW1 adds information for specifying the switch number “1” and the physical port number “10” to the received VRRP packet and transfers the information to the controller C.

また、VRRPパケット処理部S1Aは、コントローラCからVRRPパケットの送信指示を受信すると、その指示に従って、送信指示と共に送信されてきたVRRPパケットを自スイッチSWに接続されている待機系ルータへ送信する。例えば、VRRPパケットのコントローラCによる送信先がスイッチSW2であり、コントローラCの送信指示が、ルータR2への送信指示である場合には、スイッチSW2のVRRPパケット処理部S1Aは、コントローラCの指示に従って、受信したVRRPパケットをルータR2へ送信する。   Further, when receiving the VRRP packet transmission instruction from the controller C, the VRRP packet processing unit S1A transmits the VRRP packet transmitted together with the transmission instruction to the standby router connected to the own switch SW in accordance with the instruction. For example, when the transmission destination of the VRRP packet by the controller C is the switch SW2 and the transmission instruction of the controller C is a transmission instruction to the router R2, the VRRP packet processing unit S1A of the switch SW2 follows the instruction of the controller C. The received VRRP packet is transmitted to the router R2.

GARPパケット処理部S1Bは、自スイッチに接続されている現用系ルータから送信されたGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送する。例えば、現用系ルータがルータR1であり、スイッチSW1がルータR1からのGARPパケットを受信した場合には、スイッチSW1のGARPパケット処理部S1Bは、受信したGARPパケットをコントローラCへ転送する。   When the GARP packet processing unit S1B receives the GARP packet transmitted from the active router connected to the own switch, the GARP packet processing unit S1B transfers the received GARP packet to the controller C. For example, when the active router is the router R1 and the switch SW1 receives the GARP packet from the router R1, the GARP packet processing unit S1B of the switch SW1 transfers the received GARP packet to the controller C.

また、GARPパケット処理部S1Bは、コントローラCから転送されたGARPパケットを受信すると、コントローラCの送信指示に従って、受信したGARPパケットを送信する。例えば、GARPパケットのコントローラCによる転送先がスイッチSWnであり、コントローラCの送信指示が、レイヤ3ノードN1への送信である場合には、スイッチSWnのGARP処理部S1Bは、受信したGARPパケットをレイヤ3ノードN1へ送信する。   Further, when receiving the GARP packet transferred from the controller C, the GARP packet processing unit S1B transmits the received GARP packet according to the transmission instruction of the controller C. For example, when the transfer destination of the GARP packet by the controller C is the switch SWn, and the transmission instruction of the controller C is transmission to the layer 3 node N1, the GARP processing unit S1B of the switch SWn transmits the received GARP packet. Transmit to layer 3 node N1.

フロー設定部S1Cは、コントローラCから取得したフローをテーブル記憶部S2Aが格納するフローテーブルT1に設定する。   The flow setting unit S1C sets the flow acquired from the controller C in the flow table T1 stored in the table storage unit S2A.

判定部S1Dは、自スイッチSWに接続するノードから送信されたパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールが存在するか否かを判定する。   When the determination unit S1D receives a packet transmitted from a node connected to its own switch SW, the determination unit S1D searches the “rule” column of the flow table T1 to determine whether there is a rule that matches the header information of the received packet. Determine.

フロー処理部S1Eは、判定部S1Dにより、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在すると判定された場合には、そのルールに対応するアクション情報により特定されるアクションを実行する。一方、フロー処理部S1Eは、判定部S1Dにより、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定された場合には、コントローラCへフロー設定要求を送信する。フロー設定要求には、パケットのヘッダ情報と、自スイッチのスイッチ番号SWNとパケットの送信元のノードが接続されている物理ポートの物理ポート番号PNとを特定するための情報が含まれる。   When the determination unit S1D determines that the rule that matches the header information of the received packet exists in the flow table T1, the flow processing unit S1E executes the action specified by the action information corresponding to the rule. . On the other hand, the flow processing unit S1E transmits a flow setting request to the controller C when the determination unit S1D determines that there is no rule in the flow table T1 that matches the header information of the received packet. The flow setting request includes packet header information, and information for specifying the switch number SWN of the own switch and the physical port number PN of the physical port to which the packet transmission source node is connected.

例えば、レイヤ3ノードN1からVRRPグループを形成するルータR1とルータR2が共有する仮想IPアドレス宛のパケットのヘッダ情報と一致するルールが、スイッチSWnが保持するフローテーブルT1に存在しない場合には、スイッチSWnのフロー処理部S1Eは、パケットのヘッダ情報と、自スイッチのスイッチ番号nとレイヤ3ノードN1が接続されている物理ポートの物理ポート番号30とを特定するための情報とを含むフロー設定要求をコントローラCへ送信する。フロー設定要求を受信したコントローラCは、フロー設定要求に基づいて、スイッチSWnから現用系ルータに至る経路を算出し、算出された経路上に設置されている各スイッチSWにおけるフローを生成し、経路上に設置されている各スイッチSWに対して生成したフローをそれぞれ設定する。そして、算出された経路上に設置されている各スイッチSWは設定されたフローに従って、受信したパケットを処理することで、レイヤ3ノードN1からVRRPグループを形成するルータR1とルータR2が共有する仮想IPアドレス宛のパケットは、現用系ルータへ届けられる。   For example, when the rule that matches the header information of the packet addressed to the virtual IP address shared by the router R1 and the router R2 that form the VRRP group from the layer 3 node N1 does not exist in the flow table T1 held by the switch SWn, The flow processing unit S1E of the switch SWn includes a flow setting including packet header information, and information for specifying the switch number n of the own switch and the physical port number 30 of the physical port to which the layer 3 node N1 is connected. Send the request to controller C. The controller C that has received the flow setting request calculates a route from the switch SWn to the active router based on the flow setting request, generates a flow in each switch SW installed on the calculated route, The generated flow is set for each switch SW installed above. Then, each switch SW installed on the calculated route processes the received packet according to the set flow, thereby sharing the virtual shared by the router R1 and the router R2 that form the VRRP group from the layer 3 node N1. A packet addressed to the IP address is delivered to the active router.

図4は、各スイッチSWが保持するフローテーブルT1の例を示す図である。フローテーブルT1は、図4に示すように、ルールとアクション情報とが対応付けられている。本実施形態においては、ルールには、送信元MACアドレスと、宛先IPアドレスと、宛先MACアドレスと、を含む組み合わせが規定される。ルールと対応付けられているアクション情報には、例えば、受信したパケットの送信先が規定される。各スイッチSWは、このようなフローテーブルT1を保持することで、受信したパケットのヘッダ情報と一致するルールが存在する場合には、そのルールに対応するアクション情報により特定されるアクションを実行することが可能となる。   FIG. 4 is a diagram illustrating an example of the flow table T1 held by each switch SW. In the flow table T1, as shown in FIG. 4, rules and action information are associated with each other. In the present embodiment, the rule defines a combination including a transmission source MAC address, a destination IP address, and a destination MAC address. For example, the destination of the received packet is defined in the action information associated with the rule. Each switch SW holds such a flow table T1, and when there is a rule that matches the header information of the received packet, the switch SW executes the action specified by the action information corresponding to the rule. Is possible.

例えば、レイヤ3ノードN1からVRRPグループを形成するルータR1とルータR2が共有する仮想IPアドレス宛のパケットのヘッダ情報と一致するルールが、スイッチSWnが保持するフローテーブルT1に存在し、そのルールに対応するアクション情報により特定されるアクションがスイッチSW5へ受信したパケットの送信である場合には、スイッチSWnのフロー処理部S1Eは、受信したパケットをスイッチSW5へ送信する。   For example, a rule that matches the header information of the packet addressed to the virtual IP address shared by the router R1 and the router R2 that form the VRRP group from the layer 3 node N1 exists in the flow table T1 held by the switch SWn. When the action specified by the corresponding action information is transmission of the received packet to the switch SW5, the flow processing unit S1E of the switch SWn transmits the received packet to the switch SW5.

記憶部S2は、ROM(Read Only Memory)、RAM(Random Access Memory)などから構成され、テーブル記憶部S2Aとして機能すると共に、制御部S1が備えるCPU(Central Processing Unit)のワーキングエリア、CPUが実行する動作プログラムを格納するプログラムエリア、各種データを格納するデータエリア、などとして機能する。   The storage unit S2 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The storage unit S2 functions as a table storage unit S2A, and a CPU (Central Processing Unit) working area included in the control unit S1 is executed by the CPU. It functions as a program area for storing operation programs to be executed, a data area for storing various data, and the like.

テーブル記憶部S2Aは、フローテーブルT1を格納する。このフローテーブルT1は、上述したように、フロー設定部S1Cにより設定される。より具体的には、コントローラCからフローを受信すると、フロー設定部S1Cは、受信したフローをフローテーブルT1に設定する。この際、フローに含まれるルールと一致するルールを含むフローがフローテーブルT1に存在する場合には、そのフローを受信したフローで上書きし、一致するルールを含むフローがフローテーブルT1に存在しない場合には、そのフローをフローテーブルT1に追加する。   The table storage unit S2A stores a flow table T1. As described above, the flow table T1 is set by the flow setting unit S1C. More specifically, when a flow is received from the controller C, the flow setting unit S1C sets the received flow in the flow table T1. At this time, if a flow including a rule that matches the rule included in the flow exists in the flow table T1, the flow is overwritten with the received flow, and a flow including the matching rule does not exist in the flow table T1 Is added to the flow table T1.

コントローラCは、図5に示すように、制御部C1と記憶部C2とから構成され、オープンフロー技術により、オープンフローネットワーク1内の各スイッチSWを制御し、一元的に経路制御を行う。オープンフロー技術とは、コントローラCが、ルーティングポリシーに従って、マルチレイヤ及びフロー単位の経路情報(フロー)を各スイッチSWに設定することで、コントローラCが、一元的に経路制御やノード制御を行う技術のことである。   As shown in FIG. 5, the controller C includes a control unit C1 and a storage unit C2. The controller C controls each switch SW in the open flow network 1 by open flow technology, and performs path control in an integrated manner. The open flow technology is a technology in which the controller C performs route control and node control in an integrated manner by setting multi-layer and flow unit route information (flow) in each switch SW according to the routing policy. That is.

制御部C1は、CPUを備え、記憶部C2に格納されている動作プログラムを実行することで、送信元判定部C1Aと、タイマC1Bと、判定部C1Cと、VRRPパケット処理部C1Dと、GARPパケット処理部C1Eと、経路算出部C1Fと、フロー設定部C1Gと、としての機能を実現すると共に、各機能部の制御処理、後述するVRRPパケット転送処理などの処理を実行する。   The control unit C1 includes a CPU and executes an operation program stored in the storage unit C2, thereby executing a transmission source determination unit C1A, a timer C1B, a determination unit C1C, a VRRP packet processing unit C1D, and a GARP packet. The functions of the processing unit C1E, the route calculation unit C1F, and the flow setting unit C1G are realized, and the control processing of each functional unit, VRRP packet transfer processing described later, and the like are executed.

また、制御部C1は、送信元判定部C1Aにより受信したVRRPパケットが現用系ルータから送信されたVRRPパケットであると判定された場合には、そのVRRPパケットに付加されている付加情報(スイッチ番号SWNと物理ポート番号PN)に基づいて、そのVRRPパケットの送信元のルータに対応する設定時間Siを後述するテーブル記憶部C2Aに格納されている設定時間テーブルT2から取得し、取得した設定時間SiをタイマC1Bに設定する。そして、タイマC1Bがタイムアウトするまでに現用系ルータから次のVRRPパケットを受信できなかった場合には、テーブル記憶部C2Aに格納されている接続情報テーブルT3の「現用系」欄のフラグを切り替える。例えば、ルータR1が現用系、ルータR2が待機系であり、設定時間Si内にルータR1からのVRRPパケットを受信できなかった場合には、接続情報テーブルT3の「現用系」欄のフラグを、ルータR1(図7においては、マスタルータ)からルータR2(図7においては、スレーブルータ)へ切り替える。   In addition, when it is determined that the VRRP packet received by the transmission source determination unit C1A is a VRRP packet transmitted from the active router, the control unit C1 adds additional information (switch number) added to the VRRP packet. Based on the SWN and the physical port number PN), the setting time Si corresponding to the router that is the transmission source of the VRRP packet is acquired from the setting time table T2 stored in the table storage unit C2A described later, and the acquired setting time Si is acquired. Is set in the timer C1B. If the next VRRP packet cannot be received from the working router before the timer C1B times out, the flag in the “working” column of the connection information table T3 stored in the table storage unit C2A is switched. For example, when the router R1 is the active system and the router R2 is the standby system and the VRRP packet from the router R1 cannot be received within the set time Si, the flag in the “active system” column of the connection information table T3 is set as follows: The router R1 (master router in FIG. 7) is switched to the router R2 (slave router in FIG. 7).

図6は、設定時間テーブルT2の例を示す図である。設定時間テーブルT2は、図6に示すように、スイッチ番号SWNと設定時間Siとが対応付けられている。各設定時間Siとして、上述した式1により算出した時間が設定される。これにより、制御部C1は、受信したVRRPパケットに付加されている付加情報に含まれるスイッチ番号SWNと一致するスイッチ番号SWNに対応する設定時間Siを設定時間テーブルT2から取得することが可能となる。そして、取得した設定時間SiをタイマC1Bに設定することで、コントローラCは、設定時間Si内に現用系ルータから次のVRRPパケットを受信できなかった場合に、現用系ルータに異常が発生したと判定することが可能となる。さらに、設定時間Siとして、上述した式1により算出した時間を設定していることから、同じVRRPグループを形成する待機系ルータが現用系ルータに異常が発生したと判定するタイミングと同じタイミングで、コントローラCは、現用系ルータに異常が発生したと判定することが可能となり、新たに現用系ルータとなったルータから送信されるVRRPパケットを適切に待機系ルータへ転送することが可能となる。   FIG. 6 is a diagram illustrating an example of the set time table T2. In the set time table T2, as shown in FIG. 6, the switch number SWN and the set time Si are associated with each other. As each set time Si, the time calculated by the above-described equation 1 is set. Thereby, the control unit C1 can acquire the set time Si corresponding to the switch number SWN that matches the switch number SWN included in the additional information added to the received VRRP packet from the set time table T2. . Then, by setting the acquired set time Si in the timer C1B, the controller C assumes that an abnormality has occurred in the active router when the next VRRP packet cannot be received from the active router within the set time Si. It becomes possible to judge. Furthermore, since the time calculated by the above-described equation 1 is set as the setting time Si, the standby router that forms the same VRRP group has the same timing as that of determining that an abnormality has occurred in the active router. The controller C can determine that an abnormality has occurred in the working router, and can appropriately transfer the VRRP packet transmitted from the router that newly becomes the working router to the standby router.

図5に戻り、送信元判定部C1Aは、コントローラCがVRRPパケットを受信すると、受信したVRRPパケットが現用系ルータから送信されたVRRPパケットであるか否かを判定する。具体的には、送信元判定部C1Aは、後述するテーブル記憶部C2Aに格納されている接続情報テーブルT3の「スイッチ番号」欄と「ポート番号」欄を検索し、受信したVRRPパケットに付加されている、そのVRRPパケットをコントローラCへ転送したスイッチSWのスイッチ番号SWNと、そのVRRPパケットの送信元ルータが接続されている物理ポートの物理ポート番号PNと、が一致するルータを特定する。そして、送信元判定部C1Aは、特定したルータの「現用系」欄にフラグが存在するか否かで、受信したVRRPパケットが現用系ルータから送信されたVRRPパケットであるか否かを判定する。   Returning to FIG. 5, when the controller C receives the VRRP packet, the transmission source determination unit C1A determines whether the received VRRP packet is a VRRP packet transmitted from the active router. Specifically, the transmission source determination unit C1A searches a “switch number” column and a “port number” column in the connection information table T3 stored in the table storage unit C2A described later, and adds the column to the received VRRP packet. The router in which the switch number SWN of the switch SW that has transferred the VRRP packet to the controller C matches the physical port number PN of the physical port to which the source router of the VRRP packet is connected is specified. Then, the transmission source determination unit C1A determines whether or not the received VRRP packet is a VRRP packet transmitted from the active router depending on whether or not a flag exists in the “active” column of the identified router. .

図7は、テーブル記憶部C2Aに格納されている接続情報テーブルT3の例を示す図である。接続情報テーブルT3は、図7に示すように、VRRPグループを形成するマスタルータとスレーブルータと、そのVRRPグループを形成するルータと通信を行うノードとが対応付けられており、さらに、それぞれが接続するスイッチSWのスイッチ番号SWNとポート番号PNが対応付けられている。また、VRRPグループを形成する各ルータには、「現用系」欄が設けられており、「現用系」欄にフラグを立てる(1を格納する)ことで、どのルータが現用系ルータであるか否かを判定することが可能となっている。初期状態では、マスタルータの「現用系」欄に1が格納されており、設定時間内Si内に現用系ルータからの次のVRRPパケットを受信できなかった場合には、制御部C1は、スレーブルータの「現用系」欄に1を格納し、マスタルータの「現用系」欄の1を削除する。   FIG. 7 is a diagram illustrating an example of the connection information table T3 stored in the table storage unit C2A. As shown in FIG. 7, in the connection information table T3, a master router and a slave router that form a VRRP group are associated with nodes that communicate with the router that forms the VRRP group. The switch number SWN of the switch SW to be associated is associated with the port number PN. Each router forming the VRRP group is provided with a “working system” field, and a flag is set in the “working system” field (1 is stored), which router is the working system router. It is possible to determine whether or not. In the initial state, 1 is stored in the “working system” column of the master router, and when the next VRRP packet from the working system router cannot be received within the set time Si, the control unit C1 1 is stored in the “active system” column of the router, and 1 in the “active system” column of the master router is deleted.

なお、マスタルータとして、VRRPグループを形成するルータのうちで、最も優先度の設定値の値が高いルータが、選択される。本実施形態においては、ルータR1がマスタルータであり、ルータR2がスレーブルータであると仮定する。   As the master router, the router having the highest priority setting value is selected from the routers forming the VRRP group. In the present embodiment, it is assumed that the router R1 is a master router and the router R2 is a slave router.

図5に戻り、タイマC1Bは、現用系ルータに異常が発生したか否かを判定するためのタイマであり、上述したように、送信元判定部C1Aにより受信したVRRPパケットが現用系ルータから送信されたVRRPパケットであると判定された場合に、制御部C1により設定時間テーブルT2から取得された設定時間Siが設定され、スタートされる。   Returning to FIG. 5, the timer C1B is a timer for determining whether or not an abnormality has occurred in the active router, and as described above, the VRRP packet received by the transmission source determination unit C1A is transmitted from the active router. If it is determined that the packet is a VRRP packet, the set time Si acquired from the set time table T2 by the control unit C1 is set and started.

判定部C1Cは、VRRPパケットを受信したか否かを判定すると共に、タイマC1Bがタイムアウトしたか否かを判定する。現用系ルータからの次のVRRPパケットが受信される前にタイマC1Bがタイムアウトしたと判定部C1Cにより判定された場合には、制御部C1は、上述したように、現用系ルータに異常が発生したと判定し、接続情報テーブルT3の「現用系」欄のフラグを切り替える。   The determination unit C1C determines whether or not a VRRP packet has been received, and determines whether or not the timer C1B has timed out. When the determination unit C1C determines that the timer C1B has timed out before the next VRRP packet is received from the active router, the control unit C1 has an abnormality in the active router as described above. And the flag in the “active system” column of the connection information table T3 is switched.

VRRPパケット処理部C1Dは、送信元判定部C1Aにより現用系ルータから送信されたVRRPパケットであると判定されたVRRPパケットを、同じVRRPグループを形成する待機系ルータへ転送する。具体的には、VRRPパケット処理部C1Dは、テーブル記憶部C2Aに格納されている接続情報テーブルT3を参照して、同じVRRPグループの待機系ルータが接続されているスイッチSWのスイッチ番号SWNを取得する。そして、VRRPパケット処理部C1Dは、取得したスイッチ番号SWNのスイッチSWに対して、受信したVRRPパケットと共にそのスイッチSWに接続されている待機系ルータへVRRPパケットを送信するように指示するコマンドを送信する。   The VRRP packet processing unit C1D transfers the VRRP packet determined to be the VRRP packet transmitted from the active router by the transmission source determination unit C1A to the standby router that forms the same VRRP group. Specifically, the VRRP packet processing unit C1D refers to the connection information table T3 stored in the table storage unit C2A and acquires the switch number SWN of the switch SW to which the standby router of the same VRRP group is connected. To do. Then, the VRRP packet processing unit C1D transmits a command for instructing the switch SW having the acquired switch number SWN to transmit the VRRP packet to the standby router connected to the switch SW together with the received VRRP packet. To do.

また、VRRPパケット処理部C1Dは、送信元判定部C1Aにより現用系ルータから送信されたVRRPパケットではないと判定されたVRRPパケットを破棄する。   Further, the VRRP packet processing unit C1D discards the VRRP packet that is determined not to be the VRRP packet transmitted from the active router by the transmission source determination unit C1A.

GARPパケット処理部C1Eは、受信したGARPパケットに含まれる送信元MACアドレスを取得する。そして、GARPパケット処理部C1Eは、接続情報テーブルT3から、GARPパケットの送信元の現用系ルータが接続されているスイッチSWのスイッチ番号SWNを取得し、取得した送信元MACアドレスとスイッチ番号SWNとを対応付けて、アドレステーブルT4に格納する。この際、例えば、同じVRRPグループを形成する他のルータのMACアドレスが格納されている場合には、上書きを行う。   The GARP packet processing unit C1E acquires a transmission source MAC address included in the received GARP packet. Then, the GARP packet processing unit C1E acquires the switch number SWN of the switch SW to which the active router as the transmission source of the GARP packet is connected from the connection information table T3, and acquires the acquired transmission source MAC address and switch number SWN. Are stored in the address table T4. At this time, for example, when the MAC addresses of other routers forming the same VRRP group are stored, overwriting is performed.

また、GARPパケット処理部C1Eは、受信したGARPパケットを、そのGARPパケットの送信元ルータと通信を行う各ノードへ転送する。具体的には、接続情報テーブルT3を参照して、転送対象のノードが接続されているスイッチSWを特定し、特定したスイッチSWへGARPパケットと共にノードへGARPパケットを送信するように指示するコマンドを送信する。   Further, the GARP packet processing unit C1E transfers the received GARP packet to each node that communicates with the transmission source router of the GARP packet. Specifically, referring to the connection information table T3, the switch SW to which the transfer target node is connected is identified, and a command for instructing the identified switch SW to transmit the GARP packet to the node together with the GARP packet. Send.

図8は、テーブル記憶部C2Aが格納するアドレステーブルT4の例を示す図である。アドレステーブルT4は、図8に示すように、VRRPグループID(例えば、VRID)と、現用系ルータが接続されているスイッチSWのスイッチ番号SWNと、現用系ルータの物理MACアドレスと、が対応付けられている。例えば、ルータR1が現用系ルータで、ルータR1の物理MACアドレスがA1である場合には、GARPパケット処理部C1Eは、現用系ルータであるルータR1からのGARPパケットに含まれるルータR1の物理MACアドレスA1を取得し、接続情報テーブルT3からルータR1が接続されているスイッチSW1のスイッチ番号1を取得する。そして、GARPパケット処理部C1Eは、取得したルータR1の物理MACアドレスA1とルータR1が接続されているスイッチSW1のスイッチ番号1とを対応付けて、アドレステーブルT4のルータR1が属するVRRPグループIDに対応するフィールドに格納する。   FIG. 8 is a diagram illustrating an example of the address table T4 stored in the table storage unit C2A. In the address table T4, as shown in FIG. 8, the VRRP group ID (for example, VRID), the switch number SWN of the switch SW to which the active router is connected, and the physical MAC address of the active router are associated with each other. It has been. For example, when the router R1 is the active router and the physical MAC address of the router R1 is A1, the GARP packet processing unit C1E causes the physical MAC of the router R1 included in the GARP packet from the router R1 that is the active router. The address A1 is acquired, and the switch number 1 of the switch SW1 to which the router R1 is connected is acquired from the connection information table T3. Then, the GARP packet processing unit C1E associates the acquired physical MAC address A1 of the router R1 with the switch number 1 of the switch SW1 to which the router R1 is connected, and sets the VRRP group ID to which the router R1 of the address table T4 belongs. Store in the corresponding field.

図5に戻り、経路算出部C1Fは、例えば、スイッチSWnからフロー設定要求を受信すると、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスと一致するMACアドレスに対応するスイッチ番号SWNを特定する。そして、経路算出部C1Fは、テーブル記憶部C2Aに格納されているトポロジ情報テーブルT5を参照して、フロー設定要求を送信したスイッチSWnから、特定したスイッチ番号SWNのスイッチSWに接続されているパケットの送信先である現用系ルータまでの経路を算出する。   Returning to FIG. 5, for example, when receiving the flow setting request from the switch SWn, the route calculation unit C1F searches the “MAC address” column of the address table T4 and transmits the header information of the packet included in the flow setting request. The switch number SWN corresponding to the MAC address that matches the destination MAC address is specified. Then, the path calculation unit C1F refers to the topology information table T5 stored in the table storage unit C2A, and the packet connected to the switch SW having the identified switch number SWN from the switch SWn that transmitted the flow setting request. The route to the active router that is the transmission destination of is calculated.

図9は、テーブル記憶部C2Aが格納するトポロジ情報テーブルT5の例を示す図である。トポロジ情報テーブルT5には、図9に示すように、各スイッチSWとそのスイッチSWのポート接続先情報とが対応付けられて格納されている。ポート接続先情報には、ポートごとの、接続先の種別(例えば、スイッチ、ノードなど)を特定するための情報と、接続先を特定するための識別情報(例えば、接続先がスイッチSWであればそのスイッチSWのスイッチ番号SWN)などが含まれる。   FIG. 9 is a diagram illustrating an example of the topology information table T5 stored in the table storage unit C2A. In the topology information table T5, as shown in FIG. 9, each switch SW and port connection destination information of the switch SW are stored in association with each other. The port connection destination information includes information for specifying the type of connection destination (for example, switch, node, etc.) for each port, and identification information for specifying the connection destination (for example, the connection destination is a switch SW). For example, the switch number SWN) of the switch SW is included.

図5に戻り、フロー設定部C1Gは、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上の各スイッチSWに対するフローをそれぞれ生成し、生成したフローを経路上の各スイッチSWへ送信する。そして、コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   Returning to FIG. 5, the flow setting unit C1G generates a flow for each switch SW on the route based on the route calculated by the route calculation unit C1F and the header information of the packet included in the flow setting request, The generated flow is transmitted to each switch SW on the route. Then, the flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

例えば、フロー設定要求に含まれるパケットのヘッダ情報の送信先MACアドレスが、ルータR1のMACアドレスであり、フロー設定要求の送信元のスイッチSWがスイッチSWnの場合には、経路算出部C1Fにより、スイッチSWnからスイッチSW1に接続されているルータR1への経路が算出される。例えば、経路算出部C1Fにより算出された経路が、スイッチSWn>スイッチSW5>スイッチSW3>スイッチSW1>ルータR1である場合には、フロー設定部C1Gは、スイッチSWnと、スイッチSW5と、スイッチSW3と、スイッチSW1と、に対するフローをそれぞれ生成する。例えば、スイッチSW5に対するフローに含まれるアクション情報には、スイッチSW3へのパケット転送指示が格納され、ルールには、ルータR1のMACアドレスと仮想IPアドレスと、パケットの送信元ノードのMACアドレスと、を含む組み合わせが格納される。また、例えば、スイッチSW1に対するフローに含まれるアクション情報には、ルータR1へのパケット転送指示が格納され、ルールには、スイッチSW5に対するフローのルールと同一のルールが格納される。これにより、同じノードからルータR1とルータR2が共有する仮想IPアドレス宛にパケットが送信された場合には、スイッチSWnがコントローラCへフロー設定要求を再度送信することなく、経路上のスイッチSWnと、スイッチSW5と、スイッチSW3と、スイッチSW1は、設定されたフローに従って、パケットを現用系であるルータR1へ届けることが可能となる。   For example, when the transmission destination MAC address of the header information of the packet included in the flow setting request is the MAC address of the router R1, and the switch SW that is the transmission source of the flow setting request is the switch SWn, the path calculation unit C1F A route from the switch SWn to the router R1 connected to the switch SW1 is calculated. For example, when the route calculated by the route calculation unit C1F is switch SWn> switch SW5> switch SW3> switch SW1> router R1, the flow setting unit C1G includes the switch SWn, the switch SW5, and the switch SW3. , And generate a flow for the switch SW1. For example, the action information included in the flow for the switch SW5 stores a packet transfer instruction to the switch SW3, and the rules include the MAC address and virtual IP address of the router R1, the MAC address of the packet source node, The combination including is stored. For example, the action information included in the flow for the switch SW1 stores a packet transfer instruction to the router R1, and the rule stores the same rule as the flow rule for the switch SW5. Thus, when a packet is transmitted from the same node to a virtual IP address shared by the router R1 and the router R2, the switch SWn does not transmit the flow setting request to the controller C again, and the switch SWn on the route The switch SW5, the switch SW3, and the switch SW1 can deliver the packet to the active router R1 according to the set flow.

記憶部C2は、ROM、RAMなどから構成され、テーブル記憶部C2Aとして機能すると共に、制御部C1が備えるCPU(Central Processing Unit)のワーキングエリア、CPUが実行する動作プログラムを格納するプログラムエリア、各種データを格納するデータエリア、などとして機能する。   The storage unit C2 includes a ROM, a RAM, and the like. The storage unit C2 functions as a table storage unit C2A, and has a CPU (Central Processing Unit) working area included in the control unit C1, a program area for storing operation programs executed by the CPU, and various types. It functions as a data area for storing data.

テーブル記憶部C2Aは、上述したように、設定時間テーブルT2と、接続情報テーブルT3と、アドレステーブルT4と、トポロジ情報テーブルT5を格納する。   As described above, the table storage unit C2A stores the set time table T2, the connection information table T3, the address table T4, and the topology information table T5.

次に、図10を参照して、コントローラCが実行する本実施形態におけるVRRPパケット転送処理のフローについて説明する。このVRRPパケット転送処理は、オープンフローネットワークシステム1に接続されているVRRPグループごとに実行される。各VRRPグループにおけるVRRPパケット転送処理は同じ処理であることから、ルータR1とルータR2により形成されるVRRPグループを例にして、VRRPパケット転送処理について以下に説明する。   Next, with reference to FIG. 10, the flow of the VRRP packet transfer process in the present embodiment executed by the controller C will be described. This VRRP packet transfer process is executed for each VRRP group connected to the OpenFlow network system 1. Since the VRRP packet transfer process in each VRRP group is the same process, the VRRP packet transfer process will be described below using the VRRP group formed by the router R1 and the router R2 as an example.

判定部C1Cは、VRRPパケットをコントローラCが受信したか否かを判定する(ステップS101)。VRRPパケットを受信していないと判定された場合には(ステップS101;NO)、VRRPパケットが受信されるまで、ステップS101の処理を繰り返す。   The determination unit C1C determines whether or not the controller C has received the VRRP packet (step S101). If it is determined that the VRRP packet has not been received (step S101; NO), the process of step S101 is repeated until the VRRP packet is received.

一方、VRRPパケットを受信したと判定された場合には(ステップS101;YES)、送信元判定部C1Aは、受信したVRRPパケットが現用系ルータ(本実施形態においては、ルータR1)からのVRRPパケットであるか否かを判定する(ステップS102)。受信したVRRPパケットが待機系ルータ(本実施形態においては、ルータR2)からのVRRPパケットであると判定された場合には(ステップS102;NO)、VRRPパケット処理部C1Dは、受信したVRRPパケットを破棄し(ステップS103)、処理はステップS101の処理に戻り、前述の処理を繰り返す。   On the other hand, when it is determined that the VRRP packet has been received (step S101; YES), the transmission source determination unit C1A determines that the received VRRP packet is a VRRP packet from the active router (router R1 in this embodiment). It is determined whether or not (step S102). When it is determined that the received VRRP packet is a VRRP packet from the standby router (router R2 in this embodiment) (step S102; NO), the VRRP packet processing unit C1D receives the received VRRP packet. Discard (step S103), the process returns to the process of step S101, and the above-described process is repeated.

一方、受信したVRRPパケットが現用系ルータ(本実施形態においては、ルータR1)からのVRRPパケットであると判定された場合には(ステップS102;YES)、制御部C1は、受信したVRRPパケットに付加されている付加情報(スイッチ番号SWNと物理ポート番号PN)に基づいて、そのVRRPパケットを送信した現用系ルータに対応する設定時間Siを設定時間テーブルT2から取得し、取得した設定時間SiをタイマC1Bに設定し、タイマC1Bをスタートさせる(ステップS104)。   On the other hand, when it is determined that the received VRRP packet is a VRRP packet from the active router (in this embodiment, the router R1) (step S102; YES), the control unit C1 adds the received VRRP packet to the received VRRP packet. Based on the added additional information (switch number SWN and physical port number PN), the set time Si corresponding to the active router that transmitted the VRRP packet is acquired from the set time table T2, and the acquired set time Si is obtained. The timer C1B is set, and the timer C1B is started (step S104).

そして、VRRPパケット処理部C1Dは、受信したVRRPパケットを同じVRRPグループを形成する待機系ルータ(本実施形態においては、ルータR2)へ転送する(ステップS105)。   Then, the VRRP packet processing unit C1D transfers the received VRRP packet to the standby router (in this embodiment, the router R2) that forms the same VRRP group (step S105).

そして、判定部C1Cは、再び、VRRPパケットをコントローラCが受信したか否かを判定する(ステップS106)。VRRPパケットを受信していないと判定された場合には(ステップS106;NO)、処理はステップS109の処理へ移行する。   Then, the determination unit C1C determines again whether or not the controller C has received the VRRP packet (step S106). If it is determined that the VRRP packet has not been received (step S106; NO), the process proceeds to the process of step S109.

一方、VRRPパケットを受信したと判定された場合には(ステップS106;YES)、送信元判定部C1Aは、受信したVRRPパケットが現用系ルータ(本実施形態においては、ルータR1)からのVRRPパケットであるか否かを判定する(ステップS107)。受信したVRRPパケットが現用系ルータ(本実施形態においては、ルータR1)からのVRRPパケットであると判定された場合には(ステップS107;YES)、処理はステップS104の処理へ戻り、前述の処理を繰り返す。   On the other hand, when it is determined that the VRRP packet has been received (step S106; YES), the transmission source determination unit C1A determines that the received VRRP packet is a VRRP packet from the active router (router R1 in this embodiment). It is determined whether or not (step S107). If it is determined that the received VRRP packet is a VRRP packet from the active router (router R1 in this embodiment) (step S107; YES), the process returns to the process of step S104, and the above-described process repeat.

一方、受信したVRRPパケットが待機系ルータ(本実施形態においては、ルータR2)からのVRRPパケットであると判定された場合には(ステップS107;NO)、VRRPパケット処理部C1Dは、受信したVRRPパケットを破棄する(ステップS108)。   On the other hand, when it is determined that the received VRRP packet is a VRRP packet from the standby router (router R2 in this embodiment) (step S107; NO), the VRRP packet processing unit C1D receives the received VRRP packet. The packet is discarded (step S108).

そして、判定部C1Cは、タイマC1Bがタイムアウトしたか否かを判定する(ステップS109)。タイマC1Bがタイムアウトしていないと判定された場合には(ステップS109;NO)、処理はステップS106の処理に戻り、前述の処理を繰り返す。   Then, the determination unit C1C determines whether or not the timer C1B has timed out (step S109). If it is determined that the timer C1B has not timed out (step S109; NO), the process returns to the process of step S106, and the above-described process is repeated.

一方、タイマC1Bがタイムアウトしたと判定された場合には(ステップS109;YES)、制御部C1は、テーブル記憶部C2Aに格納されている接続情報テーブルT3の「現用系」欄のフラグを切り替える(ステップS110)。そして、処理は、ステップS101の処理に戻り、前述の処理を繰り返す。   On the other hand, when it is determined that the timer C1B has timed out (step S109; YES), the control unit C1 switches the flag in the “active system” column of the connection information table T3 stored in the table storage unit C2A ( Step S110). And a process returns to the process of step S101 and repeats the above-mentioned process.

次に、図6乃至図8と図11を参照して、図1に示すシステムを例して、平常時における、システム全体の処理の流れについて説明する。図11は、平常時における、図1に示すシステム全体の処理のフローを説明するための図である。なお、図中のスイッチSWkは、経路算出部C1Fにより算出された、スイッチSWnから現用系ルータに至る経路上のスイッチSWから、スイッチSWnとスイッチSW1(又は、スイッチSW2)を除いたスイッチSWを表す。   Next, with reference to FIGS. 6 to 8 and FIG. 11, the processing flow of the entire system in a normal state will be described by taking the system shown in FIG. 1 as an example. FIG. 11 is a diagram for explaining the processing flow of the entire system shown in FIG. Note that the switch SWk in the figure is a switch SW obtained by removing the switch SWn and the switch SW1 (or the switch SW2) from the switch SW on the path from the switch SWn to the active router calculated by the path calculation unit C1F. Represent.

同じVRRPグループを形成するルータR1とルータR2は、現用系ルータを決定するために、VRRPパケットを他のルータ宛てに送信する。ルータR2が送信したVRRPパケットは、ルータR2が接続されているスイッチSW2により受信される。ルータR2からのVRRPパケットを受信すると、スイッチSW2のVRRPパケット処理部S1Aは、受信したVRRPパケットに自身のスイッチ番号2と、ルータR2が接続されている物理ポートの物理ポート番号20と、をそれぞれ特定するための情報を付加してコントローラCへ転送する。   Router R1 and router R2 forming the same VRRP group transmit VRRP packets to other routers in order to determine the working router. The VRRP packet transmitted by the router R2 is received by the switch SW2 to which the router R2 is connected. When receiving the VRRP packet from the router R2, the VRRP packet processing unit S1A of the switch SW2 sets its own switch number 2 to the received VRRP packet and the physical port number 20 of the physical port to which the router R2 is connected. Information for identification is added and transferred to the controller C.

本実施形態においては、コントローラCのテーブル記憶部C2Aが格納する接続情報テーブルT3の初期状態では、上述したように、マスタルータであるルータR1に対応する「現用系」欄にフラグが立てられている。すなわち、初期状態では、コントローラCは、マスタルータであるルータR1を現用系ルータとして認識している。そのため、ルータR2からのVRRPパケットをコントローラCが受信しても、コントローラCの送信元判定部C1Aは、受信したVRRPパケットは現用系ルータからのVRRPパケットではないと判定し、VRRPパケット処理部C1Dは、受信したVRRPパケットを破棄する。いずれのルータからのVRRPパケットであるかの判定は、上述したように、VRRPパケットに付加されている付加情報(スイッチ番号SWNと物理ポート番号PN)に基づいて、行われる。   In the present embodiment, in the initial state of the connection information table T3 stored in the table storage unit C2A of the controller C, as described above, a flag is set in the “active system” column corresponding to the router R1 that is the master router. Yes. That is, in the initial state, the controller C recognizes the router R1 that is the master router as an active router. Therefore, even if the controller C receives the VRRP packet from the router R2, the transmission source determination unit C1A of the controller C determines that the received VRRP packet is not a VRRP packet from the active router, and the VRRP packet processing unit C1D Discards the received VRRP packet. The determination as to which router is the VRRP packet is made based on the additional information (switch number SWN and physical port number PN) added to the VRRP packet, as described above.

一方、ルータR1が送信したVRRPパケットは、ルータR1が接続されているスイッチSW1により受信される。ルータR1からのVRRPパケットを受信すると、スイッチSW1のVRRPパケット処理部S1Aは、受信したVRRPパケットに自身のスイッチ番号1と、ルータR1が接続されている物理ポートの物理ポート番号10と、をそれぞれ特定するための情報を付加してコントローラCへ転送する。   On the other hand, the VRRP packet transmitted by the router R1 is received by the switch SW1 to which the router R1 is connected. When receiving the VRRP packet from the router R1, the VRRP packet processing unit S1A of the switch SW1 sets its own switch number 1 to the received VRRP packet and the physical port number 10 of the physical port to which the router R1 is connected. Information for identification is added and transferred to the controller C.

コントローラCは、上述したように、初期状態ではルータR1を現用系ルータとして認識していることから、ルータR1からのVRRPパケットを受信すると、コントローラCの送信元判定部C1Aは、受信したVRRPパケットは現用系ルータからのVRRPパケットであると判定する。そして、コントローラCの制御部C1は、VRRPパケット設定時間テーブルT2から設定時間Siを取得してタイマC1Bに設定し、タイマC1Bをスタートさせる。そして、コントローラCのVRRPパケット処理部C1Dは、受信したVRRPパケットをルータR2に届けるために、スイッチSW2へ転送する。   As described above, since the controller C recognizes the router R1 as the active router in the initial state as described above, when the VRRP packet is received from the router R1, the transmission source determination unit C1A of the controller C receives the received VRRP packet. Is determined to be a VRRP packet from the active router. Then, the controller C1 of the controller C acquires the set time Si from the VRRP packet set time table T2, sets it in the timer C1B, and starts the timer C1B. Then, the VRRP packet processing unit C1D of the controller C transfers the received VRRP packet to the switch SW2 in order to reach the router R2.

スイッチSW2のVRRPパケット処理部S1Aは、VRRPパケットを受信すると、コントローラCからの指示に従って、受信したVRRPパケットをルータR2へ転送する。ルータR1からのVRRPパケットを受信したルータR2は、VRRPパケットに含まれる優先度に基づいて、ルータR1が現用系ルータであると判定し、その後、VRRPパケットの送信を中断する。   When receiving the VRRP packet, the VRRP packet processing unit S1A of the switch SW2 transfers the received VRRP packet to the router R2 in accordance with an instruction from the controller C. The router R2 that has received the VRRP packet from the router R1 determines that the router R1 is the active router based on the priority included in the VRRP packet, and then interrupts the transmission of the VRRP packet.

ルータR1は、ルータR2からのVRRPパケットが届かないことから、自機が現用系であると判定し、定期的にVRRPパケットを送信すると共に、ARPテーブルを更新させるためのGARPパケットを送信する。スイッチSW1のGARP処理部S1Bは、スイッチSW1がルータR1からのGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送する。   Since the VRRP packet from the router R2 does not arrive, the router R1 determines that its own device is the active system, and periodically transmits the VRRP packet and transmits a GARP packet for updating the ARP table. When the switch SW1 receives the GARP packet from the router R1, the GARP processing unit S1B of the switch SW1 transfers the received GARP packet to the controller C.

コントローラCのGARP処理部C1Eは、コントローラCがGARPパケットを受信すると、受信したGARPパケットから送信元MACアドレスA1を取得すると共に、接続情報テーブルT3から、GARPパケットの送信元のルータR1が接続されているスイッチSW1のスイッチ番号1を取得する。そして、コントローラCのGARP処理部C1Eは、取得した送信元MACアドレスA1とスイッチ番号1とを対応付けて、アドレステーブルT4に格納すると共に、受信したGARPパケットを、レイヤ3ノードN1へ転送させるために、スイッチSWnへ転送する。   When the controller C receives the GARP packet, the GARP processing unit C1E of the controller C acquires the transmission source MAC address A1 from the received GARP packet, and is connected to the router R1 that is the transmission source of the GARP packet from the connection information table T3. The switch number 1 of the current switch SW1 is acquired. Then, the GARP processing unit C1E of the controller C associates the acquired transmission source MAC address A1 with the switch number 1, stores it in the address table T4, and transfers the received GARP packet to the layer 3 node N1. To the switch SWn.

スイッチSWnのGARPパケット処理部S1Bは、コントローラCから転送されたGARPパケットを受信すると、コントローラCの指示に従って、受信したGARPパケットをレイヤ3ノードN1へ転送する。   When receiving the GARP packet transferred from the controller C, the GARP packet processing unit S1B of the switch SWn transfers the received GARP packet to the layer 3 node N1 in accordance with an instruction from the controller C.

レイヤ3ノードN1は、GARPパケットを受信すると、保持しているARPテーブルの更新又は追加を行う。   When receiving the GARP packet, the layer 3 node N1 updates or adds the held ARP table.

レイヤ3ノードN1は、VRRPグループを形成するルータR1とルータR2が共有する仮想IPアドレス宛にパケットを送信する際に、ARPテーブルを参照して、その仮想IPアドレス宛のパケットを生成し、生成したパケットを送信する。   When the layer 3 node N1 transmits a packet addressed to the virtual IP address shared by the router R1 and the router R2 that form the VRRP group, the layer 3 node N1 generates a packet addressed to the virtual IP address by referring to the ARP table. Send the packet.

スイッチSWnの判定部S1Dは、レイヤ3ノードN1からのパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールが存在するか否かを判定する。受信したパケットが、レイヤ3ノードN1から現用系のルータR1宛のいわゆるファーストパケットであると仮定すると、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないため、判定部S1Dは、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定する。   When the determination unit S1D of the switch SWn receives a packet from the layer 3 node N1, the determination unit S1D searches the “rule” column of the flow table T1 to determine whether there is a rule that matches the header information of the received packet. To do. Assuming that the received packet is a so-called first packet addressed from the layer 3 node N1 to the active router R1, there is no rule in the flow table T1 that matches the header information of the received packet. It is determined that there is no rule in the flow table T1 that matches the header information of the received packet.

そのため、スイッチSWnのフロー処理部S1Eは、コントローラCへフロー設定要求を送信する。   Therefore, the flow processing unit S1E of the switch SWn transmits a flow setting request to the controller C.

コントローラCの経路算出部C1Fは、コントローラCがスイッチSWnからのフロー設定要求を受信すると、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスA1と一致するMACアドレスに対応するスイッチ番号1を特定する。そして、経路算出部C1Fは、トポロジ情報テーブルT5を参照して、スイッチSWnから、特定したスイッチ番号1のスイッチSW1に接続されているパケットの送信先である現用系ルータR1までの経路(スイッチSWn>スイッチSWk>スイッチSW1>ルータR1)を算出する。   When the controller C receives the flow setting request from the switch SWn, the path calculation unit C1F of the controller C searches the “MAC address” column of the address table T4 and transmits the header information of the packet included in the flow setting request. The switch number 1 corresponding to the MAC address that matches the destination MAC address A1 is specified. Then, the path calculation unit C1F refers to the topology information table T5 and connects the path (switch SWn) from the switch SWn to the active router R1 that is the transmission destination of the packet connected to the switch SW1 with the identified switch number 1. > Switch SWk> Switch SW1> Router R1)

そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上のスイッチSWnとスイッチSWkとスイッチSW1に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSWnとスイッチSWkとスイッチSW1へ送信する。   Then, the flow setting unit C1G of the controller C performs the flow for the switch SWn, the switch SWk, and the switch SW1 on the route based on the route calculated by the route calculation unit C1F and the header information of the packet included in the flow setting request. Are generated, and the generated flow is transmitted to the switch SWn, the switch SWk, and the switch SW1 on the path.

コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   The flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

スイッチSWnとスイッチSWkとスイッチSW1は、設定したフローに従って、レイヤ3ノードN1からのパケットを順次転送し、現用系ルータR1へ届けられる。一度フローが設定されると、その後にレイヤ3ノードN1からルータ1とルータ2が共有する仮想IPアドレス宛に送信されたパケットは、設定されたフローに従って、スイッチSWnとスイッチSWkとスイッチSW1により転送処理され、現用系のルータR1へ届けられる。   The switch SWn, the switch SWk, and the switch SW1 sequentially transfer packets from the layer 3 node N1 according to the set flow, and are delivered to the active router R1. Once the flow is set, packets transmitted from the layer 3 node N1 to the virtual IP address shared by the router 1 and the router 2 are transferred by the switch SWn, the switch SWk, and the switch SW1 according to the set flow. It is processed and delivered to the active router R1.

次に、図6と図7と図12を参照して、図1に示すシステムを例して、障害発生時における、システム全体の処理の流れについて説明する。図12は、障害発生時における、図1に示すシステム全体の処理のフローを説明するための図である。なお、図中のスイッチSWkは、経路算出部C1Fにより算出された、スイッチSWnから現用系ルータに至る経路上のスイッチSWから、スイッチSWnとスイッチSW1(又は、スイッチSW2)を除いたスイッチSWを表す。   Next, with reference to FIGS. 6, 7 and 12, an example of the system shown in FIG. 1 will be described to explain the flow of processing of the entire system when a failure occurs. FIG. 12 is a diagram for explaining the processing flow of the entire system shown in FIG. 1 when a failure occurs. Note that the switch SWk in the figure is a switch SW obtained by removing the switch SWn and the switch SW1 (or the switch SW2) from the switch SW on the path from the switch SWn to the active router calculated by the path calculation unit C1F. Represent.

同じVRRPグループを形成するルータR1とルータR2は、現用系ルータを決定するために、VRRPパケットを他のルータ宛てに送信する。ルータR2が送信したVRRPパケットは、ルータR2が接続されているスイッチSW2により受信される。ルータR2からのVRRPパケットを受信すると、スイッチSW2のVRRPパケット処理部S1Aは、受信したVRRPパケットに自機のスイッチ番号2と、ルータR2が接続されている物理ポートの物理ポート番号20と、をそれぞれ特定するための情報を付加してコントローラCへ転送する。   Router R1 and router R2 forming the same VRRP group transmit VRRP packets to other routers in order to determine the working router. The VRRP packet transmitted by the router R2 is received by the switch SW2 to which the router R2 is connected. When receiving the VRRP packet from the router R2, the VRRP packet processing unit S1A of the switch SW2 adds the switch number 2 of the own device to the received VRRP packet and the physical port number 20 of the physical port to which the router R2 is connected. Information for identifying each is added and transferred to the controller C.

本実施形態においては、コントローラCのテーブル記憶部C2Aが格納する接続情報テーブルT3の初期状態では、上述したように、マスタルータであるルータR1に対応する「現用系」欄にフラグが立てられている。すなわち、初期状態では、コントローラCは、マスタルータであるルータR1を現用系ルータとして認識している。そのため、ルータR2からのVRRPパケットをコントローラCが受信しても、コントローラCの送信元判定部C1Aは、受信したVRRPパケットは現用系ルータからのVRRPパケットではないと判定し、VRRPパケット処理部C1Dは、受信したVRRPパケットを破棄する。いずれのルータからのVRRPパケットであるかの判定は、上述したように、VRRPパケットに付加されている付加情報(スイッチ番号SWNと物理ポート番号PN)に基づいて、行われる。   In the present embodiment, in the initial state of the connection information table T3 stored in the table storage unit C2A of the controller C, as described above, a flag is set in the “active system” column corresponding to the router R1 that is the master router. Yes. That is, in the initial state, the controller C recognizes the router R1 that is the master router as an active router. Therefore, even if the controller C receives the VRRP packet from the router R2, the transmission source determination unit C1A of the controller C determines that the received VRRP packet is not a VRRP packet from the active router, and the VRRP packet processing unit C1D Discards the received VRRP packet. The determination as to which router is the VRRP packet is made based on the additional information (switch number SWN and physical port number PN) added to the VRRP packet, as described above.

一方、ルータR1が送信したVRRPパケットは、ルータR1が接続されているスイッチSW1により受信される。ルータR1からのVRRPパケットを受信すると、スイッチSW1のVRRPパケット処理部S1Aは、受信したVRRPパケットに自機のスイッチ番号1と、ルータR1が接続されている物理ポートの物理ポート番号10と、をそれぞれ特定するための情報を付加してコントローラCへ転送する。   On the other hand, the VRRP packet transmitted by the router R1 is received by the switch SW1 to which the router R1 is connected. When receiving the VRRP packet from the router R1, the VRRP packet processing unit S1A of the switch SW1 sets its own switch number 1 to the received VRRP packet and the physical port number 10 of the physical port to which the router R1 is connected. Information for identifying each is added and transferred to the controller C.

コントローラCは、上述したように、初期状態ではルータR1を現用系ルータとして認識していることから、ルータR1からのVRRPパケットを受信すると、コントローラCの送信元判定部C1Aは、受信したVRRPパケットは現用系ルータからのVRRPパケットであると判定する。そして、コントローラCの制御部C1は、VRRPパケット設定時間テーブルT2から設定時間Siを取得してタイマC1Bに設定し、タイマC1Bをスタートさせる。そして、コントローラCのVRRPパケット処理部C1Dは、受信したVRRPパケットをルータR2に届けるために、スイッチSW2へ転送する。   As described above, since the controller C recognizes the router R1 as the active router in the initial state as described above, when the VRRP packet is received from the router R1, the transmission source determination unit C1A of the controller C receives the received VRRP packet. Is determined to be a VRRP packet from the active router. Then, the controller C1 of the controller C acquires the set time Si from the VRRP packet set time table T2, sets it in the timer C1B, and starts the timer C1B. Then, the VRRP packet processing unit C1D of the controller C transfers the received VRRP packet to the switch SW2 in order to reach the router R2.

スイッチSW2のVRRPパケット処理部S1Aは、VRRPパケットを受信すると、コントローラCからの指示に従って、受信したVRRPパケットをルータR2へ転送する。ルータR1からのVRRPパケットを受信したルータR2は、VRRPパケットに含まれる優先度に基づいて、ルータR1が現用系ルータであると判定し、その後、VRRPパケットの送信を中断する。   When receiving the VRRP packet, the VRRP packet processing unit S1A of the switch SW2 transfers the received VRRP packet to the router R2 in accordance with an instruction from the controller C. The router R2 that has received the VRRP packet from the router R1 determines that the router R1 is the active router based on the priority included in the VRRP packet, and then interrupts the transmission of the VRRP packet.

ここで、ルータR1に障害が発生すると、ルータR2は、現用系ルータR1からのVRRPパケットを設定時間内に受信できないことから、ルータR2は、現用系ルータR1に障害が発生したと判定し、ルータR1の処理を引き継いで、現用系ルータとしてVRRPパケットを定期的に送信する。   Here, when a failure occurs in the router R1, the router R2 cannot receive the VRRP packet from the active router R1 within the set time, so the router R2 determines that a failure has occurred in the active router R1. Taking over the processing of the router R1, the VRRP packet is periodically transmitted as the active router.

コントローラCの制御部C1は、タイマC1Bがタイムアウトするまでに現用系ルータR1からの次のVRRPパケットを受信できなかったために、接続情報テーブルT3の「現用系」欄のフラグを切り替える。すなわち、接続情報テーブルT3の「現用系」欄のフラグを、ルータR1からルータR2へ切り替える。   Since the next VRRP packet from the working router R1 cannot be received before the timer C1B times out, the control unit C1 of the controller C switches the flag in the “working” column of the connection information table T3. That is, the flag in the “active system” column of the connection information table T3 is switched from the router R1 to the router R2.

現用系ルータとなったルータR2が送信したVRRPパケットは、ルータR2が接続されているスイッチSW2により受信される。ルータR2からのVRRPパケットを受信すると、スイッチSW2のVRRPパケット処理部S1Aは、受信したVRRPパケットに自機のスイッチ番号2と、ルータR2が接続されている物理ポートの物理ポート番号20と、をそれぞれ特定するための情報を付加してコントローラCへ転送する。   The VRRP packet transmitted by the router R2 that is the active router is received by the switch SW2 to which the router R2 is connected. When receiving the VRRP packet from the router R2, the VRRP packet processing unit S1A of the switch SW2 adds the switch number 2 of the own device to the received VRRP packet and the physical port number 20 of the physical port to which the router R2 is connected. Information for identifying each is added and transferred to the controller C.

コントローラCの送信元判定部C1Aは、受信したルータR2からのVRRPパケットは現用系ルータからのVRRPパケットであると判定する。そして、コントローラCの制御部C1は、設定時間テーブルT2から設定時間Siを取得してタイマC1Bに設定し、タイマC1Bをスタートさせる。そして、コントローラCのVRRPパケット処理部C1Dは、受信したVRRPパケットをルータR1に届けるために、スイッチSW1へ転送する。   The transmission source determination unit C1A of the controller C determines that the received VRRP packet from the router R2 is a VRRP packet from the active router. Then, the control unit C1 of the controller C acquires the set time Si from the set time table T2, sets it in the timer C1B, and starts the timer C1B. Then, the VRRP packet processing unit C1D of the controller C transfers the received VRRP packet to the switch SW1 in order to reach the router R1.

スイッチSW1のVRRPパケット処理部S1Aは、VRRPパケットを受信すると、コントローラCからの指示に従って、受信したVRRPパケットをルータR1へ転送する。   When receiving the VRRP packet, the VRRP packet processing unit S1A of the switch SW1 transfers the received VRRP packet to the router R1 in accordance with an instruction from the controller C.

ルータR1からのVRRPパケットが届かないことから、自機が現用系であると判定したルータR2は、ARPテーブルを更新させるためのGARPパケットを送信する。スイッチSW2のGARP処理部S1Bは、スイッチSW2がルータR2からのGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送する。   Since the VRRP packet from the router R1 does not reach, the router R2 that has determined that the own device is the active system transmits a GARP packet for updating the ARP table. When the switch SW2 receives the GARP packet from the router R2, the GARP processing unit S1B of the switch SW2 transfers the received GARP packet to the controller C.

コントローラCのGARP処理部C1Eは、コントローラCがGARPパケットを受信すると、受信したGARPパケットから送信元MACアドレス(A2とする)を取得すると共に、接続情報テーブルT3から、GARPパケットの送信元のルータR2が接続されているスイッチSW2のスイッチ番号2を取得する。そして、コントローラCのGARP処理部C1Eは、取得した送信元MACアドレスA2とスイッチ番号2とを対応付けて、アドレステーブルT4に格納すると共に、受信したGARPパケットを、レイヤ3ノードN1へ転送させるために、スイッチSWnへ転送する。   When the controller C receives the GARP packet, the GARP processing unit C1E of the controller C acquires the transmission source MAC address (A2) from the received GARP packet, and from the connection information table T3, the GARP packet transmission source router The switch number 2 of the switch SW2 to which R2 is connected is acquired. Then, the GARP processing unit C1E of the controller C associates the acquired transmission source MAC address A2 with the switch number 2 and stores them in the address table T4 and forwards the received GARP packet to the layer 3 node N1. To the switch SWn.

スイッチSWnのGARPパケット処理部S1Bは、コントローラCから転送されたGARPパケットを受信すると、コントローラCの指示に従って、受信したGARPパケットをレイヤ3ノードN1へ転送する。   When receiving the GARP packet transferred from the controller C, the GARP packet processing unit S1B of the switch SWn transfers the received GARP packet to the layer 3 node N1 in accordance with an instruction from the controller C.

レイヤ3ノードN1は、GARPパケットを受信すると、保持しているARPテーブルの更新又は追加を行う。   When receiving the GARP packet, the layer 3 node N1 updates or adds the held ARP table.

レイヤ3ノードN1は、ルータ1とルータ2が共有する仮想IPアドレス宛にパケットを送信する際に、ARPテーブルを参照して、その仮想IPアドレス宛のパケットを生成し、生成したパケットを送信する。   When the layer 3 node N1 transmits a packet addressed to the virtual IP address shared by the router 1 and the router 2, the layer 3 node N1 refers to the ARP table, generates a packet addressed to the virtual IP address, and transmits the generated packet. .

スイッチSWnの判定部S1Dは、レイヤ3ノードN1からのパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールが存在するか否かを判定する。受信したパケットが、レイヤ3ノードN1から現用系であるルータR2宛のいわゆるファーストパケットであると仮定すると、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないため、判定部S1Dは、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定する。   When the determination unit S1D of the switch SWn receives a packet from the layer 3 node N1, the determination unit S1D searches the “rule” column of the flow table T1 to determine whether there is a rule that matches the header information of the received packet. To do. Assuming that the received packet is a so-called first packet addressed from the layer 3 node N1 to the active router R2, there is no rule in the flow table T1 that matches the header information of the received packet. It is determined that there is no rule in the flow table T1 that matches the header information of the received packet.

そのため、スイッチSWnのフロー処理部S1Eは、コントローラCへフロー設定要求を送信する。   Therefore, the flow processing unit S1E of the switch SWn transmits a flow setting request to the controller C.

コントローラCの経路算出部C1Fは、コントローラCがスイッチSWnからのフロー設定要求を受信すると、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスA2と一致するMACアドレスに対応するスイッチ番号2を特定する。そして、経路算出部C1Fは、トポロジ情報テーブルT5を参照して、スイッチSWnから、特定したスイッチ番号2のスイッチSW2に接続されているパケットの送信先である現用系ルータR2までの経路(スイッチSWn>スイッチSWk>スイッチSW2>ルータR2)を算出する。   When the controller C receives the flow setting request from the switch SWn, the path calculation unit C1F of the controller C searches the “MAC address” column of the address table T4 and transmits the header information of the packet included in the flow setting request. The switch number 2 corresponding to the MAC address that matches the destination MAC address A2 is specified. Then, the path calculation unit C1F refers to the topology information table T5, and the path (switch SWn) from the switch SWn to the active router R2 that is the transmission destination of the packet connected to the switch SW2 with the identified switch number 2 > Switch SWk> Switch SW2> Router R2)

そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上のスイッチSWnとスイッチSWkとスイッチSW2に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSWnとスイッチSWkとスイッチSW2へ送信する。   Then, the flow setting unit C1G of the controller C performs the flow for the switch SWn, the switch SWk, and the switch SW2 on the route based on the route calculated by the route calculation unit C1F and the header information of the packet included in the flow setting request. Are generated, and the generated flow is transmitted to the switch SWn, the switch SWk, and the switch SW2 on the path.

コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   The flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

スイッチSWnとスイッチSWkとスイッチSW2は、設定したフローに従って、レイヤ3ノードN1からのパケットを順次転送し、現用系ルータR2へ届けられる。一度フローが設定されると、その後にレイヤ3ノードN1からルータ1とルータ2が共有する仮想IPアドレス宛に送信されたパケットは、設定されたフローに従って、スイッチSWnとスイッチSWkとスイッチSW2により転送処理され、新たに現用系となったルータR2へ届けられる。   The switch SWn, the switch SWk, and the switch SW2 sequentially transfer the packets from the layer 3 node N1 according to the set flow, and are delivered to the active router R2. Once a flow is set, packets sent from the layer 3 node N1 to the virtual IP address shared by the router 1 and the router 2 are transferred by the switch SWn, the switch SWk, and the switch SW2 according to the set flow. After being processed, it is delivered to the router R2 that has become the new active system.

本実施形態1によれば、VRRP機能を備えた機器が接続されているスイッチSWは、その機器からVRRPパケットを受信すると、受信したVRRPパケットにスイッチ番号SWNとその機器が接続されている物理ポートのポート番号PNを付加してコントローラCへ転送した。そして、転送されたVRRPパケットを受信すると、コントローラCの送信元判定部C1Aは、接続情報テーブルT3を参照して、そのVRRPパケットが現用系から送信されたVRRPパケットであるか否かを判定し、そのVRRPパケットが現用系から送信されたVRRPパケットでないと判定された場合には、VRRPパケット処理部C1Dは、そのVRRPパケットを破棄した。一方、そのVRRPパケットが現用系から送信されたVRRPパケットであると判定された場合には、そのVRRPパケットを、同じVRRPグループを形成する待機系の機器へ転送した。こうすることで、オープンフローネットワーク1に接続されているVRRPグループを形成する機器間で行われる死活監視を、コントローラCの制御下で実行させることが可能となる。   According to the first embodiment, when a switch SW to which a device having a VRRP function is connected receives a VRRP packet from the device, the physical port to which the switch number SWN and the device are connected to the received VRRP packet. Port number PN was added and transferred to controller C. When the transferred VRRP packet is received, the transmission source determination unit C1A of the controller C refers to the connection information table T3 and determines whether or not the VRRP packet is a VRRP packet transmitted from the active system. When it is determined that the VRRP packet is not a VRRP packet transmitted from the active system, the VRRP packet processing unit C1D discards the VRRP packet. On the other hand, when it is determined that the VRRP packet is a VRRP packet transmitted from the active system, the VRRP packet is transferred to a standby apparatus that forms the same VRRP group. By doing so, it is possible to perform life and death monitoring performed between devices forming the VRRP group connected to the OpenFlow network 1 under the control of the controller C.

また、設定時間テーブルT2の設定時間Siとして、待機系の機器が現用系の機器に障害が発生したと判定するために用いる設定時間を設定した。そして、送信元判定部C1AによりVRRPパケットが現用系から送信されたVRRPパケットであると判定された場合には、制御部C1は、設定時間テーブルT2から取得した設定時間SiをタイマC1Bに設定し、タイマC1Bをスタートさせた。そして、タイマC1Bがタイムアウトするまでに、現用系からの次のVRRPパケットが受信できなかった場合には、制御部C1は、接続情報テーブルT3の「現用系」欄のフラグを切り替えた。こうすることで、コントローラCは、VRRPグループを形成するいずれの機器が現用系かを的確に把握することが可能となる。   Further, as the set time Si in the set time table T2, the set time used for determining that the standby device has failed in the active device is set. When the transmission source determination unit C1A determines that the VRRP packet is a VRRP packet transmitted from the active system, the control unit C1 sets the set time Si acquired from the set time table T2 in the timer C1B. The timer C1B is started. If the next VRRP packet from the active system cannot be received before the timer C1B times out, the control unit C1 switches the flag in the “active system” column of the connection information table T3. By doing so, the controller C can accurately grasp which device forming the VRRP group is the active system.

また、現用系の機器が接続されているスイッチSWは、その機器からGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送した。そして、転送されたGARPパケットを受信すると、コントローラCのGARPパケット処理部C1Eは、受信したGARPパケットから送信元MACアドレスを取得すると共に、接続情報テーブルT3から、GARPパケットの送信元の現用系ルータが接続されているスイッチSWのスイッチ番号SWNを取得した。そして、取得した送信元MACアドレスとスイッチ番号SWNとを対応付けて、アドレステーブルT4に格納した。こうすることで、VRRPグループを形成する機器が共有する仮想IPアドレス宛に送信されたパケットを、現用系の機器へ届けられるようにフローを設定することが可能となる。   When the switch SW to which the active device is connected receives the GARP packet from the device, the switch SW transfers the received GARP packet to the controller C. When the transferred GARP packet is received, the GARP packet processing unit C1E of the controller C acquires the transmission source MAC address from the received GARP packet, and from the connection information table T3, the working router of the transmission source of the GARP packet The switch number SWN of the switch SW connected to is obtained. Then, the acquired transmission source MAC address and the switch number SWN are associated with each other and stored in the address table T4. By doing so, it is possible to set a flow so that a packet transmitted to a virtual IP address shared by devices forming the VRRP group can be delivered to the active device.

これにより、冗長化構成を維持した状態で、VRRPグループをオープンフローネットワークに接続することが可能となる。すなわち、VRRPグループを形成する機器間で行われる死活監視を、コントローラCの制御下で実行させることが可能となると共に、冗長化された経路を維持した状態で、オープンフローネットワークにVRRPグループを接続することが可能となる。   This makes it possible to connect the VRRP group to the OpenFlow network while maintaining the redundant configuration. In other words, life and death monitoring performed between devices forming the VRRP group can be executed under the control of the controller C, and the VRRP group is connected to the OpenFlow network while maintaining a redundant path. It becomes possible to do.

(実施形態2)
実施形態1では、VRRPパケットを受信したスイッチSWは、受信したVRRPパケットをコントローラCへ転送するように構成された。本実施形態では、VRRPパケットを受信したスイッチSWは、受信したVRRPパケットをコントローラCへ転送するかわりに、フロー設定要求をコントローラCへ送信する。
(Embodiment 2)
In the first embodiment, the switch SW that has received the VRRP packet is configured to transfer the received VRRP packet to the controller C. In the present embodiment, the switch SW that has received the VRRP packet transmits a flow setting request to the controller C instead of transferring the received VRRP packet to the controller C.

本実施形態におけるオープンフローネットワーク1の基本的な構成は、実施形態1の場合と同じである。但し、スイッチSWのVRRPパケット処理部S1Aと、判定部S1Dと、フロー処理部S1Eと、が果たす機能が実施形態1とでは若干異なる。また、コントローラCの制御部C1が、図13に示すように、送信元判定部C1Aと、タイマC1Bと、判定部C1Cと、VRRPパケット処理部C1Dと、を備えない点と、テーブル記憶部C2Aが、設定時間テーブルT2を備えない点が、実施形態1とでは異なる。また、コントローラCの経路算出部C1Fと、フロー設定部C1Gが果たす機能が実施形態1とでは若干異なる。   The basic configuration of the OpenFlow network 1 in the present embodiment is the same as that in the first embodiment. However, the functions performed by the VRRP packet processing unit S1A, the determination unit S1D, and the flow processing unit S1E of the switch SW are slightly different from those in the first embodiment. Further, as shown in FIG. 13, the control unit C1 of the controller C does not include the transmission source determination unit C1A, the timer C1B, the determination unit C1C, and the VRRP packet processing unit C1D, and the table storage unit C2A. However, it differs from the first embodiment in that the set time table T2 is not provided. Further, the functions performed by the path calculation unit C1F of the controller C and the flow setting unit C1G are slightly different from those in the first embodiment.

スイッチSWのVRRPパケット処理部S1Aは、判定部S1Dにより自スイッチに接続されているルータからのVRRPパケットに関するルールがフローテーブルT1に存在すると判定された場合には、フローテーブルT1を参照して、そのルールに対応するアクション情報により特定されるアクションに従って、自スイッチに接続されているルータからのVRRPパケットを転送する。その際、自スイッチのスイッチ番号SWNとVRRPパケットの送信元ルータが接続されている物理ポートのポート番号PNを特定するための情報を付加する。例えば、スイッチSW1が、ルータR1からのVRRPパケットを受信し、判定部S1Dにより、ルータR1からのVRRPパケットに関するルールが、フローテーブルT1に存在すると判定され、そのルールに対応するアクション情報により特定されるアクションが「スイッチSW2へ転送」である場合には、スイッチSW1のVRRPパケット処理部S1Aは、受信したVRRPパケットにスイッチ番号1とポート番号10を特定するための情報を付加して、スイッチSW2へ転送する。   The VRRP packet processing unit S1A of the switch SW refers to the flow table T1 when the determination unit S1D determines that the rule regarding the VRRP packet from the router connected to the switch exists in the flow table T1. The VRRP packet from the router connected to the own switch is transferred according to the action specified by the action information corresponding to the rule. At that time, information for specifying the switch number SWN of the own switch and the port number PN of the physical port to which the router for sending the VRRP packet is connected is added. For example, the switch SW1 receives the VRRP packet from the router R1, and the determination unit S1D determines that the rule regarding the VRRP packet from the router R1 exists in the flow table T1, and is specified by the action information corresponding to the rule. When the action to be performed is “transfer to switch SW2”, the VRRP packet processing unit S1A of the switch SW1 adds information for specifying the switch number 1 and the port number 10 to the received VRRP packet, and the switch SW2 Forward to.

一方、判定部S1Dにより、自スイッチに接続されているルータからのVRRPパケットに関するルールがフローテーブルT1に存在しないと判定された場合には、VRRPパケット処理部S1Aは、フロー設定要求をコントローラCへ送信する。フロー設定要求には、パケットの種別:VRRPパケットと、自スイッチのスイッチ番号SWNと、受信したVRRPパケットの送信元のルータが接続されている物理ポートの物理ポート番号PNと、が含まれる。   On the other hand, when the determination unit S1D determines that the rule regarding the VRRP packet from the router connected to the switch does not exist in the flow table T1, the VRRP packet processing unit S1A sends a flow setting request to the controller C. Send. The flow setting request includes the packet type: VRRP packet, the switch number SWN of the own switch, and the physical port number PN of the physical port to which the router that has transmitted the received VRRP packet is connected.

例えば、スイッチSW1のスイッチ番号SWNが”1”、ルータR1が接続されているスイッチSW1の物理ポートの物理ポート番号PNが”10”であり、スイッチSW1がルータR1からVRRPパケットを受信し、判定部S1Dにより、ルータR1からのVRRPパケットに関するルールがフローテーブルT1に存在しないと判定された場合には、スイッチSW1のVRRPパケット処理部S1Aは、パケットの種別:VRRPパケットと、スイッチ番号”1”と、物理ポート番号”10”と、を含むフロー設定要求をコントローラCへ送信する。   For example, the switch number SWN of the switch SW1 is “1”, the physical port number PN of the physical port of the switch SW1 to which the router R1 is connected is “10”, and the switch SW1 receives the VRRP packet from the router R1 and determines When the part S1D determines that the rule regarding the VRRP packet from the router R1 does not exist in the flow table T1, the VRRP packet processing part S1A of the switch SW1 determines the packet type: VRRP packet and the switch number “1”. And a flow setting request including the physical port number “10” is transmitted to the controller C.

また、VRRPパケット処理部S1Aは、他のスイッチSWから転送されたVRRPパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、VRRPパケットに付加されている、VRRPパケットの送信元ルータが接続されているスイッチSWのスイッチ番号SWNと物理ポートのポート番号PNとの組と、パケットの種別:VRRPパケットとに基づいて、ルールを特定する。そして、VRRPパケット処理部S1Aは、特定したルールに対応するアクション情報により特定されるアクションに従って、受信したVRRPパケットを転送する。   When the VRRP packet processing unit S1A receives the VRRP packet transferred from another switch SW, the VRRP packet processing unit S1A searches the “rule” column of the flow table T1 and adds the VRRP packet source router added to the VRRP packet. The rule is specified based on the combination of the switch number SWN of the switch SW connected to the port number PN of the physical port and the packet type: VRRP packet. Then, the VRRP packet processing unit S1A transfers the received VRRP packet according to the action specified by the action information corresponding to the specified rule.

判定部S1Dは、自スイッチSWに接続するノードから送信されたパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在するか否かを判定する。さらに、判定部S1Dは、自スイッチに接続されているルータからのVRRPパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、自スイッチに接続されているルータからのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定する。   When the determination unit S1D receives a packet transmitted from a node connected to its own switch SW, the determination unit S1D searches the “rule” column of the flow table T1, and a rule that matches the header information of the received packet exists in the flow table T1. It is determined whether or not to do. Further, when receiving the VRRP packet from the router connected to the own switch, the determination unit S1D searches the “rule” column of the flow table T1, and determines the rule regarding the VRRP packet from the router connected to the own switch. Is present in the flow table T1.

フロー処理部S1Eは、自スイッチSWに接続するノードから送信されたパケットを受信し、判定部S1Dにより、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在すると判定された場合には、そのルールに対応するアクション情報により特定されるアクションを実行する。一方、フロー処理部S1Eは、判定部S1Dにより、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定された場合には、コントローラCへフロー設定要求を送信する。フロー設定要求には、パケットの種別と、パケットのヘッダ情報と、自スイッチのスイッチ番号SWNとパケットの送信元のノードが接続されている物理ポートの物理ポート番号PNとを特定するための情報が含まれる。   When the flow processing unit S1E receives a packet transmitted from a node connected to its own switch SW, and the determination unit S1D determines that a rule matching the header information of the received packet exists in the flow table T1, The action specified by the action information corresponding to the rule is executed. On the other hand, the flow processing unit S1E transmits a flow setting request to the controller C when the determination unit S1D determines that there is no rule in the flow table T1 that matches the header information of the received packet. The flow setting request includes information for specifying the packet type, the packet header information, the switch number SWN of the own switch, and the physical port number PN of the physical port to which the packet source node is connected. included.

コントローラCの制御部C1は、CPUを備え、記憶部C2に格納されている動作プログラムを実行することで、図13に示すように、GARPパケット処理部C1Eと、経路算出部C1Fと、フロー設定部C1Gと、としての機能を実現すると共に、各機能部の制御処理、フロー設定処理などの処理を実行する。   The control unit C1 of the controller C includes a CPU and executes an operation program stored in the storage unit C2, thereby performing a GARP packet processing unit C1E, a route calculation unit C1F, and a flow setting as shown in FIG. The function as the unit C1G is realized and processing such as control processing and flow setting processing of each functional unit is executed.

経路算出部C1Fは、例えば、スイッチSWnからフロー設定要求を受信し、フロー設定要求に含まれるパケットの種別が通常のパケットである場合には、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスと一致するMACアドレスに対応するスイッチ番号SWNを特定する。そして、経路算出部C1Fは、テーブル記憶部C2Aに格納されているトポロジ情報テーブルT5を参照して、フロー設定要求を送信したスイッチSWnから、特定したスイッチ番号SWNのスイッチSWに接続されているパケットの送信先である現用系ルータまでの経路を算出する。   For example, the path calculation unit C1F receives a flow setting request from the switch SWn, and if the packet type included in the flow setting request is a normal packet, the path calculation unit C1F searches the “MAC address” column of the address table T4. The switch number SWN corresponding to the MAC address that matches the destination MAC address in the header information of the packet included in the flow setting request is specified. Then, the path calculation unit C1F refers to the topology information table T5 stored in the table storage unit C2A, and the packet connected to the switch SW having the identified switch number SWN from the switch SWn that transmitted the flow setting request. The route to the active router that is the transmission destination of is calculated.

また、例えば、スイッチSW1からのフロー設定要求を受信し、フロー設定要求に含まれるパケットの種別がVRRPパケットである場合には、経路算出部C1Fは、接続情報テーブルT3を参照して、フロー設定要求に含まれるスイッチ番号1とポート番号10とに基づいて、そのフロー設定要求を送信したスイッチSW1にVRRPパケットを送信したルータR1を特定する。そして、経路算出部C1Fは、特定したルータR1と同じVRRPグループを形成するルータR2が接続されているスイッチSW2を特定する。そして、経路算出部C1Fは、テーブル記憶部C2Aに格納されているトポロジ情報テーブルT5を参照して、フロー設定要求を送信したスイッチSW1から、特定したスイッチSW2に接続されているVRRPパケットの送信元のルータと同じVRRPグループを形成するルータR2までの経路を算出する。   For example, when the flow setting request is received from the switch SW1 and the packet type included in the flow setting request is a VRRP packet, the path calculation unit C1F refers to the connection information table T3 and sets the flow setting. Based on the switch number 1 and the port number 10 included in the request, the router R1 that transmitted the VRRP packet to the switch SW1 that transmitted the flow setting request is specified. Then, the route calculation unit C1F specifies the switch SW2 to which the router R2 that forms the same VRRP group as the specified router R1 is connected. Then, the route calculation unit C1F refers to the topology information table T5 stored in the table storage unit C2A, and transmits the VRRP packet that is connected to the identified switch SW2 from the switch SW1 that transmitted the flow setting request. The route to the router R2 forming the same VRRP group as the other router is calculated.

図14は、テーブル記憶部C2Aに格納されている接続情報テーブルT3の例を示す図である。接続情報テーブルT3は、図14に示すように、VRRPグループを形成する各ルータと、そのVRRPグループを形成するルータと通信を行うノードとが対応付けられており、さらに、それぞれが接続するスイッチSWのスイッチ番号SWNとポート番号PNが対応付けられている。   FIG. 14 is a diagram illustrating an example of the connection information table T3 stored in the table storage unit C2A. In the connection information table T3, as shown in FIG. 14, each router that forms a VRRP group is associated with a node that communicates with the router that forms the VRRP group. Switch number SWN and port number PN are associated with each other.

図13に戻り、フロー設定部C1Gは、フロー設定要求に含まれるパケットの種別が通常のパケットである場合には、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上の各スイッチSWに対するフローをそれぞれ生成し、生成したフローを経路上の各スイッチSWへそれぞれ送信する。そして、コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   Returning to FIG. 13, when the type of the packet included in the flow setting request is a normal packet, the flow setting unit C1G and the header of the packet included in the flow setting request are calculated by the route calculating unit C1F. Based on the information, a flow for each switch SW on the route is generated, and the generated flow is transmitted to each switch SW on the route. Then, the flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

また、フロー設定部C1Gは、フロー設定要求に含まれるパケットの種別がVRRPパケットである場合には、経路算出部C1Fにより算出された経路と、パケットの種別とに基づいて、経路上の各スイッチSWに対するフローをそれぞれ生成し、生成したフローを経路上の各スイッチSWへ送信する。そして、コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。フロー設定要求に含まれるパケットの種別がVRRPパケットである場合にフロー設定部C1Gにより生成されるフローに含まれるルールには、例えば、パケットの種別:VRRPパケットと、そのVRRPパケットの送信元ルータを識別する情報(例えば、送信元ルータが接続されるスイッチSWのスイッチ番号SWNと、送信元ルータが接続される物理ポートのポート番号PNとの組)と、が格納される。   In addition, when the packet type included in the flow setting request is a VRRP packet, the flow setting unit C1G switches each switch on the route based on the route calculated by the route calculation unit C1F and the packet type. A flow for each SW is generated, and the generated flow is transmitted to each switch SW on the route. Then, the flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A. The rule included in the flow generated by the flow setting unit C1G when the packet type included in the flow setting request is a VRRP packet includes, for example, the packet type: VRRP packet and the source router of the VRRP packet. Information to be identified (for example, a combination of the switch number SWN of the switch SW to which the transmission source router is connected and the port number PN of the physical port to which the transmission source router is connected) is stored.

例えば、フロー設定要求に含まれるパケットの種別が、VRRPパケットであり、フロー設定要求の送信元のスイッチSWがスイッチSW1の場合には、経路算出部C1Fにより、スイッチSW1からスウィッチSW2に接続されているルータR2への経路が算出される。この場合、経路算出部C1Fにより算出される経路は、スイッチSW1>スイッチSW2>ルータR2となる。フロー設定部C1Gは、スイッチSW1と、スイッチSW2と、に対するフローをそれぞれ生成する。例えば、スイッチSW1に対するフローに含まれるアクション情報には、スイッチSW2へのVRRPパケット転送指示が格納され、ルールには、パケットの種別:VRRPパケットと、スイッチSW1のスイッチ番号1とVRRPパケットの送信元ルータR1が接続されている物理ポートのポート番号10との組と、が格納される。また、例えば、スイッチSW2に対するフローに含まれるアクション情報には、ルータR2へのVRRPパケット転送指示が格納され、ルールには、スイッチSW1に対するフローのルールと同一のルールが格納される。これにより、ルータR1から次のVRRPパケットが送信された場合には、スイッチSW1は、コントローラCへフロー設定要求を送信することなく、フローテーブルT3に設定されたフローに従って、VRRPパケットをルータR2へ届けることが可能となる。   For example, when the packet type included in the flow setting request is a VRRP packet and the switch SW that is the transmission source of the flow setting request is the switch SW1, the route calculation unit C1F connects the switch SW1 to the switch SW2. The route to the existing router R2 is calculated. In this case, the route calculated by the route calculation unit C1F is switch SW1> switch SW2> router R2. The flow setting unit C1G generates a flow for each of the switch SW1 and the switch SW2. For example, the action information included in the flow for the switch SW1 stores a VRRP packet transfer instruction to the switch SW2, and the rule includes the packet type: VRRP packet, the switch number 1 of the switch SW1, and the source of the VRRP packet. A pair with the port number 10 of the physical port to which the router R1 is connected is stored. Further, for example, the action information included in the flow for the switch SW2 stores a VRRP packet transfer instruction to the router R2, and the rule stores the same rule as the flow rule for the switch SW1. Thereby, when the next VRRP packet is transmitted from the router R1, the switch SW1 transmits the VRRP packet to the router R2 according to the flow set in the flow table T3 without transmitting a flow setting request to the controller C. It becomes possible to deliver.

テーブル記憶部C2Aは、接続情報テーブルT3と、アドレステーブルT4と、トポロジ情報テーブルT5を格納する。   The table storage unit C2A stores a connection information table T3, an address table T4, and a topology information table T5.

次に、図8と図14と図15を参照して、図1に示すシステムを例して、平常時における、システム全体の処理の流れについて説明する。図15は、平常時における、図1に示すシステム全体の処理のフローを説明するための図である。なお、図中のスイッチSWkは、経路算出部C1Fにより算出された、スイッチSWnから現用系ルータに至る経路上のスイッチSWから、スイッチSWnとスイッチSW1(又は、スイッチSW2)を除いたスイッチSWを表す。なお、ルータR1の優先度の値は、ルータR2の優先度の値より大きいと仮定する。   Next, with reference to FIG. 8, FIG. 14, and FIG. 15, an example of the system shown in FIG. FIG. 15 is a diagram for explaining the processing flow of the entire system shown in FIG. Note that the switch SWk in the figure is a switch SW obtained by removing the switch SWn and the switch SW1 (or the switch SW2) from the switch SW on the path from the switch SWn to the active router calculated by the path calculation unit C1F. Represent. It is assumed that the priority value of the router R1 is larger than the priority value of the router R2.

同じVRRPグループを形成するルータR1とルータR2は、現用系ルータを決定するために、VRRPパケットを他のルータ宛てに送信する。ルータR2が送信したVRRPパケットは、ルータR2が接続されているスイッチSW2により受信される。ルータR2からのVRRPパケットを受信すると、スイッチSW2の判定部S1Dは、フローテーブルT1の「ルール」欄を検索して、ルータR2からのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定する。受信したVRRPパケットがルータR2が送信した最初のVRRPパケットである場合には、スイッチSW2の判定部S1Dにより、フローテーブルT1にルータR2からのVRRPパケットに関するルールは存在しないと判定され、スイッチSW2のVRRPパケット処理部S1Aは、フロー設定要求をコントローラCへ送信する。   Router R1 and router R2 forming the same VRRP group transmit VRRP packets to other routers in order to determine the working router. The VRRP packet transmitted by the router R2 is received by the switch SW2 to which the router R2 is connected. When the VRRP packet from the router R2 is received, the determination unit S1D of the switch SW2 searches the “rule” column of the flow table T1 to determine whether or not a rule regarding the VRRP packet from the router R2 exists in the flow table T1. judge. When the received VRRP packet is the first VRRP packet transmitted by the router R2, the determination unit S1D of the switch SW2 determines that there is no rule regarding the VRRP packet from the router R2 in the flow table T1, and the switch SW2 The VRRP packet processing unit S1A transmits a flow setting request to the controller C.

スイッチSW2からのフロー設定要求を受信したコントローラCの経路算出部C1Fは、接続情報テーブルT3を参照して、フロー設定要求に含まれるスイッチ番号2とポート番号20とに基づいて、そのフロー設定要求を送信したスイッチSW2にVRRPパケットを送信したルータR2を特定する。そして、経路算出部C1Fは、特定したルータR2と同じVRRPグループを形成するルータR1が接続されているスイッチSW1特定する。そして、経路算出部C1Fは、テーブル記憶部C2Aに格納されているトポロジ情報テーブルT5を参照して、フロー設定要求を送信したスイッチSW2から、特定したスイッチSW1に接続されている、VRRPパケットの送信元のルータR1と同じVRRPグループを形成するルータR1までの経路(スイッチSW2>スイッチSW1>ルータR1)を算出する。   The path calculation unit C1F of the controller C that has received the flow setting request from the switch SW2 refers to the connection information table T3 and determines the flow setting request based on the switch number 2 and the port number 20 included in the flow setting request. The router R2 that has transmitted the VRRP packet to the switch SW2 that has transmitted Then, the route calculation unit C1F identifies the switch SW1 to which the router R1 that forms the same VRRP group as the identified router R2 is connected. Then, the path calculation unit C1F refers to the topology information table T5 stored in the table storage unit C2A, and transmits the VRRP packet connected to the identified switch SW1 from the switch SW2 that transmitted the flow setting request. A route (switch SW2> switch SW1> router R1) to the router R1 that forms the same VRRP group as the original router R1 is calculated.

そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路(スイッチSW2>スイッチSW1>ルータR1)と、パケットの種別:VRRPパケットとに基づいて、経路上のスイッチSW1とスイッチSW2に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSW1とスイッチSW2へそれぞれ送信する。   The flow setting unit C1G of the controller C then selects the switch SW1 and the switch on the route based on the route (switch SW2> switch SW1> router R1) calculated by the route calculation unit C1F and the packet type: VRRP packet. A flow for SW2 is generated, and the generated flow is transmitted to switch SW1 and switch SW2 on the path.

そして、コントローラCから送信されたフローを受信したスイッチSW1とスイッチSW2のフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   Then, the flow setting unit S1C of the switch SW1 and the switch SW2 that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

これにより、ルータR2から送信されたVRRPパケットは、フローテーブルT1に設定されたフローに従って、スイッチSW2から順次転送され、VRRPパケットの送信元のルータR2と同じVRRPグループを形成するルータR1へ届けられる。ルータR2からのVRRPパケットを受信したルータR1は、VRRPパケットに含まれる優先度に基づいて、自機が現用系ルータであると判定し、VRRPパケットを定期的に送信すると共に、ARPテーブルを更新させるためのGARPパケットを送信する。   Accordingly, VRRP packets transmitted from the router R2 are sequentially transferred from the switch SW2 according to the flow set in the flow table T1, and delivered to the router R1 that forms the same VRRP group as the router R2 that is the transmission source of the VRRP packet. . The router R1 that has received the VRRP packet from the router R2 determines that the own router is the active router based on the priority included in the VRRP packet, periodically transmits the VRRP packet, and updates the ARP table. A GARP packet for sending the message is transmitted.

また、ルータR1が送信したVRRPパケットは、ルータR1が接続されているスイッチSW1により受信される。ルータR1からのVRRPパケットを受信すると、スイッチSW1の判定部S1Dは、フローテーブルT1の「ルール」欄を検索して、ルータR1からのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定する。受信したVRRPパケットがルータR1が送信した最初のVRRPパケットである場合には、スイッチSW1の判定部S1Dにより、フローテーブルT1にルータR1からのVRRPパケットに関するルールは存在しないと判定され、スイッチSW1のVRRPパケット処理部S1Aは、フロー設定要求をコントローラCへ送信する。   The VRRP packet transmitted by the router R1 is received by the switch SW1 to which the router R1 is connected. When the VRRP packet from the router R1 is received, the determination unit S1D of the switch SW1 searches the “rule” column of the flow table T1 to determine whether or not a rule regarding the VRRP packet from the router R1 exists in the flow table T1. judge. When the received VRRP packet is the first VRRP packet transmitted by the router R1, the determination unit S1D of the switch SW1 determines that there is no rule regarding the VRRP packet from the router R1 in the flow table T1, and the switch SW1 The VRRP packet processing unit S1A transmits a flow setting request to the controller C.

スイッチSW1からのフロー設定要求を受信したコントローラCの経路算出部C1Fは、経路(スイッチSW1>スイッチSW2>ルータR2)を算出する。そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路(スイッチSW1>スイッチSW2>ルータR2)と、パケットの種別:VRRPパケットとに基づいて、経路上のスイッチSW1とスイッチSW2に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSW1とスイッチSW2へそれぞれ送信する。   The path calculation unit C1F of the controller C that has received the flow setting request from the switch SW1 calculates the path (switch SW1> switch SW2> router R2). The flow setting unit C1G of the controller C then selects the switch SW1 and the switch on the route based on the route (switch SW1> switch SW2> router R2) calculated by the route calculation unit C1F and the packet type: VRRP packet. A flow for SW2 is generated, and the generated flow is transmitted to switch SW1 and switch SW2 on the path.

そして、コントローラCから送信されたフローを受信したスイッチSW1とスイッチSW2のフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   Then, the flow setting unit S1C of the switch SW1 and the switch SW2 that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

これにより、ルータR1から送信されたVRRPパケットは、フローテーブルT1に設定されたフローに従って、スイッチSW1から順次転送され、VRRPパケットの送信元のルータR1と同じVRRPグループを形成するルータR2へ届けられる。ルータR1からのVRRPパケットを受信したルータR2は、VRRPパケットに含まれる優先度に基づいて、ルータR1が現用系ルータであると判定し、その後、VRRPパケットの送信を中断する。   Thereby, VRRP packets transmitted from the router R1 are sequentially transferred from the switch SW1 according to the flow set in the flow table T1, and delivered to the router R2 forming the same VRRP group as the router R1 that is the transmission source of the VRRP packet. . The router R2 that has received the VRRP packet from the router R1 determines that the router R1 is the active router based on the priority included in the VRRP packet, and then interrupts the transmission of the VRRP packet.

スイッチSW1のGARP処理部S1Bは、スイッチSW1がルータR1からのGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送する。。   When the switch SW1 receives the GARP packet from the router R1, the GARP processing unit S1B of the switch SW1 transfers the received GARP packet to the controller C. .

コントローラCのGARP処理部C1Eは、コントローラCがGARPパケットを受信すると、受信したGARPパケットから送信元MACアドレスA1を取得すると共に、接続情報テーブルT3から、GARPパケットの送信元のルータR1が接続されているスイッチSW1のスイッチ番号1を取得する。そして、コントローラCのGARP処理部C1Eは、取得した送信元MACアドレスA1とスイッチ番号1とを対応付けて、アドレステーブルT4に格納すると共に、受信したGARPパケットを、レイヤ3ノードN1へ転送させるために、スイッチSWnへ転送する。   When the controller C receives the GARP packet, the GARP processing unit C1E of the controller C acquires the transmission source MAC address A1 from the received GARP packet, and is connected to the router R1 that is the transmission source of the GARP packet from the connection information table T3. The switch number 1 of the current switch SW1 is acquired. Then, the GARP processing unit C1E of the controller C associates the acquired transmission source MAC address A1 with the switch number 1, stores it in the address table T4, and transfers the received GARP packet to the layer 3 node N1. To the switch SWn.

スイッチSWnのGARPパケット処理部S1Bは、コントローラCから転送されたGARPパケットを受信すると、コントローラCの指示に従って、受信したGARPパケットをレイヤ3ノードN1へ転送する。   When receiving the GARP packet transferred from the controller C, the GARP packet processing unit S1B of the switch SWn transfers the received GARP packet to the layer 3 node N1 in accordance with an instruction from the controller C.

レイヤ3ノードN1は、GARPパケットを受信すると、保持しているARPテーブルの更新又は追加を行う。   When receiving the GARP packet, the layer 3 node N1 updates or adds the held ARP table.

レイヤ3ノードN1は、VRRPグループを形成するルータR1とルータR2が共有する仮想IPアドレス宛にパケットを送信する際に、ARPテーブルを参照して、その仮想IPアドレス宛のパケットを生成し、生成したパケットを送信する。   When the layer 3 node N1 transmits a packet addressed to the virtual IP address shared by the router R1 and the router R2 that form the VRRP group, the layer 3 node N1 generates a packet addressed to the virtual IP address by referring to the ARP table. Send the packet.

スイッチSWnの判定部S1Dは、レイヤ3ノードN1からのパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールが存在するか否かを判定する。受信したパケットが、レイヤ3ノードN1から現用系のルータR1宛のいわゆるファーストパケットであると仮定すると、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないため、判定部S1Dは、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定する。   When the determination unit S1D of the switch SWn receives a packet from the layer 3 node N1, the determination unit S1D searches the “rule” column of the flow table T1 to determine whether there is a rule that matches the header information of the received packet. To do. Assuming that the received packet is a so-called first packet addressed from the layer 3 node N1 to the active router R1, there is no rule in the flow table T1 that matches the header information of the received packet. It is determined that there is no rule in the flow table T1 that matches the header information of the received packet.

そのため、スイッチSWnのフロー処理部S1Eは、コントローラCへフロー設定要求を送信する。   Therefore, the flow processing unit S1E of the switch SWn transmits a flow setting request to the controller C.

コントローラCの経路算出部C1Fは、コントローラCがスイッチSWnからのフロー設定要求を受信すると、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスA1と一致するMACアドレスに対応するスイッチ番号1を特定する。そして、経路算出部C1Fは、トポロジ情報テーブルT5を参照して、スイッチSWnから、特定したスイッチ番号1のスイッチSW1に接続されているパケットの送信先である現用系ルータR1までの経路(スイッチSWn>スイッチSWk>スイッチSW1>ルータR1)を算出する。   When the controller C receives the flow setting request from the switch SWn, the path calculation unit C1F of the controller C searches the “MAC address” column of the address table T4 and transmits the header information of the packet included in the flow setting request. The switch number 1 corresponding to the MAC address that matches the destination MAC address A1 is specified. Then, the path calculation unit C1F refers to the topology information table T5 and connects the path (switch SWn) from the switch SWn to the active router R1 that is the transmission destination of the packet connected to the switch SW1 with the identified switch number 1. > Switch SWk> Switch SW1> Router R1)

そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上のスイッチSWnとスイッチSWkとスイッチSW1に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSWnとスイッチSWkとスイッチSW1へ送信する。   Then, the flow setting unit C1G of the controller C performs the flow for the switch SWn, the switch SWk, and the switch SW1 on the route based on the route calculated by the route calculation unit C1F and the header information of the packet included in the flow setting request. Are generated, and the generated flow is transmitted to the switch SWn, the switch SWk, and the switch SW1 on the path.

コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   The flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

スイッチSWnとスイッチSWkとスイッチSW1は、設定したフローに従って、レイヤ3ノードN1からのパケットを順次転送し、現用系ルータR1へ届けられる。一度フローが設定されると、その後にレイヤ3ノードN1からルータ1とルータ2が共有する仮想IPアドレス宛に送信されたパケットは、設定されたフローに従って、スイッチSWnとスイッチSWkとスイッチSW1により転送処理され、現用系のルータR1へ届けられる。   The switch SWn, the switch SWk, and the switch SW1 sequentially transfer packets from the layer 3 node N1 according to the set flow, and are delivered to the active router R1. Once the flow is set, packets transmitted from the layer 3 node N1 to the virtual IP address shared by the router 1 and the router 2 are transferred by the switch SWn, the switch SWk, and the switch SW1 according to the set flow. It is processed and delivered to the active router R1.

次に、図8と図14と図16を参照して、図1に示すシステムを例して、障害発生時における、システム全体の処理の流れについて説明する。図16は、障害発生時における、図1に示すシステム全体の処理のフローを説明するための図である。なお、図中のスイッチSWkは、経路算出部C1Fにより算出された、スイッチSWnから現用系ルータに至る経路上のスイッチSWから、スイッチSWnとスイッチSW1(又は、スイッチSW2)を除いたスイッチSWを表す。なお、ルータR1の優先度の値は、ルータR2の優先度の値より大きいと仮定する。また、スイッチSW1とスイッチSW2のフローテーブルT1には、既に、VRRPパケットに関するフローが設定されているものとし、ルータR1が、現用系ルータとして機能しているものとする。   Next, with reference to FIG. 8, FIG. 14, and FIG. 16, the system shown in FIG. FIG. 16 is a diagram for explaining the processing flow of the entire system shown in FIG. 1 when a failure occurs. Note that the switch SWk in the figure is a switch SW obtained by removing the switch SWn and the switch SW1 (or the switch SW2) from the switch SW on the path from the switch SWn to the active router calculated by the path calculation unit C1F. Represent. It is assumed that the priority value of the router R1 is larger than the priority value of the router R2. Further, it is assumed that a flow related to the VRRP packet is already set in the flow table T1 of the switch SW1 and the switch SW2, and the router R1 functions as an active router.

現用系ルータのルータR1は定期的にVRRPパケットを送信する。ルータR1からのVRRPパケットを受信すると、スイッチSW1の判定部S1Dは、フローテーブルT1の「ルール」欄を検索して、ルータR1からのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定する。既に、フローテーブルT1には、ルータR1からのVRRPパケットに関するフローが設定されていることから、スイッチSW1の判定部S1Dは、ルータR1からのVRRPパケットに関するルールがフローテーブルT1に存在すると判定する。スイッチSW1は、フロー設定要求をコントローラCへ送信することなく、フローテーブルT1に設定されているフローに従って、VRRPパケットに自機のスイッチ番号1と、ルータR1が接続されている物理ポートの物理ポート番号10と、をそれぞれ特定するための情報を付加して転送し、VRRPパケットは、同じVRRPグループを形成する待機系ルータR2へ届けられる。   The router R1 of the active router periodically transmits VRRP packets. When the VRRP packet from the router R1 is received, the determination unit S1D of the switch SW1 searches the “rule” column of the flow table T1 to determine whether or not a rule regarding the VRRP packet from the router R1 exists in the flow table T1. judge. Since a flow related to the VRRP packet from the router R1 is already set in the flow table T1, the determination unit S1D of the switch SW1 determines that a rule related to the VRRP packet from the router R1 exists in the flow table T1. The switch SW1 does not transmit a flow setting request to the controller C, and the physical port of the physical port to which the switch number 1 of the own device and the router R1 are connected to the VRRP packet according to the flow set in the flow table T1. Information for identifying each of the numbers 10 is added and transferred, and the VRRP packet is delivered to the standby router R2 forming the same VRRP group.

ここで、ルータR1に障害が発生すると、ルータR2は、現用系ルータR1からのVRRPパケットを設定時間内に受信できないことから、ルータR2は、現用系ルータR1に障害が発生したと判定し、ルータR1の処理を引き継いで、現用系ルータとしてVRRPパケットを定期的に送信する。   Here, when a failure occurs in the router R1, the router R2 cannot receive the VRRP packet from the active router R1 within the set time, so the router R2 determines that a failure has occurred in the active router R1. Taking over the processing of the router R1, the VRRP packet is periodically transmitted as the active router.

ルータR2からのVRRPパケットを受信すると、スイッチSW2の判定部S1Dは、フローテーブルT1の「ルール」欄を検索して、ルータR2からのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定する。既に、フローテーブルT1には、ルータR2からのVRRPパケットに関するフローが設定されていることから、スイッチSW2の判定部S1Dは、ルータR2からのVRRPパケットに関するルールがフローテーブルT1に存在すると判定する。スイッチSW2は、フロー設定要求をコントローラCへ送信することなく、フローテーブルT1に設定されているフローに従って、VRRPパケットに自機のスイッチ番号2と、ルータR2が接続されている物理ポートの物理ポート番号20と、をそれぞれ特定するための情報を付加して転送し、VRRPパケットは、同じVRRPグループを形成する待機系ルータR1へ届けられる。   When the VRRP packet from the router R2 is received, the determination unit S1D of the switch SW2 searches the “rule” column of the flow table T1 to determine whether or not a rule regarding the VRRP packet from the router R2 exists in the flow table T1. judge. Since a flow related to the VRRP packet from the router R2 is already set in the flow table T1, the determination unit S1D of the switch SW2 determines that a rule related to the VRRP packet from the router R2 exists in the flow table T1. The switch SW2 does not transmit the flow setting request to the controller C, and the physical port of the physical port to which the switch number 2 of the own device and the router R2 are connected in the VRRP packet according to the flow set in the flow table T1. Information for identifying each of the numbers 20 is added and transferred, and the VRRP packet is delivered to the standby router R1 forming the same VRRP group.

現用系となったルータR2は、ARPテーブルを更新させるためのGARPパケットを送信する。スイッチSW2のGARP処理部S1Bは、スイッチSW2がルータR2からのGARPパケットを受信すると、受信したGARPパケットをコントローラCへ転送する。   The router R2 that has become the active system transmits a GARP packet for updating the ARP table. When the switch SW2 receives the GARP packet from the router R2, the GARP processing unit S1B of the switch SW2 transfers the received GARP packet to the controller C.

コントローラCのGARP処理部C1Eは、コントローラCがGARPパケットを受信すると、受信したGARPパケットから送信元MACアドレス(A2とする)を取得すると共に、接続情報テーブルT3から、GARPパケットの送信元のルータR2が接続されているスイッチSW2のスイッチ番号2を取得する。そして、コントローラCのGARP処理部C1Eは、取得した送信元MACアドレスA2とスイッチ番号2とを対応付けて、アドレステーブルT4に格納すると共に、受信したGARPパケットを、レイヤ3ノードN1へ転送させるために、スイッチSWnへ転送する。   When the controller C receives the GARP packet, the GARP processing unit C1E of the controller C acquires the transmission source MAC address (A2) from the received GARP packet, and from the connection information table T3, the GARP packet transmission source router The switch number 2 of the switch SW2 to which R2 is connected is acquired. Then, the GARP processing unit C1E of the controller C associates the acquired transmission source MAC address A2 with the switch number 2 and stores them in the address table T4 and forwards the received GARP packet to the layer 3 node N1. To the switch SWn.

スイッチSWnのGARPパケット処理部S1Bは、コントローラCから転送されたGARPパケットを受信すると、コントローラCの指示に従って、受信したGARPパケットをレイヤ3ノードN1へ転送する。   When receiving the GARP packet transferred from the controller C, the GARP packet processing unit S1B of the switch SWn transfers the received GARP packet to the layer 3 node N1 in accordance with an instruction from the controller C.

レイヤ3ノードN1は、GARPパケットを受信すると、保持しているARPテーブルの更新又は追加を行う。   When receiving the GARP packet, the layer 3 node N1 updates or adds the held ARP table.

レイヤ3ノードN1は、ルータ1とルータ2が共有する仮想IPアドレス宛にパケットを送信する際に、ARPテーブルを参照して、その仮想IPアドレス宛のパケットを生成し、生成したパケットを送信する。   When the layer 3 node N1 transmits a packet addressed to the virtual IP address shared by the router 1 and the router 2, the layer 3 node N1 refers to the ARP table, generates a packet addressed to the virtual IP address, and transmits the generated packet. .

スイッチSWnの判定部S1Dは、レイヤ3ノードN1からのパケットを受信すると、フローテーブルT1の「ルール」欄を検索して、受信したパケットのヘッダ情報と一致するルールが存在するか否かを判定する。受信したパケットが、レイヤ3ノードN1から現用系であるルータR2宛のいわゆるファーストパケットであると仮定すると、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないため、判定部S1Dは、受信したパケットのヘッダ情報と一致するルールがフローテーブルT1に存在しないと判定する。   When the determination unit S1D of the switch SWn receives a packet from the layer 3 node N1, the determination unit S1D searches the “rule” column of the flow table T1 to determine whether there is a rule that matches the header information of the received packet. To do. Assuming that the received packet is a so-called first packet addressed from the layer 3 node N1 to the active router R2, there is no rule in the flow table T1 that matches the header information of the received packet. It is determined that there is no rule in the flow table T1 that matches the header information of the received packet.

そのため、スイッチSWnのフロー処理部S1Eは、コントローラCへフロー設定要求を送信する。   Therefore, the flow processing unit S1E of the switch SWn transmits a flow setting request to the controller C.

コントローラCの経路算出部C1Fは、コントローラCがスイッチSWnからのフロー設定要求を受信すると、アドレステーブルT4の「MACアドレス」欄を検索して、フロー設定要求に含まれるパケットのヘッダ情報の、送信先MACアドレスA2と一致するMACアドレスに対応するスイッチ番号2を特定する。そして、経路算出部C1Fは、トポロジ情報テーブルT5を参照して、スイッチSWnから、特定したスイッチ番号2のスイッチSW2に接続されているパケットの送信先である現用系ルータR2までの経路(スイッチSWn>スイッチSWk>スイッチSW2>ルータR2)を算出する。   When the controller C receives the flow setting request from the switch SWn, the path calculation unit C1F of the controller C searches the “MAC address” column of the address table T4 and transmits the header information of the packet included in the flow setting request. The switch number 2 corresponding to the MAC address that matches the destination MAC address A2 is specified. Then, the path calculation unit C1F refers to the topology information table T5, and the path (switch SWn) from the switch SWn to the active router R2 that is the transmission destination of the packet connected to the switch SW2 with the identified switch number 2 > Switch SWk> Switch SW2> Router R2)

そして、コントローラCのフロー設定部C1Gは、経路算出部C1Fにより算出された経路と、フロー設定要求に含まれるパケットのヘッダ情報とに基づいて、経路上のスイッチSWnとスイッチSWkとスイッチSW2に対するフローをそれぞれ生成し、生成したフローを経路上のスイッチSWnとスイッチSWkとスイッチSW2へ送信する。   Then, the flow setting unit C1G of the controller C performs the flow for the switch SWn, the switch SWk, and the switch SW2 on the route based on the route calculated by the route calculation unit C1F and the header information of the packet included in the flow setting request. Are generated, and the generated flow is transmitted to the switch SWn, the switch SWk, and the switch SW2 on the path.

コントローラCから送信されたフローを受信した各スイッチSWのフロー設定部S1Cは、テーブル記憶部S2Aが格納するフローテーブルT1に、受信したフローを設定する。   The flow setting unit S1C of each switch SW that has received the flow transmitted from the controller C sets the received flow in the flow table T1 stored in the table storage unit S2A.

スイッチSWnとスイッチSWkとスイッチSW2は、設定したフローに従って、レイヤ3ノードN1からのパケットを順次転送し、現用系ルータR2へ届けられる。一度フローが設定されると、その後にレイヤ3ノードN1からルータ1とルータ2が共有する仮想IPアドレス宛に送信されたパケットは、設定されたフローに従って、スイッチSWnとスイッチSWkとスイッチSW2により転送処理され、新たに現用系となったルータR2へ届けられる。   The switch SWn, the switch SWk, and the switch SW2 sequentially transfer the packets from the layer 3 node N1 according to the set flow, and are delivered to the active router R2. Once a flow is set, packets sent from the layer 3 node N1 to the virtual IP address shared by the router 1 and the router 2 are transferred by the switch SWn, the switch SWk, and the switch SW2 according to the set flow. After being processed, it is delivered to the router R2 that has become the new active system.

本実施形態2によれば、VRRP機能を備える機器が送信したVRRPパケットを受信した、その機器が接続されているスイッチSWの判定部S1Dは、フローテーブルT1の「ルール」欄を検索して、自スイッチに接続されているルータからのVRRPパケットに関するルールがフローテーブルT1に存在するか否かを判定した。そして、その機器が接続されているスイッチSWのVRRPパケット処理部S1Aは、判定部S1Dによりその機器からのVRRPパケットに関するルールがフローテーブルT1に存在すると判定された場合には、フローテーブルT1を参照して、そのルールに対応するアクション情報により特定されるアクションに従って、受信したVRRPパケットを転送した。一方、判定部S1Dにより、その機器からのVRRPパケットに関するルールがフローテーブルT1に存在しないと判定された場合には、VRRPパケット処理部S1Aは、フロー設定要求をコントローラCへ送信した。そして、フロー設定要求を受信したコントローラCの経路算出部C1Fは、VRRPパケットの送信元の機器が接続されているスイッチSWから、その機器と同じVRRPグループを形成する機器までの経路を算出し、コントローラCのフロー設定部C1Gは、経路上に設置されている各スイッチSWに対するフローを生成し、生成したフローを各スイッチSWにそれぞれ設定した。こうすることで、スイッチSWは、接続されているVRRP機能を備える機器からのVRRPパケットを受信するたびに、コントローラCとの間でやりとりを行う必要がなくなることから、コントローラCの負荷を軽減させることが可能となる。また、VRRPパケットに関するフローが経路上の各スイッチSWに対して設定されることから、仮にコントローラCに障害が発生したとしても、現用系の機器に障害が発生しない限り、現用系の機器から定期的に送信されるVRRPパケットは、設定されたフローに従って、待機系の機器へ届けられるため、データ通信を継続することが可能となる。   According to the second embodiment, the determination unit S1D of the switch SW that has received the VRRP packet transmitted by the device having the VRRP function and that is connected to the device searches the “rule” column of the flow table T1, It was determined whether or not a rule relating to VRRP packets from the router connected to the own switch exists in the flow table T1. Then, the VRRP packet processing unit S1A of the switch SW to which the device is connected refers to the flow table T1 when the determination unit S1D determines that the rule regarding the VRRP packet from the device exists in the flow table T1. Then, the received VRRP packet is transferred according to the action specified by the action information corresponding to the rule. On the other hand, when the determination unit S1D determines that the rule regarding the VRRP packet from the device does not exist in the flow table T1, the VRRP packet processing unit S1A transmits a flow setting request to the controller C. Then, the path calculation unit C1F of the controller C that has received the flow setting request calculates a path from the switch SW to which the VRRP packet transmission source device is connected to a device that forms the same VRRP group as the device, The flow setting unit C1G of the controller C generates a flow for each switch SW installed on the route, and sets the generated flow for each switch SW. By doing so, the switch SW does not need to communicate with the controller C every time it receives a VRRP packet from the connected device having the VRRP function, thereby reducing the load on the controller C. It becomes possible. In addition, since a flow related to the VRRP packet is set for each switch SW on the route, even if a failure occurs in the controller C, the active device is periodically updated unless a failure occurs in the active device. Since the VRRP packet transmitted automatically is delivered to the standby device in accordance with the set flow, data communication can be continued.

なお、上記実施形態において、VRRP機能を備えるルータを例に、本発明について説明したが、本発明は、他の冗長化プロトコルを用いる機器に対しても適用することができる。   In the above embodiment, the present invention has been described by taking a router having a VRRP function as an example. However, the present invention can also be applied to a device using another redundancy protocol.

また、上記実施形態1において、コントローラCのVRRPパケット処理部C1Dは、待機系ルータからのVRRPパケットを破棄する構成としたが、破棄せずに現用系ルータへ届けるように構成してもよい。   In the first embodiment, the VRRP packet processing unit C1D of the controller C is configured to discard the VRRP packet from the standby router. However, the VRRP packet processing unit C1D may be configured to deliver the packet to the active router without discarding it.

また、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行することとしてもよい。
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、取得等するようにしてもよい。
In the embodiment, the program to be executed is a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read-Only Memory), a DVD (Digital Versatile Disc), and an MO (Magneto-Optical Disc). The above-described processing may be executed by storing and distributing in a medium and installing the program.
Further, the program may be stored in a disk device or the like included in a predetermined server device on a communication network such as the Internet, and may be acquired by being superimposed on a carrier wave, for example.

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。   As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to the specific embodiment which concerns, This invention includes the invention described in the claim, and its equivalent range It is.

1 オープンフローネットワークシステム
2 スイッチ群
SW1〜SWn スイッチ
S1 制御部
S1A VRRPパケット処理部
S1B GARPパケット処理部
S1C フロー設定部
S1D 判定部
S1E フロー処理部
S2 記憶部
S2A テーブル記憶部
C コントローラ
C1 制御部
C1A 送信元判定部
C1B タイマ
C1C 判定部
C1D VRRPパケット処理部
C1E GARPパケット処理部
C1F 経路算出部
C1G フロー設定部
C2 記憶部
C2A テーブル記憶部
T1 フローテーブル
T2 設定時間テーブル
T3 接続情報テーブル
T4 アドレステーブル
T5 トポロジ情報テーブル
DESCRIPTION OF SYMBOLS 1 Open flow network system 2 Switch group SW1-SWn Switch S1 Control part S1A VRRP packet processing part S1B GARP packet processing part S1C Flow setting part S1D Judgment part S1E Flow processing part S2 Storage part S2A Table storage part C Controller C1 Control part C1A Transmission Original determination unit C1B timer C1C determination unit C1D VRRP packet processing unit C1E GARP packet processing unit C1F route calculation unit C1G flow setting unit C2 storage unit C2A table storage unit T1 flow table T2 set time table T3 connection information table T4 address table T5 topology information table

Claims (14)

オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、受信した死活監視用パケットを、前記各スイッチのデータ転送処理を一元的に制御するコントローラへ転送する死活監視用パケット転送手段と、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送手段と、
を備え、
前記コントローラが、
前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる死活監視用パケット転送制御手段と、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する経路算出手段と、
前記経路算出手段により算出された経路上の各スイッチを制御して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるパケット転送制御手段と、
を備える、
ことを特徴とするオープンフローネットワークシステム。
Each switch that makes up the OpenFlow network
A controller that centrally controls the data transfer processing of each switch when the life / death monitoring packet, which is packet data for life / death monitoring, is received from a physically redundant network device. Alive monitoring packet transfer means to transfer to,
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving the Address Resolution Protocol) packet, a GARP packet transfer means for transferring the received GARP packet to the controller;
With
The controller is
Controlling a switch connected to a network device other than the network device that has transmitted the alive monitoring packet among the physically redundant network devices, the alive monitoring packet is monitored by the alive monitoring. A packet transfer control means for alive monitoring that transmits the packet to a network device other than the network device that has transmitted the packet;
Route calculation means for calculating a route from the switch to which the node is connected to the active network device;
By controlling each switch on the route calculated by the route calculating means, packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device is transmitted. Packet transfer control means for transmitting to the active network device;
Comprising
Open flow network system characterized by this.
前記コントローラが、
前記物理的に冗長化されているネットワーク機器が接続されている各スイッチを一意に識別可能な情報を対応付けたネットワーク機器スイッチ対応情報を格納する記憶部をさらに備え、
前記死活監視用パケット転送制御部は、前記記憶部に格納されている前記ネットワーク機器スイッチ対応情報に基づいて、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器を特定し、特定したネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記特定したネットワーク機器へ送信させる、
ことを特徴とする請求項1に記載のオープンフローネットワークシステム。
The controller is
A storage unit for storing network device switch correspondence information in which information that can uniquely identify each switch connected to the physically redundant network device is associated;
The life and death monitoring packet transfer control unit transmits the life and death monitoring packet among the physically redundant network devices based on the network device switch correspondence information stored in the storage unit. Identifying a network device other than the network device, controlling a switch to which the identified network device is connected, and transmitting the alive monitoring packet to the identified network device.
The open flow network system according to claim 1.
前記記憶部は、前記ネットワーク機器スイッチ対応情報と、前記物理的に冗長化されているネットワーク機器が接続されているスイッチのうちで、いずれのスイッチに接続されているネットワーク機器が現用系ネットワーク機器かを識別可能な現用系情報と、を対応つけた接続情報を格納し、
前記コントローラが、
前記GARPパケット転送手段により転送された前記GARPパケットに含まれる、前記現用系ネットワーク機器の物理MAC(Media Access Control)アドレスを取得する取得手段をさらに備え、
前記経路算出手段は、前記取得手段により取得された前記現用系ネットワーク機器の物理MACアドレスと前記接続情報とに基づいて、前記パケットデータのヘッダ情報に含まれる送信先MACアドレスと一致する前記現用系ネットワーク機器の物理MACアドレスに対応するスイッチを特定して、前記ノードが接続されているスイッチから前記特定したスイッチに接続されている前記現用系ネットワーク機器までの経路を算出する、
ことを特徴とする請求項2に記載のオープンフローネットワークシステム。
The storage unit includes the network device switch correspondence information and the switch to which the physically redundant network device is connected, which network device is connected to the active network device. The connection information that associates the active system information that can be identified with
The controller is
An acquisition unit for acquiring a physical MAC (Media Access Control) address of the active network device included in the GARP packet transferred by the GARP packet transfer unit;
The path calculating unit is configured to match the destination MAC address included in the header information of the packet data based on the physical MAC address of the active network device acquired by the acquiring unit and the connection information. Identifying a switch corresponding to the physical MAC address of the network device, and calculating a path from the switch to which the node is connected to the active network device connected to the identified switch;
The open flow network system according to claim 2.
前記コントローラが、
前記記憶部に格納されている接続情報を参照して、前記死活監視用パケットを送信したネットワーク機器が現用系ネットワーク機器か否かを判定する送信元判定手段をさらに備え、
死活監視用パケット転送制御手段は、前記送信元判定手段により前記死活監視用パケットを送信したネットワーク機器が現用系ネットワーク機器であると判定された場合のみ、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる、
ことを特徴とする請求項3に記載のオープンフローネットワークシステム。
The controller is
Further comprising transmission source determination means for referring to connection information stored in the storage unit to determine whether the network device that has transmitted the alive monitoring packet is an active network device;
The life and death monitoring packet transfer control means is configured so that the network device that is physically redundant only when the transmission source determination means determines that the network device that has transmitted the life and death monitoring packet is an active network device. A network device other than the network device that has transmitted the alive monitoring packet by controlling a switch to which a network device other than the network device that has transmitted the alive monitoring packet is connected. To send to
The open flow network system according to claim 3.
前記コントローラが、
現用系ネットワーク機器からの死活監視用パケットが所定時間内に受信できなかった場合には、該現用系ネットワーク機器に障害が発生したと判定し、前記接続情報の対応する現用系情報を更新する更新手段をさらに備える、
ことを特徴とする請求項3又は4に記載のオープンフローネットワークシステム。
The controller is
When the alive monitoring packet from the active network device cannot be received within a predetermined time, it is determined that a failure has occurred in the active network device, and the update for updating the corresponding active information in the connection information Further comprising means,
The open flow network system according to claim 3 or 4, wherein
前記物理的に冗長化されているネットワーク機器は、VRRP(Virtual Router Redundancy Protocol)機能を備え、前記死活監視用パケットは、VRRPパケットである、
ことを特徴とする請求項1乃至5のいずれか一に記載のオープンフローネットワークシステム。
The physically redundant network device has a VRRP (Virtual Router Redundancy Protocol) function, and the alive monitoring packet is a VRRP packet.
The OpenFlow network system according to any one of claims 1 to 5, wherein
前記物理的に冗長化されているネットワーク機器は、ルータである、
ことを特徴とする請求項1乃至6のいずれか一に記載のオープンフローネットワークシステム。
The physically redundant network device is a router.
The OpenFlow network system according to any one of claims 1 to 6, wherein
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローの設定を、自スイッチから前記死活監視用パケットの送信先のネットワーク機器までの経路上の各スイッチに対して実行するよう要求するフロー設定要求を、コントローラへ送信するフロー設定要求送信手段と、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送手段と、
を備え、
前記コントローラが、
前記フロー設定要求を受信すると、前記フロー設定要求を送信したスイッチから、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器までの経路を算出する第1経路算出手段と、
前記第1経路算出手段により算出された経路上の各スイッチに対して、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信させるためのフローをそれぞれ設定する死活監視用パケット転送制御手段と、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する第2経路算出手段と、
前記第2経路算出手段により算出された経路上の各スイッチに対して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるためのフローをそれぞれ設定するパケット転送制御手段と、
を備える、
ことを特徴とするオープンフローネットワークシステム。
Each switch that makes up the OpenFlow network
When a life / death monitoring packet that is packet data for life / death monitoring is received from a physically redundant network device, the life / death monitoring packet is transmitted from the physically redundant network device. The flow setting for transmitting the life / death monitoring packet received to the network device other than the network device is executed for each switch on the path from the own switch to the network device that is the transmission destination of the life / death monitoring packet. Flow setting request transmitting means for transmitting a flow setting request for requesting to the controller;
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving the Address Resolution Protocol) packet, a GARP packet transfer means for transferring the received GARP packet to the controller;
With
The controller is
When the flow setting request is received, a path from the switch that transmitted the flow setting request to a network device other than the network device that transmitted the alive monitoring packet among the physically redundant network devices First route calculating means for calculating
For each switch on the route calculated by the first route calculating means, among the network devices that are physically redundant, to network devices other than the network device that transmitted the alive monitoring packet, Life and death monitoring packet transfer control means for setting a flow for transmitting the life and death monitoring packet,
Second route calculating means for calculating a route from the switch to which the node is connected to the active network device;
Packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device for each switch on the route calculated by the second route calculating means A packet transfer control means for setting a flow for transmitting to the active network device,
Comprising
Open flow network system characterized by this.
前記各スイッチが、
前記ネットワーク機器から前記死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記受信した死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローが既に設定されているか否かを判定する判定手段をさらに備え、
フロー設定要求送信手段は、前記判定手段により、前記物理的に冗長化されているネットワーク機器のうちで、前記受信した死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローがまだ設定されていないと判定された場合のみ、前記フロー設定要求をコントローラへ送信する、
ことを特徴とする請求項8に記載のオープンフローネットワークシステム。
Each of the switches
Upon receiving the alive monitoring packet from the network device, the alive monitoring received from the physically redundant network device to a network device other than the network device that has transmitted the received alive monitoring packet. A determination unit for determining whether or not a flow for transmitting a packet has already been set;
The flow setting request transmission means receives the life / death monitoring packet received by the determination means to a network device other than the network device that has transmitted the received life / death monitoring packet among the physically redundant network devices. The flow setting request is transmitted to the controller only when it is determined that the flow for transmitting is not yet set.
The open flow network system according to claim 8, wherein:
前記コントローラが、
前記物理的に冗長化されているネットワーク機器が接続されている各スイッチを一意に識別可能な情報を対応付けたネットワーク機器スイッチ対応情報を格納する記憶部をさらに備え、
前記第1経路算出部は、前記記憶部に格納されている前記ネットワーク機器スイッチ対応情報に基づいて、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器を特定し、前記フロー設定要求を送信したスイッチから、特定したネットワーク機器までの経路を算出する、
ことを特徴とする請求項8又は9に記載のオープンフローネットワークシステム。
The controller is
A storage unit for storing network device switch correspondence information in which information that can uniquely identify each switch connected to the physically redundant network device is associated;
The first path calculation unit is a network that transmits the alive monitoring packet among the physically redundant network devices based on the network device switch correspondence information stored in the storage unit. Specify a network device other than the device, and calculate a route from the switch that transmitted the flow setting request to the specified network device.
The open flow network system according to claim 8 or 9, characterized in that.
前記物理的に冗長化されているネットワーク機器は、VRRP(Virtual Router Redundancy Protocol)機能を備え、前記死活監視用パケットは、VRRPパケットである、
ことを特徴とする請求項8乃至10のいずれか一に記載のオープンフローネットワークシステム。
The physically redundant network device has a VRRP (Virtual Router Redundancy Protocol) function, and the alive monitoring packet is a VRRP packet.
The OpenFlow network system according to any one of claims 8 to 10, wherein
前記物理的に冗長化されているネットワーク機器は、ルータである、
ことを特徴とする請求項8乃至11のいずれか一に記載のオープンフローネットワークシステム。
The physically redundant network device is a router.
The OpenFlow network system according to any one of claims 8 to 11, wherein
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、受信した死活監視用パケットを、前記各スイッチのデータ転送処理を一元的に制御するコントローラへ転送する死活監視用パケット転送ステップと、
前記コントローラが、
前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器が接続されているスイッチを制御して、前記死活監視用パケットを、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ送信させる死活監視用パケット転送制御ステップと、
前記オープンフローネットワークを構成する各スイッチが、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送ステップと、
前記コントローラが、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する経路算出ステップと、
前記コントローラが、
前記経路算出ステップにより算出された経路上の各スイッチを制御して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるパケット転送制御ステップと、
を備える、
ことを特徴とするデータ通信方法。
Each switch that makes up the OpenFlow network
A controller that centrally controls the data transfer processing of each switch when the life / death monitoring packet, which is packet data for life / death monitoring, is received from a physically redundant network device. Alive monitoring packet forwarding step to forward to,
The controller is
Controlling a switch connected to a network device other than the network device that has transmitted the alive monitoring packet among the physically redundant network devices, the alive monitoring packet is monitored by the alive monitoring. A packet transfer control step for alive monitoring that transmits a packet to a network device other than the network device that transmitted the packet,
Each switch constituting the OpenFlow network is
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving an Address Resolution Protocol) packet, a GARP packet transfer step for transferring the received GARP packet to the controller;
The controller is
A route calculating step for calculating a route from the switch to which the node is connected to the active network device;
The controller is
By controlling each switch on the route calculated by the route calculating step, packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device A packet transfer control step for transmitting to the active network device;
Comprising
A data communication method characterized by the above.
オープンフローネットワークを構成する各スイッチが、
物理的に冗長化されているネットワーク機器から死活監視のためのパケットデータである死活監視用パケットを受信すると、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ受信した死活監視用パケットを送信するためのフローの設定を、自スイッチから前記死活監視用パケットの送信先のネットワーク機器までの経路上の各スイッチに対して実行するよう要求するフロー設定要求を、コントローラへ送信するフロー設定要求送信ステップと、
前記コントローラが、
前記フロー設定要求を受信すると、前記フロー設定要求を送信したスイッチから、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器までの経路を算出する第1経路算出ステップと、
前記コントローラが、
前記第1経路算出ステップで算出された経路上の各スイッチに対して、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信させるためのフローをそれぞれ設定する死活監視用パケット転送制御ステップと、
前記第1経路算出ステップで算出された経路上の各スイッチが、
前記第1経路算出ステップでそれぞれ設定されたフローに基づいて、前記死活監視用パケットを順次転送することで、前記物理的に冗長化されているネットワーク機器のうちで、前記死活監視用パケットを送信したネットワーク機器以外のネットワーク機器へ、前記死活監視用パケットを送信する死活監視用パケット送信ステップと、
前記オープンフローネットワークを構成する各スイッチが、
前記物理的に冗長化されているネットワーク機器のうちの現用系ネットワーク機器が送信する、前記オープンフローネットワークに接続されているノードが保持するARP(Address Resolution Protocol)テーブルを更新させるためのGARP(Gratuitous Address Resolution Protocol)パケットを受信すると、前記コントローラへ受信した前記GARPパケットを転送するGARPパケット転送ステップと、
前記コントローラが、
前記ノードが接続されているスイッチから前記現用系ネットワーク機器までの経路を算出する第2経路算出ステップと、
前記コントローラが、
前記第2経路算出ステップで算出された経路上の各スイッチに対して、前記ノードから前記物理的に冗長化されているネットワーク機器が共有する仮想IP(Internet Protocol)アドレス宛に送信されたパケットデータを、前記現用系ネットワーク機器へ送信させるためのフローをそれぞれ設定するパケット転送制御ステップと、
前記第2経路算出ステップで算出された経路上の各スイッチが、
前記パケット転送制御ステップでそれぞれ設定されたフローに基づいて、前記パケットデータを順次転送することで、前記現用系ネットワーク機器へ、前記パケットデータを送信するパケット送信ステップと、
を備える、
ことを特徴とするデータ通信方法。
Each switch that makes up the OpenFlow network
When a life / death monitoring packet that is packet data for life / death monitoring is received from a physically redundant network device, the life / death monitoring packet is transmitted from the physically redundant network device. The flow setting for transmitting the life / death monitoring packet received to the network device other than the network device is executed for each switch on the path from the own switch to the network device that is the transmission destination of the life / death monitoring packet. A flow setting request sending step for sending a flow setting request to the controller to the controller;
The controller is
When the flow setting request is received, a path from the switch that transmitted the flow setting request to a network device other than the network device that transmitted the alive monitoring packet among the physically redundant network devices A first route calculating step for calculating
The controller is
For each switch on the route calculated in the first route calculating step, among the network devices that are physically redundant, to network devices other than the network device that transmitted the alive monitoring packet, Life and death monitoring packet transfer control step for setting a flow for transmitting the life and death monitoring packet, and
Each switch on the route calculated in the first route calculating step is
Based on the flow set in the first route calculation step, the life and death monitoring packet is sequentially transferred, so that the life and death monitoring packet is transmitted among the physically redundant network devices. A life / death monitoring packet transmission step for transmitting the life / death monitoring packet to a network device other than the network device,
Each switch constituting the OpenFlow network is
A GARP (Gratuitous) for updating an ARP (Address Resolution Protocol) table held by a node connected to the OpenFlow network, which is transmitted by an active network device among the physically redundant network devices. When receiving an Address Resolution Protocol) packet, a GARP packet transfer step for transferring the received GARP packet to the controller;
The controller is
A second route calculating step for calculating a route from the switch to which the node is connected to the active network device;
The controller is
Packet data transmitted from the node to a virtual IP (Internet Protocol) address shared by the physically redundant network device for each switch on the route calculated in the second route calculating step A packet transfer control step for setting a flow for transmitting to the active network device,
Each switch on the route calculated in the second route calculating step is
A packet transmission step of transmitting the packet data to the active network device by sequentially transferring the packet data based on the flow set in the packet transfer control step,
Comprising
A data communication method characterized by the above.
JP2012080859A 2012-03-30 2012-03-30 Open flow network system and data communication method Expired - Fee Related JP5814849B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012080859A JP5814849B2 (en) 2012-03-30 2012-03-30 Open flow network system and data communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012080859A JP5814849B2 (en) 2012-03-30 2012-03-30 Open flow network system and data communication method

Publications (2)

Publication Number Publication Date
JP2013211706A true JP2013211706A (en) 2013-10-10
JP5814849B2 JP5814849B2 (en) 2015-11-17

Family

ID=49529187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012080859A Expired - Fee Related JP5814849B2 (en) 2012-03-30 2012-03-30 Open flow network system and data communication method

Country Status (1)

Country Link
JP (1) JP5814849B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538667B1 (en) * 2013-12-31 2015-07-22 주식회사 시큐아이 Network system and method for controlling network
WO2016009642A1 (en) * 2014-07-16 2016-01-21 日本電気株式会社 Communication control apparatus, communication system, communication control method, and communication control program
CN105959222A (en) * 2016-04-25 2016-09-21 上海斐讯数据通信技术有限公司 Message forwarding method, route nodes, and software defined network
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020250407A1 (en) * 2019-06-14 2020-12-17 日本電信電話株式会社 Monitoring device, redundancy switching method, redundancy switching program, and network system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167435A (en) * 2003-12-01 2005-06-23 Hitachi Ltd Vrrp technology sustaining confidentiality of vr
US20070230472A1 (en) * 2006-02-02 2007-10-04 Nortel Networks Limited Method and apparatus for learning VRRP backup routers
JP2010114657A (en) * 2008-11-06 2010-05-20 Fujitsu Ltd Communication path detection method, communication path detection program, and communication path detecting device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167435A (en) * 2003-12-01 2005-06-23 Hitachi Ltd Vrrp technology sustaining confidentiality of vr
US20070230472A1 (en) * 2006-02-02 2007-10-04 Nortel Networks Limited Method and apparatus for learning VRRP backup routers
JP2010114657A (en) * 2008-11-06 2010-05-20 Fujitsu Ltd Communication path detection method, communication path detection program, and communication path detecting device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538667B1 (en) * 2013-12-31 2015-07-22 주식회사 시큐아이 Network system and method for controlling network
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network
WO2016009642A1 (en) * 2014-07-16 2016-01-21 日本電気株式会社 Communication control apparatus, communication system, communication control method, and communication control program
US10257120B2 (en) 2014-07-16 2019-04-09 Nec Corporation Converting an aggregated flow to a real flow for core nodes
CN105959222A (en) * 2016-04-25 2016-09-21 上海斐讯数据通信技术有限公司 Message forwarding method, route nodes, and software defined network

Also Published As

Publication number Publication date
JP5814849B2 (en) 2015-11-17

Similar Documents

Publication Publication Date Title
EP2109962B1 (en) Triple-tier anycast addressing
US8989048B2 (en) Node system ID change in link state protocol network
US7895345B2 (en) Distributed routing table architecture and design
JP4449903B2 (en) Router device and network connection method
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
US20130135989A1 (en) Data forwarding apparatus with redundancy
JP2018530969A (en) Method for realizing explicit replication with bit index and bit transfer router
US20170214609A1 (en) Forwarding method and forwarding device
JP5814849B2 (en) Open flow network system and data communication method
EP2748992A2 (en) System and methods for managing network hardware address requests with a controller
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
CN104919760B (en) Virtual enclosure system control protocol
KR101464790B1 (en) Method, bridge and computer network for calculating a spanning tree based on link state advertisement(lsa)
US10404544B2 (en) Network topology determining method and apparatus, and centralized network status information storage device
JP6064989B2 (en) Control device, communication system, node control method, and program
JP5978384B2 (en) Method for receiving information, method for transmitting information and apparatus thereof
US9246796B2 (en) Transmitting and forwarding data
JP6109954B2 (en) System and method for pass-through mode in a virtual chassis system
JP2006157716A (en) Network node device and route information updating method thereof
JP6217190B2 (en) Packet relay device, packet relay system, and packet relay method
US10735252B2 (en) Outside router fault detection
JP2012191534A (en) Changeover method of layer 3 switch
CN113098788A (en) Method and device for releasing route
US20130159549A1 (en) Device communications over unnumbered interfaces
JP4369882B2 (en) Routing method and network system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150918

R150 Certificate of patent or registration of utility model

Ref document number: 5814849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees