従来ネットワークサービスを実行するスイッチングノードと、拡張ネットワークサービスを実行する制御サーバとを含み、前記スイッチングノードは、内部で処理するフレームの転送に使用する第1の内部バスと、外部に送信するフレームの転送に使用する第2の内部バスと、入力されたフレームの種類に応じて、前記従来ネットワークサービスに関するフレームを前記第1の内部バス側に転送し、前記スイッチングノード内部で処理し、前記拡張ネットワークサービスに関するフレームを前記第2の内部バス側に転送し、前記制御サーバを利用するフォワーディングエンジンとを具備する通信制御システム。請求項1に記載の通信制御システムであって、前記スイッチングノードは、前記第1の内部バスを介して前記フォワーディングエンジンからフレームを受信し、前記従来ネットワークサービスを実行する第1のプロセッサと、前記第2の内部バスを介して前記フォワーディングエンジンからフレームを受信し、前記拡張ネットワークサービスに関連する処理を行い、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバと連携する第2のプロセッサとを更に具備する通信制御システム。請求項2に記載の通信制御システムであって、前記第2のプロセッサは、前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記拡張ネットワークサービスに関する設定を行う手段とを具備する通信制御システム。請求項1乃至3のいずれか一項に記載の通信制御システムであって、前記第1の内部バスは、PCIエクスプレスPCIExpressであり、前記第2の内部バスは、LANLocalAreaNetworkインターフェースである通信制御システム。内部で処理するフレームの転送に使用する第1の内部バスと、外部に送信するフレームの転送に使用する第2の内部バスと、入力されたフレームの種類に応じて、従来ネットワークサービスに関するフレームを前記第1の内部バス側に転送して内部で処理し、拡張ネットワークサービスに関するフレームを前記第2の内部バス側に転送して外部の制御サーバを利用するフォワーディングエンジンとを具備するスイッチングノード。請求項5に記載のスイッチングノードであって、前記第1の内部バスを介して前記フォワーディングエンジンからフレームを受信し、前記従来ネットワークサービスを実行する第1のプロセッサと、前記第2の内部バスを介して前記フォワーディングエンジンからフレームを受信し、前記拡張ネットワークサービスに関連する処理を行い、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバと連携する第2のプロセッサとを更に具備するスイッチングノード。請求項6に記載のスイッチングノードであって、前記第2のプロセッサは、前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記拡張ネットワークサービスに関する設定を行う手段とを具備するスイッチングノード。請求項5乃至7のいずれか一項に記載のスイッチングノードであって、前記第1の内部バスは、PCIエクスプレスPCIExpressであり、前記第2の内部バスは、LANLocalAreaNetworkインターフェースであるスイッチングノード。スイッチングノード上のフォワーディングエンジンにより、入力されたフレームの種類を確認することと、前記入力されたフレームが従来ネットワークサービスに関するフレームであれば、前記入力されたフレームを第1の内部バス側に転送し、前記スイッチングノード内部で処理することと、前記入力されたフレームが拡張ネットワークサービスに関するフレームであれば、前記入力されたフレームを第2の内部バス側に転送し、外部の制御サーバを利用することとを含む通信制御方法。請求項9に記載の通信制御方法であって、前記スイッチングノード上で、前記フォワーディングエンジンから前記第1の内部バスを介して第1のプロセッサにフレームを送信することと、前記第1のプロセッサにより、前記従来ネットワークサービスを実行することと、前記フォワーディングエンジンから前記第2の内部バスを介して第2のプロセッサにフレームを送信することと、前記第2のプロセッサにより、前記拡張ネットワークサービスに関連する処理を行い、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバと連携することとを更に含む通信制御方法。請求項10に記載の通信制御方法であって、前記第2のプロセッサにより、前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行うことと、前記第2のプロセッサにより、前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記拡張ネットワークサービスに関する設定を行うこととを更に含む通信制御方法。請求項9乃至11のいずれか一項に記載の通信制御方法であって、前記第1の内部バスとして、PCIエクスプレスPCIExpressを使用することと、前記第2の内部バスとして、LANLocalAreaNetworkインターフェースを使用することとを更に含む通信制御方法。請求項9乃至12のいずれか一項に記載の通信制御方法をスイッチングノードに実行させるための通信制御用プログラムを格納した記憶媒体。<実施形態>以下に、本発明の実施形態について添付図面を参照して説明する。[基本構成]図3に示すように、本発明の通信制御システムは、スイッチングノード10と、制御サーバコントローラ20を含む。スイッチングノード10は、ネットワークを介して、端末1~3端末1、端末2、端末3や、制御サーバ20と接続されている。ここでは、記載の簡略化のため、スイッチングノード10の接続先として、端末1~3や制御サーバ20しか図示していないが、実際には、他のサーバやスイッチングノードとも接続されていても良い。制御サーバ20は、スイッチングノード10に対する拡張ネットワークサービスを実行する。なお、スイッチングノード10及び制御サーバ20は、それぞれ複数でも良い。スイッチングノード10は、ネットワークスイッチフォワーディングエンジン100と、PCIエクスプレスPCIExpressスイッチ200と、CPU300と、メモリ350と、CPU400と、メモリ450を備える。ネットワークスイッチフォワーディングエンジン100は、端末1~3から入力されるフレームの転送処理を行う。PCIエクスプレスPCIExpressスイッチ200は、ネットワークスイッチフォワーディングエンジン100と、CPU300やCPU400との間でフレーム又は制御命令の送受信を行う。PCIエクスプレスPCIExpressスイッチ200は、ネットワークスイッチフォワーディングエンジン100の内部に組み込まれている場合もある。なお、フレームは、OSI参照モデルの第2層レイヤ2:データリンク層の通信で使われるPDUプロトコルデータユニットの呼び名であり、パケットは、OSI参照モデルの第3層レイヤ3:ネットワーク層の通信で使われるPDUの呼び名である。ここでは、フレームとは、パケットを運ぶフレームである。すなわち、本発明において、フレームとパケットは、読み替え可能である。CPU300は、従来ネットワークサービスを提供するため、従来のネットワークサービスプロトコルに関連する処理を実行する。メモリ350は、CPU300により処理されるデータを記憶する。従来ネットワークサービスは、スイッチングノード10が従来から対応しているサービスであり、スイッチングノード10内部で完結する処理である。すなわち、CPU300は、内部での処理に対応したCPUである。従来ネットワークサービスの例として、従来通りのフレーム転送やパケット交換スイッチング、ルーティング、スイッチングノード10の制御設定等が考えられる。CPU400は、拡張ネットワークサービスを提供する外部の制御サーバ20と連携するための処理を行う。メモリ450は、CPU400により処理されるデータを記憶する。拡張ネットワークサービスは、外部の制御サーバ20に依存するサービスであり、スイッチングノード10と外部の制御サーバ20との連携により完結する処理である。すなわち、CPU400は、外部との連携に対応したCPUである。拡張ネットワークサービスの例として、外部制御による経路制御や、ファイアウォール処理、ロードバランシング等が考えられる。なお、CPU300、メモリ350、CPU400、及びメモリ450は、それぞれ複数でも良い。また、スイッチングノード10の内部構成は、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、スイッチングノード10に搭載される1チップマイコンが、ネットワークスイッチフォワーディングエンジン100と、PCIエクスプレスPCIExpressスイッチ200と、CPU300と、メモリ350と、CPU400と、メモリ450を備えている事例が考えられる。また、既存のネットワーク機器において、仮想マシンVirtualMachineVM環境により、図3に示す構成を論理的に実現する事例も考えられる。図3に示す構成は、概念上の構成であり、物理的な構成とは限らない。制御サーバ20は、ネットワークインターフェース500と、CPU600と、メモリ650を備える。ネットワークインターフェース500は、スイッチングノード10との間で、フレームの送受信を行う。CPU600は、拡張ネットワークサービスプロトコルに関連する処理の実行を行う。メモリ650は、CPU600により処理されるデータを記憶する。[システム構成における従来との相違点]なお、図1と図3を比較すると、本発明の通信制御システムでは、スイッチングノード10が、2つのCPUを備えている点で、従来のシステム構成と相違することがわかる。更に詳細な相違点については後述する。[構成の要点]ネットワークスイッチフォワーディングエンジン100は、PCIエクスプレスPCIExpressとLANLocalAreaNetworkインターフェースを備え、入力されるフレームの種類に応じて、フレームの転送先を切り替える。すなわち、ネットワークスイッチフォワーディングエンジン100は、入力されるフレームの種類を確認し、その結果に応じて、フレームの転送先を決定する。ここでは、ネットワークスイッチフォワーディングエンジン100は、LANインターフェースとして、LANインターフェース1GMAC101、102、103と、LANインターフェース10GMAC104と、LANインターフェース10GMAC106を備える。また、PCIエクスプレスPCIExpressとして、PCIエクスプレスエンドポイントPCIExpressEndPoint105を備える。LANインターフェース1GMACとは、1Gbpsのデータ転送に対応したLANインターフェースという意味である。同様に、LANインターフェース10GMACとは、10Gbpsのデータ転送に対応したLANインターフェースという意味である。なお、1Gや10Gは一例に過ぎない。なお、現在、特殊な用途を除いて、ほとんどのLANはイーサネット登録商標である。LANインターフェースの例として、NICNetworkInterfaceCard等のネットワークカードが考えられる。このとき、従来ネットワークサービスに対しては、PCIエクスプレスPCIExpress側にフレームの転送先を切り替える。PCIエクスプレスPCIExpressの先には、CPU300が設けられている。また、外部の制御サーバ20と連携する拡張ネットワークサービスに対しては、LANインターフェース側にフレームの転送先を切り替える。LANインターフェースの先には、CPU400が設けられている。LANインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。CPU300は、PCIエクスプレスPCIExpressを備える。ここでは、CPU300は、PCIエクスプレスPCIExpressとして、PCIエクスプレスルートコンプレックスPCIExpressRootComplex301を備える。CPU300は、ルートコンプレックスとして、ネットワークスイッチフォワーディングエンジン100に蓄積されたCPU300宛のフレームを収集し、従来ネットワークサービスを実行する。CPU400は、PCIエクスプレスPCIExpressとLANインターフェースを備える。ここでは、CPU400は、LANインターフェースとして、LANインターフェース10GMAC401を備える。また、PCIエクスプレスPCIExpressとして、PCIエクスプレスエンドポイントPCIExpressEndPoint402を備える。CPU400は、ネットワークスイッチフォワーディングエンジン100から受信したフレームに対して、制御サーバ20への問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、PCIエクスプレスPCIExpressを使用せずに、LANインターフェースを使用して、フレームを高速に送受信する。なお、外部接続用と同じ規格のLANインターフェース10GMACをスイッチングノード内部で使用しているため、CPU400とネットワークスイッチフォワーディングエンジン100との間、及び、ネットワークスイッチフォワーディングエンジン100と外部の制御サーバ20との間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジン100は、フレームの情報解析、及び変換を行うことなく、CPU400と外部の制御サーバ20との間で、フレームをそのまま転送することができる。また、このCPU400は、受信したフレームを、外部の制御サーバ20からの応答があるまでメモリ450に保持し、外部の制御サーバ20に対してサービスの問合せを行う際、SSLSecureSocketLayer等で利用される暗号化処理、TCP/IPTransmissionControlProtocol/InternetProtocol等のネットワークプロトコルを利用し、LANインターフェースを介して、外部の制御サーバ20と高速に通信を行う。制御サーバ20は、LANインターフェースを介して、フレームを受信し、拡張ネットワークサービスを実行し、スイッチングノード10に応答を返す。CPU400は、LANインターフェースを介して、制御サーバ20から応答を得た後、PCIエクスプレスPCIExpressを用いて、ネットワークスイッチフォワーディングエンジン100に対し、拡張ネットワークサービスに必要な設定を行う。ここでは、PCIエクスプレスPCIExpressとLANインターフェースを示しているが、実際には、これらの例に限定されない。PCIエクスプレスPCIExpressやLANインターフェースは、当然に、これらに類するものに置き換えることが可能である。少なくとも、スイッチングノード10の内部においては、本質的に、PCIエクスプレスPCIExpressは、第1の内部バスであり、LANインターフェースは、第2の内部バスである。第2の内部バスは、第1の内部バスと規格が異なり、第1の内部バスよりも高速で大容量のデータ転送が可能である。第2の内部バスは、スイッチングノード10の外部に送信する必要があるデータの転送に使用される。[ハードウェアの例]端末1~3、及び制御サーバ20の例として、PCパソコン、アプライアンスappliance、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。CPU300、CPU400、及びCPU600は、プロセッサprocessorの例示に過ぎない。CPU300、CPU400、及びCPU600は、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路IntegratedCircuitIC等でも良い。メモリ350、メモリ450、及びメモリ650の例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDisk等のリムーバブルディスクやSDメモリカードSecureDigitalmemorycard等の記憶媒体メディア等が考えられる。ネットワークスイッチフォワーディングエンジン100の例として、LANに対応した基板マザーボードやI/Oボード等の半導体集積回路、NICNetworkInterfaceCard等のネットワークアダプタ、或いは、同様の拡張カード等が考えられる。ここでは、ネットワークスイッチフォワーディングエンジン100は、ハードウェアで高速に処理を行うために、ネットワークプロセッサNetworkProcessorを搭載しているものとする。但し、実際には、これらの例に限定されない。[オープンフローOpenFlow技術との関係]オープンフローOpenFlow技術においては、制御サーバ20は、コントローラとして、システム内の通信経路パスを制御する。オープンフロー技術とは、コントローラが、ルーティングポリシーに従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。オープンフロー技術では、コントローラが、ネットワーク内のスイッチを監視し、通信状況に応じて、ネットワーク内のスイッチにパケットの配送経路を動的に設定する。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチは、従来のルータやスイッチのようにパケットやフレームの単位ではなく、エンドツーエンドEndtoEndのフローとして通信を取り扱う。例えば、制御サーバ20は、スイッチングノード10のフローテーブルにフローエントリを登録することで、当該スイッチングノード10の動作例えばパケットデータの中継動作を制御する。フローテーブルには、所定のマッチ条件ルールに適合するパケットに対して行うべき所定の処理アクションを定義したフローエントリが登録される。ルールに適合するパケット群パケット系列をフローと呼ぶ。フローのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレスDestinationAddress、送信元アドレスSourceAddress、宛先ポートDestinationPort、送信元ポートSourcePortのいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレスMediaAccessControlAddressやIPアドレスInternetProtocolAddressを含むものとする。また、上記に加えて、入口ポートIngressPortの情報も、フローのルールとして使用可能である。フローのアクションは、通常、所定の転送先へのパケット転送である。無論、フローのアクションとして、パケット破棄を指定することも可能である。オープンフロー技術の詳細については、非特許文献1、2に記載されている。[ネットワークスイッチフォワーディングエンジンの構成]図4は、ネットワークスイッチフォワーディングエンジン100の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。ネットワークスイッチフォワーディングエンジン100は、LANインターフェース1GMAC101、102、103と、LANインターフェース10GMAC104と、PCIエクスプレスエンドポイントPCIExpressEndPoint105と、LANインターフェース10GMAC106と、フレーム解析処理部107と、テーブル検索部108と、転送テーブル109と、テーブル検索結果レジスタ110と、CPU宛パケットキュー111と、スイッチング転送回路部112と、スイッチファブリック共有パケットバッファ113と、テーブル検索結果付与回路部114と、宛先認識回路部115を備える。LANインターフェース1GMAC101、102、103は、それぞれ端末1~3からフレームを受信するために設けられている。LANインターフェース10GMAC104は、制御サーバ20と通信するために設けられている。ここでは、説明の簡略化のため、LANインターフェース10GMAC104の接続先として、制御サーバ20しか図示していないが、実際には、LANインターフェース10GMAC104のポートが複数あり、他のサーバやスイッチングノードと接続されている場合もある。PCIエクスプレスエンドポイントPCIExpressEndPoint105は、CPU300と通信するために設けられている。LANインターフェース10GMAC106は、CPU400と通信するために設けられている。フレーム解析処理部107は、受信したフレームを解析する。テーブル検索部108は、当該フレームの解析結果に基づいて、転送テーブル109を参照し、当該フレームの宛先転送先の検索を行う。転送テーブル109は、フレームの宛先転送先に関する情報を格納している。ここでは、転送テーブル109は、オープンフロー技術におけるフローテーブルである。テーブル検索部108は、フレームのヘッダ領域に含まれる各種の情報に基づいて、転送テーブル109から該当するフローエントリを検出し、そのフローエントリに定義されたアクションに従って、フレームの宛先転送先を決定する。テーブル検索結果レジスタ110は、PCIエクスプレスPCIExpressに繋がるCPU300宛のフレームに対する転送テーブルの検索結果を保持する。ここでは、テーブル検索結果レジスタ110は、転送テーブル109におけるフレームの宛先転送先の検索結果を保持する。CPU宛パケットキュー111は、CPU300へのフレーム送受信時に、当該フレームのキューイングqueuingを行うために設けられている。スイッチング転送回路部112は、ネットワークスイッチフォワーディングエンジン100内でフレームのスイッチング転送処理を行う。スイッチファブリック共有パケットバッファ113は、フレーム転送時にバッファリングbufferingを行うために設けられている。なお、キューイングやバッファリングの際のデータ形式は、フレーム形式でもパケット形式でも良い。パケット形式であっても、PCIエクスプレスPCIExpressやLANインターフェースで送信される際に、パケット形式からフレーム形式に変換されるためである。テーブル検索結果付与回路部114は、CPU400に検索結果を送信するため、この検索結果をフレームに付与し、このフレームをLANインターフェース106に出力する。宛先認識回路部115は、CPU400から任意の宛先への転送を認識する。[従来ネットワークサービスを実行するCPUの構成]図5は、CPU300の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。CPU300は、ハードウェアシステム310と、オペレーティングシステム320と、ネットワークプロトコル330を備える。ハードウェアシステム310は、PCIエクスプレスルートコンプレックスPCIExpressRootComplex301を備える。PCIエクスプレスルートコンプレックスPCIExpressRootComplex301は、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と通信するために設けられている。PCIエクスプレスルートコンプレックスPCIExpressRootComplex301は、PCIエクスプレスPCIExpressデバイスであり、ルートコンプレックスとして機能する。オペレーティングシステム320は、PCIDMA制御部321と、フォワーディングエンジンドライバ322を備える。PCIDMA制御部321は、PCIエクスプレスPCIExpressデバイスを利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対してDMADirectMemoryAccess転送制御を行う。フォワーディングエンジンドライバ322は、ネットワークスイッチフォワーディングエンジン100をPCIエクスプレスPCIExpress経由で制御するために設けられている。ここでは、フォワーディングエンジンドライバ322は、PCIDMA制御部321を利用する。PCIDMA制御部321は、フォワーディングエンジンドライバ322の機能の1つでも良い。ネットワークプロトコル330は、パケット送受信処理部331と、従来ネットワークサービス処理部332を備える。パケット送受信処理部331は、フォワーディングエンジンドライバ322を利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と、フレームの送受信処理を行う。ここでは、パケット送受信処理部331は、フォワーディングエンジンドライバ322とPCIDMA制御部321を利用し、ネットワークスイッチフォワーディングエンジン100に対してDMA転送制御を行い、CPU宛パケットキュー111に蓄積されたフレームを要求収集する。また、パケット送受信処理部331は、フォワーディングエンジンドライバ322から受け取ったフレームをパケット形式に変換する。従来ネットワークサービス処理部332は、パケット送受信処理部331から受け取ったパケットに対して、従来のサービスプロトコルに関連する処理を行う。また、パケット送受信処理部331は、従来ネットワークサービス処理部332から受け取ったパケットをフレーム形式に変換し、フォワーディングエンジンドライバ322を利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100にフレームを送信する。[拡張ネットワークサービスに関連する処理を実行するCPUの構成]図6は、CPU400の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。CPU400は、ハードウェアシステム410と、オペレーティングシステム420と、ネットワークプロトコル430を備える。ハードウェアシステム410は、LANインターフェース10GMAC401と、PCIエクスプレスエンドポイントPCIExpressEndPoint402と、フレーム情報解析回路部411と、フレーム変換回路部412を備える。LANインターフェース10GMAC401は、ネットワークスイッチフォワーディングエンジン100からフレームを受信し、制御サーバ20とフレームの送受信を行うために設けられている。PCIエクスプレスエンドポイントPCIExpressEndPoint402は、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と通信するために設けられている。PCIエクスプレスエンドポイントPCIExpressEndPoint402は、PCIエクスプレスPCIExpressデバイスであり、エンドポイントとして機能する。フレーム情報解析回路部411は、ネットワークスイッチフォワーディングエンジン100から受信したフレームの内部情報ヘッダ情報等を解析するために設けられている。フレーム変換回路部412は、オペレーティングシステム上のネットワークプロトコルスタックへ影響を与えないために設けられている。オペレーティングシステム420は、ネットワークドライバ421と、TCP/IPスタック422と、フォワーディングエンジンドライバ423と、PCIDMA制御部424を備える。ネットワークドライバ421は、LANインターフェース10GMAC401を介して、フレームの送受信を行うために設けられている。TCP/IPスタック422は、制御サーバとプロトコル通信を行うために設けられている。フォワーディングエンジンドライバ423は、ネットワークスイッチフォワーディングエンジン100をPCIエクスプレスPCIExpress経由で制御するために設けられている。PCIDMA制御部424は、PCIエクスプレスPCIExpressデバイスを利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対してDMA転送制御を行う。ネットワークプロトコル430は、パケット受信処理部431と、パケットバッファ処理部432と、サービス処理問合せ回路部433と、暗号処理回路部434と、拡張ネットワークサービス設定部435を備える。パケット受信処理部431は、フレーム変換回路部412からフレームをパケット形式で受信するために設けられている。パケットバッファ処理部432は、制御サーバ20からの制御を待つために、パケット受信処理部431から受け取ったパケットを一旦バッファリングするために設けられている。サービス処理問合せ回路部433は、制御サーバ20へ問合せを行うために設けられている。暗号処理回路部434は、制御サーバ20への問合せ時問合せ結果の応答時に、暗号化復号処理を行うために設けられている。拡張ネットワークサービス設定部435は、制御サーバ20への問合せ結果に応じて、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して設定を行うために設けられている。ネットワークスイッチフォワーディングエンジン100に対する設定の例としては、オープンフロー技術におけるフローテーブル又はフローエントリの登録更新等が考えられる。[CPUの構成における従来との相違点]図2と、図5及び図6とを比較すると、本発明では、2つのCPUが、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理を分担している点で、従来のCPUの構成と相違することがわかる。本発明では、CPU上で、振分け優先制御処理を行う必要がない。また、本発明では、従来のネットワークサービスに関連する処理のパケットと、拡張ネットワークサービスに関連する処理のパケットが、同じインタフェースを利用しない。そのため、パケット送受信時の遅延、CPU宛パケットキューqueueの溢れ、パケットの廃棄、サービス品質の劣化も従来ほど発生しない。これにより、スイッチングノードの性能向上を図ることができる。[従来のスイッチングノード上のCPUの構成]本発明との比較のために、図2を参照して、従来のスイッチングノード上のCPUの構成例について説明する。なお、図2、図5、及び図6において、同じ名称のものは、基本的に同一のものである。図2に示すように、従来のスイッチングノードにおいて、CPU300は、ハードウェアシステム310と、オペレーティングシステム320と、ネットワークプロトコル330を備える。ハードウェアシステム310は、PCIエクスプレスルートコンプレックスPCIExpressRootComplex301を備える。オペレーティングシステム320は、PCIDMA制御部321と、フォワーディングエンジンドライバ322と、振分け優先制御処理部323と、ネットワークドライバ324と、TCP/IPスタック325を備える。従来のスイッチングノード上のCPU300は、オペレーティングシステム320において、振分け優先制御処理部323と、ネットワークドライバ324と、TCP/IPスタック325を更に備えていた。振分け優先制御処理部323は、受信したフレームに対して、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理のいずれかを実行するための振分け優先制御処理を行う。ネットワークドライバ324は、図6のネットワークドライバ421と同じ機能を持つ。TCP/IPスタック325は、図6のTCP/IPスタック422と同じ機能を持つ。ネットワークプロトコル330は、パケット送受信処理部331と、従来ネットワークサービス処理部332と、パケット受信処理部333と、パケットバッファ処理部334と、サービス処理問合せ回路部335と、暗号処理回路部336と、拡張ネットワークサービス設定部337を備える。従来のスイッチングノード上のCPU300は、ネットワークプロトコル330において、パケット受信処理部333と、パケットバッファ処理部334と、サービス処理問合せ回路部335と、暗号処理回路部336と、拡張ネットワークサービス設定部337を更に備えていた。パケット受信処理部333は、パケット受信処理部431と同じ機能を持つ。パケットバッファ処理部334は、パケットバッファ処理部432と同じ機能を持つ。サービス処理問合せ回路部335は、サービス処理問合せ回路部433と同じ機能を持つ。暗号処理回路部336は、暗号処理回路部434と同じ機能を持つ。拡張ネットワークサービス設定部337は、拡張ネットワークサービス設定部435と同じ機能を持つ。このとき、振分け優先制御処理部323は、受信したフレームに対して、従来のネットワークサービスに関連する処理を行う場合、当該フレームをパケット送受信処理部331に送信していた。また、振分け優先制御処理部323は、受信したフレームに対して、拡張ネットワークサービスに関連する処理を行う場合、当該フレームをパケット受信処理部333に送信していた。更に、振分け優先制御処理部323は、従来のネットワークサービスに基づくパケットと、拡張ネットワークサービスに基づくパケットの両方に対して、振分け優先制御処理を行い、フォワーディングエンジンドライバ322を利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に送信していた。これにより、振分け優先制御処理部323は、従来のCPU300とネットワークスイッチフォワーディングエンジン100との間を接続する唯一のインターフェースであるPCIエクスプレスPCIExpressの混雑を緩和していた。[制御サーバの構成]図7は、制御サーバ20の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。制御サーバ20は、ネットワークインターフェース500と、CPU600を備える。ネットワークインターフェース500は、LANインターフェース10GMAC501と、PCIエクスプレスエンドポイントPCIExpressEndPoint502を備える。LANインターフェース10GMAC501は、スイッチングノード10と通信するために設けられている。PCIエクスプレスエンドポイントPCIExpressEndPoint502は、CPU600と通信するために設けられている。PCIエクスプレスエンドポイントPCIExpressEndPoint502は、PCIエクスプレスPCIExpressデバイスであり、エンドポイントとして機能する。CPU600は、ハードウェアシステム610と、オペレーティングシステム620と、ネットワークプロトコル630を備える。ハードウェアシステム610は、PCIエクスプレスルートコンプレックスPCIExpressRootComplex601を備える。PCIエクスプレスルートコンプレックスPCIExpressRootComplex601は、ネットワークインターフェース500と通信するために設けられている。PCIエクスプレスルートコンプレックスPCIExpressRootComplex601は、PCIエクスプレスPCIExpressデバイスであり、ルートコンプレックスとして機能する。オペレーティングシステム620は、ネットワークドライバ621と、TCP/IPスタック622を備える。ネットワークドライバ621は、ネットワークインターフェース500を制御する。TCP/IPスタック622は、スイッチングノード10とプロトコル通信を行うために設けられている。ネットワークプロトコル630は、パケット送受信処理部631と、暗号処理回路部632と、拡張ネットワークサービス処理部633を備える。パケット送受信処理部631は、パケット形式で、スイッチングノード10とフレームの送受信を行う。暗号処理回路部632は、パケット送受信処理部631でのフレームの送受信時に、暗号化復号処理を行う。拡張ネットワークサービス処理部633は、制御サーバ上で実行されるサービスやプロトコルを提供する。[基本動作]次に、図3、図4、図5、図6、図7を用いて、本実施形態の動作について説明する。[端末からのフレーム受信時の動作]スイッチングノード10のネットワークスイッチフォワーディングエンジン100のLANインターフェース1GMAC101、102、103は、それぞれ端末1、端末2、端末3から、ネットワーク経由で、様々なフレームを受信する。フレーム解析処理部107は、ネットワークスイッチフォワーディングエンジン100内で、フレームのヘッダの解析を行う。次に、テーブル検索部108は、そのフレームの転送方法の決定のため、転送テーブル109を検索参照して、そのフレームに対する処理アクションを確認する。[フレームに対する処理]フレームに対する処理は、大きく以下の3つに分類される。[処理1]1つは、サービスやプロトコルにより転送テーブル109に既に、宛先と処理方法が記載されている場合で、その場合、スイッチング転送回路部112は、その記載内容に従って、宛先に対してスイッチング処理を行い、フレームを外部に転送する。[処理2]2つめは、従来のネットワークサービスを利用するフレームが新規に入ってきた場合である。その場合、テーブル検索部108は、入力されたポート情報並びにテーブル検索の結果をテーブル検索結果レジスタ110に格納すると共に、フレームをパケット形式でCPU宛パケットキュー111に格納する。フレームがパケット形式でCPU宛パケットキュー111に格納されると、ネットワークスイッチフォワーディングエンジン100は、PCIエクスプレスPCIExpressに接続されるCPU300に対して、割込み通知等を行い、フレームが格納されたことを通知する。PCIエクスプレスPCIExpressの先に接続されたCPU300がフレームを受信するために、フォワーディングエンジンドライバ322は、PCIDMA制御部321を利用して、ネットワークスイッチフォワーディングエンジン100に対して、DMA制御を行う。パケット送受信処理部331は、パケット形式で、フレームの受信処理を行う。従来ネットワークサービス処理部332は、パケット送受信処理部331からのパケットを解析する。パケット送受信処理部331は、従来ネットワークサービス処理部332から解析結果を受け取った場合、再度PCIエクスプレスPCIExpressを利用して、解析結果に基づくフレームを外部に送る。あるいは、PCIエクスプレスPCIExpressを利用して、次回以降に受信するフレームのために、ネットワークスイッチフォワーディングエンジン100の設定等を行う。[処理3]3つめは、制御サーバ20を利用し、拡張サービスプロトコルを利用するフレームが新規に入ってきた場合である。その場合、入力されたポート情報並びにテーブル検索の結果が、フレームと共に、スイッチング転送回路部112並びにスイッチファブリック共有パケットバッファ113を経由し、テーブル検索結果付与回路部114に送られる。テーブル検索結果付与回路部114は、入力されたポート情報並びにテーブル検索の結果を、フレーム内に格納し、LANインターフェース10GMAC106を介して、CPU400にそのまま転送する。なお、スイッチング転送回路部112は、LANインターフェース10GMAC106を利用してフレームを送信する時、LANのフロー制御等でフレームを送信できない場合、フレームを、スイッチファブリック共有パケットバッファ113にバッファリングする。これにより、接続先のCPUの性能よりも、入力されるフレームの負荷が高い場合に、フレームの廃棄を最小限に抑える事が可能になる。[拡張ネットワークサービスの利用時の動作]ネットワークスイッチフォワーディングエンジン100は、従来ネットワークサービスで、端末1~3から受信したフレームを処理できない場合、LANインターフェース10GMAC106を介して、CPU400に、当該フレームを送信する。CPU400のフレーム情報解析回路部411は、LANインターフェース10GMAC401を介して、ネットワークスイッチフォワーディングエンジン100からのフレームを受信する。フレーム情報解析回路部411は、フレーム内に格納された情報を解析する。パケット受信処理部431は、パケット形式で、フレーム情報解析回路部411から高速にフレームを受信する。パケットバッファ処理部432は、フレームを、パケット形式でバッファリングする。その後、サービス処理問合せ回路部433は、フレームに対しての処理手順を確認するため、制御サーバ20への問合せ処理を行う。[制御サーバへの問合せ時の動作]サービス処理問合せ回路部433による、制御サーバ20への問合せ時に、暗号処理回路部434は、必要に応じて、フレームの暗号化処理を行い、オペレーティングシステム420上のTCP/IPスタック422を利用し、ネットワークドライバ421を介して制御サーバ20との通信を開始する。ネットワークドライバ421がフレームの送信を開始した際、フレーム変換回路部412は、ネットワークスイッチフォワーディングエンジン100の任意のポートに対してフレームを送信するため、フレームに制御用のヘッダを付与する。ネットワークスイッチフォワーディングエンジン100内の宛先認識回路部115は、受信したフレームの制御用のヘッダを認識し、制御用のヘッダを剥がした削除した後、スイッチング転送回路部112を経由して、LANインターフェース10GMAC104における指定したポートへフレームを転送する。指定したポートの先には、制御サーバ20が接続されている。[制御サーバでの動作]制御サーバ20は、スイッチングノード10に対して、次回以降に今後スイッチングノード10が受信したフレームを最適な経路で転送するための制御や、スイッチングノード10が制御サーバ20と連携するための制御を行い、ネットワークサービスの向上を行う。制御サーバ20は、オペレーティングシステム620上のネットワークドライバ621によって制御されるLANインターフェース10GMAC501を介し、スイッチングノード10からの問合せフレームを受信する。TCP/IPスタック622は、受信されたフレームを処理し、このフレームを、ネットワークプロトコル630のパケット送受信処理部631、及び暗号処理回路部632を介して、拡張ネットワークサービス処理部633へ届ける。拡張ネットワークサービス処理部633は、スイッチングノード10からの問合せフレームの情報を用いて、プロトコル処理を行い、フレームの宛先情報や、フレーム制御情報を、オペレーティングシステム620、ネットワークインターフェース500を介して、スイッチングノード10に対して返答する。[制御サーバからの応答後の動作]スイッチングノード10のネットワークスイッチフォワーディングエンジン100のLANインターフェース10GMAC104は、制御サーバ20から返答されたフレームを受信し、ネットワークスイッチフォワーディングエンジン100、及びLANインターフェース10GMAC106を介して、CPU400にオーバヘッドなく送信する。CPU400に送信されたフレームは、LANインターフェース10GMAC401、フレーム情報解析回路部411、フレーム変換回路部412、ネットワークドライバ421、TCP/IPスタック422、暗号処理回路部434を介して、サービス処理問合せ回路部433に届けられる。サービス処理問合せ回路部433は、届けられたフレームを、制御内容によって、指定された宛先に転送する際は、PCIエクスプレスPCIExpressを利用せず、LANインターフェース10GMAC401を利用し、フレームに宛先情報を付与し、ネットワークスイッチフォワーディングエンジン100へ送信する。LANインターフェース10GMAC106は、サービス処理問合せ回路部433からフレームを受信する。宛先認識回路部115は、フレームの宛先を認識し、このフレームをスイッチング転送回路部112へ送信する。スイッチング転送回路部112は、LANインターフェース1GMAC101、102、103や、LANインターフェース10GMAC104を介して、このフレームを指定された宛先に転送する。また、制御内容が特定フレームに対しての制御指示の場合、サービス処理問合せ回路部433は、拡張ネットワークサービス設定部435に対して、設定情報を送信する。拡張ネットワークサービス設定部435は、フォワーディングエンジンドライバ423、PCIDMA制御部424、PCIエクスプレスエンドポイントPCIExpressEndPoint402、及びPCIエクスプレスPCIExpressスイッチ200を利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して、転送テーブル109の設定や、動作設定等の制御を行う。制御に関しては、CPU300と同様、PCIエクスプレスPCIExpressを利用することで、制限なく従来と同じように設定を容易に行うことを可能にする。以上説明したように、本発明によれば、10Gレベル転送速度10Gbpsの高速なインターフェースと、PCIエクスプレスPCIExpressベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用した、高速で高機能なサービスを実現する、スイッチングノードが構成可能である。従来、制御情報のインターフェースは、PCI並びにPCIエクスプレスPCIExpressのみが使用されていたが、本発明のように、制御サーバを外部に設け、制御インターフェース上で高速なデータのやり取りを可能にするために、LAN上で、制御情報を付与し、PCIエクスプレスPCIExpressでの制御ラインと、MACヘッダ情報でのフレーム転送ラインを、スイッチングノードに構成することで、従来のネットワーク装置内で行っていた制御を、外部で効率良く行わせる事が可能になる。本発明のように、10Gレベルの高速なインターフェースと、PCIエクスプレスPCIExpressベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用し、高速で高機能なサービスを実現するスイッチングノードの構成が可能になる。<本発明の応用>なお、本発明は、上記の実施形態に限定されるものではなく、例えば外部に制御サーバを用いない構成においてもスイッチングノードの機能拡張だけを行う装置にも適用することができる。<まとめ>本発明は、ネットワークスイッチングノードにおいて、従来のサービスプロトコル処理の性能劣化の影響を与えることなく、外部の制御サーバを活用して、より高速で高機能なサービスプロトコルを構成するノード構成に関する。図3において、スイッチングノード10、制御サーバ20の関係で構成されるシステムにおいて、スイッチングノードと制御サーバ間で、高速に制御フレームのやりとりを可能にし、より高速で高機能なサービスプロトコル処理機能を制御サーバ20上で実現できる機能を提供するものである。図3において、ネットワークフォワーディングエンジン401から送信される制御フレームは、従来のサービスはPCIエクスプレスエンドポイントPCIExpressEndPoint105のインターフェースを用いて、CPU300へ送信して、従来のサービス処理を実行する。一方、制御サーバを利用する時は、PCIエクスプレスPCIExpressを利用せず、ネットワークフレームの送受信に適したLANインターフェース10GMACインターフェース106を利用し、制御フレームを高速に送信する。CPU400は、制御フレームを受信し、暗号化処理はフレーム処理を行った後、再度LANインターフェース10GMAC401を介して、制御サーバ20へ制御フレームを送信し、CPU600上で実行される拡張ネットワークサービスを実行する。拡張ネットワークサービスを実行するCPU600は、必要に応じて、応答をスイッチングノード10に返信する。スイッチングノード10のCPU400は、返信内容によって、LANインターフェース10GMAC401、又は、PCIエクスプレスエンドポイントPCIExpressEndPoint402のいずれかを利用する。ここでは、CPU400は、LANインターフェース10GMAC401、及びネットワークスイッチフォワーディングエンジン100を用いてパケットの転送を行うか、PCIエクスプレスエンドポイントPCIExpressEndPoint402を利用し、PCIエクスプレスPCIExpressスイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して、サービスに必要な制御の設定を行う。従って、本発明では、従来のネットワークサービスに利用されるPCIエクスプレスPCIExpressの利用しないため、高速なパケット送受信が可能で、制御サーバ20と連携した、高機能で高速なネットワークサービスが実現可能になる。従来のシステム構成では、スイッチングノード上には、1つのCPUだけが存在し、このCPUが、全てのサービスプロトコルに関連する処理を実行する。従来のシステム構成では、1つのCPUは、PCIエクスプレスPCIExpressを経由して、ネットワークスイッチフォワーディングエンジンに接続されており、ネットワークスイッチフォワーディングエンジンを介して、外部の制御サーバと連携して動作する。すなわち、従来のシステム構成では、1つのCPU全ての内部モジュールとネットワークスイッチフォワーディングエンジン外部接続用デバイスとの接続に用いられるインターフェースは、PCIエクスプレスPCIExpressのみであり、各内部モジュールによるリソースの奪い合いが発生するため、振分け優先制御処理等が必要である。また、PCIエクスプレスPCIExpressの制御が遅れた場合、ネットワークスイッチフォワーディングエンジンのCPU宛パケットキューの溢れ、パケットの廃棄し、サービス品質の劣化が発生する。これに対し、本発明のシステム構成では、ネットワークスイッチフォワーディングエンジンは、PCIエクスプレスPCIExpressとLANインターフェースを備える。ネットワークスイッチフォワーディングエンジンは、入力されるフレームの種類に応じて、従来ネットワークサービスに対してはPCIエクスプレスPCIExpress側、外部の制御サーバと連携する拡張ネットワークサービスに対しては、LANインターフェースに、フレームの転送先を切り替える。ネットワークスイッチフォワーディングエンジンは、LANインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。また、ネットワークスイッチフォワーディングエンジンのLANインターフェースの接続先に、PCIエクスプレスPCIExpressとLANインターフェースを備えたCPUを設ける。このCPUは、ネットワークスイッチフォワーディングエンジンから受信したフレームに対して、制御サーバへの問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、PCIエクスプレスPCIExpressを使用せずに、LANインターフェースを使用して、フレームを高速に送受信する。なお、外部接続用と同じ規格のLANインターフェース10GMACをスイッチングノード内部で使用しているため、CPUとネットワークスイッチフォワーディングエンジンとの間、及び、ネットワークスイッチフォワーディングエンジンと外部の制御サーバとの間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジンは、フレームの情報解析、及び変換を行うことなく、CPUと外部の制御サーバとの間で、フレームをそのまま転送することができる。また、上記のCPUは、受信したフレームが外部の制御サーバからの応答があるまでメモリに保持し、制御サーバに対してサービスの問合せを行う際、SSL等で利用される暗号化処理、TCP/IP等のネットワークプロトコルを利用し、LANインターフェースを介して、外部の制御サーバと高速に通信を行う。制御サーバでは、LANインターフェースを介して、スイッチングノードから問合せフレームを受信し、拡張ネットワークサービスを実行し、スイッチングノードに応答を返す。スイッチングノードでは、LANインターフェースを介して、制御サーバから応答を得た後、拡張ネットワークサービスに必要な設定を、PCIエクスプレスPCIExpressを経由して、ネットワークスイッチフォワーディングエンジンに設定を行う。<産業上の利用可能性>本発明は、セキュリティサーバ、ファイヤーウォール、ロードバランサ等の、より高度サービスをサポートするネットワーク装置に適用することが考えられる。但し、実際には、これらの例に限定されない。以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。<備考>なお、本出願は、日本出願番号2010-036416に基づく優先権を主張するものであり、日本出願番号2010-036416における開示内容は引用により本出願に組み込まれる。