(57)【特許請求の範囲】
【請求項１】
双方向通信可能な双方向通信ネットワークと、
片方向通信可能な片方向通信路と、
上記双方向通信ネットワーク及び上記片方向通信路の送信側に接続された送信側装置と、
上記双方向通信ネットワーク及び上記片方向通信路の受信側に接続された受信側装置とを備え、
上記受信側装置は、
上記双方向通信ネットワークに接続する通信機器に送信するパケットに対する応答パケットを、上記送信側装置を介して上記片方向通信路経由で受信したい場合に、該パケットの始点アドレスを、上記送信側装置へパケットを送信するための情報を有する、該送信側装置及び該受信側装置の間で予め該受信側装置用として割り当てられている代替アドレスに置き換える手段と、
始点アドレスが前記代替アドレスに置き換えられたパケットを、該受信側装置のアドレスをカプセル化後の始点アドレスである仮始点アドレスとし、前記送信側装置のアドレスをカプセル化後の終点アドレスである仮終点アドレスとしてカプセル化する手段と、
カプセル化した該パケットを上記双方向通信ネットワークに送出する手段と、
前記片方向通信路の通信路状態を検出して前記送信側装置に通知する手段と、を備え、
上記送信側装置は、上記通信機器から受信した前記応答パケットの終点アドレスが前記代替アドレスであれば、該応答パケットを上記片方向通信路に送出する手段と、
仮終点アドレスとして該送信側装置のアドレスを有するパケットを受信した場合に、該パケットが有する仮終点アドレス及び仮始点アドレスを削除して、仮終点アドレス及び仮始点アドレスが削除されたパケットを前記双方向通信ネットワークに送出する手段と、 上記受信側装置から受信した通信路状態に応じて、前記応答パケットを前記片方向通信路若しくは前記双方向ネットワークのいずれに送出するか判断する手段と、を備える
ことを特徴とする非対称経路利用通信システム。
【請求項２】
請求項１記載の非対称経路利用通信システムにおいて、
前記受信側装置は、前記通信機器に送信するパケットが利用されるアプリケーションに応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する手段を備える
ことを特徴とする非対称経路利用通信システム。
【請求項３】
請求項１記載の非対称経路利用通信システムにおいて、
前記受信側装置は、前記通信機器に送信するパケットのデータ量に応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する手段を備える
ことを特徴とする非対称経路利用通信システム。
【請求項４】
請求項１記載の非対称経路利用通信システムにおいて、
前記送信側装置は、前記応答パケットを、該パケットが利用されるアプリケーションに応じて、前記片方向通信路若しくは前記双方向通信ネットワークのいずれから送出するか判断する手段を備える
ことを特徴とする非対称経路利用通信システム。
【請求項５】
請求項１記載の非対称経路利用通信システムにおいて、
前記送信側装置は、前記応答パケットのデータ量に応じて、前記片方向通信路若しくは前記双方向通信ネットワークのいずれから該パケットを送出するか判断する手段を備える
ことを特徴とする非対称経路利用通信システム。
【請求項６】
双方向通信可能な双方向通信ネットワークと、片方向通信可能な片方向通信路の受信側とに接続する受信側装置であって、
上記双方向通信ネットワーク経由で通信する第一の通信手段と、
上記片方向通信路経由で通信する第二の通信手段と、
上記第一の通信手段及び上記第二の通信手段を制御する制御部とを有し、
上記制御部は、上記双方向通信ネットワークに送出するパケットの始点アドレスを、該双方向通信ネットワークおよび上記片方向通信路の送信側と接続している送信側装置にパケットを送信するための情報を有する、該送信側装置との間で予め該受信側装置用として割り当てられている代替アドレスに置き換え、
上記始点アドレスが前記代替アドレスに置き換えられたパケットを上記第一の通信手段を介して上記双方向通信ネットワークに送出するよう制御し、
前記始点アドレスが前記代替アドレスに置き換えられたパケットを、該受信側装置のアドレスをカプセル化後の始点アドレスである仮始点アドレスをとし、前記送信側装置のアドレスをカプセル化後の終点アドレスである仮終点アドレスとしてカプセル化し、前記カプセル化されたパケットを前記第一の通信手段から前記双方向通信ネットワークに送出するよう制御し、
前記第二の通信手段は前記片方向通信路の通信路状態を検出し、
前記制御部は上記通信路状態を前記第一の通信手段から前記双方向通信ネットワークを介して前記送信側装置に送信するよう制御する
ことを特徴とする受信側装置。
【請求項７】
請求項６記載の受信側装置において、
更に該受信側装置に接続するローカル網と通信する第三の通信手段と、
上記ローカル網に接続している通信装置と対応付けて前記代替アドレスを記憶する記憶部とを有し、
前記制御部は、上記ローカル網に接続している通信装置から上記第三の通信手段を介して受信したパケットを前記双方向通信ネットワークに送出する場合に、該パケットの始点アドレスを、該通信装置と対応付けて上記記憶部に記憶されている前記代替アドレスに置き換える
ことを特徴とする受信側装置。
【請求項８】
請求項６記載の受信側装置において、
前記制御部は、前記双方向通信ネットワークに送出するパケットが利用されるアプリケーションに応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する
ことを特徴とする受信側装置。
【請求項９】
請求項６記載の受信側装置において、
前記制御部は、前記双方向通信ネットワークに送出するパケットのデータ量に応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する
ことを特徴とする受信側装置。
【請求項１０】
双方向通信可能な双方向通信ネットワークと、片方向通信可能な片方向通信路の送信側とに接続する送信側装置において、
上記双方向通信ネットワークを介してして通信するための第一の通信手段と、
上記片方向通信路を介して通信するための第二の通信手段と、
上記第一の通信手段と上記第二の通信手段とを制御する制御部を有し、
上記制御部は、上記第一の通信手段を介して受信したパケットが有する終点アドレスが、上記双方向通信ネットワーク及び上記片方向通信路の受信側と接続している受信側装置との間で予め該受信側装置用として割り当てられている代替アドレスである場合に、上記第ニの通信手段から上記片方向通信路へ該パケットを送出し、
前記代替アドレスは、パケットを前記送信側装置に送信するための情報を有し、
更に前記受信側装置から受信する前記片方向通信路の通信路状態を記憶する記憶部を有し、
前記制御部は、上記記憶部に記憶されている上記通信路状態に応じて、前記第一の通信手段を介して受信したパケットを、前記第一の通信手段もしくは前記第二の通信手段のいずれから送出するかを判断する
ことを特徴とする送信側装置。
【請求項１１】
請求項１０記載の送信側装置において、
前記制御部は、前記第一の通信手段を介して受信したパケットが使用されるアプリケーションに応じて、該パケットを前記第一の通信手段もしくは前記第二の通信手段のいずれから送出するかを判断する
ことを特徴とする送信側装置。
【請求項１２】
請求項１０記載の送信側装置において、
前記制御部は、前記第一の通信手段を介して受信したパケットのデータ量に応じて、該パケットを前記第一の通信手段もしくは前記第二の通信手段のいずれから送出するかを判断する
ことを特徴とする送信側装置。
【請求項１３】
双方向通信可能な双方向通信ネットワークと、
片方向通信可能な片方向通信路と上記双方向通信ネットワーク及び上記片方向通信路の送信側に接続された送信側通信装置と、
上記双方向通信ネットワーク及び上記片方向通信路の受信側に接続された受信側通信装置とを有し、
上記双方向通信ネットワークに接続する通信機器は、受信したパケットに対する返信パケットを送信する場合に、該受信したパケットが有する始点アドレスを終点アドレスとする返信パケットを送信する通信ネットワークにおける通信方法であって、
上記受信側通信装置が、上記通信機器に送信するパケットに対する返信パケットを上記送信側通信装置を介して上記片方向通信路経由で受信するために、該パケットの始点アドレスを、上記送信側通信装置へパケットを送信するための情報を有する、該送信側通信装置及び該受信側通信装置との間で予め該受信側通信装置用に割り当てられている代替アドレスに置き換えるアドレス置換ステップと、
前記始点アドレスが前記代替アドレスに置き換えられたパケットに、該受信側通信装置のアドレスを仮始点アドレスとして付加するステップと、
前記仮始点アドレスを有する、前記始点アドレスが上記代替アドレスに置き換えられたパケットを上記双方向通信ネットワークに送出するパケット送出ステップとを有し、
前記アドレス置換ステップにおいて、前記通信機器に送信するパケットが利用されるアプリケーションに応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する
ことを特徴とする通信方法。
【請求項１４】
請求項１３記載の通信方法において、
前記受信側通信装置が、前記アドレス置換ステップにおいて、前記通信機器に送信するパケットのデータ量に応じて、該パケットの始点アドレスを前記代替アドレスに置き換えるか否かを判断する
ことを特徴とする通信方法。
【請求項１５】
請求項１３記載の通信方法において、
更に、前記送信側通信装置が、前記通信機器から受信した返信パケットの終点アドレスが前記代替アドレスである場合に、該パケットを前記片方向通信路に送出するステップを有する
ことを特徴とする通信方法。
【請求項１６】
請求項１３記載の通信方法において、
更に、前記受信側通信装置が、前記片方向通信路の通信路状態を検出し、該通信路状態を前記送信側通信装置に通知するステップと、
上記送信側通信装置が、上記受信側通信装置から通知された通信路状態に応じて、前記通信機器から受信した返信パケットを前記片方向通信路に送出するか否かを判断するステップを有する
ことを特徴とする通信方法。
【請求項１７】
請求項１３記載の通信方法において、
更に、前記送信側通信装置が、前記通信機器から受信した返信パケットの終点アドレスが前記代替アドレスである場合に、該パケットが使用されるアプリケーションに応じて該パケットを前記片方向通信路に送出するか、前記双方向通信ネットワークに送出するかを判断するステップを有する
ことを特徴とする通信方法。
【請求項１８】
請求項１３記載の通信方法において、
更に、前記送信側通信装置が、前記通信機器から受信した返信パケットの終点アドレスが前記代替アドレスである場合に、該パケットのデータ量に応じて該パケットを前記片方向通信路に送出するか、前記双方向通信ネットワークに送出するかを判断するステップを有する
ことを特徴とする通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、片方向の通信経路と、双方向の通信経路とを組み合わせて構築した、非対称な通信システムに関する。
【０００２】
【従来の技術】
複数の異なるネットワークシステムが結合されているインターネットシステム上で通信を行う場合、異なるネットワークシステム間でのデータ交信を行うためのプロトコルと、その上位に位置してアプリケーションプログラム間でのデータ交信を行うためのプロトコルというように、通信プロトコルを階層化して設計することが広く行われている。
【０００３】
現在幅広く利用されている、異なるネットワークシステム間でパケットの交換を行うためのルーティングプロトコルは、同一経路上を双方向に通信できるという前提で設計されている。そのため、送信局から受信局へ片方向の通信を行う衛星通信のような片方向経路を利用して、双方向に通信できることを前提に設計されているアプリケーションを動作させることは、そのままではできない。
【０００４】
１つの解決策としては、ネットワーク層でのルーティングプロトコルを改良して、片方向経路を扱えるようにすることが考えられるが、その場合、改良しなければならない通信機器の数が、数万台あるいはそれ以上の規模になるため、現実的とはいえない。
【０００５】
そこで、双方向経路を前提としたルーティングプロトコルを変更せずに、片方向経路を利用する非対称ルーティングを行うために、アプリケーション層のプロトコルを中継するための代理サーバ（Ｐｒｏｘｙサーバ）を設け、この代理サーバが、片方向経路を使用するようなルーティングを行うことで、非対称な通信経路の利用を実現していた。
【０００６】
【発明が解決しようとする課題】
しかしながら、アプリケーション層プロトコルは、ｔｅｌｎｅｔ，ｆｔｐ，ｈｔｔｐ等、目的別に多数のプロトコルが標準化されて利用されているため、上述した代理サーバ方式では、アプリケーションプロトコルごとに、対応する代理サーバを用意する必要があり、用意すべき代理サーバの種類が多くなるという問題点と、新規に標準化されたプロトコルには即座に対応できないという問題点がある。
【０００７】
そこで、本発明の目的は、双方向経路を使用して双方向通信を行うことを前提として構築されたネットワークシステムにおいて、既存のルーティングプロトコルを変更することなく、片方向経路を使用した非対称ルーティングを実現可能な非対称経路利用通信システムとそのための通信機器を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の通信機器は、双方向経路を使用してパケットの双方向通信を行うことを前提として構築されたネットワークシステム、および、上記ネットワークシステムとは別のローカルシステムに接続され、片方向経路を使用してパケットの片方向通信を行う片方向通信システムの受信側サイトに設けられる通信機器であって、上記ローカルシステムから送信されてきたパケットの始点アドレスを、上記片方向通信システムの送信側サイトに対して上記ネットワークシステム内で予め割り当てられているアドレス（以下、「代替アドレス」と称す。）に置換してから、アドレス置換後のパケットを上記ネットワークシステム上に送信する第１のアドレス置換手段と、上記片方向経路から送信されてきたパケットの終点アドレスが上記代替アドレスである場合には、該代替アドレスを、上記ローカルシステムに接続されている通信機器のアドレスに置換してから、アドレス置換後のパケットを上記ローカルシステム上に送信する第２のアドレス置換手段とを有することを特徴とする。
【０００９】
また、本発明の通信機器は、双方向経路を使用してパケットの双方向通信を行うことを前提として構築されたネットワークシステムに接続され、片方向経路を使用してパケットの片方向通信を行う片方向通信システムの送信側サイトに設けられる通信機器であって、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記片方向通信システムの送信側サイトに対して上記ネットワークシステム内で予め割り当てられているアドレス（以下、「代替アドレス」と称す。）である場合は、該パケットを上記片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信するルーティング手段を有することを特徴とする。
【００１０】
また、上記目的を達成するために、本発明は、その態様として、双方向経路を使用してパケットの双方向通信を行うことを前提として構築されたネットワークシステムにおいて、パケットの片方向通信を行うための片方向経路と、上記片方向経路の送信側サイトに設けられ、上記ネットワークシステムに接続された通信機器（以下、「送信側ゲートウェイ」と称す。）と、上記片方向経路の受信側サイトに設けられ、上記ネットワークシステム、および、上記ネットワークシステムとは別のローカルシステムに接続された通信機器（以下、「受信側ゲートウェイ」と称す。）とを備え、上記受信側ゲートウェイは、上記ローカルシステムから送信されてきたパケットの始点アドレスを、上記片方向経路の送信側サイトに対して上記ネットワークシステム内で予め割り当てられているアドレス（以下、「代替アドレス」と称す。）に置換してから、アドレス置換後のパケットを上記ネットワークシステム上に送信する第１のアドレス置換手段と、上記片方向経路から送信されてきたパケットの終点アドレスが上記代替アドレスである場合には、該代替アドレスを、上記ローカルシステムに接続されている通信機器のアドレスに置換してから、アドレス置換後のパケットを上記ローカルシステム上に送信する第２のアドレス置換手段とを有し、上記送信側ゲートウェイは、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記代替アドレスである場合は、該パケットを上記片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信するルーティング手段を有することを特徴とした非対称経路利用通信システムを提供している。
【００１１】
これにより、上記ローカルシステムに接続された通信機器（以下、「第１種の通信機器」と称す。）と、上記ネットワークシステムに接続された通信機器（以下、「第２種の通信機器」と称す。）との間で通信を行う際に、上記第２種の通信機器から上記第１種の通信機器に向けて送信されたパケットは、上記片方向経路を使用して送信され、上記第１種の通信機器から上記第２種の通信機器に向けて送信されたパケットは、上記ネットワークシステム（双方向経路）を使用して送信されることとなり、上記ネットワークシステムにおける既存のルーティングプロトコルを変更しなくても、非対称経路を利用した通信を行うことが可能となる。
【００１２】
なお、上述した態様において、上記受信側ゲートウェイの第１のアドレス置換手段は、アドレス置換後のパケットをカプセル化してから、カプセル化したパケットを、上記ネットワークシステムを介して上記送信側ゲートウェイ宛に送信し、上記送信側ゲートウェイのルーティング手段は、上記ネットワークシステムから送信されてきたパケットがカプセル化されたパケットである場合は、カプセルから取り出したパケットについてルーティングを行うようにすることができる。
【００１３】
また、上述した態様において、上記受信側ゲートウェイは、上記片方向経路が通信可能であるか否かを検出し、検出結果を、上記ネットワークシステムを介して上記送信側ゲートウェイに通知する通信手段をさらに有し、上記送信側ゲートウェイは、上記受信側ゲートウェイから通知された検出結果を記憶する記憶手段をさらに有し、上記送信側ゲートウェイのルーティング手段は、上記片方向経路が通信不可能である場合には、上記片方向経路上に送信すべきパケットの終点アドレスを上記代替アドレスに置換し、アドレス置換後のパケットを、上記ネットワークシステムを介して上記受信側ゲートウェイ宛に送信するようにすることができる。
【００１４】
なお、ローカルシステムには、１つ以上の通信機器が接続されるようにすることができ、２つ以上の通信機器が接続されるようにする場合には、ローカルシステムは、実際には、これらの通信機器を接続するローカルネットワークシステムとなる。
【００１５】
また、本発明のネットワークシステムは、パケットを通信機器間で送受信することを通信の基本処理とし、パケットの振り分けを行うルータ間の経路が双方向に通信可能であることを前提としてルーティングを行っているネットワークシステムであって、パケットを片方向に通信する片方向経路と、上記片方向経路の送信側サイトに設けられ、上記ネットワークシステムに接続された送信側ゲートウェイと、上記片方向経路の受信側サイトに設けられ、上記ネットワークシステム、及び上記ネットワークシステムとは別のローカルシステムに接続された受信側ゲートウェイとを合わせて備える、非対称経路を有するネットワークシステムにおいて、上記受信側ゲートウェイは、上記ローカルシステムから送信されてきたパケットを、該パケットのヘッダーが有するプロトコル情報が一定の条件を満たす場合はそのままパケットを上記ネットワークシステム上に送信し、該パケットが上記条件を満たさない場合はその始点アドレスを上記片方向経路の送信側サイトに対して上記ネットワークシステム内で予め割当てられている送信局側代替アドレスに置換してから、アドレス置換後のパケットを上記ネットワークシステム上に送信する第１のアドレス置換手段と、上記片方向経路から送信されてきたパケットの終点アドレスが上記送信局側代替アドレスである場合には、該送信局側代替アドレスを、上記ローカルシステムに接続されている通信機器のアドレスに置換してから、アドレス置換後のパケットを上記ローカルシステム上に送信する第２のアドレス置換手段とを有し、上記送信側ゲートウェイは、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記送信局側代替アドレスである場合は、該パケットを上記片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信するルーティング手段を有することを特徴とする。
【００１６】
また、本発明のネットワークシステムにおいて、上記受信側ゲートウェイは、上記ローカルシステムから送信されてきたパケットを、該パケットのヘッダーが有するプロトコル情報が一定の条件を満たす場合はその始点アドレスを上記片方向経路の受信側サイトに対して上記ネットワークシステム内で予め割当てられている受信局側代替アドレスに置換し、該パケットが上記条件を満たさない場合はその始点アドレスを送信局側代替アドレスに置換してから、アドレス置換後のパケットを上記ネットワークシステム上に送信する第１のアドレス置換手段と、上記片方向経路から送信されてきたパケットの終点アドレスが上記受信局側代替アドレスあるいは上記送信局側代替アドレスである場合には、該受信局側代替アドレス又は該送信局側代替アドレスを、上記ローカルシステムに接続されている通信機器のアドレスに置換してから、アドレス置換後のパケットを上記ローカルシステム上に送信する第２のアドレス置換手段とを有し、上記送信側ゲートウェイは、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記送信局側代替アドレスである場合は、該パケットを上記片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信するルーティング手段を有することを特徴とする。
【００１７】
また、本発明のネットワークシステムにおいて、上記受信側ゲートウェイは、上記ローカルシステムから送信されてきたパケットの始点アドレスを送信局側代替アドレスに置換してから、アドレス置換後のパケットをカプセル化し、カプセル化したパケットを、上記ネットワークシステムを介して上記送信側ゲートウェイ宛に送信する第１のアドレス置換手段と、上記片方向経路から送信されてきたパケットの終点アドレスが上記送信局側代替アドレスである場合には、該送信局側代替アドレスを、上記ローカルシステムに接続されている通信機器のアドレスに置換してから、アドレス置換後のパケットを上記ローカルシステム上に送信する第２のアドレス置換手段と、上記ネットワークシステムから送信されてきたパケットがカプセル化されたパケットである場合は、カプセルから取り出したパケットについてルーティングを行うルーティング手段を有し、上記送信側ゲートウェイは、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記送信局側代替アドレスである場合は、該パケットのヘッダーが有するプロトコル情報が一定の条件を満たす場合は該パケットをカプセル化して上記ネットワークシステムを介して上記受信側ゲートウェイ宛に送信し、上記条件を満たさない場合は片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信し、また該パケットがカプセル化されたパケットである場合は、カプセルから取り出したパケットについて再度ルーティングを行うルーティング手段を有することを特徴とする。
【００１８】
また、本発明のネットワークシステムにおいて、上記送信側ゲートウェイは、上記ネットワークシステムから送信されてきたパケットの終点アドレスが、上記送信局側代替アドレスである場合は、該パケットの大きさが規定値以下の場合は該パケットをカプセル化して上記ネットワークシステムを介して上記受信側ゲートウェイ宛に送信し、上記条件を満たさない場合は片方向経路上に送信し、上記代替アドレスでない場合は、該パケットを上記ネットワークシステム上に送信し、また該パケットがカプセル化されたパケットである場合は、カプセルから取り出したパケットについて再度ルーティングを行うルーティング手段を有することを特徴とする。
【００１９】
【発明の実施の形態】
以下、本発明の実施の実施形態について図面を参照して説明する。
【００２０】
本発明の実施形態に係る非対称経路利用通信システムは、片方向経路を使用してパケットの片方向通信を行う片方向通信システムである衛星通信システムと、双方向経路を使用してパケットの双方向通信を行うことを前提として構築されたネットワークシステムであるインターネット網とを組み合わせて構築されたものである。
【００２１】
図１に、本発明の実施形態に係る非対称経路利用通信システムの構成を示す。図中、１０は受信側ゲートウェイ（ＲＧＷ）、１１は衛星受信機（ＩＲＤ）、２０は送信側ゲートウェイ（ＳＧＷ）、２１はアップリンクステーション、３０は通信衛星、４０はインターネット網、５０はサーバ、６０はパーソナルコンピュータ（ＰＣ）である。
【００２２】
図１に示すように、本実施形態は、衛星通信システムを成す衛星送信局に、従来の衛星送信局と同様に設けられたアップリンクステーション２１に加えて、ＳＧＷ２０を設けるようにしている。また、衛星通信システムを成す衛星受信局に、従来の衛星送信局と同様に設けられたＩＲＤ１１に加えて、ＲＧＷ１０を設けるようにしている。
【００２３】
ここで、ＲＧＷ１０は、インターネット網４０に接続されるようになっており、ＳＧＷ２０は、インターネット網４０に接続されると共に、１つ以上のＰＣ６０が接続されたローカル網に接続されるようになっている。インターネット網４０上には、１つ以上のサーバ５０が接続されている。
【００２４】
衛星送信局と衛星受信局との間は、通信衛星３０を介して、衛星送信局側から衛星受信局側への片方向通信を行うことができ、また、インターネット網４０を介して、双方向通信を行うことができるようになっている。
【００２５】
また、本実施形態に係る非対称経路利用通信システムを構成するこれらの通信機器は、同一の運用主体により運用されている場合もあれば、別個の運用主体により運用されている通信機器の集合体である場合もある。
【００２６】
本実施形態は、ＳＧＷ２０およびＲＧＷ１０によって、非対称ルーティングを実現するものである。なお、ＲＧＷ１０は、非対称ルーティングを実現するための機能と共に、ＩＰファイアウォールルータの機能を合わせ持つようにすることができる。
【００２７】
非対称ルーティング時のＩＰパケットの経路を説明するために、まず、通常のルーティング経路を説明する。
【００２８】
ローカル網内のＰＣａ（６０ａ）とインターネット網４０上のサーバａ（５０ａ）とが交信する場合を想定すると、ＰＣａ（６０ａ）では、始点アドレスが「ＰＣａ」であり、終点アドレスが「サーバａ」であるＩＰパケットを送信し、逆に、サーバａ（５０ａ）では、始点アドレスが「サーバａ」であり、終点アドレスが「ＰＣａ」であるＩＰパケットを送信する。
【００２９】
インターネット網４０は、相互接続されたルータの集合体であり、ルータ同士が、互いに経路情報を交換し合って、あるパケットを送信するための経路を動的に選択し、ルータ間でパケットを送信する。現在利用されている経路情報交換プロトコルでは、経路自身に方向性はないため、ＰＣａ（６０ａ）からサーバａ（５０ａ）へと送信されるＩＰパケットと、サーバａ（５０ａ）からＰＣａ（６０ａ）へと送信されるＩＰパケットとは、同一経路上を逆方向に送信される。
【００３０】
このようなインターネット網４０で片方向経路を利用する場合、原理的には、ルータが経路決定の際に利用する経路情報に、その経路が片方向である旨を示す情報が存在するようにし、経路の方向情報も考慮して経路を決定するようにルータを設計すれば、片方向経路を特別扱いすることなく、利用可能であることは明白であるが、この方法が機能するためには、インターネット網４０上の全てのルータを、経路の方向情報を理解するように更新する必要があり、短期的な解法としては、コストや手間の面から現実的とは言い難い。
【００３１】
そこで、本実施形態では、特定のルータであるＳＧＷ２０およびＲＧＷ１０だけが片方向経路に関する情報を有するだけで実現できる非対称経路利用通信システムを開示している。
【００３２】
本実施形態においては、ＰＣａ（６０ａ）からサーバａ（５０ａ）へ送信されるＩＰパケットは、「ＰＣａ（６０ａ）→ローカル網→ＲＧＷ１０→インターネット網４０→ＳＧＷ２０→インターネット網４０→サーバａ（５０ａ）」と送信され、サーバａ（５０ａ）からＰＣａ（６０ａ）へと送信されるＩＰパケットは、「サーバａ（５０ａ）→インターネット網４０→ＳＧＷ２０→アップリンクステーション２１→通信衛星３０→ＩＲＤ１１→ＲＧＷ１０→ローカル網→ＰＣａ（６０ａ）」と送信されることとなる。
【００３３】
本実施形態において、ＰＣａ（６０ａ）からサーバａ（５０ａ）にパケットを送信する場合、まず、ＰＣａ（６０ａ）では、始点アドレスが「ＰＣａ」であり、終点アドレスが「サーバａ」であるＩＰパケットを作成し、ローカル網を介して、ＲＧＷ１０へと送信する。この時点でのＩＰパケットは、図８の１８０１に示すようになる。
【００３４】
ＲＧＷ１０は、ローカル網側から送信されてきたＩＰパケットに対し、始点アドレスの置換を行い、図８の１８０２に示すように、始点アドレス「ＰＣａ」を代替アドレス「ＳＮａ」に書き換える。ここで、代替アドレス「ＳＮａ」は、詳細を後述するように、インターネット網４０のアドレス管理機構から衛星送信局サイトに対して割り当てられたＩＰアドレスの範囲内で、衛星送信局サイトで独自にＰＣａ（６０ａ）に対して割り当てたＩＰアドレスである。インターネット網４０は、詳細を後述するように、終点アドレスが「ＳＮａ」であるＩＰパケットについては、該ＩＰパケットを衛星送信局サイト（すなわち、ＳＧＷ２０）へ配送するという経路情報を保持している。
【００３５】
次に、ＲＧＷ１０は、始点アドレスを書き換えたＩＰパケットを、インターネット網４０を介して、ＳＧＷ２０へと送信する。この際に、ＲＧＷ１０は、送信すべきＩＰパケットを、ＩＰパケット内にカプセル化して、ＳＧＷ２０へと送信する。このように、ＩＰパケットをカプセル化したＩＰパケットを送信することを、一般に、「トンネリング」と呼ぶ。カプセルの外側のＩＰパケットは、図８の１８０３に示すように、始点アドレスが「ＲＧＷ」であり、終点アドレスが「ＳＧＷ」であり、通常のルーティング経路に従って送信される。
【００３６】
さて、ＳＧＷ２０は、カプセル化されたＩＰパケットを受け取ると、カプセルを解除し、インターネット網４０に送信する。ここで送信されるＩＰパケットは、図８の１８０４に示すように、終点アドレスが「サーバａ」であり、通常のルーティング経路に従って、サーバａ（５０ａ）へと届く。
【００３７】
なお、ＳＧＷ２０は、「ＲＧＷ」から「サーバａ」へアドレス置換を行ったＩＰパケットを送信する際に、アドレス置換後のＩＰパケットの終点アドレスが「サーバａ」であるため、ＲＧＷ１０が直接インターネット網４０へアドレス置換後のＩＰパケットを送信しても、サーバａ（５０ａ）に届く可能性はあるが、その場合、ＲＧＷ１０から送信されるＩＰパケットの始点アドレス「ＳＮａ」が、インターネット網４０のアドレス管理機構からＲＧＷ１０に対して割り当てられたＩＰアドレスではないため、インターネット網４０内で不正なＩＰパケットと見做される可能性がある。そのため、本実施形態においては、一旦、トンネリングによってＳＧＷ２０に送信し、ＳＧＷ２０からインターネット網４０に送信することで、ＩＰパケットの始点アドレスと、そのＩＰパケットがインターネット網４０に送信される際の接続サイトの割当アドレスとを一致させ、不正なＩＰパケットと見做されることのないようにしている。
【００３８】
次に、サーバａ（５０ａ）からＰＣａ（６０ａ）へ送信されるＩＰパケットの流れについて説明する。サーバａ（５０ａ）では、届いたＩＰパケットに対して何らかの返答を返すが、このとき生成されるＩＰパケットは、図９の１９０１に示すように、始点アドレスが「サーバａ」であり、終点アドレスが「ＳＮａ」であるＩＰパケットとなる。このＩＰパケットの終点アドレス「ＳＮａ」は、インターネット網４０のアドレス管理機構から衛星送信局サイトに対して割り当てられたＩＰアドレスの範囲内であるため、インターネット網４０を介して、通常のルーティング経路に従って、ＳＧＷ２０へと届く。
【００３９】
ＳＧＷ２０は、このＩＰパケットをアップリンクステーション２１へと送信し、アップリンクステーション２１は、ＩＰパケットを衛星データパケットのペイロードとして格納し、通信衛星３０へと送信する。そして、通信衛星３０から届いたデータがＩＲＤ１１によって受信されてＲＧＷ１０へと送信され、ＲＧＷ１０は、図９の１９０２に示すように、終点アドレス「ＳＮａ」を「ＰＣａ」へと置き換えてから、ローカル網へ送信する。このＩＰパケットは、終点アドレスが「ＰＣａ」であるから、ＰＣａ（６０ａ）で受信され、ＰＣａ（６０ａ）とサーバａ  （５０ａ）との交信が成立する。
【００４０】
以上が非対称ルーティング時の動作である。なお、ＩＰアドレスの置換処理およびトンネリング処理は、よく知られた技術であるため、詳細な説明は省略する。
【００４１】
また、本実施形態においては、インターネット網４０は双方向通信を行うことを前提として構築されたネットワークシステムであることから、サーバａ（５０ａ）からＰＣａ（６０ａ）へ送信されるＩＰパケットは、衛星通信システムにおける片方向経路ではなく、インターネット網４０における双方向経路を使用して送信されるようにすることも、当然のことながら可能である。
【００４２】
すなわち、サーバａ（５０ａ）からＰＣａ（６０ａ）へ送信されるＩＰパケットの流れについて説明すると、ＳＧＷ２０は、サーバａ（５０ａ）からインターネット網４０を介して送信されてきたＩＰパケットを受け取ると、該ＩＰパケットを、インターネット網４０を介してＲＧＷ１０へと送信する。この際に、ＳＧＷ２０は、送信すべきＩＰパケットをカプセル化してから、ＲＧＷ１０へと送信する。サーバａ（５０ａ）から送信されるＩＰパケットは、図１０の１９０１に示すように、始点アドレスが「サーバａ」であり、終点アドレスが「ＳＮａ」である。また、ＳＧＷ２０によってカプセル化されたＩＰパケットのカプセルの外側のＩＰパケットは、図１０の１９０３に示すように、始点アドレスが「ＳＧＷ」であり、終点アドレスが「ＲＧＷ」であり、通常のルーティング経路に従って送信される。
【００４３】
ＲＧＷ１０は、カプセル化されたＩＰパケットを受け取ると、図１０の１９０４に示すように、カプセルを解除すると共に、終点アドレスの置換を行い、図１０の１９０５に示すように、終点アドレス「ＳＮａ」を「ＰＣａ」に書き換える。そして、ＲＧＷ１０は、終点アドレスを書き換えたＩＰパケットを、ローカル網に送信する。ここで送信されるＩＰパケットは、図１０の１９０５に示すように、終点アドレスが「ＰＣａ」であるので、ＰＣａ（６０ａ）へと届く。
【００４４】
一般に、インターネット網では、動的に経路を算出してルーティングを行っているため、ルータ間に複数の経路が存在する部分では、一部経路が断絶しても、エンド−エンド間では、そのまま通信を継続可能である。通信衛星３０を利用したデータ通信は、天候の影響を受けやすく、雨天時には、局所的にエラー率が１００％近くなる場合があることが知られているため、衛星データ回線を利用する場合は、一時的な回線断を考慮することが重要である。
【００４５】
そこで、本実施形態においては、このような場合は、ＲＧＷ１０で衛星データ回線の回線断を検出し、ＳＧＷ２０にインターネット網４０を介して要求を送信することで、ＳＧＷ２０からＲＧＷ１０へと送信されるＩＰパケットを、衛星回線３０経由ではなく、図１０を用いて説明したように、トンネリング技法を利用してインターネット網４０を介して送信することで、ＲＧＷ１０−ＳＧＷ２０間の片方向経路（衛星データ回線）が回線断となっても、ＰＣ６０−サーバ５０間は、回線断を起こすことなく、通信を継続することが可能となる。
【００４６】
ここで、ＲＧＷ１０でアドレス置換を行う際に利用するＩＰアドレスである、代替アドレス「ＳＮａ」について説明するために、まず、ＩＰアドレス体系について簡単に説明する。
【００４７】
ＩＰアドレスは、インターネットプロトコルを利用して通信を行う通信機器をユニークに識別するための固定長の数値であり、「ＩＰプロトコルバージョン４」では、２進数で３２ビット長であり、「ＩＰプロトコルバージョン６」では、２進数で１２８ビット長である。ＩＰアドレスは、ネットワークアドレスとホストアドレスとに分かれており、ホストアドレスの値が全て「０」のＩＰアドレスは、ネットワーク自身を表すと定められている。固定長のＩＰアドレスのうち、どの部分をネットワークアドレスとして用いるかは可変であり、その区切りを示す値をサブネットマスク値という。ＩＰアドレス体系の詳細については、インターネットのドキュメントであるＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）を参照されたい。
【００４８】
ＩＰプロトコルを用いた通信がうまくいくためには、異なる通信機器が同一のＩＰアドレスを持たないようにする必要がある。一般に、インターネット網は、複数の運用主体が運用するネットワークの集合として運用されるため、ＩＰアドレスの一意性を保証するために、何らかのアドレス管理機構を設け、ある運用主体が自らが有するローカルなネットワークをインターネット網に接続する際は、アドレス管理機構から、一定数の通信機器を収用可能なネットワークアドレスを割り当ててもらい、そのネットワーク内の個々の通信機器のＩＰアドレスは、そのローカルネットワークを運用する運用主体が一意となるように責任を持って割り当てる、ということが広く行われている。あるインターネット網が単一の運用主体により運用されている場合は、その運用主体がアドレス管理機構を兼ねることになる。
【００４９】
さて、衛星送信局サイトは、インターネット網４０に接続するために、アドレス管理機構からネットワークアドレスを割り当ててもらうのであるが、この際に、衛星送信局サイトの運用者は、予め、各衛星受信局サイトで必要となる代替アドレスの総数を収納可能な大きさのネットワークアドレスを割り当ててもらう。
【００５０】
そして、各衛星受信局サイトに対して、自らが割り当てられたネットワークアドレスの一部を分割して、その範囲のＩＰアドレスの使用を許可しておく。ＲＧＷ１０は、衛星送信局サイトから利用が認められたＩＰアドレス範囲の中から、ローカル網内のアドレスと置換する代替アドレスを選び出すことになる。
【００５１】
ＲＧＷ１０が利用可能な代替アドレスを知る方法としては、予め各ＲＧＷ１０ごとに代替アドレスを割り当てておく方法と、ＲＧＷ１０とＳＧＷ２０とが交信して、ＲＧＷ１０で利用可能な代替アドレスを動的に取得する方法とが考えられるが、いずれの方法を利用しても実施可能である。本実施形態では、予め各ＲＧＷ１０ごとに代替アドレスを割り当てておく方法を例にしている。
【００５２】
上述したような非対称ルーティングを実現する際に、通常のインターネット網４０上の通信機器とは異なる動作が必要となるのは、ＲＧＷ１０およびＳＧＷ２０であるため、以下、これらの動作の詳細について説明する。
【００５３】
まず、ＲＧＷ１０について説明する。
【００５４】
図２に、ＲＧＷ１０のハードウェア構成図を示す。ＲＧＷ１０は、インターネット網４０上のルータとして動作するコンピュータシステムであり、図２に示すように、ＣＰＵ１００１と、メモリ１００２と、ディスクコントローラ１００３と、ハードディスク１１００と、コンソールコントローラ１００４と、コンソール１２００と、ネットワークコントローラ１００５と、ネットワークコントローラ１００６と、ＩＲＤコントローラ１００７とから構成されている。
【００５５】
ＣＰＵ１００１は、ＲＧＷ１０全体の動作を制御する。メモリ１００２は、プログラムやデータを格納する。ディスクコントローラ１００３は、ハードディスク１１００を制御する。ハードディスク１１００は、プログラムやデータを格納する。コンソールコントローラ１００４は、コンソール１２００を制御する。コンソール１２００は、ユーザとの間の入出力を行う。ネットワークコントローラ１００５は、インターネット網４０との間の通信を行う。ネットワークコントローラ１００６は、ローカル網との間の通信を行う。ＩＲＤコントローラ１００７は、ＩＲＤ１１を制御する。ＩＲＤ１１は、通信衛星３０から送信されてくるデータを受信し、受信したデータ中からＩＰパケットを取り出してＲＧＷ１０へと送信する。
【００５６】
次に、ＲＧＷ１０の動作について説明する。ＲＧＷ１０の動作は、ＣＰＵ１００１が、詳細を後述するＲＧＷ処理プログラムを実行することによって実現される。
【００５７】
図４は、ＲＧＷ処理プログラムが処理内で使用するアドレス置換管理テーブルのデータ構成図である。図４に示すように、アドレス置換管理テーブル１７００は、元アドレスフィールド１７０１と、代替アドレスフィールド１７０２とから構成されている。
【００５８】
元アドレスフィールド１７０１には、ローカル網内のＰＣ６０のＩＰアドレスが格納され、代替アドレスフィールド１７０２には、衛星送信局サイトから利用が認められたアドレス置換用の代替ＩＰアドレスの値が格納される。
【００５９】
図５はＲＧＷ処理プログラムのフローチャートである。図５に示すように、ＲＧＷ１０は、ネットワークコントローラ１００５，ネットワークコントローラ１００６，ＩＲＤコントローラ１００７のいずれかからＩＰパケットを受信すると（ステップ１５０１）、そのＩＰパケットの終点アドレスが自分自身であるか否かを調べ（ステップ１５０２）、そうである場合は、そのＩＰパケットのプロトコル種別が、カプセル化されたＩＰパケットであるか否かを調べる（ステップ１５０３）。
【００６０】
カプセル化されたＩＰパケットである場合は（ステップ１５０３）、ＳＧＷ２０からインターネット網４０を介して受信したＩＰパケットであること（すなわち、図１０に示した流れで受信したＩＰパケットであること）を意味しているので、ＲＧＷ１０は、カプセル化されたＩＰパケットを取り出してから（ステップ１５０４）、ステップ１５０２に戻り、取り出されたＩＰパケットについての処理を行う。
【００６１】
また、カプセル化されたＩＰパケット以外の場合は（ステップ１５０３）、ＲＧＷ１０は、ステップ１５０５に進んで、受信したＩＰパケットについての処理を行う。このステップ１５０５では、インターネットプロトコルに従った様々な処理が行われるが、この部分の処理は、通常のルータに置けるパケット処理と違いはないので、詳細な説明は省略する。ステップ１５０５の次は、ステップ１５１４へと進む。
【００６２】
また、終点アドレスが自分自身以外の場合は（ステップ１５０２）、ＲＧＷ１０は、アドレス置換管理テーブル１７００を参照して、始点アドレスが、元アドレスフィールド１７０１の値のいずれかと一致するか否かを調べる（ステップ１５０６）。
【００６３】
一致する場合は（ステップ１５０６）、ＰＣ６０からローカル網を介して受信したＩＰパケットであること（すなわち、図８に示した流れで受信したＩＰパケットであること）を意味しているので、ＲＧＷ１０は、アドレス置換管理テーブル１７００の内容に従って、始点アドレスの代替アドレスへの置換を行い（ステップ１５０７）、アドレス置換後のＩＰパケットを、終点アドレスが「ＳＧＷ」であり、始点アドレスが「ＲＧＷ」であるＩＰパケットにカプセル化してから（ステップ１５０８）、カプセル化されたＩＰパケットを送信する（ステップ１５１１）。
【００６４】
また、一致しない場合は（ステップ１５０６）、ＲＧＷ１０は、アドレス置換管理テーブル１７００を参照して、終点アドレスが、代替アドレスフィールド１７０２の値のいずれかと一致するか否かを調べ（ステップ１５０９）、そうである場合は、ＳＧＷ２０から通信衛星３０を介して受信したＩＰパケットであること（すなわち、図９に示した流れで受信したＩＰパケットであること）か、または、ステップ１５０４で取り出されたＩＰパケットであることを意味しているので、アドレス置換管理テーブル１７００の内容に従って、終点アドレスの元アドレスへの置換を行い（ステップ１５１０）、そうでない場合は、直接ステップ１５１１へと進む。
【００６５】
ステップ１５１１では、ＲＧＷ１０は、ＩＰパケットの終点アドレスが、ローカル網に割り当てられたアドレス範囲内であるか否かを調べ、そうである場合は、ネットワークコントローラ１００６に対してＩＰパケットを送信し（ステップ１５１２）、そうでない場合は、ネットワークコントローラ１００５に対してＩＰパケットを送信する（ステップ１５１３）。
【００６６】
ＩＰパケットの送信を終えると、ＲＧＷ１０は、ステップ１５１４へ進み、ＩＲＤコントローラ１００７を介して、ＩＲＤ１１が、通信衛星３０からの電波を正常に受信しているか否かを確認して、ＩＲＤ状態が正常であるか否かをＳＧＷ２０へと通知する。なお、ＳＧＷ２０へのＩＲＤ状態の通知は、インターネットプロトコル中のＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットを利用して行うことができる。また、ＳＧＷ２０へのＩＲＤ状態の通知は、適当な間隔（例えば、１０秒に１回）を置いて行う。
【００６７】
ステップ１５１４の処理を終えると、ＲＧＷ１０は、ステップ１５０１へと戻り、次のＩＰパケットの受信を行う。
【００６８】
以上が、ＲＧＷ１０が行うＲＧＷ処理プログラムの処理内容である。
【００６９】
次に、ＳＧＷ２０について説明する。
【００７０】
図３に、ＳＧＷ２０のハードウェア構成図を示す。ＳＧＷ２０は、インターネット網４０上のルータとして動作するコンピュータシステムであり、図３に示すように、ＣＰＵ２００１と、メモリ２００２と、ディスクコントローラ２００３と、ハードディスク２１００と、コンソールコントローラ２００４と、コンソール２２００と、ネットワークコントローラ２００５と、ネットワークコントローラ２００６とから構成されている。
【００７１】
ＣＰＵ２００１は、ＳＧＷ２０全体の動作を制御する。メモリ２００２は、プログラムやデータを格納する。ディスクコントローラ２００３は、ハードディスク２１００を制御する。ハードディスク２１００は、プログラムやデータを格納する。コンソールコントローラ２００４は、コンソール２２００を制御する。コンソール２２００は、ユーザとの間の入出力を行う。ネットワークコントローラ２００５は、インターネット網４０との間の通信を行う。ネットワークコントローラ２００６は、アップリンクステーション２１との間の通信を行う。アップリンクステーション２１は、ＩＰパケットを通信衛星３０で使用されているデータ形式に変換して、通信衛星３０へと送信する。
【００７２】
次に、ＳＧＷ２０の動作について説明する。ＳＧＷ２０の動作は、ＣＰＵ２００１が、詳細を後述するＳＧＷ処理プログラムを実行することによって実現される。
【００７３】
図６は、ＳＧＷ処理プログラムが処理内で使用する受信局管理テーブルのデータ構成図である。図６に示すように、受信局管理テーブル２７００は、ＲＧＷアドレスフィールド２７０１と、受信局アドレス範囲フィールド２７０２と、受信局状態フィールド２７０３とから構成されている。
【００７４】
ＲＧＷアドレスフィールド２７０１には、ある衛星受信局に設けられたＲＧＷ１０のＩＰアドレスが格納され、受信局アドレス範囲フィールド２７０２には、その衛星受信局が利用可能な代替ＩＰアドレスの範囲が格納され、受信局状態フィールド２７０３には、ＲＧＷ１０から送信されてくるＩＲＤ状態の値が格納される。
【００７５】
図７はＳＧＷ処理プログラムのフローチャートである。図７に示すように、ＳＧＷ２０は、ネットワークコントローラ２００５からＩＰパケットを受信すると（ステップ２５０１）、そのＩＰパケットの終点アドレスが自分自身であるか否かを調べ（ステップ２５０２）、そうである場合は、そのＩＰパケットのプロトコル種別が、カプセル化されたＩＰパケットであるか否かを調べる（ステップ２５０３）。
【００７６】
カプセル化されたＩＰパケットである場合は（ステップ２５０３）、ＲＧＷ１０からインターネット網４０を介して受信したＩＰパケットであること（すなわち、図８に示した流れで受信したＩＰパケットであること）を意味しているので、ＳＧＷ２０は、カプセル化されたＩＰパケットを取り出してから（ステップ２５０４）、ステップ２５０２に戻り、取り出されたＩＰパケットについての処理を行う。
【００７７】
また、カプセル化されたＩＰパケット以外の場合は（ステップ２５０３）、ＳＧＷ２０は、ステップ２５０５に進んで、受信したＩＰパケットが、ＲＧＷ１０から送信されてきた、ＩＲＤ状態の通知を示すＵＤＰパケットであるか否かを判定する（ステップ２５０５）。
【００７８】
ＩＲＤ状態の通知を示すＵＤＰパケットである場合は（ステップ２５０５）、ＳＧＷ２０は、該ＵＤＰパケットによって通知されたＩＲＤ状態に従って、受信局管理テーブル２７００の受信局状態フィールド２７０３の値を更新し（ステップ２５０６）、そうでない場合は（ステップ２５０５）、ステップ２５０７へ進んで、受信したＩＰパケットについての処理を行う。このステップ２５０７では、図５のステップ１５０５と同様に、インターネットプロトコルに従った様々な処理が行われるが、この部分の処理は、通常のルータに置けるパケット処理と違いはないので、詳細な説明は省略する。ステップ２５０６またはステップ２５０７の処理の後は、ステップ２５０１へと戻り、次のＩＰパケットの受信を行う。
【００７９】
また、終点アドレスが自分自身以外の場合は（ステップ２５０２）、ＳＧＷ２０は、終点アドレスが、衛星送信局サイトに割り当てられているネットワークアドレスに含まれるか否かを判定し（ステップ２５０８）、含まれていない場合は、ステップ２５１３へ進み、含まれている場合は、受信局管理テーブル２７００を参照して、終点アドレスが、受信局アドレス範囲フィールド２７０２のいずれかに含まれているか否かを調べる（ステップ２５０９）。
【００８０】
受信局アドレス範囲フィールド２７０２のいずれにも含まれていない場合は（ステップ２５０９）、ステップ２５１０へ進み、受信局アドレス範囲フィールド２７０２のいずれかに含まれている場合は（ステップ２５０９）、サーバ５０からインターネット網４０を介して受信したＩＰパケットであること（すなわち、図９または図１０に示した流れで受信したＩＰパケットであること）を意味しているので、ＳＧＷ２０は、該当する衛星受信局の受信局状態フィールド２７０３の値を調べ（ステップ２５１１）、正常に受信中である場合は、図９に示した流れでＩＰパケットを送信するために、ＩＰパケットをネットワークコントローラ２００６へと送信する（ステップ２５１０）。ネットワークコントローラ２００６から送信されたＩＰパケットは、アップリンクステーション２１で受信されて、通信衛星３０へと送信される。
【００８１】
なお、ＳＧＷ２０は、該当する衛星受信局の受信局状態が、正常に受信中でない場合は（ステップ２５１１）、図１０に示した流れでＩＰパケットを送信するために、受信局管理テーブル２７００のＲＧＷアドレスフィールド２７０１の値からＲＧＷ１０のＩＰアドレスを求め、ＩＰパケットを、終点アドレスが「ＲＧＷ」であり、始点アドレス「ＳＧＷ」がであるＩＰパケットにカプセル化してから（ステップ２５１２）、カプセル化されたＩＰパケットを、ネットワークコントローラ２００５へと送信する（ステップ２５１３）
ステップ２５１０またはステップ２５１３の処理を終えると、ＳＧＷ２０は、ステップ２５０１へと戻り、次のＩＰパケットの受信を行う。
【００８２】
以上が、ＳＧＷ２０が行うＳＧＷ処理プログラムの処理内容である。
【００８３】
以上説明したように、ＲＧＷ１０およびＳＧＷ２０の働きにより、衛星データ通信路を利用したインターネット通信システムが構築可能であり、ユーザは衛星データ通信路を利用して高速にインターネットアクセスが行える。
【００８４】
例えば、ＰＣ６０上で動作しているアプリケーションプログラムが、サーバ５０にアクセスする場合に、ＰＣ６０からサーバ５０へ送信されるデータは、各種指示等の少量のデータであるが、サーバ５０からＰＣ６０へ送信されるデータは、画像データやプログラム等の大量のデータとなることが一般的である。このような場合に、サーバ５０からＰＣ６０へ送信されるデータを、インターネット網４０に比べてはるかに大量のデータを送信することが可能な衛星データ回線を経由して送信するようにすることで、送信時間の短縮を図ることができるので、ＰＣ６０のユーザメリットは多大なものとなる。
【００８５】
特に、本実施形態においては、ネットワーク層での情報に基づいて非対称ルーティングが行われることとなるので、上位プロトコルを利用しているアプリケーションプログラムは、何ら修正を加えずに動作可能である。すなわち、ＲＧＷ１０およびＳＧＷ２０を一旦設けてしまえば、新規に標準化されたプロトコルであっても、即座に対応できる。
【００８６】
また、本実施形態によれば、片方向経路である通信衛星３０を利用した通信が、衛星データの回線断等の理由により、正常に行えない場合は、自動的に、双方向経路であるインターネット網４０を利用して通信を行うようにしているので、衛星データ回線に一時的な異常が生じた場合でも、切断されることなく通信を継続することが可能である。
【００８７】
なお、本実施形態においては、ＲＧＷ１０でアドレス置換を行う際に、置換するアドレスの対は固定であるが、動的に、アドレスの対を決定するようにしても、非対称ルーティングが問題なく行えることは明らかである。
【００８８】
また、本実施形態においては、ＲＧＷ１０でアドレス置換を行う際に、ローカル網内でのアドレスと、衛星送信局サイトに割り当てられたネットワークアドレスとの間で、１対１のアドレス置換を行っているが、Ｎ対１のアドレス置換を行うようにしても、非対称ルーティングが問題なく行えることは明らかである。
【００８９】
なお、アドレス置換時にアドレス対を動的に決定したり、Ｎ対１のアドレス置換を行ったりする場合は、ローカル網に接続されているＰＣ６０から通信を開始しないと、経路制御がうまくいかなくなるという制限があるが、この制限は、ファイアウォールを設置しているローカル網に共通する制限であり、本実施形態に固有の制限ではない。
【００９０】
この場合、ＲＧＷ１０において、特定のＰＣ６０のアドレスについては、アドレス置換を行わなければ、衛星データ回線を利用することなく、通常のインターネット接続と同一の環境となるので、ローカル網に、外からアクセスされるサーバを同居させることも可能である。
【００９１】
また、本実施形態においては、１つの衛星送信局と１つの衛星受信局とを備えた構成となっているが、衛星送信局および衛星受信局の一方または双方が複数存在しても、そのまま適用可能である。
【００９２】
さて、インターネットシステム上では種々のアプリケーションが利用されるが、アプリケーション毎に通信路に要求される特性は様々である。ファイル転送の場合は伝送速度が速いことが最も重要であるが、ｔｅｌｎｅｔ等、文字ベースであるために必要とするデータ量が少なく（軽量）、対話的処理を行うアプリケーションでは伝送速度はあまり必要ではなく、むしろ伝送遅延が少ない方がユーザがより快適に利用できる。従ってこうした軽量・対話的プロトコルを利用する場合は、低速であっても遅延の少ない通信路を利用することが望ましい。
【００９３】
そこで以下に、衛星データ回線を使うかどうかを、ある基準にしたがって判断する手段を追加した実施例を説明する。この実施例では、判断手段が、衛星データ回線を使うべきと判断した場合には、ＰＣ６０−サーバ５０間の通信を、インターネット網４０における双方向経路の片側と衛星通信システムの片方向経路とを利用し、衛星データ回線を使わずに従来のインターネット網４０を使うべきと判断した場合は、ＰＣ６０−サーバ５０間の通信を、インターネット網４０における双方向経路の両側を利用する。上記判断基準として、以下の実施例では、軽量・対話的プロトコルを利用するか否か、を用いた例について、説明する。この判断基準は一例であって、これに限定されるものではない。
【００９４】
本実施例のシステム構成は図１と同一であり、ＲＧＷのハードウェア構成も図２と同一である。また、ＳＧＷのハードウェア構成は図３と同一であり、ＳＧＷ処理プログラムの内容も図７と同一である。
【００９５】
本実施例でのＲＧＷの動作を記述するＲＧＷ処理プログラムのフローチャートを図１１に示す。本フローチャートではステップ１５０６とステップ１５０７の間にステップ１５２１が加わった以外では図５のフローチャートと同一である。
【００９６】
ステップ１５２１では受信したＩＰパケットの上位プロトコルが軽量・対話的プロトコルであるかどうかを判断し（詳細は後述）、ＹＥＳの場合はそのままステップ１５１１に進んで始点アドレスの置換処理を行わず、ＮＯの場合は従来通りのステップ１５０７に進んで始点アドレスの置換を行う。アドレス置換を行わないことで結果としてこのパケットはＳＧＷを経由することなくサーバへと送られ、サーバからの返送も片方向経路を経由することなくＲＧＷに届くこととなる。
【００９７】
上位プロトコルの判別は以下の様に行う。
軽量・対話的プロトコルとは、プロトコルで必要なデータ量が比較的少なく、ユーザが直接応答を行うために、伝送遅延が大きいとユーザが次の応答が到着するのを待つ結果、使い勝手が非常に悪化すると感じるプロトコルのことであり、代表的な例としてＴＥＬＮＥＴプロトコルがある。
【００９８】
ＩＰパケットはヘッダ内に上位プロトコルの種別を示す情報を持つ。ＩＰプロトコルの上位プロトコルとしてはＴＣＰと、ＵＤＰが広く使われている。
【００９９】
図１６に示すように、ＴＣＰプロトコルではＴＣＰヘッダー内に始点ポート番号、終点ポート番号と呼ばれる情報を持っており、これらの値によってこのパケットを利用しているアプリケーションプログラムを特定している。さて、このポート番号の割当てには規則性があり、既知ポート（ｗｅｌｌ  ｋｎｏｗｎ  ｐｏｒｔ）と呼ばれる１から１０２３まで番号は特定のアプリケーションプロトコルが利用するように定められており、他のアプリケーションでは利用できないこととなっている。例えばＴＥＬＮＥＴプロトコルは２３番を使い、ＦＴＰプロトコルは２１番を使う。こうした、インターネットにおけるポート番号の割当の詳細はＲＦＣを参照されたい。
【０１００】
従ってあるＩＰパケットがＴＥＬＮＥＴプロトコルで使われているＩＰパケットかどうかは、そのＩＰパケットの上位プロトコル種別がＴＣＰであり、ＴＣＰヘッダー中の始点ポート番号、終点ポート番号の何れかが２３であることで判断できる。
【０１０１】
そこで、図１７に示すＴＥＬＮＥＴ等の軽量・対話的プロトコルのポート番号を登録したポート番号登録テーブル３１００をメモリ１００２または、ハードディスク１１００内に、用意し、ステップ１５２１ではＴＣＰヘッダー中の始点ポート番号、終点ポート番号のどちらかがポート番号がポート番号登録テーブル３１００に登録されているポート番号であるかどうかで上位プロトコルが軽量・対話的であるという判断を行う。
【０１０２】
本実施例によれば、インターネットプロトコルを使用したネットワークでＲＧＷ、ＳＧＷを用いて高速であるが遅延の大きな片方向経路を使用した非対称ルーティングを行うシステムで、ＲＧＷで軽量・対話的プロトコルのパケットは遅延の大きな片方向経路を経由しないよう制御することで、非対話的処理で片方向経路の高速性を利用しつつ、対話的処理で片方向経路の遅延の大きさの影響を避けられるシステムが実現できる。また、上位プロトコルの判定処理はＲＧＷ上で行われるため、ＲＧＷを複数有するシステムではＳＧＷ上で判定する場合と比較して判定処理が分散され、判定に要する負荷が少ないという特徴を有する。
【０１０３】
なお、前記実施例では軽量・対話的プロトコル時にはＰＣ６０から送られるパケットのアドレス変換を行わないため、ＰＣ６０はグローバルなＩＰアドレスを持つ必要がある。一般に衛星受信局のローカル網はプライベートなＩＰアドレスを利用することが広く行われているが、その場合は上記発明は利用できない。そこで、ＰＣ６０がプライベートなＩＰアドレスを持つ場合に適用可能な発明の実施例を次に示す。
【０１０４】
次に、衛星受信局のローカル網がプライベートなＩＰアドレスを持つ場合にＲＧＷ上でアプリケーション特性に応じて経路を切り換える発明の一実施例のＲＧＷの動作に関して説明を行う。
【０１０５】
本実施例のシステム構成は図１と同一であり、ＲＧＷのハードウェア構成も図２と同一である。また、ＳＧＷのハードウェア構成は図３と同一であり、ＳＧＷ処理プログラムの内容も図７と同一である。
【０１０６】
本実施例でのＲＧＷの動作を記述するＲＧＷ処理プログラムのフローチャートを図１２に示す。本フローチャートではステップ１５０６とステップ１５１１の間の処理が図５のフローチャートとは異なっており、他の部分の処理は図５のフローチャートと同一である。
【０１０７】
図１３は本実施例のＲＧＷ処理プログラムが処理内で使用するアドレス置換管理テーブル３０００のデータ構成図である。アドレス置換管理テーブル３０００は元アドレスフィールド１７０１、送信局内代替アドレスフィールド１７０２、受信局内代替アドレスフィールド１７０３からなり、受信局内代替アドレスフィールド１７０３が追加されたこと以外は図４のアドレス置換管理テーブル１７００と同一である。
【０１０８】
元アドレスフィールド１７０１はローカル網内のＰＣ６０ａ、６０ｂ、．．．のＩＰアドレス、送信局内代替アドレスフィールド１７０２は衛星送信局から利用が認められたアドレス置換用の代替ＩＰアドレスの値が格納され、受信局内代替アドレスフィールド１７０３には衛星受信局が属するネットワーク内で利用が認められたアドレス置換用の代替ＩＰアドレスの値が格納される。この代替ＩＰアドレスはグローバルなＩＰアドレスである必要がある。
【０１０９】
図１２に示すように、ステップ１５０６で始点アドレスが元アドレスフィールドの値と一致しなかった場合、ステップ１５３４で終点アドレスが送信局内代替アドレスフィールド１７０２、受信局内代替アドレスフィールド１７０３の何れかの値と一致するかどうかを調べ、一致した場合はステップ１５３５へと進んで対応する元アドレスフィールドの値へと終点アドレスを置換し、ステップ１５１１へと進む。
【０１１０】
ステップ１５０６で一致した場合はステップ１５３１へ進み、上位プロトコルが軽量・対話的プロトコルかどうかを判定する。このステップの処理内容は先ほどの実施例の図１１でのステップ１５２１の内容と同一である。そして判定結果がＹＥＳの場合はステップ１５３３へ進み、始点アドレスを対応する受信局内代替アドレスフィールド１７０３の値へと置換し、ステップ１５１１へと進む。
【０１１１】
ステップ１５３１の判定結果がＮＯの場合はステップ１５３２へと進み、始点アドレスを送信局内代替アドレスフィールド１７０２の値へと置換する。このステップの処理は図５中のステップ１５０７の処理と同一である。そしてＳＧＷ行きにカプセル化し（ステップ１５０８（図５中と同一））、ステップ１５１１へと進む。
【０１１２】
このように、本実施例でのＲＧＷ１０ではＰＣ６０から送られたパケットが軽量・対話的プロトコルに属するパケットである場合、始点アドレスが衛星送信局ネットワーク内のアドレスではなく、衛星受信局の属するネットワーク内のアドレスへと置換されてインターネット網４０へと送られるため、そのパケットはＳＧＷを経由せず、従って片方向経路を利用せずにサーバ５０との間でやり取りされる。
【０１１３】
本実施例によれば、インターネットプロトコルを使用したネットワークでＲＧＷ、ＳＧＷを用いて高速であるが遅延の大きな片方向経路を使用した非対称ルーティングを行うシステムで、衛星受信局のローカル網にプライベートＩＰアドレスを使用する場合、ＲＧＷが軽量・対話的プロトコルのパケットは遅延の大きな片方向経路を経由しないよう制御することで、非対話的処理で片方向経路の高速性を利用しつつ、対話的処理で片方向経路の遅延の大きさの影響を避けられるシステムが実現できる。また、上位プロトコルの判定処理はＲＧＷ上で行われるため、ＲＧＷを複数有するシステムではＳＧＷ上で判定する場合と比較して判定処理が分散され、判定に要する負荷が少ないという特徴を有する。
【０１１４】
次に、ＲＧＷではなく、ＳＧＷでプロトコル種別に応じた経路変更を行う発明の一実施例の説明を行う。
【０１１５】
本実施例のシステム構成は図１と同一であり、ＲＧＷのハードウェア構成は図２と同一であり、ＲＧＷ処理プログラムの内容も図５と同一である。また、ＳＧＷのハードウェア構成も図３と同一である。
【０１１６】
本実施例でのＳＧＷの動作を記述するＳＧＷ処理プログラムのフローチャートを図１４に示す。本フローチャートではステップ２５０９とステップ２５１０の間にステップ２５２１が加わった点が図７のフローチャートとは異なっており、他の部分の処理は図７のフローチャートと同一である。
【０１１７】
図１４に示すように、本実施例のＳＧＷ処理プログラムではステップ２５０９で終点アドレスが受信局アドレスの範囲内であると判定した後、ステップ２５２１で該パケットの上位プロトコルが軽量・対話的プロトコルであるかどうかを判定し、ＹＥＳの場合はステップ２５１２へ進んでＲＧＷ行きにカプセル化し、ＮＯの場合はステップ２５１０へと進んでそのままパケットを片方向経路宛に送信する。尚、ステップ２５２１での上位プロトコル判定手順は図１１のステップ１５２１と同一である。
【０１１８】
ＳＧＷがこのように動作することで、軽量・対話的プロトコルのパケットは片方向経路を経由せず、ＳＧＷとＲＧＷの間を双方向にカプセル化して送られることとなる。
【０１１９】
本実施例によれば、インターネットプロトコルを使用したネットワークでＲＧＷ、ＳＧＷを用いて高速であるが遅延の大きな片方向経路を使用した非対称ルーティングを行うシステムで、ＳＧＷで軽量・対話的プロトコルのパケットは遅延の大きな片方向経路を経由しないよう制御することで、非対話的処理で片方向経路の高速性を利用しつつ、対話的処理で片方向経路の遅延の大きさの影響を避けられるシステムが実現できる。また、上位プロトコルの判定処理はＳＧＷ上で行われるため、衛星受信局のローカル網にプライベートＩＰアドレスを利用している場合でも衛星受信局側で追加的なグローバルＩＰアドレスを用意する必要がないという特徴を有する。
【０１２０】
次に、ＳＧＷでプロトコル種別に応じた経路変更を行う他の一実施例の説明を行う。
本実施例のシステム構成は図１と同一であり、ＲＧＷのハードウェア構成は図２と同一であり、ＲＧＷ処理プログラムの内容も図５と同一である。また、ＳＧＷのハードウェア構成も図３と同一である。
【０１２１】
本実施例でのＳＧＷの動作を記述するＳＧＷ処理プログラムのフローチャートを図１５に示す。本フローチャートではステップ２５０９とステップ２５１０の間にステップ２５３１が加わった点が図７のフローチャートとは異なっており、他の部分の処理は図７のフローチャートと同一である。
【０１２２】
図１５に示すように、本実施例のＳＧＷ処理プログラムではステップ２５０９で終点アドレスが受信局アドレスの範囲内であると判定した後、ステップ２５２１で該パケットのサイズが規定値以下であるかどうかを判定し、ＹＥＳの場合はステップ２５１２へ進んでＲＧＷ行きにカプセル化し、ＮＯの場合はステップ２５１０へと進んでそのままパケットを片方向経路宛に送信する。
【０１２３】
ＳＧＷがこのように動作することで、サイズが規定値以下のパケットは片方向経路を経由せず、ＳＧＷとＲＧＷの間を双方向にカプセル化して送られることとなる。
【０１２４】
本発明では、上位プロトコルが軽量・対話的であるかどうかをヘッダ中の情報を用いて判断するのではなく、パケットサイズにより推定するという手段を用いる。
【０１２５】
軽量・対話的なアプリケーションでは対話性を重視するため、データをある程度まとめて大きなパケットとして送出するのではなく、小さなサイズのパケットで送る場合が大きいことが観測できる。そこで、例えば５０バイト以下といった小さなパケットは遅延の大きな経路を利用しないことで、結果として軽量・対話的なアプリケーションの応答性が向上することが期待できる。
【０１２６】
尚、パケット毎に経路を変更することで、到着するＩＰパケットの順序が送出順と異なることが起こり得るが、ＩＰプロトコルは元々パケットの到着順を保証しないプロトコルであるため、特に問題は生じない。
【０１２７】
本実施例によれば、インターネットプロトコルを使用したネットワークでＲＧＷ、ＳＧＷを用いて高速であるが遅延の大きな片方向経路を使用した非対称ルーティングを行うシステムで、ＳＧＷで規定値以下の大きさのパケットは遅延の大きな片方向経路を経由しないよう制御することで、非対話的処理では片方向経路の高速性を利用し、対話的処理では片方向経路の遅延の影響を避けることができるシステムが実現できる。
【０１２８】
また、上位プロトコルの判定処理は予め定められたポート番号による判定ではなく、パケットサイズによる間接的な判定であるため、軽量・対話的なプロトコルが新たに開発されても判定処理を変更する必要がないという特徴を有する。
【０１２９】
以上説明したように、本発明によれば、片方向経路を使用した非対称経路利用通信システムにおいて、上位プロトコル種別に応じて片方向経路を利用するかどうかを切り換えるため、非対話的処理では片方向経路の高速性を利用し、対話的処理では片方向経路の遅延の大きさの影響を避けることができるシステムが実現できる。
【０１３０】
【発明の効果】
本発明によれば、双方向経路を使用してパケットの双方向通信を行うことを前提として構築されたネットワークシステムにおいて、既存のルーティングプロトコルを変更することなく、パケットの片方向通信を行うための片方向経路を使用した非対称ルーティングを実現可能な非対称経路利用通信システムを構築することができる。
【０１３１】
その際に、ネットワーク層での情報に基づいて非対称ルーティングを行うので、ネットワークシステム上で動作するアプリケーションプログラムには何ら修正を加えずに、アプリケーション層に対して透過な非対称ルーティングを実現できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施形態に係る非対称経路利用通信システムの構成図。
【図２】本発明の実施形態におけるＲＧＷのハードウェア構成図。
【図３】本発明の実施形態におけるＳＧＷのハードウェア構成図。
【図４】本発明の実施形態におけるアドレス置換管理テーブルのデータ構成図。
【図５】本発明の実施形態におけるＲＧＷ処理プログラムのフローチャート。
【図６】本発明の実施形態における受信局管理テーブルの構成図。
【図７】本発明の実施形態におけるＳＧＷ処理プログラムのフローチャート。
【図８】本発明の実施形態におけるＩＰパケットの流れを示す説明図。
【図９】本発明の実施形態におけるＩＰパケットの流れを示す説明図。
【図１０】本発明の実施形態におけるＩＰパケットの流れを示す説明図。
【図１１】他の実施例におけるＲＧＷ処理プログラムのフローチャート。
【図１２】他の実施例におけるＲＧＷ処理プログラムのフローチャート。
【図１３】他の実施例におけるアドレス置換管理テーブルのデータ構成図。
【図１４】他の実施例におけるＳＧＷ処理プログラムのフローチャート。
【図１５】他の実施例におけるＳＧＷ処理プログラムのフローチャート。
【図１６】他の実施例におけるＴＣＰパケットフォーマットを示す図。
【図１７】他の実施例におけるポート番号登録テーブルのデータ構成図。
【符号の説明】
１０…受信側ゲートウェイ（ＲＧＷ）、１１…衛星受信機（ＩＲＤ）、２０…送信側ゲートウェイ（ＳＧＷ）、２１…アップリンクステーション、３０…通信衛星、４０…インターネット網、５０…サーバ、６０…パーソナルコンピュータ（ＰＣ）、１００１…ＣＰＵ、１００２…メモリ、１００３…ディスクコントローラ、１００４…コンソールコントローラ、１００５…ネットワークコントローラ、１００６…ネットワークコントローラ、１００７…ＩＲＤコントローラ、１１００…ハードディスク、１２００…コンソール、１７００…アドレス置換管理テーブル、２００１…ＣＰＵ、２００２…メモリ、２００３…ディスクコントローラ、２００４…コンソールコントローラ、２００５…ネットワークコントローラ、２００６…ネットワークコントローラ、２１００…ハードディスク、２２００…コンソール、２７００…受信局管理テーブル。
【図１】
0003614006.tif 000002
【図２】
0003614006.tif 000003
【図３】
0003614006.tif 000004
【図４】
0003614006.tif 000005
【図５】
0003614006.tif 000006
【図６】
0003614006.tif 000007
【図７】
0003614006.tif 000008
【図８】
0003614006.tif 000009
【図９】
0003614006.tif 000010
【図１０】
0003614006.tif 000011
【図１１】
0003614006.tif 000012
【図１２】
0003614006.tif 000013
【図１３】
0003614006.tif 000014
【図１４】
0003614006.tif 000015
【図１５】
0003614006.tif 000016
【図１６】
0003614006.tif 000017
【図１７】
0003614006.tif 000018