Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
JP2015511097A
JP2015511097A JP2015501074A JP2015501074A JP2015511097A JP 2015511097 A JP2015511097 A JP 2015511097A JP 2015501074 A JP2015501074 A JP 2015501074A JP 2015501074 A JP2015501074 A JP 2015501074A JP 2015511097 A JP2015511097 A JP 2015511097A
Authority
JP
Japan
Prior art keywords
packet
virtual port
node device
unit
interface
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.)
Pending
Application number
JP2015501074A
Other languages
English (en)
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 JP2015501074A priority Critical patent/JP2015511097A/ja
Publication of JP2015511097A publication Critical patent/JP2015511097A/ja
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

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

Abstract

通信システムは、パケットを転送するノード装置と、ノードデバイスによるパケット転送処理を制御する制御装置とを有する。制御装置は、仮想ポートを有し、ノード装置から受信したパケットの転送処理を行うために仮想ポートを用い、受信したパケットを、受信したパケットの転送先に出力する。

Description

本発明は、通信システムに関する。本発明は、特に制御装置がネットワーク機器のパケット転送を制御する集中管理型の通信システムに関する。
従来のネットワーク機器は、外部から負荷分散や片寄等、柔軟性に富んだ制御ができないという問題があった。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成の変更には多大なコストを伴うことが問題であった。
こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、制御機能をネットワーク機器の外部に分離した制御装置が担当する。この場合、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる。
[CD分離型ネットワークの説明]
機能を分離したネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
CD分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、特許文献1、非特許文献1、非特許文献2に記載されている。なお、オープンフローネットワークは一例に過ぎない。
[オープンフローネットワークの説明]
オープンフローネットワークでは、オープンフローコントローラ(OFC:OpenFlow Controller)等の制御装置が、オープンフロースイッチ(OFS:OpenFlow Switch)等のノード装置の経路制御に関する経路制御情報(フローテーブル:Flow table)を操作することにより、ノード装置の挙動を制御する。
制御装置とノード装置の間は、専用線やSSL(SecureSocketLayer)等により保護された通信路である「セキュアチャンネル」(Secure Channel)と呼ばれる制御チャネル(制御用の通信チャネル)により接続されている。制御装置とノード装置とは、制御チャネルを介して、オープンフロープロトコル(OpenFlow Protocol)に則った(準拠した)制御メッセージであるオープンフローメッセージ(OpenFlow Message)を送受信する。
オープンフローネットワークにおけるノード装置とは、オープンフローネットワークに配置され、制御装置の制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入口側エッジスイッチ(Ingress)でのパケット(packet)の受信から出口側エッジスイッチ(Egress)での送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。オープンフローネットワークでは、通信をエンドツーエンド(E2E:End to End)のフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「イーサネット(登録商標)」(Ethernet)のPDUである。
経路制御情報(フローテーブル)とは、処理規則(フローエントリ:Flow entry)の集合である。処理規則(フローエントリ:Flow entry)は、判別条件(ルール)と、統計情報と、処理内容(アクション)との間の対応関係を定義する。判別条件(ルール)は、フローとして扱うパケットを特定するために用いられる。統計情報は、受信パケットが判別条件(ルール)に適合(マッチ)した回数を示す。処理内容(アクション)は、適合したパケットに対して行うべき処理を示す。
処理規則(フローエントリ)の判別条件(ルール)は、パケットのヘッダ領域(フィールド)に含まれる各プロトコル階層の情報のいずれか又は全てを用いた様々な組み合わせにより定義される。更に、それぞれの判別条件は、互いに区別可能である。各プロトコル階層の情報の例として、送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)等が考えられる。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、処理規則(フローエントリ)の判別条件(ルール)として使用可能である。また、処理規則(フローエントリ)の判別条件(ルール)として、フローとして扱うパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
処理規則(フローエントリ)の処理内容(アクション)は、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、ノード装置は、処理規則(フローエントリ)の処理内容(アクション)に出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力する。もし、出力ポートの識別情報が示されていなければ、パケットを廃棄する。或いは、ノード装置は、処理規則(フローエントリ)の処理内容(アクション)にヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークにおけるノード装置は、処理規則(フローエントリ)の判別条件(ルール)に適合するパケット群(パケット系列)に対して、処理規則(フローエントリ)の処理内容(アクション)を実行する。具体的には、ノード装置は、パケットを受信すると、経路制御情報(フローテーブル)から、受信パケットのヘッダ情報に適合する判別条件(ルール)を持つ処理規則(フローエントリ)を検索する。検索の結果、受信パケットのヘッダ情報に適合する判別条件(ルール)を持つ処理規則(フローエントリ)が見つかった場合、ノード装置は、当該処理規則(フローエントリ)の統計情報を更新すると共に、受信パケットに対して、当該処理規則(フローエントリ)の処理内容(アクション)として指定された動作を実施する。一方、検索の結果、受信パケットのヘッダ情報に適合する判別条件(ルール)を持つ処理規則(フローエントリ)が見つからなかった場合、ノード装置は、当該受信パケットを最初のパケット(first packet)と判断し、制御チャネルを介して、オープンフローネットワークにおける制御装置に対して、受信パケット(又はそのコピー)を転送し、受信パケットの送信元・送信先(宛先)等に基づいたパケットの経路計算を制御装置に要求する。その後、応答として処理規則(フローエントリ)の設定用メッセージを受信し、経路制御情報(フローテーブル)を更新する。
なお、経路制御情報(フローテーブル)には、低い優先度で、全てのパケットのヘッダ情報に適合する判別条件(ルール)を持つ初期状態の処理規則(デフォルトエントリ)が登録されている。受信パケットに適合する処理規則(フローエントリ)が他に見つからなかった場合、受信パケットは、この初期状態の処理規則(デフォルトエントリ)に適合する。初期状態の処理規則(デフォルトエントリ)の処理内容(アクション)は、「制御装置への当該受信パケットの問い合わせ情報の送信」である。
国際公開第2008/095010号
Nick McKeown他、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[2012年01月23日検索]、インターネット(URL:http://www.openflow.org/documents/openflow−wp−latest.pdf) "OpenFlow Switch Specification, Version 1.1.0 Implemented"、[online]、[2012年02月28日検索]、インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.1.0.pdf)
非特許文献2に開示されたオープンフロープロトコルには、既存のルーティングプロトコルやトンネリングプロトコルが定義されていない。したがって、非特許文献2に開示された通信システムにおいて、既存のプロトコルを利用するためには、処理規則を管理・制御するソフトウェアに対して、既存のプロトコルを別途実装する必要がある。
本発明は、上記の事情を鑑みてなされたものである。本発明の目的は、集中管理型の通信システムにおいて、所定のソフトウェアに既存のプロトコルを別途実装することなく、既存のプロトコルを利用したパケットの転送処理を可能にすることである。
本発明に係る通信システムは、パケットを転送するノード装置と、ノード装置によるパケットの転送処理を制御する制御装置とを具備する。制御装置は、内部に仮想ポートを有し、この仮想ポートを用いてノード装置から受信したパケットの転送処理を実行し、受信パケットの転送先へ受信パケットを出力する。
本発明に係る制御装置は、仮想ポートと、ノード装置によるパケット転送を制御する処理機構とを有する。制御装置は、仮想ポートを用いてノード装置から受信したパケットの転送処理を実行し、受信パケットの転送先へ受信パケットを出力する。
本発明に係る通信方法は、制御装置によって実行される。制御装置は、パケットを転送するノード装置を制御し、仮想ポートを有する。通信方法は、仮想ポートを用いて、ノード装置から受信したパケットの転送処理を実行することと、パケットの転送先へパケットを出力することとを含む。
本発明に係るプログラムは、計算機から読み取り可能な記憶媒体に記録されており、実行されることによって、制御装置に通信方法を行わせる。制御装置は、ノード装置によるパケット転送を制御する。通信方法は、仮想ポートを用いて、ノード装置から受信したパケットの転送処理を実行することと、パケットの転送先へパケットを出力することとを含む。
集中管理型の通信システムにおいて、ソフトウェアに既存のプロトコルを別途実装することなく、既存のプロトコルを利用したパケットの転送処理が可能となる。
本発明に係る通信システムの基本構成例を示す図である。 本発明の実施例について説明するための図である。 本発明の第1実施形態に係る振分規則について説明するための図である。 本発明の第2実施形態に係る振分規則について説明するための図である。 本発明の第3実施形態に係る振分規則について説明するための図である。 本発明の第4実施形態に係る振分規則について説明するための図である。 本発明の第5実施形態に係る振分規則について説明するための図である。 本発明の第6実施形態に係る振分規則について説明するための図である。 本発明の第7実施形態に係る振分規則について説明するための図である。 本発明の第8実施形態に係る通信システムの構成例を示す図である。 本発明の第9実施形態に係る通信システムの構成例を示す図である。
本発明の実施形態は、集中管理型のネットワークの1つであるオープンフローネットワークを例に説明する。但し、実際には、本発明はオープンフローネットワークに限定されない。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[システム構成]
図1を参照して、本発明に係る通信システムの構成例について説明する。
本発明に係る通信システムは、制御装置10と、ノード装置20を含む。
制御装置10は、ノード装置20を制御する情報処理装置である。
ノード装置20は、ネットワークに配置された通信装置である。ノード装置20は、ネットワークインターフェースを介して、ネットワークに接続する。
制御装置10とノード装置20の間は、制御チャネル30で接続されている。制御装置10とノード装置20は、制御チャネル30を経由し、制御メッセージを送受信する。
また、ノード装置20は、LAN(Local Area Network)等のデータ通信用のリンクを介して、隣接するノード装置20に接続されている。更に、ノード装置20は、ノード装置20自身がエッジスイッチに該当する場合、ホスト(クライアント、サーバー等)、或いは、ノード装置20自身が配置されたネットワークの外部(ネットワーク外)のネットワーク機器等と接続可能である。
なお、制御装置10及びノード装置20は、物理マシンに限らず、仮想マシン(VM:Virtual Machine)でも良い。
また、制御チャネル30は、有線でも無線でも良い。
[制御装置の構成]
次に、制御装置10の構成例について説明する。
制御装置10は、ノード装置制御部11と、振分部12と、振分規則保持部13と、仮想ポート部14を備える。
ノード装置制御部11は、制御チャネル30を介して、ノード装置20の制御を行う。例えば、ノード装置制御部11は、オープンフローネットワークにおけるオープンフローコントローラ(OFC)として動作するためのソフトウェアを実行し、オープンフローコントローラ(OFC)として動作する。ここでは、ノード装置制御部11は、制御チャネル30を介して、ノード装置20の各々が備えるインターフェース部の把握・管理を行う。また、ノード装置制御部11は、制御チャネル30を介して、ノード装置20に対して、インターフェース部で送受信されるパケットの処理規則(フローエントリ)を設定する指示等を行う。パケットの処理規則(フローエントリ)の内容の一例は、インターフェース部での受信パケットの特徴に基づいて指定したインターフェース部/ノード装置制御部11に受信パケットを出力することである。パケットの処理規則(フローエントリ)の内容の他の一例は、ノード装置制御部11で生成したパケットを受信した際に指定したインターフェース部に受信パケットを出力することである。また、ノード装置制御部11は、ノード装置20のいずれかからパケットを受信した際、送信元のノード装置20及びインターフェース部を示す情報を付与した上で振分部12にパケットを出力する。また、ノード装置制御部11は、振分部12からパケットが入力された際、当該受信パケットに付与された送信先のノード装置及びインターフェース部を示す情報を読み取り、適切な制御チャネルを選択して受信パケットを出力する。このように、ノード装置制御部11は、指定されたノード装置の指定されたインターフェース部からパケットを出力するための制御を行う。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、「受信パケットの特徴」や入力元の「仮想ポート部」等の振分条件に基づいて、出力先として適切なノード装置及びインターフェース部を特定する。その後、振分部12は、ノード装置制御部11に対して、特定されたノード装置及びインターフェース部にパケットを出力する指示と当該入力パケットを含むメッセージを出力する。また、振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、「受信パケットの特徴」や「入力元のノード装置及びインターフェース部」等の振分条件に基づいて、パケット出力先として適切な仮想ポート部を特定する。その後、振分部12は、特定された仮想ポート部に対して、当該入力パケットを出力する。振分部12は、既存の仮想マシンモニタ(VMM:Virtual Machine Monitor)やハイパーバイザー(Hypervisor)等に、本発明に係る機能を実装することで実現しても良い。
振分規則保持部13は、制御装置10の仮想ポート部と、各ノード装置20のインターフェース部との間で送受信されるパケットの振分規則を保持する。ここでは、振分規則保持部13は、振分規則として、パケットの振分に必要な情報を保持する。振分規則保持部13は、ノード装置制御部11や振分部12からの参照要求に応じて、適切な振分規則の返答/提示を行う。例えば、振分規則は、仮想ポート部とインターフェース部の1対1対応関係を示す情報である。別の例として、振分規則は、パケットの特徴(送信元/送信先アドレス、種別等)と仮想ポート部やインターフェース部の1対1対応関係を示す情報である。振分規則保持部13は、RDB(リレーショナルデータベース)により実現されていても良い。なお、判別規則における対応関係については、ユーザ操作に応じて制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェア等から、任意に変更可能である。例えば、QoS制御の一環として、判別規則における対応関係を随時変更することも考えられる。但し、実際には、これらの例に限定されない。
仮想ポート部14は、制御装置10内の仮想的なネットワークインターフェースである。制御装置10として動作する計算機等のOS(オペレーティング・システム)が仮想ポート部14を物理的なネットワークインターフェースと同じと認識する(扱う)ため、仮想ポート部14は、パケットの送受信を行うことができる。例えば、仮想ポート部14は、OS(オペレーティング・システム)やソフトウェアに実装されたTUN/TAP等の仮想デバイスにより実現できる。また、制御装置10内で動作する個々の仮想マシン(VM)が、それぞれOS(オペレーティング・システム)と仮想ポート部14を備えていても良い。但し、実際には、これらの例に限定されない。
[ノード装置の構成]
次に、ノード装置20の構成例について説明する。
ノード装置20の各々は、通信処理部21と、インターフェース部22を備える。
通信処理部21は、制御チャネル30を介して、制御装置10に接続されており、制御チャネル30を介して制御メッセージの送受信を行う。例えば、通信処理部21は、オープンフローネットワークにおけるオープンフロースイッチ(OFS)として動作するためのソフトウェアを実行し、オープンフロースイッチ(OFS)として動作する。また、通信処理部21は、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)や処理命令(出力指示等)に基づいて、インターフェース部22から入力されたパケットを処理する。
インターフェース部22は、ノード装置20内のネットワークインターフェースである。インターフェース部22は、ノード装置20内のネットワークインターフェースであれば良く、物理ポートでも仮想ポートでも良い。インターフェース部22は、データ通信用のリンクを介して、隣接するノード装置やホスト等の接続先に接続されている。そして、インターフェース部22は、パケットの送受信を行うことができる。インターフェース部22は、隣接するノード装置やホスト等の接続先からパケットを受信した場合、通信処理部21に対して、当該受信パケットを出力する。
なお、データ通信用のリンクは、有線でも無線でも良い。
<実施例>
次に、本実施形態に係る通信システムの実施例について説明する。
[システム構成]
図2を参照して、本実施例に係る通信システムの構成例について説明する。
本実施例に係る通信システムは、制御装置10と、複数のノード装置20を含む。
制御装置10及びノード装置20の構成例については、基本的に、図1に示したものと同様である。
本実施例では、仮想ポート部14は仮想ポート部14−1、仮想ポート部14−2、仮想ポート部14−3、仮想ポート部14−4、仮想ポート部14−5、及び仮想ポート部14−6を含む。仮想ポート部14−1、仮想ポート部14−2、仮想ポート部14−3、仮想ポート部14−4、仮想ポート部14−5、及び仮想ポート部14−6の各々は、振分部12に接続されている。
仮想ポート部14−1は、自身の識別情報として、仮想ポートID「VP1」を持つ。仮想ポート部14−2は、自身の識別情報として、仮想ポートID「VP2」を持つ。仮想ポート部14−3は、自身の識別情報として、仮想ポートID「VP3」を持つ。仮想ポート部14−4は、自身の識別情報として、仮想ポートID「VP4」を持つ。仮想ポート部14−5は、自身の識別情報として、仮想ポートID「VP5」を持つ。仮想ポート部14−6は、自身の識別情報として、仮想ポートID「VP6」を持つ。
また、本実施例では、ノード装置20はノード装置20−1、ノード装置20−2、及びノード装置20−3を含む。ノード装置20−1は、制御チャネル30−1を介して、制御装置10に接続されている。ノード装置20−2は、制御チャネル30−2を介して、制御装置10に接続されている。ノード装置20−3は、制御チャネル30−3を介して、制御装置10に接続されている。
ノード装置20−1は、自身の識別情報として、ノード装置ID「DPID1」を持つ。ノード装置20−2は、自身の識別情報として、ノード装置ID「DPID2」を持つ。ノード装置20−3は、自身の識別情報として、ノード装置ID「DPID3」を持つ。
また、本実施例では、インターフェース部22はインターフェース部22−11、インターフェース部22−21、インターフェース部22−22、インターフェース部22−23、インターフェース部22−31、インターフェース部22−32を含む。インターフェース部22−11は、ノード装置20−1に搭載され、通信処理部21−1に接続されている。インターフェース部22−21、インターフェース部22−22、及びインターフェース部22−23は、ノード装置20−2に搭載され、通信処理部21−2に接続されている。インターフェース部22−31、及びインターフェース部22−32は、ノード装置20−3に搭載され、通信処理部21−3に接続されている。
インターフェース部22−11は、自身の識別情報として、インターフェースID「IF11」を持つ。インターフェース部22−21は、自身の識別情報として、インターフェースID「IF21」を持つ。インターフェース部22−22は、自身の識別情報として、インターフェースID「IF22」を持つ。インターフェース部22−23は、自身の識別情報として、インターフェースID「IF23」を持つ。インターフェース部22−31は、自身の識別情報として、インターフェースID「IF31」を持つ。インターフェース部22−32は、自身の識別情報として、インターフェースID「IF32」を持つ。
<第1実施形態>(仮想ポート部とインターフェース部との対応関係)
以下に、本発明の第1実施形態について説明する。
本実施形態では、制御装置10は、「仮想ポートID」と「インターフェースID」との対応関係に基づいて、パケットの出力先を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、仮想ポート部14とインターフェース部22とが1対1で対応付けられた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能であれば良く、表形式でなくても良い。
[第1実施形態に係る振分規則]
図3Aを参照して、本実施形態に係る振分規則の例について以下に説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「インターフェースID」を示す領域(フィールド)を有する。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「インターフェースID」は、インターフェース部22の識別情報(インターフェースID)を格納するための領域である。
なお、インターフェースIDは、当該通信システム(ネットワーク)内でユニークな識別情報であると好適である。しかし、実際には、インターフェースIDは個々のノード装置内でユニークな識別情報でも良い。個々のノード装置内でユニークな識別情報である場合、インターフェースIDは、ノード装置間で重複することがある。そこで、ノード装置IDを対応付けても良いし、付与しても良いし、同一レコードに格納しても良い。
例えば、インターフェースIDにノード装置IDを対応付ける場合、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「インターフェースID」と「ノード装置ID」を示す領域を有する。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[補足]
「仮想ポートID」と「インターフェースID」に、異なる仮想ポート部14の識別情報(仮想ポートID)をそれぞれ格納した場合、仮想ポート部14同士の通信に対応することができる。同様に、「仮想ポートID」と「インターフェースID」に、異なるインターフェース部22の識別情報(インターフェースID)をそれぞれ格納した場合、異なるインターフェース部22同士の通信に対応することができる。例えば、「仮想ポートID」と「インターフェースID」を示す領域の代わりに、「入力元ID」と「出力先ID」を示す領域を用意する。そして、これらの領域に、仮想ポート部14の識別情報(仮想ポートID)とインターフェース部22の識別情報(インターフェースID)のいずれかを任意に指定できるようにしても良い。
[第1実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該仮想ポート部14の「仮想ポートID」に対応する「インターフェースID」に基づいて、パケットの出力先となるインターフェース部22を特定する。そして、振分部12は、ノード装置制御部11に対して、特定されたインターフェース部22へパケットを出力する指示と当該入力パケットを含むメッセージを出力する。
また、振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該パケットの送信元としてのノード装置20のインターフェース部22の「インターフェースID」に対応する「仮想ポートID」に基づいて、パケット出力先となる仮想ポート部14を特定する。そして、振分部12は、特定された仮想ポート部14に対して、当該入力パケットを出力する。
<第2実施形態>(入力パケットと仮想ポート部との対応関係)
以下に、本発明の第2実施形態について説明する。
本実施形態では、制御装置10は、「パケット種別」と「仮想ポートID」との対応関係に基づいて、パケットの出力先となる仮想ポート部14を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、パケットのヘッダ情報等と、仮想ポート部14とが1対1で対応付けられた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能であれば良く、表形式でなくても良い。
[第2実施形態に係る振分規則]
図3Bを参照して、本実施形態に係る振分規則の例について以下に説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「パケット種別」を示す領域を有する。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「パケット種別」は、パケットを識別するための情報(ヘッダ情報等)を格納するための領域である。少なくとも、オープンフロー技術における処理規則(フローエントリ)の判別条件(ルール)として使用できる情報であれば、パケットを識別するための情報として使用することができる。
[第2実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」に対応する「仮想ポートID」に基づいて、出力先となる仮想ポート部14を特定する。そして、振分部12は、特定された仮想ポート部14に対して、当該入力パケットを出力する。
すなわち、本実施形態における振分規則は、仮想ポート部14へのパケット入力用の振分規則である。
本実施形態は、仮想ポート部14同士の通信にも対応している。
本実施形態は、他の実施形態(特に第3実施形態)と組み合わせて実施すると好適である。
<第3実施形態>(出力パケットとインターフェース部との対応関係)
以下に、本発明の第3実施形態について説明する。
本実施形態では、制御装置10は、「パケット種別」と「インターフェースID」との対応関係に基づいて、パケットの出力先となるインターフェース部22を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、パケットのヘッダ情報等と、インターフェース部22とが1対1で対応付けられた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能であれば良く、表形式でなくても良い。
[第3実施形態に係る振分規則]
図3Cを参照して、本実施形態に係る振分規則の例について以下に説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「パケット種別」と「インターフェースID」を示す領域を有する。
「パケット種別」は、パケットを識別するための情報(ヘッダ情報等)を格納するための領域である。少なくとも、オープンフロー技術における処理規則(フローエントリ)の判別条件(ルール)として使用できる情報であれば、パケットを識別するための情報として使用することができる。
「インターフェースID」は、インターフェース部22の識別情報(インターフェースID)を格納するための領域である。
なお、インターフェースIDは、当該通信システム(ネットワーク)内でユニークな識別情報であると好適である。しかし、実際には、インターフェースIDは個々のノード装置内でユニークな識別情報でも良い。個々のノード装置内でユニークな識別情報である場合、インターフェースIDは、ノード装置間で重複することがある。そこで、ノード装置IDを対応付けても良いし、付与しても良いし、同一レコードに格納しても良い。
例えば、インターフェースIDにノード装置IDを対応付ける場合、振分規則保持部13に格納された振分規則は、1レコード毎に、「パケット種別」と「インターフェースID」と「ノード装置ID」を示す領域を有する。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[第3実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」に対応する「インターフェースID」に基づいて、出力先となるインターフェース部22を特定する。そして、振分部12は、ノード装置制御部11に対して、特定されたインターフェース部22への出力指示と当該入力パケットを含むメッセージを出力する。
すなわち、本実施形態における振分規則は、インターフェース部22へのパケット出力用の振分規則である。
本実施形態は、インターフェース部22同士の通信にも対応している。
本実施形態は、他の実施形態(特に第2実施形態)と組み合わせて実施すると好適である。
<第4実施形態>(パケットと仮想ポート部とインターフェース部との対応関係)
以下に、本発明の第4実施形態について説明する。
本実施形態では、制御装置10は、「パケット種別」と「仮想ポートID」と「インターフェースID」との対応関係に基づいて、パケットの出力先を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、パケットのヘッダ情報等と仮想ポート部14とインターフェース部22とをそれぞれ1対1で対応付けた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能でさえあれば、表形式に限定されない。
[第4実施形態に係る振分規則]
図3Dを参照して、本実施形態に係る振分規則の例について説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「パケット種別」と「仮想ポートID」と「インターフェースID」を示す領域を有する。
「パケット種別」は、パケットを識別するための情報(ヘッダ情報等)を格納するための領域である。少なくとも、オープンフロー技術における処理規則(フローエントリ)の判別条件(ルール)として使用できる情報であれば、パケットを識別するための情報として使用することができる。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「インターフェースID」は、インターフェース部22の識別情報(インターフェースID)を格納するための領域である。
なお、インターフェースIDは、当該通信システム(ネットワーク)内でユニークな識別情報であると好適である。しかしながら、インターフェースIDは、実際には、個々のノード装置内でユニークな識別情報でも良い。個々のノード装置内でユニークな識別情報である場合、インターフェースIDは、ノード装置間で重複することがある。そこで、ノード装置IDを対応付けても良いし、付与しても良いし、同一レコードに格納しても良い。
例えば、インターフェースIDにノード装置IDを対応付ける場合、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「インターフェースID」と「ノード装置ID」を示す領域を有する。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[第4実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」及び当該仮想ポート部14の「仮想ポートID」に対応する「インターフェースID」に基づいて、パケットの出力先となるインターフェース部22を特定する。その後、振分部12は、ノード装置制御部11に対して、特定されたインターフェース部22への出力指示と当該入力パケットを含むメッセージを出力する。
また、振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」及び当該パケットの送信元としてのノード装置20のインターフェース部22の「インターフェースID」に対応する「仮想ポートID」に基づいて、パケットの出力先となる仮想ポート部14を特定する。その後、振分部12は、特定された仮想ポート部14に対して、当該入力パケットを出力する。
本実施形態では、入力されたパケットの「パケット種別」が同じでも、送信元のインターフェース部22の「インターフェースID」が互いに異なれば、異なる仮想ポート部14に出力することが可能になる。また、入力元の仮想ポート部14の「仮想ポートID」が同じでも、入力されたパケットの「パケット種別」が互いに異なれば、異なるインターフェース部22に出力することも可能になる。これにより、第2実施形態や第3実施形態よりも更に複雑で細かい振分が可能になる。
<第5実施形態>(仮想ポート部とノード装置との対応関係)
以下に、本発明の第5実施形態について説明する。
本実施形態では、制御装置10は、「仮想ポートID」と「ノード装置ID」との対応関係に基づいて、パケットの出力先を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、仮想ポート部14とノード装置20とを1対1で対応付けた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能でさえあれば、表形式に限定されない。
[第5実施形態に係る振分規則]
図3Eを参照して、本実施形態に係る振分規則の例について以下に説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「ノード装置ID」を示す領域を有する。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[第5実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該仮想ポート部14の「仮想ポートID」に対応する「ノード装置ID」に基づいて、パケットの出力先となるノード装置20を特定する。そして、振分部12は、ノード装置制御部11に対して、特定されたノード装置20へのパケット出力指示と当該入力パケットを含むメッセージを出力する。
また、振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該パケットの送信元のノード装置20の「ノード装置ID」に対応する「仮想ポートID」に基づいて、パケットの出力先となる仮想ポート部14を特定する。そして、振分部12は、特定された仮想ポート部14に対して、当該入力パケットを出力する。
本実施形態では、インターフェース部22へのパケットの振分については、ノード装置20の通信処理部21が、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)や処理命令(出力指示等)に基づいて行う。
振分部12は、「どのノード装置20からのパケットであるか」という点だけに注目して、出力先となる仮想ポート部14を特定する。また、振分部12は、「どの仮想ポート部14からのパケットであるか」という点だけに注目して、出力先となるノード装置20を特定する。
<第6実施形態>(パケットと仮想ポート部とノード装置との対応関係)
以下に、本発明の第6実施形態について説明する。
本実施形態では、制御装置10は、「パケット種別」と「仮想ポートID」と「ノード装置ID」との対応関係に基づいて、パケットの出力先を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、パケットのヘッダ情報等と仮想ポート部14とノード装置20とを1対1対1で対応付けた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能でさえあれば、表形式に限定されない。
[第6実施形態に係る振分規則]
図3Fを参照して、本実施形態に係る振分規則の例について以下に説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「パケット種別」と「仮想ポートID」と「ノード装置ID」を示す領域を有する。
「パケット種別」は、パケットを識別するための情報(ヘッダ情報等)を格納するための領域である。少なくとも、オープンフロー技術における処理規則(フローエントリ)の判別条件(ルール)として使用できる情報であれば、パケットを識別するための情報として使用することができる。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[第6実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、仮想ポート部14からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」及び当該仮想ポート部14の「仮想ポートID」に対応する「ノード装置ID」に基づいて、パケットの出力先となるノード装置20を特定する。そして、振分部12は、ノード装置制御部11に対して、特定されたノード装置20へのパケット出力指示と当該入力パケットを含むメッセージを出力する。
また、振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該入力パケットの「パケット種別」及び当該パケットの送信元のノード装置20の「ノード装置ID」に対応する「仮想ポートID」に基づいて、パケットの出力先となる仮想ポート部14を特定する。そして、振分部12は、特定された仮想ポート部14に対して、当該入力パケットを出力する。
本実施形態では、インターフェース部22へのパケットの振分については、ノード装置20の通信処理部21が、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)や処理命令(出力指示等)に基づいて行う。
振分部12は、「どのノード装置20からのどのようなパケット」であるかという点に注目して、出力先となる仮想ポート部14を特定する。また、振分部12は、「どの仮想ポート部14からのどのようなパケット」であるかという点に注目して、出力先となるノード装置20を特定する。
本実施形態では、入力されたパケットの「パケット種別」が同じでも、送信元のノード装置20の「ノード装置ID」が異なれば、異なる仮想ポート部14にパケットを出力することが可能になる。また、入力元の仮想ポート部14の「仮想ポートID」が同じでも、入力されたパケットの「パケット種別」が互いに異なれば、異なるノード装置20にパケットを出力することも可能になる。これにより、第4実施形態よりも更に複雑で細かい振分処理が可能になる。
<第7実施形態>(仮想ポート部とパケットの処理規則との対応関係)
以下に、本発明の第7実施形態について説明する。
本実施形態では、制御装置10は、「仮想ポートID」と「処理規則ID」との対応関係に基づいて、パケットの出力先となる仮想ポート部14を決定する。
ここでは、図1及び図2に示した通信システムの構成例を参照する。
制御装置10の振分規則保持部13は、仮想ポート部14とパケットの処理規則(フローエントリ)とを1対1で対応付けた振分規則としての対応表を保持している。但し、実際には、振分規則は、対応関係が判別可能でさえあれば、表形式に限定されない。
[第7実施形態に係る振分規則]
図3Gを参照して、本実施形態に係る振分規則の例について説明する。
例えば、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「処理規則ID」を示す領域を有する。
「仮想ポートID」は、仮想ポート部14の識別情報(仮想ポートID)を格納するための領域である。
「処理規則ID」は、ノード装置20から制御装置10へパケットを転送する際に参照された処理規則(フローエントリ)の識別情報を格納するための領域である。
例えば、パケットの領域の一部に、付与情報等のデータを一時保存しておくためのクッキー(Cookie)領域がある。ノード装置20は、このクッキー領域に、処理規則(フローエントリ)を特定するための処理規則IDとして、「64ビットの識別情報」を格納することができる。制御装置10は、パケットのクッキー領域を参照することで、処理規則IDを認識/取得することができる。
なお、処理規則IDは、当該通信システム(ネットワーク)内でユニークな識別情報であると好適である。しかし、処理規則IDは、実際には、個々のノード装置内でユニークな識別情報でも良い。個々のノード装置内でユニークな識別情報である場合、処理規則IDは、ノード装置間で重複することがある。そこで、ノード装置IDを対応付けても良いし、付与しても良いし、同一レコードに格納しても良い。
例えば、処理規則IDにノード装置IDを対応付ける場合、振分規則保持部13に格納された振分規則は、1レコード毎に、「仮想ポートID」と「処理規則ID」と「ノード装置ID」を示す領域を有する。
「ノード装置ID」は、ノード装置20の識別情報(ノード装置ID)を格納するための領域である。なお、ノード装置20と制御チャネル30の対応関係は1対1の関係であるため、ノード装置20の識別情報(ノード装置ID)の代わりに、制御チャネル30の識別情報(制御チャネルID)を利用することもできる。
[第7実施形態に係る振分規則に基づく動作]
次に、本実施形態に係る振分規則に基づく動作の例について説明する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、当該パケットに格納された「処理規則ID」に対応する「仮想ポートID」に基づいて、出力先となる仮想ポート部14を特定し、特定された仮想ポート部14に対して、当該パケットを出力する。
すなわち、本実施形態における振分規則は、仮想ポート部14へのパケット入力用の振分規則である。
本実施形態は、他の実施形態(特に第3実施形態)と組み合わせて実施すると好適である。
<第8実施形態>
以下に、本発明の第8実施形態について説明する。
本実施形態では、制御装置において、レイヤ2(L2)転送処理とレイヤ3(L3)転送処理を行う。このとき、制御装置は、受信したパケットを、L2転送処理とL3転送処理に振り分ける。
[第8実施形態に係る通信システムの構成]
図4を参照して、本実施形態に係る通信システムの構成例について以下に説明する。
本実施形態に係る通信システムは、制御装置10と、ノード装置20を含む。
[第8実施形態に係る制御装置の構成]
次に、本実施形態に係る制御装置10の構成例について説明する。
本実施形態に係る制御装置10は、ノード装置制御部11と、振分部12と、振分規則保持部13と、仮想ポート部14と、ブリッジ部15と、ルータ部16を備える。
ノード装置制御部11、振分部12、振分規則保持部13、及び仮想ポート部14については、基本的に、前述の説明の通りである。
ブリッジ部15は、OSI参照モデルにおける7階層の内の第2層(データリンク層、レイヤ2)におけるレイヤ2ルーティング処理(L2転送処理)を行う。ブリッジ部15は、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたL2転送機能により実現できる。但し、実際には、ブリッジ部15はこれらの例に限定されない。
ルータ部16は、OSI参照モデルにおける7階層の内の第3層(ネットワーク層、レイヤ3)におけるレイヤ3ルーティング処理(L3転送処理)を行う。ルータ部16は、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたL3転送機能により実現できる。但し、実際には、ルータ部16はこれらの例に限定されない。
なお、実際には、ブリッジ部15及びルータ部16の各々は、ノード装置制御部11、振分部12、振分規則保持部13、及び仮想ポート部14と同一の装置内になくても良い。例えば、ブリッジ部15及びルータ部16の各々は、ネットワーク等を介して、制御装置10に接続されていても良い。
[第8実施形態に係る仮想ポート部の接続例]
ここでは、仮想ポート部14−1、仮想ポート部14−2、及び仮想ポート部14−3の各々は、振分部12とブリッジ部15との間に設けられており、振分部12とブリッジ部15との間でパケットの入出力を行う。また、仮想ポート部14−4、仮想ポート部14−5、及び仮想ポート部14−6の各々は、振分部12とルータ部16との間に設けられており、振分部12とルータ部16との間でパケットの入出力を行う。
[第8実施形態に係るノード装置の構成]
次に、本実施形態に係るノード装置20の構成例について説明する。
本実施形態に係るノード装置20の各々は、通信処理部21と、インターフェース部22を備える。
通信処理部21、及びインターフェース部22については、基本的に、前述の説明の通りである。
[L2転送処理における動作]
次に、L2転送処理における動作について説明する。
ノード装置制御部11は、振分規則保持部13に格納された振分規則を参照する。ノード装置制御部11は、振分規則の内容に従い、制御チャネル30を介して、それぞれのノード装置20の通信処理部21に対して、インターフェース部22が受信したパケットをノード装置制御部11へ出力(転送)する旨を指示する。
ノード装置20−1のインターフェース部22−11は、パケットを受信した場合、ノード装置20−1の通信処理部21−1に対して、当該パケットを出力する。
通信処理部21−1は、インターフェース部22−11からパケットが入力された場合、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)に従って動作する。より具体的には、通信処理部21−1は、制御チャネル30−1を介して、制御装置10のノード装置制御部11に対して、「当該パケット」と「当該パケットを受信したインターフェース部を示す情報」を含むパケット入力メッセージ(Packet−In Message)を出力(転送)する。
制御装置10のノード装置制御部11は、ノード装置20−1の通信処理部21−1からパケットを受信した際、パケットの受信に使用された制御チャネル30−1を認識し、当該パケットの送信元のノード装置及びインターフェース部を特定する。そして、ノード装置制御部11は、振分部12に対して、「特定されたノード装置及びインターフェース部を示す情報」と「当該パケット」を含むメッセージを出力する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、パケットの出力先として適切な仮想ポート部14−1を特定する。そして、振分部12は、特定された仮想ポート部14−1に対して、当該入力パケットを出力する。
仮想ポート部14−1は、振分部12からパケットが入力された際、接続されているブリッジ部15に対して、当該パケットを出力する。
ブリッジ部15は、仮想ポート部14−1からパケットが入力された際、当該パケットをL2転送する。その結果として、ブリッジ部15は、ブリッジ部15に接続されている他の仮想ポート部14−2及び仮想ポート部14−3に対して、当該パケットを出力する。
仮想ポート部14−2及び仮想ポート部14−3は、ブリッジ部15からパケットが入力された際、当該パケットを振分部12に対して、当該パケットを出力する。
振分部12は、仮想ポート部14−2からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−2からのパケットの出力先としてノード装置20−2のインターフェース部22−21を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットをノード装置20−2のインターフェース部22−21に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−2を介して、ノード装置20−2に対して、当該パケットをインターフェース部22−21に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−2の通信処理部21−2は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−21に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−21は、通信処理部21−2からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
同様に、振分部12は、仮想ポート部14−3からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−3からのパケットの出力先としてノード装置20−2のインターフェース部22−22を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定されたノード装置20−2のインターフェース部22−22に出力する旨の指示と当該パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−2を介して、ノード装置20−2に対して、当該パケットをインターフェース部22−22に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−2の通信処理部21−2は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−22に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−22は、通信処理部21−2からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
上記のように処理することで、ノード装置制御部11自体がL2転送機能を実装していなくても、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたL2転送機能を持つブリッジ部15を活用することによって、インターフェース部22−11、インターフェース部22−21、インターフェース部22−22の間においてL2転送機能を実現することができる。
[L3転送処理における動作]
次に、L3転送処理における動作について説明する。
ノード装置制御部11は、振分規則保持部13に格納された振分規則を参照する。ノード装置制御部11は、振分規則の内容に従い、制御チャネル30を介して、それぞれのノード装置20の通信処理部21に対して、インターフェース部22が受信したパケットをノード装置制御部11へ出力(転送)する旨を指示する。
ノード装置20−2のインターフェース部22−23は、パケットを受信した場合、ノード装置20−2の通信処理部21−2に対して、当該パケットを出力する。
通信処理部21−2は、インターフェース部22−23からパケットが入力された場合、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)に従って動作する。より具体的には、通信処理部21−2は、制御チャネル30−2を介して、制御装置10のノード装置制御部11に対して、「当該パケット」と「当該パケットを受信したインターフェース部を示す情報」を含むパケット入力メッセージ(Packet−In Message)を出力(転送)する。
制御装置10のノード装置制御部11は、ノード装置20−2の通信処理部21−2からパケットを受信した際、パケットの受信に使用された制御チャネル30−2を認識し、当該パケットの送信元のノード装置及びインターフェース部を特定する。そして、ノード装置制御部11は、振分部12に対して、「特定されたノード装置及びインターフェース部を示す情報」と「当該パケット」を含むメッセージを出力する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、出力先としての仮想ポート部14−4を特定する。そして、振分部12は、特定された仮想ポート部14−4に対して、当該パケットを出力する。
仮想ポート部14−4は、振分部12からパケットが入力された際、接続されているルータ部16に対して、当該パケットを出力する。
ルータ部16は、仮想ポート部14−4からパケットが入力された際、当該パケットをL3転送する。ルータ部16は、その結果として、ルータ部16に接続されている他の仮想ポート部14−5及び仮想ポート部14−6に対して、当該パケットを出力する。
仮想ポート部14−5及び仮想ポート部14−6は、ルータ部16からパケットが入力された際、当該パケットを振分部12に対して出力する。
振分部12は、仮想ポート部14−5からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−5からのパケットの出力先としてノード装置20−3のインターフェース部22−31を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定したノード装置20−3のインターフェース部22−31に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−3を介して、ノード装置20−3に対して、当該パケットをインターフェース部22−31に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−3の通信処理部21−3は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−31に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−31は、通信処理部21−3からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
同様に、振分部12は、仮想ポート部14−6からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−6からのパケットの出力先としてノード装置20−3のインターフェース部22−32を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットをノード装置20−3のインターフェース部22−32に出力する旨の指示と当該パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−3を介して、ノード装置20−3に対して、当該パケットをインターフェース部22−32に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−3の通信処理部21−3は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−32に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−32は、通信処理部21−3からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
上記のように処理することで、ノード装置制御部11自体がL3転送機能を実装していなくても、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたL3転送機能を持つルータ部16を活用することによって、インターフェース部22−23、インターフェース部22−31、インターフェース部22−32の間においてL3転送機能を実現することができる。
<第9実施形態>
以下に、本発明の第9実施形態について説明する。
上記の第8実施形態におけるL2転送機能やL3転送機能と同様に、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたGRE(Generic Routing Encapsulation)やIPSec(Security Architecture for Internet Protocol)といったトンネリング機能や暗号化機能を活用することによって、通信システムの任意のインターフェース部に対して、それらの機能を実現することができる。例えば、上記の第8実施形態における「ブリッジ部」や「ルータ部」の代わりに、「トンネリング部」や「暗号化部」を設けることが考えられる。
[第9実施形態に係る通信システムの構成]
図5を参照して、本実施形態に係る通信システムの構成例について説明する。
本実施形態に係る通信システムは、制御装置10と、ノード装置20を含む。
[第9実施形態に係る制御装置の構成]
次に、本実施形態に係る制御装置10の構成例について説明する。
本実施形態に係る制御装置10は、ノード装置制御部11と、振分部12と、振分規則保持部13と、仮想ポート部14と、トンネリング部17と、暗号化部18を備える。
ノード装置制御部11、振分部12、振分規則保持部13、及び仮想ポート部14については、基本的に、前述の説明の通りである。
トンネリング部17は、パケットのカプセル化とその解除に関する処理(トンネリング)を行う。トンネリング部17は、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたトンネリング機能により実現できる。但し、トンネリング部17は、実際には、これらの例に限定されない。
暗号化部18は、パケットの暗号化とその復号に関する処理(暗号化処理)を行う。暗号化部18は、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装された暗号化機能により実現できる。但し、暗号化部18は、実際には、これらの例に限定されない。
なお、実際には、トンネリング部17及び暗号化部18の各々は、ノード装置制御部11、振分部12、振分規則保持部13、及び仮想ポート部14と同一の装置内になくても良い。例えば、トンネリング部17及び暗号化部18の各々は、ネットワーク等を介して、制御装置10に接続されていても良い。
また、トンネリング部17及び暗号化部18は、一体化していても良い。例えば、トンネリング機能に、暗号化機能が含まれていることもある。
[第9実施形態に係る仮想ポート部の接続例]
ここでは、仮想ポート部14−1、仮想ポート部14−2、及び仮想ポート部14−3の各々は、振分部12とトンネリング部17との間に設けられており、振分部12とトンネリング部17との間でパケットの入出力を行う。また、仮想ポート部14−4、仮想ポート部14−5、及び仮想ポート部14−6の各々は、振分部12と暗号化部18との間に設けられており、振分部12と暗号化部18との間でパケットの入出力を行う。
[第9実施形態に係るノード装置の構成]
次に、本実施形態に係るノード装置20の構成例について説明する。
本実施形態に係るノード装置20の各々は、通信処理部21と、インターフェース部22を備える。
通信処理部21、及びインターフェース部22については、基本的に、前述の説明の通りである。
[トンネリングにおける動作]
次に、トンネリング処理における動作について説明する。
ノード装置制御部11は、振分規則保持部13に格納された振分規則を参照する。ノード装置制御部11は、振分規則の内容に従い、制御チャネル30を介して、それぞれのノード装置20の通信処理部21に対して、インターフェース部22が受信したパケットをノード装置制御部11へ出力(転送)する旨を指示する。
ノード装置20−1のインターフェース部22−11は、パケットを受信した場合、ノード装置20−1の通信処理部21−1に対して、当該パケットを出力する。
通信処理部21−1は、インターフェース部22−11からパケットが入力された場合、制御装置10のノード装置制御部11から指示された処理規則(フローエントリ)に従って動作する。より具体的には、通信処理部21-1は、制御チャネル30−1を介して、制御装置10のノード装置制御部11に対して、「当該パケット」と「当該パケットを受信したインターフェース部を示す情報」を含むパケット入力メッセージ(Packet−In Message)を出力(転送)する。
制御装置10のノード装置制御部11は、ノード装置20−1の通信処理部21−1からパケットを受信した際、パケットの受信に使用された制御チャネル30−1を認識し、当該パケットの送信元のノード装置及びインターフェース部を特定する。そして、ノード装置制御部11は、振分部12に対して、「特定されたノード装置及びインターフェース部を示す情報」と「当該パケット」を含むメッセージを出力する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、出力先としての仮想ポート部14−1を特定する。そして、振分部12は、特定された仮想ポート部14−1に対して、当該入力パケットを出力する。
このとき、振分部12は、特定された仮想ポート部14−1に対して当該パケットを出力する前に、暗号化部18に接続されている仮想ポート部14−4〜14−6のいずれかに対して当該パケットを出力するようにしても良い。この場合、振分部12は、応答として暗号化されたパケットを受け取り、この暗号化されたパケットを、特定された仮想ポート部14−1に対して出力する。すなわち、カプセル化されるパケットを予め暗号化しておくことが可能である。
仮想ポート部14−1は、振分部12からパケットが入力された際、接続されているトンネリング部17に対して、当該パケットを出力する。
トンネリング部17は、仮想ポート部14−1からパケットが入力された際、当該入力パケットをカプセル化する。そして、トンネリング部17は、トンネリング部17に接続されている他の仮想ポート部14−2及び仮想ポート部14−3に対して、カプセル化されたパケットを出力する。
仮想ポート部14−2及び仮想ポート部14−3は、トンネリング部17からパケットが入力された際、当該パケットを振分部12に対して、当該パケットを出力する。
振分部12は、仮想ポート部14−2からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−2からのパケットの出力先としてノード装置20−2のインターフェース部22−21を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定されたノード装置20−2のインターフェース部22−21に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
このとき、振分部12は、ノード装置制御部11に対して出力するメッセージを作成する前に、暗号化部18に接続されている仮想ポート部14−4〜14−6のいずれかに対して当該パケットを出力するようにしても良い。この場合、振分部12は、応答として暗号化されたパケットを受け取り、この暗号化されたパケットを、上記のメッセージに格納する。すなわち、カプセル化されたパケットを暗号化することが可能である。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−2を介して、ノード装置20−2に対して、当該パケットをインターフェース部22−21に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−2の通信処理部21−2は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−21に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−21は、通信処理部21−2からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
同様に、振分部12は、仮想ポート部14−3からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−3からのパケットの出力先としてノード装置20−2のインターフェース部22−22を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定されたノード装置20−2のインターフェース部22−22に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−2を介して、ノード装置20−2に対して、当該パケットをインターフェース部22−22に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−2の通信処理部21−2は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−22に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−22は、通信処理部21−2からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
上記のように処理することで、ノード装置制御部11自体がトンネリング機能を実装していなくても、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装されたトンネリング機能を持つトンネリング部17を活用することによって、インターフェース部22−11、インターフェース部22−21、インターフェース部22−22の間においてトンネリング機能を実現することができる。
[暗号化処理における動作]
次に、暗号化処理における動作について説明する。
ノード装置制御部11は、振分規則保持部13に格納された振分規則を参照する。そして、ノード装置制御部11は、振分規則の内容に従い、制御チャネル30を介して、それぞれのノード装置20の通信処理部21に対して、インターフェース部22が受信したパケットをノード装置制御部11へ出力(転送)する旨を指示する。
ノード装置20−2のインターフェース部22−23は、パケットを受信した場合、ノード装置20−2の通信処理部21−2に対して、当該パケットを出力する。
ノード装置20−2のインターフェース部22−23は、パケットを受信した場合、ノード装置20−2の通信処理部21−2に対して、当該パケットを出力する。
制御装置10のノード装置制御部11は、ノード装置20−2の通信処理部21−2からパケットを受信した際、パケットの受信に使用された制御チャネル30−2を認識し、当該パケットの送信元のノード装置及びインターフェース部を特定する。そして、ノード装置制御部11は、振分部12に対して、「特定されたノード装置及びインターフェース部を示す情報」と「当該パケット」を含むメッセージを出力する。
振分部12は、ノード装置制御部11からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、出力先としての仮想ポート部14−4を特定する。そして、振分部12は、特定された仮想ポート部14−4に対して、当該パケットを出力する。
このとき、振分部12は、特定された仮想ポート部14−4に対して当該パケットを出力する前に、トンネリング部17に接続されている仮想ポート部14−1〜14−3のいずれかに対して当該パケットを出力するようにしても良い。この場合、振分部12は、応答としてカプセル化されたパケットを受け取り、このカプセル化されたパケットを、特定された仮想ポート部14−4に対して出力する。すなわち、暗号化されるパケットを予めカプセル化しておくことが可能である。
仮想ポート部14−4は、振分部12からパケットが入力された際、接続されている暗号化部18に対して、当該パケットを出力する。
暗号化部18は、仮想ポート部14−4からパケットが入力された際、当該パケットを暗号化する。そして、暗号化部18は、結果として、暗号化部18に接続されている他の仮想ポート部14−5及び仮想ポート部14−6に対して、当該暗号化パケットを出力する。
仮想ポート部14−5及び仮想ポート部14−6は、暗号化部18からパケットが入力された際、当該パケットを振分部12に対して、当該パケットを出力する。
振分部12は、仮想ポート部14−5からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−5からのパケットの出力先としてノード装置20−3のインターフェース部22−31を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定されたノード装置20−3のインターフェース部22−31に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
このとき、振分部12は、ノード装置制御部11に対して出力するメッセージを作成する前に、一旦、トンネリング部17に接続されている仮想ポート部14−1〜仮想ポート部14−3のいずれかに対して当該パケットを出力するようにしても良い。この場合、振分部12は、応答としてカプセル化されたパケットを受け取り、このカプセル化されたパケットを、上記のメッセージに格納する。すなわち、カプセル化されたパケットを暗号化することが可能である。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−3を介して、ノード装置20−3に対して、当該パケットをインターフェース部22−31に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−3の通信処理部21−3は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−31に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−31は、通信処理部21−3からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
同様に、振分部12は、仮想ポート部14−6からパケットが入力された際、振分規則保持部13に格納された振分規則を参照して、振分規則の内容に基づいて、仮想ポート部14−6からのパケットの出力先としてノード装置20−3のインターフェース部22−32を特定する。そして、振分部12は、ノード装置制御部11に対して、当該パケットを特定されたノード装置20−3のインターフェース部22−32に出力する旨の指示と当該入力パケット自体を含むメッセージを出力する。
ノード装置制御部11は、振分部12から上記のメッセージが入力された場合、制御チャネル30−3を介して、ノード装置20−3に対して、当該パケットをインターフェース部22−32に出力する旨の指示と当該パケット自体を含むパケット出力メッセージ(Packet−Out Message)を送信する。
ノード装置20−3の通信処理部21−3は、制御装置10のノード装置制御部11から上記のパケット出力メッセージ(Packet−Out Message)を受信した場合、インターフェース部22−32に対して、パケット出力メッセージ(Packet−Out Message)に含まれるパケットを出力する。
インターフェース部22−32は、通信処理部21−3からパケットが入力された場合、データ通信用のリンクを介して、接続先に対して、当該パケットを出力する。
上記のように処理することで、ノード装置制御部11自体が暗号化機能を実装していなくても、制御装置10として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装された暗号化機能を持つ暗号化部18を活用することによって、インターフェース部22−23、インターフェース部22−31、インターフェース部22−32の間において暗号化機能を実現することができる。
<補足>
上記の第8実施形態では「L2転送処理」と「L3転送処理」について説明し、上記の第9実施形態では「トンネリング処理」と「暗号化処理」について説明した。しかしながら、無論、これら以外にも、様々なネットワークサービスを提供することが可能である。少なくとも、制御装置として動作する計算機等のOS(オペレーティング・システム)上に実装されているプロトコル等は全て利用可能である。また、制御装置として動作する計算機等のOS(オペレーティング・システム)上に実装されていないプロトコル等についても、それらのプロトコルが実装されている計算機等に、制御装置の仮想ポート部が接続することで利用可能となる。これにより、ノード装置は、自身に実装されていないプロトコル等であっても、制御装置を介して、それらを利用することができる。
なお、ノード装置制御部11は、任意のオープンフローコントローラ(OFC)を改造して得られるソフトウェアを利用することにより実現可能である。具体的には、このソフトウェアは、任意のノード装置の処理規則(フローエントリ)の設定と任意のインターフェース部からのパケット送受信を外部(振分部12)から制御できるように設計されている。
これにより、システム全体で、一般的なオープンフローによる制御アプリケーションと、制御装置として動作する計算機等のOS(オペレーティング・システム)やソフトウェアに実装された従来のプロトコルとを、ノード装置のインターフェース部において共存させ、同時に活用することができる。
<各実施形態の関係>
なお、上記の各実施形態は、矛盾が発生しない限り、組み合わせて実施することも可能である。
<ハードウェアの例示>
以下に、本発明に係る通信システムを実現するための具体的なハードウェアの例について説明する。
制御装置の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバー、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、制御装置は、端末やサーバーに限らず、中継機器や周辺機器でも良い。また、制御装置は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM)でも良い。
ノード装置の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
制御装置及びノード装置の各々は、車両や船舶、航空機等の移動体に搭載されていても良い。
図示しないが、制御装置及びノード装置の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
なお、制御装置及び制御装置の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
<本発明の特徴>
以上のように、本発明では、オープンフロー技術を用いて構築されたネットワークにおいて、制御装置として動作する計算機等のOS(オペレーティング・システム)上に実装されているルーティングプロトコル、トンネリングプロトコル等を再利用可能とする。
また、複数の制御装置間で、TCP/IP等の従来の通信方式を用いた通信を可能とする。
具体的には、本発明による通信システムは、制御装置と、その制御装置により制御チャネルを通して制御される複数のノード装置とを含む。
ノード装置は、端末装置や他のノード装置と接続しパケットを送受信する1つ以上のインターフェース部と、送受信するパケットの処理を行う通信処理部とを含む。
制御装置は、当該制御装置として動作する計算機等のOS(オペレーティング・システム)がパケットの送受信を行うことのできる1つ以上の仮想ポート部と、各ノード装置の制御を行うノード装置制御部と、仮想ポート部とインターフェース部との対応関係を保持する振分規則保持部と、仮想ポート部とインターフェース部の間でパケットの振分判断や制御を行う振分部とを含む。
仮想ポート部は、OS(オペレーティング・システム)からパケットを受信すると、当該パケットを振分部へ出力する。
振分部は、パケットを入力した場合、振分規則保持部を参照して、どのインターフェース部から送信されるかを判断した後、その判断結果と当該パケットをノード装置制御部へ出力する。
ノード装置制御部は、当該判断に基づいて適切な制御チャネルを選択し、その制御チャネルを介して、当該パケットを当該インターフェース部へ出力する旨のメッセージを送信する。
ノード装置の通信処理部は、上記のメッセージを受信した場合、当該パケットを指定されたインターフェース部から送信する。
逆に、ノード装置のインターフェース部は、パケットを受信した場合、当該パケットを通信処理部へ出力する。
通信処理部は、予めノード装置制御部が指示した処理規則(フローエントリ)に基づいて、制御チャネルを介して、パケットをノード装置制御部へ出力する。
ノード装置制御部は、制御チャネルを介して通信処理部から受信したパケットが仮想ポート部へ出力すべきパケットであった場合、当該パケットを振分部へ出力する。
振分部は、パケットを入力した場合、振分規則保持部を参照して、適切な出力先の仮想ポート部を選択し、当該パケットを選択された仮想ポート部へ出力する。
仮想ポート部は、パケットを入力した場合、当該パケットをOS(オペレーティング・システム)へ出力する。
OS(オペレーティング・システム)は、当該パケットを処理する。
[第1の効果]
第1の効果は、制御装置として動作する計算機等のOS(オペレーティング・システム)上に実装されているルーティングプロトコル、トンネリングプロトコル等を再利用できることである。
その理由は、インターフェース部で送受信されるパケットを仮想ポート部へ転送することで、OS(オペレーティング・システム)からはノード装置のインターフェース部があたかも制御装置のネットワークインターフェースとして認識することができるからである。
[第2の効果]
第2の効果は、複数の制御装置間でTCP/IP等の従来の通信方式を用いた通信ができることである。
その理由は、インターフェース部で送受信されるパケットを仮想ポート部へ転送することで、各制御装置の制御するノード装置のインターフェース部が、他の制御装置が制御するノード装置のインターフェース部と通信回線を介して接続しているときに、ある制御装置の仮想ポート部と他の制御装置の仮想ポート部とが直結している状態を実現することができるからである。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
[付記1]
制御装置がネットワークに配置された1つ以上のノード装置に対して制御チャネルを介して集中制御を行う通信システムであって、
当該制御装置は、パケットを送受信する1つ以上の仮想ポート部と、パケットの振分規則を保持する振分規則保持部と、パケットの振分先を特定する振分部と、ノード装置を制御するノード装置制御部とを備え、
当該ノード装置は、パケットを送受信する1つ以上のインターフェース部を備え、
当該振分規則保持部は、パケットの振分規則を1つ以上保持し、参照要求に応じて当該振分規則を検索して返答し、
当該振分部は、当該振分規則保持部を参照して得られる当該振分規則に従い当該インターフェース部と当該仮想ポート部との間で送受信されるパケットの転送先を特定し、
当該ノード装置制御部は、当該各ノード装置との間で個別に当該制御チャネルを設定し、当該制御チャネルと当該ノード装置との対応関係及び当該ノード装置に備わる当該インターフェース部の情報を管理し、任意の当該ノード装置の制御及び任意の当該インターフェース部の制御を要求された場合に当該要求されたノード装置を制御可能な当該制御チャネルを特定しこれを用いて当該要求された制御を行い、又は当該制御チャネルからの通知を受信した場合に、当該通知を行った当該ノード装置又は当該インターフェース部を特定する
通信システム。
[付記2](仮想ポート部→インターフェース部、仮想ポート部とインターフェース部の1対1対応)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、
当該インターフェース部は、少なくとも当該ノード装置内でこれを識別可能とする物理ポート識別子を持ち、
当該仮想ポート部は、少なくとも当該制御装置内でこれを識別可能とする仮想ポート識別子を持ち、
当該振分規則保持部は、任意の当該仮想ポート識別子と当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則として1つ以上保持し、
当該仮想ポート部は、パケットを受信すると、当該パケットと当該仮想ポート部の当該仮想ポート識別子とを含む第1のメッセージを当該振分部へ出力し、
当該振分部は、当該第1のメッセージを入力すると、当該第1のメッセージに含まれる当該仮想ポート識別子に対応する当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則保持部を参照して特定し、当該第1のメッセージに含まれる当該パケットと当該特定した当該ノード装置識別子と当該物理ポート識別子の組を含む第2のメッセージを当該ノード装置制御部へ出力し、
当該ノード装置制御部は、当該第2のパケットを入力すると、当該第2のメッセージに含まれる当該ノード装置識別子に対応する当該ノード装置を制御可能な当該制御チャネルを特定し、当該第2のメッセージに含まれる当該物理ポート識別子と当該パケットを含む第3のメッセージを当該特定された制御チャネルに対して出力し、
当該ノード装置は、当該制御チャネルを介して当該第3のメッセージを入力すると、当該第3のメッセージに含まれる当該パケットを、当該第3のメッセージに含まれる当該物理ポート識別子に対応する当該インターフェース部から送信する
付記1に記載の通信システム。
[付記3](仮想ポート部→インターフェース部、仮想ポート部は無関係、ヘッダとインターフェース部の1対1対応)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、
当該インターフェース部は、少なくとも当該ノード装置内でこれを識別可能とする物理ポート識別子を持ち、
当該振分規則保持部は、任意のパケットヘッダの条件と当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則として1つ以上保持し、
当該仮想ポート部は、パケットを受信すると、当該パケットを含む第1のメッセージを当該振分部へ出力し、
当該振分部は、当該第1のメッセージを入力すると、当該第1のメッセージに含まれる当該パケットのヘッダに対応する当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則保持部を参照して特定し、当該第1のメッセージに含まれる当該パケットと当該特定した当該ノード装置識別子と当該物理ポート識別子の組を含む第2のメッセージを当該ノード装置制御部へ出力し、
当該ノード装置制御部は、当該第2のパケットを入力すると、当該第2のメッセージに含まれる当該ノード装置識別子に対応する当該ノード装置を制御可能な当該制御チャネルを特定し、当該第2のメッセージに含まれる当該物理ポート識別子と当該パケットを含む第3のメッセージを当該特定された制御チャネルに対して出力し、
当該ノード装置は、当該制御チャネルを介して当該第3のメッセージを入力すると、当該第3のメッセージに含まれる当該パケットを、当該第3のメッセージに含まれる当該物理ポート識別子に対応する当該インターフェース部から送信する
付記1に記載の通信システム。
[付記4](仮想ポート部→インターフェース部、仮想ポート部&ヘッダとインターフェース部の1対1対応)
当該仮想ポート部は、少なくとも当該制御装置内でこれを識別可能とする仮想ポート識別子を持ち、
当該振分規則保持部は、任意の当該仮想ポート識別子とパケットヘッダの条件と当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則として1つ以上保持し、
当該仮想ポート部は、パケットを受信すると、当該パケットと当該仮想ポート部の当該仮想ポート識別子とを含む第1のメッセージを当該振分部へ出力し、
当該振分部は、当該第1のメッセージに含まれる当該パケットのヘッダと当該仮想ポート識別子に対応する当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則保持部を参照して特定する
付記3に記載の通信システム。
[付記5](仮想ポート部→インターフェース部、仮想ポート部は無関係、インターフェース部も無関係に一斉出力、ノード装置に判断を任せる)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、パケットの転送を行う通信処理部を備え、
当該振分規則保持部は、任意の当該ノード装置識別子を当該振分規則として1つ以上保持し、
当該仮想ポート部は、パケットを受信すると、当該パケットを含む第1のメッセージを当該振分部へ出力し、
当該振分部は、当該第1のメッセージを入力すると、当該振分規則保持部を参照して1つ以上の当該ノード装置識別子を特定し、当該第1のメッセージに含まれる当該パケットと当該特定した当該1つ以上の当該ノード装置識別子の組を含む第2のメッセージを当該ノード装置制御部へ出力し、
当該ノード装置制御部は、当該第2のパケットを入力すると、当該第2のメッセージに含まれる1つ以上の当該ノード装置識別子それぞれに対応する当該ノード装置を制御可能な当該制御チャネルを特定し、当該第2のメッセージに含まれる当該パケットを含む第3のメッセージを当該特定されたそれぞれの制御チャネルに対して出力し、
当該ノード装置は、当該制御チャネルを介して当該第3のメッセージを入力すると、当該第3のメッセージに含まれる当該パケットを、当該通信処理部へ出力し、
当該通信処理部は、当該パケットを入力すると、予め指定された任意の処理規則に従って当該パケットの処理を行う
付記1に記載の通信システム。
[付記6](インターフェース部→仮想ポート部、ノード装置&インターフェース部と仮想ポート部の1対1対応)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、
当該インターフェース部は、少なくとも当該ノード装置内でこれを識別可能とする物理ポート識別子を持ち、
当該仮想ポート部は、少なくとも当該制御装置内でこれを識別可能とする仮想ポート識別子を持ち、
当該振分規則保持部は、任意の当該仮想ポート識別子と当該ノード装置識別子と当該物理ポート識別子の組を当該振分規則として1つ以上保持し、
当該インターフェース部は、パケットを受信すると、当該パケットと当該インターフェース部を表す当該物理ポート識別子を含む第4のメッセージを当該制御チャネルへ出力し、
当該ノード装置制御部は、当該制御チャネルを介して当該第4のメッセージを入力すると、当該制御チャネルと関連付けられた当該ノード装置を特定し、当該第4のメッセージに含まれる当該パケットと当該物理ポート識別子と、当該特定された当該ノード装置を表す当該ノード装置識別子とを含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージを入力すると、当該第5のメッセージに含まれる当該物理ポート識別子と当該ノード装置識別子に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定し、当該特定した当該仮想ポート識別子に対応する当該仮想ポート部へ当該第5のメッセージに含まれる当該パケットを含む第6のメッセージを出力し、
当該仮想ポート部は、当該第6のメッセージを入力すると、当該第6のメッセージに含まれる当該パケットを送信する
付記1に記載の通信システム。
[付記7](インターフェース部→仮想ポート部、ノード装置やインターフェース部は無関係、処理規則番号と仮想ポート部の1対1対応)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、パケットの転送を行う通信処理部を備え、
当該インターフェース部は、少なくとも当該ノード装置内でこれを識別可能とする物理ポート識別子を持ち、
当該仮想ポート部は、少なくとも当該制御装置内でこれを識別可能とする仮想ポート識別子を持ち、
当該振分規則保持部は、任意の当該仮想ポート識別子と処理規則番号の組を当該振分規則として1つ以上保持し、
当該インターフェース部は、パケットを受信すると、当該パケットと当該インターフェース部を表す当該物理ポート識別子を含む第7のメッセージを当該通信処理部へ出力し、
当該通信処理部は、当該第7のメッセージを入力すると、予め指定された任意の処理規則に従って当該第7のメッセージの処理を行い、合致する当該処理規則が制御チャネルへの出力を伴う場合に、対応する当該処理規則番号と当該第7のメッセージに含まれる当該パケットを含む第4のメッセージを当該制御チャネルへ出力し、
当該ノード装置制御部は、当該制御チャネルを介して当該第4のメッセージを入力すると、当該第4のメッセージに含まれる当該パケットと当該処理規則番号とを含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージを入力すると、当該第5のメッセージに含まれる当該処理規則番号に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定し、当該特定した当該仮想ポート識別子に対応する当該仮想ポート部へ当該第5のメッセージに含まれる当該パケットを含む第6のメッセージを出力し、
当該仮想ポート部は、当該第6のメッセージを入力すると、当該第6のメッセージに含まれる当該パケットを送信する
付記1に記載の通信システム。
[付記8](インターフェース部→仮想ポート部、インターフェース部は無関係、ノード装置&処理規則番号と仮想ポート部の1対1対応)
当該振分規則保持部は、任意の当該仮想ポート識別子と処理規則番号とノード装置識別子の組を当該振分規則として1つ以上保持し、
当該ノード装置制御部は、当該制御チャネルを介して当該第4のメッセージを入力すると、当該制御チャネルと関連付けられた当該ノード装置を特定し、当該特定された当該ノード装置を表す当該ノード装置識別子を更に含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージに含まれる当該処理規則番号と当該ノード装置識別子の組に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定する
付記7に記載の通信システム。
[付記9](インターフェース部→仮想ポート部、ノード装置&インターフェース部&処理規則番号と仮想ポート部の1対1対応)
当該振分規則保持部は、任意の当該仮想ポート識別子と処理規則番号とノード装置識別子と物理ポート識別子の組を当該振分規則として1つ以上保持し、
当該通信処理部は、当該第7のメッセージに含まれる当該物理ポート識別子を更に含む第4のメッセージを当該制御チャネルへ出力し、
当該ノード装置制御部は、当該第4のメッセージに含まれる当該物理ポート識別子を更に含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージに含まれる当該処理規則番号と当該ノード装置識別子と当該物理ポート識別子の組に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定する
付記8に記載の通信システム。
[付記10](インターフェース部→仮想ポート部、インターフェース部は無関係、ヘッダと仮想ポート部の1対1対応)
当該仮想ポート部は、少なくとも当該制御装置内でこれを識別可能とする仮想ポート識別子を持ち、
当該振分規則保持部は、任意のパケットヘッダの条件と当該仮想ポート識別子の組を当該振分規則として1つ以上保持し、
当該インターフェース部は、パケットを受信すると、当該パケットを含む第4のメッセージを当該制御チャネルへ出力し、
当該ノード装置制御部は、当該制御チャネルを介して当該第4のメッセージを入力すると、当該第4のメッセージに含まれる当該パケットを含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージを入力すると、当該第5のメッセージに含まれるパケットのヘッダに対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定し、当該特定した当該仮想ポート識別子に対応する当該仮想ポート部へ当該第5のメッセージに含まれる当該パケットを含む第6のメッセージを出力し、
当該仮想ポート部は、当該第6のメッセージを入力すると、当該第6のメッセージに含まれる当該パケットを送信する
付記1に記載の通信システム。
[付記11](インターフェース部→仮想ポート部、インターフェース部&ヘッダと仮想ポート部の1対1対応)
当該インターフェース部は、少なくとも当該ノード装置内でこれを識別可能とする物理ポート識別子を持ち、
当該振分規則保持部は、任意のパケットヘッダの条件と当該物理ポート識別子と当該仮想ポート識別子の組を当該振分規則として1つ以上保持し、
当該インターフェース部は、パケットを受信すると、当該パケットと当該インターフェース部を表す当該物理ポート識別子を含む第4のメッセージを当該制御チャネルへ出力し、
当該ノード装置制御部は、当該第4のメッセージに含まれる当該物理ポート識別子を更に含む当該第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージに含まれる当該パケットのヘッダと当該物理ポート識別子の組に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定する
付記10に記載の通信システム。
[付記12](インターフェース部→仮想ポート部、ノード装置&インターフェース部&ヘッダと仮想ポート部の1対1対応)
当該ノード装置は、当該通信システム内でこれを識別可能とするノード装置識別子を持ち、
当該振分規則保持部は、任意のパケットヘッダの条件と当該ノード装置識別子と当該物理ポート識別子と当該仮想ポート識別子の組を当該振分規則として1つ以上保持し、
当該ノード装置制御部は、当該制御チャネルを介して当該第4のメッセージを入力すると、当該制御チャネルと関連付けられた当該ノード装置を特定し、当該特定された当該ノード装置を表す当該ノード装置識別子を更に含む第5のメッセージを当該振分部へ出力し、
当該振分部は、当該第5のメッセージに含まれる当該パケットのヘッダと当該ノード装置識別子と当該物理ポート識別子の組に対応する当該仮想ポート識別子を当該振分規則保持部を参照して特定する
付記11に記載の通信システム。
[付記13](レイヤ3ルーティング)
当該制御装置は、1つ以上のレイヤ3ルーティングを行うルータ部を備え、
ルータ部は、2つ以上の当該仮想ポート部と接続する
付記1〜12のいずれかに記載の通信システム。
[付記14](レイヤ2ルーティング)
当該制御装置は、1つ以上のレイヤ2ルーティングを行うスイッチング部を備え、
スイッチング部は、2つ以上の当該仮想ポート部と接続する
付記1〜12のいずれかに記載の通信システム。
[付記15](トンネリング)
当該制御装置は、1つ以上のトンネリングを行うトンネリング部を備え、
トンネリング部は、2つ以上の当該仮想ポート部と接続する
付記1〜12のいずれかに記載の通信システム。
[付記16](制御装置内サービス)
当該制御装置は、1つ以上のサービスを行うサービス部を備え、
サービス部は、1つ以上の当該仮想ポート部と接続する
付記1〜12のいずれかに記載の通信システム。
[付記17](オープンフロー)
当該ノード装置制御部は、オープンフローコントローラのソフトウェアにより実現され、
当該ノード装置は、オープンフロースイッチにより実現され、
当該制御チャネルは、オープンフロープロトコルにより実現される
付記1〜12のいずれかに記載の通信システム。
[付記18](オープンフロープロトコル)
当該通信装置識別子は、オープンフロープロトコルのデータパスID(Datapath ID)であり、
当該第3のメッセージは、オープンフロープロトコルのパケット出力メッセージ(Packet−Out Message)であり、
当該第4のメッセージは、オープンフロープロトコルのパケット入力メッセージ(Packet−In Message)であり、
当該処理規則番号は、オープンフロープロトコルのクッキー(Cookie)である
付記17に記載の通信システム。
[付記19](仮想ネットワークデバイス)
当該仮想ポート部は、仮想ネットワークデバイスである
付記1〜12のいずれかに記載の通信システム。
[付記20](パケット)
当該パケットは、イーサネット(登録商標)フレーム、又はIP(インターネットプロトコル)パケットを含み、
当該ヘッダは、イーサネット(登録商標)ヘッダ、IPヘッダ、TCP及びUDP(User Datagram Protocol)ヘッダを含む
付記1〜12のいずれかに記載の通信システム。
<備考>
以上、本発明の実施形態を詳述した。但し、実際には、上記の実施形態に限られるものではない。本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
本出願は、2012年3月23日に出願された日本特願2012−068285号に基づき、その優先権を主張し、その全てを参照により組み込む。

Claims (42)

  1. パケットを転送するノード装置と、
    前記ノード装置によるパケットの転送処理を制御する制御装置と
    を具備し、
    前記制御装置は、仮想ポートを内部に有し、前記仮想ポートを用いて前記ノード装置から受信したパケットの転送処理を実行し、前記受信したパケットの転送先へ前記受信したパケットを出力する
    通信システム。
  2. 前記ノード装置は、インターフェースを介してネットワークに接続し、
    前記制御装置及び前記ノード装置は、制御チャネルを介して互いに接続されており、
    前記制御装置は、前記制御チャネルを介して、前記仮想ポートと前記インターフェースとの間の通信を行う
    請求項1に記載の通信システム。
  3. 前記制御装置は、前記仮想ポートと前記インターフェースとを対応付け、前記インターフェースから入力されたパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力されたパケットの出力先として前記インターフェースを特定する
    請求項2に記載の通信システム。
  4. 前記制御装置は、第1のパケットと前記仮想ポートとを対応付け、前記第1のパケットが入力された場合、前記入力された第1のパケットの出力先として前記仮想ポートを特定する
    請求項2に記載の通信システム。
  5. 前記制御装置は、第2のパケットと前記インターフェースとを対応付け、前記第2のパケットが入力された場合、前記入力された第2のパケットの出力先として前記インターフェースを特定する
    請求項2に記載の通信システム。
  6. 前記制御装置は、第3のパケットと前記仮想ポートと前記インターフェースとを対応付け、前記インターフェースから入力された前記第3のパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力された前記第3のパケットの出力先として前記インターフェースを特定する
    請求項2に記載の通信システム。
  7. 前記制御装置は、前記仮想ポートと前記ノード装置とを対応付け、前記ノード装置から入力されたパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力されたパケットの出力先として前記ノード装置を特定する
    請求項2に記載の通信システム。
  8. 前記制御装置は、第4のパケットと前記仮想ポートと前記ノード装置とを対応付け、前記ノード装置から入力された前記第4のパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力された前記第4のパケットの出力先として前記ノード装置を特定する
    請求項2に記載の通信システム。
  9. 前記ノード装置は、前記制御装置からパケットを処理するための処理規則の通知を受け、
    前記ノード装置は、前記通知された処理規則に従ってパケットを前記制御装置に転送する際、該転送するパケットに前記処理規則を示す情報を付与し、
    前記制御装置は、前記仮想ポートと前記処理規則とを対応付け、前記処理規則を示す情報が付与されたパケットが入力された場合、前記入力されたパケットの出力先として前記仮想ポートを特定する
    請求項2に記載の通信システム。
  10. 前記仮想ポートは、レイヤ2転送を行う処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記インターフェースでのレイヤ2転送を行う
    請求項2に記載の通信システム。
  11. 前記仮想ポートは、レイヤ3転送を行う処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記インターフェースでのレイヤ3転送を行う
    請求項2に記載の通信システム。
  12. 前記仮想ポートは、トンネリングを行う処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記インターフェースでのトンネリングを行う
    請求項2に記載の通信システム。
  13. 前記仮想ポートは、パケットの暗号化を行う処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記インターフェースでのパケットの暗号化を行う
    請求項2に記載の通信システム。
  14. 前記仮想ポートは、前記ノード装置に実装されていないプロトコルの処理を行う処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記インターフェースでの前記プロトコルの処理を実現する
    請求項2に記載の通信システム。
  15. 前記仮想ポートは、ネットワークサービスを提供する処理機構に接続されており、
    前記ノード装置は、前記仮想ポートを介して、前記ネットワークサービスを利用する
    請求項2に記載の通信システム。
  16. 仮想ポートと、
    ノード装置によるパケット転送処理を制御する制御部と
    を具備し、
    前記制御部は、前記仮想ポートを用いて前記ノード装置から受信したパケットの転送処理を実行し、前記受信したパケットの転送先へ前記受信したパケットを出力する
    制御装置。
  17. 前記ノード装置は、インターフェースを介してネットワークに接続されており、
    前記制御部と、前記ノード装置とは、制御チャネルを介して接続されており、
    前記制御部は、前記制御チャネルを介して、前記インターフェースと前記仮想ポートとの間の通信を行う
    請求項16に記載の制御装置。
  18. 前記制御部は、前記仮想ポートと前記インターフェースとを対応付け、前記インターフェースから入力されたパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力されたパケットの出力先として前記インターフェースを特定する
    請求項17に記載の制御装置。
  19. 前記制御部は、第1のパケットと前記仮想ポートとを対応付け、前記第1のパケットが入力された場合、前記入力された第1のパケットの出力先として前記仮想ポートを特定する
    請求項17に記載の制御装置。
  20. 前記制御部は、第2のパケットと前記インターフェースとを対応付け、前記第2のパケットが入力された場合、前記入力された第2のパケットの出力先として前記インターフェースを特定する
    請求項17に記載の制御装置。
  21. 前記制御部は、第3のパケットと前記仮想ポートと前記インターフェースとを対応付け、前記インターフェースから入力された前記第3のパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力された前記第3のパケットの出力先として前記インターフェースを特定する
    請求項17に記載の制御装置。
  22. 前記制御部は、前記仮想ポートと前記ノード装置とを対応付け、前記ノード装置から入力されたパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力されたパケットの出力先として前記ノード装置を特定する
    請求項17に記載の制御装置。
  23. 前記制御部は、第4のパケットと前記仮想ポートと前記ノード装置とを対応付け、前記ノード装置から入力された前記第4のパケットの出力先として前記仮想ポートを特定し、前記仮想ポートから入力された前記第4のパケットの出力先として前記ノード装置を特定する
    請求項17に記載の制御装置。
  24. 前記ノード装置は、パケットを処理するための処理規則を前記制御装置から通知され、
    前記ノード装置は、前記通知された処理規則に基づいてパケットを前記制御装置に転送する場合、前記処理規則を示す情報を前記転送するパケットに付与し、
    前記制御装置は、前記仮想ポートと前記処理規則とを対応付け、前記処理規則を示す前記情報が付与されたパケットが入力された場合、前記入力したパケットの出力先として前記仮想ポートを特定する
    請求項17に記載の制御装置。
  25. 制御装置によって実行される通信方法であって、
    前記制御装置は、ノード装置によるパケット転送処理を制御し、仮想ポートを具備し、
    前記通信方法は、
    前記仮想ポートを用いて、前記ノード装置から受信したパケットの転送処理を実行することと、
    前記受信したパケットの転送先へ前記受信したパケットを出力することと
    を含む
    通信方法。
  26. 前記ノード装置は、インターフェースを介してネットワークに接続されており、
    前記制御装置及び前記ノード装置は、制御チャネルを介して相互に接続されており、
    前記通信方法は、
    前記制御チャネルを介して、前記インターフェースと前記仮想ポートとの間の通信を行うこと
    を更に含む
    請求項25に記載の通信方法。
  27. 前記仮想ポートと前記インターフェースとを対応付けることと、
    前記インターフェースから入力されたパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力されたパケットの出力先として前記インターフェースを特定することと
    を更に含む
    請求項26に記載の通信方法。
  28. 第1のパケットと前記仮想ポートとを対応付けることと、
    前記第1のパケットが入力された場合、前記第1のパケットの出力先として前記仮想ポートを特定することと
    を更に含む
    請求項26に記載の通信方法。
  29. 第2のパケットと前記インターフェースとを対応付けることと、
    前記第2のパケットが入力された場合、前記第2のパケットの出力先として前記インターフェースを特定することと
    を更に含む
    請求項26に記載の通信方法。
  30. 第3のパケットと前記仮想ポートと前記インターフェースとを対応付けることと、
    前記インターフェースから入力された前記第3のパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力された前記第3のパケットの出力先として前記インターフェースを特定することと
    を更に含む
    請求項26に記載の通信方法。
  31. 前記仮想ポートと前記ノード装置とを対応付けることと、
    前記ノード装置から入力されたパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力されたパケットの出力先として前記ノード装置を特定することと
    を更に含む
    請求項26に記載の通信方法。
  32. 第4のパケットと前記仮想ポートと前記ノード装置とを対応付けることと、
    前記ノード装置から入力された前記第4のパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力された前記第4のパケットの出力先として前記ノード装置を特定することと
    を更に含む
    請求項26に記載の通信方法。
  33. 前記ノード装置は、パケットを処理するための処理規則を前記制御装置から通知され、
    前記通知された処理規則に基づいて前記制御装置にパケットを転送する場合、前記ノード装置は前記処理規則を示す情報を前記パケットに付与し、
    前記通信方法は、
    前記仮想ポートと前記処理規則とを対応付けることと、
    前記処理規則を示す前記情報が付与されたパケットが入力された場合、前記入力されたパケットの出力先として前記仮想ポートを特定することと
    を更に含む
    請求項26に記載の通信方法。
  34. 計算機で読み取り可能な媒体に記録されて、実行されることで制御装置に通信方法を実行させるためのプログラムであって、
    前記制御装置は、ノード装置によるパケット転送処理を制御し、仮想ポートを具備し、
    前記通信方法は、
    前記仮想ポートを用いて、前記ノード装置から受信したパケットの転送処理を実行することと、
    前記受信パケットの転送先へ前記受信したパケットを出力することと
    を含む
    プログラム。
  35. 前記ノード装置は、インターフェースを介してネットワークに接続されており、
    前記制御装置及び前記ノード装置は、制御チャネルを介して相互に接続されており、
    前記通信方法は、
    前記ノード装置と接続するための制御チャネルを用いて、前記ノード装置が有する前記インターフェースと前記仮想ポートとの間の通信を行うこと
    を更に含む
    請求項34に記載のプログラム。
  36. 前記通信方法は、
    前記仮想ポートと前記インターフェースとを対応付けることと、
    前記インターフェースから入力されたパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力されたパケットの出力先として前記インターフェースを特定することと
    を更に含む
    請求項35に記載のプログラム。
  37. 前記通信方法は、
    第1のパケットと前記仮想ポートとを対応付けることと、
    前記第1のパケットが入力された場合、出力先として前記仮想ポートを特定することと
    を更に含む
    請求項35に記載のプログラム。
  38. 前記通信方法は、
    第2のパケットと前記インターフェースとを対応付けることと、
    前記第2のパケットが入力された場合、出力先として前記インターフェースを特定することと
    を更に含む
    請求項35に記載のプログラム。
  39. 前記通信方法は、
    第3のパケットと前記仮想ポートと前記インターフェースとを対応付けることと、
    前記インターフェースから入力された前記第3のパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力された前記第3のパケットの出力先として前記インターフェースを特定することと
    を更に含む
    請求項35に記載のプログラム。
  40. 前記通信方法は、
    前記仮想ポートと前記ノード装置とを対応付けることと、
    前記ノード装置から入力されたパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力されたパケットの出力先として前記ノード装置を特定することと
    を更に含む
    請求項35に記載のプログラム。
  41. 前記通信方法は、
    第4のパケットと前記仮想ポートと前記ノード装置とを対応付けることと、
    前記ノード装置から入力された前記第4のパケットの出力先として前記仮想ポートを特定することと、
    前記仮想ポートから入力された前記第4のパケットの出力先として前記ノード装置を特定することと
    を更に含む
    請求項35に記載のプログラム。
  42. 前記ノード装置は、パケットを処理するための処理規則を前記制御装置から通知され、
    前記通知された処理規則に基づいて前記制御装置にパケットを転送する場合、前記ノード装置は前記処理規則を示す情報を前記パケットに付与し、
    前記通信方法は、
    前記仮想ポートと前記処理規則とを対応付けることと、
    前記処理規則を示す前記情報が付与されたパケットが入力された場合、前記入力されたパケットの出力先として前記仮想ポートを特定することと
    を更に含む
    請求項35に記載のプログラム。
JP2015501074A 2012-03-23 2013-03-19 通信システム、制御装置、通信方法、及びプログラム Pending JP2015511097A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015501074A JP2015511097A (ja) 2012-03-23 2013-03-19 通信システム、制御装置、通信方法、及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012068285 2012-03-23
JP2012068285 2012-03-23
JP2015501074A JP2015511097A (ja) 2012-03-23 2013-03-19 通信システム、制御装置、通信方法、及びプログラム
PCT/JP2013/001883 WO2013140796A1 (en) 2012-03-23 2013-03-19 Communication system, control device, communication method and program

Publications (1)

Publication Number Publication Date
JP2015511097A true JP2015511097A (ja) 2015-04-13

Family

ID=49222271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501074A Pending JP2015511097A (ja) 2012-03-23 2013-03-19 通信システム、制御装置、通信方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP2015511097A (ja)
WO (1) WO2013140796A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9755901B2 (en) 2014-01-21 2017-09-05 Huawei Technologies Co., Ltd. System and method for a software defined protocol network node

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011043379A1 (ja) * 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
JP2011166704A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及び経路情報更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011043379A1 (ja) * 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
JP2011166704A (ja) * 2010-02-15 2011-08-25 Nec Corp ネットワークシステム、及び経路情報更新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUNAY TRIPATHI: "How does Openflow and SDN help Virtualization/Cloud", SUNAY TRIPATHI'S BLOG, JPN6016026480, 2011, ISSN: 0003356019 *

Also Published As

Publication number Publication date
WO2013140796A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
JP5811253B2 (ja) ネットワークシステム、及びネットワーク管理方法
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
US9444743B2 (en) Network system, switch and connected terminal detection method
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
US9407577B2 (en) Communication control system, switch node and communication control method
US9515868B2 (en) System and method for communication
JP5477603B2 (ja) コンピュータシステム、及びコンピュータシステムにおける通信方法
JP5862706B2 (ja) ネットワークシステム、及びネットワークフロー追跡方法
WO2012133060A1 (ja) ネットワークシステム、及びvlanタグ情報取得方法
JPWO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
JPWO2012165446A1 (ja) 通信経路制御システム、及び通信経路制御方法
JPWO2012121098A1 (ja) ネットワークシステム、パケット処理方法、及び記憶媒体
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP6160101B2 (ja) 通信装置、制御装置、通信システム、制御メッセージの送信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170118