JP2010161473A - 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法 - Google Patents

通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法 Download PDF

Info

Publication number
JP2010161473A
JP2010161473A JP2009000936A JP2009000936A JP2010161473A JP 2010161473 A JP2010161473 A JP 2010161473A JP 2009000936 A JP2009000936 A JP 2009000936A JP 2009000936 A JP2009000936 A JP 2009000936A JP 2010161473 A JP2010161473 A JP 2010161473A
Authority
JP
Japan
Prior art keywords
switch
entry
cost
switches
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009000936A
Other languages
English (en)
Other versions
JP5483149B2 (ja
Inventor
Atsushi Enomoto
敦之 榎本
Hideya Ochiai
秀也 落合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009000936A priority Critical patent/JP5483149B2/ja
Publication of JP2010161473A publication Critical patent/JP2010161473A/ja
Application granted granted Critical
Publication of JP5483149B2 publication Critical patent/JP5483149B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制すること。
【解決手段】通信システムは、通信ネットワーク上に配置された複数のスイッチと、それら複数のスイッチに接続された管理計算機とを備える。使用エントリ数は、1つのスイッチに管理されているフローの数である。パラメータは、使用エントリ数に依存する量であり、スイッチコストは、そのパラメータに依存する量である。管理計算機は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、通信ネットワークにおける送信元から送信先へのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定する。
【選択図】図1

Description

本発明は、通信システムやスタックドスイッチにおけるフロー経路を決定するための技術に関する。
複数のスイッチ(ノード)を含む通信ネットワークを通してフロー通信を行う通信システムが知られている。そのような通信システムにおいては、システム性能の観点から適切なフロー経路を決定することが重要である。
また、内部に複数のスイッチを有するが、外部からは1台の大きなスイッチとして見える「スタックドスイッチ(Stacked Switch)」が知られている(例えば特許文献1参照)。スタックドスイッチの内部では、それら複数のスイッチにより内部ネットワークが構成される。このようなスタックドスイッチの場合も、内部ネットワークにおいて適切なフロー経路を決定することが重要である。
特許文献2には、代表的なルーティングプロトコルである「OSPF(Open Shortest Path First)」が記載されている。OSPFでは、ダイクストラ法と呼ばれる最短経路探索アルゴリズムを用いることによりルーティングテーブルが作成される。ダイクストラ法は、ある始点ノードから他の全てのノードまでの最短経路を求めるアルゴリズムである。
特許文献3には、通信状態を統計的に分析して、帯域が空いているところにトラフィックを通す「TE(Traffic Engineering)」が開示されている。非特許文献1には、中継ノードをランダムに選択し、帯域を負荷分散する「VLB(Valiant Load Balancing)」が開示されている。
特開2006−042368号公報 特開2007−306442号公報 特開2007−129782号公報
Designing a Predictable Backbone Network with Valiant Load Balancing(http://www.cisco.com/web/about/ac50/ac207/proceedings/NGA−MCKEOWN.ppt)
通信ネットワークでは、多数のフローの通信が同時に行われる。この時、通信ネットワーク上のある1つのスイッチは、複数のフロー(パス)を管理することとなる。1つのスイッチが管理しているフロー(パス)の数は、以下「使用エントリ数」と参照される。また、あるスイッチにおいて使用エントリ数が所定の閾値(閾値エントリ数)を超える現象は、「エントリあふれ」と参照される。あるスイッチにおいてエントリあふれが発生すると、当該スイッチのスループットが極端に低下してしまう。従って、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することが重要である。
しかしながら、上述の関連技術では、経路選択に際して、通信ネットワーク上の各スイッチの使用エントリ数は考慮されていなかった。上述の関連技術では、リンクコストや帯域に基づいて経路が決定されるため、あるスイッチにフローが集中する恐れがある。その場合、当該スイッチでエントリあふれが発生する。
本発明の1つの目的は、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することができる技術を提供することにある。
フロー通信が行われるネットワーク上の各スイッチに関して、次の量が定義される。使用エントリ数は、1つのスイッチに管理されているフロー(パス)の数である。パラメータは、使用エントリ数に依存する量であり、スイッチコストは、そのパラメータに依存する量である。
本発明の第1の観点において、通信システムが提供される。その通信システムは、通信ネットワーク上に配置された複数のスイッチと、それら複数のスイッチに接続された管理計算機とを備える。管理計算機は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、通信ネットワークにおける送信元から送信先へのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定する。
本発明の第2の観点において、通信ネットワーク上に配置された複数のスイッチに接続された管理計算機が提供される。その管理計算機は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、通信ネットワークにおける送信元から送信先へのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定する。
本発明の第3の観点において、スタックドスイッチが提供される。そのスタックドスイッチは、外部ネットワークに接続された外部入力ポート及び外部出力ポートと、外部入力ポートと外部出力ポートとの間の内部ネットワーク上に配置された複数のスイッチと、複数のスイッチに接続されたスタック管理部と、を備える。スタック管理部は、記憶部と制御部とを備える。記憶部には、複数のスイッチの各々における上記パラメータを示すエントリ状態情報が格納される。制御部は、内部ネットワークにおける外部入力ポートから外部出力ポートへのフローを制御する。具体的には、制御部は、エントリ状態情報を参照することによって、内部ネットワークにおける外部入力ポートから外部出力ポートへの各経路候補に属する各スイッチのスイッチコストを算出する。そして、制御部は、算出されたスイッチコストに基づいて、経路候補のうち1つを外部入力ポートから外部出力ポートへのフローの経路として決定する。
本発明の第4の観点において、複数のスイッチが配置された通信ネットワークにおける送信元から送信先へのフローの経路を決定するフロー経路決定方法が提供される。そのフロー経路決定方法は、(A)複数のスイッチの各々における上記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、(B)エントリ状態情報を参照することによって、通信ネットワークにおける送信元から送信先への各経路候補に属する各スイッチのスイッチコストを算出するステップと、(C)算出されたスイッチコストに基づいて、経路候補のうち1つを送信元から送信先へのフローの経路として決定するステップと、を含む。
本発明の第5の観点において、スタックドスイッチ内の内部ネットワークにおけるフローの経路を決定するフロー経路決定方法が提供される。スタックドスイッチは、内部ネットワーク上に配置された複数のスイッチと、外部ネットワークに接続された外部入力ポート及び外部出力ポートと、を備える。フロー経路決定方法は、(a)複数のスイッチの各々における上記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、(b)エントリ状態情報を参照することによって、内部ネットワークにおける外部入力ポートから外部出力ポートへの各経路候補に属する各スイッチのスイッチコストを算出するステップと、(c)算出されたスイッチコストに基づいて、経路候補のうち1つを外部入力ポートから外部出力ポートへのフローの経路として決定するステップと、を含む。
本発明の第6の観点において、上記フロー経路決定方法をコンピュータに実行させるフロー経路決定プログラムが提供される。
本発明によれば、通信ネットワーク上のスイッチにおけるエントリあふれの発生を抑制することが可能となる。
図1は、本発明の実施の形態に係る通信システムの一例を概略的に示すブロック図である。 図2は、本発明の実施の形態に係る通信システムの他の例を概略的に示すブロック図である。 図3は、本発明の実施の形態に係るスタックドスイッチを概略的に示すブロック図である。 図4は、本発明の実施の形態に係るスイッチの構成例を示すブロック図である。 図5は、本発明の実施の形態に係る転送テーブルの一例を示す概念図である。 図6は、本発明の実施の形態に係るスタックドスイッチの構成例を示すブロック図である。 図7は、本発明の実施の形態に係るポート情報の一例を示している。 図8は、本発明の実施の形態に係るトポロジ情報の一例を示している。 図9は、本発明の実施の形態に係るエントリ状態情報の一例を示している。 図10は、本発明の実施の形態に係る通信システムの動作例を示すフローチャートである。 図11は、パケットの一例を示している。 図12Aは、スタック管理部10に対するパケット到着通知を示している。 図12Bは、管理ホスト1に対するパケット到着通知を示している。 図13Aは、スイッチ4に対するテーブル設定命令を示している。 図13Bは、スタックドスイッチ9に対するテーブル設定命令を示している。 図14は、スイッチ4の転送テーブル42の設定例を示している。 図15は、本発明の実施の形態に係るスタックドスイッチ9における処理を示すフローチャートである。 図16は、更新後のエントリ状態情報を示している。 図17Aは、スイッチ5に対するテーブル設定命令を示している。 図17Bは、スイッチ7に対するテーブル設定命令を示している。 図17Cは、スイッチ8に対するテーブル設定命令を示している。 図18Aは、スイッチ5の転送テーブル52の設定例を示している。 図18Bは、スイッチ7の転送テーブル72の設定例を示している。 図18Cは、スイッチ8の転送テーブル82の設定例を示している。 図19Aは、スタックドスイッチ9に対するパケット送信命令を示している。 図19Bは、スイッチ5に対するパケット送信命令を示している。 図20は、本発明の実施の形態に係る通信システムのエントリ消去動作を示すフローチャートである。 図21は、スタック管理部10に対するエントリ消去通知を示している。 図22は、管理ホスト1に対するエントリ消去通知を示している。 図23は、スタック管理部10に対するエントリ消去通知の他の例を示している。 図24は、スタック管理部10に対するエントリ消去通知の更に他の例を示している。 図25は、エントリ状態情報の変形例を示している。 図26は、エントリ状態情報の他の変形例を示している。 図27は、エントリ状態情報の更に他の変形例を示している。 図28は、エントリ状態情報の更に他の変形例を示している。
添付図面を参照して、本発明の実施の形態を説明する。
1.第1の実施の形態
図1は、本発明の第1の実施の形態に係る通信システムの一例を概略的に示している。図1に示される通信システムは、管理ホスト1、端末2、3、及び複数のスイッチ5〜8を備えており、それらによって通信ネットワークNETが構成されている。端末2、3は、パソコン、サーバ、ワークステーション等の通信端末である。
図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が構成されている。
通信ネットワークNETでは、フロー通信が行われる。通信ネットワークNET上に配置されているスイッチ5〜8は、フローの通信データを処理する。具体的には、各スイッチは、他のスイッチあるいは端末から受け取ったフローの通信データを、更に他のスイッチあるいは端末に転送する機能を有する。ある1つのスイッチには、複数のフローの処理が割り当てられ得る。
ここで、通信ネットワークNET上の各スイッチに関して、「使用エントリ数NA」、「閾値エントリ数NM」、及び「空きエントリ数NB」が定義され得る。使用エントリ数NAとは、ある1つのスイッチに管理(管轄)されているフローの数であり、当該スイッチに現在割り当てられているフローの数である。閾値エントリ数NMは、ある1つのスイッチにおける使用エントリ数NAに関する所定の閾値である。各スイッチの閾値エントリ数NMは、任意に設定可能であるが、典型的には当該スイッチにおいて“エントリあふれ”が発生しない上限の使用エントリ数NAに設定される。そのような使用エントリ数NAの上限は、当該スイッチのメモリ容量に依存する。空きエントリ数NBは、閾値エントリ数NMと使用エントリ数NAとの差分であり、式:NB=NM−NAで与えられる。あるスイッチに関して、使用エントリ数NAはエントリ消費量を表し、空きエントリ数NBはエントリ残量を表すと言える。すなわち、使用エントリ数NAや空きエントリ数NBは、スイッチにおけるエントリ状態を表している。
また、通信ネットワークNET上の各スイッチに関して、「スイッチコストSC」が定義される。ある1つのスイッチのスイッチコストSCは、使用エントリ数NAや空きエントリ数NBに依存する量である。具体的には、スイッチコストSCは、当該スイッチにおける空きエントリ数NBが減少するにつれて増加する。言い換えれば、スイッチコストSCは、当該スイッチにおける使用エントリ数NAが増加するにつれて増加する。スイッチコストSCとしては、以下に示されるような様々な例が考えられる。
(例1)スイッチコストSC=係数C1/空きエントリ数NB
(例2)スイッチコストSC=係数C2/空きエントリ率(=NB/NM)
(例3)スイッチコストSC=係数C3×使用エントリ数NA
(例4)スイッチコストSC=係数C4×使用エントリ率(=NA/NM)
例1と例2の場合、スイッチコストSCは、空きエントリ数NBの逆数に比例する量であると言える。例3と例4の場合、スイッチコストSCは、使用エントリ数NAに比例する量であると言える。但し、使用エントリ数NAと空きエントリ数NBとは、一方が増えれば他方が減るという密接な関係を有している。従って、例1〜例4のいずれが用いられる場合であっても、スイッチコストSCの意味は同じである。また、スイッチコストSCは、上記例1〜例4に限られず、空きエントリ数NBが減少するにつれて(使用エントリ数NAが増加するにつれて)増加する量であれば何でもよい。
管理ホスト1(管理計算機、制御計算機)は、通信ネットワークNET上に配置されている複数のスイッチ5〜8と接続されており、それぞれのスイッチ5〜8と双方向通信が可能である。この管理ホスト1は、スイッチ5〜8の動作を制御することによって、通信ネットワークNETにおけるフロー通信を制御する。
より詳細には、図1に示されるように、管理ホスト1は、制御部101と記憶部102を備えている。制御部101は、通信ネットワークNETにおけるフロー通信を制御する機能を有し、演算処理装置がコンピュータプログラムを実行することにより実現される。そのコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。記憶部102は、RAM(Random Access Memory)等の記憶装置である。記憶部102には、トポロジ情報TPL及びエントリ状態情報ENTが格納される。
トポロジ情報TPLは、通信ネットワークNETに関する上述の構成を示す。つまり、トポロジ情報TPLは、通信ネットワークNETにおけるスイッチや端末間の接続状況を示す。
エントリ状態情報ENTは、スイッチ5〜8の各々の「コストパラメータ」を示す。コストパラメータとは、上述のスイッチコストSCを算出するために用いられるパラメータであり、各スイッチにおけるエントリ状態(空きエントリ数NB、使用エントリ数NA)に関連している。スイッチコストSCを算出できるものであれば、コストパラメータは何であってもよい。例えば、コストパラメータは空きエントリ数NBである。コストパラメータは、使用エントリ数NA、空きエントリ率、あるいは、使用エントリ率であってもよい。更にあるいは、コストパラメータはスイッチコストSCそのものであってもよい。いずれの場合であっても、コストパラメータは、空きエントリ数NB(すなわち、使用エントリ数NA)に関連していると言える。
本実施の形態に係る管理ホスト1は、通信ネットワークNETにおいてあるフロー通信が要求された際、当該フローの通信ネットワークNETにおける経路を決定する。この時、管理ホスト1は、通信ネットワークNET上の各スイッチのエントリ状態を考慮し、“エントリあふれ”の発生が抑制されるようにフロー経路を決定する。例として、端末3(送信端末、送信元)から端末2(受信端末、送信先)へのフローを考える。この場合、管理ホスト1は、通信ネットワークNETにおける送信端末3から受信端末2へのフロー経路を決定する。
トポロジ情報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に与えられていてもよい。
続いて、制御部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が算出される。
次に、制御部101は、各経路候補に関して算出されたスイッチコストSCに基づいて、経路候補のうち1つを、通信ネットワークNETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど(使用エントリ数NAが少ないほど)、小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、制御部101は、算出されたスイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。そのようなフロー経路の決定アルゴリズムとしては、様々考えられる。
(第1のアルゴリズム)
例えば、制御部101は、経路候補毎に、スイッチコストSCの総和あるいは積を算出する。すなわち、制御部101は、各経路候補に属するスイッチのそれぞれのスイッチコストSCの総和あるいは積を算出する。第1の経路候補に関しては、スイッチ8、6、5のそれぞれのスイッチコストSCの総和あるいは積が算出される。一方、第2の経路候補に関しては、スイッチ8、7、5のそれぞれのスイッチコストSCの総和あるいは積が算出される。算出された総和あるいは積は、以下「総コスト」と参照される。総コストが比較的小さい経路は、空きエントリ数NBが比較的多い経路に相当すると考えられる。従って、制御部101は、経路候補のうち総コストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
(第2のアルゴリズム)
あるいは、制御部101は、各経路候補に属するスイッチのうち、最大のスイッチコストSCを有する1つのスイッチ(クリティカルスイッチ)を抽出してもよい。例えば、第1の経路候補ではスイッチ6がクリティカルスイッチであり、第2の経路候補ではスイッチ7がクリティカルスイッチであるとする。その場合、スイッチ6は、第1の経路候補に属するスイッチのうち最大のスイッチコストSCを有し、スイッチ7は、第2の経路候補に属するスイッチのうち最大のスイッチコストSCを有する。次に、制御部101は、それぞれの経路候補のクリティカルスイッチのスイッチコストSC(最大スイッチコスト)同士の比較を行う。最大スイッチコストが比較的大きい経路候補は、他の経路候補と比べて空きエントリ数NBが比較的少ないスイッチを含んでおり、そのスイッチにおいてエントリあふれが発生しやすいと考えられる。従って、制御部101は、経路候補のうち最大スイッチコストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
(第3のアルゴリズム)
あるいは、制御部101は、各経路候補に属するスイッチのうち、最小のスイッチコストSCを有する1つのスイッチを抽出してもよい。抽出されたスイッチのスイッチコストSCは、最小スイッチコストである。そして、制御部101は、それぞれの経路候補の最小スイッチコスト同士の比較を行う。最小スイッチコストが比較的大きい経路候補は、他の経路候補と比べて空きエントリ数NBが比較的少ないスイッチを含んでおり、そのスイッチにおいてエントリあふれが発生しやすいと考えられる。従って、制御部101は、経路候補のうち最小スイッチコストが最小である1つを、当該フローの経路として決定する。その結果、エントリあふれの発生が抑制される。
以上に説明されたように、本実施の形態によれば、管理ホスト1は、フロー経路の決定に際して、通信ネットワークNET上の各スイッチのエントリ状態を考慮する。そして、管理ホスト1は、空きエントリ数NBが極端に少なくなるスイッチの発生をなるべく回避するように、フロー経路を決定する。これは、通信ネットワークNET上の各スイッチにおけるエントリ消費を平滑化することに相当する。結果として、通信ネットワークNET上のスイッチにおけるエントリあふれの発生が抑制される。それにより、通信ネットワークNET上のあるスイッチのスループットが大幅に劣化することが防止される。また、本実施の形態によれば、エントリあふれの発生が抑制されるため、通信システム全体としてより多くのフロー(パス)を収容することが可能となる。
2.第2の実施の形態
本発明は、スタックドスイッチ内部におけるフロー経路の決定にも適用することが可能である。以下、図2を参照して、本発明の第2の実施の形態を説明する。尚、第1の実施の形態と重複する説明は、適宜省略される。
図2は、スタックドスイッチを含む通信システムを概略的に示している。図2に示される通信システムは、管理ホスト1、端末2、3、スイッチ4、及びスタックドスイッチ9を備えており、それらによって通信ネットワークNETが構成されている。管理ホスト1(管理計算機、制御計算機)は、通信ネットワークNET上に配置されているスイッチ4及びスタックドスイッチ9と接続されており、それぞれのスイッチと双方向通信が可能である。この管理ホスト1の機能は、第1の実施の形態と同様である。すなわち、管理ホスト1は、スイッチ4及びスタックドスイッチ9の動作を制御することによって、通信ネットワークNETにおけるフロー通信を制御する。
スタックドスイッチ9は、内部に複数のスイッチを有するが、管理ホスト1からは1つの大きなスイッチとして見える。つまり、管理ホスト1は、2以上のスイッチを仮想的に1つのスタックドスイッチ9として扱う。図2の例では、スタックドスイッチ9は、内部に4個のスイッチ5〜8を有している。スイッチ5〜8の各々が22個のポートP1〜P22を有している場合、管理ホスト1からは、スタックドスイッチ9は88個のポートAP1〜AP88を有する1つの大きなスイッチに見える。
図2の例において、端末2は、スイッチ4のポートP2と接続されており、スイッチ4と双方向通信可能である。端末3は、スタックドスイッチ9のポートAP69と接続されており、スタックドスイッチ9と双方向通信可能である。スイッチ4のポートP9とスタックドスイッチ9のポートAP4とは互いに接続されており、スイッチ4とスタックドスイッチ9とは双方向に通信可能である。尚、第1の実施の形態と同様に、スイッチ4〜8の各々に関して、「使用エントリ数NA」、「閾値エントリ数NM」、「空きエントリ数NB」、及び「スイッチコストSC」が定義される。
図3は、本実施の形態に係るスタックドスイッチ9の内部構成例を示している。図3に示されるように、スタックドスイッチ9は、複数のスイッチ(内部スイッチ)5〜8及びスタック管理部10を備えており、それらによって内部ネットワークINT−NETが構成されている。内部ネットワークINT−NETは、スタックドスイッチ9内部の通信ネットワークである。その意味で、図2で示された通信ネットワークNETは、外部ネットワークである。
内部ネットワーク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は「割当ポート」と参照される場合がある。
スイッチ5の実ポートP4(割当ポートAP4)及びスイッチ8の実ポートP3(割当ポートAP69)は、外部ネットワークNETに接続された外部ポートである。内部ネットワークINT−NETは、それら外部ポート間の通信ネットワークであると言える。
より詳細には、図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が構成されている。
スタックドスイッチ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に対して果たす。
より詳細には、図3に示されるように、スタック管理部10は、制御部11と記憶部12を備えている。制御部11は、内部ネットワークINT−NETにおけるフロー通信を制御する機能を有し、演算処理装置がコンピュータプログラムを実行することにより実現される。そのコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。記憶部12は、RAM等の記憶装置である。記憶部12には、トポロジ情報TPL及びエントリ状態情報ENTが格納される。トポロジ情報TPLは、内部ネットワークINT−NETに関する上述の構成を示す。つまり、トポロジ情報TPLは、内部ネットワークINT−NETにおけるスイッチ間の接続状況を示す。エントリ状態情報ENTは、スイッチ5〜8の各々のコストパラメータを示す。コストパラメータは、第1の実施の形態と同様である。
図2及び図3で示された例において、端末3(送信端末)からスタックドスイッチ9及びスイッチ4を経由して端末2(受信端末)へ、あるフロー通信が行われる場合を考える。このとき、スタックドスイッチ9は、スイッチ8のポートP3(外部入力ポート)から入力される当該フローの通信データを、スイッチ5のポートP4(外部出力ポート)から出力する必要がある。従って、スタック管理部10は、内部ネットワークINT−NETにおける外部入力ポートから外部出力ポートへの当該フローの経路(内部経路)を決定する。ここで、第1の実施の形態と同様に、スタック管理部10は、内部ネットワークINT−NET上の各スイッチのエントリ状態を考慮し、“エントリあふれ”の発生が抑制されるようにフロー経路を決定する。
トポロジ情報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に与えられていてもよい。
続いて、制御部11は、記憶部12に格納されているエントリ状態情報ENTを参照することによって、各経路候補に属する各スイッチのスイッチコストSCを算出する。各スイッチのスイッチコストSCは、エントリ状態情報ENTで与えられるコストパラメータから算出可能である。第1の経路候補「スイッチ8−スイッチ6−スイッチ5」に関しては、スイッチ8、6及び5の各々のスイッチコストSCが算出される。第2の経路候補「スイッチ8−スイッチ7−スイッチ5」に関しては、スイッチ8、7及び5の各々のスイッチコストSCが算出される。
次に、制御部11は、各経路候補に関して算出されたスイッチコストSCに基づいて、経路候補のうち1つを、内部ネットワークINT−NETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど(使用エントリ数NAが少ないほど)、小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、制御部11は、算出されたスイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。そのようなフロー経路の決定アルゴリズムは、第1の実施の形態と同様である。
以上に説明されたように、本実施の形態によれば、スタック管理部10は、フロー経路の決定に際して、内部ネットワークINT−NET上の各スイッチのエントリ状態を考慮する。そして、スタック管理部10は、空きエントリ数NBが極端に少なくなるスイッチの発生をなるべく回避するように、フロー経路を決定する。これは、内部ネットワークINT−NET上の各スイッチにおけるエントリ消費を平滑化することに相当する。結果として、内部ネットワークINT−NET上のスイッチにおけるエントリあふれの発生が抑制される。それにより、内部ネットワークINT−NET上のあるスイッチのスループットが大幅に劣化することが防止される。また、本実施の形態によれば、エントリあふれの発生が抑制されるため、スタックドスイッチ9全体としてより多くのフロー(パス)を収容することが可能となる。
3.具体例
以下、具体例を挙げて、本発明の実施の形態を更に詳しく説明する。例として、図2及び図3で示された第2の実施の形態の場合を詳しく説明する。但し、第1の実施の形態の場合であっても同様の議論が適用され得ることは、当業者にとって容易に理解されよう。
以下に説明される通信システムは、Openflow(http://www.openflowswitch.org/を参照)に基づいている。その場合、“Openflow Controller”が管理ホスト1となり、“Openflow Switch”が各スイッチ4〜8となる。
また、以下に説明される例において、各スイッチには識別子として「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」である。
3−1.スイッチの構成
図4は、スイッチ4の構成例を示すブロック図である。スイッチ4は、Openflowスイッチであり、テーブル記憶部40、転送処理部41、ホスト通信部43、及びテーブル設定部44を備えている。テーブル記憶部40は、RAM(Random Access Memory)やCAM(Content Addressable Memory)等の記憶装置である。転送処理部41、ホスト通信部43、及びテーブル設定部44は、演算処理装置がコンピュータプログラムを実行することにより実現される。
テーブル記憶部40には、転送テーブル42が格納される。転送テーブル42は、フローの通信データ(パケット、フレーム等)の入力元と転送先との対応関係を示すテーブルであり、フロー毎にエントリを有する。
図5は、本実施の形態における転送テーブルの一例を示している。転送テーブルは複数のエントリを有しており、1つのエントリには1つのフローが割り当てられる。すなわち、使用エントリ数NAは、転送テーブルに記録されているエントリの数である。スイッチに割り当てられるフローが1増加すると、その新たなフローに対応する新たなエントリが転送テーブルに追加され、使用エントリ数NAが1増加し、空きエントリ数NBが1減少する。逆に、スイッチに割り当てられるフローが1減少すると、そのフローに対応するエントリが転送テーブルから削除され、使用エントリ数NAが1減少し、空きエントリ数NBが1増加する。尚、使用エントリ数NAの閾値である閾値エントリ数NMは、スイッチ毎に予め決まっている。各スイッチの閾値エントリ数NMは、任意に設定可能であるが、典型的には当該スイッチにおいて“エントリあふれ”が発生しない上限の使用エントリ数NAに設定される。そのような使用エントリ数NAの上限は、当該スイッチのテーブル記憶部の容量に依存する。
図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を検索キーとして用いることによって、その通信データの転送先を認識することができる。尚、「カウント」は、該当フローの通信データが転送される度にインクリメントされ、自エントリのエージングに利用される(詳細は後述される)。
再度図4を参照して、ホスト通信部43は、管理ホスト1と双方向通信を行う機能を有する。スイッチ4は、ホスト通信部43を通して、管理ホスト1と双方向通信を行うことができる。
転送処理部41は、スイッチ4に入力された通信データを転送する機能を有する。具体的には、転送処理部41は、ポート(実ポート)P1〜P22を有しており、いずれかのポートあるいはホスト通信部43から通信データを受け取る。そして、転送処理部41は、テーブル記憶部40に格納されている転送テーブル42を参照することによって、その入力元(ポートあるいはホスト通信部43)に対応する転送先を把握し、受け取った通信データをその転送先に転送(送信)する。図5で示された転送テーブルの場合、転送処理部41は、通信データの入力元とその通信データに含まれるMAC−DA及びMAC−SAを検索キーとして用い、その検索キーが記述されているエントリを転送テーブルの中から検索する。そして、転送処理部41は、検索されたエントリ(ヒットエントリ)の出力ポートに記述されている転送先に、受け取った通信データを転送する。出力ポートに複数の転送先が記述されている場合、転送処理部41は、受け取った通信データをコピーした上で、それぞれの転送先に通信データを転送する。また、転送処理部41は、通信データを転送する度に、ヒットエントリ中の「カウント」を1ずつ増加させる。
テーブル設定部44は、管理ホスト1からの指示に従って、テーブル記憶部40に格納されている転送テーブル42の内容を設定する機能を有する。より詳細には、テーブル設定部44は、ホスト通信部43を通して管理ホスト1から指示を受け取り、その指示に従って、転送テーブル42中のエントリを作成、削除、あるいは変更する。また、テーブル設定部44は、転送テーブル42中の各エントリの「カウント」を監視し、「カウント」が所定の条件を満たすエントリを削除する機能も有する(詳細は後述される)。
3−2.スタックドスイッチの構成
図6は、スタックドスイッチ9の構成例を示すブロック図である。スタックドスイッチ9は、複数のスイッチ(内部スイッチ)5〜8及びスタック管理部10を備えており、それらによって内部ネットワークINT−NETが構成されている。
内部ネットワーク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である。
各スイッチの転送処理部(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参照)。
スタック管理部10は、スイッチ5〜8と双方向に通信可能に接続されている。このスタック管理部10は、制御部11、記憶部12、ノード通信部13、及びホスト通信部14を備えている。記憶部12は、RAM等の記憶装置である。制御部11、ノード通信部13及びホスト通信部14は、演算処理装置がコンピュータプログラムを実行することにより実現される。
ノード通信部13は、各スイッチ(5、6、7、8)のホスト通信部(53、63、73、83)と双方向通信を行う機能を有する。スタック管理部10は、ノード通信部13を通して、スイッチ5〜8の各々と双方向通信を行うことができる。ホスト通信部14は、管理ホスト1と双方向通信を行う機能を有する。スタック管理部10は、ホスト通信部14を通して、管理ホスト1と双方向通信を行うことができる。
制御部11は、内部ネットワークINT−NETにおけるフロー通信を制御する機能を有する。より詳細には、制御部11は、メッセージ処理部15とコマンド処理部16を含んでいる。メッセージ処理部15は、ノード通信部13を通してスイッチから受け取る各種メッセージ(例:後述されるパケット到着通知MP及びエントリ消去通知ME)を処理する機能を有する。コマンド処理部16は、ホスト通信部14を通して管理ホスト1から受け取る各種命令(例:後述されるテーブル設定命令CT及びパケット送信命令CP)を処理する機能を有する。
記憶部12には、ポート情報POR、トポロジ情報TPL、及びエントリ状態情報ENTが格納される。
図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の構成時にあらかじめ決定されてもよい。
図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の構成時にあらかじめ決定されてもよい。
図9は、エントリ状態情報ENTの一例を示している。上述の通り、エントリ状態情報ENTは、スイッチ5〜8の各々における空きエントリ数NBに関連する「コストパラメータ」を示す。図9で示される例では、エントリ状態情報ENTは、スイッチ5〜8の各々に関して、DPID、空きエントリ数NB、及びスイッチコストSCを示している。すなわち、空きエントリ数NB及びスイッチコストSCがコストパラメータとして示されている。尚、本例では、スイッチコストSCは、「空きエントリ数NBの逆数の100倍」で与えられるとする(SC=100/NB)。
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)には、当該フローに対応するエントリは未だ記述されていないとする。
図10は、送信端末3から受信端末2へのフローが確立するまでの処理を示すフローチャートである。
ステップ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」である。
ステップ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に送信する。
図12Aは、パケット到着通知MPaを示している。このパケット到着通知MPaは、ヘッダ情報及び受信した第1パケットを含んでいる。ヘッダ情報は、自スイッチのDPID(00−00−4c−00−88−88)、パケット到着通知を識別するための種別(OpenFlowの場合は“PACKET_IN”)、及び第1パケットが入力された入力ポート番号(P3)を含んでいる。
スタック管理部10のノード通信部13は、スイッチ8からパケット到着通知MPaを受け取る。ノード通信部13は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、ノード通信部13は、受け取ったパケット到着通知MPaをメッセージ処理部15に送る。メッセージ処理部15は、ノード通信部13からパケット到着通知MPaを受け取る。そして、メッセージ処理部15は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、メッセージ処理部15は、次の処理を行う。
メッセージ処理部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を示している。
そして、メッセージ処理部15は、図12Bで示されたパケット到着通知MPbをホスト通信部14に送る。ホスト通信部14は、種別(PACKET_IN)から、受け取った情報がパケット到着通知であることを認識する。その場合、ホスト通信部14は、受け取ったパケット到着通知MPbを管理ホスト1に送信する。
ステップS30:
管理ホスト1は、スタックドスイッチ9からパケット到着通知MPbを受け取る。管理ホスト1は、パケット到着通知MPbに含まれる第1パケットのMAC−DA及びMAC−SA(図11参照)から、端末3(送信元)から端末2(送信先)へのフロー通信が要求されていることを認識する。
次に、管理ホスト1は、通信ネットワークNETにおける端末3から端末2への当該フローの経路(パケットの伝達経路)を決定する。第1の実施の形態で説明されたように、管理ホスト1は、通信ネットワークNETの構成を示すトポロジ情報TPLを有している。従って、管理ホスト1は、そのトポロジ情報TPLを参照することによって、通信ネットワークNETにおける端末3から端末2へのフロー経路を決定することができる。本例では、そのフロー経路は、「端末3−スタックドスイッチ9のポートAP69−スタックドスイッチ9のポートAP4−スイッチ4のポートP9−スイッチ4のポートP2−端末2」である。
次に、管理ホスト1は、決定されたフロー経路に属する各スイッチ4,9に対して、当該フローのパケットを決定されたフロー経路に沿って転送するように指示する。より詳細には、管理ホスト1は、決定されたフロー経路に属する各スイッチ4,9に対して、当該フローのパケットが決定されたフロー経路に沿って転送されるように各転送テーブルの内容を設定するよう指示を行う。そのために、管理ホスト1は、決定されたフロー経路上の各スイッチ4,9に対して、「テーブル設定命令CT」を送信する。テーブル設定命令CTは、各スイッチが設定すべき転送テーブルの内容を示す。
図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”に設定される。
図13Bは、スタックドスイッチ9に送信されるテーブル設定命令CT9を示している。テーブル設定命令CT9の形式は、図13Aで示されたテーブル設定命令CT4と同様である。ヘッダ情報中のDPIDは、送信先であるスタックドスイッチ9のDPID(00−00−4c−00−99−99)に設定される。また、上記決定されたフロー経路によれば、スタックドスイッチ9は、割当ポートAP69から入力されるパケットを割当ポートAP4から出力するように要求されている。従って、エントリ記述内容中の入力ポート及び出力ポートは、それぞれ“AP69”及び“AP4”に設定される。
ステップS40:
次に、決定されたフロー経路上の各スイッチ(4、9)において、各転送テーブルの設定が行われる。
(スイッチ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の内容を設定する。
(スタックドスイッチ9)
スタックドスイッチ9は、図13Bで示されたテーブル設定命令CT9を管理ホスト1から受け取る。スタックドスイッチ9は、そのテーブル設定命令CT9に応答して、次の処理を行う。図15は、スタックドスイッチ9における処理を示すフローチャートである。
ステップS41:
まず、スタック管理部10のホスト通信部14は、管理ホスト1から、図13Bで示されたテーブル設定命令CT9を受け取る。ホスト通信部14は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部14は、受け取ったテーブル設定命令CT9をコマンド処理部16に送る。
コマンド処理部16は、ホスト通信部14からテーブル設定命令CT9を受け取る。コマンド処理部16は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、コマンド処理部16は、記憶部12に格納されているポート情報PORを参照することによって、受け取ったテーブル設定命令CT9のエントリ記述内容に含まれる入力ポート(AP69)及び出力ポート(AP4)を実ポートに変換する。本例では、入力ポートAP69はスイッチ8のポートP3に変換され、出力ポートAP4はスイッチ5のポートP4に変換される。このようにして、コマンド処理部16は、当該フローのパケットの入出力に用いられる外部入力ポート(スイッチ8のポートP3)及び外部出力ポート(スイッチ5のポートP4)を認識することができる。
ステップS42:
次に、コマンド処理部16は、内部ネットワークINT−NETにおける外部入力ポート(スイッチ8のポートP3)から外部出力ポート(スイッチ5のポートP4)への経路候補を抽出する。このとき、コマンド処理部16は、記憶部12に格納されているトポロジ情報TPL(図8参照)を用いることによって、経路候補を抽出することができる。本例では、次の2種類の経路候補が抽出される。
第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
ステップS43:
次に、コマンド処理部16は、記憶部12に格納されているエントリ状態情報ENTを参照することによって、各経路候補に属する各スイッチのスイッチコストSCを算出する。各スイッチのスイッチコストSCは、エントリ状態情報ENTで与えられるコストパラメータから算出可能である。図9で示されたように、本例のエントリ状態情報ENTは、各スイッチのスイッチコストSCそのものをコストパラメータとして示している。従って、コマンド処理部16は、各スイッチのスイッチコストSCを即座に取得することができる。第1の経路候補に関しては、スイッチ8、6及び5の各々のスイッチコストSCが得られる。第2の経路候補に関しては、スイッチ8、7及び5の各々のスイッチコストSCが得られる。
ステップS44:
次に、コマンド処理部16は、ステップS43で得られたスイッチコストSCに基づいて、経路候補のうち1つを、内部ネットワークINT−NETにおける当該フローの経路として決定する。上述の通り、スイッチコストSCは、空きエントリ数NBが多いほど小さくなる量である。そして、“エントリあふれ”は、空きエントリ数NBが多いほど発生しにくい。従って、コマンド処理部16は、スイッチコストSCに基づいて、“エントリあふれ”の発生が抑制されるようにフロー経路を決定することができる。
本例では、上述の第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におけるフロー経路(パケットの伝達経路)として決定する。
ステップS45:
次に、コマンド処理部16は、エントリ状態情報ENTを更新する。具体的には、コマンド処理部16は、上記決定されたフロー経路に属する各スイッチ(5、7、8)に関して、空きエントリ数NBを1ずつ減少させ、また、スイッチコストSCを再計算する。その結果、エントリ状態情報ENTは、図9で示されたものから、図16に示されるものに変わる。
尚、本例のエントリ状態情報ENTでは、空きエントリ数NBとスイッチコストSCがコストパラメータとして示されていたが、その他の場合でも同様である。例えば、空きエントリ数NBだけがコストパラメータとして示される場合、コマンド処理部16は、決定されたフロー経路に属する各スイッチの空きエントリ数NBを1ずつ減少させる。また例えば、使用エントリ数NAがコストパラメータとして示される場合、コマンド処理部16は、決定されたフロー経路に属する各スイッチの使用エントリ数NAを1ずつ増加させる。要するに、コマンド処理部16は、空きエントリ数NBが1減少することに相当する変更を、決定されたフロー経路に属する各スイッチに関するコストパラメータに加え、それによりエントリ状態情報ENTを更新する。
ステップS46:
また、コマンド処理部16は、決定されたフロー経路に属する各スイッチ(5、7、8)に対して、当該フローのパケットを決定されたフロー経路に沿って転送するように指示する。より詳細には、コマンド処理部16は、決定されたフロー経路に属する各スイッチ(5、7、8)に対して、当該フローのパケットが決定されたフロー経路に沿って転送されるように各転送テーブル(52、72、82)の内容を設定するよう指示を行う。そのために、コマンド処理部16は、決定されたフロー経路上の各スイッチ(5、7、8)に対する「テーブル設定命令CT」を生成する。各テーブル設定命令CTの形式は、既出の図13Aで示されたものと同様である。
図17Aは、スイッチ5に送信されるテーブル設定命令CT5を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ5のDPID(00−00−4c−00−55−55)に設定される。エントリ記述内容中のMAC−DA及びMAC−SAは、コマンド処理部16が先に受け取ったテーブル設定命令CT9(図13B参照)中のものと同じである。入力ポート及び出力ポートは、上記決定されたフロー経路に応じて設定される。上記決定されたフロー経路によれば、スイッチ5は、ポートP17から入力されるパケットをポートP4から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P17”及び“P4”に設定される。
図17Bは、スイッチ7に送信されるテーブル設定命令CT7を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ7のDPID(00−00−4c−00−77−77)に設定される。また、上記決定されたフロー経路によれば、スイッチ7は、ポートP18から入力されるパケットをポートP15から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P18”及び“P15”に設定される。
図17Cは、スイッチ8に送信されるテーブル設定命令CT8を示している。ヘッダ情報中のDPIDは、送信先であるスイッチ8のDPID(00−00−4c−00−88−88)に設定される。また、上記決定されたフロー経路によれば、スイッチ8は、ポートP3から入力されるパケットをポートP17から出力するように要求されている。従って、入力ポート及び出力ポートは、それぞれ“P3”及び“P17”に設定される。
コマンド処理部16は、生成したテーブル設定命令CT5、CT7及びCT8を、ノード通信部13に送る。ノード通信部13は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ノード通信部13は、受け取ったテーブル設定命令のヘッダ情報中のDPIDを参照し、そのDPIDで指定されるスイッチにテーブル設定命令を送信する。すなわち、ノード通信部13は、テーブル設定命令CT5、CT7及びCT8を、それぞれスイッチ5、7及び8に送信する。
ステップS47:
次に、決定されたフロー経路上の各スイッチ(5、7、8)において、各転送テーブル(52、72、82)の設定が行われる。
スイッチ5のホスト通信部53は、ノード通信部13から、図17Aで示されたテーブル設定命令CT5を受け取る。ホスト通信部53は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部53は、受け取ったテーブル設定命令CT5をテーブル設定部54に送る。テーブル設定部54は、受け取ったテーブル設定命令CT5からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル52に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Aは、転送テーブル52に新たに追加されたエントリを示している。図18Aに示されるように、図17Aで示されたテーブル設定命令CT5の内容が転送テーブル52に反映されている。
スイッチ7のホスト通信部73は、ノード通信部13から、図17Bで示されたテーブル設定命令CT7を受け取る。ホスト通信部73は、種別(MODIFY_STATE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部73は、受け取ったテーブル設定命令CT7をテーブル設定部74に送る。テーブル設定部74は、受け取ったテーブル設定命令CT7からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル72に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Bは、転送テーブル72に新たに追加されたエントリを示している。図18Bに示されるように、図17Bで示されたテーブル設定命令CT7の内容が転送テーブル72に反映されている。
スイッチ8のホスト通信部83は、ノード通信部13から、図17Cで示されたテーブル設定命令CT8を受け取る。ホスト通信部83は、種別(MODIFY_STCTE)から、受け取った情報がテーブル設定命令であることを認識する。その場合、ホスト通信部83は、受け取ったテーブル設定命令CT8をテーブル設定部84に送る。テーブル設定部84は、受け取ったテーブル設定命令CT8からエントリ記述内容を読み出し、そのエントリ記述内容を新たなエントリとして転送テーブル82に追加する。尚、追加エントリにおける「カウント」は、初期値(例:0)に設定される。図18Cは、転送テーブル82に新たに追加されたエントリを示している。図18Cに示されるように、図17Cで示されたテーブル設定命令CT8の内容が転送テーブル82に反映されている。
このように、スイッチ5、7、8の各々は、スタック管理部10からの指示に従って、当該フローのパケットが上記決定された経路に沿って転送されるように各転送テーブルの内容を設定する。以上により、ステップS40が完了する。
ステップS50:
各スイッチにおける転送テーブルの設定が完了した頃合に、管理ホスト1は、図19Aに示されるパケット送信命令CPaを生成する。このパケット送信命令CPaは、ヘッダ情報と第1パケットを含んでいる。ヘッダ情報は、パケット送信命令の送信先のスイッチを示すDPID(00−00−4c−00−99−99)、パケット送信命令を識別するための種別(OpenFlowの場合は“SEND_PACKET”)、及び第1パケットが出力される出力ポート番号(AP4)を含んでいる。
送信先のスイッチは、既出のステップS30で受け取ったパケット到着通知MPb(図12B)の送信元、すなわち、スタックドスイッチ9である。第1パケットが出力されるスタックドスイッチ9の出力ポートAP4は、既出のステップS30で決定された通信ネットワークNETにおけるフロー経路から認識可能である。また、パケット送信命令CPaに格納される第1パケットは、既出のステップS30で受け取ったパケット到着通知MPb(図12B)に格納されていたものと同じである。管理ホスト1は、ヘッダ情報中のDPIDを参照して、このパケット送信命令CPaをスタックドスイッチ9に送信する。
ステップS60:
スタックドスイッチ9のスタック管理部10のホスト通信部14は、管理ホスト1から、図19Aで示されたパケット送信命令CPaを受け取る。ホスト通信部14は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。その場合、ホスト通信部14は、受け取ったパケット送信命令CPaをコマンド処理部16に送る。そして、コマンド処理部16は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。この場合、コマンド処理部16は、次の処理を行う。
コマンド処理部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を示している。
コマンド処理部16は、図19Bに示されるパケット送信命令CPbを、ノード通信部13に送る。ノード通信部13は、種別(SEND_PACKET)から、受け取った情報がパケット送信命令であることを認識する。その場合、ノード通信部13は、パケット送信命令CPbのヘッダ情報中のDPIDを参照し、そのDPIDで指定されるスイッチ5にそのパケット送信命令CPbを送信する。
スイッチ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パケットの転送が再開される。
ステップ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に転送される。
ステップS80:
端末2は、スイッチ4から第1パケットを受信する。第1パケットに含まれるMAC−DA(00−00−4c−00−aa−00)は自身のMACアドレスと一致するため、端末2は、受信した第1パケットに関して適切な処理を行う。例えば、端末2は、受信パケットをOSやアプリケーションに渡す。
以上の処理により、送信端末3から受信端末2へのフローが確立する。送信端末3は、第1パケットに続いて、当該フローのパケットを順次送信する。そのパケットの形式は、図11で示されたものと同じである。当該フローのパケットは、上記決定された経路に沿って、送信端末3から受信端末2へ伝送される。
具体的には、送信端末3は、スタックドスイッチ9にパケットを送信する。スタックドスイッチ9のスイッチ8は、ポートP3からパケットを受け取る。スイッチ8の転送処理部81は、図18Cで示される転送テーブル82を参照することにより、そのパケットを出力ポートP17に転送する。この時、転送処理部81は、転送テーブル82中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ8のポートP17から、スイッチ7へ転送される。
スイッチ7は、ポートP18からパケットを受け取る。スイッチ7の転送処理部71は、図18Bで示される転送テーブル72を参照することにより、そのパケットを出力ポートP15に転送する。この時、転送処理部71は、転送テーブル72中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ7のポートP15から、スイッチ5へ転送される。
スイッチ5は、ポートP17からパケットを受け取る。スイッチ5の転送処理部51は、図18Aで示される転送テーブル52を参照することにより、そのパケットを出力ポートP4に転送する。この時、転送処理部51は、転送テーブル52中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ5のポートP4から、スイッチ4へ転送される。
スイッチ4は、ポートP9からパケットを受け取る。スイッチ4の転送処理部41は、図18Aで示される転送テーブル42を参照することにより、そのパケットを出力ポートP2に転送する。この時、転送処理部41は、転送テーブル42中のヒットエントリに含まれる「カウント」を1だけインクリメントする。パケットは、スイッチ4のポートP2から、端末2へ転送される。このようにして、当該フローのパケットが、上記決定された経路に沿って、送信端末3から受信端末2へ伝送される。
次に、転送テーブルからのエントリ消去に関連する動作を説明する。図20は、エントリ消去動作を示すフローチャートである。
ステップS110:
各スイッチにおいて、テーブル設定部は、転送テーブルに含まれる各エントリの「カウント」をモニタする。すなわち、各スイッチにおいて、テーブル設定部は、転送テーブル中の各エントリのヒット状況をモニタする。そして、テーブル設定部は、所定の期間毎に、カウントが前回から変化したか否かを調べる。
ステップS120:
あるスイッチにおいて、あるエントリのカウントが所定の期間内に変化していなかったとする(ステップS120;無)。すなわち、当該スイッチにおいて、所定の期間中に当該エントリがヒットしなかったとする。これは、当該スイッチにおいて、当該エントリに対応したフローの通信が所定の期間途絶えたことを意味する。その場合、処理は、ステップS130へ進む。
ステップS130:
例えば、スイッチ8のテーブル設定部84が、図18Cで示されるエントリのカウントが所定の期間変化しなかったことを検出したとする。その場合、テーブル設定部84は、転送テーブル82から当該エントリを消去(削除)する。更に、テーブル設定部84は、スイッチ8から1つのエントリが消去されたことを示す「エントリ消去通知ME8」を生成する。
図21は、エントリ消去通知ME8を示している。このエントリ消去通知ME8は、ヘッダ情報及びエントリ記述内容を含んでいる。ヘッダ情報は、自スイッチのDPID(00−00−4c−00−88−88)、及びエントリ消去通知を識別するための種別(OpenFlowの場合は“FLOW_EXPIRATION”)を含んでいる。エントリ記述内容は、転送テーブル82から消去されたエントリの内容(「カウント」を除く)を含んでいる。
テーブル設定部84は、生成したエントリ消去通知ME8をホスト通信部83に送る。ホスト通信部83は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ホスト通信部83は、エントリ消去通知ME8をスタック管理部10に送信する。
ステップS140:
スタック管理部10のノード通信部13は、スイッチ8からエントリ消去通知ME8を受け取る。ノード通信部13は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ノード通信部13は、受け取ったエントリ消去通知ME8をメッセージ処理部15へ送る。メッセージ処理部15は、ノード通信部13からエントリ消去通知ME8を受け取る。そして、メッセージ処理部15は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、メッセージ処理部15は、次の処理を行う。
メッセージ処理部15は、エントリ消去通知ME8に応答して、エントリ状態情報ENTを更新する。具体的には、メッセージ処理部15は、受け取ったエントリ消去通知ME8に含まれるDPIDを参照し、スイッチ8からエントリが消去されたことを認識する。そして、メッセージ処理部15は、エントリ状態情報ENT中のスイッチ8に関して、空きエントリ数NBを1だけ増加させ、また、スイッチコストSCを再計算する。これにより、エントリ状態情報ENTが更新される。
尚、本例のエントリ状態情報ENTでは、空きエントリ数NBとスイッチコストSCがコストパラメータとして示されていたが、その他の場合でも同様である。例えば、空きエントリ数NBだけがコストパラメータとして示される場合、メッセージ処理部15は、該当スイッチの空きエントリ数NBを1だけ増加させる。また例えば、使用エントリ数NAがコストパラメータとして示される場合、メッセージ処理部15は、該当スイッチの使用エントリ数NAを1だけ減少させる。要するに、メッセージ処理部15は、空きエントリ数NBが1増加することに相当する変更を、該当スイッチに関するコストパラメータに加え、それによりエントリ状態情報ENTを更新する。
ステップS150:
メッセージ処理部15は、管理ホスト1にエントリ消去を報告するように要求されているか否かを確認する。管理ホスト1がエントリ消去の報告を要求していない場合(ステップS150;No)、処理は終了する。一方、管理ホスト1がエントリ消去の報告を要求している場合(ステップS150;Yes)、処理はステップS160に進む。
ステップS160:
スタックドスイッチ9は管理ホスト1からは1つのスイッチとして見える。そのため、スタックドスイッチ9から管理ホスト1へのエントリ消去の通知は、1回だけ行われることが好ましい。そこで、ステップS160において、メッセージ処理部15は、管理ホスト1へエントリ消去を通知するか否かを判定する。本例では、消去されたエントリが「外部入力ポート」に関連している場合にのみ、スタックドスイッチ9から管理ホスト1へエントリ消去通知MEが送られるとする。
今、メッセージ処理部15は、図21で示されたエントリ消去通知ME8を受け取っている。そのエントリ消去通知ME8からは、エントリが消去されたスイッチがスイッチ8(DPID=00−00−4c−00−88)であり、消去されたエントリの入力ポートがそのスイッチ8のポートP3であることが分かる。そこで、メッセージ処理部15は、記憶部12に格納されているトポロジ情報TPLを参照し、そのスイッチ8のポートP3が内部接続用ポートか外部接続用ポートかを判定する。具体的には、メッセージ処理部15は、スイッチ8のポートP3がトポロジ情報TPL(図8参照)に記述されているか否かを判定する。
図8から明らかなように、スイッチ8のポートP3は、トポロジ情報TPLに記述されていない。従って、メッセージ処理部15は、スイッチ8のポートP3は、内部接続用ポートではなく、外部接続用ポートであると判断する。すなわち、メッセージ処理部15は、エントリ消去通知ME8で示される入力ポートP3は、外部入力ポートであると判断する。その場合、メッセージ処理部15は、管理ホスト1に対してエントリ消去を通知することを決定する(ステップS160;Yes)。
ステップ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を示している。
そして、メッセージ処理部15は、図22で示されたエントリ消去通知ME9をホスト通信部14に送る。ホスト通信部14は、種別(FLOW_EXPIRATION)から、受け取った情報がエントリ消去通知であることを認識する。その場合、ホスト通信部14は、受け取ったエントリ消去通知ME9を管理ホスト1に送信する。
ステップS180:
管理ホスト1は、スタックドスイッチ9からエントリ消去通知ME9を受け取る。このエントリ消去通知ME9に応答して、管理ホスト1は、所定の処理を行う。
エントリ消去通知MEは、スイッチ8だけでなく、その他のスイッチによっても生成され得る。図23は、スイッチ7によって生成されるエントリ消去通知ME7を示している。また、図24は、スイッチ5によって生成されるエントリ消去通知ME5を示している。それらの形式は、図21で示されたものと同様である。
スタック管理部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)。
上記例では、第2の実施の形態の場合が示されたが、図1で示された第1の実施の形態の場合も同様である。第1の実施の形態の場合、管理ホスト1が、スタックドスイッチ9のスタック管理部10と同様の役割を果たす。但し、スタック管理部10が行った、各種通知や各種命令の書き換えは不要である。
3−4.変形例
スイッチコストSCは、空きエントリ数NBが減少するにつれて増加する量であれば何でもよい。上述の通り、スイッチコストSCの例としては、様々考えられる。
(例1)スイッチコストSC=係数C1/空きエントリ数NB
(例2)スイッチコストSC=係数C2/空きエントリ率(=NB/NM)
(例3)スイッチコストSC=係数C3×使用エントリ数NA
(例4)スイッチコストSC=係数C4×使用エントリ率(=NA/NM)
また、エントリ状態情報ENTによって与えられる「コストパラメータ」は、上記スイッチコストSCを算出できるものであれば何でもよい。図9で示された例では、コストパラメータは、空きエントリ数NBとスイッチコストSCであったが、それに限られない。
図25は、エントリ状態情報ENTの変形例を示している。図25では、エントリ状態情報ENTは、各スイッチの空きエントリ数NBだけを示している。この場合、空きエントリ数NBが変更されても、スイッチコストSCの再計算は行われない。フロー経路決定時に、空きエントリ数NBに基づいて、各スイッチのスイッチコストSCが算出されればよい。
図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を算出することもできる。
図27は、エントリ状態情報ENTの更に他の例を示している。図27では、エントリ状態情報ENTは、各スイッチの使用エントリ数NAだけを示している。この場合、使用エントリ数NAが変更されても、スイッチコストSCの再計算は行われない。フロー経路決定時に、使用エントリ数NAに基づいて、各スイッチのスイッチコストSCが算出されればよい。
図28は、エントリ状態情報ENTの更に他の例を示している。図28では、エントリ状態情報ENTは、各スイッチの使用エントリ数NA及びスイッチコストSCを示している。スイッチコストSCは、SC=0.1×NAで算出されている。この場合、エントリ数NAが変更されると、それに伴ってスイッチコストSCも再計算される。
尚、上記説明ではOpenflowが例示されたが、本発明はそれに限られない。本発明は、GMPLS(Generalized Multi-Protocol Label Switching)にも適用可能である。その場合、管理ホスト1が、GMPLSスイッチに対して転送テーブルの設定を指示する。また、本発明は、VLAN(Virtual LAN)にも適用可能である。その場合、管理ホスト1は、MIB(Management Information Base)インターフェイスを用いることによって、各スイッチのVLAN設定を操作することができる。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
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 内部ネットワーク

Claims (25)

  1. 通信ネットワーク上に配置された複数のスイッチと、
    前記複数のスイッチに接続された管理計算機と
    を備え、
    使用エントリ数は、1つのスイッチに管理されているフローの数であり、
    パラメータは、前記使用エントリ数に依存し、
    スイッチコストは、前記パラメータに依存し、
    前記管理計算機は、
    前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
    前記通信ネットワークにおける送信元から送信先へのフローを制御する制御部と
    を備え、
    前記制御部は、前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出し、
    前記制御部は、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先へのフローの経路として決定する
    通信システム。
  2. 請求項1に記載の通信システムであって、
    閾値エントリ数は、前記使用エントリ数の閾値であり、
    空きエントリ数は、前記閾値エントリ数と前記使用エントリ数との差分であり、
    前記スイッチコストは、前記空きエントリ数が減少するにつれて増加する量である
    通信システム。
  3. 請求項2に記載の通信システムであって、
    前記各経路候補に属するスイッチの前記スイッチコストの総和あるいは積は、総コストであり、
    前記制御部は、前記経路候補のうち前記総コストが最小である1つを、前記送信元から前記送信先へのフローの経路として決定する
    通信システム。
  4. 請求項2に記載の通信システムであって、
    前記各経路候補に属するスイッチの前記スイッチコストのうち最大のものは、最大スイッチコストであり、
    前記制御部は、前記経路候補のうち前記最大スイッチコストが最小である1つを、前記送信元から前記送信先へのフローの経路として決定する
    通信システム。
  5. 請求項2に記載の通信システムであって、
    前記各経路候補に属するスイッチの前記スイッチコストのうち最小のものは、最小スイッチコストであり、
    前記制御部は、前記経路候補のうち前記最小スイッチコストが最小である1つを、前記送信元から前記送信先へのフローの経路として決定する
    通信システム。
  6. 請求項2乃至5のいずれか一項に記載の通信システムであって、
    前記スイッチコストは、前記空きエントリ数の逆数に比例する量である
    通信システム。
  7. 請求項2乃至6のいずれか一項に記載の通信システムであって、
    前記制御部は、前記送信元から前記送信先へのフローの経路を決定した後、前記空きエントリ数が1減少することに相当する変更を、前記決定された経路に属する各スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
    通信システム。
  8. 請求項2乃至7のいずれか一項に記載の通信システムであって、
    前記決定された経路に属する第1スイッチは、前記送信元から前記送信先へのフローの通信が所定の期間途絶えた場合、エントリ消去通知を前記管理計算機に送信し、
    前記制御部は、前記エントリ消去通知に応答して、前記空きエントリ数が1増加することに相当する変更を前記第1スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
    通信システム。
  9. 請求項1乃至8のいずれか一項に記載の通信システムであって、
    前記記憶部には、更に、前記通信ネットワークの構成を示すトポロジ情報が格納され、
    前記制御部は、前記トポロジ情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への前記経路候補を抽出する
    通信システム。
  10. 請求項1乃至9のいずれか一項に記載の通信システムであって、
    前記管理計算機は、前記決定された経路に属する各スイッチに対して、前記送信元から前記送信先へのフローの通信データを前記決定された経路に沿って転送するように指示する
    通信システム。
  11. 請求項10に記載の通信システムであって、
    前記複数のスイッチの各々は、通信データの入力元と転送先との対応関係を示す転送テーブルを有し、前記転送テーブルを参照することによって前記入力元から受け取った通信データを前記転送先に転送し、
    前記管理計算機は、前記決定された経路に属する各スイッチに対して、前記送信元から前記送信先へのフローの通信データが前記決定された経路に沿って転送されるように前記転送テーブルの内容を設定するよう指示し、
    前記決定された経路に属する各スイッチは、前記管理計算機からの指示に応答して、前記転送テーブルの内容を設定する
    通信システム。
  12. 通信ネットワーク上に配置された複数のスイッチに接続された管理計算機であって、
    使用エントリ数は、1つのスイッチに管理されているフローの数であり、
    パラメータは、前記使用エントリ数に依存し、
    スイッチコストは、前記パラメータに依存し、
    前記管理計算機は、
    前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
    前記通信ネットワークにおける送信元から送信先へのフローを制御する制御部と
    を備え、
    前記制御部は、前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出し、
    前記制御部は、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先へのフローの経路として決定する
    管理計算機。
  13. 外部ネットワークに接続された外部入力ポート及び外部出力ポートと、
    前記外部入力ポートと前記外部出力ポートとの間の内部ネットワーク上に配置された複数のスイッチと、
    前記複数のスイッチに接続されたスタック管理部と
    を備え、
    使用エントリ数は、1つのスイッチに管理されているフローの数であり、
    パラメータは、前記使用エントリ数に依存し、
    スイッチコストは、前記パラメータに依存し、
    前記スタック管理部は、
    前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報が格納される記憶部と、
    前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへのフローを制御する制御部と
    を備え、
    前記制御部は、前記エントリ状態情報を参照することによって、前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへの各経路候補に属する各スイッチの前記スイッチコストを算出し、
    前記制御部は、前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記外部入力ポートから前記外部出力ポートへのフローの経路として決定する
    スタックドスイッチ。
  14. 請求項13に記載のスタックドスイッチであって、
    閾値エントリ数は、前記使用エントリ数の閾値であり、
    空きエントリ数は、前記閾値エントリ数と前記使用エントリ数との差分であり、
    前記スイッチコストは、前記空きエントリ数が減少するにつれて増加する量である
    スタックドスイッチ。
  15. 請求項14に記載のスタックドスイッチであって、
    前記各経路候補に属するスイッチの前記スイッチコストの総和あるいは積は、総コストであり、
    前記制御部は、前記経路候補のうち前記総コストが最小である1つを、前記外部入力ポートから前記外部出力ポートへのフローの経路として決定する
    スタックドスイッチ。
  16. 請求項14に記載のスタックドスイッチであって、
    前記各経路候補に属するスイッチの前記スイッチコストのうち最大のものは、最大スイッチコストであり、
    前記制御部は、前記経路候補のうち前記最大スイッチコストが最小である1つを、前記外部入力ポートから前記外部出力ポートへのフローの経路として決定する
    スタックドスイッチ。
  17. 請求項14に記載のスタックドスイッチであって、
    前記各経路候補に属するスイッチの前記スイッチコストのうち最小のものは、最小スイッチコストであり、
    前記制御部は、前記経路候補のうち前記最小スイッチコストが最小である1つを、前記外部入力ポートから前記外部出力ポートへのフローの経路として決定する
    スタックドスイッチ。
  18. 請求項14乃至17のいずれか一項に記載のスタックドスイッチであって、
    前記スイッチコストは、前記空きエントリ数の逆数に比例する量である
    スタックドスイッチ。
  19. 請求項14乃至18のいずれか一項に記載のスタックドスイッチであって、
    前記制御部は、前記外部入力ポートから前記外部出力ポートへのフローの経路を決定した後、前記空きエントリ数が1減少することに相当する変更を、前記決定された経路に属する各スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
    スタックドスイッチ。
  20. 請求項14乃至19のいずれか一項に記載のスタックドスイッチであって、
    前記決定された経路に属する第1スイッチは、前記外部入力ポートから前記外部出力ポートへのフローの通信が所定の期間途絶えた場合、エントリ消去通知を前記スタック管理部に送信し、
    前記制御部は、前記エントリ消去通知に応答して、前記空きエントリ数が1増加することに相当する変更を前記第1スイッチに関する前記パラメータに加えることによって、前記エントリ状態情報を更新する
    スタックドスイッチ。
  21. 請求項13乃至20のいずれか一項に記載のスタックドスイッチであって、
    前記記憶部には、更に、前記内部ネットワークの構成を示すトポロジ情報が格納され、
    前記制御部は、前記トポロジ情報を参照することによって、前記内部ネットワークにおける前記外部入力ポートから前記外部出力ポートへの前記経路候補を抽出する
    スタックドスイッチ。
  22. 請求項13乃至21のいずれか一項に記載のスタックドスイッチであって、
    前記制御部は、前記決定された経路に属する各スイッチに対して、前記外部入力ポートから前記外部出力ポートへのフローの通信データを前記決定された経路に沿って転送するように指示する
    スタックドスイッチ。
  23. 請求項22に記載のスタックドスイッチであって、
    前記複数のスイッチの各々は、通信データの入力元と転送先との対応関係を示す転送テーブルを有し、前記転送テーブルを参照することによって前記入力元から受け取った通信データを前記転送先に転送し、
    前記制御部は、前記決定された経路に属する各スイッチに対して、前記外部入力ポートから前記外部出力ポートへのフローの通信データが前記決定された経路に沿って転送されるように前記転送テーブルの内容を設定するよう指示し、
    前記決定された経路に属する各スイッチは、前記制御部からの指示に応答して、前記転送テーブルの内容を設定する
    スタックドスイッチ。
  24. 複数のスイッチが配置された通信ネットワークにおける送信元から送信先へのフローの経路を決定するフロー経路決定方法であって、
    使用エントリ数は、1つのスイッチに管理されているフローの数であり、
    パラメータは、前記使用エントリ数に依存し、
    スイッチコストは、前記パラメータに依存し、
    前記フロー経路決定方法は、
    前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、
    前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出するステップと、
    前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先へのフローの経路として決定するステップと
    を含む
    フロー経路決定方法。
  25. 複数のスイッチが配置された通信ネットワークにおける送信元から送信先へのフローの経路を決定するフロー経路決定処理をコンピュータに実行させるフロー経路決定プログラムであって、
    使用エントリ数は、1つのスイッチに管理されているフローの数であり、
    パラメータは、前記使用エントリ数に依存し、
    スイッチコストは、前記パラメータに依存し、
    前記フロー経路決定処理は、
    前記複数のスイッチの各々における前記パラメータを示すエントリ状態情報を記憶装置から読み出すステップと、
    前記エントリ状態情報を参照することによって、前記通信ネットワークにおける前記送信元から前記送信先への各経路候補に属する各スイッチの前記スイッチコストを算出するステップと、
    前記算出されたスイッチコストに基づいて、前記経路候補のうち1つを前記送信元から前記送信先へのフローの経路として決定するステップと
    を含む
    フロー経路決定プログラム。
JP2009000936A 2009-01-06 2009-01-06 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法 Expired - Fee Related JP5483149B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009000936A JP5483149B2 (ja) 2009-01-06 2009-01-06 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009000936A JP5483149B2 (ja) 2009-01-06 2009-01-06 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法

Publications (2)

Publication Number Publication Date
JP2010161473A true JP2010161473A (ja) 2010-07-22
JP5483149B2 JP5483149B2 (ja) 2014-05-07

Family

ID=42578334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009000936A Expired - Fee Related JP5483149B2 (ja) 2009-01-06 2009-01-06 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法

Country Status (1)

Country Link
JP (1) JP5483149B2 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012020564A1 (en) * 2010-08-09 2012-02-16 Nec Corporation Communication system, control device, computer, node control method, and program
JP2012039188A (ja) * 2010-08-03 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 通信システム、制御サーバ、フロー制御方法およびそのプログラム
WO2012023292A1 (en) * 2010-08-20 2012-02-23 Nec Corporation Communication system, controller, node controlling method and program
JP2012160926A (ja) * 2011-02-01 2012-08-23 Nec Corp 有害サイトフィルタリングシステム及びフィルタリング方法
JP2012175531A (ja) * 2011-02-23 2012-09-10 Nec Engineering Ltd 通話切替システム及びその方法並びに通話切替装置及びそのプログラム
WO2012121098A1 (ja) * 2011-03-04 2012-09-13 日本電気株式会社 ネットワークシステム、パケット処理方法、及び記憶媒体
WO2012169164A1 (en) 2011-06-06 2012-12-13 Nec Corporation Communication system, control device, and processing rule setting method and program
WO2013125342A1 (ja) * 2012-02-20 2013-08-29 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
WO2013133400A1 (ja) 2012-03-09 2013-09-12 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
WO2013180207A1 (ja) 2012-05-31 2013-12-05 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
JP2014506021A (ja) * 2011-02-17 2014-03-06 日本電気株式会社 フロー通信システム
JP2016021779A (ja) * 2010-11-22 2016-02-04 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
JP2016067008A (ja) * 2011-10-25 2016-04-28 ニシラ, インコーポレイテッド ユニバーサルフローを変換するためのシャーシコントローラ
US9548928B2 (en) 2012-03-08 2017-01-17 Nec Corporation Network system, controller, and load distribution method
US9590925B2 (en) 2013-10-18 2017-03-07 Fujitsu Limited Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium
US9954793B2 (en) 2011-10-25 2018-04-24 Nicira, Inc. Chassis controller
US11113085B2 (en) 2015-09-30 2021-09-07 Nicira, Inc. Virtual network abstraction
CN114246103A (zh) * 2021-12-13 2022-03-29 李平 一种农林经济用水泥柱辅助移除装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080637A (ja) * 2002-08-21 2004-03-11 Nec Corp パスルーティング設定システム
JP2007181049A (ja) * 2005-12-28 2007-07-12 Hitachi Cable Ltd スイッチングハブ
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
JP2007189615A (ja) * 2006-01-16 2007-07-26 Mitsubishi Electric Corp ネットワーク監視支援装置、ネットワーク監視支援方法およびネットワーク監視支援プログラム
JP2008311830A (ja) * 2007-06-13 2008-12-25 Nippon Telegr & Teleph Corp <Ntt> 経路計算方法、装置及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080637A (ja) * 2002-08-21 2004-03-11 Nec Corp パスルーティング設定システム
JP2007181049A (ja) * 2005-12-28 2007-07-12 Hitachi Cable Ltd スイッチングハブ
JP2007189615A (ja) * 2006-01-16 2007-07-26 Mitsubishi Electric Corp ネットワーク監視支援装置、ネットワーク監視支援方法およびネットワーク監視支援プログラム
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
JP2008311830A (ja) * 2007-06-13 2008-12-25 Nippon Telegr & Teleph Corp <Ntt> 経路計算方法、装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
久保 健,他: "「ARPとの連携によるMobile IPデータ転送高速化に関する考察」", マルチメディア,分散,協調とモバイル(DICOMO 2003)シンポジウム論文集, vol. 2003, no. 9, JPN6012058996, 4 June 2003 (2003-06-04), JP, pages 109 - 112, ISSN: 0002380445 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039188A (ja) * 2010-08-03 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 通信システム、制御サーバ、フロー制御方法およびそのプログラム
WO2012020564A1 (en) * 2010-08-09 2012-02-16 Nec Corporation Communication system, control device, computer, node control method, and program
JP2013537769A (ja) * 2010-08-20 2013-10-03 日本電気株式会社 通信システム、制御装置、ノード制御方法およびプログラム
WO2012023292A1 (en) * 2010-08-20 2012-02-23 Nec Corporation Communication system, controller, node controlling method and program
US9197555B2 (en) 2010-08-20 2015-11-24 Nec Corporation Communication system, controller, node controlling method and program
JP2016021779A (ja) * 2010-11-22 2016-02-04 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
JP2017163597A (ja) * 2010-11-22 2017-09-14 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
US9497118B2 (en) 2010-11-22 2016-11-15 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US11134012B2 (en) 2010-11-22 2021-09-28 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US10541920B2 (en) 2010-11-22 2020-01-21 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP2012160926A (ja) * 2011-02-01 2012-08-23 Nec Corp 有害サイトフィルタリングシステム及びフィルタリング方法
JP2014506021A (ja) * 2011-02-17 2014-03-06 日本電気株式会社 フロー通信システム
JP2012175531A (ja) * 2011-02-23 2012-09-10 Nec Engineering Ltd 通話切替システム及びその方法並びに通話切替装置及びそのプログラム
WO2012121098A1 (ja) * 2011-03-04 2012-09-13 日本電気株式会社 ネットワークシステム、パケット処理方法、及び記憶媒体
US9203758B2 (en) 2011-03-04 2015-12-01 Nec Corporation Network system, packet processing method and recording medium
KR101494565B1 (ko) * 2011-03-04 2015-02-17 닛본 덴끼 가부시끼가이샤 네트워크 시스템, 패킷 처리 방법 및 기억 매체
JP5682846B2 (ja) * 2011-03-04 2015-03-11 日本電気株式会社 ネットワークシステム、パケット処理方法、及び記憶媒体
WO2012169164A1 (en) 2011-06-06 2012-12-13 Nec Corporation Communication system, control device, and processing rule setting method and program
EP2719130A4 (en) * 2011-06-06 2015-04-15 Nec Corp COMMUNICATION SYSTEM, CONTROL DEVICE, AND TREATMENT RULE CONFIGURATION METHOD AND PROGRAM
EP2719130A1 (en) * 2011-06-06 2014-04-16 NEC Corporation Communication system, control device, and processing rule setting method and program
US20140098674A1 (en) * 2011-06-06 2014-04-10 Nec Corporation Communication system, control device, and processing rule setting method and program
US10505856B2 (en) 2011-10-25 2019-12-10 Nicira, Inc. Chassis controller
JP2016067008A (ja) * 2011-10-25 2016-04-28 ニシラ, インコーポレイテッド ユニバーサルフローを変換するためのシャーシコントローラ
US11669488B2 (en) 2011-10-25 2023-06-06 Nicira, Inc. Chassis controller
US9954793B2 (en) 2011-10-25 2018-04-24 Nicira, Inc. Chassis controller
JPWO2013125342A1 (ja) * 2012-02-20 2015-07-30 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
US9584409B2 (en) 2012-02-20 2017-02-28 Nec Corporation Network system and method of improving resource utilization
CN104137493A (zh) * 2012-02-20 2014-11-05 日本电气株式会社 网络系统和改善资源利用率的方法
WO2013125342A1 (ja) * 2012-02-20 2013-08-29 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
US9548928B2 (en) 2012-03-08 2017-01-17 Nec Corporation Network system, controller, and load distribution method
US9559959B2 (en) 2012-03-09 2017-01-31 Nec Corporation Control apparatus, communication system, switch controlling method and program
WO2013133400A1 (ja) 2012-03-09 2013-09-12 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
US9967177B2 (en) 2012-05-31 2018-05-08 Nec Corporation Control apparatus, communication system, switch control method and program
WO2013180207A1 (ja) 2012-05-31 2013-12-05 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
US9590925B2 (en) 2013-10-18 2017-03-07 Fujitsu Limited Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium
US11113085B2 (en) 2015-09-30 2021-09-07 Nicira, Inc. Virtual network abstraction
CN114246103A (zh) * 2021-12-13 2022-03-29 李平 一种农林经济用水泥柱辅助移除装置

Also Published As

Publication number Publication date
JP5483149B2 (ja) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5483149B2 (ja) 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法
JP6418261B2 (ja) 通信システム、ノード、制御装置、通信方法及びプログラム
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
JP5423787B2 (ja) 経路設定サーバ、経路設定方法、及び経路設定プログラム
JP5640982B2 (ja) 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム
JP5743906B2 (ja) 通信制御システム
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
US20110286326A1 (en) Communication system, forwarding node, path management server, and communication method
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
JP2015507377A (ja) 通信システム、コントローラ、通信方法およびプログラム
US20150256407A1 (en) Control apparatus, control method thereof, and program
EP3192221B1 (en) Method and network node for scalable computer network partitioning
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP6628792B2 (ja) コンピュータネットワークにおけるエンドポイント識別方法
WO2011012081A1 (zh) 一种通信设备路由转发表的压缩方法和装置
WO2014104278A1 (ja) 制御装置、制御装置の制御方法及びプログラム
JP6565914B2 (ja) 通信制御装置、通信システム、通信制御方法および通信制御用プログラム
WO2014123194A1 (ja) 通信システム、制御装置、通信制御方法およびプログラム
JP6344005B2 (ja) 制御装置、通信システム、通信方法及びプログラム
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
JP2017204785A (ja) 通信装置、通信システム、及び通信装置のパケット転送方法
JP2004242007A (ja) 通信ノード、ルーティング情報広告方法、ルーティング情報広告プログラムおよび記録媒体
JP2013062663A (ja) 通信装置、通信方法及びプログラム

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 Request for written amendment filed

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 Request for written amendment filed

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