JP5621781B2 - ネットワークシステムとコントローラと方法とプログラム - Google Patents
ネットワークシステムとコントローラと方法とプログラム Download PDFInfo
- Publication number
- JP5621781B2 JP5621781B2 JP2011535424A JP2011535424A JP5621781B2 JP 5621781 B2 JP5621781 B2 JP 5621781B2 JP 2011535424 A JP2011535424 A JP 2011535424A JP 2011535424 A JP2011535424 A JP 2011535424A JP 5621781 B2 JP5621781 B2 JP 5621781B2
- Authority
- JP
- Japan
- Prior art keywords
- route
- node
- packet
- controller
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、日本国特許出願:特願2009−232306号(2009年10月6日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワークシステムとコントローラと方法とプログラムに関する。
以下の分析は、本発明によってなされたものである。
上記OFSのようにコントローラにより各ノードを制御して経路を決定するネットワークにおいて、障害発生、保守等のために任意の当該ノードが使用できなくなる場合、該ノードを迂回させた経路を設定可能とするシステムの実現が望まれる。また、当該ネットワーク中で所定のノードを迂回させることで、経路の片寄せ等を行い、低消費電力化の実現が可能となる。本願発明者達は、かかるシステムを実現する発明を今回創案したので、以下に提示する。
前記ノードを通らない経路を計算し、
前記経路を形成するノードに対して、前記ノードでのフローに対する動作を規定したフロー情報を生成し、
前記経路上のノードに前記フロー情報を設定するネットワークシステムが提供される。
前記ノードを通らない経路を計算し、
前記経路を形成するノードに対して、前記ノードでのフローに対する動作を規定したフロー情報を生成し、
前記経路上のノードに前記フロー情報を設定するネットワーク制御方法が提供される。
前記ノードを通らない経路を計算して有効経路記憶部に記憶し、
前記経路を形成するノードに対して、前記ノードでのフローに対する動作を規定したフロー情報を生成し、
前記経路上のノードに前記フロー情報を設定するコントローラが提供される。
前記ノードを通らない経路を計算して有効経路記憶部に記憶し、
該経路を形成するノードのフロー情報を生成し、
該経路上のノードに前記フロー情報を設定する、処理を実行させるプログラムが提供される。また本発明によれば、該プログラムを記録したコンピュータ読み出し可能な記録媒体が提供される。
図1は、本発明が適用されるネットワークの一例を示す図である。図1において、スイッチ(OFS:Open Flow Switch)10は、コントローラ(Controller)20から設定されたフロー情報(ルール+アクションを含む、以下、「フローエンティティ」という)を保持し、到着したパケットに対して該当するルールをスイッチ10が保持するフローエンティティテーブル(フローテーブル)から検索し、一致した場合、アクションを実行する。スイッチ(OFS)10は、到着したパケットがフローエンティティテーブルのルールのいずれにも一致しない場合、コントローラ20に通知する(first packetの通知)。フローには優先度があり優先度が高いものが有効となる。コントローラ20は、スイッチ(OFS)10から送られてきたパケットに基づき、適切な経路を算出してフローを生成し、スイッチ群にフローを設定する。なお、図1において、スイッチ(OFS)10の接続構成は、一例でしかなく、FatTree、HyperCube等、ノード等との経路が複数存在すればよい。なお、図1において、ノード30は、複数のスイッチ10に対してフローの制御を行うコントローラ20からは、フローの制御は受けないノードである。ノード(Node)30は、サーバ、ロードバランサ、ファイアウォール、ストレージ(NAS(Network Atatched Storage)、SAN(Storage Area Network)、クラスタストレージisilon等分散ストレージのノード等)、2つ以上のネットワークインタフェースを持つ。ただし、ノード30はコントローラ20と通信する機能を備えた構成としてもよいことは勿論である。また、図1では簡単のため、1台のコントローラ20でスイッチ10を制御する構成として記載されているが、複数のコントローラがそれぞれ配下の1つ又は複数のスイッチを制御する構成としてもよいことは勿論である。
1. コントローラ20は、迂回スイッチが指定されると、コントローラ20が管理保持するトポロジー情報から指定された当該迂回スイッチを削除する。
1. コントローラ20は、迂回すべきスイッチの情報を受けると、トポロジー情報から迂回すべきスイッチ(迂回スイッチ)を取り除く。
・旧経路の先頭のスイッチから、順にフローを削除する。
・先頭のスイッチからフローを削除した段階で、前記先頭のスイッチにおけるパケットのレプリカ設定を解除する(フローエンティティのアクションの設定変更)。
1. コントローラ20は、迂回スイッチの隣接スイッチa、b同士を端点とする経路を算出する。
コントローラ20は、スイッチ10からのパケットを受信するパケット処理部201と、スイッチ10に対してフローエンティティを設定するフローエンティティ設定部202と、経路構成情報(経路を作成する契機となったパケットを入力するスイッチ情報、該パケットのヘッダー情報、該経路を構成するスイッチ識別情報とそのフローエンティティ)を記憶する有効経路記憶部203と、ノード、スイッチのネットワーク・トポロジーを記憶するトポロジー情報204と、経路を算出する経路算出部205と、スイッチの状態を変更するスイッチ状態変更部206と、を備えている。
スイッチ10は、パケット処理部101と、フローエンティティテーブル(「フローテーブル」ともいう)102と、最初のパケットをコントローラ20に通知するパケット通知部103と、コントローラ20から指示されたフローエンティティの設定を行うフローエンティティ設定部104とを備えている。スイッチ10としては、レイヤ2スイッチや、レイヤ3スイッチ、ルーター等、コントローラによりスイッチング機能を制御できるものであれば適用可能である。
・インプットインタフェース(ポート)
・MACソースアドレス
・MACディスティネーションアドレス
・VLAN(Virtual Local Area Network) ID
・TYPE
・IPソースアドレス
・IPディスティネーションアドレス
・プロトコル(UDP(User Datagram Protocol)/TCP(Transmission Control Protocol)/ICPM(Internet Control Message Protocol))、ICMPの場合ICMPタイプ、ICMPコード、TCP/UDPの場合、ソースポート、ディスティネーションポート
を含む。
・アクションのタイプ、
・出力(OUTPUT)、
・パケット・ヘッダーのフィールドの変換(Field Modify)、
を含む。ヘッダーのフィールドの変換は、図27に示したものがある。
・付加の場合、付加するVLAN tagの値、
・変更の場合、変更するVLAN tagの値
が指定される。1つのフローエンティティは1つ又は複数のアクションを含む。なお、フローエンティティにアクションが指定されない場合、該アクションが指定されないフローエントリにマッチしたパケットは、ドロップ(廃棄)するようにしてもよい。
次に、有効経路記憶部203で記憶する情報を説明する。図3は、有効経路記憶部203に格納されるデータのデータ構造の一例を示す図である。
経路管理テーブルは、経路ごとの経路構成情報を管理するテーブルである。経路管理テーブルには1エントリ毎に、1つの経路が対応し、したがって該1つの経路の経路構成情報が対応する。経路管理テーブルの1つのエントリには、経路を形成し、コントローラ20が該経路を新たに作成する契機となったパケット(First Packet)が入力されたスイッチの情報(スイッチID、インタフェース)と、該パケットのヘッダー情報と、当該経路に対応する経路構成情報をさすポインタを有する。パケットのヘッダー情報に関して、ソース及びディスティネーションのIPアドレスのみを記録するようにしてもよい。
経路構成情報は、経路ごとに、経路を構成するスイッチ群(経路の始点から経路の中間点、終点)の各スイッチについて、スイッチの識別情報と該スイッチに設定されるフローエンティティとの組を有する。経路がn個のスイッチから構成される場合、スイッチの識別情報と該スイッチに設定されるフローエンティティとの組をn組有し、これが、経路管理テーブルの該当するエントリのポインタによってポイントされる。経路構成情報を参照することで、現在有効とされる経路がいかなるスイッチから形成されているかがわかる。フローエンティティはルールとアクションを含む(フロー統計情報を含んでもよい)。経路構成情報はテーブル構成としても良いし、スイッチ情報とフローエンティティの組が、経路上の次のスイッチに対応するスイッチ情報とフローエンティティの組をポイントするポインタを備えた線形リスト(リンクドリスト)として構成しても良い。なお、経路算出部205で新たな経路が算出された場合、スイッチ状態変更部206によって有効経路記憶部203の経路管理テーブルに経路構成情報が登録され、経路削除等、無効化された経路は、スイッチ状態変更部206によって有効経路記憶部203から削除される。
図4は、スイッチ10に記憶されるフローエンティティテーブル102の構成例を示す図である。フローエンティティテーブルは、コントローラ20から指示されたフローエンティティをスイッチ10が記憶保持するテーブルである。n本の異なるフローがスイッチ10を通るとき、スイッチ10には、各フローに対応したn個のフローエンティティを保持する。
とされ、1つのフローエンティティが1つのアクションを含む構成として例示されているが、本実施形態において、1つのフローエンティティが複数のクションを含む構成、すなわち、
フローエンティティ=|ルール|アクション1|アクション2|・・・|アクションm|
(ただし、mは2以上の所定の整数)
としてもよいことは勿論である。
図5は、本発明の別の実施形態の構成を示す図である。図5を参照すると、コントローラ20は、図2の構成に加え、経路キャッシュ207を備えている。コントローラ20のこれ以外の構成、スイッチ10は、図2と同一である。経路キャッシュ207には、経路情報がキャッシュされる。経路キャッシュ207には、
・始点となるスイッチ、ノード、
・終点となるスイッチ、ノード、
・経由するスイッチ群の識別子、
が、キャッシュの1エントリとして格納される。
図6は、ネットワーク・トポロジーの一例を示す図である。図6において、スイッチ1〜8は、コントローラ(図示せず)により集中制御されている。A、B、C、Dは、スイッチ、サーバ、ストレージ、ロードバランサ、ファイアウォール、ルーター等、コントローラからパケットを転送するための制御を受けないノードである。図6のネットワーク構成のトポロジー情報の一例を以下の表1に示す。特に制限されないが、トポロジー情報のデータ構造として、表1の例では、端点(スイッチ)と、該端点の接続先とがテーブル形式で格納される。
実施形態におけるスイッチの迂回の前提として、スイッチにパケットが到着した時の動作を以下に説明する。
・MACソースアドレスは、ノードAのMACアドレス、
・MACディスティネーションアドレスは、ノードDのMACアドレス、
・IPソースアドレスは、ノードAのIPアドレス、
・IPディスティネーションアドレスは、ノードノードDのIPアドレスが設定されている。
3. 検索の結果、一致するものがあった場合(S3のYes)、S4へ移行し、一致するものがなかった場合(S3のNo)、S6へ移行する。
図6の経路に対して設定されるフローエンティティの例を以下に示す。なお、本例では、ルールの指定されたフィールド以外はwildcardとしたが、全て指定しても良い。フローエンティティ群は、有効経路記憶部203の経路構成情報に関連付けて記録される(図3参照)。経路構成情報は、経路を構成する複数のスイッチの各々に対して、スイッチの識別子情報と、ルール、アクションを含むフローエンティティとの組が一つのエントリを構成する。前述したように、有効経路記憶部203には、経路を構成するスイッチの識別情報と該スイッチのフローエンティティの組は、テーブル構造、リスト構造で格納されるが、以下では、便宜上、リスト構造の表記を用いてフローエンティティを表す。
(フローエンティティm スイッチn ルール(x)、アクション(y))
は、m番目のフローエンティティにおいて、スイッチ識別情報がスイッチn、ルールがx、アクションがyのエントリを表し、フローエンティティ要素のリンクトリスト((フローエンティティ1)(フローエンティティ2)・・・(フローエンティティn))が、1つの経路の構成情報に対応している。スイッチnは図3のスイッチ識別情報に対応し、ルール(x)とアクション(y)が図3のルールとアクションを含むフローエンティティに対応し、フローエンティティmは図3の経路構成情報中のm番目のフローエンティティであることを表している。また、以下の表記では、1つのフローエンティティは、1つのアクション(y)を含む構成として例示されており、1つのスイッチにおいて、ルールが共通でアクションが異なるフローエンティティを、複数のフローエンティティとして並置しているが、これは、あくまで説明の容易化のためであり、1つのフローエンティティが1つのルール(x)と複数のアクションy1、y2・・・を含む構成としてもよいことは勿論である。
スイッチ1
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース3))
(フローエンティティ2
スイッチ4
ルール(ディスティネーションIPアドレスD=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース4))
(フローエンティティ3
スイッチ6
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース4))
(フローエンティティ4
スイッチ8
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース3)))
スイッチ1
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース3))
(フローエンティティ2
スイッチ4
ルール (ディスティネーションIPアドレスD=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース4))
(フローエンティティ3
スイッチ6
ルール (ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース4))
(フローエンティティ4
スイッチ8
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT:インタフェース3))
(フローエンティティ5
スイッチ8
ルール(ディスティネーションIPアドレス=AのIPアドレス)
アクション(OUTPUT:インタフェース2))
(フローエンティティ6
スイッチ6
ルール(ディスティネーションIPアドレス=AのIPアドレス)
アクション(OUTPUT:インタフェース2))
(フローエンティティ7
スイッチ4
ルール(ディスティネーションIPアドレス=AのIPアドレス)
アクション(OUTPUT:インタフェース1))
(フローエンティティ8
スイッチ1
ルール(ディスティネーションIPアドレス=AのIPアドレス)
アクション(OUTPUT:インタフェース1)))
図4に示した経路キャッシュ207を用いる例について説明する。図5の経路算出部205において、経路をキャッシングする場合について説明する。図7のS11は、図9に示すようになる。
次に、本実施形態における迂回について説明する。管理者が、スイッチを指定してコントローラ20に指示を行う。本実施例では、図6のスイッチ4を迂回する例に即して説明する。図10は、本実施形態における迂回手順を示す流れ図である。図2、図6、図10を参照して、迂回手順を説明する。
図10のステップS106の経路の削除の手順について図11を参照して説明する。
図10のステップS106の経路の再設定の手順について図12を参照して説明する。
・ノードA→スイッチ1→スイッチ4→スイッチ6→スイッチ8→ノードD
に対して、経路:
・ノードA→スイッチ1→スイッチ3→スイッチ6→スイッチ8→ノードD
が迂回経路として設定される。
経路算出部205は、経路キャッシュ207から、始点・終点の両端点が一致する経路を検索する(S106B−c1)。
次に、本発明の別の実施の形態を説明する。本実施形態においては、迂回スイッチに対してバイキャストを行う。新経路を作成後、旧経路を削除する場合。複数のOUTPUTアクションを指定することで、パケットが複製され、送信される(バイキャスト、あるいは、それ以上のキャスティング)。図14は、本実施形態の迂回手順を説明する流れ図である。
A.新経路の算出、
B.新経路の設定、
C.旧経路の削除、
を実行する(S206)。
図14のS206の処理A(新経路の算出)について図15を参照して説明する。
次に図14のS206の処理B(新経路の設定)について図16を参照して説明する。
次に図14のS206の処理C(旧経路の削除)について図17を参照して説明する。
次に、コントローラ20における有効経路記録部203の更新について説明する。
まず、トンネルの設定手順について図18を参照して説明する。
A.トンネル用フローエンティティの算出。
B.トンネル用フローエンティティの設定。
A.トンネルとの接続。
B.始点の旧経路の削除。
次に、S305のトンネル用フローエンティティの算出手順について図19を参照して説明する。
次に、S305のトンネル用フローエンティティの設定手順について図20を参照しして説明する。
次に、図18のS308のトンネルとの接続手順について図21を参照して説明する。
次に、図18のS308の始点の旧経路の削除について図22を参照して説明する。
・フローエンティティのアクションをトンネルの次のスイッチに接続するOUTPUTと、
・パケット・ヘッダーのMACディスティネーションアドレスをトンネル用MACアドレスに変更するアクションに設定し、
・旧フローエンティティは削除する。
・パケット・ヘッダーのMACディスティネーションアドレスを変更するアクションからなるフローエンティティを追加する。
実施例として迂回(トンネル)のフローエンティティの例を説明する。
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス1))
(フローエンティティ2<始点用>
スイッチ1
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス1)
アクション (OUTPUT: インタフェース2))
(フローエンティティ4<終点に追加するもの>
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更、トンネル用MACアドレス2))
(フローエンティティ1<始点用>
スイッチ1
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス2)
アクション(OUTPUT:インタフェース3))
(フローエンティティ4<終点に追加するもの>
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更、トンネル用MACアドレス3))
(フローエンティティ1(始点用)
スイッチ1
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス3)
アクション(OUTPUT: インタフェース4))
(フローエンティティ4(終点に追加するもの)
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス4))
(フローエンティティ2(始点用)
スイッチ2
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス4)
アクション(OUTPUT: インタフェース1))
(フローエンティティ4(終点に追加するもの)
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス5))
(フローエンティティ2(始点用)
スイッチ2
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス5)
アクション(OUTPUT: インタフェース3))
(フローエンティティ4(終点に追加するもの)
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス6))
(フローエンティティ2(始点用)
スイッチ2
ルール(既定のルール)
アクション(OUTPUT: インタフェース2))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス6)
アクション(OUTPUT: インタフェース4))
(フローエンティティ4(終点に追加するもの)
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス7))
(フローエンティティ2(始点用)
スイッチ5
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス7)
アクション(OUTPUT: インタフェース1))
(フローエンティティ4(終点に追加するもの)
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス8))
(フローエンティティ2(始点用)
スイッチ5
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス8)
アクション(OUTPUT: インタフェース2))
(フローエンティティ4(終点に追加するもの)
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス9))
(フローエンティティ2(始点用)
スイッチ5
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス9)
アクション(OUTPUT: インタフェース4))
(フローエンティティ4(終点に追加するもの)
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス10))
(フローエンティティ2(始点用)
スイッチ6
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス10)
アクション(OUTPUT: インタフェース1))
(フローエンティティ4(終点に追加するもの)
スイッチ1
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス11))
(フローエンティティ2(始点用)
スイッチ6
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス11)
アクション(OUTPUT: インタフェース2))
(フローエンティティ4(終点に追加するもの)
スイッチ2
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
スイッチ6
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:トンネル用MACアドレス12))
(フローエンティティ2(始点用)
スイッチ6
ルール(既定のルール)
アクション(OUTPUT: インタフェース1))
(フローエンティティ3
スイッチ3
ルール(MACディスティネーションアドレス=トンネル用MACアドレス12)
アクション(OUTPUT: インタフェース3))
(フローエンティティ4(終点に追加するもの)
スイッチ5
ルール(既定のルール)
アクション(MACディスティネーションアドレス変更:経路管理テーブルに記憶されたMACディスティネーションアドレス)))
次に、本実施形態における、フローエンティティの変更の例について説明する。
・パケット・ヘッダー情報
MACソースアドレス: ノードAのMACアドレス
MACディスティネーションアドレス: ノードDのMACアドレス
プロトコル: TCP
ソースIPアドレス: ノードAのIPアドレス
ディスティネーションIPアドレス: ノードノードDのIPアドレス
ソースポート番号: 設定されていた値
ディスティネーションポート番号:設定されていた値
((フローエンティティ1
スイッチ1
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース3))
(フローエンティティ2
スイッチ4
ルール(ディスティネーションIPアドレスD=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース4))
(フローエンティティ3
スイッチ6
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース4))
(フローエンティティ4
スイッチ8
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース3))
(フローエンティティ5
スイッチ8
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT:インタフェース2))
(フローエンティティ6
スイッチ6
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT:インタフェース2))
(フローエンティティ7
スイッチ4
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1))
(フローエンティティ8
スイッチ1
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1)))
((フローエンティティ9(追加)
スイッチ1
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(MACディスティネーションアドレス変更: トンネル用MACアドレス3))
(フローエンティティ1(変更)
スイッチ1
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース2))
(フローエンティティ2(削除)
スイッチ4
ルール(ディスティネーションIPアドレスD= ノードDのIPアドレス)
アクション(OUTPUT: インタフェース4))
(フローエンティティ10(追加)
スイッチ6
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(MACディスティネーションアドレス変更: DのMACアドレス))
(フローエンティティ3
スイッチ6
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース4))
(フローエンティティ4
スイッチ8
ルール(ディスティネーションIPアドレス=ノードDのIPアドレス)
アクション(OUTPUT: インタフェース3))
(フローエンティティ5
スイッチ8
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース2))
(フローエンティティ11(追加)
スイッチ6
ルール(ディスティネーションIPアドレス= ノードAのIPアドレス)
アクション(MACディスティネーションアドレス変更: トンネル用MACアドレス10))
(フローエンティティ6(変更)
スイッチ6
ルール(ディスティネーションIPアドレス= ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1))
(フローエンティティ7(削除)
スイッチ4
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1))
(フローエンティティ8
スイッチ1
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1))
(フローエンティティ12(追加)
スイッチ1
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(MACディスティネーションアドレス変更: AのMACアドレス10)))
(フローエンティティ8
スイッチ1
ルール(ディスティネーションIPアドレス=ノードAのIPアドレス)
アクション(OUTPUT: インタフェース1))、アクション(MACディスティネーションアドレス変更: AのMACアドレス10))としてもよい。
次に、本実施形態において、迂回解除後(迂回スイッチの復旧後)の動作について説明する。迂回解除時には、コントローラ20は、トポロジー情報204に、使用可能となったスイッチ(例えば迂回スイッチとして指定されたスイッチ4)を追加する。迂回解除後の経路の変更は、必須ではない。トポロジー情報へ削除されたスイッチを追加する場合、迂回用に作成したトンネルの経路は、迂回解除後、
・迂回用トンネルを使用する経路構成情報が存在せず、
・迂回用トンネルを使用する経路構成情報が全て削除されたあと、
の2つの条件が成立した際に、有効経路記憶部203から削除する。
図23は、本発明の別の実施形態を説明する図である。本実施形態においては、コントローラ20において、フローエンティティ設定部202が有効経路記憶部203から経路構成情報を削除する機能を備えている。
20 コントローラ
30 ノード
101 パケット処理部
102 フローエンティティテーブル
103 パケット通知部
104 フローエンティティ設定部
201 パケット処理部
202 フローエンティティ設定部
203 有効経路記憶部
204 トポロジー情報
205 経路算出部
206 スイッチ状態変更部
207 経路キャッシュ
Claims (36)
- 複数のノードに対してフローの制御を行うコントローラと、
前記コントローラによって設定されたフロー情報にしたがって受信パケットに対する処理を行う複数のノードと、
を備え、
前記コントローラからフローの制御を受ける前記複数のノードからなるネットワークの一のノードで、前記ネットワーク外部から宛先に向けて送信されたパケットを受けると、前記コントローラの制御のもと、前記コントローラが計算した経路上のノードが、前記パケットを転送して前記宛先に向けて送信し、
前記コントローラは、前記複数のノードのうち、迂回を指示されたノードを、前記ネットワークのトポロジー情報から除き、
前記ネットワークのトポロジー情報に基づき、前記迂回を指示されたノードを通らずに、前記宛先にパケットを転送するための新経路を計算し、
前記新経路を形成するノードに対して、フロー情報を生成し、
前記コントローラからフローの制御を受ける前記複数のノードのうち前記新経路上のノードに対して、前記フロー情報を設定する、ことを特徴とするネットワークシステム。 - 前記コントローラは、迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求め、有効経路情報を記憶する有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関するフロー情報を生成し、
前記フロー情報を、前記新経路を形成する前記各ノードにそれぞれ設定し、
前記迂回すべきノードを用いた旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項1記載のネットワークシステム。 - 前記コントローラは、迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求め、有効経路情報を記憶する有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関する前記フロー情報を生成し、前記フロー情報を前記新経路を形成する各ノードにそれぞれ設定し、
前記新経路と、前記迂回すべきノードを用いた前記旧経路が分岐する先頭のノードでパケットを、新旧両経路に送るように設定したのち、前記旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項1記載のネットワークシステム。 - 前記コントローラは、前記旧経路を削除する際、前記旧経路の先頭のノードから、順にフローを削除し、前記先頭のノードからフローを削除した段階で、前記先頭のノードにおけるパケットのレプリカ設定を解除する、ことを特徴とする請求項3記載のネットワークシステム。
- 前記コントローラは、迂回すべきノードが指定されると、前記迂回すべきノードの少なくとも2つの隣接ノードを始点と終点とするトンネル経路を設定し、
前記トンネル経路の各ノードに関するフロー情報を生成して設定し、
前記トンネル経路の始点のノードでは、前記トンネル始点のノードに入力され、前記迂回すべきノードを経由する経路へ転送される予定のパケットを、前記トンネル内に転送されるように前記パケットのヘッダーの送信先をトンネルのアドレスに書き換え、
前記パケットはトンネル内を転送され、
前記トンネル終点では、前記パケットのヘッダーの送信先を元の送信先に復元して転送させる、ことを特徴とする請求項1記載のネットワークシステム。 - 前記コントローラは、迂回用に作成した前記トンネル経路のフローを、迂回解除後、迂回用のトンネルを使用する経路構成情報が存在せず、前記迂回用のトンネルを使用する経路構成情報が削除されたあと、削除する、ことを特徴とする請求項5記載のネットワークシステム。
- 前記コントローラは、経路の始点から終点までの各点のノードの各々について、ノードの識別情報とノードに設定されるフロー情報を、経路構成情報として含み、
前記経路構成情報を管理する経路管理テーブルとして、
経路の各々について、
前記経路を形成するノードの情報と、
前記コントローラが前記経路を作成する契機となったパケットのヘッダー情報と、
対応する経路の経路構成情報を指示するポインタ情報と、
を含む、ことを特徴とする請求項1乃至5のいずれか1項に記載のネットワークシステム。 - 前記フロー情報は、
前記ノードに入力されたパケットのヘッダーと照合するルールと、
前記ルールにヒットしたパケットに対する前記ノードでの転送を含む動作を規定するアクションと、
を少なくとも含み、
前記ノードに入力したパケットのヘッダーがフロー情報のルールとマッチしない場合、前記ノードは、前記パケットを前記コントローラに転送し、
前記コントローラは、前記パケットのフローを決定し、前記フロー上の前記ノードに対応するフロー情報を設定し、
前記コントローラは、前記パケットを、前記パケット送信元のノードに返送するか、又は、前記コントローラが接続するノードのうち、前記パケットが転送される経路上にあり、且つ、前記パケット送信元のノードよりも、前記パケットの送信先ノードにより近いノードに送信する、ことを特徴とする請求項1乃至7のいずれか1項に記載のネットワークシステム。 - 前記コントローラは、経路情報として経路の始点、終点の2つの端点、前記経路上のノード群を、キャッシュの一エントリとして格納する経路キャッシュと、
経路を算出する経路算出部と、を備え、
前記経路算出部は、経路計算時、始点、終点を指定して両端が一致する経路を、前記経路キャッシュから検索し、
一致したものがある場合、前記検索された経路を算出経路とし、
一致したものがない場合、経路を算出し、算出した経路情報を、前記経路キャッシュに格納する、ことを特徴とする請求項1乃至8のいずれか1項に記載のネットワークシステム。 - 複数のノードに対してフローの制御を行うコントローラと、
前記コントローラによって設定されたフロー情報にしたがって受信パケットに対する処理を行う複数のノードと、を備えたシステムのネットワーク制御方法であって、
前記コントローラからフローの制御を受ける前記複数のノードからなるネットワークの一のノードで、前記ネットワーク外部から宛先に向けて送信されたパケットを受けると、前記コントローラの制御のもと、前記コントローラが計算した経路上のノードが前記パケットを転送して前記宛先に向けて送信し、
前記コントローラは、前記複数のノードのうち、迂回を指示されたノードを、前記ネットワークのトポロジー情報から除き、
前記ネットワークのトポロジー情報に基づき、前記迂回を指示されたノードを通らずに、前記宛先にパケットを転送するための新経路を計算し、
前記新経路を形成するノードに対して、フロー情報を生成し、
前記コントローラからフローの制御を受ける前記複数のノードのうち前記新経路上のノードに対して、前記フロー情報を設定する、ことを特徴とするネットワーク制御方法。 - 前記コントローラは、迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求め、有効経路情報を記憶する有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関するフロー情報を生成し、
前記フロー情報を、前記経路を形成する前記各ノードにそれぞれ設定し、
前記迂回すべきノードを用いた前記旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項10記載のネットワーク制御方法。 - 前記コントローラは、迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求め有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関する前記フロー情報を生成し、前記フロー情報を前記新経路を形成する前記各ノードにそれぞれ設定し、
前記新経路と、前記迂回すべきノードを用いた前記旧経路が分岐する先頭のノードでパケットを、新旧両経路に送るように設定したのち、前記旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項10記載のネットワーク制御方法。 - 前記コントローラは、前記旧経路を削除する際、前記旧経路の先頭のノードから、順にフローを削除し、前記先頭のノードからフローを削除した段階で、前記先頭のノードにおけるパケットのレプリカ設定を解除する、ことを特徴とする請求項12記載のネットワーク制御方法。
- 前記コントローラは、迂回すべきノードが指定されると、前記迂回すべきノードの少なくとも2つの隣接ノードを始点と終点とするトンネル経路を設定し、
前記トンネル経路の各ノードに関するフロー情報を生成して設定し、
前記トンネル経路の始点のノードでは、前記トンネル始点のノードに入力され、前記迂回すべきノードを経由する経路へ転送される予定のパケットを、前記トンネル内に転送されるように前記パケットのヘッダーの送信先をトンネルのアドレスに書き換え、
前記パケットはトンネル内を転送され、
前記トンネル終点では、前記パケットのヘッダーの送信先を元の送信先に復元して転送させる、ことを特徴とする請求項10記載のネットワーク制御方法。 - 前記コントローラは、迂回用に作成した前記トンネル経路のフローを、迂回解除後、迂回用のトンネルを使用する経路構成情報が存在せず、迂回用トンネルを使用する経路構成情報が削除されたあと、削除する、ことを特徴とする請求項14記載のネットワーク制御方法。
- 前記コントローラは、経路の始点から終点までの各点のノードの各々について、ノードの識別情報とノードに設定されるフロー情報を、経路構成情報として含み、
経路構成情報を管理する経路管理テーブルとして、
経路の各々について、前記経路を形成するノードの情報と、前記コントローラが経路を作成する契機となったパケットのヘッダー情報と、対応する経路の経路構成情報を指示するポインタ情報を含む、ことを特徴とする請求項10乃至15のいずれか1項に記載のネットワーク制御方法。 - 前記フロー情報は、前記ノードに入力されたパケットのヘッダーと照合するルールと、前記ルールにヒットしたパケットに対する前記ノードでの転送を含む動作を規定するアクションと、を少なくとも含み、
前記ノードに入力したパケットのヘッダーがフロー情報のルールとマッチしない場合、前記ノードは、前記パケットを前記コントローラに転送し、
前記コントローラは、前記パケットのフローを決定し、前記フロー上の前記ノードに対応するフロー情報を設定し、前記コントローラは、前記パケットを、前記パケット送信元のノードに返送するか、又は、前記コントローラが接続するノードのうち、前記パケットが転送される経路上にあり、前記パケット送信元のノードよりも、前記パケットの送信先ノードにより近いノードに送信する、ことを特徴とする請求項10乃至16のいずれか1項に記載のネットワーク制御方法。 - 前記コントローラは、経路情報として経路の始点、終点の2つの端点、前記経路上のノード群をキャッシュの一エントリとして格納する経路キャッシュを有し、
前記コントローラにおいて、経路を算出する経路算出部で経路計算時、始点、終点を指定して両端が一致する経路を前記経路キャッシュから検索し、
一致したものがある場合、前記検索された経路を算出経路とし、
一致したものがない場合、経路を算出し、算出した経路情報を前記経路キャッシュに格納する、ことを特徴とする請求項10乃至17のいずれか1項に記載のネットワーク制御方法。 - 設定されたフロー情報にしたがって受信パケットに対する処理を行う複数のノードに対して前記フロー情報を設定しフローの制御を行うコントローラであって、
前記コントローラからフローの制御を受ける前記複数のノードからなるネットワークの一のノードで、前記ネットワーク外部から宛先に向けて送信されたパケットを受けると、前記コントローラの制御のもと、前記コントローラが計算した経路上のノードが、前記パケットを転送して前記宛先に向けて送信し、
前記複数のノードのうち、迂回を指示されたノードを、前記ネットワークのトポロジー情報から除き、
前記ネットワークのトポロジー情報に基づき、前記迂回を指示されたノードを通らずに、前記宛先にパケットを転送するための新経路を計算して有効経路記憶部に記憶し、
前記新経路を形成するノードに対して、前記ノードでのフローに対する動作を規定した前記フロー情報を生成し、
前記コントローラからフローの制御を受ける前記複数のノードのうち前記新経路上のノードに前記フロー情報を設定する、ことを特徴とするコントローラ。 - 迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない経路を求めて前記有効経路記憶部に記憶し、
前記経路を形成する各ノードに関するフロー情報を生成し、前記フロー情報を、前記経路を形成する前記各ノードにそれぞれ設定し、
前記迂回すべきノードを用いた前記旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項19記載のコントローラ。 - 迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求めて前記有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関するフロー情報を生成し、前記フロー情報を、前記新経路を形成する前記各ノードにそれぞれ設定し、
前記新経路と、前記迂回すべきノードを用いた前記旧経路が分岐する先頭のノードでパケットを、新旧両経路に送るように設定したのち、前記旧経路を前記有効経路記憶部から削除する、ことを特徴とする請求項19記載のコントローラ。 - 前記旧経路を削除する際、前記旧経路の先頭のノードから、順にフローを削除し、前記先頭のノードからフローを削除した段階で、前記先頭のノードにおけるパケットのレプリカ設定を解除する、ことを特徴とする請求項21記載のコントローラ。
- 迂回すべきノードが指定されると、前記迂回すべきノードの少なくとも2つの隣接ノードを始点と終点とするトンネル経路を設定して前記有効経路記憶部に記憶し、
前記トンネル経路の各ノードに関するフロー情報を生成して設定し、
トンネル経路の始点のノードでは、前記トンネル始点のノードに入力され、前記迂回すべきノードを経由する経路へ転送される予定のパケットを、前記トンネル内に転送されるように前記パケットのヘッダーの送信先をトンネルのアドレスに書き換え、
前記パケットはトンネル内を転送され、
前記トンネル終点では、前記パケットのヘッダーの送信先を元の送信先に復元して転送させる、ことを特徴とする請求項19記載のコントローラ。 - 迂回用に作成した前記トンネル経路を、迂回解除後、前記トンネルを使用する経路構成情報が存在せず、前記トンネルを使用する経路構成情報が前記有効経路記憶部から全て削除されたあと、削除する、ことを特徴とする請求項23記載のコントローラ。
- 前記有効経路記憶部が、経路の始点から終点までの各点のノードの各々について、ノードの識別情報とノードに設定されるフロー情報を、経路構成情報として含み、
経路構成情報を管理する経路管理テーブルとして、
経路の各々について、
前記経路を形成するノードの情報と、
前記コントローラが経路を作成する契機となったパケットのヘッダー情報と、
対応する経路の経路構成情報を指示するポインタ情報と、
を含む、ことを特徴とする請求項19乃至24のいずれか1項に記載のコントローラ。 - 前記フロー情報は、前記ノードに入力されたパケットのヘッダーと照合するルールと、前記ルールにヒットしたパケットに対する前記ノードでの転送を含む動作を規定するアクションと、を少なくとも含み、
前記ノードに入力したパケットのヘッダーがフロー情報のルールとマッチしない場合、前記ノードは、前記パケットを前記コントローラに転送し、前記コントローラは、前記パケットのフローを決定し、前記フロー上の前記ノードに対応するフロー情報を設定し、前記コントローラは、前記パケットを、前記パケット送信元のノードに返送するか、又は、前記コントローラが接続するノードのうち、前記パケットが転送される経路上にあり、前記パケット送信元のノードよりも、前記パケットの送信先ノードにより近いノードに送信する、ことを特徴とする請求項19乃至25のいずれか1項に記載のコントローラ。 - 経路情報として経路の始点、終点の2つの端点、前記経路上のノード群をキャッシュの一エントリとして格納する経路キャッシュと、
経路を算出する経路算出部と、
を備え、
前記経路算出部は、経路計算時、始点、終点を指定して両端が一致する経路を前記経路キャッシュから検索し、
一致したものがある場合、前記検索された経路を算出経路とし、
一致したものがない場合、経路を算出し、算出した経路情報を前記経路キャッシュに格納する、ことを特徴とする請求項19乃至26のいずれか1項に記載のコントローラ。 - コントローラによって設定されたフロー情報にしたがって受信パケットに対する処理を行う複数のノードからなるネットワークの一のノードで、前記ネットワーク外部から宛先に向けて送信されたパケットを受けると、前記コントローラの制御のもと、前記コントローラが計算した経路上のノードが、前記パケットを転送して前記宛先に向けて送信する、コントローラを構成するコンピュータに、
前記複数のノードのうち、迂回を指示されたノードを、前記ネットワークのトポロジー情報から除き、
前記ネットワークのトポロジー情報に基づき、前記迂回を指示されたノードを通らない新経路を計算して有効経路記憶部に記憶し、
該新経路を形成するノードのフロー情報を生成し、
前記複数のノードのうち、該新経路上のノードに前記フロー情報を設定する、処理を実行させるプログラム。 - 迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求めて前記有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関するフロー情報を生成し、前記フロー情報を、前記新経路を形成する前記各ノードにそれぞれ設定し、
前記迂回すべきノードを用いた前記旧経路を前記有効経路記憶部から削除する処理を前記コンピュータに実行させる請求項28記載のプログラム。 - 迂回すべきノードが指定されると、
前記トポロジー情報から指定された前記迂回すべきノードを削除し、
前記迂回すべきノードを用いた旧経路のそれぞれに対して、前記迂回すべきノードを通らない新経路を求め、前記有効経路記憶部に記憶し、
前記新経路を形成する各ノードに関するフロー情報を生成し、前記フロー情報を前記新経路を形成する前記各ノードにそれぞれ設定し、
前記新経路と、前記迂回すべきノードを用いた前記旧経路が分岐する先頭のノードでパケットを、新旧両経路に送るように設定したのち、前記旧経路を前記有効経路記憶部から削除する処理を前記コンピュータに実行させる請求項28記載のプログラム。 - 前記旧経路を削除する際、前記旧経路の先頭のノードから、順にフローを削除し、前記先頭のノードからフローを削除した段階で、前記先頭のノードにおけるパケットのレプリカ設定を解除する、処理を前記コンピュータに実行させる請求項30記載のプログラム。
- 迂回すべきノードが指定されると、前記迂回すべきノードの少なくとも2つの隣接ノードを始点と終点とするトンネル経路を設定し、前記有効経路記憶部に記憶し、
前記トンネル経路の各ノードに関するフロー情報を生成して設定し、
トンネル経路の始点のノードでは、前記トンネル始点のノードに入力され、前記迂回すべきノードを経由する経路へ転送される予定のパケットを、前記トンネル内に転送されるように前記パケットのヘッダーの送信先をトンネルのアドレスに書き換え、
前記パケットはトンネル内を転送され、
前記トンネル終点では、前記パケットのヘッダーの送信先を元の送信先に復元して転送させる処理を前記コンピュータに実行させる請求項28記載のプログラム。 - 迂回用に作成した前記トンネル経路を、迂回解除後、前記トンネルを使用する経路構成情報が存在せず、前記トンネルを使用する経路構成情報が前記有効経路記憶部から全て削除されたあと、削除する処理を前記コンピュータに実行させる請求項32記載のプログラム。
- 前記有効経路記憶部が、経路の始点から終点までの各点のノードの各々について、ノードの識別情報とノードに設定されるフロー情報を、経路構成情報として含み、
前記有効経路記憶部において、経路構成情報を管理する経路管理テーブルとして、
経路の各々について、
前記経路を形成するノードの情報と、
前記コントローラが経路を作成する契機となったパケットのヘッダー情報と、
対応する経路の経路構成情報を指示するポインタ情報と、
を含み、
前記経路を設定する場合、前記経路管理テーブルに、
パケットのヘッダー情報、
ノード情報、
経路構成情報へのポインタ
を登録する処理を前記コンピュータに実行させる請求項28乃至33のいずれか1項に記載のプログラム。 - 前記フロー情報は、前記ノードに入力されたパケットのヘッダーと照合するルールと、前記ルールにヒットしたパケットに対する前記ノードでの転送を含む動作を規定するアクションと、を少なくとも含み、
前記ノードに入力したパケットのヘッダーがフロー情報のルールとマッチしない場合、前記ノードは、パケットを前記コントローラに転送し、前記コントローラは、前記パケットのフローを決定し、前記フロー上の前記ノードに対応するフロー情報を設定し、前記コントローラは、前記パケットを、前記パケット送信元のノードに返送するか、又は、前記コントローラが接続するノードのうち、前記パケットが転送される経路上にあり、前記パケット送信元のノードよりも、前記パケットの送信先ノードにより近いノードに送信する処理を前記コンピュータに実行させる請求項28乃至34のいずれか1項に記載のプログラム。 - 前記コントローラは、経路情報として経路の始点、終点の2つの端点、前記経路上のノード群をキャッシュの一エントリとして格納する経路キャッシュを備え、
経路計算時、始点、終点を指定して両端が一致する経路を前記経路キャッシュから検索し、
一致したものがある場合、前記検索された経路を算出経路とし、
一致したものがない場合、経路を算出し、算出した経路情報を前記経路キャッシュに格納する処理を、前記コンピュータに実行させる請求項28乃至35のいずれか1項に記載のプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232306 | 2009-10-06 | ||
JP2009232306 | 2009-10-06 | ||
PCT/JP2010/067554 WO2011043379A1 (ja) | 2009-10-06 | 2010-10-06 | ネットワークシステムとコントローラと方法とプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011043379A1 JPWO2011043379A1 (ja) | 2013-03-04 |
JP5621781B2 true JP5621781B2 (ja) | 2014-11-12 |
Family
ID=43856832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011535424A Active JP5621781B2 (ja) | 2009-10-06 | 2010-10-06 | ネットワークシステムとコントローラと方法とプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8792388B2 (ja) |
JP (1) | JP5621781B2 (ja) |
WO (1) | WO2011043379A1 (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5640986B2 (ja) * | 2009-10-07 | 2014-12-17 | 日本電気株式会社 | 通信システムの制御装置、制御方法及びプログラム |
WO2012164958A1 (en) * | 2011-06-02 | 2012-12-06 | Nec Corporation | Communication system, control device, forwarding node, and control method and program for communication system |
CN107071087B (zh) | 2011-08-17 | 2021-01-26 | Nicira股份有限公司 | 逻辑l3路由 |
US9246815B2 (en) * | 2011-10-05 | 2016-01-26 | Nec Corporation | Load reducing system and load reducing method |
US8644149B2 (en) * | 2011-11-22 | 2014-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks |
CN102625363B (zh) * | 2011-12-09 | 2017-08-25 | 南京中兴软件有限责任公司 | 一种移动分组域网络系统 |
KR101887581B1 (ko) * | 2011-12-26 | 2018-08-14 | 한국전자통신연구원 | 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법 |
EP2824878A4 (en) * | 2012-03-09 | 2015-11-11 | Nec Corp | CONTROL, COMMUNICATION SYSTEM, CONTROL TECHNOLOGY AND PROGRAM |
WO2013140796A1 (en) * | 2012-03-23 | 2013-09-26 | Nec Corporation | Communication system, control device, communication method and program |
US20130250802A1 (en) * | 2012-03-26 | 2013-09-26 | Praveen Yalagandula | Reducing cabling costs in a datacenter network |
US9935876B2 (en) | 2012-03-30 | 2018-04-03 | Nec Corporation | Communication system, control apparatus, communication apparatus, communication control method, and program |
WO2013152496A1 (zh) * | 2012-04-12 | 2013-10-17 | 华为技术有限公司 | 接收信息的方法、发送信息的方法及装置 |
CN103220225B (zh) * | 2012-05-21 | 2015-07-08 | 华为技术有限公司 | 报文处理方法及设备、系统 |
WO2014077306A1 (ja) * | 2012-11-15 | 2014-05-22 | 日本電気株式会社 | 制御装置、通信システム、制御情報の作成方法及びプログラム |
US9544223B2 (en) * | 2012-11-16 | 2017-01-10 | Nec Corporation | Communication system, control apparatus, method for controlling same, and program |
WO2014104278A1 (ja) * | 2012-12-28 | 2014-07-03 | 日本電気株式会社 | 制御装置、制御装置の制御方法及びプログラム |
WO2014112614A1 (ja) | 2013-01-21 | 2014-07-24 | 日本電気株式会社 | 制御情報管理装置、制御情報提示方法及びプログラム |
JPWO2014112616A1 (ja) * | 2013-01-21 | 2017-01-19 | 日本電気株式会社 | 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム |
KR20140106235A (ko) * | 2013-02-26 | 2014-09-03 | 한국전자통신연구원 | 오픈플로우 스위치 및 그 패킷 처리 방법 |
US9515872B2 (en) * | 2013-03-12 | 2016-12-06 | Dell Products L.P. | Systems and methods for tunnel-free fast rerouting in internet protocol networks |
US9219689B2 (en) | 2013-03-15 | 2015-12-22 | International Business Machines Corporation | Source-driven switch probing with feedback request |
US9253096B2 (en) | 2013-03-15 | 2016-02-02 | International Business Machines Corporation | Bypassing congestion points in a converged enhanced ethernet fabric |
US9954781B2 (en) | 2013-03-15 | 2018-04-24 | International Business Machines Corporation | Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced Ethernet networks |
US9401857B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Coherent load monitoring of physical and virtual networks with synchronous status acquisition |
KR20140134998A (ko) | 2013-05-15 | 2014-11-25 | 삼성전자주식회사 | 통신 시스템에서 음성 서비스 성능 향상을 위한 방법 및 장치 |
KR20140134943A (ko) * | 2013-05-15 | 2014-11-25 | 삼성전자주식회사 | 통신 망에서 소프트웨어 정의 네트워크를 이용한 데이터 전달 장치 및 방법 |
WO2014198060A1 (zh) * | 2013-06-14 | 2014-12-18 | 华为技术有限公司 | 一种数据报文的路由方法和设备 |
KR102088721B1 (ko) * | 2013-06-25 | 2020-03-13 | 삼성전자주식회사 | SDN 기반 LTE Network 구조 및 동작 방안 |
US9736041B2 (en) * | 2013-08-13 | 2017-08-15 | Nec Corporation | Transparent software-defined network management |
CN103414611B (zh) * | 2013-08-21 | 2016-04-20 | 宁波成电泰克电子信息技术发展有限公司 | 一种高速负载网络均衡系统的流量统计方法 |
JP6268943B2 (ja) | 2013-11-06 | 2018-01-31 | 富士通株式会社 | 情報処理システム,スイッチ装置及び情報処理システムの制御方法 |
JP6123661B2 (ja) * | 2013-12-09 | 2017-05-10 | 三菱電機株式会社 | 経路探索方法及びネットワーク管理装置 |
JP6364761B2 (ja) * | 2013-12-18 | 2018-08-01 | 日本電気株式会社 | ネットワークシステムおよび通信方法 |
EP3079327B1 (en) * | 2013-12-30 | 2018-06-06 | Huawei Technologies Co., Ltd. | Information transmission method, device and system |
CN105009544B (zh) * | 2014-01-23 | 2018-04-20 | 华为技术有限公司 | 报文的隧道处理方法、交换设备及控制设备 |
US8989199B1 (en) | 2014-02-24 | 2015-03-24 | Level 3 Communications, Llc | Control device discovery in networks having separate control and forwarding devices |
US9338694B2 (en) * | 2014-06-16 | 2016-05-10 | Freescale Semiconductor, Inc. | Wireless communication system with SIPTO continuity |
US10355984B2 (en) | 2014-06-18 | 2019-07-16 | Hewlett Packard Enterprise Development Lp | Automatic re-routing of network traffic in a software-defined network |
CN105474587B (zh) * | 2014-06-19 | 2019-02-12 | 华为技术有限公司 | 一种发送数据包的方法及装置 |
EP3142310B1 (en) | 2014-06-30 | 2022-06-15 | Huawei Technologies Co., Ltd. | Method, device, and system for configuring flow entries |
JP2016111648A (ja) * | 2014-12-10 | 2016-06-20 | 富士通株式会社 | 通信制御プログラム、通信制御装置、通信システム、及び、通信制御方法 |
JP6750612B2 (ja) * | 2015-03-24 | 2020-09-02 | 日本電気株式会社 | 通信システム、制御装置、制御方法及びプログラム |
JP6582723B2 (ja) | 2015-08-19 | 2019-10-02 | 富士通株式会社 | ネットワークシステム、スイッチ装置、及びネットワークシステム制御方法 |
WO2017090535A1 (ja) | 2015-11-24 | 2017-06-01 | 日本電気株式会社 | フロー制御装置、通信システム、フロー制御方法及び記録媒体 |
TW201803314A (zh) | 2016-06-29 | 2018-01-16 | 日本電氣股份有限公司 | 伺服器、開關、通信系統、通信方法及記錄媒體 |
US9762495B1 (en) * | 2016-09-13 | 2017-09-12 | International Business Machines Corporation | Weighted distribution across paths of degraded quality |
CN109218175A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种路径数据的删除方法、一种消息转发方法和装置 |
CN111917656B (zh) * | 2017-07-27 | 2023-11-07 | 超聚变数字技术有限公司 | 传输数据的方法和设备 |
JP6778223B2 (ja) * | 2018-02-07 | 2020-10-28 | 日本電信電話株式会社 | 機能連携装置、仮想マシン通信システム、および、機能連携方法 |
CN110912825B (zh) * | 2018-09-18 | 2022-08-02 | 阿里巴巴集团控股有限公司 | 一种报文的转发方法、装置、设备及系统 |
US20220337604A1 (en) * | 2019-09-24 | 2022-10-20 | Pribit Technology, Inc. | System And Method For Secure Network Access Of Terminal |
US20220247719A1 (en) * | 2019-09-24 | 2022-08-04 | Pribit Technology, Inc. | Network Access Control System And Method Therefor |
US12166759B2 (en) | 2019-09-24 | 2024-12-10 | Pribit Technology, Inc. | System for remote execution code-based node control flow management, and method therefor |
US11627111B2 (en) * | 2020-03-02 | 2023-04-11 | Cisco Technology, Inc. | Systems and methods for implementing universal targets in network traffic classification |
TWI789169B (zh) * | 2021-12-21 | 2023-01-01 | 大陸商達發科技(蘇州)有限公司 | 向量包處理轉發方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000059374A (ja) * | 1998-08-06 | 2000-02-25 | Fujitsu Ltd | Atm網のpvcのリルーティング方法および網管理システム |
JP2001237889A (ja) * | 2000-02-25 | 2001-08-31 | Nippon Telegr & Teleph Corp <Ntt> | データ通信網における迂回経路制御方法及び装置 |
JP2001345810A (ja) * | 2000-06-06 | 2001-12-14 | Nec Corp | コネクション迂回システム |
JP2003289325A (ja) * | 2002-03-28 | 2003-10-10 | Fujitsu Ltd | 通信ネットワークの迂回経路設計方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0425146B1 (en) * | 1989-10-23 | 1996-03-13 | AT&T Corp. | Apparatus for controlling a digital crossconnect system from a switching system |
US8199649B2 (en) * | 2001-03-28 | 2012-06-12 | Alcatel Lucent | Method and apparatus for rerouting a connection in a data communication network based on a user connection monitoring function |
US7606237B2 (en) * | 2003-03-31 | 2009-10-20 | Alcatel-Lucent Usa Inc. | Sharing restoration path bandwidth in mesh networks |
JP4682887B2 (ja) * | 2006-03-22 | 2011-05-11 | 日本電気株式会社 | 故障復旧方法およびノードならびにネットワーク |
US8374092B2 (en) * | 2006-08-28 | 2013-02-12 | Cisco Technology, Inc. | Technique for protecting against failure of a network element using multi-topology repair routing (MTRR) |
US8160056B2 (en) * | 2006-09-08 | 2012-04-17 | At&T Intellectual Property Ii, Lp | Systems, devices, and methods for network routing |
JP2008211567A (ja) * | 2007-02-27 | 2008-09-11 | Nec Corp | トラフィック経路変更方法及びシステム |
US8345559B2 (en) * | 2007-07-30 | 2013-01-01 | Alcatel Lucent | MPLS diagnostics tool |
-
2010
- 2010-10-06 JP JP2011535424A patent/JP5621781B2/ja active Active
- 2010-10-06 WO PCT/JP2010/067554 patent/WO2011043379A1/ja active Application Filing
-
2011
- 2011-06-29 US US13/067,847 patent/US8792388B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000059374A (ja) * | 1998-08-06 | 2000-02-25 | Fujitsu Ltd | Atm網のpvcのリルーティング方法および網管理システム |
JP2001237889A (ja) * | 2000-02-25 | 2001-08-31 | Nippon Telegr & Teleph Corp <Ntt> | データ通信網における迂回経路制御方法及び装置 |
JP2001345810A (ja) * | 2000-06-06 | 2001-12-14 | Nec Corp | コネクション迂回システム |
JP2003289325A (ja) * | 2002-03-28 | 2003-10-10 | Fujitsu Ltd | 通信ネットワークの迂回経路設計方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011043379A1 (ja) | 2013-03-04 |
WO2011043379A1 (ja) | 2011-04-14 |
US20110261723A1 (en) | 2011-10-27 |
US8792388B2 (en) | 2014-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5621781B2 (ja) | ネットワークシステムとコントローラと方法とプログラム | |
JP5652400B2 (ja) | ネットワークシステムとコントローラ、方法とプログラム | |
JP6418261B2 (ja) | 通信システム、ノード、制御装置、通信方法及びプログラム | |
JP5494668B2 (ja) | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム | |
JP5880570B2 (ja) | マッピングサーバ装置、ネットワークシステム、パケット転送方法およびプログラム | |
JP5626214B2 (ja) | 通信システム、ノード、制御サーバ、通信方法およびプログラム | |
EP2493128A1 (en) | Communication system, flow control apparatus, flow table updating method and program | |
JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
JP6323444B2 (ja) | 通信システム、制御装置、通信方法およびプログラム | |
WO2014129624A1 (ja) | 制御装置、通信システム、経路切替方法及びプログラム | |
WO2011118586A1 (ja) | 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム | |
JP5747997B2 (ja) | 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム | |
JP5637289B2 (ja) | 通信システム、ノード、制御サーバ、通信方法およびプログラム | |
JP6314970B2 (ja) | 通信システム、制御装置、通信方法およびプログラム | |
JP2012257335A (ja) | 通信システム、ノード、制御装置、通信方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140610 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140808 |
|
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: 20140826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5621781 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |