JP5768861B2 - 通信システム、ノード、制御サーバ、通信方法およびプログラム - Google Patents

通信システム、ノード、制御サーバ、通信方法およびプログラム Download PDF

Info

Publication number
JP5768861B2
JP5768861B2 JP2013228763A JP2013228763A JP5768861B2 JP 5768861 B2 JP5768861 B2 JP 5768861B2 JP 2013228763 A JP2013228763 A JP 2013228763A JP 2013228763 A JP2013228763 A JP 2013228763A JP 5768861 B2 JP5768861 B2 JP 5768861B2
Authority
JP
Japan
Prior art keywords
node
packet
processing
processing rule
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013228763A
Other languages
English (en)
Other versions
JP2014027695A (ja
Inventor
靖伸 千葉
靖伸 千葉
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 JP2013228763A priority Critical patent/JP5768861B2/ja
Publication of JP2014027695A publication Critical patent/JP2014027695A/ja
Application granted granted Critical
Publication of JP5768861B2 publication Critical patent/JP5768861B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2010−060898号(2010年3月17日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、ノード、制御サーバ、通信方法およびプログラムに関し、特に、ネットワークに配置されたノードによりパケットを転送して通信を実現する通信システム、ノード、制御サーバ、通信方法およびプログラムに関する。
非特許文献1、2に示すとおり、近年、オープンフロー(OpenFlow)という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(FlowKey;マッチングキー)と、処理内容を定義したアクション(Action)と、フロー統計情報(Stats)との組が定義される(図24参照)。
図25に、非特許文献2に定義されているアクション名とアクションの内容を例示する。OUTPUTは、パケットを指定ポート(インタフェース)に出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダのフィールドを修正するアクションである。
例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成22年2月26日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 0.9.0. (Wire Protocol 0x98) [平成22年2月26日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf〉
以下の分析は、本発明者によってなされたものである。
上記受信パケットの経路の決定依頼を受けたオープンフローコントローラは(図26のs2 Packet−In参照)、受信パケットの転送経路を決定する。前記受信パケットおよび同一フローに属する後続パケットをホスト(B)に転送するには、前記転送経路上にあるすべてのオープンフロースイッチ(図26のノード#1およびノード#2)に、フローエントリを設定する必要がある。このために、ユーザパケットの転送を開始するまでに時間がかかってしまうという問題点がある。
また、上記フローエントリの設定がオープンフロープロトコルで行われる場合(非特許文献2の「4.6 FLOW Table Modication Messages」参照)、オープンフローコントローラとオープンフロースイッチ間の通信に遅延が生じることがあり、一部のオープンフロースイッチにおけるフローエントリの設定が間に合わず、同一フローのパケットが、経路上のオープンフロースイッチにおいて、フローテーブル上のフローエントリに一致しないと判断され、オープンフローコントローラに対して受信パケットに対するフローエントリの作成依頼が行われてしまうという問題点もある。また、上記フローエントリの設定遅延により、経路上のオープンフロースイッチにおいて、フローテーブル上の意図しないフローエントリに一致し、同一フローのパケットに対し意図しないアクションが実行されるという問題点もある。
上記の対策として、図26に示すように、(オープンフロー)コントローラが、ノード#1、#2に対してフローエントリを送信(図26のs3、s6のFlowMod(Add)参照)するとともに、オープンフロープロトコルに規定されているBarrier Requestを送信することが考えられる(図26のs4 Barrier Request;Barrier Request/Replyについては非特許文献2の「5.3.6 Barrier Message」参照)。Barrier Requestを受信したノードは、「Barrier Reply」(図26のs5)として、Barrier Request受信前に実行した処理内容を応答する。これにより、(オープンフロー)コントローラは、フローエントリが正しく設定されているかどうかを確かめることができる。しかしながら、この方法では、フローエントリを設定したすべてのノードと、Barrier Request/Replyをやり取りすることになり、ユーザパケットを送信できるまでの時間(図26のs1(User Packet)〜s10(User Packet))が、余計長くなってしまうという問題点がある。
もう一つの方法として、上記Barrier Request/Replyに代えて、Stats Request/Replyを用いて、各ノードが該当するエントリを持っているかどうかを確かめる方法もあるが、この場合も、上記Barrier Request/Replyを用いる場合と同様に、フローエントリを設定したすべてのノードと該当するフローエントリが設定されているか否かをやり取りする必要が生じ、ユーザパケットを送信できるまでの時間(図26のs1(User Packet)〜s10(User Packet))が長くなってしまう。
本発明は、上記した事情に鑑みてなされたものであってその目的とするところは、確実かつ高速に処理規則(フローエントリ)を設定することのできる通信システム、ノード、制御サーバ、通信方法およびプログラムを提供することにある。
本発明の第1の視点によれば、パケットの転送経路の少なくとも一部を構成する複数のノードを含み、前記複数のノードにおけるノードは、前記複数のノードの各々で実行されるユーザパケット処理に関する複数の処理規則と、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出可能な第1の手段と、前記出力ポート情報のうち、前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを出力可能な第2の手段とを含み、前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応する出力ポートを示す通信システムが提供される。
本発明の第2の視点によれば、パケットを転送するノードであって、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるユーザパケット処理に関する複数の処理規則、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出可能な第1の手段と、前記出力ポート情報のうち、前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを出力可能な第2の手段とを含み、前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応する出力ポートを示すノードが提供される。
本発明の第3の視点によれば、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるユーザパケット処理に関する処理規則が未設定のパケットに対応する処理規則の設定要求を、前記複数のノードに含まれるノードから受信する第1の手段と、前記設定要求に応じて、前記複数のノードの各々の記憶部に設定される前記複数の処理規則と、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とを、前記複数の処理規則と前記出力ポート情報とを設定した前記設定用のパケットを転送する前記ノードに通知可能な第2の手段とを含み、前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応し、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送させるための出力ポートを示す制御サーバが提供される。
本発明の第4の視点によれば、パケットを転送するノードによる通信方法であって、ユーザパケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行される前記ユーザパケット処理に関する複数の処理規則、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出し、前記出力ポート情報に基づいて、前記処理規則が設定された前記設定用のパケットを転送すべき前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを転送する通信方法が提供される。本方法は、データ転送ネットワークを構成する転送ノードという、特定の機械に結びつけられている。

本発明の第5の視点によれば、パケットを転送するノードに、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理に関する複数の処理規則、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定されたパケットから、前記ノードに対応する処理規則を抽出する処理と、前記出力ポート情報のうち、前記ノードに対応する出力ポートから前記パケットを転送する処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。また、前記プログラムによってノードにおいて実行される処理ステップは、通信方法としても把握できる。
本発明の第6の視点によれば、パケットを転送するノードを制御する制御サーバに、パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるパケット処理に関する複数の処理規則が未設定のパケットに対応する処理規則の設定要求を、前記複数のノードに含まれるノードから受信する処理と、前記設定要求に応じて、前記複数のノードの各々の記憶部に設定される前記複数の処理規則と、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とを、前記複数の処理規則と前記出力ポート情報とを設定したパケットを転送する前記ノードに通知する処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。また、前記プログラムによって制御装置において実行される処理ステップは、通信方法としても把握できる。
本発明によれば、データ転送ネットワークに配置されたノードに、確実かつ高速にフローエントリを設定させることが可能になる。
本発明の第1の実施形態の通信システムの構成を示す図である。 本発明の第1の実施形態のノードの構成を表したブロック図である。 本発明の第1の実施形態の制御装置(コントローラ)の構成を表したブロック図である。 処理規則列付きパケットの構成を説明するための図である。 図4の処理規則列ヘッダの構成例を示す図である。 本発明の第1の実施形態のノードの動作を表したフローチャートである。 本発明の第1の実施形態の制御装置(コントローラ)の動作を表したフローチャートである。 本発明の第1の実施形態の通信システムにおける一連の流れを説明するための参考図とシーケンス図である。 本発明の第2の実施形態の通信システムにおける一連の流れを説明するための参考図とシーケンス図である。 本発明の第2の実施形態の制御装置(コントローラ)およびノードが次ホップに送出する処理規則列付きパケットの構成を表した図である。 図10の処理規則列ヘッダの構成例を示す図である。 本発明の第2の実施形態の制御装置(コントローラ)の動作を表したフローチャートである。 本発明の第2の実施形態のノードの動作を表したフローチャートである。 本発明の第3の実施形態の通信システムにおける一連の流れを説明するための参考図とシーケンス図である。 本発明の第3の実施形態のノードの構成を表したブロック図である。 本発明の第3の実施形態のノードの動作を表したフローチャートである。 本発明の第4の実施形態のノードの構成を表したブロック図である。 本発明の第4の実施形態の制御装置(コントローラ)の構成を表したブロック図である。 本発明の第4の実施形態で用いる署名付き処理規則列ヘッダの構成例を示す図である。 本発明の第4の実施形態の制御装置(コントローラ)の動作を表したフローチャートである。 本発明の第4の実施形態のノードの動作を表したフローチャートである。 本発明の第5の実施形態の通信システムにおける一連の流れを説明するための参考図である。 図22に対応するシーケンス図である。 本発明の第1〜第5の実施形態のノードのフローテーブルに設定されるエントリの構成を表した図である。 非特許文献2に記載されているアクション名とアクションの内容を示す図である。 非特許文献2のオープンフロープロトコルを用いて、フローエントリを確実に設定するための一連の流れを説明するための参考図とシーケンス図である。
はじめに、本発明の概要について説明する。以下、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。本発明の通信システムのノードは、パケットに含まれる処理規則列から、自らの処理規則記憶部に設定すべき処理規則を取り出して、自装置の処理規則記憶部に設定する機能を有している。そして、ノードは、前記設定した処理規則を含む自らの処理規則記憶部に設定された内容を参照して、受信パケットに適合する処理規則を検索し、検索した処理規則に規定された処理内容(パケット書き換え、パケット転送、パケット廃棄など)を実行する。
前記処理規則列は、データ転送ネットワーク上の任意のノードのそれぞれの処理規則記憶部に設定すべき処理規則を並べた構成とすることができる。個々のノードが、処理規則列の中から自らの処理規則記憶部に設定すべき処理規則を特定する方法としては、個々の処理規則にノード識別子を付加しておく方法、処理規則列中の処理規則の位置を個々のノードに割り当てておく方法、処理規則列中の処理規則の順番に従い、個々のノードが先頭または末尾の処理規則を取り出して行く方法などを採用することができる。
前記処理規則と処理規則記憶部は、上述したオープンフロー技術におけるフローエントリとフローテーブルに相当するが、その他の態様を採ることもできる。例えば、受信パケットに適合する処理規則を探して、ヘッダの書き換えやパケットを指定ポートから出力するといった処理を実行できるものであればよい(図25および非特許文献2の4頁−6頁「3.3 Actions」、「Table5」参照)。
また、制御装置(コントローラ;図1の20)が、前記処理規則列を含んだパケットを作成して、ノード#1(図1の10)に送信し、ノード#1(図1の10)が次ホップのノード#2(図1の10)に転送することとしてもよいし、ノード#1(図1の10)が、制御装置(コントローラ;図1の20)から処理規則列を受け取ってパケットに付加して、次ホップのノード#2(図1の10)に転送することとしてもよい。また、制御装置(コントローラ;図1の20)から必要な処理規則を受け取って処理規則列を作成する専用装置を設ける構成も採用可能である。また、ノードのうち、外部のサーバや端末との境界に位置するノードが、制御装置(コントローラ;図1の20)から複数の処理規則を受け取って前記処理規則列を作成する機能を備える構成も採用可能である。
このような処理規則列を含んだパケットを受信したノード(図1のノード#2、または図1のノード#1、#2)が、前記処理規則列の中から自らの処理規則記憶部に設定すべき処理規則を取り出して、自装置の処理規則記憶部に設定することにより、処理規則の設定が完了する。これにより、図26に示した手順を踏むことなく、確実かつ迅速に、後続するユーザパケットを転送することが可能になる。なお、また、最初のパケットに付加された処理規則の削除は、終端となるノード(図1のノード#2)に行わせればよい。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態に係る通信システムの構成を示す図である。図1を参照すると、2つのノード10と、制御装置(コントローラ)20と、ノード10を経由して通信するホスト(A)、(B)が示されている。なお、図1の例では、2つのノード10と、制御装置(コントローラ)20と、2つのホスト(Host(A)、Host(B))を示しているが、それぞれの数は、あくまで例示であり、それぞれ任意の数とすることができる。
図2は、ノード10の詳細構成を表した図である。図2を参照すると、ノード10は、制御装置(コントローラ)20と通信する制御装置通信部11と、フローテーブル13を管理するフローテーブル管理部12と、パケットバッファ14と、転送処理部15とを備えて構成される。なお、ノード10は、必ずしもパケットバッファ14を備えていなくともよい。
さらに、転送処理部15は、フロー設定情報抽出部152にて抽出された処理規則設定情報に従い、フローテーブル管理部12を介してフローテーブル13に処理規則(フローエントリ)を設定する処理等を行うフロー設定情報処理部151と、ユーザトラフィックとして受信したパケットに付加されている処理規則列ヘッダから処理規則設定情報を取り出して、フロー設定情報処理部151に出力するフロー設定情報抽出部152と、受信パケットに処理規則列ヘッダが付加されていなかった場合に、フローテーブル13を検索し、該当する処理規則(フローエントリ)に定められた処理内容(アクション)をアクション実行部154に出力するテーブル検索部153と、前記テーブル検索部153から出力された処理内容(アクション)を実行するアクション実行部154とを備えて構成される。また、テーブル検索部153は、フローテーブル13の検索の結果、受信パケットに適合する処理規則(フローエントリ)が無かった場合、当該受信パケットをパケットバッファ14にバッファするとともに、制御装置(コントローラ)20に対し、処理規則列の作成を依頼する処理を行う。
上記のようなノード10は、オープンフロースイッチに、上記フロー設定情報処理部151およびフロー設定情報抽出部152を追加した構成にて実現することも可能である。
図3は、制御装置(コントローラ)20の詳細構成を表した図である。図3を参照すると、制御装置(コントローラ)20は、処理規則(フローエントリ)を格納したフローエントリデータベース(フローエントリDB)21と、ノード通信部26を介して収集されたノード10の接続関係に基づいてネットワークトポロジ情報を構築するトポロジ管理部22と、トポロジ管理部22にて構築されたネットワークトポロジ情報に基づいてパケットの転送経路および該転送経路上のノード10に実行させるアクションを求める経路・アクション計算部23と、経路・アクション計算部23にて計算された結果を処理規則(フローエントリ)としてフローエントリDB21に登録し、ノード10からの処理規則(フローエントリ)の追加または更新要求に応えるフローエントリ管理部24と、制御メッセージ処理部25と、ノード10との通信を行うノード通信部26とを備えて構成される。なお、ノード10に対して追加または更新を指示した処理規則(フローエントリ)を保持する必要が無い場合、フローエントリデータベース(フローエントリDB)21は省略することが可能である。また、フローエントリデータベース(フローエントリDB)21を別途外部サーバ等に設ける構成も採用可能である。
さらに、制御メッセージ処理部25は、ノードから受信した制御メッセージを解析して、必要な処理を行うメッセージ解析・処理部251と、フローエントリ管理部24から出力された処理規則(フローエントリ)を集約した処理規則列を作成するフローエントリ集約部253を備えたメッセージ生成部252とを備えて構成される。
図4は、制御装置(コントローラ)20からの指示に基づき、ノード10にて作成される処理規則列付きパケットの構成を説明するための図である。図4の例では、処理規則列付きパケット32は処理規則列を含んだ処理規則列ヘッダ33をユーザパケット31の先頭に付加した構成となっている。
図5は、上記処理規則列ヘッダの構成例を示す図である。図5の例では、処理規則列ヘッダ33は、MAC宛先アドレス(MAC DA)、MAC送信元アドレス(MAC SA)、上位プロトコルタイプ(Ether Type)、トータルヘッダ長(Total Length)に、処理規則列付きパケットから処理規則列を除去する処理を行うべき最終ホップのノードを示したLast hop bitmap、Length〜actionsまでのフィールドを一単位とする処理規則設定情報と、当該処理規則列付きパケットを出力すべきポート(当該処理規則列付きパケットを転送すべきノード)を示すOutput port bitmap(出力ポートビットマップ)を設定対象のノード数分付加した構成となっている。
図5のDPID#1は、ノード10の識別子を表している。ofp_matchフィールド〜actionsフィールドは、DPID#1に示されたノードに実行させるフローエントリ操作情報が格納される。フローエントリ操作情報のうち、本発明に関係するものについて説明すると、ofp_matchフィールドは、図24に示すフローエントリのマッチングキー(FlowKey)に相当する情報が格納される。また、idle_timeoutおよびhard_timeoutは、当該処理規則(フローエントリ)の存続期間(有効期間)が格納される。また、actionsは、図24に示すフローエントリのActionsに相当する処理内容が格納される。
Last hop bitmapは、何番目のノードが最終ホップであるかを示している。例えば、Last hop bitmapが、「10000000000・・・・」である場合(1の位置が最終ホップであるノードを示す。)、図5のDPID#1のノードが最終ホップとなる。同様に、Last hop bitmapが、「00001000000・・・・」である場合(1の位置が最終ホップであるノードを示す。)、5番目のフローエントリ操作情報を用いて処理規則(フローエントリ)の設定を行うノードが最終ホップとなる。
Output port bitmap(出力ポートビットマップ)も同様に、各ノードが、何番目のポートから当該処理規則列付きパケットを出力すべきかが、ビットマップで記述される。
なお、本実施形態では、ビットマップで、最終ホップや出力先ポートを示す形態を採用しているが、そのノード10が最終ホップであることや出力先を特定できるものであれば、先述したノード識別子を記述するノード識別子フィールドを設ける等の他の形態を採用することもできる。
上記のような制御装置(コントローラ)20は、非特許文献1、2のオープンフローコントローラに、上記のような処理規則列を作成するフローエントリ集約部253と、ノード10に対して処理規則列を送信する機能を追加することにより実現することも可能である。
続いて、上記したノード10および制御装置(コントローラ)20の動作について説明する。図6は、上記ノード10の動作を表したフローチャートである。図6を参照すると、ノード10は、ホストや他のノード10からパケットを受信すると(ステップS101)、受信パケットから処理規則列の抽出を試みる(ステップS102)。
ステップS102にて、処理規則列を抽出できた場合(ステップS103のYes)、ノード10は、処理規則列から自装置が設定すべき処理規則(フローエントリ)を取り出して、フローテーブル13に設定する(ステップS104)。次に、ノード10は、上記したLast hop bitmapを参照し、自身がラストホップであるか否かを確認する。ここで、自身がラストホップであると判定した場合、ノード10は、受信パケットから処理規則列を削除して、オリジナルパケット(ユーザパケット)を抽出し(ステップS106)、Output port bitmapにて指定されたポートから出力する(ステップS107)。また上記ステップS105にて、自身がラストホップでないと判定した場合、ノード10は、Output port bitmapにて指定されたポートから処理規則列が付いたままのパケット(処理規則列ヘッダ付きパケット)を出力する(ステップS107)。
一方、ステップS102にて、処理規則列を抽出できなかった場合(ステップS103のNo)、ノード10は、フローテーブル13を参照して受信パケットに適合する処理規則(フローエントリ)を検索する(ステップS108)。
フローテーブル13の検索の結果、受信パケットに適合する処理規則(フローエントリ)が見つかった場合(ステップS109のYes)、ノード10は、処理規則(フローエントリ)に定められた処理内容(アクション)を実行する(ステップS110)。
一方、フローテーブル13の検索の結果、受信パケットに適合する処理規則(フローエントリ)が見つからなかった場合(ステップS109のNo)、ノード10は、未知のパケットを受信したと判定し、当該パケット(ユーザパケット)をパケットバッファ14に保存するとともに、制御装置(コントローラ)20に、受信パケットを送信し、処理規則列の作成を要求する(ステップS111)。その後は、制御装置(コントローラ)20にて、図7に示す手順に従って処理規則列を含む応答処理が行われる(後述)。
制御装置(コントローラ)20から、処理規則列が添付された処理規則(フローエントリ)の設定指示(Flow Mod(Add))を受信すると、ノード10は、自身のフローテーブル13に、Flow Mod(Add)に従い処理規則(フローエントリ)を設定する(ステップS112)。
次に、ノード10は、パケットバッファ14にユーザパケットが保存されているか否かを確認し(ステップS113)、保存されていれば(ステップS113のYes)、当該ユーザパケットを読み出し(ステップS114)、当該ユーザパケットに、ステップS112にて受信した処理規則列を処理規則列ヘッダとして追加して(ステップS115)、前記設定した処理規則(フローエントリ)に定められた処理内容(アクション;ここでは、処理規則列ヘッダを追加したパケットの指定ポートからの出力)を実行する(ステップS110)。これにより、処理規則列ヘッダ付きパケットが次ホップのノードに転送される。
一方、ノード10がパケットバッファ14を備えていない場合など、ノード10がユーザパケットを保持していない場合(ステップS113のNo)、制御装置(コントローラ)20からのパケット出力指示(Packet−Out)が受信される(ステップS116)。
前記パケット出力指示(Packet−Out)を受信したノード10は、パケットバッファ14にユーザパケットが保存されているか否かを確認し(ステップS117)、保存されていれば(ステップS117のYes)、当該ユーザパケットを読み出し(ステップS118)、パケット出力指示(Packet−Out)とともに受信した処理内容(アクション;ここでは、処理規則列ヘッダの付加と処理規則列ヘッダを追加したパケットの指定ポートからの出力、または、フローテーブルの検索)を実行する(ステップS110)。また、ユーザパケットを保存していない場合(ステップS117のNo)、ノード10は、パケット出力指示(Packet−Out)とともに受信したユーザパケットについて、パケット出力指示(Packet−Out)とともに受信した処理内容(アクション;ここでは、ユーザパケットへの処理規則列ヘッダの付加と処理規則列ヘッダを追加したパケットの指定ポートからの出力、または、フローテーブルの検索)を実行する(ステップS110)。これにより、処理規則列ヘッダ付きパケットが次ホップのノードに転送される。
続いて、上記図6のステップS111にて、ノード10から問い合わせ(処理規則列の作成要求)を受けた制御装置(コントローラ)20側の動作について説明する。
図7は、上記制御装置(コントローラ)20の動作を表したフローチャートである。図7を参照すると、制御装置(コントローラ)20は、上記図6のステップS111のように、ノード10から問い合わせ(処理規則列の作成要求)を受けると(ステップS001)、トポロジ管理部22にて構築されたネットワークトポロジ情報を取得し、パケットの転送経路を計算する(ステップS002)。
前記パケットの転送経路を計算の結果、経路を作成できない、経路上のノードが故障している等の理由により、転送できないと判定した場合(ステップS103のNo)を除き、制御装置(コントローラ)20は、前記計算された転送経路に対応するアクションを計算し(ステップS004)、当該経路上の各ノード10に適用する処理規則(フローエントリ)を生成する(ステップS005)。
次に、処理規則(フローエントリ)の生成が完了すると、制御装置(コントローラ)20のフローエントリ集約部253にて、処理規則(フローエントリ)の要求元のノード10より下流側のノードに設定されるべき処理規則(フローエントリ)を処理規則列に集約する処理が行われる(ステップS006)。
次に、制御装置(コントローラ)20は、処理規則(フローエントリ)の要求元のノード10に送信する処理規則(フローエントリ)を生成し(ステップS007)、ステップS006で生成した処理規則列を添付して、処理規則(フローエントリ)の要求元のノード10に対して送信する(ステップS008)。
その後、ノード10がパケットをバッファしていない場合(ステップS009のNo)、制御装置(コントローラ)20は、パケットの出力指示(Packet−Out)を行う(ステップS010)。このパケットの出力指示は、出力すべきパケット(ステップS001のPacket−Inで受信したパケット)と、当該パケットに対し実行すべきアクション(処理規則列ヘッダを追加したパケットの作成と、指定ポートから出力)とを指示すること、あるいは、出力すべきパケット(ステップS001のPacket−Inで受信したパケット)と、当該パケットに対し実行すべきアクション(フローテーブルの検索)を指示することによって行われる。なお、ノード10がパケットをバッファしている場合(ステップS009のYes)、先に図6のステップS113、S114で説明したとおり、ノード10側でパケットの出力処理が行われるため、制御装置(コントローラ)20側の処理は省略される。
図8は、ホスト(A)からのユーザパケットを受信したノード#1が、制御装置(コントローラ)20に対し問い合わせ(処理規則列の作成要求)を行ってから、ホスト(B)のユーザパケットが届けられるまでの一連の流れを説明するための参考図とシーケンス図である。
図8に示すように、ホスト(A)が、ノード#1に対し、ホスト(B)宛てのユーザパケットを送信すると(図8のST1;User Packet)、ノード#1は、受信したパケットに処理規則列が付加されておらず、また、フローテーブル13にも適合する処理規則(フローエントリ)が無い未知のパケットであると判定し(図6のステップS103のNo、ステップS109のNo)、制御装置(コントローラ)20に対し問い合わせ(処理規則列の作成要求)を行う(図8のST2;Packet−In)。
前記問い合わせ(処理規則列の作成要求)を受けた制御装置(コントローラ)20は、図7のフローチャートに従って処理規則列を作成し、ノード#1用の処理規則(フローエントリ)とともにノード#1に送信する(図8のST3;Flow Mod(Add) /w 処理規則列)。
ノード#1は、制御装置(コントローラ)20から送信された処理規則(フローエントリ)を自装置のフローテーブル13に設定するとともに、受信ユーザパケットに前記制御装置(コントローラ)20から送信された処理規則列を付加し(図8のST4)、ノード#2に宛てて送信する(図8のST5;User Packet /w 処理規則列)。
前記処理規則列が付加されたユーザパケットを受信したノード#2は、受信したパケットから処理規則列を抽出して、その中のノード#2が設定すべき処理規則(フローエントリ)を取り出して、自装置のフローテーブル13に設定(追加)する(図8のST6)。最後に、ノード#2は、処理規則列が付加されたユーザパケットから、前記処理規則列を取り外して、ユーザパケットを宛先であるホスト(B)に送信する(図8のST7;User Packet)。
以上のように、本実施形態によれば、制御装置(コントローラ)20がノード10に処理規則(フローエントリ)を送信する回数が、転送経路上のノードの数に応じて増大することが無くなるため(図8の例では1回)、最初のユーザパケットの受信後、経路上のノード10にフローエントリの設定が完了するまでの時間を短縮することができる。また、一連の動作の鍵となる処理規則列を付加したFlow Mod(Add)コマンドは、TCP(Transmission Control Protocol)で送信され、その後の処理規則(フローエントリ)の設定も経路上のノードでユーザパケットの転送に先立って順次実行されるため、冒頭に述べた一部のノードにおいて処理規則(フローエントリ)の設定が遅延するといった事態が発生しなくなる。
ここで、図26に示した個々のノードにそれぞれ処理規則(フローエントリ)を設定する場合と、図8のように処理規則列を先頭のノードに送信する場合について、すべてのノードに処理規則(フローエントリ)が設定されるまでの所要時間を比較する。以下、各処理時間/遅延を、次の変数で表して説明するものとする。
: FlowMod (Add)によるフロー設定処理時間
: Barrier Request処理時間
sc: ノード−コントローラ遅延
cs: コントローラ−ノード遅延
: コントローラパス計算時間
: ノード間/ノード−ホストリンク遅延
N : フロー設定対象ノード数
図26の方法によりすべてのノードに処理規則(フローエントリ)が設定されるまでの所要時間Tsetup0は次式にて算出される。次式からも明らかなように、時間Tsetup0は、ノード数Nに応じて増大する。
setup0=Tsc+T+N(Tcs+T+T+Tsc+T
これに対し、本発明により、すべてのノードに処理規則(フローエントリ)が設定されるまでの所要時間Tsetupは次式にて算出される。
setup=Tsc+T+Tcs+N(T+T
両式を対比すると明らかなとおり、本発明の方が、処理規則を設定する際の遅延Tcsが1回で済むのと、Barrier Request/Replyのための処理時間T+応答遅延Tscが不要となる点で有利である。
[第2の実施形態]
続いて、本発明の第2の実施形態について図面を参照して詳細に説明する。上記本発明の第1の実施形態では、前記問い合わせ(処理規則列の作成要求)を受けた制御装置(コントローラ)20がFlow Mod(Add)メッセージを送信することにより1stホップのノードにフローエントリの設定を行っていたが、本実施形態では、Flow Mod(Add)メッセージを用いない別の方法を採用している。なお、第2の実施形態のノード10および制御装置(コントローラ)20の構成は、上記第1の実施形態と同等であるので、説明を省略する。
図9は、本発明の第2の実施形態の通信システムにおける一連の流れを説明するための参考図とシーケンス図である。第1の実施形態で参照した図8との相違点は、図9のST3(またはST3’)において制御装置(コントローラ)20がPacket−Out(ST3)またはEthernet(登録商標)フレーム(ST’3)を用いて処理規則列を送信する点と、図9のST4にて、ノード#1が当該処理規則列から自装置に設定すべき処理規則(フローエントリ)を特定し、設定する点である。以下、本発明の第2の実施形態について上記相違点を中心に説明する。
図10は、本発明の第2の実施形態の制御装置(コントローラ)およびノードが次ホップに送出する処理規則列付きパケットの構成を表した図である。図10のST1は、図9のST1においてホスト(A)からノード#1に送信されるユーザパケット31を示している。
図10のST3は、ノード#1からの問い合わせ(処理規則列の作成要求)を受けた制御装置(コントローラ)20が、図9のST3またはST’3において、ノード#1に送信する処理規則列ヘッダ付きパケット32を示している。
図10のST5は、制御装置(コントローラ)20から処理規則列ヘッダ付きパケット32を受信したノード#1が、図9のステップST5において、自装置に設定すべき処理規則(フローエントリ)を設定した後、ノード#2に送信する処理規則列ヘッダ付きパケット32を示している。
図10のST7は、ノード#1から処理規則列ヘッダ付きパケット32を受信したノード#2が、図9のステップST7において、自装置に設定すべき処理規則(フローエントリ)を設定した後、処理規則列を除去してホスト(B)に送信するユーザパケットを示している。
ここで、上記処理規則列ヘッダと、上記ノード#1、#2が最終ホップであることを判別する仕組みについて再度説明する。
図11は、上記処理規則列ヘッダ33の構成例を示す図であり、基本的な構成は、図5に示したものと同一である。図11の例では、Last Hop Bitmap以下に、ノード#1、ノード#2の処理規則(処理規則設定情報)が並べてあり、ノード識別子が格納されるDPID#1,DPID#2フィールドで、個々のノードが、自装置に設定すべき処理規則を特定できるようになっている。また、図11の例では、ノード#2が最終ホップに当たるため、Last hop bitmapが、「010000000・・・・」と記述されている。
続いて、本実施形態の動作について上記した第1の実施形態と相違する部分を中心に説明する。図12は、第2の実施形態の制御装置(コントローラ)20の動作を表したフローチャートである。
図12は、上記制御装置(コントローラ)20の動作を表したフローチャートである。図12のステップS201〜S206は、上記第1の実施形態の制御装置(コントローラ)20の動作を表した図7のステップS001〜S006と同等であるので説明を省略する。
上記図6のステップS111にて、ノード10から問い合わせ(処理規則列の作成要求)を受けてフローエントリの作成および集約が完了すると、制御装置(コントローラ)20は、ユーザパケットに、ステップS206で生成した処理規則列を処理規則列ヘッダとして添付して、処理規則列付きパケットを作成する(ステップS207;ユーザパケット改変)。
その後、制御装置(コントローラ)20は、パケットの出力指示(Packet−Out)を行う(ステップS208)。このパケットの出力指示は、出力すべきパケット(ステップS207で作成した処理規則付きパケット)と、当該パケットに対し実行すべきアクション(指定ポートから出力)とを指示することによって行われる。
図13は、第2の実施形態のノード10の動作を表したフローチャートである。図13のステップS301〜S310までの動作は、上記した第1の実施形態と同等であり、それぞれ図6のステップS101〜S110に相当するので説明を省略する。
ステップS312で制御装置(コントローラ)20に処理規則列の作成を要求したノード10は、図12にて説明したとおり、上記処理規則列ヘッダが付加されたパケットの出力指示を受信する(ステップS313)。
次に、ノード10は、ユーザパケットを保存済みであるか否かを確認し(ステップS314)、ユーザパケットを保存済みである場合には(ステップS314のYes)、パケットバッファ14からユーザパケットを読み出して(ステップS316)、パケット出力指示(Packet−Out)とともに受信した処理内容(アクション;指定ポートからの出力)を実行する(ステップS310)。
一方、ユーザパケットを保存済みでない場合(ステップS314のNo)、ノード10は、パケット出力指示(Packet−Out)とともに受信したパケットに、処理規則列が含まれているか否かを確認し(ステップS315)、処理規則列が含まれている場合(ステップS315のYes)、ステップS302以下の処理を実行する。また、パケット出力指示(Packet−Out)とともに受信したパケットに、処理規則列が含まれていない場合(ステップS315のNo)、パケット出力指示(Packet−Out)とともに受信したユーザパケットについてパケット出力指示(Packet−Out)とともに受信した処理内容(アクション;ここでは、指定ポートからの出力)を実行する(ステップS310)。
前記ステップS310におけるアクションの実行後、ノード10は、処理規則列を含んだパケットを受信済みであるか否かを判定し(ステップS311)、処理規則列を含んだパケットを受信済みであれば、処理を終了し、処理規則列を含んだパケットを受信済みでなければ、ステップS313に戻って、処理規則列を含んだパケット(Packet−Out)の受信を待つ。
以上のように、本発明は、制御装置(コントローラ)20からパケットの出力指示(Packet−Out)を受信する形態によっても実現できる。また、上記パケットの出力指示(Packet−Out)に代えて、制御装置(コントローラ)20からデータプレーンを介してノード10に、Ethernet(登録商標)フレームを用いて上記パケットの出力指示(Packet−Out)と同等の処理規則列を付加したパケットを送信することによっても実現できる。
[第3の実施形態]
以上、本発明の第1、第2の実施形態を説明したが、制御装置(コントローラ)20にて作成される経路上のノード数が増大すると、処理規則列も長大となり、最大フレーム長を超えてしまうことが考えられる。以下、より多くのノードに処理規則を設定できるように変更を加えた第3の実施形態について説明する。
図14は、本発明の第3の実施形態の通信システムにおける一連の流れを説明するための参考図とシーケンス図である。第2の実施形態で参照した図9との相違点は、図14のST3(またはST3’)において制御装置(コントローラ)20が処理規則列だけを収容した設定専用パケット(Setup Packet)を送信し、その後、制御装置(コントローラ)20からのパケットの出力指示(Packet−Out)に基づいて、元々のユーザパケットを送信するようにした点と、設定専用パケット(Setup Packet)の最終ホップのノードで転送を停止するようにした点である。ここで、設定専用パケット(Setup Packet)とは、ユーザパケットに処理規則列ヘッダを追加するのではなく、ユーザパケットの部分がない処理規則(フローエントリ)の設定専用のパケットのことをいうものとする。以下、本発明の第3の実施形態について上記相違点を中心に説明する。
図15は、本実施形態のノード10aの詳細構成を表した図である。図15を参照すると、本実施形態のノード10aは、第1の実施形態のノード10の構成に加えて、転送処理部15内にパケット遅延部155が追加されている。
パケット遅延部155は、上記のように設定専用パケット(Setup Packet)の後に、ユーザパケットの送信が行われる場合に、フロー設定情報処理部151がフローテーブル管理部12を介してフローテーブル13に処理規則(フローエントリ)の設定を完了する前に、ユーザパケットが受信された場合に当該ユーザパケットによるフローテーブル13の検索が行われないよう、パケットの入力を遅延させるために設置される。
図16は、第3の実施形態のノード10aの動作を表したフローチャートである。図13を用いて説明した第2の実施形態のノード10との相違点は、ステップS310のアクションの実行後、設定専用パケット(Setup Packet)を受信済みかつユーザパケットを送信済みであるか否かを確認し(ステップS311a)、条件を満たしていれば、処理を終了し(ステップS311aのYes)、条件を満たしていなければ、ステップS313で、制御装置(コントローラ)20からパケット出力指示(Packet−Out)の受信を待機する点である。
以上のような本発明の第3の実施形態によれば、処理規則列に、より多くの処理規則(フローエントリ)を収容することが可能になる。
なお必要に応じて、上述した処理規則列に、経路上のいくつかのノード10のための処理規則(フローエントリ)を収容せず、これらのいくつかのノードが、それぞれ制御装置(コントローラ)20に対し問い合わせ(処理規則列の作成要求)を行う構成を採用してもよい。例えば、ある経路の上流側のノードは、第3の実施形態の設定専用パケット(Setup Packet)にて処理規則(フローエントリ)の設定を行うこととし、下流側のノードは、個々に処理規則(フローエントリ)の作成と送信を要求する構成や、第1、第2の実施形態のユーザパケットに付加された処理規則列により処理規則(フローエントリ)を設定する構成等も採用可能である。
[第4の実施形態]
続いて、受信したパケットに含まれる処理規則列の正当性を検証する機能を追加した本発明の第4の実施形態について説明する。以下、本実施形態の基本的な構成は、第3の実施形態と同一であるので、以下、その相違点を中心に説明する。
図17は、本発明の第4の実施形態のノード10bの構成を表したブロック図である。図15に示した第3の実施形態のノード10aとの相違点は、転送処理部15のフロー設定情報抽出部152と、フロー設定情報処理部151との間に、予め定められた制御装置(コントローラ)20aの公開鍵を用いて、処理規則列に付された署名を検証し、正当性が確認できないパケットを廃棄する署名検証部156が追加されている点である。
図18は、本発明の第4の実施形態の制御装置(コントローラ)20aの構成を表したブロック図である。図3に示した第1、第2の実施形態の制御装置(コントローラ)20との相違点はメッセージ生成部252内に、制御装置(コントローラ)20aの秘密鍵を用いて、処理規則列の署名を作成する署名生成部254が追加されている点である。
図19は、本実施形態の処理規則列ヘッダ33aの構成例を示す図である。上記した第1、第3の実施形態の処理規則列ヘッダ33との相違点は、ヘッダの末尾に図19の署名対象範囲で示された各フィールドの情報を用いて作成された署名(Signature)が追加されている点である。
図20は、上記制御装置(コントローラ)20aの動作を表したフローチャートである。上記第3の実施形態の制御装置(コントローラ)20の動作(図14のシーケンス図参照)との相違点はフローエントリ集約後、署名を作成する処理(ステップS407)が追加されている点である。
図21は、第4の実施形態のノード10bの動作を表したフローチャートである。図16を用いて説明した設定専用パケット(Setup Packet)とユーザパケットとが別々に送信される場合の動作とほぼ同一であるが、処理規則列が含まれている場合に、署名検証を行い(ステップS504)、正当性が確認できなければ、当該パケットを廃棄する処理(ステップS505)が追加されている点である。
以上のような本発明の第4の実施形態によれば、不正な処理規則列により処理規則(フローエントリ)が設定されてしまう事態を回避することが可能になり、よりセキュアなネットワークを構築することが可能になる。
なお、上記した実施形態では、非対称鍵を用いるものとして説明したが、共通鍵を用いても良いし、その場合において、適宜、鍵を更新する機能を追加するなどの変形実施も可能である。
また、上記した実施形態では、処理規則列全体の署名(Signature)を作成・付加するものとして説明したが、個々の処理規則設定情報毎に署名を付加する構成や、各ノードがパケット受信の都度、署名を追加ないし削除していくといった変形実施も可能である。
[第5の実施形態]
続いて、処理規則列が含まれるパケットが経路の途中で何らかの事由により廃棄されてしまうパケットロスの問題を考慮した本発明の第5の実施形態について説明する。本実施形態は、第1〜第4の実施形態と同一の構成にて実現可能であるので、以下、その概要を説明する。
本実施形態では、図22に示すとおり、制御装置(コントローラ)が、ある経路の先頭ホップ側と、最終ホップ側の双方から、同一のノードに設定すべき処理規則を含む処理規則列を付加したパケットを送信し、双方向から、順次処理規則(フローエントリ)の設定を行っていくものである。
図23は、本実施形態の一連の流れを表したシーケンス図である。図23に示すとおり、またず、ノード#1が、ホスト(A)から、ユーザパケットを受信すると(ST11)、ノード#1は、制御装置(コントローラ)20に対して、問い合わせ(処理規則列の作成要求;Packet−In)を発行する(ST12)。
前記問い合わせ(処理規則列の作成要求;Packet−In)を受けた制御装置(コントローラ)20は、図12のフローチャートに従って、経路および処理規則列を作成し、経路の先頭ホップのノード#1と、最終ホップのノード#3とに対して、それぞれ、設定専用パケット(SetupPacket)をパケット出力指示(Packet−Out)に内包し送信する(ST13、ST14)。なお、図22および図23には図示しないが、制御装置は、設定専用パケット(SetupPacket)をデータプレーン経由でEthernet(登録商標)フレームの形でノード#1とノード#3に対して送信することも可能である。
前記設定専用パケット(SetupPacket)を受信したノード#1およびノード#3はそれぞれ処理規則列から自らが設定すべき処理規則を抽出・設定し(ST15、ST16)、処理規則列に定められた次ホップに転送する(ST17、ST19)。
設定専用パケット(SetupPacket)を受信したノード#2は、設定専用パケット(SetupPacket)に含まれる処理規則列の中から、自装置が設定すべき処理規則(フローエントリ)を取り出し、フローテーブル13に設定するとともに(ST18)、設定専用パケット(SetupPacket)を次ホップに送信する(ST20、ST21)。なお、図23の例では、ノード#1からの設定専用パケット(SetupPacket)が先に受信されたため、ノード#3からの設定専用パケット(SetupPacket)による処理は省略されている。
その後、制御装置(コントローラ)20が、ノード#1に対して、パケット出力指示(Packet−Out)を送信すると(ST22)、ユーザパケットはノード#1、ノード#2、ノード#3を経てホスト(B)に転送される(ST23〜ST25)。
以上のように本実施形態によれば、複数の経路を用いて重複する処理規則(フローエントリ)を含んだ設定専用パケット(SetupPacket)を送信するため、パケットロスに強くなり、経路上のノードに、より確実に処理規則(フローエントリ)を設定させることができる。
なお、上記した実施形態では、双方向から重複区間が生じるように、処理規則列を含んだパケットを送信するものとして説明したが、同一方向から時間を空けたり、パケット投入点を変えて、処理規則列を含んだパケットを送信するものとしてもよい。
また、第3の実施形態で述べたように経路上のノード数が多い場合には、重複区間が少なくなるように処理規則列を含んだパケットを送信することで、より多くのノードに処理規則(フローエントリ)を設定することが可能になる。
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。上記した実施形態の制御装置(コントローラ)20、20aは、専用のサーバとして実現することもでき、ノード10、10a、10bとしては、上記オープンフロースイッチのほか、IP網におけるルータ、MPLS(Multi−Protocol Label Switching)網におけるMPLSスイッチにて実現することができる。その他、サーバがネットワーク内のノードを集中管理するようなネットワークであれば、本発明を適用することが可能である。
また、上記した各実施形態では、処理規則列中の各処理規則設定情報にノード識別子(DPID)を含めることで、各ノードが自装置に設定すべき処理規則(フローエントリ)を特定するものとして説明したが、処理規則列の先頭または末尾の処理規則設定情報から使用していき、処理規則設定情報が使用済みであることを示す使用済みフラグを立てていく方法や、設定に使われた処理規則設定情報を各ノードが処理規則列中から順次削除していく方法も採用可能である。
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
また、上記した各実施形態では、最終ホップのノードが処理規則列ヘッダを除去するものとして説明したが、ホスト側で除去する構成も採用可能である。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
第1の形態において、
前記処理規則列は、データ転送ネットワークの複数のノードがそれぞれの処理規則記憶部に設定すべき処理規則で構成されている通信システム。
[第3の形態]
第1、第2の形態において、前記各ノードは、前記処理規則列中の各処理規則に対応付けられたノード識別子に基づいて、自装置が設定すべき処理規則を特定する通信システム。
[第4の形態]
第1〜第3のいずれか一の形態において、前記各ノードは、前記処理規則列に添付された出力先情報に基づいて、前記処理規則列を含むパケットを転送する通信システム。
[第5の形態]
第1〜第4の形態のいずれか一の形態において、前記パケットには、最終ホップのノードの情報が含まれており、前記最終ホップのノードが前記処理規則列を削除または前記パケットの転送を停止する通信システム。
[第6の形態]
第2、第4、第5の形態のいずれか一の形態において、前記処理規則列中の処理規則は、前記パケットの転送経路上のノードの順番で並べられており、前記各ノードが、順次、自装置の処理規則記憶部に設定した処理規則の前記パケットからを削除または前記パケットの所定領域に当該処理規則が使用済みであることを書き込むことにより、各ノードがそれぞれ設定すべき処理規則を特定する通信システム。
[第7の形態]
第1〜第6の形態のいずれか一の形態において、前記処理規則列は、追加ヘッダの形態でユーザパケットに付加されている通信システム。
[第8の形態]
第1〜第7の形態のいずれか一の形態において、前記パケットには、前記処理規則列または個々の処理規則の正当性を示す電子署名が付加されており、前記各ノードは、前記処理規則列または個々の処理規則の電子署名の正当性を検証し、前記正当性が確認された場合に前記処理規則の設定を行う通信システム。
[第9の形態]
第1〜第8の形態のいずれか一の形態において、前記処理規則列を含むパケットの起点となるノードに対し、前記処理規則列または前記処理規則列を含むパケットを作成して送信する制御装置を含む通信システム。
[第10の形態]
第1〜第9の形態のいずれか一の形態において、前記制御装置は、前記パケットの経路上の複数のノードに対し、同一のノードに設定すべき処理規則を含む処理規則列、または、前記同一ノードに設定すべき処理規則列を含むパケット、を作成して送信する通信システム。
[第11の形態]
(上記第2の視点によるノード参照)
[第12の形態]
第11の形態において、
前記処理規則列は、データ転送ネットワークの複数のノードがそれぞれの処理規則記憶部に設定すべき処理規則で構成されているノード。
[第13の形態]
第11、第12の形態において、前記処理規則列中の各処理規則に対応付けられたノード識別子に基づいて、自装置が設定すべき処理規則を特定するノード。
[第14の形態]
第11〜第13のいずれか一の形態において、前記処理規則列に添付された出力先情報に基づいて、前記処理規則列を含むパケットを転送するノード。
[第15の形態]
第11〜第14の形態のいずれか一の形態において、前記パケットに含まれる最終ホップのノードの情報が、自装置が最終ホップのノードであることを示す場合、前記処理規則列を削除または前記パケットの転送を停止するノード。
[第16の形態]
第12、第14、第15の形態のいずれか一の形態において、前記処理規則列中の処理規則は、前記パケットの転送経路上のノードの順番で並べられており、前記各ノードが、順次、前記処理規則列からの処理規則の削除または前記パケットの所定領域に当該処理規則が使用済みであることを書き込むことにより、各ノードがそれぞれ設定すべき処理規則を特定するノード。
[第17の形態]
第11〜第16の形態のいずれか一の形態において、ユーザパケットに付加された追加ヘッダに格納されている処理規則列から、自装置の処理規則記憶部に設定すべき処理規則を取り出して設定するノード。
[第18の形態]
第11〜第17の形態のいずれか一の形態において、前記パケットに付加された前記処理規則列または自装置に設定すべき処理規則の電子署名の正当性を検証し、前記正当性が確認された場合に前記処理規則の設定を行うノード。
[第19の形態]
(上記第3の視点による制御サーバ参照)
[第20の形態]
第19の形態において、データ転送ネットワークの複数のノードがそれぞれの処理規則記憶部に設定すべき処理規則で構成した処理規則列を作成する制御サーバ。
[第21の形態]
第19、第20の形態において、前記処理規則列として、処理規則と当該処理規則を設定すべきノードのノード識別子とを対応付けたパケットを送信する制御サーバ。
[第22の形態]
第19〜第21のいずれか一の形態において、前記処理規則列に、前記処理規則列を含むパケットの転送先を示す出力先情報を添付する制御サーバ。
[第23の形態]
第19〜第22のいずれか一の形態において、最終ホップのノードに、前記処理規則列を削除または前記パケットの転送を停止させるための最終ホップのノードの情報を含んだパケットを送信する制御サーバ。
[第24の形態]
第20、第22、第23のいずれか一の形態において、前記パケットの転送経路上のノードの順番で処理規則を並べた処理規則列を作成する制御サーバ。
[第25の形態]
第19〜第24のいずれか一の形態において、前記処理規則列を追加ヘッダの形態でユーザパケットに付加する制御サーバ。
[第26の形態]
第19〜第25のいずれか一の形態において、前記処理規則列または個々の処理規則の正当性を示す電子署名を付加したパケットを送信する制御サーバ。
[第27の形態]
第19〜第26のいずれか一の形態において、前記パケットの経路上の複数のノードに対し、同一のノードに設定すべき処理規則を含む処理規則列、または、前記同一ノードに設定すべき処理規則列を含むパケット、を作成して送信する制御サーバ。
[第28の形態]
(上記第4の視点による通信方法参照)
[第29の形態]
(上記第5の視点によるプログラム参照)
[第30の形態]
(上記第6の視点によるプログラム参照)
10、10a、10b ノード
11 制御装置通信部
12 フローテーブル管理部
13 フローテーブル
14 パケットバッファ
15 転送処理部
20、20a 制御装置
21 フローエントリデータベース(フローエントリDB)
22 トポロジ管理部
23 経路・アクション計算部
24 フローエントリ管理部
25 制御メッセージ処理部
26 ノード通信部
31 ユーザパケット
32 処理規則列ヘッダ付きパケット
33、33a 処理規則列ヘッダ
151 フロー設定情報処理部
152 フロー設定情報抽出部
153 テーブル検索部
154 アクション実行部
155 パケット遅延部
156 署名検証部
251 メッセージ解析・処理部
252 メッセージ生成部
253 フローエントリ集約部
254 署名生成部

Claims (25)

  1. パケットの転送経路の少なくとも一部を構成する複数のノードを含み、
    前記複数のノードにおけるノードは、
    前記複数のノードの各々で実行されるユーザパケット処理に関する複数の処理規則と、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出可能な第1の手段と、
    前記出力ポート情報のうち、前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを出力可能な第2の手段とを含み、
    前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応する出力ポートを示す
    通信システム。
  2. 前記複数の処理規則は、前記複数のノードの各々が記憶部に設定すべき処理規則で構成されている請求項1の通信システム。
  3. 前記ノードは、前記複数の処理規則の各々の処理規則に対応付けられたノード識別子に基づいて、前記ノードが設定すべき処理規則を特定する請求項1または2の通信システム。
  4. 前記設定用のパケットには、最終ホップのノードの情報が含まれており、前記最終ホップのノードが前記複数の処理規則を削除またはパケット転送を停止する請求項1乃至3のいずれか一の通信システム。
  5. 前記複数の処理規則中の処理規則は、前記転送経路上のノードの順番で並べられており、
    前記ノードが、前記設定用のパケットの前記複数の処理規則からの処理規則の削除または前記設定用のパケットの所定領域に当該処理規則が使用済みであることを書き込むことにより、前記複数のノードの各々が、設定すべき処理規則を特定する請求項2または4の通信システム。
  6. 前記複数の処理規則は、追加ヘッダとして前記設定用のパケットに付加されている請求項1から5いずれか一の通信システム。
  7. 前記設定用のパケットには、前記複数の処理規則または個々の処理規則の正当性を示す電子署名が付加されており、
    前記ノードは、前記複数の処理規則列または個々の処理規則の電子署名の正当性を検証し、前記正当性が確認された場合に前記処理規則の設定を行う請求項1から6いずれか一の通信システム。
  8. 前記複数の処理規則を含む前記設定用のパケットの起点となるノードに対し、前記複数の処理規則または前記複数の処理規則を含む前記設定用のパケットを作成して送信する制御装置を含む請求項1から7いずれか一の通信システム。
  9. 前記制御装置は、前記設定用のパケットの経路上の複数のノードに対し、同一のノードに設定すべき処理規則を含む前記複数の処理規則または前記同一ノードに設定すべき前記複数の処理規則を含む前記設定用のパケットを作成して送信する請求項8の通信システム。
  10. パケットを転送するノードであって、
    パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるユーザパケット処理に関する複数の処理規則、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出可能な第1の手段と、
    前記出力ポート情報のうち、前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを出力可能な第2の手段とを含み、
    前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応する出力ポートを示す
    ことを特徴とするノード。
  11. 前記複数の処理規則は、前記複数のノードの各々が記憶部に設定すべき処理規則で構成されている請求項10のノード。
  12. 前記複数の処理規則の各々の処理規則に対応付けられたノード識別子に基づいて、前記ノードが設定すべき処理規則を特定する請求項10または11のノード。
  13. 前記設定用のパケットに含まれる最終ホップのノードの情報が、前記ノードが最終ホップのノードであることを示す場合、前記複数の処理規則を削除またはパケット転送を停止する請求項10から12いずれか一のノード。
  14. 前記複数の処理規則中の処理規則は、前記転送経路上のノードの順番で並べられており、
    前記ノードが、前記設定用のパケットの前記複数の処理規則からの処理規則の削除または前記設定用のパケットの所定領域に当該処理規則が使用済みであることを書き込むことにより、前記複数のノードの各々が設定すべき処理規則を特定する請求項11または13のノード。
  15. 前記設定用のパケットに付加された追加ヘッダに格納されている前記複数の処理規則から、前記ノードの記憶部に設定すべき処理規則を取り出して設定する請求項10から14いずれか一のノード。
  16. 前記設定用のパケットに付加された前記複数の処理規則または前記ノードに設定すべき処理規則の電子署名の正当性を検証し、前記正当性が確認された場合に前記処理規則の設定を行う請求項10から15いずれか一のノード。
  17. パケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行されるユーザパケット処理に関する処理規則が未設定のパケットに対応する処理規則の設定要求を、前記複数のノードに含まれるノードから受信する第1の手段と、
    前記設定要求に応じて、前記複数のノードの各々の記憶部に設定される前記複数の処理規則と、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とを、前記複数の処理規則と前記出力ポート情報とを設定した前記設定用のパケットを転送する前記ノードに通知可能な第2の手段とを含み、
    前記出力ポート情報は、前記処理規則が設定された前記設定用のパケットを転送すべきノードに対応し、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送させるための出力ポートを示す
    ことを特徴とする制御サーバ。
  18. 前記複数のノードがそれぞれの前記記憶部に設定すべき処理規則で構成された前記複数の処理規則を作成する請求項17の制御サーバ。
  19. 前記設定用のパケットとして、処理規則と当該処理規則を設定すべきノードのノード識別子とを対応付けたパケットを前記ノードに通知する請求項17または18の制御サーバ。
  20. 前記設定用のパケットとして、最終ホップのノードに、前記複数の処理規則を削除または前記パケットの転送を停止させるための最終ホップのノードの情報を含んだパケットを送信する請求項17から19いずれか一の制御サーバ。
  21. 前記設定用のパケットの転送経路上のノードの順番で処理規則を並べた前記複数の処理規則を作成する請求項18または20の制御サーバ。
  22. 前記複数の処理規則を追加ヘッダとして前記設定用のパケットに付加する請求項17から21いずれか一の制御サーバ。
  23. 前記設定用のパケットとして、前記複数の処理規則または個々の処理規則の正当性を示す電子署名を付加したパケットを送信する請求項17から22いずれか一の制御サーバ。
  24. 前記複数のノードに対し、同一のノードに設定すべき処理規則を含む前記複数の処理規則または前記同一ノードに設置すべき前記複数の処理規則を含む前記設定用のパケットを作成して送信する請求項17から23いずれか一の制御サーバ。
  25. パケットを転送するノードによる通信方法であって、
    ユーザパケットの転送経路の少なくとも一部を構成する複数のノードの各々で実行される前記ユーザパケット処理に関する複数の処理規則、前記複数のノードの各々に対応する出力ポートを示す出力ポート情報とが設定された設定用のパケットから、前記ノードに対応する処理規則を抽出し、
    前記出力ポート情報に基づいて、前記処理規則が設定された前記設定用のパケットを転送すべき前記ノードに対応する出力ポートから、前記ユーザパケットの転送経路とは少なくとも始点が異なる転送経路に沿って転送される前記設定用のパケットを転送する
    ことを特徴とする通信方法。
JP2013228763A 2010-03-17 2013-11-01 通信システム、ノード、制御サーバ、通信方法およびプログラム Expired - Fee Related JP5768861B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013228763A JP5768861B2 (ja) 2010-03-17 2013-11-01 通信システム、ノード、制御サーバ、通信方法およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010060898 2010-03-17
JP2010060898 2010-03-17
JP2013228763A JP5768861B2 (ja) 2010-03-17 2013-11-01 通信システム、ノード、制御サーバ、通信方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012505722A Division JP5573942B2 (ja) 2010-03-17 2011-03-16 通信システム、ノード、制御サーバ、通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014027695A JP2014027695A (ja) 2014-02-06
JP5768861B2 true JP5768861B2 (ja) 2015-08-26

Family

ID=44649251

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012505722A Expired - Fee Related JP5573942B2 (ja) 2010-03-17 2011-03-16 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP2013228763A Expired - Fee Related JP5768861B2 (ja) 2010-03-17 2013-11-01 通信システム、ノード、制御サーバ、通信方法およびプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012505722A Expired - Fee Related JP5573942B2 (ja) 2010-03-17 2011-03-16 通信システム、ノード、制御サーバ、通信方法およびプログラム

Country Status (9)

Country Link
US (1) US20110307628A1 (ja)
EP (1) EP2549692A1 (ja)
JP (2) JP5573942B2 (ja)
KR (2) KR101503450B1 (ja)
CN (1) CN102804715B (ja)
AU (1) AU2011228096B2 (ja)
BR (1) BR112012021765A2 (ja)
RU (2) RU2012144031A (ja)
WO (1) WO2011115168A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130032314A (ko) * 2010-05-28 2013-04-01 닛본 덴끼 가부시끼가이샤 통신 시스템, 노드, 제어 장치, 통신 방법 및 프로그램
CN103828313B (zh) * 2011-09-27 2017-05-24 日本电气株式会社 网络系统、前端单元和控制消息传输速率降低方法
US10171352B2 (en) 2011-12-21 2019-01-01 Nec Corporation Communication system, node, control device, communication method, and program
KR101887581B1 (ko) * 2011-12-26 2018-08-14 한국전자통신연구원 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법
KR101907932B1 (ko) * 2011-12-27 2018-10-17 한국전자통신연구원 묶음 콘텐츠를 위한 네트워크 기반 콘텐츠 캐싱 지원하는 패킷 포워딩 구조 및 방법
US9537763B2 (en) * 2012-03-02 2017-01-03 Nec Corporation Communication system, control apparatus, control method and program
US20150156164A1 (en) * 2012-06-06 2015-06-04 Nec Corporation Communication system, communication control method, communication relay system, and communication relay control method
WO2014041811A1 (en) * 2012-09-13 2014-03-20 Nec Corporation Control apparatus, control method, communication system, and program
US10097422B2 (en) 2012-09-13 2018-10-09 Nec Corporation Information processing apparatus, configuration method, communication system, and program
JP6492660B2 (ja) 2012-10-03 2019-04-03 日本電気株式会社 通信システム、制御装置、制御方法及びプログラム
US8875256B2 (en) * 2012-11-13 2014-10-28 Advanced Micro Devices, Inc. Data flow processing in a network environment
US9137174B2 (en) * 2013-03-14 2015-09-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Synchronization of OpenFlow controller devices via OpenFlow switching devices
US9210074B2 (en) 2013-05-03 2015-12-08 Alcatel Lucent Low-cost flow matching in software defined networks without TCAMs
US9712431B2 (en) 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
EP3021533B1 (en) * 2013-07-19 2019-01-02 Huawei Technologies Co., Ltd. Switching device, controller, and method and system for switching device configuration and packet processing
CN104378249B (zh) * 2013-08-13 2019-06-11 中兴通讯股份有限公司 数据链路的检测方法、装置、系统、控制器及网关
WO2015075862A1 (ja) * 2013-11-20 2015-05-28 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法およびプログラム
WO2015074258A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种控制业务数据在虚拟网络中转发的方法、装置及系统
CN104811429A (zh) * 2014-01-27 2015-07-29 中兴通讯股份有限公司 一种of协议指令实现方法及控制器
US10686712B2 (en) 2014-05-01 2020-06-16 Nec Corporation Communication apparatus, control apparatus, communication system, received packet processing method, communication apparatus control method, and program
EP3148126A4 (en) 2014-05-21 2017-11-29 Nec Corporation Communication apparatus, control apparatus, communication system, and transmission control method
JP6347177B2 (ja) 2014-08-22 2018-06-27 富士通株式会社 転送装置、制御装置、および、通信方法
US10541915B2 (en) * 2015-03-27 2020-01-21 Intel Corporation Techniques for routing packets within an evolved packet core
CN106559439B (zh) * 2015-09-25 2019-10-01 华为技术有限公司 一种业务处理方法及设备
CN108075977B (zh) * 2016-11-10 2020-10-16 英业达科技有限公司 网络系统控制方法及网络系统

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265092A (en) * 1992-03-18 1993-11-23 Digital Equipment Corporation Synchronization mechanism for link state packet routing
JP2570963B2 (ja) * 1993-05-31 1997-01-16 日本電気株式会社 パケット網における中継経路情報を用いたシグナリング方式
GB2295751A (en) * 1994-11-30 1996-06-05 Ibm Data communication system using directory service providing routing information
US5721820A (en) * 1995-09-11 1998-02-24 International Business Machines Corporation System for adaptively routing data in switching network wherein source node generates routing message identifying one or more routes form switch selects
US5959995A (en) * 1996-02-22 1999-09-28 Fujitsu, Ltd. Asynchronous packet switching
US6301257B1 (en) * 1997-03-19 2001-10-09 Nortel Networks Limited Method and apparatus for transmitting data frames between switches in a meshed data network
JP3721784B2 (ja) * 1998-05-27 2005-11-30 富士電機機器制御株式会社 ネットワークシステム、送信装置、中継装置、および、記録媒体
US6717942B1 (en) * 1998-06-25 2004-04-06 Avici Systems, Inc. Space-efficient source routing
US6212185B1 (en) * 1998-10-14 2001-04-03 Nortel Networks Corporation Multiple network address resolution
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
AU774402B2 (en) * 1998-12-03 2004-06-24 Nortel Networks Corporation Providing desired service policies to subscribers accessing internet
JP2000295274A (ja) * 1999-04-05 2000-10-20 Nec Corp パケット交換装置
US6606315B1 (en) * 1999-07-02 2003-08-12 Cisco Technology, Inc. Synchronizing service instructions among forwarding agents using a service manager
JP3449326B2 (ja) * 1999-12-08 2003-09-22 日本電気株式会社 データ検索システム及びパケット処理装置並びに制御方法
US6775258B1 (en) * 2000-03-17 2004-08-10 Nokia Corporation Apparatus, and associated method, for routing packet data in an ad hoc, wireless communication system
FI112152B (fi) * 2000-09-29 2003-10-31 Nokia Corp Osoitteistus ja reititys ad hoc-liikkuvuusverkoissa
JP2002198989A (ja) * 2000-12-25 2002-07-12 Yaskawa Electric Corp 制御システムにおけるネットワーク中継方法および制御システム
US7280545B1 (en) * 2001-12-20 2007-10-09 Nagle Darragh J Complex adaptive routing system and method for a nodal communication network
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
US20040004956A1 (en) * 2002-07-03 2004-01-08 Agilent Technologies, Inc. Apparatus and method for routing information from a telecommunications network
JP2004080637A (ja) * 2002-08-21 2004-03-11 Nec Corp パスルーティング設定システム
FR2848050B1 (fr) * 2002-12-02 2005-04-01 Cit Alcatel Dispositif d'acces a un reseau de telecommunication pour la degradation selective des flots de donnees
US7394809B2 (en) * 2003-03-31 2008-07-01 Intel Corporation Method and apparatus for packet classification using a forest of hash tables data structure
US7760701B2 (en) * 2003-05-06 2010-07-20 Cisco Technology, Inc. Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet
US7864708B1 (en) * 2003-07-15 2011-01-04 Cisco Technology, Inc. Method and apparatus for forwarding a tunneled packet in a data communications network
US7466814B1 (en) * 2003-09-24 2008-12-16 Embarq Holdings Company, Llc Switch code routing management method and system
US7664032B2 (en) * 2003-11-10 2010-02-16 Oki Electric Industry Co., Ltd. Communication terminal and communication network
US20050100035A1 (en) * 2003-11-11 2005-05-12 Avici Systems, Inc. Adaptive source routing and packet processing
US7376122B2 (en) * 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
EP1589701A3 (en) * 2004-04-21 2010-07-14 Samsung Electronics Co., Ltd. System and method for relaying data in coordinator-based wireless network
US8130768B1 (en) * 2005-07-14 2012-03-06 Avaya Inc. Enhanced gateway for routing between networks
US7664088B2 (en) * 2005-12-08 2010-02-16 Electronics And Telecommunications Research Institute Method for providing QoS using flow label in providing multimedia service in IPv6 network and system applying the same
CN100561978C (zh) * 2006-04-26 2009-11-18 华为技术有限公司 一种策略路由装置和方法
EP2033377B1 (en) * 2006-06-27 2011-08-03 Telefonaktiebolaget LM Ericsson (publ) Forced medium access control (MAC) learning in bridged ethernet networks
US7688761B2 (en) * 2006-08-09 2010-03-30 Cisco Technology, Inc. Method and system for classifying packets in a network based on meta rules
JP5076581B2 (ja) * 2007-03-23 2012-11-21 日本電気株式会社 光通信システムおよびノード装置およびサービスクラス設定方法
US8005000B1 (en) * 2007-04-06 2011-08-23 Cisco Technology, Inc. Effective measurement/notification of SLA in a service oriented networked environment
US8325627B2 (en) * 2007-04-13 2012-12-04 Hart Communication Foundation Adaptive scheduling in a wireless network
US8085659B2 (en) * 2007-08-28 2011-12-27 Universidad Politecnica De Valencia Method and switch for routing data packets in interconnection networks
EP2582092A3 (en) * 2007-09-26 2013-06-12 Nicira, Inc. Network operating system for managing and securing networks
US8874789B1 (en) * 2007-09-28 2014-10-28 Trend Micro Incorporated Application based routing arrangements and method thereof
US7873042B2 (en) * 2007-12-21 2011-01-18 Sprint Communications Company L.P. Multi-layered packet security
US8194678B2 (en) * 2008-07-21 2012-06-05 International Business Machines Corporation Providing point to point communications among compute nodes in a global combining network of a parallel computer
WO2010022767A1 (en) * 2008-08-26 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding in a network
US8665874B2 (en) * 2008-11-07 2014-03-04 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for forwarding data packets using aggregating router keys
US8711678B2 (en) * 2008-12-02 2014-04-29 Nec Corporation Communication network management system, method and program, and management computer
US8442048B2 (en) * 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
TWI418182B (zh) * 2009-11-19 2013-12-01 Ind Tech Res Inst 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品
US20110202682A1 (en) * 2010-02-12 2011-08-18 Microsoft Corporation Network structure for data center unit interconnection
US8571040B2 (en) * 2010-03-01 2013-10-29 Deutsche Telekom Ag Apparatus, method, manufacture, and system for providing network services from building blocks

Also Published As

Publication number Publication date
JPWO2011115168A1 (ja) 2013-07-04
KR101503450B1 (ko) 2015-03-18
RU2016113701A (ru) 2017-10-12
KR101495126B1 (ko) 2015-02-24
JP2014027695A (ja) 2014-02-06
EP2549692A1 (en) 2013-01-23
RU2012144031A (ru) 2014-04-27
AU2011228096B2 (en) 2015-12-03
JP5573942B2 (ja) 2014-08-20
CN102804715A (zh) 2012-11-28
AU2011228096A1 (en) 2012-09-13
CN102804715B (zh) 2016-11-09
BR112012021765A2 (pt) 2016-05-10
KR20120135251A (ko) 2012-12-12
KR20140004814A (ko) 2014-01-13
WO2011115168A1 (ja) 2011-09-22
US20110307628A1 (en) 2011-12-15

Similar Documents

Publication Publication Date Title
JP5768861B2 (ja) 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP5598582B2 (ja) 通信システム、ノード、制御装置、通信方法およびプログラム
JP6418261B2 (ja) 通信システム、ノード、制御装置、通信方法及びプログラム
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
WO2011118585A1 (ja) 情報システム、制御装置、仮想ネットワークの管理方法およびプログラム
US10171352B2 (en) Communication system, node, control device, communication method, and program
WO2011118586A1 (ja) 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム
JPWO2013062070A1 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP2016015687A (ja) パケット転送システム,及びパケット転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150430

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150508

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: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5768861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees