(57)【特許請求の範囲】
【請求項１】
３ウェイハンドシェイクによりコネクションを管理する通信プロトコルにより通信を行う第１の端末装置と第２の端末装置との間の伝送路上に配置され、上記第１の端末装置との間の伝送遅延が上記第２の端末装置との間の伝送遅延に比して小さく、上記第１の端末装置から送信されるデータを上記第２の端末装置に転送する処理と、転送するデータに対する送達確認応答を作成して上記第１の端末装置に返送する処理を行うネットワーク伝送装置において、上記第１の端末装置又は上記第２の端末装置のいずれか一方の端末装置から送信されるコネクション確立要求パケットに対して他方から送信されるコネクション確立確認パケットを受信することによって、コネクション状態を管理するメモリ領域を確保して状態管理を行うコネクション状態管理部を備えたことを特徴とするネットワーク伝送装置。
【請求項２】
３ウェイハンドシェイクによりコネクションを管理する通信プロトコルにより通信を行う第１の端末装置と第２の端末装置との間の伝送路上に配置され、上記第１の端末装置との間の伝送遅延が上記第２の端末装置との間の伝送遅延に比して小さく、上記第１の端末装置から送信されるデータを上記第２の端末装置に転送する処理と、転送するデータに対する送達確認応答を作成して上記第１の端末装置に返送する処理を行うネットワーク伝送装置において、上記第１の端末装置から送信されるデータを格納する転送用バッファを割当てるメモリと、上記第１の端末装置又は上記第２の端末装置のいずれか一方の端末装置から送信されるコネクション確立要求パケットに対して他方から送信されるコネクション確立確認パケット、及びこのコネクション確立確認パケットに対して上記一方の端末装置から送信される送達確認応答パケットを受信することによって、上記メモリに上記転送用バッファを割当てるコネクション状態管理部とを備えたことを特徴とするネットワーク伝送装置。
【請求項３】
第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置であって、
第１の端末装置から送信されてくるデータパケットに対するＡＣＫパケットを第２の端末装置の代わりに生成するＡＣＫパケット生成部と、
入力されたパケットから第１の端未装置と第２の端未装置とのコネクションに関する情報を管理する管理部と、
受信されたパケットがＳＹＮパケットおよびＳＹＮ＋ＡＣＫパケットのいずれであるかを判定し、受信されたパケットがＳＹＮパケットであると判定された場合には当該ＳＹＮパケットを上記管理部へ入力することなく転送し、受信されたパケットがＳＹＮ＋ＡＣＫパケットであると判定された場合には当該ＳＹＮ＋ＡＣＫパケットを上記管理部へ入力するとともに転送する判定転送部とを備えたことを特徴とするネットワーク伝送装置。
【請求項４】
第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置であって、
第１の端末装置から送信されてくるデータパケットに対するＡＣＫパケットを第２の端末装置の代わりに生成するＡＣＫパケット生成部と、
ＳＹＮパケットから第１計算機と第２計算機とのコネクションに関する情報を管理せず、ＳＹＮ＋ＡＣＫパケットから第１計算機と第２計算機とのコネクションに関する情報を管理する管理部とを備えたことを特徴とするネットワーク伝送装置。
【請求項５】
第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置であって、
第１の端末装置から送信されてくるデータパケットに対するＡＣＫパケットを第２の端末装置の代わりに生成するＡＣＫパケット生成部と、
第１計算機と第２計算機とのコネクションに関する情報を管理する管理部とを備え、
上記管理部は、ＳＹＮ＋ＡＣＫパケットを受信しない限り、当該ＳＹＮ＋ＡＣＫパケットに対応するコネクションに関する情報を管理するためのメモリ領域を確保しないことを特徴とするネットワーク伝送装置。
【請求項６】
第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置であって、
第１の端末装置から送信されてくるデータパケットに対するＡＣＫパケットを第２の端末装置の代わりに生成するＡＣＫパケット生成部と、
ＳＹＮパケットを第１の端末装置と第２の端末装置とのコネクションに関する情報の管理に利用せず、ＳＹＮ＋ＡＣＫパケットから第１の端末装置と第２の端末装置とのコネクションに関する情報を管理する管理部とを備えたことを特徴とするネットワーク伝送装置。
【請求項７】
前記管理部はＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットを受信することによって、当該ＳＹＮ＋ＡＣＫパケットに対応するコネクションにおいて端未装置２に送信されるパケットを格納するバッファを割当てることを特徴とする請求項３〜６のいずれかに記載のネットワーク伝送装置。
【請求項８】
第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置において用いられるネットワーク伝送方法であって、
受信したパケットがＳＹＮパケットか否かの判定を行う工程と、
上記判定を行う工程において受信したパケットがＳＹＮパケットであると判定された場合にそのパケットを転送する工程と、
上記判定を行う工程において受信したパケットがＳＹＮ＋ＡＣＫパケットであると判定された場合に、そのパケットに含まれる情報をコネクションに関する情報の管理のためにメモリに記憶するとともに、そのパケットを転送する工程とを備えたことを特徴とするネットワーク伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３ウェイハンドシェイクによりコネクションを管理する通信プロトコルによって通信を行う端末間の通信経路に、衛星通信回線のように伝送遅延の大きい区間を含む場合、その通信経路上に設置して、データ伝送を高速化するネットワーク伝送装置およびネットワーク伝送方法に関するものである。
【背景技術】
【０００２】
例えば、特開２００２−２１７９８８には、第１の端末装置と第２の端末装置との間の伝送路上に配置され、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延に比して小さく、第１の端末装置からのデータを第２の端末装置に対して転送する転送処理と、この転送処理により転送したデータに対する送達確認応答を作成して第１の端末装置に返送する返送処理とを行うことができるネットワーク伝送装置が記載されている。従来の技術に記載されたネットワーク伝送装置においては、一方の端末装置がコネクション確立を要求するために送信するコネクション確立要求パケット（以下、「ＳＹＮパケット」と表記する。）と、このＳＹＮパケットを受信した他方の端末装置が送信するコネクション確立確認パケット（以下、「ＳＹＮ＋ＡＣＫパケット」と表記する。）とを受信することにより、これらの情報を記憶して、両端末の間に介在してデータの転送が行われる。ネットワーク伝送装置は、ＳＹＮパケットを受信した時点で、コネクション状態を管理するためのメモリ領域が確保され、ＦＩＮ＋ＡＣＫパケットを受信した時点で、コネクション状態管理のためのメモリが開放される。また、ネットワーク伝送装置では、第２の端末装置との伝送遅延が第１の端末装置との伝送遅延よりも大きいため、第１の端末装置から送信されてくるデータに対して自ら詐称送達確認応答パケット（詐称ＡＣＫパケット）を作成して第１の端末装置に返送することによって、第２の端末装置からの送達確認応答パケット（ＡＣＫパケット）が得られる前に、第１の端末装置からのデータ送信を促がす処理が行われる。この処理のために、ネットワーク伝送装置は、ＳＹＮ＋ＡＣＫパケットを受信した時点で、内部のメモリにバッファ領域を割当てて、転送するデータを格納する。このバッファ領域に格納された第１の端末装置からのデータは、第２の端末装置からのそのデータに対するＡＣＫパケットが返送されてくると、バッファから削除される。
【０００３】
【特許文献１】特開２００２−２１７９８８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のネットワーク伝送装置はコネクション確立を要求する接続要求端末が送信するＳＹＮパケットを受信した後、そのＳＹＮパケットに呼応して、そのコネクション確立要求に応答する接続応答端末が送信するＳＹＮ＋ＡＣＫパケットを受信した時点でコネクションが確立したと見なしてコネクション管理情報を確定している。しかし、ＳＹＮ＋ＡＣＫパケットを接続要求端末あてに送信した後、接続要求端末との間の回線上でビット誤りのためにＳＹＮ＋ＡＣＫパケットが失われ、接続要求端末に到達しない場合には、接続要求端末はコネクション確立状態には至らない。このとき、接続要求端末と接続応答端末との間のコネクションは確立しておらず、データ伝送が開始されないにもかかわらず、従来のデータ伝送装置は、両端末間のコネクションが確立されていると認識するため、両端末間でのデータ伝送に備えて、データパケットを一時的に格納するためのメモリリソースを確保する。このように、実際に使われないメモリリソースが未確立のコネクションに占有されるため、メモリリソースの利用効率を劣化させるという問題点があった。また、従来のネットワーク伝送装置は、ＳＹＮ  Ｆｌｏｏｄｉｎｇ攻撃と呼ばれるＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃の一種が実行される通信路に設置された場合には、悪意のあるユーザにより運用される接続要求端末が、接続応答端末の業務を妨害するために接続応答端末宛てに大量に送信するＳＹＮパケットにより、ネットワーク伝送装置の動作も妨害され、正常に動作できなくなることがある。つまり、従来のネットワーク伝送装置は、接続要求端末が接続応答端末宛てに送信するＳＹＮパケットを受信した時点で、ＳＹＮパケットを受信したという事象を内部に記憶してコネクション状態を管理するため、悪意のあるユーザにより運用される接続要求端末が大量に送信する各ＳＹＮパケットを受信するたびに、そのコネクション状態を管理するためのメモリリソースを消費し、やがてはコネクション状態を管理するためのメモリリソースが枯渇するため、ネットワーク伝送高速化装置としての動作続行が不可となり、その業務が妨害されるという問題点があった。
【０００５】
この発明は、上記のような問題点を解決するためになされたもので、３ウェイハンドシェイクによりコネクションを管理する通信プロトコルによって通信を行う端末間の通信経路に伝送遅延の大きい区間を含む場合に、その通信経路上に設置してデータ伝送を高速化し、メモリリソースを有効利用し、またＤｏＳ攻撃の影響を受けにくいネットワーク伝送装置およびネットワーク伝送方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明に係るネットワーク伝送装置は、３ウェイハンドシェイクによりコネクションを管理する通信プロトコルにより通信を行う第１の端末装置と第２の端末装置との間の伝送路上に配置され、上記第１の端末装置との間の伝送遅延が上記第２の端末装置との間の伝送遅延に比して小さく、上記第１の端末装置から送信されるデータを上記第２の端末装置に転送する処理と、転送するデータに対する送達確認応答を作成して上記第１の端末装置に返送する処理を行うネットワーク伝送装置において、上記第１の端末装置又は上記第２の端末装置のいずれか一方の端末装置から送信されるコネクション確立要求パケットに対して他方から送信されるコネクション確立確認パケットを受信することによって、コネクション状態を管理するメモリ領域を確保して状態管理を行うコネクション状態管理部を備えたものである。
【０００７】
請求項２の発明に係るネットワーク伝送装置は、３ウェイハンドシェイクによりコネクションを管理する通信プロトコルにより通信を行う第１の端末装置と第２の端末装置との間の伝送路上に配置され、上記第１の端末装置との間の伝送遅延が上記第２の端末装置との間の伝送遅延に比して小さく、上記第１の端末装置から送信されるデータを上記第２の端末装置に転送する処理と、転送するデータに対する送達確認応答を作成して上記第１の端末装置に返送する処理を行うネットワーク伝送装置において、上記第１の端末装置から送信されるデータを格納する転送用バッファを割当てるメモリと、上記第１の端末装置又は上記第２の端末装置のいずれか一方の端末装置から送信されるコネクション確立要求パケットに対して他方から送信されるコネクション確立確認パケット、及びこのコネクション確立確認パケットに対して上記一方の端末装置から送信される送達確認応答パケットを受信することによって、上記メモリに上記転送用バッファを割当てるコネクション状態管理部とを備えたものである。
【０００８】
請求項３の発明に係るネットワーク伝送装置は、第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置であって、第１の端末装置から送信されてくるデータパケットに対するＡＣＫパケットを第２の端末装置の代わりに生成するＡＣＫパケット生成部と、入力されたパケットから第１の端未装置と第２の端未装置とのコネクションに関する情報を管理する管理部と、受信されたパケットがＳＹＮパケットおよびＳＹＮ＋ＡＣＫパケットのいずれであるかを判定し、受信されたパケットがＳＹＮパケットであると判定された場合には当該ＳＹＮパケットを上記管理部へ入力することなく転送し、受信されたパケットがＳＹＮ＋ＡＣＫパケットであると判定された場合には当該ＳＹＮ＋ＡＣＫパケットを上記管理部へ入力するとともに転送する判定転送部とを備えたものである。
【０００９】
請求項４の発明に係るネットワーク伝送装置は、ＳＹＮパケットから第１計算機と第２計算機とのコネクションに関する情報を管理せず、ＳＹＮ＋ＡＣＫパケットから第１計算機と第２計算機とのコネクションに関する情報を管理する管理部とを備えたことを特徴とするものである。
【００１０】
請求項５の発明に係るネットワーク伝送装置は、第１計算機と第２計算機とのコネクションに関する情報を管理する管理部とを備え、上記管理部は、ＳＹＮ＋ＡＣＫパケットを受信しない限り、当該ＳＹＮ＋ＡＣＫパケットに対応するコネクションに関する情報を管理するためのメモリ領域を確保しないものである。
【００１１】
請求項６の発明に係るネットワーク伝送装置は、ＳＹＮパケットを第１の端末装置と第２の端末装置とのコネクションに関する情報の管理に利用せず、ＳＹＮ＋ＡＣＫパケットから第１の端末装置と第２の端末装置とのコネクションに関する情報を管理する管理部とを備えたものである。
【００１２】
請求項７の発明に係るネットワーク伝送装置は、上記管理部はＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットを受信することによって、当該ＳＹＮ＋ＡＣＫパケットに対応するコネクションにおいて端未装置２に送信されるパケットを格納するバッファを割当てるものである。
【００１３】
請求項８の発明に係るネットワーク伝送方法は、第１の端末装置との間及び第２の端末装置との間でそれぞれパケットの送受信を行い、第１と第２の端末装置間の伝送路上で、第１の端末装置との間の伝送遅延が第２の端末装置との間の伝送遅延よりも小さい位置に設けられる装置において用いられるネットワーク伝送方法であって、受信したパケットがＳＹＮパケットか否かの判定を行う工程と、上記判定を行う工程において受信したパケットがＳＹＮパケットであると判定された場合にそのパケットを転送する工程と、上記判定を行う工程において受信したパケットがＳＹＮ＋ＡＣＫパケットであると判定された場合に、そのパケットに含まれる情報をコネクションに関する情報の管理のためにメモリに記憶するとともに、そのパケットを転送する工程とを備えるものである。
【発明の効果】
【００１４】
請求項１又は請求項２に記載の発明によれば、ネットワーク伝送装置は、コネクション確立要求パケットに対してはコネクション状態を管理するメモリ領域を確保せず、コネクション確立確認パケットを受信して、コネクション状態を管理するメモリ領域を確保して状態管理を行うことによって、不要なコネクション確立要求パケットに対するメモリ領域の使用を防ぐことができ、また、コネクション確立確認パケットに対する送達確認応答パケットを受信して、第１の端末装置から送信されるデータを格納するバッファを割当てることよって、コネクション確立確認パケット受信後に、そのコネクション確立確認パケットに対する送達確認応答パケットが何らかの障害により取得できなかった場合にはメモリ割当てを行わないので、このようなコネクション未確立の場合に余計なメモリリソースを割当てることなく、メモリリソースの有効利用が図れる。また、ＤｏＳ攻撃の一種であるＳＹＮ  Ｆｌｏｏｄｉｎｇ攻撃に対して、コネクション確立確認パケットを受信しない限りコネクション状態管理のためのメモリ領域確保を行わず、また、コネクション確立確認パケットに対する送達確認応答パケットを受信しない限り、第１の端末装置から送信されるデータを格納するバッファの割当てを行わないので、このような攻撃による影響を受けにくく、攻撃によってメモリリソースが枯渇することを抑止することができる。
【００１５】
請求項３乃至８に記載の各発明によれば、ＳＹＮ  Ｆｌｏｏｄｉｎｇ攻撃による影響を受け難いネットワーク伝送装置またはネットワーク伝送方法を得ることができる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１
【００１７】
本発明は、３ウェイハンドシェイクによりコネクションを管理する通信プロトコルによって通信を行う端末間の通信経路に、衛星通信回線のように伝送遅延の大きい区間を含む場合、その通信経路上に設置して、データ伝送を高速化するネットワーク伝送装置に関するものである。３ウェイハンドシェイクによりコネクション管理を行い、更に送信したデータに対する送達確認応答を必要とする通信プロトコルの典型的な例としては、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）で制定するＲＦＣ７９３に基づくＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が挙げられる。以下の説明では、通信プロトコルがＴＣＰである場合を例にして説明するが、上記のように、３ウェイハンドシェイクによりコネクション管理を行い、送達確認応答を必要とするその他の通信プロトコルにも広く適用できるものである。
この発明の実施の形態１に係るネットワーク伝送装置を図１乃至図４により説明する。図１はこの発明の実施の形態１に係るネットワーク伝送システムの構成を示す構成図であり、図２はこの発明の実施の形態１に係るネットワーク伝送装置の機能ブロック図である。また、図３はこの発明の実施の形態１に係るネットワーク伝送装置におけるコネクション確立の通信シーケンスを示すシーケンス図である。図１において、１はＴＣＰに基づき通信する第１の端末装置（以下、端末装置１と表記する）、２は端末装置１の通信相手となり、同様にＴＣＰに基づいて通信する第２の端末装置（以下、端末装置２と表記する）。３はネットワーク伝送装置であり、４はネットワーク伝送装置３と端末装置１との間の伝送遅延に比較して伝送遅延が大きい通信回線である。このような通信回線３の一例としては、衛星通信回線が挙げられる。
【００１８】
図２において、５はネットワーク伝送制御を行うトラヒック制御部であり、６は端末装置１と通信するためのネットワークインタフェース、７は比較的遅延が大きい通信回線４を介して端末装置２と通信するためのネットワークインタフェースである。８はネットワークインタフェース６及びネットワークインタフェース７で受信した各ＩＰパケットがＴＣＰパケットであるかＵＤＰパケットであるかを判定し、更にＴＣＰパケットであると判定した場合には、その詳細種別（ＳＹＮパケット、ＳＹＮ＋ＡＣＫパケット、ＡＣＫパケット等）を判定し、内部処理のスケジューリング及び２つのネットワークインタフェース６及び７間での透過的な転送等を制御するパケット種別判定・転送部である。９は端末装置１と端末装置２との間に設定されるＴＣＰコネクションの状態を管理するコネクション状態管理部、１０は端末装置１から端末装置２宛てに送信するＴＣＰパケットに対して、端末装置２に代理して詐称ＡＣＫパケットを生成して返送する詐称ＡＣＫ生成部、１１は端末装置１から端末装置２宛てに送信したＴＣＰパケットを一旦格納し、端末装置２との間での高速データ伝送、及びＴＣＰパケットが途中で喪失した場合の再送制御を行うＴＣＰデータ伝送制御部である。ＴＣＰデータ伝送制御部１１内において、１２は端末装置１から端末装置２宛てに送信したＴＣＰパケットを一旦格納するメモリである。また、１３はコネクション状態管理部９内において、コネクション状態の管理のためにコネクション状態を記憶するメモリであり、コネクション状態管理の開始に伴い、このメモリ１３にメモリ領域が確保される。
【００１９】
コネクション確立の動作について、図３を参照して説明する。ステップＳ１によりＳＹＮパケットを端末装置１から受信し、このＳＹＮパケットをステップＳ２により端末装置２へ転送する。端末装置２は、受信したＳＹＮパケットに対して、ＳＹＮ＋ＡＣＫパケットを生成し、ステップＳ３により送信する。このＳＹＮ＋ＡＣＫパケットをネットワーク伝送装置３が受信した時点で、コネクション状態管理部９は、コネクション状態を管理するためのメモリ領域をメモリ１３に確保して状態管理を開始する。ここで確保したコネクション状態管理用のメモリ領域は、パケット伝送の最終を示すＦＩＮパケットに対する送達確認応答であるＦＩＮ＋ＡＣＫパケットを受信した時点で解放する。ネットワーク伝送装置３は、ステップＳ４によりＳＹＮ＋ＡＣＫパケットを端末装置１へ転送する。コネクション状態管理部９において管理しているコネクション状態とは、少なくとも次の（１）〜（５）に示す５つの情報要素から構成するものとする。即ち、（１）ＳＹＮ＋ＡＣＫパケットのＩＰヘッダに含まれる送信元ＩＰアドレス、（２）ＳＹＮ＋ＡＣＫパケットのＩＰヘッダに含まれる宛先ＩＰアドレス、（３）ＳＹＮ＋ＡＣＫパケットのＴＣＰヘッダに含まれる送信元ポート番号、（４）ＳＹＮ＋ＡＣＫパケットのＴＣＰヘッダに含まれる宛先ポート番号、（５）受信したＴＣＰ制御パケットの種別（ＳＹＮ＋ＡＣＫ、ＳＹＮ＋ＡＣＫに対するＡＣＫ等）である。
【００２０】
コネクション状態管理部９は、ステップＳ５により端末装置１から上記ＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットを受信すると、コネクションが確立されたと判断する。この判断に基づいて、ＴＣＰデータ伝送制御部１１は、端末装置１からのＴＣＰパケットを格納するバッファ領域をメモリ１２内に割当て、端末装置１からのＴＣＰパケットをバッファリングしながら、端末装置２へ高速にデータ伝送する。また、ＴＣＰパケットが途中で喪失した場合の再送制御を行うために必要なメモリも必要に応じてメモリ１２上に割当てる。ここで割当てたメモリリソースは、コネクションが切断された場合、即ち、当該コネクションにおいてＦＩＮ＋ＡＣＫパケットを受信した時点で解放する。なお、ステップＳ５により端末装置１から受信したＡＣＫパケットは、端末装置２へステップＳ６により送信する。
【００２１】
上記の説明においては、端末装置１からＳＹＮパケットが送信された場合について説明したが、端末装置２がＳＹＮパケットを送信した場合も同様に考えることができる。即ち、端末装置２からのＳＹＮパケットをネットワーク伝送装置３が受信し、これを端末装置１へ転送する。端末装置１は受信したＳＹＮパケットに対して、その応答としてＳＹＮ＋ＡＣＫパケットを送信し、これを受信したネットワーク伝送装置３は、コネクション状態管理部９において必要なメモリ領域をメモリ１３に確保して、少なくとも上記（１）〜（５）のコネクション状態の管理を開始する。ＳＹＮ＋ＡＣＫパケットは端末装置２へ送信し、これを受信した端末装置２はＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットを送信する。このＡＣＫパケットをネットワーク伝送装置３が受信すると、コネクション状態管理部９は、コネクションが確立されたと判断する。この判断に基づいて、ＴＣＰデータ伝送制御部１１は、端末装置１からのＴＣＰパケットを格納するバッファ領域をメモリ１２内に割当て、端末装置１からのＴＣＰパケットをバッファリングしながら、端末装置２へ高速にデータ伝送する。
【００２２】
端末装置１から端末装置２へのデータ伝送においては、送信したデータに対する送達確認応答が必要となるが、ネットワーク伝送装置３は、端末装置１からのデータを受信してＴＣＰデータ伝送制御部１１のメモリ１２に確保したバッファ領域にデータを格納しつつ、詐称ＡＣＫ生成部１０により、当該データに対する詐称ＡＣＫを生成してネットワークインタフェース６を介して、端末装置１へ送信する。端末装置１は、この詐称ＡＣＫを受信して次のデータを送信する。このような動作により端末装置１は、伝送遅延の大きい通信回路４を介した端末装置２からのＡＣＫを待たずに高速にデータを送信することができる。なお、ネットワーク伝送装置３は、端末装置１から送信されるＳＹＮパケットを受信したときには、これに対する詐称ＡＣＫを生成せずに端末装置１側へ詐称ＡＣＫを送信しないようにできる。
【００２３】
次に図４によりネットワーク伝送装置３のトラヒック制御部５における制御フローを説明する。図４はこの発明の実施の形態１に係るネットワーク伝送装置におけるパケット受信の際の制御フローを示すフローチャートである。図４において、パケット種別判定・転送部８は、ステップＳ７により端末装置１又は端末装置２のうち一方の端末装置から受信したパケットがＴＣＰパケットであるか否かを判定する。ＴＣＰパケットでない場合には、ステップＳ８により受信したパケットを相手側である他方の端末装置に転送する。ステップＳ７において、受信したパケットがＴＣＰパケットである場合には、ステップＳ９に移行し、パケット種別判定・転送部８は、受信したパケットがＳＹＮパケットか否かの判定を行う。ＳＹＮパケットであれば、ステップＳ８に移行し、そのパケットを転送する。ＳＹＮパケットではない場合には、ステップＳ１０に移行し、ＳＹＮ＋ＡＣＫパケットであるか否かを判定する。パケット種別判定・転送部８はステップＳ１０において、受信したパケットがＳＹＮ＋ＡＣＫパケットであると判定すると、当該ＳＹＮ＋ＡＣＫパケットを相手側に送信しつつ、コネクション状態管理部９へＳＹＮ＋ＡＣＫパケット受信を通知し、コネクション状態管理部９は、コネクション状態を管理するためのメモリ領域をメモリ１３に確保し、コネクション状態を「ＳＹＮ＋ＡＣＫ受信済み」とする。ステップＳ１０において、受信したパケットがＳＹＮ＋ＡＣＫパケットではない場合、ステップＳ１１へ移行し、受信したパケットがＡＣＫパケットであるか否かの判定を行う。パケット種別判定・転送部８はステップＳ１１において、受信したパケットがＡＣＫパケットであると判定すると、さらにステップＳ１２へ移行して、コネクション状態が「ＳＹＮ＋ＡＣＫ受信済み」であるか否の判定を行う。
【００２４】
ステップＳ１２において、コネクション状態が「ＳＹＮ＋ＡＣＫ受信済み」である場合には、コネクション状態管理部９は、当該コネクション状態を「コネクション確立」に変更し、端末装置１からのデータの高速転送を行うためにＴＣＰデータ伝送制御部１１内のメモリ１２内に一旦データを格納するためのバッファ領域を確保し、当該ＡＣＫパケットはパケット種別判定・転送部８により相手側へ転送される。ステップＳ１２において、状態が「ＳＹＮ＋ＡＣＫ受信済み」でない場合には、ステップＳ１３に移行し、そのＡＣＫパケットが端末装置２から送信されたものであるか否かの判定を行う。ＡＣＫパケットが端末装置２から送信されたものである場合には、ネットワーク伝送装置３は、すでに詐称ＡＣＫを端末装置１へ送信しているので、当該ＡＣＫ信号は不要となり、ネットワーク伝送装置３内で破棄する。ステップＳ１３において、ＡＣＫパケットが端末装置２から送信されたものでない（即ち、端末装置１から送信されたものである）場合、当該ＡＣＫパケットは相手側である端末装置２へ送信する。
【００２５】
ステップＳ１１において、受信したパケットがＡＣＫパケットでないと判定すると、ステップＳ１４に移行し、パケット種別判定・転送部８は、受信パケットがＦＩＮ＋ＡＣＫパケットであるか否かの判定を行う。ステップＳ１４において、受信パケットがＦＩＮ＋ＡＣＫパケットであると判定すると、これはデータ伝送が終了することを意味するので、コネクション状態管理部９はコネクション状態管理のために割当てていたメモリを解放し、またＴＣＰデータ伝送制御部１１はメモリ１２に割当てていたバッファ領域を解放する。ステップＳ１４において、受信したパケットがＦＩＮ＋ＡＣＫパケットではないと判定した場合、ステップＳ１５へ移行し、パケット種別判定・転送部８は、端末装置１からのデータパケットであるか否かの判定を行う。ステップＳ１５において、受信したパケットが端末装置１から送信されたものでない（即ち、端末装置２から転送されたものである）と判定した場合、受信したパケットを相手側の端末装置１へ転送する。また、ステップＳ１５において、受信したパケットが端末装置１から送信されたものであると判定した場合には、詐称ＡＣＫ生成部１０において、受信したパケットに対する詐称ＡＣＫを生成し、これをネットワークインタフェース６を介して端末装置１へ送信する。また、受信したパケットについては、ＴＣＰデータ伝送制御部１１のメモリ１２に確保しているバッファ領域に一旦格納し、端末装置２側への転送を行う。
【００２６】
以上のように、ネットワーク伝送装置３は、ＳＹＮ＋ＡＣＫパケットを受信して、コネクション状態を管理するメモリ領域を確保してコネクション状態管理を開始し、ＳＹＮ＋ＡＣＫパケットに対するＡＣＫパケットを受信して、コネクション状態管理部９内のコネクション状態を「確立」との状態に設定し、ＴＣＰデータ伝送制御部１１内のメモリ１２上に、端末装置１から送信されてくるデータを一旦格納するバッファ領域を割当てることにより、ＳＹＮパケットのみ受信してその後の応答パケットを受信しない場合に、また、ＳＹＮ＋ＡＣＫパケット受信後にそのＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットが障害等により取得できなかった場合には、コネクション状態管理のためのメモリ領域確保や、データ転送用バッファ領域のメモリ１２への割当てを行わないので、コネクション未確立の場合に余計なメモリリソースを割当てることがなく、メモリリソースの有効利用が図れる。また、ＤｏＳ攻撃の一種であるＳＹＮ  Ｆｌｏｏｄｉｎｇ攻撃に対して、ＳＹＮ＋ＡＣＫパケットや、ＳＹＮ＋ＡＣＫパケットに対する確認応答であるＡＣＫパケットを受信しない限り、メモリリソース割当てを行わないので、このような攻撃による影響を受けにくく、攻撃によってメモリリソースが枯渇することを抑止することができる。
【図面の簡単な説明】
【００２７】
【図１】この発明の実施の形態１に係るネットワーク伝送システムの構成を示す構成図である。
【図２】この発明の実施の形態１に係るネットワーク伝送装置の機能ブロック図である。
【図３】この発明の実施の形態１に係るネットワーク伝送装置におけるコネクション確立の通信シーケンスを示すシーケンス図である。
【図４】図４はこの発明の実施の形態１に係るネットワーク伝送装置におけるパケット受信の際の制御フローを示すフローチャートである。
【符号の説明】
【００２８】
１  第１の端末装置
２  第２の端末装置
３  ネットワーク伝送装置
４  通信回線
５  トラヒック制御部
８  パケット種別判定・転送部
９  コネクション状態管理部
１０  詐称ＡＣＫ生成部
１１  ＴＣＰデータ伝送制御部
１２、１３  メモリ
【要約】
【課題】  ３ウェイハンドシェイクによりコネクションを管理する通信プロトコルによって通信を行う端末間の通信経路に伝送遅延の大きい区間を含む場合に、その通信経路上に設置してデータ伝送を高速化し、メモリリソースを有効利用し、またＤｏＳ攻撃の影響を受けにくいネットワーク伝送装置を得ることを目的とする。
【解決手段】  ステップＳ３によりネットワーク伝送装置３がＳＹＮ＋ＡＣＫパケットを受信した時点で、コネクション状態を管理するためのメモリ領域を確保して状態管理を開始する。ここで、コネクション状態には、受信したＴＣＰ制御パケットの種別（ＳＹＮ＋ＡＣＫ、ＳＹＮ＋ＡＣＫに対するＡＣＫ等）が含まれる。更にステップＳ５により、ネットワーク伝送装置３がＡＣＫパケットを受信すると、コネクション状態を「確立」と判断し、端末装置１から送信されるＴＣＰパケットを格納するバッファをメモリ内に割当てる。
【選択図】        図３
【図１】
0003705297.tif 000002
【図２】
0003705297.tif 000003
【図３】
0003705297.tif 000004
【図４】
0003705297.tif 000005