説明

再送制御プロトコルを用いるデータ転送装置、プログラム及び方法

【課題】契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、TCPがボトルネックとなることがない高速化とを実現するデータ転送装置、プログラム及び方法を提供する。
【解決手段】データ転送装置は、アクセスネットワークから受信したTCPデータパケットを、契約帯域毎にバッファする第1のバッファ群と、バッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する帯域制御手段と、データパケットに対してTCPに基づいて、アクセスネットワークを介して端末へ確認応答を返信する第1の確認応答返信手段と、広域ネットワークへ転送すべきTCPのデータパケットを、UDTのヘッダによってカプセル化するカプセル化手段とを有する。TCP及びUDTは、同一レイヤにおける異なるプロトコルスタックに属するものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再送制御プロトコルに基づくデータパケットを、広域ネットワークを介して伝送するデータ転送装置の技術に関する。
【背景技術】
【0002】
従来、インターネットは、様々な通信事業者のネットワークが相互接続されて構成されており、そのプロトコルも、通信帯域や品質が必ずしも保証されないことを前提としている。これに対し、近年、クラウドコンピューティングサービスや広域イーサネット(登録商標)サービスの発展によって、通信装置間(端末、サーバ等)で、広域ネットワークを介して通信する場合も多くなってきている。一般に、特定の通信事業者によって運用される広域ネットワークは、契約帯域毎に、通信帯域や品質が保証されている。
【0003】
ここで、「広域ネットワーク」とは、例えば広域イーサネットネットワークであって、閉域ネットワークとVLAN(Virtual LAN)技術を活用した、専用線クラスの高いセキュリティを実現したメッシュ型ネットワークである。このような広域ネットワークでは、遅延時間、稼働率(アベイラビリティ)(アクセス回線の二重化)、故障回復時間などのサービス品質保証制度(Service Level Agreement)を設定している。従って、そのようなネットワークに対して、TCPのような高信頼化プロトコルの役目は、必然的に低くなってしまう。専用線と異なって、マルチポイント接続が可能であるために、イントラネットワークの構成変更にも高い自由度が確保される。
【0004】
また、インターネットでは、IP(Internet Protocol)パケットに対する代表的な再送制御プロトコルとして、TCP(Transmission Control Protocol)がある。TCPによれば、データパケットを受信した受信先通信装置が、送信元通信装置へ確認応答ACK(Acknowledge)メッセージを返信することにより、データパケットの到達性を保証する。データパケットを損失しても、送信元通信装置が、そのデータパケットを再送信することにより、データ転送の高信頼化を実現する。
【0005】
従来技術によれば、データパケットを中継するデータ転送装置が、一定のデータパケットを受信した際に確認応答ACKを送信元通信装置へ返信することによって、送信元通信装置からデータパケットが送信されるスループットを向上させる技術がある(例えば特許文献1参照)。この技術によれば、受信側データ転送装置が、受信可能なバッファ量(輻輳状態)を、送信元データ転送装置へ通知する。これによって、送信元データ転送装置は、送信元通信装置に対して、確認応答ACKを返信するタイミングを制御する。
【0006】
また、データ転送装置における伝送レートを、中継するネットワークにおけるRTT(Round Trip Time)や輻輳状態に応じて動的に制御する技術もある(例えば特許文献2参照)。この技術によれば、伝送レートを決定する際に、他のトラヒック(TCP等)と平衡状態にするための目標レートを算出する。
【0007】
更に、複数のフローをデータ転送装置で1つのネットワークパスにまとめて転送する際に、各フローに割り当てるレートを動的に設定する技術もある(例えば特許文献3参照)。また、送信側データ転送装置が、受信側データ転送装置からのポーズフレームを受信した場合、送信レートを落とす技術もある(例えば特許文献4参照)。更に、複数の他の通信装置に対するデータ転送時間を、データ転送レートに応じた時間とする技術もある(例えば特許文献5参照)。
【0008】
尚、設定された帯域に収まるように、ネットワークを流れるフロー数を制御(新規フローの許可、既存フローの終了)する技術もある(例えば非特許文献1参照)。また、スイッチにおける輻輳発生時に、その輻輳の原因となる送信元スイッチへ輻輳通知を送信し、送信レートを抑えさせる技術もある(例えば非特許文献2参照)。この技術によれば、複数のトラヒックが輻輳に関係している場合、全てのトラヒックが送信レートを落とすこととなり、帯域に空きが生じる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】WO2008/005629
【特許文献2】特表2008−526132号公報
【特許文献3】WO2009/032259
【特許文献4】特開2004−159203号公報
【特許文献5】特開2007−295217号公報
【非特許文献】
【0010】
【非特許文献1】RFC5559、「Pre-Congestion Notification (PCN)Architecture」、[online]、[平成22年9月18日検索]、インターネット<URL:http://tools.ietf.org/html/rfc5559>
【非特許文献2】IEEE802.1Qau、「輻輳通知」、[online]、[平成22年9月18日検索]、インターネット<URL:http://wbb.forum.impressrd.jp/report/20090513/725>
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、契約帯域が保証された広域ネットワークが伝送路として介在する場合、通信装置間の伝送スループットに対して、TCPが大きなボトルネックとなっている。送信元通信装置は、データパケットを送信した後、受信先通信装置から確認応答ACKを待つ。そのために、広域ネットワークの契約帯域を大きく(高速に)しても、伝送遅延が大きいほど、伝送スループットが契約帯域まで伸びないという問題がある。
【0012】
TCPデータパケットを直接的に広域ネットワークに適用した場合、再送制御によってデータ転送の高信頼化を実現することができる。TCPに基づく送信元通信装置は、最初に小さいウインドウ・サイズで送信を開始し、受信先通信装置は、受信能力に余裕があると判断した場合、ウインドウ・サイズを大きくした確認応答ACKを送信元通信装置へフィードバックする。この繰り返しによって、ウインドウ・サイズが調整される。しかしながら、広域ネットワークによれば、長距離通信となるほど伝送遅延が大きくなり、確認応答ACKにおける遅延も大きくなり、結局、広域ネットワークの伝送スループットを十分に利用することができなくなる。即ち、TCPによれば、長距離通信で伝送スループットが十分に出ない原因の一つは、連続して送信するパケット数(ウインドウ・サイズ)を、通信装置間で、適切な値に調整するまでに時間がかかるからである。
【0013】
これに対し、高速化を実現するUDP(User Datagram Protocol)は、再送制御機能を備えていないので、データ転送の高信頼化を実現することができない。
【0014】
尚、前述したいずれの従来技術であっても、送信元通信装置->送信側データ転送装置->受信側データパケット転送装置->受信先通信装置の経路について、送信側データパケット転送装置−受信側データ転送装置間で特有の制御を要する。即ち、伝送スループットを高速化するためのデータ転送装置間の特有の制御は、通信装置間に適用されるプロトコルを考慮したものでない。
【0015】
そこで、本発明は、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、TCPがボトルネックとなることがない高速化とを実現するデータ転送装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明によれば、通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置において、
アクセスインタフェースを介して、通信装置間における第1の再送制御プロトコルのコネクションの確立を中継する第1のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第2のコネクション確立手段と、
アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第1のバッファ群と、
第1のバッファ群のバッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する帯域制御手段と、
第1のバッファ群から出力されたデータパケットに対して、第1の再送制御プロトコルに基づいて、アクセスネットワークインタフェースを介して通信装置へ確認応答(Acknowledge)を返信する第1の確認応答返信手段と、
広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とする。
【0017】
本発明のデータ転送装置における他の実施形態によれば、
第1の再送制御プロトコルは、TCP(Transmission Control Protocol)であり、
第2の再送制御プロトコルは、UDT(UDP(User Datagram Protocol)-based data transfer)であることも好ましい。
【0018】
本発明のデータ転送装置における他の実施形態によれば、
相手方データ転送装置から広域ネットワークインタフェースを介して受信した第2の再送制御プロトコルのデータパケットに対して、第2の再送制御プロトコルに基づいて、相手方データ転送装置へ確認応答ACKを返信する第2の確認応答返信手段と、
第2の再送制御プロトコルのデータパケットについて、第2の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第1の再送制御プロトコルのデータパケットを、第1の再送制御プロトコルに基づいて、契約帯域毎に一時的にバッファする第2のバッファ群と
を有し、
第2のバッファ群から出力された第1の再送制御プロトコルのデータパケットを、アクセスネットワークインタフェースによって、アクセスネットワークへ転送することも好ましい。
【0019】
本発明のデータ転送装置における他の実施形態によれば、
確認応答ACKの送信元アドレス及び宛先アドレスは、データパケットの送信元アドレス及び宛先アドレスと異なっており、予め対応付けられており、
第2の確認応答返信手段は、確認応答ACKを、広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
確認応答ACKの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されていることも好ましい。
【0020】
本発明のデータ転送装置における他の実施形態によれば、
帯域制御手段は、契約帯域に基づく出力すべきデータパケットの量を、トークンによって制御しており、
第2のバッファ群の各バッファについて、TCPデータパケットが所定閾値以上にバッファされた際に、送信側データ転送装置へ輻輳通知を送信する輻輳通知手段と、
受信側データ転送装置から、輻輳通知を受信した際に、帯域制御手段に対してトークンの発行時間間隔を長くするべく指示するトークン制御手段と
を有し、
送信元通信装置に対する確認応答ACKの返信時間間隔が長くなり、アクセスネットワークにおける伝送レートが抑えられることも好ましい。
【0021】
本発明のデータ転送装置における他の実施形態によれば、トークン制御手段は、抑えられた伝送レートを、AIMD(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御することも好ましい。
【0022】
本発明のデータ転送装置における他の実施形態によれば、輻輳通知手段から送信される輻輳通知は、第2の再送制御プロトコルヘッダの制御情報部分に、第2のバッファ群における輻輳に達したバッファに基づく通信装置側識別子を含め、
トークン制御手段は、輻輳通知を受信した際に、当該第2の再送制御プロトコルヘッダの制御情報部分に含まれた端末側識別子を取得し、帯域制御手段へ、当該通信装置側識別子に対応する第1のバッファ群のバッファにおけるトークンの発行時間間隔を長くするべく指示することも好ましい。
【0023】
本発明のデータ転送装置における他の実施形態によれば、第1のバッファ群及び/又は第2のバッファ群における契約帯域毎のバッファは、VLAN(Virtual LAN)毎に備えられていることも好ましい。
【0024】
本発明によれば、通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置に搭載されたコンピュータを機能させるプログラムにおいて、
アクセスネットワークインタフェースを介して、通信装置間における第1の再送制御プロトコルのコネクションの確立を中継する第1のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第2のコネクション確立手段と、
アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第1のバッファ群と、
第1のバッファ群のバッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する帯域制御手段と、
第1のバッファ群から出力されたデータパケットに対して、第1の再送制御プロトコルに基づいて、アクセスネットワークインタフェースを介して通信装置へ確認応答(Acknowledge)を返信する第1の確認応答返信手段と、
広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とする。
【0025】
本発明によれば、通信装置に対してアクセスネットワークを介して接続すると共に、通信事業者によって帯域管理された広域ネットワークに接続するデータ転送装置におけるデータ転送方法において、
アクセスネットワークを介して通信装置間における第1の再送制御プロトコルのコネクションの確立を中継すると共に、広域ネットワークを介して相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第1のステップと、
アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第2のステップと、
バッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する第3のステップと、
第1のバッファ群から出力されたデータパケットに対して、第1の再送制御プロトコルに基づいて、アクセスネットワークインタフェースを介して端末へ確認応答(Acknowledge)を返信する第4のステップと、
広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化する第5のステップと、
カプセル化されたデータパケットを広域ネットワークに転送する第6のステップと
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とする。
【発明の効果】
【0026】
本発明のデータ転送装置、プログラム及び方法によれば、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、TCPがボトルネックとなることがない高速化とを実現することができる。
【図面の簡単な説明】
【0027】
【図1】本発明におけるシステム構成図である。
【図2】本発明におけるシーケンス図である。
【図3】本発明のデータ転送装置におけるデータ送信機能の構成図である。
【図4】本発明におけるデータ転送装置のレイヤ構成図である。
【図5】本発明のデータ転送装置におけるデータ受信機能の構成図である。
【図6】本発明における輻輳通知に基づくシーケンス図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0029】
図1は、本発明におけるシステム構成図である。
【0030】
図1によれば、広域ネットワーク3とアクセスネットワーク4との間に、複数のデータ転送装置1が接続されている。広域ネットワーク3は、通信事業者によって帯域管理されたものである。即ち、通信事業者は、契約企業向けの契約帯域を十分に確保するべきサービスを提供する。
【0031】
通信装置2は、例えば企業の部門内LAN(Local Access Network)に接続されたものであって、アクセスネットワーク4を介してデータ転送装置1と通信する。これによって、通信装置2は、データ転送装置1を介して広域ネットワークに接続する。そして、通信装置2は、広域ネットワークを介して相手方通信装置と通信することができる。
【0032】
また、図1によれば、広域ネットワークに、ネットワーク資源管理装置5が接続されている。ネットワーク資源管理装置5は、データ転送装置1に対して、ユーザ毎の契約情報に応じて、契約帯域を制御する。
【0033】
図2は、本発明におけるシーケンス図である。
【0034】
図2によれば、通信装置(端末又はサーバ)間は、TCP(第1の再送制御プロトコル)によってコネクションの確立を中継する。本発明によれば、更に、広域ネットワークを介したデータ転送装置−データ転送装置間は、UDT(UDP(User Datagram Protocol)-based data transfer)(第2の再送制御プロトコル)によってコネクションが確立される。UDTは、データパケットの伝送フレームに、UDP(User Datagram Protocol)を用いる。ここで、データ転送装置1は、TCPデータパケットに対して、UDT+UDPヘッダをカプセル化/デカプセル化する機能を有する。
【0035】
「UDT」は、UDPベースのプロトコルであって、定期的に受信先通信装置によって利用できる帯域幅を測定し、それに基づいたウインドウ・サイズを送信元通信装置へ通知する。送信元通信装置は、そのウインドウ・サイズの分だけパケットを送信する。実際のパケットの転送には、UDPを用いる。この仕組みによって、常に限界近くのスループットまでデータパケットの伝送が可能となる。
【0036】
これによって、データ転送装置間は、広域ネットワークを介して、UDT+UDPヘッダによってカプセル化されたTCPデータパケットを転送する。TCPに基づく確認応答ACKの交換については、通信装置−データ転送装置間で実行する。一方で、UDTに基づく確認応答ACKの交換は、データ転送装置−データ転送装置間で実行する。
【0037】
尚、UDTによれば、一般に、833個のデータパケット当たり、1個の確認応答ACKを返信する。
【0038】
図3は、本発明のデータ転送装置におけるデータ送信機能の構成図である。
【0039】
図3によれば、データ転送装置1は、通信装置2との間でアクセスネットワーク4を介して接続するアクセスネットワークインタフェース101と、通信事業者によって帯域管理された広域ネットワーク3に接続する広域ネットワークインタフェース102とを有する。
【0040】
また、図3によれば、データ転送装置1は、第1のコネクション確立中継部111と、第2のコネクション確立部112と、データパケット送信機能と、データパケット受信機能とを有する。これらの機能構成部は、データ転送装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【0041】
第1のコネクション確立中継部111は、通信装置2間でTCP(第1の再送制御プロトコル)のコネクションの確立を中継する。
【0042】
第2のコネクション確立部112は、相手方データ転送装置との間でUDT(第2の再送制御プロトコル)のコネクションを確立する。
【0043】
データパケット送信機能としては、第1のバッファ群121と、帯域制御部122と、第1の確認応答返信部123と、カプセル化部124と、再送用バッファ125と、第1の確認応答受信部126と、トークン制御部127とを有する。
【0044】
第1のバッファ群121は、アクセスネットワークインタフェース101を介して受信したTCPデータパケットを、契約帯域毎にバッファする。ここで、契約帯域毎とは、例えばVLAN(Virtual LAN)毎であってもよい。
【0045】
帯域制御部122は、契約帯域に基づいて、第1のバッファ群121のバッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する。即ち、契約帯域には、伝送レートが設定されている。また、帯域制御部122は、データパケットとして送信すべきデータ量を、トークンによって制御する。これは、一般に「トークンバケットレート制御」とも称される。
【0046】
「トークンバケットレート制御」とは、データパケットをトークンバケットアルゴリズムによるレートで送信する。トークンとは、送信単位量を表す送信権利をいう。トークンバケットレート制御は、トークンバケットに蓄積されたトークンに応じて、データパケットを送信するアルゴリズムである。このアルゴリズムは、トークンレートと、トークンバケットサイズと、バッファサイズとの3つのパラメータを有する。
【0047】
トークンバケットには、一定のトークンレートで常に新たなトークンが補充される。但し、トークンバケットのトークンバケットサイズを溢れたトークンは、破棄される。同様に、データパケットのバッファから溢れたデータパケットも、破棄される。バッファに入力されたデータパケットは、同量のトークンと一緒にバッファから出力される。トークンがトークンバケットに存在しなければ、その時点ではデータパケットは送信されない。そのデータパケットを送信するに必要なトークンが補充され、パケットバッファから出力される。バッファからのデータパケットの出力レートの平均は、トークンレート以下に制限され、最大バースト長は、トークンバケットサイズ以下に制限される。
【0048】
また、帯域制御部122は、契約に応じて、以下の2つのいずれかの動作を実行する
(1)広域ネットワークインタフェースにおける物理伝送レートに余剰がある限り、バッファからの出力レートは、契約帯域を超えてもの制限されない。例えば、物理伝送レート1Gbpsに対して、契約帯域の合計値が300Mbpsである場合、余剰伝送レートは、700Mbpsとなる。
(2)広域ネットワークインタフェースにおける物理伝送レートに余剰があっても、バッファからの出力レートは、契約帯域に制限される。
【0049】
第1の確認応答返信部123は、第1のバッファ群121から出力されたTCPデータパケットに対して、TCPに基づいて、アクセスネットワークインタフェース101を介して端末2へ確認応答ACKを返信する。これによって、TCPにおける確認応答ACKのみを、送信元通信装置−送信側データ転送装置で終端する。そして、第1の確認応答返信部123は、TCPデータパケットをカプセル化部124へ出力する。
【0050】
カプセル化部124は、第1の確認応答返信部123から出力されたTCPデータパケットについて、UDT+UDPヘッダによってカプセル化する。カプセル化されたデータパケットは、広域ネットワークインタフェース102によって、相手方データ転送装置へ送信される。
【0051】
図4は、本発明におけるデータ転送装置のレイヤ構成図である。
【0052】
図4によれば、通信装置2からIP+TCPデータパケットを受信し、そのIP+TCPデータパケットは、UDTレイヤへ転送される。UDTレイヤは、UDTヘッダを付加し、UDT+IP+TCPデータパケットを生成し、UDPレイヤへ転送する。UDPレイヤは、UDPヘッダを付加し、UDP+UDT+IP+TCPデータパケットを、IPレイヤへ転送する。IPレイヤは、自データ転送装置を送信元とし、相手方データ転送装置を送信先としたIPヘッダを付加し、IP+UDP+UDT+IP+TCPデータパケットを送信する。
【0053】
再送用バッファ125は、相手方データ転送装置へ送信されるデータパケットを一時的にバッファする。相手方データ転送装置との間で誤り検出されたデータパケットは、再送される。また、受信が確認されたデータパケットは、破棄される。
【0054】
第1の確認応答受信部126は、相手方データ転送装置から、確認応答ACKを受信する。受信された確認応答ACKに基づいて、再送用バッファ125が制御される。
【0055】
トークン制御部127は、相手方データ転送装置から、輻輳通知を受信した際に、帯域制御部122に対してトークンの発行時間間隔を長くするべく指示する。これによって、送信元通信装置に対する確認応答ACKの返信時間間隔が長くなり、アクセスネットワークにおける伝送レートが抑えられる。
【0056】
また、トークン制御部127は、抑えられた伝送レートを、AIMD(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御する。AIMDによれば、送信元通信装置は、確認応答ACKを受信することによって、データパケットが到達したことを確認する毎に、伝送レートを上げる。一方で、データパケットが到達せず、確認応答ACKを受信できなかった際に、伝送レートを下げる。伝送レートを上げる際は加算的に、伝送レートを下げる際は乗算的に行う。AIMDによれば、伝送レートは、頻繁に変化する。
【0057】
更に、トークン制御部127は、輻輳通知を受信した際に、UDTプロトコルヘッダの制御情報部分に含まれた通信装置側識別子を取得する。通信装置側識別子は、例えばVLANタグであってもよい。トークン制御部127は、帯域制御部122へ、その通信装置側識別子に対応する第1のバッファ群のバッファにおけるトークンの発行時間間隔を長くするべく指示する。
【0058】
図5は、本発明のデータ転送装置におけるデータ受信機能の構成図である。
【0059】
図5のデータ転送装置によれば、データパケット受信機能としては、第2の確認応答返信部131と、デカプセル化部132と、第2のバッファ群133と、第2の確認応答受信部134と、輻輳通知部135とを有する。
【0060】
第2の確認応答返信部131は、相手方データ転送装置から広域ネットワークインタフェース102を介して、(UDP+)UDTデータパケットを受信する。そして、第2の確認応答返信部131は、UDTデータパケットに対して、UDTに基づいて、広域ネットワークインタフェース102を介して相手方データ転送装置へ、確認応答ACKを返信する。
【0061】
ここで、第2の確認応答返信部131は、確認応答ACKを、広域ネットワークについて通信装置と相手方データ転送装置との間の契約帯域以外の帯域で送信する。ここで、確認応答ACKには、対応する第1のバッファの識別子(例えばVLANタグ)を含む。
【0062】
また、確認応答ACKの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されていることも好ましい。これは、確認応答ACK用のパケットに対して、所定の通信帯域が確保されていることを意味する。例えば契約帯域に対する0.1%であってもよい。確認応答ACK用のパケットは、IPアドレスやVLANによって識別される。
【0063】
デカプセル化部132は、第2の確認応答返信部131から出力されたUDTデータパケットについて、UDTヘッダを取り除き、デカプセル化する。デカプセル化されて残ったTCPデータパケットは、第2のバッファ群133へ出力される。
【0064】
第2のバッファ群133は、デカプセル化されたTCPデータパケットを、契約帯域毎に、一時的にバッファする。第2のバッファ群133の各バッファは、第2の確認応答受信部134における確認応答ACKに応じて、TCPデータパケットを、アクセスネットワークインタフェース101へ出力する。アクセスネットワークインタフェース101は、TCPデータパケットを、アクセスネットワーク4を介して、通信装置2へ送信する。
【0065】
第2の確認応答受信部134は、通信装置2から、確認応答ACKを受信する。受信された確認応答ACKに基づいて、第2のバッファ群133からのデータパケットの出力が制御される。
【0066】
輻輳通知部135は、第2のバッファ群133における各バッファについて、所定閾値以上にTCPデータパケットがバッファされることによって、輻輳状態に達した際に、相手方データ転送装置へ輻輳通知CN(Congestion Notification)を送信する。
【0067】
また、輻輳通知部135は、輻輳通知のUDTヘッダの制御情報部分に、輻輳状態に達した第2のバッファ群のバッファ毎の通信装置側識別子を含める。通信装置側識別子は、例えばVLANタグであってもよい。
【0068】
図6は、本発明における輻輳通知に基づくシーケンス図である。
【0069】
(S61)受信側データ転送装置について、送信側データ転送装置からUDTデータパケットを受信している一方で、受信先通信装置へTCPデータパケットを送信できていない。そのために、受信バッファが輻輳状態にある。このとき、受信側データ転送装置は、送信側データ転送装置へ、輻輳通知を送信する。輻輳通知を受信した送信側データ転送装置は、帯域制御部におけるトークンの発生を抑えることによって、UDTデータパケットのスループットを抑える。
(S62)送信側データ転送装置は、受信側データ転送装置へのUDTデータパケットのスループットを抑えることによって、送信バッファが輻輳状態になる。このとき、送信側データ転送装置は、ウィンドウサイズを小さくした確認応答ACKを、送信元通信装置へ送信する。これによって、送信元通信装置は、TCPデータパケットの送信レートを抑える。
(S63)その後、受信先通信装置2が、大きいウィンドウサイズの確認応答ACKを、受信側データ転送装置へ送信する。これによって、受信側データ転送装置は、バッファに蓄積されていたTCPデータパケットを、受信先通信装置へ送信する。
(S64)その後、受信側データ転送装置における受信バッファの輻輳状態が解消したとする。このとき、受信側データ転送装置は、UDTにおける大きいウィンドウサイズの確認応答ACKを、送信側データ転送装置へ送信する。これによって、送信側データ転送装置は、帯域制御部におけるトークンの発生を通常に戻し、UDTデータパケットのスループットを回復する。
(S65)その後、送信側データ転送装置は、送信バッファの輻輳状態が解消する。このとき、送信側データ転送装置は、ウィンドウサイズを大きくした確認応答ACKを、送信元通信装置へ送信する。これによって、送信元通信装置は、TCPデータパケットの送信レートを回復させる。
【0070】
以上、詳細に説明したように、本発明のデータ転送装置、プログラム及び方法によれば、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、TCPがボトルネックとなることがない高速化とを実現することができる。
【0071】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0072】
1 データ転送装置
101 アクセスネットワークインタフェース
102 広域ネットワークインタフェース
111 第1のコネクション確立中継部
112 第2のコネクション確立部
121 第1のバッファ群
122 帯域制御部
123 第1の確認応答返信部
124 カプセル化部
125 再送用バッファ
126 第1の確認応答受信部
127 トークン制御部
131 第2の確認応答返信部
132 デカプセル化部
133 第2のバッファ群
134 第2の確認応答受信部
135 輻輳通知部
2 通信装置
3 広域ネットワーク
4 アクセスネットワーク
5 ネットワーク資源管理装置

【特許請求の範囲】
【請求項1】
通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置において、
アクセスネットワークインタフェースを介して、前記通信装置間における第1の再送制御プロトコルのコネクションの確立を中継する第1のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、前記相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第2のコネクション確立手段と、
前記アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第1のバッファ群と、
第1のバッファ群のバッファ毎に、当該契約帯域に基づいて、前記データパケットの出力を制御する帯域制御手段と、
第1のバッファ群から出力された前記データパケットに対して、第1の再送制御プロトコルに基づいて、前記アクセスネットワークインタフェースを介して前記通信装置へ確認応答(Acknowledge)を返信する第1の確認応答返信手段と、
前記広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とするデータ転送装置。
【請求項2】
第1の再送制御プロトコルは、TCP(Transmission Control Protocol)であり、
第2の再送制御プロトコルは、UDT(UDP(User Datagram Protocol)-based data transfer)である
ことを特徴とする請求項1に記載のデータ転送装置。
【請求項3】
相手方データ転送装置から前記広域ネットワークインタフェースを介して受信した第2の再送制御プロトコルのデータパケットに対して、第2の再送制御プロトコルに基づいて、前記相手方データ転送装置へ確認応答ACKを返信する第2の確認応答返信手段と、
第2の再送制御プロトコルのデータパケットについて、第2の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第1の再送制御プロトコルのデータパケットを、第1の再送制御プロトコルに基づいて、前記契約帯域毎に一時的にバッファする第2のバッファ群と
を有し、
第2のバッファ群から出力された第1の再送制御プロトコルのデータパケットを、前記アクセスネットワークインタフェースによって、前記アクセスネットワークへ転送する
ことを特徴とする請求項1又は2に記載のデータ転送装置。
【請求項4】
前記確認応答ACKの送信元アドレス及び宛先アドレスは、前記データパケットの送信元アドレス及び宛先アドレスと異なっており、予め対応付けられており、
第2の確認応答返信手段は、前記確認応答ACKを、前記広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
前記確認応答ACKの転送帯域は、前記契約帯域に対する所定割合の帯域が別途確保されていることを特徴とする請求項3に記載のデータ転送装置。
【請求項5】
前記帯域制御手段は、前記契約帯域に基づく出力すべきデータパケットの量を、トークンによって制御しており、
第2のバッファ群の各バッファについて、前記TCPデータパケットが所定閾値以上にバッファされた際に、前記相手方データ転送装置へ輻輳通知を送信する輻輳通知手段と、
前記相手方データ転送装置から、前記輻輳通知を受信した際に、前記帯域制御手段に対して前記トークンの発行時間間隔を長くするべく指示するトークン制御手段と
を有し、
前記通信装置に対する確認応答ACKの返信時間間隔が長くなり、アクセスネットワークの伝送レートが抑えられることを特徴とする請求項3又は4のいずれか1項に記載のデータ転送装置。
【請求項6】
前記トークン制御手段は、抑えられた伝送レートを、AIMD(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御することを特徴とする請求項5に記載のデータ転送装置。
【請求項7】
前記輻輳通知手段から送信される前記輻輳通知は、第2の再送制御プロトコルヘッダの制御情報部分に、第2のバッファ群における輻輳に達したバッファに基づく通信装置側識別子を含め、
前記トークン制御手段は、前記輻輳通知を受信した際に、当該第2の再送制御プロトコルヘッダの制御情報部分に含まれた前記通信装置側識別子を取得し、前記帯域制御手段へ、当該通信装置側識別子に対応する第1のバッファ群のバッファにおける前記トークンの発行時間間隔を長くするべく指示する
ことを特徴とする請求項5又は6に記載のデータ転送装置。
【請求項8】
第1のバッファ群及び/又は第2のバッファ群における契約帯域毎のバッファは、VLAN(Virtual LAN)毎に備えられていることを特徴とする請求項1から7のいずれか1項に記載のデータ転送装置。
【請求項9】
通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置に搭載されたコンピュータを機能させるプログラムにおいて、
アクセスネットワークインタフェースを介して、前記通信装置間における第1の再送制御プロトコルのコネクションの確立を中継する第1のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、前記相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第2のコネクション確立手段と、
前記アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第1のバッファ群と、
第1のバッファ群のバッファ毎に、当該契約帯域に基づいて、前記データパケットの出力を制御する帯域制御手段と、
第1のバッファ群から出力された前記データパケットに対して、第1の再送制御プロトコルに基づいて、前記アクセスネットワークインタフェースを介して前記通信装置へ確認応答(Acknowledge)を返信する第1の確認応答返信手段と、
前記広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とするデータ転送装置用のプログラム。
【請求項10】
通信装置に対してアクセスネットワークを介して接続すると共に、通信事業者によって帯域管理された広域ネットワークに接続するデータ転送装置におけるデータ転送方法において、
アクセスネットワークを介して前記通信装置間における第1の再送制御プロトコルのコネクションの確立を中継すると共に、広域ネットワークを介して前記相手方データ転送装置との間で第2の再送制御プロトコルのコネクションを確立する第1のステップと、
前記アクセスネットワークインタフェースを介して受信した第1の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第2のステップと、
バッファ毎に、当該契約帯域に基づいて、前記データパケットの出力を制御する第3のステップと、
第1のバッファ群から出力された前記データパケットに対して、第1の再送制御プロトコルに基づいて、前記アクセスネットワークインタフェースを介して前記通信装置へ確認応答(Acknowledge)を返信する第4のステップと、
前記広域ネットワークへ転送すべき第1の再送制御プロトコルのデータパケットを、第2の再送制御プロトコルのヘッダによってカプセル化する第5のステップと
カプセル化されたデータパケットを広域ネットワークに転送する第6のステップと
を有し、
第1の再送制御プロトコル及び第2の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とするデータ転送装置のデータ転送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate