(57)【要約】【課題】  同一の宛先アドレスを有するパケットを異なる伝送経路を経由して宛先に伝送する、パケット交換網における経路制御システム、経路制御方法およびそのためのプログラムを提供する。【解決手段】  本発明の経路制御システム１０は、エッジ・ノード２６を含みのうちのエッジ・ノード２６が、指定した伝送経路でパケットの伝送を行うための要求を送信し、ネットワーク内の未使用IPアドレスを確保する手段４０と、指定した伝送経路での伝送を行うパケットを選択する手段２８と、選択されたパケットを解析し、宛先IPアドレスを確保された未使用IPアドレスで置換する手段３６と、置換されたパケットを他の指定したノードへとパケットを送出する手段３８とを含む。【選択図】図３
2006173704.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットフローを識別し経路制御を行うためのフロー識別およびフローレベルの経路制御システムであって、前記システムは、前記ネットワークと前記ネットワークに接続された複数のノードとを含んで構成され、少なくとも前記ノードのうちの第１のノードが、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する手段と、
指定した伝送経路での伝送を行うパケットを選択する手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する手段と、
置換された前記パケットを他の指定したノードへと前記パケットを送出する手段と
を含む経路制御システム。
【請求項２】
前記複数のノードは、ユーザ・ノードに接続された複数のエッジ・ノードと前記パケットを中継するコア・ノードとを含み、前記第１のノードは、前記エッジ・ノードを構成し、前記エッジ・ノードおよび前記コア・ノードは、前記未使用IPアドレスを経路指定するための、確保された前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を含む、請求項１に記載の経路制御システム。
【請求項３】
前記送出する手段は、指定した前記経路で伝送される前記パケットを、確保された前記未使用IPアドレスをIPヘッダの宛先IPアドレス・フィールドに記述し、宛先IPアドレスをペイロードの後方、またはIPヘッダのIPオプション・フィールド、またはルーティング・ヘッダにカプセル化して生成する手段、または、前記未使用IPアドレスを含む新たなヘッダを付加する手段を含む、請求項１または２に記載の経路制御システム。
【請求項４】
前記送出する手段は、前記指定した前記経路で伝送される前記パケットを、前記パケットの宛先IPアドレスのうちの第１の所定バイトを前記未使用IPアドレスの第２の所定バイトで置換して宛先アドレスとして生成し、前記パケットにカプセル化して生成する手段を含む、請求項１または２のいずれか１項に記載の経路制御システム。
【請求項５】
前記複数のノードのうちの少なくとも１つのエッジ・ノードは、前記未使用IPアドレスを含む前記パケットを受信して、前記未使用IPアドレスの第２の所定バイトを前記第１の所定バイトに置換するためのデータ構造を含む、請求項４に記載の経路制御システム。
【請求項６】
ネットワークと前記ネットワークに接続された複数のノードとを含んで構成される前記ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットの経路制御を行うフロー識別およびフローレベルの経路制御方法であって、前記経路制御方法は、第１の情報処理装置をして、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する機能手段と、
指定した伝送経路での伝送を行うパケットを選択する機能手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する機能手段と、
置換された前記パケットを他の指定したノードへと前記パケットを送出する機能手段と
を構成させる、経路制御方法。
【請求項７】
前記複数のノードは、ユーザ・ノードに接続された複数のエッジ・ノードと前記パケットを中継するコア・ノードとを含み、前記第１のノードは、前記エッジ・ノードを構成し、
前記方法は、前記エッジ・ノードおよび前記コア・ノードは、確保された前記未使用IPアドレスを経路指定するための、前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を生成する機能手段を含む、請求項６に記載の経路制御方法。
【請求項８】
前記送出する機能手段は、指定した前記経路で伝送される前記パケットを、確保した前記未使用IPアドレスをIPヘッダの宛先IPアドレス・フィールドに記述し、宛先IPアドレスをペイロードの後方、またはIPヘッダのIPオプション・フィールド、またはルーティング・ヘッダにカプセル化して生成する機能手段、または、前記未使用IPアドレスを含む新たなヘッダを付加する機能手段を含む、請求項６または７に記載の経路制御方法。
【請求項９】
前記送出する機能手段は、前記指定した前記経路で伝送される前記パケットを、前記パケットの宛先IPアドレスのうちの第１の所定バイトを前記未使用IPアドレスの第２の所定バイトで置換して宛先アドレスとして生成し、前記パケットにカプセル化して生成する機能手段を含む、請求項６または７のいずれか１項に記載の経路制御方法。
【請求項１０】
前記複数のノードのうちの少なくとも１つのエッジ・ノードは、前記未使用IPアドレスを含む前記パケットを受信して、前記未使用IPアドレスの第２の所定バイトを前記第１のノードの前記第１の所定バイトに置換するためのデータ構造を生成する機能手段を含む、請求項９に記載の経路制御方法。
【請求項１１】
ネットワークと前記ネットワークに接続された複数のノードとを含んで構成される前記ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットの経路制御を行うフロー識別およびフローレベルの経路制御方法を情報処理装置に対して実行させるためのプログラムであって、前記プログラムは、情報処理装置をして、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する機能手段と、
指定した伝送経路での伝送を行うパケットを選択する機能手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する手段と、
前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を生成する手段と、
置換された前記パケットを次ホップのノードへと前記データ構造をルックアップして次ホップのアドレスに宛てて前記パケットを送出する機能手段と
を構成させる、プログラム。
【請求項１２】
ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットのフローを識別し経路制御を行うためのフロー識別およびフローレベルの経路制御システムであって、前記システムは、前記ネットワークと前記ネットワークに接続された複数のノードとを含んで構成され、少なくとも前記ノードのうちの第１のノードおよび第２のノードを含み、前記第２のノードは、
前記第１のノードから指定した伝送経路でパケットの伝送を行うための要求を受信して、前記ネットワーク内の未使用IPアドレスを確保する手段と、
指定した前記伝送経路で前記第１のノードに宛てて確保した未使用IPアドレスを通知する手段と、
前記未使用IPアドレスおよび宛先IPアドレスから所定のプロトコルで変換された第２の未使用IPアドレスまたは前記未使用IPアドレスを含むパケットを受信して前記パケットを解析する解析手段と、
を含み、
前記解析手段は、前記パケットに第２の未使用IPアドレスを検出した場合には、前記第２の未使用IPアドレスから元の宛先IPアドレスを再生し、前記解析手段が前記未使用IPアドレスを検出した場合には、前記パケットに記述された宛先IPアドレスを読出して前記パケットの元の宛先IPアドレスを再生する、経路制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを経由して伝送されるパケットの経路指定技術に関し、より詳細には、同一の宛先アドレスを有するパケットを、異なる伝送経路を経由して宛先に伝送する、パケット交換網における経路制御システム、経路制御方法およびそのためのプログラムに関する。
【背景技術】
【０００２】
従来、IPv4、IPv6などのパケット・フォーマットを使用したホップバイホップ型パケット交換網は、コンピュータ間で送受信するデータに対して、送信元アドレスと宛先アドレスとを記したヘッダを付加し、パケットにカプセル化してネットワークへと送信する。各中継コンピュータ（ルータ）などのネットワーク機器は、その宛先アドレスから、次に送信するべきノード（次ホップ）を決定する。ホップバイホップ型では、各ノードは、次ホップの決定を、それぞれのノードが有する経路テーブルをルックアップして行う。ノードが保有する経路テーブルには、宛先アドレスと、当該宛先アドレスに対応する次ホップのアドレスの対が登録され、ノードは、経路テーブルをルックアップして、宛先アドレスから次ホップを知ることができる。また、このような経路テーブルは、ネットワーク構成の変化に応答して静的管理方法や動的管理方法などにより更新されている。しかしながら、上述した従来型のパケット交換網では、同一の宛先アドレスを持つパケットは、原則的にはすべて同一の経路を通過することになる。
【０００３】
一方、近年では、インターネットなどの通信インフラ基盤を用いて送受信される情報は、ますます増加する傾向にあり、また送受信される情報も、高い情報的付加価値が与えられることが多い。このため、パケット交換網で、トラフィックの分散、帯域保証や、遅延保証などの品質保証を行うために、宛先アドレスだけを使用した経路指定ではなく、送り元アドレスやあて先ポート番号、送り元ポート番号などで示される特定のパケットの集合（パケットフロー、またはフロー）を指定し、指定されたパケットを、希望する伝送経路を指定して、それ以外のパケットとは別に通信することが好ましい場合もある。
【０００４】
しかしながら、上述したように、ルータごとに経路テーブルを設けた従来のホップバイホップ型パケット交換網では、同一の宛先アドレスを持つパケットはすべて同一の経路を通ってしまい、明示した経路に通すことは不可能であり、パケットを指定して経路指定を行うことは不可能である。
【０００５】
このような問題点に対して従来では、例えば以下に記載する技術が、特定のパケットフローのための経路指定のために提案され、概ねMPLS技術と明示的な経路制御とを組み合わせた方式として、一般的に利用されている。
【０００６】
【特許文献１】特許公表２００２−５１６０４２号公報、名称「伝送ネットワークにおいてパケットの経路指定とスイッチングとの間をダイナミックにシフトする改良された方法及び装置」
【非特許文献１】MPLS:IETF(Internet Engineering Task Force)  RFC3031.txt(http://www.ietf.org/rfc/rfc3031.txt)
【非特許文献２】RSVP-TE:IETF(Internet Engineering Task Force) RFC3209.txt(http://www.ietf.org/rfc/rfc3209.txt)
【非特許文献３】Type of Service (ToS):IETF(Internet Engineering Task Force) RFC1349.txt(http://www.ietf.org/rfc/rfc1349.txt)
【０００７】
特許文献１では、パケットを明示的に通したい経路に属するノードのうち、経路テーブルでの転送では通過しないルータのリストをパケット内に指定しておく。したがって、通過させないために指定する必要のあるルータが増加するにつれ経路に依存してパケット長が大きく変化してしまうことになり、通信帯域幅に対するオーバーヘッドが管理困難となるという問題を生じる。また、このため特許文献１の方法は、伝送処理のスケーラビリティが保証できないという不都合を生じさせる。さらに、通過しないルータのリストを備えさせておき、それを選択させることで、異なる伝送経路を与える方式も考えられるが、それだけでは、パケットの品質制御に関する情報を持たせることはできず、さらにネットワーク機器自体が通過しないことを指定されたノードであるかないかについて、すべてのパケットについてフィルタリングを行い、経路を選択する処理を必要とするなど、ネットワーク機器に対してのオーバーヘッドを増加させるという、別の問題点を生じさせる。
【０００８】
また、非特許文献１および２は、パケットフローに対してATMやフレームリレーなどのデータリンク層で定義されるラベル、あるいはEthernet（登録商標）などのデータリンク層の上に定義したラベルを割り当て、それを元にパケットフローを識別する方式である。これらの方式は、様々な粒度のパケットフローに適用でき、ラベルに転送する際の品質制御に関する情報を持たせることもできる。しかしながら、これらの方式を利用するためには、従来の経路テーブル以外に、ネットワーク内のすべてのルータが新しいラベル用の転送テーブルを備えることが要求され、管理者に対して新たな管理対象を追加させるという負担を生じさせる。また、システム的にも利用するデータリンク層レベルでの情報処理手段として、ラベルが利用できるものを選択して、必要に応じて交換する必要を生じさせる。
【０００９】
また、パケットフローのトランザクション・ノードの粒度を限定する手法として、非特許文献３に記載される技術を挙げることができる。非特許文献３に開示される方法は、IPヘッダ内に格納されたToS情報を元にパケットの転送方法を変える方法である。非特許文献３に記載された方法によれば、ToS情報に依存して、経路を変更することができる。しかし、このような方法では様々な種類のパケットフローに対して、フレキシビリティの高い、明示的な経路制御を実現することはできない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、従来の技術によれば、パケットフローを明示的な経路に沿って伝送するためには、ラベルが利用可能なデータリンクに変更し、更に新しい転送テーブルを追加して管理を行う必要がある、帯域幅に対する大きなオーバーヘッドになりうるアドレス・リストを経路テーブルとは別に備えさせる必要がある、さらには経路指定を行うことができるパケットフローの種類が限られるなどの不都合があった。
【００１１】
すなわち、本発明は、(1)新しい転送テーブルを必要としないで、(2)様々な粒度のパケットフローを識別し扱える、(3)さらにはネットワーク・インフラ基盤の大規模な変更を行うことなく移行が容易な、経路制御システム、経路制御方法、およびそのためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
以上の課題を解決するために、これまで本発明者らは鋭意検討を加えてきた結果、本発明の経路制御を使用することにより、柔軟性の高いホップバイホップ型のパケット交換が可能であることを見出し、本発明に至ったものである。すなわち、本発明では、経路制御に用いられるアドレス空間の中で未使用のIPアドレスZを経路指定に使用する。より詳細には、本発明において未使用IPアドレスZとは、ネットワークの出口ノード未使用とされているIPアドレスであって、本発明の経路制御が実行される段階で取得され、以後、本発明の経路制御が行われている間専有されるIPアドレスのことを意味する。
【００１３】
本発明では、入口ノードは、特定の経路を通過させたいパケットについて、該当する経路テーブルから出口ノードを識別し、出口ノードに宛てて、本発明の経路制御を行うことを通知するリクエスト・パケットを発行する。出口ノードでは、このリクエスト・パケットを受け取ると、出口ノードにおいて使用可能な未使用IPアドレスZを取得して専有させ、レスポンス・パケットに取得した未使用IPアドレスZをカプセル化してレスポンス・パケットと共に入口ノードへと返信する。入口ノードにまで伝送する中継を行うノードおよび入口ノードは、レスポンス・パケットを受け取ると、経路テーブルに新たなホップ・アドレスに対応するエントリを作成し、本発明の経路指定を、経路テーブル以外を使用せずに実現させる。
【００１４】
入口ノードでは、出口ノードからのレスポンス・パケットを受信して、未使用IPアドレスを取得する。その後入口ノードは、本発明の経路指定を行うパケットに対して未使用アドレスを書込み、ネットワークへと送出する。出口ノードでは、未使用アドレスをヘッダに含むパケットを受信すると、出口ノードが保持する対応テーブルを使用して未使用IPアドレスを元の宛先アドレスで置換するか、またはパケットが保持する元の宛先アドレスで未使用IPアドレスを置換して、正確な宛先ノードへとパケットを伝送する。
【００１５】
本発明では、元の宛先アドレスの保存は、出口ノードでのアドレス変換、IPパケットに保存させるパケット内保存、入口ノードで新たなIPヘッダを形成して、入口ノードから、出口ノードへと指定した経路に沿ってトンネル方式でパケット伝送を行ない、新たなIPヘッダを削除する方法により行うことができる。
【００１６】
すなわち、本発明によれば、ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットの経路制御を行うためのフロー識別およびフローレベルの経路制御システムであって、前記システムは、前記ネットワークと前記ネットワークに接続された複数のノードとを含んで構成され、少なくとも前記ノードのうちの第１のノードが、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する手段と、
指定した伝送経路での伝送を行うパケットを選択する手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する手段と、
置換された前記パケットを他の指定したノードへと前記パケットを送出する手段と
を含む経路制御システムが提供できる。
【００１７】
前記複数のノードは、ユーザ・ノードに接続された複数のエッジ・ノードと前記パケットを中継するコア・ノードとを含み、前記第１のノードは、前記エッジ・ノードを構成し、前記エッジ・ノードおよび前記コア・ノードは、前記未使用IPアドレスを経路指定するための、確保された前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を含む。
【００１８】
前記送出する手段は、指定した前記経路で伝送される前記パケットを、確保された前記未使用IPアドレスをIPヘッダの宛先IPアドレス・フィールドに記述し、宛先IPアドレスをペイロードの後方、またはIPヘッダのIPオプション・フィールド、またはルーティング・ヘッダにカプセル化して生成する手段、または、前記未使用IPアドレスを含む新たなヘッダを付加する手段を含む。
【００１９】
前記送出する手段は、前記指定した前記経路で伝送される前記パケットを、前記パケットの宛先IPアドレスのうちの第１の所定バイトを前記未使用IPアドレスの第２の所定バイトで置換して宛先アドレスとして生成し、前記パケットにカプセル化して生成する手段を含む。
【００２０】
前記複数のノードのうちの少なくとも１つのエッジ・ノードは、前記未使用IPアドレスを含む前記パケットを受信して、前記未使用IPアドレスの第２の所定バイトを前記第１の所定バイトに置換するためのデータ構造を含む。
【００２１】
本発明の第２の構成によれば、ネットワークと前記ネットワークに接続された複数のノードとを含んで構成される前記ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットの経路制御を行うフロー識別およびフローレベルの経路制御方法であって、前記経路制御方法は、第１の情報処理装置をして、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する機能手段と、
指定した伝送経路での伝送を行うパケットを選択する機能手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する機能手段と、
置換された前記パケットを他の指定したノードへと前記パケットを送出する機能手段と
を構成させる、経路制御方法が提供できる。
【００２２】
前記複数のノードは、ユーザ・ノードに接続された複数のエッジ・ノードと前記パケットを中継するコア・ノードとを含み、前記第１のノードは、前記エッジ・ノードを構成し、
前記方法は、前記エッジ・ノードおよび前記コア・ノードは、確保された前記未使用IPアドレスを経路指定するための、前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を生成する機能手段を含む。
【００２３】
前記送出する機能手段は、指定した前記経路で伝送される前記パケットを、確保された前記未使用IPアドレスをIPヘッダの宛先IPアドレス・フィールドに記述し、宛先IPアドレスをペイロードの後方、またはIPヘッダのIPオプション・フィールド、またはルーティング・ヘッダにカプセル化して生成する機能手段、または、前記未使用IPアドレスを含む新たなヘッダを付加する手段を含む。
【００２４】
前記送出する機能手段は、前記指定した前記経路で伝送される前記パケットを、前記パケットの宛先IPアドレスのうちの第１の所定バイトを前記未使用IPアドレスの第２の所定バイトで置換して宛先アドレスとして生成し、前記パケットにカプセル化して生成する機能手段を含む。
【００２５】
前記複数のノードのうちの少なくとも１つのエッジ・ノードは、前記未使用IPアドレスを含む前記パケットを受信して、前記未使用IPアドレスの第２の所定バイトを前記第１のノードの前記第１の所定バイトに置換するためのデータ構造を生成する機能手段を含む。
【００２６】
本発明の第３の構成によれば、ネットワークと前記ネットワークに接続された複数のノードとを含んで構成される前記ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットの経路制御を行うフロー識別およびフローレベルの経路制御方法を情報処理装置に対して実行させるためのプログラムであって、前記プログラムは、情報処理装置をして、
指定した伝送経路でパケットの伝送を行うための要求を送信し、前記ネットワーク内の未使用IPアドレスを確保する機能手段と、
指定した伝送経路での伝送を行うパケットを選択する機能手段と、
前記選択されたパケットを解析し、宛先IPアドレスを確保された前記未使用IPアドレスで置換する手段と、
前記未使用IPアドレスと次ホップ・ノードのIPアドレスとを対応させたエントリを格納したデータ構造を生成する手段と、
置換された前記パケットを次ホップのノードへと前記データ構造をルックアップして次ホップのアドレスに宛てて前記パケットを送出する機能手段と
を構成させる、プログラムが提供できる。
【００２７】
本発明の第４の構成によれば、ネットワーク内においてホイップバイホイップ型のパケット交換網で伝送されるパケットのフローを識別し経路制御を行うためのフロー識別およびフローレベルの経路制御システムであって、前記システムは、前記ネットワークと前記ネットワークに接続された複数のノードとを含んで構成され、少なくとも前記ノードのうちの第１のノードおよび第２のノードを含み、前記第２のノードは、
前記第１のノードから指定した伝送経路でパケットの伝送を行うための要求を受信して、前記ネットワーク内の未使用IPアドレスを確保する手段と、
指定した前記伝送経路で前記第１のノードに宛てて確保した未使用IPアドレスを通知する手段と、
前記未使用IPアドレスおよび宛先IPアドレスから所定のプロトコルで変換された第２の未使用IPアドレスまたは前記未使用IPアドレスを含むパケットを受信して前記パケットを解析する解析手段と、
を含み、
前記解析手段は、前記パケットに第２の未使用IPアドレスを検出した場合には、前記第２の未使用IPアドレスから元の宛先IPアドレスを再生し、前記解析手段が前記未使用IPアドレスを検出した場合には、前記パケットに記述された宛先IPアドレスを読出して前記パケットの元の宛先IPアドレスを再生する、経路制御システムが提供できる。
【発明の効果】
【００２８】
本発明によれば、データリンク層レベルでの転送テーブルを使用することなく、既存の経路テーブルだけを使用してフレキシビリティのある経路指定を可能とする、経路制御システム、経路制御方法、およびそのためのプログラムが提供できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を図面に示した実施の形態をもって説明するが、本発明は、後述する実施の形態に限定されるものではない。
【００３０】
図１は、本発明のホップバイホップ型のパケット交換網が使用する、経路制御システム１０の実施の形態を示す。図１に示した経路制御システムは、本質的に従来の経路指定と本発明による経路指定とを実行することが可能であり、図１には、従来の経路指定によりパケットが伝送される実施の形態を示している。図１に示されるパケット交換システム１０は、複数のノードから構成されており、ノードP、ノードQ、ノードR、ノードSがネットワークに接続された例えば、ISP（Internet Service Provider)ノードであり、ノードAおよびノードBがユーザ・ノード１２、１４とされている。例えば、ユーザ・ノード１２が、特に指定せずにユーザ・ノード１４にパケットを送信する場合には、ノードP→ノードQ→ノードS→ユーザ・ノード１４の順にノードをホップして、ユーザ・ノード１２からユーザ・ノード１４へとパケットが伝送される。ノードP、ノードQ、ノードR、ノードSは、それぞれ経路テーブル１６〜２２を保持している。経路テーブル１６〜２２は、図１に示すように、宛先IPアドレスDstと、Dstに対応するホップ・ノードNHopとを対応させて記憶する。
【００３１】
ノードPは、例えば宛先IPアドレスがユーザ・ノード１４宛のパケットを受信すると、経路テーブル１６をルックアップして、次ホップのノードとしてノードQを選択し、ノードQに宛ててパケットをホップさせる。また、ノードQでは、ノードPからのパケットを受け取ると、宛先IPアドレスを判断し、次ホップのノードとしてノードSを選択し、ノードSへと受け取ったパケットを送信させることにより、ユーザ・ノード１４へとユーザ・ノード１２からのパケットを伝送している。
【００３２】
ユーザ・ノード１２およびユーザ・ノード１４は、パーソナル・コンピュータ、またはメール・サーバ、またはルータなどとして構成されており、さらに、ユーザ・ノード１２、１４は、複数のコンピュータが接続されたLANまたはWANを構成させるためのネットワーク機器を代表して示したものとすることができる。ユーザ・ノード１２およびユーザ・ノード１４に接続されたノードPおよびノードSは、ユーザ・ノードからのパケットを受信して、宛先に送信するネットワーク機器、例えばエッジ・ノードとして参照され、以下、入口ノードおよび出口ノードとして参照する。また、ノードRおよびノードQは、パケットを中継する機能を有するルータ、スイッチまたはコンピュータなどのネットワーク機器であり、以下、コア・ノードとして参照する。しかしながら、コア・ノードであってもエッジ・ルータの機能を含ませることができる。また、ノードP、Q、R、Sは、それぞれ通信網により相互接続されていて、所謂インターネットなどのネットワーク２４を構成している。本発明では、ネットワーク２４は、TCP/IPプロトコルといったネットワーク層／トランスポート層レベルでのプロトコルの他、UDP(User Datagram Protocol)などの通信プロトコルを使用したネットワークを使用することができる。
【００３３】
図２は、本発明によりパケットを指定した経路を通じて伝送させる場合の実施の形態を示した図である。図２に示されるように、本発明の経路制御システム１０は、図１に示した以外にも伝送経路を任意に指定できる。すなわち、本発明の実施の形態では、ユーザ・ノード１２から送出されたパケットは、ノードPにより受信され、その後、図１とは異なり、ノードRを経由してユーザ・ノード１４へと伝送される。この場合、本発明では、ノードPは、予め経路テーブルから指定されたユーザ・ノード１４のための出口ノードを特定し、本発明の経路制御を行うためのリクエスト・パケットをノードSに対して送信する。その後、ノードSからのレスポンス・パケットが送信され、ノードP、ノードRは、ノードSにおける未使用IPアドレスZをそれぞれ取得して、例えばノードPでは、経路テーブルに新たなエントリ｛Z、R｝を追加し、ノードRでは、経路テーブルに新たなエントリ｛Z、S｝を追加する。
【００３４】
ユーザ・ノード１２は、通常通りのフォーマットでユーザ・ノード１４へと伝送するべきパケットをノードPに送出する。ノードPでは、予め取得しておいたノードSの未使用IPアドレスZを含むパケットを作成し、経路テーブルをルックアップして、ネットワーク２４へとパケットをディスパッチさせる。指定された経路に対応するノードRは、パケットを受け取ると、経路テーブルをルックアップして、未使用IPアドレスZを含むエントリの次ホップ・アドレスを取得して、パケットをノードSへとホップさせている。一方、ノードSでは、未使用IPアドレスZを宛先アドレスに含むパケットを受信すると、それに対応する本来の宛先IPアドレスに変換する処理を行い、ユーザ・ノード１４へとパケットを伝送する。なお、「＊」で示された記号は、元のアドレスに戻す処理を示している。
【００３５】
図３は、本発明のエッジ・ノードの機能構成を示した概略図である。図３に示したエッジ・ノード２６は、入口ノード、出口ノード共に同一の構成とすることができ、図示しない中央処理装置（CPU)により制御されている。図３に示されたエッジ・ノード２６の構成についてさらに説明すると、エッジ・ノード２６は、本発明の経路指定を行うパケットと通常の経路で伝送するパケットとをクラス分けする、パケットクラス分け手段２８と、経路テーブル３０と、アドレスプール管理手段３２とを含んでいる。エッジ・ノード２６は、外部からパケットを受信すると、まず、パケットクラス分け手段２８により、本発明の経路制御を行うことが必要なパケットか否かを判断する。この判断は、例えば、パケットフローの送信元IPアドレスをパケットクラス分け手段２８など、エッジ・ノード２６の適切な記憶装置に予め登録しておき、判断することができる。また、パケットクラス分け手段２８の、それ以外の機能的構成は、IntServ/DiffServなど、従来の機能手段を使用して構築されている。
【００３６】
経路テーブル３０は、本発明では、例えばRIPなどにより動的アップデートされており、宛先IPアドレスに対応する次ホップのノードのIPアドレスを対応させて登録したエントリ、および本発明にしたがって生成される、未使用IPアドレスに対応する指定された次ホップ・ノードのIPアドレスZが登録されたエントリを含んでいる。また、アドレスプール管理手段３２は、エッジ・ノード２６が使用できるIPアドレスのうち、未使用のIPアドレスZをアドレスプール３４から選択して、ルーチング・テーブルへと登録させている。
【００３７】
なお、アドレスプール３４およびアドレスプール管理手段３２は、エッジ・ノード２６が使用可能な未使用IPアドレスZを、例えば、エッジ・ノード２６に割当てられたIPアドレスをアドレスプール３４にすべて保有させておき、すでに使用されているIPアドレスについてフラグを立てて、フラグの付されていないIPアドレスを検索して当該IPアドレスZの使用を指示するように構成することもできる。また、本発明の別の実施の形態では、アドレスプール３４は、未使用IPアドレスであることを直接示すフラグを設定しておき、フラグの設定されたIPアドレスを直接使用して未使用IPアドレスとして取得することができる。さらに。本発明の他の実施の形態では、アドレスプール３４には、使用されていないIPアドレスだけを格納させておくこともできる。
【００３８】
エッジ・ノード２６は、さらに、入力フロー処理手段３６と、出力フロー処理手段３８と、シグナリング処理手段４０とを含んで構成されている。入力フロー処理手段３６は、本発明の経路制御にしたがって処理されるパケットを加工して、指定された経路を経由して宛先ノードへとパケットを伝送させるように、経路テーブル３０をルックアップしてマッピングを行う。出力フロー処理手段３８は、エッジ・ノード２６が出口ノードである場合には、未使用IPアドレスZを元の宛先IPアドレスへと変換して、元の宛先IPアドレスを有するユーザ・ノード１４へとパケットを送出する。また、エッジ・ノード２６が入口ノードである場合には、出力フロー処理手段３８は、MACアドレスといったデータリンク層レベルおよび物理層レベルでの経路指定にしたがって、マッピングされたパケットを次ホップ・ノードへとパケットをディスパッチする。
【００３９】
また、シグナリング処理手段４０は、入口ノードでは該当する出口ノードを経路テーブルから識別して、リクエスト・パケットを生成し、出口ノードへと生成されたリクエスト・パケットを送信する。また、出口ノードでは、リクエスト・パケットに対応した未使用IPアドレスZを含むレスポンス・パケットを生成して、入口ノードへと返信する処理を行う。
【００４０】
図４は、本発明の経路制御方法の概略的なフローチャートを示す。図４に示されるように、本発明の経路制御方法は、ステップＳ４００で入口ノードがユーザ・ノードからのパケットを受信する。ステップＳ４０２では、入来パケットが明示的な経路指定の対象として判断されたパケットフローであるか否かを判断し、明示的な経路指定を行うパケットである場合（ｙｅｓ）には、ステップＳ４０４へと進んで、未使用IPアドレスZを含むパケットを作成する。また、明示的な経路指定を行うパケットでない場合（ｎｏ）には、本来のパケットを加工せずに経路テーブルにしたがってパケットを伝送する。
【００４１】
ステップＳ４０４で作成された未使用IPアドレスZを含むパケットは、ステップＳ４０８で経路テーブルを参照して決定される次ホップ・ノードへと伝送される。その後ステップＳ４１０で、パケットは、出口ノードで元のパケットに復元され、その後本来の宛先であるユーザ・ノードへと送信される。
【００４２】
図５は、本発明の入口ノードおよびコア・ノードの実行する処理を示したフローチャートである。本発明の入口ノードは、本発明の経路指定を可能とするために、リクエスト・パケットを、RSVP-TEプロトコルにおいて定義されたRSVP_PATHコマンドを使用して出口ノードに宛てて発行する。なお、本発明のシグナリング機能としては、フレキシビリティに欠けるものの、静的に設定する方法を使用することSNMPなどを使用することもできる。
【００４３】
本発明で使用するRSVP-TEプロトルについては、例えば、David O. Awduche et. al., “RSVP-TE: extensions to RSVP for LSP tunnels.”, RFC 3209, Internet Engineering Task Force, December 2001,”Constraint-based LSP setup using LDP.”, RFC 3212, Internet Engineering Task Force, January 2002, S. Blake, et. al., “An architecture for differentiated service.”, RFC 2475, Internet Engineering Task Force, December 1998, “Resource reservation protocol (RSVP)-version 1 functional specification.”, RFC 2205, Internet Engineering Task Force, September 1997, P. Pan, et. al., “Fast reroute extensions to rsvp-te for lsp tunnels.”, Internet-draft, Internet Engineering Task Force, May 2004にそのプロトコルの詳細が公開されている。なお、本発明において使用するパケットのフォーマットについては、より詳細に後述する。
【００４４】
以下、より詳細に説明すると、図５に示す入口ノードの処理は、ステップＳ５００で、本発明の経路制御を行うリクエスト・パケットを、RSVP_PATHを使用して出口ノードに対して発行する。次いで、ステップＳ５０２で、出口ノードから送信される未使用IPアドレスZは、入口ノードで指定した経路を通過して伝送される。このステップＳ５０２で、各コア・ノードをレスポンス・パケットが通過する場合、コア・ノードは、受信したパケットを解析し、ステップＳ５００でのリクエスト・パケットに対するレスポンス・パケットであると判断すると、パケットの所定の領域に含まれる未使用IPアドレスZと、前ホップ・ノードのIPアドレスとを対応させて経路テーブルのエントリとして格納する。ステップＳ５０４では入口ノードが未使用IPアドレスZを取得する。入口ノードは、シグナリングに対する応答パケットであると判断した場合には、未使用IPアドレスZを、指定した次ホップ・ノードのIPアドレスと対応させたエントリとして自己の経路テーブルに追加する。
【００４５】
図６は、本発明の出口ノードが実行する処理を示したフローチャートである。本発明の出口ノードは、ステップＳ６００で入口ノードから送信されたRSVP_PATHをリクエスト・パケットとして受け取る。次いでステップＳ６０２で、出口ノードは、アドレステーブルを検索して未使用IPアドレスZを取得する。同時に、出口ノードは、未使用IPアドレスZを、少なくとも本発明の経路制御を実行している間、フラグを設定するなどして確保させ、これを明示的経路指定IPアドレスとして専有させる。ステップＳ６０４では、出口ノードがレスポンス・パケットとしてRESVパケットを作成し、生成されたRESVパケットを、PATHに記述されたルートを経由させて入口ノードに返信する。なお、コア・ノードでは、図５において説明したように、RSVPパケットが通過する時点で経路テーブルに当該未使用IPパケットZと前ホップ・ノードのIPアドレスとを対応させて書込む。
【００４６】
図７は、図５および図６で説明した各ノード間のシグナリング（リクエスト・レスポンス）・トランザクションを、シグナリングのために用いるデータ構造と共に示した図である。ノードPから送出されたRSVP_PATHを詳細に説明すると、RSVP_PATHは、通過ノードの列（リスト）を指定する、明示的経路指定オブジェクトEROと、直前ホップのノードを記録する履歴識別子であるPHOPと、本発明の経路制御(Flow Mapped Explicit Host Routing: FMHR or FMEHR)であることを通知させると共に、未使用IPアドレスをLabelとして送信元へと返信を要求するLRO(Label Request Object)コマンドと、宛先IPアドレスとを含んでいる。このRSVP_PATHパケットは、経路テーブルをルックアップせずに、PATH中に記述された経路にしたがってノードRを通過してノードSへと到達する。RSVP_PATHパケットがノードSへと到達すると、ノードSは、未使用IPアドレス、例えば、abc.cde.fgh.1/32を割当て（/32は、サブネットマスクのビット数を示す。）、RESVパケットにLabelとして付加して、RSVP_PATHと同一の経路を経由させてノードPへと返信する。なお、この未使用IPアドレスZとしては、10.0.0.0〜10.255.255.255、127.0.0.0〜127.255.255.255、192.0.0.0〜192.255.255.255などとして規定されるプライベート・アドレスや、IPv6サイトローカルアドレスなどが利用することができる。しかし、他の経路に影響を与えない限り、他のアドレスを利用しても構わない。
【００４７】
図７のトランザクションが終了した後、入口ノードは、未使用IPアドレスZとして、abc.def.ghi/32を取得することになる。ただし、せっかく受け取った未使用IPアドレスZは、何も処理しなければ、そのままノードSへと送信しても、ノードS側では対応する経路表が無い場合には、ノードPからのいかなるパケットでも廃棄されてしまう。このため、本発明では、未使用IPアドレスZを使用して、正確な経路制御を可能とさせるため特定の実施形態では、ノードSに対して、ノードSがエッジ・ノードであり、未使用IPアドレスZからアドレス変換を行う処理を実行することを識別させる。このための方法として、本発明では出口ノード保存型のアドレス変換方式、パケット内保存型アドレス変換方式、またはトンネル方式のアドレス変換方式を用いることができる。
【００４８】
図８は、出口ノード保存型のアドレス変換方式の実施の形態を示した図であり、所謂、出口ノードが正確な宛先アドレスを生成させる、出口ノード保存型アドレス変換方式である。この方式では、入口ノードで、宛先アドレスDは、完全に未使用アドレスZに書換えられ、宛先IPアドレスは、パケット共に送信されることはない。図８（ａ）を使用して未使用IPアドレスを取得する処理から説明すると、入口ノードであるノードPは、ネットワークに対してRSVP_PATHを、RSVP_PATH w/LRO(IP/FMHR，1.2.3.0/24)を含むRSVP_PATHメッセージとして送信する。ここで、IPアドレス1.2.3.0/24は、パケットを送信するべきユーザ・ノード１４の宛先IPアドレスである。
【００４９】
このレスポンス・パケットRSVP_PATHは、ノードQを経由してノードSへと到達する。出口ノードでは、このリクエスト・パケットを受信すると、アドレスプールから、abc.def.ghiなどの範囲で確保されたプリフィックス長と等しい未使用IPアドレスZを取得し、選択した未使用IPアドレスのプリフィックスで、宛先IPアドレスの上位バイト0/24を置換して、特定の実施の形態では、abc.cde.fgh.0/24のIPアドレスを作成する。このIPアドレスを、本発明の経路制御に使用する未使用IPアドレスとしてLabelに含ませてノードPへと返信する。
【００５０】
ノードPでは、Labelとして、未使用IPアドレス、abc.cde.fgh.0/24を取得するが、このままでは、ノードPがabc.cde.fgh.0/24に宛てて返信したところで、確実にノードSには到達するが、ノードSでは経路表が存在しないので、廃棄されることになるし、ノードSは、目的の宛先であるノードBではないのでノードBへとパケットを送信することができない。
【００５１】
このため、ノードPでは、図８（ｂ）に示すように、abc.cde.fghのプレフィックスの部分を適切な記憶装置に格納させると共に、ノードPに宛てられた本発明の経路指定を使用するパケットの宛先IPアドレスを、abc.cde.fgh.5．．．へと変換してネットワークに向けて送出する。出口ノードでは、受信したパケットのプリフィックスをキーとして経路テーブルをルックアップして、自己が出口ノードであると判断し、記憶装置から、宛先IPアドレスのプレフィックスを読み出して、abc.cde.fghを、1.2.3で置換する。本発明において複数の入口ノードからの処理を実行するような場合には、図３に記載した出力フロー制御手段は、図９に示すような未使用IPアドレスのプレフィックスと、それに対応して変換されるべき宛先IPアドレスZのプレフィックスとを含むテーブルを参照する。その後、上述したと同様の処理を実行して、適切なプレフィックスを読出し、ノードPから送信されたパケットのIPアドレスを復元し、正確にノードBへとパケットを伝送する。なお、図８に示したIPアドレスは、IPv4で記述しているが同様な変換は、IPv6においても適用可能である。
【００５２】
図１０には、本発明において使用できる他のアドレス変換方式を示す。図１０（ａ）は、パケット内に宛先IPアドレスを保存する、パケット内保存型アドレス変換方式であり、図１０（ｂ）が、入口ノードで、入口ノードのIPアドレス＋ノードSのIPアドレスを含む新たなIPヘッダをパケットに追加する、トンネル方式でのアドレス変換方式を示す。図１０（ａ）の実施の形態では、パケット５０は、未使用IPアドレスZの他、送信元アドレス５２を含むIPヘッダの後部に、payload５４および本来の宛先IPアドレス５６が追加されている。
【００５３】
また、図１０（ｂ）に示した実施の形態では、パケット５８に対して、未使用IPアドレスおよび入口ノードのIPアドレスを含む別のIPヘッダ６０を付加させて、それ以降のパケット６２を保存することにより、擬似的なトンネル方式を提供する。図１０に示した実施の形態では、入口ノードから本来の宛先IPアドレスが送信されるので、出口ノード保存式のパケット交換方式のようにIPアドレスの変換を行わずとも良いが、パケット長がその分増加することになるので、帯域幅を消費することにもなる。本発明では、これらの実施の形態のいずれを使用してアドレス変換を実行するか、についてはルータの容量および使用するトラフィックの帯域幅などを考慮して適宜選択することができる。
【００５４】
図１１は、本発明において、宛先IPアドレスをパケットに含ませる場合のホップバイホップを実現するためのパケット変換処理を示した図である。なお、図１１に示したパケットは、IPv4のパケット形式を示した実施の形態である。また、図１０では、ユーザ・ノードであるノードAから宛先であるノードBへと矢線で示される方向に経路制御される実施の形態を示している。図１１を参照すると、本発明を、パケット内保存型アドレス変換方式を使用して行う場合には、ユーザ・ノードから送信される本来のパケット７０に、ホップバイホップによるフロー経路を指定するためのIPアドレスをPayloadの後ろに追加したパケット７６を生成する。
【００５５】
パケット７０は、IPヘッダ７２に、バージョン情報（V)と、ヘッダ長（HL)と、優先順位（T)と、パケット長L+n（ｎは、IPv4では、４バイト長とされる）、チェックサム（SUM)、送信元IPアドレス（S)および宛先IPアドレス（D)を含む構成とされている。さらに、IPヘッダ７２の後ろには、送信するべきデータであるPayload７４が記述される。本発明で生成されるパケット７６は、IPヘッダ７８と、payload８０とを含んでおり、IPヘッダ７８に未使用IPアドレスZが宛先IPアドレスの領域に記述されている。また、パケット７６は、さらにその後ろに宛先IPアドレスDが４バイトで追加されている。この点、従来のルーティング方法で使用されるRIPやIGRPのパケット・フォーマットよりも単純で、ソフトウェア的にもコンパクトで、既存のルータであっても搭載できる程度のサイズとして構成でき、かつ直接的な経路制御を行うことができる。
【００５６】
ノードPは、ノードAからのパケット７０を受け取ると、送信元アドレスSの内容を判断して、本発明の経路指定を実行するべき値の範囲であるか否かを判断する。その結果、本発明の経路指定を行うものと判断すると、予めノードSから送られている未使用IPアドレスZで本来の宛先IPアドレスDを置換し、さらにメモリに格納させた本来の宛先IPアドレスDをpayloadの後ろに追加する。この段階で、データ長Lを４バイト分増加させ、さらに、チェックサムを再計算する。その後、経路テーブルをルックアップして未使用IPアドレスに割当てられたノードQへとパケットを送出させる。なお、本発明では、ネットワークが複数の階層から構成される場合には、複数の階層ごとに未使用IPアドレスZ1、Z2を割り当てることもできる。未使用IPアドレスを複数使用する場合には、パケット長は、より一般には、ｎ個の未使用IPアドレスZ1〜Znを使用する場合、パケット長は、(nx4)バイト増加することとなる。
【００５７】
図１１では、パケット７６は、ノードP→ノードQ→ノードSへと、図２に示した経路テーブルにしたがってルーティングされる。パケット７６は、ノードSに到達すると、ノードSにおいて元の送信パケットであるパケット７０へと復元され、ユーザ・ノードであるノードBへと送信される。それぞれパケットを変更した際はチェックサムの再計算を行う。
【００５８】
図１２は、本発明において複数の階層を経由して経路制御を行う場合の実施の形態を示した図である。図１２は、図１および図２に示したネットワーク２４が複数の階層に分離されており、それぞれの階層ごとに未使用IPアドレスZ1およびZ2が割当てられている。図１２に示した実施の形態では、第１の階層が２つのサブネットワークから構成され、共通の未使用IPアドレスであるZ1が割り当てられている。また、第２の階層は、１つのサブネットワークから構成され、未使用IPアドレスとしてZ2が割り当てられている。ユーザ・ノード１２から、ユーザ・ノード１４へのパケットの伝送は、まず、第１の階層で割当てられた未使用IPアドレスZ１をカプセル化して出口ノードであるS1へと送られ、S1から第２の階層の入口ノードP2へと送られて、宛先アドレスが、未使用IPアドレスZ2へと変換され、出口ノードS2を経由してユーザ・ノード１４へと再度宛先IPアドレスが未使用IPアドレスZ1に置換されて送られている。本発明は、後述するパケットのデータ形式および経路制御方法を使用することにより、大規模ネットワークにおける階層的なフロー識別・経路制御を行うことができる。
【００５９】
図１３は、図１２に示した多階層のネットワークにおいて使用することのできる本発明のパケット内保存型アドレス変換方式のパケットを、IPv6フォーマットで記述した場合の実施の形態を示した図である。この例では上位４バイト分のプリフィックスを未使用アドレス空間のもので置き換えているが、任意のバイト数でも構わない。図１３に示されるパケット８４は、バージョン情報（V)や未使用IPアドレス・プリフィックスZ2、Z1などを含むことができるIPv6ヘッダ８６と、IPv6Payload８８とを含んで構成されている。このIPv6パケットがノードP1に受信されると、第１の階層に該当する出口ノードで割当てられた未使用IPアドレス・プリフィックスZ1が宛先IPアドレスとされてIPv6パケット９０が生成される。第２の階層での入口ノードに到達すると、入口ノードは、第２の階層で割当てられた未使用IPアドレスZ2で宛先IPアドレスを上書きして、第２の階層での本発明による経路制御を行うためのIPv6パケット９２が作成される。その後、第１の階層の別の入口ノードP3に達すると、再度未使用IPアドレスZ1で上書きされて、IPv6パケット９０が再生され、第１の階層を再度本発明の経路指定により伝送される。その後、IPv6パケット９０が第１の階層での出口ノードに到達すると、元の宛先IPアドレスDで未使用IPアドレスZ1が上書きされ、ユーザ・ノードであるノードBへとパケットを届けるべき、元のパケットが復元されている。
【００６０】
図１４は、本発明のパケット内保存型アドレス変換方式としてIPオプションのルーズ・ソースルーティング・オプションを使用した始点経路制御型アドレス変換方式のIPv4フォーマットにおけるパケットの実施の形態を示した図である。本発明で使用する始点経路制御型アドレス変換方式のIPv4フォーマットでの実施の形態では、入口ノードがパケット９６を受信すると、本発明の経路制御を実行するパケットを識別して、IPヘッダ９８の宛先IPアドレス領域を、未使用IPアドレスZ1で書換え、宛先アドレスDをIPオプション領域に書き込んでパケット９４を生成する。さらに、図１４に示したパケット９４のIPオプションは、適切な段階で必要とされる未使用IPアドレスZ1および宛先IPアドレスのポインタ情報記述領域１００とアドレス・フィールドを記述するアドレス情報記述領域１０２とが設けられている。
【００６１】
４バイトのポインタ情報記述領域１００には、宛先IPアドレスのMSBの位置をポイントするポインタと、第２の階層での未使用IPアドレスのMSBをポイントするポインタとが配置されている。IPオプショのポインタ情報記述領域１００は、図１４に示した実施の形態では、さらに、ポインタ情報記述領域の４バイトおよび４バイト×階層数のIPアドレス分のバイトが追加され、第２の階層で本発明の経路指定により伝送されるパケット１０４は、合計で１２バイト分、元のパケットよりもパケット長が増加している。
【００６２】
パケット９６が、第１の階層での入口ノードに到達すると、パケット９４が生成される。パケット９４では、未使用IPアドレスZ1が、宛先IPアドレスDを置換し、宛先IPアドレスDは、IPオプションの後尾に形成されたアドレス情報記述領域１０２に書込まれ、該当するポインタ情報記述領域１００の値もそれに対応して更新される。その後、パケット９４が第２の階層の入口ノードP2に到達すると、パケット１０４が生成される。パケット１０４では、未使用IPアドレスZ2が宛先IPアドレスの領域に書込まれ、アドレス情報記述領域１０２に未使用IPアドレスZ1が、宛先IPアドレスDと共に格納される。パケットが再度第１の階層の入口ノードP3に到達すると、再度パケット９４が再生され、最終的な出口ノードに到達すると、IPオプション内の元の宛先IPアドレスDが宛先IPアドレスの位置に上書きされ、同時にIPオプションの内容はすべて削除され、本来の送信パケット９６として復元される。
【００６３】
図１５は、本発明で使用するパケットのさらに別の実施の形態を示した図である。図１５では、IPv6フォーマットのパケットのうち、２４バイトのIPv6ルーティング・ヘッダ１１２を使用して元の宛先IPアドレスおよび第１の階層での未使用IPアドレスZ1を記述する。第２の階層の入口ノードでは、次のルーティングに必要な未使用IPアドレスZ2を取得して、本発明のルーティングを実行させ、再度第１の階層の入口ノードP3で、未使用IPアドレスZ1を取得して伝送され、第１の階層の出口ノードS3では、元の宛先アドレスDを取得して、Z1を上書きすると共に、パケットからルーティング・ヘッダの内容を削除しユーザ・ノードであるノードBへと送信できるパケットを再生する。
【００６４】
なお、本発明ではトンネル方式についての詳細な説明は行わないが、新たなIPヘッダに割り当てるべきアドレスは、ホスト・アドレスでよいので、IPv4、IPv6のいずれの場合でも、未使用IPアドレスを使用するだけで特に制限はない。また、上述した各場合において、エラーが発生した場合には、ICMPパケットがエラー・メッセージを適切なエッジ・ノードに返し、パケットの再生または以後の動作決定を行うことが可能である。
【００６５】
本発明の経路制御方法を情報処理装置に対して実行させるためのプログラムは、非オブジェクト指向またはオブジェクト指向のプログラミング言語、例えば、C言語、C++言語、Java（登録商標）などを使用して記述することができ、CD、MO、CD-RW、DVDなどの記憶媒体または伝送媒体として頒布することができる。
【００６６】
また、本発明は、IPv4、IPv6といったプロトコルの下でのホップバイホイップ型のパケット交換網を例として説明してきたが、本発明は、上述した以外にも、CLNP、IPXなどのネットワーク層プロトコルを使用するホップバイホップ型パケット交換網においても容易に適用することができる。さらに、本発明は、パケットごとに、そのパケットが属するフローに対応した帯域保証や優先転送等のサービスを行うシステムにおいて、パケットフローを都度識別させるのではなく、所定の未使用IPアドレスを含むパケットフローの宛先IPアドレスだけを識別してサービスを提供するためのシステムにおけるトランザクション識別システムや帯域保証等のQoS保証システムにも適用することができる。
【産業上の利用可能性】
【００６７】
以上、本発明について説明してきたが、上述したように本発明は、従来のMPLS方式に比較してエンドホストがIP層経路が確認および承認できる、IPネットワーク管理において追加の要素を増加させることがない、帯域的なオーバーヘッドを適切な程度に保持しつつ、大きくネットワーク機器および構成を変更することなく従来IPネットワークから移行でき、さらには階層スタック性に優れた経路制御システム、経路制御方法およびそのためのプログラムを提供することができる。すなわち、本発明によれば、(1)新しい転送テーブルといった大規模なハードウェア資源を必要としないで、(2)様々な粒度のパケットフローを識別し扱える、(3)従来のルーティング・システムから移行が容易な、経路制御システム、経路制御方法、およびそのためのプログラムを提供することができる。なお、本出願は、慶応義塾大学大学院政策・メディア研究科博士論文の内容に基づく出願である。
【図面の簡単な説明】
【００６８】
【図１】本発明のホップバイホップ型のパケット交換網が使用する経路制御システム１０の実施の形態を示した図（従来経路制御）。
【図２】本発明のホップバイホップ型のパケット交換網が使用する経路制御システム１０の実施の形態を示した図（本発明の経路制御）。
【図３】本発明のエッジ・ノードの機能構成を示した概略図。
【図４】本発明の経路制御方法の概略的なフローチャート。
【図５】本発明の入口ノードおよびコア・ノードの実行する処理を示したフローチャート。
【図６】本発明の出口ノードが実行する処理を示したフローチャート。
【図７】図５および図６で説明した各ノード間のシグナリング・トランザクションを、シグナリングのために用いるデータ構造と共に示した図。
【図８】出口ノード保存型のアドレス変換方式の実施の形態を示した図。
【図９】出口ルータに含ませることができる未使用IPアドレスのプレフィックスと、それに対応して変換されるべき宛先IPアドレスのプレフィックスを含むテーブルを示した図。
【図１０】パケット内保存型アドレス変換方式およびトンネル方式を使用したアドレス変換方式の実施の形態を示した図。
【図１１】宛先IPアドレスをパケットに含ませる場合のホップバイホップ型パケット変換処理の実施の形態を示した図。
【図１２】複数のネットワーク階層を経由して経路制御を行うシステムの概略図。
【図１３】宛先IPアドレスをパケットに含ませる場合のホップバイホップを実現するためのパケット変換処理の実施の形態を示した図。
【図１４】宛先IPアドレスをパケットに含ませる場合のホップバイホップを実現するためのパケット変換処理の実施の形態を示した図。
【図１５】宛先IPアドレスをパケットに含ませる場合のホップバイホップを実現するためのパケット変換処理の実施の形態を示した図。
【符号の説明】
【００６９】
１０…経路制御システム
１２…ユーザ・ノード（ノードA)
１４…ユーザ・ノード（ノードB)
１６、１８、２０、２２…経路テーブル
２４…ネットワーク
２６…エッジ・ノード
２８…パケットクラス分け手段
３０…経路テーブル
３２…アドレスプール管理手段
３４…アドレスプール
３６…入口フロー処理手段
３８…出口フロー処理手段
４０…シグナリング（リクエスト・レスポンス）処理手段
【図１】
2006173704.tif 000003
【図２】
2006173704.tif 000004
【図３】
2006173704.tif 000005
【図４】
2006173704.tif 000006
【図５】
2006173704.tif 000007
【図６】
2006173704.tif 000008
【図７】
2006173704.tif 000009
【図８】
2006173704.tif 000010
【図９】
2006173704.tif 000011
【図１０】
2006173704.tif 000012
【図１１】
2006173704.tif 000013
【図１２】
2006173704.tif 000014
【図１３】
2006173704.tif 000015
【図１４】
2006173704.tif 000016
【図１５】
2006173704.tif 000017