JPWO2014142256A1 - 通信システム、制御装置、通信方法およびプログラム - Google Patents

通信システム、制御装置、通信方法およびプログラム Download PDF

Info

Publication number
JPWO2014142256A1
JPWO2014142256A1 JP2015505562A JP2015505562A JPWO2014142256A1 JP WO2014142256 A1 JPWO2014142256 A1 JP WO2014142256A1 JP 2015505562 A JP2015505562 A JP 2015505562A JP 2015505562 A JP2015505562 A JP 2015505562A JP WO2014142256 A1 JPWO2014142256 A1 JP WO2014142256A1
Authority
JP
Japan
Prior art keywords
communication
flow
matching rule
entry
server
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
JP2015505562A
Other languages
English (en)
Other versions
JP6314970B2 (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
Publication of JPWO2014142256A1 publication Critical patent/JPWO2014142256A1/ja
Application granted granted Critical
Publication of JP6314970B2 publication Critical patent/JP6314970B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は、通信種別によってマッチングルールを変更可能とした装置、システムを提供する。通信の種類に応じてフローエントリのマッチングルールを決定する手段を備えた制御装置と、前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する通信装置と備える。

Description

(関連出願についての記載)
本発明は、日本国特許出願:特願2013−051863号(2013年03月14日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信装置、通信方法およびプログラムに関する。
近年、集中制御型のネットワークアーキテクチャが提案されている。集中制御型のネットワークアーキテクチャの例として、オープンフロー(OpenFlow)という技術がある(特許文献1、非特許文献1、2等参照)。
<オープンフロー(OpenFlow)>
オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。例えば非特許文献2等に仕様化されているオープンフロースイッチ(OpenFlow Switch:「OFS」と略記される)は、制御装置に相当するオープンフローコントローラ(OpenFlow Controller:「OFC」と略記される)との通信用のセキュアチャネルを備えている。OFSは、OFCから追加または書き換えが適宜指示されるフローテーブルを備え、例えば受信パケットに関して設定されたフローテーブルに従って動作する。
<フローテーブル>
図7は、フローテーブルの1つのフローエントリ120の情報を模式的に例示した図である。フローテーブルには、フロー毎に、受信パケットのヘッダの所定の情報と照合するマッチングルール(照合欄:Match Field)(ヘッダフィールド)と、マッチングルールに照合した時の処理内容(動作)を定義したアクション(Actions)と、パケット転送数やエラー等のフロー統計情報(Counters)と、の組(エントリ)がフロー毎に定義される。フローは、例えばレイヤ1(L1:物理ポート等)、レイヤ2(L2:MAC(Media Access Control))、レイヤ3(L3:IP(Internet Protocol))、レイヤ4(L4:ポート番号)等の各レイヤの任意のアドレス/識別子の組み合わせで識別、特定される。ルールの取り扱いポリシー(アクション)に従い、エンド・ツー・エンド(end-to-end)で最適な経路を選択して転送することをフロースイッチングという。
OFSは、パケットを受信すると、自身のフローテーブルから、該受信パケットのヘッダ情報に適合するマッチングルール(図7の「Match Field」)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリ(フローエントリ)が見つかった場合、OFSは、フロー統計情報(図7の「Counters」)を更新するとともに、該受信パケットに対して、該フローエントリのアクションフィールド(図7の「Actions」)に記述された処理内容(例えば指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。
<パケットイン(Packet−In)>
一方、検索の結果、受信パケットに適合するエントリ(フローエントリ)が見つからなかった場合、OFSは、セキュアチャネルを介してOFCに当該受信パケットを転送し(Packet−Inメッセージ)、OFCに対して、当該受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼する。このPacket−Inメッセージを受け、OFCは、ネットワークトポロジ情報に基づき、経路計算を行い、フローエントリを生成する。OFCは、計算した経路上のOFSに対して、該フローテーブルを更新するためのメッセージ(フローモディファイ(FlowModify)メッセージ)を送信する。OFSは、OFCで決定したパケットの経路に対応するフローエントリ情報を、該OFCからのFlowModify)メッセージにて受け取り、フローテーブルを更新する。このように、OFSにおけるフローエントリ情報に基づくパケット転送処理を、OFC側で一元的に管理している。
国際公開第2008/095010号
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks,"[online]、[平成24年10月31日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow−wp−latest.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 Implemented(Wire Protocol 0x02) [平成24年10月31日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow−spec−v1.1.0.pdf〉
関連技術の問題点について、図8、図9を参照して説明する。図8を参照すると、例えば、通信システム(プロトタイプ例)は、OFC110、OFS121、122、123、通信端末131、132、サーバ(Server)141、142、ルータ150を備えている。サーバ141、142は、Active(稼動)/Standby(待機)の冗長構成とされる。例えばActive状態のサーバに障害が発生して処理の続行が不可能になると、Standby状態のサーバを稼働させて障害が発生したサーバで行っていた処理の引き継ぎを行う。以下の説明では、サーバ141がActive状態に、サーバ142がStandby状態に遷移しているものとする。なお、通信端末、OFSの数等に特に制限はない。
<サーバ〜サーバ間通信>
図9を参照して、図8の通信システム(プロトタイプ例)における、サーバ141とサーバ142間での通信時の経路制御処理、通信端末131および通信端末132の通信時の経路制御処理について説明する。まず、サーバ(Server)141〜サーバ142間の通信時の経路制御処理について説明する。なお、処理を説明する文の括弧内の番号は、図9に模式的に示したシーケンスの番号に対応する。
Active状態のサーバ141は、Standby状態のサーバ142へのアクセスを開始するために、データパケットを送信する(1)。OFS123は、サーバ141からのデータパケットを受信する。OFS123において、受信したデータパケットのフローは設定されていず(該データパケットに対応するフローエントリがフローテーブルに設定されていない)、新規フローである。このため、OFS123は、OFC110に対して、Packet−Inメッセージを送信し、受信したデータパケットに対する経路設定を要求する(2)。
OFS123からのPacket−Inメッセージを受信したOFC110は、通信可能と判断すると、サーバ141〜サーバ142間の経路を計算する。そして、OFC110は、OFS123に対して、フローテーブルを更新するためのメッセージ(フローモディファイ(FlowModify)メッセージ:「FlowMod」と略記される)を送信する(3)。OFC110からのFlowModメッセージを受信したOFS123は、サーバ141〜サーバ142間通信を実現するためのフローエントリをフローテーブルに設定する。その際、サーバ間の通信は、重要であり、きめ細かく通信状態を管理するために、マッチングルール(受信パケットのヘッダ情報と照合されるフローエントリのMatch Field)として、例えばOpenFlowで指定可能なL2〜L4の全てのパラメータを指定するものとする。
OFC110は、パケットアウト(Packet−Out)メッセージをOFS123に転送し(4)、OFS123に対して、パケットの転送を指示する。Packet−Outメッセージを受信したOFS123は、番号1のシーケンスでサーバ141から受け取り、OFS123内に記憶保持しているデータパケットをサーバ142に転送する(5)。サーバ142は、OFS123を介して、サーバ141に対してデータパケットを転送する(6)。すなわち、サーバ141〜サーバ142間の通信用の経路が設定されると、サーバ141とサーバ142は、該経路を介して、通信を開始する。
<通信端末〜サーバ間通信>
さらに図9を参照して、通信端末131の通信時の経路制御処理について説明する。通信端末131は、サーバ141へのアクセスを開始するために、データパケットを送信する(7)。
OFS121は、通信端末131から送信されたデータパケットを受信する。OFS121において、該データパケットのフローは設定されていず、新規フローである。このため、OFS121は、OFC110に対してPacket−Inメッセージを送信し(8)、受信したデータパケットに対する経路設定を要求する。
OFC110は、通信可能と判断すると、通信端末131〜サーバ141間の経路を計算する。OFC110は、該経路上のOFSに対してそれぞれFlowModメッセージを送信し(9−1〜9−3)、通信端末131〜サーバ141間の通信を実現するためのフローエントリを、通信経路上のOFS121、122、123のそれぞれのフローテーブルに設定する。その際、サーバ141、142間の通信でマッチングルールとして、例えばOpenFlowで指定可能なL2〜L4までの全てのパラメータを指定している。このため、この通信端末131〜サーバ141間の通信においても、OFS121、122、123には、同じマッチングルール(L2〜L4までの全てのパラメータを指定したルール)を用いる。
OFC110は、パケットアウト(Packet−Out)メッセージをOFS121に送信し(10)、パケットの転送を指示する。Packet−Outメッセージを受け取ったOFS121は、番号7のシーケンスで通信端末131から受け取りOFS121内に保持していたデータパケットを、OFS122、OFS123を介して、サーバ141に転送する(11)。通信端末131〜サーバ141間の通信用の経路が設定されると、通信端末131はサーバ141と通信(データパケットの転送)を開始する(12)。
<別の通信端末〜サーバ間通信>
その後、別の通信端末132がサーバ141と通信する場合、図9に、シーケンス番号12から18として示したように、通信端末131〜サーバ141間の通信時のシーケンス番号7から11までの動作と同じ処理が行われる。すなわち、OFC110は、OFS121からのPacket−Inメッセージを受けると(14)、通信端末132〜サーバ141間の経路を計算し、該経路上のOFS121、122、123に対してそれぞれFlowModメッセージを送信し(15−1〜15−3)、通信端末132〜サーバ141間の通信を実現するためのフローエントリを、通信経路上のOFS121、122、123のそれぞれのフローテーブルに設定する。OFC110は、パケットアウト(Packet−Out)メッセージをOFS121に送信し(16)、パケットの転送を指示する。Packet−Outメッセージを受け取ったOFS121は、番号13のシーケンスで通信端末132から受け取りOFS121内に保持していたデータパケットを、OFS122、OFS123を介してサーバ141に転送する(17)。通信端末132〜サーバ141間の通信用の経路が設定されると、通信端末132はサーバ141と通信(データパケットの転送)を開始する(18)。
以下の分析は、本発明によって与えられたものである。
OpenFlowのような集中制御型のネットワークアーキテクチャにおいては、通信が例えばサーバ〜サーバ間通信であるか、あるいは通信端末〜サーバ間通信であるか等のように、通信種別によって、マッチングルールを変更することはできない。
このため、例えば、OFS等の通信装置において、設定されるフローエントリの数が過剰に増加する、という問題がある。
別の観点では、同様の理由で、OFC等の制御装置の処理負荷が過剰に増えることになる。したがって、通信種別によって、マッチングルールを変更できるようにする必要がある。
本発明は、上記課題に鑑みて創案されたものであって、例えば通信種別によって、フローエントリに設定するマッチングルールを変更可能とする制御装置、システム、通信方法およびプログラムを提供することにある。
開示される発明のいくつかのの関連する側面の一つ(視点1)によれば、通信の種類に応じてフローエントリのマッチングルールを決定するマッチングルール管理部を備えた制御装置と、
前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する通信装置と、を備えた通信システムが提供される。
さらに別の側面の1つ(視点2)によれば、通信の種類に応じて、フローエントリのマッチングルールを決定するマッチングルール管理部を備え、フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する、制御装置が提供される。
さらに別の側面の1つ(視点3)によれば、制御装置が、通信の種類に応じて、フローエントリのマッチングルールを決定し、
通信装置が、前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する、通信方法が提供される。
さらに別の側面の1つ(視点4)によれば、通信の種類に応じて、フローエントリのマッチングルールを決定する処理と、
フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する処理と、を制御装置のコンピュータに実行させるプログラムが提供される。
さらに別の側面の1つ(視点5)によれば、上記視点4に係るプログラムを記録したコンピュータ読み出し可能な媒体(non-transitory machine readable medium: semiconductor memory device, magnetic/optical disk)が提供される。
本発明によれば、通信種別によってフローエントリに設定するマッチングルールを変更することができる。
実施形態1、2の通信システムの構成を例示する図である。 実施形態1、2の経路制御機能の構成を例示する図である。 実施形態1におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。 実施形態1、2における経路制御の動作シーケンスを例示する図である。 実施形態2におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。 実施形態2におけるマッチングルール管理部のマッチングルール決定用の情報テーブルを例示する図である。 オープンフロースイッチに設けられたフローテーブルが保持する情報(フローエントリ)を例示する図である。 通信システムの構成の一例を例示する図である。 図8の通信システムの動作シーケンスを例示する図である。 実施形態の構成を例示する図である。
本発明の概要を説明する。以下の説明で用いる参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定するものと解釈すべきものでない。いくつかの好ましい形態の1つによれば、図10を参照すると、通信の種類(特に制限されないが、例えば、サーバ機能通信間であるか、通信端末〜サーバ機能間通信であるか等の種別)に応じて、フローエントリ(処理規則:「パケット転送ルール」ともいう)のマッチングルール(照合規則)を決定するマッチングルール管理部(201)を備えた制御装置(10A)と、前記制御装置(10A)から設定されたフローエントリ(処理規則)との照合に基づいて受信パケットを処理する通信装置(20A)と、を備える。
前記マッチングルール管理部(201)は、通信の種類に応じて、マッチングルールを生成するための生成規則であるフロー粒度を決定する構成としてもよい。
前記マッチングルール管理部(201)において、前記フローの粒度を決定するにあたり、前記フローの粒度のパラメータとして、
完全一致を示すエグザクト(exact)と、
任意のパタンにマッチするワイルドカード(wildcard)と、
所定のリスト(特に制限されないが、例えば図6のwell−knownポートのポート番号のリスト)に該当する値(例えば後述する実施形態では、レイヤ4(L4)のポート番号)が存在する(登録されている場合)場合、当該値、すなわち、エグザクト(exact)とし、存在しない場合には、ワイルドカード(wildcard)とする参照型パラメータと、のうちの少なくとも一つを含む。
本発明の好ましい形態の1つにおいて、前記マッチングルール管理部(201)において、フローの粒度を決定できなかった際に、デフォルトのフロー粒度を用いる構成としてもよい。
制御装置(10A)において、通信の種類に応じて、フローエントリのマッチングルールを決定する処理と、フローエントリを通信装置に設定する処理を、制御装置(10A)を構成するコンピュータ上で実行するプログラムで実行するようにしてもよい。この場合、記憶媒体(半導体メモリ、磁気/光ディスク等)に記憶されたプログラムをコンピュータの主記憶等に読み出して実行することで、上記手段が実現される。
[第1の実施形態]
図1を参照すると、実施の形態1の通信システムは、フローを特定するための照合規則と、前記照合規則に適用する処理内容とを対応付けたパケット転送ルールに従って、受信パケットを処理する複数のパケット転送機能21、22、23と、パケット転送機能21、22、23にパケット転送ルールを設定する経路制御機能10と、を含む。この通信システムには、サーバ機能41、42と、ルータ50が接続している。通信端末31〜32は、ルータ50を介して通信システムにアクセスする。通信端末31、32およびサーバ機能41、42は、それぞれ同一のサブネット(サブネット長は24ビット)に属しているものとする。なお、パケット転送機能、通信端末、サーバ機能等の数は図1の数に制限されるものでないことは勿論である。
<経路制御機能の一構成例>
図2は、図1の経路制御機能10の構成を例示した図である。図2を参照すると、経路制御機能10は、パケット転送機能21〜23(ノード)との通信を行うノード通信部11と、制御メッセージ処理部12と、経路・アクション計算部13と、パケット転送機能管理部14と、トポロジ管理部15と、通信端末位置管理部16と、パケット転送ルール管理部17Aと、マッチングルール管理部18と、を備えている。各部はそれぞれ次のように動作する。
制御メッセージ処理部12は、パケット転送機能21〜23から受信した制御メッセージを解析して、経路制御機能10内の該当する処理手段に制御メッセージ情報を引き渡す。
経路・アクション計算部13は、通信端末位置管理部16で管理されている通信端末の位置情報と、トポロジ管理部15にて構築されたトポロジ情報と、に基づいて、パケットの転送経路上のパケット転送機能に実行させるアクションを求める。また、経路・アクション計算部13は、パケット転送ルールを、パケット転送機能(図1の21/22/23)に設定する際には、パケット転送ルールに設定する、マッチングルールを、マッチングルール管理部18に問い合わせる。
パケット転送機能管理部14は、経路制御機能10によって制御されているパケット転送機能の能力(例えば、ポートの数や種類、サポートするアクションの種類など)を管理する。
トポロジ管理部15は、ノード通信部11を介して収集されたパケット転送機能の接続関係に基づいてネットワークトポロジ情報を構築する。
通信端末位置管理部16は、通信システムに接続している通信端末(図1の31/32)の位置を特定するための情報を管理する。本実施形態では、通信端末の通信システムへの接続点を識別する情報としてMAC(Media Access Control)アドレスを、通信端末の位置を特定するための情報として、通信端末が接続しているパケット転送機能(図1では21)を識別する情報とそのポートの情報を使用する。ただし、通信端末の通信システムへの接続点を識別する情報は、MACアドレスに制限されるものでなく、他の情報を用いても良い。
パケット転送ルール管理部17Aは、どのパケット転送機能(図1の21/22/23)に、どのようなパケット転送ルールが設定されているかを管理する。具体的には、パケット転送ルール管理部17Aは、経路・アクション計算部13で計算された結果を、パケット転送ルールとしてパケット転送ルールデータベース(DB)17Bに登録し、パケット転送機能(図1の21/22/23)に対して、パケット転送ルールを設定する。また、パケット転送ルール管理部17Aは、パケット転送機能(図1の21/22/23)からのパケット転送ルール削除通知などにより、パケット転送機能(図1の21/22/23)に設定されているパケット転送ルールに変更が生じたことが通知された場合に、該変更に対応してパケット転送ルールDB17Bに登録されている情報(パケット転送ルール)をアップデートする。
<マッチングルール管理用の情報テーブル:exact/wildcard>
マッチングルール管理部18は、パケット転送ルールに設定するマッチングルールを決定する。図3を参照して、マッチングルール管理部18の管理情報について説明する。図3は、マッチングルール管理部18で管理するマッチングルール決定用の情報テーブルの一例を例示する図である。この情報テーブルは、エントリID(entry#1、entryentry#2、・・・等)で識別される各エントリに対して、検索ルールとフロー粒度とを含む。検索ルールは、パケット転送ルールに含まれるマッチングルール(図7のMatch Field)と同様に、パケット転送ルールを設定しようとしている通信が、図3のテーブルのどのエントリにヒットするかを検索するために用いる情報である。フロー粒度は、マッチングルールを生成するための生成規則である。
図3の各エントリにおいて、入力ポートはL1(物理層)、送信元MACアドレスから、宛先MACアドレス、Ether Type(Ethernet(登録商標) Type)、VLAN(Virtual Local Area Network)ID、VLAN PCP(Priority Code Point:フロー優先度)まではL2、TOS(Type of Service)、IPプロトコル、送信元IPアドレス、宛先IPアドレスがL3に対応し、宛先MACアドレスはL2(MAC)スイッチング、宛先IPアドレスはL3(IP)ルーティングの転送制御に用いられる。送信元ポート番号(送信元L4ポート番号)と宛先ポート番号(宛先L4ポート番号)はL4のポート番号(例えばTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号)である。
図3の例において、エントリID:entry#1は、図1のサーバ機能41〜サーバ機能42間通信等、サーバ機能間の通信用のエントリである。エントリID:entry#2とentry#3は、図1の通信端末31〜サーバ機能41間等、通信端末〜サーバ機能間の通信に用いるエントリである。
エントリID:entry#1の検索ルールでは、
・Ether Typeが16進(0xは16進を表す)の0800(=IPv4)、
・送信元IPアドレス、宛先IPアドレスが、それぞれサーバ機能(例えば図1の41、42)のサブネットであり、
・上記以外の他のフィールドは全て「wildcard」である。一方、エントリID:entry#1のフロー粒度は、いずれのフィールドも「exact」に設定されている。IPアドレスについては、送信元IPアドレス、宛先IPアドレスで指定されるサーバ機能のサブネットはIPアドレスの上位32ビット(/32)とされ、1つのサブネットに1つサーバ(ホスト)となる。
エントリID:entry#2、entry#3の検索ルールでは、
・Ether Typeが16進の0800(=IPv4)、
・送信元IPアドレス、宛先IPアドレスが、それぞれ通信端末とサーバ機能(例えば図1の31と41)のサブネットであり、
・上記以外の他のフィールドは「wildcard」である。エントリID:entry#2、entry#3のフロー粒度は、
・入力ポート、
・送信元MACアドレス、
・宛先MACアドレス、
・Ether Type、
・IPプロトコル
がいずれも「exact」に設定されている。また、IPアドレスについては、エントリID:entry#2では、送信元IPアドレスで指定される通信端末のサブネットは、プレフィックスで指定される24、すなわちIPアドレス(32ビット)の上位24ビットとされ、宛先IPアドレスで指定されるサーバ機能のサブネットは、IPアドレスの上位32ビット(/32)とされ、1つのサブネットに1つサーバ(ホスト)となる。一方、エントリID:entry#3では、送信元IPアドレスで指定されるサーバ機能のサブネットはIPアドレスの上位32ビット、宛先IPアドレスで指定される通信端末のサブネットはIPアドレスの上位24ビットとされる。
なお、上記した構成のうち、経路制御機能10にて、パケット転送ルールを保持する必要が無い場合、パケット転送ルールDB17Bは省略することが可能である。また、パケット転送ルールDB17Bを、別途、外部サーバ等に設ける構成としてもよい。
上記のような経路制御機能10は、例えば、非特許文献1のOFCをベースに、上記マッチングルール管理部18を追加することで実現するようにしてもよい。パケット転送機能21〜23は、各々、OFSに実装してもよい。
パケット転送機能21〜23の各々は、パケットを受信すると、パケット転送ルールを格納するパケット転送ルールテーブル(パケット転送機能21〜23がそれぞれ具備する)から、受信したパケットに適合するマッチングキーを持つパケット転送ルールを探し出し、当該パケット転送ルールに関連付けられたアクション(図7のActions)に規定されている動作(例えば、特定のポートへの転送、フラッディング、廃棄など)を実施する。
<サーバ機能41〜サーバ機能42間の通信時の動作>
次に、図4を参照して、本実施形態の全体の動作について詳細に説明する。以下では、サーバ機能41〜サーバ機能42間の通信時の経路制御処理と、通信端末31および通信端末32の通信時の経路制御処理について説明する。なお、以下の説明において、処理を説明する文の括弧内の番号は、図4に模式的に示したシーケンスの番号に対応する。まず、サーバ機能41〜サーバ機能42間の通信時の経路制御処理について説明する。サーバ機能41は、サーバ機能42へのアクセスを開始するために、データパケットを送信する(1)。
パケット転送機能23は、サーバ機能41からのデータパケットを受信する。パケット転送機能23において、受信した当該データパケットのフローは設定されていず、新規フローである。このため、パケット転送機能23は、経路制御機能10に新規フロー発生通知メッセージを送信し(2)、受信した当該データパケットに対する経路設定を要求する。
新規フロー発生通知メッセージを受信した経路制御機能10は、通信可能と判断すると、サーバ機能41〜サーバ機能42間の経路を計算し、経路設定変更指示メッセージをパケット転送機能23に送信し(3)、サーバ機能41〜サーバ機能42間通信を実現するためのエントリを、通信経路上のパケット転送機能23のパケット転送ルールテーブルに設定する。その際、経路制御機能10のマッチングルール管理部18にて、図3に示した情報テーブルを検索し、該当するマッチングルール決定用のエントリを検索する。マッチングルール管理部18において、今回のサーバ機能41〜サーバ機能42間の通信経路に対して、図3のエントリID:entry#1がヒットする。そこで、経路制御機能10は、マッチングルールとして指定可能なL2〜L4までの全てのパラメータを指定する。
パケット転送機能23は、経路設定変更指示メッセージの受信に応答して、設定したパケット転送ルールテーブルに従い、番号1のシーケンスで受信したデータパケットをサーバ機能42に転送する(4)。
サーバ機能41〜サーバ機能42間の通信用の経路が設定されると、サーバ機能41はサーバ機能42と通信を開始する(5)。
<通信端末31〜サーバ機能41間の通信時の動作>
続いて、通信端末31の通信時の経路制御処理について説明する。通信端末31は、サーバ機能41へのアクセスを開始するために、データパケットを送信する(6)。
パケット転送機能21は、通信端末31から送信されたデータパケットを受信する。パケット転送機能21において、受信した当該データパケットのフローは設定されていず、新規フローである。このため、パケット転送機能21は、経路制御機能10に対して、新規フロー発生通知メッセージを送信し(7)、受信した当該データパケットに対する経路設定を要求する。新規フロー発生通知メッセージを受信した経路制御機能10は、通信可能と判断すると、通信端末31〜サーバ機能41間の経路を計算する。経路制御機能10は、経路設定変更指示メッセージを、パケット転送機能21、22、23に送信し(8−1〜8−3)、通信端末31〜サーバ機能41間の通信を実現するためのエントリを、通信経路上のパケット転送機能21、22、23のパケット転送ルールテーブルに設定する。その際、マッチングルール管理部18にて、図3に示した情報テーブルを検索し、該当するマッチングルール決定用のエントリを検索する。マッチングルール管理部18において、今回の通信に対して、通信端末31→サーバ機能41の向きでは、エントリID:entry#2がヒットし、逆方向のサーバ機能41→通信端末31では、エントリID:entry#3がヒットする。
そこで、経路制御機能10は、マッチングルールとして、サーバ〜サーバ間通信のエントリよりも、ワイルドカード(wildcard)の指定箇所を増やしたものを使用する。例えば図3のエントリID:entry#2、entry#3のフロー粒度では、
・VLAN ID、
・VLAN PCP、
・ToS、
・送信元L4ポート番号、
・宛先L4ポート番号
の各フィールドが「wildcard」に設定され、通信端末のサブネットマスクのプレフィックス24(IPアドレス上位24ビット)等、サーバ機能41〜サーバ機能42間通信よりもマッチング条件が緩和されている。
パケット転送機能21は、経路設定変更指示メッセージの受信に応答して、設定したパケット転送ルールテーブルに従い、番号6のシーケンスで受信し記憶保持しているデータパケットを、パケット転送機能22、23を介して、サーバ機能41に転送する(9)。
通信端末31〜サーバ機能41間の通信用の経路が設定されると、通信端末31は、サーバ機能41と通信を開始する(10)。
<通信端末32〜サーバ機能41間の通信時の動作>
その後、通信端末32がサーバ機能41と通信する際に、必要なパケット転送ルール(フローテーブル)が、通信端末31〜サーバ機能41間での通信時に既に設定されている。このため、パケット転送機能21、22、23に対するパケット転送ルールの新たな設定処理は不要となる。
<比較例との対比>
これに対して、図8と図9を参照して説明したプロトタイプ例では、通信端末32がサーバ機能41と通信する際に、パケット転送ルールの新たな設定処理が必要とされる。すなわち、図9を参照して説明したように、通信端末131〜サーバ141間の通信において、OFS121、122、123には、サーバ141〜サーバ142間通信と同じマッチングルール(例えばL2〜L4までの全てのパラメータを指定したルール)を用いており、通信端末132〜サーバ141間の通信に対して、新たなフローエントリのOFS121〜123への設定処理が行われる(図9のシーケンス番号15−1〜15−3のFlowMod参照)。このため、OFSで保持するフローエントリ数が増大する。
フローエントリのマッチングルールにおいてフローを細粒度で扱う場合、パケット転送機能等が保持すべきフローエントリ数が膨大となるが、本実施形態によれば、通信の種別に対応したフロー粒度でフローエントリのマッチングルールの設定を可能としている。その結果、本実施形態によれば、パケット転送機能において、保持するフローエントリ数が過剰に増大することを回避可能としている。また、経路制御機能等の制御装置において、処理負荷が過剰に増大することを抑制可能としている。
本実施の形態では、経路制御機能10において、図3の情報テーブルを検索した際に、全ての検索でエントリがヒットしていたが、必ずしもヒットする必要はない(情報テーブルの検索の結果、受信パケットのヘッダの所定情報と照合する検索ルール(エントリ)が見つかることを、「ヒット」という)。その場合、デフォルトのフロー粒度を予め決めておき、ヒットしない場合には、デフォルトのフロー粒度を使用するようにしてもよい。
[第2の実施形態]
前記第1の実施形態では、フロー粒度の各パラメータをマッチングルールで指定するか否かのパラメータとして、「exact」と「wildcard」の2種類を用いている。本実施形態では、「exact」と「wildcard」に加えて、新たに、「リスト参照型のパラメータ」を用いることで、より柔軟にマッチングルールを決定可能としている。本実施形態の通信システムの構成は、図1の前記実施形態1と同一である。以下では、本実施形態について、前記実施形態1との相違点について説明し、同一部分の説明は省略する。
本実施形態の経路制御機能10の基本構成は、図2に示した前記実施形態1と同一であるが、マッチングルール管理部18が管理する情報テーブルが、前記実施形態1の情報テーブル(図3)と相違している。
<マッチング管理用の情報テーブル:well−known>
図5と図6に、本実施形態の経路制御機能10におけるマッチングルール管理部18が管理する情報テーブルの例を示す。図5は、パケット転送ルールに設定するマッチングルールを決定するための規則を特定するための情報テーブルである。図5に示すように、情報テーブルは、各エントリに対して、検索ルールとフロー粒度を備えている。前記実施形態1との相違点は、フロー粒度に「well−known」というパラメータを追加したことである(図5の例では、エントリID:entry#2およびentry#3の送信元L4ポート番号と宛先L4ポート番号の各フィールドで使用されている)。
図6は、図5において、サービス名、exact指定対象のL4タイプ(TCP、UDP等)とポート番号を管理するテーブルを例示する図である。図6には、well−knownポート番号の一例が示されている。ftp(file transfer protocol)−data(ファイル転送(データ本体))はポート番号20、ftp(ファイル転送(コントロール))はポート番号21、ssh(シェル(セキュアシェル):TCP、UDP)はポート番号22、telnetはポート番号23、http(hypertext transfer protocol)は80である(その他、メール送受信のsmtp(simple mail transfer protocol)のポート番号は25等、よく知られたポートは他にもあるが省略する)。
マッチングルールを管理する図5の情報テーブルにおいて、あるフィールドのフロー粒度が「well−known」が指定されていた場合(図5の例では、エントリID:entry#2、#3の送信元L4ポート番号や宛先L4ポート番号等のL4ポート番号のフィールドのフロール粒度が「well−known」に指定されている)、L4ポート番号が、図6のテーブルに登録されているポート番号である場合には、該当フィールドの検索ルールのパラメータを「exact」と指定する。一方、図6のテーブルに登録されていない場合には、該当フィールドの検索ルールのパラメータを「wildcard」とする。特に制限されないが、経路制御機能10において、L4ポート番号等は、例えばPacket−Inに含まれるパケット等から取得するようにしてもよい。
本実施形態によれば、httpやftpなどL4ポート番号の一方のみが固定化され、他方はトランザクション毎にランダムな番号が使われる通信を、アプリケーション種別などの通信毎に、フロー粒度を設定しつつ、図5の情報テーブルのエントリ数を過剰に増やすことなく、収容することができる。
本実施の形態では、リスト参照型のパラメータを使うフィールドとして、L4ポート番号のみを例に挙げて説明したが、かかる構成に制限されるものでなく、例えば、Ether TypeやIPプロトコルなど、他のフィールドに用いても良い。
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。
なお、図7のフローエントリに、さらにExpire Rule(失効規則)等を設けてもよい。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
10 経路制御機能
10A 制御装置
11 ノード通信部
12 制御メッセージ処理部
13 経路・アクション計算部
14 パケット転送機能管理部
15 トポロジ管理部
16 通信端末位置管理部
17A パケット転送ルール管理部
17B パケット転送ルールデータベース(DB)
18 マッチングルール管理部
20A 通信装置
21〜23 パケット転送機能
31〜32 通信端末
41〜42 サーバ機能
50 ルータ
101 マッチングルール決定手段
110 OpenFlow Controller(OFC)
120 フローエントリ
121〜123 OpenFlow Swtich(OFS)
131〜132 通信端末
141〜142 サーバ
150 ルータ
201 マッチングルール管理部

Claims (10)

  1. 通信の種類に応じて、フローエントリのマッチングルールを決定するマッチングルール管理部を備えた制御装置と、
    前記制御装置から設定された前記フローエントリとの照合に基づいて受信パケットを処理する通信装置と、
    を備えた、ことを特徴とする通信システム。
  2. 前記マッチングルール管理部が、前記通信の種類に応じて、前記マッチングルールを生成するための生成規則であるフローの粒度を決定する、ことを特徴とする請求項1に記載の通信システム。
  3. 前記マッチングルール管理部において、前記フローの粒度のパラメータとして、
    完全一致を示すエグザクト(exact)と、
    任意のパタンにマッチするワイルドカード(wildcard)と、
    所定のリストに該当する値が存在する場合、エグザクトとし、存在しない場合には、ワイルドカードとする参照型パラメータと、
    のうちの少なくとも一つを含む、ことを特徴とする請求項2に記載の通信システム。
  4. 前記マッチングルール管理部において、前記フローの粒度が決定できない場合に、デフォルトのフローの粒度を用いる、ことを特徴とする請求項2又は3に記載の通信システム。
  5. 通信の種類に応じて、フローエントリのマッチングルールを決定するマッチングルール管理部を備え、フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する、ことを特徴とする制御装置。
  6. 前記マッチングルール管理部が、通信の種類に応じて、前記マッチングルールを生成するための生成規則であるフローの粒度を決定する手段を含む、ことを特徴とする請求項5に記載の制御装置。
  7. 前記マッチングルール管理部において前記フローの粒度のパラメータとして、
    完全一致を示すエグザクト(exact)と、
    任意のパタンにマッチするワイルドカード(wildcard)と、
    所定のリストに該当する値が存在する場合、エグザクトとし、存在しない場合には、ワイルドカードとする参照型パラメータと、
    のうちの少なくとも一つを含む、ことを特徴とする請求項5又は6に記載の制御装置。
  8. 前記マッチングルール管理部において、前記フローの粒度が決定できない場合に、デフォルトのフローの粒度を使用する、ことを特徴とする請求項5乃至7のいずれか1項に記載の制御装置。
  9. 制御装置が、通信の種類に応じて、フローエントリのマッチングルールを決定し、
    通信装置が、前記制御装置から設定されたフローエントリとの照合に基づいて受信パケットを処理する、ことを特徴とする通信方法。
  10. 通信の種類に応じて、フローエントリのマッチングルールを決定する処理と、
    フローエントリとの照合に基づいて受信パケットを処理する通信装置に対して前記フローエントリを設定する処理と、
    を制御装置のコンピュータに実行させるプログラム。
JP2015505562A 2013-03-14 2014-03-13 通信システム、制御装置、通信方法およびプログラム Active JP6314970B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013051863 2013-03-14
JP2013051863 2013-03-14
PCT/JP2014/056722 WO2014142256A1 (ja) 2013-03-14 2014-03-13 通信システム、制御装置、通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2014142256A1 true JPWO2014142256A1 (ja) 2017-02-16
JP6314970B2 JP6314970B2 (ja) 2018-04-25

Family

ID=51536905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015505562A Active JP6314970B2 (ja) 2013-03-14 2014-03-13 通信システム、制御装置、通信方法およびプログラム

Country Status (2)

Country Link
JP (1) JP6314970B2 (ja)
WO (1) WO2014142256A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012043731A1 (ja) * 2010-09-29 2012-04-05 日本電気株式会社 データ処理システムと方法
JP2012090058A (ja) * 2010-10-19 2012-05-10 Nec Corp 通信システム、制御装置、処理規則の設定方法およびプログラム
WO2012127894A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 ネットワークシステム、及びスイッチ方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103026662B (zh) * 2010-07-23 2016-11-09 日本电气株式会社 通信系统、节点、统计信息收集装置、统计信息收集方法和程序

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012043731A1 (ja) * 2010-09-29 2012-04-05 日本電気株式会社 データ処理システムと方法
JP2012090058A (ja) * 2010-10-19 2012-05-10 Nec Corp 通信システム、制御装置、処理規則の設定方法およびプログラム
WO2012127894A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 ネットワークシステム、及びスイッチ方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伊藤 暢彦 NOBUHIKO ITOH: "モバイルネットワークの動的再構成(4)経路切り替えの高速化に向けたフローエントリ削減手法の一検討", 電子情報通信学会2012年通信ソサイエティ大会講演論文集2 PROCEEDINGS OF THE 2012 IEICE COMMUNICAT, JPN6017034257, 14 September 2012 (2012-09-14), pages p.10 *

Also Published As

Publication number Publication date
WO2014142256A1 (ja) 2014-09-18
JP6314970B2 (ja) 2018-04-25

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
WO2011043312A1 (ja) ネットワークシステムとコントローラ、方法とプログラム
JP6248929B2 (ja) 通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラム
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
JP2014516215A (ja) 通信システム、制御装置、処理規則設定方法およびプログラム
WO2014017631A1 (ja) 制御装置、通信システム、通信方法及びプログラム
JP6323444B2 (ja) 通信システム、制御装置、通信方法およびプログラム
JP2015508950A (ja) コントロール方法、コントロール装置、通信システムおよびプログラム
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
US20190007279A1 (en) Control apparatus, communication system, virtual network management method, and program
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
JPWO2014157241A1 (ja) 制御装置、通信システム、制御情報の送信方法及びプログラム
WO2014175335A1 (ja) 制御装置、計算機システム、通信制御方法及びプログラム
WO2014119602A1 (ja) 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム
JP2015057879A (ja) コンピュータ・ネットワーキングにおけるパケットのマルチパス・ルーティング・デバイスおよびその使用方法
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5861424B2 (ja) 通信システム、制御装置、通信方法およびプログラム
WO2014142081A1 (ja) 転送ノード、制御装置、通信システム、パケット処理方法及びプログラム
WO2015087947A1 (ja) 通信システム、通信ノード、制御装置、通信制御方法及びプログラム
JP2016139908A (ja) 通信システム、通信ノード、制御装置、通信制御方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6314970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150