内部のフローテーブルに登録されたフローエントリに従ってパケットを転送するスイッチと、前記スイッチからパケットについての問い合わせを受けた際に、前記スイッチの内部のフローテーブルに、当該パケットについてのルールとアクションとを定義したフローエントリを登録するコントローラーと、前記スイッチに接続された隣接スイッチとを含み、前記スイッチは、ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルと、ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルとを含むスイッチシステム。請求項1に記載のスイッチシステムであって、前記コントローラーは、ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを前記第1テーブルに登録し、更に、前記スイッチから転送されたパケットを解析し、解析結果を基に、当該パケットについての統計情報を取得するための統計用エントリを前記第1テーブルに登録し、更に、前記スイッチから通知された統計情報を基に、前記パケット転送用エントリを前記第2テーブルに登録し、前記スイッチは、前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送し、更に、前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知するスイッチシステム。請求項1又は2に記載のスイッチシステムであって、前記第1テーブルには、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリが登録されており、前記第2テーブルには、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリが登録されており、前記スイッチは、最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送し、前記コントローラーは、前記スイッチから転送されたパケットについて、該当するパケット転送用エントリがあれば、当該パケット転送用エントリを前記第1テーブルに登録し、当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ廃棄するための廃棄用エントリを前記第2テーブルに登録するスイッチシステム。ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルと、ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルと、前記問い合わせ用エントリ及び前記パケット転送用エントリの各々に従ってパケットを転送する手段とを具備するスイッチ。請求項4に記載のスイッチであって、ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを前記第1テーブルに登録する手段と、前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送する手段と、前記コントローラーにパケットを転送した際、前記コントローラーからの制御により、当該パケットについての統計情報を取得するための統計用エントリを前記第1テーブルに登録する手段と、前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知する手段と、前記コントローラーに統計情報を通知した際、前記コントローラーからの制御により、前記パケット転送用エントリを前記第2テーブルに登録する手段とを更に具備するスイッチ。請求項4又は5に記載のスイッチであって、前記第1テーブルには、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリが登録されており、前記第2テーブルには、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリが登録されており、最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送する手段と、前記コントローラーにパケットを転送した際、前記コントローラーからの制御により、当該パケットについてのパケット転送用エントリを前記第1テーブルに登録する手段と、当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ廃棄するための廃棄用エントリを前記第2テーブルに登録する手段とを更に具備するスイッチ。スイッチの内部に、フローテーブルとして、ルールに該当するパケットをコントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを設けることと、前記スイッチの内部に、フローテーブルとして、ルールに該当するパケットを隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを設けることと、前記スイッチにおいて、内部のフローテーブルに登録されたフローエントリに従ってパケットを転送することと、前記コントローラーにおいて、前記スイッチからパケットについての問い合わせを受けた際に、前記スイッチの内部のフローテーブルに、当該パケットについてのルールとアクションとを定義したフローエントリを登録することとを含むモニタリング集中管理方法。請求項7に記載のモニタリング集中管理方法であって、前記コントローラーから、前記第1テーブルに、ルールに該当するパケットをコピーして前記コントローラーに転送するためのミラーリング用エントリを登録することと、前記スイッチにおいて、前記ミラーリング用エントリに従い、ルールに該当するパケットをコピーして前記コントローラーに転送することと、前記コントローラーにおいて、前記スイッチから転送されたパケットを解析することと、解析結果を基に、前記コントローラーから、前記第1テーブルに、当該パケットについての統計情報を取得するための統計用エントリを登録することと、前記スイッチにおいて、前記統計用エントリに従い、ルールに該当するパケットについての統計情報を取得して前記コントローラーに通知することと、前記スイッチから転送された統計情報を基に、前記コントローラーから、前記第2テーブルに、前記パケット転送用エントリを登録することとを更に含むモニタリング集中管理方法。請求項7又は8に記載のモニタリング集中管理方法であって、前記第1テーブルに、予め全てのパケットを前記コントローラーに転送するための第1デフォルトエントリを登録しておくことと、前記第2テーブルに、予め全てのパケットを前記隣接スイッチに転送するための第2デフォルトエントリを登録しておくことと、前記スイッチにおいて、最初、前記第1デフォルトエントリ及び前記第2デフォルトエントリの各々に従ってパケットを転送することと、前記コントローラーにおいて、前記スイッチから転送されたパケットについて、該当するパケット転送用エントリがあれば、当該パケット転送用エントリを前記第1テーブルに登録することと、前記コントローラーにおいて、当該パケット転送用エントリと同じルールで、何もしない、もしくはドロップ廃棄するための廃棄用エントリを前記第2テーブルに登録することとを更に含むモニタリング集中管理方法。ルールに該当するパケットを前記コントローラーに転送するための問い合わせ用エントリを登録するための第1テーブルを参照するステップと、ルールに該当するパケットを前記隣接スイッチに転送するためのパケット転送用エントリを登録するための第2テーブルを参照するステップと、前記問い合わせ用エントリ及び前記パケット転送用エントリの各々に従ってパケットを転送するステップとをスイッチに実行させるためのプログラムを格納した記憶媒体。<第1実施形態>以下に、本発明の第1実施形態について添付図面を参照して説明する。[システム構成]図1に示すように、本発明の第1実施形態におけるスイッチシステムは、スイッチ101と、コントローラー102と、隣接スイッチ103を含む。スイッチ101は、スイッチ本体を表す。なお、スイッチ101は、制御プロトコル例えばオープンフロー等に対応し、パケット転送用のテーブルやモニタリング用のテーブルを集中管理する外部のコントローラーから変更可能であるものとする。コントローラー102は、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101を制御する。隣接スイッチ103は、スイッチ101に隣接する。[ハードウェアの例示]スイッチ101及び隣接スイッチ103の例として、オープンフロースイッチを想定している。オープンフロースイッチの例として、ネットワークスイッチnetworkswitch、マルチレイヤスイッチmulti-layerswitch等が考えられる。マルチレイヤスイッチは、サポートするOSI参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層第3層のデータを読むレイヤ3スイッチ、トランスポート層第4層のデータを読むレイヤ4スイッチ、アプリケーション層第7層のデータを読むレイヤ7スイッチアプリケーションスイッチがある。なお、オープンフローネットワークでは、一般的なルータやスイッチングハブ等の中継装置をオープンフロースイッチとして使用することもできる。また、スイッチ101及び隣接スイッチ103は、物理マシン上に構築された仮想スイッチでも良い。また、スイッチ101及び隣接スイッチ103の代替例として、ルータrouter、プロキシproxy、ゲートウェイgateway、ファイアウォールfirewall、ロードバランサloadbalancer:負荷分散装置、帯域制御装置packetshaper、セキュリティ監視制御装置SCADA:SupervisoryControlAndDataAcquisition、ゲートキーパーgatekeeper、基地局basestation、アクセスポイントAP:AccessPoint、通信衛星CS:CommunicationSatellite、或いは、複数の通信ポートを有する計算機等も考えられる。コントローラー102の例として、PCパソコン、アプライアンスappliance、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラー102は、物理マシン上に構築された仮想マシンVM:VirtualMachineでも良い。スイッチ101、コントローラー102、及び隣接スイッチ103を接続するネットワークの例として、LANLocalAreaNetworkを想定している。他の例として、インターネット、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等も考えられる。図示しないが、スイッチ101、コントローラー102、及び隣接スイッチ103は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、通信用インターフェースI/F:interfaceとによって実現される。上記のプロセッサの例として、CPUCentralProcessingUnit、マイクロプロセッサmicroprocessor、マイクロコントローラー、或いは、専用の機能を有する半導体集積回路IntegratedCircuitIC等が考えられる。上記のメモリの例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDisk等のリムーバブルディスクや、SDメモリカードSecureDigitalmemorycard等の記憶媒体メディア等が考えられる。或いは、DASDirectAttachedStorage、FC-SANFibreChannel-StorageAreaNetwork、NASNetworkAttachedStorage、IP-SANIP-StorageAreaNetwork等を用いたストレージ装置でも良い。上記の通信用インターフェースの例として、ネットワーク通信に対応した基板マザーボード、I/Oボードやチップ等の半導体集積回路、NICNetworkInterfaceCard等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口コネクタ等の通信ポート等が考えられる。但し、実際には、これらの例に限定されない。スイッチ101は、ハードウェア転送部スイッチング部104と、フローテーブル105と、プロトコル制御部108を備える。ハードウェア転送部104は、スイッチングを行い、スイッチ外部から受信したパケットや、スイッチ内部にあるパケットをハードウェア転送する。ハードウェア転送とは、スイッチにおいて、CPUを介在することなく、例えばスイッチチップ内に閉じて転送することである。フローテーブル105は、転送用テーブル106と、モニタリング用テーブル107を含む。転送用テーブル106は、パケット転送用エントリを登録するための転送用のフローテーブルを表す。パケット転送用エントリとは、ルールマッチ条件に該当するパケットを、スイッチ101の所定のポートPortに転送し、当該ポートの出力先にある隣接スイッチ103にハードウェア転送するためのフローエントリである。モニタリング用テーブル107は、ミラーリング用エントリ及び統計用エントリを登録するためのモニタリング用のフローテーブルを表す。ミラーリング用エントリとは、ルールマッチ条件に該当するパケットをコントローラー102に転送ミラーリングするためのフローエントリである。ミラーリングとは、対象のネットワークに流れているパケットを通常通り転送しつつ、当該パケットをコピー複写して任意の転送先に転送することである。ネットワーク通信においては、受信した1つの通信データを複写して複数の転送先に転送することも可能である。統計用エントリとは、ルールマッチ条件に該当するパケットについての統計情報を取得するためのフローエントリである。ミラーリング用エントリ及び統計用エントリは、コントローラー102への問い合わせ用エントリの1つであるといえる。プロトコル制御部108は、オープンフローOpenFlow技術を使用した制御を行う。プロトコル制御部108は、ハードウェア転送部104から受け取ったパケットをコントローラー102に送信し、コントローラー102からの制御に応じて、フローテーブル105へのエントリの登録変更を行う。パケット109は、スイッチ101が受信したパケットを表す。経路110は、スイッチ101とコントローラー102との間の経路を表す。ハードウェア転送部104は、受信パケットについてフローテーブル105を検索した結果、モニタリング用テーブル107内に適合Hitしたエントリがあれば、当該エントリにしたがって、経路110と接続された出力ポートに当該受信パケットを出力し、経路110を経由してコントローラー102に転送する。経路111は、スイッチ101と隣接スイッチ103との間の経路を表す。ハードウェア転送部104は、受信パケットについてフローテーブル105を検索した結果、転送用テーブル106内に適合Hitしたエントリがあれば、当該エントリにしたがって、経路111と接続された出力ポートに当該受信パケットを出力し、経路111を経由して隣接スイッチ103に転送する。[パケット受信時の動作]図1では、スイッチにてパケットを受信時の動作を表している。ハードウェア転送部104は、パケット109を受信した時、フローテーブル105に所属している転送用テーブル106、及びモニタリング用テーブル107に登録されているエントリを検索し、パケット109の情報と比較を行い、エントリの条件にパケット109が合致している場合、パケット109に対し、そのエントリに記されているアクション所定の処理を行う。例えば、ハードウェア転送部104は、エントリのアクション所定の処理として、当該パケットを隣接スイッチ103にハードウェア転送する旨が記されている場合、パケット109を、経路111を通して隣接スイッチ103へハードウェア転送する。また、ハードウェア転送部104は、エントリのアクション所定の処理として、当該パケットをコントローラー102へ転送する旨が記されている場合、プロトコル制御部108を経由し、スイッチ101とコントローラー102間で規定されたプロトコルのルールに従い、経路110を通してコントローラー102へ転送する。なお、本発明では、ハードウェア転送部104は、1つの受信パケットに対して、転送用テーブル106とモニタリング用テーブル107のそれぞれのエントリを検索し、両テーブルに合致する条件のエントリがあった場合、両方のエントリに記載されているアクション所定の処理を同時に実施するマルチヒット動作を行うものとする。例えば、ハードウェア転送部104は、1つのパケット109に合致するエントリが転送用テーブル106、及びモニタリング用テーブル107の両方にあり、転送用テーブル106のエントリのアクション所定の処理には隣接スイッチ103へのハードウェア転送が記され、モニタリング用テーブル107のアクション所定の処理にはコントローラー102への転送ミラーリングが記されていた場合、パケット109を受信すると、経路111を通して隣接スイッチ103にハードウェア転送し、同時に、経路110を通してコントローラー102へも転送ミラーリングする。[フローテーブルにエントリを登録する場合]図2を参照して、コントローラーからスイッチのフローテーブルに対してエントリを登録する場合について説明する。エントリ登録112は、モニタリング用テーブル107にミラーリング用エントリ及び統計用エントリを登録する場合の制御データの流れを表す。エントリ登録113は、転送用テーブル106にパケット転送用エントリを登録する場合の制御データの流れを表す。コントローラー102からモニタリング用テーブル107にミラーリング用エントリや統計用エントリを登録する場合、エントリ登録112のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間でプロトコルに従ったプロトコルメッセージを使用し、コントローラー102からエントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、ミラーリング用エントリや統計用エントリを登録する。コントローラー102から転送用テーブル106にパケット転送用エントリを登録する場合、エントリ登録113のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間で規定されているプロトコルに従ったプロトコルメッセージを使用し、コントローラー102からエントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、転送用テーブル106に対して、パケット転送用エントリを登録する。[統計情報を取得する場合]図3を参照して、コントローラーからスイッチの統計情報を取得する場合について説明する。統計情報取得要求114は、統計情報を取得するためのリクエスト制御データの流れを表す。統計情報応答115は、統計情報をコントローラー102へ送る制御データの流れを表す。コントローラー102からスイッチ101に統計情報の取得を要求する場合、統計情報取得要求114のように、コントローラー102とスイッチ101内部のプロトコル制御部108との間で規定されたプロトコルに従ったプロトコルメッセージを使用し、コントローラー102から統計情報取得要求を行う。プロトコル制御部108は、コントローラー102から統計情報取得要求を受けると、モニタリング用テーブル107に対して統計情報取得を行う。ここでは、プロトコル制御部108は、統計用エントリにヒット該当するパケットの統計情報を収集し、モニタリング用テーブル107に蓄積する。スイッチ101からコントローラー102に取得した統計情報を応答する場合、統計情報応答115のように、モニタリング用テーブル107は、統計情報取得要求114を受け、プロトコル制御部108に対して、統計情報を応答する。プロトコル制御部108は、プロトコルに従ったプロトコルメッセージを使用し、コントローラー102に対して、統計情報応答115により、取得した統計情報を応答する。[ネットワークのシステム視点]図4から図9において、ネットワークのシステム視点で、本発明の第1実施形態における制御データの流れを表す。本実施形態では、制御プロトコル例えばオープンフロー等に準拠して、スイッチのパケットの転送用テーブルをコントローラーから変更する集中管理型のネットワークであることを前提とする。なお、スイッチ101、コントローラー102については、図1と同様である。[パケット転送]図4を参照して、転送用テーブルに従ったパケット転送の例について説明する。パケット205は、スイッチ101が受信したパケットを表す。なお、パケット205は、図1のパケット109に相当する。パケット206は、内部構成としてA、a、1、DATAを含むパケットを表す。パケット207は、内部構成としてA、a、2、DATAを含むパケットを表す。パケット208は、内部構成としてA、b、1、DATAを含むパケットを表す。パケット209は、内部構成としてB、a、1、DATAを含むパケットを表す。パケット群210は、スイッチ101のポートの1つであるPort1から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208を含む。パケット群211は、スイッチ101のポートの1つであるPort2から出力されたパケット群を表す。ここでは、パケット群211は、パケット209を含む。エントリ212は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Aを含むパケットをPort1に転送するためのパケット転送用エントリを表す。エントリ213は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Bを含むパケットをPort2に転送するためのパケット転送用エントリを表す。図4は、モニタリング用テーブル107にエントリが無く、転送用テーブル106にエントリ212とエントリ213が既に登録されており、パケットの転送のみ行っている通常状態である。スイッチ101が受信する可能性のあるパケットとしては、パケットの内部構成に応じて、パケット206、パケット207、パケット208、パケット209がある。スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Aを含むパケットをPort1に転送するためのパケット転送用エントリエントリ212に従い、パケット206、パケット207、パケット208を、パケット群210としてPort1から出力する。また、スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Bを含むパケットをPort2に転送するためのパケット転送用エントリエントリ213に従い、パケット209を、パケット群211としてPort2から出力する。[モニタリング用テーブルへのミラーリング用エントリ登録]図5を参照して、モニタリング用テーブルへのミラーリング用エントリ登録の例について説明する。エントリ登録214は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101のモニタリング用テーブル107にミラーリング用エントリを登録する場合の制御データの流れを表す。エントリ215は、モニタリング用テーブル107に登録されているモニタリング用エントリの1つであり、Aを含むパケットをコントローラー102に転送ミラーリングするためのミラーリング用エントリを表す。例えば、図4の状態において、Port1の先で輻輳が発生した場合等、パケット転送用のエントリ212に含まれる通信を解析し、原因を特定したい時に、図5に示すミラーリング用エントリ登録を行う。まず、エントリ登録214で示すように、コントローラー102からスイッチ101のモニタリング用テーブル107にAを含むパケットをコントローラーに転送ミラーリングするというエントリ215を登録する。ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、プロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、ミラーリング用のエントリ215を登録する。なお、コントローラー102は、転送用テーブル212の制御も行っているため、エントリ215の条件を選定するのは可能である。[コントローラーへの問い合わせ]図6を参照して、既存のエントリにヒットするものがない未知のパケットについて、コントローラーへの問い合わせを行う処理の例について説明する。パケット216は、スイッチ101からコントローラー102に転送されるパケットミラーパケットを表す。スイッチ101の内部にあるプロトコル制御部108は、図5でモニタリング用テーブル107に登録したエントリ215に従い、図6のパケット216のように、コントローラー102に対して、Aを含むパケットをミラーパケットとして送信する。なお、スイッチ101の内部のハードウェア転送部104では、転送用テーブル106とモニタリング用テーブル107のマルチヒット動作を行うため、通常の転送パケット群210、パケット群211の処理をそのまま継続した状態で、パケット216のミラーリングが可能である。また、ミラーリングすることにより、コントローラー102は、Port1に転送されるパケット群210の中に、パケット206、パケット207、パケット208が存在することを認識することができる。[モニタリング用テーブルへの統計用エントリ登録]図7を参照して、モニタリング用テーブルへの統計用エントリ登録の例について説明する。エントリ登録217は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101のモニタリング用テーブル107に統計用エントリを登録する場合の制御データの流れを表す。エントリ218は、モニタリング用テーブル107に登録されているモニタリング用エントリの1つであり、Aを含むパケットに適合Hitする統計用エントリを表す。コントローラー102は、図6のモニタリング結果ミラーパケットを受けて、図7のエントリ登録217のように、Aを含むパケットという粒度よりも更に細かい粒度のA、aを含むパケットという条件の統計情報収集用のエントリ218をモニタリング用テーブル107に登録する。ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、プロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、モニタリング用テーブル107に対して、統計情報収集用のエントリ218を登録する。[コントローラーへの統計情報の通知]図8を参照して、コントローラーに対する統計情報の通知の例について説明する。統計情報219は、スイッチ101からコントローラー102に送られた統計情報を表す。スイッチ101は、図7で登録されたエントリ218にヒットするパケットに対して、図8で示すように、統計情報の取得を行う。スイッチ101は、エントリ218にヒットしたパケットの統計情報219をコントローラー102へ送信する。[転送用テーブルへのパケット転送用エントリ登録]図9を参照して、統計情報に基づく転送用テーブルへのパケット転送用エントリ登録の例について説明する。パケット群210は、スイッチ101のPort1から出力されたパケット群を表す。ここでは、パケット群210は、パケット208を含む。パケット群211は、スイッチ101のPort2から出力されたパケット群を表す。ここでは、パケット群211は、パケット206と、パケット207と、パケット209を含む。エントリ登録220は、コントローラー102から、制御プロトコルに準拠して、セキュアチャネル経由で、スイッチ101の転送用テーブル106にパケット転送用エントリを登録する場合の制御データの流れを表す。エントリ221は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、A、aを含むパケットをPort2に転送するためのパケット転送用エントリを表す。コントローラー102は、図8の統計情報の収集結果等を踏まえて、エントリ登録220のように、A、aを含むパケットをPort2へ転送するというエントリ221を転送用テーブルに登録し、A、aを含むパケットをPort2から送信されるパケット群211に変更する。ここでは、コントローラー102は、スイッチ101内部のプロトコル制御部108に対して、規定されているプロトコルに従ったプロトコルメッセージを送信し、エントリ登録要求を行う。プロトコル制御部108は、コントローラー102からエントリ登録要求を受けると、エントリ登録要求の内容に応じて、転送用テーブル106に対して、パケット転送用のエントリ221を登録する。スイッチ101の内部にあるハードウェア転送部104は、転送用テーブル106に登録されているエントリ221に従い、A、aを含むパケットであるパケット206、パケット207を、パケット群211に加えて、Port2から出力する。この場合、ハードウェア転送部104は、パケット208を、パケット群210としてPort1から出力し、パケット206、パケット207、パケット209を、パケット群211としてPort2から出力する。このように、本実施形態では、コントローラーがモニタリング処理を集中制御しているため、モニタリング結果をスイッチの経路制御に反映することができる。[動作シーケンス]図10A、図10Bを参照して、本発明の第1実施形態におけるスイッチシステムの動作を表したシーケンスについて説明する。なお、スイッチ101、コントローラー102については、図1と同様である。1ステップS101コントローラー102は、スイッチ101宛に、オープンフロー技術における制御プロトコルオープンフロープロトコルに準拠したProtocolmessageでミラーリング用エントリの登録の要求を送信する。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102からProtocolmessageでミラーリング用エントリの登録の要求を受信する。この処理フローは、図5のエントリ登録214に含まれる。2ステップS102プロトコル制御部108は、ミラーリング用エントリの登録の要求に応じて、モニタリング用テーブル107へミラーリング用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由してモニタリング用テーブル107へミラーリング用エントリを登録する制御を行う。この処理フローは、図5のエントリ登録214に含まれる。3ステップS103プロトコル制御部108は、モニタリング用テーブル107へのミラーリング用エントリ図5のエントリ215の登録を完了する。スイッチ101の内部にあるハードウェア転送部104は、ミラーリング用エントリの登録が完了した時点から、ミラーリングを開始する。4ステップS104ハードウェア転送部104は、スイッチ101の外部からパケットを受信した際、受信パケットが、モニタリング用テーブル107に登録されたミラーリング用エントリに適合Hitするか確認する。なお、実際には、スイッチ内部で生成されたパケットに対しても同様の処理を行う。5ステップS105ハードウェア転送部104は、受信パケットが、モニタリング用テーブル107に登録されたミラーリング用エントリに適合Hitする場合、コントローラー102宛にミラーリングするために、プロトコル制御部108にパケット図6のパケット216を転送する。6ステップS106プロトコル制御部108は、コントローラー102宛にProtocolmessageでミラーパケット図6のパケット216を送信し、ミラーリングする。7ステップS107コントローラー102は、スイッチ101から送られてきたミラーパケットを解析する。8ステップS108コントローラー102は、ミラーパケットを解析した結果を踏まえて、スイッチ101宛にProtocolmessageで統計用エントリの登録の要求を送信する。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102からのProtocolmessageで統計用エントリの登録の要求を受信する。この処理フローは、図7のエントリ登録217に含まれる。9ステップS109プロトコル制御部108は、統計用エントリの登録の要求に応じて、モニタリング用テーブル107へ統計用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由してモニタリング用テーブル107へ統計用エントリを登録する制御を行う。この処理フローは、図7のエントリ登録217に含まれる。10ステップS110モニタリング用テーブル107は、エントリ登録作業を受け付け、統計用エントリ図7のエントリ218を登録する。ハードウェア転送部104は、統計用エントリの登録が完了した時点から、その統計用エントリに該当するパケットについて、統計情報の収集を開始する。ハードウェア転送部104は、スイッチ101の外部からパケットを受信した際、受信パケットが、モニタリング用テーブル107に登録された統計用エントリに適合Hitするか確認することで、該当エントリの統計情報をスイッチ101の内部で収集し、モニタリング用テーブル107に蓄積する。11ステップS111コントローラー102は、スイッチ101に対する統計情報の問い合わせ、及び統計解析を行う処理を開始する。12ステップS112コントローラー102は、統計情報を収集するために、スイッチ101にProtocolmessageで統計情報を問い合わせる。13ステップS113プロトコル制御部108は、コントローラー102からのProtocolmessageに応じて、モニタリング用テーブル107に、スイッチ101で収集している統計情報の問い合わせを行う。14ステップS114プロトコル制御部108は、モニタリング用テーブル107からの応答として、統計情報の結果を取得する。15ステップS115プロトコル制御部108は、統計情報の結果をProtocolmessageでコントローラー102へ送信する。コントローラー102は、統計情報の結果を基に、統計解析を行う。16ステップS116コントローラー102は、統計解析の結果をネットワークの経路制御にフィードバックする必要がある場合、スイッチ101宛にProtocolmessageでパケット転送用エントリの登録の要求を送信する。これにより、コントローラー102は、スイッチ101の経路変更を行う。スイッチ101の内部にあるプロトコル制御部108は、コントローラー102からProtocolmessageでパケット転送用エントリの登録の要求を受信する。この処理フローは、図9のエントリ登録220に含まれる。17ステップS117プロトコル制御部108は、パケット転送用エントリの登録の要求に応じて、転送用テーブル106へパケット転送用エントリの登録を行う。すなわち、コントローラー102は、プロトコル制御部108を経由して転送用テーブル106へパケット転送用エントリを登録する制御を行う。この処理フローは、図9のエントリ登録220に含まれる。18ステップS118転送用テーブル106は、エントリ登録作業を受け付け、パケット転送用エントリ図9のエントリ221を登録する。ハードウェア転送部104は、パケット転送用エントリの登録が完了した時点から、当該エントリに該当する受信パケットに対し、当該エントリに記されたアクション所定の処理を開始する。本実施形態では、オープンフロープロトコルに準拠したProtocolmessageを使用することを想定しているが、実際には、コントローラーへのミラーリングの方法はその限りではない。例えば、宛先を設定情報Configで指定し、GREGenericRoutingEncapsulation等でカプセル化してパケットを転送する等、既存の技術を使用してコントローラーへのミラーリングを行う方法も考えられる。[本実施形態の特徴]以上説明したように、本実施形態におけるスイッチシステムでは、通信機器の制御プロトコルを使用し、モニタリング機能とネットワークの経路制御を実現しているので、ネットワーク全体としてモニタリングの集中制御を実現し、そのモニタリング結果を経路制御へ反映することができる。また、本実施形態におけるスイッチシステムでは、スイッチシステム内部に転送用フローテーブルとモニタリングの用のフローテーブルを用意し、1つのパケットに対して両テーブルを検索し、それぞれのエントリに登録された動作を実施するマルチヒット動作を行うことで、経路制御を意識することなくモニタリングの粒度を自由に変更できる。<第2実施形態>本発明の第2実施形態として、その基本的構成は第1実施形態と同様であるが、経路制御の方法について更に工夫している。その構成を図11~図15で説明する。図11から図14において、ネットワークのシステム視点で、本発明の第2実施形態における制御データの流れを表す。なお、スイッチ101、コントローラー102については、図1と同様である。パケット205~エントリ221については、図4~図9と同様である。また、本実施形態におけるスイッチシステムの基本的な動作は、第1実施形態と同様であるため省略する。まず、図11、図12を参照して、転送用テーブルの検索時にマルチヒット動作可能なモニタリング用テーブルが無い場合の動作について説明する。[パケット転送時]図11を参照して、モニタリング用テーブルが存在しない場合のパケット転送時の制御データの流れについて説明する。ここでは、スイッチ101の内部には、モニタリング用テーブル107は存在せず、転送用テーブル106が1つだけ存在する。なお、モニタリング用テーブル107が存在しない状態とは、モニタリング用テーブル107に、受信パケットに該当するエントリが登録されていない状態でも良い。パケット205は、スイッチ101が受信したパケットを表す。パケット206は、内部構成としてA、a、1、DATAを含むパケットを表す。パケット207は、内部構成としてA、a、2、DATAを含むパケットを表す。パケット208は、内部構成としてA、b、1、DATAを含むパケットを表す。パケット209は、内部構成としてB、a、1、DATAを含むパケットを表す。パケット群210は、スイッチ101のPort1から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208を含む。パケット群211は、スイッチ101のPort2から出力されたパケット群を表す。ここでは、パケット群211は、パケット209を含む。エントリ212は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Aを含むパケットをPort1に転送するためのパケット転送用エントリを表す。エントリ213は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、Bを含むパケットをPort2に転送するためのパケット転送用エントリを表す。エントリ222は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、全てのパケットを無条件でコントローラー102へ転送するための転送用デフォルトエントリを表す。エントリ222転送用デフォルトエントリは、コントローラー102への問い合わせ用エントリの1つであるといえる。オープンフロー技術における制御プロトコル等を使用し、経路制御を行う場合、転送用テーブル106のエントリに適合Hitしないパケットは、スイッチ101からコントローラー102に送り、コントローラー102で解析した後、解析結果を基に、図11に示すように、転送用テーブル106にパケット転送用のエントリ212、エントリ213を登録することより、スイッチ101にてハードウェア転送が可能となる。図11に示すように、転送用テーブル106に、エントリ212又はエントリ213のように、全てのパケットをコントローラーへ転送するためのパケット転送用エントリエントリ222以外のパケット転送用エントリがある場合は、エントリ222以外のパケット転送用エントリここではエントリ212又はエントリ213を優先的に使用する。すなわち、スイッチ101の内部にあるハードウェア転送部104は、受信パケットが、エントリ222と、エントリ222以外のパケット転送用エントリエントリ212又はエントリ213との両方に適合Hitする場合、エントリ222以外のパケット転送用エントリエントリ212又はエントリ213に記されたアクション所定の処理を採用する。なお、転送用テーブル106に登録する際に、エントリ222以外のパケット転送用エントリエントリ212又はエントリ213を、エントリ222よりも上位に登録するエントリ222を最下位にするようにしても良い。ハードウェア転送部104は、受信パケットが、エントリ222以外のパケット転送用エントリエントリ212又はエントリ213に先に適合Hitした時点で、検索を終了し、受信パケットに対して、当該パケット転送用エントリに記されたアクション所定の処理を開始する。[スイッチの起動時]図12を参照して、モニタリング用テーブルが存在しない場合のスイッチの起動時の制御データの流れについて説明する。ここでは、スイッチ101の内部には、モニタリング用テーブル107は存在せず、転送用テーブル106が1つだけ存在する。なお、モニタリング用テーブル107が存在しない状態とは、モニタリング用テーブル107に、受信パケットに該当するエントリが登録されていない状態でも良い。図12に示すように、スイッチの起動時等、転送用テーブル106に、エントリ212、エントリ213のようなパケット転送用エントリが無い場合全てのパケットをコントローラーへ転送するためのパケット転送用エントリエントリ222のみある場合は、スイッチで受信したパケットが大量にコントローラー102に転送されることになる。この場合、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチ101のプロトコル処理性能等の条件次第では、パケットの廃棄が発生してしまうという問題がある。そこで、図13、図14に示すように、モニタリング用テーブル107を有効活用し、スイッチの起動時等のファーストパケットfirstpacketのロス欠損をなくす方法について説明する。なお、ファーストパケットとは、フローテーブルに該当するエントリが登録されていない最初のパケットのことである。[ファーストパケット転送時]図13を参照して、モニタリング用テーブルを利用し、スイッチの起動時等のファーストパケットをコントローラーへ転送する場合の制御データの流れについて説明する。ここでは、スイッチ101の内部には、転送用テーブル106とモニタリング用テーブル107の両方が存在する。パケット216は、スイッチ101からコントローラー102に転送されるパケットを表す。エントリ223は、転送用テーブル106に登録されているパケット転送用エントリの1つであり、全てのパケットを無条件でPort1へ転送するためのパケット転送用エントリを表す。エントリ224は、モニタリング用テーブル107に登録されている、全てのパケットを無条件でコントローラー102へ転送するためのミラーリング用エントリを表す。廃棄ポイント225は、スイッチ101とコントローラー102間での廃棄ポイントを表す。図13に示すように、転送用テーブル106には、全てのパケットをPort1に転送するためのパケット転送用のエントリ223が登録されており、モニタリング用テーブル107には、全てのパケットをミラーパケットとしてコントローラーに送信するミラーリング用のエントリ224が登録されている。スイッチ101の内部にあるハードウェア転送部104は、通常のパケットを受信すると、転送用テーブル106のエントリ223に従い、Port1にハードウェア転送する。本発明に係るスイッチにおいては、ハードウェア転送部104は、転送用テーブル106とモニタリング用テーブル107のマルチヒット動作を可能とするので、エントリ223に従い、受信パケットのハードウェア転送を実施すると同時に、モニタリング用テーブル107も検索し、適合Hitしたエントリ224に従い、コントローラー102へのミラーリングも実施する。ミラーリングされたパケット216については、図12の時と同様に、廃棄が発生する可能性はあるが、パケットの転送処理ハードウェア転送自体はエントリ223に従って行われているため、通信への影響はない。すなわち、廃棄が発生するのは、受信パケットを複写したミラーパケットパケット216のみであり、受信パケットをハードウェア転送した出力パケットパケット群210、パケット群211には関係ない。廃棄の発生を回避するためには、ミラーパケットの受け渡しは、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチのプロトコル処理性能の許容範囲内で処理すれば良い。図13において、コントローラー102が受信したミラーパケットパケット216を解析し、解析結果を基にスイッチ101への経路制御を行った状態が、図14の状態である。[モニタリング用テーブル利用時]図14を参照して、モニタリング用テーブルを利用した場合の制御データの流れについて説明する。エントリ226は、モニタリング用テーブル107に登録されているAを含むパケットに対して、何もしない、もしくはドロップ廃棄するための廃棄用エントリを表す。エントリ227は、モニタリング用テーブル107に登録されているBを含むパケットに対して、何もしない、もしくはドロップ廃棄するための廃棄用エントリを表す。コントローラー102は、ミラーパケットの解析の結果、転送用テーブル106に、Aを含むパケットをPort1に転送するためのパケット転送用エントリエントリ212を登録し、Bを含むパケットをPort2に転送するためのパケット転送用エントリエントリ213を登録することにより、通信の負荷分散等経路制御を行うことが可能になる。ここで、パケット転送用エントリエントリ212、エントリ213を登録すると同時に、モニタリング用テーブル107にも、パケット転送用エントリエントリ212、エントリ213と同じルールマッチ条件で、何もしない、もしくはドロップ廃棄するための廃棄用エントリエントリ226、エントリ227を登録することにより、コントローラー102へのミラーパケットの付加を削減することが可能である。[動作シーケンス]図15を参照して、本発明の第2実施形態におけるスイッチシステムの動作を表したシーケンスについて説明する。なお、スイッチ101、コントローラー102については、図1と同様である。1ステップS201スイッチ101は、モニタリング用テーブル107にミラーリング用エントリが存在し、転送用テーブル106に転送用デフォルトエントリが登録されている状態である。例えば、コントローラー102は、スイッチの起動時等、事前に、スイッチ101に対して、モニタリング用テーブル107にミラーリング用エントリを登録し、転送用テーブル106に転送用デフォルトエントリを登録しておくようにしても良い。ここでは、ミラーリング用エントリには、全てのパケットを無条件でミラーパケットとしてコントローラー102に送信する旨が記されている。また、転送用デフォルトエントリには、全てのパケットを無条件で予め決められた出力先ここではコントローラー102に転送する旨が記されている。2ステップS202スイッチ101の内部にあるハードウェア転送部104は、ファーストパケットを受信した際、受信パケットがモニタリング用テーブル107に登録されているミラーリング用エントリに適合Hitするか否か確認する。ここでは、ミラーリング用エントリには、全てのパケットをミラーパケットとしてコントローラー102に送信する旨が記されているため、受信パケットはミラーリング用エントリに適合Hitする。3ステップS203更に、ハードウェア転送部104は、受信パケットが転送用テーブル106に登録されている転送用デフォルトエントリに適合Hitするか否か確認する。ここでは、転送用デフォルトエントリには、全てのパケットを予め決められた出力先ここではコントローラー102に転送する旨が記されているため、受信パケットは転送用デフォルトエントリに適合Hitする。4ステップS204ハードウェア転送部104は、受信パケットが、モニタリング用テーブル107に登録されているミラーリング用エントリに適合Hitし、更に、転送用テーブル106に登録されている転送用デフォルトエントリに適合Hitした場合、ミラーリング用エントリに記されているアクション所定の処理として、当該パケット図12のパケット216をプロトコル制御部108に送信する。5ステップS205プロトコル制御部108は、上記パケット図12のパケット216をProtocolmessageでコントローラー102宛にミラーパケットとして送信ミラーリングする。すなわち、スイッチ101は、モニタリング用テーブル107に全てのパケットをミラーパケットとしてコントローラー102に送信する旨が指定されたミラーリング用エントリが登録されており、転送用テーブル106に全てのパケットを予め決められた出力先ここではコントローラー102に転送する旨が指定された転送用デフォルトエントリが登録されている状態の場合、ミラーリング用エントリに適合Hitしたパケットを、プロトコル制御部108経由でProtocolmessageを使用してコントローラー102へ転送する。6ステップS206コントローラー102は、送られてきたミラーパケットを解析する。7ステップS207コントローラー102は、ミラーパケットの解析結果を基に、当該ミラーパケットに関して、Protocolmessageで転送用テーブル106へのパケット転送用エントリの登録の要求を、スイッチ101宛に送信する。なお、このProtocolmessageを使用した転送用エントリの登録要求は、当該パケット転送用エントリと同じルールマッチ条件の統計用エントリの登録要求との兼用であっても良い。8ステップS208プロトコル制御部108は、コントローラー102からProtocolmessageで転送用テーブル106へのパケット転送用エントリの登録の要求を受信し、転送用テーブル106に対して、パケット転送用エントリの登録を行う。9ステップS209転送用テーブル106へのパケット転送用エントリの登録が完了する。ハードウェア転送部104は、パケット転送用エントリの登録が完了した時点から、当該パケット転送用エントリに該当する受信パケット上記ミラーパケットと同じ受信パケットに対し、当該エントリに記されたアクション所定の処理を開始する。10ステップS210転送用テーブル106へのパケット転送用エントリの登録と同時に、プロトコル制御部108は、モニタリング用テーブル107に対しても、上記のパケット転送用エントリと同じルールマッチ条件で、何もしない、もしくはドロップ廃棄する旨のアクション所定の処理を記した統計用エントリの登録を行う。11ステップS211モニタリング用テーブル107への統計用エントリの登録が完了する。ハードウェア転送部104は、統計用エントリの登録が完了した時点から、上記ミラーパケットと同じ受信パケットに対し、何もしない、もしくはドロップ廃棄する。すなわち、コントローラー102は、ミラーパケットを受けると、そのミラーパケットの内容を解析し、その解析結果を基にProtocolmessageを使用して、スイッチ101の転送用テーブル106に対して、正式なパケット転送用エントリを登録するための制御を行う。また、コントローラー102は、上記のように、転送用テーブル106に対して、パケット転送用エントリを登録するための制御を行うと同時に、モニタリング用テーブル107に対しても、上記のパケット転送用エントリと同じルールマッチ条件で、何もしない、もしくはドロップ廃棄する旨のアクション所定の処理を記した統計用エントリを登録するための制御を行う。なお、プロトコル制御部108は、コントローラー102からProtocolmessageで転送用テーブル106に対するパケット転送用エントリの登録要求を受信した場合、自動的に、転送用テーブル106へのパケット転送用エントリの登録と同時に、上記のパケット転送用エントリと同じルールマッチ条件で、モニタリング用テーブル107への統計用エントリの登録を行うようにしても良い。[本実施形態の特徴]このように、本実施形態では、モニタリング用テーブルのミラーリング機能と転送用テーブルとモニタリング用テーブルのマルチヒット動作を工夫することにより、スイッチの起動時等に流入してくるファーストパケットのロスを削減するという効果が得られる。<第3実施形態>本発明の第3実施形態として、モニタリング用テーブルの代わりに転送テーブルを用意し、2つの転送テーブルを使って、経路制御の方法について更に工夫する方法について説明する。その構成を図16~図17で説明する。なお、本実施形態においても、解決したい課題は、本発明の第2実施形態と同様で、スイッチの起動時等のファーストパケットのロスである。本実施形態においては、図16、図17に示すように、転送用テーブルA106-1、転送用テーブルB106-2を有効活用し、スイッチの起動時等のファーストパケットのロスをなくす方法について説明する。図16、図17に示すように、本実施形態では、スイッチ101の内部において、パケット転送用エントリを登録するための転送用テーブル106の代わりに、転送用テーブルA106-1を用意し、ミラーリング用エントリ及び統計用エントリを登録するためのモニタリング用テーブル107の代わりに、転送用テーブルB106-2を用意する。なお、コントローラー102については、図1と同様である。パケット205~エントリ221については、図4~図9と同様である。また、本実施形態におけるスイッチシステムの基本的な動作は、第1実施形態と同様であるため省略する。パケット205は、スイッチ101が受信したパケットを表す。パケット206は、内部構成としてA、a、1、DATAを含むパケットを表す。パケット207は、内部構成としてA、a、2、DATAを含むパケットを表す。パケット208は、内部構成としてA、b、1、DATAを含むパケットを表す。パケット209は、内部構成としてB、a、1、DATAを含むパケットを表す。パケット群210は、スイッチ101のPort1から出力されたパケット群を表す。ここでは、パケット群210は、パケット206と、パケット207と、パケット208と、パケット209を含む。パケット群211は、スイッチ101のPort2から出力されたパケット群を表す。ここでは、パケット群211は、該当するパケットが存在しないため、何も含んでいない。パケット216は、スイッチ101からコントローラー102に転送されるパケットミラーパケットを表す。廃棄ポイント225は、スイッチ101とコントローラー102間での廃棄ポイントを表す。エントリ230は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、全てのパケットを無条件でコントローラー102へ転送するための転送用デフォルトエントリを表す。エントリ230転送用デフォルトエントリは、コントローラー102への問い合わせ用エントリの1つであるといえる。エントリ231は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、全てのパケットを無条件でPort1へ転送するためのパケット転送用エントリを表す。図16に示すように、転送用テーブルA106-1には、全てのパケットをコントローラー102に転送するためのパケット転送用エントリエントリ230が登録されており、転送用テーブルB106-2には、全てのパケットをPort1に転送するためのパケット転送用エントリエントリ231が登録されている。本発明に係るスイッチは、転送用テーブルA106-1と転送用テーブルB106-2のマルチヒット動作を可能とするので、転送スイッチ101は、通常のパケットを受信した場合、転送用テーブルB106-2を検索し、適合Hitしたエントリ231に従い、Port1へのハードウェア転送を実施すると同時に、転送用テーブルA106-1も検索し、適合Hitしたエントリ230に従い、コントローラー102への転送も実施する。このとき、コントローラー102へ転送ミラーリングされたパケット216の廃棄が発生する可能性はあるが、受信パケットの転送自体はエントリ231に従って実施されているため、ミラーパケットであるパケット216の廃棄が発生したとしても、通信に影響を与えない。スイッチ101とコントローラー102との間のミラーパケットの受け渡しは、コントローラー102の処理性能、スイッチ101とコントローラー102との間のネットワーク帯域、スイッチのプロトコル処理性能の範囲内で処理すれば良い。図16において、コントローラー102が受信したミラーパケットパケット216を解析し、解析結果を基にスイッチ101への経路制御を行った状態が、図17の状態である。エントリ232は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、Aを含むパケットをPort1に転送するためのパケット転送用エントリを表す。エントリ233は、転送用テーブルA106-1に登録されているパケット転送用エントリの1つであり、Bを含むパケットをPort2に転送するためのパケット転送用エントリを表す。エントリ234は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、Aを含むパケットに対して、何もしない、もしくはドロップ廃棄するための廃棄用エントリを表す。エントリ235は、転送用テーブルB106-2に登録されているパケット転送用エントリの1つであり、Bを含むパケットに対して、何もしない、もしくはドロップ廃棄するための廃棄用エントリを表す。コントローラー102は、ミラーパケットパケット216を解析し、解析結果を基に、転送用テーブルAに、Aを含むパケットをPort1に転送するためのパケット転送用エントリエントリ232と、Bを含むパケットをPort2に転送するためのパケット転送用エントリエントリ233を登録する。これにより、通信の負荷分散等の経路制御を行うことが可能になる。また、コントローラー102は、転送用テーブルAに、上記のパケット転送用エントリエントリ232、エントリ233を登録すると同時に、転送用テーブルBにも、上記のパケット転送用エントリと同じルールマッチ条件で、何もしない、もしくはドロップ廃棄するための廃棄用エントリエントリ234、エントリ235を登録し、デフォルトで登録されているエントリ231に従ったハードウェア転送全てのパケットのハードウェア転送を止める。[本実施形態の特徴]このように、本実施形態においても、本発明の第2実施形態と同様、スイッチの起動時等に流入してくるファーストパケットのロスを削減するという効果が得られる。<各実施形態の関係>なお、上記の各実施形態は、組み合わせて実施することも可能である。<本発明の特徴>以上のように、本発明では、通信データのモニタリングの集中管理を実現することを目的としている。本発明では、ネットワークを集中制御するための制御プロトコルとモニタリングを組み合わせることによって、スイッチシステムのモニタリングを集中制御し、モニタリングの粒度を自由に変更可能にし、ネットワークの経路制御への反映を自由に行えるようにした。また、本発明では、スイッチ内にある転送用テーブルとモニタリング用テーブルをマルチヒット動作させることにより、データ通信に影響を与えず、自由にモニタリングを行えるようにした。また、本発明では、転送用テーブルとは別に、パケット転送用エントリは登録しないモニタリング用テーブルを用意し、このモニタリング用テーブルには、統計用エントリとミラーリング用エントリのみを登録し、それらのマルチヒット動作を行う。すなわち、本発明では、スイッチ内部に、フローテーブルとして、転送用テーブルとモニタリング用テーブルを用意し、それらのマルチヒット動作を行って、パケットの転送を実現させている。また、本発明では、モニタリング用テーブルには、統計用エントリとミラーリング用エントリのみ登録し、経路制御エントリの登録は行わないようにすることもできる。すなわち、ハードウェア転送を行わないようにすることもできる。また、本発明では、ネットワークを集中制御するための制御プロトコルにより、コントローラーと連携して、スイッチのモニタリングを集中制御している。また、本発明では、制御プロトコルを使用して、スイッチのモニタリングの集中制御を実現することにより、スイッチの起動時等に流入してくるファーストパケットのロスを削減する。このように、本発明では、パケットロスを検知するロジックについてではなく、一方のテーブルでデフォルトエントリを使ってハードウェア転送を行いつつ、もう一方のテーブルでモニタリングし、その結果をパケット転送用エントリにフィードバックする。これにより、スイッチの再起動時等の初期流入パケットをパケットロスせずハードウェア転送しつつも、パケットそれぞれを解析し、最終的に細やかなパケット単位の転送制御ができる。また、本発明では、通信機器の制御プロトコル例えばオープンフローを使用し、スイッチシステムのモニタリング機能を制御することにより、ネットワーク全体として集中制御可能なモニタリングを実現し、そのモニタリング結果を経路制御へ反映することができる。また、本発明では、スイッチ内部に転送用フローテーブルとモニタリングの用のフローテーブルを持ち、1つのパケットに対して両テーブルを検索し、それぞれのエントリに登録された動作を実施するマルチヒット動作を行う。これにより、経路制御を意識することなくモニタリングの粒度を自由に変更することができる。以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。なお、本出願は、日本出願番号2010-232772に基づく優先権を主張するものであり、日本出願番号2010-232772における開示内容は引用により本出願に組み込まれる。