JP5672558B2 - ネットワークシステム、ネットワーク制御装置、及び制御方法 - Google Patents

ネットワークシステム、ネットワーク制御装置、及び制御方法 Download PDF

Info

Publication number
JP5672558B2
JP5672558B2 JP2011546123A JP2011546123A JP5672558B2 JP 5672558 B2 JP5672558 B2 JP 5672558B2 JP 2011546123 A JP2011546123 A JP 2011546123A JP 2011546123 A JP2011546123 A JP 2011546123A JP 5672558 B2 JP5672558 B2 JP 5672558B2
Authority
JP
Japan
Prior art keywords
network
packet
module
entry
network device
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
JP2011546123A
Other languages
English (en)
Other versions
JPWO2011074559A1 (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 JP2011546123A priority Critical patent/JP5672558B2/ja
Publication of JPWO2011074559A1 publication Critical patent/JPWO2011074559A1/ja
Application granted granted Critical
Publication of JP5672558B2 publication Critical patent/JP5672558B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

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

Description

本発明は、ネットワークシステムにおけるネットワーク機器を制御する技術に関する。特に、本発明は、パケット処理テーブルに従ってパケット処理を行うネットワーク機器を制御する技術に関する。
図1は、非特許文献1に記載されている「オープンフロー(OpenFlow)」という技術を説明するための概念図である。オープンフローでは、フロー単位で経路制御、障害回復、負荷分散、最適化が行われる。オープンフローでは、転送ノードとして機能するオープンフロースイッチ(SW)と、そのオープンフロースイッチを制御するオープンフローコントローラ(Controller)が用いられる。
オープンフロースイッチは、「マッチ条件」と「アクション」との対応関係を示すフローテーブル(flow table)を備え、このフローテーブルに従って動作する。具体的には、オープンフロースイッチは、パケットを受け取ると、フローテーブルを参照し、受信パケットにマッチするエントリをフローテーブルから検索する。受信パケットにマッチするエントリがフローテーブルに登録されている場合、オープンフロースイッチは、当該マッチエントリのアクションで指定されている処理を、受信パケットに対して実行する。典型的には、オープンフロースイッチは、アクションで指定されている出力ポートに受信パケットを転送する。
オープンフロースイッチのフローテーブルの内容を設定するのが、オープンフローコントローラである。すなわち、オープンフローコントローラは、新規エントリの追加、エントリ変更、エントリ削除などをオープンフロースイッチに指示し、それにより、オープンフロースイッチの動作を制御することができる。
例えば、あるオープンフロースイッチがあるフローのパケットを受信したとき、当該受信パケットにマッチするエントリがフローテーブルに見つからなかった場合を考える。そのような受信パケットは、以下「第1パケット」と参照される。この場合、そのオープンフロースイッチは、第1パケットをオープンフローコントローラに送信する。この第1パケットに応答して、オープンフローコントローラは、第1パケットを先頭とする当該フローのパケット列に対する処理内容を決定する。つまり、オープンフローコントローラは、当該フローに対する処理に必要なオープンフロースイッチ及びそれぞれのフローテーブルに設定すべき新規エントリを決定する。そして、オープンフローコントローラは、必要なオープンフロースイッチのそれぞれに対して、新規エントリの追加を指示する。指示を受け取った各オープンフロースイッチは、自身のフローテーブルに新規エントリを追加する。そして、オープンフローコントローラは、第1パケットをオープンフロースイッチに返送する。その後、第1パケット及び同一フローの後続パケットは、その新規エントリに従って処理される、すなわち、オープンフローコントローラを介することなく、各オープンフロースイッチによって高速に処理されることになる。
ここで、オープンフローコントローラは、それぞれ異なるネットワーク制御機能を有する様々なアプリケーションを備えている。そして、オープンフローコントローラは、それらアプリケーションを任意に実行することにより、フローに対する処理内容を様々に設定することができる。これにより、柔軟で拡張性に優れたネットワーク制御が可能となる。
様々なネットワーク制御機能の例としては、「shortest path switching」や「NAPT(Network Address Port Translation)」が挙げられる。「shortest path switching」は、最短経路に沿ったパケット伝送を実現するための機能である。具体的には、「shortest path switching」は、パケットの宛先アドレスへの最短経路を設計し、その最短経路に沿ったパケット転送が実現されるエントリを決定し、当該エントリを最短経路上の各スイッチに設定する。「NAPT」は、アドレス/ポート変換を指定するエントリを設定する。これにより、特定のスイッチを、特定のフローに対するNAPT装置として働かせることができる。
Nick McKeown et al., "OpenFlow:Enabling Innovation in Campus Networks", ACM SIGCOMMComputer Communication Review, Vol. 38, No. 2, 2008. (http://www.openflowswitch.org//documents/openflow-wp-latest.pdf)
同一フローに対して、複数のネットワーク制御機能を組み合わせて適用することを考える。例えば、上述の「NAPT」と「shortest path switching」を組み合わせて同一フローに適用することを考える。図2は、その場合に設定されるフローテーブルのエントリの例を示している。
図2に示されるように、フローテーブルの各エントリは「マッチ条件」と「アクション」を示している。図2の例において、マッチ条件は、発信元IPアドレス、発信元ポート番号、宛先IPアドレス、及び宛先ポート番号の組み合わせで構成されている。エントリAとエントリBのマッチ条件は同じであり、それらエントリAとエントリBは同一フローのパケットに対する処理内容を示している。エントリAは、「NAPT」により設定されたものであり、発信元IPアドレスを“10.56.1.10”に書き換え、発信元ポート番号を“49817”に書き換えることを指定している。一方、エントリBは、「shortest path switching」により設定されたものであり、受信パケットの出力先として“ポート3”を指定している。
しかしながら、図2中のエントリAとエントリBは、「NAPT」と「shortest path switching」によってそれぞれ独立に設定されている。つまり、「NAPT」と「shortest path switching」の組み合わせを考慮することなく、エントリAとエントリBは、互いに無関係に設定されている。この場合、次のような問題が発生する。
当該フローのパケット受信時、最初にエントリAがヒットした場合を考える。この場合、受信パケットの発信元IPアドレスと発信元ポート番号が書き換えられる。従って、その後、エントリBはヒットしない、すなわち、所望の出力先に受信パケットは送出されない。一方、最初にエントリBがヒットした場合、アドレス変換が行われないまま、パケットが送出されてしまう。このように、「NAPT」と「shortest path switching」の組み合わせによる所望のパケット処理が実現されない。
より一般的に、フローテーブル、経路表、パケットフィルタ等、パケットに対する処理内容を指定するテーブルは、以下「パケット処理テーブル」と参照される。パケット処理テーブルを備え、そのパケット処理テーブルに従ってパケット処理を行う機器は、以下「ネットワーク機器」と参照される。パケット処理テーブルの内容を決定することによって、ネットワーク機器の動作を制御する、すなわち、ネットワーク制御を行う装置は、以下「ネットワーク制御装置」と参照される。
本発明の1つの目的は、ネットワーク制御装置が同一フローに対して複数のネットワーク制御機能を組み合わせて適用する場合に、その組み合わせに応じたパケット処理が不整合無く実現されるようにパケット処理テーブルを設定することができる技術を提供することにある。
本発明の1つの観点において、ネットワークシステムが提供される。そのネットワークシステムは、パケット処理テーブルを有するネットワーク機器と、ネットワーク機器に接続されたネットワーク制御装置と、を具備する。パケット処理テーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して実施される操作とを示す。ネットワーク機器は、ネットワーク制御装置から送られるエントリ設定データに応答して各エントリを設定する。ネットワーク機器は、パケットを受信するとパケット処理テーブルを参照し、受信パケットがいずれかのエントリのマッチ条件にマッチした場合、いずれかのエントリで指定される操作を受信パケットに対して実施する。
ネットワーク制御装置は、複数の制御アプリケーションモジュール、モジュール列決定ブロック、スケジューリングブロック、テーブル設定ブロック、及び記憶装置を備える。複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて操作の内容を決定する。モジュール列決定ブロックは、モジュール列を決定する。モジュール列は、複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有する。スケジューリングブロックは、モジュール列を順番に実行し、一連のネットワーク制御機能に応じた一連の操作を示す単一のエントリ設定データを作成する。テーブル設定ブロックは、その単一のエントリ設定データをネットワーク機器に送信する。
記憶装置には、複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データが格納される。複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される操作の際に参照あるいは書き換えられる操作パラメータを示す。モジュール列決定ブロックは、各添付データを参照し、対象パケットに対して実施される一連の操作に不整合が生じないように、モジュール列を決定する。
本発明の他の観点において、ネットワーク機器に接続されるネットワーク制御装置が提供される。ネットワーク機器は、パケット処理テーブルを有する。パケット処理テーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して実施される操作とを示す。ネットワーク機器は、ネットワーク制御装置から送られるエントリ設定データに応答して各エントリを設定する。ネットワーク機器は、パケットを受信するとパケット処理テーブルを参照し、受信パケットがいずれかのエントリのマッチ条件にマッチした場合、いずれかのエントリで指定される操作を受信パケットに対して実施する。
ネットワーク制御装置は、複数の制御アプリケーションモジュール、モジュール列決定ブロック、スケジューリングブロック、テーブル設定ブロック、及び記憶装置を備える。複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて操作の内容を決定する。モジュール列決定ブロックは、モジュール列を決定する。モジュール列は、複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有する。スケジューリングブロックは、モジュール列を順番に実行し、一連のネットワーク制御機能に応じた一連の操作を示す単一のエントリ設定データを作成する。テーブル設定ブロックは、その単一のエントリ設定データをネットワーク機器に送信する。
記憶装置には、複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データが格納される。複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される操作の際に参照あるいは書き換えられる操作パラメータを示す。モジュール列決定ブロックは、各添付データを参照し、対象パケットに対して実施される一連の操作に不整合が生じないように、モジュール列を決定する。
本発明の更に他の観点において、ネットワーク機器の制御方法が提供される。ネットワーク機器は、パケット処理テーブルを有する。パケット処理テーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して実施される操作とを示す。ネットワーク機器は、ネットワーク制御装置から送られるエントリ設定データに応答して各エントリを設定する。ネットワーク機器は、パケットを受信するとパケット処理テーブルを参照し、受信パケットがいずれかのエントリのマッチ条件にマッチした場合、いずれかのエントリで指定される操作を受信パケットに対して実施する。ネットワーク制御装置が備える複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて操作の内容を決定する。
上記制御方法は、(A)モジュール列を決定するステップと、ここで、モジュール列は、複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有し、(B)モジュール列を順番に実行し、一連のネットワーク制御機能に応じた一連の操作を示す単一のエントリ設定データを作成するステップと、(C)その単一のエントリ設定データをネットワーク機器に送信するステップと、を含む。上記(A)モジュール列を決定するステップは、(A1)複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データを記憶装置から読みだすステップと、ここで、複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される操作の際に参照あるいは書き換えられる操作パラメータを示し、(A2)各添付データを参照し、対象パケットに対して実施される一連の操作に不整合が生じないように、モジュール列を決定するステップと、を含む。
本発明の更に他の観点において、ネットワーク機器の制御処理をネットワーク制御装置に実行させる制御プログラムが提供される。ネットワーク機器は、パケット処理テーブルを有する。パケット処理テーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して実施される操作とを示す。ネットワーク機器は、ネットワーク制御装置から送られるエントリ設定データに応答して各エントリを設定する。ネットワーク機器は、パケットを受信するとパケット処理テーブルを参照し、受信パケットがいずれかのエントリのマッチ条件にマッチした場合、いずれかのエントリで指定される操作を受信パケットに対して実施する。ネットワーク制御装置が備える複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて操作の内容を決定する。
上記制御処理は、(A)モジュール列を決定するステップと、ここで、モジュール列は、複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有し、(B)モジュール列を順番に実行し、一連のネットワーク制御機能に応じた一連の操作を示す単一のエントリ設定データを作成するステップと、(C)その単一のエントリ設定データをネットワーク機器に送信するステップと、を含む。上記(A)モジュール列を決定するステップは、(A1)複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データを記憶装置から読みだすステップと、ここで、複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される操作の際に参照あるいは書き換えられる操作パラメータを示し、(A2)各添付データを参照し、対象パケットに対して実施される一連の操作に不整合が生じないように、モジュール列を決定するステップと、を含む。
本発明によれば、ネットワーク制御装置が同一フローに対して複数のネットワーク制御機能を組み合わせて適用する場合に、その組み合わせに応じたパケット処理が不整合無く実現されるようにパケット処理テーブルを設定することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、オープンフローを説明するための概念図である。 図2は、フローテーブルに設定されるエントリの例を示している。 図3は、本発明の実施の形態に係るネットワークシステムの構成例を示すブロック図である。 図4は、本実施の形態に係るネットワーク機器の構成例を示すブロック図である。 図5は、本実施の形態におけるパケット処理テーブルを示す概念図である。 図6は、本実施の形態に係るネットワーク機器における処理を示すフローチャートである。 図7は、本実施の形態に係るネットワーク制御装置の構成例を示すブロック図である。 図8は、本実施の形態におけるモジュール列を説明するための概念図である。 図9は、本実施の形態におけるステップS100(ネットワーク制御処理)を示すフローチャートである。 図10は、本実施の形態における添付データを示す概念図である。 図11は、本実施の形態におけるステップS110(モジュール列の決定)を説明するための概念図である。 図12は、本実施の形態におけるステップS110(モジュール列の決定)を示すフローチャートである。 図13は、本実施の形態におけるステップS113(照合処理)を説明するための概念図である。 図14は、本実施の形態におけるステップS113(照合処理)を説明するための概念図である。 図15は、本実施の形態におけるステップS113(照合処理)を説明するための概念図である。 図16は、本実施の形態におけるステップS113(照合処理)を説明するための概念図である。
添付図面を参照して、本発明の実施の形態を説明する。
1.ネットワークシステム
図3は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、ネットワーク機器10、サーバ20、及びネットワーク制御装置30を備えている。
ネットワーク機器10は、典型的には、フローテーブルを備えるスイッチや、経路表を備えるルータである。また、ネットワーク機器10は、パケットフィルタを備えるファイアウォールであってもよい。それらフローテーブル、経路表、パケットフィルタは、パケットに対する処理内容を指定するものであり、以下「パケット処理テーブル」と総称される。つまり、ネットワーク機器10は、パケット処理テーブルを備えており、そのパケット処理テーブルに従ってパケット処理を行う。
そのパケット処理テーブルの内容を決定するのが、ネットワーク制御装置30である。ネットワーク制御装置30は、制御回線5を介して、各ネットワーク機器10に接続されている。ネットワーク制御装置30は、制御回線5を介して各ネットワーク機器10のパケット処理テーブルを設定する機能を有している。ネットワーク制御装置30は、パケット処理テーブルの設定を通してネットワーク機器10の動作を制御することにより、ネットワーク通信を適宜制御することができる。
このような処理を実現するためのネットワーク制御装置30とネットワーク機器10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がネットワーク制御装置30となり、「Openflow Switch」が各ネットワーク機器10となる。
本実施の形態に係るネットワークシステム1は、例えば、データセンター(data center)に適用される。
図4は、ネットワーク機器10の構成例を示すブロック図である。ネットワーク機器10は、処理ブロック11、コントローラ通信ブロック12、記憶ブロック13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。処理ブロック11は、入力ポートから出力ポートへのパケット転送等、主要なパケット処理を行う。コントローラ通信ブロック12は、制御回線5を介してネットワーク制御装置30に接続されており、ネットワーク制御装置30との間で通信を行う際のインタフェースとなる。
記憶ブロック13には、図5に示されるようなパケット処理テーブルTBLが格納されている。図5に示されるように、パケット処理テーブルTBLは、少なくとも1つのエントリを備えており、各エントリは「マッチ条件」と「アクション」を示している。「マッチ条件」は、入力ポート、発信元MACアドレス、宛先MACアドレス、発信元IPアドレス、宛先IPアドレス、発信元ポート番号、宛先ポート番号などのパラメータの組み合わせで構成される。「アクション」は、マッチ条件にマッチするパケットに対して実施される「操作」を示す。
処理ブロック11は、入力ポートを通してパケットを受信すると、記憶ブロック13に格納されているパケット処理テーブルTBLを参照する。そして、処理ブロック11は、受信パケットのヘッダ情報などに基いて、受信パケットがいずれかのエントリのマッチ条件にマッチするか否かを調べる。つまり、処理ブロック11は、受信パケットにマッチするエントリをパケット処理テーブルTBLから検索する。受信パケットがいずれかのエントリのマッチ条件にマッチした場合、処理ブロック11は、該当エントリのアクションで指定される「操作」を、受信パケットに対して実施する。
図2の例で示されたエントリAの場合、「操作」は、「発信元IPアドレスを“10.56.1.10”に書き換え、発信元ポート番号を“49817”に書き換えること」である。また、エントリBの場合、「操作」は、「パケットをポート3から送出すること」である。また、このような操作の際に参照されたり書き換えられたりするパラメータは、以下「操作パラメータ」と参照される。図2の例で示されたエントリAの場合、「操作パラメータ」は、発信元IPアドレス及び発信元ポート番号である。エントリBの場合、「操作パラメータ」は、出力物理ポートである。
図6は、本実施の形態に係るネットワーク機器10における処理を示すフローチャートである。ネットワーク機器10は、あるフローのパケットを受信する(ステップS11)。具体的には、処理ブロック11が、入力ポートを通してパケットを受信する。入力ポートからパケットを受け取ると、処理ブロック11は、受信パケットのヘッダ情報を抽出する。そして、処理ブロック11は、抽出したヘッダ情報と入力ポートを検索キーとして用いて、受信パケットにマッチするエントリをパケット処理テーブルTBLから検索する(ステップS12)。
受信パケットにマッチするエントリがパケット処理テーブルTBLに有る場合(ステップS13;Yes)、処理ブロック11は、該当ヒットエントリのアクションで指定される「操作」を、受信パケットに対して実施する(ステップS14)。一方、受信パケットにマッチするエントリがパケット処理テーブルTBLに無い場合(ステップS13;No)、その受信パケットは「第1パケット」である。この場合、処理ブロック11は、コントローラ通信ブロック12及び制御回線5を介して、第1パケット(あるいは第1パケットのヘッダ情報)をネットワーク制御装置30に送信する(ステップS15)。
ネットワーク制御装置30は、ネットワーク機器10から第1パケット(あるいは第1パケットのヘッダ情報)を受け取る。ネットワーク制御装置30は、第1パケットのヘッダ情報に基いてフロー識別を行い、当該フローのパケット列に対する処理内容を決定する。具体的には、ネットワーク制御装置30は、当該フローに対して、必要なネットワーク制御機能を適用する。その結果、必要なネットワーク機器10のパケット処理テーブルTBLに設定すべきエントリの内容が決まる。設定すべきエントリの内容を示すデータは、以下「エントリ設定データ」と参照される。つまり、ネットワーク制御装置30は、必要なネットワーク制御機能を実行し、エントリ設定データを作成する。そして、ネットワーク制御装置30は、そのエントリ設定データを、制御回線5を介して、必要なネットワーク機器10に送る。このようなネットワーク制御装置30によるネットワーク制御処理(ステップS100)の詳細は、後述される。
ネットワーク制御装置30からエントリ設定データを受け取った各ネットワーク機器10は、そのエントリ設定データに従って、自身のパケット処理テーブルTBLに必要なエントリを設定(追加・変更)する(ステップS16)。また、ネットワーク制御装置30は、第1パケットをネットワーク機器10に返信する。その後、第1パケット及び同一フローの後続パケットは、ネットワーク制御装置30を介することなく、各ネットワーク機器10によって高速に処理されることになる。
2.ネットワーク制御装置
以下、本実施の形態に係るネットワーク制御装置30について詳細に説明する。図7は、ネットワーク制御装置30の構成例を示すブロック図である。ネットワーク制御装置30は、処理装置40及び記憶装置50を備えている。処理装置40は、CPU(Central Processing Unit)を備え、様々なデータ処理を行う。記憶装置50は、RAM(Random Access Memory)やHDD(Hard Disk Drive)を含む。
処理装置40は、ネットワーク制御ブロック100及び複数の制御アプリケーションモジュール200を備えている。
ネットワーク制御ブロック100は、モジュール列決定ブロック110、スケジューリングブロック120、及びテーブル設定ブロック130を含んでいる。これら機能ブロックは、後に詳しく説明されるネットワーク制御処理(ステップS100)を実行する。尚、これら機能ブロックは、処理装置40が、制御プログラムPROGを実行することにより実現される。制御プログラムPROGは、ネットワーク制御装置30(処理装置40)によって実行されるコンピュータプログラムであり、記憶装置50に格納されている。制御プログラムPROGは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。処理装置40は、制御プログラムPROGを実行することにより、本実施の形態に係るネットワーク制御処理(ステップS100)を実現する。
複数の制御アプリケーションモジュール200は、それぞれ異なるネットワーク制御機能を有している。図7の例では、N種類(Nは2以上の整数)の制御アプリケーションモジュール200−1〜200−Nが設けられている。各制御アプリケーションモジュール200は、処理装置40が、該当するネットワーク制御機能を有するアプリケーションソフトウェアを実行することにより実現される。各制御アプリケーションモジュール200は、自身のネットワーク制御機能を実行することにより、対象パケットに対して実施される上記「操作」の内容を決定する。つまり、各制御アプリケーションモジュール200は、自身のネットワーク制御機能に応じた上記「操作」の内容を決定する。
ネットワーク制御機能の例としては、「shortest path switching」、「NAPT(Network Address Port Translation)」、「load balancing」などが挙げられる。「shortest path switching」は、最短経路に沿ったパケット伝送を実現するための機能である。「NAPT」は、パケットのアドレス/ポート変換を行う機能である。「load balancing」は、負荷分散を行う機能である。
ここで、図8を参照して、本実施の形態における「モジュール列」を説明する。モジュール列は、複数の制御アプリケーションモジュール200のうち少なくとも1つから構成される。図8の例では、モジュール列は、(1)shortest path switching、(2)NAPT、及び(3)load balancingの3個の制御アプリケーションモジュール200から構成されている。
また、モジュール列では、構成要素としての制御アプリケーションモジュール200が実行される順序が規定されている。図8の例では、(1)shortest path switching、(2)NAPT、(3)load balancingの順番で実行される。ここで、実行順番の観点から、「先行(preceding)」と「後続(subsequent)」が定義され得る。他の制御アプリケーションモジュール200よりも先に(前段で)実行されるものは、「先行モジュール」である。一方、他の制御アプリケーションモジュール200よりも後に(後段で)実行されるものは、「後続モジュール」である。例えば、(2)NAPTから見て、(1)shortest path switchingは先行モジュールであり、(3)load balancingは後続モジュールである。
後述されるように、モジュール列における実行順序は、予め適切に決定される。モジュール例は、構成要素としての制御アプリケーションモジュール200とその実行順序に応じた“一連のネットワーク制御機能”を有していると言える。そして、モジュール列が実行されると、すなわち、それぞれの制御アプリケーションモジュール200が規定された順序で実行されると、その“一連のネットワーク制御機能”が対象パケットに対して適用されることになる。その結果、その“一連のネットワーク制御機能”に応じた“一連の操作”が決定される。ネットワーク機器10においては、その“一連の操作”がパケットに対して実施されることになる。
ここで、パケットに対して実施される“一連の操作”に不整合が生じてはならない。例えば、ある操作によってある操作パラメータが書き換えられるとする。その場合に、その書き換えのせいで、次の操作が不可能になるといった事態は避けなければならない。すなわち、“一連の操作”に関して整合性が保障されなければならない。そのような整合性を保障するために利用されるのが、図8に示されるような「添付データ」である。
添付データは、制御アプリケーションモジュール200毎に予め用意される。各添付データは、対応する制御アプリケーションモジュール200によって決定される「操作」の際に参照あるいは書き換えられる「操作パラメータ」を示す。例えば、shortest path switchingに関する添付データは、「宛先アドレス:参照」及び「出力物理ポート:書換」を示している。これは、shortest path switchingによって決定される操作の際に、パケットの宛先アドレスが参照され、また、出力物理ポートが書き換えられることを意味する。
更に、各添付データは、対応する制御アプリケーションモジュール200と他の制御アプリケーションモジュール200との間の依存関係を示している。例えば、shortest path switchingに関する添付データは、「先行不可:NAPT」を示している。これは、NAPTがshortest path switchingより先に実行されてはならないことを意味する。また、NAPTに関する添付データは、「先行必須:shortest path switching」を示している。これは、NAPTよりも前にshortest path switchingが実行されていなければならないことを意味する。
再度図7を参照して、記憶装置50には、添付データATC、モジュール列データLIN、エントリ設定データENT、制御プログラムPROG等が格納される。添付データATCは、上述の通りであり、制御アプリケーションモジュール200毎に予め用意される。図7の例では、複数の制御アプリケーションモジュール200−1〜200−Nのそれぞれに関する複数の添付データATC−1〜ATC−Nが用意されている。モジュール列データLINは、図8で示されたようなモジュール列を示すデータである。典型的には、モジュール列データLINは、モジュール列の構成要素への参照をノードとして持つ線形リスト(linear list)で与えられる。エントリ設定データENTは、上述の通り、ネットワーク機器10において設定されるべきエントリの内容を示すデータである。
図9は、ネットワーク制御ブロック100によるネットワーク制御処理(ステップS100)を示すフローチャートである。
ステップS110:
ネットワーク制御ブロック100は、対象パケット受け取る。典型的には、対象パケットは、ネットワーク機器10から送られる上述の「第1パケット」である。但し、それに限られない。その対象パケットに応答して、モジュール列決定ブロック110は、対象パケットに適用される「モジュール列」を決定する。
このとき、モジュール列を構成する制御アプリケーションモジュール200の実行順序は、そのモジュール列の実行によって決定される“一連の操作”に不整合が生じないように決定されていなければならない。そのために、モジュール列決定ブロック110は、記憶装置50に格納されている必要な添付データATCを参照する。モジュール列決定ブロック110は、添付データATCを適宜参照することにより、制御アプリケーションモジュール200間の依存関係や操作パラメータに不整合が生じないようなモジュール列を決定することができる。すなわち、モジュール列決定ブロック110は、対象パケットに対して実施される“一連の操作”に不整合が生じないように、適切なモジュール列を決定することができる。モジュール列の決定手法は、後の第3節において更に詳細に説明される。
モジュール列決定ブロック110は、決定したモジュール列を示すモジュール列データLINを作成し、そのモジュール列データLINを記憶装置50に格納する。
ステップS120:
スケジューリングブロック120は、モジュール列データLINを記憶装置50から読み出す。そして、スケジューリングブロック120は、そのモジュール列データLINに従って、モジュール列で指定される制御アプリケーションモジュール200を順番に呼び出し、実行する。このとき、必要に応じて、制御アプリケーションモジュール200間で操作パラメータの受け渡しが行われる。このようにしてモジュール列が実行されることにより、対象パケットに対して実施される整合性が保障された一連の操作が決定される。スケジューリングブロック120は、整合性が保障された一連の操作を示す「単一のエントリ設定データENT」を作成する。そして、スケジューリングブロック120は、対象パケットに対して作成した単一のエントリ設定データENTを記憶装置50に格納する。
ステップS130:
テーブル設定ブロック130は、記憶装置50から、上述の単一のエントリ設定データENTを読み出す。そして、テーブル設定ブロック130は、その単一のエントリ設定データENTを、必要なネットワーク機器10に送信する。
ネットワーク制御装置30から単一のエントリ設定データENTを受け取った各ネットワーク機器10は、その単一のエントリ設定データENTに従って、自身のパケット処理テーブルTBLに単一のエントリを設定する(ステップS16)。その単一のエントリによって指定されている“一連の操作”の整合性は保障されている。従って、複数のネットワーク制御機能の組み合わせに応じた所望のパケット処理が不整合無く実現される。
3.モジュール列の決定(ステップS110)
以下、モジュール列決定ブロック110によるモジュール列の決定手法を、更に詳しく説明する。
図10は、本実施の形態における添付データATCを示す概念図である。ある制御アプリケーションモジュール200に関する添付データATCは、アプリケーション識別子71、対象パケット識別情報72、先頭フラグ73、依存関係情報74、操作パラメータ情報75を含んでいる。アプリケーション識別子71は、当該制御アプリケーションモジュール200の識別子である。対象パケット識別情報72は、当該制御アプリケーションモジュール200が適用される上記対象パケットの識別情報である。先頭フラグ73は、当該制御アプリケーションモジュール200が、当該対象パケットへの適用が要求される制御アプリケーションモジュール200のうち最初に実行されるべきものであるかどうかを示す。
依存関係情報74は、当該制御アプリケーションモジュール200と他の制御アプリケーションモジュール200との間の依存関係を示している。「先行不可」で指定される他の制御アプリケーションモジュール200は、当該制御アプリケーションモジュール200の先行モジュールであってはならない。「先行必須」で指定される他の制御アプリケーションモジュール200は、当該制御アプリケーションモジュール200の先行モジュールでなければならない。「後続不可」で指定される他の制御アプリケーションモジュール200は、当該制御アプリケーションモジュール200の後続モジュールであってはならない。「後続必須」で指定される他の制御アプリケーションモジュール200は、当該制御アプリケーションモジュール200の後続モジュールでなければならない。「排他選択」で指定される他の制御アプリケーションモジュール200は、当該制御アプリケーションモジュール200と共にモジュール列に含まれていてはならない。
操作パラメータ情報75は、当該制御アプリケーションモジュール200によって決定される「操作」の際に参照あるいは書き換えられる「操作パラメータ」を示す。操作パラメータは、パケットのプロトコルフィールドであり、典型的には次のようなものが挙げられる:ネットワーク機器10上の、パケットの到達物理ポート、送出物理ポート;イーサネットフレームの、発信元アドレス、宛先アドレス、プロトコルタイプ、VLANタグ;IPv4パケットの、発信元アドレス,宛先アドレス,プロトコル番号;TCPおよびUDPの、発信元ポート,宛先ポート。
図11は、本実施の形態におけるステップS110を概念的に示している。図12は、ステップS110を示すフローチャートである。モジュール列は、先頭モジュール(最初に実行されるもの)から順次決定される。途中まで決定されたモジュール列は、以下「仮決定モジュール列」と参照される。
ある段のモジュールを決定する際、候補となるモジュールは、以下「候補モジュール」と参照される。候補モジュールは、対応する添付情報ATC中の対象パケット識別情報72が対象パケットと合致する制御アプリケーションモジュール200である。尚、先頭モジュールを決定する際には、添付情報ATC中に先頭フラグ73がセットされているものが候補モジュールとなる。
ある段のモジュールを決定する際、まず、いずれかの候補モジュールが選択される(ステップS111、ステップS112;Yes)。続いて、選択された候補モジュール及び仮決定モジュール列を構成する各モジュールの添付データATCを参照することにより、候補モジュールと各決定モジュール列を構成する各モジュールとの間で照合(checking)が実行される(S113)。照合の結果、操作パラメータや依存関係に不整合が生じていなければ(ステップS114;Yes)、その候補モジュールが採用され、仮決定モジュール列の最後に追加される(ステップS115)。そして、処理は、次段のモジュール決定に移る。
一方、照合の結果、どこかで不整合が生じる場合がある(ステップS114;No)。その不整合が生じるNG段は、現在検討中の段であるかもしれないし、仮決定モジュール列内の段であるかもしれない。この場合、NG段のモジュールは「NG(図11参照)」に設定される(ステップS116)。そして、処理は、NG段におけるモジュール決定に戻る。NG段におけるモジュール決定において、既に「NG」に設定されたモジュールは、候補モジュールとして選択されない。
未照合の候補モジュールがもう無い場合(ステップS112;No)、処理は、前段におけるモジュール決定に戻る。前段において仮決定されていたモジュールは「NG」に設定され、次の候補モジュールが選択される。
このような処理を再帰的に実行していくことにより、モジュール列が決定される。
ステップS113における「照合」は、次の通りである。図13は、依存関係情報74に基づく依存関係の照合を示している。図13において、モジュールAとモジュールMとは互いに異なるモジュールである。ここでは、モジュールAに関する添付データATC中の依存関係情報74が参照され、照合が行われる。モジュールAに関する添付データATC中の依存関係情報74の記述と、モジュールAとモジュールMの配置パターン(前後関係)とに依存して、照合結果が異なる。照合結果Sは「成功」を意味し、照合結果Fは「失敗」を示している。
また、ステップS113において、操作パラメータの整合性もチェックされる。異なるモジュール間で操作パラメータの干渉が発生する場合、パケットに対する一連の操作が意図しない結果になる可能性がある。従って、仮決定モジュール列及び候補モジュールとの間で、操作パラメータに対する処理(参照、書き換え)に不整合がないか確認される。図14〜図16は、いくつかの例を示している。
図14は、「shortest path switching」と「NAPT egress」との間の照合を示している。依存関係に関しては、何も規定されていない。操作パラメータに関しては、双方のモジュールにおいて「宛先IPv4アドレスの参照」が規定されている。双方とも「参照」するだけなので、実行順にかかわらず、一連の操作は意図しないものにはならない。従って、照合結果は成功(S)となる。
図15は、「shortest path switching」と「NAPT ingress」との間の照合を示している。依存関係に関しては、何も規定されていない。操作パラメータに関しては、「shortest path switching」において「宛先IPv4アドレスの参照」が規定されており、「NAPT ingress」において「宛先IPv4アドレスの参照及び書き換え」が規定されている。この場合、宛先IPv4アドレスの書き換えが発生するため、実行順によっては、一連の操作が意図しないものとなってしまう。意図しない結果となる可能性がある場合、照合結果は失敗(F)となる。
図16は、図15の例において更に依存関係が規定された場合を示している。具体的には、「shortest path switching」よりも前に「NAPT ingress」が実行されることが禁止されている。また、「shortest path switching」が「NAPT ingress」よりも前に実行されることが規定されている。この場合、宛先IPv4アドレスの書き換えは、「shortest path switching」に影響を与えない。つまり、一連の操作は意図しないものにはならない。従って、照合結果は成功(S)となる。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
本出願は、2009年12月17日に出願された日本国特許出願2009−286188を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (9)

  1. パケット処理テーブルを有するネットワーク機器と、
    前記ネットワーク機器に接続されたネットワーク制御装置と
    を具備し、
    前記パケット処理テーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して実施される操作とを示し、
    前記ネットワーク機器は、前記ネットワーク制御装置から送られるエントリ設定データに応答して前記各エントリを設定し、
    前記ネットワーク機器は、パケットを受信すると前記パケット処理テーブルを参照し、前記受信パケットがいずれかのエントリの前記マッチ条件にマッチした場合、前記いずれかのエントリで指定される前記操作を前記受信パケットに対して実施し、
    前記ネットワーク制御装置は、
    それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて前記操作の内容を決定する複数の制御アプリケーションモジュールと、
    前記複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有するモジュール列を決定するモジュール列決定ブロックと、
    前記モジュール列を順番に実行し、前記一連のネットワーク制御機能に応じた一連の前記操作を示す単一のエントリ設定データを作成するスケジューリングブロックと、
    前記単一のエントリ設定データを前記ネットワーク機器に送信するテーブル設定ブロックと、
    前記複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データが格納される記憶装置と
    を備え、
    前記複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される前記操作の際に参照あるいは書き換えられる操作パラメータを示し、
    前記モジュール列決定ブロックは、前記各添付データを参照し、前記対象パケットに対して実施される前記一連の操作に不整合が生じないように、前記モジュール列を決定する
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記各添付データは、更に、前記対応する制御アプリケーションモジュールと他の制御アプリケーションモジュールとの間の依存関係を示し、
    前記モジュール列決定ブロックは、前記各添付データを参照し、前記依存関係が満たされるように前記モジュール列を決定する
    ネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記受信パケットがいずれのエントリの前記マッチ条件ともマッチしない場合、前記ネットワーク機器は、前記受信パケットを前記対象パケットとして前記ネットワーク制御装置に送信する
    ネットワークシステム。
  4. ネットワーク機器に接続されるネットワーク制御装置であって、
    前記ネットワーク機器は、パケット処理テーブルを有し、
    前記パケット処理テーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して実施される操作とを示し、
    前記ネットワーク機器は、前記ネットワーク制御装置から送られるエントリ設定データに応答して前記各エントリを設定し、
    前記ネットワーク機器は、パケットを受信すると前記パケット処理テーブルを参照し、前記受信パケットがいずれかのエントリの前記マッチ条件にマッチした場合、前記いずれかのエントリで指定される前記操作を前記受信パケットに対して実施し、
    前記ネットワーク制御装置は、
    それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて前記操作の内容を決定する複数の制御アプリケーションモジュールと、
    前記複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有するモジュール列を決定するモジュール列決定ブロックと、
    前記モジュール列を順番に実行し、前記一連のネットワーク制御機能に応じた一連の前記操作を示す単一のエントリ設定データを作成するスケジューリングブロックと、
    前記単一のエントリ設定データを前記ネットワーク機器に送信するテーブル設定ブロックと、
    前記複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データが格納される記憶装置と
    を備え、
    前記複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される前記操作の際に参照あるいは書き換えられる操作パラメータを示し、
    前記モジュール列決定ブロックは、前記各添付データを参照し、前記対象パケットに対して実施される前記一連の操作に不整合が生じないように、前記モジュール列を決定する
    ネットワーク制御装置。
  5. 請求項4に記載のネットワーク制御装置であって、
    前記各添付データは、更に、前記対応する制御アプリケーションモジュールと他の制御アプリケーションモジュールとの間の依存関係を示し、
    前記モジュール列決定ブロックは、前記各添付データを参照し、前記依存関係が満たされるように前記モジュール列を決定する
    ネットワーク制御装置。
  6. ネットワーク制御装置がネットワーク機器を制御する方法であって、
    前記ネットワーク機器は、パケット処理テーブルを有し、
    前記パケット処理テーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して実施される操作とを示し、
    前記ネットワーク機器は、ネットワーク制御装置から送られるエントリ設定データに応答して前記各エントリを設定し、
    前記ネットワーク機器は、パケットを受信すると前記パケット処理テーブルを参照し、前記受信パケットがいずれかのエントリの前記マッチ条件にマッチした場合、前記いずれかのエントリで指定される前記操作を前記受信パケットに対して実施し、
    前記ネットワーク制御装置が備える複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて前記操作の内容を決定し、
    前記制御方法は、
    モジュール列を決定するステップと、ここで、前記モジュール列は、前記複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有し、
    前記モジュール列を順番に実行し、前記一連のネットワーク制御機能に応じた一連の前記操作を示す単一のエントリ設定データを作成するステップと、
    前記単一のエントリ設定データを前記ネットワーク機器に送信するステップと
    を含み、
    前記モジュール列を決定するステップは、
    前記複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データを記憶装置から読みだすステップと、ここで、前記複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される前記操作の際に参照あるいは書き換えられる操作パラメータを示し、
    前記各添付データを参照し、前記対象パケットに対して実施される前記一連の操作に不整合が生じないように、前記モジュール列を決定するステップと
    を含む
    ネットワーク機器を制御する方法
  7. 請求項6に記載のネットワーク機器を制御する方法であって、
    前記各添付データは、更に、前記対応する制御アプリケーションモジュールと他の制御アプリケーションモジュールとの間の依存関係を示し、
    前記モジュール列を決定するステップは、更に、前記各添付データを参照し、前記依存関係が満たされるように前記モジュール列を決定するステップを含む
    ネットワーク機器を制御する方法
  8. ネットワーク機器を制御する方法をネットワーク制御装置に実行させる制御プログラムが記録された記録媒体であって、
    前記ネットワーク機器は、パケット処理テーブルを有し、
    前記パケット処理テーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して実施される操作とを示し、
    前記ネットワーク機器は、前記ネットワーク制御装置から送られるエントリ設定データに応答して前記各エントリを設定し、
    前記ネットワーク機器は、パケットを受信すると前記パケット処理テーブルを参照し、前記受信パケットがいずれかのエントリの前記マッチ条件にマッチした場合、前記いずれかのエントリで指定される前記操作を前記受信パケットに対して実施し、
    前記ネットワーク制御装置が備える複数の制御アプリケーションモジュールは、それぞれ異なるネットワーク制御機能を有し、それぞれのネットワーク制御機能に応じて前記操作の内容を決定し、
    前記制御処理は、
    モジュール列を決定するステップと、ここで、前記モジュール列は、前記複数の制御アプリケーションモジュールのうち少なくとも1つからなり、対象パケットに適用される一連のネットワーク制御機能を有し、
    前記モジュール列を順番に実行し、前記一連のネットワーク制御機能に応じた一連の前記操作を示す単一のエントリ設定データを作成するステップと、
    前記単一のエントリ設定データを前記ネットワーク機器に送信するステップと
    を含み、
    前記モジュール列を決定するステップは、
    前記複数の制御アプリケーションモジュールのそれぞれに関する複数の添付データを記憶装置から読みだすステップと、ここで、前記複数の添付データの各々は、対応する制御アプリケーションモジュールによって決定される前記操作の際に参照あるいは書き換えられる操作パラメータを示し、
    前記各添付データを参照し、前記対象パケットに対して実施される前記一連の操作に不整合が生じないように、前記モジュール列を決定するステップと
    を含む
    記録媒体。
  9. 請求項8に記載の記録媒体であって、
    前記各添付データは、更に、前記対応する制御アプリケーションモジュールと他の制御アプリケーションモジュールとの間の依存関係を示し、
    前記モジュール列を決定するステップは、更に、前記各添付データを参照し、前記依存関係が満たされるように前記モジュール列を決定するステップを含む
    記録媒体。
JP2011546123A 2009-12-17 2010-12-14 ネットワークシステム、ネットワーク制御装置、及び制御方法 Expired - Fee Related JP5672558B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011546123A JP5672558B2 (ja) 2009-12-17 2010-12-14 ネットワークシステム、ネットワーク制御装置、及び制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009286188 2009-12-17
JP2009286188 2009-12-17
PCT/JP2010/072439 WO2011074559A1 (ja) 2009-12-17 2010-12-14 ネットワークシステム、ネットワーク制御装置、及び制御方法
JP2011546123A JP5672558B2 (ja) 2009-12-17 2010-12-14 ネットワークシステム、ネットワーク制御装置、及び制御方法

Publications (2)

Publication Number Publication Date
JPWO2011074559A1 JPWO2011074559A1 (ja) 2013-04-25
JP5672558B2 true JP5672558B2 (ja) 2015-02-18

Family

ID=44167312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011546123A Expired - Fee Related JP5672558B2 (ja) 2009-12-17 2010-12-14 ネットワークシステム、ネットワーク制御装置、及び制御方法

Country Status (3)

Country Link
US (1) US20110310894A1 (ja)
JP (1) JP5672558B2 (ja)
WO (1) WO2011074559A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9319459B2 (en) * 2011-09-19 2016-04-19 Cisco Technology, Inc. Services controlled session based flow interceptor
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
US9210039B2 (en) 2012-05-10 2015-12-08 Intel Corporation Generating and/or receiving at least one packet to facilitate, at least in part, network path establishment
CN106789751B (zh) * 2012-05-10 2020-07-28 英特尔公司 基于资源可用性的网络路由
US8982734B2 (en) 2012-06-26 2015-03-17 Intel Corporation Methods, apparatus, and systems for routing information flows in networks using spanning trees and network switching element resources
US9319264B1 (en) * 2012-07-12 2016-04-19 Google Inc. Networking systems with dynamically changing topologies
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
US9548920B2 (en) 2012-10-15 2017-01-17 Cisco Technology, Inc. System and method for efficient use of flow table space in a network environment
FI20126275L (fi) 2012-12-07 2014-06-08 Tellabs Oy Menetelmä ja laitteisto ohjelmallisesti määriteltävän verkon konfiguroimiseksi
JP6175766B2 (ja) * 2012-12-25 2017-08-09 日本電気株式会社 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
US9374285B1 (en) * 2013-02-07 2016-06-21 Big Switch Networks, Inc. Systems and methods for determining network topologies
CN103346974B (zh) 2013-06-03 2015-04-08 华为技术有限公司 一种业务流程的控制方法及网络设备
WO2015074258A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种控制业务数据在虚拟网络中转发的方法、装置及系统
US9876705B1 (en) 2013-12-30 2018-01-23 Google Llc System and method for adjusting network topology without packet loss
CN105637845B (zh) * 2014-01-14 2019-07-09 华为技术有限公司 一种网络地址转换的方法及装置
US10826768B2 (en) 2014-03-28 2020-11-03 Hewlett Packard Enterprise Development Lp Controlled node configuration
JP6337622B2 (ja) * 2014-06-03 2018-06-06 富士通株式会社 経路設定装置及び経路設定方法
US10116553B1 (en) 2015-10-15 2018-10-30 Cisco Technology, Inc. Application identifier in service function chain metadata
DE102019114307A1 (de) * 2019-05-28 2020-12-03 Beckhoff Automation Gmbh Automatisierungsnetzwerk, Netzwerkverteiler und Verfahren zur Datenübertragung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167761A (ja) * 2003-12-04 2005-06-23 Hitachi Ltd パケット通信ノード装置
JP2007013803A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp パケット転送方法、端末およびネットワーク装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804785B2 (en) * 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
KR100859162B1 (ko) * 2007-10-16 2008-09-19 펜타시큐리티시스템 주식회사 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167761A (ja) * 2003-12-04 2005-06-23 Hitachi Ltd パケット通信ノード装置
JP2007013803A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp パケット転送方法、端末およびネットワーク装置

Also Published As

Publication number Publication date
US20110310894A1 (en) 2011-12-22
JPWO2011074559A1 (ja) 2013-04-25
WO2011074559A1 (ja) 2011-06-23

Similar Documents

Publication Publication Date Title
JP5672558B2 (ja) ネットワークシステム、ネットワーク制御装置、及び制御方法
EP3172875B1 (en) Method for performing logical network forwarding using a controller
EP3072264B1 (en) Method for performing network service insertion
US20180324274A1 (en) Information system, control apparatus, method of providing virtual network, and program
RU2628151C2 (ru) Система связи, узел, устройство управления, способ связи и программа
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
US10212095B2 (en) Maximum transmission unit installation for switches in a software-defined network
WO2011118566A1 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
EP3210347B1 (en) Pre-built match-action tables
WO2012111051A1 (en) Flow communication system
KR20130125826A (ko) 네트워크 시스템 및 vlan 태그 정보 취득 방법
US10171352B2 (en) Communication system, node, control device, communication method, and program
US10069648B2 (en) Communication system, control apparatus, communication control method and program
EP2928122B1 (en) Switch device, vlan setting management method and program
US20160301595A1 (en) Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
JP6440191B2 (ja) スイッチ装置、vlan設定管理方法及びプログラム
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
Lei et al. Can Host-Based SDNs Rival the Traffic Engineering Abilities of Switch-Based SDNs?
JP2015525984A (ja) 通信システム、制御装置、通信方法及びプログラム
US11343179B2 (en) Transfer device and transfer method
WO2014020902A1 (en) Communication system, control apparatus, communication method, and program
JP6717676B2 (ja) 制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141211

R150 Certificate of patent or registration of utility model

Ref document number: 5672558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees