TCP(Transmission Control Protocol)は、エンドツーエンドでデータをやり取りする場合に使用されるプロトコルです。エンドツーエンドでデータの転送を保証します。Youtubeで動画をみる場合、データのやり取りにはこのTCPが使用されています。最近では、データトラフィックの中で動画のトラフィックが80%以上を占めており、大容量の動画をストレスなく見られることが回線を使用するユーザにとって重要になっています。
このため、TCPレベルでスループットを評価することは、回線サービスを提供する側にとっても重要な評価項目となってきています。
TCPスループットが低下する要因
通信回線では、回線速度が規定されていますが、この回線速度とTCPレベルのスループットは、別物になります。
TCPレベルでのスループットは、通過する伝送ルート上の回線帯域、遅延、伝送品質などに依存するため、物理回線速度が速くても、TCPレベルのスループットが出ないケースもあります。
① エンドツーエンドの通信区間の一部で回線帯域が制限される区間が存在する場合
② エンドツーエンドの通信区間のスイッチ、ルータなどの伝送機器あるいは通信ルートにより、伝送遅延が大きい場合
③伝送品質が悪い場合
TCPスループットの測定方法
通信機器の選定や性能を評価する場合、RFC2544、RFC2889(L2SW)を使用して評価を行いますが、この評価は、イーサフレームレベル、IPレベル(あるいはUDPレベル)で行うため、通信サービスを提供する回線全体のTCPレベルのでスループット評価ができません。
TCPレベルのスループット評価の一つにiPerfサーバを使用した測定手法もありますが、回線速度が1 Gb/s付近になると、iPerfサーバのCPU性能、および負荷状況により、正確でかつ再現性のある測定を行うことができません。
RFC6349では、TCPレベルのスループット評価が規定されており、RFC6349の測定手法をハードウェアを用いて実現することにより、エンドツーエンドのスループットを正確に評価できます。
ネットワークマスタによるTCPスループット測定
ネットワークマスタ MT1x00Aでは、TCPスループットオプションを追加することにより、RFC6349測定(10 GE以下)が可能になります。
1. オプション構成
•ネットワークマスタ プロMT1000A
•ネットワークマスタ フレックスMT1100A
2. RFC6349測定機能
3. 測定構成
以下の構成にてRFC6349の測定ができます。
① MT1x00A 2台対向測定
MT1x00A 2台対向で、測定制御側をマスタ、対向側をスレーブとして制御し、ハードウェア処理にてTCPスループット試験を行います。
上り、下り、双方向同時で試験を行えます。
② MT1x00A ポート対向測定
MT1x00A 1台2ポート対向で、測定制御側をマスタ、対向側をスレーブとして制御し、ハードウェア処理にてTCPスループット試験を行います。
上り、下り、双方向同時で試験を行えます。
③ iperfサーバ対向測定
iperfサーバと対向で、ハードウェア処理にてTCPスループット試験を行います。
上り方向のみ(Upload)試験を行えます。
4. RFC6349測定
•測定手順
RFC6349では以下手順でTCPスループットを測定します。
① パスMTU最大サイズサーチ
エンドツーエンドの回線区間で、フラグメントしないで伝送できるMTUサイズをサーチします。
ICMPを使用せず、TCPパケットにてMTUをサーチします。
MTU(Maximum Transmission Unit)とは、1回のデータ転送にて送信可能なIPパケットのデータサイズのことです。
たとえば、イーサネットフレームサイズが1518バイトの場合、MTUは、1500バイトになります。
② ベースラインRTT測定、最適Windowサイズの算出
サーチしたMTUサイズで、輻輳状態でない場合のRTTを測定します。帯域幅は、回線のCIRを設定します。これらの値から、最適なWindowサイズを算出します。
RTT(Round-Trip Time)とは、TCPのパケットを送信してから、受信相手が送信するTCP ACKパケットを受信するまでの経過時間です。
BDP(Bandwidth-Delay Product)とは、データリンク容量(1秒間の伝送ビット数)とエンドツーエンドの遅延(秒)の積のことです。
③ TCPスループット測定
サーチしたMTUサイズと最適なWindowサイズにより、シングルTCPコネクションスループットやマルチTCPコネクションスループットおよびスループットの時間変動を測定できます。また指定したウィンドウサイズでTCPスループットを測定できます。
•設定画面例
① テスト条件設定 – コントロール画面
② テスト条件設定 – ウィンドウスキャン/スループット画面
1) テストモード:自動設定の場合
ウィンドウサイズを理想ウィンドウサイズ値の25%、50%、75%でTCPスループットを測定し、ウィンドウサイズによる効果を確認できます。また、理想ウィンドウサイズ値でTCPスループットの時系列変動(最大24時間)を測定します。
2) テストモード:手動設定の場合
指定したウィンドウサイズごとに、TCPスループットを測定し、ウィンドウサイズによる効果を確認します。
また指定したウィンドウサイズ値(最大8 MB)でTCPスループットの時系列変動(最大24時間)を測定します。
③ テスト条件設定 – マルチサービス画面
複数のTCPコネクション環境で、TCPコネクションごとにTCPスループットを測定します。
TCPコネクションは最大16個まで同時に測定できます。
•測定結果画面例
① 測定サマリ結果
MTU、RTT、ウィンドウサイズ、スループットを一覧で表示します。
② ウィンドウスキャン測定結果
ウィンドウスキャン画面では、ウィンドウサイズごとのスループット結果を表示します。
③ スループット測定結果 – 表形式
スループット測定結果画面(表形式)では、TCP効率やバッファディレイ値などが表示されます。
④ スループット測定結果 – グラフ形式
スループット測定結果画面(グラフ形式)では、TCPスループットの時系列変動が測定中、リアルタイムに表示されます。
⑤ マルチサービス測定結果 – 表形式
複数のTCPコネクションごとのTCPスループット値、TCP効率が表示されます。
⑥ マルチサービス測定結果 – グラフ形式
複数のTCPコネクションごとのTCPスループットの時系列変動が測定中、リアルタイムに表示されます。