
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
2点間でTCPを用いてデータを転送する。2Gbpsの帯域をもつ通信回線において、往復の遅延が500マイクロ秒、TCPのウィンドウサイズを50kバイトとするとき、1秒当たりのデータ転送量の上限値に最も近い値を求める問題。
TCPのスループットが、回線帯域と、ウィンドウサイズ/RTTのうち、小さい方で制限されることを確認する問題。
① TCPでは1往復(RTT)ごとにウィンドウサイズ分しか送れない。スループットは「ウィンドウサイズ÷RTT」と「回線の帯域」の小さい方
② 50kバイト÷500マイクロ秒=100Mバイト/秒。回線は2Gbps=250Mバイト/秒
③ 約100Mバイト/秒(③)
TCPでは、送信側は、確認応答を待たずに、ウィンドウサイズ分のデータを送れ、1往復時間(RTT)ごとに、ウィンドウサイズ分だけ送信できる。ウィンドウサイズ/RTT=50kバイト/500マイクロ秒=50,000バイト/0.0005秒=100,000,000バイト/秒=100Mバイト/秒。一方、回線の帯域は、2Gbps=250Mバイト/秒。スループットは、小さい方に制限されるので、上限は約100Mバイト/秒となる。したがって③が最も近い。
■ ウィンドウサイズと往復遅延
TCPでは、送信側は相手からの確認応答(受け取ったという返事)を待たずに、ウィンドウサイズ分までのデータを続けて送れます。ただし、それ以上送るには確認応答を待つ必要があり、確認応答が返ってくるまでに往復の遅延(500マイクロ秒)がかかります。そのため、1往復あたりに送れる量はウィンドウサイズ分で、1秒あたりでは「ウィンドウサイズ÷往復遅延」が上限になります。
■ 回線の帯域との比較
回線そのものの速さ(2Gbps=2×10⁹ビット/秒=250Mバイト/秒)も上限になるので、2つのうち小さい方が実際の上限です。
TCPスループットの上限=min(回線帯域, ウィンドウサイズ/RTT)。帯域遅延積(帯域×RTT)より、ウィンドウが小さいと、回線を使い切れない。
キーワード: TCP、ウィンドウサイズ、スループット、往復遅延時間、帯域遅延積、RTT、情報工学部門