JP5621778B2 - コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 - Google Patents

コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 Download PDF

Info

Publication number
JP5621778B2
JP5621778B2 JP2011532995A JP2011532995A JP5621778B2 JP 5621778 B2 JP5621778 B2 JP 5621778B2 JP 2011532995 A JP2011532995 A JP 2011532995A JP 2011532995 A JP2011532995 A JP 2011532995A JP 5621778 B2 JP5621778 B2 JP 5621778B2
Authority
JP
Japan
Prior art keywords
content
flow
information
relay device
destination
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
JP2011532995A
Other languages
English (en)
Other versions
JPWO2011037105A1 (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 JPWO2011037105A1 publication Critical patent/JPWO2011037105A1/ja
Application granted granted Critical
Publication of JP5621778B2 publication Critical patent/JP5621778B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application

Landscapes

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

Description

本発明は、ネットワークトラヒックのデータ処理において、トラヒックのコンテンツに基づくスイッチ処理、ルーティング処理を行うコンテンツベーススイッチシステムに関する。
特許文献1(特開2006−203904号公報)には、コンテンツベースルータ、コンテンツベースネットワークに関する技術が開示されている。この技術では、入口ルータにおいて、データパケットのコンテンツを、格納されているサブスクリプション(subscription)とマッチングする。そして、マッチした場合に、マッチしたサブスクリプションのサブスクライバー(subscriber)に対応した出口ルータを表すルーティングラベルをデータパケットに割り当てて、転送すべきコンテンツベースルータにデータパケットを送信する。なお、サブスクライバーとは、コンテンツを購読するユーザを示す。また、サブスクリプションとは、サブスクライバーが規定するクエリー(query)情報、選択条件を示す。
特許文献1に開示された技術では、XML(Extensible Markup Language)と呼ばれるメタ言語で記述されたコンテンツデータとXMLで記述されたサブスクリプションのデータとのマッチを取ることにより、配送先を決定する。
コンテンツベースルータの実現方法としては、特許文献1に開示されているように、経路上の各ルータがXML記述をXMLクエリー(query)と比較しながら、各XMLルータで処理を転送判定する方法や、コンテンツの宛先を判定した後にラベルをパケットに付加し、以降はラベルに基づいてルーティングを行う方法が挙げられる。
コンテンツベースのルーティング処理に類似する処理として、通信データのメッセージ内容に基づいて宛先を判定する処理が行われる場合もある。例えば、ロードバランサ装置(Load Balancer:負荷分散装置)では、HTTP(Hyper Text Transfer Protocol)で利用されるURI(Unified Resource Identifier)やCookieと呼ばれる、HTTPヘッダに含まれる識別子に基づいて宛先のサーバを選択する処理が行われている。但し、この処理では、URIやCookieの内容に基づいて宛先サーバを選択することはできるが、経路を指定することはできない。
先に述べたロードバランサ装置では、HTTPのリクエストメッセージに含まれるURIやCookieの値に対してポリシーを適用することにより、最適な宛先を選択することができる。これにより、HTTP通信の場合は、サービスを提供するサーバを選択することができる。しかし、最適なサーバを選択できても、そのサーバまでの経路はTCP/IP(Transmission Control Protocol/Internet Protocol)ルーティングに従うため、どのようなネットワーク経路を通るかを指定することができない。また、ネットワーク経路だけでなく、どのような帯域を割り当てるかも指定することができない。そのため、特定のURIに対して広帯域の回線を利用して転送することは困難である。
これを実現するためには、URIやCookieで宛先サーバを判定する処理と、その宛先サーバが決定してから、宛先サーバに接続する際に、QoS(Quality of Service)を考慮した経路制御を行う処理が必要になる。しかしながら、この場合、URIやCookieから宛先を判断する処理と、宛先への接続に対してどのようなネットワーク経路を使用するかを判断する処理との2段階の処理のそれぞれにおいて、ポリシー指定が必要になり、処理が複雑になるという課題がある。
一方、特許文献1に示すコンテンツベースネットワーク処理では、コンテンツに基づいてパケットにラベルが割り当てられ、ラベルに基づいてネットワーク上の中継処理が行われる。そのため、コンテンツベースルータが、コンテンツに応じてパケットにラベルを割り当てる際に、ラベルスイッチに対する転送ポリシーを指定することで、最適な経路を指定して中継することが可能になる。
しかし、ラベルを用いた転送処理では、ラベルを解釈するためのラベルスイッチと呼ばれる中継装置が必要であるという課題がある。ラベルスイッチは、ラベルを解釈し、ラベルに基づいてスイッチ処理を行う。
また、コンテンツを配送するトランスポートプロトコルとして、信頼性のあるTCPを使用することを考えると、サブスクリプションのサブスクライバーに対応した出口ルータまでのTCPコネクションを確立する処理と、ラベルを指定して転送を行う処理との2つの処理が必要になる。TCPコネクションを利用した転送のためにパケットにはTCP/IPヘッダを付加しているので、そのヘッダに更にラベルを付加するのではなく、TCP/IP形式のパケットのままで転送処理ができることが望ましい。
関連する技術として、特許文献2(特開2004−304456号公報)には、ネットワークシステム、同システムにおけるパス設定方法並びに同システムに用いられるネットワーク管理装置及びネットワーク装置に関する技術が開示されている。この技術では、ネットワーク管理装置は、定期的に、又は、所定のイベント発生時に、或るネットワーク装置間で提供するコンテンツ内容について特定の基準を満たす配送経路を予め算出・決定する。また、このネットワーク管理装置は、特定のコンテンツと当該コンテンツを配信するのに最適な計算済みの配送経路とを関連付けた対応表を作成し、作成された対応表をユーザによる要求コンテンツに応じたリクエストメッセージをネットワーク装置(エッジルータ)に送信する。ネットワーク装置(エッジルータ)は、上記リクエストメッセージを受信すると、当該メッセージ中の通過ノードリストを抽出し、当該通過ノードリストに基づいて、所定のパス設定シグナリング(パス設定メッセージ)を用いてMPLS(Multi−Protocol Label Switching)パスを設定(確立)する。
また、特許文献3(特開2007−096741号公報)には、ポートホッピング検出システム、帯域制御システム、ポートホッピング検出方法、及びプログラムに関する技術が開示されている。この技術では、ポートホッピングフロー検出装置が、受信した複数のフローのポートホッピングに関する情報を演算し、その演算結果と前記アプリケーション情報とを比較することによりポートホッピングを検出する。
特開2006−203904号公報 特開2004−304456号公報 特開2007−096741号公報
本発明の目的は、コンテンツベースのルーティング処理を効率的に行うため、コンテンツベースのパケット転送処理を行う際に、コンテンツに対する転送処理を、ラベルを用いずにTCP/IPヘッダのみに基づいて転送するコンテンツベーススイッチシステムを提供することである。
本発明のコンテンツベーススイッチシステムは、複数の端末間の通信経路をパケットペイロードに含まれるコンテンツに基づいて決定するコンテンツベーススイッチシステムであって、中継装置と、スイッチと、コントローラとを具備する。中継装置は、複数の端末間の通信を所定の通信プロトコルに基づいて中継し、複数の端末のいずれかの端末からデータを受信し、受信されたデータのパケットペイロードからコンテンツ情報を抽出し、抽出されたコンテンツ情報と端末のアドレス情報とをコントローラに送信し、コントローラから指定されるフロー情報を用いて宛先端末までのフローを設定する。スイッチは、複数の端末間を接続するネットワーク上に少なくとも1つ存在し、複数の端末及び中継装置のうちのいずれかからデータを受信し、外部から通知されたフロー情報の識別子と出力方路との対応表に従い宛先端末まで通信を行う。コントローラは、中継装置及びスイッチの制御を行い、コンテンツ情報と端末のアドレス情報に基づいて転送経路を決定し、更に転送に使用するフロー情報を決定し、フロー情報と出力方路との対応表を転送経路上にあるスイッチの経路テーブルに設定し、決定されたフロー情報を中継装置に通知する。
本発明のコンテンツベーススイッチ方法は、複数の端末間の通信経路をパケットペイロードに含まれるコンテンツに基づいて決定するコンテンツベーススイッチ方法である。本発明のコンテンツベーススイッチ方法では、中継装置により、複数の端末間の通信を所定の通信プロトコルに基づいて中継し、パケットペイロードからコンテンツ情報を抽出し、抽出されたコンテンツ情報と端末のアドレス情報とをコントローラに送信する。また、複数の端末間を接続するネットワーク上に少なくとも1つ存在するスイッチにより、複数の端末及び中継装置のうちのいずれかからデータを受信する。また、コントローラにより、中継装置及びスイッチの制御を行い、コンテンツ情報と端末のアドレス情報に基づいて転送経路を決定し、更に転送に使用するフロー情報を決定し、フロー情報と出力方路との対応表を転送経路上にあるスイッチの経路テーブルに設定し、決定されたフロー情報を中継装置に通知する。また、中継装置により、コントローラから通信されたフロー情報を用いて宛先端末までのフローを設定する。また、スイッチにより、コントローラから通知されたフロー情報の識別子を用いて宛先端末まで通信を行う。
本発明に係るプログラムは、上記のコンテンツベーススイッチ方法における中継装置、スイッチ及びコントローラのいずれかの動作・処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
本発明によれば、コンテンツベースネットワーク処理において、コンテンツに基づく宛先判定処理、ネットワークの経路判定処理と、TCP/IP転送の制御処理を連携させることで、コンテンツベースのネットワーク転送処理の経路の最適化が実現できる。また、コントローラでネットワークの経路判定とフロー管理とを連携させることで、共有利用できるフローを判断できる。これにより、中継後の通信フローを集約することができ、ネットワークリソースや端末への処理負荷を低減することが可能になる。
本発明のコンテンツベーススイッチシステムの構成例を示す図である。 中継装置、スイッチ、及びネットワークコントローラの構成例を示す図である。 転送ポリシーテーブルの例を示す図である。 フロー管理テーブルの例を示す図である。 実行マシン(コンピュータ)の構成例を示す図である。 中継要求を受信してから応答を返すまでのネットワークコントローラの動作を示すフローチャートである。 あるフローに関してフローが終了する場合のネットワークコントローラの動作を示すフローチャートである。 コンテンツに基づいたルーティングを行う場合のシーケンス図である。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1に、本発明のコンテンツベーススイッチシステムの構成例を示す。
本発明のコンテンツベーススイッチシステムは、端末210(端末210−1〜端末210−N:Nは整数)と、端末220(端末220−1〜端末220−N)と、中継装置10と、スイッチ20(スイッチ20−1〜スイッチ20−6)と、ネットワークコントローラ30を備える。
ここでは、端末210は、端末210−1〜端末210−Nの端末群に含まれる各端末を示す。また、端末220は、端末220−1〜端末220−Nの端末群に含まれる各端末を示す。また、スイッチ20は、スイッチ20−1〜スイッチ20−6のスイッチ群に含まれる各スイッチを示す。
以下の説明では、端末210−1〜端末210−Nの各々を、端末210と称す。また、端末220−1〜端末220−Nの各々を、端末220と称す。また、スイッチ20−1〜スイッチ20−6の各々を、スイッチ20と称す。
本発明のコンテンツベーススイッチシステムは、端末210と、端末220との間の中継処理を提供する。
端末210と端末220との間のネットワークには、中継装置10とスイッチ20が接続されている。
また、中継装置10及びスイッチ20は、ネットワークコントローラ30に接続されている。ネットワークコントローラ30は、ネットワーク機器を制御するコントローラであり、中継装置10及びスイッチ20を集中的に管理する。
なお、本発明では、端末及びスイッチの台数は任意の数であり、図示した数に限定されない。
図2に、中継装置10、スイッチ20、及びネットワークコントローラ30の構成例を示す。
中継装置10は、プロトコル終端部11と、コンテンツ抽出部12と、プロトコル終端部13と、中継要求インタフェース部14と、プロトコルポート指示部15を備える。
中継装置10は、第1の通信回線60と第2の通信回線70に接続され、第1の通信回線60と第2の通信回線70の間の中継を行う。
プロトコル終端部11は、第1の通信回線60を介して、外部に接続されている。また、プロトコル終端部11は、コンテンツ抽出部12に接続されている。
コンテンツ抽出部12は、プロトコル終端部11と、プロトコル終端部13と、中継要求インタフェース部14に接続されている。
プロトコル終端部13は、コンテンツ抽出部12に接続されている。また、プロトコル終端部13は、第2の通信回線70を介して、スイッチ20に接続されている。
中継要求インタフェース部14は、コンテンツ抽出部12と、制御回線81を介して、ネットワークコントローラ30に接続されている。
プロトコルポート指示部15は、プロトコル終端部13と、中継要求インタフェース部14に接続されている。
スイッチ20は、フローテーブル21と、スイッチ処理部22と、スイッチインタフェース部23を備える。
フローテーブル21は、MACヘッダ、IPヘッダ、レイヤ4ヘッダから得られる情報をフローの識別情報として登録し、そのフローに対する出力情報(出力回線やヘッダ書き換え等のアクション情報)を格納するエントリーを備える。
[フローの例]
フローとは、所定の規則(ルール)に適合するパケットに対して行うべき所定の処理(アクション)を定義したものである。フローのルールは、MACフレームのヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローのルールとして使用可能である。
フローの詳細については、以下の文献に記載されている。“OpenFlow Switch Specification Version 0.9.0(Wire Protocol 0x98) July 20, 2009 Current Maintainer: Brandon Heller(brandonh@stanford.edu)” <http://www.openflowswitch.org/documents/openflow−spec−v0.9.0.pdf>
スイッチ処理部22は、フローテーブル21に指示された経路設定に基づいて、特定のインタフェースからインタフェースへスイッチングを行い、更に指定された制御内容に応じてQoS、帯域の制御を行う。ここでは、スイッチ処理部22は、スイッチインタフェース部23のスイッチングを行う。
スイッチインタフェース部23は、複数の回線を収容する。ここでは、スイッチインタフェース部23には、第2の通信回線70を介して、中継装置10のプロトコル終端部13に接続されているものと、他のスイッチ20又は端末220に接続されているものがある。これらは、ハードウェアとして異なる別々のインタフェースでも良いし、物理ポートが異なるだけの同一のインタフェースでも良い。
ネットワークコントローラ30は、中継要求インタフェース部31と、経路判定部32と、プロトコルポート管理部33と、経路設定部34を備える。
中継要求インタフェース部31は、制御回線81を介して、中継装置10の中継要求インタフェース部14に接続されている。
経路判定部32は、中継要求インタフェース部31と、プロトコルポート管理部33と、経路設定部34に接続されている。また、経路判定部32は、転送ポリシーテーブルを保持する。転送ポリシーテーブルについては後述する。
プロトコルポート管理部33は、中継要求インタフェース部31と経路判定部32に接続されている。また、プロトコルポート管理部33は、フロー管理テーブルを保持する。フロー管理テーブルについては後述する。
経路設定部34は、制御回線82を介して、スイッチ20のフローテーブル21の設定/更新を行う。
[転送ポリシーテーブルの例]
図3Aに、ネットワークコントローラ30の経路判定部32が保持する転送ポリシーテーブルの例を示す。転送ポリシーテーブルは、中継装置10から要求のあった、中継対象トラヒックのアドレス情報、コンテンツ情報に基づいて、転送のためのポリシーID(Identifier)、QoSパラメータ情報を取得するために用いられる。ここでは、転送ポリシーテーブルは、送信元アドレス、宛先アドレス(仮想宛先アドレス)、コンテンツルール、ポリシーIDならびに転送QoSパラメータを格納している。経路判定部32は、転送ポリシーテーブルから、送信元アドレスと宛先アドレス(仮想宛先アドレス)、コンテンツルールに対応する転送ポリシーとして、ポリシーIDならびに転送QoSパラメータを取得できる。なお、経路判定部32は、ポリシーIDをインデックスとして、ルーティングの転送ポリシーを取得することができるものとする。
[フロー管理テーブルの例]
図3Bに、ネットワークコントローラ30のプロトコルポート管理部33が保持するフロー管理テーブルの例を示す。フロー管理テーブルは、ポリシーIDによって指定された転送フローに関する情報を格納する。ここでは、フロー管理テーブルは、宛先アドレス、経路、QoSパラメータ、ポリシーID、フロー情報、KeepAlive情報を格納している。KeepAlive情報は、「Keep Alive(キープアライブ)」を使用するか否かを示す情報である。なお、「Keep Alive」とは、ネットワーク上で、接続が有効であることを確認するために定期的に行われる通信である。ここでは、「Keep Alive」の指定があれば「true(真)」、指定がなければ「false(偽)」とする。経路判定部32は、このフロー管理テーブルを参照することにより、宛先アドレスまでの指定経路、QoSパラメータ、ポリシーIDを指定した場合のフロー情報を取得できる。
[実行マシン(コンピュータ)の構成例]
図4は、本発明のコンテンツベーススイッチシステムの各処理部が実行されるマシン(コンピュータ)の構成の一例を示している。
中継装置10、スイッチ20、及びネットワークコントローラ30の各々がコンピュータ50である場合、これらの各処理部は、CPU(Central Processing Unit)51、メモリ52、二次記憶装置53、ネットワークインタフェース54の組み合わせにより実現される。
CPU51は、各種ソフトウェア・プログラム(コンピュータ・プログラム)を実行することにより、中継装置10、スイッチ20、ネットワークコントローラ30の全体的な動作を司る。より具体的には、本実施形態において、CPU51は、メモリ52、二次記憶装置53から、又はネットワークインタフェース54を介して、プロトコル終端部、コンテンツ抽出部、経路判定部、経路設定部、プロトコルポート管理部等の機能・処理を実現するためのソフトウェア・プログラムを取得し、適宜実行する。メモリ52及び二次記憶装置53は、CPU51やネットワークインタフェース54から受け取ったデータを記憶し、CPU51からの要求に応じて、記憶されているデータを提供する。ネットワークインタフェース54は、中継装置10と、スイッチ20と、ネットワークコントローラ30の間のネットワークを構成する通信回線に接続される。
なお、CPU51は、マイクロプロセッサ(microprocessor)や、マイクロコントローラ、あるいは同様の機能を有する半導体集積回路(IC:Integrated Circuit)等でも良い。但し、実際には、これらの例に限定されない。
メモリ52は、CPU51が直接読み書きできるRAM(Random Access Memory)や、電源投入時に最初に読み込まれるプログラムの記憶等に使われるROM(Read Only Memory)、又はEEPROM(Electrically Erasable and Programmable Read Only Memory)、あるいはフラッシュメモリ等の半導体記憶装置である。ここでは、メモリ52は、主記憶装置(メインメモリ)を示す。但し、実際には、これらの例に限定されない。
二次記憶装置53は、コンピュータ内外でデータやプログラムを格納する補助記憶装置である。ここでは、二次記憶装置53は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の外部記憶装置(storage)を示す。また、二次記憶装置53は、DVD(Digital Versatile Disk)とその駆動装置(ドライブ)や、メモリカード等の記憶媒体(メディア)等でも良い。但し、実際には、これらの例に限定されない。
ネットワークインタフェース54の例として、NIC(Network Interface Card)等のネットワークアダプタや、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。また、ネットワークインタフェース54が利用する通信回線の例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。但し、実際には、これらの例に限定されない。
[中継処理]
以下に、端末210から端末220へと中継処理の際の各機能の動作について説明する。
ここでは、図1において、端末210−1からあるサービスを提供する他の端末に対して接続する場合を考える。このとき、端末210−1からは中継装置10が持つアドレス(仮想アドレスの場合もあり)を宛先としたパケットを送信し、TCP接続を試みる。この接続要求は、図2における第1の通信コネクションに相当し、プロトコル終端部11においてTCPの終端処理がされる。
プロトコル終端部11は、TCPの終端処理により、アプリケーションレイヤのプロトコルペイロードを取り出す。アプリケーションレイヤのプロトコルの例としては、HTTP(Hyper Text TransferProtocol)やSMTP(Simple Mail Transfer Protocol)等が挙げられる。
次に、コンテンツ抽出部12は、このプロトコルペイロードからコンテンツ情報を抽出する。このとき、コンテンツ情報は文字列であり、この文字列は予め指定されている。コンテンツ抽出部12は、プロトコルペイロードから、予め指定された文字列にしたがってコンテンツ情報を抽出する。コンテンツ情報の例として、HTTPの場合は、リクエストメッセージに含まれるURI(Unified Resource Identifier)やCookie文字列が挙げられる。あるいは、XML(eXtended Markup Language)で記述されたタグ情報が挙げられる。
ここでは、例としてコンテンツ抽出部12がコンテンツ情報としてURI文字列を抽出した場合について説明する。この場合、中継要求インタフェース部14は、第1の通信コネクションに関する情報として、送信元のIPアドレス、中継装置側の宛先IPアドレスと共に、コンテンツ抽出部12で抽出されたURI文字列を参照して、中継要求メッセージを作成する。また、中継要求インタフェース部14は、制御回線81を経由して、この中継要求メッセージをネットワークコントローラ30に送信する。
ネットワークコントローラ30において、中継要求インタフェース部31は、制御回線81を経由して中継要求メッセージを受信すると、この中継要求メッセージを経路判定部32に通知する。経路判定部32は、転送ポリシーに基づいて、この中継要求メッセージの転送経路を判定する。
上記の転送ポリシーは、図3Aの転送ポリシーテーブルに例示したものとする。この例では、送信元アドレスが任意(any)で、宛先IPアドレスが「133.202.1.1」で、URIが「foo.com」にマッチする場合には、「1番」のエントリーにマッチし、転送ポリシーIDが「101」で、QoSパラメータが「10Mbps」であることがわかる。経路判定部32は、ポリシーIDに関連付けられた転送ノードを選択する。具体的には、経路判定部32は、ポリシーID101に対応する経路を経路判定ロジックによって選択する。ここでは、スイッチ20−1、スイッチ20−2、スイッチ20−3、スイッチ20−4を経由して端末220−1に到達する経路が選択されたとする。左記のスイッチは、図1上の表現では、スイッチA、B、C、Dを通過する経路になる。また、宛先端末220−1のIPアドレスが「10.1.2.1」であるとする。
次に、経路判定部32は、プロトコルポート管理部33に対して、転送ポリシー判定により得られた宛先、経路、ポリシー情報を渡して、プロトコルポート管理部33内のフロー管理テーブルを検索する。ここで既に同じ条件のフローが登録されていなければ、新規にプロトコルポート番号を割り当てる。TCPの場合は、TCPの送信元ポート番号と宛先ポート番号を割り当てる。なお、一般的に、宛先ポート番号は、サーバのサービスポート番号を表しており、HTTPやSMTP等のサービス毎に固定値をとる。送信元ポート番号は、コネクションを特定できるように、動的に割り当てられる。一般的には、予約済みポート(Registered Port)や動的/プライベートポート(Dynamic and/or Private Port)である1024番以上(65535番以下)の範囲からポート番号が払い出されて使用される。
また、経路判定部32は、プロトコルポート管理部33内のフロー管理テーブルを検索し、同じ条件のフローが登録されていて、更に「Keep Alive」の指定があれば、そのフローを利用することが可能であると判断する。
このようにして、経路判定部32は、中継要求に対してどのフローを使用するかを決定する。次に、経路判定部32は、中継要求インタフェース部31に対して、宛先端末のIPアドレスとプロトコルポート情報を返す。TCPを使う場合のプロトコルポート情報は、TCPの送信元ポート番号、宛先ポート番号になる。中継要求インタフェース部31は、応答メッセージとして、これらの情報を中継装置10に送信する。
中継装置10の中継要求インタフェース部14は、ネットワークコントローラ30からの応答メッセージを受信すると、プロトコルポート指示部15にその応答メッセージを渡す。プロトコルポート指示部15は、その応答メッセージに基づいて、第2の通信コネクションを選択する。プロトコルポート指示部15は、応答メッセージで指定されるフロー情報が新規であれば、指定された宛先IPアドレスとプロトコルポート情報にしたがって、プロトコル終端部13に新規の第2の通信コネクションを確立するように要求する。例えば、プロトコルポート指示部15は、応答メッセージで指定されるフロー情報が「Keep Alive」であれば、指定された宛先IPアドレスとプロトコルポート情報を使用しているコネクションを使用するように指定する。
プロトコルポート指示部15によるコネクションの指定については、Unix(登録商標)系のOS(Operating System)の場合では、アドレスならびにプロトコルポート番号からソケットIDを検索し、そのソケットIDを指定することで、データの中継が可能になる。なお、ソケットとは、IPアドレスと、IPアドレスのサブ(補助)アドレスであるポート番号を組み合わせたネットワークアドレスのことである。
また、プロトコルポート指示部15は、新規コネクションにおいて、OSが自動でポート番号を割り当てないように指定するためには、bind()システムコールで、送信元ポート番号情報とソケットを関連付け、更にそのソケットを指定してconnect()システムコールを用いる。プロトコルポート指示部15は、これらのコマンドにより、TCPのポート番号を指定した新規のコネクションを設定でき、このソケットIDを指定することで、ネットワークコントローラ30が割り当てたプロトコルポート番号を使用した中継処理を実現できる。
また、経路設定部34は、ネットワークコントローラ30の経路判定部32で決定した経路を、経路上のスイッチ20−1、スイッチ20−2、スイッチ20−3、スイッチ20−4に設定する。ここでは、経路設定部34は、スイッチ20のフローテーブル21に、フローエントリーを書き込む。例えば、経路設定部34は、フロー管理テーブル1に相当するフローの場合は、「送信元IPアドレス=10.0.0.1、宛先IPアドレス=10.1.2.1、TCPの送信元ポート(sp:source port)=2001、宛先ポート(dp:destination port)=80」というフローに対して入出力ポートを指定するフローエントリーを設定する。
図5、図6を参照して、ネットワークコントローラ30の処理のうち、本発明に関係する箇所について説明する。
[要求受信]
図5は、中継装置10からの中継要求を受信してから応答を返すまでのネットワークコントローラ30の処理を示している。
(1)ステップS11
ネットワークコントローラ30において、中継要求インタフェース部31は、中継装置10からの中継要求メッセージを受信すると、経路判定部32に通知する。経路判定部32は、中継要求メッセージに含まれる送信元情報と、宛先情報と、コンテンツ情報に基づいて、経路判定部32内の転送ポリシーテーブルを検索し、転送ポリシーを取得する。
(2)ステップS12
経路判定部32は、得られた転送ポリシーに基づいて、宛先、経路、QoS情報を決定する。
(3)ステップS13
経路判定部32は、得られた転送ポリシーにおいて、「Keep Alive」を使用するか否か判断する。
(4)ステップS14
経路判定部32は、得られた転送ポリシーにおいて、「Keep Alive」を使用する場合は、プロトコルポート管理部33内のフロー管理テーブルを検索し、利用可能なフローがあるかどうかを探す。具体的には、経路判定部32は、同一の宛先、経路、QoSを適用しているパスを、これらの情報をキーとしてフロー管理テーブルを検索する。
(5)ステップS15
経路判定部32は、同一のフローが存在するか否か判断する。
(6)ステップS16
経路判定部32は、同一のフローが存在した場合は、既存のフロー情報を取得する。
(7)ステップS17
一方、経路判定部32は、同一のフローが存在しない場合は、既にあるフローの再利用ができないので、新規フローを割り当てる。また、経路判定部32は、ステップS13において、「Keep Alive」を使用しない場合も新規フローを割り当てる。
(8)ステップS18
経路判定部32は、新規フローを割り当てた場合は、そのフロー情報に対応するフローエントリーを経路設定部34から経路上の1つ以上のスイッチ20に対して設定する。
(9)ステップS19
経路判定部32は、以上の処理により、中継に使用するフロー情報が確定すると、中継要求インタフェース部31に、フロー情報を含む応答メッセージを通知する。中継要求インタフェース部31は、中継装置10に対して応答メッセージを送信する。
[フロー終了通知]
図6は、中継装置10において、あるフローに関してフローが終了する場合の、ネットワークコントローラ30の処理を示している。
(1)ステップS21
ネットワークコントローラ30において、中継要求インタフェース部31は、中継装置10からフロー終了メッセージを受け取ると、経路判定部32に通知する。経路判定部32は、フロー終了メッセージからフロー情報を取得する。
(2)ステップS22
次に、経路判定部32は、プロトコルポート管理部33内のフロー管理テーブルを参照し、宛先までの経路を特定し、経路上のスイッチ20のフローエントリー削除要求を出す。なお、スイッチ20のフローエントリーがエージング処理(aging)により自動的に削除される場合は、明示的にスイッチ20のフローエントリー削除要求を出さないようにすることも可能である。エージング処理とは、機器の本来の性能を出すための慣らしをすることである。
(3)ステップS23
更に、経路判定部32は、プロトコルポート管理部33に対して、未使用となったポート番号を返却する。具体的には、経路判定部32は、TCPのフローの場合は、動的に割り当てていたTCPの送信元ポート番号を解放し、新規割当に使用可能とする。
(4)ステップS24
最後に、経路判定部32は、プロトコルポート管理部33内のフロー管理テーブルからフロー情報を削除する。
以上により、中継処理が完了したフローについて、ネットワークコントローラ30ならびにスイッチ20から、関連する制御情報(テーブルエントリー、ポート番号等)を削除する。
ネットワークコントローラ30からスイッチ20内のフローテーブル21を操作する具体的な方式としては、「Openflow」(http://www.openflowswitch.org/)等が挙げられる。「Openflow」の場合、ネットワークコントローラ30の経路設定部34が「Openflow Controller」に対応し、制御回線82が「Secure Channel」に対応する。
<第2実施形態>
以下に、本発明の第2実施形態について説明する。
本発明の第2実施形態では、プロトコルポート管理部33内のフロー管理テーブルがTCPのポート番号を指定せずにIPアドレスのみでフローを指定する場合を示す。
ネットワークコントローラ30の経路判定部32は、転送ポリシーテーブルに基づいてコンテンツに対する宛先ならびに経路を判定する。ここで、経路判定部32は、経路ならびに宛先を一意に特定するための宛先IPアドレスを割り振る。経路判定部32は、同一の端末220に対して複数の宛先IPアドレスを対応付けるものとし、異なる経路を識別するために異なる宛先IPアドレスを割り振る。
次に、経路判定部32は、プロトコルポート管理部33内のフロー管理テーブルにフロー情報を登録する。本実施形態では、経路判定部32は、TCPのポート番号を管理しないので、「tcp sp」を指定しない。なお、「tcp sp」は、TCPの送信元ポート(sp)を示す。また、経路判定部32は、宛先IPアドレスを空きアドレスから任意に割り振り、端末の実際のIPアドレスに対応付ける。
ネットワークコントローラ30は、中継装置10のIPアドレスを送信元IPアドレスとし、前記割り当てたIPアドレスを宛先とするフローについて、転送するスイッチのフローエントリーを設定する。ネットワークコントローラ30は、送信元IPアドレスが「10.0.3.1」で、コンテンツから求めた宛先端末が220−4でその宛先IPアドレスが「10.2.2.1」だとすると、中継装置10(「10.0.3.1」)と端末220−4(「10.2.2.1」)との間の転送を行うために、当該フローについて、選択された経路上にあるスイッチ20のフローテーブル21にフローエントリーを設定する。例えば、ネットワークコントローラ30は、スイッチ20−1、20−5、20−6、20−4のそれぞれに(「133.202.10.1」、「10.2.2.1」)の組み合わせのIPヘッダを持つパケットを対象フローとするフローエントリーを設定する。なお、端末が複数のIPアドレスを処理できない場合は、経路上のいずれかのスイッチにおいてIPアドレスを変換して、端末220−4に対しては、実際のIPアドレスで到達できるようにしても良い。
中継装置10は、ネットワークコントローラ30からTCPのポート番号を指定していない応答メッセージを受け取ると、端末220−4に対して、TCPのポート番号を自律的に割り当てて接続を行う。このとき、中継装置10は、宛先IPアドレスとして、前述の応答メッセージで指定された「10.2.2.1」を使う。
このコネクションに関する通信データは、ネットワークコントローラ30からスイッチ20に対して設定されたフローエントリーに従い、中継装置10から端末220−4まで転送され、結果的に端末210−2から端末220−4まで、コンテンツ内容に基づくルーティングでの転送が実現される。
使用するプロトコルがTCPではなくUDP(User Datagram Protocol)の場合でもポート番号を管理することで同様の処理が実現できる。
なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、本発明のコンテンツベーススイッチシステムにおいて、上記の各実施形態に対応する機能を選択できるようにしても良い。
<実施例1>
図7に、端末210−1から端末220−1までの転送において、中継装置10ならびにネットワークコントローラ(コントローラ)30においてコンテンツに基づいたルーティングを行う場合のシーケンス図を示す。
(1)ステップS101
端末210−1は、中継装置10に向けてデータを送信する。ここで、トランスポートとしてTCPを使った場合を想定する。すると、端末210−1からは、中継装置10のIPアドレス、あるいは宛先端末群を代表する仮想IPアドレスに向けてTCP接続を行う。TCP接続は、「3way handshake」と呼ばれるシーケンスによって行われ、端末210−1と中継装置10の間で制御パケット(SYN、SYN−ACK、ACK)の通信が行われる。端末210−1は、コネクションが確立すると、中継装置10に向けて、コンテンツ情報を含む通信データを送信する。
(2)ステップS102
中継装置10は、TCP終端によって抽出したコンテンツ情報ならびに端末210−1のIPアドレス情報を含む中継要求メッセージをネットワークコントローラ30に対して送信し、コンテンツ内容に基づくメッセージルーティング処理を依頼する。
(3)ステップS103
ネットワークコントローラ30は、図5を用いて説明した処理シーケンスに基づいてフロー情報の取得、ルーティング判定(経路判定)ならびにスイッチ20の設定を行う。ネットワークコントローラ30は、ルーティング判定として、送信元IPアドレス、コンテンツ内容と転送ポリシーを比較(照合)することで、どのような転送ポリシーを適用するかを判定する。ここでは、ネットワークコントローラ30は、宛先端末220−1の特定、端末までの経路の特定、転送の際のQoSパラメータの特定を行う。例えば、ネットワークコントローラ30は、HTTPのリクエストデータに含まれるURIをコンテンツ内容とする場合は、URI文字列と転送ポリシーを比較することで、宛先端末ならびに転送経路を決定する。更に、ネットワークコントローラ30は、得られた宛先、経路、QoS情報を基にフロー管理テーブルを参照して、転送に用いるフロー情報を取得する。フロー情報は、中継装置10から宛先端末220までのTCP接続で用いられる通信ポート情報を含む。
(4)ステップS104
ネットワークコントローラ30は、得られたフロー情報を基に、経路上のスイッチ20−1に対してフローエントリーを設定し、スイッチ20−1において該当フローのデータが入力した際に入出力ポート間でスイッチング処理を行えるようにする。
(5)ステップS105
同様に、ネットワークコントローラ30は、得られたフロー情報を基に、経路上のスイッチ20−2に対してフローエントリーを設定し、スイッチ20−2において該当フローのデータが入力した際に入出力ポート間でスイッチング処理を行えるようにする。図7には、スイッチが2台のみ記載されているが、実際には、ネットワークコントローラ30は、判定した経路に応じて複数のスイッチに対して経路を設定する。
(6)ステップS106
ネットワークコントローラ30は、以上の設定が終わると、中継要求メッセージに対する応答メッセージを中継装置10に対して送信する。
(7)ステップS107
中継装置10は、ネットワークコントローラ30からの応答メッセージで指定されたフロー情報に基づき、新規、あるいは既存のTCPコネクションを利用して端末220−1までの通信路を確立する。新規のTCPコネクションを利用する場合は、中継装置10から端末220−1に対して指定されたTCPポート番号を使う。具体的には、中継装置10は、Unix(登録商標)系のOSでは、socket()システムコールでソケットディスクリプタを取得し、bind()システムコールで、ソケットディスクリプタのローカルアドレスとして、ネットワークコントローラ30から指定された送信元ポート番号を指定する。これにより、中継装置10は、TCP/IPスタックが送信元ポート番号を自律的に割り当てるのではなく、指定された値を用いることができるようになる。更に、中継装置10は、connect()システムコールを用いて宛先端末220−1のIPアドレスとサービスを示すTCPの宛先ポート番号を指定する。これにより、ネットワークコントローラ30が指定したフロー情報を持つTCPコネクションが中継装置10と端末220−1との間に確立される。通信経路が確立すると、中継装置10は、ステップS101で受信して保持していた通信メッセージを宛先である端末220−1に送信する。
(8)ステップS108
中継装置10は、端末210−1と端末220−1との間のメッセージ及び通信データを中継する。以降において、端末210−1と端末220−1との間のメッセージ及び通信データは、端末210−1、中継装置10との間の第1のTCPコネクションと、中継装置10と端末220−1との間の第2のTCPコネクションを使って中継される。HTTPのGETリクエストの場合では、端末210−1からのGETリクエストが中継装置10を介して端末220−1に送信される。逆に、端末220−1からのレスポンスメッセージ、ならびにGETで指定され取得されたファイル等のコンテンツの転送は、ネットワークコントローラ30から中継装置10を介して端末210−1に送信される。以上により、端末210−1と端末220−1との間でコンテンツに基づくルーティング処理が実現できる。
(9)ステップS109
最後に、端末210−1と端末220−1間の通信が終了すると、中継装置10は、該当フローが終了したことをネットワークコントローラ30に対して通知する。ネットワークコントローラ30は、フロー終了通知メッセージを受け取ると、フロー管理テーブルから該当フローの情報を削除すると共に、該当フローで使用していたTCPのポート番号を未使用とし、再度利用できるようにする。
本発明では、中継装置10は、ネットワークコントローラ30から通知されたフローを特定する情報(TCPのポート番号)を使用してデータを転送している。そのため、フロー情報(TCPのポート番号)そのものは、経路(パス)を明示的には表していない。すなわち、フロー情報は、TCPコネクションで通過する経路を指定しない。
また、本発明では、MPLSラベルを用いずTCP/IPヘッダの形式のままで転送ができる。
また、本発明では、中継装置10は、フローの識別子をネットワークコントローラ30から通知してもらい、そのフロー識別子を使って中継装置10が通信をする。すなわち、中継装置10が自律的に新規のフロー識別子を割り当てるのではなく、ネットワークコントローラ30がフロー識別子を割り当てる。
以上のように、本発明のコンテンツベーススイッチシステムは、複数の端末間の通信経路をパケットペイロードに含まれるコンテンツに基づいて決定するコンテンツベーススイッチの処理システムであって、複数の端末間の通信を所定の通信プロトコルに基づいて中継し、パケットペイロードからコンテンツ情報を抽出する中継装置と、複数の端末間を接続する1つ以上のスイッチと、中継装置ならびにスイッチの制御機能を備えるコントローラを備える。
中継装置は、端末から受信したデータのパケットペイロードから抽出したコンテンツ情報と端末のアドレス情報をコントローラに送信する。
コントローラは、コンテンツ情報と端末のアドレス情報に基づいて転送経路を決定する。更に、コントローラは、転送に使用するフロー情報を決定する。また、コントローラは、フロー情報と出力方路との対応表を転送経路上にあるスイッチの経路テーブルに設定する。また、コントローラは、決定されたフロー情報を中継装置に通知する。
中継装置は、コントローラから通知されたフロー情報の識別子を用いて宛先端末まで通信を行う。
複数の端末間の通信プロトコルがTCPである場合に、コントローラから中継装置に通知されるフロー情報の識別子として、TCPの送信元ポート番号と宛先ポート番号のいずれかもしくは両方と、宛先端末のIPアドレスとを含む。
あるいは、コントローラから中継装置に通知されるフロー情報の識別子として、通信の端点となる二つの端末に対応するIPアドレスのうちの少なくとも1つを含む。
また、複数の端末間の通信プロトコルがUDPである場合に、コントローラから中継装置に通知されるフロー情報の識別子として、UDPの送信元ポート番号と宛先ポート番号のいずれかもしくは両方と、宛先端末のIPアドレスとを含む。
中継装置は、中継装置から宛先端末までの通信において、コントローラが決定するフロー情報が新規フローである場合に、決定されたフロー情報と同一のフロー(IP、UDP、TCP等)を新規に確立して宛先端末までのデータを転送する。
中継装置から宛先端末までの通信において、コントローラにより決定されたフロー情報が使用中フローを割り当てた場合に、中継装置が既に確立済みのフローを使用して宛先端末との間のデータを転送する。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2009−221454に基づく優先権を主張するものであり、日本出願番号2009−221454における開示内容は引用により本出願に組み込まれる。

Claims (18)

  1. 複数の端末間の通信経路をパケットペイロードに含まれるコンテンツに基づいて決定するコンテンツベーススイッチシステムであって、
    コントローラと、
    複数の端末間の通信を所定の通信プロトコルに基づいて中継し、前記複数の端末のいずれかの端末からデータを受信し、前記受信されたデータのパケットペイロードからコンテンツ情報を抽出し、前記抽出されたコンテンツ情報と端末のアドレス情報とを前記コントローラに送信し、前記コントローラから指定されるフロー情報を用いて宛先端末までのフローを設定する中継装置と、
    前記複数の端末間を接続するネットワーク上に少なくとも1つ存在し、前記複数の端末及び前記中継装置のうちのいずれかからデータを受信し、外部から通知されたフロー情報の識別子と出力方路との対応表に従い宛先端末まで通信を行うスイッチと
    を具備し、
    前記コントローラは、前記中継装置及び前記スイッチの制御を行い、前記コンテンツ情報と前記宛先端末のアドレス情報とに基づいて転送経路を決定し、更に転送に使用するフロー情報を決定し、フロー情報と出力方路との対応表を転送経路上にあるスイッチの経路テーブルに設定し、前記決定されたフロー情報を前記中継装置に通知する
    コンテンツベーススイッチシステム。
  2. 請求項1に記載のコンテンツベーススイッチシステムであって、
    前記複数の端末間の通信プロトコルがTCPである場合に、
    前記決定されたフロー情報の識別子は、
    TCPの送信元ポート番号及び宛先ポート番号のうちの少なくとも一方と、
    前記宛先端末のIPアドレスと
    を含む
    コンテンツベーススイッチシステム。
  3. 請求項1又は2のいずれか一項に記載のコンテンツベーススイッチシステムであって、
    前記決定されたフロー情報の識別子は、
    通信の端点となる二つの端末に対応するIPアドレスのうちの少なくとも1つ
    を含む
    コンテンツベーススイッチシステム。
  4. 請求項1乃至3のいずれか一項に記載のコンテンツベーススイッチシステムであって、
    前記複数の端末間の通信プロトコルはUDPである場合に、
    前記決定されたフロー情報の識別子は、
    UDPの送信元ポート番号及び宛先ポート番号のうちの少なくとも一方と、
    前記宛先端末のIPアドレスと
    を含む
    コンテンツベーススイッチシステム。
  5. 請求項1乃至4のいずれか一項に記載のコンテンツベーススイッチシステムであって、
    前記中継装置は、前記決定されたフロー情報に基づいて、前記中継装置から前記宛先端末までの通信フローが新規のフローであると判断した場合に、前記決定されたフロー情報が示す通信フローと同一の通信フローを新規に確立して前記宛先端末までのデータを転送する
    コンテンツベーススイッチシステム。
  6. 請求項1乃至5のいずれか一項に記載のコンテンツベーススイッチシステムであって、
    前記中継装置は、前記決定されたフロー情報に基づいて、前記中継装置から前記宛先端末までの通信フローが使用中のフローであると判断した場合に、既に確立済みのフローを使用して前記宛先端末との間のデータを転送する
    コンテンツベーススイッチシステム。
  7. 請求項1乃至6のいずれか一項に記載のコンテンツベーススイッチシステムであって、
    前記中継装置は、
    第1の通信コネクションにより、前記複数の端末のうちのいずれかの端末から前記中継装置が持つアドレスを宛先とした接続要求パケットを受信する第1のプロトコル終端部と、
    前記接続要求パケットからアプリケーションレイヤのプロトコルペイロードを取り出し、前記プロトコルペイロードからコンテンツ情報を抽出するコンテンツ抽出部と、
    第2の通信コネクションにより、前記スイッチと通信する前記第2のプロトコル終端部と、
    前記第1の通信コネクションに関する情報として、送信元のIPアドレスと、前記中継装置側の宛先IPアドレスと、前記コンテンツ情報と、に基づいて中継要求メッセージを作成し、前記中継要求メッセージを前記コントローラに送信し、前記コントローラから応答メッセージを受信する中継要求インタフェース部と、
    前記応答メッセージで指定されるフロー情報が新規であれば、前記指定された宛先IPアドレスとプロトコルポート情報とにしたがって、前記第2のプロトコル終端部に、前記第2の通信コネクションとして新規の通信コネクションを確立するように要求し、前記応答メッセージで指定されるフロー情報がKeep Aliveであれば、前記第2のプロトコル終端部に、前記第2の通信コネクションとして前記指定された宛先IPアドレスとプロトコルポート情報とを使用しているコネクションを使用するように要求する
    コンテンツベーススイッチシステム。
  8. 請求項7に記載のコンテンツベーススイッチシステムであって、
    前記コントローラは、
    前記中継装置から前記中継要求メッセージを受信し、中継に使用するフロー情報が確定すると、前記中継装置に対して、前記確定したフロー情報を含む応答メッセージを返す中継要求インタフェース部と、
    送信元情報と、宛先情報と、コンテンツ情報と、転送ポリシーと、を関連付けて格納するための転送ポリシーテーブルと、
    宛先と、経路と、QoS情報と、を関連付けて格納するためのフロー管理テーブルと、
    前記中継要求メッセージに含まれる送信元情報と、宛先情報と、コンテンツ情報と、に基づいて、前記転送ポリシーテーブルを検索し、転送ポリシーを取得し、前記転送ポリシーに基づいて、宛先、経路、QoS情報を決定し、前記転送ポリシーにおいてキープアライブを使用するか否か判断し、キープアライブを使用する場合は、同一の宛先、経路、QoSを適用しているパスを、前記宛先、前記経路、前記QoS情報をキーとして前記フロー管理テーブルを検索し、同一のフローが存在するか否か判断し、同一のフローが存在した場合は、既存のフロー情報を取得し、同一のフローが存在しない場合、及びキープアライブを使用しない場合は、新規フローを割り当て、中継に使用するフロー情報を確定する経路判定部と、
    前記新規フローを割り当てた場合は、前記新規フローのフロー情報に対応するフローエントリーを経路上のスイッチに対して設定する経路設定部と
    を具備する
    コンテンツベーススイッチシステム。
  9. 請求項1乃至8のいずれか一項に記載のコンテンツベーススイッチシステムで使用される中継装置。
  10. 請求項1乃至8のいずれか一項に記載のコンテンツベーススイッチシステムで使用されるスイッチ。
  11. 請求項1乃至8のいずれか一項に記載のコンテンツベーススイッチシステムで使用されるコントローラ。
  12. 複数の端末間の通信経路をパケットペイロードに含まれるコンテンツに基づいて決定するコンテンツベーススイッチ方法であって、
    中継装置により、複数の端末間の通信を所定の通信プロトコルに基づいて中継し、パケットペイロードからコンテンツ情報を抽出し、前記抽出されたコンテンツ情報と端末のアドレス情報とをコントローラに送信し、
    前記複数の端末間を接続するネットワーク上に少なくとも1つ存在するスイッチにより、前記複数の端末及び前記中継装置のうちのいずれかからデータを受信し、
    前記コントローラにより、前記中継装置及び前記スイッチの制御を行い、前記コンテンツ情報と前記宛先端末のアドレス情報とに基づいて転送経路を決定し、更に転送に使用するフロー情報を決定し、フロー情報と出力方路との対応表を転送経路上にあるスイッチの経路テーブルに設定し、前記決定されたフロー情報を前記中継装置に通知し、
    前記中継装置により、前記コントローラから通信されたフロー情報を用いて宛先端末までのフローを設定し、
    前記スイッチにより、前記コントローラから通知されたフロー情報の識別子を用いて宛先端末まで通信を行う
    コンテンツベーススイッチ方法。
  13. 請求項12に記載のコンテンツベーススイッチ方法であって、
    前記複数の端末間の通信プロトコルがTCPである場合に、
    前記決定されたフロー情報の識別子は、
    TCPの送信元ポート番号及び宛先ポート番号のうちの少なくとも一方と、
    前記宛先端末のIPアドレスと
    を含む
    コンテンツベーススイッチ方法。
  14. 請求項12又は13のいずれか一項に記載のコンテンツベーススイッチ方法であって、
    前記決定されたフロー情報の識別子は、
    通信の端点となる二つの端末に対応するIPアドレスのうちの少なくとも1つ
    を含む
    コンテンツベーススイッチ方法。
  15. 請求項12乃至14のいずれか一項に記載のコンテンツベーススイッチ方法であって、
    前記複数の端末間の通信プロトコルはUDPである場合に、
    前記決定されたフロー情報の識別子は、
    UDPの送信元ポート番号及び宛先ポート番号のうちの少なくとも一方と、
    前記宛先端末のIPアドレスと
    を含む
    コンテンツベーススイッチ方法。
  16. 請求項12乃至15のいずれか一項に記載のコンテンツベーススイッチ方法であって、
    前記中継装置により、前記決定されたフロー情報に基づいて、前記中継装置から前記宛先端末までの通信フローが新規のフローであると判断された場合に、前記決定されたフロー情報が示す通信フローと同一の通信フローを新規に確立して前記宛先端末までのデータを転送する
    コンテンツベーススイッチ方法。
  17. 請求項12乃至16のいずれか一項に記載のコンテンツベーススイッチ方法であって、
    前記中継装置により、前記決定されたフロー情報に基づいて、前記中継装置から前記宛先端末までの通信フローが使用中のフローであると判断された場合に、既に確立済みのフローを使用して前記宛先端末との間のデータを転送する
    コンテンツベーススイッチ方法。
  18. 請求項12乃至17のいずれか一項に記載のコンテンツベーススイッチ方法における中継装置、スイッチ及びコントローラのいずれかの動作を、計算機に実行させるためのプログラムを格納した記憶媒体。
JP2011532995A 2009-09-25 2010-09-21 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 Expired - Fee Related JP5621778B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009221454 2009-09-25
JP2009221454 2009-09-25
PCT/JP2010/066311 WO2011037105A1 (ja) 2009-09-25 2010-09-21 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法

Publications (2)

Publication Number Publication Date
JPWO2011037105A1 JPWO2011037105A1 (ja) 2013-02-21
JP5621778B2 true JP5621778B2 (ja) 2014-11-12

Family

ID=43795852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532995A Expired - Fee Related JP5621778B2 (ja) 2009-09-25 2010-09-21 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法

Country Status (3)

Country Link
US (1) US8971339B2 (ja)
JP (1) JP5621778B2 (ja)
WO (1) WO2011037105A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103190126B (zh) * 2010-11-01 2016-06-22 日本电气株式会社 通信系统、控制装置、分组转发路径控制方法和程序
WO2012096131A1 (ja) 2011-01-13 2012-07-19 日本電気株式会社 ネットワークシステム、及び経路制御方法
WO2012141086A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワークアクセスポリシ制御方法
US20140233392A1 (en) * 2011-09-21 2014-08-21 Nec Corporation Communication apparatus, communication system, communication control method, and program
JP5943410B2 (ja) * 2011-09-21 2016-07-05 日本電気株式会社 通信装置、制御装置、通信システム、通信制御方法及びプログラム
WO2013042598A1 (en) 2011-09-22 2013-03-28 Nec Corporation Communication terminal, communication method, and program
US9515926B2 (en) 2012-03-28 2016-12-06 Nec Corporation Communication system, upper layer switch, control apparatus, switch control method, and program
JP6194568B2 (ja) * 2012-08-15 2017-09-13 日本電気株式会社 アプリケーション通信制御システムおよびアプリケーション通信制御方法
IN2015DN02007A (ja) * 2012-10-10 2015-08-14 Nec Corp
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
US9009349B2 (en) 2013-02-08 2015-04-14 Dell Products, Lp System and method for dataplane extensibility in a flow-based switching device
EP2993853B1 (en) 2013-06-08 2019-07-31 Huawei Technologies Co., Ltd. Method for routing and forwarding, and network controller
US9882819B2 (en) * 2013-06-13 2018-01-30 Nec Corporation Method and apparatus for controlling service quality in communication system, and communication apparatus
KR102130301B1 (ko) * 2013-06-27 2020-07-08 에스케이텔레콤 주식회사 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법
CN103534991B (zh) * 2013-07-23 2018-10-09 华为技术有限公司 一种报文转发方法及设备
WO2015026809A1 (en) 2013-08-19 2015-02-26 Centurylink Intellectual Property Llc Network management layer - configuration management
US10193816B2 (en) * 2013-09-12 2019-01-29 Nec Corporation Method for operating an information-centric network and network
US9787586B2 (en) 2013-10-24 2017-10-10 University Of Houston System Location-based network routing
EP3059909B1 (en) * 2013-11-22 2018-03-21 Huawei Technologies Co., Ltd. Method, apparatus and system for controlling forwarding of service data in virtual network
WO2015109497A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 流表修改方法、流表修改装置和开放流网络系统
US20150363423A1 (en) * 2014-06-11 2015-12-17 Telefonaktiebolaget L M Ericsson (Publ) Method and system for parallel data replication in a distributed file system
WO2015196403A1 (zh) * 2014-06-26 2015-12-30 华为技术有限公司 软件定义网络的服务质量控制方法及设备
KR101600865B1 (ko) * 2015-03-20 2016-03-08 (주)루먼텍 스튜디오용 hd/uhd급 멀티채널 영상 데이터 라우팅 스위치 시스템 및 그 방법
KR101562789B1 (ko) * 2015-03-20 2015-10-23 (주)루먼텍 Hd/uhd급 멀티채널 비디오 라우팅 겸용 스위칭 방법 및 그 장치
TWI562661B (en) 2015-08-27 2016-12-11 Ind Tech Res Inst Cell and method and system for bandwidth management of backhaul network of cell
JP6586228B2 (ja) * 2016-05-17 2019-10-02 日本電信電話株式会社 経路計算制御装置及び経路計算制御方法
CN108306831B (zh) * 2017-01-13 2021-12-03 华为技术有限公司 选路方法及装置
WO2019046214A1 (en) * 2017-08-28 2019-03-07 Sigma Designs, Inc. EXTERNAL MICROCONTROLLER COMMUNICATIONS
KR101852596B1 (ko) 2018-02-19 2018-04-27 보은전자방송통신(주) 다수의 믹서 출력을 갖는 멀티 채널 비디오 스위칭 장치
WO2019171669A1 (ja) * 2018-03-07 2019-09-12 住友電気工業株式会社 スイッチ装置、車載通信装置、車載通信システム、時刻補正方法および時刻補正プログラム
CN110390020A (zh) * 2018-04-19 2019-10-29 株式会社日立制作所 语义网关的建模方法和语义网关

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094561A (ja) * 2000-09-19 2002-03-29 Nippon Telegr & Teleph Corp <Ntt> 意味情報ネットワーク、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイ、イベントルーティング方法、及びイベントルーティング装置
JP2002124976A (ja) * 2000-10-18 2002-04-26 Nec Corp インタードメインルーティング装置
JP2004304456A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd ネットワークシステム,同システムにおけるパス設定方法並びに同システムに用いられるネットワーク管理装置及びネットワーク装置
JP2006203904A (ja) * 2005-01-21 2006-08-03 Nec Corp 方法、コンテンツベースルータ、コンテンツベースネットワーク

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100417130C (zh) 2000-03-07 2008-09-03 日本电信电话株式会社 语义信息网络(sion)
US7301952B2 (en) * 2000-04-06 2007-11-27 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
JP4627669B2 (ja) * 2005-03-16 2011-02-09 アラクサラネットワークス株式会社 パケット転送装置およびその転送制御方式
JP4626811B2 (ja) 2005-09-29 2011-02-09 日本電気株式会社 ポートホッピング検出システム、ポートホッピング検出装置、ポートホッピング検出方法、及びプログラム
JP4922972B2 (ja) * 2008-03-13 2012-04-25 株式会社日立製作所 通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094561A (ja) * 2000-09-19 2002-03-29 Nippon Telegr & Teleph Corp <Ntt> 意味情報ネットワーク、意味情報スイッチ、意味情報ルータ、意味情報ゲートウェイ、イベントルーティング方法、及びイベントルーティング装置
JP2002124976A (ja) * 2000-10-18 2002-04-26 Nec Corp インタードメインルーティング装置
JP2004304456A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd ネットワークシステム,同システムにおけるパス設定方法並びに同システムに用いられるネットワーク管理装置及びネットワーク装置
JP2006203904A (ja) * 2005-01-21 2006-08-03 Nec Corp 方法、コンテンツベースルータ、コンテンツベースネットワーク

Also Published As

Publication number Publication date
US20120263186A1 (en) 2012-10-18
JPWO2011037105A1 (ja) 2013-02-21
WO2011037105A1 (ja) 2011-03-31
US8971339B2 (en) 2015-03-03

Similar Documents

Publication Publication Date Title
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP5757324B2 (ja) コンピュータシステム、及び通信方法
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US8930552B2 (en) Application switch system and application switch method
JP5743906B2 (ja) 通信制御システム
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
JP2004080487A (ja) パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム
JP2014533001A (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
US20150043588A1 (en) Communication System, Upper Layer Switch, Control Apparatus, Switch Control Method, and Program
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
US10177973B2 (en) Communication apparatus, communication method, and communication system
JP2016225783A (ja) 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
US7796614B1 (en) Systems and methods for message proxying
JP2006245894A (ja) 転送経路制御装置および転送経路制御プログラム
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP4623317B2 (ja) 通信装置、ルーティング方法及びプログラム
KR101755829B1 (ko) Sdn 환경에서 arp 처리 방법 및 장치
JP2017208718A (ja) 通信装置および通信方法
JP2006245896A (ja) ネットワーク制御サーバ、ユーザ端末収容ノード、通信ネットワークおよびネットワーク制御プログラム
JP4242262B2 (ja) 通信システム及び端末
WO2023093786A1 (zh) 一种引流的方法、设备及系统
JP6424496B2 (ja) パケット転送システム,及びパケット転送装置
WO2015129727A1 (ja) 通信端末、通信方法およびプログラム
JP2019092233A (ja) 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5621778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees