JP2008078966A - 通信システム、トンネリング装置、通信方法、およびプログラム - Google Patents

通信システム、トンネリング装置、通信方法、およびプログラム Download PDF

Info

Publication number
JP2008078966A
JP2008078966A JP2006255378A JP2006255378A JP2008078966A JP 2008078966 A JP2008078966 A JP 2008078966A JP 2006255378 A JP2006255378 A JP 2006255378A JP 2006255378 A JP2006255378 A JP 2006255378A JP 2008078966 A JP2008078966 A JP 2008078966A
Authority
JP
Japan
Prior art keywords
tcp
bandwidth
tunnel
band
tcp tunnel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006255378A
Other languages
English (en)
Other versions
JP4998687B2 (ja
Inventor
Atsushi Enomoto
敦之 榎本
Hideaki Yoshimi
英朗 吉見
Zhenlong Cui
珍龍 崔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006255378A priority Critical patent/JP4998687B2/ja
Publication of JP2008078966A publication Critical patent/JP2008078966A/ja
Application granted granted Critical
Publication of JP4998687B2 publication Critical patent/JP4998687B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】本発明の目的は、エンド端末の設定変更なしに、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制する。
【解決手段】本発明は、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けてトンネルに流入するトラフィックの量を抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐ。
【選択図】図1

Description

本発明は、LAN(Local Area Network)同士を、TCPトンネルを介してイーサネット(登録商標)レベルで接続する場合の通信技術に関し、特にトンネル上にボトルネックリンクが存在し、かつエンドエンドの端末同士がTCPを用いて通信する場合に、2つのTCPによる2重の輻輳制御と2重の再送制御とによる性能劣化を抑制する通信技術に関する。
(従来技術1)
従来、LAN(Local Area Network)同士をWAN(Wide Area Network)上のTCPトンネルを介してイーサネットレベルで接続する、レイヤ2トンネリング装置が提案されている(特許文献1)。
レイヤ2トンネリング装置を用いると、離れた場所にあるLAN同士を、WANを介して同一のLANとして利用できる。
(従来技術2)
また従来、TCP通信において、隘路におけるデータの破棄を防止する方法として、通信路制御装置が提案されている(特許文献2)。
ここで、従来技術2について図12を用いて説明する。図12は、従来技術2の構成である。
ボトルネックリンク11は、端末21と端末31とが通信する際に、経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクである。
端末21は、アプリケーション211、TCP212、IP213、およびNIC214で構成される。
通信路制御装置22は、帯域制御回路221、及びバッファ回路222で構成され、ボトルネックリンクの入口でトラフィックの平滑化を行う。一方、帯域制限は、端末21(従来技術ではデータ転送装置や計算機と呼んでいる)においてTCP輻輳ウインドウサイズの最大値を手動で設定変更することにより別途行っている。このため、通信路制御装置22は、従来技術2の明細書中では帯域制限を行っていると記載されているが、実質的には帯域制限は行われず、平滑化のみが行われる。
端末31は、端末21と同様の構成を有し、同様の動作を行う。
通信路制御装置32は、通信路制御装置22と同様の構成を有し、同様の動作を行う。
TCP212は、一般的なTCPプログラムである。
帯域制御回路221は、精密に帯域を制御する回路であり、通信量を制限するとともに、送信量レートが細かく変動することがないよう平滑化するものである。
バッファ回路222は、通信量を平滑化するのに充分なバッファ容量を有するバッファ回路である。
この技術を用いると、隘路よりも送信側に近い箇所で、隘路において利用可能な帯域を越えることがないようにトラフィックの平滑化を行うことで、データの破棄を防止できる。
なお従来技術2においては、平滑化のために充分な大きさが確保された通信路制御装置のバッファ回路を用いており、通信路制御装置においてはデータが破棄されないようになっている。また通信量の制限は、データ送信装置(端末)のTCP輻輳ウインドウサイズの最大値を手動で設定変更することにより行っている。したがって従来技術2の通信量制御装置内の帯域制御回路およびバッファ回路は、通信量の制限を行わず平滑化のみを行っている。
特開2003-069642号 特開2005-151202号
従来技術1においては、特にトンネル上にボトルネックリンクが存在し、かつエンドエンドの端末同士がTCPを用いて通信する場合に、2つのTCPによる2重の輻輳制御と2重の再送制御とにより性能劣化が発生し、通信速度が低下するという問題(TCP over TCP問題)があった。
一方、従来技術2では、端末のTCPパラメータ(最大輻輳ウインドウサイズ)を個々に調整して通信量を制限する必要があるが、一般的に端末の数は通信路制御装置の数に比べて膨大であるため、端末の設定にかかる工数が膨大になるという問題があった。
さらに従来技術2では、隘路の帯域と宛先端末への往復遅延時間を勘案のうえ、手計算で最大輻輳ウインドウサイズを決定しなければならないという問題もあった。
そこで、本発明が解決しようとする課題は、エンド端末の設定変更なしに、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制することを可能とする通信技術を提供することにある。
上記課題を解決するための第1の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムであって、
送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
を有することを特徴とする。
上記課題を解決するための第2の発明は、上記第1の発明において、
前記制御手段は、前記フレームの流量が前記TCPトンネルのボトルネック帯域以下になるようにフレームを欠落させることを特徴とする。
上記課題を解決するための第3の発明は、上記第1の発明において、
前記制御手段は、前記フレームの流量が前記TCPトンネルのボトルネック帯域以下になるように、前記フレームの伝送を遅延させることを特徴とする。
上記課題を解決するための第4の発明は、上記第1から第3のいずれかの発明において、
前記制御手段は、前記TCPトンネルにフレームを流入するトンネリング手段に割り当てる資源を削減することによって制御することを特徴とする。
上記課題を解決するための第5の発明は、上記第1から第4のいずれかの発明において、
測定用データを用いて前記TCPトンネルのボトルネック帯域を測定する測定手段を有し、
前記制御手段は、前記測定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第6の発明は、上記第1から第4のいずれかの発明において、
WAN接続に用いられるノードのリンク速度を調査して前記TCPトンネルのボトルネック帯域を測定する測定手段を有し、
前記制御手段は、前記測定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第7の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムであって、
前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム内に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
を有することを特徴とする。
上記課題を解決するための第8の発明は、上記第7の発明において、
前記制御手段は、
前記受信ウインドウサイズを前記積以下に書き換えることによって、前記フレームの量を制御することを特徴とする。
上記課題を解決するための第9の発明は、上記第7又は第8の発明において、
前記制御手段は、前記確認応答フレームをコピーして重複確認応答を生成することによって、前記フレームの量を制御することを特徴とする。
上記課題を解決するための第10の発明は、上記第7から第9のいずれかの発明において、
測定用データを用いて前記TCPトンネルのボトルネック帯域および往復遅延時間を測定する測定手段を有し、
前記制御手段は、前記測定したボトルネック帯域及び往復遅延時間に基づいて制御することを特徴とする。
上記課題を解決するための第11の発明は、上記第1から第4及び第7から第9のいずれかの発明において、
前記TCPトンネルを通じて到着する帯域計算用情報に基づいて前記TCPトンネルのボトルネックを推定する推定手段を有し、
前記制御手段は、前記推定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第12の発明は、上記第11の発明において、
前記推定手段は、前記TCPトンネルのボトルネック帯域を、前記トンネルを流れる任意の複数フレームの大きさの差と、これらのフレームの片道遅延時間の差とに基づいて推定することを特徴とする。
上記課題を解決するための第13の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムのトンネリング装置であって、
送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
を有することを特徴とする。
上記課題を解決するための第14の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムのトンネリング装置であって、
前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム中に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
を有することを特徴とする。
上記課題を解決するための第15の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムの通信方法であって、
送信側のLANから到着したフレームの流量を監視する監視ステップと、
前記流量が前記TCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御ステップと
を有することを特徴とする。
上記課題を解決するための第16の発明は、上記第15の発明において、
前記制御ステップは、前記流量が前記TCPトンネルのボトルネック帯域以下になるようにフレームを欠落させることを特徴とする。
上記課題を解決するための第17の発明は、上記第15の発明において、
前記制御ステップは、前記流量が前記TCPトンネルのボトルネック帯域以下になるように、前記フレームの伝送を遅延させることを特徴とする。
上記課題を解決するための第18の発明は、上記第15から第17のいずれかの発明において、
前記制御ステップは、前記TCPトンネルにフレームを流入するトンネリング手段に割り当てる資源を削減することを特徴とする。
上記課題を解決するための第19の発明は、上記第15から第18のいずれかの発明において、
測定用データを用いて前記TCPトンネルのボトルネック帯域を測定する測定ステップを有し、
前記制御ステップは、前記測定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第20の発明は、上記第15から第18のいずれかの発明において、
WAN接続に用いられるノードのリンク速度を調査して前記TCPトンネルのボトルネック帯域を測定する測定ステップを有し、
前記制御ステップは、前記測定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第21の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムの通信方法であって、
前記TCPトンネルから流出される確認応答フレームを監視する監視ステップと、
前記確認応答フレーム内に記載されている受信ウインドウサイズが、前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御ステップと
を有することを特徴とする。
上記課題を解決するための第22の発明は、上記第21の発明において、
前記制御ステップは、
前記受信ウインドウサイズを前記積以下に書き換えることを特徴とする。
上記課題を解決するための第23の発明は、上記第21又は第23の発明において、
前記制御ステップは、前記確認応答フレームをコピーして重複確認応答を生成することを特徴とする。
上記課題を解決するための第24の発明は、上記第21から第23のいずれかの発明において、
測定用データを用いて前記TCPトンネルのボトルネック帯域および往復遅延時間を測定する測定ステップを有し、
前記制御ステップは、前記測定したボトルネック帯域及び往復遅延時間に基づいて制御することを特徴とする。
上記課題を解決するための第25の発明は、上記第15から第18及び第21から第23のいずれかの発明において、
前記TCPトンネルを通じて到着する帯域計算用情報に基づいて前記TCPトンネルのボトルネックを推定する推定ステップを有し、
前記制御ステップは、前記推定したボトルネック帯域に基づいて制御することを特徴とする。
上記課題を解決するための第26の発明は、上記第25の発明において、
前記推定ステップは、前記TCPトンネルのボトルネック帯域を、前記トンネルを流れる任意の複数フレームの大きさの差と、これらのフレームの片道遅延時間の差とに基づいて推定することを特徴とする。
上記課題を解決するための第27の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムのプログラムであって、前記プログラムは前記通信システムを、
送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
として機能させることを特徴とする。
上記課題を解決するための第28の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムのプログラムであって、前記プログラムは前記通信システムを、
前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム中に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
として機能させることを特徴とする。
上記課題を解決するための第29の発明は、
LAN同士がTCPトンネルを介して接続されている通信システムであって、
前記TCPトンネルに流入するトラフィックの量を制限する制限手段をTCPトンネルの前段に設けることにより、前記TCPトンネルを構築しているTCPセッションにおける輻輳制御を無効にすることを特徴とする。
本発明のトンネリング装置は、フレームの流量監視および制限を行う帯域制限器と、測定用データを送受信して帯域測定を行う帯域測定手段とを備える。このような構成を採用し、トンネリング装置がトンネルに流入するトラフィックの量を抑制し、トンネル区間におけるフレームの欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐことにより、本発明の目的を達成することができる。
本発明のトンネリング装置は、確認応答(ACK)に含まれる受信ウインドウサイズ値を書き換えるウインドウ書換器と、測定用データを送受信して帯域と遅延の測定を行う遅延・帯域測定手段とを備える。このような構成を採用し、
トンネリング装置がトンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐことにより、本発明の目的を達成することができる。
本発明のトンネリング装置は、割り当てるCPU資源を調整して転送処理能力を調整するリソースマネージャと、フレームの流量を監視する流量監視器と測定用データを送受信して帯域測定を行う帯域測定手段と、測定用データを送受信して帯域と遅延の測定を行う遅延・帯域測定手段とを備える。このような構成を採用し、トンネリング装置がトンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐことにより、本発明の目的を達成することができる。
本発明のトンネリング装置は、フレームの流量監視および制限を行う帯域制限器と、確認応答(ACK)に含まれる受信ウインドウサイズ値を書き換えるウインドウ書換器と、割り当てるCPU資源を調整して転送処理能力を調整するリソースマネージャと、フレームの流量を監視する流量監視器と、測定用データを送受信して帯域測定を行う帯域測定手段と、測定用データを送受信して帯域と遅延の測定を行う遅延・帯域測定手段と、モデム等のリンク速度を調査する帯域調査手段と、帯域調査手段の依頼を受けてモデムの調査を行うダイヤルアップNICドライバと、ADSL等のリンク速度を調査するUPnP−CPと、トンネルを流れる実データを用いて帯域推定を行うインバンド型帯域測定手段とを備える。このような構成を採用し、トンネリング装置がトンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐことにより、本発明の目的を達成することができる。
次に、本発明の効果について説明する。
第1の効果は、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できることである。これは、トンネルの入り口の前段に帯域制限器を設けることにより、トンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐためである。またこれは、ウインドウ書換器を設けて確認応答(ACK)内に含まれる受信ウインドウサイズを小さい値に書き換え、エンド端末のTCPから送信されるトラフィックの送信レートを抑制することにより、トンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐためである。またこれは、トンネルの入り口となるトンネリング手段に割り当てるCPUパワーを抑制することにより、トンネルに流入するトラフィックの量を抑制し、トンネル区間における欠落の発生や遅延の増大を抑制することで、トンネル区間のTCPの輻輳制御を実質的に無効にさせ、エンド端末のTCPにおけるレート抑制制御が過剰に行われるのを防ぐためである。
第2の効果は、エンド端末の設定変更なしに、エンド端末間の通信レート(通信帯域)を制限できることである。これは、トンネリング装置内に帯域制限器を設けてエンド端末間で交換されるフレームを強制的に欠落させることにより、エンド端末間のTCP通信の帯域制限をトンネリング装置内で行うからである。またこれは、トンネリング装置内にウインドウ書換器を設けてエンド端末のTCP相互間で交換される確認応答(ACK)内に含まれる受信ウインドウサイズを小さい値に書き換えることにより、エンド端末間のTCP通信の帯域制限をトンネリング装置内で行うからである。またこれは、トンネリング装置内にリソースマネージャを設けてCPUパワーを抑制し、トンネルに流入するトラフィックの量を抑制し、エンド端末間で交換されるフレームの取りこぼしによる欠落や遅延時間の増大を発生させることにより、エンド端末間のTCP通信の帯域制限をトンネリング装置内で行うからである。
第3の効果は、端末やトンネリング装置の設定を自動化できることである。これは、トンネル区間のTCPの接続後に、帯域測定手段がボトルネックリンクの最大帯域を測定し、この結果より帯域制限器の閾値を自動的に決定するからである。またこれは、トンネル区間のTCPの接続後に、帯域・遅延測定手段がボトルネックリンクの最大帯域および遅延時間を測定し、この結果よりウインドウ書換器の閾値を自動的に決定するからである。またこれは、トンネル区間のTCPの接続後に、帯域測定手段がボトルネックリンクの最大帯域を測定し、この結果よりリソースマネージャの閾値を自動的に決定するからである。またこれは、帯域調査手段がモデム・携帯電話等に対してボトルネックリンクの最大帯域を問い合わせ、この結果より帯域制限器等の閾値を自動的に決定するからである。またこれは、UPnP−CPがRouterに対してADSLリンク速度、つまりボトルネックリンクの最大帯域を問い合わせ、この結果より帯域制限器等の閾値を自動的に決定するからである。またこれは、インバンド型帯域測定手段が、トンネルを流れるデータフレームの大きさのばらつきと、大きさのばらつきによる片道遅延時間のばらつきにより、ボトルネックリンクの最大帯域を推定し、この結果より帯域制限器の閾値を自動的に決定するからである。
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。
(第1の実施の形態)
本発明を実施するための第1の実施の形態について図面を参照して詳細に説明する。
本発明の第1の実施の形態は、TCP接続によりトンネルを構成するトンネリング装置によってLAN同士がWANを介して接続されたネットワークにおいて、トンネル上にボトルネックリンクが存在し、かつエンドエンドの端末同士がTCPを用いて通信する場合に、トンネルの入り口に帯域制限器を設けてトンネルに流入するトラフィックの量を抑制することで、トンネルのTCPの輻輳制御(レートコントロール)を無効にさせ、さらにトンネルのTCPにおける再送発生の可能性を減らし、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑えられる。
(構成の説明)
図1を参照して、本実施の形態における構成について説明する。
WAN1は、ボトルネックリンク11、トンネリング装置20、およびトンネリング装置30と、その他の機器とで構成され、これら機器の相互間で通信を行うワイドエリアネットワーク(WAN)である。具体的にはインターネット等がWANに該当する。
LAN2は、トンネリング装置20、および端末21で構成され、これら機器の相互間で通信するローカルエリアネットワーク(LAN)である。また、本実施の形態においては、ゲートウェイ装置であるトンネリング装置20、およびトンネリング装置30により、LAN2とLAN3とは同一のLANとして動作するよう相互に接続されているため、LAN2内の各端末とLAN3内の各端末との間は自由に通信できる。
LAN3は、LAN2と同様の構成を有し、同様の動作を行う。
ボトルネックリンク11は、端末21と端末31とが通信する際に、経路上で最も通信帯域が細くなっている箇所、即ち、隘路となっており、伝送速度が低速である箇所のリンクである。
トンネリング装置20は、トンネリング手段201、TCP202、IP203、NIC204、NIC205、及び帯域制限器206で構成される。
トンネリング装置20は、WAN1上のトンネリング装置30との間でTCP接続してトンネルを構築している。そしてトンネリング装置20は、このトンネル中にLAN2からのイーサネットフレーム(エンド端末が出力したフレーム)をカプセル化して流し込み、また逆に、トンネリング装置30からトンネルを通して送られてきたイーサネットフレームのカプセル化を解除してLAN2内に転送することで、離れたLAN同士をWANを介して接続させている。
端末21は、アプリケーション211、TCP212、IP213、およびNIC214で構成される。
端末21は、LANの利用者が通常利用するコンピュータであり、LAN内の各機器、例えば端末31との間で通信を行う為のアプリケーション(例えばWEBブラウザや、メーラー等)が動作する。
トンネリング装置30は、トンネリング装置20と同様の構成を有し、同様の動作を行う。
端末31は、端末21と同様の構成を有し、同様の動作を行う。
トンネリング手段201は、トンネリング手段301との間でトンネルを構築するために、TCP202に対してTCP302に接続するよう指示し、さらに帯域制限器206から受信したイーサネットフレームをデータとしてTCP202に渡し、また逆に、TCP202からデータとして受信したイーサネットフレームを帯域制限器206に渡す。
TCP202は、主に以下に挙げる動作を行う。
(1)トンネリング手段201の要求に応じてTCP302と接続(コネクション設定)を行う。
(2)トンネリング手段201からのデータをTCP302に転送する。この際、送信するデータの送出速度を制御する輻輳制御(レートコントロール)と、TCP202からのデータに対する応答としてTCP302から送信される確認応答(ACK)の到着確認と、確認応答未着時等のデータの再送信も行う。大きなデータの場合は分割(フラグメントとも言う)処理も行う。
(3)TCP302から送信されたデータを受信して、順序逆転、フレーム欠落、さらに分割を元に戻し、トンネリング手段201に転送する。この際、受信データに対する確認応答(ACK)をTCP302に向けて送信する。なお確認応答には、TCP202が受信可能なデータ量(受信ウインドウサイズ)やシーケンスナンバーが記載される。
TCP202の輻輳制御は、転送初期は小さなレートでデータを送信し、ACKの未着や、重複ACKの到着が発生しない限り、ACKを受領していないデータ量が、TCP302から確認応答によって伝達された受信ウインドウサイズと、TCP202自身が管理する輻輳ウインドウサイズとのうち、どちらか小さいほうに達するまで、輻輳ウインドウサイズを大きくしながら、次第に大きな送信レートでデータを送信する。
IP203は、TCP202からデータを受信し、IPヘッダおよびMACヘッダ等のWAN通信に必要なヘッダを付加してフレームを構成し、NIC204に転送する。またNIC204から受信したフレームのMACヘッダおよびIPヘッダを外し、TCP202に転送する。さらにARP(Address Resolution Protocol)、DHCP(Dynamic Host Configuration Protocol)等、WAN通信に必要な各種プロトコル処理を行う。
NIC204は、ネットワークインタフェースカード(Network Interface Card)と呼ばれ、イーサネット等のネットワーク用ケーブルの接続口となる部分である。ネットワーク(イーサネットケーブル等のケーブル)からフレーム(データ)を受信してIP203に送るほか、逆にIP203フレーム(データ)を受け取りネットワークに適した形に変換してネットワーク(イーサネットケーブル等のケーブル)に送出する。
NIC205は、NIC204と同様の構成を有し、同様の動作を行う。
帯域制限器206は、NIC205から受信するイーサネットフレームの流量を監視し、設定された帯域(閾値)以下の流量であればトンネリング手段201に転送し、もし設定された帯域(閾値)以上又は設定された帯域(閾値)を超えた入力があった場合には、設定された帯域(閾値)以下又は設定された帯域より小さくなるように過剰入力されたフレームを欠落させる。また、トンネリング手段201から受信するイーサネットフレームを、帯域制限なしに、そのままNIC205に転送する。なお、帯域制限器206のNIC205側には、流量を監視するために若干のバッファ(キュー)を設けても良い。このとき、閾値以上の入力があった場合にどのフレームを欠落させるかは、FIFO(First-In First-Out)、WRR(Weighted Round Robin)、SFQ(Stochastic Fair Queuing)、RED(Random Early Detection)など、どの欠落アルゴリズムを用いて決定しても良い。また、帯域制限器(シェーパ)は、一般的には公平性の確保や輻輳防止のために用いられるが、本願では下位レイヤTCP(TCP202)の再送制御発生の可能性を低くし、さらに下位レイヤのTCP(TCP202)トラフィック制御を実質的に無効化するために、帯域制限器を用いている。
アプリケーション211は、端末31内のアプリケーション311と双方向の通信を行うアプリケーションである。アプリケーション211は、代表的にはWEBブラウザが適用されるが、この場合端末31内のアプリケーション311は、WEBサーバが適用される。アプリケーション211は、WEBブラウザ/サーバの他、TELNETクライアント/サーバ、FTPクライアント/サーバ、ファイル共有クライアント/サーバ等、各種のアプリケーションが適用可能である。
TCP212は、TCP202と同様の構成、および動作を行う。
IP213は、IP203と同様の構成、および動作を行う。
NIC214は、NIC204と同様の構成、および動作を行う。
トンネリング手段301は、トンネリング手段201と同様の構成を有し、同様の動作を行う。
TCP302は、TCP202と同様の構成を有し、同様の動作を行う。
IP303は、IP203と同様の構成を有し、同様の動作を行う。
NIC304は、NIC204と同様の構成を有し、同様の動作を行う。
NIC305は、NIC205と同様の構成を有し、同様の動作を行う。
帯域制限器306は、帯域制限器206と同様の構成を有し、同様の動作を行う。
アプリケーション311は、アプリケーション211と同様の構成を有し、同様の動作を行う。
TCP312は、TCP212と同様の構成を有し、同様の動作を行う。
IP313は、IP213と同様の構成を有し、同様の動作を行う。
NIC314は、NIC214と同様の構成を有し、同様の動作を行う。
図2は、図1に示すネットワークにおいて、LAN2内(例えば端末21とトンネリング装置20の間)、および、LAN3内(例えば端末31とトンネリング装置30の間)で送受信される、イーサネットフレーム26のフレームフォーマットを示すブロック図である。
LAN MAC 261は、LAN2もしくはLAN3上で、レイヤ2(イーサネット)での通信を行うために必要なヘッダ(MAC DA、MAC SA、Ethernet(登録商標) TYPE他IEEE802に規定のヘッダ)を示している。
LAN IP 262は、LAN2もしくはLAN3上で、レイヤ3(IP)での通信を行うために必要なヘッダ(IP DA、IP SA、IP TYPE、他IETFに規定のヘッダ)を示している。
LAN TCP 263は、LAN2もしくはLAN3内に存在する各機器の間で、TCPによる通信を行うために必要なヘッダ(ポート番号やシーケンスナンバー等のTCPヘッダ)を示している。
LAN DATA 264は、LAN2もしくはLAN3内に存在する各機器で動作するソフトウェアの間(アプリケーション211とアプリケーション311の間等)で交換されるデータである。
図3は、図1に示すネットワークにおいて、トンネリング装置20とトンネリング装置30との間で送受信される、イーサネットoverTCPフレーム12のフレームフォーマットを示すブロック図である。
WAN MAC 121は、WAN1上で、レイヤ2(イーサネット)での通信を行うために必要なヘッダ(MAC DA、MAC SA、Ethernet TYPE他IEEE802に規定のヘッダ)を示している。
WAN IP 122は、WAN13上で、レイヤ3(IP)での通信を行うために必要なヘッダ(IP DA、IP SA、IP TYPE、他IETFに規定のヘッダ)を示している。
WAN TCP 123は、WAN1内に存在する各機器の間で、TCPによる通信を行うために必要なヘッダ(ポート番号やシーケンスナンバー等のTCPヘッダ)を示している。
WAN DATA 124は、WAN1内に存在する各機器で動作するアプリケーション間(トンネリング手段201とトンネリング手段301の間等)で交換されるデータである。本実施の形態においては、WAN DATA 124には、LAN2やLAN3上を流れるイーサネットフレーム26が格納される。なおWAN DATA 124は、SSL(セキュアソケットレイヤ)やIPsec等を用いて暗号化しても良い。
(動作の説明)
以下、図1を参照して、本実施の形態における動作を、端末21のアプリケーション211から端末31のアプリケーション311に大きなデータを送信する場合を例に説明する。
TCP202およびTCP302は、相互の間で既にTCP接続が完了しているものとする。また、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312は、TCP202とTCP302との間でTCP接続が完了した後に相互の間で接続動作を行い、既に接続が完了しているものとする。また、TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きく設定されているものとする。
ボトルネックリンク11は、端末21と端末31との間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであり、帯域幅が判明しているとする。
また、帯域制限器206は、閾値がボトルネックリンク11の帯域以下の値に設定されているとする。
(転送初期)
端末21内のアプリケーション211が、サーバ31内のアプリケーション311宛の大きなデータを作成し、TCP212に渡す。
TCP212は、アプリケーション211から大きなデータを受け取ると、これを送信バッファに格納し、ネットワーク上で転送可能なサイズ(MSS)にデータを分割(フラグメント処理)し、TCP312から通知される受信ウインドウサイズおよび、TCP212内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP213およびNIC214を経由して、端末31内のTCP312に向けて送信する。このとき、LAN2を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
TCPは、転送初期は輻輳ウインドウサイズが小さく設定されているために小さな送信レートでデータを送信し、ACKの未着や、重複ACKの到着が発生しない限り、ACKを受領していないデータ量が、相手方が通知してくる受信ウインドウサイズと、自身の管理する輻輳ウインドウサイズのどちらか小さいほうに達するまで、次第に輻輳ウインドウサイズを大きくして、次第に大きな送信レートでデータを送信する。このため、転送初期は低めの送信レートでデータが送信される。
トンネリング装置20内のNIC205は、LAN2からイーサネットフレームを受信し、帯域制限器206に転送する。
帯域制限器206は、NIC205から単位時間あたりに受信するイーサネットフレームの流量を監視し、あらかじめ設定された帯域(閾値)以下の流量であればトンネリング手段201に転送する。転送初期においては、TCP212から送信されるデータの流量は、帯域制限器206に設定された閾値よりも低く抑えられるため、全てのフレームがそのままトンネリング手段201に転送される。
トンネリング手段201は、帯域制限器206から受信したフレームをTCP202にデータとして受け渡す。
TCP202は、トンネリング手段201からデータ(イーサネットフレーム26)を受け取ると、これを送信バッファに格納し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203およびNIC204を経由して、トンネリング装置30内のTCP302に向けて送信する。このとき、WAN1を流れるフレームのフォーマットは、図3に示すイーサoverTCPフレーム12の形式となる。
トンネリング装置30内のTCP302は、TCP202から送信されたデータを、NIC304、IP302を経由して受信し、トンネリング手段301に転送する。このときTCP302は、TCP202に対して確認応答を送信し、この確認応答を受信したTCP202は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
トンネリング手段301は、TCP302からデータ(イーサネットフレーム26)を受信し、帯域制限器306に転送する。
帯域制限器306は、トンネリング手段301から受信したフレームを、帯域制限や流量の監視などを行わず、そのままNIC305を経由して、端末31に送信する。このとき、LAN3を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
端末31内のTCP312は、トンネリング装置30から送信されたイーサネットフレームを、NIC314、IP312を経由して受信し、バッファに格納する。
このときTCP312は、TCP212に対して確認応答を送信し、この確認応答を受信したTCP212は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
以上の動作例(転送初期)に従い、TCP212からTCP312へのデータ転送を継続すると、TCP312からTCP212へ送信される確認応答によりTCP212の輻輳ウインドウサイズが大きくなり、また、TCP302からTCP202へ送信される確認応答によりTCP202の輻輳ウインドウサイズも大きくなる。そして、TCP212の送信レートが帯域制限器206に設定された閾値を上回るようになる。
(TCP212の送信レートが帯域制限器206に設定された閾値を上回った場合)
端末21内のTCP212は、帯域制限器206に設定された閾値を上回るレートで、TCP312に向けてデータを送信する。このデータは、IP213、NIC214、NIC205を経由して、トンネリング装置20内の帯域制限器206に到達する。
帯域制限器206は、NIC205から単位時間あたりに受信するイーサネットフレームの流量が、あらかじめ設定された帯域(閾値)以上になったと判断すると、過剰入力された分のフレームを欠落させる。このとき、閾値以下の量のフレームは、通常どおりトンネリング手段201に転送される。
トンネリング手段201は、帯域制限器206から受信した閾値を超えない量のフレームを、TCP202にデータとして受け渡す。
TCP202は、トンネリング手段201からデータ(イーサネットフレーム26)を受け取ると、トンネリング装置30内のTCP302に向けて送信する。
TCP302は、TCP202より受信したデータを、トンネリング手段301を経由して、帯域制限器306に転送する。これと同時にTCP302はTCP202に対して確認応答を送信し、TCP202はこの確認応答を受信して輻輳ウインドウのサイズを拡げ、送信可能なレートを高くする。
このときTCP202は、これまでのデータ転送で輻輳ウインドウサイズが大きくなっており、本来であればボトルネックリンク11の帯域よりも高いレートでデータを送信できる筈だが、本実施の形態では、トンネリング手段201から流入するデータのレートが、帯域制限器206によってボトルネックリンク11の帯域以下に抑えられている(つまり、ボトルネックを強制的に帯域制限器上に移動させている)。このためTCP202は、帯域制限器206に設定された閾値を越えるレートではデータを送信しない。
この結果、本実施の形態では、ボトルネックリンク11における欠落の発生や遅延の増大を抑制できるため、TCP202およびTCP302の輻輳ウインドウサイズは限りなく増大する。つまり、TCP202およびTCP302の輻輳制御を、実質的に無効にできる。
帯域制限器306は、トンネリング手段301から受信したフレームを、帯域制限や流量の監視などを行わずにそのまま送信し、このフレームは、NIC305、NIC314、IP313を経由して、端末31内のTCP312に到達する。
TCP312は、受信したデータをバッファに格納する。このときTCP312は、データの欠落を検知し、TCP212に対して重複ACKを送信して、データの再送を要求する。なお、帯域制限器が欠落させたフレームによっては、TCP312が欠落を検知でないが、この場合TCP212は、重複ACKの到着ではなくACKの未着により欠落を検知する。
TCP212は、TCP312からの重複ACKの到着もしくはACK未着によるタイムアウト発生により、送信データの欠落を検知して再送信を行う。この際TCP212は、送信データの欠落を検出したことにより、輻輳ウインドウサイズを小さくし、送信レートを抑制する。
なお、アプリケーション211とアプリケーション311の間のデータ伝送は、TCP212とTCP312の間の欠落検出および再送制御により、帯域制限器206による欠落発生にもかかわらず保証される。
以上に説明した構成および動作では、トンネル入口側の帯域制限器206において流量を監視し、さらに設定された閾値以上の入力があった場合にフレームを欠落させていたが、入口側で帯域制限する場合よりも閾値を低く設定することにより、トンネル出口側の帯域制限器206において流量を監視し、さらに設定された閾値以上の入力があった場合にフレームを欠落させてもよい。
また、以上に説明した構成および動作では、帯域制限器206に設定された閾値以上の入力があった場合にフレームを欠落させていたが、帯域制限器206のNIC205側に大きめのバッファ配置し、閾値以上の入力があった場合に、フレームを欠落させる代わりに遅延を増大させても良い。遅延の増大によっても、TCP212におけるタイムアウト発生もしくは輻輳制御によりTCP212の送信レートを抑制できるため、フレームを欠落させた場合と同様の効果が得られる。
さらに、以上に説明した構成および動作は、エンド端末同士がTCPを用いる場合について述べたが、端末同士がUDPを用いて通信する場合においても、本実施の形態におけるトンネリング装置ならびに帯域制限器等を用いることにより、TCPトンネルでのパケット欠落を防止し、TCPトンネルの安定化を図ることもできる。
また、上記では、帯域制限器206は、フレームを欠落させることにより帯域を制限する場合を用いて説明したが、フレームがTCP212からTCP312に到着するまでの遅延時間を長くさせるように制御しても良い。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できる。これは、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けることにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内に帯域制限器206を設けてTCP212とTCP312の間で交換されるフレームを強制的に欠落させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
(第2の実施の形態)
本発明の第2の実施の形態は、第1の実施の形態において帯域制限器206によりフレーム欠落を発生させてTCP212およびTCP312のレートを制限するのに対して、ウインドウ書換器206AによりTCP212とTCP312との間で交換される受信ウインドウサイズ情報を書き換えることで、TCP212およびTCP312のレートを制限する点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図4を参照して、本実施の形態における構成について説明する。
本発明の第2の実施の形態では、第1の実施の形態における帯域制限器206および帯域制限器306の代わりに、ウインドウ書換器206Aおよびウインドウ書換器306Aを設置する。
ウインドウ書換器206Aは、トンネリング手段201から受信するイーサネットフレームのTCPヘッダを監視し、TCP312からTCP212に送信される確認応答(ACK)を含むフレームを検出した場合は、あらかじめウインドウ書換器206Aに設定された閾値と、検出した確認応答(ACK)フレーム内に含まれる受信ウインドウサイズを比較し、もし閾値が検出した確認応答(ACK)フレームに含まれる受信ウインドウサイズ以下の場合は、検出したフレームに含まれる受信ウインドウサイズを閾値のサイズに書き換えて、NIC205に転送する。
上記以外の場合は、トンネリング手段201から受信するイーサネットフレームを、そのままNIC205に転送する。また、NIC205から受信したイーサネットフレームは、全てそのままトンネリング手段201に転送する。
なお、ウインドウ書換器206Aに設定する閾値は、「ボトルネックリンク11の帯域」と「TCP212とTCP312との間の往復遅延時間(RTT)」との積以下の値に設定するが、好ましくは「ボトルネックリンク11の帯域」と「TCP212とTCP312との間の往復遅延時間(RTT)」との積より小さい値に設定したほうが良い。
ウインドウ書換器306Aは、ウインドウ書換器206Aと同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図4を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
TCP202およびTCP302は、相互の間で既に接続が完了しているものとする。また、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312は、TCP202とTCP302との間の接続完了後に、相互の間で接続動作を行い、既に接続が完了しているものとする。また、TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きく設定されているものとする。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであり、帯域幅が判明しているとする。
ウインドウ書換器206Aの閾値は、「ボトルネックリンク11の帯域」と「TCP212とTCP312との間の往復遅延時間(RTT)」との積よりも小さく、かつTCP212およびTCP312の最大受信ウインドウサイズよりも充分に小さい値に設定されているとする。
(転送初期)
端末21内のアプリケーション211が、サーバ31内のアプリケーション311宛の大きなデータを作成し、TCP212に渡す。
TCP212は、アプリケーション211から大きなデータを受け取ると、これを送信バッファに格納し、ネットワーク上で転送可能なサイズ(MSS)にデータを分割(フラグメント処理)し、TCP312から通知される受信ウインドウサイズおよび、TCP212内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP213およびNIC214を経由して、端末31内のTCP312に向けて送信する。このとき、LAN2を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
TCPは、転送初期は輻輳ウインドウサイズが小さく設定されているために小さな送信レートでデータを送信し、ACKの未着や、重複ACKの到着が発生しない限り、ACKを受領していないデータ量が受信ウインドウサイズと輻輳ウインドウサイズのどちらか小さいほうに達するまで、次第に輻輳ウインドウサイズを大きくして、次第に大きな送信レートでデータを送信する。このため、転送初期は低めの送信レートでデータが送信される。
トンネリング装置20内のNIC205は、LAN2からイーサネットフレームを受信し、ウインドウ書換器206Aに転送する。
ウインドウ書換器206Aは、NIC205から受信したフレームを、そのままトンネリング手段201に転送する。
トンネリング手段201は、帯域制限器206から受信したフレームをTCP202にデータとして受け渡す。
TCP202は、トンネリング手段201からデータ(イーサネットフレーム26)を受け取ると、これを送信バッファに格納し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203およびNIC204を経由して、トンネリング装置30内のTCP302に向けて送信する。このとき、WAN1を流れるフレームのフォーマットは、図3に示すイーサoverTCPフレーム12の形式となる。
トンネリング装置30内のTCP302は、TCP202から送信されたデータを、NIC304、IP302を経由して受信し、トンネリング手段301に転送する。このときTCP302は、TCP202に対して確認応答を送信し、この確認応答を受信したTCP202は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
トンネリング手段301は、TCP302からデータ(イーサネットフレーム26)を受信し、ウインドウ書換器306Aに転送する。
ウインドウ書換器306Aは、トンネリング手段301から受信したフレームを、そのままNIC305を経由して、端末31に送信する。このとき、LAN3を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
端末31内のTCP312は、トンネリング装置30から送信されたイーサネットフレームを、NIC314、IP312を経由して受信し、バッファに格納する。このときTCP312は、TCP212に対して確認応答を送信する。この確認応答(ACK)には、TCP312が受信可能なデータの量を表す受信ウインドウサイズの情報が含まれている。この受信ウインドウサイズは、通常はウインドウ書換器206Aに設定された閾値よりも大きい値となる。
(ACK返信)
TCP312からTCP212に向けて送信された確認応答(ACK)は、IP313、NIC314、NIC305を通じて、ウインドウ書換器306Aに到達する。
ウインドウ書換器は、NIC305からACKを含むイーサネットフレームを受信するが、NIC305側から到着したACKのため、何もせずそのままトンネリング手段301に転送する。
トンネリング手段301は、ウインドウ書換器306Aから受信した確認応答(ACK)フレームを、TCP302、IP303、NIC304、NIC204、IP203、TCP202、トンネリング手段201を経由して、ウインドウ書換器206Aに転送する。
ウインドウ書換器206Aは、トンネリング手段201から受信したイーサネットフレームを調べ、確認応答(ACK)フレームであることから、記載されている受信ウインドウサイズを確認する。この結果、記載されている受信ウインドウサイズが閾値よりも大きな値であることから、この受信ウインドウサイズを閾値の値に書換え、NIC205に転送する。
ウインドウ書換器206Aで受信ウインドウサイズを書き換えられた確認応答(ACK)フレームは、NIC205、NIC214、IP213を経由して、TCP212に到達する。
(ACK到着後のデータ送信)
TCP212は、受信した確認応答(ACK)に含まれる受信ウインドウサイズ情報と、TCP212内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、残りのデータをTCP312に向けて送信する。
この際TCPは、ACKを受領していない送信済データの量が、受信ウインドウサイズと輻輳ウインドウサイズのどちらか小さいほうに達するまで、次第に輻輳ウインドウサイズを大きくしながら、次第に大きな送信レートでデータを送信する。
しかしながら、本実施の形態では、TCP312からTCP212へ送信される受信ウインドウサイズが、ウインドウ書換器206Aによって小さい値(閾値)に書き換えられるため、TCP212から送信されるデータの最大送信レートは、閾値(受信ウインドウサイズ)÷往復遅延時間(RTT)より求められるレートを上限として制限される。
この結果、TCP212の送信レートが、ボトルネックリンク11の帯域以上にならないよう、適切にウインドウ書換器206Aの閾値を設定すれば、実施の形態1において帯域制限器206を設置した場合と同様の効果が得られる。
つまり、TCP212からTCP312へのデータ転送を継続すると、TCP312からTCP212へ送信される確認応答によりTCP212の輻輳ウインドウサイズが大きくなり、また、TCP302からTCP202へ送信される確認応答によりTCP202の輻輳ウインドウサイズも大きくなるが、TCP212の送信レートは受信ウインドウサイズにより制限されるため、ボトルネックリンク11の帯域を上回ることがない。
この結果、本実施の形態では、ボトルネックリンク11における欠落の発生や遅延の増大を抑制できるため、TCP202およびTCP302の輻輳ウインドウサイズは限りなく増大する。つまり、TCP202およびTCP302の輻輳制御を、実質的に無効にできる。
以上に説明した構成および動作では、トンネル出口側のウインドウ書換器においてトンネルから到着する確認応答を監視し、設定された閾値以上の受信ウインドウサイズが確認応答フレーム内に記載されていた場合に受信ウインドウサイズを書き換えていたが、これとは逆に、トンネル入口側のウインドウ書換器においてトンネルに向かう確認応答を監視し、設定された閾値以上の受信ウインドウサイズが確認応答フレーム内に記載されていた場合に受信ウインドウサイズを書き換えても良い。
また、以上に説明した構成および動作では、ウインドウ書換器において確認応答を監視し、設定された閾値以上の受信ウインドウサイズが確認応答フレーム内に記載されていた場合に受信ウインドウサイズを書き換えていたが、受信ウインドウサイズの書き換えをせず、確認応答(ACK)フレームをコピーして3個追加で送信し、エンド端末のTCP(TCP212)で重複確認応答受信による輻輳ウインドウサイズの低下を発生させても、ウインドウサイズの書換えと同様の効果が得られる。
さらに、以上に説明した構成および動作では、ウインドウ書換器において確認応答を監視し、設定された閾値以上の受信ウインドウサイズが確認応答フレーム内に記載されていた場合に受信ウインドウサイズを書き換えていたが、ウインドウ書換器を用いず、TCP202およびTCP203の最大輻輳ウインドウサイズを、これまでの説明でウインドウ書換器に設定していた閾値と同じ値に設定することにより、TCPトンネル過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐことができる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制できる。これは、ウインドウ書換器206Aを設けてTCP312からTCP212に向けて送信される確認応答(ACK)内に含まれる受信ウインドウサイズを小さい値に書き換え、TCP212から送信されるトラフィックの送信レートを抑制することにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内にウインドウ書換器206Aを設けてTCP312からTCP212に向けて送信される確認応答(ACK)内に含まれる受信ウインドウウサイズを小さい値に書き換えることにより、TCP312とTCP212間の通信の帯域制限をトンネリング装置内で行うからである。
(第3の実施の形態)
本発明の第3の実施の形態は、第1の実施の形態において帯域制限器206によりフレーム欠落を発生させてTCP212およびTCP312のレートを制限するのに対して、リソースマネージャ207によりトンネリング手段201へのCPUリソースの割当を制限し、トンネリング手段201の転送処理能力を低下させることで、TCP212およびTCP312のレートを制限する点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図5を参照して、本実施の形態における構成について説明する。
本発明の第2の実施の形態では、第1の実施の形態における帯域制限器206および帯域制限器306の代わりに、流量監視器206B、リソースマネージャ207、流量監視器306B、およびリソースマネージャ307を設置する。
流量監視器206Bは、NIC205から流量監視器206Bを通過してトンネリング手段201に流れるフレームのデータ量を監視し、一定時間ごとにリソースマネージャ207に伝える。なお流量監視器206Bは、トンネリング手段201から流量監視器206Bを通過してNIC205に向かうフレームについては、監視を行わない。
リソースマネージャ207は、流量監視器206Bから一定時間にNIC205からトンネリング手段201に向かって流れるフレームの流量の報告を受け、流量があらかじめ設定された閾値を超えた場合又閾値以上になった場合は、トンネリング手段201に割り当てるCPU等の資源を減らし、トンネリング手段201の転送処理能力を低下させて、ボトルネックリンクに流れるフレームの流量を設定された帯域(閾値)以下又は設定された帯域(閾値)より小さくなるようにする。
リソースマネージャ207がトンネリング手段201に割り当てるリソースを減らす方法としては、トンネリング手段のタスク優先度(Priority)を下げる方法、CPUにダミーの処理を行わせてCPU負荷を高める方法、クロックを落としてシステム全体の処理能力を低下させる方法などが挙げられる。このうちクロックを落とす方法は、トンネリング手段201の処理がCPUによるソフトウェア処理ではなく、ハードウェア処理である場合にも適用できる。
流量監視器306Bは、流量監視器206Bと同様の構成を有し、同様の動作を行う。
リソースマネージャ307は、リソースマネージャ207と同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図5を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
TCP202およびTCP302は、相互の間で既に接続が完了しているものとする。また、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312は、TCP202とTCP302との間の接続完了後に、相互の間で接続動作を行い、既に接続が完了しているものとする。また、TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きなものであるとする。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであり、帯域幅が判明しているとする。
リソースマネージャ207は、閾値がボトルネックリンク11の帯域以下の値に設定されているとする。
(転送初期)
端末21内のアプリケーション211が、サーバ31内のアプリケーション311宛の大きなデータを作成し、TCP212に渡す。
TCP212は、アプリケーション211から大きなデータを受け取ると、これを送信バッファに格納し、ネットワーク上で転送可能なサイズ(MSS)にデータを分割(フラグメント処理)し、TCP312から通知される受信ウインドウサイズおよび、TCP212内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP213およびNIC214を経由して、端末31内のTCP312に向けて送信する。このとき、LAN2を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
TCPは、転送初期は輻輳ウインドウサイズが小さく設定されているために小さな送信レートでデータを送信し、ACKの未着や、重複ACKの到着が発生しない限り、ACKを受領していないデータ量が受信ウインドウサイズと輻輳ウインドウサイズのどちらか小さいほうに達するまで、次第に輻輳ウインドウサイズを大きくして、次第に大きな送信レートでデータを送信する。このため、転送初期は低めの送信レートでデータが送信される。
トンネリング装置20内のNIC205は、LAN2からイーサネットフレームを受信し、帯域制限器206に転送する。
流量監視器206Bは、NIC205から単位時間あたりに受信するイーサネットフレームの流量を監視し、リソースマネージャ207に通知する。
リソースマネージャ207は、転送初期においては、流量監視器206Bから通知されるデータの流量は、リソースマネージャ207に設定された閾値よりも低く抑えられるため、トンネリング手段201に割り当てるCPUリソースを制限しない。
トンネリング手段201は、流量監視器206Bから受信したフレームをTCP202にデータとして受け渡す。
TCP202は、トンネリング手段201からデータ(イーサネットフレーム26)を受け取ると、これを送信バッファに格納し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203およびNIC204を経由して、トンネリング装置30内のTCP302に向けて送信する。このとき、WAN1を流れるフレームのフォーマットは、図3に示すイーサoverTCPフレーム12の形式となる。
トンネリング装置30内のTCP302は、TCP202から送信されたデータを、NIC304、IP302を経由して受信し、トンネリング手段301に転送する。このときTCP302は、TCP202に対して確認応答を送信し、この確認応答を受信したTCP202は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
トンネリング手段301は、TCP302からデータ(イーサネットフレーム26)を受信し、流量監視器306Bに転送する。
流量監視器306Bは、トンネリング手段301から受信したフレームを、流量の監視を行わず、そのままNIC305を経由して、端末31に送信する。このとき、LAN3を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
端末31内のTCP312は、トンネリング装置30から送信されたイーサネットフレームを、NIC314、IP312を経由して受信し、バッファに格納する。このときTCP312は、TCP212に対して確認応答を送信し、この確認応答を受信したTCP212は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
以上の動作例(転送初期)に従い、TCP212からTCP312へのデータ転送を継続すると、TCP312からTCP212へ送信される確認応答によりTCP212の輻輳ウインドウサイズが大きくなり、また、TCP302からTCP202へ送信される確認応答によりTCP202の輻輳ウインドウサイズも大きくなる。そして、TCP212の送信レートがリソースマネージャ207に設定された閾値を上回るようになる。
(TCP212の送信レートがリソースマネージャ207に設定された閾値を上回った場合)
端末21内のTCP212は、リソースマネージャ207に設定された閾値を上回るレートで、TCP312に向けてデータを送信する。このデータは、IP213、NIC214、NIC205を経由して、トンネリング装置20内の流量監視器206Bに到達する。
流量監視器206Bは、NIC205からトンネリング手段201にフレームを転送すると同時に、NIC205から単位時間あたりに受信するイーサネットフレームの流量を、リソースマネージャ207に伝達する。
リソースマネージャ207は、流量監視器206Bから、単位時間あたりに受信するイーサネットフレームの流量の伝達を受け、流量があらかじめ設定された帯域(閾値)以上になったと判断し、トンネリング手段201に割り当てるCPUリソースを減らし、トンネリング手段201の転送処理能力を低下させる。
トンネリング手段201は、流量監視器206Bからフレームを受信するが、処理能力を落とされているため、いくつかのフレームを取りこぼして欠落させたり、転送に時間がかかり、TCP212で送信されてからTCP312に到着するまでの遅延時間を長くしたりする。この結果、TCP202には、ボトルネックリンク11の帯域を越えないレートで、トンネリング手段201からフレームが転送される。
TCP202は、トンネリング手段201からデータ(イーサネットフレーム26)を受け取ると、トンネリング装置30内のTCP302に向けて送信する。
TCP302は、TCP202より受信したデータを、トンネリング手段301を経由して、流量監視器306Bに転送する。これと同時にTCP302はTCP202に対して確認応答を送信し、TCP202はこの確認応答を受信して輻輳ウインドウのサイズを拡げ、送信可能なレートを高くする。
このときTCP202は、これまでのデータ転送で輻輳ウインドウサイズが大きくなっており、本来であればボトルネックリンク11の帯域よりも高いレートでデータを送信できる筈だが、本実施の形態では、トンネリング手段201から流入するデータのレートが、リソースマネージャ207による制限によってボトルネックリンク11の帯域よりも低く抑えられている(つまり、ボトルネックを強制的にトンネリング手段201上に移動させている)。このためTCP202は、リソースマネージャ207に設定された閾値を越えるレートではデータを送信しない。
この結果、本実施の形態では、ボトルネックリンク11における欠落の発生や遅延の増大を抑制できるため、TCP202およびTCP302の輻輳ウインドウサイズは限りなく増大する。つまり、TCP202およびTCP302の輻輳制御を、実質的に無効にできる。
流量監視器306Bは、トンネリング手段301から受信したフレームを、流量の監視などを行わずにそのまま送信し、このフレームは、NIC305、NIC314、IP313を経由して、端末31内のTCP312に到達する。
TCP312は、受信したデータをバッファに格納する。このときTCP312は、データの欠落を検知し、TCP212に対して重複ACKを送信して、データの再送を要求する(もしくは遅延情報をTCP212に伝達する)。なお、トンネリング手段201が取りこぼしたフレームによっては、TCP312が欠落を検知でないが、この場合TCP212は、重複ACKの到着ではなくACKの未着により欠落を検知する。
TCP212は、TCP312からの重複ACKの到着、もしくはACK未着や遅延の増大によるタイムアウト発生により、送信データの欠落を検知して再送信を行う。この際TCP212は、送信データの欠落を検出したことにより、輻輳ウインドウサイズを小さくし、送信レートを抑制する。
なお、アプリケーション211とアプリケーション311の間のデータ伝送は、TCP212とTCP312の間の欠落検出および再送制御により、トンネリング手段201における欠落発生にかかわらず保証される。
さらに、以上に説明した構成および動作は、端末同士がTCPを用いる場合について述べたが、端末同士がUDPを用いて通信する場合においても、本実施の形態におけるトンネリング装置ならびに帯域制限器等を用いることにより、TCPトンネルでのパケット欠落を防止し、TCPトンネルの安定化を図ることもできる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制できる。これは、トンネルの入り口となるトンネリング手段201に割り当てるCPUパワーを抑制してトンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内にリソースマネージャ207を設け、トンネリング手段201に割り当てるCPUパワーを抑制してトンネルに流入するトラフィックの量を抑制し、この結果取りこぼしによるフレーム欠落や遅延時間の増大を発生させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
(第4の実施の形態)
本発明の第4の実施の形態は、第1の実施の形態における帯域制限器206の閾値設定を、帯域測定手段208により自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図6を参照して、本実施の形態における構成について説明する。
本発明の第4の実施の形態では、図1に示す第1の実施の形態に対して、帯域測定手段208、および帯域測定手段308を追加している。
帯域測定手段208は、以下に挙げる機能を有する。
(1)TCP202とTCP302の接続完了直後に、帯域測定用データを作成してTCP202に渡す。
(2)帯域測定用データの送出完了後に、帯域測定手段308から送信される測定結果を受信し、帯域制限器206の閾値を設定する。
(3)帯域測定手段308から送信される帯域測定用データを受信し、ボトルネックリンク11の帯域を計算して、TCP202を用いて帯域・遅延測定手段308Aに測定結果を伝達する。
帯域測定手段308は、帯域測定手段208と同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図6を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであるとする。
TCP202およびTCP302は、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きなものであるとする。
(接続動作)
TCP202は、トンネリング手段201からの指示により、TCP302に対して接続処理を行う。
トンネリング手段201は、TCP202からの接続完了通知を受けると、帯域測定手段208に対して、帯域測定指示を出す。
帯域測定手段208は、帯域測定用データ(MSSを越える巨大データ、もしくはMSSより充分に小さなデータ)を作成し、このデータをTCP202に渡す。なお帯域測定用データの最後には、データの終了を示す符号が付加されている。
TCP202は、帯域測定手段208から帯域測定用データを受け取ると、これを送信バッファに格納し、必要であればネットワーク上で転送可能なサイズ(MSS)にデータを分割(フラグメント処理)し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203、NIC204、NIC304、IP303を経由して、トンネリング装置30内のTCP302に向けて送信する。
TCP302は、帯域測定手段208から受信した帯域測定用データを、帯域測定手段308に渡す。
帯域測定手段308は、TCP302から渡される帯域測定用データの受信開始時からグッドプットの計算を開始し、測定用データの終了を示す符号を受信すると計算を終了し、TCP302を用いて帯域測定手段208にグッドプット測定結果を送信する。
帯域測定手段208は、帯域測定手段308からのグッドプット計算結果を受信し、通知されたグッドプットより小さな値を、帯域制限器206の閾値として設定する。
以上の動作により、帯域制限器206は、閾値がボトルネックリンク11の帯域以下の値に、自動的に設定される。
この後、TCP212とTCP312の間で接続を行うと、以降の動作は実施の形態1における「転送初期」以降の動作と同様になる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できる。これは、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けることにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内に帯域制限器206を設けてTCP212とTCP312の間で交換されるフレームを強制的に欠落させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置のいずれの設定もなしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、TCP202とTCP302の接続後に、帯域測定手段208がボトルネックリンク11の最大帯域を測定し、この結果より帯域制限器206の閾値を自動的に決定するからである。
(第5の実施の形態)
本発明の第5の実施の形態は、第2の実施の形態におけるウインドウ書換器206Aの閾値設定を、帯域・遅延測定手段208Aにより自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図7を参照して、本実施の形態における構成について説明する。
本発明の第5の実施の形態では、図4に示す第2の実施の形態に対して、帯域・遅延測定手段208A、および帯域・遅延測定手段308Aを追加している。
帯域・遅延測定手段208Aは、以下に挙げる機能を有する。
(1)TCP202とTCP302の接続完了直後に、帯域測定用データを作成してTCP202に渡す。帯域測定用データには、タイムスタンプやシーケンスナンバーなど、ボトルネックリンク11の帯域のほか、片道遅延を測定するための情報が含まれる。
(2)トンネリング装置20とトンネリング装置30の時刻同期が行われている場合は、帯域・遅延測定手段308Aから送信される帯域測定用データを全て受信した後、帯域・遅延測定手段308Aから帯域・遅延測定手段208Aへの帯域と片道遅延を計算して、TCP202を用いて帯域・遅延測定手段308Aに測定結果を伝達する。
(3)トンネリング装置20とトンネリング装置30の時刻同期が行われている場合は、帯域測定用データの送出完了後に、帯域・遅延測定手段308Aから送信される帯域(グッドプット)と片道遅延の測定結果を受信する。そして、通知された片道遅延時間を2倍して往復遅延として用い、これら帯域と往復遅延時間の積よりも小さい値になるよう、ウインドウ書換器206Aの閾値を設定する。
(4)トンネリング装置20とトンネリング装置30の時刻同期が行われていない場合は、帯域・遅延測定手段308Aから送信される帯域測定用データをTCP202から個々に受信後直ちに、データをそのまま(帯域・遅延測定手段308Aが挿入したタイムスタンプを残したまま)帯域・遅延測定手段308Aに送り返し、帯域・遅延測定手段308Aに往復遅延時間を計算させる。さらに、帯域・遅延測定手段308Aから送信される帯域測定用データを全て受信した後、帯域を計算し、TCP202を用いて帯域・遅延測定手段308Aに測定結果を伝達する。
(5)トンネリング装置20とトンネリング装置30の時刻同期が行われていない場合は、帯域・遅延測定手段308Aより折り返される測定用データのタイムスタンプに記された時刻と、折り返された測定用データを受信した時刻の差より、往復遅延時間を計算する。そして、帯域測定用データの送出完了後に、帯域・遅延測定手段308Aから送信される帯域(グッドプット)と、自身が計算した往復遅延時間の積よりも小さい値になるよう、ウインドウ書換器206Aの閾値を設定する。
帯域・遅延測定手段308Aは、帯域・遅延測定手段208Aと同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図7を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであるとする。
TCP202およびTCP302は、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きく設定されているものとする。
トンネリング装置20とトンネリング装置30の間では、時刻同期が行われていないとする。
(接続動作)
TCP202は、トンネリング手段201からの指示により、TCP302に対して接続処理を行う。
トンネリング手段201は、TCP202からの接続完了通知を受けると、帯域・遅延測定手段208Aに対して、帯域測定指示を出す。
帯域・遅延測定手段208Aは、帯域測定用データ(MSSより小さなデータ)を作成し、このデータを繰り返してTCP202に渡す。なお最後に送信する帯域測定用データには、データの終了を示す符号を付加する。
TCP202は、帯域測定手段208から帯域測定用データを受け取ると、これを送信バッファに格納し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203、NIC204、NIC304、IP303を経由して、トンネリング装置30内のTCP302に向けて送信する。TCP202は、Nodelayオプションが設定され、さらにデータはMSSより小さいため、1データにつき1フレームが送信される。
TCP302は、帯域測定手段208から帯域測定用データを受信し始めると、このフレームは分割されていないため、ただちに帯域・遅延測定手段308Aに渡す。
帯域・遅延測定手段308Aは、TCP302から個々の帯域測定用データの受信後直ちに、データをそのまま(帯域・遅延測定手段308Aが挿入したタイムスタンプを残したまま)TCP302を通じて帯域・遅延測定手段208Aに送り返し、帯域・遅延測定手段208Aに往復遅延時間を計算させる。さらに、データ終了を示す符号により、帯域・遅延測定手段208Aから送信される帯域測定用データの受信完了を検出すると、帯域を計算し、TCP302を用いて帯域・遅延測定手段208Aに帯域(グッドプット)測定結果を伝達する。
帯域・遅延測定手段208Aは、帯域・遅延測定手段308Aより折り返される測定用データを受信する毎に、タイムスタンプに記された時刻と、折り返された測定用データを受信した時刻の差より、往復遅延時間を計算する。
帯域・遅延測定手段208Aは、自身からの帯域測定用データの送出完了後に帯域・遅延測定手段308Aから送信される、帯域測定結果(グッドプット測定結果)を受信すると、この帯域測定結果と自身が計算した往復遅延時間の積よりも小さい値になるよう、ウインドウ書換器206Aの閾値を設定する。
以上の動作により、ウインドウサイズ書換器206Aは、閾値が「ボトルネックリンク11の帯域」と「TCP212とTCP312との間の往復遅延時間(RTT)」との積よりも小さい値に、自動的に設定される。
この後、TCP212とTCP312の間で接続を行うと、以降の動作は実施の形態2における「転送初期」以降の動作と同様になる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制できる。これは、ウインドウ書換器206Aを設けてTCP312からTCP212に向けて送信される確認応答(ACK)内に含まれる受信ウインドウサイズを小さい値に書き換え、TCP212から送信されるトラフィックの送信レートを抑制することにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内にウインドウ書換器206Aを設けてTCP312からTCP212に向けて送信される確認応答(ACK)内に含まれる受信ウインドウサイズを小さい値に書き換えることにより、TCP312とTCP212間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置のいずれの設定もなしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、TCP202とTCP302の接続後に、帯域・遅延測定手段208Aによりボトルネックリンク11の最大帯域を測定し、この結果よりウインドウ書換器206Aの閾値を自動的に決定するからである。
(第6の実施の形態)
本発明の第6の実施の形態は、第3の実施の形態におけるリソースマネージャ207の閾値設定を、帯域測定手段208により自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図8を参照して、本実施の形態における構成について説明する。
本発明の第6の実施の形態では、図5に示す第3の実施の形態に対して、帯域測定手段208、および帯域測定手段308を追加している。
帯域測定手段208は、第4の実施の形態における帯域測定手段208と同様の構成を有し、同様の動作を行う。ただし本実施の形態においては、測定完了後に帯域制限器206の閾値を設定するのではなく、リソースマネージャ207の閾値を設定する。
帯域測定手段308は、帯域測定手段208と同様の構成を有し、同様の動作を行う。
(動作の説明)
接続動作に関しては、第4の実施の形態と同様である。ただし第4の実施の形態において、帯域測定手段208は帯域制限器206の閾値を設定していたが、本実施の形態においては、リソースマネージャ207の閾値を設定する。
接続動作完了後の動作は、第3の実施の形態における転送初期以降の動作と同様になる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による性能劣化を抑制できる。これは、トンネルの入り口となるトンネリング手段201に割り当てるCPUパワーを抑制してトンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内にリソースマネージャ207を設け、トンネリング手段201に割り当てるCPUパワーを抑制してトンネルに流入するトラフィックの量を抑制し、この結果取りこぼしによるフレーム欠落や遅延時間の増大を発生させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置のいずれの設定もなしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、TCP202とTCP302の接続後に、帯域測定手段208によりボトルネックリンク11の最大帯域を測定し、この結果よりリソースマネージャ207の閾値を自動的に決定するからである。
(第7の実施の形態)
本発明の第7の実施の形態は、第1の実施の形態における帯域制限器206の閾値設定を、帯域調査手段208Cにより自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図9を参照して、本実施の形態における構成について説明する。
本発明の第7の実施の形態では、図1に示す第1の実施の形態に対して、ダイヤルアップNICドライバ204A、モデム・携帯電話等204B、帯域調査手段208C、ダイヤルアップNICドライバ304A、モデム・携帯電話等304B、および帯域調査手段308Cを追加している。
ダイヤルアップNICドライバ204Aは、IP203からイーサネットフレームを受信し、これをPPPプロトコル等に載せてモデムで転送可能なビット列等に変換し、モデム・携帯電話204Bに渡す。また逆に、モデム・携帯電話等204Bからビット列等を受信し、PPPプロトコル等を終端し、イーサネットフレームをIP203に転送する。また、ATコマンドなど、モデム・携帯電話の制御の為のコマンドをやり取りする機能を有し、帯域調査手段208Cからの要求に応じて、モデム・携帯電話等204Bに、PPPリンクの帯域(もしくはRS232Cリンク、無線リンク等モデムから取得できる帯域情報)を問い合わせる。
モデム・携帯電話等204Bは、ダイヤルアップNICドライバ204AからのATコマンド等による指示に従い、電話番号やAPN等により指定された宛先(図の例ではモデム・携帯電話等304B)に接続し、ダイヤルアップNICドライバから送られるビット列等を電話回線等を通じて接続した宛先に転送し、また逆に、接続した宛先から送信されるビット列等をNICダイヤルアップNICドライバ204Aに転送する。また、RS232Cリンク、無線リンク等の帯域情報を、ATコマンド等による要求に応じてダイヤルアップNICドライバ204Aに通知する。
帯域調査手段208Cは、TCP202とTCP302の接続完了後、および必要な場合は一定間隔ごとに、ダイヤルアップNICドライバ204AにPPPリンクの帯域(もしくはRS232Cリンク、無線リンク等モデムから取得できる帯域情報)を問い合わせ、この帯域を帯域制限器206の閾値として設定する。
ダイヤルアップNICドライバ304Aは、ダイヤルアップNICドライバ204Aと同様の構成を有し、同様の動作を行う。
モデム・携帯電話等304Bは、モデム・携帯電話等204Bと同様の構成を有し、同様の動作を行う。
帯域調査手段308Cは、帯域調査手段208Cと同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図6を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであるとする。またこの帯域幅は、PPPリンク速度等として、モデム・形態電話等204Bおよびモデム・携帯電話等304Bにて認識可能であるとする。
TCP202およびTCP302は、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きく設定されているものとする。
(接続動作)
モデム・携帯電話等204Bは、モデム・携帯電話等304Bに電話回線等を通じて接続を行う。接続が完了すると、接続完了通知と共に、リンク速度をダイヤルアップNICドライバ204Aに通知する。
ダイヤルアップNICドライバ204Aは、モデム・携帯電話等204Bから通知を受けたリンク帯域を保存しておく。
TCP202は、トンネリング手段201からの指示により、TCP302に対して接続処理を行う。
帯域調査手段208Cは、TCP202からの接続完了通知を受けると、ダイヤルアップNICドライバ204Aに対して、帯域の問い合わせを行う。
ダイヤルアップNICドライバ204Aは、帯域調査手段208Cからの要求に応じて、可能であればモデム・携帯電話等204Bにリンク帯域の問い合わせを行い、結果を帯域調査手段208Cに返答する。もしモデム・携帯電話等204Bへの問い合わせが出来ない場合は、モデム・携帯電話等204Bがモデム・携帯電話等304Bと接続完了した際に保存した帯域情報を、帯域調査手段208Cに返答する。
帯域調査手段208Cは、ダイヤルアップNICアダプタ204Aより通知された帯域、もしくは若干低い帯域を、帯域制限器206の閾値として設定する。
以上の動作により、帯域制限器206は、閾値がボトルネックリンク11の帯域以下の値に、自動的に設定される。
この後、TCP212とTCP312の間で接続を行うと、以降の動作は実施の形態1における「転送初期」以降の動作と同様になる。
以上においては、帯域調査手段208C等を実施の形態1における構成に適用して説明を行ったが、実施の形態2や実施の形態3における構成にも同様に帯域調査手段208C等を適用して、ウインドウ書換器206Aやリソースマネージャ207の閾値を自動設定できる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できる。これは、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けることにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内に帯域制限器206を設けてTCP212とTCP312の間で交換されるフレームを強制的に欠落させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置への最大帯域の設定なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、帯域調査手段208Cがモデム・携帯電話等204Bに対してボトルネックリンク11の最大帯域を問い合わせ、この結果より帯域制限器206の閾値を自動的に決定するからである。
(第8の実施の形態)
本発明の第8の実施の形態は、第1の実施の形態における帯域制限器206の閾値設定を、UPnP−CP208Bにより自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図10を参照して、本実施の形態における構成について説明する。
本発明の第8の実施の形態では、図1に示す第1の実施の形態に対して、Router23、HUB24、ブリッジ200、TCP202A、仮想NIC205A、UPnP−CP208B、Router33、HUB34、ブリッジ300、TCP302A、仮想NIC305A、およびUPnP−CP308Bを追加している。また、トンネリング装置20,端末21、Router23は、それぞれHUB24を介して接続され、トンネリング装置30,端末31、Router33は、それぞれHUB34を介して接続されている。
Router23は、LAN2とWAN1の双方に接続し、IPアドレスを基に、必要であればLAN2側からイーサネットフレームを受信し、MACアドレスを付け替えた上でWAN1側に転送する。またWAN1側から届いたイーサネットフレームのIPアドレスを調べ、必要であれば受信し、MACアドレスを付け替えた上で、LAN1側に転送する。
Router23はさらに、LAN2側の機器(端末21やトンネリング装置20)からの設定を受け付け、また設定情報の開示を行うために、UPnPゲートウェイデバイス機能を搭載している。Router23はWAN1側にはADSLモデム等を搭載しても良く、この場合はADSLモデムのリンク速度を、UPnPを経由してLAN2側の機器が取得出来るものとする。またNAT機能を搭載しても良いが、この場合はTCP202とTCP302の間で接続ができるよう、ポートフォワーディングの設定等をあらかじめ行っておくものとする。
HUB24は、端末21、トンネリング装置20、Router24を結び、イーサネットフレームのMACアドレスにより宛先ポートを決定してフレームを転送する、一般的なハブである。
ブリッジ200は、NIC204、仮想NIC205A、IP203のそれぞれからイーサネットフレームを受信し、HUB24と同様に、イーサネットフレームのMACアドレスにより宛先を決定してフレームを転送する。
TCP202Aは、TCP202と同様の動作を行うTCPである。本実施の形態において、TCP202Aは、Router23内のTCPとコネクションを行う。
仮想NIC205Aは、ブリッジ200からフレームを受信して帯域制限器206に渡し、もしくは帯域制限器206からフレームを受信してブリッジ200に渡す。
UPnP−CP208Bは、UPnPゲートウェイデバイス等のUPnPデバイスの制御や状況取得を行う。本実施の形態においては、Router23のADSLリンク速度を取得し、帯域制限器206に設定する動作を行う。
Router33は、Router23と同様の構成を有し、同様の動作を行う。
HUB34は、HUB24と同様の構成を有し、同様の動作を行う。
ブリッジ300は、ブリッジ200と同様の構成を有し、同様の動作を行う。
TCP302Aは、TCP202Aと同様の構成を有し、同様の動作を行う。
仮想NIC305Aは、仮想NIC205Aと同様の構成を有し、同様の動作を行う。
およびUPnP−CP308Bは、UPnP−CP208Bと同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図10を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであるとする。またこの帯域幅は、ADSLリンク速度として、Router23およびRouter33にて認識可能であるとする。
TCP202およびTCP302は、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26がTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きく設定されているものとする。
(接続動作)
Router23は、内蔵のADSLモデムによりWAN1と接続を行い、WAN1と接続出来たことを、UPnPを用いてLAN2内のUPnP−CPに伝える。
トンネリング装置内のUPnP−CPは、Router23からの接続完了通知を受け、TCP202Aの接続を通じて、Router23に対してADSLリンク速度の問い合わせを行う。そして、問い合わせで返答された速度よりも充分に低い値を、帯域制限器206の閾値に設定する。
以上の動作により、帯域制限器206は、閾値がボトルネックリンク11の帯域以下の値に、自動的に設定される。
この後、TCP202とTCP302の間で接続を行い、さらにTCP212とTCP312の間で接続を行うと、以降の動作は実施の形態1における「転送初期」以降の動作と同様になる。
以上においては、UPnP−CP208B等を実施の形態1における構成に適用して説明を行ったが、実施の形態2や実施の形態3における構成にも同様にUPnP−CP208B等を適用して、ウインドウ書換器206Aやリソースマネージャ207の閾値を自動設定できる。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できる。これは、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けることにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内に帯域制限器206を設けてTCP212とTCP312の間で交換されるフレームを強制的に欠落させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置への最大帯域の設定なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、UPnP−CP208がRouter23に対してADSLリンク速度、つまりボトルネックリンク11の最大帯域を問い合わせ、この結果より帯域制限器206の閾値を自動的に設定するからである。
(第9の実施の形態)
本発明の第9の実施の形態は、第1の実施の形態における帯域制限器206の閾値設定を、インバンド型帯域測定手段208Dにより自動的に行う点において異なる。尚、以下の説明において、上記実施の形態と同様の構成については同一番号を付し、その詳細な説明は省略する。
(構成の説明)
図11を参照して、本実施の形態における構成について説明する。
本発明の第9の実施の形態では、図1に示す第1の実施の形態に対して、インバンド型帯域測定手段208D、およびインバンド型帯域測定手段308Dを追加している。
インバンド型帯域測定手段208Dは、以下に挙げる機能を有する。
(1)トンネリング手段201からデータを受け取り、送信時刻情報を付加して、TCP202に渡す。
(2)TCP202からデータを受け取り、送信時刻情報を分離して、トンネリング手段201に渡す。この際、データに付加されていた送信時刻と自装置の現在時刻との差分から片道遅延を計算し、さらに到着したデータの送信時刻情報分込みサイズを記し、結果をTCP202を通じてインバンド型帯域測定手段308Dに通知する。なお、本実施の形態においては、データサイズごとの片道遅延時間の差分を用いてボトルネック帯域の推定を行うため、トンネリング装置20とトンネリング装置30の時刻同期は不要である。
(3)TCP202からデータを受け取り、これがインバンド型帯域測定手段308Dから通知された片道遅延およびデータサイズであった場合には、この情報を保存する。また、これまでに保存した片道遅延およびデータサイズから、ボトルネックリンク11の帯域を推定し、この結果より帯域制限器206の閾値を設定する。ここで閾値は推定した最大帯域より若干低い値に設定する。ここで、ボトルネックリンク11の帯域は、(データサイズS2−データサイズS1)÷(サイズS2のフレーム転送に要する片道遅延時間T2−サイズS1のフレーム転送に要する片道遅延時間T1)により求められる。
インバンド型帯域測定手段308Dは、インバンド型帯域測定手段208Dと同様の構成を有し、同様の動作を行う。
(動作の説明)
以下、図11を参照して、本実施の形態における動作を、アプリケーション211からアプリケーション311に大きなデータを送信する場合を例に説明する。
ボトルネックリンク11は、端末21と端末31の間の経路上で最も通信帯域が細くなっている(隘路となっており、伝送速度が低速である)部分のリンクであるとする。
TCP202およびTCP302は、Nodelayオプションにより、送信結合用のNagleアルゴリズムを無効設定しているものとする。
TCP212およびTCP312における最大セグメントサイズ(MSS)は、イーサネットフレーム26に送信時刻情報を付加したものがTCP202およびTCP302で分割(フラグメント)されない程度に、小さめに設定されているものとする。さらに、TCP212およびTCP312の最大受信ウインドウサイズは、充分に大きなものであるとする。
TCP202およびTCP302は、相互の間で既に接続が完了しているものとする。
TCP212およびTCP312は、TCP202とTCP302との間の接続完了後に、相互の間で接続動作を行い、既に接続が完了しているものとする。
(転送初期)
端末21内のアプリケーション211が、サーバ31内のアプリケーション311宛の大きなデータを作成し、TCP212に渡す。
TCP212は、アプリケーション211から大きなデータを受け取ると、これを送信バッファに格納し、ネットワーク上で転送可能なサイズ(MSS)にデータを分割(フラグメント処理)し、TCP312から通知される受信ウインドウサイズおよび、TCP212内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP213およびNIC214を経由して、端末31内のTCP312に向けて送信する。このとき、LAN2を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
TCPは、転送初期は輻輳ウインドウサイズが小さく設定されているために小さな送信レートでデータを送信し、ACKの未着や、重複ACKの到着が発生しない限り、ACKを受領していないデータ量が、相手方が通知してくる受信ウインドウサイズと、自身の管理する輻輳ウインドウサイズのどちらか小さいほうに達するまで、次第に輻輳ウインドウサイズを大きくして、次第に大きな送信レートでデータを送信する。このため、転送初期は低めの送信レートでデータが送信される。
トンネリング装置20内のNIC205は、LAN2からイーサネットフレームを受信し、帯域制限器206に転送する。
帯域制限器206は、NIC205から単位時間あたりに受信するイーサネットフレームの流量を監視し、あらかじめ設定された帯域(閾値)以下の流量であればトンネリング手段201に転送する。転送初期においては、TCP212から送信されるデータの流量は、帯域制限器206に設定された閾値よりも低く抑えられるため、全てのフレームがそのままトンネリング手段201に転送される。
トンネリング手段201は、帯域制限器206から受信したフレームをインバンド型帯域測定手段208Dにデータとして受け渡す。
インバンド型帯域測定手段208Dは、トンネリング手段201から受信したデータに送信時刻情報(タイムスタンプ)を付加して、TCP202に渡す。
TCP202は、インバンド型帯域測定手段208Dからデータ(イーサネットフレーム26)を受け取ると、これを送信バッファに格納し、TCP302から通知される受信ウインドウサイズおよび、TCP202内の輻輳ウインドウサイズの双方をもとに送信レート(データ送出速度)を決定し、IP203およびNIC204を経由して、トンネリング装置30内のTCP302に向けて送信する。このとき、WAN1を流れるフレームのフォーマットは、図3に示すイーサoverTCPフレーム12の形式となる。
トンネリング装置30内のTCP302は、TCP202から送信されたデータを、NIC304、IP302を経由して受信し、インバンド型帯域測定手段308Dに転送する。このときTCP302は、TCP202に対して確認応答を送信し、この確認応答を受信したTCP202は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
インバンド型帯域測定手段308Dは、TCP302からデータを受け取り、送信時刻情報を分離して、トンネリング手段301に渡す。この際、データに付加されていた送信時刻と自装置の現在時刻との差分から片道遅延を計算し、さらに到着したデータの送信時刻情報分込みサイズを記し、結果をTCP302を通じてインバンド型帯域測定手段208Dに通知する。
インバンド型帯域測定手段208Dは、TCP202からデータを受け取り、これがインバンド型帯域測定手段308Dから通知された片道遅延(T2)およびデータサイズ(S2)であるので、この情報を保存する。また、これまでに保存した片道遅延(T1)およびデータサイズ(S1)から、|データサイズS2−データサイズS1|÷|サイズS2のフレーム転送に要する片道遅延時間T2−サイズS1のフレーム転送に要する片道遅延時間T1|により、ボトルネックリンク11の帯域を推定し、この結果より帯域制限器206の閾値を設定する。ここで閾値は推定した最大帯域より若干低い値に設定する。
トンネリング手段301は、インバンド型帯域測定手段308Dからデータ(イーサネットフレーム26)を受信し、帯域制限器306に転送する。
帯域制限器306は、トンネリング手段301から受信したフレームを、帯域制限や流量の監視などを行わず、そのままNIC305を経由して、端末31に送信する。このとき、LAN3を流れるフレームのフォーマットは、図2に示すイーサネットフレーム26の形式となる。
端末31内のTCP312は、トンネリング装置30から送信されたイーサネットフレームを、NIC314、IP312を経由して受信し、バッファに格納する。このときTCP312は、TCP212に対して確認応答を送信し、この確認応答を受信したTCP212は、輻輳ウインドウのサイズを拡げ、送信レートを高くする。
以上の動作例(転送初期)に従い、TCP212からTCP312へのデータ転送を継続すると、インバンド型帯域測定手段208Dによりボトルネックリンク11の帯域が動的に推定され、帯域制限器206のレートも動的に設定される。
以上においては、インバンド型帯域調査手段208Dを実施の形態1における構成に適用して説明を行ったが、実施の形態2および実施の形態3における構成にも同様にインバンド型帯域調査手段208Dを適用して、ウインドウ書換器206Aやリソースマネージャ207の閾値を自動設定しても良い。
さらに、実施の形態に4〜8における帯域測定手段や帯域・遅延測定手段と、インバンド型帯域測定手段を併用しても良い。この場合は、帯域測定手段や帯域・遅延測定手段と、インバンド型帯域測定手段の双方のうち、何れか低いほうの帯域を用いて、帯域制限器の閾値を設定する。
(発明の効果)
次に、本実施の形態の効果について説明する。
本実施の形態に挙げた発明を利用すると、2つのTCPによる2重の輻輳制御と2重の再送制御による通信速度の低下(性能劣化)を抑制できる。これは、トンネルの入り口となるトンネリング手段201の前段に帯域制限器206を設けることにより、トンネルに過剰に流入するトラフィックを抑制し、TCP202とTCP203の間の区間における欠落の発生や遅延の増大を抑制することで、TCP202およびTCP203のTCPの輻輳制御を実質的に無効にさせ、TCP212およびTCP312におけるレート抑制制御が過剰に行われるのを防ぐためである。
また、本実施の形態に挙げた発明を利用すると、エンド端末の設定変更(TCP212やTCP312の最大受信ウインドウサイズの設定変更)なしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネリング装置内に帯域制限器206を設けてTCP212とTCP312の間で交換されるフレームを強制的に欠落させることにより、TCP212とTCP312間の通信の帯域制限をトンネリング装置内で行うからである。
また、本実施の形態に挙げた発明を利用すると、端末やトンネリング装置のいずれの設定もなしに、エンド端末間の通信レート(通信帯域)を制限できる。これは、トンネルを流れるデータフレームの大きさのばらつきと、大きさのばらつきによる片道遅延時間のばらつきにより、インバンド型帯域測定手段208Dがボトルネックリンク11の最大帯域を推定し、この結果より帯域制限器206の閾値を自動的に決定するからである。
以上の実施の形態及び実施例では、フレームという用語を用いたが、フレームはイーサネットフレームと同義である。また、パケットはフレームの一部分(フレームのうち、レイヤ3以上のデータ列)であり、フレームに含まれる。
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
尚、上述した本発明の各構成部は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
この場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。
本発明によれば、離れたLAN同士をWANを介して接続するためのインターネットVPN装置やインターネットVPNシステム、また、外出先ネットワークから社内イントラネットに接続するためのリモートアクセス装置やリモートアクセスシステムに適用できる。また、外出先から家庭内の機器を操作制御する、ホームネットワークシステムや、ホームネットワーク機器にも適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 イーサネットフレーム26の構成を示すブロック図である。 イーサoverTCPフレーム12の構成を示すブロック図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第6の実施の形態の構成を示すブロック図である。 本発明の第7の実施の形態の構成を示すブロック図である。 本発明の第8の実施の形態の構成を示すブロック図である。 本発明の第9の実施の形態の構成を示すブロック図である。 従来技術2の構成を示すブロック図である。
符号の説明
1 WAN
2 LAN
3 LAN
11 ボトルネックリンク
12 イーサoverTCPフレーム
20 トンネリング装置
21 端末
22 通信路制御装置
23 Router
24 HUB
26 イーサネットフレーム
30 トンネリング装置
31 端末
32 通信路制御装置
33 Router
34 HUB
121 WAN MAC
122 WAN IP
123 WAN TCP
124 WAN DATA
200 ブリッジ
201 トンネリング手段
202 TCP
203 IP
204 NIC
204A ダイヤルアップNICドライバ
204B モデム・携帯電話等
205 NIC
205A 仮想NIC
206 帯域制限器
206A ウインドウ書換器
206B 流量監視器
207 リソースマネージャ
208 帯域測定手段
208A 帯域・遅延測定手段
208B UPnP−CP
208C 帯域調査手段
208D インバンド型帯域測定手段
211 アプリケーション
212 TCP
213 IP
214 NIC
221 ゆらぎ平滑器
261 LAN MAC
262 LAN IP
263 LAN TCP
264 LAN DATA
300 ブリッジ
301 トンネリング手段
302 TCP
303 IP
304 NIC
304A ダイヤルアップNICドライバ
304B モデム・携帯電話等
305 NIC
305A 仮想NIC
306 帯域制限器
306A ウインドウ書換器
306B 流量監視器
307 リソースマネージャ
308 帯域測定手段
308A 帯域・遅延測定手段
308B UPnP−CP
308C 帯域調査手段
308D インバンド型帯域測定手段
311 アプリケーション
312 TCP
313 IP
314 NIC
321 ゆらぎ平滑器

Claims (29)

  1. LAN同士がTCPトンネルを介して接続されている通信システムであって、
    送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
    を有することを特徴とする通信システム。
  2. 前記制御手段は、前記フレームの流量が前記TCPトンネルのボトルネック帯域以下になるようにフレームを欠落させることを特徴とする請求項1に記載の通信システム。
  3. 前記制御手段は、前記フレームの流量が前記TCPトンネルのボトルネック帯域以下になるように、前記フレームの伝送を遅延させることを特徴とする請求項1に記載の通信システム。
  4. 前記制御手段は、前記TCPトンネルにフレームを流入するトンネリング手段に割り当てる資源を削減することによって制御することを特徴とする請求項1から請求項3のいずれかに記載の通信システム。
  5. 測定用データを用いて前記TCPトンネルのボトルネック帯域を測定する測定手段を有し、
    前記制御手段は、前記測定したボトルネック帯域に基づいて制御することを特徴とする請求項1から請求項4のいずれかに記載の通信システム。
  6. WAN接続に用いられるノードのリンク速度を調査して前記TCPトンネルのボトルネック帯域を測定する測定手段を有し、
    前記制御手段は、前記測定したボトルネック帯域に基づいて制御することを特徴とする請求項1から請求項4のいずれかに記載の通信システム。
  7. LAN同士がTCPトンネルを介して接続されている通信システムであって、
    前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム内に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
    を有することを特徴とする通信システム。
  8. 前記制御手段は、
    前記受信ウインドウサイズを前記積以下に書き換えることによって、前記フレームの量を制御することを特徴とする請求項7に記載の通信システム。
  9. 前記制御手段は、前記確認応答フレームをコピーして重複確認応答を生成することによって、前記フレームの量を制御することを特徴とする請求項7又は請求項8に記載の通信システム。
  10. 測定用データを用いて前記TCPトンネルのボトルネック帯域および往復遅延時間を測定する測定手段を有し、
    前記制御手段は、前記測定したボトルネック帯域及び往復遅延時間に基づいて制御することを特徴とする請求項7から請求項9のいずれかに記載の通信システム。
  11. 前記TCPトンネルを通じて到着する帯域計算用情報に基づいて前記TCPトンネルのボトルネックを推定する推定手段を有し、
    前記制御手段は、前記推定したボトルネック帯域に基づいて制御することを特徴とする請求項1から請求項4及び請求項7から請求項9のいずれかに記載の通信システム。
  12. 前記推定手段は、前記TCPトンネルのボトルネック帯域を、前記トンネルを流れる任意の複数フレームの大きさの差と、これらのフレームの片道遅延時間の差とに基づいて推定することを特徴とする請求項11に記載の通信システム。
  13. LAN同士がTCPトンネルを介して接続されている通信システムのトンネリング装置であって、
    送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
    を有することを特徴とするトンネリング装置。
  14. LAN同士がTCPトンネルを介して接続されている通信システムのトンネリング装置であって、
    前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム内に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
    を有することを特徴とするトンネリング装置。
  15. LAN同士がTCPトンネルを介して接続されている通信システムの通信方法であって、
    送信側のLANから到着したフレームの流量を監視する監視ステップと、
    前記流量が前記TCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御ステップと
    を有することを特徴とする通信方法。
  16. 前記制御ステップは、前記流量が前記TCPトンネルのボトルネック帯域以下になるようにフレームを欠落させることを特徴とする請求項15に記載の通信方法。
  17. 前記制御ステップは、前記流量が前記TCPトンネルのボトルネック帯域以下になるように、前記フレームの伝送を遅延させることを特徴とする請求項15に記載の通信方法。
  18. 前記制御ステップは、前記TCPトンネルにフレームを流入するトンネリング手段に割り当てる資源を削減することを特徴とする請求項15から請求項17のいずれかに記載の通信方法。
  19. 測定用データを用いて前記TCPトンネルのボトルネック帯域を測定する測定ステップを有し、
    前記制御ステップは、前記測定したボトルネック帯域に基づいて制御することを特徴とする請求項15から請求項18のいずれかに記載の通信方法。
  20. WAN接続に用いられるノードのリンク速度を調査して前記TCPトンネルのボトルネック帯域を測定する測定ステップを有し、
    前記制御ステップは、前記測定したボトルネック帯域に基づいて制御することを特徴とする請求項15から請求項18のいずれかに記載の通信方法。
  21. LAN同士がTCPトンネルを介して接続されている通信システムの通信方法であって、
    前記TCPトンネルから流出される確認応答フレームを監視する監視ステップと、
    前記確認応答フレーム内に記載されている受信ウインドウサイズが、前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御ステップと
    を有することを特徴とする通信方法。
  22. 前記制御ステップは、
    前記受信ウインドウサイズを前記積以下に書き換えることを特徴とする請求項21に記載の通信方法。
  23. 前記制御ステップは、前記確認応答フレームをコピーして重複確認応答を生成することを特徴とする請求項21又は請求項22に記載の通信方法。
  24. 測定用データを用いて前記TCPトンネルのボトルネック帯域および往復遅延時間を測定する測定ステップを有し、
    前記制御ステップは、前記測定したボトルネック帯域及び往復遅延時間に基づいて制御することを特徴とする請求項21から請求項23のいずれかに記載の通信方法。
  25. 前記TCPトンネルを通じて到着する帯域計算用情報に基づいて前記TCPトンネルのボトルネックを推定する推定ステップを有し、
    前記制御ステップは、前記推定したボトルネック帯域に基づいて制御することを特徴とする請求項15から請求項18及び請求項21から請求項23のいずれかに記載の通信方法。
  26. 前記推定ステップは、前記TCPトンネルのボトルネック帯域を、前記トンネルを流れる任意の複数フレームの大きさの差と、これらのフレームの片道遅延時間の差とに基づいて推定することを特徴とする請求項25に記載の通信方法。
  27. LAN同士がTCPトンネルを介して接続されている通信システムのプログラムであって、前記プログラムは前記通信システムを、
    送信側のLANから到着したフレームの流量を監視し、この流量がTCPトンネルのボトルネック帯域以上である場合に前記TCPトンネルに流入するフレームの量を制御する制御手段
    として機能させることを特徴とするプログラム。
  28. LAN同士がTCPトンネルを介して接続されている通信システムのプログラムであって、前記プログラムは前記通信システムを、
    前記TCPトンネルから流出される確認応答フレームを監視し、この確認応答フレーム内に記載されている受信ウインドウサイズが前記TCPトンネルのボトルネック帯域と、TCPセッションを確立している端末間の往復遅延時間との積以上になる場合に、前記TCPトンネルに流入するフレームの量を制御する制御手段
    として機能させることを特徴とするプログラム。
  29. LAN同士がTCPトンネルを介して接続されている通信システムであって、
    前記TCPトンネルに流入するトラフィックの量を制限する制限手段をTCPトンネルの前段に設けることにより、前記TCPトンネルを構築しているTCPセッションにおける輻輳制御を無効にすることを特徴とする通信システム。
JP2006255378A 2006-09-21 2006-09-21 通信システム、トンネリング装置、通信方法、およびプログラム Expired - Fee Related JP4998687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006255378A JP4998687B2 (ja) 2006-09-21 2006-09-21 通信システム、トンネリング装置、通信方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006255378A JP4998687B2 (ja) 2006-09-21 2006-09-21 通信システム、トンネリング装置、通信方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008078966A true JP2008078966A (ja) 2008-04-03
JP4998687B2 JP4998687B2 (ja) 2012-08-15

Family

ID=39350565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255378A Expired - Fee Related JP4998687B2 (ja) 2006-09-21 2006-09-21 通信システム、トンネリング装置、通信方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4998687B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010022001A (ja) * 2008-07-11 2010-01-28 Canon Inc トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体
WO2010073979A1 (ja) * 2008-12-25 2010-07-01 日本電気株式会社 通信品質監視装置、通信システム、通信品質監視方法及びそのプログラム
WO2011148748A1 (ja) * 2010-05-28 2011-12-01 日本電気株式会社 伝送装置、帯域制御方法及びコンピュータプログラム
JP2012090066A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd リンク速度制御方法及びdslモデム装置
JP2013042370A (ja) * 2011-08-16 2013-02-28 Hitachi Ltd 通信装置
JP2013521718A (ja) * 2010-03-04 2013-06-10 マイクロソフト コーポレーション ネットワーク接続上の信頼性機構の選択的な無効化
WO2014077268A1 (ja) * 2012-11-14 2014-05-22 日本電気株式会社 パケット転送制御装置、パケット転送制御方法およびプログラム
JP2015508586A (ja) * 2011-12-15 2015-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Tcpトラフィックをハンドリングするための方法及びネットワークノード
WO2024010033A1 (ja) * 2022-07-05 2024-01-11 株式会社ソラコム Apiを用いてsmsメッセージを送信するためのシステム、方法及びそのためのプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290426A (ja) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp 輻輳度考慮優先パケット送信装置
WO2005008977A1 (ja) * 2003-07-18 2005-01-27 Fujitsu Limited パケット転送方法及び装置
WO2005018170A1 (en) * 2003-08-19 2005-02-24 Ntt Docomo, Inc. Accurate control of transmission information in ad hoc networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290426A (ja) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp 輻輳度考慮優先パケット送信装置
WO2005008977A1 (ja) * 2003-07-18 2005-01-27 Fujitsu Limited パケット転送方法及び装置
WO2005018170A1 (en) * 2003-08-19 2005-02-24 Ntt Docomo, Inc. Accurate control of transmission information in ad hoc networks

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010022001A (ja) * 2008-07-11 2010-01-28 Canon Inc トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体
US8072898B2 (en) 2008-07-11 2011-12-06 Canon Kabushiki Kaisha Method for managing a transmission of data streams on a transport channel of a tunnel, corresponding tunnel end-point and computer-readable storage medium
WO2010073979A1 (ja) * 2008-12-25 2010-07-01 日本電気株式会社 通信品質監視装置、通信システム、通信品質監視方法及びそのプログラム
US8929212B2 (en) 2008-12-25 2015-01-06 Nec Corporation Communication quality monitoring device, communication system, communication quality monitoring method and program thereof
JP5299794B2 (ja) * 2008-12-25 2013-09-25 日本電気株式会社 通信品質監視装置、通信システム、通信品質監視方法及びそのプログラム
JP2013521718A (ja) * 2010-03-04 2013-06-10 マイクロソフト コーポレーション ネットワーク接続上の信頼性機構の選択的な無効化
JP5423888B2 (ja) * 2010-05-28 2014-02-19 日本電気株式会社 伝送装置、帯域制御方法及びコンピュータプログラム
WO2011148748A1 (ja) * 2010-05-28 2011-12-01 日本電気株式会社 伝送装置、帯域制御方法及びコンピュータプログラム
US9185602B2 (en) 2010-05-28 2015-11-10 Nec Corporation Transmission device, bandwidth control method and computer program
JP2012090066A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd リンク速度制御方法及びdslモデム装置
JP2013042370A (ja) * 2011-08-16 2013-02-28 Hitachi Ltd 通信装置
JP2015508586A (ja) * 2011-12-15 2015-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Tcpトラフィックをハンドリングするための方法及びネットワークノード
WO2014077268A1 (ja) * 2012-11-14 2014-05-22 日本電気株式会社 パケット転送制御装置、パケット転送制御方法およびプログラム
WO2024010033A1 (ja) * 2022-07-05 2024-01-11 株式会社ソラコム Apiを用いてsmsメッセージを送信するためのシステム、方法及びそのためのプログラム

Also Published As

Publication number Publication date
JP4998687B2 (ja) 2012-08-15

Similar Documents

Publication Publication Date Title
JP4998687B2 (ja) 通信システム、トンネリング装置、通信方法、およびプログラム
JP4669536B2 (ja) 送信方法、トンネル終端装置、コンピュータプログラム
JP5005003B2 (ja) トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体
US8169911B2 (en) Method for transmitting a data stream with anticipation of acknowledgments, correspondence input device and computer-readable storage medium
US9231829B2 (en) Communication device
US7839783B2 (en) Systems and methods of improving performance of transport protocols
JP5580706B2 (ja) 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
WO2013014963A1 (ja) 通信装置
US20090316719A1 (en) Method for managing mechanisms to enhance transmission of data streams in a tunnel, corresponding computer program product, storage medium and tunnel end-point
Honda et al. Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency
JP2003078560A (ja) トランスポートレイヤプロトコルにおけるフロー制御方式
EP2715978B1 (en) A system and method for reducing the data packet loss employing adaptive transmit queue length
WO2015022809A1 (ja) 通信装置及び送信帯域制御方法
Kawana et al. Communication multiplexing of server with quic and sdn in multihomed networks
Bisio et al. Performance enhanced proxy solutions for satellite networks: state of the art, protocol stack and possible interfaces
JP5752644B2 (ja) 通信路終端装置、データサイズ決定方法およびデータサイズ決定プログラム
Kliazovich et al. Cross-layer congestion control in multi-hop wireless local area networks
Li et al. Evaluation of Transport Layer Protocol for Satellite Communications
JP2014135575A (ja) 通信装置、及び、送信帯域の制御方法
Callegari et al. A Friendliness Study of TCP Linux Variants

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120418

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120501

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees