(57)【要約】【課題】ル−タ１０内でのパケット転送を効率良く行うこと。【解決手段】各制御装置のアプリケーションアドレス検出部が、中継装置３００や他の制御装置のアプリケーションアドレス検出部と連携して、ルータ１０内の制御装置間で転送されるパケットの転送先を登録する転送表を作成して転送表記憶部に記憶する。また、パケット変換送受信部が宛先アプリケーションアドレスが仮想Ｉ／Ｆ記憶部に記憶された仮想Ｉ／Ｆアドレスと一致するパケットをアプリケーションから受け取ると、転送表に基づいて他の制御装置に直接送信する。【選択図】        図２
2006262193.tif 000002
【特許請求の範囲】
【請求項１】
論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置であって、
前記パケット処理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、
当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、
前記転送先判定手段によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で、中継装置を介さずパケットの転送を行う転送手段と、
を備えたことを特徴とする制御装置。
【請求項２】
前記転送表記憶手段は、論理的に同一のパケット処理装置を構成する他の制御装置へのパケット転送に関する情報を記憶し、
前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が論理的に同一のパケット処理装置を構成する他の制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、
前記転送手段は、前記転送先判定手段によりパケットの宛先が同一のパケット処理装置を構成する他の制御装置であると判定された場合に、該他の制御装置へパケットの転送を行うことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記転送表記憶手段は、自制御装置内のパケット転送に関する情報を記憶し、
前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が自制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、
前記転送手段は、前記転送先判定手段によりパケットの宛先が自制御装置であると判定された場合に、自制御装置内でパケットの転送を行うことを特徴とする請求項１に記載の制御装置。
【請求項４】
論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置におけるパケット転送方法であって、
前記パケット処理装置内でのパケット転送に関する情報を登録する転送表を作成する転送表作成工程と、
当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表作成工程により作成された転送表に基づいて判定する転送先判定工程と、
前記転送先判定工程によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で中継装置を介さずパケットの転送を行う転送工程と、
を含んだことを特徴とするパケット転送方法。
【請求項５】
パケットを中継する中継装置とアプリケーションを実行する複数の制御装置とが論理的に単一の論理装置を構成してパケットの処理を行うパケット処理装置であって、
自論理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、
前記アプリケーションから送信を要求されたパケットの宛先が自論理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、
前記転送先判定手段によりパケットの転送先が自論理装置内であると判定された場合に、自論理装置内で中継装置を介さずパケットの転送を行う転送手段と、
を備えたことを特徴とするパケット処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケットを中継する中継装置およびアプリケーションを実行する複数の制御装置が論理的に単一の装置としてパケットの処理を行うパケット処理装置、制御装置およびパケット転送方法に関し、特に、パケット処理装置内でのパケット転送を効率的に行うことができる制御装置、パケット転送方法およびパケット処理装置に関するものである。
【背景技術】
【０００２】
近年のインターネットの整備や利用の高まりにより、ネットワークが提供する機能も一層の高度化が求められている。インターネットでは、インターネットに接続されたサーバにて各種サービス機能を実現するアプリケーションを実行する形態がある一方で、インターネットにおけるパケット中継を担う装置、例えばルータ上で多様なプログラムを実行する形態が好ましい場合もある。
【０００３】
また、複数のサービス提供を単一ホスト上で動作しているかのように見せるために、中継装置とサーバ群で全体が外部から見て一つであるかのように運用したいという要求もある。
【０００４】
そこで、パケット中継装置と外部サーバを連携させることにより、中継装置で提供する処理を外部サーバで実行しつつ、仮想的に単一の装置が提供しているかのように見せることで全体の処理の性能向上を実現する仮想Ｉ／Ｆ技術が、特願２００３−２０９２６６号に開示されている。
【０００５】
この仮想Ｉ／Ｆ技術によれば、複数のサーバと中継装置から構成される系において、サーバ上で動くプログラムあるいはプロセスに対し、中継装置に存在するＩ／Ｆがあたかも自身の装置上に存在するＩ／Ｆであるかのように見せる仕組み（仮想Ｉ／Ｆ）、さらに、そのサーバ上のプログラム／プロセスが外部との通信をその仮想Ｉ／Ｆを介し行う際に、仮想Ｉ／Ｆに対するパケット送信を中継装置に転送して中継装置の対応するＩ／Ｆ上で送信し、また中継装置のＩ／Ｆでの受信パケットを、対応する仮想Ｉ／Ｆを有するサーバに転送し、その仮想Ｉ／Ｆで受信したかのようにプログラム／プロセスに渡す仕組みにより、サーバ上で動くプログラム／プロセスが、あたかも中継装置上で動作しているように振舞いながら、処理の実行を計算性能の高いサーバ等で分散実行することができ、処理の分業による分散処理と高性能サーバによって高い処理性能を確保することが可能となる。
【０００６】
ここで、一般に、ネットワークを介した通信を行うプログラム／プロセスは、ソケットＡＰＩというアプリケーションインタフェースを利用する。仮想Ｉ／Ｆ技術では、仮想Ｉ／Ｆに対するソケットを作成する手順に介入して、ソケットを作成しようとしているプログラム／プロセスと、仮想Ｉ／Ｆに対応した実インタフェースを有する中継装置の間にパケット転送パスを確立することで、前述の仮想Ｉ／Ｆにおけるパケット送受信を機能を実現する。
【０００７】
したがって、外部からは中継装置上で動作しているように見せたい複数のプログラム／プロセスを別個のサーバで実行する場合も、各々のプログラム／プロセスがソケットを作成する際に、ソケットと実際の実行サーバの対応を中継装置で管理し、ソケット毎に中継装置との間で通信パスを確立するため、中継装置がＩ／Ｆから受信したパケットを、そのパケットの着信ソケットに対応した通信パスを介し対応するサーバにそのパケットを振り分けることができ、複数のプログラムを異なるサーバで実行しても、各サーバと中継装置から構成される系の外からは、あたかも一つのサーバであるように振舞うことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ここで、実行したい複数のプログラム／プロセスの間で装置内通信を行うケースでは問題が発生する。すなわち、ネットワークソケットＡＰＩは、異なるホスト間の通信にも利用できる一方で、宛先アドレスを、自身を示すアドレスでソケットを開くことで同一ホスト内のプログラム間通信／プロセス間通信に利用することが可能であり、実際、両者を区別なく扱える便利さから、同一ホスト内のプログラム間通信／プロセス間通信にソケットＡＰＩを利用する場合が多い。
【０００９】
しかし、ネットワークソケットＡＰＩを用いて同一ホスト内のプログラム間通信／プロセス間通信を行うプログラムを本構成に適用する場合、相互に通信しあう複数のプログラムまたはプロセスは、それぞれ中継装置上で動作しているように振舞う必要があるため、双方のプログラムまたはプロセスがソケットを開く場合に宛先ホストを指定する識別子は、そのプログラム／プロセスが実行されていることを想定している中継装置のＩ／Ｆに対応したサーバ上の仮想Ｉ／Ｆを示す同一の識別子、あるいはその中継装置自身を示す同一の識別子でなければならない。
【００１０】
そのため、相互に通信しあう複数のプログラムまたはプロセスを同じ外部サーバ上で実行させる場合であっても、サーバの仮想Ｉ／Ｆと中継装置のＩ／Ｆはトンネルで接続しているため、それぞれのプログラム／プロセスが開くソケットに対応したサーバ−中継装置間パスを経由した通信を行うことになり、実際は同一ホスト内の通信でありながら、一度中継装置を経由したパスで通信を行ってしまい、処理オーバヘッドが発生して効率が悪い、という問題がある。
【００１１】
また、相互に通信しあう複数のプログラムまたはプロセスがそれぞれ異なる外部サーバで実行される場合でも、仮想Ｉ／Ｆおよびソケットトンネルを介した通信を行うため、直接両サーバ間で通信を行う場合に比べ、転送オーバヘッドが大きい。とくに、両サーバが中継装置を介さずに通信できるパスを有している場合、そのパスを使えず中継装置を介した通信になってしまうといった処理オーバヘッドが発生して効率が悪い、という問題がある。
【００１２】
本発明は、上記に鑑みてなされたものであって、中継装置と複数のサーバとから構成され、論理的に単一の装置として動作するパケット処理装置内でのパケット転送を効率的に行うことができるパケット処理装置およびパケット転送方法を提供することを目的とする。なお、パケット処理装置を構成し、アプリケーションを実行するサーバをここでは制御装置と呼ぶ。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る制御装置は、論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置であって、前記パケット処理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、前記転送先判定手段によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で中継装置を介さずパケットの転送を行う転送手段と、を備えたことを特徴とする。
【００１４】
この請求項１の発明によれば、パケット処理装置内でのパケット転送に関する情報を転送表として記憶し、制御装置上のアプリケーションから送信を要求されたパケットの宛先がパケット処理装置内であるか否かを転送表に基づいて判定し、パケットの宛先がパケット処理装置内であると判定した場合に、パケット処理装置内で中継装置を介さずパケットの転送を行うよう構成したので、中継装置とパケットを送受信するオーバヘッドをなくすことができる。
【００１５】
また、請求項２の発明に係る制御措置は、請求項１の発明において、前記転送表記憶手段は、論理的に同一のパケット処理装置を構成する他の制御装置へのパケット転送に関する情報を記憶し、前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が論理的に同一のパケット処理装置を構成する他の制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、前記転送手段は、前記転送先判定手段によりパケットの宛先が同一のパケット処理装置を構成する他の制御装置であると判定された場合に、該他の制御装置へパケットの転送を行うことを特徴とする。
【００１６】
この請求項２の発明によれば、論理的に同一のパケット処理装置を構成する他の制御装置へのパケット転送に関する情報を転送表に記憶し、アプリケーションから送信を要求されたパケットの宛先が論理的に同一のパケット処理装置を構成する他の制御装置であるか否かを転送表に基づいて判定し、パケットの宛先が同一のパケット処理装置を構成する他の制御装置であると判定した場合に、他の制御装置へパケットの転送を行うよう構成したので、中継装置とパケットを送受信するオーバヘッドをなくすことができる。
【００１７】
また、請求項３の発明に係る制御装置は、請求項１の発明において、前記転送表記憶手段は、自制御装置内のパケット転送に関する情報を記憶し、前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が自制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、前記転送手段は、前記転送先判定手段によりパケットの宛先が自制御装置であると判定された場合に、自制御装置内でパケットの転送を行うことを特徴とする。
【００１８】
この請求項３の発明によれば、自制御装置内のパケット転送に関する情報を転送表に記憶し、アプリケーションから送信を要求されたパケットの宛先が自制御装置であるか否かを転送表に基づいて判定し、パケットの宛先が自制御装置であると判定した場合に、自制御装置内でパケットの転送を行うよう構成したので、中継装置とパケットを送受信するオーバヘッドをなくすことができる。
【００１９】
また、請求項４の発明に係るパケット転送方法は、論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置におけるパケット転送方法であって、前記パケット処理装置内でのパケット転送に関する情報を登録する転送表を作成する転送表作成工程と、当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表作成工程により作成された転送表に基づいて判定する転送先判定工程と、前記転送先判定工程によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で中継装置を介さずパケットの転送を行う転送工程と、を含んだことを特徴とする。
【００２０】
この請求項４の発明によれば、パケット処理装置内でのパケット転送に関する情報を登録する転送表を作成し、制御装置上のアプリケーションから送信を要求されたパケットの宛先がパケット処理装置内であるか否かを転送表に基づいて判定し、パケットの宛先がパケット処理装置内であると判定した場合に、パケット処理装置内で中継装置を介さずパケットの転送を行うよう構成したので、中継装置とパケットを送受信するオーバヘッドをなくすことができる。
【００２１】
また、請求項５の発明に係るパケット処理装置は、パケットを中継する中継装置とアプリケーションを実行する複数の制御装置とが論理的に単一の論理装置を構成してパケットの処理を行うパケット処理装置であって、自論理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、前記アプリケーションから送信を要求されたパケットの宛先が自論理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、前記転送先判定手段によりパケットの転送先が自論理装置内であると判定された場合に、自論理装置内で中継装置を介さずパケットの転送を行う転送手段と、を備えたことを特徴とする。
【００２２】
この請求項５の発明によれば、自論理装置内でのパケット転送に関する情報を転送表として記憶し、アプリケーションから送信を要求されたパケットの宛先が自論理装置内であるか否かを転送表に基づいて判定し、パケットの転送先が自論理装置内であると判定した場合に、自論理装置内で中継装置を介さずパケットの転送を行うよう構成したので、中継装置とパケットを送受信するオーバヘッドをなくすことができる。
【発明の効果】
【００２３】
請求項１、２、３、４および５の発明によれば、制御装置が中継装置とパケットを送受信するオーバヘッドをなくすことができるので、パケット処理装置内でのパケット転送を効率良く行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下に、本発明に係る制御装置、パケット転送方法およびパケット処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例１では、中継装置と２台の制御装置から構成されるルータにおいて制御装置間でパケット転送を行う場合について説明し、実施例２では、一つの制御装置内でパケット転送を行う場合について説明する。なお、これらの実施例により本発明が限定されるものではない。
【００２５】
まず、本実施例１および２に係るルータによる自装置内パケット転送について図１−１および図１−２を用いて説明する。図１−１は、従来のルータによる自装置内パケット転送を説明するための説明図であり、図１−２は、本実施例１および２に係るルータによる自装置内パケット転送を説明するための説明図である。
【００２６】
図１−１に示すように、従来のルータでは、ルータを構成する制御装置Ａで実行されるプロセスＡと制御装置Ｂで実行されるプロセスＢとの間でパケットを転送する場合にも、仮想Ｉ／Ｆおよびソケットトンネルを介するために、パケットは一旦中継装置に送られ、中継装置から受信側の制御装置に送られる。
【００２７】
これに対して、図１−２に示すように、本実施例１に係るルータでは、両制御装置が中継装置を介さずに通信できるパスを有している場合には、制御装置Ａで実行されるプロセスＡと制御装置Ｂで実行されるプロセスＢとの間で転送されるパケットが、中継装置を介さず直接制御装置間で転送される。
【００２８】
すなわち、本実施例１に係るルータは、ルータ内の制御装置間でパケット転送を行う場合に、中継装置を介さずにパケット転送を行うため、転送オーバヘッドが少なく効率的にパケットを転送することができる。
【００２９】
また、図１−１に示すように、従来のルータでは、制御装置Ａで実行されるプロセスＡとプロセスＣとの間でパケットを転送する場合にも、仮想Ｉ／Ｆおよびソケットトンネルを介するために、パケットは一旦中継装置に送られ、中継装置から制御装置Ａに戻される。
【００３０】
これに対して、図１−２に示すように、本実施例２に係るルータでは、制御装置Ａが中継装置を介さず直接プロセス間でパケットを転送する。すなわち、本実施例２に係るルータは、制御装置内でパケット転送を行う場合に、中継装置を介さずにパケット転送を行うため、転送オーバヘッドが少なく効率的にパケットを転送することができる。
【００３１】
具体的には、各制御装置の仮想Ｉ／Ｆドライバが上位レイヤから仮想Ｉ／Ｆのアドレスと同じ宛先の送信パケットを受け取ると、同一制御装置に宛先プロセスが存在するか否かを判定し、同一制御装置に宛先プロセスが存在する場合には、仮想Ｉ／Ｆでパケットを折り返し、同一制御装置に宛先プロセスが存在しない場合には、中継装置の実Ｉ／Ｆをマウントしている他の制御装置における宛先プロセスの有無を問い合わせ、他の制御装置に宛先プロセスがあれば、パケットのアドレスをその制御装置のアドレスに代えてその制御装置に直接送り、宛先プロセスがなければ、パケットを廃棄し、システムコールに対してエラーを返す。
【００３２】
このように、各制御装置の仮想Ｉ／Ｆドライバが、宛先プロセスがルータ内にあるか否か、および、どの制御装置にあるかに基づいてパケットを転送することによって、ルータ内のパケット転送を効率良く行うことができる。
【実施例１】
【００３３】
次に、本実施例１に係るルータの構成について説明する。図２は、本実施例１に係るルータの構成を示す機能ブロック図である。同図に示すように、このルータ１０は、アプリケーションを実行する制御装置Ａ１００および制御装置Ｂ２００と、パケットを中継する中継装置３００とがパケット中継網４００を介して接続されて構成される。
【００３４】
なお、ここでは説明の便宜上、２台の制御装置のみを示したが、ルータ１０は、任意の台数の制御装置から構成することができる。また、制御装置が実行するアプリケーションの例としては、経路計算がある。
【００３５】
制御装置Ａ１００は、アプリケーションＡ１１０と、仮想Ｉ／Ｆ記憶部１２０と、転送表記憶部１３０と、アプリケーションアドレス検出部１４０と、パケット変換送受信部１５０と、パケット送受信部１６０とを有する。なお、制御装置Ｂ２００も同様の機能構成を有する。
【００３６】
アプリケーションＡ１１０は、制御装置Ａ１００で実行されるアプリケーションであり、制御装置Ｂ２００で実行されるアプリケーションＢ２１０との間でパケットの送受信を行う。
【００３７】
仮想Ｉ／Ｆ記憶部１２０は、仮想Ｉ／Ｆアドレスを記憶する記憶部であり、具体的には、中継装置３００のＩＰアドレスである「１３３．１６０．１００．１」を仮想Ｉ／Ｆアドレスとして記憶する。なお、制御装置Ａ１００のパケット中継網４００に接続したネットワークＩ／ＦのＩＰアドレスは、「１０．２５．１６５．１１」であり、制御装置Ｂ２００のパケット中継網４００に接続したネットワークＩ／ＦのＩＰアドレスは、「１０．２５．１６５．１２」である。
【００３８】
すなわち、制御装置Ａ１００および制御装置Ｂ２００は、中継装置３００とともに論理的に単一のルータ１０を構成し、中継装置３００が提供する実インタフェースを用いて外部と通信するため、実際のＩＰアドレスの代わりに仮想Ｉ／Ｆを用いて外部と通信する。
【００３９】
転送表記憶部１３０は、ＩＰアドレスおよびポート番号から構成される宛先アプリケーションアドレスと、その宛先アプリケーションアドレスを有するパケットの転送先の制御装置のＩＰアドレスとを対応させて登録する転送表を記憶する記憶部である。
【００４０】
図３−１は、制御装置Ａ１００が記憶する転送表の一例を示す図であり、図３−２は、制御装置Ｂ２００が記憶する転送表の一例を示す図である。ここでは、アプリケーションＡ１１０がポート番号「５０００」を使用し、アプリケーションＢ２１０がポート番号「８０」を使用して相互にパケット転送を行う場合に作成される転送表を示している。
【００４１】
図３−１および図３−２に示すように、転送表の各エントリは、ＤＳＴ−ＩＰと、ＤＳＴ−ＰＯＲＴと、ＣＮＴアドレスとから構成される。ここで、ＤＳＴ−ＩＰは、宛先ＩＰアドレスであり、ＤＳＴ−ＰＯＲＴは宛先ポート番号である。また、ＣＮＴアドレスは制御装置のＩＰアドレスである。すなわち、ＤＳＴ−ＩＰとＤＳＴ−ＰＯＲＴによって指定される宛先アプリケーションアドレスを有するパケットは、中継装置３００を介さずにＣＮＴアドレスで指定される制御装置に直接転送される。
【００４２】
例えば、図３−１において、ＤＳＴ−ＩＰが仮想Ｉ／Ｆと同じ「１３３．１６０．１００．１」であり、ＤＳＴ−ＰＯＲＴが「８０」である宛先アプリケーションアドレスを有するパケットの送信をアプリケーションＡ１１０が要求すると、そのパケットは、ＩＰアドレスが「１０．２５．１６５．１２」である制御装置、すなわち制御装置Ｂ２００に直接転送される。
【００４３】
アプリケーションアドレス検出部１４０は、アプリケーションＡ１１０が通信ポートを作成して設定した宛先アプリケーションアドレスを検出し、宛先ＩＰアドレスが仮想Ｉ／Ｆ記憶部１２０に記憶した仮想Ｉ／Ｆアドレスである場合には、中継装置３００および制御装置Ｂ２００と連携して宛先アプリケーションアドレスと転送先の制御装置のＩＰアドレスとの対応を転送表記憶部１３０が記憶する転送表に登録する処理部である。
【００４４】
すなわち、このアプリケーションアドレス検出部１４０は、ルータ１０内で通信を行う通信ポートが作成された場合には、転送表記憶部１３０が記憶する転送表に宛先アプリケーションアドレスと転送先の制御装置のＩＰアドレスとの対応を登録する。
【００４５】
具体的には、このアプリケーションアドレス検出部１４０は、アプリケーションがソケットにローカルアドレス、すなわちソースアプリケーションアドレス（制御装置Ａ１００のＩＰアドレスとポート番号）を設定すると、中継装置３００へ転送要求メッセージを送る。ここで、転送要求メッセージには、アプリケーションＡ１１０のソースアプリケーションアドレスと宛先アプリケーションアドレス（宛先のＩＰアドレスとポート番号）が含まれる。
【００４６】
そして、中継装置３００と制御装置Ｂ２００との連携によって宛先アプリケーションアドレスに対応する転送先の制御装置のＩＰアドレスが決定すると、そのＩＰアドレスを宛先アプリケーションアドレスに対応させて転送表に登録する。なお、転送表に宛先アプリケーションアドレスと対応する転送先の制御装置のＩＰアドレスとを登録する処理手順の詳細については後述する。
【００４７】
パケット変換送受信部１５０は、アプリケーションＡ１１０から送信パケットを受け取り、送信パケットの宛先がルータ１０内の他の制御装置である場合には、そのパケットを中継装置３００を介することなく直接に宛先の制御装置に送信する処理部である。
【００４８】
すなわち、このパケット変換送受信部１５０は、送信パケットの宛先アプリケーションアドレスに含まれる宛先ＩＰアドレスが仮想Ｉ／Ｆアドレスと一致する場合には、転送表を検索して転送先の制御装置のＩＰアドレスを取得し、転送先の制御装置に送信パケットをパケット送受信部１６０を介して送信する。
【００４９】
なお、このパケット変換送受信部１５０は、送信パケットの宛先アプリケーションアドレスに含まれる宛先ＩＰアドレスが仮想Ｉ／Ｆアドレスと一致しない場合には、仮想Ｉ／Ｆアドレスを用いて送信パケットをパケット送受信部１６０を介して送信する。
【００５０】
また、このパケット変換送受信部１５０は、他の制御装置からパケット送受信部１６０を介して送信パケットを受け取り、宛先アプリケーションアドレスに基づいてアプリケーションに受信したパケットを渡す。
【００５１】
パケット送受信部１６０は、パケット中継網４００を介して他の装置とパケットの送受信を行う処理部であり、送信パケットを中継装置３００や他の制御装置に送信し、受信パケットを中継装置３００や他の制御装置から受け取る。
【００５２】
中継装置３００は、外部の装置とネットワークを介してパケットの送受信を行う装置であり、受信したパケットをルーティングテーブルを用いて他のルータなどへ転送する。この中継装置３００のＩＰアドレスは、「１３３．１６０．１００．１」であり、このＩＰアドレスが仮想Ｉ／Ｆアドレスとして用いられる。この中継装置３００は、パケット送受信部３１０と、振分表記憶部３２０と、振分表管理部３３０とを有する。
【００５３】
パケット送受信部３１０は、パケット中継網４００を介して制御装置から受信したパケットを実Ｉ／Ｆを用いて外部へ送信し、実Ｉ／Ｆを用いて外部から受信したパケットをパケット中継網４００を介して制御装置に送信する処理部である。
【００５４】
振分表記憶部３２０は、転送表の構築に必要な情報を登録する振分表を記憶する記憶部である。各制御装置は、振分表の情報に基づいて転送表を作成し、振分表には、全ての制御装置の転送表の情報が登録される。
【００５５】
図４は、振分表の一例を示す図である。同図に示すように、振分表には、転送表と同様に、ＩＰアドレスおよびポート番号から構成される宛先アプリケーションアドレスと、その宛先アプリケーションアドレスを有するパケットの転送先の制御装置のＩＰアドレスとの対応が登録される。
【００５６】
振分表管理部３３０は、振分表記憶部３２０に記憶された振分表を管理する処理部であり、制御装置から転送要求メッセージを受信すると、振分表のエントリを作成して登録する。
【００５７】
具体的には、この振分表管理部３３０は、転送要求メッセージに含まれるソースアプリケーションアドレスを用いて振分表を検索し、振分表にエントリがない場合には、転送要求メッセージに含まれるソースＩＰアドレスをＤＳＴ−ＩＰとし、ソースポート番号をＤＳＴ−ＰＯＲＴとし、ソースアプリケーションＩＰアドレスをＣＮＴアドレスとして新たなエントリを作成し、振分表に登録する。そして、登録が行われたことを通知する転送応答メッセージを制御装置に送信する。一方、振分表にエントリがある場合には、エラーを通知する転送応答メッセージを制御装置に送信する。
【００５８】
この振分表管理部３３０が、制御装置から転送要求メッセージを受信して振分表にエントリを作成することによって、転送表の構築に必要な情報を振分表に蓄積することができる。
【００５９】
次に、本実施例１に係るルータ１０による制御装置間パケット転送の処理手順について説明する。図５−１および図５−２は、本実施例１に係るルータ１０による制御装置間パケット転送の処理手順を示すフローチャートである。
【００６０】
なお、ここでは、制御装置Ｂ２００で実行されるアプリケーションＢ２１０が通信ポートを作成し、その後、制御装置Ａ１００で実行されるアプリケーションＡ１１０が通信ポートを作成し、仮想Ｉ／Ｆを用いてパケットをアプリケーションＢ２１０に送信する場合の処理手順について説明する。
【００６１】
同図に示すように、このルータ１０は、まず、アプリケーションＢ２１０が通信ポートを作成し（ステップＳ１０１）、ソケットにローカルアドレス「１０．２５．１６５．１２  ８０」を設定する（ステップＳ１０２）。
【００６２】
そして、アプリケーションアドレス検出部２４０が、仮想Ｉ／Ｆアドレスと一致するアプリケーションアドレスを検出すると、中継装置３００の振分表管理部３３０へ転送要求メッセージを送る。
【００６３】
中継装置３００の振分表管理部３３０は、転送要求メッセージを受信すると、振分表にアプリケーションＢ２１０のローカルアドレス（ソースアドレス）を登録し（ステップＳ１０３）、転送応答メッセージを制御装置Ｂ２００のアプリケーションアドレス検出部２４０に送信する。
【００６４】
その後、制御装置Ａ１００上のアプリケーションＡ１１０がアプリケーションＢ２１０と通信を行うために通信ポートを作成し（ステップＳ１０４）、ソケットにローカルアドレス（ソースアプリケーションアドレス）「１０．２５．１６５．１１  ５０００」を設定する（ステップＳ１０５）。
【００６５】
そして、アプリケーションアドレス検出部１４０が、仮想Ｉ／Ｆアドレスと一致するソースアプリケーションアドレスを検出すると、中継装置３００の振分表管理部３３０へ転送要求メッセージを送る。
【００６６】
中継装置３００の振分表管理部３３０は、転送要求メッセージを受信すると、振分表にアプリケーションＡ１１０のローカルアドレス（ソースアドレス）を登録し（ステップＳ１０６）、転送応答メッセージを制御装置Ａ１００のアプリケーションアドレス検出部１４０に送信する。
【００６７】
そして、アプリケーションＡ１１０がソケットに通信のためにリモートアドレス（宛先アプリケーションアドレス）を指定する（ステップＳ１０７）と、アプリケーションアドレス検出部１４０は、リモートアドレスが仮想Ｉ／Ｆアドレスと一致するか否かを判定し（ステップＳ１０８）、一致しない場合には、パケット送受信部１６０は、データパケットを受け取った場合に、仮想Ｉ／Ｆを使ってパケットを送信する（ステップＳ１０９）。
【００６８】
一方、リモートアドレスが仮想Ｉ／Ｆアドレスと一致する場合には、アプリケーションアドレス検出部１４０は、中継装置３００の振分表管理部３３０へパス要求メッセージを送信する。ここで、パス要求メッセージにはリモートアドレスが含まれる。
【００６９】
中継装置３００の振分表管理部３３０は、パス要求メッセージを受信すると、パス要求メッセージのリモートアドレスと一致するエントリを振分表から検索する（ステップＳ１１０）。ここで、リモートアドレスと一致するエントリとしてはアプリケーションＢ２１０が該当するものとすると、振分表管理部３３０は、一致したアプリケーションＢ２１０が動いている制御装置のアドレスをパス応答メッセージに含めて制御装置Ａ１００へ送る。
【００７０】
制御装置Ａ１００のアプリケーションアドレス検出部１４０はパス応答メッセージを受信すると、リモートアドレスと制御装置Ｂ２００のＩＰアドレスとの対応を転送表に書き込み（ステップＳ１１１）、制御装置Ｂ２００に向けてパス確定要求メッセージを送信する。ここで、パス確定要求メッセージには、ローカルアドレスが含まれる。
【００７１】
制御装置Ｂ２００のアプリケーションアドレス検出部２４０は、パス確定要求メッセージを受信すると、転送表にアプリケーションＡ１１０のローカルアドレスと制御装置Ａ１００のＩＰアドレスを対応づけて登録し（ステップＳ１１２）、パス確定応答メッセージを制御装置Ａ１００に送信する。
【００７２】
そして、制御装置Ａ１００のアプリケーションＡ１１０がデータパケットを送信するとデータパケットを受信したパケット変換送受信部１５０は、宛先ＩＰアドレスをキーとして転送表を検索し（ステップＳ１１３）、転送表に一致するエントリがあるか否かを判定する（ステップＳ１１４）。
【００７３】
その結果、転送表に一致するエントリがない場合には、パケット送受信部１６０が、仮想Ｉ／Ｆを使ってパケットを送信する（ステップＳ１０９）。一方、転送表に一致するエントリがある場合には、そのエントリのＣＮＴアドレスで指定される制御装置にアプリケーションパケット（データパケット）をパケット送受信部１６０を介して送信する。
【００７４】
すると、制御装置Ｂ２００のパケット送受信部２６０がアプリケーションパケットを受信し、仮想Ｉ／Ｆアドレス宛パケットであることを検出すると、パケット変換送受信部２５０に渡す。すると、パケット変換送受信部２５０は、アプリケーションパケットの宛先アプリケーションアドレスに基づいてアプリケーションＢ２１０にパケットを渡す。
【００７５】
そして、制御装置Ｂ２００のアプリケーションＢ２１０は、制御装置Ａ１００からのアプリケーションパケットに対する応答のアプリケーションパケットをパケット変換送受信部２５０へ送信する（ステップＳ１１５）。
【００７６】
すると、パケット変換送受信部２５０は、アプリケーションパケットの宛先アプリケーションアドレスをキーとして転送表を検索し（ステップＳ１１６）、該当するエントリがあるか否かを判定する（ステップＳ１１７）。
【００７７】
その結果、該当するエントリがある場合には、そのエントリのＣＮＴアドレスで指定される制御装置にアプリケーションパケットをパケット送受信部２６０を介して送信し、該当するエントリがない場合には、パケット送受信部２６０を介して仮想Ｉ／Ｆを使って送信する（ステップＳ１１８）。
【００７８】
上述してきたように、本実施例１では、各制御装置のアプリケーションアドレス検出部が、中継装置３００や他の制御装置のアプリケーションアドレス検出部と連携して、ルータ１０内の制御装置間で転送されるパケットの転送先を登録する転送表を作成して転送表記憶部に記憶し、パケット変換送受信部が、宛先アプリケーションアドレスが仮想Ｉ／Ｆ記憶部に記憶された仮想Ｉ／Ｆアドレスと一致するパケットをアプリケーションから受け取ると、転送表に基づいて他の制御装置に直接送信することとしたので、ルータ１０内の制御装置間でのパケット転送を効率良く行うことができる。
【００７９】
なお、本実施例１では、制御装置と複数の中継装置とから構成されるルータについて説明したが、本発明はこれに限定されるものではなく、ロードバランサと複数のサーバとから構成されるＷｅｂサービス提供装置にも同様に適用することができる。
【００８０】
ただし、Ｗｅｂサービス提供装置の場合には、仮想Ｉ／Ｆアドレスの代わりに、クライアントがＷｅｂサービス提供装置にアクセスする際に使用する代表ＩＰアドレスが用いられる。そして、各サーバは、代表ＩＰアドレスに対応させて自分のＩＰアドレスを代表ＩＰ対応アドレスとして記憶し、転送表のＤＳＴ−ＩＰには仮想ＩＰアドレスの代わりに代表ＩＰ対応アドレスを記憶する。
【００８１】
そして、各制御装置は、転送要求メッセージを中継装置に送信する際に、ローカルアドレスとして代表ＩＰ対応アドレスを指定する場合は対応する代表ＩＰアドレスに置き換えて、中継装置へ送信する。また、各制御装置は、アプリケーションが接続先のリモートアドレスを指定した場合、それが、代表ＩＰ対応アドレスと一致した場合は、パス要求メッセージを送信する。この際、パス要求メッセージのリモートアドレスは、代表ＩＰアドレスに置き換えたアドレスにしてリクエストする。
【００８２】
また、ルータやＷｅｂサービス提供装置を一般化すると、中継装置と複数のサーバから構成される任意のパケット処理装置にも本発明を同様に適用することができる。ただし、その場合には、仮想Ｉ／Ｆアドレスや代表ＩＰアドレスの代わりに、自ノード（装置）を識別する自ノード識別情報を用いる必要がある。
【００８３】
また、本実施例１では、アプリケーションがソケットに通信のためのリモートアドレスを何らかの形で指定した場合に、転送表に対応するエントリを登録する場合について説明したが、アプリケーションがリモートアドレスを指定する場合としては、アプリケーションプロセスが宛先プロセスに対してコネクション作成要求をする場合やパケット送信要求をする場合がある。
【００８４】
また、本実施例１では、制御装置間で物理的な通信パスがあることを前提とした場合について説明したが、転送表に登録する前に、通信パスがあるか否かを検査することもできる。具体的には、制御装置Ａから制御装置Ｂに到達性検査パケットを送信し、制御装置Ｂから応答を受け取った場合にだけ転送表に登録することもできる。
【実施例２】
【００８５】
本実施例２では、同一制御装置で実行されるアプリケーション間でのパケット転送について説明する。まず、本実施例２に係る制御装置の構成について説明する。なお、ここでは、ルータを一般化し、中継装置と２台の制御装置から構成されるパケット処理装置として説明する。
【００８６】
図６は、本実施例２に係る制御装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図２に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００８７】
図６に示すように、この制御装置Ａ６００は、アプリケーションＡ６１０と、自ノード識別情報記憶部６２０と、転送表記憶部６３０と、アプリケーションアドレス検出部６４０と、パケット変換送受信部６５０と、パケット送受信部１６０と、アプリケーション表記憶部６７０と、アプリケーションＣ６８０とを有する。
【００８８】
アプリケーションＡ６１０およびアプリケーションＣ６８０は、制御装置Ａ６００でプロセスとして実行されるアプリケーションであり、相互にパケットの送受信を行う。自ノード識別情報記憶部６２０は、パケット処理装置６０を識別する自ノード識別情報を記憶する記憶部である。なお、パケット処理装置６０内の全ての制御装置は、同一の自ノード識別情報を有する。
【００８９】
転送表記憶部６３０は、制御装置Ａ６００内の他のアプリケーションを宛先とする宛先アプリケーションアドレスと制御装置Ａ６００のＩＰアドレスを対応させて転送表として記憶する記憶部である。
【００９０】
アプリケーション表記憶部６７０は、アプリケーションのプロセス番号と、アプリケーションが使用するポート番号とを対応させて登録するアプリケーション表を記憶する記憶部である。
【００９１】
図７は、アプリケーション表の一例を示す図である。同図において、プロセス番号が「１」であるプロセスはアプリケーションＡに対応し、プロセス番号が「３」であるプロセスはアプリケーションＣに対応する。
【００９２】
アプリケーションアドレス検出部６４０は、アプリケーション表記憶部６７０に記憶されたアプリケーション表を用いて転送表にアプリケーションＡおよびアプリケーションＣのローカルアドレスを登録する処理部である。
【００９３】
具体的には、このアプリケーションアドレス検出部６４０は、アプリケーションが通信ポートを作成しソケットにローカルアドレスを設定すると、中継装置３００へ転送要求メッセージを送る。そして、通信を行う両方のアプリケーションが中継装置３００に転送要求メッセージを送り、その後、いずれかのアプリケーションがソケットにリモートアドレスを設定すると、そのリモートアドレスが自ノード識別情報と一致している場合に、転送表にアプリケーションＡおよびアプリケーションＣのローカルアドレスを登録する。なお、転送表にアプリケーションのローカルアドレスを登録する処理手順の詳細については後述する。
【００９４】
パケット変換送受信部６５０は、アプリケーションＡ１１０から送信パケットを受け取り、送信パケットの宛先が自制御装置で実行される他のアプリケーションである場合には、そのパケットをループバックによって転送する処理部である。
【００９５】
すなわち、このパケット変換送受信部６５０は、送信パケットの宛先アプリケーションアドレスと一致するエントリが転送表にあり、宛先制御装置アドレスが自制御装置である場合には、送信パケットをループバックによって送信する。
【００９６】
このパケット変換送受信部６５０が、転送表を用いて自制御装置内のパケット転送であるか否かを判定し、自制御装置内のパケット転送である場合には、ループバックによってパケットを転送することによって、自制御装置内のパケット転送を効率良く行うことができる。
【００９７】
次に、本実施例２に係るパケット処理装置６０による制御装置内パケット転送の処理手順について説明する。図８−１および図８−２は、本実施例２に係るパケット処理装置６０による制御装置内パケット転送の処理手順を示すフローチャートである。なお、ここでは、制御装置Ａ６００で実行されるアプリケーションＡ６１０およびアプリケーションＣ６８０が通信する場合の処理手順について説明する。
【００９８】
同図に示すように、このパケット処理装置６０は、まず、アプリケーションＣ６８０が通信ポートを作成し（ステップＳ２０１）、ソケットにローカルアドレス「１０．２５．１６５．１１  ４４３」を設定する（ステップＳ２０２）。
【００９９】
そして、アプリケーションアドレス検出部６４０が、自ノード識別情報と一致するアプリケーションアドレスを検出すると、中継装置３００の振分表管理部３３０へ転送要求メッセージを送る。
【０１００】
中継装置３００の振分表管理部３３０は、転送要求メッセージを受信すると、振分表にアプリケーションＣ６８０のローカルアドレスを登録し（ステップＳ２０３）、転送応答メッセージをアプリケーションアドレス検出部６４０に送信する。
【０１０１】
その後、アプリケーションＡ６１０がアプリケーションＣ６８０と通信を行うために通信ポートを作成し（ステップＳ２０４）、ソケットにローカルアドレス（ソースアプリケーションアドレス）「１０．２５．１６５．１１  ５０００」を設定する（ステップＳ２０５）。
【０１０２】
そして、アプリケーションアドレス検出部６４０が、自ノード識別情報と一致するソースアプリケーションアドレスを検出すると、中継装置３００の振分表管理部３３０へ転送要求メッセージを送る。
【０１０３】
中継装置３００の振分表管理部３３０は、転送要求メッセージを受信すると、振分表にアプリケーションＡ６１０のローカルアドレスを登録し（ステップＳ２０６）、転送応答メッセージをアプリケーションアドレス検出部６４０に送信する。
【０１０４】
そして、アプリケーションＡ１１０がソケットに通信のためにリモートアドレス（宛先アプリケーションアドレス）を指定する（ステップＳ２０７）と、アプリケーションアドレス検出部６４０は、リモートアドレスが自ノード識別情報と一致するか否かを判定し（ステップＳ２０８）、一致しない場合には、パケット送受信部１６０は、アプリケーションパケットを受信した際に、自ノード識別情報を使ってパケットを送信する（ステップＳ２０９）。
【０１０５】
一方、リモートアドレスが自ノード識別情報と一致する場合には、アプリケーションアドレス検出部６４０は、アプリケーション表に宛先プロセス番号があるか否かを判定する（ステップＳ２１０）。その結果、アプリケーション表に宛先プロセス番号がない場合には、パケット送受信部１６０は、アプリケーションパケットを受信した際に、自ノード識別情報を使ってパケットを送信する（ステップＳ２０９）。
【０１０６】
一方、アプリケーション表に宛先プロセス番号がある場合には、アプリケーションアドレス検出部６４０がアプリケーションＡ６１０およびアプリケーションＣ６８０のローカルアドレスを転送表に登録する（ステップＳ２１１〜ステップＳ２１２）。
【０１０７】
そして、以降、アプリケーションＡ６１０がアプリケーションパケットを送信するとアプリケーションパケットを受信したパケット変換送受信部６５０は、転送表を検索し（ステップＳ２１３）、転送表に一致するエントリがあるか否かを判定する（ステップＳ２１４）。
【０１０８】
その結果、転送表に一致するエントリがある場合には、自制御装置アドレスでアプリケーションパケットを送信する。すると、パケットを受信したアプリケーションＣ６８０がパケット受信応答メッセージ（アプリケーションパケット）を送信し（ステップＳ２１５）、メッセージを受信したパケット変換送受信部６５０は、転送表を検索し（ステップＳ２１６）、転送表に一致するエントリがあるか否かを判定する（ステップＳ２１７）。その結果、転送表に一致するエントリがある場合には、自制御装置アドレスでアプリケーションパケットを送信する。
【０１０９】
一方、転送表に一致するエントリがない場合（ステップＳ２１４およびステップＳ２１７、否定）には、パケット送受信部１６０が自ノード識別情報を使ってパケットを送信する（ステップＳ２０９）。
【０１１０】
上述してきたように、本実施例２では、アプリケーションアドレス検出部が中継装置３００と連携して転送表を作成し、パケット変換送受信部がアプリケーション表および転送表に基づいて自制御装置内で転送されるパケットをループバックによって送信することとしたので、制御装置内でのパケット転送を効率良く行うことができる。
【０１１１】
なお、実施例１では、同一ルータ内の制御装置間でパケット転送を行う場合について説明し、実施例２では、一つの制御装置内でパケット転送を行う場合について説明したが、ルータなどのパケット処理装置が制御装置間および一つの制御装置内の両方でパケット転送を効率良く行うこともできる。
【０１１２】
次に、本実施例１および２に係る制御装置のハードウェア構成について説明する。図９は、本実施例１および２に係る制御装置のハードウェア構成を示す機能ブロック図である。同図に示すように、この制御装置８００は、ＭＰＵ８１０と、ＲＯＭ８２０と、ＲＡＭ８３０と、ネットワークＩ／Ｆ８４０とを有する。
【０１１３】
ＭＰＵ８１０は、ＲＯＭ８２０に格納されたプログラムを読み出して実行する処理装置であり、ＲＯＭ８２０はプログラムや定数を格納する読み出し専用メモリである。ＲＡＭ８３０は、プログラムの実行途中結果などを記憶するメモリであり、ネットワークＩ／Ｆ８４０は、パケット中継網４００と通信するためのインタフェースである。
【０１１４】
そして、ＲＯＭ８２０に格納されたパケット転送プログラム８２１やアプリケーションＡプログラム８２２などは、ＭＰＵ８１０によりパケット転送タスク８１１やアプリケーションＡタスク８１２などとして実行される。ここで、パケット転送プログラム８２１は、図２および図６に示した制御装置Ａの機能構成のうちアプリケーションを除く機能部から構成されるプログラムである。
【０１１５】
（付記１）論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置であって、
前記パケット処理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、
当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、
前記転送先判定手段によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で、中継装置を介さずパケットの転送を行う転送手段と、
を備えたことを特徴とする制御装置。
【０１１６】
（付記２）前記転送表記憶手段は、論理的に同一のパケット処理装置を構成する他の制御装置へのパケット転送に関する情報を記憶し、
前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が論理的に同一のパケット処理装置を構成する他の制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、
前記転送手段は、前記転送先判定手段によりパケットの宛先が同一のパケット処理装置を構成する他の制御装置であると判定された場合に、該他の制御装置へパケットの転送を行うことを特徴とする付記１に記載の制御装置。
【０１１７】
（付記３）前記転送表記憶手段は、自制御装置内のパケット転送に関する情報を記憶し、
前記転送先判定手段は、アプリケーションから送信を要求されたパケットの宛先が自制御装置であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定し、
前記転送手段は、前記転送先判定手段によりパケットの宛先が自制御装置であると判定された場合に、自制御装置内でパケットの転送を行うことを特徴とする付記１に記載の制御装置。
【０１１８】
（付記４）前記転送表記憶手段に記憶される転送表に、パケットの宛先と自パケット処理装置内の転送先とを対応させた情報を登録することを特徴とする付記１、２または３に記載の制御装置。
【０１１９】
（付記５）前記パケット処理装置はルータであり、前記パケットの宛先は、ルータが有するインタフェースアドレスであり、前記自パケット処理装置内の転送先は、パケットが転送される制御装置のＩＰアドレスであることを特徴とする付記４に記載の制御装置。
【０１２０】
（付記６）前記転送表記憶手段により記憶される転送表に前記中継装置と連携してパケットの宛先と自パケット処理装置内の転送先とを対応させて登録する転送表登録手段をさらに備えたことを特徴とする付記４に記載の制御装置。
【０１２１】
（付記７）論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置におけるパケット転送方法であって、
前記パケット処理装置内でのパケット転送に関する情報を登録する転送表を作成する転送表作成工程と、
当該制御装置上のアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表作成工程により作成された転送表に基づいて判定する転送先判定工程と、
前記転送先判定工程によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で中継装置を介さずパケットの転送を行う転送工程と、
を含んだことを特徴とするパケット転送方法。
【０１２２】
（付記８）論理的に単一の装置としてパケットの処理を行うパケット処理装置を、パケットを中継する中継装置とともに構成する制御装置に内蔵されたコンピュータで実行されるパケット転送プログラムであって、
前記パケット処理装置内でのパケット転送に関する情報を登録する転送表を作成する転送表作成手順と、
当該コンピュータで実行されるアプリケーションから送信を要求されたパケットの宛先が前記パケット処理装置内であるか否かを前記転送表作成手順により作成された転送表に基づいて判定する転送先判定手順と、
前記転送先判定手順によりパケットの宛先がパケット処理装置内であると判定された場合に、パケット処理装置内で中継装置を介さずパケットの転送を行う転送手順と、
をコンピュータに実行させることを特徴とするパケット転送プログラム。
【０１２３】
（付記９）パケットを中継する中継装置とアプリケーションを実行する複数の制御装置とが論理的に単一の論理装置を構成してパケットの処理を行うパケット処理装置であって、
自論理装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、
前記アプリケーションから送信を要求されたパケットの宛先が自論理装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、
前記転送先判定手段によりパケットの転送先が自論理装置内であると判定された場合に、自論理装置内で中継装置を介さずパケットの転送を行う転送手段と、
を備えたことを特徴とするパケット処理装置。
【０１２４】
（付記１０）パケットを中継する中継装置とアプリケーションを実行する複数の制御装置とから構成されるルータであって、
自装置内でのパケット転送に関する情報を転送表として記憶した転送表記憶手段と、
前記アプリケーションから送信を要求されたパケットの宛先が自装置内であるか否かを前記転送表記憶手段により記憶された転送表に基づいて判定する転送先判定手段と、
前記転送先判定手段によりパケットの転送先が自装置内であると判定された場合に、自装置内で中継装置を介さずパケットの転送を行う転送手段と、
を備えたことを特徴とするルータ。
【産業上の利用可能性】
【０１２５】
以上のように、本発明に係る制御装置、パケット転送方法およびパケット処理装置は、パケット通信を行う装置に有用であり、特に、ルータやＷｅｂサービス提供装置に適している。
【図面の簡単な説明】
【０１２６】
【図１−１】従来のルータによる自装置内パケット転送を説明するための説明図である。
【図１−２】本実施例１および２に係るルータによる自装置内パケット転送を説明するための説明図である。
【図２】本実施例１に係るルータの構成を示す機能ブロック図である。
【図３−１】制御装置Ａが記憶する転送表の一例を示す図である。
【図３−２】制御装置Ｂが記憶する転送表の一例を示す図である。
【図４】振分表の一例を示す図である。
【図５−１】本実施例１に係るルータによる制御装置間パケット転送の処理手順を示すフローチャート（１）である。
【図５−２】本実施例１に係るルータによる制御装置間パケット転送の処理手順を示すフローチャート（２）である。
【図６】本実施例２に係る制御装置の構成を示す機能ブロック図である。
【図７】アプリケーション表の一例を示す図である。
【図８−１】本実施例２に係るパケット処理装置による制御装置内パケット転送の処理手順を示すフローチャート（１）である。
【図８−２】本実施例２に係るパケット処理装置による制御装置内パケット転送の処理手順を示すフローチャート（２）である。
【図９】本実施例１および２に係る制御装置のハードウェア構成を示す機能ブロック図である。
【符号の説明】
【０１２７】
１０    ルータ
６０    パケット処理装置
１００，６００    制御装置Ａ
１１０，６１０    アプリケーションＡ
１２０    仮想Ｉ／Ｆ記憶部
１３０，６３０    転送表記憶部
１４０，６４０    アプリケーションアドレス検出部
１５０，６５０    パケット変換送受信部
１６０    パケット送受信部
２００，７００    制御装置Ｂ
２１０，７１０    アプリケーションＢ
２２０    仮想Ｉ／Ｆ記憶部
２３０，７３０    転送表記憶部
２４０，７４０    アプリケーションアドレス検出部
２５０，７５０    パケット変換送受信部
２６０    パケット送受信部
３００    中継装置
３１０    パケット送受信部
３２０    振分表記憶部
３３０    振分表管理部
４００    パケット中継網
６２０    自ノード識別情報記憶部
６７０    アプリケーション表記憶部
６８０    アプリケーションＣ
７２０    自ノード識別情報記憶部
８００    制御装置
８１０    ＭＰＵ
８１１    パケット転送タスク
８１２    アプリケーションＡタスク
８２０    ＲＯＭ
８２１    パケット転送プログラム
８２２    アプリケーションＡプログラム
８３０    ＲＡＭ
８４０    ネットワークＩ／Ｆ
【図１−１】
2006262193.tif 000003
【図１−２】
2006262193.tif 000004
【図２】
2006262193.tif 000005
【図３−１】
2006262193.tif 000006
【図３−２】
2006262193.tif 000007
【図４】
2006262193.tif 000008
【図５−１】
2006262193.tif 000009
【図５−２】
2006262193.tif 000010
【図６】
2006262193.tif 000011
【図７】
2006262193.tif 000012
【図８−１】
2006262193.tif 000013
【図８−２】
2006262193.tif 000014
【図９】
2006262193.tif 000015