(57)【要約】【課題】  モバイルアドホックネットワークにおける送信ノードと受信ノードとの間でＴＣＰ通信を行う場合、転送されたデータパケットに対するＡＣＫ応答パケットの数を減らしながらデータ転送効率を向上できるデータの送受信方法及びその方法を用いたネットワーク装置を提供すること。【解決手段】  送信ホストでデータ転送のためのウィンドウに含まれている所定のパケットにＡＣＫ応答を要求するためのフラグを設定するステップ１と、送信ホストで前記フラグが設定されたパケットや前記ウィンドウに含まれている前記フラグが設定されていない他のパケットを受信ホストに転送するステップ２と、受信ホストで前記ステップ２から転送されたパケットを受信し、受信したパケットのうち、前記フラグが設定されたパケットに対するＡＣＫ応答を転送するステップ３とを含むことを特徴とする。【選択図】  図５
2005051738.tif 000002
【特許請求の範囲】
【請求項１】
送信ホストでデータ転送のためのウィンドウに含まれているパケットの中の所定のパケットにＡＣＫ応答を要求するためのフラグを設定するステップ１と、
送信ホストで前記フラグが設定されているパケットや前記ウィンドウに含まれている前記フラグが設定されていない他のパケットを受信ホストに転送するステップ２と、
受信ホストで前記ステップ２から転送されたパケットを受信し、受信したパケットのうち、前記フラグが設定されたパケットに対するＡＣＫ応答を転送するステップ３とを含むことを特徴とするデータの送受信方法。
【請求項２】
前記ステップ１は、前記受信ホストからＡＣＫ応答を受信する場合に、新しいウィンドウを生成し、生成したウィンドウに含まれているパケットの中の所定のパケットにＡＣＫ応答を要求するためのフラグを設定するステップをさらに含むことを特徴とする請求項１に記載のデータの送受信方法。
【請求項３】
前記ステップ１は、前記受信ホストからＲＴＴ測定のためのＴＣＰセグメントに対するＡＣＫ応答を受信する場合に、新しいウィンドウを生成し、生成したウィンドウに含まれているＲＴＴ測定のための新しいＴＣＰセグメントにＡＣＫ応答を要求するためのフラグを設定するステップをさらに含むことを特徴とする請求項１に記載のデータの送受信方法。
【請求項４】
前記ステップ３は、パケットの損失が発生した場合、前記損失したパケットの前に受信したパケットに対するＡＣＫ応答を転送するステップをさらに含むことを特徴とする請求項１に記載のデータの送受信方法。
【請求項５】
別の第２の無線ネットワーク装置とデータの送受信を行う第１のネットワークインタフェース部と、
前記第２の無線ネットワーク装置に伝送するデータパケットを格納し、前記第１のネットワークインタフェース部に前記パケットを送信する送信バッファと、
前記第１のネットワークインタフェース部から受信したデータがＡＣＫ応答である場合に、前記送信バッファに新しいウィンドウを生成し、生成したウィンドウに含まれているパケットの中の所定のパケットにＡＣＫ応答を要求するためのフラグを設定するようにする送信側のＡＣＫ制御部とを備えることを特徴とする第１の無線ネットワーク装置。
【請求項６】
前記送信側のＡＣＫ制御部は、前記第２の無線ネットワーク装置からＲＴＴ測定のためのＴＣＰセグメントに対するＡＣＫ応答を受信する場合に、前記送信バッファに新しいウィンドウを生成し、生成したウィンドウに含まれているＲＴＴ測定のための新しいＴＣＰセグメントにＡＣＫ応答を要求するためのフラグを設定するようにすることを特徴とする請求項５に記載の第１の無線ネットワーク装置。
【請求項７】
前記第２の無線ネットワーク装置は、前記第１の無線ネットワーク装置からパケットを受信し、前記パケットにＡＣＫ応答を要求するためのフラグが設定されている場合、前記第１の無線ネットワーク装置に前記受信したパケットのＡＣＫ応答を転送することを特徴とする請求項５に記載の第１の無線ネットワーク装置。
【請求項８】
前記第２の無線ネットワーク装置は、前記第１の無線ネットワーク装置からパケットを受信し、前記パケットがＲＴＴ測定のためのＴＣＰパケットである場合、前記第１の無線ネットワーク装置に前記ＴＣＰパケットのＡＣＫ応答を転送することを特徴とする請求項７に記載の第１の無線ネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークモデルの標準案のＯＳＩ(Open System Interconnection)の７階層中のトランスポート層(transport layer)を用いたデータの送受信に関し、より詳しくは、モバイルアドホックネットワークにおけるトランスポート層(transport layer)のＴＣＰ(Transmission Control Protocol)を用いた効率的なデータの送受信方法に関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２.１１を使用するモバイルアドホックネットワークにおいては、通信チャンネルを全てのノードで共有している。従って、同じ通信領域内にある全てのノードは、同じチャンネルを使用して通信を行うことになり、転送されたデータがお互いに衝突したり、損失したりしやすい。また、無線ネットワークの特性上、リンク階層の転送信頼度が大きく低下することになる。この点を克服するために、トランスポート層レベルでＴＣＰを使用して信頼性のあるデータ転送を行う方案も提示されている。
【０００３】
図１は、従来のＴＣＰ動作を示す図であり、送信者は、受信者にパケットを転送し、受信者は、前記転送されたパケットに対する確認応答パケット（以下、ＡＣＫ応答パケットと略記する）を送信者に転送する。このとき、受信者は、現在まで受信した連続的なパケットのシーケンス番号の最大値を保持し、ＡＣＫ応答パケットを転送しているため、２'ＡＣＫ応答パケットのように、一部のＡＣＫ応答パケットが損失しても送信者からの転送量が減らないようにする。
【０００４】
ＴＣＰは、ＴＣＰ/ＩＰアーキテクチャのうち、トランスポート層に属するプロトコルであって、主としてデータのフローやエラーの制御を行っている。特に、ＴＣＰは、データフロー制御のために、「ウィンドウ」という概念を導入しており、応用プログラムによって転送されるデータがバッファに格納されると、ウィンドウの大きさ分だけ転送される。このとき、ウィンドウの大きさは、宛先のホストまたはネットワークの混雑度(network congestion)により決定され、増加または減少したりすることもある。特に、ＴＣＰでは、スライディングウィンドウ方式を用いているが、このようにウィンドウ概念を用いることにより、無線リンクの使用効率を極大化することが可能となる。
【０００５】
しかし、ＴＣＰでは、殆どのパケットに対してＡＣＫ応答パケットを発生しているため、データパケットとのチャンネルの競合が増えることもある。また、ＲＴＳ/ＣＴＳ方式を用いる無線環境において、ＡＣＫ応答パケットにより無線ネットワークのチャンネルの使用率は、大きく低下することもある。 従って、このような点を克服するために、ＡＣＫ応答パケットを減らす必要が出てきている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記問題点に鑑みなされたものであり、モバイルアドホックネットワークにおいて、送信ノードと受信ノードとの間でＴＣＰ通信を行なう場合、転送されたデータパケットに対するＡＣＫ応答パケットの数を減少しながらデータ転送効率を向上できるデータの送受信方法及びその方法を用いたネットワーク装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明の実施の形態によるモバイルアドホックネットワークにおけるトランスポート層を用いた効率的なデータの送受信方法は、送信ホストでデータ転送のためのウィンドウに含まれている所定のパケットにＡＣＫ応答を要求するためのフラグを設定するステップ１と、送信ホストで前記フラグが設定されているパケットや前記ウィンドウに含まれている前記フラグが設定されていない他のパケットを受信ホストに転送するステップ２と、受信ホストで前記ステップ２から転送されたパケットを受信し、受信したパケットのうち、前記フラグが設定されたパケットに対するＡＣＫ応答を転送するステップ３とを含むことを特徴とする。 
【０００８】
また、前記ステップ１は、前記受信ホストからＡＣＫ応答を受信する場合に、新しいウィンドウを生成し、生成したウィンドウに含まれている所定のパケットにＡＣＫ応答を要求するためのフラグを設定するステップをさらに含むことか好ましい。
【０００９】
また、前記ステップ１は、前記受信ホストからＲＴＴ測定のためのＴＣＰセグメントに対するＡＣＫ応答を受信する場合に、新しいウィンドウを生成し、生成したウィンドウに含まれているＲＴＴ測定のための新しいＴＣＰセグメントにＡＣＫ応答を要求するためのフラグを設定するステップをさらに含むことが好ましい。 
【００１０】
一方、前記ステップ３は、パケットの損失が発生した場合、前記損失したパケットの前に受信したパケットに対するＡＣＫ応答を転送するステップをさらに含むことを特徴とする。
【００１１】
さらに、本発明の実施の形態によるモバイルアドホックネットワークにおけるトランスポート層を用いてデータを送受信するためのネットワーク装置は、別の第２の無線ネットワーク装置とデータの送受信を行う第１のネットワークインタフェース部と、前記第２の無線ネットワーク装置に転送するデータパケットを格納し、前記第１のネットワークインタフェース部に前記パケットを送信する送信バッファと、前記第１のネットワークインタフェース部から受信したデータがＡＣＫ応答である場合に、前記送信バッファに新しいウィンドウを生成し、 生成したウィンドウに含まれている所定のパケットにＡＣＫ応答を要求するためのフラグを設定するようにする送信側のＡＣＫ-制御部とを備えることを特徴とする。
【００１２】
また、前記送信側のＡＣＫ制御部は、前記第２の無線ネットワーク装置からＲＴＴ測定のためのＴＣＰセグメントに対するＡＣＫ応答を受信する場合に、前記送信バッファに新しいウィンドウを生成し、生成したウィンドウに含まれているＲＴＴ測定のための新しいＴＣＰセグメントにＡＣＫ応答を要求するためのフラグを設定するようにすることが好ましい。
【００１３】
また、前記第２の無線ネットワーク装置は、前記第１の無線ネットワーク装置からパケットを受信し、前記パケットにＡＣＫ応答を要求するためのフラグが設定されている場合、前記第１の無線ネットワーク装置に前記受信したパケットのＡＣＫ応答を転送することを特徴とする。このとき、前記第２の無線ネットワーク装置は、前記第１の無線ネットワーク装置からパケットを受信し、前記パケットがＲＴＴ測定のためのＴＣＰパケットである場合、前記第１の無線ネットワーク装置に前記ＴＣＰパケットのＡＣＫ応答を転送することが好ましい。
【発明の効果】
【００１４】
このような本発明によるモバイルアドホックネットワークにおけるトランスポート層を用いた効率的なデータの送受信方法及びその方法を用いたネットワーク装置によれば、モバイルアドホックネットワークにおいて、データパケットに対するＡＣＫ応答パケットを減少することにより、ＴＣＰリンクの使用効率を向上させ、トランスポート層のプロトコルの性能も向上することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好ましい実施の形態を、添付図面に基づいて詳しく説明する。
なお、モバイルアドホックネットワークにおいては、それぞれの端末が送信ホストや受信ホストとしての役割を共に行うことができるため、パケットを転送する端末を送信ホストとし、パケットを受信し、受信したパケットに対するＡＣＫ応答を行う端末を受信ホストとして本発明の実施の形態を説明する。
【００１６】
図２は、本発明の実施の形態によるＴＣＰパケットの転送を示す図であり、送信ホストは、ＴＣＰパケットを転送するために、ウィンドウを使用して転送パケットの量を調節する。即ち、送信ホストは、パケットの転送のために、新たに開いたウィンドウに含まれているパケットの中の一番目のパケットのヘッダにＡＣＫ応答を要求するフラグ２１０、２２０を設定し、受信ホストは、前記フラグが設定されたパケットを受信する場合にのみＡＣＫ応答パケットを前記送信ホストに転送する。
【００１７】
図３は、本発明の実施の形態により、ＴＣＰパケットの損失が発生した場合の処理方法を示す図であり、送信ホストが転送したパケットが損失する場合、受信ホストは、参照番号の３１０の位置でパケットが損失したことが分かる。このような場合には、前記損失したパケットの再転送を要求するＡＣＫ応答パケットを送信ホストに転送することにより、前記損失したパケットを復元することが可能となる。
【００１８】
図４は、本発明の実施の形態による送信ホストのデータ転送過程を示す一実施の形態のフローチャートであり、送信ホストは、受信ホストからＡＣＫ応答パケットを受信する(Ｓ４００)。次いで、送信ホストは、受信したＡＣＫ応答パケットを処理する(Ｓ４０５)。もし、前記受信したＡＣＫ応答パケットがデータパケットに対する応答に対応する場合には、次のステップに進むことになる。しかし、前記受信したＡＣＫ応答パケットがＲＴＴ(Round-trip time)の測定のためのパケットに対する応答に対応する場合には、ＴＣＰにおいて使用するＲＴＴ演算方法によりＲＴＴを計算し、ＲＴＴの測定のために、転送するパケットのデータ領域にAck_Flag_info値を設定する。前記Ack_Flag_info値は、後で転送するＴＣＰパケットのヘッダにＡＣＫ応答を要求するフラグを設定するときに用いられる。ＴＣＰは、ＲＴＴ測定のために、ＲＴＴ当たり一つのパケットのみを用いる。従って、前記のように、ＲＴＴの測定に用いられるパケットに対してＡＣＫ応答パケットを受信するように構成することにより、ＲＴＴの測定を行うことが可能となる。また、受信したＡＣＫ応答が既に送信したデータパケットの損失によるＡＣＫ応答である場合でも、前記損失したパケットを再送信する必要があり、前記ＲＴＴ測定のためのパケットに対する応答である場合の処理過程と同じ過程を経ることになる。
【００１９】
送信ホストが前記したようなＡＣＫ応答に対する処理を終了すると、新しいウィンドウを生成することになる(Ｓ４１０)。このとき、データパケットに対するＡＣＫ応答パケットを受信すると、追加してパケットを送信することができる。しかし、 パケットの転送エラーなどによるＡＣＫ応答である場合、あるいは、受信ホストの受信バッファに余裕がない場合には、エラー処理が先に行われるか、あるいは、受信バッファに余裕ができるまで待機状態に保持する(Ｓ４１５)。
【００２０】
新しいウィンドウが生成し(Ｓ４１０)、追加してパケットを転送できる場合に（Ｓ４２５で「はい」）、送信ホストは、パケットのデータの領域にAck_Flag_info値が設定されているかどうかを確認する(Ｓ４２０)。このとき、もし、前記Ack_Flag_info値が設定されていないと（Ｓ４２０で「いいえ」）、前記パケットは、受信ホストからＡＣＫ応答を要求しないパケットを意味し、この場合には、送信ホストは、前記パケットを受信ホストに転送することになる(Ｓ４３０)。もし、前記Ack_Flag_info値が設定されていると（Ｓ４２０で「はい」）、送信ホストは、データの領域にある前記 Ack_Flag_info値を解除し、パケットのヘッダにＡＣＫ応答を要求するフラグを設定する(Ｓ４２５)。この場合、ＴＣＰヘッダの「reserved」フィールドまたは「option」フィールドを利用して前記フラグを設定することができる。ヘッダに前記ＡＣＫ応答を要求するフラグが設定されている場合、 受信ホストが前記パケットを受信すると、ＡＣＫ応答を行うことになる。送信ホストが受信ホストにパケットを転送し(Ｓ４３０)、その後、生成したウィンドウに含まれているパケットを追加して送信できるかどうかを確認することにより(Ｓ４１０)、前記過程を繰り返すことになる。 
【００２１】
図５は、本発明の実施の形態による受信ホストのデータ転送過程を示す一実施の形態のフローチャートである。
受信ホストが送信ホストからパケットを受信すると(Ｓ５００)、前記受信ホストは、前記受信したパケットから送信ホストが既に送信したパケットに対してパケットの損失があったかどうかを判断する(Ｓ５１０)。このとき、もし、パケットの損失が発生した場合には（Ｓ５１０で「はい」）、 ＡＣＫ応答を送信ホストに転送する(Ｓ５４０)。このとき、 受信ホストにおいてパケットの損失が発生したかどうかを判断する過程(Ｓ５１０)と、これに対するＡＣＫ応答を転送する過程(Ｓ５４０)とは、既存のＴＣＰパケットのフロー制御方法を用いる。
【００２２】
一方、前記ステップＳ５１０でパケットの損失が発生していないことが確認された場合には（Ｓ５１０で「いいえ」）、受信したパケットのヘッダにＡＣＫ応答要求のためのフラグが設定されているかどうかを調べる(Ｓ５２０)。もし、設定されていると（Ｓ５２０で「はい」）、ＡＣＫ応答を送信ホストに転送する(Ｓ５４０)。もし、前記フラグが設定されていないと（Ｓ５２０で「いいえ」）、受信したパケットを受信アプリケーションに転送する(Ｓ５３０)。
【００２３】
図６は、本発明の実施の形態によるＴＣＰ通信を行う送信ホストや受信ホストのブロック図である。
図６では、説明の便宜上、データパケットを転送するネットワーク装置を送信ホスト６１０とし、前記データパケットを受信し、ＡＣＫ応答パケットを転送するネットワーク装置を受信ホスト６５０とする。ＴＣＰ通信を行うネットワーク装置は、データの送信や受信の両方が可能であるため、前記送信ホスト６１０が受信ホストとしての役割を果たし、前記受信ホスト６５０が送信ホストとしての役割を果たすことができるのは、当業界の通常の知識を有する者にとっては、明らかなことであろう。従って、送信ホスト６１０や受信ホスト６５０は、ネットワークインタフェース６３０、６７０と、受信バッファ６２０、６６５と、送信バッファ６２５、６６０と、ＡＣＫ制御部６１５、６５５とを共通して備えてもよく、ここでは、説明の便宜上、対称させた構造としている。
【００２４】
送信アプリケーションプログラム６３５から第１の送信バッファ６２５に、受信ホスト６５０に転送するデータが伝達されると、第１の送信バッファ６２５は、 前記伝達されたデータを格納する。一方、第１のネットワークインタフェース６３０が受信ホスト６５０からＡＣＫ応答パケットを受信すると、これは、第１の受信バッファ６２０に格納される。第１のＡＣＫ制御部６１５は、前記第１の受信バッファ６２０に格納されているＡＣＫ応答パケットの種類を調べ、もし、データパケットに対するＡＣＫ応答パケットである場合には、新しいウィンドウを生成する。その次、前記第１のＡＣＫ制御部６１５は、前記第１の送信バッファ６２５に格納されているデータパケットのうち、前記新しいウィンドウに属する一番目のパケットのヘッダにＡＣＫ応答を要求するフラグを設定する。次いで、前記第１のＡＣＫ制御部６１５は、前記ウィンドウに含まれている各データパケットを前記第１のネットワークインタフェース６３０を介して受信ホスト６５０に転送する。
【００２５】
一方、受信ホスト６５０は、第２のネットワークインタフェース６７０を介して送信ホスト６１０から転送されてきたデータパケットを受信し、受信したデータパケットを第２の受信バッファ６６５に格納する。
【００２６】
このとき、第２のＡＣＫ制御部６５５は、前記第２の受信バッファ６６５に格納されているパケットのヘッダに前記ＡＣＫ応答を要求するフラグが設定されているかどうかを調べる。もし、前記フラグが設定されていない場合には、受信アプリケーションプログラム６７５に前記格納されたパケットを送信する。もし、前記フラグが設定されている場合には、ＡＣＫ応答パケットを第２の送信バッファ６６０に伝達し、第２の送信バッファ６６０は、これを第２のネットワークインタフェース６７０を介して送信ホスト６１０に転送する。
【００２７】
以上のように、上記実施の形態を参照して詳細に説明され図示されたが、本発明は、これに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、他の多くの変更が可能であろう。また、本発明は、添付の特許請求の範囲により解釈されるべきであることは言うまでもない。
【図面の簡単な説明】
【００２８】
【図１】従来のＴＣＰ動作を示す図である。
【図２】本発明の実施の形態によるＴＣＰパケットの転送を示す図である。
【図３】本発明の実施の形態によるＴＣＰパケットの損失が発生した場合の処理過程を示す図である。
【図４】本発明の実施の形態による送信ホストのデータ転送過程を示すフローチャートである。
【図５】本発明の実施の形態による受信ホストのデータ転送過程を示すフローチャートである。
【図６】本発明の実施の形態によるＴＣＰ通信を行う送信ホストや受信ホストを示すブロック図である。
【符号の説明】
【００２９】
６１５    第１のＡＣＫ制御部
６２０    第１の受信バッファ
６２５    第１の送信バッファ
６３０    第１のネットワークインタフェース
６３５    送信アプリケーションプログラム
６５５    第２のＡＣＫ制御部
６６０    第２の送信バッファ
６７０    第２のネットワークインタフェース
６７５    受信アプリケーションプログラム
【図１】
2005051738.tif 000003
【図２】
2005051738.tif 000004
【図３】
2005051738.tif 000005
【図４】
2005051738.tif 000006
【図５】
2005051738.tif 000007
【図６】
2005051738.tif 000008