(57)【要約】      （修正有）【課題】端末の近傍の通信経路まで通信が安全に行なうことができるとともに、ハッカーなどからの直接的攻撃を受けることがなくなる。【解決手段】ＴＣＰ通信の両端に位置するエンドポント端末を端末Ａ及び端末Ｂとし、端末Ａ及び端末Ｂは、中継装置Ｘ及び中継装置Ｙに接続され、中継装置Ｘ，Ｙは、ネットワークＮＥＴにそれぞれ接続される。中継装置Ｘ及びＹは、従来ＴＣＰ通信を行っていた端末Ａ及びＢの間に挟みこむように設置され、自身にＩＰアドレスを有しない。中継装置Ｘ及びＹは、端末Ａ−端末Ｂ間のＴＣＰ接続を横取りして３つのＴＣＰ接続に分割し、ＴＣＰ通信を成立させる。【選択図】図１
2010200300.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを挟んでＴＣＰ接続される第１、第２端末を設け、
この第１端末とネットワークとの伝送路間に第１中継装置を、第２端末とネットワークとの伝送路間に第２中継装置をそれぞれ設け、
第１、第２中継装置は、ネットワークを介して接続され、第１端末と第１中継装置、第１中継装置と第２中継装置、第２中継装置と第２端末の３つのＴＣＰ接続に分割してＴＣＰ通信を行い、このＴＣＰ通信に特定の機能を付加したことを特徴とするＴＣＰ通信方式。
【請求項２】
請求項１記載のＴＣＰ通信方式において、
ＴＣＰ接続のＳＹＮパケットを捕らえて、第１、第２端末に成り代わり、ＩＰアドレスを持たないでＴＣＰ接続を行うことを特徴とするＴＣＰ通信方式。
【請求項３】
請求項１及び２記載のＴＣＰ通信方式において、
前記特定の機能は、暗号化／復号化手順を構成する暗号通信機能、不正のＴＣＰ通信の遮断手順を構成するアンチウィルス機能、負荷状況に応じて伝送の振り分け手順に構成する負荷分散機能、輻輳制御及び帯域制御手順に構成する帯域制御機能、及び特殊回線の中継手順に構成するゲートウェイ機能とを有することを特徴とするＴＣＰ通信方式。
【請求項４】
ネットワークを挟んでＴＣＰ接続される第１、第２端末を設け、この第１端末とネットワークとの伝送路間に第１中継装置を、第２端末とネットワークとの伝送路間に第２中継装置をそれぞれ設け、第１、第２中継装置はネットワークを介して接続され、第１端末と第１中継装置、第１中継装置と第２中継装置、第２中継装置と第２端末の３つのＴＣＰ接続手順に分割し、
その接続手順の過程で接続手順成立前に情報を第１、第２中継装置で交換して、第１、第２中継装置を認証する際に前記第１、第２中継装置のみ、ＴＣＰ接続を成立させることを特徴とするＴＣＰ通信方式。
【請求項５】
請求項４記載のＴＣＰ通信方式において、
前記第１、第２中継装置の認証機能を、機種識別情報を交換して実現可能としたことを特徴とするＴＣＰ通信方式。
【請求項６】
請求項４記載のＴＣＰ通信方式において、
鍵情報を事前に交換することで、暗号通信の事前鍵交換機能を実現可能としたことを特徴とするＴＣＰ通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰネットワークを中継し、特定の機能（例えば、暗号通信機能）を付加したＴＣＰ通信方式に関するものである。
【背景技術】
【０００２】
通信端末のエンドポイント間に挿入され、その間の通信に何らかの特定機能を付加する装置として、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）ルータがある。このＶＰＮルータは、２つのネットワークの間に設置され、その間の通信を暗号化するという機能を付加する装置である。
【０００３】
ＶＰＮルータには、通信事業者が提供するＶＰＮ網を利用して接続するＩＰ−ＶＰＮと、ユーザ自身がＶＰＮ機器を挿入してインターネット経由で接続するインターネットＶＰＮとの２つの形態がある。主に、前者はＬＡＮ同士を接続するＬＡＮ間接続ＶＰＮ（図９に示す）として、後者は端末ＰＣをＬＡＮに接続するリモートアクセスＶＰＮ（図１０に示す）として利用されることが多い。
【０００４】
図９において、１，２はローカルＬＡＮ、３，４はＶＰＮルータで、ＶＰＮルータ３，４間がＶＰＮ区間である（特許文献１，２参照。）。
【０００５】
また、図１０において、５はＶＰＮ端末ＰＣ、６はＶＰＮルータ、７はローカルＬＡＮで、ＶＰＮ端末ＰＣ５とＶＰＮルータ６間がインターネットＶＰＮ区間である（特許文献３，４参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１１８５７７号公報
【特許文献２】特開２００８−２２７９２３号公報
【特許文献３】特開２００８−２１９５３１号公報
【特許文献４】特開２００８−３０１０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したＶＰＮには、次のような問題がある。
【０００８】
（ａ）ＶＰＮ区間外の通信は、侵入などが自由であり安全でない。このため、端末の近傍までＶＰＮ区間となるように設置するためには、コスト高となる。
【０００９】
（ｂ）ＶＰＮ装置自身にも希少なグローバルＩＰアドレスを割り当てる必要がある。
【００１０】
（ｃ）機器の設定が煩雑であり、高度な知識が要求される。
【００１１】
本発明の目的は、上記の事情に鑑みてなされたもので、端末の近傍の通信経路まで通信が安全に行なうことができ、また、ＩＰレスのためネットワーク上で装置を不可視化できるようになるため、ハッカーなどからの直接的攻撃を受けることがなくなるＴＣＰ通信方式を提供することにある。
【課題を解決するための手段】
【００１２】
上記の課題を達成するために、請求項１に係る発明は、ネットワークを挟んでＴＣＰ接続される第１、第２端末を設け、この第１端末とネットワークとの伝送路間に第１中継装置を、第２端末とネットワークとの伝送路間に第２中継装置をそれぞれ設け、第１、第２中継装置はネットワークを介して接続され、第１端末と第１中継装置、第１中継装置と第２中継装置、第２中継装置と第２端末の３つのＴＣＰ接続に分割してＴＣＰ通信を行い、このＴＣＰ通信に特定の機能を付加したことを特徴とする。
【００１３】
請求項２に係る発明は、請求項１において、ＴＣＰ接続のＳＹＮパケットを捕らえて、第１、第２端末に成り代わり、ＩＰアドレスを持たないでＴＣＰ接続を行うことを特徴とする。
【００１４】
請求項３に係る発明は、請求項１及び２において、前記特定の機能は、暗号化／復号化手順を構成する暗号通信機能、不正のＴＣＰ通信の遮断手順を構成するアンチウィルス機能、負荷状況に応じて伝送の振り分け手順に構成する負荷分散機能、輻輳制御及び帯域制御手順に構成する帯域制御機能、及び特殊回線の中継手順に構成するゲートウェイ機能とを有することを特徴とする。
【００１５】
請求項４に係る発明は、ネットワークを挟んでＴＣＰ接続される第１、第２端末を設け、この第１端末とネットワークとの伝送路間に第１中継装置を、第２端末とネットワークとの伝送路間に第２中継装置をそれぞれ設け、第１、第２中継装置はネットワークを介して接続され、第１端末と第１中継装置、第１中継装置と第２中継装置、第２中継装置と第２端末の３つのＴＣＰ接続手順に分割し、
その接続手順の過程で接続手順成立前に情報を第１、第２中継装置で交換して、第１、第２中継装置を認証する際に前記第１、第２中継装置のみ、ＴＣＰ接続を成立させることを特徴とする。
【００１６】
請求項５に係る発明は、請求項４において、前記第１、第２中継装置の認証機能を、機種識別情報を交換して実現可能としたことを特徴とする。
【００１７】
請求項６に係る発明は、請求項４において、鍵情報を事前に交換することで、暗号通信の事前鍵交換機能を実現可能としたことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、端末の近傍の通信経路まで通信が安全に行なうことができるとともに、ＩＰアドレスレスのため、ネットワーク上で装置を不可視化できるようになり、ハッカーなどからの直接的攻撃を受けることがなくなる利点がある。また、ネットワーク構成及び設定を変更する必要が無く、端末に専用のソフトウェアをインストールする必要も無く、さらに、アプリケーションに依存しないため、端末のアプリケーションを変更する必要も無くなる利点がある。この他、従来の通信に影響を与えずに他の通信プロトコルと共存が可能であるとともに、付加する機能を自由に選択及び拡張することが可能であるなどの利点がある。
【００１９】
また、本発明によれば、ネットワーク構成及び設定を変更する必要がなくなるとともに、既存の標準プロトコルスタックを利用するため、実装コストを低減でき、さらに、標準のＴＣＰ接続手順内で完結するため、通信帯域を余分に消費しないとともに、正しくない相手とはＴＣＰ接続を成立させないので、悪意ある攻撃によってコンピュータ資源を浪費することが無い利点もある。この他、第１、第２中継装置が当該ＴＣＰオプションに標準で対応しているか、または未対応の場合でも目的を達することができ、また、新たにＴＣＰポート番号を必要としない等の利点がある。
【図面の簡単な説明】
【００２０】
【図１】図１は、ＴＣＰ通信方式の実施例１を示すネットワーク構成説明図である。
【図２】図２は、イーサネット（登録商標）のフレームフォーマットである。
【図３】図３（ａ），（ｂ）は、ＴＣＰ接続の分割説明図である。
【図４】図４は、応用例１の暗号通信装置を示すブロック構成図である。
【図５】図５は、応用例２のアンチウィルス装置を示すブロック構成図である。
【図６】図６は、応用例３の負荷分散装置を示すブロック構成図である。
【図７】図７は、応用例４の帯域制御装置を示すブロック構成図である。
【図８】図８は、応用例５のゲートウェイ装置を示すブロック構成図である。
【図９】図９は、ＬＡＮ間接続ＶＰＮ説明図である。
【図１０】図１０は、リモートアクセスＶＰＮ説明図である。
【図１１】図１１は、ＴＣＰオプションフィールド種別「０６」及び「０７」の標準使用形態説明図である。
【図１２】図１２は、中継装置Ｙが存在する場合の確認シーケンスの説明図である。
【図１３】図１３は、中継装置Ｙが非存在で端末Ｂが種別「６」に対応している場合における確認シーケンスの説明図である。
【図１４】図１４は、中継装置Ｙが非存在で端末Ｂが種別「６」に未対応の場合における確認シーケンスの説明図である。
【図１５】図１５は、ＴＣＰオプションフィールド種別「１９」の標準使用形態説明図である。
【図１６】図１６は、中継装置Ｙが存在する場合の確認シーケンスの説明図である。
【図１７】図１７は、中継装置Ｙが非存在で端末Ｂが種別「１９」に未対応の場合における確認シーケンスの説明図である。
【図１８】図１８は、応用例６の処理手順説明図である。
【発明を実施するための形態】
【００２１】
以下本発明の実施例を図面に基づいて詳細に説明する。
【実施例１】
【００２２】
図１は本発明の実施例１を示すネットワーク構成説明図で、図１において、ＴＣＰ通信の両端に位置するエンドポント端末を端末Ａ及び端末Ｂとし、端末Ａ及び端末Ｂは、中継装置Ｘ及び中継装置Ｙに伝送路１１，１４を介して接続され、中継装置Ｘ，Ｙは、ネットワークＮＥＴに伝送路１２，１３を介してそれぞれ接続されている。
【００２３】
中継装置Ｘ及びＹは、従来ＴＣＰ通信を行っていた端末Ａ及びＢの間に挟みこむように設置され、自身にＩＰアドレスを有しない。説明の便宜上、以下、端末ＡをＴＣＰ接続（コネクション）のアクティブ側、端末Ｂをパッシブ側と称する。
【００２４】
中継装置Ｘ及びＹは、端末Ａ−端末Ｂ間のＴＣＰ接続を横取りして３つのＴＣＰ接続に分割し、ＴＣＰ通信を成立させる。
【００２５】
次に、アクティブ側とパッシブ側の中継装置Ｘ，Ｙの処理について以下に述べる。
（１）アクティブ側の中継装置Ｘの処理について
（ａ）プロミスキャス・モードで待ち受ける。プロミスキャス・モードとは、ＬＡＮカードの動作モードの一つであり、通常モードでは、宛先アドレスが自局宛のパケットしか受信しないのに対し、プロミスキャス・モードでは、あらゆる宛先アドレスのパケットを受信する。
【００２６】
（ｂ）端末Ａの送信するＴＣＰ接続の開始パケットであるＳＹＮ（ｓｙｎｃｈｒｏｎｉｚｅ）パケットを捕らえる。
【００２７】
（ｃ）ＳＹＮパケットの情報から送信元ＩＰアドレス（ＩＰヘッダから取り込む）と送信元ポート番号（ＴＣＰヘッダから取り込む）及び送信先ＩＰアドレス（ＩＰヘッダから取り込む）と送信先ポート番号（ＴＣＰヘッダから取り込む）を取得する。
【００２８】
（ｄ）端末Ａになりすまして、取得した送信先アドレスに対して新たにＴＣＰ接続を開始する。
【００２９】
（ｅ）このとき、ＳＹＮパケット内に当該中継装置であることを示す識別子を付加しておく。この識別子について図２に示すイーサネット（登録商標）のフレームフォーマットを基に述べる。ＴＣＰヘッダに含まれるＴＣＰオプションフィールド（以下ＴＣＰオプションと称す）を使用する。
【００３０】
アクティブ側はＴＣＰオプションの種別コード「０６」を、パッシブ側はＴＣＰオプションの種別コード「０７」を使用し、それぞれの種別コード「０６」、「０７」に続く各々「０６」の数字は、ＴＣＰオプションのデータ長を示している。また、それに続く、「０４・・０４００１００」と「Ｃ０・・Ｃ００１００」は、独自に決めた識別コード（識別子）で、この識別コードの値の意味を様々に定義することで種々な用途に使用できる。
【００３１】
（ｆ）パッシブ側中継装置Ｙからの応答パケット（ＳＹＮ＋ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ））に同様の識別子が付加されていた場合は、対向側にも当該中継装置が存在することを認識し処理を継続する。この例としては、例えば、パッシブ側中継装置ＹにＡＣＫパケットを返送する処理がある。
【００３２】
（ｇ）パッシブ側中継装置ＹとのＴＣＰ接続が完了した時点で、端末Ａ側のＴＣＰ接続を完結させる。この接続により、端末Ａに（ＳＹＮ＋ＡＣＫ）パケットを返送し、端末ＡからのＡＣＫパケットを待ち受ける処理を行う。
【００３３】
上記の説明を図示したのが図３（ａ）で、この図３（ａ）はＴＣＰ接続の分割説明図である。
（２）パッシブ側の中継装置Ｙの処理について
（ａ）プロミスキャス・モードで待ち受ける。
【００３４】
（ｂ）中継装置Ｘの送信するＳＹＮパケットを捕らえる。
【００３５】
（ｃ）ＳＹＮパケットの情報から送信元ＩＰアドレスと送信元ポート番号及び送信先ＩＰアドレスと送信先ポート番号を取得する。
【００３６】
（ｄ）端末Ａになりすまして、端末Ｂ側とのＴＣＰ接続を開始する。
【００３７】
（ｅ）端末Ｂから（ＳＹＮ＋ＡＣＫ）の応答パケットを受信すると、端末Ｂになりすまして、（ＳＹＮ＋ＡＣＫ）のＴＣＰオプション内に“識別子”を付加して中継装置Ｘへ（ＳＹＮ＋ＡＣＫ）の応答パケットを送信する。
【００３８】
（ｆ）アクティブ側中継装置ＸとのＴＣＰ接続が完了した時点で、端末Ｂ側のＴＣＰ接続を完結させる。
【００３９】
上記の説明を図示したのが図３（ａ）である。
（３）分割されたＴＣＰ接続の成立について
上記（１）、（２）の処理が完了すると、本来、端末Ａ−端末Ｂ間で１本であったＴＣＰ接続が、端末Ａ−中継装置Ｘ、中継装置Ｘ−中継装置Ｙ、中継装置Ｙ−端末Ｂ間それぞれのＴＣＰ接続が３本に分割される。
【００４０】
このため、ＴＣＰのペイロードデータは、上記の３本に中継されて、端末間でデータがやり取りされる。このとき端末からは、当該中継装置の存在は見えない、すなわち、不可視になる。
【００４１】
中継装置間のＴＣＰ接続は、装置間の取り決めによって如何様にもペイロードデータに加工を施すことができる。これを利用して、分割したＴＣＰ通信に、ある特定の機能を付加することができる。
【００４２】
上記説明には、データ送信については述べていないが、データ送信は端末Ａと端末Ｂ間で単純に転送されるだけあり、中継装置Ｘと中継装置Ｙとの間で、データに何かしら加工が施されて転送される。
【００４３】
上記図３（ａ）は、中継装置Ｘ，Ｙがある場合のものであるが、中継装置ＸだけあるいはＹだけの場合を図３（ｂ）に示した。図３（ｂ）は、中継装置Ｘだけの場合の分割説明図であり、後述する＜応用例２＞、＜応用例３＞、および＜応用例５＞に適用される。
【００４４】
なお、この場合、中継装置Ｘは、端末Ｂからの応答パケット（ＳＹＮ＋ＡＣＫ）内のＴＣＰオプションの種別コード「０７」内に識別子が付加されていないことを確認後、端末ＢにＡＣＫパケットを返送し、端末Ａには（ＳＹＮ＋ＡＣＫ）パケットを送出する。
【実施例２】
【００４５】
実施例２は、ＴＣＰオプションの種別コード「０６」及び種別コード「０７」を利用するもので、種別コード「０６」は、［Ｅｃｈｏ（ｏｂｓｏｌｙｔｅｄ  ｂｙ  ｏｐｔｉｏｎ  ８）ＲＦＣ１０７２］であり、種別コード「０７」は、［Ｅｃｈｏ  Ｒｅｐｌｙ（ｏｂｓｏｌｙｔｅｄ  ｂｙ  ｏｐｔｉｏｎ  ８）ＲＦＣ１０７２］である。
【００４６】
図１１は、ＴＣＰオプションの種別コード「０６」及び種別コード「０７」の標準使用形態におけるシーケンスの説明図で、ＴＣＰオプションの種別コード「０６」及び種別コード「０７」は、本来、ＴＣＰ輻輳制御における応答時間の測定に使用される。例えば、種別コード「０６」に任意の数値が設定されたパケットを図２に示す送信元機器（中継装置Ｘ）から対向機器である相手機器（中継装置Ｙ）へ送信すると、受信した相手機器は、種別コード「０７」で受信した任意の数値のパケットを折り返して送信元機器に送信する。送信元機器では、同一の数値が設定されたパケットが到達した時間を計測し、輻輳制御に使用する。
【００４７】
前述のＴＣＰオプション機能を利用し、任意値として固有の意味を持つ数値（パケット）を送信し合うことで、事前情報の交換を行う。中継装置Ｘが対向側に同等の機能を持つ中継装置Ｙが存在することを、上記手順を用いて確認（認証）する場合について、以下に説明する。
（１）同等の中継装置Ｙが存在する場合
中継装置Ｘの対向側に同等の中継装置Ｙが存在する場合は、以下の手順によって、中継装置Ｘは、中継装置Ｙの存在を確認する。
【００４８】
以下、図１２に示す確認シーケンスの説明図により述べる。
【００４９】
（ａ）中継装置Ｘは、ＴＣＰスリーウェイハンドシェイクのＳＹＮパケットのＴＣＰオプションに固有の識別子Ａ（例えば、０ｘ４０４０４０４０４０４０等）を含む種別コード「０６」を付加して送信する。
【００５０】
（ｂ）中継装置Ｙは、上記識別子Ａを受信すると、対向側に同等の中継装置Ｘが存在することを認識し、同様にＳＹＮ＋ＡＣＫパケットのＴＣＰオプションに固有の識別子Ｂ（例えば、０ＸＣ０Ｃ０Ｃ０Ｃ０Ｃ０Ｃ０等）を含む種別コード「０７」を付加して返信する。
【００５１】
（ｃ）中継装置Ｘは、上記識別子Ｂを受信すると、対向側に同等の中継装置Ｙが存在することを確認し、ＡＣＫを返信してスリーウェイハンドシェイクを完結させコネクションを確立する。
（２）ＴＣＰオプションの種別コード「０６」及び「０７」に標準対応の機器が存在する場合
中継装置Ｘの対向側に同等の中継装置Ｙが存在せず、ＴＣＰオプションの種別コード「０６」及び「０７」に対応するのみの装置が存在する場合は、以下の手順によって、中継装置Ｘは同等の中継装置Ｙの非存在を確認する。
【００５２】
以下、図１３に示す確認シーケンスの説明図により述べる。
【００５３】
（ａ）中継装置Ｘは、ＴＣＰスリーウェイハンドシェイクのＳＹＮパケットのＴＣＰオプションに固有の識別子Ａ（例えば、０ｘ４０４０４０４０４０４０等）を含む種別コード「０６」を付加して送信する。
【００５４】
（ｂ）中継装置Ｙは、上記識別子Ａを受信すると標準の規定に従って、ＳＹＮ＋ＡＣＫパケットのＴＣＰオプションに受取った識別子Ａを含む種別コード「０７」を付加して返信する。
【００５５】
（ｃ）中継装置Ｘは、上記識別子Ａを受信すると、対向側に同等の中継装置Ｙが存在しないことを認識し、ＡＣＫを返信してスリーウェイハンドシェイクを完結させコネクションを確立するか、あるいはＲＳＴ（リセット）を返信してスリーウェイハンドシェイクを終了させコネクションの開設をキャンセルする。
（３）ＴＣＰオプションの種別コード「０６」及び「０７」に未対応の機器が存在する場合
中継装置Ｘの対向側に同等の中継装置Ｙが存在せず、ＴＣＰオプションの種別コード「０６」及び「０７」にも対応していない装置が存在する場合は、以下の手順によって、中継装置Ｘは同等の中継装置Ｙの非存在を確認する。
【００５６】
以下、図１４に示す確認シーケンスの説明図により述べる。
【００５７】
（ａ）中継装置Ｘは、ＴＣＰスリーウェイハンドシェイクのＳＹＮパケットのＴＣＰオプションに固有の識別子Ａ（例えば、０ｘ４０４０４０４０４０４０等）を含む種別コード「０６」を付加して送信する。
【００５８】
（ｂ）中継装置Ｙは、ＴＣＰオプションを付加しないでＳＹＮ＋ＡＣＫパケットを返信する。
【００５９】
（ｃ）中継装置Ｘは、上記識別子Ａを受信すると、対向側に同等の中継装置Ｙが存在しないことを認識し、ＡＣＫを返信してスリーウェイハンドシェイクを完結させコネクションを確立するか、あるいはＲＳＴ（リセット）を返信してスリーウェイハンドシェイクを終了させコネクションの開設をキャンセルする。
【実施例３】
【００６０】
実施例３は、ＴＣＰオプションの種別「１９」を利用するものである。なお、種別「１９」は、「ＭＤ５  Ｓｉｇｎａｔｕｒｅ  Ｏｐｔｉｏｎ  ＲＦＣ２３８５」である。
【００６１】
図１５は、ＴＣＰオプションの種別「１９」の標準使用形態におけるシーケンスの説明図で、この種別「１９」は、本来ＢＧＰ（Ｂｏａｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）専用のオプションであり、ＴＣＰセグメントのＭＤ５ハッシュ値による署名として使用される。ＢＧＰセッションに流れるあらゆるＴＣＰセグメントに付加され、ＢＧＰセッションを保護する。
【００６２】
実施例３は、図１５に示すＴＣＰオプション機能を利用し、任意値として固有の意味を持つ数値を送信し合うことで、事前情報の交換を行う。ただし、本方式は、ＢＧＰセッション上では標準の使用方法と競合するため、使用できないため、ＢＧＰ以外のセッション限定とする。中継装置Ｘが、対向側に同等の機能を持つ中継装置Ｙが存在することを、上記手順を用いて確認（認証）する場合について、以下に述べる。
（１）同等の中継装置Ｙが存在する場合
図１６は、中継装置Ｘの対向側に同等の中継装置Ｙが存在する場合の確認シーケンスの説明図で、この図１６においては、以下の手順によって中継装置Ｘは、中継装置Ｙの存在を確認する。ただし、送信先ＴＣＰポート番号がＢＧＰ（１７９）の場合は実施しない。
【００６３】
（ａ）中継装置Ｘは、ＴＣＰスリーウェイハンドシェイクのＳＹＮパケットのＴＣＰオプションに固有の識別子Ａ（例えば、０ｘ４０４０４０４０４０４０等）を含む種別コード「１９」を付加して送信する。
【００６４】
（ｂ）中継装置Ｙは、上記識別子Ａを受信すると、対向側に同等の中継装置Ｘが存在することを認識し、同様にＳＹＮ＋ＡＣＫパケットのＴＣＰオプションに固有の識別子Ｂ（例えば、０ＸＣ０Ｃ０Ｃ０Ｃ０Ｃ０Ｃ０等）を含む種別コード「１９」を付加して返信する。
【００６５】
（ｃ）中継装置Ｘは、上記識別子Ｂを受信すると、対向側に同等の中継装置Ｙが存在することを確認し、ＡＣＫを返信してスリーウェイハンドシェイクを完結させコネクションを確立する。
（２）ＴＣＰオプションの種別コード「１９」に未対応の機器が存在する場合
中継装置Ｘの対向側に同等の中継装置Ｙが存在しない場合は、以下の手順によって中継装置Ｘは同等の中継装置Ｙの非存在を確認する。ただし、送信先ＴＣＰポート番号がＢＧＰ（１７９）の場合は実施しない。
【００６６】
以下図１７に示す確認シーケンスの説明図により説明する。
【００６７】
（ａ）中継装置Ｘは、ＴＣＰスリーウェイハンドシェイクのＳＹＮパケットのＴＣＰオプションに固有の識別子Ａ（例えば、０ｘ４０４０４０４０４０４０等）を含む種別コード「１９」を付加して送信する。
【００６８】
（ｂ）中継装置Ｙは、ＴＣＰオプションを付加しないでＳＹＮ＋ＡＣＫパケットを返信する。
【００６９】
（ｃ）中継装置Ｘは、ＴＣＰオプションの種別コード「１９」を受信できないことで、対向側に同等の中継装置Ｙが存在しないことを認識し、ＡＣＫを返信してスリーウェイハンドシェイクを完結させコネクションを確立するか、あるいはＲＳＴ（リセット）を返信してスリーウェイハンドシェイクを終了させコネクションの開設をキャンセルする。
【００７０】
上記実施例３においては、特別なパケットを使用しないため、ファイアウォールの通過設定等を変更する必要が無く、また、識別子を複数定義することによって、機能を拡張することができるなどの作用効果が得られる。
【産業上の利用可能性】
【００７１】
上記実施例１として、本発明は、以下に示す幾つかの応用例に適用が可能である。
【００７２】
＜応用例１＞
図４は応用例を暗号通信装置に適用したもので、この暗号通信装置は、端末Ａ−装置Ｘ−装置Ｙ−端末Ｂのように構成されている。装置Ｘは、内側ＴＣＰ接続処理部Ｘ１、暗号処置部Ｘ２、外側ＴＣＰ接続処理部Ｘ３、Ｘ４及び復号処理部Ｘ５から構成され、装置Ｙは、内側ＴＣＰ接続処理部Ｙ１、暗号処置部Ｙ２、外側ＴＣＰ接続処理部Ｙ３、Ｙ４及び復号処理部Ｙ５から構成されている。
【００７３】
このように構成された応用例１では、端末Ａ→端末Ｂ方向へのデータ通信の場合には、端末Ａからのデータは、装置Ｘの内側ＴＣＰ接続処理部Ｘ１でデータ処理された後、暗号処置部Ｘ２でデータは暗号化処理されて、外側ＴＣＰ接続処理部Ｘ３を介して、装置Ｙの外側ＴＣＰ接続処理部Ｙ４に入力された後、復号処理部Ｙ５でデータは復号処理されて内側ＴＣＰ接続処理部Ｙ１から端末Ｂに送られる。
【００７４】
一方、端末Ｂ→端末Ａ方向へのデータ通信の場合は、上記とは逆に装置Ｙの内側ＴＣＰ接続処理部Ｙ１でデータ処理されて暗号処置部Ｙ２でデータが暗号化処理され、外側ＴＣＰ接続処理部Ｙ３から装置Ｘの外側ＴＣＰ接続処理部Ｘ４に入力された後、復号処理部Ｘ５でデータを復号処理して内側ＴＣＰ接続処理部Ｘ１から端末Ａに送られる。
【００７５】
上記のように暗号通信装置を機能させることで、端末Ａ−端末Ｂまたは端末Ｂ−端末Ａ間の通信経路の暗号通信が実現できる。例えば、事前に鍵情報を交換しておくことにより、暗号通信の事前鍵交換機能が実現できる。
【００７６】
＜応用例２＞
図５は応用例をアンチウィルス装置に適用したもので、このアンチウィルス装置は、端末Ａ−装置Ｘ−端末Ｂ，Ｃ，Ｄのように構成され、装置Ｘは、外側ＴＣＰ接続処理部４１、ウィルス検査処理部４２及び内側ＴＣＰ接続処理部４３から構成されている。このように構成された装置Ｘにおいて、ＴＣＰ通信の中継処理の過程で、ウィルス検査処理部４２でウィルス検査処理を行い、検査に合格しないＴＣＰ通信は中継しないように処理することで、例えば、端末Ａから端末Ｂ，Ｃ，Ｄへの不正アクセスもしくは、端末Ｂ，Ｃ，Ｄから端末Ａへの不正アクセスを排除する。
【００７７】
＜応用例３＞
図６は応用例を負荷分散装置に適用したもので、この負荷分散装置は、端末Ａ，Ｂ，Ｃ−ルータＲ−装置Ｘ−複数のサーバ１〜Ｎのように構成され、装置Ｘは、外側ＴＣＰ接続処理部５１、負荷分散処理部５２及び内側ＴＣＰ接続処理部５３から構成されている。このように構成された負荷分散装置で、サーバ１〜Ｎの前段の装置Ｘにおいて、負荷状況に応じて適切なサーバ１〜Ｎヘ伝送を振り分けるようにすることで、負荷分散を実現できる。
【００７８】
例えば、端末Ａ、端末Ｂ、端末Ｃは公開された１つのＩＰアドレスへ接続する。その瞬間に装置Ｘは、サーバ１〜Ｎの負荷状態によりサーバ１〜Ｎの１つを選んでＴＣＰ接続を中継する。これによって、端末Ａ〜Ｃは公開されたＩＰアドレスとＴＣＰ接続しているように見える。また、サーバ１〜Ｎは各々異なるＩＰアドレスと外部にある端末のＩＰアドレスで接続しているように見える。
【００７９】
＜応用例４＞
図７は応用例を帯域制御装置に適用したもので、この帯域制御装置は、端末Ａ−装置Ｘ−装置Ｙ−端末Ｂのように構成されていて、装置Ｘは、内側ＴＣＰ接続処理部６１ｘ、輻輳制御帯域制御処理部６２ｘ及び専用プロトコル処理部６３ｘから構成され、装置Ｙは、内側ＴＣＰ接続処理部６１ｙ、輻輳制御帯域制御処理部６２ｙ及び専用プロトコル処理部６３ｙから構成されている。
【００８０】
上記のように構成された端末Ａ−装置Ｘ−装置Ｙ−端末Ｂの構成で、装置Ｘ−装置Ｙ間において専用のプロトコルによって、輻輳制御と帯域制御をきめ細かく行うことで、汎用のＴＣＰでは適切に対応しきれない回線に応じた適切な帯域制御を実現できる。
【００８１】
＜応用例５＞
図８は応用例をゲートウェイ装置に適用したもので、このゲートウェイ装置は、端末Ａ−装置Ｘ−端末Ｂのように構成され、装置Ｘは、外側ＴＣＰ接続処理部７１、ゲートウェイ処理部７２及び内側ＴＣＰ接続処理部７３から構成されている。
【００８２】
上記のように構成された装置において、端末Ｂは特別なプロトコルあるいはデータにて動作する。また、端末Ａは、通常のプロトコルあるいはデータで通信するため変換する装置としてゲートウェイ装置が必要となる。このため、端末Ｂの直前に装置Ｘを設置することでプロトコルまたはデータの変換処理を行う。通常にゲートウェイ装置は、その装置にＩＰアドレスが設定され端末Ａと装置Ｘ、装置Ｘと端末Ｂの通信になるが、この応用例では装置Ｘは存在しないように見える。
【００８３】
＜応用例６＞
応用例６は、実施例１および応用例１〜５の全てを、端末内のＴＣＰプロトコルスタックソフトウェアに機能を組み込むことで、外部のハードウェア装置を用いることなくソフトウェアでも実現できるようにしたものである。
【００８４】
ＴＣＰプロトコルスタックで接続待ちを行う場合は、通常、事前にソケットを作成し、受付けるポート番号を指定（バインド）して接続待ち（アクセプト）を行う。
【００８５】
しかし、実施例１における中継装置Ｘでは、送信元と送信先のＩＰアドレス、および送信元と送信先のポート番号を予め知ることができない。そこで、接続の最初に送信されるＴＣＰのＳＹＮパケットをプロミスキャス・モードにて捕捉して、接続先情報を入手し、接続待ち用ソケットを用意し、バインド＋アクセプト手続きを先回りして実行し、該パケットをＴＣＰプロトコルスタックに処理させる。このように処理することによって、あたかも対向側の端末Ｂの振りをしてＴＣＰ接続を完結させることができるようになる。
【００８６】
次に上記の場合における処理手順の詳細を図１８の説明図を参照して述べる。
（ａ）先ず、プロミスキャス・モードでＳＹＮパケットを捕捉する。（ネットワークドライバ）
（ｂ）捕捉したＳＹＮパケットから宛先ＩＰアドレスとポート番号を得る。（ネットワークドライバ）
（ｃ）取得した宛先情報をアプリケーションに通知する。（ネットワークドライバ）
（ｄ）通知された情報を使用してソケット作成＋バインド＋アクセプト手続きを行います。（アプリケーション）
（ｅ）ＳＹＮパケットをＴＣＰプロトコルスタックへ引き渡す。（ネットワークドライバ）
（ｆ）正規の手順によってＴＣＰコネクションを接続し、当該ソケットを接続完了状態にする。（ＴＣＰプロトコルスタック）
【符号の説明】
【００８７】
Ａ，Ｂ…端末
Ｘ，Ｙ…中継装置
ＮＥＴ…ネットワーク
１１〜１４…伝送路
【図１】
2010200300.tif 000003
【図２】
2010200300.tif 000004
【図３】
2010200300.tif 000005
【図４】
2010200300.tif 000006
【図５】
2010200300.tif 000007
【図６】
2010200300.tif 000008
【図７】
2010200300.tif 000009
【図８】
2010200300.tif 000010
【図９】
2010200300.tif 000011
【図１０】
2010200300.tif 000012
【図１１】
2010200300.tif 000013
【図１２】
2010200300.tif 000014
【図１３】
2010200300.tif 000015
【図１４】
2010200300.tif 000016
【図１５】
2010200300.tif 000017
【図１６】
2010200300.tif 000018
【図１７】
2010200300.tif 000019
【図１８】
2010200300.tif 000020