(57)【要約】【課題】  中継装置と制御装置とに分離されたシステムにおいて、制御装置にパケットを転送するためのパケット転送規則を動的に設定する。【解決手段】ネットワークインタフェースを用いてパケットを送受信する中継装置と、中継装置からパケットを受信するアプリケーションを備えた制御装置とを有するパケット処理システムにおいて、制御装置は、アプリケーションが通信ポートを作成するときに、パケット転送規則の設定を要求する要求メッセージを中継装置に送信する転送制御手段を備え、中継装置は、要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、前記パケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを中継装置に送信する。【選択図】  図１３
2005295125.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、
前記中継装置は、
前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、
前記パケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信することを特徴とするパケット処理システム。    
【請求項２】
前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記制御装置は、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する請求項１に記載のパケット処理システム。
【請求項３】
前記中継装置は、前記要求メッセージに応じて前記パケット転送規則を設定するとともに、シグナリング識別子を払い出して当該パケット転送規則に含め、当該シグナリング識別子を含む応答メッセージを前記制御装置に送信する請求項１に記載のパケット処理システム。      
【請求項４】
ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、
前記中継装置は、
前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、
前記通信ポートに対応するポート番号が不定の値である場合に、前記制御装置は、前記中継装置にポート番号の払い出しを要求し、当該中継装置は、ポート番号テーブルを参照することにより、ポート番号を前記制御装置に払い出し、前記制御装置は、当該払い出されたポート番号を前記要求メッセージに含め、当該要求メッセージを前記中継装置に送信することを特徴とするパケット処理システム。
【請求項５】
前記払い出しの要求は、ポート番号が不定であることを示すポート不定値を含む払い出し要求メッセージを前記中継装置に送信することにより行い、前記中継装置は、当該払い出し要求メッセージにおける前記ポート不定値に代えて特定のポート番号を含む応答メッセージを前記制御装置に送信することにより、ポート番号を前記制御装置に払い出す請求項４に記載のパケット処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、中継装置と制御装置に分離されたパケット処理システムに関し、特に、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離できるパケット処理システムに関するものである。
【背景技術】
【０００２】
近年、インターネットの発展に伴い、ネットワークの大規模化、高速化、サービス要求の多様化が進み、ネットワークを構成する通信装置に対する制御処理能力やそれに必要なメモリなどの情報処理リソースの要求が急速に増大している。このような背景から、通信装置を中継装置と制御装置に分離し、急速に増大する情報処理リソースの要求に見合う制御装置を提供するという取り組みが行われてきた。
【０００３】
また、非特許文献１では、ネットワークを統合するためにネットワークを構成する通信装置に関して中継機能と制御機能の定義と両者の間のインタフェースの規定についてＩＥＥＥのＰ１５２０ＷＧが検討した従来技術が開示されている。また、非特許文献２では、中継装置が中継装置上の仮想制御装置に対してネットワークノードからサービス要求を受けた場合に、予め設定された中継装置と制御装置の間のパケット転送規則に基づいて最適な制御装置にサービス要求を振分ける従来技術が開示されている。
【非特許文献１】Ｐ１５２０  Ｒｅｆｅｒｅｎｃｅ  Ｍｏｄｅｌ［Ｇｉｌａｄ  Ｇｏｒｅｎ］（ｄｏｃ）、Ｄｏｃｕｍｅｎｔｓ，Ｆｏｉｌｓ  ａｎｄ  Ｍｉｎｕｔｅｓ  ｏｆ  ｔｈｅ  Ｆｉｆｔｈ  ＷＧ  Ｍｅｅｔｉｎｇ、ｈｅｌｄ  ｉｎ  Ｐｒｉｎｃｅｔｏｎ（Ｊａｎ  １８−１９，１９９９）、［平成１５年４月１６日検索］インタネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｅｅ−ｐｉｎ．ｏｒｇ／＞
【非特許文献２】上谷一，今野徹，“連載ロードバランサの本質，第１回パケットフローから負荷分散の基本を理解する“，「Ｍａｓｔｅｒ  ｏｆ  ＩＰＮｅｔｗｏｒｋ」フォーラム連載  ［成１５年５月２０日検索］インタネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｎｅｔｗｏｒｋ／ｒｅｎｓａｉ／ｉｎｄｅｘ／ｉｎｄｅｘ−ｓｅｒｉａｌ．ｈｔｍｌ＃ｌｂ／
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１の従来技術では、ネットワークを構成する通信装置に関して中継機能と制御機能の定義と両者の間のインタフェースの規定について検討しているが、ネットワークおよびネットワークを構成する通信装置の中継機能と制御機能を分割した場合に生じる課題が残されていた。
【０００５】
例えば、非特許文献２の従来技術では、中継装置が中継装置上の仮想制御装置に対してネットワークノードからサービス要求を受けた場合に、予め設定された中継装置と制御装置との間のパケット転送規則に基づいて最適な制御装置にサービス要求を振分けることはできるが、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができないので、従来のアプリケーションを改修するか、またはパケット転送規則を手動で設定する必要があるという問題点があった。
【０００６】
そこで、この発明は、上述した従来技術による問題点を解消するためになされたものであり、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離できるパケット処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題は、ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、前記制御装置は、前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、前記中継装置は、前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、前記パケット転送規則は前記通信ポート作成時に指定するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信することを特徴とするパケット処理システムにより解決できる。
【０００８】
本発明によれば、制御装置上にアプリケーションが起動した場合に、パケットをアプリケーションに転送するためのパケット転送規則を動的に設定することができる。また、インターフェース識別子が変更になった場合でも、パケット転送規則を動的に修正できる。
【０００９】
上記の構成において、前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記制御装置は、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する。
【００１０】
また、前記中継装置は、前記要求メッセージに応じて前記パケット転送規則を設定するとともに、シグナリング識別子を払い出して当該パケット転送規則に含め、当該シグナリング識別子を含む応答メッセージを前記制御装置に送信する。このように、シグナリング識別子とパケット転送規則とを対応付けることにより、パケット転送規則のエントリの修正や削除を迅速に行うことができる。
【００１１】
また、上記の課題は、ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、前記制御装置は、前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、前記中継装置は、前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、前記通信ポートに対応するポート番号が不定の値である場合に、前記制御装置は、前記中継装置にポート番号の払い出しを要求し、当該中継装置は、ポート番号テーブルを参照することにより、ポート番号を前記制御装置に払い出し、前記制御装置は、当該払い出されたポート番号を前記要求メッセージに含め、当該要求メッセージを前記中継装置に送信することを特徴とするパケット処理システムによっても解決できる。
【００１２】
本発明によれば、制御装置上にアプリケーションが起動した場合に、パケットをアプリケーションに転送するためのパケット転送規則を動的に設定することができる。また、ポート番号が不定の場合でも、中継装置が特定のポート番号を払い出すことができる。
【００１３】
上記の構成において、前記払い出しの要求は、ポート番号が不定であることを示すポート不定値を含む払い出し要求メッセージを前記中継装置に送信することにより行い、前記中継装置は、当該払い出し要求メッセージにおける前記ポート不定値に代えて特定のポート番号を含む応答メッセージを前記制御装置に送信することにより、ポート番号を前記制御装置に払い出すよう構成できる。
【発明の効果】
【００１４】
本発明によれば、制御装置上にアプリケーションが起動した場合に、パケットをアプリケーションに転送するためのパケット転送規則を動的に設定することができる。また、インターフェース識別子が変更になった場合でも、パケット転送規則を動的に修正できる。更に、ポート番号が不定の場合でも、中継装置が特定のポート番号を払い出すので、特定のポート番号に基づくパケット転送規則を設定できる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明に係るパケット処理システムの好適な実施の形態を詳細に説明する。なお、下記に示す実施の形態１では、本発明に係るパケット処理システムを仮想インタフェースを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明し、実施の形態２では、本発明に係るパケット処理システムを仮想ＩＰアドレスを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明し、本実施の形態３および４では、本発明に係るパケット処理システムを仮想インタフェースを用いて制御装置と中継装置に分離したルータに適用する場合について説明する。また、本実施の形態５では、本発明に係るパケット処理プログラムを実行するコンピュータシステムについて説明することとする。最後に、他の実施の形態として種々の変形例を説明する。
【００１６】
（実施の形態１）
本実施の形態１では、本発明に係るパケット処理システムを仮想ＩＦを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明する。ここでは、本実施の形態１に係るパケット処理システムの概要および特徴を説明した後に、このパケット処理システムの構成を説明し、最後に、このパケット処理システムの仮想ＩＦの登録手順、振分表の登録手順、データ受信手順、およびデータ送信手順などの種々の処理手順について説明する。
【００１７】
［概要および特徴］
最初に、本実施の形態１に係るパケット処理システムの概要および主たる特徴を説明する。図１は、本実施の形態１に係るパケット処理システムの構成を示す機能ブロック図である。
【００１８】
同図に示すパケット処理システムは、概略的には、ネットワークインタフェースを用いてパケットを送受信する中継装置と、中継装置上に設定したパケット転送規則に基づいて転送されたパケットに応答するアプリケーションを動かす制御装置とを接続して構成されるシステムであり、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができる。
【００１９】
具体的には、本実施の形態のパケット処理システムにおいて、サーバ２００は、アプリケーション部２１０の依頼により通信ポートが開設（ソケットを開設）されるときに、ネットワークＩＦ３９０を用いて受信したパケットをサーバ２００に転送するパケット転送規則を設定するようロードバランサ３００に要求し、ロードバランサ３００から仮想ＩＦ２２２に対応付けてサーバ２００にパケットを転送するパケット転送規則を設定し、ロードバランサ３００は、サーバ２００によって要求されたパケット転送規則を設定する。したがって、サーバ上に新たなアプリケーション部２１０が起動した場合に、サーバ２００がロードバランサ３００との間のパケット転送規則を動的に設定することができる。
【００２０】
また、本実施の形態では、通信ポートを開設する際のポート番号が特定の値でない（不定である）場合に、ロードバランサ３００はサーバ２００からの要求に応じて特定のポート番号（エフェメラルポート）を払い出すことが可能である。また、本実施の形態のパケット処理システムは、通信ポートを開設する際のＩＦ番号が特定の値でない（不定である）場合、それが特定の値に決定した後に、パケット転送規則を修正する機能を有している。
［パケット処理システムの構成］
実施の形態１に係るパケット処理システムの構成について説明する。図１に示すように、パケット処理システムは、制御装置２００と、中継装置３００と、通信端末装置４５０ａ〜４５０ｃと、制御装置２００と中継装置３００を接続するネットワーク４００と、中継装置３００と通信端末装置４５０ａ〜４５０ｃを接続するネットワーク４１０とからなる。
【００２１】
ネットワーク４００および４１０は、ＬＡＮ、専用回線または／およびインターネットなどＴＣＰ／ＩＰプロトコルによって通信するネットワークである。また、通信端末装置４５０ａ〜４５０ｃは、ネットワーク４１０を介して中継装置３００にインターネットサービスを要求する装置である。
【００２２】
制御装置２００は、中継装置３００のネットワークＩＦ３９０を介して通信端末装置からサービス要求を受け付けて、通信端末装置４５０ａ〜４５０ｃに種々のインターネットサービスを提供するサーバであり、具体的には、Ｗｅｂ（ＨＴＴＰ，ＨＴＴＰＳ）、ＦＴＰ、Ｅｍａｉｌ（ＳＭＴＰ，ＰＯＰ，ＩＭＡＰ）、ＤＮＳ、ＤＢ（Ｏｒａｃｌｅ，ＤＢ２）などのサービスを提供する。
【００２３】
制御装置２００は、アプリケーション部２１０と、シンボル作成部２２０と、仮想ＩＦ２２２と、転送登録要求部２３０と、転送制御部２４０と、受信表２４２と、送信表２４４と、振分部２５０と、データ受信処理部２６０と、データ送信処理部２７０と、ＩＦ２８０とからなる。
【００２４】
アプリケーション部２１０は、インターネットサービスを提供するプログラムであり、インターネットプロトコル、主としてＴＣＰ／ＵＤＰに基づいて通信端末装置４５０ａ〜４５０ｃと通信を行う。また、シンボル作成部２２０は、中継装置３００のネットワークＩＦ３９０に対応付けて制御装置２００のオペレーティングシステムのカーネル内に仮想ＩＦ２２２を設定し、登録する処理部である。
【００２５】
仮想ＩＦ２２２は、中継装置３００のネットワークＩＦ３９０に対応付けて制御装置２００のオペレーティングシステムのカーネル内にシンボル作成部２２０によって仮想的に設定されたネットワークＩＦである。具体的には、アプリケーション部２１０が、通信端末装置４５０ａ〜４５０ｃに対してパケットの送受信を行うための機能部であり、例えば、属性情報、パケット操作手順、統計情報を管理するデータ構造を有する。
【００２６】
転送登録要求部２３０は、アプリケーション部２１０が通信ポートを開設して仮想ＩＦ２２２にアクセスしたことを検出して、中継装置３００から制御装置２００へパケットを転送する上りトンネルを登録するよう要求する要求部であり、具体的には、転送削除要求部２３２と、仮想ＩＦアクセス判定部２３４とをさらに有する。
【００２７】
このうち、転送削除要求部２３２は、アプリケーション部２１０が仮想ＩＦ２２２へアクセスする通信ポートを閉じたことを検出して、仮想ＩＦ２２２に対応する上りトンネルを削除するよう要求する要求部である。また、仮想ＩＦアクセス判定部２３４は、アプリケーション部２１０が通信ポートを開設して仮想ＩＦ２２２にアクセスしたことを検出して、中継装置３００にパケットの転送を要求する要求部である。
【００２８】
なお、アプリケーション部２１０が通信ポートを開設する際、特定のＩＦを指定せずに、ＩＦを不定（ワイルドカード指定）とした場合にも、転送登録要求部２３０は、中継装置３００から制御装置２００へパケットを転送する上りトンネルを登録するよう要求する処理を行う。
【００２９】
転送制御部２４０は、シンボル作成部２２０から仮想ＩＦ２２２を設定したとの通知を受け付けて、中継装置３００へ下りトンネル作成依頼メッセージを送信する共に、中継装置３００からトンネル作成応答メッセージを受信すると仮想ＩＦ２２２と下りトンネルと中継装置３００とを対応付けて送信表２４４に登録する。また、転送登録要求部２３０からアプリケーション部２１０が仮想ＩＦ２２２に対し通信ポートを生成したとの通知を受け付けて、仮想ＩＦ２２２と上りトンネルとを対応付けて受信表２４２に登録し、中継装置３００に転送依頼メッセージを送信する。なお、ＩＦが不定である場合には、それが特定した段階で受信表２４２が修正される。
【００３０】
ここで、転送登録要求部２３０が中継装置３００に送信するトンネル作成依頼メッセージ、中継装置３００から送信されるトンネル作成応答メッセージ、および転送登録要求部２３０が中継装置３００に送信する転送依頼メッセージについて説明する。
【００３１】
図２は、図１に示すパケット処理システムのトンネル作成依頼メッセージの一例を示す図である。また、図３は、図１に示すパケット処理システムのトンネル作成応答メッセージの一例を示す図である。また、図４は、図１に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【００３２】
図２に示すように、トンネル作成依頼メッセージは、制御装置アドレスと仮想ＩＦ２２２とネットワークＩＦ３９０を対応付けたメッセージである。また、図３に示すように、トンネル作成応答メッセージは、中継装置アドレスと仮想ＩＦ２２２とネットワークＩＦ３９０に対応付けた下りトンネルＩＤを通知するメッセージである。
【００３３】
また、図４に示すように、転送依頼メッセージは、制御装置アドレスとポート番号と仮想ＩＦ２２２に対応付けた上りトンネルＩＤを通知するメッセージである。更に、転送依頼メッセージは、メッセージ種別及びシグナリング識別子を含む。メッセージ種別は、その転送依頼メッセージの種別を示すものであり、例えば、０であれば通常の転送依頼を示す。各種別については後述する。また、シグナリング識別子は、アプリケーション部２１０の通信ポートに対応するパケット転送規則作成のためのシグナリングを一意に識別するためのものである。
【００３４】
受信表２４２は、仮想ＩＦ２２２と上りトンネルＩＤを対応付ける制御装置２００内の上りトンネルの管理表である。また、送信表２４４は、仮想ＩＦ２２２と下りトンネルＩＤと中継装置アドレスとを対応付ける制御装置２００内の下りトンネルの管理表である。なお、ここで、パケット処理システムの受信表２４２および送信表２４４の一例について説明する。
【００３５】
図５は、図１に示すパケット処理システムの受信表２４２の一例を示す図であり、図６は、図１に示すパケット処理システムの送信表２４４の一例を示す図である。
【００３６】
受信表２４２は、中継装置３００から転送されてきたパケットの上りトンネルＩＤから送信すべき仮想ＩＦ２２２を検索する表であり、シグナリング識別子を含む。また、送信表２４４は、アプリケーション部２１０がパケットを送信した仮想ＩＦ２２２から下りトンネルＩＤおよび中継装置３００のアドレスを検索する表である。
【００３７】
振分部２５０は、アプリケーション部２１０が送信したパケットを仮想ＩＦ２２２に対応付けて下り転送する処理部であり、具体的には、パケットの宛先アドレスにより仮想ＩＦ２２２を決定し、仮想ＩＦ２２２に対応するデータ送信処理部２７０に下り転送する。また、データ受信処理部２６０によって上り転送されたパケットを受信して、パケットのヘッダに基づいてアプリケーション部２１０へ上り転送する処理部である。
【００３８】
データ受信処理部２６０は、中継装置３００によって上り転送されたパケットを受信して、パケットと仮想ＩＦ２２２とを対応付ける受信表２４２を検索し、仮想ＩＦ２２２に対応付けて上り転送する処理部であり、具体的には、上りトンネルＩＤでカプセル化されたパケットを受信すると、上りトンネルＩＤをキーに受信表２４２から対応する仮想ＩＦ２２２を検索し、パケットをデカプセル化すると共に仮想ＩＦ２２２に対応付けて振分部２５０に上り転送する。
【００３９】
データ送信処理部２７０は、振分部２５０によって下り転送されたパケットを受信して、パケットを下りトンネルに対応付ける送信表２４４を検索し、中継装置３００に下り転送する処理部であり、具体的には、振分部２５０からパケットを受信すると、パケットに対応する仮想ＩＦ２２２をキーに送信表２４４から下りトンネルＩＤを検索し、パケットをカプセル化して中継装置３００へ下り転送する。また、ＩＦ２８０は、ネットワーク４００を介して中継装置３００と通信するためのインタフェースである。
【００４０】
中継装置３００は、ネットワーク４１０によって接続された通信端末装置４５０ａ〜４５０ｃからサービス要求を受け付けて、制御装置２００に中継し、また、通信端末装置からの要求に応答して制御装置２００から転送されたパケットを通信端末装置４５０ａ〜４５０ｃに中継するロードバランサである。
【００４１】
中継装置３００は、転送制御部３４０と、振分表３４２と、受信表３４４と、振分部３５０と、データ送信処理部３６０と、データ受信処理部３７０と、ＩＦ３８０と、ネットワークＩＦ３９０，３９２と、ポート番号払い出し部３４５と、ポート番号プールテーブル３４８とからなる。転送制御部３４０は、制御装置２００からトンネル作成依頼メッセージを受信すると、トンネル作成応答メッセージを送信し、未使用の下りトンネルＩＤを制御装置２００へ通知すると共に、受信表３４４に下りトンネルを登録する。また、制御装置２００から転送依頼メッセージを受信すると、上りトンネルＩＤとアプリケーション部２１０のポート番号と宛先制御装置アドレスを振分表３４２に登録する。また、転送依頼メッセージに対して転送依頼応答メッセージを送信し、修正依頼メッセージに対して修正依頼応答メッセージを送信する。
【００４２】
振分表３４２は、ネットワークＩＦ３９０と、アプリケーション部２１０のポート番号と、上りトンネルＩＤと、宛先制御装置アドレスと、シグナリング識別子とを対応付ける中継装置３００内の上りトンネルの管理表である。また、受信表３４４は、下りトンネルＩＤとネットワークＩＦ３９０を対応付ける中継装置３００内の下りトンネルの管理表である。
【００４３】
なお、ここで、パケット処理システムの振分表３４２および受信表３４４の一例について説明する。図７は、図１に示すパケット処理システムの振分表３４２の一例を示す図であり、図８は、図１に示すパケット処理システムの受信表３４４の一例を示す図である。
【００４４】
振分表３４２は、ネットワークＩＦで受信したパケットの宛先アドレスから送信すべきアプリケーション部２１０を検索する表である。また、受信表３４４は、制御装置２００から転送されてきたパケットの下りトンネルＩＤから送信すべきネットワークＩＦ３９０を検索する表である。
【００４５】
振分部３５０は、ネットワークＩＦ３９０で受信したパケットをポート番号とＩＦに対応付ける振分表３４２を検索し、宛先が制御装置のアプリケ−ション部２１０である場合は、パケットを上り転送し、また、データ受信処理部３７０から受信したパケットを対応するネットワークＩＦ３９０に下り転送する処理部である。
【００４６】
データ送信処理部３６０は、振分部３５０によって上り転送されたパケットを受信して、パケットと制御装置２００を対応付ける振分表３４２を検索し、制御装置２００に上り転送する処理部であり、具体的には、振分部３５０からパケットを受信すると、パケットのポート番号とＩＦをキーに振分表３４２から上りトンネルＩＤと宛先制御装置アドレスを検索し、パケットをカプセル化して制御装置２００へ上り転送する。
【００４７】
データ受信処理部３７０は、制御装置２００によって下り転送されたパケットを受信して、パケットをネットワークＩＦ３９０に対応付ける受信表３４４を検索し、ネットワークＩＦ３９０に下り転送する処理部であり、具体的には、下りトンネルＩＤでカプセル化されたパケットを受信すると、下りトンネルＩＤをキーに受信表３４４から対応するネットワークＩＦ３９０を検索し、パケットをデカプセル化すると共にネットワークＩＦ３９０に対応付けて振分部３５０に下り転送する。
【００４８】
ポート番号払出し部３４７は、制御装置２００の転送制御部２４０からポート番号払出し要求メッセージを受信すると、ポート番号プールテーブル３４８を参照して未使用のポート番号を払出し、ポート番号払出し応答メッセージを制御装置２００に送信する処理部である。
【００４９】
ポート番号プールテーブル３４８は、不定ポート番号（エフェメラルポート）として利用できる番号空間のうち、ポート番号を制御装置２００のアプリケーションに払出し使用中かどうかを記録する表である。
【００５０】
ポート番号プールテーブル３４８の例を図９に示す。図９に示すように、ポート番号毎に、利用状況、ポート番号利用制御装置アドレス、ポート番号利用プロセス番号が記録される。また、ポート番号払出し要求メッセージの例を図１０に示す。図１０に示すように、要求であることを示すメッセージ種別、制御装置アドレス、プロセスＩＤ及び不定であるポート番号が含まれる。また、図１１に示すポート番号払出し応答メッセージには、応答であることを示すメッセージ種別、制御装置アドレス、プロセスＩＤ及び払い出されたポート番号が含まれる。
【００５１】
ネットワークＩＦ３９０、３９２は、ネットワーク４１０を介して中継装置３００と接続する通信端末装置４５０ａ〜４５０ｃとのインタフェースである。また、ＩＦ３８０は、ネットワーク４００を介して制御装置２００と通信するためのインタフェースである。
［パケット処理システムの仮想ＩＦの登録手順］
次に、図１に示すパケット処理システムにおける仮想ＩＦの登録手順について説明する。図１２は、図１に示すパケット処理システムにおける仮想ＩＦの登録手順を示すフローチャートである。
【００５２】
まず、管理者はシンボル作成部２２０を用いて、仮想ＩＦ２２２の登録を指示する（ステップＳ８０１）。そして、シンボル作成部２２０は、ネットワークＩＦ３９０に対応付けて仮想ＩＦ２２２を制御装置２００に作成する（ステップＳ８０２）。さらに、シンボル作成部２２０は、転送制御部２４０に対し制御装置２００の仮想ＩＦ２２２から中継装置３００のネットワークＩＦ３９０の方向へパケットを転送する下りトンネルを作成するよう依頼する（ステップＳ８０３）。そして、制御装置２００の転送制御部２４０は、中継装置３００に図２に示すトンネル作成依頼メッセージを送信する（ステップＳ８０４）。
【００５３】
さらに、中継装置３００の転送制御部３４０は、未使用の下りトンネルＩＤを払い出し、図３に示すトンネル作成応答メッセージを制御装置２００に送信すると共に（ステップＳ８０５）、中継装置３００の受信表３４４に下りトンネルＩＤとネットワークＩＦ３９０を対応付けて登録する（ステップＳ８０６）。そして、制御装置２００の転送制御部２４０は、中継装置３００からトンネル作成応答メッセージを受信すると、送信表２４４に上りトンネルＩＤと仮想ＩＦ２２２を対応付けて登録する（ステップＳ８０７）。
［パケット処理システムの振分表の登録手順］
次に、図１に示すパケット処理システムにおける振分表の登録手順について説明する。図１３は、図１に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【００５４】
まず、アプリケーション部２１０は、通信を行うための通信ポートの開設をＯＳのカーネルに要求する（ステップＳ１００１）。そして、転送登録要求部２３０は、アプリケーション部２１０が仮想ＩＦ２２２経由のポートを開設するまで待ち（ステップＳ１００２）、仮想ＩＦ２２２経由のポートを開設した場合は、転送制御部２４０へデータ転送依頼を行う（ステップＳ１００３）。データ転送依頼とは、具体的には、中継装置３００から制御装置２００へパケットを上り転送することができるように振分表３４２を設定し、上りトンネルを生成するよう転送制御部２４０へ要求することである。そして、制御装置２００の転送制御部２４０は、未使用の上りトンネルＩＤを払い出す（ステップＳ１００４）。
【００５５】
なお、アプリケーションによる通信ポートの開設においてはＩＦアドレスとポート番号を指定するが、特定のＩＦを指定しない場合もある（ワイルドカード指定）。また、ポート番号に関しても特定のポート番号でなく、ワイルドカード指定とする場合がある（エフェメラルポート指定）。
【００５６】
ここで、通信ポート生成時おけるポート番号が不定である場合（ステップＳ１００５のＹｅｓ）、転送制御部２４０は、中継装置３００に、図１０に示したようなポート番号払出し要求メッセージを送信する（ステップＳ１００６）。
【００５７】
中継装置３００は、ポート番号払出し要求メッセージを受信すると、図９に示したポート番号プールテーブル３４８から未使用のポート番号を払出し（例えば３２７６９）、図１１に示したようにポート番号払出し応答メッセージにそのポート番号を入れて制御装置２００へ送信する（ステップＳ１００７）。制御装置２００は、ポート番号払出し応答メッセージを受信すると、払出されたポート番号をアプリケーション部２１０の通信ポート（ソケット）に設定する。
【００５８】
続いて、受信表２４２に上りトンネルＩＤと仮想ＩＦ２２２を対応付けて登録する（ステップＳ１００８）。なお、シグナリング識別子としてはポート番号払い出し応答メッセージに含まれるポート番号（３２７６９）を記録する。また、ＩＦがワイルドカード指定されている場合は、特定の仮想ＩＦでなく、不定であることを示す値が登録される（例えば０）。
【００５９】
続いて、図４に示す転送依頼メッセージを中継装置３００の転送制御部３４０に送信する（ステップＳ１００９）。なお、ポート番号が不定であった場合、ポート番号払出し応答メッセージにて通知されたポート番号をポート番号フィールドに設定した転送依頼メッセージが中継装置３００に送信される。この場合、シグナリング識別子はまだ未定であるので、シグナリング識別子は０である。なお、この時点で仮想ＩＦが不定である場合には、図１４に示すような、仮想ＩＦが０の転送依頼メッセージが中継装置３００に送信される。
【００６０】
そして、中継装置３００の転送制御部３４０は、制御装置２００から転送依頼メッセージを受信して、転送依頼メッセージに含まれるポート番号と、上りトンネルＩＤと、制御装置アドレスと、仮想ＩＦに対応するＩＦとを対応付けて振分表３４２に登録する（ステップＳ１０１０）。なお、仮想ＩＦが不定である場合、振分表３４２に記録されるＩＦとしては不定であることを示す値（例えば０）が記録される。更に、中継装置３００は、シグナリング識別子を払出し、振分表３４２に上記の情報と対応付けて記録し、当該シグナリング識別子を含む転送依頼応答メッセージを制御装置２００に送信する（ステップＳ１０１０）。転送依頼応答メッセージの一例を図１５に示す。なお、制御装置２００では、受信した転送依頼応答メッセージに含まれるシグナリング識別子を受信表２４２に記録する。
【００６１】
ここで、アプリケーション部２１０の通信ポート開設時においてＩＦを不定としていた場合（ステップＳ１０１１のＹｅｓ）には以下の処理が行われる。
【００６２】
制御装置２００のＯＳカーネルは、接続先のアプリケーションとコネクションが確立され、接続先のアプリケーションからパケットを受信すると、そのパケットに含まれる終点アドレスを、通信ポート（ソケット）にＩＦ番号として書き込む。これにより、当該通信ポートに対応する仮想ＩＦが特定されたことになる（ステップＳ１０１２のＹｅｓ）。
【００６３】
その後、受信表２４２に、特定された仮想ＩＦを記録するとともに、シグナリング識別子を取得して、当該シグナリング識別子と、特定された仮想ＩＦとを含む修正依頼メッセージを中継装置３００に送信する（ステップＳ１０１３）。修正依頼メッセージの一例を図１６に示す。このように、シグナリング識別子を用いることにより、中継装置３００の振分表３４２において修正を行う対象エントリを指定することができ、処理を高速に行うことが可能となる。
【００６４】
中継装置３００における転送制御部３４０は、修正依頼メッセージを受信すると、振分表３４２から、当該修正依頼メッセージ中のシグナリング識別子と一致するエントリを検索し、不定であった受信ＩＦフィールドを、特定のＩＦ番号に変更し、修正依頼メッセージのメッセージ種別を修正依頼応答（＝３）に変更して、修正依頼応答メッセージとして制御装置２００に送信する（ステップＳ１０１４）。修正依頼応答メッセージの例を図１７に示す。
【００６５】
以上説明したように、制御装置２００は、中継装置３００のアドレス情報に対応付けて設定された仮想ＩＦ２２２と、アプリケーション部２１０が仮想ＩＦ２２２にアクセスしたことを検知した場合に、ネットワークＩＦ３９０を用いて受信したパケットを制御装置２００に転送するパケット転送規則を設定するよう中継装置３００に要求し、中継装置２００から仮想ＩＦ２２２に対応付けて制御装置２００にパケットを転送するパケット転送規則を設定し、中継装置３００は、制御装置２００によって要求されたパケット転送規則を設定することとしたので、制御装置２００上に新たなアプリケーションが起動した場合に、制御装置２００が中継装置３００との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置３００と制御装置２００を分離したまま、制御装置２００上のプロセスがあたかも中継装置３００上で動いているような動作が可能となる。また、アプリケーション部２１０がＩＦもしくはポート番号を不定として通信ポートを開設した場合でも、それらが特定したことに応じてパケット転送規則を修正または設定することができる。
【００６６】
また、制御装置２００は、アプリケーション部２１０が仮想ＩＦ２２２へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークＩＦ３９０を用いて受信したパケットを制御装置２００に転送するパケット転送規則を削除するよう中継装置３００に要求し、中継装置３００から仮想ＩＦ２２２に対応付けて制御装置２００にパケットを転送するためのパケット転送規則を削除し、中継装置３００は、制御装置２００によって要求されたパケット転送規則を削除することとしたので、制御装置２００上でアプリケーションが停止した場合に、制御装置２００が中継装置３００との間のパケット転送規則を動的に削除することができる。
［パケット処理システムのデータ受信手順］
次に、図１に示すパケット処理システムにおけるデータ受信手順について説明する。図１８は、図１に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【００６７】
まず、中継装置３００は、通信端末装置からパケットを受信する（ステップＳ１１０１）。そして、中継装置３００の振分部３５０は、パケットのポート番号と受信ＩＦアドレスに基づいて振分表３４２を検索し（ステップＳ１１０２）、ポート番号と受信ＩＦアドレスが制御装置２００のアプリケ−ション部２１０であるか否かを調べる（ステップＳ１１０３）。その結果、ポート番号と受信ＩＦアドレスが制御装置２００のアプリケ−ション部２１０でない場合は（ステップＳ１１０３否定）、パケットを破棄する（ステップ１１０４）。
【００６８】
一方、ポート番号と受信ＩＦアドレスが制御装置２００のアプリケ−ション部２１０である場合は（ステップＳ１１０３肯定）、パケットをデータ送信処理部３６０に転送する（ステップＳ１１０５）。さらに、データ送信処理部３６０は、振分表３４２からポート番号と受信ＩＦアドレスに基づいて上りトンネルＩＤを検索し、パケットを上りトンネルＩＤでカプセル化して制御装置２００へ転送する（ステップＳ１１０６）。
【００６９】
そして、制御装置のデータ受信処理部２６０は、中継装置３００からカプセル化されたパケットを受信して（ステップＳ１１０７）、上りトンネルＩＤに基づいて受信表２４２を検索し、パケットをデカプセル化して仮想ＩＦ２２２に対応付けて振分部２５０に転送する（ステップＳ１１０８）。さらに、振分部２５０は、パケットの通信ポートからアプリケーション部２１０の通信ポートを特定し、アプリケーション部にパケットを送信する（ステップＳ１１０９）。
【００７０】
［パケット処理システムのデータ送信手順］
次に、図１に示すパケット処理システムにおけるデータ送信手順について説明する。図１９は、図１に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【００７１】
まず、アプリケーション部２１０は、通信端末装置４５０ａ〜４５０ｃにパケットを送信する（ステップＳ１２０１）。そして、振分部２５０は、宛先アドレスが仮想ＩＦ２２２であるパケットを待って（ステップＳ１２０２）、データ送信処理部２７０へ転送する（ステップＳ１２０３）。さらに、データ送信処理部２７０は、送信表２４４から仮想ＩＦ２２２に基づいて下りトンネルＩＤを検索し、パケットを下りトンネルＩＤでカプセル化して中継装置３００へ転送する（ステップＳ１２０４）。
【００７２】
そして、中継装置３００のデータ受信処理部３７０は、制御装置２００からカプセル化されたパケットを受信して（ステップＳ１２０５）、下りトンネルＩＤに基づいて受信表３４４を検索し、パケットをデカプセル化してネットワークＩＦ３９０に対応付けて振分部３５０に転送する（ステップＳ１２０６）。さらに、振分部３５０は、パケットをネットワークＩＦ３９０から通信端末装置４５０ａ〜４５０ｃに送信する（ステップＳ１２０７）。
【００７３】
（実施の形態２）
ところで、上記実施の形態１では、本発明に係るパケット処理システムを仮想ＩＦを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明したが、本発明はこれに限られるものではなく、仮想ＩＰアドレスを用いてサーバの負荷分散を行うロードバランサに適用することもできる。従って、本実施の形態２では、本発明に係るパケット処理システムを仮想ＩＰアドレスを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明する。ここでは、本実施の形態２に係るパケット処理システムの構成を説明した後、このパケット処理システムの仮想ＩＰアドレスの登録手順、振分表の登録手順、データ受信手順、およびデータ送信手順などの種々の処理手順について説明する。なお、上記実施の形態１と共通する部分については説明を省略し、相違する部分について主に説明する。
［パケット処理システムの構成］
本実施の形態２に係るパケット処理システムの構成について説明する。図２０は、本実施の形態２に係るパケット処理システムの構成を示す機能ブロック図である。同図に示すように、制御装置２００の仮想ＩＰアドレス２２３と、仮想ＩＰアドレスアクセス判定部２３５と、受信表２４３と、送信表２４５と、中継装置３００の振分表３４３と、受信表３４５とが実施の形態１と相違する。
【００７４】
仮想ＩＰアドレス２２３は、中継装置３００のＩＦのＩＰアドレスに対応付けて制御装置２００のオペレーティングシステムのカーネル内にシンボル作成部２２０によって仮想的に設定されたＩＰアドレスである。具体的には、通信端末装置４５０ａ〜４５０ｃは、中継装置３００のＩＰアドレス宛にパケットを送信する。
【００７５】
仮想ＩＰアドレスアクセス判定部２３５は、アプリケーション部２１０が通信ポートを開設して仮想ＩＰアドレス２２３にアクセスしたことを検出して、中継装置３００にパケットの転送を要求する要求部である。なお、アプリケーション部２１０が通信ポートを開設する際、特定のＩＦ（ＩＰアドレス）を指定せずに、ＩＦを不定（ワイルドカード指定）とした場合にも、仮想ＩＰアドレスアクセス判定部２３５は、中継装置３００にパケットの転送を要求する処理を行う。
【００７６】
受信表２４３は、宛先ＩＰアドレスと、宛先ポート番号と、仮想ＩＰアドレス２２３と、シグナリング識別子とを対応付ける制御装置２００内の上りアドレス変換の管理表である。また、送信表２４５は、仮想ＩＰアドレス２２３と、送信元ＩＰアドレスとを対応付ける制御装置２００内の下りアドレス変換の管理表である。なお、ここで、パケット処理システムの受信表２４３および送信表２４５の一例について説明する。図２１は、図２０に示すパケット処理システムの受信表２４３の一例を示す図であり、図２２は、図２０に示すパケット処理システムの送信表２４５の一例を示す図である。
【００７７】
受信表２４３は、中継装置３００から転送されてきたパケットの宛先ＩＰアドレスから送信すべき仮想ＩＰアドレス２２３に変換する表である。また、送信表２４５は、アプリケーション部２１０がパケットを送信した仮想ＩＰアドレス２２３から送信元ＩＰアドレスに変換する表である。
【００７８】
振分表３４３は、アプリケーション部２１０が開設した通信ポート（ソケット）のポート番号と、宛先ＩＰアドレスと、受信ＩＦアドレスとを対応付ける中継装置３００内の上りアドレス変換の管理表である。また、受信表３４５は、仮想ＩＰアドレス２２３と送信ＩＰアドレスを対応付ける中継装置３００内の下りアドレス変換の管理表である。なお、ここで、パケット処理システムの振分表３４３および受信表３４５の一例について説明する。図２３は、図２０に示すパケット処理システムの振分表３４３の一例を示す図であり、図２４は、図２０に示すパケット処理システムの受信表３４５の一例を示す図である
。
【００７９】
振分表３４３は、ネットワークＩＦ（受信ＩＦ）で受信したパケットのポート番号とＩＦから送信すべきアプリケーション部２１０を検索する表である。また、受信表３４５は、制御装置２００から転送されてきたパケットの送信元ＩＰアドレスを仮想ＩＰアドレス２２３に変換する表である。
［パケット処理システムの仮想ＩＰアドレスの登録手順］
次に、図２０に示すパケット処理システムにおける仮想ＩＰアドレスの登録手順について説明する。図２５は、図２０に示すパケット処理システムにおける仮想ＩＰアドレスの登録手順を示すフローチャートである。
【００８０】
まず、管理者はシンボル作成部２２０を用いて、仮想ＩＰアドレス２２３の登録を指示する（ステップＳ１８０１）。そして、シンボル作成部２２０は、中継装置３００のＩＦアドレスに対応付けて仮想ＩＰアドレス２２３を制御装置３００に作成する（ステップＳ１８０２）。さらに、シンボル作成部２２０は、転送制御部２４０に対し仮想ＩＰアドレスと送信元ＩＰアドレスを登録するよう依頼する（ステップＳ１８０３）。そして、制御装置２００の転送制御部２４０は、中継装置３００に図２６に示すアドレス変換依頼メッセージを送信する（ステップＳ１８０４）。さらに、中継装置３００の転送制御部３４０は、中継装置３００の受信表３４４に仮想ＩＰアドレス２２３と送信元ＩＰアドレスを対応付けて登録する（ステップＳ１８０５）。なお、ここで、転送制御部２４０が送信するアドレス変換依頼メッセージについて説明する。図２６は、図２０に示すパケット処理システムのアドレス変換依頼メッセージの一例を示す図である。アドレス変換依頼メッセージは、仮想ＩＰアドレス２２３と送信元ＩＰアドレスを対応付けるメッセージである。
【００８１】
［パケット処理システムの振分表の登録手順］
次に、図２０に示すパケット処理システムにおける振分表の登録手順について説明する。図２７は、図２０に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【００８２】
まず、アプリケーション部２１０は、通信を行うための通信ポートの開設をＯＳのカーネルに要求する（ステップＳ２００１）。そして、転送パス登録要求部２３０は、アプリケーション部２１０が仮想ＩＰアドレス２２３を指定したポートを開設するまで待ち（ステップＳ２００２）、転送制御部２４０へ転送依頼メッセージを送信するよう依頼する（ステップＳ２００３）。
【００８３】
ここで、通信ポート生成時において指定されたポート番号が不定である場合（ステップＳ２００４のＹｅｓ）、転送制御部２４０は、中継装置３００に、図１０に示したようなポート番号払出し要求メッセージを送信する（ステップＳ２００５）。
【００８４】
中継装置３００は、ポート番号払出し要求メッセージを受信すると、図９に示したポート番号プールテーブル３４８から未使用のポート番号を払出し（例えば３２７６９）、図１１に示したようにポート番号払出し応答メッセージにそのポート番号を入れて制御装置２００へ送信する（ステップＳ２００６）。制御装置２００は、ポート番号払出し応答メッセージを受信すると、払出されたポート番号をアプリケーション部２１０の通信ポート（ソケット）に設定する。
【００８５】
そして、制御装置２００の転送制御部２４０は、受信表２４３に宛先ＩＰアドレスと仮想ＩＰアドレス２２３、及びシグナリング識別子（未定である場合はポート番号払い出し応答メッセージ内のポート番号）を対応付けて登録する（ステップＳ２００７）。なお、仮想ＩＰアドレスが複数ありどれを使用するか不定である場合には不定であることを示す値（例えば０）が記録される。さらに、実施の形態１とほぼ同様の転送依頼メッセージを中継装置３００の転送制御部３４０に送信する（ステップＳ２００９）。転送依頼メッセージは、実施の形態１とほぼ同様であるが、実施の形態２では、仮想ＩＦが仮想ＩＰアドレスになり、上りトンネルＩＤが受信ＩＰアドレスになる。また、仮想ＩＰアドレスが不定である場合については、実施の形態１と同様に、例えば０となる。図２８に転送依頼メッセージの一例を示す。
【００８６】
そして、中継装置３００の転送制御部３４０は、制御装置２００から転送依頼メッセージを受信して、転送依頼メッセージに含まれるポート番号と、制御装置アドレスと、仮想ＩＰアドレスに対応する受信ＩＦアドレスと、シグナリング識別子とを対応付けて振分表３４２に登録し、転送依頼応答メッセージを制御装置２００に送信する（ステップＳ２００９）。なお、仮想ＩＰアドレスが不定である場合、振分表３４２に記録されるＩＰアドレスとしては不定であることを示す値（例えば０）が記録される。
【００８７】
ここで、アプリケーション部２１０の通信ポート開設時において仮想ＩＰアドレスを不定としていた場合（ステップＳ２０１０のＹｅｓ）には以下の処理が行われる。
【００８８】
制御装置２００のＯＳカーネルは、接続先のアプリケーションとコネクションが確立され、接続先のアプリケーションからパケットを受信すると、そのパケットに含まれる終点アドレスを仮想ＩＰアドレスとし、その仮想ＩＰアドレスがついたパケットを受信可能なＩＦを通信ポート（ソケット）にＩＦ番号として書き込む。これにより、当該通信ポートに対応する仮想ＩＰアドレスが特定されたことになる（ステップＳ２０１１のＹｅｓ）。
【００８９】
その後、受信表２４３に、特定された仮想ＩＰアドレスを記録するとともに、シグナリング識別子を取得して、当該シグナリング識別子と、特定された仮想ＩＰアドレスとを含む修正依頼メッセージを中継装置３００に送信する（ステップＳ２０１２）。修正依頼メッセージは、図１６と、仮想ＩＦが仮想ＩＰアドレスになり、上りトンネルＩＤが受信ＩＰアドレスになる点が異なる。修正に係る他のメッセージも同様である。
【００９０】
中継装置３００における転送制御部３４０は、修正依頼メッセージを受信すると、振分表３４３から、当該修正依頼メッセージ中のシグナリング識別子と一致するエントリを検索し、不定であった仮想ＩＰアドレスフィールドを、特定のＩＰアドレスに変更し、修正依頼メッセージのメッセージ種別を修正依頼応答（＝３）に変更して、修正依頼応答メッセージとして制御装置２００に送信する（ステップＳ２０１３）。
【００９１】
以上説明したように、制御装置２００は、中継装置３００のアドレス情報に対応付けて設定された仮想ＩＰアドレス２２３と、アプリケーション部２１０が仮想ＩＰアドレス２２３にアクセスしたことを検知した場合に、ネットワークＩＦ３９０を用いて受信したパケットを制御装置２００に転送するパケット転送規則を設定するよう中継装置３００に要求し、中継装置２００から仮想ＩＰアドレス２２３に対応付けて制御装置２００にパケットを転送するパケット転送規則を設定し、中継装置３００は、制御装置２００によって要求されたパケット転送規則を設定することとしたので、制御装置２００上に新たなアプリケーションが起動した場合に、制御装置２００が中継装置３００との間のパケット転送規則を動的に設定することができる。また、アプリケーション部２１０が仮想ＩＰアドレスもしくはポート番号を不定として通信ポートを開設した場合でも、それらが特定したことに応じてパケット転送規則を修正または設定することができる。
【００９２】
また、制御装置２００は、プリケーション部２１０が仮想ＩＰアドレス２２３へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークＩＦ３９０を用いて受信したパケットを制御装置２００に転送するパケット転送規則を削除するよう中継装置３００に要求し、中継装置３００から仮想ＩＰアドレス２２３に対応付けて制御装置２００にパケットを転送するパケット転送規則を削除し、中継装置３００は、制御装置２００によって要求されたパケット転送規則を削除することとしたので、制御装置２００上でアプリケーションが停止した場合に、制御装置２００が中継装置３００との間のパケット転送規則を動的に削除することができる。
［パケット処理システムのデータ受信手順］
次に、図２０に示すパケット処理システムにおけるデータ受信手順について説明する。図２９は、図２０に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【００９３】
まず、中継装置３００は、通信端末装置からパケットを受信する（ステップＳ２２０１）。そして、中継装置３００の振分部３５０は、パケットのポート番号と終点ＩＰアドレスに基づいて振分表３４３を検索し（ステップＳ２２０２）、ポート番号と終点ＩＰアドレスが制御装置２００のアプリケ−ション部２１０であるか否かを調べる（ステップＳ２２０３）。その結果、ポート番号と終点ＩＰアドレスが制御装置２００のアプリケ−ション部２１０でない場合は（ステップＳ２２０３否定）、パケットを破棄する（ステップ２２０４）。
【００９４】
一方、ポート番号と終点ＩＰアドレスが制御装置２００のアプリケ−ション部２１０（アプリケーションが指定したポート番号、仮想ＩＰアドレス）である場合は（ステップＳ２２０３肯定）、パケットをデータ送信処理部３６０に転送する（ステップＳ２２０５）。さらに、データ送信処理部３６０は、振分表３４３からポート番号と終点ＩＰアドレスに基づいて転送先制御装置アドレスを検索し、パケットのあて先アドレスを転送先制御装置２００に変換して制御装置２００へ転送する（ステップＳ２２０６）。
【００９５】
そして、制御装置２００のデータ受信処理部２６０は、中継装置３００からパケットを受信して（ステップＳ２２０７）、受信表２４３を参照し、宛先ＩＰアドレスを仮想ＩＰアドレス２２３に変換して振分部２５０に転送する（ステップＳ２２０８）。さらに、振分部２５０は、パケットのポート番号からアプリケーション部２１０の通信ポートを特定し、アプリケーション部２１０にパケットを送信する（ステップＳ２２０９）。
【００９６】
［パケット処理システムのデータ送信手順］
次に、図２０に示すパケット処理システムにおけるデータ送信手順について説明する。図３０は、図２０に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【００９７】
まず、アプリケーション部２１０は、通信端末装置にパケットを送信する（ステップＳ２３０１）。そして、振分部２５０は、送信元アドレスが仮想ＩＰアドレス２２３と対応するパケットを待って（ステップＳ２３０２）、データ送信処理部２７０へ転送する（ステップＳ２３０３）。さらに、データ送信処理部２７０は、送信表２４５を参照し、パケットの送信元アドレスを制御装置２００のＩＰアドレスに変換して中継装置３００へ転送する（ステップＳ２３０４）。
【００９８】
そして、中継装置３００のデータ受信処理部３７０は、制御装置２００からパケットを受信して（ステップＳ２３０５）、送信元ＩＰアドレスに基づいて受信表３４５を検索し、パケットの送信元ＩＰアドレスを仮想ＩＰアドレス２２３に変換して振分部３５０に転送する（ステップＳ２３０６）。さらに、振分部３５０は、ネットワークＩＦ３９０からパケットを通信端末装置に送信する（ステップＳ２３０７）。
（実施の形態３）
ところで、上記実施の形態１および２では、本発明に係るパケット処理システムをロードバランサに適用する場合について説明したが、本発明はそれらに限られるものではなく、制御装置と中継装置に分離したルータに適用することができる。本実施の形態３では、本発明に係るパケット処理システムを制御装置と中継装置に分離したルータに適用する場合について説明する。ここでは、本実施の形態３に係るルータの構成を説明した後、このルータの制御装置の仮想ＩＦと中継装置のインタフェースの間の内部通信パスを生成する手順など種々の手順について説明する。
［パケット処理システムの構成］
本実施の形態３に係るパケット処理システムの構成を示す機能ブロック図を説明する。図３１に示すように、パケット処理システムは、制御装置１０と、中継装置５０と、ネットワーク８０、ネットワークノード９０とからなる。
【００９９】
ネットワーク８０は、データリンク層以上の通信プロトコルに従ってデータ交換を行うことが可能な通信ネットワークであり、専用回線またはインタ−ネットのいずれでもよい。例えば、ルータは、通常ネットワーク層の通信プロトコルに従ってデータパケットの経路制御および中継を行う。ネットワークノード９０はネットワーク８０に接続されたルータ等の通信装置であり、本実施の形態３では、制御装置１０が中継装置５０を経由して通信する装置である。
【０１００】
制御装置１０は、ルータの制御機能を分担する装置であり、入出力部２１と、経路制御部２２と、経路表取得送信部２３と、仮想ＩＦ受信設定部２４と、仮想ＩＦトンネル対応表生成部２５と、仮想ＩＦソケット対応表生成部２７と、トンネル転送部２８と、仮想ＩＦトンネル対応表２９、仮想ＩＦソケット対応表３０と、経路表３１と、カーネル処理部４０と、ＩＦ４５とからなる。なお、ＩＦは、インタフェースの略語であり、特に断らない限り、論理ＩＦおよび物理ＩＦを総称するものである。また、通常、論理ＩＦは物理ＩＦと対になっている。
【０１０１】
入出力部２１は、ユーザがコマンドを入力し、制御装置１０および中継装置５０の動作状態、コマンドに対する応答などを出力する入出力装置であり、具体的には、キーボード、マウス、ＣＲＴや液晶ディスプレイなどの表示装置、プリンタである。
【０１０２】
経路制御部２２は、ネットワーク８０や中継装置５０を介してネットワーク上のネットワークノード９０と通信を行い、経路制御を行うアプリケーションプロセスであり、具体的には、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）などの経路制御プロトコルに従ってネットワークノード９０から経路制御情報を収集し、経路制御情報にもとづいて経路計算を行い、経路表３１を生成する。
【０１０３】
経路表取得送信部２３は、経路制御部２２が生成した経路表３１を取得し、中継装置５０に送信する処理部である。具体的には、経路制御部２２がカーネル処理部４０に経路表３１の更新を通知すると、カーネル処理部４０は、経路表取得送信部２３に通知し、経路表取得送信部２３は、経路表３１を取得して、ＩＦ４５を経由して中継装置５０に送信する。
【０１０４】
仮想ＩＦ受信設定部２４は、ユーザから仮想ＩＦ設定コマンドを受け付けて、中継装置５０に対し論理ネットワークＩＦ７６の利用を要求し、利用可能性の判断結果と対応する下りトンネル識別子を中継装置５０から受信し、仮想ＩＦ４３を制御装置１０上に設定する処理部である。また、仮想ＩＦ４３の設定が完了したことをトンネル転送部２８に通知する。
【０１０５】
仮想ＩＦトンネル対応表生成部２５は、中継装置５０から受信した下りトンネル識別子に基づいて仮想ＩＦトンネル対応表２９を生成する処理部である。なお、ここでトンネルとは、制御装置１０と中継装置５０との間を接続する内部通信パスを意味する。この内部通信パスを転送されるデータパケットは、内部通信パスを識別する識別子によってカプセル化され、同時にデータパケットの宛先が指定される。
【０１０６】
仮想ＩＦソケット対応表生成部２７は、制御装置１０と中継装置５０との間を接続する内部通信パスの仮想ＩＦソケット対応表３０を生成する処理部である。具体的には、カーネル処理部４０は、経路制御部２２が開設したソケットの宛先が仮想ＩＦ４３に対して開いたことを知ると、仮想ＩＦソケット対応表生成部２７に通知する。仮想ＩＦソケット対応表生成部２７は、中継装置５０のＩＦソケット対応表生成部６５にソケットアドレス、上りトンネル識別子を送信し、仮想ＩＦソケット対応表３０を生成する。
【０１０７】
トンネル転送部２８は、仮想ＩＦ受信設定部２４から仮想ＩＦ４３の設定が完了したという通知を受けて内部通信パスの接続を行い、また、内部通信パスの接続後は、仮想ＩＦトンネル対応表２９および仮想ＩＦソケット対応表３０に基づいて仮想ＩＦ４３から受け取ったデータパケットをカプセル化し、中継装置５０に送信すると共に、中継装置５０から受信したデータパケットをデカプセル化し、仮想ＩＦ４３に転送する処理部である。
【０１０８】
仮想ＩＦトンネル対応表２９は、仮想ＩＦ４３と中継装置ＩＰアドレス／下りトンネル識別子とを対応付ける表であり、具体的には、経路制御部２２から送信されたデータパケットが仮想ＩＦ４３から中継装置５０の方向に転送されるときに通る内部通信パスを決定する表である。また、仮想ＩＦソケット対応表３０は、上りトンネル識別子と仮想ＩＦ４３／経路制御部２２のソケットアドレス（ＩＰアドレス＋ポート番号）を対応付ける表であり、具体的には、中継装置５０で受信されたデータパケットが中継装置５０から仮想ＩＦ４３の方向へ転送されるときに通る内部通信パスから制御装置１０がデータパケットを受信する仮想ＩＦ４３を決定するための表である。
【０１０９】
経路表３１は、データパッケットの宛先のＩＰアドレスと次の中継先のＩＰアドレスを対応付けた表であり、言い換えると、経路制御プロセス部２２が経路制御を行った結果求められたデータパケットの宛先までの最短の通信パスを定義する表である。
【０１１０】
カーネル処理部４０は、オペレーティングシステムの核となる部分でファイル管理、メモリ管理、プロセス実行制御など行う処理部であり、具体的には、宛先判定部４１と、仮想ＩＦ管理部４２と、仮想ＩＦ４３とを少なくとも含む。宛先判定部４１は、プロセスがカーネル処理部４０に対してソケットを開設すると、仮想ＩＦソケット対応表生成部２７に対し通知する。
【０１１１】
仮想ＩＦ管理部４２は、仮想ＩＦ４３を管理する処理部である。また、仮想ＩＦ４３は、仮想ＩＦ受信設定部２４によって中継装置５０の論理ネットワークＩＦ７６から取得された論理ＩＦと同じ属性情報をもつ、物理ＩＦと分離して仮想的に設定されているので仮想ＩＦと呼んでいる。
【０１１２】
装置間通信用物理ＩＦ４５は、制御装置１０が中継装置５０と通信を行う為の物理ＩＦである。また、装置間通信用論理ＩＦ４６は、制御装置１０が中継装置５０とネットワーク８０を介してデータパケットの通信をする場合のＩＦである。具体的には、デバイスドライバを備えたイーサネット（Ｒ）１０ＢＡＳＥ−ＴやＲＳ−２３２Ｃなどの通信ＩＦである。
【０１１３】
中継装置５０は、ルータの中継機能を分担する装置であり、データ中継部６０と、経路表受信設定部６１と、提供先判定部６２と、ＩＦ取得送信部６３と、ＩＦトンネル対応表生成部６４と、ＩＦソケット対応表生成部６５と、トンネル転送部６６と、ＩＦ設定許可リスト５９と、ＩＦトンネル対応表６７と、ＩＦソケット対応表６８と、経路表６９と、カーネル処理部７０と、物理ネットワークＩＦ７３と、装置間通信用物理ＩＦ７４とからなる。
【０１１４】
データ中継部６０は、中継装置５０が受信したデータパケットを次の宛先に送信する処理部であり、具体的には、カーネル処理部７０の宛先判定部７１がデータパケットのヘッダから他の装置に転送すべきデータパケットであることを判定すると、データ中継部６０に通知し、データ中継部６０は、経路表６９に基づいて次の宛先に送信する。
【０１１５】
経路表受信設定部６１は、経路表取得送信部２３が送信してきた経路表３１のエントリを受信して、経路表６９に設定する処理部である。また、提供先判定部６２は、制御装置１０の仮想ＩＦ受信設定部２４から論理ネットワークＩＦ７６の利用要求があった場合に、論理ネットワークＩＦ７６の利用を許可するか否かをＩＦ設定許可リスト５９に基づいて判定する判定部である。また、ＩＦ取得送信部６３は、カーネル処理部７０のＩＦ情報取得部７２が管理している論理ネットワークＩＦ７６から論理ＩＦの属性情報を取得して制御装置１０の仮想ＩＦ受信設定部２４へ送信する処理部である。
【０１１６】
ＩＦトンネル対応表生成部６４は、制御装置１０の仮想ＩＦトンネル対応表生成部２５にトンネル識別子を送信すると共に、ＩＦトンネル対応表６７を生成する処理部である。また、ＩＦソケット対応表生成部６５は、制御装置１０の仮想ＩＦソケット対応表生成部２７からソケットアドレスとトンネル識別子を受信して、ＩＦソケット対応表６８を生成する。
【０１１７】
トンネル転送部６６は、ＩＦトンネル対応表６７とＩＦソケット対応表６８に基づいてデータパケットをカプセル化し、制御装置１０に送信すると共に、制御装置１０から受信したデータパケットをデカプセル化し、論理ネットワークＩＦ７６に転送する。
【０１１８】
ＩＦトンネル対応表６７は、経路制御部２２から送信されたデータパケットが制御装置１０から中継装置５０の方向に転送されるときに通る内部通信パスからパケットを出力する論理ＩＦ７６を決定するための表であり、具体的には、下りトンネル識別子と論理ネットワークＩＦ７６とを対応付ける表である。また、ＩＦソケット対応表６８は、物理ネットワークＩＦ７３で受信されたデータパケットが中継装置５０から制御装置１０の方向へ転送されるときに通る内部通信パスを決定するための表であり、具体的には、論理ネットワークＩＦ７６／ソケットアドレスと上りトンネル識別子とを対応付ける表である。
【０１１９】
経路表６９は、経路表受信設定部６１が経路表取得送信部２３から送信された経路表３１を受信して、設定した表であり、具体的には、データパッケットの宛先のＩＰアドレスと次ホップのＩＰアドレスを対応付けた表である。また、ＩＦ設定許可リスト５９は、中継装置５０の論理ネットワークＩＦ７６を提供する提供先を予め設定した表であり、具体的には、論理ネットワークＩＦ７６と、それを許可する制御装置ＩＰアドレスを対応付けた表である。
【０１２０】
カーネル処理部７０は、オペレーティングシステムの核となる部分でファイル管理、メモリ管理、プロセス実行制御など行う処理部であり、具体的には、宛先判定部７１と、ＩＦ情報取得部７２と、論理ネットワークＩＦ７６、装置間通信用ＩＦ７７を少なくとも含む。宛先判定部７１は、データパケットのヘッダからそのデータパケットの宛て先を判定し、必要な場合には関連する処理部に通知をする処理部であり、具体的には、データパケットのＩＰヘッダからＩＰアドレスを取得し、ＴＣＰヘッダから宛先ポート番号を読み取って、宛先を判定する。
【０１２１】
ＩＦ情報取得部７２は、論理ネットワークＩＦ７３を管理する処理部である。また、論理ネットワークＩＦ７６は、物理ネットワークＩＦ７３に対応する論理ＩＦであり、物理ネットワークＩＦ７３と対になってネットワークＩＦを形成する。
【０１２２】
物理ネットワークＩＦ７３は、中継装置５０がネットワーク８０を介してネットワークノード９０または制御装置１０と通信をする場合のＩＦであり、装置間通信用ＩＦ７４は中継装置５０が制御装置１０とネットワーク８０を介してデータパケットの通信をする場合のＩＦである。具体的には、デバイスドライバを備えたイーサネット（Ｒ）１０ＢＡＳＥ−ＴやＲＳ−２３２Ｃなどの通信ＩＦである。
【０１２３】
また、実施の形態１、２と同様に、中継装置５０はポート番号払出し部及びポート番号プールテーブルを備えてもよい。
【０１２４】
［仮想ＩＦ設定および内部通信パス生成の処理手順］
次に、図３１に示すパケット処理システムの仮想ＩＦ設定および内部通信パス生成の処理手順について説明する。図３２は、図３１に示すパケット処理システムの仮想ＩＦ設定および内部通信パス生成の処理手順を示すフローチャートである。同図に示すように、処理手順は、ステップＳ２０１〜ステップＳ２０８の初期設定フェーズと、ステップＳ２０９〜ステップＳ２１４の仮想ＩＦ設定フェーズと、ステップＳ２１５〜ステップＳ２２６のトンネル生成フェーズとに大別できる。
【０１２５】
最初に、初期設定フェーズでは、制御装置１０および中継装置５０は、各処理部の立ち上げを行う。まず、制御装置１０が起動すると（ステップＳ２０１）、仮想ＩＦ受信設定部２４、トンネル転送部２８、仮想ＩＦソケット対応表生成部２７の順に立ち上がる。（ステップＳ２０２〜ステップＳ２０４）。これと同期して、トンネルを生成する為の内部通信パスの一部（仮想ＩＦ受信設定部２４＜−＞仮想ＩＦ管理部４２、仮想ＩＦソケット対応表生成部２７＜−＞宛先判定部４１）が生成される。
【０１２６】
同様に、中継装置５０が起動すると（ステップＳ２０５）、ＩＦ取得送信部６３、トンネル転送部６６、ＩＦソケット対応表生成部６５の順に立ち上がる。（ステップＳ２０６〜ステップＳ２０８）。これと同期して、トンネルを生成する為の内部通信パスの一部（ＩＦ取得送信部６３＜−＞ＩＦ情報取得部７２、ＩＦ取得送信部６３＜−＞装置間通信用ＩＦ７４、トンネル転送部６６＜−＞装置間通信用ＩＦ７４、トンネル転送部６６＜−＞宛先判定部７１、ＩＦソケット対応表生成部６５＜−＞ＩＦ７４）が生成される。
【０１２７】
初期設定フェーズが終わると、仮想ＩＦ設定フェーズが始まる。まず、仮想ＩＦ受信設定部２４は、仮想ＩＦ設定コマンドを受け付けて、内部通信パス（仮想ＩＦ受信設定部２４＜−＞装置間通信用ＩＦ４５）を設定し、中継装置５０のＩＦ取得送信部６３と通信を開始する（ステップＳ２０９〜ステップＳ２１０）。
【０１２８】
そして、中継装置５０の論理ネットワークＩＦ７６の利用を要求する（ステップＳ２１１）。論理ネットワークＩＦ７６の利用要求を受けた中継装置５０のＩＦ取得送信部６３は、提供先判定部６２に論理ネットワークＩＦ７６の利用を許可する否かを問い合わせる。さらに、提供先判定部６２は、予め設定されていたＩＦ設定許可リスト５９に基づいて論理ネットワークＩＦ７６を提供すべきか否かを判定し、ＩＦ取得送信部６３に回答する（ステップＳ２１２）。
【０１２９】
続いて、ＩＦ取得送信部６３は、回答に基づいて論理ネットワークＩＦ７６の属性情報を仮想ＩＦ受信設定部２４に送信する（ステップＳ２１３）。そして、仮想ＩＦ受信設定部２４は、受信した論理ネットワークＩＦ７６の属性情報をカーネル処理部４０の仮想ＩＦ管理部４２に転送して、仮想ＩＦ４３を設定すると共に、内部通信パス（宛先判定部４１＜−＞仮想ＩＦ４３）を設定する（ステップＳ２１４）。
【０１３０】
ここで、パケット処理システムの仮想ＩＦ設定フェーズにおける内部通信パスの一例を詳細に説明する。図３３は、図３１に示すパケット処理システムの仮想ＩＦ設定フェーズにおける内部通信パスの一例を示す図である。同図に示すように、仮想ＩＦ設定フェーズにおいては、仮想ＩＦ受信設定部２４とＩＦ取得送信部６３が中継装置上の論理ネットワークＩＦ７６と制御装置上の仮想ＩＦ４３との間を内部通信パスで接続し、仮想ＩＦ４３を設定する。
【０１３１】
そして、仮想ＩＦ受信設定部２４とＩＦ取得送信部６３はトンネル転送部２８，６６にそれぞれ仮想ＩＦトンネル対応表２９とＩＦトンネル対応表６７を通知する。なお、仮想ＩＦトンネル対応表２９とＩＦトンネル対応表６７は、次のトンネル生成フェーズにおいて生成される表である。また、ＩＦ設定許可リスト５９は、ユーザによって予め設定された表である。
【０１３２】
このように仮想ＩＦ設定フェーズが終わると、中継装置５０のＩＦトンネル対応表生成部６４は、制御装置１０から中継装置５０の方向へデータパケットを転送するトンネルの下りトンネル識別子を制御装置１０の仮想ＩＦトンネル対応表生成部２５に送信すると共に、ＩＦトンネル対応表６７を生成する（ステップＳ２１５）。一方、制御装置１０の仮想ＩＦ対応表生成部２５は、中継装置５０のＩＦトンネル対応表生成部６４から受信した下りトンネル識別子に基づいて仮想ＩＦトンネル対応表２９を生成する（ステップＳ２１６）。
【０１３３】
また、仮想ＩＦ受信設定部２４が仮想ＩＦ４３を設定すると、トンネル転送部２８に通知をする（ステップＳ２１７）。仮想ＩＦ受信設定部２４から通知を受けたトンネル転送部２８は、内部通信パスの一部（トンネル転送部２８＜−＞装置間通信用物理ＩＦ４５、トンネル転送部２８＜−＞仮想ＩＦ４３）を生成し、中継装置５０のトンネル転送部６６と接続する（ステップＳ２１８〜ステップＳ２１９）。
【０１３４】
そして、仮想ＩＦソケット対応表生成部２７は、内部通信パス（仮想ＩＦソケット対応表生成部２７＜−＞装置間通信用ＩＦ４５）を設定し、中継装置５０のＩＦソケット対応表生成部６５と通信を開始する（ステップＳ２２０〜ステップＳ２２１）。また、経路制御部２２が起動すると同時に、内部通信パス（経路制御部２２＜−＞宛先判定部４３）が生成される（ステップＳ２２２）。さらに、経路制御部２２が仮想ＩＦ４３に向けてソケットを開設すると、宛先判定部４１はソケットの開設を仮想ＩＦソケット対応表生成部２７に通知する（ステップＳ２２３）。
【０１３５】
続いて、仮想ＩＦソケット対応表生成部２７は、中継装置５０から制御装置１０の方向へデータパケットを転送する上りトンネルの上りトンネル識別子および経路制御部２２のソケットアドレスをＩＦソケット対応表生成部６５に送信し、仮想ＩＦソケット対応表３０を生成する（ステップＳ２２４〜ステップＳ２２５）。同時に、ＩＦソケット対応表生成部６５は、ＩＦソケット対応表６８を生成する（ステップＳ２２６）。
【０１３６】
ここで、パケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を詳細に説明する。図３４は、図３１に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を示す図である。同図に示すように、トンネル転送部２８，６６が中継装置５０上の論理ネットワークＩＦ７５と制御装置上の仮想ＩＦ４３との間を内部通信パスで接続し、制御装置上のプロセスと仮想ＩＦとの間の通信を中継装置の論理ネットワークＩＦ７５にまで敷延することにより、ネットワーク上のネットワークノード９０と通信を行うことができる。また、仮想ＩＦソケット対応表３０とＩＦソケット対応表６８は、中継装置５０から制御装置１０の方向へデータパケットが転送される内部通信パスを定義する表であり、仮想ＩＦソケット対応表生成部２７とＩＦソケット対応表生成部６５によって生成される。
【０１３７】
また、図３５は、図３１に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの別の例を示す図である。制御装置上の複数のプロセスごとにトンネルを生成しているが、内部通信パスの生成手順は変わらない。
【０１３８】
以上のように、制御装置１０は、プロセスが仮想ＩＦ４３と通信を開始するとの通知を受け付けて、宛先判定部４１は内部通信パスの生成を通知し、宛先判定部４１からの通知を受け付けて、仮想ＩＦソケット対応表生成部２７はプロセスのソケットアドレスと上りトンネル識別子を中継装置５０に送信し、上りトンネル識別子と仮想ＩＦ４３とソケットアドレスとを対応付ける仮想ＩＦソケット対応表３０を生成し、中継装置５０は、制御装置１０の仮想ＩＦソケット対応表生成部２７によって送信されたプロセスのソケットアドレスと上りトンネル識別子と論理ネットワークＩＦ７６を対応付けるＩＦソケット対応表６８を生成することとしたので、制御装置上の仮想ＩＦ４３と中継装置５０の論理ネットワークＩＦ７６の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
［受信パケットの転送手順］
次に、図３１に示すパケット処理システムの受信パケットの転送手順について説明する。図３６は、図３１に示すパケット処理システムの受信パケットの転送手順を示すフローチャートである。
【０１３９】
同図に示すように、中継装置の物理ネットワークＩＦ７３でネットワーク８０上のネットワークノード９０からデータパケットを受信すると（ステップＳ６０１）、宛先判定部７１は、データパケットのヘッダから宛先を判定し、さらに、中継装置で受信すべきデータパケットであるか否かを判定する（ステップＳ６０２）。そして、データパケットの宛先が中継装置でない場合は（ステップＳ６０２否定）、宛先判定部７１は、データ中継部６０に通知し、データ中継部６０は、データパケットの転送先を経路表６９から取得して転送する（ステップＳ６０３〜ステップＳ６０４）。
【０１４０】
これに対して、データパケットの宛先が中継装置である場合は（ステップＳ６０２肯定）、宛先判定部７１は、ＩＦソケット対応表６８を参照し、ＩＦソケット対応表に一致するか否かを判定する（ステップ６０５）。そして、ＩＦソケット対応表６８のいずれかのエントリに一致しない（本実施の形態では、経路制御部２２が開設したソケットのポート番号に一致しない）場合は（ステップＳ６０５否定）、データパケットを廃棄する（ステップＳ６０６）。これに対して、ＩＦソケット対応表６８のいずれかのエントリに一致する場合は（ステップＳ６０５肯定）、宛先判定部７１は、トンネル転送部６６にデータパケットの受信を通知する（ステップＳ６０７）。
【０１４１】
そして、トンネル転送部６６は、データパケットを論理ネットワークＩＦ７６から受け取って、ＩＦソケット対応表６８に基づいてデータパケットに上りトンネル識別子を付加してカプセル化する（ステップＳ６０８）。さらに、トンネル転送部６６は、このデータパケットを制御装置１０のトンネル転送部２８に転送する（ステップＳ６０９）。
【０１４２】
そして、制御装置のトンネル転送部２８は、データパケットを受け取った後、トンネル識別子を除去して（ステップＳ６１０）、トンネル識別子と仮想ＩＦソケット対応表３０に基づいて仮想ＩＦ４３にデータパケットを転送する（ステップＳ６１１）。さらに、仮想ＩＦ４３が、データパケットを受け取ると、カーネル処理部４０は、データパケットのヘッダからポート番号を読み取って、経路制御部２２にデータパケットの到着を通知する（ステップＳ６１２）。そして、経路制御部２２は、仮想ＩＦ４３からデータパケットを受信する（ステップＳ６１３）。
【０１４３】
以上のように、中継装置５０は、ＩＦソケット対応表６８に基づいて論理ネットワークＩＦ７６から受け取ったデータパケットをカプセル化し、制御装置１０に送信し、制御装置１０は、トンネル転送部２８が仮想ＩＦソケット対応表３０に基づいて中継装置５０から受信したデータパケットをデカプセル化し、仮想ＩＦ４３に転送することとしたので、制御装置１０上の仮想ＩＦ４３と中継装置５０上の論理ネットワークＩＦ７６の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
［送信パケットの転送手順］
次に、図３１に示すパケット処理システムの送信パケットの転送手順について説明する。図３７は、図３１に示すパケット処理システムの送信パケットの転送手順を示すフローチャートである。
【０１４４】
同図に示すように、経路制御部２２がデータパケットを仮想ＩＦ４３に送信すると（ステップＳ７０１）、仮想ＩＦ４３はデータパケットを受信し、トンネル転送部２８にデータパケットを転送する（ステップＳ７０２）。
【０１４５】
そして、トンネル転送部２８は、仮想ＩＦトンネル対応表２９に基づいてトンネル識別子を付加し、カプセル化する（ステップＳ７０３）。さらに、トンネル転送部２８は、データパケットを中継装置５０のトンネル転送部６６に転送する（ステップＳ７０４）。そして、中継装置５０のトンネル転送部６６は、ＩＦトンネル対応表６７を参照し、データパケットを受け取って、トンネル識別子を除去する（ステップＳ７０５）。さらに、トンネル転送部６６は、データパケットをトンネル識別子に対応する物理ネットワークＩＦ７３から送信する（ステップＳ７０６）。
【０１４６】
以上のように、制御装置１０は、トンネル転送部２８が仮想ＩＦトンネル対応表２９に基づいて仮想ＩＦ４３から受け取ったデータパケットをカプセル化し、中継装置５０に送信し、中継装置５０は、トンネル転送部６６が制御装置１０から受信したデータパケットをデカプセル化し、論理ネットワークＩＦ７６に転送することとしたので、制御装置上の仮想ＩＦ４３と中継装置上の論理ネットワークＩＦ７６の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【０１４７】
（実施の形態４）
ところで、上記実施の形態３では、本発明に係るパケット処理システムが通信を開始する場合の内部通信パスを生成する手順について説明したが、本発明はこれに限定されるものではなく、本発明に係るパケット処理システムが通信を終了する場合に内部通信パスを削除する手順に適用することができる。そこで、本実施の形態４では、本発明に係るパケット処理システムが通信を終了する場合に内部通信パスを削除する手順について説明する。なお、上記実施の形態３と同じ部分については説明を省略する。
［パケット処理システムの構成］
図３８は、本実施の形態４に係るパケット処理システムの構成を示す機能ブロック図である。同図に示すように、実施の形態３の機能ブロック図に、制御装置のプロセスが終了した場合の内部通信パスの削除に必要な以下の処理部が追加されている。
【０１４８】
制御装置１０の仮想ＩＦソケット対応表削除部４７は、経路制御部２２が通信を終了し、ソケットを削除した場合において、宛先判定部４１が仮想ＩＦソケット対応表３０の該当個所を削除するよう通知したときに、仮想ＩＦソケット対応表３０の該当個所を削除する処理部である。また、中継装置５０のＩＦソケット対応表削除部７５は、仮想ＩＦソケット対応表削除部４７がＩＦソケット対応表６８の該当個所を削除するよう通知したときに、ＩＦソケット対応表６８の該当個所を削除する処理部である。なお、仮想ＩＦソケット対応表削除部４７とＩＦソケット対応表削除部７５は、仮想ＩＦソケット対応表生成部２７とＩＦソケット対応表生成部６５が内部通信パスを生成したのと全く同様な方法で、予め接続されているものとする。
［内部通信パス削除の処理手順］
次に、パケット処理システムの内部通信パス削除の処理手順について説明する。図３９は、図３１に示すパケット処理システムの内部通信パス削除の処理手順を示すフローチャートである。同図に示すように、まず制御装置の経路制御部２２が通信を終了し、開いていたソケットを閉じる（ステップＳ９０１）。宛先判定部４１は、経路制御部２２がソケットを閉じたことを知って、仮想ＩＦソケット対応表削除部４７に該当するトンネルを削除することを通知する（ステップＳ９０２）。仮想ＩＦソケット対応表削除部４７は、宛先判定部４１の通知を受けると、さらに中継装置５０のＩＦソケット対応表削除部７５にＩＦソケット対応表６８の該当個所を削除するよう通知する（ステップＳ９０３）。
【０１４９】
そして、ＩＦソケット対応表削除部７５は、ＩＦソケット対応表６８の該当個所を削除する（ステップＳ９０４）。さらに、仮想ＩＦソケット対応表削除部４７は、仮想ＩＦソケット対応表３０の該当個所を削除する（ステップＳ９０５）。また、ポート番号払出し部とポート番号プールテーブルが備えられている場合、仮想ＩＦソケット対応表削除部７５は、ポート番号払出し部にプロセスの終了を通知し、ポート番号払出し部はポート番号プールテーブルの該当するエントリを使用中から未使用に変更する（ステップＳ９０６）。
【０１５０】
以上のように、制御装置１０は、プロセスが終了した場合は、宛先判定部４１においてプロセスがソケットを閉じたことを検出し、仮想ＩＦソケット対応表削除部４７がＩＦソケット対応表の該当個所を削除するよう中継装置５０に要求し、仮想ＩＦソケット対応表３０の該当個所を削除し、中継装置５０は、ＩＦソケット対応表削除部７５が制御装置によって要求されたＩＦソケット対応表６５の該当個所を削除することとしたので、制御装置上の仮想ＩＦ４３と中継装置の論理ネットワークＩＦ７６の間の内部通信パスを常に更新し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【０１５１】
（実施の形態５）
ところで、上記実施の形態１〜４で説明したパケット処理システムおよびパケット処理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、本実施の形態５では、上記実施の形態１〜４で説明したパケット処理システム（パケット処理方法）と同様の機能を有するパケット処理プログラムを実行するコンピュータシステムについて説明する。
【０１５２】
図４０は、本実施の形態５に係るコンピュータシステムの構成を示すシステム構成図であり、図４１は、このコンピュータシステムにおける本体部の構成を示すブロック図である。図４０に示すように、本実施の形態３に係るコンピュータシステム１００は、本体部１０１と、本体部１０１からの指示によって表示画面１０２ａに画像などの情報を表示するためのディスプレイ１０２と、このコンピュータシステム１００に種々の情報を入力するためのキーボード１０３と、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するためのマウス１０４とを備える。
【０１５３】
また、このコンピュータシステム１００における本体部１０１は、図３４に示すように、ＣＰＵ１２１と、ＲＡＭ１２２と、ＲＯＭ１２３と、ハードディスクドライブ（ＨＤＤ）１２４と、ＣＤ−ＲＯＭ１０９を受け入れるＣＤ−ＲＯＭドライブ１２５と、フレキシブルディスク（ＦＤ）１０８を受け入れるＦＤドライブ１２６と、ディスプレイ１０２、キーボード１０３並びにマウス１０４を接続するＩ／Ｏインターフェース１２７と、ローカルエリアネットワークまたは広域エリアネットワーク（ＬＡＮ／ＷＡＮ）１０６に接続するＬＡＮインターフェース１２８とを備える。
【０１５４】
さらに、このコンピュータシステム１００には、インターネットなどの公衆回線１０７に接続するためのモデム１０５が接続されるとともに、ＬＡＮインターフェース１２８およびＬＡＮ／ＷＡＮ１０６を介して、他のコンピュータシステム（ＰＣ）１１１、中継１１２並びにプリンタ１１３などが接続される。
【０１５５】
そして、このコンピュータシステム１００は、所定の記録媒体に記録されたパケット処理プログラムを読み出して実行することでパケット処理システム（パケット処理方法）を実現する。ここで、所定の記録媒体とは、フレキシブルディスク（ＦＤ）１０８、ＣＤ−ＲＯＭ１０９、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）１２４や、ＲＡＭ１２２、ＲＯＭ１２３などの「固定用の物理媒体」、さらに、モデム１０５を介して接続される公衆回線１０７や、他のコンピュータシステム１１１並びに中継１１２が接続されるＬＡＮ／ＷＡＮ１０６などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム１００によって読み取り可能なパケット処理プログラムを記録する、あらゆる記録媒体を含むものである。
【０１５６】
すなわち、パケット処理プログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム１００は、このような記録媒体からパケット処理プログラムを読み出して実行することでパケット処理システムおよびパケット処理方法を実現する。なお、パケット処理プログラムは、コンピュータシステム１００によって実行されることに限定されるものではなく、他のコンピュータシステム１１１または中継１１２がパケット処理プログラムを実行する場合や、これらが協働してパケット処理プログラムを実行するような場合にも、本発明を同様に適用することができる。
【０１５７】
（他の実施の形態）
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
【０１５８】
例えば、本実施の形態３および４では、本発明は中継装置５０とネットワークノード９０が同じネットワークで接続された場合について説明したが、本発明はこれに限定されるものではなく、異なったネットワークに接続された場合に適用できる。
【０１５９】
また、本実施の形態３および４では、本発明はシンボル部を仮想ＩＦとした場合について説明したが、本発明はこれに限定されるものではなく、例えばファイルとした場合に適用できる。具体的には、中継装置のＩＦを制御装置上の特定のディレクトリのファイルに対応付けて、制御装置上のプロセスがこのファイルをオープンし、読み出し、書き込みを行うことにより、リモートＩＦを介しデータを送受信することができる。
【０１６０】
また、本実施の形態３および４では、本発明は制御装置上の複数のプロセスが中継装置上の論理ネットワークＩＦの一つと通信する場合について説明したが、本発明はこれに限定するものではなく、複数のプロセスがそれぞれ複数の論理ネットワークＩＦと通信する場合にも適用できる。
【０１６１】
また、本実施の形態３および４では、一つの制御装置と一つの中継装置が連携し、プロセスと制御装置上の仮想ＩＦの間の通信を中継装置上のＩＦの間にまで敷延する場合について説明したが、本発明はこれに限定されるものではなく、複数の制御装置と複数の中継装置が連携する場合にも適用できる。
【０１６２】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１６３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
（付記１）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段と、を備え、
前記中継装置は、
前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、
前記パケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信することを特徴とするパケット処理システム。    
（付記２）前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記制御装置は、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する付記１に記載のパケット処理システム。
（付記３）前記中継装置は、前記要求メッセージに応じて前記パケット転送規則を設定するとともに、シグナリング識別子を払い出して当該パケット転送規則に含め、当該シグナリング識別子を含む応答メッセージを前記制御装置に送信する付記１に記載のパケット処理システム。      
（付記４）前記制御装置は、前記シグナリング識別子を前記修正メッセージに含めて前記中継装置に送信する付記３に記載のパケット処理システム。
（付記５）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段と、を備え、
前記中継装置は、
前記要求メッセージにより要求されたパケット転送規則を設定する転送制御手段を備え、
前記通信ポートに対応するポート番号が不定の値である場合に、前記制御装置は、前記中継装置にポート番号の払い出しを要求し、当該中継装置は、ポート番号テーブルを参照することにより、ポート番号を前記制御装置に払い出し、前記制御装置は、当該払い出されたポート番号を前記要求メッセージに含め、当該要求メッセージを前記中継装置に送信することを特徴とするパケット処理システム。  
（付記６）前記払い出しの要求は、ポート番号が不定であることを示すポート不定値を含む払い出し要求メッセージを前記中継装置に送信することにより行い、前記中継装置は、当該払い出し要求メッセージにおける前記ポート不定値に代えて特定のポート番号を含む応答メッセージを前記制御装置に送信することにより、ポート番号を前記制御装置に払い出す付記５に記載のパケット処理システム。
（付記７）前記ポート番号テーブルは、ポート番号と、利用状況、及び当該ポート番号を利用する制御装置の識別子とを対応付けて含む付記５に記載のパケット処理システム。
（付記８）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおけるパケット処理方法であって、
前記制御装置が、前記アプリケーションが通信ポートを作成するときに、当該通信ポートが、中継装置のアドレス情報に対応付けて設定されたシンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信するステップと、
前記中継装置が、前記要求メッセージにより要求されたパケット転送規則を設定するステップとを有し、
前記パケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信することを特徴とするパケット処理方法。
（付記９）前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記制御装置は、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する付記８に記載のパケット処理方法。
（付記１０）前記中継装置は、前記要求メッセージに応じて前記パケット転送規則を設定するとともに、シグナリング識別子を払い出して当該パケット転送規則に含め、当該シグナリング識別子を含む応答メッセージを前記制御装置に送信する付記８に記載のパケット処理方法。
（付記１１）前記制御装置は、前記シグナリング識別子を前記修正メッセージに含めて前記中継装置に送信する付記１０に記載のパケット処理方法。
（付記１２）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおけるパケット処理方法であって、
前記制御装置が、前記アプリケーションが通信ポートを作成するときに、当該通信ポートが、前記中継装置のアドレス情報に対応付けて設定されたシンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信するステップと、
前記中継装置が、前記要求メッセージにより要求されたパケット転送規則を設定するステップとを備え、
前記通信ポートに対応するポート番号が不定の値である場合に、前記制御装置は、前記中継装置にポート番号の払い出しを要求し、当該中継装置は、ポート番号テーブルを参照することにより、ポート番号を前記制御装置に払い出し、前記制御装置は、当該払い出されたポート番号を前記要求メッセージに含めて前記中継装置に送信することを特徴とするパケット処理方法。
（付記１３）前記払い出しの要求は、ポート番号が不定であることを示すポート不定値を含む払い出し要求メッセージを前記中継装置に送信することにより行い、前記中継装置は、当該払い出し要求メッセージにおける前記ポート不定値に代えて特定のポート番号を含む応答メッセージを前記制御装置に送信することにより、ポート番号を前記制御装置に払い出す付記１２に記載のパケット処理方法。
（付記１４）前記ポート番号テーブルは、ポート番号と、利用状況、及び当該ポート番号を利用する制御装置の識別子とを対応付けて含む付記１２に記載のパケット処理方法。
（付記１５）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて用いられる当該制御装置であって、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、
前記中継装置により作成されたパケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記制御装置は、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信することを特徴とする制御装置。
（付記１６）前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記制御装置は、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する付記１５に記載の制御装置。
（付記１７）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて用いられる制御装置であって、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが通信ポートを作成するときに当該通信ポートが前記シンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する転送制御手段とを備え、
前記通信ポートに対応するポート番号が不定の値である場合に、前記制御装置は、前記中継装置にポート番号の払い出しを要求し、当該中継装置により払い出されたポート番号を前記要求メッセージに含めて前記中継装置に送信することを特徴とする制御装置。
（付記１８）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて用いられる制御装置に処理を実行させるプログラムであって、
前記アプリケーションが通信ポートを作成するときに、当該通信ポートが、前記中継装置のアドレス情報に対応付けて設定されたシンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する手順を前記制御装置に実行させ、
前記中継装置により作成されたパケット転送規則は前記通信ポートに対応するインターフェース識別子を含み、前記プログラムは、当該インターフェース識別子が変更されたことを検知した場合に、前記パケット転送規則におけるインターフェース識別子の修正を要求する修正メッセージを前記中継装置に送信する手順を前記制御装置に実行させることを特徴とするプログラム。
（付記１９）前記パケット転送規則におけるインターフェース識別子が不定の値である場合に、前記プログラムは、インターフェース識別子が決定した後に、前記修正メッセージを前記中継装置に送信する手順を前記制御装置に実行させる付記１８に記載のプログラム。
（付記２０）ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置から転送されたパケットを受信するアプリケーションを備えた制御装置とを接続して構成されるパケット処理システムにおいて用いられる制御装置に処理を実行させるプログラムであって、
前記アプリケーションが通信ポートを作成するときに、当該通信ポートが、前記中継装置のアドレス情報に対応付けて設定されたシンボル部に対応するものであることを検知した場合に、受信パケットを前記アプリケーションに転送するためのパケット転送規則の設定を要求する要求メッセージを前記中継装置に送信する手順を前記制御装置に実行させ、
前記通信ポートに対応するポート番号が不定の値である場合に、前記プログラムは、前記中継装置にポート番号の払い出しを要求し、当該中継装置により払い出されたポート番号を前記要求メッセージに含めて前記中継装置に送信する手順を前記中継装置に実行させることを特徴とするプログラム。
【図面の簡単な説明】
【０１６４】
【図１】本実施の形態１におけるパケット処理システムの構成を示す機能ブロック図である。
【図２】図１に示すパケット処理システムのトンネル作成依頼メッセージの一例を示す図である。
【図３】図１に示すパケット処理システムのトンネル作成応答メッセージの一例を示す図である。
【図４】図１に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【図５】図１に示すパケット処理システムの制御装置受信表の一例を示す図である。
【図６】図１に示すパケット処理システムの制御装置送信表の一例を示す図である。
【図７】図１に示すパケット処理システムの中継装置振分表の一例を示す図である。
【図８】図１に示すパケット処理システムの中継装置受信表の一例を示す図である。
【図９】ポート番号プールテーブル３４８の例を示す図である。
【図１０】ポート番号払出し要求メッセージの例を示す図である。
【図１１】ポート番号払出し応答メッセージの例を示す図である。
【図１２】図１に示すパケット処理システムにおける仮想ＩＦの登録手順を示すフローチャートである。
【図１３】図１に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【図１４】仮想ＩＦが不定である場合における転送依頼メッセージを示す図である。
【図１５】転送依頼応答メッセージの例を示す図である。
【図１６】修正依頼メッセージの例を示す図である。
【図１７】修正依頼応答メッセージの例を示す図である。
【図１８】図１に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【図１９】図１に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【図２０】本実施の形態２におけるパケット処理システムの構成を示す機能ブロック図である。
【図２１】図２０に示すパケット処理システムの制御装置受信表の一例を示す図である。
【図２２】図２０に示すパケット処理システムの制御装置送信表の一例を示す図である。
【図２３】図２０に示すパケット処理システムの中継装置振分表の一例を示す図である。
【図２４】図２０に示すパケット処理システムの中継装置受信表の一例を示す図である。
【図２５】図２０に示すパケット処理システムにおける仮想ＩＰアドレスの登録手順を示すフローチャートである。
【図２６】図２０に示すパケット処理システムのアドレス変換依頼メッセージの一例を示す図である。
【図２７】図２０に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【図２８】図２０に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【図２９】図２０に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【図３０】図２０に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【図３１】本実施の形態３に係るパケット処理システムの構成を示す機能ブロック図である。
【図３２】図３１に示すパケット処理システムの仮想ＩＦ設定および内部通信パス設定の処理手順を示すフローチャートである。
【図３３】図３１に示すパケット処理システムの仮想ＩＦ設定フェーズにおける内部通信パスの一例を示す図である。
【図３４】図３１に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を示す図である。
【図３５】図３１に示すパケット処理システムのトンネルにおける内部通信パスの別の例を示す図である。
【図３６】図３１に示すパケット処理システムの受信パケットの転送手順を示すフローチャートである。
【図３７】図３１に示すパケット処理システムの送信パケットの転送手順を示すフローチャートである。
【図３８】本実施の形態４に係るパケット処理システムの構成を示す機能ブロック図である。
【図３９】図３８に示すパケット処理システムの内部通信パス削除の処理手順を示すフローチャートである。
【図４０】本実施の形態５に係るコンピュータシステムの構成を示すシステム構成図である。
【図４１】図４０に示したコンピュータシステムにおける本体部の構成を示すブロック図である。
【符号の説明】
【０１６５】
１０、２００  制御装置
２１  入出力部
２２  経路制御部
２３  経路表取得送信部
２４  仮想ＩＦ受信設定部
２５  仮想ＩＦトンネル対応表生成部
２６  仮想ＩＦソケット対応表生成部
２７  トンネル転送部
２９  仮想ＩＦトンネル対応表
３０  仮想ＩＦソケット対応表
３１  経路表
４０，７０  カーネル処理部
４１，７１  宛先判定部
４２  仮想ＩＦ管理部
４３  仮想ＩＦ
４５  装置間通信用物理ＩＦ
４６  装置間通信用論理ＩＦ
４７  仮想ＩＦ対応表削除部
５０、３００  中継装置
５９  ＩＦ設定許可リスト
６０  データ中継部
６１  経路表受信設定部
６２  提供先判定部
６３  ＩＦ取得送信部
６４  ＩＦトンネル対応表生成部
６５  ＩＦソケット対応表生成部
６６  トンネル転送部
６７  ＩＦトンネル対応表
６８  ＩＦソケット対応表
６９  経路表
７２  ＩＦ情報取得部
７３  物理ネットワークＩＦ
７４  装置間通信用物理ＩＦ
７５  ＩＦソケット対応表削除部
７６  論理ネットワークＩＦ
７７  装置間通信用論理ＩＦ
８０  ネットワーク
９０  ネットワークノード
１００  コンピュータシステム
１０１  本体部
１０２  ディスプレイ
１０２ａ  表示画面
１０３  キーボード
１０４  マウス
１０５  モデム
１０６  ローカルエリアネットワークまたは広域エリアネットワーク（ＬＡＮ／ＷＡＮ）
１０７  公衆回線
１０８  フレキシブルディスク（ＦＤ）
１０９  ＣＤ−ＲＯＭ
１１１  他のコンピュータシステム（ＰＣ）
１１２  サーバ
１１３  プリンタ
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２４  ハードディスクドライブ（ＨＤＤ）
１２５  ＣＤ−ＲＯＭドライブ
１２６  ＦＤドライブ
１２７  Ｉ／Ｏインターフェース
１２８  ＬＡＮインターフェース
２１０  アプリケーション部
２２０  シンボル作成部
２２２  仮想ＩＦ
２２３  仮想ＩＰアドレス
２３０  転送登録要求部
２３２  転送削除要求部
２３４  仮想ＩＦアクセス判定部
２３５  仮想ＩＰアドレスアクセス判定部
２４０、３４０  転送制御部
２４２、２４３、３４４、３４５  受信表
２４４、２４５  送信表
２５０、３５０  振分部
３４７  ポート番号払出し部
３４８  ポート番号プールテーブル
２６０、３７０  データ受信処理部
２７０、３６０  データ送信処理部
２８０、３８０  ＩＦ
３９０，３９２  ネットワークＩＦ
３４２、３４３  振分表
４００、４１０  ネットワーク
４５０ａ、４５０ｂ、４５０ｃ  通信端末装置
【図１】
2005295125.tif 000003
【図２】
2005295125.tif 000004
【図３】
2005295125.tif 000005
【図４】
2005295125.tif 000006
【図５】
2005295125.tif 000007
【図６】
2005295125.tif 000008
【図７】
2005295125.tif 000009
【図８】
2005295125.tif 000010
【図９】
2005295125.tif 000011
【図１０】
2005295125.tif 000012
【図１１】
2005295125.tif 000013
【図１２】
2005295125.tif 000014
【図１３】
2005295125.tif 000015
【図１４】
2005295125.tif 000016
【図１５】
2005295125.tif 000017
【図１６】
2005295125.tif 000018
【図１７】
2005295125.tif 000019
【図１８】
2005295125.tif 000020
【図１９】
2005295125.tif 000021
【図２０】
2005295125.tif 000022
【図２１】
2005295125.tif 000023
【図２２】
2005295125.tif 000024
【図２３】
2005295125.tif 000025
【図２４】
2005295125.tif 000026
【図２５】
2005295125.tif 000027
【図２６】
2005295125.tif 000028
【図２７】
2005295125.tif 000029
【図２８】
2005295125.tif 000030
【図２９】
2005295125.tif 000031
【図３０】
2005295125.tif 000032
【図３１】
2005295125.tif 000033
【図３２】
2005295125.tif 000034
【図３３】
2005295125.tif 000035
【図３４】
2005295125.tif 000036
【図３５】
2005295125.tif 000037
【図３６】
2005295125.tif 000038
【図３７】
2005295125.tif 000039
【図３８】
2005295125.tif 000040
【図３９】
2005295125.tif 000041
【図４０】
2005295125.tif 000042
【図４１】
2005295125.tif 000043