(57)【要約】  通信システムが、第１のネットワークに配置された第１のノード装置と、第１のノード装置を制御する第１の制御装置と、第２のネットワークに配置され、第１のノード装置に接続する第２のノード装置と、前記第２のノード装置を制御する第２の制御装置とを含む。第１の制御装置は、第１の制御装置と第２の制御装置との間で送受信するパケットを処理するための処理規則を第１のノード装置に設定する。第２の制御装置は、該パケットを処理するための処理規則を第２のノード装置に設定する。第１の制御装置と第２の制御装置とは、少なくとも第１のノード装置及び第２のノード装置を介して、互いに該パケットを送受信する。
2015511074.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークに配置された第１のノード装置と、
前記第１のノード装置を制御する第１の制御装置と、
第２のネットワークに配置され、前記第１のノード装置に接続する第２のノード装置と、
前記第２のノード装置を制御する第２の制御装置と
を含み、
前記第１の制御装置は、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを処理するための処理規則を前記第１のノード装置に設定し、
前記第２の制御装置は、前記パケットを処理するための処理規則を前記第２のノード装置に設定し、
前記第１の制御装置と前記第２の制御装置とは、少なくとも前記第１のノード装置及び前記第２のノード装置を介して、互いに前記パケットを送受信する
通信システム。
【請求項２】
前記第１のノード装置は、前記第２の制御装置からのパケットを処理するための処理規則を、前記第１の制御装置に要求し、
前記第１の制御装置は、前記第１のノード装置の前記要求に応じて、前記第１のノード装置を他のネットワークとの境界にあるノード装置として特定し、
前記第２のノード装置は、前記第１の制御装置からのパケットを処理するための処理規則を、前記第２の制御装置に要求し、
前記第２のノード装置は、前記第１の制御装置からのパケットを処理するための処理規則を、前記第２の制御装置に要求し、
前記第２の制御装置は、前記第２のノード装置の前記要求に応じて、前記第２のノード装置を他のネットワークとの境界にあるノード装置として特定する
請求項１に記載の通信システム。
【請求項３】
前記第１の制御装置は、前記第２の制御装置の識別子を含む前記第２の制御装置からのパケットに基づいて、前記第１のノード装置を前記第２の制御装置が管理するネットワークとの境界にあるノード装置と特定し、
前記第２の制御装置は、前記第１の制御装置の識別子を含む前記第１の制御装置からのパケットに基づいて、前記第２のノード装置を前記第１の制御装置が管理するネットワークとの境界にあるノード装置と特定する
請求項２に記載の通信システム。
【請求項４】
前記第１の制御装置は、前記第１の制御装置によって制御されるノード装置の接続に関する情報を収集するためのパケットを送信し、前記第２の制御装置によって制御されるノード装置の接続に関する情報を前記第２の制御装置が収集するためのパケットを前記第２の制御装置から受信し、
前記第２の制御装置は、前記第２の制御装置によって制御されるノード装置の接続に関する情報を収集するためのパケットを送信し、前記第１の制御装置によって制御されるノード装置の接続に関する情報を前記第１の制御装置が収集するためのパケットを前記第１の制御装置から受信する
請求項２又は３に記載の通信システム。
【請求項５】
前記第１の制御装置と前記第２の制御装置とは、少なくとも前記第１のノード装置及び前記第２のノード装置を介して、互いに、前記第１の制御装置と前記第２の制御装置との通信に使用するパケットに関する情報を通知する
請求項１乃至４のいずれか一項に記載の通信システム。
【請求項６】
前記第１の制御装置は、更に、第１データ通信リンクを介して前記第１のノード装置に接続され、
前記第１の制御装置は、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第１データ通信リンクを介して前記第１のノード装置との間で送受信し、
前記第２の制御装置は、更に、第２データ通信リンクを介して前記第２のノード装置に接続され、
前記第２の制御装置は、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第２データ通信リンクを介して前記第２のノード装置との間で送受信する
請求項１乃至５のいずれか一項に記載の通信システム。
【請求項７】
前記第１の制御装置は、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第１のノード装置との間に確立した制御チャネルを介して、前記第１のノード装置との間で送受信し、
前記第２の制御装置は、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第２のノード装置との間に確立した制御チャネルを介して、前記第２のノード装置との間で送受信する
請求項１乃至６のいずれか一項に記載の通信システム。
【請求項８】
前記第１の制御装置は、前記第１のノード装置に対して、前記第１の制御装置から前記第２の制御装置宛のパケットを転送するための処理規則を設定し、
前記第１のノード装置は、前記第１の制御装置から設定された処理規則にしたがって、前記第１の制御装置から前記第２の制御装置宛のパケットを前記第２のノード装置に転送し、
前記第２の制御装置は、前記第２のノード装置に対して、前記第２の制御装置から前記第１の制御装置宛のパケットを転送するための処理規則を設定し、
前記第２のノード装置は、前記第２の制御装置から設定された処理規則にしたがって、前記第２の制御装置から前記第１の制御装置宛のパケットを前記第１のノード装置に転送する
請求項１乃至７のいずれか一項に記載の通信システム。
【請求項９】
前記第１の制御装置は、前記第１のノード装置に対して、前記第２の制御装置から前記第１の制御装置へのパケットを受信した際に該パケットを前記第１の制御装置に転送するための処理規則を設定し、
前記第１のノード装置は、前記第２のノード装置から受信したパケットが、前記第２の制御装置から前記第１の制御装置へのパケットである場合、前記第１の制御装置から設定された処理規則にしたがって、受信パケットを前記第１の制御装置に転送し、
前記第２の制御装置は、前記第２のノード装置に対して、前記第１の制御装置から前記第２の制御装置へのパケットを受信した際に該パケットを前記第２の制御装置に転送するための処理規則を設定し、
前記第２のノード装置は、前記第１のノード装置から受信したパケットが、前記第１の制御装置から前記第２の制御装置へのパケットである場合、前記第２の制御装置から設定された処理規則にしたがって、受信パケットを前記第２の制御装置に転送する
請求項１乃至８のいずれか一項に記載の通信システム。
【請求項１０】
前記第１の制御装置は、前記第１の制御装置内の仮想ポートと前記第１のノード装置のインターフェースとのそれぞれを対応付けた第１の振分規則を保持し、前記第１の振分規則にしたがって、入力されたパケットを、前記第１の制御装置内の仮想ポートと前記第１のノード装置のインターフェースとのいずれかに振り分け、
前記第２の制御装置は、前記第２の制御装置内の仮想ポートと前記第２のノード装置のインターフェースとのそれぞれを対応付けた第２の振分規則を保持し、前記第２の振分規則にしたがって、入力されたパケットを、前記第２の制御装置内の仮想ポートと前記第２のノード装置のインターフェースとのいずれかに振り分ける
請求項１乃至９のいずれか一項に記載の通信システム。
【請求項１１】
前記第１の制御装置内の仮想ポートから第１入力パケットが入力された場合、前記第１の制御装置は、前記第１の振分規則にしたがって、前記第１入力パケットと、前記第１入力パケットを前記第１のノード装置のインターフェースから出力する旨の指示とを前記第１のノード装置に対して出力し、
前記第１のノード装置のインターフェースから第２入力パケットが入力された場合、前記第１の制御装置は、前記第１の振分規則にしたがって、前記第２入力パケットを前記第１の制御装置内の仮想ポートに出力し、
前記第２の制御装置は、前記第２の制御装置内の仮想ポートから第３入力パケットが入力された場合、前記第２の振分規則にしたがって、前記第３入力パケットと、前記第３入力パケットを前記第２のノード装置のインターフェースから出力する旨の指示とを前記第２のノード装置に対して出力し、
前記第２の制御装置は、前記第２のノード装置のインターフェースから第４入力パケットが入力された場合、前記第２の振分規則にしたがって、前記第４入力パケットを前記第２の制御装置内の仮想ポートに出力する
請求項１０に記載の通信システム。
【請求項１２】
請求項１乃至１１のいずれか一項に記載の通信システムにおいて、第１の制御装置と第２の制御装置のいずれかとして使用される情報処理装置。
【請求項１３】
請求項１乃至１１のいずれか一項に記載の通信システムにおいて、第１のノード装置と第２のノード装置のいずれかとして使用される通信装置。
【請求項１４】
第１のネットワークに配置された第１のノード装置を制御する第１の制御装置により、前記第１の制御装置と第２のネットワークに配置された第２のノード装置を制御する第２の制御装置との間で送受信するパケットを処理するための処理規則を前記第１のノード装置に設定するステップと、
前記第２の制御装置により、前記パケットを処理するための処理規則を前記第２のノード装置に設定するステップと、
前記第１のノード装置と前記第２のノード装置との間の接続を確立するステップと、
前記第１の制御装置と前記第２の制御装置の間で、少なくとも前記第１のノード装置及び前記第２のノード装置を介して、互いにパケットを送受信するステップと
を含む
通信方法。
【請求項１５】
前記第１のノード装置が、前記第２の制御装置からのパケットを処理するための処理規則を、前記第１の制御装置に要求するステップと、
前記第１の制御装置が、前記第１のノード装置の前記要求に応じて、前記第１のノード装置を他のネットワークとの境界にあるノード装置として特定するステップと、
前記第２のノード装置が、前記第１の制御装置からのパケットを処理するための処理規則を、前記第２の制御装置に要求するステップと、
前記第２の制御装置が、前記第２のノード装置の前記要求に応じて、前記第２のノード装置を他のネットワークとの境界にあるノード装置として特定するステップと
を更に含む
請求項１４に記載の通信方法。
【請求項１６】
前記第１の制御装置が、前記第２の制御装置の識別子を含む前記第２の制御装置からのパケットに基づいて、前記第１のノード装置を前記第２の制御装置が管理するネットワークとの境界にあるノード装置と特定するステップと、
前記第２の制御装置が、前記第１の制御装置の識別子を含む前記第１の制御装置からのパケットに基づいて、前記第２のノード装置を前記第１の制御装置が管理するネットワークとの境界にあるノード装置と特定するステップと
を更に含む
請求項１５に記載の通信方法。
【請求項１７】
前記第１の制御装置が、前記第１の制御装置によって制御されるノード装置の接続に関する情報を収集するためのパケットを送信するステップと、
前記第２の制御装置が、前記第２の制御装置によって制御されるノード装置の接続に関する情報を収集するためのパケットを送信するステップと、
前記第１の制御装置が、前記第２の制御装置によって制御されるノード装置の接続に関する情報を前記第２の制御装置が収集するためのパケットを前記第２の制御装置から受信するステップと、
前記第２の制御装置が、前記第１の制御装置によって制御されるノード装置の構成に関する情報を前記第１の制御装置が収集するためのパケットを前記第１の制御装置から受信するステップと
を更に含む
請求項１５又は１６に記載の通信方法。
【請求項１８】
前記第１の制御装置と前記第２の制御装置とが、少なくとも前記第１のノード装置及び前記第２のノード装置を介して、互いに、前記第１の制御装置と前記第２の制御装置との通信に使用するパケットに関する情報を送受信する
請求項１４乃至１７のいずれか一項に記載の通信方法。
【請求項１９】
前記第１の制御装置が、更に、第１データ通信リンクを介して前記第１のノード装置に接続し、
前記第２の制御装置が、更に、第２データ通信リンクを介して前記第２のノード装置に接続し、
当該方法が、更に、
前記第１の制御装置が、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、データ通信用のリンクを介して、前記第１のノード装置との間で送受信するステップと、
前記第２の制御装置が、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、データ通信用のリンクを介して、前記第２のノード装置との間で送受信するステップと
を更に含む
請求項１４乃至１８のいずれか一項に記載の通信方法。
【請求項２０】
前記第１の制御装置が、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第１のノード装置との間に確立した制御チャネルを介して、前記第１のノード装置との間で送受信するステップと、
前記第２の制御装置が、前記第１の制御装置と前記第２の制御装置との間で送受信するパケットを、前記第２のノード装置との間に確立した制御チャネルを介して、前記第２のノード装置との間で送受信するステップと
を更に含む
請求項１４乃至１９のいずれか一項に記載の通信方法。
【請求項２１】
前記第１の制御装置が、前記第１のノード装置に対して、前記第１の制御装置から前記第２の制御装置宛のパケットを前記第２のノード装置に転送するための処理規則を設定するステップと、
前記第１のノード装置が、前記第１の制御装置から設定された処理規則にしたがって、前記第１の制御装置から前記第２の制御装置宛のパケットを前記第２のノード装置に転送するステップと、
前記第２の制御装置が、前記第２のノード装置に対して、前記第２の制御装置から前記第１の制御装置宛のパケットを前記第１のノード装置に転送するための処理規則を設定するステップと、
前記第２のノード装置が、前記第２の制御装置から設定された処理規則にしたがって、前記第２の制御装置から前記第１の制御装置宛のパケットを前記第１のノード装置に転送するステップと
を更に含む
請求項１４乃至２０のいずれか一項に記載の通信方法。
【請求項２２】
前記第１の制御装置が、前記第２の制御装置から前記第１の制御装置に転送されるパケットを前記第１の制御装置に転送するための処理規則を前記第１のノード装置に設定するステップと、
前記第１のノード装置が、前記第２のノード装置から受信した第１受信パケットが、前記第２の制御装置から前記第１の制御装置へのパケットである場合、前記第１の制御装置から設定された処理規則にしたがって、前記第１受信パケットを前記第１の制御装置に転送するステップと、
前記第２の制御装置が、前記第１の制御装置から前記第２の制御装置に転送されるパケットを前記第２の制御装置に転送するための処理規則を前記第２のノード装置に設定するステップと、
前記第２のノード装置が、前記第１のノード装置から受信した第２受信パケットが、前記第１の制御装置から前記第２の制御装置へのパケットである場合、前記第２の制御装置から設定された処理規則にしたがって、前記第２受信パケットを前記第２の制御装置に転送するステップと
を更に含む
請求項１４乃至２１のいずれか一項に記載の通信方法。
【請求項２３】
前記第１の制御装置が、前記第１の制御装置内の仮想ポートと前記第１のノード装置のインターフェースとのそれぞれを対応付けた第１の振分規則を保持するステップと、
前記第１の制御装置が、前記第１の振分規則にしたがって、入力されたパケットを、前記第１の制御装置内の仮想ポートと前記第１のノード装置のインターフェースとのいずれかに振り分けるステップと、
前記第２の制御装置が、前記第２の制御装置内の仮想ポートと前記第２のノード装置のインターフェースとのそれぞれを対応付けた第２の振分規則を保持するステップと、
前記第２の制御装置が、前記第２の振分規則にしたがって、入力されたパケットを、前記第２の制御装置内の仮想ポートと前記第２のノード装置のインターフェースとのいずれかに振り分けるステップと
を更に含む
請求項１４乃至２２のいずれか一項に記載の通信方法。
【請求項２４】
前記第１の制御装置内の仮想ポートから第１入力パケットが入力された場合、前記第１の制御装置によって、前記第１の振分規則にしたがって、前記第１入力パケットと、第１入力パケットを前記第１のノード装置のインターフェースから出力する旨の指示とを前記第１のノード装置に出力するステップと、
前記第１のノード装置のインターフェースから第２入力パケットが入力された場合、前記第１の制御装置によって、前記第１の振分規則にしたがって、前記第２入力パケットを前記第１の制御装置内の仮想ポートに出力するステップと、
前記第２の制御装置内の仮想ポートから第３入力パケットが入力された場合、前記第２の制御装置によって、前記第２の振分規則にしたがって、前記第３入力パケットと、前記第３入力パケットを前記第２のノード装置のインターフェースから出力する旨の指示とを前記第２のノード装置に出力するステップと、
前記第２のノード装置のインターフェースから第４入力パケットが入力された場合、前記第２の振分規則にしたがって、前記第４入力パケットを前記第２の制御装置内の仮想ポートに出力するステップと
を更に含む
請求項２３に記載の通信方法。
【請求項２５】
実行されたときに、請求項１４乃至２４のいずれか一項に記載の通信方法における第１の制御装置及び第２の制御装置のいずれかの動作を、情報処理装置に実行させるためのプログラムを記録した非一時的記録媒体。
【請求項２６】
実行されたときに、請求項１４乃至２４のいずれか一項に記載の通信方法における第１のノード装置及び第２のノード装置のいずれかの動作を、通信装置に実行させるためのプログラムを記録した非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関し、特に制御装置がネットワーク機器のパケット転送を制御する集中管理で管理される通信システムに関する。
【背景技術】
【０００２】
従来のネットワーク機器の一つの問題は、外部制御によって負荷分散や片寄等、柔軟性に富んだ負荷制御、例えば、負荷分散や負荷集中ができないということである。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。
【０００３】
こうした課題を解決するための手法の一つは、従来はネットワーク機器で行われてきたパケット転送機能と経路制御機能を分離することである。例えば、パケット転送機能をネットワーク機器、制御機能をネットワーク機器の外部に分離した制御装置が担当するシステムでは、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる。
【０００４】
（ＣＤ分離型ネットワーク）
機能を分離したネットワークの１つは、コントロールプレーンで動作する制御装置がデータプレーンで動作するノード装置を制御するＣＤ分離型ネットワーク（Ｃはコントロールプレーンを表し、Ｄは、データプレーンを表す）である。
【０００５】
ＣＤ分離型ネットワークの一例として、ネットワークの経路制御がコントローラからスイッチを制御することで行われるオープンフロー（OpenFlow）技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献１、非特許文献２に記載されている。なお、オープンフローネットワークは一例に過ぎない。
【０００６】
（オープンフローネットワーク）
オープンフローネットワークでは、オープンフローコントローラ（ＯＦＣ：OpenFlow Controller）等の制御装置が、オープンフロースイッチ（ＯＦＳ：OpenFlow Switch）等のようなノード装置の経路制御を記述した経路制御情報（又はフローテーブル）を操作することにより、ノード装置の挙動を制御する。
【０００７】
制御装置とノード装置とは、専用線やＳＳＬ（Secure Socket Layer）を用いることにより保護された通信路である「セキュアチャネル」と呼ばれる制御チャネル（制御用の通信チャネル）により接続されている。制御装置とノード装置とは、制御チャネルを介して、オープンフロープロトコル（OpenFlow Protocol）に則ったオープンフローメッセージを送受信する。
【０００８】
オープンフローネットワークにおいては、各ノード装置は、オープンフローネットワークに配置され、制御装置の制御下にある。なお、各ノード装置は、エッジスイッチ又はコアスイッチであってもよい。オープンフローネットワークにおける入口側エッジスイッチでのパケットの受信から出口側エッジスイッチでの送信までのパケットの一連の流れを「フロー」と呼ぶ。オープンフローネットワークでは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
【０００９】
なお、フレームは、パケットの代替物とみなしても良い。パケットとフレームの違いは、プロトコルデータ単位（ＰＤＵ）の違いに過ぎない。パケットは、ＴＣＰ／ＩＰ（transmission control protocol / internet protocol）のＰＤＵである。一方、フレームは、「イーサネット（登録商標）」のＰＤＵである。
【００１０】
経路制御情報（又はフローテーブル）は、フローとして扱うパケットを特定するための判別条件（判別ルール）と、パケットが判別条件（判別ルール）に適合又はマッチした回数を示す統計情報と、パケットに対して行うべき処理内容（又はアクション）の組を定義した処理規則（フローエントリ）の集合である。
【００１１】
各処理規則（又は各フローエントリ）の判別条件（判別ルール）は、パケットのヘッダ領域（又はヘッダフィールド）に含まれる各プロトコル階層のデータのいずれか又は全てを用いた様々な組み合わせにより定義され、これらのデータを用いて互いに区別可能である。各プロトコル階層の情報の例として、送信先アドレス（Destination Address）、送信元アドレス（Source Address）、送信先ポート（Destination Port）、送信元ポート（Source Port）等が考えられる。なお、上記のアドレスには、ＭＡＣアドレス（Media Access Control Address）やＩＰアドレス（Internet Protocol Address）を含むものとする。また、入口ポートの情報も、処理規則（フローエントリ）の判別条件（判別ルール）として使用してもよい。また、処理規則（フローエントリ）の判別条件（判別ルール）として、フローとして扱うパケットのヘッダ領域の値の一部又は全部を、正規表現やワイルドカード「＊」等で表現した形式で設定することもできる。
【００１２】
処理規則（フローエントリ）の処理内容（又はアクション）は、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、処理規則（フローエントリ）の処理内容（又はアクション）が出力ポートの識別情報（出力ポート番号等）を示していれば、ノード装置は、これに該当するポートにパケットを出力し、そうでなければ、パケットを廃棄する。或いは、処理規則（フローエントリ）の処理内容（又はアクション）がヘッダ情報を示していれば、ノード装置は、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
【００１３】
オープンフローネットワークにおけるノード装置は、処理規則（フローエントリ）の判別条件（判別ルール）に適合するパケット群（パケット系列）に対して、処理規則（フローエントリ）の処理内容（又はアクション）を実行する。
【００１４】
例えば、オープンフローネットワークにおけるノード装置に相当するオープンフロースイッチ（ＯＦＳ）は、パケットを受信すると、経路制御情報（又はフローテーブル）から、受信パケットのヘッダ情報に適合する判別条件（判別ルール）に対応づけられた処理規則（フローエントリ）を検索する。検索の結果、受信パケットに適合する処理規則（フローエントリ）が見つかった場合、受信パケットに対して、当該処理規則（フローエントリ）のアクションフィールドに記述された処理内容（アクション）を実施する。一方、検索の結果、受信パケットに適合する処理規則（フローエントリ）が見つからなかった場合、当該受信パケットを最初のパケット（first packet）と判断する。この場合、制御チャネルを介して、オープンフローネットワークにおける制御装置に相当するオープンフローコントローラ（ＯＦＣ）に対して当該受信パケットの問い合わせ情報を送信し、受信パケットの送信元及び送信先に基づいたパケットの経路の決定を要求する。更に、決定された経路でのパケット転送を実現する処理規則（フローエントリ）を受け取って経路制御情報（又はフローテーブル）を更新する。
【００１５】
なお、経路制御情報（又はフローテーブル）には、低い優先度で、全てのパケットのヘッダ情報に適合するように定義された判別条件（判別ルール）を持つ初期状態の処理規則（又はデフォルトエントリ）が登録されている。受信パケットに適合する処理規則（フローエントリ）が他に見つからなかった場合、受信パケットは、この初期状態の処理規則（又はデフォルトエントリ）に適合する。初期状態の処理規則（又はデフォルトエントリ）の処理内容（又はアクション）は、オープンフローコントローラ（ＯＦＣ）への当該受信パケットの問い合わせ情報の送信を指示するように定義されている。
【００１６】
前述のように、オープンフロースイッチ（ＯＦＳ）は、オープンフローコントローラ（ＯＦＣ）によって設定された処理規則（フローエントリ）の設定によってパケットの処理方法を決定する。特に、指定されたインターフェースへパケットを出力する「ＯＵＴＰＵＴ」が処理方法として多用される。ただし、指定されるインターフェースは物理的なインターフェースに限らない。すなわち、指定されるインターフェースは、物理ポートに限らず、仮想ポートでも良い。
【００１７】
このように、オープンフローネットワークでは、オープンフローコントローラ（ＯＦＣ）によるオープンフロースイッチ（ＯＦＳ）の集中制御によってパケットの制御が実現される。一つの問題は、１台のオープンフローコントローラ（ＯＦＣ）で制御できるオープンフロースイッチ（ＯＦＳ）の台数には制限があることである。したがって、ネットワークの規模が増大すると、オープンフロースイッチ（ＯＦＳ）の台数が増え、オープンフローコントローラ（ＯＦＣ）における処理規則（フローエントリ）の計算等の処理がネットワーク品質のボトルネックになる可能性がある。
【００１８】
これに対処する一つの方策は、ネットワークの規模を増大させる場合に、１台のオープンフローコントローラ（ＯＦＣ）と、それに制御される複数のオープンフロースイッチ（ＯＦＳ）で構成されるオープンフローネットワークを複数接続することかもしれない。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎ他７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４年０１月２３日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ）
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ”、［ｏｎｌｉｎｅ］、［平成２４年０２月２８日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ）
【発明の概要】
【００２０】
オープンフローネットワークのような集中管理で管理されたネットワークを相互接続する際、複数のネットワークを跨るトラフィックを制御するためには、異なる制御装置間で経路制御に関する情報の交換・共有が行う必要がある。このための一つの方策は、異なる制御装置間で経路制御に関する情報を交換・共有するために、ＯＳＰＦ（open shortest path first）やＢＧＰ（border gateway protocol）のような既存のルーティングプロトコルや他のデータ共有プロトコルを利用することかもしれない。
【００２１】
しかしながら、これらのプロトコルを利用して制御装置間で経路制御に関する情報を交換するためには、隣接する制御装置間で接続を確立する必要がある。
【００２２】
本発明の一の観点では、通信システムが、第１のネットワークに配置された第１のノード装置と、第１のノード装置を制御する第１の制御装置と、第２のネットワークに配置され、第１のノード装置に接続する第２のノード装置と、第２のノード装置を制御する第２の制御装置とを含む。第１の制御装置は、第１の制御装置と第２の制御装置との間で送受信するパケットを処理するための処理規則を第１のノード装置に設定する。第２の制御装置は、パケットを処理するための処理規則を第２のノード装置に設定する。第１の制御装置と第２の制御装置とは、少なくとも第１のノード装置及び第２のノード装置を介して、互いにパケットを送受信する。
【００２３】
本発明の他の観点では、通信方法が、第１のネットワークに配置された第１のノード装置を制御する第１の制御装置により、第１の制御装置と、第２のネットワークに配置された第２のノード装置を制御する第２の制御装置との間で送受信するパケットを処理するための処理規則を第１のノード装置に設定するステップと、第２の制御装置により、パケットを処理するための処理規則を第２のノード装置に設定するステップと、第１のノード装置と第２のノード装置との間で接続を確立するステップと、第１の制御装置と第２の制御装置との間で、少なくとも第１のノード装置及び第２のノード装置を介して、パケットを送受信するステップとを含む。
【００２４】
本発明の他の観点では、演算装置又はネットワークデバイスに、上記の通信方法における各デバイスの動作を実行させるためのプログラムが提供される。該プログラムは、記憶装置又は非一時的記憶媒体に格納されてもよい。
【００２５】
本発明は、隣接するネットワークの制御装置間の通信接続を確立することを可能にする。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明に係る通信システムの構成例を示す。
【図２】図２は、第１実施形態に係るシステム構成例を示す。
【図３】図３は、制御装置の構成例を示す。
【図４】図４は、ノード装置の構成例を示す
【図５】図５は、第１実施形態に係るＬＬＤＰフレームの構成例を示す図である。
【図６Ａ】図６Ａは、第１ネットワークに対して定義された処理規則の内容例を示す。
【図６Ｂ】図６Ｂは、第２ネットワークに対して定義された処理規則の内容例を示す。
【図７】図７は、第２実施形態に係るＬＬＤＰフレームの構成例を示す。
【図８】図８は、第３実施形態に係る制御装置の構成例を示す。
【図９Ａ】図９Ａは、第１ネットワークの制御装置に対して定義された振分規則の内容例を示す。
【図９Ｂ】図９Ｂは、第２ネットワークの制御装置に対して定義された振分規則の内容例を示す。
【図１０Ａ】図１０Ａは、第４実施形態に係る通信システムの第１ネットワーク１の構成例を示す。
【図１０Ｂ】図１０Ｂは、第４実施形態に係る通信システムの第２ネットワークの構成例を示す図である。
【図１１Ａ】図１１Ａは、第１ネットワークの制御装置に対して定義された振分規則の構成例を示す。
【図１１Ｂ】図１１Ｂは、第２ネットワークの制御装置に対して定義された振分規則の構成例を示す。
【図１２】図１２は、本発明による制御装置のハードウェア構成例を示す。
【図１３】図１３は、本発明によるノード装置のハードウェア構成例を示す。
【発明を実施するための形態】
【００２７】
以下では、本発明の実施形態を、集中管理によって管理されるネットワークの一種であるオープンフローネットワークが用いられている例を用いて説明する。但し、本発明は、オープンフローネットワークが用いられる通信システムに限定されない。
【００２８】
＜実施形態＞
以下では、本発明の実施形態を、添付図面を参照して説明する。
【００２９】
＜システム構成＞
まず、図１を参照して、本発明の一実施形態における通信システムの構成例について説明する。
【００３０】
一実施形態においては、通信システムが、制御装置１０とノード装置２０とを含む。
【００３１】
制御装置１０は、ノード装置２０を制御する情報処理装置である。
【００３２】
ノード装置２０は、ネットワークに配置された通信装置である。
【００３３】
制御装置１０とノード装置２０とは、制御チャネルを介して接続されている。制御装置１０とノード装置２０は、制御チャネルを経由し、オープンフロープロトコルにおいて定義されたオープンフローメッセージを用いて互いに通信する。
【００３４】
また、各ノード装置２０は、ＬＡＮ（Local Area Network）等のデータ通信リンクを介して、隣接するノード装置２０に接続されている。更に、エッジスイッチとして動作するノード装置２０は、ホスト（クライアント、サーバー等）、或いは、自身が配置されたネットワークに属しない外部のネットワーク機器と接続可能である。
【００３５】
なお、制御装置１０及びノード装置２０は、物理マシンに限定されない。制御装置１０及びノード装置２０は、バーチャルマシン（ＶＭ）であってもよい。
【００３６】
図１では、制御装置１０の例として、制御装置１０−１、１０−２を示している。また、図１は、ノード装置２０の例として、ノード装置２０−１〜２０−６を示している。
【００３７】
制御装置１０−１は、制御チャネルを介して、ノード装置２０−１〜２０−３の各々に接続されている。
【００３８】
制御装置１０−２は、制御チャネルを介して、ノード装置２０−４〜２０−６の各々に接続されている。
【００３９】
ノード装置２０−１〜２０−６は、それぞれ、一つ以上のＬＡＮ等のデータ通信リンクを介して、一つ以上の隣接するノード装置に接続されている。
【００４０】
本実施形態では、ノード装置２０−１は、データ通信リンクを介して、ノード装置２０−２に接続されている。ノード装置２０−２は、データ通信リンクを介して、ノード装置２０−３に接続されている。ノード装置２０−３は、データ通信リンクを介して、ノード装置２０−４に接続されている。ノード装置２０−４は、データ通信リンクを介して、ノード装置２０−５に接続されている。ノード装置２０−５は、データ通信リンクを介して、ノード装置２０−６に接続されている。
【００４１】
ノード装置２０−１〜２０−３は、ネットワーク１に配置されている。すなわち、ノード装置２０−１〜２０−３の各々は、ネットワーク１に配置されている。
【００４２】
ノード装置２０−４〜２０−６は、ネットワーク２に配置されている。すなわち、ノード装置２０−４〜２０−６の各々は、ネットワーク２に配置されている。
【００４３】
したがって、ネットワーク１とネットワーク２は、ノード装置２０−３とノード装置２０−４を結ぶデータ通信リンクを介して接続されている。
【００４４】
なお、制御チャネル及びデータ通信リンクは、有線通信リンクでも無線通信リンクでも良い。
【００４５】
（制御装置及びノード装置の識別情報）
本実施形態では、制御装置１０−１は、自身の識別情報として、制御装置ＩＤ「ＣＰＩＤ１」が割り当てられている。制御装置１０−２は、自身の識別情報として、制御装置ＩＤ「ＣＰＩＤ２」が割り当てられている。ノード装置２０−１は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ１」が割り当てられている。ノード装置２０−２は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ２」が割り当てられている。ノード装置２０−３は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ３」が割り当てられている。ノード装置２０−４は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ４」が割り当てられている。ノード装置２０−５は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ５」が割り当てられている。ノード装置２０−６は、自身の識別情報として、ノード装置ＩＤ「ＤＰＩＤ６」が割り当てられている。
【００４６】
＜第１実施形態＞
以下、本発明の第１実施形態について説明する。
【００４７】
本実施形態では、制御装置１０は、それぞれ、ノード装置２０間の接続と同様に、データ通信リンクを介して、ノード装置２０に接続されている。すなわち、制御装置１０は、いずれかのノード装置２０に接続された「ホスト」としても動作してもよい。
【００４８】
（第１実施形態におけるシステム構成）
以下では、図２を参照して、本実施形態の通信システムの構成例について説明する。
【００４９】
本実施形態では、制御装置１０−１は、更に、データ通信リンクを介して、ノード装置２０−１に接続されている。なお、実際の実施においては、制御装置１０−１は、ノード装置２０−１と、トンネリング等で論理的に接続されていても良い。
【００５０】
同様に、制御装置１０−２は、更に、データ通信リンクを介して、ノード装置２０−６と接続されている。なお、実際の実施において、制御装置１０−２は、ノード装置２０−６と、トンネリング等で論理的に接続されていても良い。
【００５１】
但し、システム構成は、上記の実施形態に限定されない。
【００５２】
（制御装置の構成）
図３を参照して、制御装置１０の構成例について説明する。この構成例は、制御装置１０−１と制御装置１０−２の双方に共通である。
【００５３】
各制御装置１０は、ノード装置制御部１１と、インターフェース管理部１５を備える。
【００５４】
ノード装置制御部１１は、制御チャネルを介して、ノード装置２０の制御を行う。例えば、ノード装置制御部１１は、オープンフローネットワークにおけるオープンフローコントローラ（ＯＦＣ）として動作することを可能にするソフトウェアを実行する。ここでは、ノード装置制御部１１は、制御チャネルを介して、ノード装置２０の各々に設けられているインターフェース部の把握・管理を行い、ノード装置２０に対して、インターフェース部で送受信されるパケットの処理規則（フローエントリ）の指定を行う。パケットの処理規則（フローエントリ）の内容の一例としては、インターフェース部での受信した各パケットの特徴に基づいて指定したインターフェース部／ノード装置制御部１１への出力を行う旨の指示や、ノード装置制御部１１で生成したパケットを受信した際に指定したインターフェース部に出力する旨の指示等が考えられる。
【００５５】
インターフェース管理部１５は、制御装置１０内のネットワークインターフェースを管理する。本実施形態では、インターフェース管理部１５は、制御装置１０内のネットワークインターフェースに接続されたデータ通信用リンクを介して、いずれかのノード装置２０内のネットワークインターフェースに接続することに対応している。
【００５６】
本実施形態では、ノード装置制御部１１は、インターフェース管理部１５に接続されている。したがって、ノード装置制御部１１は、インターフェース管理部１５を介して、いずれかのノード装置２０と通信することができる。
【００５７】
（ノード装置制御部の構成）
次に、ノード装置制御部１１の構成例について説明する。
【００５８】
ノード装置制御部１１は、トポロジ管理部１１１と、制御メッセージ処理部１１２と、ノード通信部１１３と、隣接発見部１１４と、判別条件計算部１１５と、経路計算部１１６と、処理規則計算部１１７と、処理規則管理部１１８と、処理規則保持部１１９を備える。
【００５９】
トポロジ管理部１１１は、ネットワークのトポロジ情報と自信のネットワークの境界情報を管理する。トポロジ管理部１１１は、インターフェース管理部１５に接続されている。
【００６０】
制御メッセージ処理部１１２は、ノード装置２０について行われるべき制御に従った制御メッセージを生成する処理を行う。また、制御メッセージ処理部１１２は、ノード装置２０から受け取った制御メッセージを解析する。
【００６１】
ノード通信部１１３は、制御チャネルを介してノード装置２０に接続し、ノード装置２０と通信する。ノード通信部１１３は、制御メッセージ処理部１１２からの制御メッセージの送信要求に応じて、制御メッセージをノード装置２０に送信する。また、ノード通信部１１３は、ノード装置２０から受信した制御メッセージを制御メッセージ処理部１１２に転送する。
【００６２】
隣接発見部１１４は、他のネットワークとの境界にあるノード装置２０、及び、該他のネットワークの制御装置１０を発見する。
【００６３】
判別条件計算部１１５は、パケットの判別条件（判別ルール）を計算する。本実施形態では、判別条件計算部１１５は、ネットワークのトポロジ情報と自身のネットワークの境界情報とに基づいて、制御装置１０間で転送されるパケットの判別条件（判別ルール）を計算する。また、判別条件計算部１１５は、ノード装置２０から最初のパケット（first packet）の問い合わせ情報を受信した場合、当該パケットのヘッダ情報に基づいて、当該パケットの判別条件（判別ルール）を計算することもできる。
【００６４】
経路計算部１１６は、パケットの転送経路を計算する。ここでは、経路計算部１１６は、ネットワークのトポロジ情報とネットワークの境界情報に基づいて、制御装置１０間のパケット転送に使用される経路の端点を決定し、決定された端点を結ぶ経路を計算する。
【００６５】
処理規則計算部１１７は、判別条件計算部１１５で計算された判別条件と、経路計算部１１６で計算された経路に基づいて、処理規則（フローエントリ）を計算する。
【００６６】
処理規則管理部１１８は、処理規則（フローエントリ）を管理する。処理規則管理部１１８は、処理規則（フローエントリ）に関する情報を、当該処理規則（フローエントリ）の識別情報（処理規則ＩＤ）と対応付けて処理規則保持部１１９に登録する。また、処理規則管理部１１８は、制御メッセージ処理部１１２に対して、ノード装置２０への当該処理規則（フローエントリ）の設定を要求する。
【００６７】
処理規則保持部１１９は、制御装置１０の管理下にある個々のノード装置２０に設定された処理規則（フローエントリ）に関する情報と、その処理規則（フローエントリ）の識別情報（処理規則ＩＤ）とを記憶する。実際の実施においては、処理規則保持部１１９は、個々のノード装置２０の経路制御情報（フローテーブル）のコピーやマスターテーブルを格納していても良い。
【００６８】
（ノード装置の構成）
図４を参照して、各ノード装置２０の構成例について説明する。この構成例は、ノード装置２０−１〜２０−６の全てに共通である。
【００６９】
ノード装置２０の各々は、通信処理部２１と、１以上のインターフェース部２２（一つのみ図示）を備える。
【００７０】
通信処理部２１は、制御チャネルを介して、制御装置１０に接続されており、制御メッセージの送受信を行う。一例では、通信処理部２１は、オープンフローネットワークにおけるオープンフロースイッチ（ＯＦＳ）として動作するためのソフトウェアを実行する。また、通信処理部２１は、制御装置１０のノード装置制御部１１から指示された処理規則（フローエントリ）や処理命令（出力指示等）に従って、インターフェース部２２から入力されたパケットを処理する。なお、通信処理部２１は、入力されたパケットに対応する処理規則（フローエントリ）や処理命令（出力指示等）が指示されていない場合、当該パケットを最初のパケット（first packet）と判断し、制御チャネルを介して、制御装置１０に対して、当該パケットの問い合わせ情報を送信する。
【００７１】
インターフェース部２２は、ノード装置２０内のネットワークインターフェースである。インターフェース部２２は、物理ポートを有するネットワークインターフェースでもよく、下層ポートを有するネットワークインターフェースでも良い。インターフェース部２２は、隣接するノード装置やホスト等の接続先との接続に用いられ、データ通信リンクを介して、パケットの送受信を行うことができる。インターフェース部２２は、制御装置１０との接続に用いられてもよい。隣接するノード装置やホスト等の接続先からパケットを受信した場合、インターフェース部２２は、通信処理部２１に対して、当該パケットを出力する。
【００７２】
（第１実施形態におけるトポロジ探索処理）
次に、第１実施形態に係るトポロジ探索処理について説明する。
【００７３】
制御装置１０−１、１０−２は、それぞれ、自ネットワークのトポロジを探索するため、トポロジ探索用パケットを作成する。一実施形態では、ＬＬＤＰ（Link Layer Discovery Protocol）フレームがトポロジ探索用パケットとして用いられ得る。但し、トポロジ探索用パケットはＬＬＤＰフレームに限られず、実際の実施においては、その他のフレーム／パケットをトポロジ探索用パケットとして使用しても良い。
【００７４】
本実施形態では、ＬＬＤＰフレームが、トポロジ探索用パケットの例として用いられる。
【００７５】
（第１実施形態におけるＬＬＤＰフレームの構成）
図５を参照して、本実施形態に係るＬＬＤＰフレームのフォーマット例について説明する。
【００７６】
本実施形態においては、各ＬＬＤＰフレームは、「ＬＬＤＰヘッダ」領域（フィールド）と、「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域（フィールド）を含む。ここで、「ＴＬＶ」は、ｔｙｐｅ、ｌｅｎｇｔｈ、ｖａｌｕｅを表している。
【００７７】
「ＬＬＤＰヘッダ」領域は、「送信元ＭＡＣアドレス」領域と、「宛先ＭＡＣアドレス」領域と、「ｅｔｈ＿ｔｙｐｅ」という凡例で示されている「イーサタイプ」領域を含む。
【００７８】
「送信元ＭＡＣアドレス」領域は、当該ＬＬＤＰフレームの送信元ＭＡＣアドレスを格納する。
【００７９】
「宛先ＭＡＣアドレス」領域は、当該ＬＬＤＰフレームの宛先ＭＡＣアドレスを格納する。
【００８０】
「イーサタイプ」領域は、当該ＬＬＤＰフレームのイーサタイプを示す情報を格納する。通常、ＬＬＤＰフレームのイーサタイプとして、「０ｘ８８ｃｃ」が指定される。
【００８１】
「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域は、「識別情報」領域（又は、（「制御装置ＩＤ」領域）を含む。
【００８２】
「識別情報」領域は、当該ＬＬＤＰヘッダを作成した制御装置の識別情報（制御装置ＩＤ）を格納する。
【００８３】
ネットワーク間においてユニークであれば、様々な種類の識別情報（制御装置ＩＤ）が用いられ得る。例えば、制御装置１０が持つインターフェースのＭＡＣアドレスや、ＩＰアドレス、ＶＬＡＮタグ情報（ＶＬＡＮ  ＩＤ）等が識別情報として用いられ得る。但し、実際に用いられる識別情報は、これらの例に限定されない。
【００８４】
（第１実施形態におけるトポロジ探索の手順）
次に、第１実施形態におけるトポロジ探索の手順例について説明する。
【００８５】
（１）ＬＬＤＰフレームの送信動作
まず、制御装置１０からノード装置２０へのＬＬＤＰフレームの送信時の動作例について説明する。
【００８６】
制御装置１０−１と制御装置１０−２の各々のトポロジ管理部１１１は、トポロジ探索用パケットとしてＬＬＤＰフレームを作成する。
【００８７】
このとき、制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、当該制御装置を識別するために、自身の識別情報（制御装置ＩＤ）を各ＬＬＤＰフレーム内に格納する。ここで、各ＬＬＤＰフレーム内の識別情報（制御装置ＩＤ）は、ネットワーク間でユニークであるように決定される。
【００８８】
本実施形態では、制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、図５に示す各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「識別情報」領域に、当該制御装置１０の識別情報（制御装置ＩＤ）を格納する。
【００８９】
制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、制御メッセージ処理部１１２に対して、ノード装置２０へのＬＬＤＰフレームの送信指示を要求する。実際の実施においては、トポロジ管理部１１１は、制御メッセージ処理部１１２に対して、ＬＬＤＰフレームを出力するだけでも良い。
【００９０】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、ノード装置２０へのＬＬＤＰフレームの送信指示の要求に応じて、ＬＬＤＰフレームとその送信指示を格納したパケット出力メッセージ（packet-out message）を作成し、ノード通信部１１３に対して、自ネットワーク内の全てのノード装置２０への当該パケット出力メッセージ（packet-out message）の送信を要求する。パケット出力メッセージ（packet-out message）は、制御メッセージの一種である。当該パケット出力メッセージ（packet-out message）は、当該ＬＬＤＰフレームを各ノード装置２０の全てのインターフェース部２２から送信することを指示する送信指示を含んでいる。
【００９１】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御メッセージ処理部１１２からのパケット出力メッセージ（packet-out message）を、制御チャネルを介して、自ネットワーク内の全てのノード装置２０に送信する。
【００９２】
各ノード装置２０の通信処理部２１は、上記のパケット出力メッセージ（packet-out message）に応じて、ＬＬＤＰフレームを、同一ノード装置２０内の全てのインターフェース部２２から、接続先に送信する。すなわち、各ノード装置２０の通信処理部２１は、ＬＬＤＰフレームをブロードキャストの形式で送信する。また、各ノード装置２０の通信処理部２１は、インターフェース部２２経由で、接続先からＬＬＤＰフレームを受信する。
【００９３】
（２）制御チャネルを介したＬＬＤＰフレームの問い合わせ情報の送信時の動作
次に、各ノード装置２０から制御装置１０へ、制御チャネルを介してＬＬＤＰフレームの問い合わせ情報を送信する際の動作例について説明する。
【００９４】
各ノード装置２０の通信処理部２１は、インターフェース部２２経由で、接続先からＬＬＤＰフレームを受信した場合、制御チャネル経由で、自身を制御している制御装置１０への問い合わせ情報として、パケット入力メッセージ（packet-in message）を送信する。パケット入力メッセージ（packet-in message）は、制御メッセージの１つである。
【００９５】
パケット入力メッセージ（packet-in message）は、「ＬＬＤＰフレーム」領域と、「ノード装置ＩＤ」領域と、「インターフェースＩＤ」領域を含む。
【００９６】
「ＬＬＤＰフレーム」領域は、受け取ったＬＬＤＰフレーム自体を格納する。
【００９７】
「ノード装置ＩＤ」領域は、当該ノード装置２０の識別情報（ノード装置ＩＤ）を格納する。
【００９８】
「インターフェースＩＤ」領域は、当該ＬＬＤＰフレームを受信したインターフェース部２２の識別情報（インターフェースＩＤ）を格納するための領域である。
【００９９】
通常、各ノード装置２０の通信処理部２１は、同一ネットワーク内のノード装置２０から、同一ネットワークの制御装置１０の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信し、当該制御装置１０への問い合わせ情報として、それぞれ当該ＬＬＤＰフレームを格納したパケット入力メッセージ（packet-in message）を送信する。
【０１００】
しかし、送信元がノード装置２０−３であり、送信先がノード装置２０−４である場合、制御装置１０−１の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームが制御装置１０−２へと送られることになる。すなわち、ノード装置２０−４の通信処理部２１は、ノード装置２０−３から、制御装置１０−１の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信した場合、制御装置１０−２への問い合わせ情報として、当該ＬＬＤＰフレームを格納したパケット入力メッセージ（packet-in message）を送信する。
【０１０１】
反対に、送信元がノード装置２０−４であり、送信先がノード装置２０−３である場合、制御装置１０−２の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームが制御装置１０−１へと送られる。すなわち、ノード装置２０−３の通信処理部２１は、ノード装置２０−４から、制御装置１０−２の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信した場合、制御装置１０−１への問い合わせ情報として、当該ＬＬＤＰフレームを格納したパケット入力メッセージ（packet-in message）を送信することになる。
【０１０２】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御チャネルを介して、接続先の各ノード装置２０から、上記のパケット入力メッセージ（packet-in message）を受信し、当該パケット入力メッセージ（packet-in message）を制御メッセージ処理部１１２に出力する。
【０１０３】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケット入力メッセージ（packet-in message）に格納されたＬＬＤＰフレームを抽出する。制御メッセージ処理部１１２は、抽出した該ＬＬＤＰフレームを隣接発見部１１４に出力する。
【０１０４】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、各ＬＬＤＰフレームに記述された識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じか否か確認する。
【０１０５】
本実施形態では、制御装置１０−１、１０−２の各々の隣接発見部１１４は、図５に示すＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「識別情報」領域を参照して、「識別情報」領域に格納されている識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じか否かを確認する。
【０１０６】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、ＬＬＤＰフレーム内に格納された識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じである場合、自ネットワーク内でのみ他のノード装置と隣接しているノード装置２０及びそのインターフェース部２２を動的に認識・把握することができる。
【０１０７】
また、制御装置１０−１、１０−２の各々の隣接発見部１１４は、ＬＬＤＰフレーム内の識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と異なる場合、他のネットワークの制御装置１０の存在を認識・把握することができる。更に、隣接発見部１１４は、他のネットワークとの境界にあるノード装置２０及びそのインターフェース部２２を動的に認識・把握することができる。
【０１０８】
（３）データ通信リンクを介したＬＬＤＰフレームの送信動作
次に、各ノード装置２０から制御装置１０へ、データ通信リンクを介してＬＬＤＰフレームを送信する際の動作例について説明する。
【０１０９】
ノード装置２０−１のような、データ通信リンク経由で制御装置１０に接続されているノード装置２０の通信処理部２１は、当該ＬＬＤＰフレームを、制御装置１０に接続されているインターフェース部２２からも送信する。例えば、ノード装置２０−１の通信処理部２１は、当該ＬＬＤＰフレームを、制御装置１０−１に接続されているインターフェース部２２から、データ通信リンク経由で、制御装置１０−１に送信する。同様に、ノード装置２０−６は、当該ＬＬＤＰフレームを、制御装置１０−２に接続されているインターフェース部２２から、データ通信リンク経由で、制御装置１０−２に送信する。
【０１１０】
制御装置１０−１、１０−２の各々のインターフェース管理部１５は、データ通信リンクを介して、接続先の各ノード装置２０から、ＬＬＤＰフレームを受信し、当該ＬＬＤＰフレームを隣接発見部１１４に出力する。
【０１１１】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、ＬＬＤＰフレーム内の識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じか否か確認する。
【０１１２】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、ＬＬＤＰフレーム内に格納された識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じである場合、当該制御装置１０と接続しているノード装置２０及びそのインターフェース部を動的に認識・把握することができる。
【０１１３】
（４）トポロジ情報の作成時の動作
以下では、制御装置１０におけるトポロジ情報の作成のための動作例について説明する。
【０１１４】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、上記の動作により認識・把握した情報を、トポロジ管理部１１１に通知する。
【０１１５】
制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、隣接発見部１１４から通知された情報に基づいて、対応するネットワークのトポロジ情報やネットワークの境界情報を作成し、保持する。
【０１１６】
（補足）
実際の実施においては、制御装置１０と接続しているノード装置２０及びそのインターフェース部２２の検知方法は、この方法に限らない。例えば、予めオペレーター等の操作によって、制御装置１０と接続しているノード装置２０及びインターフェース部２２に関する情報を通知／設定していても良い。
【０１１７】
（第１実施形態における制御装置間のパケットの判別条件の相互通知の動作）
次に、第１実施形態に係る制御装置１０間のパケットの判別条件（判別ルール）の相互通知の動作例について説明する。
【０１１８】
制御装置１０−１と制御装置１０−２の各々の判別条件計算部１１５は、トポロジ管理部１１１に格納されているネットワークのトポロジ情報やネットワークの境界情報に基づいて、他のネットワークの制御装置１０との通信に使用するパケットの判別条件（判別ルール）を計算し、この判別条件（判別ルール）を格納した通知パケットを作成する。更に、判別条件計算部１１５は、制御メッセージ処理部１１２に対して、他のネットワークとの境界にあるノード装置２０への通知パケットの送信を要求し、指示する。
この判別条件（判別ルール）は、パケットヘッダに付与される情報であり、ＭＡＣアドレスやＩＰアドレス、プロトコルタイプ等を含んでいてもよい。なお、実際の実施では、判別条件計算部１１５は、制御メッセージ処理部１１２に対して、通知パケットを出力するだけでも良い。
【０１１９】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、他のネットワークとの境界にあるノード装置２０への通知パケットの送信指示の要求に応じて、該通知パケット自体と、該通知パケットを他のネットワークのノード装置２０に出力する旨の指示とを格納したパケット出力メッセージ（packet-out message）を作成する。更に、制御メッセージ処理部１１２は、ノード通信部１１３に対して、他のネットワークとの境界にあるノード装置２０への当該パケット出力メッセージ（packet-out message）の送信を要求する。
【０１２０】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御メッセージ処理部１１２からのパケット出力メッセージ（packet-out message）の送信要求に応じて、他のネットワークとの境界にあるノード装置２０に対して、制御チャネルを介して、上記のパケット出力メッセージ（packet-out message）を送信する。
【０１２１】
他のネットワークとの境界にあるノード装置２０の通信処理部２１は、制御チャネルを介して、上記のパケット出力メッセージ（packet-out message）を受信した場合、通知パケットを他のネットワークのノード装置２０に出力する旨の指示にしたがって、他のネットワークのノード装置２０と接続しているインターフェース２２から、データ通信リンクを介して、通知パケットを他のネットワークのノード装置２０に送信する。
【０１２２】
他のネットワークとの境界にあるノード装置２０の通信処理部２１は、他のネットワークのノード装置２０と接続しているインターフェース２２から通知パケットが入力された場合、自身を制御している制御装置１０への問い合わせ情報として、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。
【０１２３】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御チャネルを介して、接続先の各ノード装置２０から、上記のパケット入力メッセージ（packet-in message）を受信し、当該パケット入力メッセージ（packet-in message）を制御メッセージ処理部１１２に出力する。
【０１２４】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケット入力メッセージ（packet-in message）に格納された通知パケットを抽出する。そして、制御メッセージ処理部１１２は、当該通知パケットを隣接発見部１１４に出力する。
【０１２５】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、通知パケットに基づいて、他のネットワークの制御装置１０との通信に使用するパケットの判別条件（判別ルール）を認識する。
【０１２６】
その結果、制御装置１０−１、１０−２は、相互の通信に使用するパケットの判別条件（判別ルール）を知ることができる。
【０１２７】
（１）制御装置１０−１から制御装置１０−２への通知
制御装置１０−１から制御装置１０−２へのパケットの判別条件（判別ルール）の通知の動作例について説明する。
【０１２８】
制御装置１０−１は、制御装置１０−２との通信に使用するパケットの判別条件（判別ルール）を格納した通知パケットを作成し、他のネットワークとの境界にあるノード装置２０−３に対して、制御チャネルを介して、通知パケットと、該通知パケットをノード装置２０−４に出力する旨の指示とを格納したパケット出力メッセージ（packet-out message）を送信する。
【０１２９】
ノード装置２０−３は、制御装置１０−１からパケット出力メッセージ（packet-out message）を受信した場合、通知パケットをノード装置２０−４に出力する旨の指示にしたがって、ノード装置２０−４と接続しているインターフェース２２から通知パケットを送信する。
【０１３０】
ノード装置２０−４は、ノード装置２０−３から通知パケットを受信した場合、制御チャネル経由で、自身を制御している制御装置１０−２への問い合わせ情報として、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。
【０１３１】
制御装置１０−２は、ノード装置２０−３からパケット入力メッセージ（packet-in message）を受信し、パケット入力メッセージ（packet-in message）に格納された通知パケットを取得する。これにより、制御装置１０−２は、制御装置１０−１との通信に使用するパケットの判別条件（判別ルール）を認識することができる。
【０１３２】
（２）制御装置１０−２から制御装置１０−１への通知
制御装置１０−２から制御装置１０−１へのパケットの判別条件（判別ルール）の通知の動作例について説明する。
【０１３３】
制御装置１０−２は、制御装置１０−１との通信に使用するパケットの判別条件（判別ルール）を格納した通知パケットを作成し、他のネットワークとの境界にあるノード装置２０−４に対して、制御チャネルを介して、通知パケットと、該通知パケットをノード装置２０−３に出力する旨の指示とを格納したパケット出力メッセージ（packet-out message）を送信する。
【０１３４】
ノード装置２０−４は、制御装置１０−２からパケット出力メッセージ（packet-out message）を受信した場合、通知パケットをノード装置２０−３に出力する旨の指示にしたがって、ノード装置２０−３と接続しているインターフェース２２から通知パケットを送信する。
【０１３５】
ノード装置２０−３は、ノード装置２０−４から通知パケットを受信した場合、制御チャネル経由で、自身を制御している制御装置１０−１への問い合わせ情報として、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。
【０１３６】
制御装置１０−１は、ノード装置２０−４からパケット入力メッセージ（packet-in message）を受信し、パケット入力メッセージ（packet-in message）に格納された通知パケットを取得する。これにより、制御装置１０−１は、制御装置１０−２との通信に使用するパケットの判別条件（判別ルール）を認識することができる。
【０１３７】
（第１実施形態における処理規則の設定の動作）
次に、第１実施形態における処理規則（フローエントリ）の設定の動作例について説明する。
【０１３８】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、トポロジ管理部１１１に格納されている自身のネットワークのトポロジ情報や境界情報に基づいて、他のネットワークの制御装置１０との通信に使用するパケットの判別条件（判別ルール）を計算する。
また、判別条件計算部１１５は、他のネットワークの制御装置１０から通知されたパケットの判別条件（判別ルール）を認識・把握する。
【０１３９】
制御装置１０−１、１０−２の各々の経路計算部１１６は、トポロジ管理部１１１に格納されているネットワークのトポロジ情報や境界情報に基づいて、通信に使用される経路の端点を決定する。
【０１４０】
このとき、経路の一方の端点は、他のネットワークとの境界にあるノード装置として定義される。ネットワーク１では、ノード装置２０−３が一方の端点と定義される。ネットワーク２では、ノード装置２０−４が一方の端点と定義される。
【０１４１】
また、経路のもう一方の端点は、制御装置とデータ通信リンクを介して接続されているノード装置として定義される。ネットワーク１では、ノード装置２０−１がもう一方の端点と定義される。ネットワーク２では、ノード装置２０−６がもう一方の端点と定義される。
【０１４２】
制御装置１０−１と制御装置１０−２の各々の経路計算部１１６は、このように決定された端点を結ぶ経路を計算する。具体的には、決定された各ノード装置２０のインターフェースを結ぶ往復の転送用経路を計算する。
【０１４３】
本実施形態では、制御装置１０−１の経路計算部１１６は、ネットワーク１において、ノード装置２０−１における制御装置１０−１との接続用のインターフェースと、ノード装置２０−３におけるネットワーク２のノード装置２０−４との接続用のインターフェースを結ぶ経路を計算する。
【０１４４】
同様に、制御装置１０−２の経路計算部１１６は、ネットワーク２において、ノード装置２０−６における制御装置１０−２との接続用のインターフェースと、ノード装置２０−４におけるネットワーク１のノード装置２０−３との接続用のインターフェースを結ぶ経路を計算する。
【０１４５】
制御装置１０−１、１０−２の各々の処理規則計算部１１７は、経路計算部１１６から転送に用いる経路を取得し、判別条件計算部１１５からその経路で転送されるパケットの判別条件（判別ルール）を取得する。
【０１４６】
制御装置１０−１、１０−２の各々の処理規則計算部１１７は、取得した情報を用いて、経路上に存在する各ノード装置２０におけるパケットの転送のために必要な処理を計算し、パケット判別条件（パケット判別ルール）を当該処理が行われるべき条件として定義した処理規則（フローエントリ）を計算する。このとき、処理規則計算部１１７は、計算された処理規則（フローエントリ）に、当該処理規則（フローエントリ）の識別情報（処理規則ＩＤ）を埋め込む。具体的には、各処理規則（フローエントリ）内のクッキー領域（任意の情報を格納できる６４ビットの領域）に処理規則ＩＤを格納する。
【０１４７】
制御装置１０−１、１０−２の各々の処理規則管理部１１８は、処理規則計算部１１７によって計算された処理規則（フローエントリ）に関する情報を処理規則保持部１１９に登録し、制御メッセージ処理部１１２に対して、経路上のノード装置２０への当該処理規則（フローエントリ）の設定を要求する。
【０１４８】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、ノード装置２０への処理規則（フローエントリ）の設定要求を受けた場合、ノード装置２０に処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を作成する。その後、制御メッセージ処理部１１２は、ノード通信部１１３に対して、経路上のノード装置２０への当該フロー変更メッセージ（FlowMod-Add）の送信を要求する。フロー変更メッセージ（FlowMod-Add）は、制御メッセージの１つである。
【０１４９】
制御装置１０−１と制御装置１０−２の各々のノード通信部１１３は、ノード装置２０へのフロー変更メッセージ（FlowMod-Add）の送信要求を受けた場合、制御チャネルを介して、経路上のノード装置２０に対して、当該フロー変更メッセージ（FlowMod-Add）を送信する。
【０１５０】
各ノード装置２０の通信処理部２１は、制御チャネルを介して、制御装置１０からフロー変更メッセージ（FlowMod-Add）を受信した場合、当該フロー変更メッセージ（FlowMod-Add）の内容に基づいて、処理規則（フローエントリ）を登録する。
【０１５１】
その後、各ノード装置２０の通信処理部２１は、インターフェース部２２経由で、当該パケットを受信した場合、登録された処理規則（フローエントリ）の内容にしたがって、当該パケットを処理する。
【０１５２】
（第１実施形態のまとめ）
このように、上記の処理規則（フローエントリ）の設定の動作が、ネットワーク１とネットワーク２において、双方独立に行われる。その結果、制御装置１０間で双方向の転送経路が確立される。
【０１５３】
制御装置１０−１と制御装置１０−２の各々は、相互の通信に使用するパケットの判別条件（判別ルール）を決定する。
【０１５４】
制御装置１０−１、１０−２の各々は、自ネットワーク内における往復の経路を計算し、経路上のノード装置とそのインターフェース部を特定する。
【０１５５】
制御装置１０−１、１０−２の各々は、経路上のノード装置に対して、決定した判別条件（判別ルール）と、隣接するノード装置に接続されたインターフェースへパケットを出力する旨の処理内容（アクション）と、の組を定義した処理規則（フローエントリ）を作成する。
【０１５６】
本実施形態では、制御装置１０−１、１０−２の各々は、管理下にあるノード装置２０に対して、隣接のネットワークとの境界にあるノード装置から、自身とデータ通信リンクを介して接続されているノード装置へパケットを転送させる処理規則（フローエントリ）を設定する。例えば、制御装置１０−１は、ノード装置２０−１〜２０−３の各々に対して、ノード装置２０−３からノード装置２０−１へパケット転送するための処理規則（フローエントリ）を設定する。制御装置１０−２は、ノード装置２０−４〜２０−６の各々に対して、ノード装置２０−４からノード装置２０−６へパケット転送するための処理規則（フローエントリ）を設定する。
【０１５７】
また、制御装置１０−１、１０−２の各々は、管理下にあるノード装置２０に対して、自身とデータ通信リンクを介して接続しているノード装置から、隣接のネットワークとの境界にあるノード装置のインターフェースへパケットの転送を行うための処理規則（フローエントリ）を設定する。例えば、制御装置１０−１は、ノード装置２０−１〜２０−３の各々に対して、ノード装置２０−１からノード装置２０−３へパケット転送するための処理規則（フローエントリ）を設定する。制御装置１０−２は、ノード装置２０−４〜２０−６の各々に対して、ノード装置２０−６からノード装置２０−４へパケットの転送を行うための処理規則（フローエントリ）を設定する。
【０１５８】
このような動作が、隣接するネットワークの各々において行われることで、それぞれのネットワークにおいて、自ネットワーク内での転送経路が確立され、隣接するネットワークの間の直接のトランザクションを伴わずに制御装置間の通信が可能となる。
【０１５９】
なお、リンク接続とは、データ通信リンクを介して接続することを意味する。
【０１６０】
（処理規則のフォーマット）
図６Ａ、図６Ｂを参照して、処理規則（フローエントリ）のフォーマット例について説明する。
【０１６１】
処理規則（フローエントリ）は、判別条件領域（判別ルール領域）と、処理内容領域（アクション領域）を含む。
【０１６２】
判別条件領域（判別ルール領域）は、「送信元ＭＡＣアドレス」領域と、「宛先ＭＡＣアドレス」領域と、「イーサタイプ」領域（「ｅｔｈ＿ｔｙｐｅ」領域）を含む。
【０１６３】
「送信元ＭＡＣアドレス」領域は、パケットの送信元のネットワークインターフェースのＭＡＣアドレスを格納する。
【０１６４】
「宛先ＭＡＣアドレス」は、パケットの宛先のネットワークインターフェースのＭＡＣアドレスを格納するための領域である。
【０１６５】
「イーサタイプ」領域は、パケットのイーサタイプを示す情報を格納するための領域である。
【０１６６】
「処理内容」領域は、「アクション」領域を含む。
【０１６７】
「アクション」領域は、パケットを所定の出力先へ出力する旨の指示を格納する。
【０１６８】
本実施形態では、各制御装置は、通信相手となる制御装置毎に、様々な種類のパケットを柔軟に用いることができる。
【０１６９】
（ネットワーク１における処理規則）
図６Ａは、ネットワーク１において、制御装置１０−１から、ノード装置２０−１〜ノード装置２０−３の各々に対して設定される処理規則（フローエントリ）の例を示している。
【０１７０】
（１）ノード装置２０−１から制御装置１０−１への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  制御装置１０−１へ出力
【０１７１】
（２）ノード装置２０−１からノード装置２０−２への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−２へ出力
【０１７２】
（３）ノード装置２０−２からノード装置２０−１への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−１へ出力
【０１７３】
（４）ノード装置２０−２からノード装置２０−３への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−３へ出力
【０１７４】
（５）ノード装置２０−３からノード装置２０−２への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−２へ出力
【０１７５】
（６）ノード装置２０−３からノード装置２０−４への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−４へ出力
【０１７６】
上記の（１）及び（２）の処理規則は、ノード装置２０−１において用いられる処理規則（フローエントリ）である。
【０１７７】
上記の（３）及び（４）の処理規則は、ノード装置２０−２において用いられる処理規則（フローエントリ）である。
【０１７８】
上記の（５）及び（６）の処理規則は、ノード装置２０−３において用いられる処理規則（フローエントリ）である。
【０１７９】
（ネットワーク２における処理規則）
図６Ｂは、ネットワーク２において、制御装置１０−２から、ノード装置２０−４〜２０−６の各々に対して設定される処理規則（フローエントリ）の例を示している。
【０１８０】
（１）ノード装置２０−４からノード装置２０−３への処理規則（フローエントリ）
送信元ＭＡＣアドレス」：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス」：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−３へ出力
【０１８１】
（２）ノード装置２０−４からノード装置２０−５への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−５へ出力
【０１８２】
（３）ノード装置２０−５からノード装置２０−４への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−４へ出力
【０１８３】
（４）ノード装置２０−５からノード装置２０−６への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−６へ出力
【０１８４】
（５）ノード装置２０−６からノード装置２０−５への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  ノード装置２０−５へ出力
【０１８５】
（６）ノード装置２０−６から制御装置１０−２への処理規則（フローエントリ）
送信元ＭＡＣアドレス：  制御装置１０−１のＭＡＣアドレス
宛先ＭＡＣアドレス：  制御装置１０−２のＭＡＣアドレス
イーサタイプ（ｅｔｈ＿ｔｙｐｅ）：  ０ｘ８８００
アクション：  制御装置１０−２へ出力
【０１８６】
上記の（１）及び（２）の処理規則は、ノード装置２０−４において使用される処理規則（フローエントリ）である。
【０１８７】
上記の（３）及び（４）の処理規則は、ノード装置２０−５において使用される処理規則（フローエントリ）である。
【０１８８】
上記の（５）及び（６）の処理規則は、ノード装置２０−６において使用される処理規則（フローエントリ）である。
【０１８９】
（補足）
制御装置１０−１のＭＡＣアドレスとは、制御装置１０−１内のネットワークインターフェースのＭＡＣアドレスを意味する。また、制御装置１０−２のＭＡＣアドレスとは、制御装置１０−２内のネットワークインターフェースのＭＡＣアドレスを意味する。
【０１９０】
なお、ＭＡＣアドレスは、送信元と宛先を識別する識別子の一例に過ぎない。ＩＰアドレス等がＭＡＣアドレスの代わりに用いられてもよい。
【０１９１】
＜第２実施形態＞
以下では、本発明の第２実施形態について説明する。
【０１９２】
本実施形態では、トポロジ探索において、ＬＬＤＰフレームを用いて判別条件（判別ルール）の決定を行う。具体的には、制御装置において、ＬＬＤＰフレームを作成する際、ＬＬＤＰフレーム内に、制御装置の識別情報（制御装置ＩＤ）と共に、パケットの判別条件（ルール）を埋め込む。
【０１９３】
（第２実施形態に係るＬＬＤＰフレームの構成）
図７を参照して、本実施形態に係るＬＬＤＰフレームの構成例について説明する。
【０１９４】
本実施形態では、各ＬＬＤＰフレームは、「ＬＬＤＰヘッダ」領域（フィールド）と、「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域とを含む。
【０１９５】
第２の実施形態における「ＬＬＤＰヘッダ」領域の内容は、第１実施形態と同様である。
【０１９６】
「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域は、「識別情報」領域（制御装置ＩＤ領域）と、「ＭＡＣアドレス」領域と、「イーサタイプ」領域（「ｅｔｈ＿ｔｙｐｅ」領域」を含む。
【０１９７】
「識別情報」領域は、当該ＬＬＤＰフレームを作成した制御装置の識別情報（制御装置ＩＤ）を格納する。
【０１９８】
「ＭＡＣアドレス」領域は、パケットの判別条件（判別ルール）の１つであるＭＡＣアドレスを格納する。
【０１９９】
「イーサタイプ（ｅｔｈ＿ｔｙｐｅ）」領域は、パケットの判別条件（ルール）の１つであるイーサタイプを示す情報を格納する。
【０２００】
なお、ＭＡＣアドレスは、単に、送信元と宛先とを識別するために用いられる識別の一例に過ぎない。ＭＡＣアドレスの代わりにＩＰアドレス等を用いてもよい。
【０２０１】
すなわち、本実施形態では、各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域に、パケットの判別条件（判別ルール）を格納する。
【０２０２】
（システム構成）
第１実施形態と同様に、本実施形態を、図２に示したシステム構成に基づいて説明する。
【０２０３】
制御装置１０及びノード装置２０の構成は、基本的に、第１実施形態と同様である。
【０２０４】
（第２実施形態に係るトポロジ探索の動作）
以下では、第２実施形態におけるトポロジ探索の動作例について説明する。
【０２０５】
まず、制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、第１実施形態と同様に、トポロジ探索用パケットとしてＬＬＤＰフレームを作成する。
【０２０６】
このとき、制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、当該制御装置を示す、ネットワーク間でユニークな識別情報（制御装置ＩＤ）を各ＬＬＤＰフレーム内に格納する。
【０２０７】
ここでは、制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、図７に示されているように、各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「識別情報」領域に、当該制御装置１０の識別情報（制御装置ＩＤ）を格納する。
【０２０８】
制御装置１０−１、１０−２の各々のトポロジ管理部１１１は、作成されたＬＬＤＰフレームを、判別条件計算部１１５に出力する。
【０２０９】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、トポロジ管理部１１１に格納されているネットワークのトポロジ情報や境界情報に基づいて、他のネットワークの制御装置１０との通信に使用するパケットの判別条件（判別ルール）を計算する。
【０２１０】
本実施形態では、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、各ノード装置２０によって隣接するノード装置２０との通信に使用されるパケットの判別条件（判別ルール）をＬＬＤＰフレーム内に格納する。
【０２１１】
本実施形態では、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、図７に示されているように各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「ＭＡＣアドレス」領域に、当該制御装置１０内のネットワークインターフェースのＭＡＣアドレスを格納する。
【０２１２】
また、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、図７に示されているように各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「イーサタイプ」領域に、他のネットワークの制御装置１０との通信に使用するパケットのイーサタイプを示す情報を格納する。
【０２１３】
この時点で、各ＬＬＤＰフレーム内には、制御装置の識別情報（制御装置ＩＤ）と、パケットの判別条件（ルール）が格納されている。
【０２１４】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、制御メッセージ処理部１１２に対して、各ノード装置２０へのＬＬＤＰフレームの送信指示を要求する。実際の実施においては、制御メッセージ処理部１１２に対して、ＬＬＤＰフレームを出力するだけでも良い。なお、実際の実施では、判別条件計算部１１５は、パケットの判別条件（ルール）を埋め込んだＬＬＤＰフレームをトポロジ管理部１１１に返しても良い。この場合、第１実施形態と同様に、トポロジ管理部１１１が、制御メッセージ処理部１１２に対して、各ノード装置２０へのＬＬＤＰフレームの送信指示を要求することになる。
【０２１５】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、各ノード装置２０へのＬＬＤＰフレームの送信指示の要求に応じて、当該ＬＬＤＰフレームとその送信指示を格納したパケット出力メッセージ（packet-out message）を作成し、ノード通信部１１３に対して、自ネットワーク内の全てのノード装置２０への当該パケット出力メッセージ（packet-out message）の送信を要求する。当該パケット出力メッセージ（packet-out message））には、当該ＬＬＤＰフレームを当該ノード装置２０が持つ全てのインターフェース部２２から送信するように指示する送信指示が含まれている。
【０２１６】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御メッセージ処理部１１２からのパケット出力メッセージ（packet-out message）を、自ネットワーク内の全てのノード装置２０に送信する。
【０２１７】
各ノード装置２０の通信処理部２１は、当該ＬＬＤＰフレームを、同一ノード装置２０内の全てのインターフェース部２２から接続先に送信する。また、通信処理部２１は、インターフェース部２２経由で、接続先から当該ＬＬＤＰフレームを受信する。
【０２１８】
各ノード装置２０の通信処理部２１は、制御チャネル経由で、自身を制御している制御装置１０への問い合わせ情報として、パケット入力メッセージ（packet-in message）を送信する。このとき、各ノード装置２０の通信処理部２１は、パケット入力メッセージ（packet-in message）に、ＬＬＤＰフレームと、当該ＬＬＤＰフレームを受信したインターフェース部のインターフェース情報（インターフェース部のＩＤ）と、当該ノード装置の「識別情報」（ノード装置ＩＤ）を格納する。
【０２１９】
通常、各ノード装置２０の通信処理部２１は、同一ネットワーク内のノード装置２０から、同一ネットワークの制御装置１０の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信し、当該制御装置１０への問い合わせ情報として、当該ＬＬＤＰフレームを格納したパケット入力メッセージ（packet-in message）を送信する。
【０２２０】
しかし、送信元がノード装置２０−３であり、送信先がノード装置２０−４である場合、制御装置１０−１の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームが制御装置１０−２へと送られることになる。すなわち、ノード装置２０−４の通信処理部２１は、ノード装置２０−３から、制御装置１０−１の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信した場合、制御装置１０−２への問い合わせ情報として、当該ＬＬＤＰフレームを格納したパケット入力メッセージを送信することになる。
【０２２１】
一方、送信元がノード装置２０−４であり、送信先がノード装置２０−３である場合、制御装置１０−２の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームが制御装置１０−１へと送られることになる。すなわち、ノード装置２０−３の通信処理部２１は、ノード装置２０−４から、制御装置１０−２の識別情報（制御装置ＩＤ）を持つＬＬＤＰフレームを受信した場合、制御装置１０−１への問い合わせ情報として、当該ＬＬＤＰフレームを格納したパケット入力メッセージ（packet-in message）を送信することになる。
【０２２２】
制御装置１０−１と制御装置１０−２の各々のノード通信部１１３は、制御チャネルを介して、接続先の各ノード装置２０から、上記のパケット入力メッセージ（packet-in message）を受信し、当該パケット入力メッセージ（packet-in message）を制御メッセージ処理部１１２に出力する。
【０２２３】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケット入力メッセージ（packet-in message）に格納されたＬＬＤＰフレームを抽出する。制御メッセージ処理部１１２は、抽出した当該ＬＬＤＰフレームを隣接発見部１１４及び判別条件計算部１１５に出力する。
【０２２４】
制御装置１０−１、１０−２の各々の隣接発見部１１４は、第１実施形態と同様に動作する。
【０２２５】
本実施形態では、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、各ＬＬＤＰフレームに含まれる識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じか否か確認する。
【０２２６】
ここでは、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、各ＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「識別情報」領域（「制御装置ＩＤ」領域）を参照して（図７参照）、「識別情報」領域（「制御装置ＩＤ」領域）に格納されている識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と同じか否か確認する。
【０２２７】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、ＬＬＤＰフレーム内の識別情報（制御装置ＩＤ）が、当該制御装置１０の識別情報（制御装置ＩＤ）と異なる場合、当該ＬＬＤＰフレームが他のネットワークの制御装置１０からのＬＬＤＰフレームであると判断する。この場合、判別条件計算部１１５は、当該ＬＬＤＰフレームに格納された判別条件（ルール）を、当該他のネットワークの制御装置１０との通信に使用するパケットの判別条件（ルール）として決定する。
【０２２８】
本実施形態では、制御装置１０−１、１０−２の各々の判別条件計算部１１５はＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「ＭＡＣアドレス」領域を参照して（図７参照）、当該他のネットワークの制御装置１０内のネットワークインターフェースのＭＡＣアドレスを取得する。
【０２２９】
また、制御装置１０−１、１０−２の各々の判別条件計算部１１５は、図７に示すＬＬＤＰフレーム内の「Ｏｐｔｉｏｎａｌ  ＴＬＶｓ」領域の「イーサタイプ」領域（「ｅｔｈ＿ｔｙｐｅ」領域）を参照して、他のネットワークの制御装置１０との通信に使用するパケットのイーサタイプを示す情報を取得する。
【０２３０】
このように、制御装置１０−１、１０−２の各々により作成されたＬＬＤＰフレームがノード装置のインターフェースから送信されることで、トポロジ探索と同時に、ネットワークの隣接性の発見、そして判別条件（ルール）の把握までが行われる。
【０２３１】
＜第３実施形態＞
以下、本発明の第３実施形態について説明する。
【０２３２】
［システム構成］
本実施形態のシステム構成は、図１に図示されているものと同一である。
【０２３３】
本実施形態では、図２に示されている第１実施形態のシステム構成とは異なり、制御装置１０とノード装置２０との間は、制御チャネルを介して論理的に接続されている。インターフェースは、データ通信リンクを介して互いに物理的に接続されているのではない。
【０２３４】
各制御装置１０は、制御チャネルを介して、他のネットワークとの境界にあるノード装置２０と通信する。すなわち、制御装置１０−１は、制御チャネルを介して、ノード装置２０−３と通信する。制御装置１０−２は、制御チャネルを介して、ノード装置２０−４と通信する。
【０２３５】
他のネットワークとの境界にある各ノード装置２０は、データ通信リンクを介して、他のネットワークのノード装置２０と通信する。本実施形態では、ノード装置２０−３は、データ通信リンクを介して、ノード装置２０−４と通信する。ノード装置２０−４は、データ通信リンクを介して、ノード装置２０−３と通信する。
【０２３６】
本実施形態では、各制御装置１０は、他のネットワークとの境界にあるノード装置２０に対して、他のネットワークの制御装置１０から自ネットワークの制御装置１０へのパケットを受信した場合、該パケットを制御チャネルを介して自ネットワークの制御装置１０に転送することを指示する処理規則（フローエントリ）を設定する。すなわち、制御装置１０−１は、ノード装置２０−３に対して、制御装置１０−２から制御装置１０−１へのパケットを受信した場合、制御チャネルを介して、制御装置１０−１に転送するという旨の処理規則（フローエントリ）を設定する。制御装置１０−２は、ノード装置２０−４に対して、制御装置１０−１から制御装置１０−２へのパケットを受信した場合、制御チャネルを介して、制御装置１０−２に転送するという旨の処理規則（フローエントリ）を設定する。
【０２３７】
これにより、制御装置１０−１と制御装置１０−２との間の通信が可能になる。
【０２３８】
（第３実施形態に係る制御装置の構成）
図８を参照して、本実施形態に係る制御装置１０の構成例について説明する。この構成例は、制御装置１０−１と制御装置１０−２の双方に共通であることに留意されたい。
【０２３９】
制御装置１０は、ノード装置制御部１１と、振分部１２と、振分規則保持部１３と、仮想ポート１４と、インターフェース管理部１５を備える。
【０２４０】
ノード装置制御部１１及びインターフェース管理部１５については、基本的に、第１実施形態と同様の機能を有している。
【０２４１】
ノード装置制御部１１は、制御チャネルを介して、それに接続されたノード装置２０の制御を行う。例えば、ノード装置制御部１１は、オープンフローネットワークにおけるオープンフローコントローラ（ＯＦＣ）として動作するためのソフトウェアプログラムを実行する。ここでは、ノード装置制御部１１は、制御チャネルを介して、ノード装置２０の各々が備えるインターフェース部の把握管理を行い、ノード装置２０に対して、インターフェース部で送受信されるパケットの処理規則（フローエントリ）を設定する。パケットの処理規則（フローエントリ）の内容の一例として、インターフェース部での受信パケットの特徴に基づいて指定したインターフェース部／ノード装置制御部１１への出力を行う旨の指示や、ノード装置制御部１１で生成したパケットを受信した際に指定したインターフェース部に出力する旨の指示等が考えられる。
【０２４２】
本実施形態では、ノード装置制御部１１は、ノード装置２０からパケットを受信した際、送信元のノード装置２０及びインターフェース部２２を示す情報を付与した上で振分部１２に出力する。また、ノード装置制御部１１は、振分部１２からパケットが入力された際、当該パケットに付与された送信元のノード装置２０及びインターフェース部２２を示す情報を分析し、適切な制御チャネルを選択して出力指示を行うことで、指定されたノード装置２０の指定されたインターフェース部２２からパケットを出力するための制御を行う。
【０２４３】
振分部１２は、仮想ポート１４からパケットが入力された際、振分規則保持部１３に格納された振分規則を参照して、パケットの特徴や入力元の仮想ポートの識別情報の振分条件に基づいて、出力先として適切なノード装置２０及びインターフェース部２２を特定し、ノード装置制御部１１に対して、特定されたノード装置２０及びインターフェース部２２への出力指示と当該パケットを格納したメッセージを出力する。また、振分部１２は、ノード装置制御部１１からパケットが入力された際、振分規則保持部１３に格納された振分規則を参照して、パケットの特徴や入力元のノード装置の識別情報及びインターフェース部の識別情報のような振分条件に基づいて、出力先として適切な仮想ポートを特定し、特定された仮想ポートに対して、当該パケットを出力する。実際の実施においては、振分部１２は、既存の仮想マシンモニタ（ＶＭＭ：Virtual Machine Monitor）やハイパーバイザー（Hypervisor）等に、上述の機能を実装することで実現しても良い。
【０２４４】
振分規則保持部１３は、制御装置１０の仮想ポートと、各ノード装置２０のインターフェース部との間で送受信されるパケットの振分規則を保持する。ここでは、振分規則保持部１３は、振分規則として、パケットの振分に必要な情報を保持する。振分規則保持部１３は、ノード装置制御部１１や振分部１２からの参照要求に応じて、適切な振分規則の返答／提示を行う。例えば、振分規則保持部１３は、仮想ポートをインターフェース部と１対１で対応付ける情報や、パケットの特徴（送信元／送信先アドレス、種別等）を仮想ポート及びインターフェース部と１対１で対応付けた情報を保持する。振分規則保持部１３は、ＲＤＢ（リレーショナルデータベース）を用いて実現しても良い。なお、振分規則における対応関係については、制御装置１０として動作する計算機等のＯＳ（オペレーティング・システム）やソフトウェアに従って、又は、ユーザ操作に応じて、任意に変更可能である。例えば、ＱｏＳ制御の一環として、振分規則における対応関係を動的に変更してもよい。しかしながら、これらは単なる例であり、実際の実施は、これらの例に限定されない。
【０２４５】
仮想ポート１４は、制御装置１０内の仮想的なネットワークインターフェースである。仮想ポート１４は、制御装置１０として動作する計算機等のＯＳ（オペレーティング・システム）により、物理的なネットワークインターフェースと同等の存在として認識され、又は、同等に扱われる。これは、仮想ポート１４が、それぞれ、パケットの送受信を行うことができることを意味している。例えば、仮想ポート１４は、ＯＳ（オペレーティング・システム）や他のソフトウェアに実装されたＴＵＮ／ＴＡＰ等の仮想デバイスにより実現できる。また、制御装置１０内で動作する個々の仮想マシン（ＶＭ）が、それぞれＯＳ（オペレーティング・システム）と仮想ポート１４を備えていても良い。但し、実際の実施は、これらの例に限定されない。
【０２４６】
インターフェース管理部１５は、制御装置１０内のネットワークインターフェースを管理する。ここでは、インターフェース管理部１５は、仮想ポート１４に接続し、通信することができる。
【０２４７】
本実施形態では、ノード装置制御部１１は、振分部１２、振分規則保持部１３、及びインターフェース管理部１５に接続されている。
【０２４８】
なお、インターフェース管理部１５は、第１実施形態と同様に、データ通信リンクを介して、いずれかのノード装置２０に接続することも可能である。
【０２４９】
（ノード装置制御部の構成）
以下では、ノード装置制御部１１の構成例について説明する。
【０２５０】
本実施形態では、ノード装置制御部１１の構成は、基本的に、第１実施形態と同様である。
【０２５１】
ノード装置制御部１１は、図３に示したものと同様に、トポロジ管理部１１１と、制御メッセージ処理部１１２と、ノード通信部１１３と、隣接発見部１１４と、判別条件計算部１１５と、経路計算部１１６と、処理規則計算部１１７と、処理規則管理部１１８と、処理規則保持部１１９を備える。
【０２５２】
トポロジ管理部１１１、制御メッセージ処理部１１２、ノード通信部１１３、隣接発見部１１４、判別条件計算部１１５、経路計算部１１６、処理規則計算部１１７、処理規則管理部１１８、及び処理規則保持部１１９については、基本的に、第１実施形態と同様に動作する。
【０２５３】
なお、本実施形態では、制御メッセージ処理部１１２は、更に、振分部１２及び振分規則保持部１３にも接続されている。
【０２５４】
（第３実施形態におけるトポロジ探索の動作）
本実施形態に係るトポロジ探索の動作例については、基本的に、第１実施形態又は第２実施形態と同様の手順で実施することができる。
【０２５５】
例えば、本実施形態に係るトポロジ探索の動作は、「（１）ＬＬＤＰフレームの送信時の動作」、「（２）制御チャネルを介したＬＬＤＰフレームの問い合わせ情報の送信時の動作」、「（４）トポロジ情報の作成時の動作」と題されたセクションにおいて説明した動作を行ってもよい。これらのセクションは、第１実施形態に係るトポロジ探索の動作例を記述している。
【０２５６】
これにより、各制御装置１０は、他のネットワークの制御装置１０の存在や、他のネットワークとの境界にあるノード装置２０及びそのインターフェース部２２を動的に認識・把握することができる。
【０２５７】
（第３実施形態における処理規則の設定の動作）
以下では、第３実施形態に係る処理規則（フローエントリ）の設定の動作例について説明する。
【０２５８】
制御装置１０−１、１０−２の各々の判別条件計算部１１５は、トポロジ管理部１１１に格納されているネットワークのトポロジ情報や境界情報に基づいて、他のネットワークの制御装置１０との通信に使用するパケットの判別条件（ルール）を計算する。
【０２５９】
制御装置１０−１、１０−２の各々の経路計算部１１６は、トポロジ管理部１１１に格納されているネットワークのトポロジ情報や境界情報に基づいて、通信に使用される経路の端点を決定する。
【０２６０】
このとき、経路の各端点は、他のネットワークとの境界にあるノード装置２０となる。ネットワーク１では、ノード装置２０−３が一方の端点と定義される。ネットワーク２では、ノード装置２０−４が一方の端点と定義される。
【０２６１】
制御装置１０−１、１０−２の各々の経路計算部１１６は、当該制御装置１０と他のネットワークとの境界にあるノード装置２０との間を、制御チャネルを介して結ぶ経路を計算する。
【０２６２】
制御装置１０−１、１０−２の各々の処理規則計算部１１７は、経路計算部１１６からパケット転送に用いる経路を取得し、判別条件計算部１１５から該経路で転送されるパケットの判別条件（判別ルール）を取得する。
【０２６３】
制御装置１０−１、１０−２の各々の処理規則計算部１１７は、取得した情報を用いて、他のネットワークとの境界にあるノード装置２０に設定される処理規則（フローエントリ）を計算する。このとき、処理規則計算部１１７は、各処理規則（フローエントリ）に、当該処理規則（フローエントリ）の識別情報（処理規則ＩＤ）を埋め込む。具体的には、各処理規則（フローエントリ）内のクッキー領域に処理規則ＩＤが格納する。そして、処理規則（フローエントリ）の処理内容（アクション）として、他のネットワークの制御装置１０から自ネットワークの制御装置１０へのパケットを受信した場合、制御チャネルを介して、自ネットワークの制御装置１０に対して、当該パケットと当該処理規則ＩＤとを格納したパケット入力メッセージ（packet-in message）を送信する」という動作を定義する。
【０２６４】
例えば、制御装置１０−１の処理規則計算部１１７は、ノード装置２０−３に設定される処理規則（フローエントリ）として、制御装置１０−２から制御装置１０−１へのパケットを受信した場合、制御チャネルを介して、制御装置１０−１に対して、当該パケットと処理規則ＩＤ「Ａ」とを格納したパケット入力メッセージ（packet-in message）を送信するという旨の処理規則（フローエントリ）を計算する。
【０２６５】
同様に、制御装置１０−２の処理規則計算部１１７は、ノード装置２０−４に設定される処理規則（フローエントリ）として、制御装置１０−１から制御装置１０−２へのパケットを受信した場合、制御チャネルを介して、制御装置１０−２に対して、処理規則ＩＤ「Ｂ」と当該パケットを格納したパケット入力メッセージ（packet-in message）を送信するという旨の処理規則（フローエントリ）を計算する。
【０２６６】
制御装置１０−１、１０−２の各々の処理規則管理部１１８は、処理規則計算部１１７によって計算された処理規則（フローエントリ）に関する情報を処理規則保持部１１９に登録し、制御メッセージ処理部１１２に対して、他のネットワークとの境界にあるノード装置２０への当該処理規則（フローエントリ）の設定を要求する。
【０２６７】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、ノード装置２０への処理規則（フローエントリ）の設定要求を受けた場合、ノード装置２０に処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を作成する。 
その後、制御メッセージ処理部１１２は、ノード通信部１１３に対して、他のネットワークとの境界にあるノード装置２０への当該フロー変更メッセージ（FlowMod-Add）の送信を要求する。
【０２６８】
制御装置１０−１、１０−２の各々のノード通信部１１３は、ノード装置２０へのフロー変更メッセージ（FlowMod-Add）の送信要求を受けた場合、制御チャネルを介して、他のネットワークとの境界にあるノード装置２０に対して、当該フロー変更メッセージ（FlowMod-Add）を送信する。
【０２６９】
各ノード装置２０の通信処理部２１は、制御チャネルを介して、制御装置１０からフロー変更メッセージ（FlowMod-Add）を受信した場合、当該フロー変更メッセージ（FlowMod-Add）の内容に基づいて、処理規則（フローエントリ）を登録する。
【０２７０】
以降、各ノード装置２０の通信処理部２１は、インターフェース部２２経由でパケットを受信した場合、登録された処理規則（フローエントリ）の内容にしたがって、当該パケットを処理する。
【０２７１】
（第３実施形態における制御装置間の処理規則の通知の動作）
以下では、第３実施形態に係る制御装置１０間の処理規則（フローエントリ）の通知の動作例について説明する。
【０２７２】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、処理規則管理部１１８から、制御装置１０間の通信に関する処理規則（フローエントリ）を取得し、当該処理規則（フローエントリ）に埋め込まれた処理規則ＩＤを取得する。そして、制御メッセージ処理部１１２は、当該処理規則ＩＤを埋め込んだ通知パケットを作成する。例えば、制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、通知パケットのクッキー領域又はデータ領域に当該処理規則ＩＤを格納する。また、メッセージ処理部１１２は、通知パケットを作成する際、宛先アドレスを他のネットワークの制御装置１０のアドレスとし、送信元アドレスを自ネットワークの制御装置１０のアドレスとする。なお、メッセージ処理部１１２は、フロー変更メッセージ（FlowMod-Add）を作成する際に、同時に、当該処理を行うようにしても良い。
【０２７３】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記の通知パケットとその送信指示を格納したパケット出力メッセージ（packet-out message）を作成する。
【０２７４】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、ノード通信部１１３に対して、他のネットワークとの境界にあるノード装置２０への当該パケット出力メッセージ（packet-out message）の送信を要求する。
【０２７５】
制御装置１０−１、１０−２の各々のノード通信部１１３は、他のネットワークとの境界にあるノード装置２０へのパケット出力メッセージ（packet-out message）の送信要求を受けた場合、制御チャネルを介して、該ノード装置２０に対して、当該パケット出力メッセージ（packet-out message）を送信する。例えば、制御装置１０−１のノード通信部１１３は、ノード装置２０−３に対して、当該パケット出力メッセージ（packet-out message）を送信する。同様に、制御装置１０−２のノード通信部１１３は、ノード装置２０−４に対して、当該パケット出力メッセージ（packet-out message）を送信する。
【０２７６】
他のネットワークとの境界にあるノード装置２０の通信処理部２１は、制御チャネルを介して、制御装置１０からパケット出力メッセージ（packet-out message）を受信した場合、当該パケット出力メッセージ（packet-out message）の内容に基づいて、通知パケットをインターフェース部２２から他のネットワークのノード装置２０に送信する。例えば、ノード装置２０−３の通信処理部２１は、データ通信リンクを介して、通知パケットをノード装置２０−４に送信する。同様に、ノード装置２０−４の通信処理部２１は、データ通信リンクを介して、通知パケットをノード装置２０−３に送信する。
【０２７７】
また、他のネットワークとの境界にあるノード装置２０の通信処理部２１は、インターフェース部２２経由で、他のネットワークのノード装置２０から通知パケットを受信した場合、制御チャネル経由で、自身を制御している制御装置１０への問い合わせ情報として、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。例えば、ノード装置２０−３の通信処理部２１は、ノード装置２０−４から通知パケットを受信した場合、制御チャネル経由で、制御装置１０−１に対して、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。同様に、ノード装置２０−４の通信処理部２１は、ノード装置２０−３から通知パケットを受信した場合、制御チャネル経由で、制御装置１０−２に対して、当該通知パケットを格納したパケット入力メッセージ（packet-in message）を送信する。
【０２７８】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御チャネルを介して、他のネットワークとの境界にあるノード装置２０から、上記のパケット入力メッセージ（packet-in message）を受信し、当該パケット入力メッセージ（packet-in message）を制御メッセージ処理部１１２に出力する。
【０２７９】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）に格納された通知パケットを抽出し、当該通知パケットの内容から、他のネットワークの制御装置１０の処理規則（フローエントリ）を示す処理規則ＩＤを取得する。
【０２８０】
例えば、制御装置１０−１は、宛先アドレスが制御装置１０−２のアドレスであり、送信元アドレスが制御装置１０−１であるパケットを送信した場合、制御装置１０−２において処理規則ＩＤ「Ｂ」に対応する処理規則が使用されることを認識・把握する。同様に、制御装置１０−２は、宛先アドレスが制御装置１０−１のアドレスであり、送信元アドレスが制御装置１０−２であるパケットを送信した場合、制御装置１０−１において処理規則ＩＤ「Ａ」に対応する処理規則が使用されることを認識・把握する。
【０２８１】
（第３実施形態における振分規則の設定の動作）
以下では、第３実施形態に係る振分規則の設定の動作例について説明する。
【０２８２】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、処理規則管理部１１８から、他のネットワークとの境界にあるノード装置２０への処理規則（フローエントリ）の設定要求を受けた場合、振分規則を作成し、作成した振分規則を振分規則保持部１３に格納する。
【０２８３】
このとき、制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、当該振分規則における「ノード装置ＩＤ」領域に格納すべき情報として他のネットワークとの境界にあるノード装置２０の識別情報（ノード装置ＩＤ）を指定する。制御メッセージ処理部１１２は、また、当該振分規則の「インターフェースＩＤ」領域に格納すべき情報として、他のネットワークのノード装置２０との接続に使用されるインターフェース部２２の識別情報（インターフェースＩＤ）を指定する。制御メッセージ処理部１１２は、また、当該振分規則の「自アドレス」領域に格納すべき情報として、自ネットワークの制御装置１０のアドレスを指定する。制御メッセージ処理部１１２は、また、「対向アドレス」領域の情報として他のネットワークの制御装置１０のアドレスを指定する。制御メッセージ処理部１１２は、「処理規則ＩＤ」領域に格納すべき情報として、処理規則（フローエントリ）に埋め込まれた処理規則ＩＤを指定する。
【０２８４】
また、制御装置１０−１、１０−２の各々の振分部１２は、他のネットワークの制御装置１０との通信に使用される仮想ポート１４を認識し、上記の振分規則に対して、「仮想ポートＩＤ」領域に格納すべき情報として当該仮想ポート１４の識別情報（仮想ポートＩＤ）を指定する。
【０２８５】
なお、振分規則の設定方法は、この方法に限らない。例えば、振分規則は、予めオペレーター等の手入力によって、振分規則保持部１３に格納していても良い。
【０２８６】
（振分規則の構成）
図９Ａ、図９Ｂを参照して、振分規則保持部１３に格納される振分規則の構成例について説明する。
【０２８７】
振分規則は、「仮想ポートＩＤ」領域と、「ノード装置ＩＤ」領域と、「インターフェースＩＤ」領域と、「自アドレス」領域と、「対向アドレス」領域と、「処理規則ＩＤ」領域を含む。
【０２８８】
「仮想ポートＩＤ」領域は、他のネットワークの制御装置１０との通信に使用される仮想ポート１４の識別情報（仮想ポートＩＤ）を格納する。
【０２８９】
「ノード装置ＩＤ」領域は、他のネットワークとの境界にあるノード装置２０の識別情報（ノード装置ＩＤ）を格納する。
【０２９０】
「インターフェースＩＤ」領域は、他のネットワークのノード装置２０との接続に使用されるインターフェース部２２の識別情報（インターフェースＩＤ）を格納する。
【０２９１】
「自アドレス」領域は、自身の制御装置１０のアドレスを格納するための領域である。
【０２９２】
「対向アドレス」領域は、通信相手のアドレスを格納する。
【０２９３】
「処理規則ＩＤ」領域は、処理規則（フローエントリ）の識別情報（処理規則ＩＤ）を格納する。
【０２９４】
［補足］
上記のアドレスは、ＭＡＣアドレス、ＩＰアドレス、或いはその他の識別情報でも良い。
【０２９５】
「自アドレス」領域及び「対向アドレス」領域に記述されるアドレスは、それぞれ、宛先アドレスでも送信元アドレスでも良い。例えば、制御装置１０間で転送されるパケットの送信元アドレスが「自アドレス」領域に記述されたアドレスであり、宛先アドレスが「対向アドレス」領域に記述されたアドレスである場合、これは、パケットが当該振分規則に適合することを意味している。また、制御装置１０間で転送されるパケットの送信元アドレスが「対向アドレス」に記述されたアドレスであり、宛先アドレスが「自アドレス」領域に記述されたアドレスである場合、これは、パケットが当該振分規則に適合することを意味している。
【０２９６】
本実施形態では、「自アドレス」領域は、自ネットワークの制御装置１０のアドレスが格納され、「対向アドレス」には、他のネットワークの制御装置１０のアドレスが格納されているものとする。更に、仮想ポート１４に、制御装置１０におけるアドレスが割り当てられているものとする。例えば、一般的な仮想マシン（ＶＭ）には、仮想ＭＡＣアドレスや仮想ＩＰアドレス等を割り当てることが可能である。
【０２９７】
（第３実施形態における仮想ポート及びインターフェース部の識別情報）
ここでは、制御装置１０−１の仮想ポート１４には、仮想ポートＩＤ「ＶＰ１」が割り当てられている。制御装置１０−２の仮想ポート１４には、仮想ポートＩＤ「ＶＰ２」が割り当てられている。ノード装置２０−３においてノード装置２０−４との接続に使用されるインターフェース部２２は、インターフェースＩＤ「ＩＦ３」が割り当てられている。ノード装置２０−４においてノード装置２０−３との接続に使用されるインターフェース部２２には、インターフェースＩＤ「ＩＦ４」が割り当てられている。
【０２９８】
（ネットワーク１の制御装置における振分規則）
図９Ａは、ネットワーク１の制御装置１０−１における振分規則の例を記述している。
【０２９９】
（１）制御チャネルを利用する振分規則
仮想ポートＩＤ：  ＶＰ１
ノード装置ＩＤ：  ＤＰＩＤ３
インターフェースＩＤ：  ＩＦ３
自アドレス：  制御装置１０−１のアドレス
対向アドレス：  制御装置１０−２のアドレス
処理規則ＩＤ：  Ａ
【０３００】
［ネットワーク２の制御装置における振分規則］
図９Ｂは、ネットワーク２の制御装置１０−２における振分規則の例について記述している。
【０３０１】
（１）制御チャネルを利用する振分規則
仮想ポートＩＤ：  ＶＰ２
ノード装置ＩＤ：  ＤＰＩＤ４
インターフェースＩＤ：  ＩＦ４
自アドレス：  制御装置１０−２のアドレス
対向アドレス：  制御装置１０−１のアドレス
処理規則ＩＤ：  Ｂ
【０３０２】
（第３実施形態に係る制御装置間のパケット転送の動作）
以下では、第３実施形態に係る制御装置１０間のパケット転送の動作例について説明する。
【０３０３】
制御装置１０−１、１０−２の各々の振分部１２は、仮想ポート１４からパケットが入力された際、当該仮想ポート１４の識別情報（仮想ポートＩＤ）、入力されたパケットの宛先アドレス及び送信元アドレスを確認する。
【０３０４】
制御装置１０−１、１０−２の各々の振分部１２は、当該仮想ポート１４の識別情報（仮想ポートＩＤ）と、宛先アドレスと、送信元アドレスを検索キー（search key）として、振分規則保持部１３に格納された振分規則を参照し、パケットの出力先として適切なノード装置２０及びインターフェース部２２を特定する。
【０３０５】
例えば、制御装置１０−１の振分部１２は、仮想ポート１４の仮想ポートＩＤ「ＶＰ１」と、宛先アドレス（即ち、制御装置１０−２のアドレス）と、送信元アドレス（即ち、制御装置１０−１のアドレス）とを検索キーとして用いて振分規則保持部１３に格納された振分規則を参照し、ノード装置ＩＤ「ＤＰＩＤ３」と、インターフェースＩＤ「ＩＦ３」を特定する。
【０３０６】
同様に、制御装置１０−２の振分部１２は、仮想ポート１４の仮想ポートＩＤ「ＶＰ２」と、宛先アドレス（即ち、制御装置１０−１のアドレス）と、送信元アドレス（即ち、制御装置１０−２のアドレス）を検索キーとして用いて振分規則保持部１３に格納された振分規則を参照し、ノード装置ＩＤ「ＤＰＩＤ４」と、インターフェースＩＤ「ＩＦ４」を特定する。
【０３０７】
制御装置１０−１、１０−２の各々の振分部１２は、ノード装置制御部１１の制御メッセージ処理部１１２に対して、当該パケットと特定されたノード装置２０及びインターフェース部２２への当該パケットの出力指示とを格納したメッセージを出力する。
【０３０８】
例えば、制御装置１０−１の振分部１２は、ノード装置制御部１１の制御メッセージ処理部１１２に対して、当該パケットとノード装置２０−３及びそのインターフェース部２２への当該パケットの出力指示とを格納したメッセージを出力する。
【０３０９】
同様に、制御装置１０−２の振分部１２は、ノード装置制御部１１の制御メッセージ処理部１１２に対して、当該パケットとノード装置２０−４及びそのインターフェース部２２への当該パケットの出力指示とを格納したメッセージを出力する。
【０３１０】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、振分規則保持部１３に格納された振分規則を参照し、当該パケットとその送信指示を格納したパケット出力メッセージ（packet-out message）を作成し、ノード通信部１１３に対して、他のネットワークとの境界にあるノード装置２０への当該パケット出力メッセージ（packet-out message）の送信を要求する。
【０３１１】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御メッセージ処理部１１２から受け取ったパケット出力メッセージ（packet-out message）を、他のネットワークとの境界にあるノード装置２０に送信する。
【０３１２】
例えば、制御装置１０−１のノード通信部１１３は、制御メッセージ処理部１１２からのパケット出力メッセージ（packet-out message）をノード装置２０−３に送信する。
【０３１３】
同様に、制御装置１０−２のノード通信部１１３は、制御メッセージ処理部１１２からのパケット出力メッセージ（packet-out message）をノード装置２０−４に送信する。
【０３１４】
他のネットワークとの境界にあるノード装置２０の通信処理部２１は、上記のパケット出力メッセージ（packet-out message）に格納されたパケットを、インターフェース部２２から、他のネットワークのノード装置２０に送信する。
【０３１５】
例えば、ノード装置２０−３の通信処理部２１は、上記のパケット出力メッセージ（packet-out message）に格納されたパケットを、インターフェース部２２からノード装置２０−４に送信する。
【０３１６】
同様に、ノード装置２０−４の通信処理部２１は、上記のパケット出力メッセージ（packet-out message）に格納されたパケットを、インターフェース部２２からノード装置２０−４に送信する。
【０３１７】
また、他のネットワークとの境界にあるノード装置２０の通信処理部２１は、インターフェース部２２経由で、他のネットワークのノード装置２０からパケットを受信した場合、処理規則（フローエントリ）にしたがって、制御チャネル経由で、自身を制御している制御装置１０への問い合わせ情報として、パケット入力メッセージ（packet-in message）を送信する。このとき、通信処理部２１は、このパケット入力メッセージ（packet-in message）に、当該パケットと、ノード装置ＩＤと、インターフェースＩＤと、処理規則ＩＤを格納する。
【０３１８】
例えば、ノード装置２０−３の通信処理部２１は、インターフェース部２２経由でノード装置２０−４からパケットを受信した場合、処理規則（フローエントリ）にしたがって、制御チャネル経由で、自身を制御している制御装置１０−１への問い合わせ情報として、パケット入力メッセージ（packet-in message）を送信する。このとき、ノード装置２０−３の通信処理部２１は、このパケット入力メッセージ（packet-in message）に、当該パケットと、ノード装置ＩＤ「ＤＰＩＤ３」と、インターフェースＩＤ「ＩＦ３」と、処理規則ＩＤ「Ａ」を格納する。
【０３１９】
同様に、ノード装置２０−４の通信処理部２１は、インターフェース部２２経由でノード装置２０−３からパケットを受信した場合、処理規則（フローエントリ）にしたがって、制御チャネル経由で、自身を制御している制御装置１０−２への問い合わせ情報として、パケット入力メッセージ（packet-in message）を送信する。このとき、ノード装置２０−４の通信処理部２１は、このパケット入力メッセージ（packet-in message）に、当該パケットと、ノード装置ＩＤ「ＤＰＩＤ４」と、インターフェースＩＤ「ＩＦ４」と、処理規則ＩＤ「Ｂ」を格納する。
【０３２０】
制御装置１０−１、１０−２の各々のノード通信部１１３は、制御チャネルを介して、接続先の各ノード装置２０から、上記のパケット入力メッセージ（packet-in message）を受信し、当該パケット入力メッセージ（packet-in message）を制御メッセージ処理部１１２に出力する。
【０３２１】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケットと、ノード装置ＩＤと、インターフェースＩＤと、処理規則ＩＤを取得する。このとき、制御メッセージ処理部１１２は、パケットのヘッダ情報等から、宛先アドレス及び送信元アドレスを取得することも可能である。
【０３２２】
例えば、制御装置１０−１の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケットと、ノード装置ＩＤ「ＤＰＩＤ３」と、インターフェースＩＤ「ＩＦ３」と、処理規則ＩＤ「Ａ」を取得する。このとき、制御メッセージ処理部１１２は、パケットのヘッダ情報等から、制御装置１０−１のアドレスを宛先アドレスとして取得し、制御装置１０−２のアドレスを送信元アドレスとして取得することも可能である。
【０３２３】
同様に、制御装置１０−２の制御メッセージ処理部１１２は、上記のパケット入力メッセージ（packet-in message）を解析し、パケットと、ノード装置ＩＤ「ＤＰＩＤ４」と、インターフェースＩＤ「ＩＦ４」と、処理規則ＩＤ「Ｂ」を取得する。このとき、制御メッセージ処理部１１２は、パケットのヘッダ情報等から、（制御装置１０−２のアドレス）を宛先アドレスとして取得し、制御装置１０−１のアドレスを送信元アドレスとして取得することも可能である。
【０３２４】
制御装置１０−１、１０−２の各々の制御メッセージ処理部１１２は、ノード装置ＩＤ、インターフェースＩＤ、宛先アドレス、送信元アドレス、処理規則ＩＤのうち少なくとも１つを検索キーとして、振分規則保持部１３に格納された振分規則を検索し、当該パケットが自ネットワークの制御装置１０の仮想ポート１４宛のパケットであることを認識する。そして、制御メッセージ処理部１１２は、検索キーとした情報と共に当該パケットを振分部１２に出力する。このとき、制御メッセージ処理部１１２は、当該パケットと共に、ノード装置ＩＤ、インターフェースＩＤ、宛先アドレス、送信元アドレス、処理規則ＩＤのいずれか又は全てを振分部１２に出力しても良い。
【０３２５】
制御装置１０−１、１０−２の各々の振分部１２は、ノード装置ＩＤ、インターフェースＩＤ、宛先アドレス、送信元アドレス、処理規則ＩＤのうち少なくとも１つを検索キーとして、振分規則保持部１３に格納された振分規則を検索し、当該パケットが自ネットワークの制御装置１０の仮想ポート１４宛のパケットであることを認識し、当該パケットを当該仮想ポート１４に出力する。
【０３２６】
例えば、制御装置１０−１の振分部１２は、処理規則ＩＤ「Ａ」を検索キーとして用いて、振分規則保持部１３に格納された振分規則を検索して仮想ポートＩＤ「ＶＰ１」を特定する。そして、制御装置１０−１の振分部１２は、特定された仮想ポートＩＤ「ＶＰ１」で特定される仮想ポート１４に当該パケットを出力する。
【０３２７】
同様に、制御装置１０−２の振分部１２は、処理規則ＩＤ「Ｂ」を検索キーとして、振分規則保持部１３に格納された振分規則を検索し、仮想ポートＩＤ「ＶＰ２」を特定する。制御装置１０−２の振分部１２は、特定された仮想ポートＩＤ「ＶＰ２」で特定される仮想ポート１４に当該パケットを出力する。
【０３２８】
［補足］
制御メッセージ処理部１１２及び振分部１２は、ノード装置ＩＤ、インターフェースＩＤ、宛先アドレス、送信元アドレス、処理規則ＩＤのうち少なくとも１つを検索キーとして、振分規則保持部１３に格納された振分規則を検索する場合、ノード装置ＩＤ、インターフェースＩＤ、宛先アドレス、送信元アドレス、処理規則ＩＤのうち、いずれか１つ、或いは、任意の組み合わせ、又は全てを検索キーとしても用いても良い。
【０３２９】
なお、振分部１２は、所定の仮想ポート１４から入力されたパケットの出力先として、無条件で、他のネットワークとの境界にあるノード装置２０のインターフェース部２２を特定しても良い。同様に、他のネットワークとの境界にあるノード装置２０のインターフェース部２２からのパケットの出力先として、無条件で、所定の仮想ポート１４を特定しても良い。
【０３３０】
例えば、振分部１２は、仮想ポート１４からパケットが入力された場合、入力されたパケットの宛先アドレス及び送信元アドレスに関係なく、仮想ポートＩＤのみを検索キーとして、振分規則保持部１３に格納された振分規則を検索し、出力先を示すノード装置ＩＤ及びインターフェースＩＤを特定してよい。一方、振分部１２は、制御メッセージ処理部１１２からパケットが入力された場合、ノード装置ＩＤ及びインターフェースＩＤのみを検索キーとして、振分規則保持部１３に格納された振分規則を検索し、出力先を示す仮想ポートＩＤを特定してもよい。
【０３３１】
本実施形態によって、制御装置とノード装置は、データ通信リンクを介して物理的にインターフェース同士を接続する必要がなくなり、実際の実施における柔軟性を有効に向上させることができる。
【０３３２】
＜第４実施形態＞
以下では、本発明の第４実施形態について説明する。
【０３３３】
本実施形態は、第３実施形態を基礎としており、２つの制御装置のうち、一方の制御装置でクライアント処理が行われ、他方の制御装置でサーバー処理が行われる。このとき、２つの制御装置は、それぞれの管理下にあるノード装置を介して通信を行う。
【０３３４】
（第４実施形態における通信システムの構成）
図１０Ａ、図１０Ｂを参照して、本実施形態に係る通信システムの構成例について説明する。なお、図１０Ａは、ネットワーク１の構成例を示しており、図１０Ｂは、ネットワーク２の構成例を示している。
【０３３５】
本実施形態の通信システムは、制御装置１０−１と、制御装置１０−２と、ノード装置２０−１〜２０−６とを含む。
【０３３６】
制御装置１０−１は、ノード装置２０−１〜２０−３を管理し、制御装置１０−２は、ノード装置２０−４〜２０−６を管理する。
【０３３７】
例えば、ノード装置２０−１〜２０−３は、ネットワーク１に配置されており、ノード装置２０−４〜２０−６は、ネットワーク２に配置されている。ノード装置２０−１〜２０−３のうちの少なくとも１つは、データ通信リンクを介して、ノード装置２０−４〜２０−６のうちの少なくとも１つに接続されている。
【０３３８】
（第４実施形態に係る制御装置の構成）
以下では、制御装置１０−１及び制御装置１０−２の構成例について説明する。
【０３３９】
制御装置１０−１及び制御装置１０−２は、それぞれ図８に示す制御装置１０に相当する。
【０３４０】
制御装置１０−１は、ノード装置制御部１１−１と、振分部１２−１と、振分規則保持部１３−１と、仮想ポート１４−１１と、仮想ポート１４−１２と、インターフェース管理部１５−１と、クライアント部１６を備える。
【０３４１】
制御装置１０−２は、ノード装置制御部１１−２と、振分部１２−２と、振分規則保持部１３−２と、仮想ポート１４−２１と、仮想ポート１４−２２と、インターフェース管理部１５−２と、サーバー部１７を備える。
【０３４２】
ノード装置制御部１１−１及びノード装置制御部１１−２は、それぞれ図８に示すノード装置制御部１１に相当する。
【０３４３】
ここでは、ノード装置制御部１１−１は、制御チャネルを介して、ノード装置２０−１〜２０−３をそれぞれ制御する。
【０３４４】
また、ノード装置制御部１１−２は、制御チャネルを介して、ノード装置２０−４〜２０−６をそれぞれ制御する。
【０３４５】
振分部１２−１、１２−２は、それぞれ図８に示す振分部１２に相当する。
【０３４６】
振分規則保持部１３−１、１３−２は、それぞれ図８に示す振分規則保持部１３に相当する。
【０３４７】
仮想ポート１４−１１、１４−１２、１４−２１及び１４−２２は、それぞれ図８に示す仮想ポート１４に相当する。
【０３４８】
インターフェース管理部１５−１、１５−２は、それぞれ図８に示すインターフェース管理部１５に相当する。なお、インターフェース管理部１５−１、１５−２は、それぞれ図３に示すインターフェース管理部１５と同様の機能を有していても良い。
【０３４９】
クライアント部１６は、ＯＳＩ参照モデルにおける７階層の内の第７層（アプリケーション層、レイヤ７）における処理を行う。クライアント部１６は、制御装置１０として動作する計算機等のＯＳ（オペレーティング・システム）やソフトウェアに実装されたクライアント処理機能により実現できる。但し、クライアント部１６の実際の実施は、これらの例に限定されない。
【０３５０】
サーバー部１７は、ＯＳＩ参照モデルにおける７階層の内の第７層（アプリケーション層、レイヤ７）における処理を行う。サーバー部１７は、制御装置１０として動作する計算機等のＯＳ（オペレーティング・システム）やソフトウェアに実装されたサーバー処理機能により実現できる。但し、サーバー部１７の実際の実施は、これらの例に限定されない。
【０３５１】
なお、制御装置１０−１、１０−２は、それぞれクライアント部１６とサーバー部１７の両方を備えていても良い。
【０３５２】
（第４実施形態における仮想ポートの接続例）
ここでは、制御装置１０−１の仮想ポート１４−１１は、アドレス「ＡＤ１１」が割り当てられている。仮想ポート１４−１１は、振分部１２−１とクライアント部１６との間に設けられており、振分部１２−１とクライアント部１６との間でパケットの転送を行う。また、制御装置１０−１の仮想ポート１４−１２は、アドレス「ＡＤ１２」が割り当てられている。仮想ポート１４−１１とクライアント部１６は、同一の仮想マシン（ＶＭ）に搭載されていても良い。仮想ポート１４−１２は、振分部１２−１とインターフェース管理部１５−１との間に設けられており、振分部１２−１とインターフェース管理部１５−１との間でパケットの転送を行う。なお、実際の実施では、振分部１２−１、仮想ポート１４−１１、仮想ポート１４−１２、インターフェース管理部１５−１は、同一のＯＳ（オペレーティング・システム）やソフトウェアに実装された機能として実現されても良い。
【０３５３】
同様に、制御装置１０−２の仮想ポート１４−２１は、アドレス「ＡＤ２１」が割り当てられている。仮想ポート１４−２１は、振分部１２−２とサーバー部１７との間に設けられており、振分部１２−２とサーバー部１７との間でパケットの転送を行う。仮想ポート１４−２１とサーバー部１７は、同一の仮想マシン（ＶＭ）に搭載されていても良い。また、制御装置１０−２の仮想ポート１４−２２は、アドレス「ＡＤ２２」が割り当てられている。仮想ポート１４−２２は、振分部１２−２とインターフェース管理部１５−２との間に設けられており、振分部１２−２とインターフェース管理部１５−２との間でパケットの転送を行う。なお、実際の実施では、振分部１２−２、仮想ポート１４−２１、仮想ポート１４−２２、インターフェース管理部１５−２は、同一のＯＳ（オペレーティング・システム）やソフトウェアに実装された機能として実現されても良い。
【０３５４】
（補足）
上記のアドレス「ＡＤ１１」、「ＡＤ２１」は、具体的には、ＭＡＣアドレス、ＩＰアドレス、ＴＣＰ／ＵＤＰ（User Datagram Protocol）ポート番号等のオープンフローで識別可能ないずれかの領域（フィールド）、又はそれらの組み合わせであっても良い。但し、実際の実施は、これらの例に限定されない。
【０３５５】
（第４実施形態に係る仮想ポートの識別情報）
制御装置１０−１の仮想ポート１４−１１は、仮想ポートＩＤ「ＶＰ１１」が割り当てられている。制御装置１０−１の仮想ポート１４−１２は、仮想ポートＩＤ「ＶＰ１２」が割り当てられている。制御装置１０−２の仮想ポート１４−２１は、仮想ポートＩＤ「ＶＰ２１」が割り当てられている。制御装置１０−２の仮想ポート１４−２２は、仮想ポートＩＤ「ＶＰ２２」が割り当てられている。
【０３５６】
（第４実施形態に係るノード装置の構成）
以下では、ノード装置２０−１〜２０−６の構成例について説明する。
【０３５７】
ノード装置２０−１〜２０−６は、それぞれ図４に示すノード装置２０に相当する。
【０３５８】
ノード装置２０−１は、通信処理部２１−１と、インターフェース部２２−１１と、インターフェース部２２−１２を備える。ノード装置２０−２は、通信処理部２１−２と、インターフェース部２２−２１と、インターフェース部２２−２２を備える。ノード装置２０−３は、通信処理部２１−３と、インターフェース部２２−３１と、インターフェース部２２−３２を備える。ノード装置２０−４は、通信処理部２１−４と、インターフェース部２２−４１と、インターフェース部２２−４２を備える。ノード装置２０−５は、通信処理部２１−５と、インターフェース部２２−５１と、インターフェース部２２−５２を備える。ノード装置２０−６は、通信処理部２１−６と、インターフェース部２２−６１と、インターフェース部２２−６２を備える。
【０３５９】
通信処理部２１−１〜２１−６は、それぞれ図４に示す通信処理部２１に相当する。
【０３６０】
インターフェース部２２−１１、２２−１２、２２−２１、２２−２２、２２−３１、２２−３２、２２−４１、２２−４２、２２−５１、２２−５２、２２−６１及び２２−６２は、それぞれ図４に示すインターフェース部２２に相当する。
【０３６１】
（第４実施形態におけるインターフェース部の接続例）
ノード装置２０−１のインターフェース部２２−１１は、制御装置１０−１の通信インターフェース管理部１５−１に接続されている。ノード装置２０−１のインターフェース部２２−１２は、ノード装置２０−２のインターフェース部２２−２１に接続されている。ノード装置２０−２のインターフェース部２２−２２は、ノード装置２０−３のインターフェース部２２−３１に接続されている。ノード装置２０−３のインターフェース部２２−３２は、ノード装置２０−４のインターフェース部２２−４１に接続されている。ノード装置２０−４のインターフェース部２２−４２は、ノード装置２０−５のインターフェース部２２−５１に接続されている。ノード装置２０−５のインターフェース部２２−５２は、ノード装置２０−６のインターフェース部２２−６１に接続されている。ノード装置２０−６のインターフェース部２２−６２は、制御装置１０−２の通信インターフェース管理部１５−２に接続されている。
【０３６２】
ノード装置２０−３は、ネットワーク１に配置されており、ノード装置２０−４は、ネットワーク２に配置されている。これは、ノード装置２０−３のインターフェース部２２−３２と、ノード装置２０−４のインターフェース部２２−４１は、それぞれ、他のネットワークとの境界にあるインターフェース部２２としての役割があることを意味している。
【０３６３】
（第４実施形態に係るインターフェース部の識別情報）
インターフェース部２２−１１は、インターフェースＩＤ「ＩＦ１１」が割り当てられている。インターフェース部２２−１２は、インターフェースＩＤ「ＩＦ１２」が割り当てられている。インターフェース部２２−２１は、インターフェースＩＤ「ＩＦ２１」が割り当てられている。インターフェース部２２−２２は、インターフェースＩＤ「ＩＦ２２」が割り当てられている。インターフェース部２２−３１は、インターフェースＩＤ「ＩＦ３１」が割り当てられている。インターフェース部２２−３２は、インターフェースＩＤ「ＩＦ３２」が割り当てられている。インターフェース部２２−４１は、インターフェースＩＤ「ＩＦ４１」が割り当てられている。インターフェース部２２−４２は、インターフェースＩＤ「ＩＦ４２」が割り当てられている。インターフェース部２２−５１は、インターフェースＩＤ「ＩＦ５１」が割り当てられている。インターフェース部２２−５２は、インターフェースＩＤ「ＩＦ５２」が割り当てられている。インターフェース部２２−６１は、インターフェースＩＤ「ＩＦ６１」が割り当てられている。インターフェース部２２−６２は、インターフェースＩＤ「ＩＦ６２」が割り当てられている。
【０３６４】
（ネットワーク１の制御装置における振分規則）
図１１Ａは、ネットワーク１の制御装置１０−１における振分規則の例を示している。
【０３６５】
（１）制御チャネルを利用する振分規則
仮想ポートＩＤ：  ＶＰ１１
ノード装置ＩＤ：  ＤＰＩＤ３
インターフェースＩＤ：  ＩＦ３２
自アドレス：  ＡＤ１１
対向アドレス：  ＡＤ２１
処理規則ＩＤ：  Ａ１
【０３６６】
（２）データ通信リンクを利用する振分規則
仮想ポートＩＤ：  ＶＰ１２
ノード装置ＩＤ：  ＤＰＩＤ１
インターフェースＩＤ：  ＩＦ１１
自アドレス：  ＡＤ１２
対向アドレス：  ＡＤ２２
処理規則ＩＤ：  Ａ２
【０３６７】
［ネットワーク２の制御装置における振分規則］
図１１Ｂは、ネットワーク２の制御装置１０−２における振分規則の例を示している。
【０３６８】
（１）制御チャネルを利用する振分規則
仮想ポートＩＤ：  ＶＰ２１
ノード装置ＩＤ：  ＤＰＩＤ４
インターフェースＩＤ：  ＩＦ４１
自アドレス：  ＡＤ２１
対向アドレス：  ＡＤ１１
処理規則ＩＤ：  Ｂ１
【０３６９】
（２）データ通信リンクを利用する振分規則
仮想ポートＩＤ：  ＶＰ２２
ノード装置ＩＤ：  ＤＰＩＤ６
インターフェースＩＤ：  ＩＦ６２
自アドレス：  ＡＤ２２
対向アドレス：  ＡＤ１２
処理規則ＩＤ：  Ａ２
【０３７０】
（ノード装置２０−３への処理規則（フローエントリ）の登録）
制御装置１０−１のノード装置制御部１１−１は、振分規則保持部１３−１に格納された振分規則を検索し、ノード装置２０−３に対して、処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を出力する。ここでは、当該処理規則（フローエントリ）の判別条件（ルール）として、宛先アドレス「ＡＤ１１」、及び送信元アドレス「ＡＤ２１」が指定される。また、当該処理規則（フローエントリ）の処理内容（アクション）が、当該パケットと処理規則ＩＤ「Ａ１」を格納したパケット入力メッセージ（Packet-In Message）を制御装置１０−１（又は、制御装置１０−１に接続された出力ポート）に出力する動作を指定する。すなわち、ノード装置制御部１１−１は、ノード装置２０−３に対して、インターフェース部２２−３２が、宛先アドレスを「ＡＤ１１」、送信元アドレスを「ＡＤ２１」とするパケットを受信した際、当該パケットと処理規則ＩＤ「Ａ１」を格納したパケット入力メッセージ（packet-in message）を出力する処理を行うよう指示するフロー変更メッセージ（FlowMod-Add）を出力する。
【０３７１】
（ノード装置２０−４への処理規則（フローエントリ）の登録）
制御装置１０−２のノード装置制御部１１−２は、振分規則保持部１３−２に格納された振分規則を検索し、ノード装置２０−４に対して、処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を出力する。ここでは、当該処理規則（フローエントリ）の判別条件（判別ルール）として、宛先アドレス「ＡＤ２１」、及び送信元アドレス「ＡＤ１１」を指定する。また、当該処理規則（フローエントリ）の処理内容（アクション）として、制御装置１０−２（又はノード装置１０−２に接続された出力ポート）に当該パケットと処理規則ＩＤ「Ｂ１」を格納したパケット入力メッセージ（Packet-In Message）を出力する動作を指定する。すなわち、ノード装置制御部１１−２は、ノード装置２０−４に対して、インターフェース部２２−２３が、宛先アドレスを「ＡＤ２１」、送信元アドレスを「ＡＤ１１」とするパケットを受信した際、当該パケットと処理規則ＩＤ「Ｂ１」を格納したパケット入力メッセージ（packet-in message）を出力する処理を行うよう指示するフロー変更メッセージ（FlowMod-Add）を出力する。
【０３７２】
（ノード装置２０−３へのパケット出力指示）
制御装置１０−１の振分部１２−１は、仮想ポート１４−１１からパケットの入力を受けた場合、振分規則保持部１３−１に格納された振分規則を検索し、当該パケットが、宛先アドレスを「ＡＤ２１」、送信元アドレスを「ＡＤ１１」とするパケットである場合に、ノード装置制御部１１−１に対して、ノード装置２０−３のインターフェース部２２−３２から当該パケットを出力するよう要求するメッセージを出力する。ノード装置制御部１１−１は、振分部１２−１から上記のメッセージが入力された場合、制御チャネルを介して、ノード装置２０−３に対して、当該パケットをインターフェース部２２−１２に出力する旨の指示と当該パケット自体を格納したパケット出力メッセージ（packet-out message）を送信する。
【０３７３】
（ノード装置２０−４へのパケット出力指示）
制御装置１０−２の振分部１２−２は、仮想ポート１４−２１からパケットの入力を受けた場合、振分規則保持部１３−２に格納された振分規則を参照し、当該パケットが、宛先アドレスを「ＡＤ１１」、送信元アドレスを「ＡＤ２１」とするパケットである場合に、ノード装置制御部１１−２に対して、ノード装置２０−４のインターフェース部２２−４１から当該パケットを出力するよう要求するメッセージを出力する。
【０３７４】
（クライアント部からサーバー部へのパケット転送における動作）
以下では、クライアント部１６からサーバー部１７へのパケット転送における動作例について説明する。
【０３７５】
制御装置１０−１のクライアント部１６は、宛先アドレス「ＡＤ２１」及び送信元アドレス「ＡＤ１１」が付与されたパケットを、仮想ポート１４−１１に出力する。
【０３７６】
仮想ポート１４−１１は、クライアント部１６からパケットの入力を受けた場合、当該パケットを振分部１２−１に出力する。
【０３７７】
振分部１２−１は、仮想ポート１４−１１からパケットの入力を受けた場合、当該パケットが宛先アドレスを「ＡＤ２１」、送信元アドレスを「ＡＤ１１」とするパケットであるため、振分規則保持部１３−１を検索して、ノード装置制御部１１−１に対して、ノード装置２０−３のインターフェース部２２−３２から当該パケットを出力するよう要求するメッセージを出力する。
【０３７８】
ノード装置制御部１１−１は、振分部１２−１から上記のメッセージを受信した場合、制御チャネルを介して、ノード装置２０−３の通信処理部２１−３に対して、当該パケットと当該パケットをインターフェース部２２−３２に出力する旨の指示とを格納したパケット出力メッセージ（packet-out message）を送信する。
【０３７９】
ノード装置２０−３の通信処理部２１−３は、制御装置１０−１のノード装置制御部１１−１からパケット出力メッセージ（packet-out message）を受信した場合、インターフェース部２２−３２に対して、パケット出力メッセージ（packet-out message）に含まれるパケットを出力する。
【０３８０】
インターフェース部２２−３２は、通信処理部２１−３からパケットが入力された場合、データ通信リンクを介して、接続先であるノード装置２０−４のインターフェース部２２−４１に対して、当該パケットを転送する。
【０３８１】
ノード装置２０−４のインターフェース部２２−４１は、ノード装置２０−３のインターフェース部２２−３２からパケットを受信した場合、通信処理部２１−４に対して、当該パケットを出力する。
【０３８２】
通信処理部２１−４は、インターフェース部２２−４１からパケットが入力された場合、処理規則（フローエントリ）に基づいて、入力されたパケットを処理する。
【０３８３】
本実施形態では、通信処理部２１−４は、ノード装置１０−２のノード装置制御部１１−２から、宛先アドレスを「ＡＤ２１」、送信元アドレスを「ＡＤ１１」とするパケットをインターフェース部２２−４１にて受信した際に、制御装置１０−２に対して、当該パケットと処理規則ＩＤ「Ｂ１」を格納したパケット入力メッセージ（packet-in message）を出力するという旨の処理規則（フローエントリ）が設定されている。
【０３８４】
したがって、通信処理部２１−４は、制御チャネルを介して、ノード装置１０−２のノード装置制御部１１−２に対して、当該処理規則（フローエントリ）の判別条件（ルール）に合致しているパケットと処理規則ＩＤ「Ｂ１」とを格納したパケット入力メッセージ（packet-in message）を出力する。
【０３８５】
制御装置１０−２のノード装置制御部１１−２は、ノード装置２０−４の通信処理部２１−４から上記のパケット入力メッセージ（packet-in message）が入力された場合、振分部１２−２に対して、上記のパケットと当該処理規則ＩＤ「Ｂ１」とを格納したメッセージを出力する。
【０３８６】
振分部１２−２は、ノード装置制御部１１−２から上記のメッセージが入力された場合、振分規則保持部１３−２に格納された振分規則を検索し、上記のメッセージに含まれる処理規則ＩＤ「Ｂ１」から、当該パケットを仮想ポート１４−２１へ出力すると判断し、上記のメッセージに含まれるパケットを仮想ポート１４−２１へ出力する。
【０３８７】
仮想ポート１４−２１は、振分部１２−２からパケットが入力された場合、接続先であるサーバー部１７に対して、当該パケットを出力する。
【０３８８】
サーバー部１７は、仮想ポート１４−２１からパケットが入力された場合、当該パケットを処理する。
【０３８９】
（サーバー部からクライアント部へのパケット転送のための動作）
以下では、サーバー部１７からクライアント部１６へパケットを転送する動作について説明する。
【０３９０】
制御装置１０−２のサーバー部１７は、宛先アドレス「ＡＤ１１」及び送信元アドレス「ＡＤ２１」が付与されたパケットを、仮想ポート１４−２１に出力する。
【０３９１】
仮想ポート１４−２１は、クライアント部１６からパケットの入力を受けた場合、当該パケットを、振分部１２−１に出力する。
【０３９２】
振分部１２−１は、仮想ポート１４−２１からパケットの入力を受けた場合、振分規則保持部１３−１に格納された振分規則を検索する。当該パケットが宛先アドレスを「ＡＤ１１」、送信元アドレスを「ＡＤ２１」とするパケットであるため、振分部１２−１は、ノード装置制御部１１−２に対して、ノード装置２０−４のインターフェース部２２−４１から当該パケットを出力するよう要求するメッセージを出力する。
【０３９３】
ノード装置制御部１１−２は、振分部１２−２から上記のメッセージを受信した場合、制御チャネルを介して、ノード装置２０−４の通信処理部２１−４に対して、当該パケットと当該パケットをインターフェース部２２−４１に出力する旨の指示とを格納したパケット出力メッセージ（packet-out message）を送信する。
【０３９４】
ノード装置２０−４の通信処理部２１−４は、制御装置１０−２のノード装置制御部１１−２からパケット出力メッセージ（packet-out message）を受信した場合、インターフェース部２２−４１に対して、パケット出力メッセージ（packet-out message）に含まれるパケットを出力する。
【０３９５】
インターフェース部２２−４１は、通信処理部２１−４からパケットが入力された場合、データ通信リンクを介して、接続先であるノード装置２０−３のインターフェース部２２−３２に対して、当該パケットを転送する。
【０３９６】
ノード装置２０−３のインターフェース部２２−３２は、ノード装置２０−４のインターフェース部２２−４１からパケットを受信した場合、通信処理部２１−３に対して、当該パケットを出力する。
【０３９７】
通信処理部２１−３は、インターフェース部２２−３２からパケットが入力された場合、処理規則（フローエントリ）に基づいて、入力されたパケットを処理する。
【０３９８】
ここでは、通信処理部２１−３は、制御装置１０−１のノード装置制御部１１−１から、宛先アドレスを「ＡＤ１１」、送信元アドレスを「ＡＤ２１」とするパケットをインターフェース部２２−３２にて受信した際に、制御装置１０−１に対して、当該パケットと処理規則ＩＤ「Ａ１」を格納したパケット入力メッセージ（packet-in message）を出力するという旨の処理規則（フローエントリ）が設定されている。
【０３９９】
その結果、通信処理部２１−３は、制御チャネルを介して、ノード装置１０−１のノード装置制御部１１−１に対して、当該処理規則（フローエントリ）の判別条件（判別ルール）に合致しているパケットと処理規則ＩＤ「Ａ１」とを格納したパケット入力メッセージ（packet-in message）を出力する。
【０４００】
ノード装置１０−１のノード装置制御部１１−１は、ノード装置２０−３の通信処理部２１−３から上記のパケット入力メッセージ（packet-in message）が入力された場合、振分部１２−１に対して、上記のパケットと当該処理規則ＩＤ「Ａ１」とを格納したメッセージを出力する。
【０４０１】
振分部１２−１は、ノード装置制御部１１−１から上記のメッセージが入力された場合、振分規則保持部１３−１に格納された振分規則を検索し、上記のメッセージに含まれる処理規則ＩＤ「Ａ１」から、当該パケットを仮想ポート１４−１１へ出力すると判断し、上記のメッセージに含まれるパケットを仮想ポート１４−１１へ出力する。
【０４０２】
仮想ポート１４−１１は、振分部１２−１からパケットが入力された場合、接続先であるクライアント部１６に対して、当該パケットを出力する。
【０４０３】
クライアント部１６は、仮想ポート１４−１１からパケットが入力された場合、当該パケットを処理する。
【０４０４】
（データ通信リンクを介した通信）
第４実施形態において、第１実施形態と同様に、データ通信リンクを介したパケット転送により制御装置１０間の通信を行うことも可能である。
【０４０５】
（１）各ノード装置２０への処理規則（フローエントリ）の設定
初期的に、制御装置１０−１、１０−２の各々のノード装置制御部１１は、それぞれのネットワークにおいて、端点を結ぶ経路を計算し、経路中の各ノード装置２０にパケット転送のための処理規則（フローエントリ）を設定する。
【０４０６】
例えば、制御装置１０−１のノード装置制御部１１−１は、ネットワーク１において、ノード装置２０−１のインターフェース部２２−１１とノード装置２０−３のインターフェース部２２−３２との間を結ぶ経路を計算し、経路上の各ノード装置２０にパケット転送のための処理規則（フローエントリ）を設定する。
【０４０７】
同様に、制御装置１０−２のノード装置制御部１１−２は、ネットワーク２において、ノード装置２０−４のインターフェース部２２−４１とノード装置２０−６のインターフェース部２２−６２との間を結ぶ経路を計算し、経路上の各ノード装置２０にパケット転送のための処理規則（フローエントリ）を設定する。
【０４０８】
（２）データ通信用のリンクを介したパケットの送受信
次に、制御装置１０−１、１０−２の各々の振分部１２は、データ通信リンクを介して転送を行うパケットを、インターフェース管理部１５に接続された仮想ポート１４に出力する。この結果、インターフェース管理部１５から当該パケットが出力される。このとき、振分部１２は、振分規則保持部１３に格納された振分規則を参照し、出力先の仮想ポート１４を決定しても良い。
【０４０９】
例えば、制御装置１０−１の振分部１２−１は、宛先アドレス「ＡＤ２２」及び送信元アドレス「ＡＤ１２」が付与されたパケットを、仮想ポート１４−１２に出力する。これにより、当該パケットがインターフェース管理部１５−１から出力される。このとき、制御装置１０−１のクライアント部１６は、宛先アドレス「ＡＤ２２」及び送信元アドレス「ＡＤ１２」が付与されたパケットを、仮想ポート１４−１１経由で振分部１２−１に出力しても良い。
【０４１０】
同様に、制御装置１０−１の振分部１２−２は、宛先アドレス「ＡＤ１２」及び送信元アドレス「ＡＤ２２」が付与されたパケットを、仮想ポート１４−２２に出力する。その結果、当該パケットがインターフェース管理部１５−２から出力される。このとき、制御装置１０−１のサーバー部１７は、宛先アドレス「ＡＤ１２」及び送信元アドレス「ＡＤ２２」が付与されたパケットを、仮想ポート１４−２１経由で振分部１２−２に出力しても良い。
【０４１１】
各ノード装置２０の通信処理部２１は、処理規則（フローエントリ）にしたがって、当該パケットを転送する。
【０４１２】
制御装置１０−１、１０−２の各々のインターフェース管理部１５は、データ通信リンクを介してノード装置２０から入力されたパケットを、仮想ポート１４経由で振分部１２に出力する。
【０４１３】
例えば、制御装置１０−１のインターフェース管理部１５−１は、データ通信リンクを介してノード装置２０−１から入力されたパケットを、仮想ポート１４−１２経由で振分部１２−１に出力する。この場合、制御装置１０−１の振分部１２−１は、仮想ポート１４−１２から入力されたパケットを、仮想ポート１４−１１経由でクライアント部１６に出力しても良い。
【０４１４】
同様に、制御装置１０−２のインターフェース管理部１５−２は、データ通信用のリンクを介してノード装置２０−６から入力されたパケットを、仮想ポート１４−２２経由で振分部１２−２に出力する。このとき、制御装置１０−２の振分部１２−２は、仮想ポート１４−２２から入力されたパケットを、仮想ポート１４−２１経由でサーバー部１７に出力しても良い。
【０４１５】
［補足］
各制御装置１０の振分部１２は、該制御装置１０内の仮想ポート１４間のパケット転送については、振分規則保持部１３に格納された振分規則を参照せずに行うことも可能である。
【０４１６】
ただし、振分規則保持部１３は、制御装置１０内の仮想ポート１４間で送受信されるパケットの振分規則を格納していても良い。
【０４１７】
制御装置の一方を、ノード装置に接続された端末装置として用いる場合、この実施形態は、端末装置と制御装置間で、ＴＣＰ／ＩＰ等の従来の通信方式を用いた通信が可能となる。
【０４１８】
＜上記の実施形態で説明した通信システムの利点＞
これまでは、オープンフローネットワーク等のＣＤ分離型ネットワークにおいて、従来のＴＣＰ／ＩＰ等の通信方式を用いた制御装置間の通信を行うことは困難であった。本発明のこれらの実施形態に開示されたシステムを使用することで、複数の制御装置間でＴＣＰ／ＩＰ等の従来の通信方式を用いた通信が可能となる。
【０４１９】
これにより、ＴＣＰ／ＩＰ等の従来の通信アーキテクチャを用いた分散制御アプリケーションを再利用して、複数の制御装置でシステム全体を分散制御することが可能となるため、大規模なネットワークを構築することが容易となる。
【０４２０】
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【０４２１】
＜ハードウェア構成の例＞
以下に、本発明による通信システムで使用され得るハードウェアの例について説明する。
【０４２２】
制御装置として使用され得るデバイスの例として、ＰＣ（パーソナルコンピュータ）、アプライアンス（appliance）、シンクライアントサーバー、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機が挙げられる。なお、制御装置は、端末やサーバーに限らず、中継機器や周辺機器でも良い。また、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ）が、制御装置として使用されても良い。
【０４２３】
ノード装置として用いられ得るデバイスの例として、ネットワークスイッチ、ルータ、プロキシ、ゲートウェイ、ファイアウォール、負荷分散装置、帯域制御装置（packet shaper）、ＳＣＡＤＡ（supervisory control and data acquisition）セキュリティ監視制御装置、ゲートキーパー、基地局、アクセスポイント（ＡＰ）、通信衛星（ＣＳ）、及び、複数の通信ポートを有する計算機が挙げられる。また、物理マシン上に構築された仮想マシン（ＶＭ）により実現される仮想スイッチがノード装置として使用され得る。制御装置及びノード装置は、車両や船舶、航空機等の移動体に搭載されていても良い。
【０４２４】
一例では、図１２に示されているように、各制御装置１０は、記憶装置（メモリ）３１と、プロセッサ３２と、インターフェース３３とを備えていてもよい。記憶装置３１は、上記の制御装置の動作を記述したコード群を含むソフトウェアプログラム３１ａを格納している。記憶装置３１は、制御装置１０の動作において使用され生成される様々なデータを格納するためにも用いられる。プロセッサ３２は、ソフトウェアプログラム３１ａを実行して上記の制御装置１０の動作を行う。インターフェース３３は、ノード装置２０と通信するために用いられる。記憶装置３１へのソフトウェアプログラム３１ａのインストールのためには、非一時的記録媒体５０が使用されてもよい。
【０４２５】
同様に、図１３に示されているように、各ノード装置２０は、記憶装置（メモリ４１）と、プロセッサ４２と、インターフェース４３、４４とを備えていてもよい。記憶装置４１は、上述されたノード装置２０オン動作を記述したコード群を含むソフトウェアプログラム４１ａを格納している。記憶装置４１は、また、ノード装置２０の動作において使用され生成される様々なデータを格納するためにも使用される。プロセッサ３２は、ソフトウェアプログラム４１ａを実行して上記のノード装置１０の動作を行う。インターフェース４３は、制御装置１０と通信するために用いられる。記憶装置４１へのソフトウェアプログラム４１ａのインストールのためには、非一時的記録媒体６０が使用されてもよい。
【０４２６】
上記のプロセッサの例として、ＣＰＵ（central processing unit）、ネットワークプロセッサ（ＮＰ）、マイクロプロセッサ、マイクロコントローラ、或いは、専用の機能を有する大規模集積回路（ＬＳＩ）等が考えられる。
【０４２７】
上記の記憶装置（メモリ）３１、４１の例として、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の補助記憶装置、又はＤＶＤ（Digital Versatile Disk）等のリムーバブルディスクや、ＳＤメモリカード（Secure Digital memory card）等の記憶媒体（メディア）等が挙げられる。また、バッファ（buffer）やレジスタ（register）等が記憶装置（メモリ）３１、４１として用いられても良い。一実施形態では、ＤＡＳ（Direct Attached Storage）、ＦＣ−ＳＡＮ（Fibre Channel - Storage Area Network）、ＮＡＳ（Network Attached Storage）、ＩＰ−ＳＡＮ（IP - Storage Area Network）等を用いた記憶装置が記憶装置（メモリ）３１、４１として用いられても良い。
【０４２８】
プロセッサ３１と記憶装置３２とは、モノリシックに集積化されていても良く、また、プロセッサ４１と記憶装置４２とが、モノリシックに集積化されていても良い。近年では、１チップマイクロコンピュータが広く用いられるようになっている。一実施形態では、電子機器等に搭載される１チップマイコンが、上記のプロセッサ及び記憶装置を備えていてもよい。
【０４２９】
上記のインターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Network Interface Card）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が挙げられる。
【０４３０】
また、ネットワークの例として、インターネット、ＬＡＮ（Local Area Network）、無線ＬＡＮ（Wireless LAN）、ＷＡＮ（Wide Area Network）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（IEEE 802.16a）、３Ｇ（3rd Generation）、専用線（lease line）、ＩｒＤＡ（infrared data association）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が挙げられる。
【０４３１】
なお、制御装置及びノード装置の各々の内部の構成要素は、モジュール（module）、コンポーネント（component）、或いは、専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【０４３２】
但し、実際の実施は、これらの例に限定されない。
【０４３３】
＜要約＞
上述のように、本発明の実施形態に係る通信システムは、制御装置とノード装置とを含む。制御装置は、各ノード装置のパケット処理を制御する。
【０４３４】
ノード装置は、制御装置からの制御にしたがって、パケットを、所有する複数の物理インターフェース又は論理インターフェースから出力する。
【０４３５】
各制御装置は、当該制御装置の制御下にないネットワーク（即ち、自ネットワークの外部に設けられたネットワーク）との通信に用いるパケットの判別条件（判別ルール）を取得する。
【０４３６】
また、制御装置は、あるノード装置のインターフェースと、他のネットワークとの境界にある境界ノード装置が該自ネットワークの外部のデバイスとの接続に使用しているインターフェースとの間を結ぶ転送経路を計算する。
【０４３７】
一実施形態では、制御装置は、それぞれ、当該制御装置とデータ通信リンクでノード装置が所持するインターフェースを始点として、境界ノード装置が自ネットワークの外部に設けられた装置との接続に使用しているインターフェースを終点とする転送経路を計算する。又は、制御装置は、それぞれ、境界ノード装置が自ネットワークの外部に設けられた装置との接続に使用しているインターフェースを始点として、当該制御装置とデータ通信リンクで接続されたノード装置のインターフェースを終点とする転送経路を計算する。
【０４３８】
また、制御装置は、それぞれ、判別条件（ルール）に適合するパケットを、転送経路にしたがって転送するための処理規則（フローエントリ）をノード装置に対して設定する。
【０４３９】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように表現することも可能である。但し、実際の実施は、下記の付記に限定されない。
【０４４０】
（付記１）
制御装置がノード装置それぞれのパケット処理を制御し、ノード装置は、それぞれ、接続された制御装置の制御にしたがって所有する複数のインターフェースのいずれかにパケットを出力する通信システムであって、
当該制御装置が、
当該ノード装置のそれぞれを制御するための制御チャネルを設定し制御メッセージを送受信するノード通信部と、
当該ノード装置の１つのノード装置とデータ転送用のデータ通信リンクで接続されたネットワークインターフェースと、
当該ノード装置の内、異なる制御装置により制御される他のネットワークとの境界に位置する境界ノード装置を発見する隣接発見部と、
隣接する当該ネットワークの制御装置との通信に用いるパケットの判別条件（判別ルール）を計算する判別条件計算部と、制御装置の当該インターフェースと接続されているノード装置のいずれか１つ以上を始点として、他のネットワークに接続しているインターフェースへパケットを出力するための転送経路と、当該境界ノード装置を始点として、当該インターフェースと接続されているノード装置のインターフェースへパケットを出力するための転送経路を計算する経路計算部と、
当該判別条件（ルール）に適合するパケットを、当該転送経路にしたがって転送するための処理規則（フローエントリ）を各制御装置に接続された当該複数のノード装置に対して設定する処理規則計算部
とを含む
通信システム。
【０４４１】
（付記２）
当該隣接発見部は、当該ネットワークの内部において当該ノード装置間の接続関係を探索する探索パケットに、各制御装置のユニークな識別情報を埋め込む
付記１に記載の通信システム。
【０４４２】
（付記３）
当該判別条件計算部は、当該制御装置が当該境界ノード装置に対して、判別条件（ルール）を格納したパケットを他のネットワークと接続されている当該インターフェースから出力することを指示する
付記１に記載の通信システム。
【０４４３】
（付記４）
当該判別条件計算部は、各ネットワークの内部においてノード装置間の接続関係を探索する探索パケットに、制御装置間の通信で用いるパケット判別規則を埋め込む
付記１に記載の通信システム。
【０４４４】
（付記５）
当該経路計算部は、ノード装置より当該インターフェースを介して制御装置に送信された当該探索パケット内の識別情報を参照し、自制御装置を示す識別情報と同一であった場合、制御装置と接続されているノード装置のインターフェースを経路計算の端点と決定する
付記１〜４のいずれかに記載の通信システム。
【０４４５】
［付記６］
当該ネットワークインターフェースは、ネットワークリンク接続用のケーブルによって物理的に接続されている
付記１〜５のいずれかに記載の通信システム。
【０４４６】
（付記７）
当該制御装置は、パケットを送受信する１つ以上の仮想ポートと、パケットの振分規則を保持する振分規則保持部と、パケットの振分先を特定する振分部とを備え、
当該振分規則保持部は、パケットの振分規則を１つ以上保持し、参照要求に応じて当該振分規則を検索して返答し、
当該振分部は、当該振分規則保持部を参照して得られる当該振分規則に従い当該境界ノード装置のインターフェースと当該仮想ポートとの間で送受信されるパケットの転送先を特定する
付記１〜５のいずれかに記載の通信システム。
【０４４７】
（付記８）
当該通信システムは、複数の制御装置を備え、当該複数の制御装置間において、ある制御装置が制御するノード装置のインターフェース部が、他の制御装置が制御するノード装置のインターフェース部と通信回線を介して接続し、
該制御装置のそれぞれは、他の制御装置と通信する広域制御部を備え、
当該広域制御部は、それぞれ１つ以上の当該仮想ポートと接続し、
複数の当該広域制御部は、互いに当該仮想ポートを介して通信する
付記１〜５のいずれかに記載の通信システム。
【０４４８】
［付記９］
制御装置が複数のノード装置のそれぞれのパケット処理を制御し、ノード装置は、それぞれ当該制御装置の制御にしたがって所有する複数のインターフェースのいずれかに出力する通信方法であって、
各制御装置は、当該ノード装置の内いずれか１つ以上のノード装置とデータ転送リンク接続を行うネットワークインターフェースによって接続し、
当該ノード装置の内、異なる制御装置により制御される他のネットワークとの境界に位置する境界ノード装置を発見し、
当該他のネットワークの制御装置との通信に用いるパケットの判別条件（判別ルール）を計算し、
制御装置の当該インターフェースと接続されているノード装置のいずれか１つ以上を始点として、当該境界ノード装置が配置された自ネットワーク外の他のネットワークへと接続しているインターフェースへ出力するための転送経路と、当該境界ノード装置を始点として、制御装置の当該インターフェースと接続されているノード装置のインターフェースへ出力するための転送経路を計算し、
当該判別条件（判別ルール）に適合するパケットを、当該転送経路にしたがって転送するための処理規則（フローエントリ）を当該複数のノード装置に対して設定し、
当該処理規則（フローエントリ）にしたがって、当該判別条件（ルール）に対応するパケットを処理する
通信方法。
【０４４９】
［付記１０］
各制御装置が、当該ネットワークの内部において当該ノード装置間の接続関係を探索する探索パケットの内部に、各制御装置のユニークな識別情報を埋め込み、当該制御装置が当該探索パケットの内部の識別情報を参照し、当該パケット内部の識別情報と自制御装置の識別情報を比較することで、他の制御装置からの探索パケットであることを判別する
付記９に記載の通信方法。
【０４５０】
［付記１１］
当該制御装置が、当該境界ノード装置に対して、判別条件（判別ルール）を格納したパケットを他のネットワークと接続されている当該インターフェースから出力することを指示する
付記９に記載の通信方法。
【０４５１】
［付記１２］
当該制御装置は、当該ネットワークの内部において当該ノード装置間の接続関係を探索するために使用される探索パケットの内部に、制御装置間の通信で用いるパケット判別規則を埋め込む
付記９に記載の通信方法。
【０４５２】
［付記１３］
各制御装置は、ノード装置より当該インターフェースを介して制御装置に送信された当該探索パケット内の識別情報を参照し、自制御装置を示す識別情報と同一であった場合、当該インターフェースが制御装置と接続されているノード装置として、経路計算の端点に利用する
付記９〜１２のいずれかに記載の通信方法。
【０４５３】
［付記１４］
当該制御装置は、ネットワークリンク接続用のケーブルによってノード装置と物理的に接続する
付記９〜１３のいずれかに記載の通信方法。
【０４５４】
［付記１５］
複数のノード装置のパケット処理を制御する制御装置であって、
当該ノード装置の内いずれか１つ以上のノード装置とデータ転送リンクを介して接続されるネットワークインターフェースと、
当該ノード装置の内、異なる制御装置により制御される他のネットワークとの境界に位置する境界ノード装置を発見する隣接発見部と、
隣接する当該ネットワークの制御装置との通信に用いるパケットの判別条件（判別ルール）を計算する判別条件計算部と、
制御装置のインターフェースと接続されているノード装置のいずれか１つ以上を始点として、当該境界ノード装置が配置された他のネットワークに接続しているインターフェースへパケットを出力するための転送経路と、当該境界ノード装置を始点として、当該制御装置のインターフェースと接続されているノード装置のインターフェースへパケットを出力するための転送経路を計算する経路計算部と、
当該判別条件（ルール）に適合するパケットを、当該転送経路にしたがって転送するための処理規則（フローエントリ）を当該複数のノード装置に対して設定する処理規則計算部と、
を備える
制御装置。
【０４５５】
［付記１６］
当該隣接発見部は、当該ネットワークの内部において当該ノード装置間の接続関係を探索する探索パケットの内部に、各制御装置のユニークな識別情報を埋め込む
付記１５に記載の制御装置。
【０４５６】
［付記１７］
当該制御装置の当該判別条件計算部は、当該制御装置が当該境界ノード装置に対して、判別条件（判別ルール）を格納したパケットをネットワーク外と接続されている当該インターフェースから出力することを指示する
付記１５に記載の制御装置。
【０４５７】
［付記１８］
当該判別条件計算部は、当該ネットワークの内部において当該ノード装置間の接続関係を探索する探索パケットの内部に、制御装置間の通信で用いる判別条件を埋め込む
付記１５に記載の制御装置。
【０４５８】
［付記１９］
当該経路計算部は、ノード装置より当該インターフェースを介して制御装置に送信された当該探索パケット内の識別情報を参照し、自制御装置を示す識別情報と同一であった場合、当該インターフェースを当該制御装置との接続に使用されているノード装置として、経路計算の端点に利用する
付記１５〜１８のいずれかに記載の制御装置。
【０４５９】
［付記２０］
当該ネットワークインターフェースは、ネットワークリンク接続ケーブルによって物理的に接続されている
付記１５〜２０のいずれかに記載の制御装置。
【０４６０】
なお、情報処理装置を上記の制御装置として用いてもよい。また、通信装置を上記のノード装置として用いてもよい。
【０４６１】
＜備考＞
以上、本発明をその実施形態を参照しながら詳細に図示し、説明しているが、本発明はこれらの例に限定されない。本発明の本旨とスコープを逸脱しない限り、形態は詳細における様々な変更がなされ得ることは、当業者には理解されよう。
【０４６２】
本願は、２０１２年３月２３日に出願された特願２０１２−０６８２８６号の優先権の利益を主張し、基づくものであり、その開示は参照によりそのまま本願に組み込まれる。
【図１】
2015511074.tif 000003
【図２】
2015511074.tif 000004
【図３】
2015511074.tif 000005
【図４】
2015511074.tif 000006
【図５】
2015511074.tif 000007
【図６Ａ】
2015511074.tif 000008
【図６Ｂ】
2015511074.tif 000009
【図７】
2015511074.tif 000010
【図８】
2015511074.tif 000011
【図９Ａ】
2015511074.tif 000012
【図９Ｂ】
2015511074.tif 000013
【図１０Ａ】
2015511074.tif 000014
【図１０Ｂ】
2015511074.tif 000015
【図１１Ａ】
2015511074.tif 000016
【図１１Ｂ】
2015511074.tif 000017
【図１２】
2015511074.tif 000018
【図１３】
2015511074.tif 000019
【手続補正書】
【提出日】平成26年10月6日(2014.10.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】
前記第１のノード装置は、前記第２の制御装置からのパケットを処理するための処理規則を、前記第１の制御装置に要求し、
前記第１の制御装置は、前記第１のノード装置の前記要求に応じて、前記第１のノード装置を他のネットワークとの境界にあるノード装置として特定し、
前記第２のノード装置は、前記第１の制御装置からのパケットを処理するための処理規則を、前記第２の制御装置に要求し、
前記第２の制御装置は、前記第２のノード装置の前記要求に応じて、前記第２のノード装置を他のネットワークとの境界にあるノード装置として特定する
請求項１に記載の通信システム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
前記第１の制御装置は、前記第１のノード装置に対して、前記第１の制御装置から前記第２の制御装置宛のパケットを前記第２のノード装置に転送するための処理規則を設定し、
前記第１のノード装置は、前記第１の制御装置から設定された処理規則にしたがって、前記第１の制御装置から前記第２の制御装置宛のパケットを前記第２のノード装置に転送し、
前記第２の制御装置は、前記第２のノード装置に対して、前記第２の制御装置から前記第１の制御装置宛のパケットを前記第１のノード装置に転送するための処理規則を設定し、
前記第２のノード装置は、前記第２の制御装置から設定された処理規則にしたがって、前記第２の制御装置から前記第１の制御装置宛のパケットを前記第１のノード装置に転送する
請求項１乃至７のいずれか一項に記載の通信システム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０３７０
【補正方法】変更
【補正の内容】
【０３７０】
（ノード装置２０−３への処理規則（フローエントリ）の登録）
制御装置１０−１のノード装置制御部１１−１は、振分規則保持部１３−１に格納された振分規則を検索し、ノード装置２０−３に対して、処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を出力する。ここでは、当該処理規則（フローエントリ）の判別条件（ルール）として、宛先アドレス「ＡＤ１１」、及び送信元アドレス「ＡＤ２１」が指定される。また、当該処理規則（フローエントリ）の処理内容（アクション）が、当該パケットと処理規則ＩＤ「Ａ１」を格納したパケット入力メッセージ（Packet-In Message）を制御装置１０−１（又は、制御装置１０−１に接続された出力ポート）に出力する動作を指定する。すなわち、ノード装置制御部１１−１は、ノード装置２０−３に対して、インターフェース部２２−３２が、宛先アドレスを「ＡＤ１１」、送信元アドレスを「ＡＤ２１」とするパケットを受信した際、当該パケットと処理規則ＩＤ「Ａ１」を格納したパケット入力メッセージ（packet-in message）を制御装置１０−１へ出力する処理を行うよう指示するフロー変更メッセージ（FlowMod-Add）を出力する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０３７１
【補正方法】変更
【補正の内容】
【０３７１】
（ノード装置２０−４への処理規則（フローエントリ）の登録）
制御装置１０−２のノード装置制御部１１−２は、振分規則保持部１３−２に格納された振分規則を検索し、ノード装置２０−４に対して、処理規則（フローエントリ）を登録するためのフロー変更メッセージ（FlowMod-Add）を出力する。ここでは、当該処理規則（フローエントリ）の判別条件（判別ルール）として、宛先アドレス「ＡＤ２１」、及び送信元アドレス「ＡＤ１１」を指定する。また、当該処理規則（フローエントリ）の処理内容（アクション）として、制御装置１０−２（又はノード装置１０−２に接続された出力ポート）に当該パケットと処理規則ＩＤ「Ｂ１」を格納したパケット入力メッセージ（packet-in message）を出力する動作を指定する。すなわち、ノード装置制御部１１−２は、ノード装置２０−４に対して、インターフェース部２２−２３が、宛先アドレスを「ＡＤ２１」、送信元アドレスを「ＡＤ１１」とするパケットを受信した際、当該パケットと処理規則ＩＤ「Ｂ１」を格納したパケット入力メッセージ（packet-in message）を制御装置１０−２へ出力する処理を行うよう指示するフロー変更メッセージ（FlowMod-Add）を出力する。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図６Ａ
【補正方法】変更
【補正の内容】
【図６Ａ】
2015511074.tif 000020
【国際調査報告】
2015511074.tif 000021
2015511074.tif 000022