ラウンドトリップタイム
通信の分野において、ラウンドトリップタイム(Round-Trip Time、RTT)、ラウンドトリップディレイタイム(Round-Trip delay Time)は下記のような意味を持つ。
- 閉回路で信号を転送するときの経過時間。
- メッセージ(コンピュータネットワークのTCPパケットも含む)をある離れた場所へ送って、それが戻ってくるまでの経過時間。
- 一次レーダーまたは二次レーダーシステムにおいて、転送したパルスが標的に届き、エコーやトランスポンダの応答が受信機に返るまでに要する時間。
ラウンドトリップタイムは、双方向通信を必要とするシステムにおいて重要である。そのようなシステムに、電話や、ラウンドトリップタイムがスループットに直接影響するTCPのようなACK/NAKデータシステムがある。ラウンドトリップタイムは、ほんの数マイクロ秒のもの(短い通信距離(LoS:Line of Sight)で使われるような無線システム)から何秒もかかるもの(一つ以上の衛星接続がかかわる複合リンク回路)まである。これには、そのメディア(通信媒体)を通過する時間と同様にノードにおける遅延も含まれる。
TCPでの通信に関しては、ラウンドトリップタイムはセグメント送信とACK受信の間の時間を計測することによって計算される。
ラウンドトリップ遅延の削減方法
[編集]サーバー-クライアント間のラウンドトリップタイムそのものを削減するのは物理的制約(光速度不変則)により難しい。そのため往復回数を減らす、代わりに近距離の通信相手とつなぐのが主な対策となる
ラウンドトリップ回数の削減
[編集]認証手続きの合理化
[編集]認証を手早く済ませ通信を始めるようにする。
例としてTCP接続開始時のハンドシェイク手続きの簡略化ないし省略(TCP Fast Open) (QUICはそもそもUDPを使用する)、TLSセッション開始時の簡略化ないし省略(TLS 1.3,QUIC)がある。
リクエストなしでのデータ送信
[編集]相手からのリクエストが来る前にサーバー側からデータを送りつければ往復の必要がなくなる。(プッシュ送信)
例としてHTTP Pushがある。あるサイトのページがクライアントからリクエストされた場合、ページの表示に必要なスクリプトなど一式をリクエストを待たずに一緒に送りつける。
緊急地震速報に使われるセルブロードキャストも、相手からのリクエストなしに基地局につながる全ての端末に一斉送信する。
通信エラーの許容
[編集]多少映像、音声が乱れるのを承知で不正確な代わりに再送要求をしないUDPを用いる
通信距離の削減
[編集]より近いサーバーが大元のサーバーと同じデータを代わりに送信する。
ほとんどのCDNは世界中にサーバーを持ちユーザーは最も近い相手と通信すれば良い。
TCP Accelarationではパケットロス時再度サーバーまで再送を要求しに行かずに済むようにサーバー-クライアント間で通信を中継、補助する。