JP5483149B2 - Communication system, management computer, stacked switch, flow path determination method - Google Patents
Communication system, management computer, stacked switch, flow path determination method Download PDFInfo
- Publication number
- JP5483149B2 JP5483149B2 JP2009000936A JP2009000936A JP5483149B2 JP 5483149 B2 JP5483149 B2 JP 5483149B2 JP 2009000936 A JP2009000936 A JP 2009000936A JP 2009000936 A JP2009000936 A JP 2009000936A JP 5483149 B2 JP5483149 B2 JP 5483149B2
- Authority
- JP
- Japan
- Prior art keywords
- switch
- entry
- route
- packet
- switches
- 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)
- Small-Scale Networks (AREA)
Description
本発明は、通信システムやスタックドスイッチにおけるフロー経路を決定するための技術に関する。 The present invention relates to a technique for determining a flow path in a communication system or a stacked switch.
複数のスイッチ(ノード)を含む通信ネットワークを通してフロー通信を行う通信システムが知られている。そのような通信システムにおいては、システム性能の観点から適切なフロー経路を決定することが重要である。 A communication system that performs flow communication through a communication network including a plurality of switches (nodes) is known. In such a communication system, it is important to determine an appropriate flow path from the viewpoint of system performance.
また、内部に複数のスイッチを有するが、外部からは1台の大きなスイッチとして見える「スタックドスイッチ(Stacked Switch)」が知られている(例えば特許文献1参照)。スタックドスイッチの内部では、それら複数のスイッチにより内部ネットワークが構成される。このようなスタックドスイッチの場合も、内部ネットワークにおいて適切なフロー経路を決定することが重要である。 Further, there is known a “Stacked Switch” that has a plurality of switches inside but appears as one large switch from the outside (see, for example, Patent Document 1). Inside the stacked switch, an internal network is constituted by the plurality of switches. Even in such a stacked switch, it is important to determine an appropriate flow path in the internal network.
特許文献2には、代表的なルーティングプロトコルである「OSPF(Open Shortest Path First)」が記載されている。OSPFでは、ダイクストラ法と呼ばれる最短経路探索アルゴリズムを用いることによりルーティングテーブルが作成される。ダイクストラ法は、ある始点ノードから他の全てのノードまでの最短経路を求めるアルゴリズムである。 Patent Document 2 describes “Open Shortest Path First (OSPF)”, which is a typical routing protocol. In OSPF, a routing table is created by using a shortest path search algorithm called a Dijkstra method. The Dijkstra method is an algorithm for obtaining the shortest path from a certain starting node to all other nodes.
特許文献3には、通信状態を統計的に分析して、帯域が空いているところにトラフィックを通す「TE(Traffic Engineering)」が開示されている。非特許文献1には、中継ノードをランダムに選択し、帯域を負荷分散する「VLB(Valiant Load Balancing)」が開示されている。
Patent Document 3 discloses “TE (Traffic Engineering)” that statistically analyzes a communication state and passes traffic to a place where a bandwidth is available. Non-patent
通信ネットワークでは、多数のフローの通信が同時に行われる。この時、通信ネットワーク上のある1つのスイッチは、複数のフロー(パス)を管理することとなる。1つのスイッチが管理しているフロー(パス)の数は、以下「使用エントリ数」と参照される。また、あるスイッチにおいて使用エントリ数が所定の閾値(閾値エントリ数)を超える現象は、「エントリあふれ」と参照される。あるスイッチにおいてエントリあふれが発生すると、当該スイッチのスループットが極端に低下してしまう。従って、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することが重要である。 In the communication network, communication of many flows is performed simultaneously. At this time, one switch on the communication network manages a plurality of flows (paths). The number of flows (paths) managed by one switch is hereinafter referred to as “number of used entries”. Further, a phenomenon in which the number of entries used in a certain switch exceeds a predetermined threshold value (threshold entry number) is referred to as “entry overflow”. When entry overflow occurs in a switch, the throughput of the switch is extremely reduced. Therefore, it is important to suppress the occurrence of entry overflow in switches on the communication network.
しかしながら、上述の関連技術では、経路選択に際して、通信ネットワーク上の各スイッチの使用エントリ数は考慮されていなかった。上述の関連技術では、リンクコストや帯域に基づいて経路が決定されるため、あるスイッチにフローが集中する恐れがある。その場合、当該スイッチでエントリあふれが発生する。 However, in the related technology described above, the number of used entries of each switch on the communication network is not considered when selecting a route. In the related art described above, since the route is determined based on the link cost and the bandwidth, the flow may be concentrated on a certain switch. In that case, entry overflow occurs in the switch.
本発明の1つの目的は、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することができる技術を提供することにある。 One object of the present invention is to provide a technique capable of suppressing the occurrence of entry overflow in a switch on a communication network.
フロー通信が行われるネットワーク上の各スイッチに関して、次の量が定義される。使用エントリ数は、1つのスイッチに管理されているフロー(パス)の数である。パラメータは、使用エントリ数に依存する量であり、スイッチコストは、そのパラメータに依存する量である。 For each switch on the network where flow communication takes place, the following quantities are defined: The number of entries used is the number of flows (paths) managed by one switch. The parameter is an amount that depends on the number of entries used, and the switch cost is an amount that depends on the parameter.
本発明の第1の観点において、通信システムが提供される。その通信システムは、通信ネットワーク上に配置された複数のスイッチと、それら複数のスイッチに接続された管理計算機とを備える。管理計算機は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、通信ネットワークにおける送信元から送信先へのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定する。 In a first aspect of the present invention, a communication system is provided. The communication system includes a plurality of switches arranged on a communication network and a management computer connected to the plurality of switches. The management computer includes a storage unit and a control unit. The storage unit stores entry state information indicating the parameters in each of the plurality of switches. The control unit controls the flow from the transmission source to the transmission destination in the communication network. Specifically, the control unit calculates the switch cost of each switch belonging to each route candidate from the transmission source to the transmission destination in the communication network by referring to the entry state information. Then, the control unit determines one of the route candidates as a flow route from the transmission source to the transmission destination based on the calculated switch cost.
本発明の第2の観点において、通信ネットワーク上に配置された複数のスイッチに接続された管理計算機が提供される。その管理計算機は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、通信ネットワークにおける送信元から送信先へのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定する。 In a second aspect of the present invention, a management computer connected to a plurality of switches arranged on a communication network is provided. The management computer includes a storage unit and a control unit. The storage unit stores entry state information indicating the parameters in each of the plurality of switches. The control unit controls the flow from the transmission source to the transmission destination in the communication network. Specifically, the control unit calculates the switch cost of each switch belonging to each route candidate from the transmission source to the transmission destination in the communication network by referring to the entry state information. Then, the control unit determines one of the route candidates as a flow route from the transmission source to the transmission destination based on the calculated switch cost.
本発明の第3の観点において、スタックドスイッチが提供される。そのスタックドスイッチは、外部ネットワークに接続された外部入力ポート及び外部出力ポートと、外部入力ポートと外部出力ポートとの間の内部ネットワーク上に配置された複数のスイッチと、複数のスイッチに接続されたスタック管理部と、を備える。スタック管理部は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、内部ネットワークにおける外部入力ポートから外部出力ポートへのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、内部ネットワークにおける外部入力ポートから外部出力ポートへの各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを外部入力ポートから外部出力ポートへのフローの経路として決定する。 In a third aspect of the present invention, a stacked switch is provided. The stacked switch is connected to an external input port and an external output port connected to an external network, a plurality of switches arranged on the internal network between the external input port and the external output port, and a plurality of switches. A stack management unit. The stack management unit includes a storage unit and a control unit. The storage unit stores entry state information indicating the parameters in each of the plurality of switches. The control unit controls the flow from the external input port to the external output port in the internal network. Specifically, the control unit calculates the switch cost of each switch belonging to each route candidate from the external input port to the external output port in the internal network by referring to the entry status information. Then, the control unit determines one of the route candidates as a flow route from the external input port to the external output port based on the calculated switch cost.
本発明の第4の観点において、複数のスイッチが配置された通信ネットワークにおける送信元から送信先へのフローの経路を決定するフロー経路決定方法が提供される。そのフロー経路決定方法は、(A)複数のスイッチの各々における上記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、(B)エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出するステップと、(C)算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定するステップと、を含む。 In a fourth aspect of the present invention, there is provided a flow route determination method for determining a flow route from a transmission source to a transmission destination in a communication network in which a plurality of switches are arranged. In the flow path determination method, (A) a step of reading entry status information indicating the parameter in each of a plurality of switches from a storage device, and (B) transmission from a transmission source in a communication network by referring to the entry status information. A step of calculating a switch cost of each switch belonging to each route candidate to the destination, and (C) determining one of the route candidates as a flow route from the transmission source to the transmission destination based on the calculated switch cost. Including the steps of:
本発明の第5の観点において、スタックドスイッチ内の内部ネットワークにおけるフローの経路を決定するフロー経路決定方法が提供される。スタックドスイッチは、内部ネットワーク上に配置された複数のスイッチと、外部ネットワークに接続された外部入力ポート及び外部出力ポートと、を備える。フロー経路決定方法は、(a)複数のスイッチの各々における上記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、(b)エントリ状態情報を参照することによって、内部ネットワークにおける外部入力ポートから外部出力ポートへの各経路候補に属する各スイッチのスイッチコストを算出するステップと、(c)算出されたスイッチコストに基づいて、経路候補のうち1つを外部入力ポートから外部出力ポートへのフローの経路として決定するステップと、を含む。 In a fifth aspect of the present invention, a flow path determination method for determining a flow path in an internal network in a stacked switch is provided. The stacked switch includes a plurality of switches arranged on the internal network, and an external input port and an external output port connected to the external network. In the flow path determination method, (a) a step of reading entry state information indicating the above parameters in each of a plurality of switches from a storage device, and (b) referring to the entry state information, an external input port in the internal network A step of calculating a switch cost of each switch belonging to each route candidate to the output port; and (c) based on the calculated switch cost, one of the route candidates is transferred from the external input port to the external output port. Determining as a route.
本発明の第6の観点において、上記フロー経路決定方法をコンピュータに実行させるフロー経路決定プログラムが提供される。 In a sixth aspect of the present invention, there is provided a flow route determination program for causing a computer to execute the flow route determination method.
本発明によれば、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することが可能となる。 According to the present invention, it is possible to suppress the occurrence of entry overflow in a switch on a communication network.
添付図面を参照して、本発明の実施の形態を説明する。 Embodiments of the present invention will be described with reference to the accompanying drawings.
1.第1の実施の形態
図1は、本発明の第1の実施の形態に係る通信システムの一例を概略的に示している。図1に示される通信システムは、管理ホスト1、端末2、3、及び複数のスイッチ5〜8を備えており、それらによって通信ネットワークNETが構成されている。端末2、3は、パソコン、サーバ、ワークステーション等の通信端末である。
1. First Embodiment FIG. 1 schematically shows an example of a communication system according to a first embodiment of the present invention. The communication system shown in FIG. 1 includes a
図1の例で示される通信ネットワークNETは、次のような構成(トポロジ)を有している。端末2はスイッチ5のポートP2と接続されており、端末2とスイッチ5とは双方向に通信可能である。端末3はスイッチ8のポートP3と接続されており、端末3とスイッチ8とは双方向に通信可能である。スイッチ5のポートP16とスイッチ6のポートP15とは互いに接続されており、スイッチ5とスイッチ6とは双方向に通信可能である。スイッチ5のポートP17とスイッチ7のポートP15とは互いに接続されており、スイッチ5とスイッチ7とは双方向に通信可能である。スイッチ8のポートP16とスイッチ6のポートP18とは互いに接続されており、スイッチ8とスイッチ6とは双方向に通信可能である。スイッチ8のポートP17とスイッチ7のポートP18とは互いに接続されており、スイッチ8とスイッチ7とは双方向に通信可能である。このようにして、通信ネットワークNETが構成されている。
The communication network NET shown in the example of FIG. 1 has the following configuration (topology). The terminal 2 is connected to the port P2 of the
通信ネットワークNETでは、フロー通信が行われる。通信ネットワークNET上に配置されているスイッチ5〜8は、フローの通信データを処理する。具体的には、各スイッチは、他のスイッチあるいは端末から受け取ったフローの通信データを、更に他のスイッチあるいは端末に転送する機能を有する。ある1つのスイッチには、複数のフローの処理が割り当てられ得る。
In the communication network NET, flow communication is performed. The
ここで、通信ネットワークNET上の各スイッチに関して、「使用エントリ数NA」、「閾値エントリ数NM」、及び「空きエントリ数NB」が定義され得る。使用エントリ数NAとは、ある1つのスイッチに管理(管轄)されているフローの数であり、当該スイッチに現在割り当てられているフローの数である。閾値エントリ数NMは、ある1つのスイッチにおける使用エントリ数NAに関する所定の閾値である。各スイッチの閾値エントリ数NMは、任意に設定可能であるが、典型的には当該スイッチにおいて“エントリあふれ”が発生しない上限の使用エントリ数NAに設定される。そのような使用エントリ数NAの上限は、当該スイッチのメモリ容量に依存する。空きエントリ数NBは、閾値エントリ数NMと使用エントリ数NAとの差分であり、式:NB=NM−NAで与えられる。あるスイッチに関して、使用エントリ数NAはエントリ消費量を表し、空きエントリ数NBはエントリ残量を表すと言える。すなわち、使用エントリ数NAや空きエントリ数NBは、スイッチにおけるエントリ状態を表している。 Here, for each switch on the communication network NET, “number of used entries NA”, “threshold entry number NM”, and “empty entry number NB” may be defined. The used entry number NA is the number of flows managed (managed) by a certain switch, and is the number of flows currently allocated to the switch. The threshold entry number NM is a predetermined threshold related to the used entry number NA in a certain switch. The threshold entry number NM of each switch can be arbitrarily set. Typically, the threshold entry number NM is set to the upper limit used entry number NA in which “entry overflow” does not occur in the switch. The upper limit of the number of used entries NA depends on the memory capacity of the switch. The free entry number NB is the difference between the threshold entry number NM and the used entry number NA, and is given by the formula: NB = NM−NA. Regarding a certain switch, it can be said that the used entry number NA represents the amount of entry consumption, and the free entry number NB represents the remaining amount of entries. That is, the used entry number NA and the free entry number NB represent the entry state in the switch.
また、通信ネットワークNET上の各スイッチに関して、「スイッチコストSC」が定義される。ある1つのスイッチのスイッチコストSCは、使用エントリ数NAや空きエントリ数NBに依存する量である。具体的には、スイッチコストSCは、当該スイッチにおける空きエントリ数NBが減少するにつれて増加する。言い換えれば、スイッチコストSCは、当該スイッチにおける使用エントリ数NAが増加するにつれて増加する。スイッチコストSCとしては、以下に示されるような様々な例が考えられる。 A “switch cost SC” is defined for each switch on the communication network NET. The switch cost SC of a certain switch is an amount depending on the number of used entries NA and the number of free entries NB. Specifically, the switch cost SC increases as the number of free entries NB in the switch decreases. In other words, the switch cost SC increases as the number of used entries NA in the switch increases. As the switch cost SC, various examples as shown below can be considered.
(例1)スイッチコストSC=係数C1/空きエントリ数NB
(例2)スイッチコストSC=係数C2/空きエントリ率(=NB/NM)
(例3)スイッチコストSC=係数C3×使用エントリ数NA
(例4)スイッチコストSC=係数C4×使用エントリ率(=NA/NM)
(Example 1) Switch cost SC = coefficient C1 / number of empty entries NB
(Example 2) Switch cost SC = coefficient C2 / free entry rate (= NB / NM)
(Example 3) Switch cost SC = coefficient C3 × number of entries used NA
(Example 4) Switch cost SC = coefficient C4 × used entry rate (= NA / NM)
例1と例2の場合、スイッチコストSCは、空きエントリ数NBの逆数に比例する量であると言える。例3と例4の場合、スイッチコストSCは、使用エントリ数NAに比例する量であると言える。但し、使用エントリ数NAと空きエントリ数NBとは、一方が増えれば他方が減るという密接な関係を有している。従って、例1〜例4のいずれが用いられる場合であっても、スイッチコストSCの意味は同じである。また、スイッチコストSCは、上記例1〜例4に限られず、空きエントリ数NBが減少するにつれて(使用エントリ数NAが増加するにつれて)増加する量であれば何でもよい。 In the case of Example 1 and Example 2, it can be said that the switch cost SC is an amount proportional to the reciprocal of the number of free entries NB. In the case of Example 3 and Example 4, it can be said that the switch cost SC is an amount proportional to the number of entries used NA. However, the number of used entries NA and the number of free entries NB have a close relationship that when one increases, the other decreases. Therefore, even if any of Examples 1 to 4 is used, the meaning of the switch cost SC is the same. Further, the switch cost SC is not limited to the above-described examples 1 to 4, and may be any amount as long as the number of free entries NB decreases (as the number of used entries NA increases).
管理ホスト1(管理計算機、制御計算機)は、通信ネットワークNET上に配置されている複数のスイッチ5〜8と接続されており、それぞれのスイッチ5〜8と双方向通信が可能である。この管理ホスト1は、スイッチ5〜8の動作を制御することによって、通信ネットワークNETにおけるフロー通信を制御する。
The management host 1 (management computer, control computer) is connected to a plurality of
より詳細には、図1に示されるように、管理ホスト1は、制御部101と記憶部102を備えている。制御部101は、通信ネットワークNETにおけるフロー通信を制御する機能を有し、演算処理装置がコンピュータプログラムを実行することにより実現される。そのコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。記憶部102は、RAM(Random Access Memory)等の記憶装置である。記憶部102には、トポロジ情報TPL及びエントリ状態情報ENTが格納される。
More specifically, as shown in FIG. 1, the
トポロジ情報TPLは、通信ネットワークNETに関する上述の構成を示す。つまり、トポロジ情報TPLは、通信ネットワークNETにおけるスイッチや端末間の接続状況を示す。 The topology information TPL indicates the above-described configuration related to the communication network NET. That is, the topology information TPL indicates the connection status between switches and terminals in the communication network NET.
エントリ状態情報ENTは、スイッチ5〜8の各々の「コストパラメータ」を示す。コストパラメータとは、上述のスイッチコストSCを算出するために用いられるパラメータであり、各スイッチにおけるエントリ状態(空きエントリ数NB、使用エントリ数NA)に関連している。スイッチコストSCを算出できるものであれば、コストパラメータは何であってもよい。例えば、コストパラメータは空きエントリ数NBである。コストパラメータは、使用エントリ数NA、空きエントリ率、あるいは、使用エントリ率であってもよい。更にあるいは、コストパラメータはスイッチコストSCそのものであってもよい。いずれの場合であっても、コストパラメータは、空きエントリ数NB(すなわち、使用エントリ数NA)に関連していると言える。
The entry state information ENT indicates the “cost parameter” of each of the
本実施の形態に係る管理ホスト1は、通信ネットワークNETにおいてあるフロー通信が要求された際、当該フローの通信ネットワークNETにおける経路を決定する。この時、管理ホスト1は、通信ネットワークNET上の各スイッチのエントリ状態を考慮し、“エントリあふれ”の発生が抑制されるようにフロー経路を決定する。例として、端末3(送信端末、送信元)から端末2(受信端末、送信先)へのフローを考える。この場合、管理ホスト1は、通信ネットワークNETにおける送信端末3から受信端末2へのフロー経路を決定する。
When a flow communication is requested in the communication network NET, the
トポロジ情報TPL及びエントリ状態情報ENTは、制御部101によって記憶部102に予め格納されており、また、制御部101によって記憶部102から読み出される。まず、制御部101は、記憶部102に格納されているトポロジ情報TPLを参照することによって、通信ネットワークNETにおける送信端末3から受信端末2への経路候補を抽出する。図1で示される例では、「端末3−スイッチ8−スイッチ6−スイッチ5−端末2」と「端末3−スイッチ8−スイッチ7−スイッチ5−端末2」の2種類の経路候補が抽出される。あるいは、通信ネットワークNETにおける送信端末3から受信端末2への経路候補は、予め情報として管理ホスト1に与えられていてもよい。
The topology information TPL and entry state information ENT are stored in advance in the
続いて、制御部101は、記憶部102に格納されているエントリ状態情報ENTを参照することによって、各経路候補に属する各スイッチのスイッチコストSCを算出する。各スイッチのスイッチコストSCは、エントリ状態情報ENTで与えられるコストパラメータから算出可能である。第1の経路候補「端末3−スイッチ8−スイッチ6−スイッチ5−端末2」に関しては、スイッチ8、6及び5の各々のスイッチコストSCが算出される。第2の経路候補「端末3−スイッチ8−スイッチ7−スイッチ5−端末2」に関しては、スイッチ8、7及び5の各々のスイッチコストSCが算出される。
Subsequently, the
次に、制御部101は、各経路候補に関して算出されたスイッチコストSCに基づいて、経路候補のうち1つを、通信ネットワークNETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど(使用エントリ数NAが少ないほど)、小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、制御部101は、算出されたスイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。そのようなフロー経路の決定アルゴリズムとしては、様々考えられる。
Next, the
(第1のアルゴリズム)
例えば、制御部101は、経路候補毎に、スイッチコストSCの総和あるいは積を算出する。すなわち、制御部101は、各経路候補に属するスイッチのそれぞれのスイッチコストSCの総和あるいは積を算出する。第1の経路候補に関しては、スイッチ8、6、5のそれぞれのスイッチコストSCの総和あるいは積が算出される。一方、第2の経路候補に関しては、スイッチ8、7、5のそれぞれのスイッチコストSCの総和あるいは積が算出される。算出された総和あるいは積は、以下「総コスト」と参照される。総コストが比較的小さい経路は、空きエントリ数NBが比較的多い経路に相当すると考えられる。従って、制御部101は、経路候補のうち総コストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
(First algorithm)
For example, the
(第2のアルゴリズム)
あるいは、制御部101は、各経路候補に属するスイッチのうち、最大のスイッチコストSCを有する1つのスイッチ(クリティカルスイッチ)を抽出してもよい。例えば、第1の経路候補ではスイッチ6がクリティカルスイッチであり、第2の経路候補ではスイッチ7がクリティカルスイッチであるとする。その場合、スイッチ6は、第1の経路候補に属するスイッチのうち最大のスイッチコストSCを有し、スイッチ7は、第2の経路候補に属するスイッチのうち最大のスイッチコストSCを有する。次に、制御部101は、それぞれの経路候補のクリティカルスイッチのスイッチコストSC(最大スイッチコスト)同士の比較を行う。最大スイッチコストが比較的大きい経路候補は、他の経路候補と比べて空きエントリ数NBが比較的少ないスイッチを含んでおり、そのスイッチにおいてエントリあふれが発生しやすいと考えられる。従って、制御部101は、経路候補のうち最大スイッチコストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
(Second algorithm)
Or the
(第3のアルゴリズム)
あるいは、制御部101は、各経路候補に属するスイッチのうち、最小のスイッチコストSCを有する1つのスイッチを抽出してもよい。抽出されたスイッチのスイッチコストSCは、最小スイッチコストである。そして、制御部101は、それぞれの経路候補の最小スイッチコスト同士の比較を行う。最小スイッチコストが比較的大きい経路候補は、他の経路候補と比べて空きエントリ数NBが比較的少ないスイッチを含んでおり、そのスイッチにおいてエントリあふれが発生しやすいと考えられる。従って、制御部101は、経路候補のうち最小スイッチコストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
(Third algorithm)
Alternatively, the
以上に説明されたように、本実施の形態によれば、管理ホスト1は、フロー経路の決定に際して、通信ネットワークNET上の各スイッチのエントリ状態を考慮する。そして、管理ホスト1は、空きエントリ数NBが極端に少なくなるスイッチの発生をなるべく回避するように、フロー経路を決定する。これは、通信ネットワークNET上の各スイッチにおけるエントリ消費を平滑化することに相当する。結果として、通信ネットワークNET上のスイッチにおけるエントリあふれの発生が抑制される。それにより、通信ネットワークNET上のあるスイッチのスループットが大幅に劣化することが防止される。また、本実施の形態によれば、エントリあふれの発生が抑制されるため、通信システム全体としてより多くのフロー(パス)を収容することが可能となる。
As described above, according to the present embodiment, the
2.第2の実施の形態
本発明は、スタックドスイッチ内部におけるフロー経路の決定にも適用することが可能である。以下、図2を参照して、本発明の第2の実施の形態を説明する。尚、第1の実施の形態と重複する説明は、適宜省略される。
2. Second Embodiment The present invention can also be applied to determination of a flow path inside a stacked switch. Hereinafter, a second embodiment of the present invention will be described with reference to FIG. In addition, the description which overlaps with 1st Embodiment is abbreviate | omitted suitably.
図2は、スタックドスイッチを含む通信システムを概略的に示している。図2に示される通信システムは、管理ホスト1、端末2、3、スイッチ4、及びスタックドスイッチ9を備えており、それらによって通信ネットワークNETが構成されている。管理ホスト1(管理計算機、制御計算機)は、通信ネットワークNET上に配置されているスイッチ4及びスタックドスイッチ9と接続されており、それぞれのスイッチと双方向通信が可能である。この管理ホスト1の機能は、第1の実施の形態と同様である。すなわち、管理ホスト1は、スイッチ4及びスタックドスイッチ9の動作を制御することによって、通信ネットワークNETにおけるフロー通信を制御する。
FIG. 2 schematically shows a communication system including stacked switches. The communication system shown in FIG. 2 includes a
スタックドスイッチ9は、内部に複数のスイッチを有するが、管理ホスト1からは1つの大きなスイッチとして見える。つまり、管理ホスト1は、2以上のスイッチを仮想的に1つのスタックドスイッチ9として扱う。図2の例では、スタックドスイッチ9は、内部に4個のスイッチ5〜8を有している。スイッチ5〜8の各々が22個のポートP1〜P22を有している場合、管理ホスト1からは、スタックドスイッチ9は88個のポートAP1〜AP88を有する1つの大きなスイッチに見える。
The stacked switch 9 has a plurality of switches inside, but it appears to the
図2の例において、端末2は、スイッチ4のポートP2と接続されており、スイッチ4と双方向通信可能である。端末3は、スタックドスイッチ9のポートAP69と接続されており、スタックドスイッチ9と双方向通信可能である。スイッチ4のポートP9とスタックドスイッチ9のポートAP4とは互いに接続されており、スイッチ4とスタックドスイッチ9とは双方向に通信可能である。尚、第1の実施の形態と同様に、スイッチ4〜8の各々に関して、「使用エントリ数NA」、「閾値エントリ数NM」、「空きエントリ数NB」、及び「スイッチコストSC」が定義される。 In the example of FIG. 2, the terminal 2 is connected to the port P <b> 2 of the switch 4, and can communicate bidirectionally with the switch 4. The terminal 3 is connected to the port AP 69 of the stacked switch 9 and can communicate bidirectionally with the stacked switch 9. The port P9 of the switch 4 and the port AP4 of the stacked switch 9 are connected to each other, and the switch 4 and the stacked switch 9 can communicate bidirectionally. As in the first embodiment, “usage entry number NA”, “threshold entry number NM”, “free entry number NB”, and “switch cost SC” are defined for each of the switches 4 to 8. The
図3は、本実施の形態に係るスタックドスイッチ9の内部構成例を示している。図3に示されるように、スタックドスイッチ9は、複数のスイッチ(内部スイッチ)5〜8及びスタック管理部10を備えており、それらによって内部ネットワークINT−NETが構成されている。内部ネットワークINT−NETは、スタックドスイッチ9内部の通信ネットワークである。その意味で、図2で示された通信ネットワークNETは、外部ネットワークである。 FIG. 3 shows an internal configuration example of the stacked switch 9 according to the present embodiment. As shown in FIG. 3, the stacked switch 9 includes a plurality of switches (internal switches) 5 to 8 and a stack management unit 10, and an internal network INT-NET is configured by them. The internal network INT-NET is a communication network inside the stacked switch 9. In that sense, the communication network NET shown in FIG. 2 is an external network.
内部ネットワークINT−NET上に配置されているスイッチ5〜8の各々は、通常のスイッチであり、例えば22個のポート(実ポート)P1〜P22を有する。各スイッチのポートP1〜P22には、スタックドスイッチ9としてのポートが一意的に割り当てられる。例えば、スイッチ5のポートP1〜P22にはポートAP1〜AP22が割り当てられ、スイッチ6のポートP1〜P22にはポートAP23〜AP44が割り当てられ、スイッチ7のポートP1〜P22にはポートAP45〜AP66が割り当てられ、スイッチ8のポートP1〜P22にはポートAP67〜AP88が割り当てられる。以下の説明において、ポートP1〜P22は「実ポート」と参照され、ポートAP1〜AP88は「割当ポート」と参照される場合がある。
Each of the
スイッチ5の実ポートP4(割当ポートAP4)及びスイッチ8の実ポートP3(割当ポートAP69)は、外部ネットワークNETに接続された外部ポートである。内部ネットワークINT−NETは、それら外部ポート間の通信ネットワークであると言える。
The real port P4 (assignment port AP4) of the
より詳細には、図3の例で示される内部ネットワークINT−NETは、次のような構成(トポロジ)を有している。スイッチ5のポートP16とスイッチ6のポートP15とは互いに接続されており、スイッチ5とスイッチ6とは双方向に通信可能である。スイッチ5のポートP17とスイッチ7のポートP15とは互いに接続されており、スイッチ5とスイッチ7とは双方向に通信可能である。スイッチ8のポートP16とスイッチ6のポートP18とは互いに接続されており、スイッチ8とスイッチ6とは双方向に通信可能である。スイッチ8のポートP17とスイッチ7のポートP18とは互いに接続されており、スイッチ8とスイッチ7とは双方向に通信可能である。このようにして、内部ネットワークINT−NETが構成されている。
More specifically, the internal network INT-NET shown in the example of FIG. 3 has the following configuration (topology). The port P16 of the
スタックドスイッチ9のスタック管理部10は、管理ホスト1と接続されており、管理ホスト1と双方向通信が可能である。スタック管理部10は、管理ホスト1に対して各種通知を送信し、また、管理ホスト1から各種命令を受け取る。また、スタック管理部10は、内部ネットワークINT−NET上に配置されている複数のスイッチ5〜8と接続されており、それぞれのスイッチ5〜8と双方向通信が可能である。スタック管理部10は、スイッチ5〜8の動作を制御することによって、内部ネットワークINT−NETにおけるフロー通信を制御する。その制御方法は、第1の実施の形態における管理ホスト1による制御方法と同様である。すなわち、スタックドスイッチ9のスタック管理部10は、第1の実施の形態において管理ホスト1が通信ネットワークNETに対して果たした役割と同様の役割を、内部ネットワークINT−NETに対して果たす。
The stack management unit 10 of the stacked switch 9 is connected to the
より詳細には、図3に示されるように、スタック管理部10は、制御部11と記憶部12を備えている。制御部11は、内部ネットワークINT−NETにおけるフロー通信を制御する機能を有し、演算処理装置がコンピュータプログラムを実行することにより実現される。そのコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。記憶部12は、RAM等の記憶装置である。記憶部12には、トポロジ情報TPL及びエントリ状態情報ENTが格納される。トポロジ情報TPLは、内部ネットワークINT−NETに関する上述の構成を示す。つまり、トポロジ情報TPLは、内部ネットワークINT−NETにおけるスイッチ間の接続状況を示す。エントリ状態情報ENTは、スイッチ5〜8の各々のコストパラメータを示す。コストパラメータは、第1の実施の形態と同様である。
More specifically, as illustrated in FIG. 3, the stack management unit 10 includes a
図2及び図3で示された例において、端末3(送信端末)からスタックドスイッチ9及びスイッチ4を経由して端末2(受信端末)へ、あるフロー通信が行われる場合を考える。このとき、スタックドスイッチ9は、スイッチ8のポートP3(外部入力ポート)から入力される当該フローの通信データを、スイッチ5のポートP4(外部出力ポート)から出力する必要がある。従って、スタック管理部10は、内部ネットワークINT−NETにおける外部入力ポートから外部出力ポートへの当該フローの経路(内部経路)を決定する。ここで、第1の実施の形態と同様に、スタック管理部10は、内部ネットワークINT−NET上の各スイッチのエントリ状態を考慮し、“エントリあふれ”の発生が抑制されるようにフロー経路を決定する。
In the example shown in FIGS. 2 and 3, consider a case where a certain flow communication is performed from the terminal 3 (transmission terminal) to the terminal 2 (reception terminal) via the stacked switch 9 and the switch 4. At this time, the stacked switch 9 needs to output the communication data of the flow input from the port P3 (external input port) of the
トポロジ情報TPL及びエントリ状態情報ENTは、制御部11によって記憶部12に予め格納されており、また、制御部11によって記憶部12から読み出される。まず、制御部11は、記憶部12に格納されているトポロジ情報TPLを参照することによって、内部ネットワークINT−NETにおける外部入力ポート(スイッチ8のポートP3)から外部出力ポート(スイッチ5のポートP4)への経路候補を抽出する。図3で示される例では、「スイッチ8−スイッチ6−スイッチ5」と「スイッチ8−スイッチ7−スイッチ5」の2種類の経路候補が抽出される。あるいは、内部ネットワークINT−NETにおける外部入力ポートから外部出力ポートへの経路候補は、予め情報としてスタック管理部10に与えられていてもよい。
The topology information TPL and the entry state information ENT are stored in advance in the
続いて、制御部11は、記憶部12に格納されているエントリ状態情報ENTを参照することによって、各経路候補に属する各スイッチのスイッチコストSCを算出する。各スイッチのスイッチコストSCは、エントリ状態情報ENTで与えられるコストパラメータから算出可能である。第1の経路候補「スイッチ8−スイッチ6−スイッチ5」に関しては、スイッチ8、6及び5の各々のスイッチコストSCが算出される。第2の経路候補「スイッチ8−スイッチ7−スイッチ5」に関しては、スイッチ8、7及び5の各々のスイッチコストSCが算出される。
Subsequently, the
次に、制御部11は、各経路候補に関して算出されたスイッチコストSCに基づいて、経路候補のうち1つを、内部ネットワークINT−NETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど(使用エントリ数NAが少ないほど)、小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、制御部11は、算出されたスイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。そのようなフロー経路の決定アルゴリズムは、第1の実施の形態と同様である。
Next, the
以上に説明されたように、本実施の形態によれば、スタック管理部10は、フロー経路の決定に際して、内部ネットワークINT−NET上の各スイッチのエントリ状態を考慮する。そして、スタック管理部10は、空きエントリ数NBが極端に少なくなるスイッチの発生をなるべく回避するように、フロー経路を決定する。これは、内部ネットワークINT−NET上の各スイッチにおけるエントリ消費を平滑化することに相当する。結果として、内部ネットワークINT−NET上のスイッチにおけるエントリあふれの発生が抑制される。それにより、内部ネットワークINT−NET上のあるスイッチのスループットが大幅に劣化することが防止される。また、本実施の形態によれば、エントリあふれの発生が抑制されるため、スタックドスイッチ9全体としてより多くのフロー(パス)を収容することが可能となる。 As described above, according to the present embodiment, the stack management unit 10 considers the entry state of each switch on the internal network INT-NET when determining the flow path. Then, the stack management unit 10 determines a flow path so as to avoid the occurrence of a switch in which the number of free entries NB is extremely small. This corresponds to smoothing the entry consumption at each switch on the internal network INT-NET. As a result, the occurrence of entry overflow in the switch on the internal network INT-NET is suppressed. This prevents the throughput of a certain switch on the internal network INT-NET from being significantly deteriorated. Further, according to the present embodiment, the occurrence of entry overflow is suppressed, so that it is possible to accommodate more flows (paths) as a whole of the stacked switch 9.
3.具体例
以下、具体例を挙げて、本発明の実施の形態を更に詳しく説明する。例として、図2及び図3で示された第2の実施の形態の場合を詳しく説明する。但し、第1の実施の形態の場合であっても同様の議論が適用され得ることは、当業者にとって容易に理解されよう。
3. Specific Examples Hereinafter, the embodiments of the present invention will be described in more detail with specific examples. As an example, the case of the second embodiment shown in FIGS. 2 and 3 will be described in detail. However, it will be easily understood by those skilled in the art that the same argument can be applied even in the case of the first embodiment.
以下に説明される通信システムは、Openflow(http://www.openflowswitch.org/を参照)に基づいている。その場合、“Openflow Controller”が管理ホスト1となり、“Openflow Switch”が各スイッチ4〜8となる。
The communication system described below is based on Openflow (see http://www.openflowswitch.org/). In this case, “Openflow Controller” is the
また、以下に説明される例において、各スイッチには識別子として「DPID(Data Path ID)」が付与される。例えば、スイッチ4〜8のそれぞれのDPIDは、「00−00−4c−00−44−44」、「00−00−4c−00−55−55」、「00−00−4c−00−66−66」、「00−00−4c−00−77−77」、「00−00−4c−00−88−88」である。また、スタックドスイッチ9のDPIDは、「00−00−4c−00−99−99」である。 Further, in the example described below, “DPID (Data Path ID)” is given to each switch as an identifier. For example, the DPID of each of the switches 4 to 8 is “00-00-4c-00-44-44”, “00-00-4c-00-55-55”, “00-00-4c-00-66”. -66 "," 00-00-4c-00-77-77 ", and" 00-00-4c-00-88-88 ". The DPID of the stacked switch 9 is “00-00-4c-00-99-99”.
3−1.スイッチの構成
図4は、スイッチ4の構成例を示すブロック図である。スイッチ4は、Openflowスイッチであり、テーブル記憶部40、転送処理部41、ホスト通信部43、及びテーブル設定部44を備えている。テーブル記憶部40は、RAM(Random Access Memory)やCAM(Content Addressable Memory)等の記憶装置である。転送処理部41、ホスト通信部43、及びテーブル設定部44は、演算処理装置がコンピュータプログラムを実行することにより実現される。
3-1. Configuration of Switch FIG. 4 is a block diagram illustrating a configuration example of the switch 4. The switch 4 is an Openflow switch, and includes a
テーブル記憶部40には、転送テーブル42が格納される。転送テーブル42は、フローの通信データ(パケット、フレーム等)の入力元と転送先との対応関係を示すテーブルであり、フロー毎にエントリを有する。
A transfer table 42 is stored in the
図5は、本実施の形態における転送テーブルの一例を示している。転送テーブルは複数のエントリを有しており、1つのエントリには1つのフローが割り当てられる。すなわち、使用エントリ数NAは、転送テーブルに記録されているエントリの数である。スイッチに割り当てられるフローが1増加すると、その新たなフローに対応する新たなエントリが転送テーブルに追加され、使用エントリ数NAが1増加し、空きエントリ数NBが1減少する。逆に、スイッチに割り当てられるフローが1減少すると、そのフローに対応するエントリが転送テーブルから削除され、使用エントリ数NAが1減少し、空きエントリ数NBが1増加する。尚、使用エントリ数NAの閾値である閾値エントリ数NMは、スイッチ毎に予め決まっている。各スイッチの閾値エントリ数NMは、任意に設定可能であるが、典型的には当該スイッチにおいて“エントリあふれ”が発生しない上限の使用エントリ数NAに設定される。そのような使用エントリ数NAの上限は、当該スイッチのテーブル記憶部の容量に依存する。 FIG. 5 shows an example of the transfer table in the present embodiment. The forwarding table has a plurality of entries, and one flow is assigned to one entry. That is, the used entry number NA is the number of entries recorded in the transfer table. When the flow allocated to the switch increases by 1, a new entry corresponding to the new flow is added to the forwarding table, the used entry number NA increases by 1, and the free entry number NB decreases by 1. Conversely, when the flow allocated to the switch is decreased by 1, the entry corresponding to the flow is deleted from the forwarding table, the used entry number NA is decreased by 1, and the free entry number NB is increased by 1. Note that the threshold entry number NM, which is the threshold value of the used entry number NA, is predetermined for each switch. The threshold entry number NM of each switch can be arbitrarily set. Typically, the threshold entry number NM is set to the upper limit used entry number NA in which “entry overflow” does not occur in the switch. The upper limit of the number of used entries NA depends on the capacity of the table storage unit of the switch.
図5で示される例において、1つのエントリは複数のフィールド:「入力ポート」、「宛先MACアドレス(MAC−DA)」、「送信元MACアドレス(MAC−SA)」、「出力ポート」、及び「カウント」を含んでいる。MAC−DA及びMAC−SAは、自エントリに対応付けられているフローを特定するためのフィールドであり、対応するフローの通信データ(パケット、フレーム等)に含まれるMAC−DA及びMAC−SAと同じに設定される。入力ポートは、該当フローの通信データが入力される入力元(いずれかのポートあるいは管理ホスト1)を示すフィールドである。出力ポートは、該当フローの通信データが転送される転送先(いずれかのポートあるいは管理ホスト1)を示すフィールドである。この出力ポートには、複数の転送先が記載されていてもよい。このように、1つのエントリは、MAC−DA及びMAC−SAにより特定されるフローに関して、入力元と転送先との対応関係を示している。すなわち、スイッチは、通信データの入力元とその通信データに含まれるMAC−DA及びMAC−SAを検索キーとして用いることによって、その通信データの転送先を認識することができる。尚、「カウント」は、該当フローの通信データが転送される度にインクリメントされ、自エントリのエージングに利用される(詳細は後述される)。 In the example shown in FIG. 5, one entry has a plurality of fields: “input port”, “destination MAC address (MAC-DA)”, “source MAC address (MAC-SA)”, “output port”, and Includes "count". MAC-DA and MAC-SA are fields for specifying a flow associated with the entry, and MAC-DA and MAC-SA included in communication data (packet, frame, etc.) of the corresponding flow. Set to the same. The input port is a field indicating an input source (any port or management host 1) into which communication data of the corresponding flow is input. The output port is a field indicating a transfer destination (any port or management host 1) to which communication data of the corresponding flow is transferred. A plurality of transfer destinations may be described in this output port. Thus, one entry indicates the correspondence between the input source and the transfer destination with respect to the flow specified by MAC-DA and MAC-SA. That is, the switch can recognize the transfer destination of the communication data by using the input source of the communication data and the MAC-DA and MAC-SA included in the communication data as a search key. The “count” is incremented every time the communication data of the corresponding flow is transferred, and is used for aging the entry (details will be described later).
再度図4を参照して、ホスト通信部43は、管理ホスト1と双方向通信を行う機能を有する。スイッチ4は、ホスト通信部43を通して、管理ホスト1と双方向通信を行うことができる。
Referring to FIG. 4 again, the
転送処理部41は、スイッチ4に入力された通信データを転送する機能を有する。具体的には、転送処理部41は、ポート(実ポート)P1〜P22を有しており、いずれかのポートあるいはホスト通信部43から通信データを受け取る。そして、転送処理部41は、テーブル記憶部40に格納されている転送テーブル42を参照することによって、その入力元(ポートあるいはホスト通信部43)に対応する転送先を把握し、受け取った通信データをその転送先に転送(送信)する。図5で示された転送テーブルの場合、転送処理部41は、通信データの入力元とその通信データに含まれるMAC−DA及びMAC−SAを検索キーとして用い、その検索キーが記述されているエントリを転送テーブルの中から検索する。そして、転送処理部41は、検索されたエントリ(ヒットエントリ)の出力ポートに記述されている転送先に、受け取った通信データを転送する。出力ポートに複数の転送先が記述されている場合、転送処理部41は、受け取った通信データをコピーした上で、それぞれの転送先に通信データを転送する。また、転送処理部41は、通信データを転送する度に、ヒットエントリ中の「カウント」を1ずつ増加させる。
The
テーブル設定部44は、管理ホスト1からの指示に従って、テーブル記憶部40に格納されている転送テーブル42の内容を設定する機能を有する。より詳細には、テーブル設定部44は、ホスト通信部43を通して管理ホスト1から指示を受け取り、その指示に従って、転送テーブル42中のエントリを作成、削除、あるいは変更する。また、テーブル設定部44は、転送テーブル42中の各エントリの「カウント」を監視し、「カウント」が所定の条件を満たすエントリを削除する機能も有する(詳細は後述される)。
The
3−2.スタックドスイッチの構成
図6は、スタックドスイッチ9の構成例を示すブロック図である。スタックドスイッチ9は、複数のスイッチ(内部スイッチ)5〜8及びスタック管理部10を備えており、それらによって内部ネットワークINT−NETが構成されている。
3-2. Stacked Switch Configuration FIG. 6 is a block diagram illustrating a configuration example of the stacked switch 9. The stacked switch 9 includes a plurality of switches (internal switches) 5 to 8 and a stack management unit 10, and an internal network INT-NET is configured by them.
内部ネットワークINT−NET上のスイッチ5〜8の各々は、Openflowスイッチであり、図4で示された構成と同様の構成を有している。すなわち、スイッチ5は、テーブル記憶部50、転送処理部51、ホスト通信部53、及びテーブル設定部54を備えており、テーブル記憶部50には転送テーブル52が格納される。スイッチ6は、テーブル記憶部60、転送処理部61、ホスト通信部63、及びテーブル設定部64を備えており、テーブル記憶部60には転送テーブル62が格納される。スイッチ7は、テーブル記憶部70、転送処理部71、ホスト通信部73、及びテーブル設定部74を備えており、テーブル記憶部70には転送テーブル72が格納される。スイッチ8は、テーブル記憶部80、転送処理部81、ホスト通信部83、及びテーブル設定部84を備えており、テーブル記憶部80には転送テーブル82が格納される。但し、各スイッチのホスト通信部(53、63、73、83)の通信相手は、管理ホスト1ではなく、スタックドスイッチ9内のスタック管理部10である。
Each of the
各スイッチの転送処理部(51、61、71、81)は、ポートP1〜P22を有している。図6の例では、スイッチ5のポートP16とスイッチ6のポートP15は互いに接続されており、スイッチ5とスイッチ6は双方向に通信可能である。また、スイッチ5のポートP17とスイッチ7のポートP15は互いに接続されており、スイッチ5とスイッチ7は双方向に通信可能である。また、スイッチ8のポートP16とスイッチ6のポートP18は互いに接続されており、スイッチ8とスイッチ6は双方向に通信可能である。また、スイッチ8のポートP17とスイッチ7のポートP18は互いに接続されており、スイッチ8とスイッチ7は双方向に通信可能である。尚、スイッチ5のポートP4及びスイッチ8のポートP3は、外部ネットワークNETに接続された外部ポートである。スタックドスイッチ9は、それら外部ポート及び外部ネットワークNETを通して、スイッチ4や端末3と通信可能である(図2参照)。
The transfer processing unit (51, 61, 71, 81) of each switch has ports P1 to P22. In the example of FIG. 6, the port P16 of the
スタック管理部10は、スイッチ5〜8と双方向に通信可能に接続されている。このスタック管理部10は、制御部11、記憶部12、ノード通信部13、及びホスト通信部14を備えている。記憶部12は、RAM等の記憶装置である。制御部11、ノード通信部13及びホスト通信部14は、演算処理装置がコンピュータプログラムを実行することにより実現される。
The stack management unit 10 is connected to the
ノード通信部13は、各スイッチ(5、6、7、8)のホスト通信部(53、63、73、83)と双方向通信を行う機能を有する。スタック管理部10は、ノード通信部13を通して、スイッチ5〜8の各々と双方向通信を行うことができる。ホスト通信部14は、管理ホスト1と双方向通信を行う機能を有する。スタック管理部10は、ホスト通信部14を通して、管理ホスト1と双方向通信を行うことができる。
The
制御部11は、内部ネットワークINT−NETにおけるフロー通信を制御する機能を有する。より詳細には、制御部11は、メッセージ処理部15とコマンド処理部16を含んでいる。メッセージ処理部15は、ノード通信部13を通してスイッチから受け取る各種メッセージ(例:後述されるパケット到着通知MP及びエントリ消去通知ME)を処理する機能を有する。コマンド処理部16は、ホスト通信部14を通して管理ホスト1から受け取る各種命令(例:後述されるテーブル設定命令CT及びパケット送信命令CP)を処理する機能を有する。
The
記憶部12には、ポート情報POR、トポロジ情報TPL、及びエントリ状態情報ENTが格納される。
The
図7は、ポート情報PORの一例を示している。上述の通り、スタックドスイッチ9に含まれる各スイッチの実ポートP1〜P22には、スタックドスイッチ9としての割当ポートが一意的に割り当てられる。ポート情報PORはその“割当関係”を示している。より詳細には、図7に示されるように、ポート情報PORは複数のエントリを含んでおり、1つのエントリは、あるスイッチのDPID、そのスイッチの実ポート、及びその実ポートに割り当てられた割当ポートを示している。本例では、スイッチ5の実ポートP1〜P22には割当ポートAP1〜AP22が割り当てられ、スイッチ6の実ポートP1〜P22には割当ポートAP23〜AP44が割り当てられ、スイッチ7の実ポートP1〜P22には割当ポートAP45〜AP66が割り当てられ、スイッチ8の実ポートP1〜P22には割当ポートAP67〜AP88が割り当てられている。尚、このような割当関係は、スタックドスイッチ9の構成時にあらかじめ決定されてもよい。
FIG. 7 shows an example of the port information POR. As described above, an assigned port as the stacked switch 9 is uniquely assigned to the real ports P1 to P22 of each switch included in the stacked switch 9. The port information POR indicates the “allocation relationship”. More specifically, as shown in FIG. 7, the port information POR includes a plurality of entries, and one entry includes a DPID of a switch, a real port of the switch, and an assigned port assigned to the real port. Is shown. In this example, the assigned ports AP1 to AP22 are assigned to the real ports P1 to P22 of the
図8は、トポロジ情報TPLの一例を示している。トポロジ情報TPLは、図6で示された内部ネットワークINT−NETの構成を示す。より詳細には、図8に示されるように、トポロジ情報TPLは複数のエントリを含んでおり、1つのエントリは、一組のスイッチ間の接続状況を示す。一組のスイッチ間の接続状況は、起点スイッチのDPID、その起点スイッチの起点ポート、終点スイッチのDPID、及びその終点スイッチの終点ポートにより規定される。一組のスイッチ間で双方向通信が可能な場合、片方向毎にエントリが作成される。例えば、双方向通信が可能な一組のスイッチ5、7に関して、2つのエントリ:「起点スイッチ=00−00−4c−00−55−55、起点ポート=P17、終点スイッチ=00−00−4c−00−77−77、終点ポート=P15」及び「起点スイッチ=00−00−4c−00−77−77、起点ポート=P15、終点スイッチ=00−00−4c−00−55−55、終点ポート=P17」が作成されている。尚、このような接続状況は、スタックドスイッチ9の構成時にあらかじめ決定されてもよい。
FIG. 8 shows an example of the topology information TPL. The topology information TPL indicates the configuration of the internal network INT-NET shown in FIG. More specifically, as shown in FIG. 8, the topology information TPL includes a plurality of entries, and one entry indicates a connection state between a set of switches. The connection status between a set of switches is defined by the DPID of the start switch, the start port of the start switch, the DPID of the end switch, and the end port of the end switch. If bidirectional communication is possible between a set of switches, an entry is created for each direction. For example, for a set of
図9は、エントリ状態情報ENTの一例を示している。上述の通り、エントリ状態情報ENTは、スイッチ5〜8の各々における空きエントリ数NBに関連する「コストパラメータ」を示す。図9で示される例では、エントリ状態情報ENTは、スイッチ5〜8の各々に関して、DPID、空きエントリ数NB、及びスイッチコストSCを示している。すなわち、空きエントリ数NB及びスイッチコストSCがコストパラメータとして示されている。尚、本例では、スイッチコストSCは、「空きエントリ数NBの逆数の100倍」で与えられるとする(SC=100/NB)。
FIG. 9 shows an example of the entry status information ENT. As described above, the entry state information ENT indicates the “cost parameter” related to the number of free entries NB in each of the
3−3.動作
例として、図2で示された通信システムにおいて、端末3(送信端末)から端末2(受信端末)に向けてあるフロー通信が行われる場合を考える。端末3は、スタックドスイッチ9の外部入力ポートである割当ポートAP69(スイッチ8のポートP3)に接続されている。端末2は、スイッチ4のポートP2に接続されている。スイッチ4のポートP9は、スタックドスイッチ9の外部出力ポートである割当ポートAP4(スイッチ5のポートP4)に接続されている。また、端末2のMACアドレスは「00−00−4c−00−aa−00」であり、端末3のMACアドレスは「00−00−4c−00−12−34」である。ポート情報POR、トポロジ情報TPL及びエントリ状態情報ENTは、それぞれ図7、図8及び図9で示された通りである。また、スイッチ4〜8の各々の転送テーブル(42、52、62、72、82)には、当該フローに対応するエントリは未だ記述されていないとする。
3-3. As an operation example, let us consider a case in which a certain flow communication is performed from the terminal 3 (transmission terminal) to the terminal 2 (reception terminal) in the communication system shown in FIG. The terminal 3 is connected to an allocation port AP69 (port P3 of the switch 8) that is an external input port of the stacked switch 9. The terminal 2 is connected to the port P2 of the switch 4. The port P9 of the switch 4 is connected to the allocation port AP4 (port P4 of the switch 5) that is an external output port of the stacked switch 9. The MAC address of the terminal 2 is “00-00-4c-00-aa-00”, and the MAC address of the terminal 3 is “00-00-4c-00-12-34”. The port information POR, topology information TPL, and entry state information ENT are as shown in FIGS. 7, 8, and 9, respectively. In addition, it is assumed that an entry corresponding to the flow is not yet described in each transfer table (42, 52, 62, 72, 82) of the switches 4-8.
図10は、送信端末3から受信端末2へのフローが確立するまでの処理を示すフローチャートである。 FIG. 10 is a flowchart showing processing until a flow from the transmission terminal 3 to the reception terminal 2 is established.
ステップS10:
送信端末3は、スタックドスイッチ9へ最初のパケット(第1パケット)を送出する。図11は、第1パケットの一例を示している。図11に示されるように、第1パケットは、宛先MACアドレス(MAC−DA)、送信元MACアドレス(MAC−SA)、及びデータ本体(DATA)を含んでいる。MAC−DAは、受信端末2のMACアドレス「00−00−4c−00−aa−00」である。一方、MAC−SAは、送信端末3のMACアドレス「00−00−4c−00−12−34」である。
Step S10:
The transmission terminal 3 sends the first packet (first packet) to the stacked switch 9. FIG. 11 shows an example of the first packet. As shown in FIG. 11, the first packet includes a destination MAC address (MAC-DA), a source MAC address (MAC-SA), and a data body (DATA). MAC-DA is the MAC address “00-00-4c-00-aa-00” of the receiving terminal 2. On the other hand, the MAC-SA is the MAC address “00-00-4c-00-12-34” of the transmission terminal 3.
ステップS20:
スタックドスイッチ9のスイッチ8は、送信端末3に接続されているポートP3(外部入力ポート)から、第1パケットを受け取る。スイッチ8の転送処理部81は、第1パケットを受け取ると、その入力元(ポートP3)及び第1パケットに含まれるMAC−DA及びMAC−SAを検索キーとして用いることにより、テーブル記憶部80に格納されている転送テーブル82から該当エントリの検索を行う。しかしながら、現在、転送テーブル82には該当エントリは存在していない。その場合、転送処理部81は、ホスト通信部83へ第1パケットを送る。ホスト通信部83は、スイッチ8が新たなフローのパケットを受信したことを示す「パケット到着通知MPa」を生成し、そのパケット到着通知MPaをスタック管理部10に送信する。
Step S20:
The
図12Aは、パケット到着通知MPaを示している。このパケット到着通知MPaは、ヘッダ情報及び受信した第1パケットを含んでいる。ヘッダ情報は、自スイッチのDPID(00−00−4c−00−88−88)、パケット到着通知を識別するための種別(OpenFlowの場合は“PACKET_IN”)、及び第1パケットが入力された入力ポート番号(P3)を含んでいる。 FIG. 12A shows the packet arrival notification MPa. This packet arrival notification MPa includes header information and the received first packet. The header information includes the DPID (00-00-4c-00-88-88) of the own switch, the type for identifying the packet arrival notification (“PACKET_IN” in the case of OpenFlow), and the input in which the first packet is input The port number (P3) is included.
スタック管理部10のノード通信部13は、スイッチ8からパケット到着通知MPaを受け取る。ノード通信部13は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、ノード通信部13は、受け取ったパケット到着通知MPaをメッセージ処理部15に送る。メッセージ処理部15は、ノード通信部13からパケット到着通知MPaを受け取る。そして、メッセージ処理部15は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、メッセージ処理部15は、次の処理を行う。
The
メッセージ処理部15は、パケット到着通知MPaを、スタックドスイッチ9が新たなフローのパケットを受信したことを示すパケット到着通知MPbに書き換える。具体的には、メッセージ処理部15は、パケット到着通知MPaに含まれるスイッチ8のDPID(00−00−4c−00−88−88)を、スタックドスイッチ9のDPID(00−00−4c−00−99−99)に書き換える。更に、メッセージ処理部15は、記憶部12に格納されているポート情報PORを参照することによって、パケット到着通知MPaに含まれるスイッチ8の入力ポートP3を、スタックドスイッチ9としての割当ポートAP69に書き換える。図12Bは、結果として得られるパケット到着通知MPbを示している。
The
そして、メッセージ処理部15は、図12Bで示されたパケット到着通知MPbをホスト通信部14に送る。ホスト通信部14は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、ホスト通信部14は、受け取ったパケット到着通知MPbを管理ホスト1に送信する。
Then, the
ステップS30:
管理ホスト1は、スタックドスイッチ9からパケット到着通知MPbを受け取る。管理ホスト1は、パケット到着通知MPbに含まれる第1パケットのMAC−DA及びMAC−SA(図11参照)から、端末3(送信元)から端末2(送信先)へのフロー通信が要求されていることを認識する。
Step S30:
The
次に、管理ホスト1は、通信ネットワークNETにおける端末3から端末2への当該フローの経路(パケットの伝達経路)を決定する。第1の実施の形態で説明されたように、管理ホスト1は、通信ネットワークNETの構成を示すトポロジ情報TPLを有している。従って、管理ホスト1は、そのトポロジ情報TPLを参照することによって、通信ネットワークNETにおける端末3から端末2へのフロー経路を決定することができる。本例では、そのフロー経路は、「端末3−スタックドスイッチ9のポートAP69−スタックドスイッチ9のポートAP4−スイッチ4のポートP9−スイッチ4のポートP2−端末2」である。
Next, the
次に、管理ホスト1は、決定されたフロー経路に属する各スイッチ4,9に対して、当該フローのパケットを決定されたフロー経路に沿って転送するように指示する。より詳細には、管理ホスト1は、決定されたフロー経路に属する各スイッチ4,9に対して、当該フローのパケットが決定されたフロー経路に沿って転送されるように各転送テーブルの内容を設定するよう指示を行う。そのために、管理ホスト1は、決定されたフロー経路上の各スイッチ4,9に対して、「テーブル設定命令CT」を送信する。テーブル設定命令CTは、各スイッチが設定すべき転送テーブルの内容を示す。
Next, the
図13Aは、スイッチ4に送信されるテーブル設定命令CT4を示している。このテーブル設定命令CT4は、ヘッダ情報及びエントリ記述内容を含んでいる。ヘッダ情報は、送信先であるスイッチ4のDPID(00−00−4c−00−44−44)、及びテーブル設定命令を識別するための種別(OpenFlowの場合は“MODIFY_STATE”あるいは“MOD_STATE”)を含んでいる。エントリ記述内容は、スイッチ4が転送テーブル42に追加すべきエントリの内容を示している。具体的には、エントリ記述内容は、入力ポート、MAC−DA、MAC−SA、及び出力ポートを含んでいる。MAC−DA及びMAC−SAは、上記パケット到着通知MPbに含まれる第1パケットのMAC−DA及びMAC−SA(図11参照)と同じである。入力ポート及び出力ポートは、上記決定されたフロー経路に応じて設定される。上記決定されたフロー経路によれば、スイッチ4は、ポートP9から入力されるパケットをポートP2から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P9”及び“P2”に設定される。 FIG. 13A shows a table setting command CT4 transmitted to the switch 4. This table setting command CT4 includes header information and entry description contents. The header information includes the DPID (00-00-4c-00-44-44) of the switch 4 that is the transmission destination and the type for identifying the table setting command (“MODIFY_STATE” or “MOD_STATE” in the case of OpenFlow). Contains. The entry description content indicates the content of the entry that the switch 4 should add to the transfer table 42. Specifically, the entry description content includes an input port, MAC-DA, MAC-SA, and output port. MAC-DA and MAC-SA are the same as the MAC-DA and MAC-SA (see FIG. 11) of the first packet included in the packet arrival notification MPb. The input port and the output port are set according to the determined flow path. According to the determined flow path, the switch 4 is requested to output a packet input from the port P9 from the port P2. Therefore, the input port and the output port are set to “P9” and “P2”, respectively.
図13Bは、スタックドスイッチ9に送信されるテーブル設定命令CT9を示している。テーブル設定命令CT9の形式は、図13Aで示されたテーブル設定命令CT4と同様である。ヘッダ情報中のDPIDは、送信先であるスタックドスイッチ9のDPID(00−00−4c−00−99−99)に設定される。また、上記決定されたフロー経路によれば、スタックドスイッチ9は、割当ポートAP69から入力されるパケットを割当ポートAP4から出力するように要求されている。従って、エントリ記述内容中の入力ポート及び出力ポートは、それぞれ“AP69”及び“AP4”に設定される。 FIG. 13B shows a table setting command CT9 transmitted to the stacked switch 9. The format of the table setting command CT9 is the same as the table setting command CT4 shown in FIG. 13A. The DPID in the header information is set to the DPID (00-00-4c-00-99-99) of the stacked switch 9 that is the transmission destination. Further, according to the determined flow path, the stacked switch 9 is requested to output a packet input from the allocation port AP69 from the allocation port AP4. Therefore, the input port and the output port in the entry description content are set to “AP69” and “AP4”, respectively.
ステップS40:
次に、決定されたフロー経路上の各スイッチ(4、9)において、各転送テーブルの設定が行われる。
Step S40:
Next, each transfer table is set in each switch (4, 9) on the determined flow path.
(スイッチ4)
スイッチ4のホスト通信部43は、管理ホスト1から、図13Aで示されたテーブル設定命令CT4を受け取る。ホスト通信部43は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部43は、受け取ったテーブル設定命令CT4をテーブル設定部44に送る。テーブル設定部44は、受け取ったテーブル設定命令CT4からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル42に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図14は、転送テーブル42に新たに追加されたエントリを示している。図14に示されるように、図13Aで示されたテーブル設定命令CT4の内容が転送テーブル42に反映されている。このように、スイッチ4は、管理ホスト1からの指示に従って、当該フローのパケットが上記決定された経路に沿って転送されるように転送テーブル42の内容を設定する。
(Switch 4)
The
(スタックドスイッチ9)
スタックドスイッチ9は、図13Bで示されたテーブル設定命令CT9を管理ホスト1から受け取る。スタックドスイッチ9は、そのテーブル設定命令CT9に応答して、次の処理を行う。図15は、スタックドスイッチ9における処理を示すフローチャートである。
(Stacked switch 9)
The stacked switch 9 receives the table setting command CT9 shown in FIG. 13B from the
ステップS41:
まず、スタック管理部10のホスト通信部14は、管理ホスト1から、図13Bで示されたテーブル設定命令CT9を受け取る。ホスト通信部14は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部14は、受け取ったテーブル設定命令CT9をコマンド処理部16に送る。
Step S41:
First, the
コマンド処理部16は、ホスト通信部14からテーブル設定命令CT9を受け取る。コマンド処理部16は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、コマンド処理部16は、記憶部12に格納されているポート情報PORを参照することによって、受け取ったテーブル設定命令CT9のエントリ記述内容に含まれる入力ポート(AP69)及び出力ポート(AP4)を実ポートに変換する。本例では、入力ポートAP69はスイッチ8のポートP3に変換され、出力ポートAP4はスイッチ5のポートP4に変換される。このようにして、コマンド処理部16は、当該フローのパケットの入出力に用いられる外部入力ポート(スイッチ8のポートP3)及び外部出力ポート(スイッチ5のポートP4)を認識することができる。
The
ステップS42:
次に、コマンド処理部16は、内部ネットワークINT−NETにおける外部入力ポート(スイッチ8のポートP3)から外部出力ポート(スイッチ5のポートP4)への経路候補を抽出する。このとき、コマンド処理部16は、記憶部12に格納されているトポロジ情報TPL(図8参照)を用いることによって、経路候補を抽出することができる。本例では、次の2種類の経路候補が抽出される。
Step S42:
Next, the
第1の経路候補:スイッチ8のポートP3−スイッチ8のポートP16−スイッチ6のポートP18−スイッチ6のポートP15−スイッチ5のポートP16−スイッチ5のポートP4
第2の経路候補:スイッチ8のポートP3−スイッチ8のポートP17−スイッチ7のポートP18−スイッチ7のポートP15−スイッチ5のポートP17−スイッチ5のポートP4
First route candidate: port P3 of
Second path candidate: port P3 of
ステップS43:
次に、コマンド処理部16は、記憶部12に格納されているエントリ状態情報ENTを参照することによって、各経路候補に属する各スイッチのスイッチコストSCを算出する。各スイッチのスイッチコストSCは、エントリ状態情報ENTで与えられるコストパラメータから算出可能である。図9で示されたように、本例のエントリ状態情報ENTは、各スイッチのスイッチコストSCそのものをコストパラメータとして示している。従って、コマンド処理部16は、各スイッチのスイッチコストSCを即座に取得することができる。第1の経路候補に関しては、スイッチ8、6及び5の各々のスイッチコストSCが得られる。第2の経路候補に関しては、スイッチ8、7及び5の各々のスイッチコストSCが得られる。
Step S43:
Next, the
ステップS44:
次に、コマンド処理部16は、ステップS43で得られたスイッチコストSCに基づいて、経路候補のうち1つを、内部ネットワークINT−NETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、コマンド処理部16は、スイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。
Step S44:
Next, the
本例では、上述の第1のアルゴリズムに従ってフロー経路が決定される。すなわち、コマンド処理部16は、経路候補毎に、スイッチコストSCの総和である「総コスト」を算出する。そして、コマンド処理部16は、経路候補のうち総コストが最小である1つを、当該フローの経路として決定する。第1の経路候補の総コストは、スイッチ8、6、5のそれぞれのスイッチコストSCの総和であり、“7.3596(=0.1138+7.1429+0.1029)”と算出される。一方、第2の経路候補の総コストは、スイッチ8、7、5のそれぞれのスイッチコストSCの総和であり、“0.3865(=0.1138+0.1698+0.1029)”と算出される。従って、コマンド処理部16は、第2の経路候補を、内部ネットワークINT−NETにおけるフロー経路(パケットの伝達経路)として決定する。
In this example, the flow path is determined according to the first algorithm described above. That is, the
ステップS45:
次に、コマンド処理部16は、エントリ状態情報ENTを更新する。具体的には、コマンド処理部16は、上記決定されたフロー経路に属する各スイッチ(5、7、8)に関して、空きエントリ数NBを1ずつ減少させ、また、スイッチコストSCを再計算する。その結果、エントリ状態情報ENTは、図9で示されたものから、図16に示されるものに変わる。
Step S45:
Next, the
尚、本例のエントリ状態情報ENTでは、空きエントリ数NBとスイッチコストSCがコストパラメータとして示されていたが、その他の場合でも同様である。例えば、空きエントリ数NBだけがコストパラメータとして示される場合、コマンド処理部16は、決定されたフロー経路に属する各スイッチの空きエントリ数NBを1ずつ減少させる。また例えば、使用エントリ数NAがコストパラメータとして示される場合、コマンド処理部16は、決定されたフロー経路に属する各スイッチの使用エントリ数NAを1ずつ増加させる。要するに、コマンド処理部16は、空きエントリ数NBが1減少することに相当する変更を、決定されたフロー経路に属する各スイッチに関するコストパラメータに加え、それによりエントリ状態情報ENTを更新する。
In the entry status information ENT of this example, the number of empty entries NB and the switch cost SC are shown as cost parameters, but the same applies to other cases. For example, when only the free entry number NB is indicated as the cost parameter, the
ステップS46:
また、コマンド処理部16は、決定されたフロー経路に属する各スイッチ(5、7、8)に対して、当該フローのパケットを決定されたフロー経路に沿って転送するように指示する。より詳細には、コマンド処理部16は、決定されたフロー経路に属する各スイッチ(5、7、8)に対して、当該フローのパケットが決定されたフロー経路に沿って転送されるように各転送テーブル(52、72、82)の内容を設定するよう指示を行う。そのために、コマンド処理部16は、決定されたフロー経路上の各スイッチ(5、7、8)に対する「テーブル設定命令CT」を生成する。各テーブル設定命令CTの形式は、既出の図13Aで示されたものと同様である。
Step S46:
Further, the
図17Aは、スイッチ5に送信されるテーブル設定命令CT5を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ5のDPID(00−00−4c−00−55−55)に設定される。エントリ記述内容中のMAC−DA及びMAC−SAは、コマンド処理部16が先に受け取ったテーブル設定命令CT9(図13B参照)中のものと同じである。入力ポート及び出力ポートは、上記決定されたフロー経路に応じて設定される。上記決定されたフロー経路によれば、スイッチ5は、ポートP17から入力されるパケットをポートP4から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P17”及び“P4”に設定される。
FIG. 17A shows a table setting command CT5 transmitted to the
図17Bは、スイッチ7に送信されるテーブル設定命令CT7を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ7のDPID(00−00−4c−00−77−77)に設定される。また、上記決定されたフロー経路によれば、スイッチ7は、ポートP18から入力されるパケットをポートP15から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P18”及び“P15”に設定される。
FIG. 17B shows a table setting command CT7 transmitted to the
図17Cは、スイッチ8に送信されるテーブル設定命令CT8を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ8のDPID(00−00−4c−00−88−88)に設定される。また、上記決定されたフロー経路によれば、スイッチ8は、ポートP3から入力されるパケットをポートP17から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P3”及び“P17”に設定される。
FIG. 17C shows a table setting command CT8 transmitted to the
コマンド処理部16は、生成したテーブル設定命令CT5、CT7及びCT8を、ノード通信部13に送る。ノード通信部13は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ノード通信部13は、受け取ったテーブル設定命令のヘッダ情報中のDPIDを参照し、そのDPIDで指定されるスイッチにテーブル設定命令を送信する。すなわち、ノード通信部13は、テーブル設定命令CT5、CT7及びCT8を、それぞれスイッチ5、7及び8に送信する。
The
ステップS47:
次に、決定されたフロー経路上の各スイッチ(5、7、8)において、各転送テーブル(52、72、82)の設定が行われる。
Step S47:
Next, each transfer table (52, 72, 82) is set in each switch (5, 7, 8) on the determined flow path.
スイッチ5のホスト通信部53は、ノード通信部13から、図17Aで示されたテーブル設定命令CT5を受け取る。ホスト通信部53は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部53は、受け取ったテーブル設定命令CT5をテーブル設定部54に送る。テーブル設定部54は、受け取ったテーブル設定命令CT5からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル52に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Aは、転送テーブル52に新たに追加されたエントリを示している。図18Aに示されるように、図17Aで示されたテーブル設定命令CT5の内容が転送テーブル52に反映されている。
The
スイッチ7のホスト通信部73は、ノード通信部13から、図17Bで示されたテーブル設定命令CT7を受け取る。ホスト通信部73は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部73は、受け取ったテーブル設定命令CT7をテーブル設定部74に送る。テーブル設定部74は、受け取ったテーブル設定命令CT7からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル72に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Bは、転送テーブル72に新たに追加されたエントリを示している。図18Bに示されるように、図17Bで示されたテーブル設定命令CT7の内容が転送テーブル72に反映されている。
The
スイッチ8のホスト通信部83は、ノード通信部13から、図17Cで示されたテーブル設定命令CT8を受け取る。ホスト通信部83は、種別(MODIFY_STCTE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部83は、受け取ったテーブル設定命令CT8をテーブル設定部84に送る。テーブル設定部84は、受け取ったテーブル設定命令CT8からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル82に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Cは、転送テーブル82に新たに追加されたエントリを示している。図18Cに示されるように、図17Cで示されたテーブル設定命令CT8の内容が転送テーブル82に反映されている。
The
このように、スイッチ5、7、8の各々は、スタック管理部10からの指示に従って、当該フローのパケットが上記決定された経路に沿って転送されるように各転送テーブルの内容を設定する。以上により、ステップS40が完了する。
As described above, each of the
ステップS50:
各スイッチにおける転送テーブルの設定が完了した頃合に、管理ホスト1は、図19Aに示されるパケット送信命令CPaを生成する。このパケット送信命令CPaは、ヘッダ情報と第1パケットを含んでいる。ヘッダ情報は、パケット送信命令の送信先のスイッチを示すDPID(00−00−4c−00−99−99)、パケット送信命令を識別するための種別(OpenFlowの場合は“SEND_PACKET”)、及び第1パケットが出力される出力ポート番号(AP4)を含んでいる。
Step S50:
When the setting of the forwarding table in each switch is completed, the
送信先のスイッチは、既出のステップS30で受け取ったパケット到着通知MPb(図12B)の送信元、すなわち、スタックドスイッチ9である。第1パケットが出力されるスタックドスイッチ9の出力ポートAP4は、既出のステップS30で決定された通信ネットワークNETにおけるフロー経路から認識可能である。また、パケット送信命令CPaに格納される第1パケットは、既出のステップS30で受け取ったパケット到着通知MPb(図12B)に格納されていたものと同じである。管理ホスト1は、ヘッダ情報中のDPIDを参照して、このパケット送信命令CPaをスタックドスイッチ9に送信する。
The transmission destination switch is the transmission source of the packet arrival notification MPb (FIG. 12B) received in step S30, that is, the stacked switch 9. The output port AP4 of the stacked switch 9 to which the first packet is output can be recognized from the flow path in the communication network NET determined in the above-described step S30. Further, the first packet stored in the packet transmission command CPa is the same as that stored in the packet arrival notification MPb (FIG. 12B) received in step S30. The
ステップS60:
スタックドスイッチ9のスタック管理部10のホスト通信部14は、管理ホスト1から、図19Aで示されたパケット送信命令CPaを受け取る。ホスト通信部14は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。その場合、ホスト通信部14は、受け取ったパケット送信命令CPaをコマンド処理部16に送る。そして、コマンド処理部16は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。この場合、コマンド処理部16は、次の処理を行う。
Step S60:
The
コマンド処理部16は、パケット送信命令CPaを、スタックドスイッチ9内部用のパケット送信命令CPbに書き換える。具体的には、コマンド処理部16は、記憶部12に格納されているポート情報PORを参照することによって、パケット送信命令CPaで示される出力ポート(割当ポート)AP4に対応するスイッチ及び実ポートを調べる。本例では、割当ポートAP4に対応するのは、スイッチ5の実ポートP4である。従って、コマンド処理部16は、パケット送信命令CPaに含まれるスタックドスイッチ9のDPID(00−00−4c−00−99−99)及び出力ポート(AP4)を、それぞれ、スイッチ5のDPID(00−00−4c−00−55−55)及び出力ポート(P4)に書き換える。図19Bは、結果として得られるパケット送信命令CPbを示している。
The
コマンド処理部16は、図19Bに示されるパケット送信命令CPbを、ノード通信部13に送る。ノード通信部13は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。その場合、ノード通信部13は、パケット送信命令CPbのヘッダ情報中のDPIDを参照し、そのDPIDで指定されるスイッチ5にそのパケット送信命令CPbを送信する。
The
スイッチ5のホスト通信部53は、ノード通信部13からパケット送信命令CPbを受け取る。ホスト通信部53は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。その場合、ホスト通信部53は、受け取ったパケット送信命令CPbから第1パケットを取り出し、その第1パケットを転送処理部51に送る。更に、ホスト通信部53は、転送処理部51に対して、その第1パケットをパケット送信命令CPbで指定される出力ポートP4から出力するよう指示する。転送処理部51は、第1パケットをポートP4から出力する。スイッチ5のポートP4は、スイッチ4に接続されており、第1パケットはスイッチ4に転送される。このようにして、第1パケットの転送が再開される。
The
ステップS70:
スイッチ4は、スタックドスイッチ9に接続されているポートP9から、第1パケットを受け取る。スイッチ4の転送処理部41は、テーブル記憶部40に格納されている転送テーブル42を参照して、第1パケットの転送を行う。具体的には、転送処理部41は、第1パケットを受け取ると、その入力元(ポートP9)及び第1パケットに含まれるMAC−DA及びMAC−SAを検索キーとして用いることにより、転送テーブル42から該当エントリの検索を行う。図14に示されるように、現在、転送テーブル42は、該当エントリを含んでいる。従って、転送テーブル42は、該当エントリの出力ポートP2に、第1パケットを転送する。スイッチ4のポートP2は、端末2に接続されており、第1パケットは端末2に転送される。
Step S70:
The switch 4 receives the first packet from the port P9 connected to the stacked switch 9. The
ステップS80:
端末2は、スイッチ4から第1パケットを受信する。第1パケットに含まれるMAC−DA(00−00−4c−00−aa−00)は自身のMACアドレスと一致するため、端末2は、受信した第1パケットに関して適切な処理を行う。例えば、端末2は、受信パケットをOSやアプリケーションに渡す。
Step S80:
The terminal 2 receives the first packet from the switch 4. Since the MAC-DA (00-00-4c-00-aa-00) included in the first packet matches its own MAC address, the terminal 2 performs an appropriate process on the received first packet. For example, the terminal 2 passes the received packet to the OS or application.
以上の処理により、送信端末3から受信端末2へのフローが確立する。送信端末3は、第1パケットに続いて、当該フローのパケットを順次送信する。そのパケットの形式は、図11で示されたものと同じである。当該フローのパケットは、上記決定された経路に沿って、送信端末3から受信端末2へ伝送される。 Through the above processing, a flow from the transmission terminal 3 to the reception terminal 2 is established. The transmission terminal 3 sequentially transmits the packets of the flow following the first packet. The format of the packet is the same as that shown in FIG. The packet of the flow is transmitted from the transmission terminal 3 to the reception terminal 2 along the determined path.
具体的には、送信端末3は、スタックドスイッチ9にパケットを送信する。スタックドスイッチ9のスイッチ8は、ポートP3からパケットを受け取る。スイッチ8の転送処理部81は、図18Cで示される転送テーブル82を参照することにより、そのパケットを出力ポートP17に転送する。この時、転送処理部81は、転送テーブル82中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ8のポートP17から、スイッチ7へ転送される。
Specifically, the transmission terminal 3 transmits a packet to the stacked switch 9. The
スイッチ7は、ポートP18からパケットを受け取る。スイッチ7の転送処理部71は、図18Bで示される転送テーブル72を参照することにより、そのパケットを出力ポートP15に転送する。この時、転送処理部71は、転送テーブル72中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ7のポートP15から、スイッチ5へ転送される。
The
スイッチ5は、ポートP17からパケットを受け取る。スイッチ5の転送処理部51は、図18Aで示される転送テーブル52を参照することにより、そのパケットを出力ポートP4に転送する。この時、転送処理部51は、転送テーブル52中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ5のポートP4から、スイッチ4へ転送される。
The
スイッチ4は、ポートP9からパケットを受け取る。スイッチ4の転送処理部41は、図18Aで示される転送テーブル42を参照することにより、そのパケットを出力ポートP2に転送する。この時、転送処理部41は、転送テーブル42中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ4のポートP2から、端末2へ転送される。このようにして、当該フローのパケットが、上記決定された経路に沿って、送信端末3から受信端末2へ伝送される。
The switch 4 receives a packet from the port P9. The
次に、転送テーブルからのエントリ消去に関連する動作を説明する。図20は、エントリ消去動作を示すフローチャートである。 Next, operations related to erasing entries from the transfer table will be described. FIG. 20 is a flowchart showing the entry erasing operation.
ステップS110:
各スイッチにおいて、テーブル設定部は、転送テーブルに含まれる各エントリの「カウント」をモニタする。すなわち、各スイッチにおいて、テーブル設定部は、転送テーブル中の各エントリのヒット状況をモニタする。そして、テーブル設定部は、所定の期間毎に、カウントが前回から変化したか否かを調べる。
Step S110:
In each switch, the table setting unit monitors the “count” of each entry included in the transfer table. That is, in each switch, the table setting unit monitors the hit status of each entry in the transfer table. Then, the table setting unit checks whether the count has changed from the previous time every predetermined period.
ステップS120:
あるスイッチにおいて、あるエントリのカウントが所定の期間内に変化していなかったとする(ステップS120;無)。すなわち、当該スイッチにおいて、所定の期間中に当該エントリがヒットしなかったとする。これは、当該スイッチにおいて、当該エントリに対応したフローの通信が所定の期間途絶えたことを意味する。その場合、処理は、ステップS130へ進む。
Step S120:
It is assumed that the count of a certain entry has not changed within a predetermined period in a certain switch (step S120; no). That is, it is assumed that the entry does not hit during the predetermined period in the switch. This means that the communication of the flow corresponding to the entry has been interrupted for a predetermined period in the switch. In that case, the process proceeds to step S130.
ステップS130:
例えば、スイッチ8のテーブル設定部84が、図18Cで示されるエントリのカウントが所定の期間変化しなかったことを検出したとする。その場合、テーブル設定部84は、転送テーブル82から当該エントリを消去(削除)する。更に、テーブル設定部84は、スイッチ8から1つのエントリが消去されたことを示す「エントリ消去通知ME8」を生成する。
Step S130:
For example, it is assumed that the
図21は、エントリ消去通知ME8を示している。このエントリ消去通知ME8は、ヘッダ情報及びエントリ記述内容を含んでいる。ヘッダ情報は、自スイッチのDPID(00−00−4c−00−88−88)、及びエントリ消去通知を識別するための種別(OpenFlowの場合は“FLOW_EXPIRATION”)を含んでいる。エントリ記述内容は、転送テーブル82から消去されたエントリの内容(「カウント」を除く)を含んでいる。 FIG. 21 shows the entry deletion notification ME8. The entry deletion notification ME8 includes header information and entry description contents. The header information includes the DPID (00-00-4c-00-88-88) of the switch itself and the type for identifying entry deletion notification (“FLOW_EXPIRATION” in the case of OpenFlow). The entry description contents include the contents of the entries deleted from the transfer table 82 (excluding “count”).
テーブル設定部84は、生成したエントリ消去通知ME8をホスト通信部83に送る。ホスト通信部83は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ホスト通信部83は、エントリ消去通知ME8をスタック管理部10に送信する。
The
ステップS140:
スタック管理部10のノード通信部13は、スイッチ8からエントリ消去通知ME8を受け取る。ノード通信部13は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ノード通信部13は、受け取ったエントリ消去通知ME8をメッセージ処理部15へ送る。メッセージ処理部15は、ノード通信部13からエントリ消去通知ME8を受け取る。そして、メッセージ処理部15は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、メッセージ処理部15は、次の処理を行う。
Step S140:
The
メッセージ処理部15は、エントリ消去通知ME8に応答して、エントリ状態情報ENTを更新する。具体的には、メッセージ処理部15は、受け取ったエントリ消去通知ME8に含まれるDPIDを参照し、スイッチ8からエントリが消去されたことを認識する。そして、メッセージ処理部15は、エントリ状態情報ENT中のスイッチ8に関して、空きエントリ数NBを1だけ増加させ、また、スイッチコストSCを再計算する。これにより、エントリ状態情報ENTが更新される。
The
尚、本例のエントリ状態情報ENTでは、空きエントリ数NBとスイッチコストSCがコストパラメータとして示されていたが、その他の場合でも同様である。例えば、空きエントリ数NBだけがコストパラメータとして示される場合、メッセージ処理部15は、該当スイッチの空きエントリ数NBを1だけ増加させる。また例えば、使用エントリ数NAがコストパラメータとして示される場合、メッセージ処理部15は、該当スイッチの使用エントリ数NAを1だけ減少させる。要するに、メッセージ処理部15は、空きエントリ数NBが1増加することに相当する変更を、該当スイッチに関するコストパラメータに加え、それによりエントリ状態情報ENTを更新する。
In the entry status information ENT of this example, the number of empty entries NB and the switch cost SC are shown as cost parameters, but the same applies to other cases. For example, when only the number of free entries NB is indicated as the cost parameter, the
ステップS150:
メッセージ処理部15は、管理ホスト1にエントリ消去を報告するように要求されているか否かを確認する。管理ホスト1がエントリ消去の報告を要求していない場合(ステップS150;No)、処理は終了する。一方、管理ホスト1がエントリ消去の報告を要求している場合(ステップS150;Yes)、処理はステップS160に進む。
Step S150:
The
ステップS160:
スタックドスイッチ9は管理ホスト1からは1つのスイッチとして見える。そのため、スタックドスイッチ9から管理ホスト1へのエントリ消去の通知は、1回だけ行われることが好ましい。そこで、ステップS160において、メッセージ処理部15は、管理ホスト1へエントリ消去を通知するか否かを判定する。本例では、消去されたエントリが「外部入力ポート」に関連している場合にのみ、スタックドスイッチ9から管理ホスト1へエントリ消去通知MEが送られるとする。
Step S160:
The stacked switch 9 appears to the
今、メッセージ処理部15は、図21で示されたエントリ消去通知ME8を受け取っている。そのエントリ消去通知ME8からは、エントリが消去されたスイッチがスイッチ8(DPID=00−00−4c−00−88)であり、消去されたエントリの入力ポートがそのスイッチ8のポートP3であることが分かる。そこで、メッセージ処理部15は、記憶部12に格納されているトポロジ情報TPLを参照し、そのスイッチ8のポートP3が内部接続用ポートか外部接続用ポートかを判定する。具体的には、メッセージ処理部15は、スイッチ8のポートP3がトポロジ情報TPL(図8参照)に記述されているか否かを判定する。
Now, the
図8から明らかなように、スイッチ8のポートP3は、トポロジ情報TPLに記述されていない。従って、メッセージ処理部15は、スイッチ8のポートP3は、内部接続用ポートではなく、外部接続用ポートであると判断する。すなわち、メッセージ処理部15は、エントリ消去通知ME8で示される入力ポートP3は、外部入力ポートであると判断する。その場合、メッセージ処理部15は、管理ホスト1に対してエントリ消去を通知することを決定する(ステップS160;Yes)。
As apparent from FIG. 8, the port P3 of the
ステップS170:
メッセージ処理部15は、エントリ消去通知ME8を、スタックドスイッチ9からエントリが消去されたことを示すエントリ消去通知ME9に書き換える。具体的には、メッセージ処理部15は、エントリ消去通知ME8に含まれるスイッチ8のDPID(00−00−4c−00−88−88)を、スタックドスイッチ9のDPID(00−00−4c−00−99−99)に書き換える。更に、メッセージ処理部15は、記憶部12に格納されているポート情報PORを参照することによって、エントリ消去通知ME8に含まれるスイッチ8の入力ポートP3を、スタックドスイッチ9としての割当ポートAP69(外部入力ポート)に書き換える。尚、エントリ消去通知ME8に含まれるスイッチ8の出力ポートP17(内部接続用ポート)は、管理ホスト1によって認識されていない。従って、メッセージ処理部15は、その出力ポートP17を“特殊なポートP0(ポート不明を示す番号)”に書き換える。図22は、結果として得られるエントリ消去通知ME9を示している。
Step S170:
The
そして、メッセージ処理部15は、図22で示されたエントリ消去通知ME9をホスト通信部14に送る。ホスト通信部14は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ホスト通信部14は、受け取ったエントリ消去通知ME9を管理ホスト1に送信する。
Then, the
ステップS180:
管理ホスト1は、スタックドスイッチ9からエントリ消去通知ME9を受け取る。このエントリ消去通知ME9に応答して、管理ホスト1は、所定の処理を行う。
Step S180:
The
エントリ消去通知MEは、スイッチ8だけでなく、その他のスイッチによっても生成され得る。図23は、スイッチ7によって生成されるエントリ消去通知ME7を示している。また、図24は、スイッチ5によって生成されるエントリ消去通知ME5を示している。それらの形式は、図21で示されたものと同様である。
The entry deletion notification ME can be generated not only by the
スタック管理部10のメッセージ処理部15は、エントリ消去通知ME7、ME5のそれぞれに応答して、エントリ状態情報ENT中のスイッチ7、5に関するコストパラメータを変更し、それによりエントリ状態情報ENTを更新する(ステップS140)。また、ステップS160において、メッセージ処理部15は、管理ホスト1へエントリ消去を通知するか否かを判定する。図23に示されるように、エントリ消去通知ME7で示される入力ポートは、スイッチ7のポートP18である。また、図24に示されるように、エントリ消去通知ME5で示される入力ポートは、スイッチ5のポートP17である。図8から明らかなように、スイッチ7のポートP18とスイッチ5のポートP17は、トポロジ情報TPLに記述されている内部接続用ポートである。この場合、メッセージ処理部15は、管理ホスト1に対してエントリ消去を通知しない(ステップS160;No)。
In response to each of the entry deletion notifications ME7 and ME5, the
上記例では、第2の実施の形態の場合が示されたが、図1で示された第1の実施の形態の場合も同様である。第1の実施の形態の場合、管理ホスト1が、スタックドスイッチ9のスタック管理部10と同様の役割を果たす。但し、スタック管理部10が行った、各種通知や各種命令の書き換えは不要である。
In the above example, the case of the second embodiment is shown, but the same applies to the case of the first embodiment shown in FIG. In the case of the first embodiment, the
3−4.変形例
スイッチコストSCは、空きエントリ数NBが減少するにつれて増加する量であれば何でもよい。上述の通り、スイッチコストSCの例としては、様々考えられる。
(例1)スイッチコストSC=係数C1/空きエントリ数NB
(例2)スイッチコストSC=係数C2/空きエントリ率(=NB/NM)
(例3)スイッチコストSC=係数C3×使用エントリ数NA
(例4)スイッチコストSC=係数C4×使用エントリ率(=NA/NM)
3-4. Modification The switch cost SC may be anything as long as it increases as the number of free entries NB decreases. As described above, various examples of the switch cost SC are conceivable.
(Example 1) Switch cost SC = coefficient C1 / number of empty entries NB
(Example 2) Switch cost SC = coefficient C2 / free entry rate (= NB / NM)
(Example 3) Switch cost SC = coefficient C3 × number of entries used NA
(Example 4) Switch cost SC = coefficient C4 × used entry rate (= NA / NM)
また、エントリ状態情報ENTによって与えられる「コストパラメータ」は、上記スイッチコストSCを算出できるものであれば何でもよい。図9で示された例では、コストパラメータは、空きエントリ数NBとスイッチコストSCであったが、それに限られない。 The “cost parameter” given by the entry status information ENT may be anything as long as it can calculate the switch cost SC. In the example shown in FIG. 9, the cost parameters are the number of free entries NB and the switch cost SC, but are not limited thereto.
図25は、エントリ状態情報ENTの変形例を示している。図25では、エントリ状態情報ENTは、各スイッチの空きエントリ数NBだけを示している。この場合、空きエントリ数NBが変更されても、スイッチコストSCの再計算は行われない。フロー経路決定時に、空きエントリ数NBに基づいて、各スイッチのスイッチコストSCが算出されればよい。 FIG. 25 shows a modification of the entry state information ENT. In FIG. 25, the entry status information ENT indicates only the number of free entries NB of each switch. In this case, even if the number of free entries NB is changed, the switch cost SC is not recalculated. When the flow path is determined, the switch cost SC of each switch may be calculated based on the number of free entries NB.
図26は、エントリ状態情報ENTの他の例を示している。図26では、エントリ状態情報ENTは、各スイッチの閾値エントリ数NM及び使用エントリ数NAを示している。この場合、空きエントリ数NBを1減少(あるいは増加)させる操作は、使用エントリ数NAを1増加(あるいは減少)させる操作で置き換えられる。いずれの操作も、空きエントリ数NBを1減少(あるいは増加)させることに相当することに変わりはない。また、図26の例の場合、閾値エントリ数NMと使用エントリ数NAから空きエントリ数NBを算出し、更に、その空きエントリ数NBを用いてスイッチコストSCを算出することができる。あるいは、使用エントリ数NAを用いることによって、上記(例3)のようなスイッチコストSCを算出することも可能である。あるいは、閾値エントリ数NMを併用することによって、上記(例2)、(例4)のようなスイッチコストSCを算出することもできる。 FIG. 26 shows another example of the entry status information ENT. In FIG. 26, the entry status information ENT indicates the threshold entry number NM and the used entry number NA of each switch. In this case, the operation of decreasing (or increasing) the number of free entries NB by 1 is replaced with the operation of increasing (or decreasing) the number of used entries NA by 1. Either operation is equivalent to reducing (or increasing) the number of free entries NB by one. In the example of FIG. 26, the free entry number NB can be calculated from the threshold entry number NM and the used entry number NA, and the switch cost SC can be calculated using the free entry number NB. Alternatively, it is also possible to calculate the switch cost SC as described above (example 3) by using the used entry number NA. Alternatively, the switch cost SC as in the above (Example 2) and (Example 4) can be calculated by using the threshold entry number NM together.
図27は、エントリ状態情報ENTの更に他の例を示している。図27では、エントリ状態情報ENTは、各スイッチの使用エントリ数NAだけを示している。この場合、使用エントリ数NAが変更されても、スイッチコストSCの再計算は行われない。フロー経路決定時に、使用エントリ数NAに基づいて、各スイッチのスイッチコストSCが算出されればよい。 FIG. 27 shows still another example of the entry status information ENT. In FIG. 27, the entry status information ENT indicates only the used entry number NA of each switch. In this case, even if the used entry number NA is changed, the switch cost SC is not recalculated. When determining the flow path, the switch cost SC of each switch may be calculated based on the number of entries used NA.
図28は、エントリ状態情報ENTの更に他の例を示している。図28では、エントリ状態情報ENTは、各スイッチの使用エントリ数NA及びスイッチコストSCを示している。スイッチコストSCは、SC=0.1×NAで算出されている。この場合、エントリ数NAが変更されると、それに伴ってスイッチコストSCも再計算される。 FIG. 28 shows still another example of the entry status information ENT. In FIG. 28, the entry status information ENT indicates the used entry number NA and the switch cost SC of each switch. The switch cost SC is calculated as SC = 0.1 × NA. In this case, when the entry number NA is changed, the switch cost SC is recalculated accordingly.
尚、上記説明ではOpenflowが例示されたが、本発明はそれに限られない。本発明は、GMPLS(Generalized Multi-Protocol Label Switching)にも適用可能である。その場合、管理ホスト1が、GMPLSスイッチに対して転送テーブルの設定を指示する。また、本発明は、VLAN(Virtual LAN)にも適用可能である。その場合、管理ホスト1は、MIB(Management Information Base)インターフェイスを用いることによって、各スイッチのVLAN設定を操作することができる。
In the above description, Openflow is exemplified, but the present invention is not limited thereto. The present invention is also applicable to GMPLS (Generalized Multi-Protocol Label Switching). In this case, the
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。 The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.
1 管理ホスト
2、3 端末
4 スイッチ
5〜8 スイッチ
9 スタックドスイッチ
10 スタック管理部
11、101 制御部
12、102 記憶部
13 ノード通信部
14 ホスト通信部
15 メッセージ処理部
16 コマンド処理部
40,50,60,70,80 テーブル記憶部
41,51,61,71,81 転送処理部
42,52,62,72,82 転送テーブル
43,53,63,73,83 ホスト通信部
44,54,64,74,84 テーブル設定部
CP パケット送信命令
CT テーブル設定命令
ME エントリ消去通知
MP パケット到着通知
NA 使用エントリ数
NB 空きエントリ数
NM 閾値エントリ数
SC スイッチコスト
POR ポート情報
TPL トポロジ情報
ENT エントリ状態情報
NET 通信ネットワーク
INT−NET 内部ネットワーク
DESCRIPTION OF
Claims (25)
前記複数のスイッチに接続された管理計算機と
を備え、
使用エントリ数は、1つのスイッチに管理されているフローの数であり、
パラメータは、前記使用エントリ数に依存し、
スイッチコストは、前記パラメータに依存し、
前記管理計算機は、
前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
前記通信ネットワークにおける送信元から送信先へのフローを制御する制御部と
を備え、
前記制御部は、前記複数のスイッチのいずれかが新規フローの第1パケットを含むパケットを受信した際に前記管理計算機に向けて送るパケット到着通知に応答して、前記送信元から前記送信先への前記新規フローの経路を決定するフロー経路決定処理を行い、
前記フロー経路決定処理において、前記制御部は、前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出し、更に、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先への前記新規フローの経路として決定し、その後、前記管理計算機は、前記第1パケットを含む前記パケットの送信命令を、前記パケット到着通知の送信元である前記いずれかのスイッチに送り、前記いずれかのスイッチは、前記第1パケットを転送する
通信システム。 A plurality of switches arranged on a communication network;
A management computer connected to the plurality of switches,
The number of entries used is the number of flows managed by one switch.
The parameter depends on the number of entries used,
The switch cost depends on the parameters,
The management computer is
A storage unit storing entry state information indicating the parameter in each of the plurality of switches;
A control unit that controls a flow from a transmission source to a transmission destination in the communication network, and
The control unit responds to a packet arrival notification sent to the management computer when any of the plurality of switches receives a packet including a first packet of a new flow, from the transmission source to the transmission destination. A flow route determination process for determining the route of the new flow of
In the flow route determination process, the control unit calculates the switch cost of each switch belonging to each route candidate from the transmission source to the transmission destination in the communication network by referring to the entry state information, Further, based on the calculated switch cost, one of the route candidates is determined as a route of the new flow from the transmission source to the transmission destination, and then the management computer determines the first packet as A packet transmission command including the packet arrival notification, and the switch forwards the first packet .
閾値エントリ数は、前記使用エントリ数の閾値であり、
空きエントリ数は、前記閾値エントリ数と前記使用エントリ数との差分であり、
前記スイッチコストは、前記空きエントリ数が減少するにつれて増加する量である
通信システム。 The communication system according to claim 1,
The threshold entry number is a threshold value of the used entry number,
The number of free entries is the difference between the threshold entry number and the used entry number,
The switch cost is an amount that increases as the number of empty entries decreases.
前記各経路候補に属するスイッチの前記スイッチコストの総和あるいは積は、総コストであり、
前記制御部は、前記経路候補のうち前記総コストが最小である1つを、前記送信元から前記送信先への前記新規フローの経路として決定する
通信システム。 A communication system according to claim 2,
The sum or product of the switch costs of the switches belonging to each of the route candidates is the total cost,
The control unit determines one of the route candidates having the smallest total cost as a route of the new flow from the transmission source to the transmission destination.
前記各経路候補に属するスイッチの前記スイッチコストのうち最大のものは、最大スイッチコストであり、
前記制御部は、前記経路候補のうち前記最大スイッチコストが最小である1つを、前記送信元から前記送信先への前記新規フローの経路として決定する
通信システム。 A communication system according to claim 2,
Of the switch costs of the switches belonging to each of the route candidates, the largest one is the maximum switch cost,
The control unit determines one of the route candidates having the smallest maximum switch cost as the route of the new flow from the transmission source to the transmission destination.
前記各経路候補に属するスイッチの前記スイッチコストのうち最小のものは、最小スイッチコストであり、
前記制御部は、前記経路候補のうち前記最小スイッチコストが最小である1つを、前記送信元から前記送信先への前記新規フローの経路として決定する
通信システム。 A communication system according to claim 2,
The smallest one of the switch costs of the switches belonging to each of the route candidates is a minimum switch cost,
The control unit determines one of the route candidates having the smallest minimum switch cost as a route of the new flow from the transmission source to the transmission destination.
前記スイッチコストは、前記空きエントリ数の逆数に比例する量である
通信システム。 A communication system according to any one of claims 2 to 5,
The switch cost is an amount proportional to the reciprocal of the number of empty entries.
前記制御部は、前記送信元から前記送信先への前記新規フローの経路を決定した後、前記空きエントリ数が1減少することに相当する変更を、前記決定された経路に属する各スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
通信システム。 The communication system according to any one of claims 2 to 6,
After determining the route of the new flow from the transmission source to the transmission destination, the control unit performs a change corresponding to a decrease in the number of empty entries by 1 for each switch belonging to the determined route. A communication system that updates the entry state information by adding to a parameter.
前記決定された経路に属する第1スイッチは、前記送信元から前記送信先への前記新規フローの通信が所定の期間途絶えた場合、エントリ消去通知を前記管理計算機に送信し、
前記制御部は、前記エントリ消去通知に応答して、前記空きエントリ数が1増加することに相当する変更を前記第1スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
通信システム。 The communication system according to any one of claims 2 to 7,
The first switch belonging to the determined path transmits an entry deletion notification to the management computer when communication of the new flow from the transmission source to the transmission destination is interrupted for a predetermined period,
In response to the entry deletion notification, the control unit updates the entry status information by adding a change corresponding to an increase in the number of empty entries by 1 to the parameter relating to the first switch.
前記記憶部には、更に、前記通信ネットワークの構成を示すトポロジ情報が格納され、
前記制御部は、前記トポロジ情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への前記経路候補を抽出する
通信システム。 A communication system according to any one of claims 1 to 8,
The storage unit further stores topology information indicating a configuration of the communication network,
The control unit extracts the route candidate from the transmission source to the transmission destination in the communication network by referring to the topology information.
前記管理計算機は、前記決定された経路に属する各スイッチに対して、前記送信元から前記送信先への前記新規フローの通信データを前記決定された経路に沿って転送するように指示する
通信システム。 The communication system according to any one of claims 1 to 9,
The management computer instructs each switch belonging to the determined route to transfer communication data of the new flow from the transmission source to the transmission destination along the determined route. .
前記複数のスイッチの各々は、通信データの入力元と転送先との対応関係を示す転送テーブルを有し、前記転送テーブルを参照することによって前記入力元から受け取った通信データを前記転送先に転送し、
前記管理計算機は、前記決定された経路に属する各スイッチに対して、前記送信元から前記送信先への前記新規フローの通信データが前記決定された経路に沿って転送されるように前記転送テーブルの内容を設定するよう指示し、
前記決定された経路に属する各スイッチは、前記管理計算機からの指示に応答して、前記転送テーブルの内容を設定する
通信システム。 The communication system according to claim 10, wherein
Each of the plurality of switches has a transfer table indicating a correspondence relationship between an input source and a transfer destination of communication data, and transfers the communication data received from the input source to the transfer destination by referring to the transfer table And
The management computer, to each switch belonging to the determined path, the transfer table so that communication data of the new flow from the transmission source to the transmission destination is transferred along the determined path To set the content of
Each switch belonging to the determined route sets the contents of the forwarding table in response to an instruction from the management computer.
使用エントリ数は、1つのスイッチに管理されているフローの数であり、
パラメータは、前記使用エントリ数に依存し、
スイッチコストは、前記パラメータに依存し、
前記管理計算機は、
前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
前記通信ネットワークにおける送信元から送信先へのフローを制御する制御部と
を備え、
前記制御部は、前記複数のスイッチのいずれかが新規フローの第1パケットを含むパケットを受信した際に前記管理計算機に向けて送るパケット到着通知に応答して、前記送信元から前記送信先への前記新規フローの経路を決定するフロー経路決定処理を行い、
前記フロー経路決定処理において、前記制御部は、前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出し、更に、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先への前記新規フローの経路として決定し、その後、前記管理計算機は、前記第1パケットを含む前記パケットの送信命令を、前記パケット到着通知の送信元である前記いずれかのスイッチに送り、前記いずれかのスイッチは、前記第1パケットを転送する
管理計算機。 A management computer connected to a plurality of switches arranged on a communication network,
The number of entries used is the number of flows managed by one switch.
The parameter depends on the number of entries used,
The switch cost depends on the parameters,
The management computer is
A storage unit storing entry state information indicating the parameter in each of the plurality of switches;
A control unit that controls a flow from a transmission source to a transmission destination in the communication network, and
The control unit responds to a packet arrival notification sent to the management computer when any of the plurality of switches receives a packet including a first packet of a new flow, from the transmission source to the transmission destination. A flow route determination process for determining the route of the new flow of
In the flow route determination process, the control unit calculates the switch cost of each switch belonging to each route candidate from the transmission source to the transmission destination in the communication network by referring to the entry state information, Further, based on the calculated switch cost, one of the route candidates is determined as a route of the new flow from the transmission source to the transmission destination, and then the management computer determines the first packet as A management computer that sends the packet transmission command to the one of the switches that is the transmission source of the packet arrival notification, and the switch transfers the first packet .
前記外部入力ポートと前記外部出力ポートとの間の内部ネットワーク上に配置された複数のスイッチと、
前記複数のスイッチに接続されたスタック管理部と
を備え、
使用エントリ数は、1つのスイッチに管理されているフローの数であり、
パラメータは、前記使用エントリ数に依存し、
スイッチコストは、前記パラメータに依存し、
前記スタック管理部は、
前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへのフローを制御する制御部と
を備え、
前記制御部は、前記複数のスイッチのいずれかが新規フローの第1パケットを含むパケットを受信した際に前記スタック管理部に向けて送るパケット到着通知に応答して、前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路を決定するフロー経路決定処理を行い、
前記フロー経路決定処理において、前記制御部は、前記エントリ状態情報を参照することによって、前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへの各経路候補に属する各スイッチの前記スイッチコストを算出し、更に、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路として決定し、その後、前記スタック管理部は、前記第1パケットを含む前記パケットの送信命令を、前記パケット到着通知の送信元である前記いずれかのスイッチに送り、前記いずれかのスイッチは、前記第1パケットを転送する
スタックドスイッチ。 An external input port and an external output port connected to an external network;
A plurality of switches arranged on an internal network between the external input port and the external output port;
A stack management unit connected to the plurality of switches,
The number of entries used is the number of flows managed by one switch.
The parameter depends on the number of entries used,
The switch cost depends on the parameters,
The stack management unit
A storage unit storing entry state information indicating the parameter in each of the plurality of switches;
A control unit for controlling a flow from the external input port to the external output port in the internal network,
The control unit responds to a packet arrival notification sent to the stack management unit when any one of the plurality of switches receives a packet including a first packet of a new flow, from the external input port to the external Perform a flow route determination process to determine the route of the new flow to the output port,
In the flow route determination process, the control unit calculates the switch cost of each switch belonging to each route candidate from the external input port to the external output port in the internal network by referring to the entry state information. Further, based on the calculated switch cost, one of the path candidates is determined as a path of the new flow from the external input port to the external output port, and then the stack management unit A stacked switch that sends a transmission command of the packet including the first packet to any one of the switches that is a transmission source of the packet arrival notification, and the any one of the switches transfers the first packet .
閾値エントリ数は、前記使用エントリ数の閾値であり、
空きエントリ数は、前記閾値エントリ数と前記使用エントリ数との差分であり、
前記スイッチコストは、前記空きエントリ数が減少するにつれて増加する量である
スタックドスイッチ。 The stacked switch according to claim 13, wherein
The threshold entry number is a threshold value of the used entry number,
The number of free entries is the difference between the threshold entry number and the used entry number,
The switch cost is an amount that increases as the number of empty entries decreases. Stacked switch.
前記各経路候補に属するスイッチの前記スイッチコストの総和あるいは積は、総コストであり、
前記制御部は、前記経路候補のうち前記総コストが最小である1つを、前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路として決定する
スタックドスイッチ。 The stacked switch according to claim 14, wherein
The sum or product of the switch costs of the switches belonging to each of the route candidates is the total cost,
The control unit determines one of the route candidates having the smallest total cost as a route of the new flow from the external input port to the external output port. Stacked switch.
前記各経路候補に属するスイッチの前記スイッチコストのうち最大のものは、最大スイッチコストであり、
前記制御部は、前記経路候補のうち前記最大スイッチコストが最小である1つを、前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路として決定する
スタックドスイッチ。 The stacked switch according to claim 14, wherein
Of the switch costs of the switches belonging to each of the route candidates, the largest one is the maximum switch cost,
The control unit determines one of the route candidates having the smallest maximum switch cost as a route of the new flow from the external input port to the external output port. Stacked switch.
前記各経路候補に属するスイッチの前記スイッチコストのうち最小のものは、最小スイッチコストであり、
前記制御部は、前記経路候補のうち前記最小スイッチコストが最小である1つを、前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路として決定する
スタックドスイッチ。 The stacked switch according to claim 14, wherein
The smallest one of the switch costs of the switches belonging to each of the route candidates is a minimum switch cost,
The control unit determines one of the route candidates having the smallest minimum switch cost as a route of the new flow from the external input port to the external output port. Stacked switch.
前記スイッチコストは、前記空きエントリ数の逆数に比例する量である
スタックドスイッチ。 A stacked switch according to any one of claims 14 to 17, comprising:
The switch cost is an amount proportional to the reciprocal of the number of empty entries. Stacked switch.
前記制御部は、前記外部入力ポートから前記外部出力ポートへの前記新規フローの経路を決定した後、前記空きエントリ数が1減少することに相当する変更を、前記決定された経路に属する各スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
スタックドスイッチ。 A stacked switch according to any one of claims 14 to 18, comprising:
After the controller determines the path of the new flow from the external input port to the external output port, a change corresponding to a decrease in the number of empty entries by 1 is made for each switch belonging to the determined path. Updating the entry state information by adding to the parameter with respect to the stacked switch.
前記決定された経路に属する第1スイッチは、前記外部入力ポートから前記外部出力ポートへの前記新規フローの通信が所定の期間途絶えた場合、エントリ消去通知を前記スタック管理部に送信し、
前記制御部は、前記エントリ消去通知に応答して、前記空きエントリ数が1増加することに相当する変更を前記第1スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
スタックドスイッチ。 A stacked switch according to any one of claims 14 to 19, comprising:
The first switch belonging to the determined path, when communication of the new flow from the external input port to the external output port is interrupted for a predetermined period, transmits an entry erase notification to the stack management unit,
In response to the entry deletion notification, the control unit updates the entry status information by adding a change corresponding to the increase in the number of empty entries to the parameter relating to the first switch. Stacked switch .
前記記憶部には、更に、前記内部ネットワークの構成を示すトポロジ情報が格納され、
前記制御部は、前記トポロジ情報を参照することによって、前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへの前記経路候補を抽出する
スタックドスイッチ。 A stacked switch according to any one of claims 13 to 20, comprising:
The storage unit further stores topology information indicating a configuration of the internal network,
The control unit extracts the route candidate from the external input port to the external output port in the internal network by referring to the topology information. Stacked switch.
前記制御部は、前記決定された経路に属する各スイッチに対して、前記外部入力ポートから前記外部出力ポートへの前記新規フローの通信データを前記決定された経路に沿って転送するように指示する
スタックドスイッチ。 The stacked switch according to any one of claims 13 to 21,
The control unit instructs each switch belonging to the determined path to transfer the communication data of the new flow from the external input port to the external output port along the determined path. Stacked switch.
前記複数のスイッチの各々は、通信データの入力元と転送先との対応関係を示す転送テーブルを有し、前記転送テーブルを参照することによって前記入力元から受け取った通信データを前記転送先に転送し、
前記制御部は、前記決定された経路に属する各スイッチに対して、前記外部入力ポートから前記外部出力ポートへの前記新規フローの通信データが前記決定された経路に沿って転送されるように前記転送テーブルの内容を設定するよう指示し、
前記決定された経路に属する各スイッチは、前記制御部からの指示に応答して、前記転送テーブルの内容を設定する
スタックドスイッチ。 A stacked switch according to claim 22, wherein
Each of the plurality of switches has a transfer table indicating a correspondence relationship between an input source and a transfer destination of communication data, and transfers the communication data received from the input source to the transfer destination by referring to the transfer table And
The control unit is configured so that communication data of the new flow from the external input port to the external output port is transferred along the determined path to each switch belonging to the determined path. Instructed to set the contents of the forwarding table,
Each switch belonging to the determined route sets the contents of the forwarding table in response to an instruction from the control unit. Stacked switch.
使用エントリ数は、1つのスイッチに管理されているフローの数であり、
パラメータは、前記使用エントリ数に依存し、
スイッチコストは、前記パラメータに依存し、
前記フロー経路決定方法は、前記複数のスイッチのいずれかが新規フローの第1パケットを含むパケットを受信した際に管理計算機またはスタック管理部に向けて送るパケット到着通知に応答して、前記送信元から前記送信先への前記新規フローの経路を決定するステップを含み、
前記送信元から前記送信先への前記新規フローの経路を決定するステップは、
前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、
前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出するステップと、
前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先への前記新規フローの経路として決定するステップと、
前記第1パケットを含む前記パケットの送信命令を、前記パケット到着通知の送信元である前記いずれかのスイッチに送るステップと、
前記いずれかのスイッチが、前記第1パケットを転送するステップと
を含む
フロー経路決定方法。 A flow path determination method for determining a flow path from a transmission source to a transmission destination in a communication network in which a plurality of switches are arranged,
The number of entries used is the number of flows managed by one switch.
The parameter depends on the number of entries used,
The switch cost depends on the parameters,
In response to a packet arrival notification sent to a management computer or a stack management unit when any of the plurality of switches receives a packet including a first packet of a new flow, Determining the route of the new flow from the destination to the destination;
Determining the path of the new flow from the source to the destination,
Reading entry status information indicating the parameter in each of the plurality of switches from a storage device;
Calculating the switch cost of each switch belonging to each path candidate from the transmission source to the transmission destination in the communication network by referring to the entry status information;
Determining one of the path candidates as the path of the new flow from the source to the destination based on the calculated switch cost ;
Sending a packet transmission instruction including the first packet to any one of the switches that is a transmission source of the packet arrival notification;
A flow path determination method including: a step in which any one of the switches forwards the first packet .
使用エントリ数は、1つのスイッチに管理されているフローの数であり、
パラメータは、前記使用エントリ数に依存し、
スイッチコストは、前記パラメータに依存し、
前記フロー経路決定処理は、前記複数のスイッチのいずれかが新規フローの第1パケットを含むパケットを受信した際に管理計算機またはスタック管理部に向けて送るパケット到着通知に応答して、前記送信元から前記送信先への前記新規フローの経路を決定するステップを含み、
前記送信元から前記送信先への前記新規フローの経路を決定するステップは、
前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、
前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出するステップと、
前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先への前記新規フローの経路として決定するステップと、
前記第1パケットを含む前記パケットの送信命令を、前記パケット到着通知の送信元である前記いずれかのスイッチに送るステップと、
前記いずれかのスイッチが、前記第1パケットを転送するステップと
を含む
フロー経路決定プログラム。 A flow path determination program for causing a computer to execute a flow path determination process for determining a flow path from a transmission source to a transmission destination in a communication network in which a plurality of switches are arranged,
The number of entries used is the number of flows managed by one switch.
The parameter depends on the number of entries used,
The switch cost depends on the parameters,
In response to a packet arrival notification sent to a management computer or a stack management unit when any of the plurality of switches receives a packet including a first packet of a new flow, the flow path determination process Determining the route of the new flow from the destination to the destination;
Determining the path of the new flow from the source to the destination,
Reading entry status information indicating the parameter in each of the plurality of switches from a storage device;
Calculating the switch cost of each switch belonging to each path candidate from the transmission source to the transmission destination in the communication network by referring to the entry status information;
Determining one of the path candidates as the path of the new flow from the source to the destination based on the calculated switch cost ;
Sending a packet transmission instruction including the first packet to any one of the switches that is a transmission source of the packet arrival notification;
A flow path determination program comprising the step of any one of the switches transferring the first packet .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009000936A JP5483149B2 (en) | 2009-01-06 | 2009-01-06 | Communication system, management computer, stacked switch, flow path determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009000936A JP5483149B2 (en) | 2009-01-06 | 2009-01-06 | Communication system, management computer, stacked switch, flow path determination method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010161473A JP2010161473A (en) | 2010-07-22 |
JP5483149B2 true JP5483149B2 (en) | 2014-05-07 |
Family
ID=42578334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009000936A Expired - Fee Related JP5483149B2 (en) | 2009-01-06 | 2009-01-06 | Communication system, management computer, stacked switch, flow path determination method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5483149B2 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5438624B2 (en) * | 2010-08-03 | 2014-03-12 | 日本電信電話株式会社 | Communication system, control server, flow control method and program thereof |
JP5870995B2 (en) * | 2010-08-09 | 2016-03-01 | 日本電気株式会社 | COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM |
CN103069756A (en) | 2010-08-20 | 2013-04-24 | 日本电气株式会社 | Communication system, controller, node controlling method and program |
CN102959908B (en) | 2010-11-22 | 2016-04-20 | 日本电气株式会社 | For the communication system of the forward-path of control packet stream, communication equipment, controller and method and program |
JP5668503B2 (en) * | 2011-02-01 | 2015-02-12 | 日本電気株式会社 | Hazardous site filtering system and filtering method |
US9083657B2 (en) * | 2011-02-17 | 2015-07-14 | Nec Corporation | Flow communication system |
JP5881138B2 (en) * | 2011-02-23 | 2016-03-09 | Necエンジニアリング株式会社 | Call switching system and method, call switching device and program thereof |
WO2012121098A1 (en) * | 2011-03-04 | 2012-09-13 | 日本電気株式会社 | Network system, packet processing method, and storage medium |
US20140098674A1 (en) * | 2011-06-06 | 2014-04-10 | Nec Corporation | Communication system, control device, and processing rule setting method and program |
WO2013063332A1 (en) * | 2011-10-25 | 2013-05-02 | Nicira, Inc. | Network virtualization apparatus and method with scheduling capabilities |
US9178833B2 (en) | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
EP2819356A4 (en) * | 2012-02-20 | 2015-09-30 | Nec Corp | Network system, and method for improving resource usage |
WO2013133303A1 (en) | 2012-03-08 | 2013-09-12 | 日本電気株式会社 | Network system, controller, and load distribution method |
WO2013133400A1 (en) | 2012-03-09 | 2013-09-12 | 日本電気株式会社 | Controller, communication system, switch control method and program |
CN104365068B (en) | 2012-05-31 | 2017-08-04 | 日本电气株式会社 | Control device, communication system, Switch control method and non-transient computer-readable storage media |
JP6127900B2 (en) | 2013-10-18 | 2017-05-17 | 富士通株式会社 | Packet processing apparatus, packet processing method, and packet processing program |
US11113085B2 (en) | 2015-09-30 | 2021-09-07 | Nicira, Inc. | Virtual network abstraction |
CN114246103A (en) * | 2021-12-13 | 2022-03-29 | 李平 | Supplementary remove device of cement column for agriculture and forestry economy |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004080637A (en) * | 2002-08-21 | 2004-03-11 | Nec Corp | Path routing setting system |
JP2007181049A (en) * | 2005-12-28 | 2007-07-12 | Hitachi Cable Ltd | Switching hub |
JP4648838B2 (en) * | 2006-01-16 | 2011-03-09 | 三菱電機株式会社 | Network monitoring support apparatus, network monitoring support method, and network monitoring support program |
JP4357537B2 (en) * | 2007-02-26 | 2009-11-04 | 富士通株式会社 | Distribution route control device |
JP4757233B2 (en) * | 2007-06-13 | 2011-08-24 | 日本電信電話株式会社 | Route calculation method, apparatus and program |
-
2009
- 2009-01-06 JP JP2009000936A patent/JP5483149B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010161473A (en) | 2010-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5483149B2 (en) | Communication system, management computer, stacked switch, flow path determination method | |
JP6418261B2 (en) | COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP6137384B2 (en) | Communication system, forwarding node, route management server, and communication method | |
JP5304947B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM | |
US9900249B2 (en) | Communication system, forwarding node, path management server, communication method, and program | |
JP5423787B2 (en) | Route setting server, route setting method, and route setting program | |
JP5743906B2 (en) | Communication control system | |
JP5800019B2 (en) | Communication path control system, path control device, communication path control method, and path control program | |
US20120170477A1 (en) | Computer, communication system, network connection switching method, and program | |
JP2015507377A (en) | Communication system, controller, communication method and program | |
US20150256407A1 (en) | Control apparatus, control method thereof, and program | |
JP5747997B2 (en) | Control device, communication system, virtual network management method and program | |
WO2014104278A1 (en) | Control device, control device control method, and program | |
WO2014123194A1 (en) | Communication system, control apparatus, communication control method and program | |
JP6314970B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP6344005B2 (en) | Control device, communication system, communication method, and program | |
JP2017204785A (en) | Communication device, communication system, and packet transfer method of communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130328 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131105 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20131113 |
|
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: 20140124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5483149 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |