説明

通信システム、中継装置、端末、及び中継処理方法並びにそのプログラム

【課題】中継装置負荷を抑えるためにTCPスプライシング方式による通信システムを利用しつつ、シーケンス異常及び相手側端末での通信異常の発生を抑制する。
【解決手段】通信システムは、通信管理装置を介して端末からの通信要求および応答を行って、中継装置を介して端末間のデータ通信を行う。端末は、中継装置との間でTCPコネクションを開設するTCP処理部と、SSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する。中継装置は、中継のための宛先情報を取得し、データ転送時に端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段(パケット受信部、パケット振分部、TCP処理部、SSLセッション開設処理部、コネクション結合情報管理部、パケット振分情報管理部、コネクション管理テーブル、ヘッダ書換部、及びパケット送信部)を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、中継装置、端末、及び中継処理方法並びにそのプログラムに関し、特にファイアウォール配下に接続する端末間での通信中継方法に関する。
【背景技術】
【0002】
近年、セキュリティの観点から、特に、企業では、部門、拠点毎にファイアウォールが設置されているケースが多い。ファイアウォールは、外部からの攻撃を防ぐことを目的で設置されているため、部門間、拠点間をまたがる通信は、ファイアウォールで遮断される。ファイアウォール越しに通信を実現するには、ファイアウォールの設定を変更して、通信を実現する方法がある。
【0003】
この場合、管理者が、ユーザ毎、通信アプリケーション毎に通信を許可/不許可を設定しなければならず、管理コストが高いことと、また管理者の設定ミス等でセキュリティが保たれないという問題が発生する。そこで、グローバルネットワーク環境に中継サーバを配置して、端末と中継サーバ間で通信を行い、中継するという方式である。この場合、端末と中継サーバ間では、ファイアウォールが通信を許可している通信ポートを利用しなければならない。
【0004】
これに関し、非特許文献1によると、ファイアウォールの運用方法として、TCP(Transmission Control Protocol)(非特許文献2参照)の443番ポートを利用したSSL(Secure Socket Layer)通信が許可されている場合が多い。そこで、端末と中継サーバ間でSSL通信を利用して、中継サーバで中継先へデータを転送することで、ファイアウォール越しの通信を実現している(非特許文献1参照)。
【0005】
端末と中継サーバ間では、TCPの通信が行われているが、信頼性のある通信実現のため、再送制御を行っているため、中継サーバは、中継するセッション数が多くなるにつれて処理負荷が高くなる。TCP通信の中継方式としては、前述のように中継サーバにおいて処理負荷の高いTCPの処理をすることなく、中継先コネクションへ、パケットのヘッダを書き換えて中継するTCPスプライシング方式がある(非特許文献3参照)。
【0006】
この方式によると、TCPコネクション開設のための動作は、送信側と受信側でTCP通信を行う場合と同じで、端末と中継サーバ間で行い、データ転送からは、前述のヘッダ情報を書き換えて転送を行っている。また、順序保証を目的として、記載されているシーケンス番号は、端末と中継サーバ間のコネクション開設動作で決められた初期のシーケンス番号の差分値を利用して書き換えられる(図18のf1〜f12参照)。
【非特許文献1】則房雅也、「特集:使い方が見えた! これからが本番、SSL−VPN(前編) なぜSSL−VPNなのか。素朴な疑問を解消しよう」、[online]、2007年6月17日、@IT(登録商標)、[2007年7月27日検索」、インターネット<http://www.atmarkit.co.jp/fnetwork/tokusyuu/25sslvpn/01.html>
【非特許文献2】RFC793, TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION, September 1981
【非特許文献3】D. A. Maltz, et al., “TCP Splice application layer proxy performance,” Jornal of High Speed Networks, Volume 8, Issue 3, 1999, p.225-240
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した関連技術では、次のような問題があった。
【0008】
第1の問題は、中継装置を利用したファイアウォール越え通信を行う場合、中継装置においてTCP処理を行って中継する場合、TCPは、再送制御、フロー制御を行っているため処理負荷が増大することである。
【0009】
第2の問題は、中継装置を利用したファイアウォール越え通信において中継方法として、TCPスプライシングを利用する場合、端末と中継装置の間で、TCPコネクション開設後、SSLセッションを開設するためのTCPパケットが交換されるため、端末間で通信するTCPコネクションのシーケンス番号の差分値がコネクション開設での初期シーケンスの差分値と異なる。従って、従来のTCPスプライシング方式をそのまま適用するとシーケンス異常が発生するという問題がある。また、データ転送が開始しても、ネットワーク内でのパケットロス等による再送で、SSLセッション開設のために転送したパケットも中継装置にて受信及び転送され、相手側端末で通信異常が発生するという問題もある。
【0010】
本発明の目的は、中継装置負荷を抑えるためにTCP処理をすることなく、中継先コネクションへパケットのヘッダを書き換えて中継するTCPスプライシング方式による通信システムを利用しつつ、シーケンス異常及び相手側端末での通信異常の発生を抑制することである。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明に係る通信システムは、通信管理装置を介して端末からの通信要求および応答を行って、中継装置を介して端末間のデータ通信を行う通信システムであって、前記端末は、前記中継装置との間でデータ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有し、前記中継装置は、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする。
【0012】
本発明に係る中継装置は、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置であって、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする。
【0013】
本発明に係る端末は、端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有する中継装置を介してデータ通信を行う端末であって、前記中継装置との間で、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有することを特徴とする。
【0014】
本発明に係る中継処理方法は、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理方法であって、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継ステップを有することを特徴とする。
【0015】
本発明に係るプログラムは、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理プログラムであって、コンピュータに、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継処理を実行させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、中継装置負荷を抑えるためにTCP処理をすることなく、中継先コネクションへパケットのヘッダを書き換えて中継するTCPスプライシング方式による通信システムを利用しつつ、シーケンス異常及び相手側端末での通信異常の発生を抑制することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明に係る通信システム、中継装置、端末、及び中継処理方法並びにそのプログラムの各種実施例について、図面を参照して説明する。
【実施例1】
【0018】
まず、本発明の第1の実施例について図面を用いて説明する。
【0019】
図1は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置1、端末10、端末11、ファイアウォール装置100、ファイアウォール装置101、及び通信管理装置1000を有する。中継装置1と通信管理装置1000は、ファイアウォール装置100配下の端末10と、ファイアウォール装置101配下の端末11とにそれぞれ通信可能に接続される。
【0020】
図2は、中継装置1のブロック図である。同図に示すように、中継装置1は、例えば中継サーバで構成され、パケット受信部1−1、パケット振分部1−2、TCP処理部1−3、SSLセッション開設処理部1−4、コネクション結合情報管理部1−5、パケット振分情報管理部1−6、コネクション管理テーブル1−7、ヘッダ書換部1−8、及びパケット送信部1−9を有する。これら各部1−1〜1−9が、本発明の中継手段を構成している。
【0021】
パケット受信部1−1は、送信されてきたパケット(データ)を受信する。パケット振分部1−2は、受信したパケットをTCP処理部1−3かヘッダ書換部1−8のいずれかに転送し、TCP処理部1−3から転送されてきたパケットをパケット送信部1−9に転送し、また、本パケット振分部1−2から転送されるパケットのTCPヘッダ情報をコネクション管理テーブル1−7に記載する。TCP処理部1−3は、受信したパケットのTCP処理を行う。SSLセッション開設処理部1−4は、端末とのSSLセッションを開設する。コネクション結合情報管理部1−5は、端末から開設されるコネクションのうちいずれのコネクションを結合するかという情報を管理する。パケット振分情報管理部1−6は、受信したパケットをTCP処理部1−3かヘッダ書換部1−8のうちいずれかへ転送する条件を管理する。コネクション管理テーブル1−7は、本中継装置1と開設しているコネクションのTCPヘッダ情報を管理する。ヘッダ書換部1−8は、コネクションを中継するためにTCPヘッダを書き換える。パケット送信部1−9は、パケットを送信する。
【0022】
図3は、端末10のブロック図である。同図に示すように、端末10は、パケット受信部10−1、TCP処理部10−2、通信要求応答部10−3、SSLセッション開設部10−4、宛先情報通知部10−5、アプリケーション部10−6、及びパケットを送信するパケット送信部10−7を有する。
【0023】
パケット受信部10−1は、送信されてきたパケットを受信する。TCP処理部10−2は、受信したパケットのTCP処理を行う。通信要求応答部10−3は、通信管理装置1000とコネクションを開設して、ファイアウォール装置配下に接続している端末間で、通信要求/応答メッセージを交換する。SSLセッション開設部10−4は、中継装置1とSSLセッションを開設する。宛先情報通知部10−5は、中継装置1に対して、通信の宛先情報を通知する。アプリケーション部10−6は、宛先端末とデータ通信を行う。パケット送信部10−7は、パケットを送信する。端末11も同様の構成である。
【0024】
図4は、通信管理装置1000のブロック図である。同図に示すように、通信管理装置1000は、例えば通信管理サーバで構成され、メッセージ受信部1000−1、登録メッセージ処理部1000−2、通信要求/応答メッセージ処理部1000−3、端末/中継装置情報管理テーブル1000−4、及びメッセージ送信部1000−5を有する。
【0025】
メッセージ受信部1000−1は、送信されてきたメッセージを受信する。登録メッセージ処理部1000−2は、端末から識別情報登録のために送信されてくる登録メッセージを見て、端末/中継装置情報管理テーブル1000−4へ識別情報を登録する。通信要求/応答メッセージ処理部1000−3は、端末から通信要求/応答メッセージを受信して、中継装置の識別情報を記載し、転送する。端末/中継装置情報管理テーブル1000−4は、端末、中継装置のIP(Internet Protocol)アドレス、ポート番号等の識別子を記載する(後述の図8参照)。メッセージ送信部1000−5は、通信要求/応答メッセージ処理部1000−2から転送されてくるメッセージを送信する。
【0026】
次に、本実施例の動作について説明する。
【0027】
ここでは、端末10、端末11と通信管理装置1000で行われる登録、通信要求/応答メッセージの交換動作、それに続いて、端末10と端末11が中継装置1と介して、データ通信を行う一連の動作を、図面を用いて説明する。
【0028】
1)通信管理装置への登録〜通信要求
端末10、端末11は、それぞれファイアウォール装置100、101配下に接続しているため、直接メッセージのやり取りができない。そこで、通信管理装置1000を介して、中継装置1を介して通信を行う要求およびそれに対する応答を実施する。
【0029】
最初に、図3、図4、図6を用いて通信管理装置1000への登録動作から通信要求までの動作を説明する。
【0030】
図6に示すように、端末10は、通信要求/応答部10−3により、まず、通信管理装置1000に対して、IPアドレス、ポート番号等、識別できる登録メッセージを送信する(図6−a1参照)。端末11も同様のメッセージを送信する(図6−a2参照)。登録メッセージを受信した通信管理装置1000は、登録メッセージ処理部1000−2により、端末/中継装置情報管理テーブル1000−4へ登録する(図6−a3参照)。この端末/中継装置情報管理テーブル1000−4は、図8に示すようにID毎にIPアドレスと、ポート番号を登録する。
【0031】
端末10は、通信要求/応答部10−3により、端末11に対して通信を要求するために、端末11のIPアドレス等識別情報とデータ通信を行うために中継装置1に対してコネクションを開設するときに使用するポート番号を通信要求メッセージに記載して通信管理装置1000に対して送信する(図6−a4参照)。
【0032】
端末10からの通信要求メッセージを受信した通信管理装置1000は、通信要求/管理メッセージ処理部1000−3により、データ通信で接続する中継装置1の識別情報を加えて(図6−a5参照)、通信要求メッセージを端末11へ送信する(図6−a6参照)。通信要求メッセージを受信した端末11は、データ通信を行うために中継装置1に対してコネクションを開設するときに利用するポート番号を通信応答メッセージに記載して通信管理装置1000へ送信する(図6−a7参照)。端末11からの通信応答メッセージを受信した通信管理装置1000は、通信要求/応答メッセージ処理部1000−3により、中継装置1の識別情報を加えて(図6−a8参照)、端末10へ応答メッセージを送信する(図6−a9参照)。この後、端末10、端末11は、中継装置1に対して接続を行い、データ通信を実施する。
【0033】
2)中継装置への接続〜データ通信
端末10、端末11は、通信を行うために、通信管理装置1000から通知された中継装置1へ接続を行う。ここでは、中継装置1による中継処理(ヘッダ書換処理)でTCPのシーケンス番号を利用するため、メッセージ交換で進むシーケンスを追って説明する。
【0034】
まず、端末10、端末11は、中継装置1に対して、SSLセッション開設を行う。本動作において、端末10と端末11は同じ動作をするため、端末10と中継装置1の間で行われる動作のみ説明する。
【0035】
2−1)TCPコネクション開設動作
図7に示すように、端末10は、SSLセッション開設処理部10−4により、中継装置1とSSLセッション開設のため、TCP処理部10−2へ指示する。指示を受けたTCP処理部10−2は、中継装置1に対してTCPコネクション開設を行うため、まず、パケット送信部10−7を介して、TCPヘッダのコードビット内のSYN(Synchronize flag)を1とした、SYNパケットを送信する(図7−b1参照)。このとき、端末10は、TCP処理部10−2により、初期シーケンス番号を決めて送信するが、その番号を100番としている(図7−b1参照)。図7における各メッセージにSeq#(sequence number:シーケンス番号)、ACK#(acknowledgement number:確認応答番号)が表記されているが、Seq#は、それぞれ送信したパケットに記載されているバイトシーケンスにデータ部分のサイズを加算した値号、ACK#は、次に受信を期待するバイトシーケンスを表している。
【0036】
次いで、中継装置1は、パケット受信部1−1を介して端末10からのSYNパケットを受信すると、パケット振分部1−2を経由してTCP処理部1−3に転送するが、このとき、端末から送信されてくるパケットのヘッダ(TCPヘッダ及びIPヘッダ)内に記載されているIPアドレス、ポート番号、TCPシーケンス番号を図5に示したように端末毎にコネクション管理テーブル1−7に記載する(図5の例では、1行目は端末10、2行目は端末11の情報である)。
【0037】
これ以降、パケット振分部1−2は、端末10からのパケットのヘッダ情報をコネクション管理テーブル1−7へ記載する。ただし、ネットワーク内でのパケットロス等による再送パケットのシーケンス番号は記載しない。
【0038】
中継装置1は、パケット受信部1−1を介してTCP処理部1−3でSYNパケットを受信すると、TCPヘッダのコードビット内のSYN及びACK(acknowledgement flag)を1とした、SYN ACKパケットを生成し、パケット送信部1−7を介して端末10へ送信する(図7−b2参照)。このとき、シーケンス番号は、Seq#200番とし、ACK#は次に受信を期待するシーケンス番号の先頭のバイトシーケンスである101番とする(図7−b2参照)。
【0039】
次いで、端末10は、パケット受信部10−1を介してSYN ACKパケットを受信すると、TCP処理部10−2により、TCPヘッダのコードビット内のACKを1とした、ACKパケットを生成して、Seq#101番、ACK#201番として、パケット送信部10−7を介して中継装置1に対して送信する(図7−b3参照)。
【0040】
次いで、中継装置1は、パケット受信部1−1を介してTCP処理部1−3によりACKパケットを受信する。この時点で、TCPコネクション開設動作が終了となる。
【0041】
2−2)SSLセッション開設動作
次に、ファイアウォール装置100を越えて通信を行うためのSSLセッション開設を行う。ここでは、端末10のSSLセッション開設処理部10−4と中継装置1のSSLセッション開設処理部1−4でSSLセッション開設のためのメッセージ交換を行う(図7−b4、b5参照)。このとき、端末10のSeq#は7000番、ACK#は5001番まで進む。
【0042】
SSLセッション開設終了後、端末10では、SSLセッション開設処理部10−4が宛先情報通知部10−5へ終了通知する(図3参照)。また、中継装置1では、SSLセッション開設処理部1−4からコネクション結合情報管理部1−5へSSLセッション開設終了を通知する。
【0043】
2−3)中継するコネクションを識別すためのメッセージ交換動作
SSLセッション開設終了時点において、中継装置1は、どのコネクションのデータを中継すればよいか判断できないため、端末10は、中継するコネクション情報と、宛先IPアドレスと、通信要求/応答メッセージで取得したポート番号とを記載したコネクションペア作成要求メッセージを中継装置1のコネクション結合情報管理部1−5へ通知する(図7−b6参照)。
【0044】
このとき、コネクションペア作成要求メッセージ長を1000byteとすると、シーケンス番号は、Seq#8000番まで進み、ACK#5001番となる。また、このとき、コネクション結合情報管理部1−5は、コネクション管理テーブル1−7(図5参照)を参照して、中継するコネクションを識別するために、コネクションペアIDに、中継するコネクションと同じ識別情報を記載する(図5の例では、端末10(1行目)、端末11(2行目)の各コネクションペアIDが同じ識別番号「X」に記載される)。このペアが作成できた時点でデータ通信を開始できる。
【0045】
2−4)データ転送開始初期シーケンスの決定及びパケット振分動作
データ通信が始まると、中継装置1では、端末10からの送信されてくるデータパケットを端末11へ中継する。中継方法は、TCPヘッダを書き換えて、端末10と中継装置1で開設されたTCPコネクション上のパケットを、端末11と中継装置1との間で開設されたコネクション上へ転送する。
【0046】
本ヘッダ書き換えでは、中継先コネクションのシーケンス番号に進捗にしたがって書き換えなければならない。具体的には、中継先コネクションの端末のシーケンス番号がSeq#100番、ACK#200番の場合、中継するパケットは、Seq#は、ACK#が200番なので、200番、ACK#は、Seq#が100番なので、101番にしなければならない。
【0047】
従って、データ中継開始のシーケンス番号を把握して変換しなければならない。正確に該シーケンス番号が把握できないと、シーケンスのずれが発生し、通信異常が発生する。また、データ中継開始までに、端末10は、中継装置1とSSLセッション開設、コネクションペアを作成するためにメッセージ交換を行っているため、データと関係ないTCPパケットが再送されてくる可能性があり、該メッセージを宛先に転送すると通信異常が発生するという問題もある。
【0048】
従来のTCPスプライシング方式では、端末および、サーバがコネクションを開設する際に、双方が決める初期シーケンス番号を基にヘッダ書き換え処理で中継を行っている。
【0049】
これに対し、本実施例では、TCPスプライシング方式を利用しつつ、以下のような初期シーケンスの決定及びパケット振分動作を行う。
【0050】
まず、中継装置1では、データ転送開始前に、端末10と交換するメッセージのサイズから、データ転送開始時のシーケンス番号を算出する。また、算出した該シーケンス番号を元に、該シーケンス番号よりも小さいシーケンス番号のパケットは、宛先端末へ転送するパケットではないと判断して、中継装置1のTCP処理部1−5へ、該シーケンス番号以上のシーケンス番号のパケットは、宛先端末へ転送すべきパケットと判断してパケット振分部1−8へ転送する。
【0051】
以下、上記の処理の流れを図7に沿って具体的に説明する。
【0052】
図7において、中継装置1は、コネクション結合情報管理部1−5により、データ通信開始直前のコネクションペア作成応答メッセージを作成する(図7−b7参照)と、メッセージサイズを取得してパケット振分情報管理部1−6へ通知する(図7−b8参照)。ここでは、メッセージサイズが1000byteとしている。パケット振分情報管理部1−6は、メッセージサイズ1000byteを取得すると、コネクション管理テーブル1−7を参照して、データ開始直前の端末10のSeq#、ACK#、すなわち、データ転送初期シーケンス番号を計算する(図7−b9参照)。Ssq#は、端末10から送信されたコネクションペア作成要求メッセージがコネクション結合情報管理部1−5で受信したときに進んだシーケンス番号に1を加えて、8001番となり、ACK#は、コネクションペア作成応答メッセージのサイズ分増加するので、6001番となる(図5、図7−b9参照)。
【0053】
これにより、データ転送初期シーケンス番号が確定すると、パケット振分情報管理部1−6は、パケット振分部1−2に対して、端末10から送信されてくるパケットのSeq#が8001番以上の場合、ヘッダ書換部1−8へ、8001番より小さい場合はTCP処理部1−3へ、ACK#も同様に、6001番以上の場合、ヘッダ書換部1−8へ、6001番より小さい場合、TCP処理部1−3へ転送するようにパケット振分ルールを指示する(図7−b10参照)。
【0054】
その後、パケット振分情報管理部1−6は、コネクション結合情報管理部1−5に対して、コネクションペア作成応答メッセージを送信するように要求する(図7−b11参照)。コネクションペア作成応答メッセージの送信を要求されたコネクション結合情報管理部1−5は、該メッセージを端末10へ転送する(図7−b12参照)。
【0055】
コネクション要求応答メッセージをTCP処理部1−3へ送信する前に該メッセージサイズからデータ転送初期シーケンス番号を確定させた理由は、該メッセージがTCP処理部1−3からTCPセグメント化されて、いつ送信終了できるのかタイミングを把握することができず、端末10からデータ送信が開始され、中継装置1のTCP処理部1−3で処理されることを防ぐためである。
【0056】
中継装置1には、コネクションペア作成応答パケット送信後、端末10からデータが転送されてくる(図7−b13参照)。この場合、図7のb13に示したようにデータのSeq#8001番、ACK#6001番とする。中継装置1は、該パケットをパケット振分部1−2で受信すると、前述のパケット振分ルールに基づいて、ヘッダ書換部1−8へ転送し、ヘッダ書換部1−8により、パケットの宛先、シーケンス番号を書き換える。
【0057】
この場合、端末11のコネクション管理情報は、図5に示すコネクション管理テーブル1−7の2行目の情報に対応する。このため、パケットの宛先は、IPアドレス5.6.7.8、ポート番号2000番に書き換えられる。また、シーケンス番号は、互いのSeq番号、ACK番号の差分値をもとに書き換えられる。
【0058】
即ち、図7のb13に示すパケットは、8001番から、端末10のデータ転送初期シーケンスのSeq番号と端末11のデータ転送初期シーケンス番号のACK番号の差分値6000(=8001−2001)を引いて、2001番とする(図7−b14参照)。以降、端末10からのデータパケットのシーケンス番号は、シーケンス番号から4000引いた値へ書き換える。書き換えられたパケットは、中継先コネクションの端末11へ転送される(図7−b15参照)。端末11から端末10の場合も、同様に差分値1000(=6001−5001)を加えた値へ書き換える。
【0059】
また、データ転送において、端末10、端末11は、中継装置1とSSLセッションを開設しているため、セッション開設時に決めた暗号化方式で、データ部分は暗号化される。従って、端末10、端末11は、異なる暗号化方式でデータを暗号化されることが考えられる。データが異なる暗号化方式で暗号化された場合、端末は、暗号化を解くことができず、実質通信できない状態となる。そこで、データを送信する場合は、アプリケーション部10−6は、SSLセッション開設処理部10−4から、SSLヘッダ情報を取得し、本情報からSSLヘッダを作成し、データは、暗号化しないか、それとも、端末10、端末11が対応可能な暗号化方式で暗号化を行う。
【0060】
従って、本実施例によれば、TCPコネクション開設後、端末と中継装置の間でTCPパケットの交換が行われ、その後、通信相手先へTCPパケットの転送を行う際、シーケンス異常が発生しないように通信相手先へデータ転送する際の初期シーケンス番号を取得している。
【0061】
即ち、本実施例では、TCPスプライシング方式を用いてデータ転送を開始するシーケンス番号を取得し、中継装置で受信するパケットに記載されるシーケンス番号と前述の境界となるシーケンス番号を比較し、中継装置内部のTCP処理部へ転送するか、ヘッダ書換部へ転送し、宛先端末へ転送するか決定している。このように、通信相手先へデータ転送開始するシーケンスを取得して、中継装置で受信されるパケットの処理を、該シーケンス番号として、通信相手に転送すべきか中継装置内において処理を行うか決定しているため、従来実現できなかった中継装置を用いたファイアウォール越え通信において、中継装置負荷を抑えるためのTCPスプライシング方式を用いた中継を実現できる。
【0062】
なお、本実施例は、次のように構成してもよい。
【0063】
a)中継手段は、中継する宛先情報を取得すると、端末に対してデータ送信開始を促すためのメッセージを送信してもよい。
【0064】
b)中継手段は、データ通信開始を促すためのメッセージを端末に対して送信するときに、データ転送開始のシーケンス番号を取得してもよい。
【0065】
c)中継手段は、データ転送開始を促すメッセージを作成したときに、メッセージ長からシーケンス番号を取得してもよい。
【0066】
d)中継手段は、取得したシーケンス番号を基点に、シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行ってもよい。
【0067】
e)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。
【実施例2】
【0068】
次に、本発明の第2の実施例について図面を参照して説明する。
【0069】
図9は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置2、端末10、端末11、ファイアウォール100、ファイアウォール101、及び通信管理装置1000を有する。本実施例と第1の実施例との差異は、中継装置1が中継装置2に置き換えられている点である。
【0070】
図10は、中継装置2の内部ブロックを示している。同図に示すように、中継装置2は、第1の実施例の中継装置1と同様に、パケット受信部2−1、パケット振分部2−2、TCP処理部2−3、SSLセッション開設処理部2−4、コネクション結合情報管理部2−5、パケット振分情報管理部2−7、コネクション管理テーブル2−8、ヘッダ書換部2−9、及びパケット送信部2−10を有する。これに加え、中継装置2は、パケット中継部2−6と、処理切り替えシーケンス計算部2−11とを有する。これら各部2−1〜2−11が、本発明の中継手段を構成している。
【0071】
パケット中継部2−6は、TCP処理部2−3から送信されてきたパケットを中継する。処理切り替えシーケンス計算部2−11は、パケット振分管理部2−7からの指示とコネクション管理テーブル2−8に記載されているシーケンス番号の進捗から処理切り替えシーケンスを計算する。
【0072】
次に、本実施例の動作について説明する。
【0073】
本実施例でも、第1の実施例と同様に端末10と端末11が中継装置2を介してデータ通信を行う一連の動作を、図面を用いて説明する。
【0074】
本実施例の動作は、第1の実施例と共通する点が多いため、その差分について図10、図11、図12を用いて説明する。端末10と中継装置2、端末11と中継装置2の間で行われる動作は同じため、端末10と中継装置2で行われる動作のみ説明する。
【0075】
1)データ転送開始前の動作
第1の実施例では、セッション開設後、データ転送開始時から、TCPヘッダ書き換えてデータを中継していたが、本実施例では、セッション開設後、中継装置2のデータ中継部2−6を介して中継を行い、TCPヘッダ書き換えによる中継を行う。本実施例と第1の実施例の動作が異なるのは、端末10のコネクションペア作成要求メッセージ送信からである。
【0076】
図12において、中継装置2は、該メッセージを、パケット受信部2−1を介して、コネクション結合情報管理部2−5が受信すると(図12−c1参照)、コネクション結合情報管理部2−5により、コネクションペアIDを記載し、コネクションペア作成応答メッセージを作成する(図12−c2参照)。次いで、コネクション結合情報管理部2−5は、作成したメッセージサイズを取得し(図12−c3参照)、コネクション管理テーブル2−8を参照してデータ転送初期シーケンス番号を算出し、該テーブル2−8へ記載する(図12−c4参照)。その後、コネクション結合情報管理部2−5は、コネクションペア作成応答メッセージを、パケット送信部2−10を介して、端末10に対して送信する(図12−c5参照)。これにより、端末10は、データ転送を開始する(図12−c6参照)。
【0077】
2)データ転送開始
図12において、中継装置2は、端末10からのデータパケットをパケット受信部2−1、パケット振分部2−2を経由してTCP処理部2−3で受信し、端末10に対してACKを送信し、データ部分は、データ中継部2−6へ転送する(図12−c6参照)。データ中継部2−6は、中継先コネクションへデータを送信するために、TCP処理部2−3へ転送し、パケット振分部2−2を経由し、パケット送信部2−10から端末11へ送信される。本中継方法による通信で、Seq#47000番、ACK#29001番前まで進む(図12−c6参照)。
【0078】
3)中継方法の切り替え(中継処理部を介した中継から、ヘッダ書き換えによる中継)指示
図12において、パケット振分情報管理部2−7は、中継装置2のリソース消費量を監視し、一定以上消費量を観測(検出)する(図12−c7参照)と、リソース消費量を抑えるために、リソース消費量の高いTCP処理を行うデータ中継部2−6を介した通信から、ヘッダ書き換えによる中継に処理を切り替えるようパケット振分部2−2へ処理切り替え指示を出す(図12−c8参照)。ここで述べたリソースとは、CPU(Central Processing Unit)、メモリ等をあらわしている。また、リソース消費量だけでなく、一定数以上の通信コネクションの中継、または、一定以上の中継トラヒックを中継する場合にも、処理を切り替えることが考えられる。
【0079】
4)中継方法切り替え時のシーケンス番号取得について
第1の実施例では、データ転送開始シーケンス番号を取得するのみであったが、本実施例では、中継処理部2−6を介したデータ中継からヘッダ書き換えによる中継を行うため、データ中継部2−6を介して宛先端末に転送されるデータ量から、ヘッダ書き換えによる中継開始シーケンス番号を取得する。
【0080】
図12において、前述の処理切り替え指示を受けたパケット振分部2−2は、処理切り替えシーケンス計算部2−11へ端末10と端末11の通信において、データ中継部2−6を経由した通信で、端末10、端末11のSeq番号、ACK番号がどれだけ進むか計算して、処理切り替え初期シーケンスを算出する指示を出す。処理切り替えシーケンス計算部2−11は、図11のコネクション管理テーブル2−8の1行目に示すように処理切り替えシーケンス番号を算出して決定する(図12−c9、c10参照)。以下、その算出方法を示す。
【0081】
端末10の処理切り替えシーケンス番号のSeq番号は、コネクション管理テーブル2−8の端末10のコネクションのSeq番号48000番に1を加えた48001番となる。端末10からデータ中継部2−6を経由して中継端末11へ送信されるデータで進むシーケンスは、端末10の処理切り替え初期シーケンス番号のSeq番号48001番からデータ転送初期シーケンス番号のSeq番号8001を引いた40000番となる。
【0082】
従って、端末11の処理切り替えシーケンス番号のACK番号は、端末11のデータ転送初期シーケンス番号のACK番号に40000を加えた42001番となる。端末11の処理切り替えシーケンス番号のSeq番号、端末10の処理切り替えシーケンス番号のACK番号も同様に算出する。
【0083】
以降、中継装置2は、端末10からのパケットを受信する(図12−c11参照)と、パケット振分部2−2からヘッダ書換部2−9へ転送し(図12−c12参照)、ヘッダを書き換えて(図12−c13参照)、端末11へ転送する(図12−c14参照)。この書き換え方法については、処理切り替えシーケンス番号を参照して、第1の実施例と同様に行う。
【0084】
本実施例によれば、前述した第1の実施例と同様の効果に加え、さらに中継装置の処理負荷に応じて、TCP処理を行う中継からヘッダ書き換えによる中継へ切り替えることで、リソースの有効活用が可能となる。
【0085】
なお、本実施例は、次のように構成してもよい。
【0086】
a)中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行ってもよい。
【0087】
b)中継手段は、一定以上のリソース消費を観測した場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えてもよい。
【0088】
c)中継手段は、一定以上のコネクションを中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替てもよい。
【0089】
d)中継手段は、一定以上のトラヒック量を中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えてもよい。
【0090】
e)中継手段は、データ転送の処理を切り替える際に、データのTCP処理を行ってデータ転送を行う際に進むシーケンス番号を取得し、該シーケンス番号から、データのヘッダを書き換えてデータ転送を開始する際のシーケンス番号を取得してもよい。
【0091】
f)中継手段は、取得したシーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行ってもよい。
【0092】
g)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。
【実施例3】
【0093】
次に、本発明の第3の実施例について図面を参照して説明する。
【0094】
図14は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置3、端末12、端末13、ファイアウォール装置100、ファイアウォール装置101、及び通信管理装置1000を有する。本実施例と第1の実施例との差異は、中継装置1が中継装置3に端末10が端末12に、端末11が端末13に置き換えられている点である。
【0095】
図14は、中継装置3の内部ブロックを示している。同図に示すように、中継装置3は、第1の実施例の中継装置1と同様に、パケット受信部3−1、パケット振分部3−2、TCP処理部3−4、SSLセッション開設処理部3−5、コネクション結合情報管理部3−6、パケット振分情報管理部3−7、コネクション管理テーブル3−8、ヘッダ書換部3−9、及びパケット送信部3−10を有する。これに加え、中継装置2は、同図に示すように、データ開始時のシーケンスを決定するコネクション結合初期シーケンス決定部3−3を有する。これら各部3−1〜3−10が、本発明の中継手段を構成している。
【0096】
図15は、端末12の内部ブロックを示している。端末13も同様である。端末12は、第1の実施例の端末10と同様に、パケット受信部12−1、TCP処理部12−2、通信要求応答部12−3、SSLセッション開設部12−4、宛先情報通知部12−5、アプリケーション部12−7、及びパケット送信部12−8を有する。これに加え、端末12は、データ転送開始を示す識別子を決定し、中継装置3へ通知するデータ転送開始識別子決定部12−6を有する。
【0097】
次に、本実施例の動作について説明する。
【0098】
本実施例でも、第1の実施例と同様に端末10と端末11が中継装置2を介してデータ通信を行う一連の動作を、図面を用いて説明する。
【0099】
本実施例の動作は、第1の実施例と共通する点が多いため、その差分について図14、図15、図16、図17を用いて説明する。端末12と中継装置3、端末13と中継装置3の間で行われる動作は同じため、端末10と中継装置2で行われる動作のみ説明する。本実施例と第1の実施例の動作が異なるのは、端末10がコネクションペア作成要求メッセージ送信からである。
【0100】
図17において、端末12は、宛先情報通知部12−6によりデータ転送開始識別子を決定し、コネクションペア作成要求メッセージ内に記載して、パケット送信部12−8を介して、中継装置3のコネクション結合情報管理部3−6へ送信する(図17−d1参照)。
【0101】
次いで、中継装置3は、パケット受信部3−1を介して、コネクションペア作成要求メッセージを受信すると、コネクション結合情報管理部3−6により、該メッセージ内のデータ転送開始メッセージのデータ転送開始識別子を取得し(図17−d2参照)、その識別子をパケット振分情報管理部3−7へ通知する(図17−d3参照)。
【0102】
次いで、データ転送開始識別子を取得したパケット振分情報管理部3−7は、パケット振分部3−2に対して、該データ転送開始識別子が記載されたパケットのシーケンス番号以降のパケットはヘッダ書換部3−9へ転送するようにパケット振分ルールを指示する(図17−d4参照)。
【0103】
次いで、パケット振分情報管理部3−7は、コネクション結合情報管理部3−6に対して、コネクションペア作成応答メッセージを端末12へ送信するように要求する(図17−d5参照)。これにより、コネクション結合情報管理部3−6は、パケット送信部3−10を介して、端末12に対して、コネクションペア作成応答メッセージを送信する(図17−d6参照)。
【0104】
コネクションペア作成応答メッセージを受信した宛先情報通知部12−5は、アプリケーション部12−7に対して、データ転送開始を指示する。
【0105】
1)テータ転送開始及びデータ転送開始シーケンス番号の取得動作
本実施例では、端末がデータ転送開始時に、データ転送開始を示す識別情報を付与することで、該識別情報が付与されたパケットを受信することで、データ中継を行うためのセッション開設メッセージ交換を終了したと判断でき、第1の実施例のようにメッセージサイズからデータ転送開始シーケンス番号を算出する処理を行わなくても、該パケットを受信した時点でのシーケンス番号からデータ転送開始シーケンス番号を取得することが可能である。
【0106】
以下、その処理を図17に沿って具体的に説明する。
【0107】
図17において、端末12は、アプリケーション部12−7により、データ転送開始識別子12−6からデータ転送開始識別子を取得して、データの先頭に記載する。アプリケーション部12−7は、そのデータをTCP処理部12−2へ転送し、パケット送信部12−8から中継装置3へ送信する(図17−d7参照)。中継装置3は、パケット振分部3−2により、データ転送開始識別子が記載されたパケットを検出すると、コネクション結合初期シーケンス決定部3−3により、コネクション管理テーブル3−8を参照して、コネクション結合初期シーケンスを決定する(図17−d8参照)。
【0108】
ここでは、中継装置3から端末12へ送信されるコネクションペア作成応答メッセージが、データ転送直前の最後のメッセージとなり、図16に示した中継装置3のTCPシーケンス番号(図16の1行目)は、データ転送開始直前の中継装置3のTCPシーケンス番号を表している。そして、中継装置3のACK番号が端末12のデータ転送開始のSeq番号となり、中継装置のSeq番号に加えたものが、端末12のデータ転送開始直前のACK番号となる。従って、コネクション結合初期シーケンス番号は、Seq番号8001番、ACK番号6001番となる。これ以降の動作(図17−d9、d10、d11参照)は、第1の実施例と同じである。
【0109】
本実施例によれば、前述した第1の実施例と同様の効果に加え、さらにデータ転送開始の識別子を利用して、ヘッダ切り替えのシーケンス番号を取得することで、容易性が向上する。
【0110】
なお、本実施例は、次のように構成してもよい。
【0111】
a)端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有してもよい。中継手段は、識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行ってもよい。
【0112】
b)中継手段は、データ転送開始を示す識別子が記載されたデータを受信した際、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得してもよい。
【0113】
c)中継手段は、データ転送開始を示す識別子が記載されたデータを受信した際、中継装置側のデータのシーケンス番号から、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得してもよい。
【0114】
d)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。
【0115】
なお、上記各実施例の通信システムを構成する中継装置、端末、及び通信管理装置は、上述した各部の機能を実現可能なものであれば、ハードウェア及びソフトウェア構成は特に限定されるものではない。例えば、各部の機能毎に独立して回路(又はプログラム部品)を構成するものでも、1つの回路内に一体的に構成するものでも、いずれのものであってもよい。各部の機能を主にコンピュータ(CPU:Central Processing Unit)によるソフトウェア処理で実現する場合、そのソフトウェアを構成するプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【産業上の利用可能性】
【0116】
本発明は、通信システム、中継装置及びそれらに用いる中継処理方法並びにそのプログラムの用途に適用できる。特に本発明は、ファイアウォール装置配下に接続する端末間での通信中継方法の用途に適用できる。
【図面の簡単な説明】
【0117】
【図1】本発明の第1の実施例に係る通信システムの全体構成を示す概略ブロック図である。
【図2】図1に示す中継装置の内部構成を示す概略ブロック図である。
【図3】図1に示す端末の内部構成を示す概略ブロック図である。
【図4】図1に示す通信管理装置の内部構成を示す概略ブロック図である。
【図5】図2に示すコネクション管理テーブルの詳細を示す図である。
【図6】第1の実施例に係る通信システムにおいて、通信管理装置への登録から通信要求までの動作を説明するシーケンス図である。
【図7】第1の実施例に係る通信システムにおいて、中継装置への接続からデータ通信までの動作を説明するシーケンス図である。
【図8】図4に示す端末/中継装置情報管理テーブルの詳細を示す図である。
【図9】本発明の第2の実施例に係る通信システムの全体構成を示す図である。
【図10】図9に示す中継装置の内部構成を示す概略ブロック図である。
【図11】図10に示すコネクション管理テーブルの詳細を示す図である。
【図12】第2の実施例に係る通信システムの動作を説明するシーケンス図である。
【図13】本発明の第3の実施例に係る通信システムの全体構成を示す図である。
【図14】図13に示す中継装置の内部構成を示す概略ブロック図である。
【図15】図13に示す端末の内部構成を示す概略ブロック図である。
【図16】図14に示すコネクション管理テーブルの詳細を示す図である。
【図17】第3の実施例に係る通信システムの動作を説明するシーケンス図である。
【図18】関連技術に係る中継装置を利用したファイアウォール越え通信における中継方式として、TCPスプライシング方式を用いた場合の動作を説明するシーケンス図である。
【符号の説明】
【0118】
1、2、3 中継装置
10、11、12、13 端末
100、101 ファイアウォール装置
1000 通信管理装置

【特許請求の範囲】
【請求項1】
通信管理装置を介して端末からの通信要求および応答を行って、中継装置を介して端末間のデータ通信を行う通信システムであって、
前記端末は、前記中継装置との間でデータ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有し、
前記中継装置は、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする通信システム。
【請求項2】
前記中継手段は、中継する宛先情報を取得すると、前記端末に対してデータ送信開始を促すためのメッセージを送信することを特徴とする請求項1に記載の通信システム。
【請求項3】
前記中継手段は、前記データ通信開始を促すためのメッセージを前記端末に対して送信するときに、データ転送開始のシーケンス番号を取得することを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
前記中継手段は、前記データ転送開始を促すメッセージを作成したときに、前記メッセージ長から前記シーケンス番号を取得することを特徴とする請求項1から3のいずれか1項に記載の通信システム。
【請求項5】
前記中継手段は、取得した前記シーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、前記シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行うことを特徴とする請求項3又は4に記載の通信システム。
【請求項6】
前記中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項1に記載の通信システム。
【請求項7】
前記中継手段は、一定以上のリソース消費を観測した場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。
【請求項8】
前記中継手段は、一定以上のコネクションを中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。
【請求項9】
前記中継手段は、一定以上のトラヒック量を中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。
【請求項10】
前記中継手段は、前記データ転送の処理を切り替える際に、データのTCP処理を行ってデータ転送を行う際に進むシーケンス番号を取得し、該シーケンス番号から、データのヘッダを書き換えてデータ転送を開始する際のシーケンス番号を取得することを特徴とする請求項6に記載の通信システム。
【請求項11】
前記中継手段は、取得した前記シーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、前記シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行うことを特徴とする請求項6又は10に記載の通信システム。
【請求項12】
前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継手段は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項1に記載の通信システム。
【請求項13】
前記中継手段は、前記データ転送開始を示す識別子が記載されたデータを受信した際、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得することを特徴とする請求項12に記載の通信システム。
【請求項14】
前記中継手段は、前記データ転送開始を示す識別子が記載されたデータを受信した際、前記中継装置側のデータのシーケンス番号から、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得することを特徴とする請求項12又は13に記載の通信システム。
【請求項15】
前記端末は、前記中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないことを特徴とする請求項1、6、12のいずれか1項に記載の通信システム。
【請求項16】
データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置であって、
前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする中継装置。
【請求項17】
前記中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項16に記載の中継装置。
【請求項18】
前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継手段は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項16に記載の中継装置。
【請求項19】
端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有する中継装置を介してデータ通信を行う端末であって、
前記中継装置との間で、データ通信のTCPコネクションを開設するTCP処理部と、
データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有することを特徴とする端末。
【請求項20】
データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段をさらに有することを特徴とする請求項19に記載の端末。
【請求項21】
データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理方法であって、
前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継ステップを有することを特徴とする中継処理方法。
【請求項22】
前記中継ステップは、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項21に記載の中継処理方法。
【請求項23】
前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継ステップは、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項21に記載の中継処理方法。
【請求項24】
データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理プログラムであって、
コンピュータに、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継処理を実行させることを特徴とするプログラム。
【請求項25】
前記中継処理は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項24に記載のプログラム。
【請求項26】
前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継処理は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項24に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2009−55418(P2009−55418A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−221163(P2007−221163)
【出願日】平成19年8月28日(2007.8.28)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成18年度、総務省、「ユビキタスネットワーク制御・管理技術の研究開発」委託事業、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】