JP5521613B2 - Network system, network device, route information update method, and program - Google Patents
Network system, network device, route information update method, and program Download PDFInfo
- Publication number
- JP5521613B2 JP5521613B2 JP2010030567A JP2010030567A JP5521613B2 JP 5521613 B2 JP5521613 B2 JP 5521613B2 JP 2010030567 A JP2010030567 A JP 2010030567A JP 2010030567 A JP2010030567 A JP 2010030567A JP 5521613 B2 JP5521613 B2 JP 5521613B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- network
- flow table
- frame
- 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の3つを示す。 Hereinafter, the flow of processing in the conventional network system will be described in detail with reference to FIG. Here, three network (NW) devices A, a network (NW) device B, and a network (NW) device C are shown as network (NW) devices.
(1)1stパケット送信
ノードは、自身が接続されたネットワーク(NW)機器Aに対して、1stパケットを送信する。
(1) 1st packet transmission A node transmits a 1st packet to a network (NW) device A to which the node is connected.
(2)1stパケット受信通知
ネットワーク(NW)機器Aは、1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。
(2) 1st packet reception notification Upon receiving the 1st packet, the network (NW) device A notifies the controller that controls the network (NW) device A that the 1st packet has been received.
(3)経路計算
ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報を基に、経路を計算する。
(3) Route Calculation Upon 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.
(4)ネットワーク(NW)機器C更新指示
ネットワーク(NW)機器Aを制御するコントローラは、計算した経路が、異なるコントローラによって制御されるネットワーク(NW)機器Cをまたぐような場合は、ネットワーク(NW)機器Cを制御するコントローラに対して、ネットワーク(NW)機器Cの経路情報を通知し、ネットワーク(NW)機器Cのフローテーブルを更新するように指示する。
(4) Network (NW) device C update instruction The controller that controls the network (NW) device A has a network (NW) if the calculated route crosses the network (NW) device C controlled by different controllers. ) The controller that controls the device C is notified of the route information of the network (NW) device C, and is instructed to update the flow table of the network (NW) device C.
(5)ネットワーク(NW)機器C更新
ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Cのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。
(5) Network (NW) device C 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.
(6)ネットワーク(NW)機器C更新完了
ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Cを制御するコントローラから、ネットワーク(NW)機器Cのフローテーブルの更新が完了した旨の通知を受け取る。
(6) Completion of network (NW) device C update completion The controller that controls the network (NW) device A has updated the flow table of the network (NW) device C from the controller that controls the network (NW) device C. Receive notifications.
(7)ネットワーク(NW)機器A更新、ネットワーク(NW)機器B更新
ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上で、異なるコントローラによって制御される全てのネットワーク(NW)機器のフローテーブルの更新が完了すると、計算した経路を基に、通知元のネットワーク(NW)機器A及び配下の他のネットワーク(NW)機器Bのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。すなわち、コントローラは、計算した経路上で自分の制御下にないネットワーク(NW)機器を制御する全てのコントローラに更新指示を通知し、応答により同期を取り、計算した経路上のネットワーク(NW)機器のフローテーブルの更新が完了したことを確認した後に、自分の制御下のネットワーク(NW)機器のフローテーブルを更新する。
(7) Network (NW) device A update, Network (NW) device B update The controller that controls the network (NW) device A is the network of 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.
(8)パケット送信
ネットワーク(NW)機器Aは、追加されたフローテーブルのエントリーに従い、1stパケットを次のネットワーク(NW)機器Bに送信する。
(8) Packet transmission The network (NW) device A transmits a 1st packet to the next network (NW) device B in accordance with the entry of the added flow table.
(9)パケット送信
ネットワーク(NW)機器Bは、追加されたフローテーブルのエントリーに従い、1stパケットを次のネットワーク(NW)機器Cに送信する。
(9) Packet transmission The network (NW) device B transmits a 1st packet to the next network (NW) device C according to the entry of the added flow table.
(10)パケット送信
ネットワーク(NW)機器Cは、追加されたフローテーブルのエントリーに従い、受信したパケットを、配下のノードに送信する。
(10) Packet transmission The network (NW) device C transmits the received packet to the subordinate node according to the added entry in the flow table.
図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)機器で再構成する場合、システム性能が劣化する可能性が大きく、最悪の場合、従来守れていたシステムの性能指標を守れなくなってしまう可能性がある。 For the above reasons, when reconfiguring an existing network with a network (NW) device that separates packet transfer and routing, the system performance is likely to deteriorate. In the worst case, the performance index of the system that has been protected in the past May not be able to protect.
なお、関連する技術として、特許文献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.
また、特許文献3(特許第3517552号明細書)にデータ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体が開示されている。この関連技術では、制御コマンドを非同期パケットを用いて転送する。また、各コマンドはパケットフレームのヘッダのctypeにセットされるコマンドタイプに従った内容で実行される。 Patent Document 3 (Japanese Patent No. 3517552) discloses a data transfer device, a data transfer system and method, an image processing device, and a recording medium. In this related technique, a control command is transferred using an asynchronous packet. Each command is executed according to the command type set in ctype of the header of the packet frame.
本発明の目的は、パケットに埋め込んだ経路情報を基に、ネットワーク(NW)機器が内部に持つ経路情報テーブルを更新するネットワークシステムを提供することである。 An object of the present invention is to provide a network system that updates a route information table in a network (NW) device based on route information embedded in a packet.
本発明のネットワークシステムは、ネットワークを構成する複数のネットワーク機器を含む。複数のネットワーク機器の各々は、パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信する手段と、受信したパケットを解析し、受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、フレームから自分の経路情報を取り出し、取り出された経路情報を基に、フローテーブルに新しいエントリーを追加し、フローテーブルを更新する手段とを具備する。 The network system of the present invention includes a plurality of network devices constituting a network. When each of the plurality of network devices transmits a packet in accordance with the entry of the flow table indicating the determination criterion of the packet and the processing for the packet, the route of the other network device existing on the route to the destination in the frame carrying the packet If the route information is added to the frame that carries the received packet by analyzing the received packet and the means for transmitting the information, the route information is extracted from the frame, and the extracted route information is And a means for adding a new entry to the flow table and updating the flow table.
本発明の経路情報更新方法は、ネットワークを構成する複数のネットワーク機器の各々により実施される。この経路情報更新方法では、パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信する。また、受信したパケットを解析し、受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、フレームから自分の経路情報を取り出し、取り出された経路情報を基に、フローテーブルに新しいエントリーを追加し、フローテーブルを更新する。 The route information update method of the present invention is implemented by each of a plurality of network devices constituting a network. In this route information update method, when transmitting a packet in accordance with a packet determination criterion and a flow table entry indicating processing for the packet, the route information of other network devices existing on the route to the destination is included in the frame carrying the packet. Add and send. Also, when the received packet is analyzed and the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and a new entry is entered in the flow table based on the extracted route information. And update the flow table.
本発明のプログラムは、以下の第1及び第2のステップをネットワーク機器に実行させるためのプログラムである。第1のステップは、パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信するステップである。第2のステップは、受信したパケットを解析し、受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、フレームから自分の経路情報を取り出し、取り出された経路情報を基に、フローテーブルに新しいエントリーを追加し、フローテーブルを更新するステップである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。 The program of the present invention is a program for causing a network device to execute the following first and second steps. In the first step, when a packet is transmitted according to the entry of the flow table indicating the determination criterion of the packet and the processing for the packet, the route information of other network devices existing on the route to the destination is added to the frame carrying the packet. This is a step of adding and transmitting. The second step analyzes the received packet, and if the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and the flow is performed based on the extracted route information. This is a step of adding a new entry to the table and updating the flow table. Note that the program of the present invention can be stored in a storage device or a storage medium.
パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、複数のコントローラをまたぐ通信が発生する場合における1stパケット処理の際、コントローラ間で経路内のネットワーク(NW)機器のフローテーブル更新指示と同期待ち合わせの必要が無くなり、パケット転送の遅延を回避でき、ネットワーク性能が向上する。 In a network composed of network (NW) devices in which packet transfer and routing functions are separated, a network (NW) in the path between the controllers is used for the first packet processing when communication across a plurality of controllers occurs. There is no need for device flow table update instructions and synchronization waits, packet transfer delays can be avoided, and network performance is improved.
以下に、本発明の実施形態について添付図面を参照して説明する。
図5に示す通り、本発明のネットワークシステムは、コントローラと、ネットワーク(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 and network (NW) equipment.
コントローラは、自分が制御するネットワーク(NW)機器から、1stパケット(First packet)受信の通知を受けて、パケット(packet)転送の経路を計算し、計算した経路を基に、通知元のネットワーク(NW)機器のフローテーブルを更新する。このとき、コントローラは、計算した経路に、他のコントローラにより制御される他のネットワーク(NW)機器が含まれている場合、自分が制御するネットワーク(NW)機器に対して、他のネットワーク(NW)機器の経路情報(フローテーブルのエントリー)のリストを通知する。 The controller receives a first packet (First packet) reception notification from a network (NW) device controlled by itself, calculates a packet transfer route, and based on the calculated route (notification source network ( NW) Update the flow table of the device. At this time, when the calculated path includes another network (NW) device controlled by the other controller, the controller transmits another network (NW) to the network (NW) device controlled by the controller. ) Notify a list of device route information (flow table entries).
ネットワーク(NW)機器は、1stパケットを受信するとコントローラに通知し、コントローラにより更新された自分のフローテーブルに従って、1stパケットを転送する。このとき、ネットワーク(NW)機器は、コントローラから、他のネットワーク(NW)機器の経路情報のリストを通知された場合、本発明で定義する新規のプロトコルで、他のネットワーク(NW)機器の経路情報のリストを1stパケットに付加し、次のネットワーク(NW)機器に送信する。本発明で定義する新規のプロトコルは、パケットを運ぶフレーム(Ether frame)について予め定義された新規プロトコルである。本発明で定義する新規のプロトコルの詳細については後述する。 When receiving the 1st packet, the network (NW) device notifies the controller, and transfers the 1st packet according to its flow table updated by the controller. At this time, when the network (NW) device is notified of a list of route information of the other network (NW) device from the controller, the route of the other network (NW) device using the new protocol defined in the present invention. A list of information is added to the 1st packet and transmitted to the next network (NW) device. The new protocol defined in the present invention is a new protocol defined in advance for a frame (Ether frame) carrying a packet. Details of the new protocol defined in the present invention 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)機器は、最初に1stパケットを受信すると、そのパケットに経路上の全てのネットワーク(NW)機器の経路情報を付加する(埋め込む)。 Here, when the network (NW) device first receives the 1st packet, it adds (embeds) route information of all the network (NW) devices on the route to the packet.
また、ネットワーク(NW)機器は、経路情報が付加された(埋め込まれた)パケットを受信すると、付加された経路情報に基づいて、自身の経路情報を更新して、次のネットワーク(NW)機器にパケットを送信することを繰り返す。 Further, when the network (NW) device receives the packet to which the route information is added (embedded), the network (NW) device updates its own route information based on the added route information, and the next network (NW) device Repeat sending the packet.
これにより、コントローラとの通信が最初の1回だけになり、1stパケット到着時のフローテーブル更新処理に伴うコントローラ間の同期待ち合わせを省略することができる。 As a result, communication with the controller is performed only once for the first time, and synchronization waiting between the controllers accompanying the flow table update process when the first packet arrives can be omitted.
<実施例>
以下、図5を参照して、本発明のネットワークシステムにおける処理の流れを具体的に説明する。ここでは、ネットワーク(NW)機器として、ネットワーク(NW)機器A、ネットワーク(NW)機器B、ネットワーク(NW)機器Cの3つを示す。
<Example>
Hereinafter, the flow of processing in the network system of the present invention will be specifically described with reference to FIG. Here, three network (NW) devices A, a network (NW) device B, and a network (NW) device C are shown as network (NW) devices.
なお、図4と図5を対比すると、従来技術と本発明との相違点が明確となる。 4 and FIG. 5, the difference between the prior art and the present invention becomes clear.
(1)1stパケット送信
ノードは、自身が接続されたネットワーク(NW)機器Aに対して、1stパケットを送信する。
(1) 1st packet transmission A node transmits a 1st packet to a network (NW) device A to which the node is connected.
(2)1stパケット受信通知
ネットワーク(NW)機器Aは、1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。
(2) 1st packet reception notification Upon receiving the 1st packet, the network (NW) device A notifies the controller that controls the network (NW) device A that the 1st packet has been received.
(3)経路計算
ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報を基に、経路を計算する。
(3) Route Calculation Upon 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.
(4)ネットワーク(NW)機器A更新+経路情報送信
ネットワーク(NW)機器Aを制御するコントローラは、計算した経路を基に、通知元のネットワーク(NW)機器Aのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。このとき、ネットワーク(NW)機器Aを制御するコントローラは、計算した経路が、異なるコントローラによって制御されるネットワーク(NW)機器をまたぐような場合は、全てのネットワーク(NW)機器の経路情報(フローテーブルのエントリー)のリストを、通知元のネットワーク(NW)機器に送信する。
(4) Network (NW) device A update + route information transmission The controller controlling the network (NW) device A adds a new entry to the flow table of the notification source network (NW) device A based on the calculated route. And update the flow table. At this time, the controller that controls the network (NW) device A, when the calculated route crosses the network (NW) device controlled by different controllers, the route information (flow) of all the network (NW) devices. The list of entries in the table is transmitted to the network (NW) device that is the notification source.
(5)パケット送信
通知元のネットワーク(NW)A機器は、自分以外のネットワーク(NW)機器の経路情報のリストを1stパケットに付加し、追加されたフローテーブルのエントリーに従い、1stパケットを次のネットワーク(NW)機器Bに送信する。
(5) Packet transmission The source network (NW) A device adds a list of route information of the network (NW) device other than itself to the 1st packet, and follows the entry of the added flow table to the next 1st packet. Transmit to network (NW) device B.
(6)ネットワーク(NW)機器B更新
次のネットワーク(NW)機器Bは、経路情報のリストを付加されたパケットを受信し、リストに自分の経路情報が存在する場合は、その経路情報に基づいて、フローテーブルにエントリーを追加し、処理(Action)を実行する。
(6) Network (NW) device B update The next network (NW) device B receives a packet to which a list of route information is added, and, if its own route information exists in the list, based on the route information. Then, an entry is added to the flow table, and the process (Action) is executed.
(7)パケット送信
その後、次のネットワーク(NW)機器Bは、追加されたフローテーブルのエントリーに従い、受信したパケットを、更に次のネットワーク(NW)機器Cに送信する。
(7) Packet transmission Thereafter, the next network (NW) device B further transmits the received packet to the next network (NW) device C according to the entry of the added flow table.
(8)ネットワーク(NW)機器C更新
更に次のネットワーク(NW)機器Cは、経路情報のリストを付加されたパケットを受信し、リストに自分の経路情報が存在する場合は、その経路情報に基づいて、フローテーブルにエントリーを追加し、処理(Action)を実行する。
(8) Network (NW) device C update Further, the next network (NW) device C receives a packet to which a list of route information is added, and if its own route information exists in the list, the route information is added to the route information. Based on this, an entry is added to the flow table, and the process (Action) is executed.
(9)パケット送信
その後、更に次のネットワーク(NW)機器Cは、追加されたフローテーブルのエントリーに従い、受信したパケットを、配下のノードに送信する。
(9) Packet transmission Thereafter, the next network (NW) device C transmits the received packet to the subordinate node according to the entry of the added flow table.
これを繰り返すことで、コントローラ間でフローテーブル更新の同期待ち合わせをすることなく、経路上の全てのネットワーク(NW)機器のフローテーブルが更新され、1stパケットは宛先に到達する。 By repeating this, the flow tables of all the network (NW) devices on the route are updated without waiting for the synchronization of the flow table update between the controllers, and the 1st packet reaches the destination.
パケットに付加された経路情報の尤度(確からしさ)については、予め(事前に)通信相手となるネットワーク(NW)機器をコンフィグレーションしておく等の手法が考えられる。 With regard to the likelihood (probability) of the route information added to the packet, a method of configuring a network (NW) device as a communication partner in advance (in advance) is conceivable.
<本発明のネットワークシステムの基本構成>
図6を参照して、本発明のネットワークシステムの基本構成の詳細について説明する。
<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.
先に説明した通り、本発明のネットワークシステムは、コントローラ10と、ネットワーク(NW)機器20を備える。
As described above, the network system of the present invention includes the
なお、図5に示したコントローラは、コントローラ10に該当する。また、図5に示したネットワーク(NW)機器は、ネットワーク(NW)機器20に該当する。
The controller illustrated in FIG. 5 corresponds to the
コントローラ10は、ネットワーク(NW)機器20と物理的に分離されたサーバマシン、又は当該サーバマシン上で動作する仮想マシン(VM:Virtual Machine)である。コントローラ10は、複数のネットワーク(NW)機器を管理することができ、各ネットワーク(NW)機器と、専用線もしくは通常のネットワークを利用したセキュアチャンネル(Secure channel:安全な経路)で接続されており、オープンフロープロトコルで通信を行う。
The
コントローラ10は、経路計算部11と、ネットワーク(NW)機器制御部12を持つ。
The
経路計算部11は、パケットの転送経路を計算する。ネットワーク(NW)機器制御部12は、専用線もしくは通常のネットワークを介して、ネットワーク(NW)機器20を制御する。ここでは、ネットワーク(NW)機器制御部12は、ネットワーク(NW)機器20からパケットを受信し、ネットワーク(NW)機器20に経路情報のリストを送信する。
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
<本発明で定義する新規のプロトコル>
次に、本発明で定義する新規のプロトコルについて説明する。
<New protocol defined in the present invention>
Next, a novel protocol defined by the present invention will be described.
本発明では、フレームフォーマットにおいて経路情報のリストを埋め込む領域を定義した新規のプロトコルを用意する。新規のプロトコルのヘッダ情報は、少なくとも経路情報のリストとヘッダ長を情報に持つ。新規のプロトコルのパケットを運ぶフレームには、上位プロトコル種別を表す領域(field)に新規のプロトコル用に定義した識別情報(ID)を指定する。 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 new protocol defined in the present invention is based on the frame format conforming to IEEE 802.3 (basic), and includes a preamble, an SFD (Start Frame Delimiter), and a dst (destination address). ), Src (source address), TPID (Tag Protocol Identifier), TCI (Tag Control Information), Len / type (length / type), Data / LLC (Data / Logical Link Control) An area such as FCS (Frame Check Sequence) is included.
本発明では、経路情報のリストを埋め込むための領域として、Data/LLCを使用する。Data/LLCは、ヘッダ長と、経路情報リストと、1stパケットを含む。パケット更新部214は、コントローラ10から通知された経路情報のリストを、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
<ネットワーク(NW)機器内部の動作>
図6を参照して、ネットワーク(NW)機器20が1stパケットを受信したときの動作を説明する。
<Operation inside network (NW) device>
With reference to FIG. 6, the operation when the network (NW)
ネットワーク(NW)機器20において、パケット受信部212は、パケットを受信する。
In the network (NW)
パケット解析部213は、パケットを解析し、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームかどうかを判定する。ここでは、パケット解析部213は、パケットを解析し、パケットを運ぶフレームに、新規のプロトコル用に定義した識別情報(ID)が付加されている場合、又は、パケットを運ぶフレームから経路情報のリストを検出した場合、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームであると判断する。
The
パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームではない場合、パケット解析部213は、パケットの内容と、フローテーブル22のエントリーの内容を照合する。
If the frame carrying the packet is not a frame of the new protocol defined in 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
ネットワーク(NW)機器制御部12は、計算された経路上の全てのネットワーク(NW)機器の経路情報を、通知元のネットワーク(NW)機器20に送信する。
The network (NW)
通知元のネットワーク(NW)機器20において、パケット受信部212は、コントローラ10から経路上の全てのネットワーク(NW)機器の経路情報のリストを受信する。
In the notification source network (NW)
フローテーブル管理部23は、全てのネットワーク(NW)機器の経路情報のリストから、自分の経路情報を取り出してフローテーブル22を更新する。
The flow
パケット更新部214は、本発明で定義する新規のプロトコルに従って、1stパケットに、自分以外のネットワーク(NW)機器の経路情報のリストを付加する。
The
その後、パケット送信部211は、フローテーブル22に従い、次のネットワーク(NW)機器20に、経路情報のリストが付加されたパケットを送信する。
Thereafter, the
次のネットワーク(NW)機器20において、パケット受信部212は、経路情報のリストが付加されたパケットを受信する。
In the next network (NW)
パケット解析部213は、パケットを解析し、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームかどうかを判定する。
The
パケット解析部213は、当該パケットを運ぶフレーム内の経路情報リストから、自分の経路情報を取り出してフローテーブル管理部23に通知する。
The
フローテーブル管理部23は、通知された経路情報を基に、フローテーブル22を更新する。
The flow
その後、パケット送信部211は、フローテーブル22に従い、更に次のネットワーク(NW)機器20に、経路情報のリストが付加されたパケットを送信する。
Thereafter, the
<本発明のパケット処理>
本発明のパケット到着時の処理の流れは、図2に示した通りである。本発明のパケット照合処理ついては、図8に示す通り、図3のパケット照合処理に、本発明で定義する新規のプロトコルに従ったパケットであることの確認処理(プロトコル確認処理)と、自分の経路情報を取り出す処理(経路情報取得処理)を追加する。自分の経路情報を取り出す処理(経路情報取得処理)の後、フローテーブルの更新とパケット送信処理を行う。
<Packet processing of the present invention>
The flow of processing when a packet arrives according to the present invention is as shown in FIG. As shown in FIG. 8, the packet matching process of the present invention includes a packet matching process shown in FIG. 3 and a confirmation process (protocol confirmation process) for confirming that the packet conforms to the new protocol defined in the present invention. A process for extracting information (route information acquisition process) is added. After the processing for extracting own route information (route information acquisition processing), update of the flow table and packet transmission processing are performed.
なお、図3と図8を対比すると、従来技術と本発明との相違点が明確となる。 3 and FIG. 8, the difference between the prior art and the present invention becomes clear.
図8を参照して、本発明のパケット照合処理について詳述する。
まず、ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と照合する際の照合対象となるパケットのヘッダ領域情報(Header Field)に、「Ingress Port」と、「Ether src」と、「Ether dst」と、「Ether type」を指定する(図8の「Header Field=<Ingress Port, Ether src, Ether dst, Ether type>」)。
With reference to FIG. 8, the packet matching process of the present invention will be described in detail.
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” (“Header Field = <Ingress Port, Ether src, Ether dst, Ether type>” in FIG. 8).
ネットワーク(NW)機器は、パケットが本発明で定義する新規のプロトコルに従ったパケットか確認する(プロトコル確認処理)。ここでは、ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が、本発明で定義する新規のプロトコルに従ったパケットであることを示すIDであるか確認する(図8の「Ether type = ID for new protocol?」)。 The network (NW) device confirms whether the packet conforms to a new protocol defined in the present invention (protocol confirmation processing). Here, the network (NW) device confirms whether the value of “Ether type” in the header field information (Header Field) of the packet is an ID indicating that the packet conforms to the new protocol defined in the present invention. (“Ether type = ID for new protocol?” In FIG. 8).
ネットワーク(NW)機器は、パケットが本発明で定義する新規のプロトコルに従ったパケットであると判断した場合、パケットから自分の経路情報(フローテーブルのエントリー)を取り出す(経路情報取得処理)。ここでは、ネットワーク(NW)機器は、「Ether type」の値が、本発明で定義する新規のプロトコルに従ったパケットであることを示すIDである場合、パケットから自分の経路情報(フローテーブルのエントリー)を取り出し、取り出した経路情報を基に、フローテーブルに新しいエントリーを追加し、フローテーブルを更新する(図8の「Extract own flow table entry」)。 When the network (NW) device determines that the packet conforms to the new protocol defined in the present invention, the network (NW) device extracts its route information (flow table entry) from the packet (route information acquisition processing). Here, when the value of “Ether type” is an ID indicating that the packet conforms to the new protocol defined in the present invention, the network (NW) device determines its route information (from the flow table). Entry) is taken out, a new entry is added to the flow table on the basis of the taken out route information, and the flow table is updated ("Extract down flow table entry" in FIG. 8).
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x8100」であるか確認する(図8の「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. 8).
ネットワーク(NW)機器は、「Ether type」の値が「0x8100」である場合、「VLAN ID」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「Ether type」についても照合対象とする。このとき、ネットワーク(NW)機器は、カプセル化された「Ether type」の値を、「Ether type」の値として使用する(図8の「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 encapsulated “ether type” value as the “ether type” value (“Add <VLAN ID> to Header Field, Use encapsulated Ether type as shown in FIG. 8). Ether type ").
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x800」であるか確認する(図8の「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. 8).
ネットワーク(NW)機器は、「Ether type」の値が「0x800」である場合、「IP src」と、「IP dst」と、「IP proto」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「IP src」と、「IP dst」と、「IP proto」についても照合対象とする(図8の「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. 8). ").
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「IP proto」の値が「6」又は「17」であるか確認する(図8の「IP proto = 6 or 17?」)。 The network (NW) device checks 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. 8). .
ネットワーク(NW)機器は、「IP proto」の値が「6」又は「17」である場合、「TCP/UDP src port」と、「TCP/UDP dst port」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「TCP/UDP src port」と、「TCP/UDP dst port」についても照合対象とする(図8の「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. 8). to Header Field ").
ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と、パケットのヘッダ領域情報(Header Field)を照合する(図8の「Packet Lookup Over Header Field」)。 The network (NW) device collates the header area information (Header Field) of the entry of the flow table with the header area information (Header Field) of the packet (“Packet Lookup Over Header Field” in FIG. 8).
本発明により、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、複数のコントローラをまたぐ通信が発生する場合における1stパケット処理の際、コントローラ間で経路内のネットワーク(NW)機器のフローテーブル更新指示と同期待ち合わせの必要が無くなり、パケット転送の遅延を回避でき、ネットワーク性能が向上する。 According to the present invention, in a network composed of network (NW) devices in which packet transfer and routing control functions are separated, in the case of 1st packet processing when communication across multiple controllers occurs, There is no need for a network (NW) device flow table update instruction and synchronization waiting, delay of packet transfer can be avoided, and network performance is improved.
<他の実施例>
上記の説明において、本発明の実施例では、経路上のネットワーク(NW)機器の経路情報(フローテーブルのエントリー)をリストにし、このリストをパケットに付加して送受信している。
<Other embodiments>
In the above description, in the embodiment of the present invention, route information (flow table entries) of network (NW) devices on the route is made into a list, and this list is added to the packet and transmitted / received.
本発明の他の実施例としては、経路情報のリストではなく、ネットワーク(NW)機器の制御コマンドをパケットに付加して送受信することが考えられる。 As another embodiment of the present invention, it is conceivable to transmit / receive by adding a control command of a network (NW) device to a packet instead of a list of route information.
この場合、パケット更新部214は、経路情報リストの代わりに、又は、経路情報リストと共に、ネットワーク(NW)機器の制御コマンドを、フレームフォーマットのData/LLCに格納することで、ネットワーク(NW)機器の制御コマンドをパケットに付加する。パケット解析部213は、パケットを解析し、パケットに付加された制御コマンドを取り出して実行する。
In this case, the
ネットワーク(NW)機器間でネットワーク(NW)機器の制御コマンドを送受信することで、フローテーブルの更新だけでなく、他の制御もできるようになる。 By transmitting and receiving network (NW) device control commands between the network (NW) devices, not only the flow table can be updated, but also other controls can be performed.
なお、本発明においては、経路情報のリストも、視点を変えれば、フローテーブルを更新するための制御コマンドと言えるため、ネットワーク(NW)機器の制御コマンドの1つと言える。 In the present invention, the route information list can also be said to be one of the control commands for the network (NW) device because it can be said to be a control command for updating the flow table if the viewpoint is changed.
<補足>
本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、フローテーブルに経路情報が無いパケットに対し、投機的な転送(パケット転送の投機的実行:speculative execution)を行い、外部ネットワークに送信する直前で保留することができる。
<Supplement>
In the present invention, in a network composed of network (NW) devices in which the functions of packet transfer and route control are separated, speculative transfer (speculative execution of packet transfer: (special execution) can be performed and held immediately before transmission to the external network.
また、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、投機的な転送の成否をコントローラからのフローテーブルの設定によって判定を行うことができる。 Further, in the present invention, whether or not speculative transfer is successful can be determined by setting a flow table from the controller in a network composed of network (NW) devices in which packet transfer and routing control functions are separated. .
また、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、投機的な転送に失敗したと判定した場合に投機キャンセルパケットを送ることによって、投機的な転送したパケットを取り消すことができる。 In the present invention, in a network composed of network (NW) devices in which packet transfer and routing functions are separated, a speculative cancel packet is sent when it is determined that speculative transfer has failed. The forwarded packet can be canceled.
また、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、投機的に転送したパケットを経由した全てのプログラマブルネットワーク(NW)機器で保持しておき、投機的な転送に失敗したと判定した場合に、転送先を間違えたプログラマブルネットワーク(NW)機器からパケットを送り直す(再送する)ことができる。 Further, in the present invention, in a network composed of network (NW) devices in which packet transfer and routing functions are separated, it is held in all programmable network (NW) devices via speculatively transferred packets. When it is determined that speculative transfer has failed, a packet can be retransmitted (retransmitted) from a programmable network (NW) device with the wrong transfer destination.
<まとめ>
以上のように、本発明では、パケットに埋め込んだ経路情報を基に、ネットワーク(NW)機器が内部に持つ経路情報テーブルを更新する。
<Summary>
As described above, in the present invention, the route information table in the network (NW) device is updated based on the route information embedded in the packet.
本発明では、ネットワーク(NW)機器は、パケットを受信した際に、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームかどうかを判定する。 In the present invention, when a network (NW) device receives a packet, it determines whether the frame carrying the packet is a frame of a new protocol defined in the present invention.
ネットワーク(NW)機器は、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームであれば、フレーム内の経路情報(フローテーブルのエントリー)を参照し、自分の経路情報があるか確認する。 If the frame carrying the packet is a frame of the new protocol defined in the present invention, the network (NW) device refers to the route information (entry of the flow table) in the frame and confirms whether its own route information exists. .
ネットワーク(NW)機器は、自分の経路情報があれば、自分の経路情報を基に、自分のフローテーブルに新たなエントリーを追加し、この新たなエントリーに従ってパケットを転送する。 If the network (NW) device has its own route information, the network (NW) device adds a new entry to its own flow table based on its own route information, and forwards the packet according to this new entry.
ネットワーク(NW)機器は、自分の経路情報がない場合、又は、パケットを運ぶフレームが本発明で定義する新規のプロトコルのフレームでない場合、従来のオープンフローの手順に従って、自分のフローテーブル内の既存のエントリーと、受信したパケットを照合する。 If the network (NW) device does not have its own route information or if the frame carrying the packet is not a frame of the new protocol defined in the present invention, the network (NW) device follows the conventional OpenFlow procedure to The received packet is matched with the received packet.
<本発明の特徴>
本発明の特徴の1つは、オープンフローに代表される、制御機能を外部のコントローラとして分離したネットワーク(NW)機器で構成されるネットワークを対象とすることである。
<Features of the present invention>
One of the features of the present invention is to target a network composed of network (NW) devices separated by a control function as an external controller, represented by OpenFlow.
また、本発明の特徴の1つは、コントローラが異なるネットワーク(NW)機器をまたがる経路の場合に、コントローラ間の通信を伴わずに全てのネットワーク(NW)機器に対して経路情報を設定できることである。 In addition, one of the features of the present invention is that, when the route is across a network (NW) device with different controllers, route information can be set for all the network (NW) devices without communication between the controllers. is there.
また、本発明の特徴の1つは、経路情報が存在しないパケットが到着したときに、経路上にあるネットワーク(NW)機器の経路情報をリストにしてパケットに付加し、次のネットワーク(NW)機器に転送することである。 One of the features of the present invention is that when a packet without route information arrives, the route information of the network (NW) device on the route is added to the packet as a list, and the next network (NW) It is to transfer to the device.
また、本発明の特徴の1つは、ネットワーク(NW)機器は、経路情報のリストが付加されたパケットを解析し、自身の経路情報を更新することである。 Also, one of the features of the present invention is that a network (NW) device analyzes a packet to which a list of route information is added and updates its own route information.
すなわち、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、経路上のネットワーク(NW)機器に設定する経路情報を取得したネットワーク(NW)機器は、この経路情報をパケットに付加して転送する。パケットを受信した経路上のネットワーク(NW)機器は、経路情報が付加されたパケットを解析して自らの経路情報を更新する。これにより、コントローラに直接問い合わせることなくネットワーク(NW)機器の経路情報を更新することができる。 That is, according to the present invention, in a network composed of network (NW) devices in which the functions of packet transfer and route control are separated, the network (NW) device that has acquired the route information set in the network (NW) device on the route Transmits the route information added to the packet. The network (NW) device on the route that received the packet analyzes the packet to which the route information is added and updates its route information. Thereby, the route information of the network (NW) device can be updated without directly inquiring of the controller.
更に、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、ネットワーク(NW)機器は、経路上のネットワーク(NW)機器の制御コマンドをパケットに付加して転送する。パケットを受信した経路上のネットワーク(NW)機器は、制御コマンドを付加されたパケットを解析して制御コマンドを実行する。これにより、コントローラと直接通信することなくネットワーク(NW)機器を制御することができる。 Further, in a network composed of network (NW) devices in which packet transfer and routing functions are separated, the network (NW) device adds a control command of the network (NW) device on the route to the packet and transfers it. To do. A network (NW) device on the path that received the packet analyzes the packet to which the control command is added and executes the control command. Thereby, a network (NW) device can be controlled without directly communicating with the controller.
(付記1)
本発明のネットワークシステムは、コントローラと、ネットワークを構成し、前記コントローラにより制御されるネットワーク機器とを具備する。
(Appendix 1)
The network system of the present invention includes a controller and network devices that form a network and are controlled by the controller.
(付記2)
前記コントローラは、前記ネットワーク機器から通知されたパケットについて、宛先までの経路を計算し、前記ネットワーク機器のフローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、前記計算した経路上に、自分の制御下にない他のネットワーク機器が存在する場合、前記他のネットワーク機器の経路情報を前記ネットワーク機器に通知する手段とを具備する。
(Appendix 2)
The controller calculates a route to a destination for the packet notified from the network device, adds a new entry to the flow table of the network device, and updates the flow table; and on the calculated route And means for notifying the network device of route information of the other network device when there is another network device not under its control.
(付記3)
前記ネットワーク機器は、フレーム内に前記経路情報を付加する領域を定義した新規プロトコルに従って、パケットを運ぶフレームに前記経路情報を付加して前記ネットワークに送信する手段と、前記ネットワークからパケットを受信する手段と、前記パケットを解析し、前記パケットを運ぶフレームが前記新規プロトコルのフレームかどうかを判定する手段と、前記パケットを運ぶフレームが前記新規プロトコルのフレームではない場合、前記パケットと前記フローテーブルのエントリーとを照合する手段と、前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、前記コントローラに前記パケットを通知する手段と、前記パケットを運ぶフレームが前記新規プロトコルのフレームである場合、前記パケットを運ぶフレームから、自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、前記フローテーブルに追加されたエントリーに従って、前記パケットを転送する手段とを具備する。
(Appendix 3)
Means for adding the route information to a frame carrying a packet and transmitting it to the network in accordance with a new protocol defining an area to which the route information is added in a frame; and means for receiving a packet from the network Means for analyzing the packet and determining whether a frame carrying the packet is a frame of the new protocol; and if the frame carrying the packet is not a frame of the new protocol, an entry in the packet and the flow table And means for determining that the packet is an unknown packet and notifying the controller of the packet when there is no corresponding entry in the flow table for the packet, and carrying the packet The frame is the new proto Means for extracting own route information from the frame carrying the packet, adding a new entry to the flow table, and updating the flow table based on the extracted route information; Means for transferring the packet in accordance with the entry added to the flow table.
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。 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… コントローラ
11… 経路計算部
12… ネットワーク(NW)機器制御部
20… ネットワーク(NW)機器
21… パケット処理部
211… パケット送信部
212… パケット受信部
213… パケット解析部
214… パケット更新部
22… フローテーブル
23… フローテーブル管理部
DESCRIPTION OF
Claims (10)
前記各ネットワーク機器を制御するコントローラと、
を含み、
前記ネットワーク機器は、
パケットの受信を前記コントローラに通知する手段を有し、
前記コントローラは、
前記ネットワーク機器から通知されたパケットについて、前記各ネットワーク機器のフローテーブルの更新を指示する手段を有し、
前記複数のネットワーク機器の各々は、
前記コントローラの指示に基づき前記フローテーブルを更新する手段と、
パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信する手段と、
受信したパケットを解析し、前記受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、前記フレームから自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と
を具備する
ネットワークシステム。 A plurality of network devices constituting the network ;
A controller for controlling each network device;
Including
The network device is:
Means for notifying the controller of reception of a packet;
The controller is
Means for instructing update of the flow table of each network device for the packet notified from the network device;
Each of the plurality of network devices is
Means for updating the flow table based on instructions from the controller;
When transmitting a packet according to the entry of the flow table indicating the determination criterion of the packet and the processing for the packet, a means for transmitting the packet carrying the packet by adding the path information of other network devices existing on the path to the destination When,
When the received packet is analyzed and the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and the flow table is extracted based on the extracted route information. A network system comprising: means for adding a new entry and updating the flow table.
前記コントローラは、
前記各ネットワーク機器から通知されたパケットについて、宛先までの経路を計算し、前記各ネットワーク機器のフローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、
前記計算した経路上に、自分の制御下にない他のネットワーク機器が存在する場合、前記他のネットワーク機器の経路情報を前記各ネットワーク機器に通知する手段と
を具備し、
前記各ネットワーク機器は、
フレーム内に前記経路情報を付加する領域を定義した新規プロトコルに従って、パケットを運ぶフレームに前記経路情報を付加して前記ネットワークに送信する手段と、
前記ネットワークからパケットを受信する手段と、
前記受信したパケットを解析し、前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームかどうかを判定する手段と、
前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームではない場合、前記受信したパケットの内容と前記フローテーブルの内容とを照合する手段と、
前記受信したパケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記受信したパケットを未知のパケットと判断し、前記コントローラに前記受信したパケットを通知する手段と、
前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームである場合、前記受信したパケットを運ぶフレームから、自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、
前記フローテーブルに追加されたエントリーに従って、前記受信したパケットを転送する手段と
を更に具備する
ネットワークシステム。 The network system according to claim 1 ,
Before Symbol controller,
Means for calculating a route to a destination for the packet notified from each network device, adding a new entry to the flow table of each network device, and updating the flow table;
A means for notifying each network device of route information of the other network device when there is another network device not under its control on the calculated route;
Each network device is
Means for adding the route information to a frame carrying a packet and transmitting it to the network in accordance with a new protocol defining an area to which the route information is added in a frame;
Means for receiving packets from the network;
Means for analyzing the received packet and determining whether a frame carrying the received packet is a frame of the new protocol;
Means for collating the content of the received packet with the content of the flow table if the frame carrying the received packet is not a frame of the new protocol;
For the received packet, if there is no corresponding entry in the flow table, the received packet is determined as an unknown packet, and means for notifying the received packet to the controller;
When the frame carrying the received packet is a frame of the new protocol, the route information is extracted from the frame carrying the received packet, and a new entry is added to the flow table based on the extracted route information. Means for adding and updating the flow table;
Means for transferring the received packet in accordance with the entry added to the flow table.
前記各ネットワーク機器は、
送信予定のパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報を設定する手段と、
前記新規プロトコルに従って、前記送信予定のパケットを運ぶフレーム内のData/LLCの領域に前記経路情報を埋め込む手段と、
前記受信したパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報が設定されている場合、前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断する手段と、
前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断した場合、前記受信したパケットを運ぶフレーム内のData/LLCの領域から、自分の経路情報を取り出す手段と
を更に具備する
ネットワークシステム。 The network system according to claim 2,
Each network device is
Means for setting identification information defined for the new protocol in a Len / type area in a frame carrying a packet to be transmitted;
Means for embedding the route information in a Data / LLC region in a frame carrying the packet to be transmitted according to the new protocol;
If the identification information defined for the new protocol is set in the Len / type area in the frame carrying the received packet, it is determined that the frame carrying the received packet is a frame of the new protocol. Means,
A network system further comprising means for extracting own path information from a Data / LLC area in the frame carrying the received packet when it is determined that the frame carrying the received packet is a frame of the new protocol .
前記コントローラの指示に基づきフローテーブルを更新する手段と、
前記パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信する手段と、
受信したパケットを解析し、前記受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、前記フレームから自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と
を具備する
ネットワーク機器。 Means for notifying the controller that controls the reception of the packet;
Means for updating the flow table based on instructions from the controller;
When sending the packet according to the entry in the flow table showing the processing for judgment criteria and the packet of the packet, the frame carrying the packet, and transmits the additional routing information of other network devices existing on a route to the destination Means,
When the received packet is analyzed and the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and the flow table is extracted based on the extracted route information. A network device comprising: means for adding a new entry and updating the flow table.
ネットワークからパケットを受信する手段と、
前記パケットを解析し、前記パケットを運ぶフレームが、フレーム内に他のネットワーク機器の経路情報を付加する領域を定義した新規プロトコルのフレームかどうかを判定する手段と、
前記パケットを運ぶフレームが前記新規プロトコルのフレームである場合、前記パケットを運ぶフレームから、自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、
前記パケットを運ぶフレームが前記新規プロトコルのフレームではない場合、前記パケットと前記フローテーブルのエントリーとを照合する手段と、
前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、自身を制御するコントローラに前記パケットを通知する手段と、
前記コントローラにより計算された宛先までの経路を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新する手段と、
前記計算された経路上に、前記コントローラの制御下にない他のネットワーク機器が存在する場合、前記コントローラから前記他のネットワーク機器の経路情報を取得する手段と、
前記新規プロトコルに従って、前記パケットを運ぶフレームに前記他のネットワーク機器の経路情報を付加する手段と、
前記フローテーブルに追加されたエントリーに従って、前記パケットを転送する手段と
を更に具備する
ネットワーク機器。 The network device according to claim 4,
Means for receiving packets from the network;
Means for analyzing the packet and determining whether the frame carrying the packet is a frame of a new protocol that defines an area in which route information of another network device is added in the frame;
If the frame carrying the packet is a frame of the new protocol, take out its own route information from the frame carrying the packet, add a new entry to the flow table based on the extracted route information, and Means for updating the flow table;
Means for matching the packet with an entry in the flow table if the frame carrying the packet is not a frame of the new protocol;
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 controller to the controller of the packet,
Means for adding a new entry to the flow table and updating the flow table based on the route to the destination calculated by the controller;
Means for acquiring route information of the other network device from the controller when there is another network device not under the control of the controller on the calculated route;
Means for adding path information of the other network device to a frame carrying the packet according to the new protocol;
Means for transferring the packet in accordance with the entry added to the flow table.
送信予定のパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報を設定する手段と、
前記新規プロトコルに従って、前記送信予定のパケットを運ぶフレーム内のData/LLCの領域に前記経路情報を埋め込む手段と、
前記受信したパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報が設定されている場合、前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断する手段と、
前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断した場合、前記受信したパケットを運ぶフレーム内のData/LLCの領域から、自分の経路情報を取り出す手段と
を更に具備する
ネットワーク機器。 The network device according to claim 5,
Means for setting identification information defined for the new protocol in a Len / type area in a frame carrying a packet to be transmitted;
Means for embedding the route information in a Data / LLC region in a frame carrying the packet to be transmitted according to the new protocol;
If the identification information defined for the new protocol is set in the Len / type area in the frame carrying the received packet, it is determined that the frame carrying the received packet is a frame of the new protocol. Means,
A network device further comprising means for extracting own path information from a Data / LLC area in the frame carrying the received packet when it is determined that the frame carrying the received packet is a frame of the new protocol .
パケットの受信を自身を制御するコントローラに通知することと、
前記コントローラの指示に基づきフローテーブルを更新することと、
前記パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信することと、
受信したパケットを解析し、前記受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、前記フレームから自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新することと
を含む
経路情報更新方法。 A route information update method implemented by each of a plurality of network devices constituting a network,
Notifying the controller that controls the reception of the packet,
Updating the flow table based on instructions from the controller;
When a packet is transmitted according to the entry of the flow table indicating the packet criterion and the processing for the packet, the packet carrying the packet is added with the route information of other network devices existing on the route to the destination. And
When the received packet is analyzed and the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and the flow table is extracted based on the extracted route information. A route information update method comprising: adding a new entry and updating the flow table.
前記コントローラの指示に基づきフローテーブルを更新するステップと、
前記パケットの判定基準及び当該パケットに対する処理を示すフローテーブルのエントリーに従ってパケットを送信する際、パケットを運ぶフレームに、宛先までの経路上に存在する他のネットワーク機器の経路情報を付加して送信するステップと、
受信したパケットを解析し、前記受信したパケットを運ぶフレームに自分の経路情報が付加されていた場合、前記フレームから自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新するステップと
をネットワーク機器に実行させるためのプログラム。 Notifying the controller that controls the network device of the reception of the packet;
Updating the flow table based on instructions from the controller;
When sending the packet according to the entry in the flow table showing the processing for judgment criteria and the packet of the packet, the frame carrying the packet, and transmits the additional routing information of other network devices existing on a route to the destination Steps,
When the received packet is analyzed and the route information is added to the frame carrying the received packet, the route information is extracted from the frame, and the flow table is extracted based on the extracted route information. A program for causing a network device to execute a step of adding a new entry and updating the flow table.
ネットワークからパケットを受信するステップと、
前記パケットを解析し、前記パケットを運ぶフレームが、フレーム内に他のネットワーク機器の経路情報を付加する領域を定義した新規プロトコルのフレームかどうかを判定するステップと、
前記パケットを運ぶフレームが前記新規プロトコルのフレームである場合、前記パケットを運ぶフレームから、自分の経路情報を取り出し、前記取り出された経路情報を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新するステップと、
前記パケットを運ぶフレームが前記新規プロトコルのフレームではない場合、前記パケットと前記フローテーブルのエントリーとを照合するステップと、
前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、自身を制御するコントローラに前記パケットを通知するステップと、
前記コントローラにより計算された宛先までの経路を基に、前記フローテーブルに新しいエントリーを追加し、前記フローテーブルを更新するステップと、
前記計算された経路上に、前記コントローラの制御下にない他のネットワーク機器が存在する場合、前記コントローラから前記他のネットワーク機器の経路情報を取得するステップと、
前記新規プロトコルに従って、前記パケットを運ぶフレームに前記他のネットワーク機器の経路情報を付加するステップと、
前記フローテーブルに追加されたエントリーに従って、前記パケットを転送するステップと
を更にネットワーク機器に実行させるためのプログラム。 The program according to claim 8, wherein
Receiving a packet from the network;
Analyzing the packet and determining whether the frame carrying the packet is a frame of a new protocol that defines an area in which route information of another network device is added in the frame;
If the frame carrying the packet is a frame of the new protocol, take out its own route information from the frame carrying the packet, add a new entry to the flow table based on the extracted route information, and Updating the flow table;
If the frame carrying the packet is not a frame of the new protocol, checking the packet against an entry in the flow table;
If there is no corresponding entry in the flow table for the packet, determining the packet as an unknown packet and notifying the controller that controls the packet of the packet;
Based on the route to the destination calculated by the controller, adding a new entry to the flow table and updating the flow table;
If there is another network device that is not under the control of the controller on the calculated route, obtaining route information of the other network device from the controller;
Adding the path information of the other network device to the frame carrying the packet according to the new protocol;
A program for causing a network device to further execute the step of transferring the packet in accordance with the entry added to the flow table.
送信予定のパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報を設定するステップと、
前記新規プロトコルに従って、前記送信予定のパケットを運ぶフレーム内のData/LLCの領域に前記経路情報を埋め込むステップと、
前記受信したパケットを運ぶフレーム内のLen/typeの領域に、前記新規プロトコル用に定義した識別情報が設定されている場合、前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断するステップと、
前記受信したパケットを運ぶフレームが前記新規プロトコルのフレームであると判断した場合、前記受信したパケットを運ぶフレーム内のData/LLCの領域から、自分の経路情報を取り出すステップと
を更にネットワーク機器に実行させるためのプログラム。 The program according to claim 9, wherein
Setting identification information defined for the new protocol in a Len / type area in a frame carrying a packet to be transmitted;
Embedding the route information in a Data / LLC region in a frame carrying the packet to be transmitted according to the new protocol;
If the identification information defined for the new protocol is set in the Len / type area in the frame carrying the received packet, it is determined that the frame carrying the received packet is a frame of the new protocol. Steps,
If it is determined that the frame carrying the received packet is a frame of the new protocol, the network device further executes a step of extracting own route information from the Data / LLC area in the frame carrying the received packet. Program to let you.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010030567A JP5521613B2 (en) | 2010-02-15 | 2010-02-15 | Network system, network device, route information update method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010030567A JP5521613B2 (en) | 2010-02-15 | 2010-02-15 | Network system, network device, route information update method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011166692A JP2011166692A (en) | 2011-08-25 |
JP5521613B2 true JP5521613B2 (en) | 2014-06-18 |
Family
ID=44596797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010030567A Expired - Fee Related JP5521613B2 (en) | 2010-02-15 | 2010-02-15 | Network system, network device, route information update method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5521613B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104094565B (en) | 2012-02-02 | 2017-06-27 | 日本电气株式会社 | Controller, the method for distributing load, computer system and control device |
WO2013118690A1 (en) | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | Computer system and method for visualizing virtual network |
WO2013118687A1 (en) | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | Computer system and method for visualizing virtual network |
US9178715B2 (en) | 2012-10-01 | 2015-11-03 | International Business Machines Corporation | Providing services to virtual overlay network traffic |
US9282034B2 (en) | 2013-02-20 | 2016-03-08 | International Business Machines Corporation | Directed route load/store packets for distributed switch initialization |
US9215087B2 (en) | 2013-03-15 | 2015-12-15 | International Business Machines Corporation | Directed route load/store packets for distributed switch initialization |
JP6142699B2 (en) * | 2013-07-02 | 2017-06-07 | 日本電気株式会社 | Communications system |
US9450916B2 (en) * | 2014-08-22 | 2016-09-20 | Honeywell International Inc. | Hardware assist for redundant ethernet network |
JP6480163B2 (en) * | 2014-11-26 | 2019-03-06 | Necスペーステクノロジー株式会社 | Routing table setting device and routing table setting method |
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 |
WO2009042919A2 (en) * | 2007-09-26 | 2009-04-02 | Nicira Networks | Network operating system for managing and securing networks |
EP2408155A4 (en) * | 2009-03-09 | 2015-01-28 | Nec Corp | Openflow communication system and openflow communication method |
-
2010
- 2010-02-15 JP JP2010030567A patent/JP5521613B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011166692A (en) | 2011-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5521613B2 (en) | Network system, network device, route information update method, and program | |
JP5413737B2 (en) | Network system and route information update method | |
US10728094B2 (en) | Control traffic in software defined networks | |
JP5521614B2 (en) | Network system and packet speculative transfer method | |
US10541920B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
CN102857416B (en) | A kind of realize the method for virtual network, controller and virtual network | |
EP2693708B1 (en) | Network system and method for acquiring vlan tag information | |
JP5994851B2 (en) | Transfer device control device, transfer device control method, communication system, and program | |
CN102804715B (en) | Communication system, node, control server and communication means | |
JP5987920B2 (en) | Communication system, control apparatus, and network topology management method | |
EP2814213A1 (en) | Control device, communication system, communication method and program | |
JP5858141B2 (en) | Control device, communication device, communication system, communication method, and program | |
JP5858147B2 (en) | COMMUNICATION SYSTEM, UPPER LAYER SWITCH, CONTROL DEVICE, SWITCH CONTROL METHOD, AND PROGRAM | |
JP2013539246A (en) | Control device, communication system, communication method, and recording medium for recording communication program | |
US8526437B2 (en) | Communication system and communication control device | |
JP5987971B2 (en) | Communication system, switch, control device, control channel construction method and program | |
JP6750612B2 (en) | Communication system, control device, control method, and program | |
WO2014129624A1 (en) | Control device, communication system, path switching method, and program | |
US20150256455A1 (en) | Communication system, path information exchange apparatus, communication node, forwarding method for path information and program | |
WO2014126094A1 (en) | Communication system, communication method, control device, and control device control method and program | |
WO2013062070A1 (en) | Control apparatus, communication system, virtual network management method, and program | |
JP6337551B2 (en) | Network system, control device, network control method and program | |
WO2015118811A1 (en) | Communication system, packet-forwarding device, packet-forwarding method, and packet-forwarding program | |
JP2016225933A (en) | Control device, control method for relay device, program, and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131206 |
|
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: 20140311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5521613 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |