JP5413737B2 - Network system and route information update method - Google Patents
Network system and route information update method Download PDFInfo
- Publication number
- JP5413737B2 JP5413737B2 JP2010030677A JP2010030677A JP5413737B2 JP 5413737 B2 JP5413737 B2 JP 5413737B2 JP 2010030677 A JP2010030677 A JP 2010030677A JP 2010030677 A JP2010030677 A JP 2010030677A JP 5413737 B2 JP5413737 B2 JP 5413737B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- packet
- network device
- controller
- route information
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ネットワークシステムに関し、特に外部コントローラがネットワーク機器を制御するネットワークシステムに関する。 The present invention relates to a network system, and more particularly to a network system in which an external controller controls network devices.
従来のネットワーク(NW:Network)機器はブラックボックスであり、外部から負荷分散や片寄せ等の柔軟性に富んだ制御ができない。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更において、多大な遅延を伴うことが問題となっていた。 A conventional network (NW) device is a black box, and cannot perform flexible control such as load distribution or offset from the outside. For this reason, when the scale of the network increases, it becomes difficult to grasp and improve the behavior of the system, and there has been a problem that a great deal of delay is involved in design and configuration change.
こうした問題を解決するための手法として、ネットワーク(NW)機器のパケット(packet)転送と経路制御の機能を分離する手法が考えられている。例えば、ネットワーク(NW)機器がパケット転送を担当し、ネットワーク(NW)機器の外部に置かれたコントローラが経路制御を担当することで、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。 As a technique for solving such a problem, a technique of separating packet transfer and routing control functions of a network (NW) device is considered. For example, a network (NW) device is in charge of packet transfer, and a controller placed outside the network (NW) device is in charge of path control. It becomes possible to build.
上記手法の具体的な例として、オープンフロー(OpenFlow)について説明する。但し、オープンフローは一例に過ぎない。オープンフローについては、オープンフローコンソーシアム(非特許文献1参照)で検討が進んでいる。 As a specific example of the above method, open flow (OpenFlow) will be described. However, OpenFlow is only an example. About open flow, examination is progressing in the open flow consortium (refer nonpatent literature 1).
図1に、オープンフロー0.9.0の基本的な構成例を示す。図1では、ネットワーク(NW)機器の例としてスイッチを示す。図2に、パケット転送と経路制御を分離したネットワーク(NW)機器の規格であるオープンフローの場合における従来のパケット処理の流れを示す。図3に、従来のパケット照合処理の流れを示す。 FIG. 1 shows a basic configuration example of OpenFlow 0.9.0. In FIG. 1, a switch is shown as an example of a network (NW) device. FIG. 2 shows a conventional packet processing flow in the case of OpenFlow, which is a standard for a network (NW) device in which packet transfer and path control are separated. FIG. 3 shows a flow of conventional packet matching processing.
オープンフローは、オープンフロープロトコルをサポートしたネットワーク(NW)機器と、外部に置かれたコントローラで構成される。ネットワーク(NW)機器とコントローラは、セキュアチャンネル(Secure channel:安全な経路)で接続されており、オープンフロープロトコルで通信を行う。オープンフローでは、ネットワーク(NW)機器のパケット転送と経路制御は分離されており、ネットワーク(NW)機器はパケット転送を行い、コントローラはネットワーク(NW)機器の経路制御を行う。 OpenFlow is composed of a network (NW) device that supports the OpenFlow protocol and an external controller. The network (NW) device and the controller are connected by a secure channel (Secure channel) and communicate by the open flow protocol. In OpenFlow, packet transfer and route control of a network (NW) device are separated, the network (NW) device performs packet transfer, and the controller performs route control of the network (NW) device.
オープンフローをサポートするネットワーク(NW)機器は、内部にフローテーブル(Flow table)と呼ばれる経路情報を持つ。フローテーブルは、フロー(Flow)として定義されたパケットのヘッダ領域情報(Header Field)と、当該パケットが届いたときの処理(Action)との対応関係を管理するテーブルである。ここでは、ヘッダ領域情報(Header Field)と処理(Action)の組をエントリー(entry)と呼称する。ヘッダ領域情報(Header Field)は、その内容により、パケットの判定基準となる所定の規則(Rule)を示す。処理(Action)は、パケットを物理ポートや仮想ポートに転送するフォワード(Forward)処理や、パケットを廃棄するドロップ(Drop)処理等であり、ビットマップ(bitmap)等で表現される。ネットワーク(NW)機器は、受信したパケット内のヘッダ領域情報(Header Field)と、フローテーブル内のヘッダ領域情報(Header Field)を照合し、照合の結果、合致していれば、対応する処理(Action)を実行する。 A network (NW) device that supports OpenFlow has route information called a flow table inside. The flow table is a table for managing a correspondence relationship between header area information (Header Field) of a packet defined as a flow (Flow) and processing (Action) when the packet arrives. Here, a set of header area information (Header Field) and processing (Action) is referred to as an entry. The header area information (Header Field) indicates a predetermined rule (Rule) that is a determination criterion of a packet depending on the content thereof. The processing (Action) includes forward processing for transferring a packet to a physical port or a virtual port, drop processing for discarding the packet, and the like, and is expressed by a bitmap (bitmap) or the like. The network (NW) device collates the header area information (Header Field) in the received packet with the header area information (Header Field) in the flow table. Action).
図1を参照して、ヘッダ領域情報(Header Field)の要素となり得る情報について説明する。 With reference to FIG. 1, information that can be an element of header area information (Header Field) will be described.
図1では、ヘッダ領域情報(Header Field)の要素となり得る情報として、「Ingress Port」と、「Ether src」と、「Ether dst」と、「Ether type」と、「VLAN ID」と、「VLAN priority」と、「IP src」と、「IP dst」と、「IP proto」と、「TCP/UDP src port」と、「TCP/UDP dst port」を示している。フローテーブルとパケットとの照合の際には、これらの情報のいずれか又は全てが使用される。すなわち、これらの情報のいずれか又は全てを組み合わせて、フローが定義される。 In FIG. 1, as information that can be elements of header area information (Header Field), “Ingress Port”, “Ether src”, “Ether dst”, “Ether type”, “VLAN ID”, “VLAN” “priority”, “IP src”, “IP dst”, “IP protocol”, “TCP / UDP src port”, and “TCP / UDP dst port” are shown. Any or all of these pieces of information are used when collating the flow table with the packet. That is, a flow is defined by combining any or all of these pieces of information.
「Ingress Port」は、入力ポートを示す。「Ether src」は、送信元(Source)のMACアドレス(Media Access Control Address)を示す。「Ether dst」は、宛先(Destination)のMACアドレスを示す。「Ether type」は、上位層のプロトコルの種類を示す。「VLAN ID」は、仮想LAN(Virtual Local Area Network)スイッチのポート毎に設定された識別情報を示す。「VLAN priority」は、仮想LANスイッチの該当ポートの優先度を示す。「IP src」は、送信元のIPアドレス(Internet Protocol Address)を示す。「IP dst」は、宛先のIPアドレスを示す。「IP proto」は、IPのプロトコル番号を示す。「TCP/UDP src port」は、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)における送信元のポート番号を示す。「TCP/UDP dst port」は、TCPやUDPにおける宛先のポート番号を示す。 “Ingress Port” indicates an input port. “Ether src” indicates the MAC address (Media Access Control Address) of the transmission source (Source). “Ether dst” indicates the MAC address of the destination (Destination). “Ether type” indicates the type of the upper layer protocol. “VLAN ID” indicates identification information set for each port of a virtual LAN (Virtual Local Area Network) switch. “VLAN priority” indicates the priority of the corresponding port of the virtual LAN switch. “IP src” indicates a source IP address (Internet Protocol Address). “IP dst” indicates a destination IP address. “IP proto” indicates an IP protocol number. “TCP / UDP src port” indicates a port number of a transmission source in TCP (Transmission Control Protocol) or UDP (User Datagram Protocol). “TCP / UDP dst port” indicates a destination port number in TCP or UDP.
コントローラは、ネットワーク(NW)機器制御手段(図1のスイッチ制御手段)を備え、セキュアチャンネル(Secure channel)を介して、ネットワーク(NW)機器のフローテーブルを更新して、ネットワーク(NW)機器を制御する。 The controller includes network (NW) device control means (switch control means in FIG. 1), updates the flow table of the network (NW) device via the secure channel, and sets the network (NW) device. Control.
ネットワーク(NW)機器は、パケット転送手段(図1のパケット処理手段)を備え、パケットが到着すると、内部に持つフローテーブルとパケットの照合を行い、該当するエントリーが存在する場合は、関連付けられたパケット送信や廃棄等の処理(Action)を実行する。 The network (NW) device is provided with a packet transfer means (packet processing means in FIG. 1). When a packet arrives, it collates the packet with an internal flow table, and if there is a corresponding entry, it is associated. Processing (Action) such as packet transmission and discarding is executed.
ここで、図2を参照して、従来のパケット処理の流れについて説明する。
ネットワーク(NW)機器は、ネットワークからパケットを受信する(図2の「Packet in from network」)。
Here, the flow of conventional packet processing will be described with reference to FIG.
The network (NW) device receives a packet from the network (“Packet in from network” in FIG. 2).
ネットワーク(NW)機器は、ネットワーク上に複数存在し、個々のネットワーク(NW)機器は、IEEE 802.1D標準のSTP(Spanning Tree Protocol)に従い、ループフリーな論理トポロジーを維持する。個々のネットワーク(NW)機器は、ルートブリッジとなるネットワーク(NW)機器から木のように枝分かれしている。個々のネットワーク(NW)機器は、それぞれパケットを受信し、パケットに対する処理を行う(図2の「802.1d STP Processing」)。 A plurality of network (NW) devices exist on the network, and each network (NW) device maintains a loop-free logical topology in accordance with STP (Spanning Tree Protocol) of the IEEE 802.1D standard. Each network (NW) device is branched like a tree from a network (NW) device serving as a root bridge. Each network (NW) device receives the packet and processes the packet (“802.1d STP Processing” in FIG. 2).
ネットワーク(NW)機器は、内部に持つフローテーブルのエントリーと、受信したパケットの照合を行う(図2の「Flow lookup」)。 The network (NW) device collates the received packet with the entry of the internal flow table (“Flow lookup” in FIG. 2).
ここで、図3を参照して、従来のパケット照合処理について詳述する。
まず、ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と照合する際の照合対象となるパケットのヘッダ領域情報(Header Field)に、「Ingress Port」と、「Ether src」と、「Ether dst」と、「Ether type」を指定する(図3の「Header Field=<Ingress Port, Ether src, Ether dst, Ether type>」)。
Here, a conventional packet matching process will be described in detail with reference to FIG.
First, the network (NW) device adds “Ingress Port” and “Ether src” to the header area information (Header Field) of the packet to be collated when collating with the header area information (Header Field) of the entry in the flow table. "Ether dst" and "Ether type" are specified ("Header Field = <Ingress Port, Ether src, Ether dst, Ether type>" in FIG. 3).
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x8100」であるか確認する(図3の「Ether type = 0x8100?」)。 The network (NW) device checks whether the value of “Ether type” in the header area information (Header Field) of the packet is “0x8100” (“Ether type = 0x8100?” In FIG. 3).
ネットワーク(NW)機器は、「Ether type」の値が「0x8100」である場合、「VLAN ID」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「Ether type」についても照合対象とする。このとき、ネットワーク(NW)機器は、カプセル化された「Ether type」の値を、「Ether type」の値として使用する(図3の「Add <VLAN ID> to Header Field, Use encapsulated Ether type as Ether type」)。 When the value of “Ether type” is “0x8100”, the network (NW) device adds “VLAN ID” to the header area information (Header Field) as a new collation target. That is, the network (NW) device also sets “Ether type” as a verification target. At this time, the network (NW) device uses the value of the encapsulated “Ether type” as the value of “Ether type” (“Add <VLAN ID> to Header Field, Use encapsulated Ether type as shown in FIG. 3). Ether type ").
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x800」であるか確認する(図3の「Ether type = 0x800?」)。 The network (NW) device checks whether the value of “Ether type” in the header area information (Header Field) of the packet is “0x800” (“Ether type = 0x800?” In FIG. 3).
ネットワーク(NW)機器は、「Ether type」の値が「0x800」である場合、「IP src」と、「IP dst」と、「IP proto」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「IP src」と、「IP dst」と、「IP proto」についても照合対象とする(図3の「Add <IP src, IP dst, IP proto> to Header Field」)。 When the value of “Ether type” is “0x800”, the network (NW) device uses “IP src”, “IP dst”, and “IP protocol” as new collation targets, and header area information (Header) Field). That is, the network (NW) device also checks “IP src”, “IP dst”, and “IP protocol” (“Add <IP src, IP dst, IP protocol> to Header Field” in FIG. 3). ").
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「IP proto」の値が「6」又は「17」であるか確認する(図3の「IP proto = 6 or 17?」)。 The network (NW) device confirms whether the value of “IP protocol” in the header field information (Header Field) of the packet is “6” or “17” (“IP protocol = 6 or 17?” In FIG. 3). .
ネットワーク(NW)機器は、「IP proto」の値が「6」又は「17」である場合、「TCP/UDP src port」と、「TCP/UDP dst port」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「TCP/UDP src port」と、「TCP/UDP dst port」についても照合対象とする(図3の「Add <TCP/UDP src port, TCP/UDP dst port> to Header Field」)。 When the value of “IP proto” is “6” or “17”, the network (NW) device uses “TCP / UDP src port” and “TCP / UDP dst port” as new collation targets, It adds to area | region information (Header Field). That is, the network (NW) device also checks “TCP / UDP src port” and “TCP / UDP dst port” (“Add <TCP / UDP src port, TCP / UDP dst port>” in FIG. 3). to Header Field ").
ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と、パケットのヘッダ領域情報(Header Field)を照合する(図3の「Packet Lookup Over Header Field」)。 The network (NW) device collates the header area information (Header Field) of the entry in the flow table with the header area information (Header Field) of the packet (“Packet Lookup Over Header Field” in FIG. 3).
ネットワーク(NW)機器は、受信したパケットに対し、フローテーブル内に該当するエントリーが存在する場合は、このエントリーに関連付けられたパケット送信や廃棄等の処理(Action)を実行する(図2の「Apply actions」)。 When there is a corresponding entry in the flow table for the received packet, the network (NW) device executes processing (Action) such as packet transmission and discard associated with this entry ("" in FIG. 2). "Apply actions").
また、ネットワーク(NW)機器は、受信したパケットに対し、フローテーブル内に該当するエントリーが存在しない場合、このパケットを内部に保留し、セキュアチャンネル(Secure channel)を介して、コントローラに未知のパケットが到着したことを通知する(図2の「Send to secure channel」)。ここでは、該当するエントリーが存在しない場合の未知のパケットを1stパケット(First packet)と呼称する。 In addition, when there is no corresponding entry in the flow table for the received packet, the network (NW) device holds this packet internally, and an unknown packet is sent to the controller via the secure channel (Secure channel). Is notified ("Send to secure channel" in FIG. 2). Here, an unknown packet when the corresponding entry does not exist is referred to as a 1st packet (First packet).
コントローラは、1stパケット到着の通知を受けると、宛先までの経路を計算し、ネットワーク(NW)機器のフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。宛先までの経路については、どのネットワーク(NW)機器がどのネットワーク(NW)機器につながっているかを表すトポロジ情報(Network Topology)から計算する。 Upon receiving the notification of arrival of the first packet, the controller calculates a route to the destination, adds a new entry to the flow table of the network (NW) device, and updates the flow table. The route to the destination is calculated from topology information (Network Topology) indicating which network (NW) device is connected to which network (NW) device.
ネットワーク(NW)機器は、フローテーブルが更新されると、滞留していた1stパケットとそれ以降の同種のパケットを、追加された処理(Action)に従って処理する。 When the flow table is updated, the network (NW) device processes the staying 1st packet and the same type of subsequent packets according to the added processing (Action).
従って、通常のオープンフローでは、パケット転送と経路制御を分離したネットワーク(NW)機器に1stパケットが到着すると、ネットワーク(NW)機器からコントローラへの通知と、コントローラからネットワーク(NW)機器へのフローテーブル更新が発生するため、従来のネットワーク(NW)機器に比べて通信コスト(負担)が発生することになる。 Therefore, in a normal open flow, when a 1st packet arrives at a network (NW) device in which packet transfer and routing are separated, a notification from the network (NW) device to the controller and a flow from the controller to the network (NW) device Since table updating occurs, communication costs (burden) are incurred compared to conventional network (NW) devices.
更に、データセンタのような大規模ネットワークを考えると、このコストは顕著である。大規模なネットワークでは、性能や信頼性の面から、複数のコントローラが分担してネットワーク内の全てのネットワーク(NW)機器を管理することになる。経路計算のためのトポロジ情報は、全てのコントローラが共有している。 Furthermore, this cost is significant when considering a large-scale network such as a data center. In a large-scale network, from the viewpoint of performance and reliability, a plurality of controllers share and manage all network (NW) devices in the network. Topology information for route calculation is shared by all controllers.
以下、図4を参照して、従来のネットワークシステムにおける処理の流れを具体的に説明する。ここでは、オープンフローに対応したネットワーク(NW)機器として、ネットワーク(NW)機器A、ネットワーク(NW)機器B、ネットワーク(NW)機器C、ネットワーク(NW)機器Dを示す。また、オープンフローに対応していないネットワーク(NW)機器として、非対応ネットワーク(NW)機器を示す。 Hereinafter, the flow of processing in the conventional network system will be described in detail with reference to FIG. Here, a network (NW) device A, a network (NW) device B, a network (NW) device C, and a network (NW) device D are shown as network (NW) devices compatible with OpenFlow. In addition, a non-compatible network (NW) device is shown as a network (NW) device that does not support OpenFlow.
(1)1stパケット受信通知
ネットワーク(NW)機器Aは、ノードから1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。
(1) 1st packet reception notification When receiving the 1st packet from the node, the network (NW) device A notifies the controller that controls the network (NW) device A that the 1st packet has been received.
(2)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新指示
ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報を基に、経路を計算する。ネットワーク(NW)機器Aを制御するコントローラは、計算した経路が、異なるコントローラによって制御されるネットワーク(NW)機器C、及びネットワーク(NW)機器Dをまたぐような場合は、それぞれのコントローラに対して、ネットワーク(NW)機器C、及びネットワーク(NW)機器Dの経路情報を通知し、ネットワーク(NW)機器C、及びネットワーク(NW)機器Dのフローテーブルを更新するように指示する。
(2) Network (NW) device C, network (NW) device D update instruction When the controller that controls the network (NW) device A receives a notification from the network (NW) device A, the route is determined based on the topology information. calculate. When the calculated path crosses the network (NW) device C and the network (NW) device D controlled by different controllers, the controller controlling the network (NW) device A The route information of the network (NW) device C and the network (NW) device D is notified, and the flow table of the network (NW) device C and the network (NW) device D is instructed to be updated.
(3)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新
ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Cのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。同様に、ネットワーク(NW)機器Dを制御するコントローラは、ネットワーク(NW)機器Dのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。
(3) Network (NW) device C, network (NW) device D update The controller that controls the network (NW) device C adds a new entry to the flow table of the network (NW) device C and updates the flow table. . Similarly, the controller that controls the network (NW) device D adds a new entry to the flow table of the network (NW) device D and updates the flow table.
(4)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新完了
ネットワーク(NW)機器Aを制御するコントローラは、更新指示を通知したコントローラから、ネットワーク(NW)機器C、ネットワーク(NW)機器Dのフローテーブルの更新が完了した旨の通知を受け取る。
(4) Network (NW) device C and network (NW) device D update completion The controller that controls the network (NW) device A sends the network (NW) device C and network (NW) device from the controller that has notified the update instruction. The notification that the update of the flow table of D is completed is received.
(5)ネットワーク(NW)機器A更新、ネットワーク(NW)機器B更新
ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上で、異なるコントローラによって制御される全てのネットワーク(NW)機器のフローテーブルの更新が完了すると、計算した経路を基に、通知元のネットワーク(NW)機器A及び配下の他のネットワーク(NW)機器Bのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。すなわち、コントローラは、計算した経路上で自分の制御下にないネットワーク(NW)機器を制御する全てのコントローラに更新指示を通知し、応答により同期を取り、計算した経路上のネットワーク(NW)機器のフローテーブルの更新が完了したことを確認した後に、自分の制御下のネットワーク(NW)機器のフローテーブルを更新する。
(5) Network (NW) device A update, network (NW) device B update The controller that controls the network (NW) device A is connected to all network (NW) devices controlled by different controllers on the calculated path. When the update of the flow table is completed, a new entry is added to the flow table of the notification source network (NW) device A and the other subordinate network (NW) device B based on the calculated route, and the flow table is updated. . That is, the controller notifies the update instruction to all the controllers that control network (NW) devices that are not under its control on the calculated route, synchronizes by response, and the network (NW) device on the calculated route. After confirming that the update of the flow table is completed, the flow table of the network (NW) device under its control is updated.
図4に示すように、あるパケットの経路が異なるコントローラによって制御されるネットワーク(NW)機器群をまたがるような場合、コントローラ間で経路内のネットワーク(NW)機器のフローテーブル更新指示と同期待ち合わせが発生し、それが完了するまでパケットの転送は遅延する。 As shown in FIG. 4, when a route of a packet crosses a network (NW) device group controlled by different controllers, a flow table update instruction and a synchronization wait of the network (NW) device in the route are transmitted between the controllers. Occurs and packet transfer is delayed until it completes.
逆に、フローテーブル更新を待ち合わせないとした場合も、パケットが経路上のネットワーク(NW)機器に届いた時点でフローテーブルが更新されていなければ、そのパケットが1stパケットとして扱われてしまい、新たなコストが発生してしまう。 Conversely, even if the flow table is not updated, if the flow table has not been updated when the packet arrives at the network (NW) device on the route, the packet is treated as a 1st packet. Cost.
以上から、既存のネットワークをパケット転送と経路制御を分離したネットワーク(NW)機器で再構成する場合、システム性能が劣化する可能性が大きく、最悪の場合、従来守れていたシステムの性能指標を守れなくなってしまう可能性がある。 From the above, when reconfiguring an existing network with a network (NW) device that separates packet forwarding and routing, there is a high possibility that system performance will deteriorate. There is a possibility of disappearing.
なお、関連する技術として、特許文献1(特開2004−320693号公報)にパケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラムが開示されている。この関連技術では、パケット中継装置は、ネットワークインタフェースで受信した経路制御パケットをパケット制御装置に転送する。パケット制御装置は、ネットワークインタフェースに対応付けられたアドレス情報を保持する仮想インタフェースと、パケット中継装置から転送された経路制御パケットを受信し、仮想インタフェースに対応付けて経路制御プロセスに転送し、経路制御プロセスが仮想インタフェースに対応付けて送信した経路制御パケットを受信してパケット中継装置に転送する。このように、ルータの中継機能と制御機能を分離する。 As a related technique, Japanese Patent Application Laid-Open No. 2004-320693 discloses a packet control system, a packet control device, a packet relay device, and a packet control program. In this related technology, the packet relay device transfers the route control packet received by the network interface to the packet control device. The packet control device receives the virtual interface that holds the address information associated with the network interface and the route control packet transferred from the packet relay device, forwards it to the route control process in association with the virtual interface, and performs route control. A route control packet transmitted by the process in association with the virtual interface is received and transferred to the packet relay device. In this way, the relay function and control function of the router are separated.
また、特許文献2(特開2007−096912号公報)にネットワーク中継器が開示されている。この関連技術では、他のルータと経路情報交換を行い、自ルータの経路情報を更新し、更新された経路情報に基づいて受信したパケットの中継処理を実施するルータにおいて、パケットの中継処理を停止することなく自ルータの経路情報を圧縮、更新する。これにより、ルータのハードウエアの増設、更新をすることなく増加、拡大するインターネットの経路情報に対応することを目的としている。 Patent Document 2 (Japanese Patent Laid-Open No. 2007-096912) discloses a network repeater. In this related technology, it exchanges route information with other routers, updates the route information of its own router, and stops the packet relay processing in the router that performs the relay processing of the received packet based on the updated route information. Compress and update the route information of its own router without doing so. Accordingly, it is intended to cope with the increasing and expanding Internet route information without adding or updating router hardware.
本発明では、コントローラ間の通信を伴わずに、ネットワーク(NW)機器間の通信において、経路情報(フローテーブルのエントリー)のリストを付加したパケットを利用して、全てのネットワーク(NW)機器に対して経路情報を設定する手法についても検討している。この手法は、全てのネットワーク(NW)機器がオープンフローに対応しているネットワークにおいては、非常に有効である。 In the present invention, in communication between network (NW) devices without communication between controllers, a packet to which a list of route information (flow table entries) is added is used for all network (NW) devices. We are also investigating a method for setting route information. This technique is very effective in a network in which all network (NW) devices are compatible with OpenFlow.
しかし、オープンフローに対応したネットワーク(NW)機器と、オープンフローに対応していない非対応ネットワーク(NW)機器が混在するネットワークにおいては、次の理由から、そのまま適用することが難しいと考えられる。 However, in a network in which a network (NW) device compatible with OpenFlow and a non-compatible network (NW) device not compatible with OpenFlow are mixed, it is considered difficult to apply as it is for the following reason.
一つ目の理由は、経路情報のリストを付加したパケットは、標準的なプロトコルに準拠したパケットではないため、従来の非対応ネットワーク(NW)機器では処理できない可能性があることである。 The first reason is that a packet to which a list of route information is added is not a packet that conforms to a standard protocol, and thus may not be processed by a conventional non-compliant network (NW) device.
二つ目の理由は、非対応ネットワーク(NW)機器により構成されるネットワークから受けとったパケットは、オープンフローに対応したネットワーク(NW)機器以外から送信された偽の経路情報が付加される可能性があるため、ネットワーク(NW)機器の経路情報の更新に使用することがセキュリティ上の問題になることである。 The second reason is that there is a possibility that a fake route information transmitted from a network (NW) device that supports OpenFlow is added to a packet received from a network configured by a non-compatible network (NW) device. Therefore, it is a security problem to use for updating route information of network (NW) devices.
データセンタのような大規模なネットワークでは、全ての機器を新規に導入するよりも、既設の機器の置き換えなど段階的に導入することが多い。このため、ネットワーク(NW)機器と非対応ネットワーク(NW)機器が混在する構成においても、ネットワーク(NW)機器の経路情報の設定を低コストで実現する手段が必要となる。 In a large-scale network such as a data center, it is often introduced in stages, such as replacing existing equipment, rather than introducing all equipment newly. For this reason, even in a configuration in which network (NW) devices and non-compliant network (NW) devices coexist, a means for realizing setting of route information of the network (NW) devices at a low cost is required.
本発明のネットワークシステムは、コントローラと、コントローラにより制御できない非対応ネットワーク機器と、非対応ネットワーク機器の前段のネットワーク機器と、非対応ネットワーク機器の後段のネットワーク機器とを含む。コントローラは、前段のネットワーク機器を制御する手段と、前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する手段と、計算した経路上に、非対応ネットワーク機器が存在する場合、非対応ネットワーク機器の後段の経路情報を、後段のネットワーク機器に向けて通知する手段とを具備する。後段のネットワーク機器は、非対応ネットワーク機器からパケットを受信すると、後段の経路情報から自分の経路情報を取り出して、取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する手段と、パケットに、後段の残りの経路情報を付加する手段と、自分のフローテーブルに追加したエントリーに従って、後段の残りの経路情報が付加されたパケットを送信する手段とを具備する。 The network system of the present invention includes a controller, a non-compliant network device that cannot be controlled by the controller, a network device in the previous stage of the non-compliant network device, and a network device in the subsequent stage of the non-compliant network device. The controller includes a means for controlling the network device in the previous stage, a means for calculating a route to the destination for the packet notified from the network device in the previous stage, and a non-corresponding network device on the calculated route. And means for notifying the subsequent network device of the route information of the subsequent network device. When the subsequent network device receives a packet from the non-compliant network device, it extracts its own route information from the subsequent route information, and adds a new entry to its own flow table based on the extracted route information; Means for adding the remaining path information of the subsequent stage to the packet, and means for transmitting the packet to which the remaining path information of the subsequent stage is added according to the entry added to the own flow table.
本発明の経路情報更新方法は、コントローラと、コントローラにより制御できない非対応ネットワーク機器と、非対応ネットワーク機器の前段のネットワーク機器と、非対応ネットワーク機器の後段のネットワーク機器とを含むネットワークシステムにおいて実施される。本発明の経路情報更新方法では、コントローラにより、前段のネットワーク機器を制御する。また、コントローラにより、前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する。また、コントローラにより、計算した経路上に、非対応ネットワーク機器が存在する場合、非対応ネットワーク機器の後段の経路情報を、後段のネットワーク機器に向けて通知する。また、後段のネットワーク機器により、非対応ネットワーク機器からパケットを受信した場合、後段の経路情報から自分の経路情報を取り出して、取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する。また、後段のネットワーク機器により、パケットに、後段の残りの経路情報を付加する。また、後段のネットワーク機器により、自分のフローテーブルに追加したエントリーに従って、後段の残りの経路情報が付加されたパケットを送信する。 The path information update method of the present invention is implemented in a network system including a controller, a non-compliant network device that cannot be controlled by the controller, a network device in the previous stage of the non-compliant network device, and a network device in the subsequent stage of the non-compliant network device. The In the route information update method of the present invention, the previous network device is controlled by the controller. The controller calculates a route to the destination for the packet notified from the preceding network device. In addition, when there is a non-compliant network device on the calculated route, the controller notifies the subsequent network device of the route information of the non-compliant network device. In addition, when a subsequent network device receives a packet from a non-supporting network device, it extracts its own route information from the subsequent route information and adds a new entry to its own flow table based on the extracted route information. . Further, the remaining path information in the subsequent stage is added to the packet by the network device in the subsequent stage. In addition, the subsequent network device transmits a packet to which the remaining path information of the subsequent stage is added according to the entry added to its own flow table.
本発明のプログラムは、上記の本発明の経路情報更新方法における各処理のうち該当する処理を、コントローラ又はネットワーク機器として使用される計算機の各々に実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。 The program of the present invention is a program for causing each computer used as a controller or a network device to execute a corresponding process among the processes in the route information update method of the present invention. Note that the program of the present invention can be stored in a storage device or a storage medium.
1stパケット到着時の経路設定処理の際に、コントローラ間のフローテーブル更新の同期待ち合わせ回数を削減し、ネットワーク性能を向上する。 During the route setting process when the first packet arrives, the number of synchronization waits for updating the flow table between controllers is reduced, and the network performance is improved.
以下に、本発明の実施形態について添付図面を参照して説明する。
図5に示す通り、本発明のネットワークシステムは、コントローラと、ネットワーク(NW)機器と、非対応ネットワーク(NW)機器を備える。
Embodiments of the present invention will be described below with reference to the accompanying drawings.
As shown in FIG. 5, the network system of the present invention includes a controller, a network (NW) device, and a non-compliant network (NW) device.
コントローラは、ネットワーク(NW)機器を制御する。ここでは、ネットワーク(NW)機器は、オープンフローに対応しており、コントローラにより制御されている。非対応ネットワーク(NW)機器は、オープンフローに対応しておらず、いかなるコントローラからも制御されていない。 The controller controls network (NW) devices. Here, the network (NW) device corresponds to the open flow and is controlled by the controller. Non-compliant network (NW) devices do not support OpenFlow and are not controlled by any controller.
<実施例1>
以下、図5を参照して、従来のネットワークシステムにおける処理の流れを具体的に説明する。ここでは、オープンフローに対応したネットワーク(NW)機器として、ネットワーク(NW)機器A、ネットワーク(NW)機器B、ネットワーク(NW)機器C、ネットワーク(NW)機器Dを示す。また、オープンフローに対応していないネットワーク(NW)機器として、非対応ネットワーク(NW)機器を示す。
<Example 1>
Hereinafter, the flow of processing in the conventional network system will be specifically described with reference to FIG. Here, a network (NW) device A, a network (NW) device B, a network (NW) device C, and a network (NW) device D are shown as network (NW) devices compatible with OpenFlow. In addition, a non-compatible network (NW) device is shown as a network (NW) device that does not support OpenFlow.
なお、図4と図5を対比すると、従来技術と本発明との相違点が明確となる。 4 and FIG. 5, the difference between the prior art and the present invention becomes clear.
(1)1stパケット受信通知
ネットワーク(NW)機器Aは、ノードから1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報に基づいて経路を計算する。このとき、ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上に、異なるコントローラによって制御されるネットワーク(NW)機器が存在し、その経路上のネットワーク(NW)機器との間に非対応ネットワーク(NW)機器が存在する場合は、ネットワーク(NW)機器の経路情報の設定を、非対応ネットワーク(NW)機器の前段と後段とに分けて行う。
(1) 1st packet reception notification When receiving the 1st packet from the node, the network (NW) device A notifies the controller that controls the network (NW) device A that the 1st packet has been received. When receiving a notification from the network (NW) device A, the controller that controls the network (NW) device A calculates a route based on the topology information. At this time, the controller that controls the network (NW) device A has a network (NW) device controlled by a different controller on the calculated route, and is not connected to the network (NW) device on the route. When the corresponding network (NW) device exists, the setting of the route information of the network (NW) device is performed separately in the former stage and the latter stage of the incompatible network (NW) apparatus.
(2)ネットワーク(NW)機器C更新指示
後段のネットワーク(NW)機器について説明する。ここでは、ネットワーク(NW)機器Cは、非対応ネットワーク(NW)機器からのパケットを受信し、後段の経路の始点となるネットワーク(NW)機器である。ネットワーク(NW)機器Aを制御するコントローラは、後段の経路の始点となるネットワーク(NW)機器Cを制御するコントローラに対して、後段の経路の始点となるネットワーク(NW)機器Cを示す情報と、後段の全てのネットワーク(NW)機器C、Dの経路情報のリストを送信する。
(2) Network (NW) device C update instruction A network (NW) device at the latter stage will be described. Here, the network (NW) device C is a network (NW) device that receives a packet from a non-compliant network (NW) device and becomes a starting point of a subsequent path. The controller that controls the network (NW) device A has the information indicating the network (NW) device C that is the starting point of the subsequent path to the controller that controls the network (NW) device C that is the starting point of the subsequent path. A list of route information of all network (NW) devices C and D in the subsequent stage is transmitted.
(3)ネットワーク(NW)機器C更新
ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Cに対して、経路情報のリストを送信する。ネットワーク(NW)機器Cは、ネットワーク(NW)機器Cを制御するコントローラから受信した経路情報のリストを、1stパケットを処理するためのフローテーブルのエントリーとして追加し、フローテーブルを更新する。すなわち、ネットワーク(NW)機器Cは、1stパケットと、後段の全てのネットワーク(NW)機器C、Dの経路情報のリストとを対応付けたエントリーを、自分のフローテーブルに登録する。
(3) Network (NW) Device C Update The controller that controls the network (NW) device C transmits a list of route information to the network (NW) device C. The network (NW) device C adds the list of path information received from the controller that controls the network (NW) device C as an entry of the flow table for processing the 1st packet, and updates the flow table. That is, the network (NW) device C registers, in its own flow table, an entry that associates the 1st packet with a list of route information of all the subsequent network (NW) devices C and D.
(4)ネットワーク(NW)機器C更新完了
ネットワーク(NW)機器Cのフローテーブルの更新が完了すると、ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Aを制御するコントローラに対して、更新完了を通知する。
(4) Completion of update of network (NW) device C When the update of the flow table of network (NW) device C is completed, the controller that controls network (NW) device C communicates with the controller that controls network (NW) device A. To notify the update completion.
(5)ネットワーク(NW)機器A更新
前段のネットワーク(NW)機器について説明する。ここでは、ネットワーク(NW)機器Aは、最初に1stパケットを受信し、前段の経路の始点となるネットワーク(NW)機器である。ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上で、ネットワーク(NW)機器Cを制御するコントローラから更新完了の通知を受けると、前段のネットワーク(NW)機器Aのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。また、ネットワーク(NW)機器Aを制御するコントローラは、前段のネットワーク(NW)機器Aに対して、前段のネットワーク(NW)機器Aと非対応ネットワーク(NW)機器との間に存在する前段の残りのネットワーク(NW)機器Bの経路情報のリストを送信する。
(5) Network (NW) device A update The network (NW) device in the previous stage will be described. Here, the network (NW) device A is a network (NW) device that first receives the 1st packet and becomes the start point of the previous path. When the controller that controls the network (NW) device A receives an update completion notification from the controller that controls the network (NW) device C on the calculated route, the controller updates the network (NW) device A in the flow table. Add an entry and update the flow table. In addition, the controller that controls the network (NW) device A has a previous stage existing between the previous network (NW) device A and the incompatible network (NW) device with respect to the previous network (NW) device A. A list of route information of the remaining network (NW) device B is transmitted.
<各ネットワーク(NW)機器における処理>
以下、各ネットワーク(NW)機器における処理についても説明する。
前段のネットワーク(NW)機器Aは、前段の残りのネットワーク(NW)機器Bの経路情報のリストを1stパケットに付加し、上記更新によって追加されたフローテーブルのエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器Bに送信する。
<Processing in each network (NW) device>
Hereinafter, processing in each network (NW) device will also be described.
The preceding network (NW) device A adds the list of route information of the remaining previous network (NW) device B to the 1st packet, and adds the list of route information according to the entry of the flow table added by the update. The transmitted 1st packet is transmitted to the next network (NW) device B.
本発明では、各ネットワーク(NW)機器は、経路情報のリストを1stパケットに付加する際には、1stパケットを運ぶフレーム(Ether frame)内のデータ領域に、経路情報のリストを埋め込むものとする。このフレームフォーマットの詳細については後述する。 In the present invention, each network (NW) device embeds a list of route information in a data area in a frame (Ether frame) carrying the 1st packet when adding the list of route information to the 1st packet. . Details of this frame format will be described later.
なお、フレームは、OSI参照モデルの第2層(レイヤ2:データリンク層)の通信で使われるPDU(プロトコル・データ・ユニット)の呼び名であり、パケットは、OSI参照モデルの第3層(レイヤ3:ネットワーク層)の通信で使われるPDUの呼び名である。 The frame is a name of a PDU (protocol data unit) used in the communication of the second layer (layer 2: data link layer) of the OSI reference model, and the packet is the third layer (layer of the OSI reference model). 3: Name of PDU used in communication in the network layer).
前段の残りのネットワーク(NW)機器Bは、1stパケットを受信すると、1stパケットに付加された経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。 When the remaining network (NW) device B in the previous stage receives the 1st packet, it extracts the first route information (own route information) from the list of route information added to the 1st packet, and extracts the extracted route information. To your flow table entry.
ここでは、ネットワーク(NW)機器Bは、前段の終点のネットワーク(NW)機器であるため、1stパケットから経路情報のリストが完全に取り除かれることになる。すなわち、1stパケットは、従来のパケットと同じ形式となる。 Here, since the network (NW) device B is the last-stage network (NW) device, the list of route information is completely removed from the 1st packet. That is, the 1st packet has the same format as a conventional packet.
その後、前段の残りのネットワーク(NW)機器Bは、追加されたエントリーに従って、1stパケットを、次の非対応ネットワーク(NW)機器に送信する。 Thereafter, the remaining network (NW) device B in the previous stage transmits a 1st packet to the next non-corresponding network (NW) device in accordance with the added entry.
非対応ネットワーク(NW)機器は、従来のルーティング等により、1stパケットを、後段の経路の始点となるネットワーク(NW)機器Cに転送する。すなわち、1stパケットは、前段の残りのネットワーク(NW)機器Bから非対応ネットワーク(NW)機器を経由して、後段の経路の始点となるネットワーク(NW)機器Cに到達する。 The non-corresponding network (NW) device transfers the 1st packet to the network (NW) device C that is the starting point of the subsequent path by conventional routing or the like. That is, the 1st packet arrives at the network (NW) device C that is the starting point of the subsequent route from the remaining network (NW) device B in the previous stage via the non-compatible network (NW) device.
後段の経路の始点となるネットワーク(NW)機器Cは、1stパケットを受信すると、上記更新によって追加されたフローテーブルのエントリーに従って、1stパケットを処理する。ここでは、後段の経路の始点となるネットワーク(NW)機器Cは、この1stパケットに該当するエントリーに設定されている経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。なお、後段の経路の始点となるネットワーク(NW)機器Cは、自分の経路情報を取り出した際、経路情報のリストが設定されているエントリー自体を、フローテーブルから削除するようにしても良い。 When receiving the 1st packet, the network (NW) device C serving as the starting point of the subsequent path processes the 1st packet according to the entry of the flow table added by the update. Here, the network (NW) device C, which is the starting point of the subsequent route, extracts the first route information (own route information) from the list of route information set in the entry corresponding to the 1st packet. Then, the extracted route information is added to the entry of the own flow table. Note that the network (NW) device C that is the starting point of the subsequent route may delete the entry itself in which the route information list is set from the flow table when the route information is extracted.
すなわち、後段の経路の始点となるネットワーク(NW)機器Cは、経路情報のリストを通知された際には、経路情報のリストをエントリーとして登録しておき、実際に1stパケットを受信した際に、経路情報のリストから自分の経路情報を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。 That is, when the network (NW) device C, which is the starting point of the subsequent route, is notified of the route information list, the route information list is registered as an entry, and when the 1st packet is actually received. Then, it extracts its own route information from the list of route information, and adds the extracted route information to the entry of its own flow table.
後段の経路の始点となるネットワーク(NW)機器Cは、リストの先頭の経路情報(自分の経路情報)を取り除いた残りの経路情報のリストを1stパケットに付加し、追加されたエントリーに従って、この1stパケットを、次のネットワーク(NW)機器Dに送信する。 The network (NW) device C, which is the starting point of the subsequent route, adds the remaining route information list obtained by removing the first route information (own route information) from the list to the 1st packet, and in accordance with the added entry, The 1st packet is transmitted to the next network (NW) device D.
次のネットワーク(NW)機器Dも、1stパケットを受信すると、1stパケットに付加された経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。 When the next network (NW) device D also receives the 1st packet, it extracts the route information at the head of the list (own route information) from the list of route information added to the 1st packet. Add to your flow table entry.
その後、次のネットワーク(NW)機器Dは、追加されたエントリーに従って、1stパケットを、次のノードに送信する。 Thereafter, the next network (NW) device D transmits the 1st packet to the next node according to the added entry.
<本発明の要旨>
このように、本発明は、図5に示す通り、制御機能をコントローラとして分離した複数のネットワーク(NW)機器と、制御機能を分離していない非対応ネットワーク(NW)機器とを含むネットワークを対象とする。
<Summary of the present invention>
Thus, as shown in FIG. 5, the present invention is intended for a network including a plurality of network (NW) devices in which control functions are separated as controllers and a non-compatible network (NW) device in which control functions are not separated. And
非対応ネットワーク(NW)機器を含む経路において、非対応ネットワーク(NW)機器の後段の経路の始点となるネットワーク(NW)機器に対して、1stパケットの送信を開始する前に、後段の全ての経路情報を設定する。 Before starting transmission of the 1st packet to the network (NW) device that is the starting point of the subsequent route of the non-compliant network (NW) device in the route including the non-compliant network (NW) device, Set the route information.
非対応ネットワーク(NW)機器の前段のネットワークについては、1stパケットを最初に受信したネットワーク(NW)機器が、前段の残り全てのネットワーク(NW)機器の経路情報を1stパケットに付加して送信する。前段の最終段のネットワーク(NW)機器では、1stパケットから経路情報が完全に取り除かれるため、非対応ネットワーク(NW)機器は、経路情報が付加されていない初期状態の1stパケットを受信する。 For the upstream network of the non-compatible network (NW) device, the network (NW) device that first receives the 1st packet adds the route information of all the remaining network (NW) devices in the previous stage to the 1st packet and transmits it. . Since the route information is completely removed from the 1st packet in the last-stage network (NW) device, the non-corresponding network (NW) device receives the initial 1st packet to which no route information is added.
非対応ネットワーク(NW)機器の後段のネットワークについては、後段の経路の始点となるネットワーク(NW)機器が、非対応ネットワーク(NW)機器から1stパケットを受信すると、上記設定された後段の全ての経路情報から自分の経路情報を取り出して正式な経路情報として登録した後、後段の残り全ての経路情報を1stパケットに付加して送信する。 For the latter network of the non-compliant network (NW) device, when the network (NW) device that is the starting point of the latter route receives the 1st packet from the non-compliant network (NW) device, After extracting own route information from the route information and registering it as formal route information, all the remaining route information in the subsequent stage is added to the 1st packet and transmitted.
<経路上に非対応ネットワーク(NW)機器が複数存在する場合>
なお、図5では、説明の簡略化のため、非対応ネットワーク(NW)機器の後段のネットワークを1つしか図示していないが、実際には、更に別の非対応ネットワーク(NW)機器の後段のネットワークが存在していても、本発明は実施可能である。
<When there are multiple non-compatible network (NW) devices on the path>
In FIG. 5, for simplicity of explanation, only one network subsequent to the non-compliant network (NW) device is illustrated, but actually, the latter stage of another non-compliant network (NW) device is illustrated. The present invention can be implemented even if there are other networks.
例えば、図5に示すネットワーク(NW)機器Dの次(後段)に、更に別の非対応ネットワーク(NW)機器を挟んで、ネットワーク(NW)機器E、Fが存在していたとする。ここで、ネットワーク(NW)機器Dとネットワーク(NW)機器E、Fの関係は、ネットワーク(NW)機器Bとネットワーク(NW)機器C、Dの関係に等しいものとする。 For example, it is assumed that the network (NW) devices E and F exist after the network (NW) device D shown in FIG. Here, the relationship between the network (NW) device D and the network (NW) devices E and F is assumed to be equal to the relationship between the network (NW) device B and the network (NW) devices C and D.
このとき、ネットワーク(NW)機器Aを制御するコントローラは、1stパケットの通知を受けると、後段の経路の始点となるネットワーク(NW)機器Cを制御するコントローラに対する場合と同様に、更に後段の経路の始点となるネットワーク(NW)機器Eを制御するコントローラに対して、更に後段の経路の始点となるネットワーク(NW)機器Eを示す情報と、後段の全てのネットワーク(NW)機器E、Fの経路情報のリストを送信する。 At this time, when the controller that controls the network (NW) device A receives the notification of the 1st packet, as in the case of the controller that controls the network (NW) device C that is the starting point of the subsequent route, the further subsequent route For the controller that controls the network (NW) device E that is the starting point of the network, information indicating the network (NW) device E that is the starting point of the subsequent path, and all of the network (NW) devices E and F that are downstream Send a list of route information.
これにより、計算した経路上に非対応ネットワーク(NW)機器が複数存在していても対応することができる。 Thereby, even if a plurality of non-corresponding network (NW) devices exist on the calculated route, it is possible to cope with it.
<本発明のネットワークシステムの基本構成>
図6を参照して、本発明のネットワークシステムの基本構成の詳細について説明する。
ここでは、本発明のネットワークシステムのうち、非対応ネットワーク(NW)機器の前段及び後段のネットワーク(NW)機器と、それらのネットワーク(NW)機器を制御するコントローラについて説明する。
<Basic Configuration of Network System of the Present Invention>
Details of the basic configuration of the network system of the present invention will be described with reference to FIG.
Here, in the network system of the present invention, a network (NW) device at a front stage and a rear stage of a non-compliant network (NW) device and a controller that controls the network (NW) device will be described.
なお、非対応ネットワーク(NW)機器は、スイッチ等の従来のネットワーク(NW)機器と同じ構成である。或いは、非対応ネットワーク(NW)機器は、コントローラの障害や停止、又はコントローラとの通信回線の切断等により、コントローラの制御下から外れたネットワーク(NW)機器でも良い。 The non-compatible network (NW) device has the same configuration as a conventional network (NW) device such as a switch. Alternatively, the non-corresponding network (NW) device may be a network (NW) device that is out of the control of the controller due to a failure or stoppage of the controller or disconnection of a communication line with the controller.
図6において、コントローラ10は、図5に示す非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器を制御するコントローラである。ネットワーク(NW)機器20は、図5に示す非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器である。コントローラ30は、図5に示す非対応ネットワーク(NW)機器の後段のネットワーク(NW)機器を制御するコントローラである。ネットワーク(NW)機器40は、図5に示す非対応ネットワーク(NW)機器の後段のネットワーク(NW)機器である。
In FIG. 6, the
コントローラ10は、ネットワーク(NW)機器20と物理的に分離されたサーバマシン、又は当該サーバマシン上で動作する仮想マシン(VM:Virtual Machine)である。コントローラ10は、複数のネットワーク(NW)機器を管理することができ、各ネットワーク(NW)機器と、専用線もしくは通常のネットワークを利用したセキュアチャンネル(Secure channel:安全な経路)で接続されており、オープンフロープロトコルで通信を行う。
The
コントローラ10は、経路計算部11と、ネットワーク(NW)機器制御部12と、コントローラ間制御部13を持つ。
The
経路計算部11は、パケットの転送経路を計算する。ネットワーク(NW)機器制御部12は、専用線もしくは通常のネットワークを介して、ネットワーク(NW)機器20を制御する。ここでは、ネットワーク(NW)機器制御部12は、ネットワーク(NW)機器20からパケットを受信し、ネットワーク(NW)機器20に経路情報のリストを送信する。コントローラ間制御部13は、コントローラ10の制御下にないネットワーク(NW)機器40を制御するコントローラ30に、ネットワーク(NW)機器40の経路情報のリストを送信する。
The
ネットワーク(NW)機器20は、パケット処理部21と、フローテーブル22と、フローテーブル管理部23を備える。
The network (NW)
パケット処理部21は、パケットを処理する。フローテーブル22は、通常のオープンフローの仕組みにおけるフローテーブルと同じく、パケットを転送するための経路情報を管理する。フローテーブル管理部23は、コントローラ10から通知された経路情報を基に、フローテーブル22の経路情報を参照・追加・更新・削除する。
The
パケット処理部21は、パケット送信部211と、パケット受信部212と、パケット解析部213と、パケット更新部214を備える。
The
パケット送信部211は、ネットワーク(NW)機器20の物理ポートやコントローラ10等にパケットを送信する。ネットワーク(NW)機器20の物理ポートは、図5に示すようなノードや他のネットワーク(NW)機器に接続されている。パケット受信部212は、ネットワーク(NW)機器20の物理ポートやコントローラ10等からパケットを受信する。パケット解析部213は、受信したパケットを解析し、パケットの内容と、フローテーブルのエントリーの内容を照合する。パケット更新部214は、パケットに経路情報を埋め込む。
The
コントローラ30は、ネットワーク(NW)機器40と物理的に分離されたサーバマシン、又は当該サーバマシン上で動作する仮想マシン(VM)である。コントローラ30は、複数のネットワーク(NW)機器を管理することができ、各ネットワーク(NW)機器と、専用線もしくは通常のネットワークを利用したセキュアチャンネル(Secure channel)で接続されており、オープンフロープロトコルで通信を行う。
The
コントローラ30は、コントローラ10と同じ構成である。すなわち、コントローラ30は、経路計算部31と、ネットワーク(NW)機器制御部32と、コントローラ間制御部31を持つ。
The
経路計算部31は、パケットの転送経路を計算する。ネットワーク(NW)機器制御部32は、専用線もしくは通常のネットワークを介して、ネットワーク(NW)機器40を制御する。ここでは、ネットワーク(NW)機器制御部32は、ネットワーク(NW)機器40からパケットを受信し、ネットワーク(NW)機器40に経路情報のリストを送信する。コントローラ間制御部31は、コントローラ10から、コントローラ30が制御するネットワーク(NW)機器40の経路情報のリストを受信する。
The
ネットワーク(NW)機器40は、ネットワーク(NW)機器20と同じ構成である。すなわち、ネットワーク(NW)機器40も、パケット処理部41と、フローテーブル42と、フローテーブル管理部43を備える。
The network (NW)
パケット処理部41は、パケットを処理する。フローテーブル42は、通常のオープンフローの仕組みにおけるフローテーブルと同じく、パケットを転送するための経路情報を管理する。フローテーブル管理部43は、コントローラ10から通知された経路情報を基に、フローテーブル42の経路情報を参照・追加・更新・削除する。
The
パケット処理部41は、パケット送信部411と、パケット受信部412と、パケット解析部413と、パケット更新部414を備える。
The
パケット送信部411は、ネットワーク(NW)機器40の物理ポートやコントローラ10等にパケットを送信する。ネットワーク(NW)機器40の物理ポートは、図5に示すようなノードや他のネットワーク(NW)機器に接続されている。パケット受信部412は、ネットワーク(NW)機器40の物理ポートやコントローラ10等からパケットを受信する。パケット解析部413は、受信したパケットを解析し、パケットの内容と、フローテーブルのエントリーの内容を照合する。パケット更新部414は、パケットに経路情報を埋め込む。
The
<本発明におけるフレームフォーマット>
本発明では、フレームフォーマットにおいて経路情報のリストを埋め込む領域を定義した新規のプロトコルを用意する。新規のプロトコルのヘッダ情報は、少なくとも経路情報のリストとヘッダ長を情報に持つ。新規のプロトコルのパケットを運ぶフレームには、上位プロトコル種別を表す領域(field)に新規のプロトコル用に定義した識別情報(ID)を指定する。
<Frame format in the present invention>
In the present invention, a new protocol is prepared that defines an area in which a list of route information is embedded in a frame format. The header information of the new protocol has at least a list of route information and a header length as information. In a frame carrying a packet of a new protocol, identification information (ID) defined for the new protocol is specified in an area (field) indicating the upper protocol type.
図7に示す通り、本発明におけるフレームフォーマットは、IEEE 802.3準拠のフレームフォーマットをベース(基礎)としており、プリアンブルと、SFD(Start Frame Delimiter)と、dst(宛先アドレス)と、src(送信元アドレス)と、TPID(Tag Protocol Identifier)と、TCI(Tag Control Information)と、Len/type(長さ/タイプ)と、Data/LLC(Data/Logical Link Control)と、FCS(Frame Check Sequence)等の領域を含む。 As shown in FIG. 7, the frame format in the present invention is based on the frame format conforming to IEEE 802.3, and includes a preamble, SFD (Start Frame Delimiter), dst (destination address), and src (transmission). Source address), TPID (Tag Protocol Identifier), TCI (Tag Control Information), Len / type (length / type), Data / LLC (Data / Logical Link Control), and FCS (Frame Security) And so on.
本発明では、経路情報のリストを埋め込むための領域として、Data/LLCを使用する。Data/LLCは、ヘッダ長と、経路情報リストと、1stパケットを含む。パケット更新部214は、コントローラ100から通知された経路情報のリストを、Data/LLC内の経路情報リストの領域に格納する。また、パケット更新部214は、Data/LLC内のデータ領域における個々のデータ長/タイプや、新規のプロトコル用に定義した識別情報(ID)を、Len/typeに設定する。
In the present invention, Data / LLC is used as an area for embedding a list of route information. Data / LLC includes a header length, a path information list, and a 1st packet. The
<基本的な動作の説明>
図6において、コントローラ10は、ネットワーク(NW)機器20を制御し、コントローラ30は、ネットワーク(NW)機器40を制御する。ネットワーク(NW)機器20は、1stパケットを受信し、前段の経路の始点となるネットワーク(NW)機器とする。ネットワーク(NW)機器40は、非対応ネットワーク(NW)機器からパケットを受信し、後段の経路の始点となるネットワーク(NW)機器とする。
<Description of basic operation>
In FIG. 6, the
図6を参照して、ネットワーク(NW)機器20が1stパケットを受信したときの動作を説明する。
With reference to FIG. 6, the operation when the network (NW)
ネットワーク(NW)機器20において、パケット受信部212は、パケットを受信する。
In the network (NW)
パケット解析部213は、パケットを解析し、パケットを運ぶフレームが本発明におけるフレームフォーマットかどうかを判定する。ここでは、パケット解析部213は、パケットを解析し、パケットを運ぶフレームに、新規のプロトコル用に定義した識別情報(ID)が付加されている場合、又は、パケットを運ぶフレームから経路情報のリストを検出した場合、パケットを運ぶフレームが本発明におけるフレームフォーマットであると判断する。
The
パケットを運ぶフレームが本発明におけるフレームフォーマットではない場合、パケット解析部213は、パケットの内容と、フローテーブル22のエントリーの内容を照合する。
When the frame carrying the packet is not in the frame format of the present invention, the
当該パケットに対し、フローテーブル22内に該当するエントリーが存在しない場合、パケット送信部211は、コントローラ10にその旨を通知する。
If there is no corresponding entry in the flow table 22 for the packet, the
コントローラ10において、ネットワーク(NW)機器制御部12は、1stパケット到着の通知を受信する。
In the
経路計算部11は、1stパケットについて、宛先までの経路を計算する。
The
経路計算部11は、計算した経路上に非対応ネットワーク(NW)機器が含まれる場合、経路上の非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器の経路情報と、後段のネットワーク(NW)機器の経路情報を、それぞれ作成する。
When a non-corresponding network (NW) device is included in the calculated route, the
コントローラ間制御部13は、後段のネットワーク(NW)機器を制御するコントローラ30に対して、非対応ネットワーク(NW)機器の後段の経路の始点がネットワーク(NW)機器40であることを示す情報と、後段の全てのネットワーク(NW)機器の経路情報のリストを送信する。
The
コントローラ30において、コントローラ間制御部33は、コントローラ10から、非対応ネットワーク(NW)機器の後段の経路の始点がネットワーク(NW)機器40であることを示す情報と、後段の全てのネットワーク(NW)機器の経路情報のリストを受信する。
In the
ネットワーク(NW)機器制御部32は、経路情報のリストをネットワーク(NW)機器40に送信する。
The network (NW)
ネットワーク(NW)機器40において、フローテーブル管理部43は、フローテーブル42のエントリーに、1stパケットに対する処理(Action)として、経路情報のリストを設定する。
In the network (NW)
パケット送信部411は、ネットワーク(NW)機器40のフローテーブル42の更新が完了すると、コントローラ30に、フローテーブル42の更新完了を通知する。
When the update of the flow table 42 of the network (NW)
コントローラ30において、コントローラ間制御部33は、コントローラ10に、ネットワーク(NW)機器40のフローテーブル42の更新完了を通知する。
In the
コントローラ10は、ネットワーク(NW)機器20から非対応ネットワーク(NW)機器までの経路上の全てのネットワーク(NW)機器の経路情報を通知元のネットワーク(NW)機器20に送信する。
The
通知元のネットワーク(NW)機器20において、パケット受信部212は、コントローラ10から経路上の全てのネットワーク(NW)機器の経路情報のリストを受信すると、自分の経路情報を取り出してフローテーブル管理部23に通知する。
In the notification source network (NW)
フローテーブル管理部23は、自分の経路情報を基に、フローテーブル22に新たなエントリーを追加し、フローテーブル22を更新する。
The flow
パケット更新部214は、本発明におけるフレームフォーマットを定義した新規のプロトコルに従って、1stパケットを運ぶフレームに、自分以外のネットワーク(NW)機器の経路情報のリストを付加する。
The
その後、パケット送信部211は、上記更新によりフローテーブル22に追加されたエントリーに従い、1stパケットを送信する。
Thereafter, the
ネットワーク(NW)機器40において、パケット受信部412は、非対応ネットワーク(NW)機器を経由して配送された1stパケットを受信する。
In the network (NW)
パケット解析部413は、受信した1stパケットを解析し、1stパケットの内容がコントローラ10からの通知に基づいてフローテーブル42に追加したエントリーに合うことを確認する。すなわち、パケット解析部413は、1stパケットの内容が上記更新によって追加されたエントリーの内容に合致するか確認する。
The
フローテーブル管理部43は、1stパケットの内容がフローテーブル42に追加したエントリーに合う場合、当該エントリーの処理(Action)に含まれる経路情報のリストから自分の経路情報を取り出してフローテーブル42に設定し、元のエントリーを削除する。すなわち、フローテーブル管理部43は、自分の経路情報をフローテーブル42の新規エントリーとして追加し、経路情報のリストのエントリーを削除する。また、フローテーブル管理部43は、当該経路情報から、次の送信先ネットワーク(NW)機器を決定する。
When the content of the 1st packet matches the entry added to the flow table 42, the flow
パケット更新部414は、自分の経路情報を取り除いた経路情報のリストを1stパケットに付加する。
The
パケット送信部411は、フローテーブル42に設定した自分の経路情報に従って、当該1stパケットを送信する。
The
このように、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、非対応ネットワーク(NW)機器が経路上に存在し、複数のコントローラをまたぐ通信が発生する場合に、1stパケット処理の際のコントローラ間のフローテーブル更新同期待ち合わせ回数を削減することにより、ネットワーク性能が向上する。 As described above, in the present invention, in a network composed of network (NW) devices in which the functions of packet transfer and route control are separated, non-corresponding network (NW) devices exist on the route and straddle a plurality of controllers. When communication occurs, network performance is improved by reducing the number of times of flow table update synchronization waiting between controllers during the 1st packet processing.
<実施例2>
他の実施例として、非対応ネットワーク(NW)機器の前後のネットワーク(NW)機器を制御するコントローラが、同一のコントローラである構成が考えられる。
<Example 2>
As another embodiment, a configuration in which controllers that control network (NW) devices before and after a non-compliant network (NW) device are the same controller is conceivable.
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器A、Bと、ネットワーク(NW)機器Cを、同一のコントローラが制御している事例である。 For example, in the network system of the present invention shown in FIG. 5, network (NW) devices A and B and network (NW) device C are controlled by the same controller.
図6と共に示した実施例1の動作の説明において、コントローラ10とコントローラ30が同一のコントローラである場合は、コントローラ間の通信を行わずに、コントローラ10が直接ネットワーク(NW)機器40の経路情報を更新する。
In the description of the operation of the first embodiment shown in FIG. 6, when the
<実施例3>
他の実施例として、非対応ネットワーク(NW)機器の前後のネットワーク(NW)機器が、同一のネットワーク(NW)機器である構成が考えられる。
<Example 3>
As another embodiment, a configuration in which the network (NW) devices before and after the non-compliant network (NW) device are the same network (NW) device can be considered.
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器A、Bと、ネットワーク(NW)機器Cが、同一のネットワーク(NW)機器である事例である。この場合、これらのネットワーク(NW)機器は、当然に同一のコントローラにより制御されている。 For example, in the network system of the present invention shown in FIG. 5, network (NW) devices A and B and network (NW) device C are examples of the same network (NW) device. In this case, these network (NW) devices are naturally controlled by the same controller.
図6と共に示した実施例1の動作の説明において、ネットワーク(NW)機器20とネットワーク(NW)機器40が同一のネットワーク(NW)機器の場合も、非対応ネットワーク(NW)機器の前段と後段に分けて処理を行う。この場合、ネットワーク(NW)機器20がネットワーク(NW)機器40を兼ねている。
In the description of the operation of the first embodiment shown in FIG. 6, even when the network (NW)
コントローラ10は、1stパケット到着の通知を受けると、後段の経路情報のリストをネットワーク(NW)機器20のフローテーブル22に設定する。これにより、ネットワーク(NW)機器20は、後段のネットワーク(NW)機器として機能することが可能になる。
Upon receiving notification of arrival of the 1st packet, the
その後、ネットワーク(NW)機器20は、前段のネットワーク(NW)機器として、前段の経路における1stパケットの転送を開始する。
Thereafter, the network (NW)
ネットワーク(NW)機器20は、非対応ネットワーク(NW)機器から1stパケットを受信すると、後段の経路情報のリストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を基に、自分のフローテーブル22に新たなエントリーを追加する。その後、ネットワーク(NW)機器20は、後段の残りの経路情報のリストを1stパケットに付加し、追加したエントリーに従って、この1stパケットを次のネットワーク(NW)機器に送信する。このとき、ネットワーク(NW)機器20は、フローテーブル22から、後段の経路情報のリスト自体が設定されたエントリーを削除しても良い。
When the network (NW)
<実施例4>
他の実施例として、非対応ネットワーク(NW)機器の後段の経路情報のリストについて、後段の経路の始点となるネットワーク(NW)機器には設定せず、それを制御するコントローラに通知するのみとする構成が考えられる。
<Example 4>
As another embodiment, the list of route information in the subsequent stage of the non-compatible network (NW) device is not set in the network (NW) device that is the starting point of the subsequent route, but is only notified to the controller that controls it. The structure which performs is considered.
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器Cには後段の経路情報のリストを設定せず、ネットワーク(NW)機器Cを制御するコントローラにのみ後段の経路情報のリストを通知する事例である。 For example, in the network system of the present invention shown in FIG. 5, a list of subsequent path information is not set in the network (NW) device C, but only in a controller that controls the network (NW) device C. This is an example of notification.
図6と共に示した実施例1の動作の説明において、コントローラ10からコントローラ30に経路情報のリストを送信した時点で、完了通知をコントローラ30からコントローラ10に送信する。
In the description of the operation of the first embodiment shown in FIG. 6, the completion notification is transmitted from the
後段のネットワーク(NW)機器40において、パケット受信部412は、1stパケットを受信する。
In the subsequent network (NW)
パケット解析部413は、受信した1stパケットを解析し、1stパケットの内容と、フローテーブル42のエントリーの内容を照合する。
The
このとき、フローテーブル42には1stパケットに該当するエントリーが存在しないため、パケット送信部411は、コントローラ30に、1stパケットが到着した旨を通知する。
At this time, since there is no entry corresponding to the 1st packet in the flow table 42, the
コントローラ30は、1stパケット到着の通知を受けると、経路を計算せず、コントローラ10から受信した経路情報のリストをネットワーク(NW)機器40に送信する。ネットワーク(NW)機器40は、経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。その後、ネットワーク(NW)機器40は、残りの経路情報のリストを1stパケットに付加し、追加されたエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器に転送する。
Upon receiving the notification of arrival of the 1st packet, the
なお、コントローラ30は、コントローラ10から受信した経路情報のリストを基に、ネットワーク(NW)機器40のフローテーブル42に新たなエントリーを追加し、フローテーブル42を更新しても良い。この場合、コントローラ30は、経路情報のリストから、追加したエントリーの経路情報を削除し、残りの経路情報のリストをネットワーク(NW)機器40に通知する。ネットワーク(NW)機器40は、残りの経路情報のリストを1stパケットに付加し、上記更新により追加されたエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器に転送する。
The
すなわち、本実施例では、後段のネットワーク(NW)機器40の動作は、前段のネットワーク(NW)機器20が1stパケットを受信したときと同じ動作である。
In other words, in the present embodiment, the operation of the subsequent network (NW)
なお、上記の各実施例は、組み合わせて実施することも可能である。 Note that the above embodiments can be implemented in combination.
<産業上の利用分野>
本発明は、オープンフロー(Openflow)に代表される制御機能を外部のコントローラに分離したネットワーク機器と、制御機能を内部に持つ従来型のネットワーク機器で構成されるネットワークシステムに適用することができる。
<Industrial application>
The present invention can be applied to a network system including a network device in which a control function represented by OpenFlow is separated into an external controller and a conventional network device having the control function inside.
<本発明の特徴>
本発明は、制御機能を持つコントローラがそれぞれ異なる複数のネットワーク機器の混在環境で、又は、制御不可能なネットワーク機器を挟んで異なるネットワークに所属する複数のネットワーク機器の混在環境で、各ネットワーク機器内部の経路情報テーブルを更新するための技術である。
<Features of the present invention>
The present invention provides an internal environment for each network device in a mixed environment of a plurality of network devices with different controllers having control functions, or a mixed environment of a plurality of network devices belonging to different networks across an uncontrollable network device. This is a technique for updating the route information table.
コントローラは、ネットワーク(NW)機器と非対応ネットワーク(NW)機器が混在する経路上において、非対応ネットワーク(NW)機器の次のネットワーク(NW)機器に対して、経路情報のリストを設定する。 The controller sets a list of route information for the network (NW) device next to the non-compliant network (NW) device on the route where the network (NW) device and the non-compliant network (NW) device coexist.
非対応ネットワーク(NW)機器の次のネットワーク(NW)機器は、設定された経路情報のリスト内に自分の経路情報が存在すれば、リストから自分の経路情報を取り出し、自分の経路情報を更新する。 If the network (NW) device next to the non-compatible network (NW) device has its own route information in the set route information list, it extracts its own route information from the list and updates its own route information. To do.
非対応ネットワーク(NW)機器の次のネットワーク(NW)機器は、自分の経路情報に基づいて、次のネットワーク(NW)機器に、残りの経路情報のリストを付加したパケットを転送する。 The network (NW) device next to the non-corresponding network (NW) device transfers a packet with a list of remaining route information to the next network (NW) device based on its own route information.
すなわち、本発明は、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器と、経路制御の機能を持つ外部のコントローラと、制御機能を内部に持つ従来型の非対応ネットワーク(NW)機器で構成されるネットワークシステムに関する。このネットワークシステムにおいて、外部のコントローラは、経路上の非対応ネットワーク(NW)機器の次のネットワーク(NW)機器に対して、それ以降の経路情報のリストを設定する。ネットワーク(NW)機器は、設定された経路情報のリストに基づいて、自分の経路情報を更新し、経路情報のリストをパケットと共に転送する。 That is, the present invention provides a network (NW) device in which packet transfer and path control functions are separated, an external controller having a path control function, and a conventional non-compliant network (NW) having a control function inside. The present invention relates to a network system composed of devices. In this network system, an external controller sets a list of subsequent route information for the network (NW) device next to the non-compatible network (NW) device on the route. The network (NW) device updates its route information based on the set route information list, and transfers the route information list together with the packet.
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。 As mentioned above, although embodiment of this invention was explained in full detail, actually, it is not restricted to said embodiment, Even if there is a change of the range which does not deviate from the summary of this invention, it is included in this invention.
10、30… コントローラ
11、31… 経路計算部
12、32… ネットワーク(NW)機器制御部
13、33… コントローラ間制御部
20、40… ネットワーク(NW)機器
21、41… パケット処理部
211、411… パケット送信部
212、412… パケット受信部
213、413… パケット解析部
214、414… パケット更新部
22、42… フローテーブル
23、43… フローテーブル管理部
DESCRIPTION OF
Claims (10)
前記コントローラにより制御できない非対応ネットワーク機器と、
前記非対応ネットワーク機器の前段のネットワーク機器と、
前記非対応ネットワーク機器の後段のネットワーク機器と
を含み、
前記コントローラは、
前記前段のネットワーク機器を制御する手段と、
前記前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する手段と、
前記計算した経路上に、前記非対応ネットワーク機器が存在する場合、前記非対応ネットワーク機器の後段の経路情報を、前記後段のネットワーク機器に向けて通知する手段と
を具備し、
前記後段のネットワーク機器は、
前記非対応ネットワーク機器から前記パケットを受信すると、前記後段の経路情報から自分の経路情報を取り出して、前記取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する手段と、
前記パケットに、前記後段の残りの経路情報を付加する手段と、
自分のフローテーブルに追加したエントリーに従って、前記後段の残りの経路情報が付加されたパケットを送信する手段と
を具備する
ネットワークシステム。 A controller,
A non-compliant network device that cannot be controlled by the controller;
A network device preceding the non-compliant network device;
A network device at a subsequent stage of the non-compliant network device,
The controller is
Means for controlling the preceding network device;
Means for calculating a route to a destination for the packet notified from the network device in the previous stage;
Means for notifying the subsequent network device of the route information of the latter stage of the non-compliant network device when the non-compliant network device is present on the calculated route;
The latter network device is:
Means for receiving the packet from the non-compliant network device, extracting the route information from the subsequent route information, and adding a new entry to the flow table based on the extracted route information;
Means for adding the remaining path information of the subsequent stage to the packet;
A network system comprising: means for transmitting a packet to which the remaining path information in the subsequent stage is added according to an entry added to its own flow table.
前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知する他のコントローラ
を更に含み、
前記コントローラは、
前記他のコントローラに対して、前記後段の経路情報を通知する手段と、
前記他のコントローラからの応答を受けて、前記前段のネットワーク機器のフローテーブルに新しいエントリーを追加する手段と、
前記非対応ネットワーク機器の前段の経路情報を、前記前段のネットワーク機器に通知する手段と
を更に具備する
ネットワークシステム。 The network system according to claim 1,
Further including another controller that receives the latter-stage route information from the controller and notifies the latter-stage network device of the latter-stage route information;
The controller is
Means for notifying the other controller of the path information of the subsequent stage;
Means for receiving a response from the other controller and adding a new entry to the flow table of the preceding network device;
A network system further comprising means for notifying the upstream network device of the path information of the upstream of the incompatible network device.
前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知する他のコントローラ
を更に含み、
前記後段のネットワーク機器は、
前記非対応ネットワーク機器から前記パケットを受信すると、前記パケットの内容と前記フローテーブルのエントリーの内容とを照合する手段と、
前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、前記他のコントローラに前記パケットを通知する手段と、
前記他のコントローラから前記後段の経路情報を受け取る手段と
を更に具備する
ネットワークシステム。 The network system according to claim 1,
Further including another controller that receives the latter-stage route information from the controller and notifies the latter-stage network device of the latter-stage route information;
The latter network device is:
Upon receiving the packet from the non-compliant network device, means for collating the content of the packet with the content of the entry in the flow table;
For the packet, if there is no corresponding entry in the flow table, the packet is determined as an unknown packet, and means for notifying the other controller of the packet;
A network system further comprising means for receiving the post-stage path information from the other controller.
前記前段のネットワーク機器と前記後段のネットワーク機器とは、同一のネットワーク機器である
ネットワークシステム。 The network system according to any one of claims 1 to 3,
The network system in which the preceding network device and the subsequent network device are the same network device.
前記コントローラにより制御できない非対応ネットワーク機器と、
前記非対応ネットワーク機器の前段のネットワーク機器と、
前記非対応ネットワーク機器の後段のネットワーク機器と
を含むネットワークシステムにおいて、
前記コントローラにより、前記前段のネットワーク機器を制御することと、
前記コントローラにより、前記前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算することと、
前記コントローラにより、前記計算した経路上に、前記非対応ネットワーク機器が存在する場合、前記非対応ネットワーク機器の後段の経路情報を、前記後段のネットワーク機器に向けて通知することと、
前記後段のネットワーク機器により、前記非対応ネットワーク機器から前記パケットを受信した場合、前記後段の経路情報から自分の経路情報を取り出して、前記取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加することと、
前記後段のネットワーク機器により、前記パケットに、前記後段の残りの経路情報を付加することと、
前記後段のネットワーク機器により、自分のフローテーブルに追加したエントリーに従って、前記後段の残りの経路情報が付加されたパケットを送信することと
を含む
経路情報更新方法。 A controller,
A non-compliant network device that cannot be controlled by the controller;
A network device preceding the non-compliant network device;
In a network system including a network device subsequent to the non-compliant network device,
Controlling the network device in the previous stage by the controller;
Calculating a route to a destination for the packet notified from the previous network device by the controller;
When the non-corresponding network device is present on the calculated route by the controller, notifying the subsequent route information of the non-corresponding network device to the subsequent network device;
When the subsequent network device receives the packet from the incompatible network device, it extracts its own route information from the subsequent route information, and creates a new entry in its own flow table based on the extracted route information. And adding
Adding the remaining route information of the subsequent stage to the packet by the network device of the subsequent stage;
A route information update method comprising: transmitting a packet to which the remaining route information of the subsequent stage is added according to an entry added to its own flow table by the subsequent network device.
前記コントローラにより、他のコントローラに対して、前記後段の経路情報を通知することと、
前記他のコントローラにより、前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知することと、
前記コントローラにより、前記他のコントローラからの応答を受けて、前記前段のネットワーク機器のフローテーブルに新しいエントリーを追加することと、
前記コントローラにより、前記非対応ネットワーク機器の前段の経路情報を、前記前段のネットワーク機器に通知することと
を更に含む
経路情報更新方法。 The route information update method according to claim 6,
Notifying the other controller of the route information of the subsequent stage by the controller;
The other controller receives the latter-stage route information from the controller, and notifies the latter-stage network information to the latter-stage network device;
In response to a response from the other controller by the controller, adding a new entry to the flow table of the preceding network device;
The route information update method further comprising: notifying the previous network device of the previous route information of the incompatible network device by the controller.
前記コントローラにより、他のコントローラに対して、前記後段の経路情報を通知することと、
前記他のコントローラにより、前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知することと、
前記後段のネットワーク機器により、前記非対応ネットワーク機器から前記パケットを受信すると、前記パケットの内容と前記フローテーブルのエントリーの内容とを照合することと、
前記後段のネットワーク機器により、前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、前記他のコントローラに前記パケットを通知することと、
前記後段のネットワーク機器により、前記他のコントローラから前記後段の経路情報を受け取ることと
を更に含む
経路情報更新方法。 The route information update method according to claim 6,
Notifying the other controller of the route information of the subsequent stage by the controller;
The other controller receives the latter-stage route information from the controller, and notifies the latter-stage network information to the latter-stage network device;
When the subsequent network device receives the packet from the non-compliant network device, the content of the packet is compared with the content of the entry in the flow table;
When there is no corresponding entry in the flow table for the packet by the subsequent network device, the packet is determined as an unknown packet, and the packet is notified to the other controller;
The route information updating method further comprising: receiving the subsequent route information from the other controller by the subsequent network device.
前記前段のネットワーク機器と前記後段のネットワーク機器とは、同一のネットワーク機器である
経路情報更新方法。 A route information update method according to any one of claims 6 to 8,
The route information update method, wherein the former network device and the latter network device are the same network device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010030677A JP5413737B2 (en) | 2010-02-15 | 2010-02-15 | Network system and route information update method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010030677A JP5413737B2 (en) | 2010-02-15 | 2010-02-15 | Network system and route information update method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011166704A JP2011166704A (en) | 2011-08-25 |
JP5413737B2 true JP5413737B2 (en) | 2014-02-12 |
Family
ID=44596807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010030677A Expired - Fee Related JP5413737B2 (en) | 2010-02-15 | 2010-02-15 | Network system and route information update method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5413737B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112014007795A2 (en) * | 2011-10-05 | 2017-04-18 | Nec Corp | load reduction system and load reduction system |
EP2597827B1 (en) * | 2011-11-25 | 2018-01-10 | Alcatel Lucent | Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit |
WO2013141191A1 (en) * | 2012-03-19 | 2013-09-26 | 日本電気株式会社 | Control apparatus, communication system, node control method and program |
EP2830266A4 (en) | 2012-03-19 | 2015-12-02 | Nec Corp | Communication system, control device, communication device, information-relaying method, and program |
JP2015511097A (en) * | 2012-03-23 | 2015-04-13 | 日本電気株式会社 | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM |
US9178715B2 (en) | 2012-10-01 | 2015-11-03 | International Business Machines Corporation | Providing services to virtual overlay network traffic |
JP6111974B2 (en) * | 2013-10-22 | 2017-04-12 | 富士通株式会社 | Transfer device, control device, and transfer method |
DE112016005942B4 (en) * | 2016-01-20 | 2020-07-02 | Mitsubishi Electric Corporation | Control device, control program and equipment control system |
JP6701779B2 (en) * | 2016-02-15 | 2020-05-27 | 株式会社リコー | Communications system |
KR102119257B1 (en) * | 2019-09-24 | 2020-06-26 | 프라이빗테크놀로지 주식회사 | System for controlling network access of terminal based on tunnel and method thereof |
US11652801B2 (en) | 2019-09-24 | 2023-05-16 | Pribit Technology, Inc. | Network access control system and method therefor |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3790655B2 (en) * | 2000-03-06 | 2006-06-28 | 富士通株式会社 | Label switch network system |
JP2004304547A (en) * | 2003-03-31 | 2004-10-28 | Nippon Telegr & Teleph Corp <Ntt> | Packet transfer device and packet transfer system |
US9083609B2 (en) * | 2007-09-26 | 2015-07-14 | Nicira, Inc. | Network operating system for managing and securing networks |
JP5408243B2 (en) * | 2009-03-09 | 2014-02-05 | 日本電気株式会社 | OpenFlow communication system and OpenFlow communication method |
-
2010
- 2010-02-15 JP JP2010030677A patent/JP5413737B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011166704A (en) | 2011-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5413737B2 (en) | Network system and route information update method | |
JP5521613B2 (en) | Network system, network device, route information update method, and program | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
EP3017569B1 (en) | Virtual network | |
EP2693708B1 (en) | Network system and method for acquiring vlan tag information | |
US20170111231A1 (en) | System and method for communication | |
JP5994851B2 (en) | Transfer device control device, transfer device control method, communication system, and program | |
EP2811702A1 (en) | Network system and topology management method | |
WO2010103909A1 (en) | OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD | |
EP2544409A1 (en) | Generic monitoring packet handling mechanism for OpenFlow 1.1 | |
WO2013168737A1 (en) | Communication system, control device, communication method, and program | |
US20140019639A1 (en) | Computer system and communication method | |
JP2011166700A (en) | Network system, and packet speculative transfer method | |
US8526437B2 (en) | Communication system and communication control device | |
EP2928122B1 (en) | Switch device, vlan setting management method and program | |
JP5861772B2 (en) | Network appliance redundancy system, control device, network appliance redundancy method and program | |
WO2014129624A1 (en) | Control device, communication system, path switching method, and program | |
TWI586124B (en) | Communication node, communication system, packet processing method and program | |
WO2011118586A1 (en) | Communication system, control device, forwarding node, method for updating processing rules, and program | |
WO2014126094A1 (en) | Communication system, communication method, control device, and control device control method and program | |
WO2012121114A1 (en) | Network system, network device, and path control method | |
WO2014183579A1 (en) | Data forwarding control method and logic switch | |
JP5854488B2 (en) | Communication system, control device, processing rule setting method and program | |
JP7439919B2 (en) | Apparatus, method, system and program for distributing traffic | |
EP1381189B1 (en) | Multi-bridge for a plurality of mutually different subnetworks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131004 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131031 |
|
LAPS | Cancellation because of no payment of annual fees |