IP パスでの TCP スループットの測定のために、Test TCP(TTCP)ユーティリティを使用できます。これを使用するには、パスの一方の側でレシーバを開始し、もう一方の側でトランスミッタを開始します。送信側は指定された数の TCP パケットを受信側に送信します。テストの終了時には、送信されたバイト数、および一方の端からもう一方の端にパケットを渡すためにかかった時間が、両方の側で表示されます。これらの数値を使用して、リンク上の実際のスループットを計算できます。TTCP に関する一般的な情報については、『Network Performance Testing with TTCP』を参照してください。
TTCP ユーティリティは、特定の WAN またはモデム接続の実際のビット レートの判断には有効です。さらに、この機能は、IP 接続を介した任意の 2 つのデバイス間の接続速度をテストするためにも使用できます。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
この文書を読むには、次の知識が必要です。
TTCPには、Cisco IOS®ソフトウェアバージョン11.2以降、およびフィーチャセットIP Plus(is-images)またはサービスプロバイダー(p-images)が必要です。
注: ttcpコマンドは、隠しコマンドで、サポートされていない特権モードコマンドです。したがって、Cisco IOS ソフトウェア リリースによって使用可能状況が異なります。つまり、一部のリリースでは存在しない場合もあります。たとえば、一部のプラットフォームでは、この機能を実行するには、Cisco IOS エンタープライズ機能セットが必要です。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
テストを実施する 2 つのデバイスが IP 接続されていることを確認します。
必要に応じて、非 IOS クライアント用の TTCP ソフトウェアをダウンロードして、インストールします。
次の例では、Microsoft Windows PC と AS5300 Access Server 間の、モデム接続の接続速度を判断しようとしています。ここに含まれる多くの項目と説明は、モデム接続に限定されたものですが、TTCP ユーティリティは任意の 2 つのデバイス間で使用できます。
接続パラメータを確認するには、show modem operational-status コマンド(モデム リンク用)を使用します。他の LAN または WAN シナリオの場合、この手順は必要ありません。
customer-dialin-sj> show modem operational-status 1/51 Parameter #1 Connect Protocol: LAP-M Parameter #2 Compression: None ... !--- Output omitted ... Parameter #8 Connected Standard: V.90 Parameter #9 TX,RX Bit Rate: 45333,24000
この編集済み出力に示されているのは、45333 bps のダウンリンク レートと 24000 BPS のアップリンク レートで、クライアントが V.90 で接続されているということです。クライアント モデムでは、データ圧縮がディセーブルになっています。TTCP テスト パターンは高度に圧縮可能なため、データ圧縮によって実際のモデム リンク スループットの測定に歪みが発生する場合があります。
受信側として稼動している PC で(DOS ウィンドウで)、ttcpw プログラムを起動します。起動のための適切な構文については、Windows TTCP ソフトウェアとともに提供された Readme ファイルを参照してください。
C:\PROGRA~1\TTCPW> ttcpw -r -s ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket
AS5300でTTCP送信側(トランスミッタ)を起動します。送信するバッファ数を除き、ほとんどの設定はデフォルトのままにします。バッファのデフォルト数は 2048 ですが、これを使用すると、TTCP テストは完了までに長い時間が必要になります。バッファの数値を減少させると、適切な時間枠内でテストを終了できます。
次の例では、Microsoft Windows PC と AS5300 Access Server 間の、モデム接続の接続速度を判断しようとしています。ここに含まれる多くの項目と説明は、モデム接続に限定されたものですが、TTCP ユーティリティは任意の 2 つのデバイス間で使用できます。
注:TTCPテストを開始する直前に、上記のモデム(ポート)の動作ステータスのスナップショットを取得してみてください。
customer-dialin-sj>ttcp transmit or receive [receive]: transmit !--- The AS5300 is the ttcp transmitter Target IP address: 10.1.1.52 ! -- Remote device (the Windows PC) IP address perform tcp half close [n]: use tcp driver [n]: send buflen [8192]: send nbuf [2048]: 50 !--- Number of buffers to transmit is now set to 50 (default is 2048 buffers) bufalign [16384]: bufoffset [0]: port [5001]: sinkmode [y]: buffering on writes [y]: show tcp information at end [n]: ttcp-t: buflen=8192, nbuf=50, align=16384/0, port=5001 tcp ->10.1.1.52 ttcp-t: connect (mss 1460, sndwnd 4096, rcvwnd 4128)
これにより、Cisco IOS TTCP が(Windows マシン上の)TTCPW へ TCP 接続されます。
PC が TTCP セッションの要求を受信すると、PC がルータの IP アドレスからの TTCP セッションを受け入れたことを通知するメッセージが、TTCPW によって次のように表示されます。
ttcp-r: accept from 10.1.1.1
TTCP の送信側がそのすべてのデータ送信を終了すると、両方の側はスループット統計情報を出力して停止します。この場合、IOS TTCP 送信側では次のように表示されます。
ttcp-t: buflen=8192, nbuf=50, align=16384/0, port=5001 tcp -> 10.1.1.52 ttcp-t: connect (mss 1460, sndwnd 4096, rcvwnd 4128) ttcp-t: 409600 bytes in 84544 ms (84.544 real seconds) (~3 kB/s) +++ ttcp-t: 50 I/O calls ttcp-t: 0 sleeps (0 ms total) (0 ms average)
もう一方の PC TTCPW 受信側では、次のように表示されます。
ttcp-r: 409600 bytes in 8 4.94 seconds = 4.71 KB/sec +++ ttcp-r: 79 I/O calls, msec/call = 1101.02, calls/sec =0.93
この時点で、モデムまたはポートの動作ステータスのスナップショットをもう 1 つ取得する必要がある場合があります。この情報は、分析中に、たとえばモデム接続でリトレインや速度シフトが発生したかどうかを確認するために有用です。
接続速度を KBps(キロバイト/秒または 1024 バイト/秒)ではなく、kbps(キロビット/秒または 1000 ビット/秒)で評価することが最も一般的なため、TTCP からの情報を使用してビット レート(kbps)を計算する必要があります。 接続の実際のビット レートを計算するために、受信したバイト数および転送時間を使用します。
バイト数をビットに変換してビット レートを計算してから、これを転送時間で除算します。この例では、Windows PC で 84.94 秒間に 409600 バイトが受信されています。ビットレートを計算し(409600 バイト * 8 ビット/秒)、これを 84.94 秒で除算すると、38577 BPS または 38.577 kbps になります。
注:受信側の結果は、最後の書き込みを実行した後、つまりデータが実際にリンクを通過する前に完了したと送信側が考える場合があるため、より正確です。
名目上のリンク スピードである 45333 BPS との比較では(show modem operational-status コマンドから判断)、これは 85 % の効率です。link access procedure for modems(LAPM; モデム用リンク アクセス手順)、PPP、IP、および TCP ヘッダーのオーバーヘッドを考慮すると、この効率値は正常です。結果が著しく予想と異なる場合、動作ステータス、モデム ログ、および必要に応じてクライアントサイドのモデム統計情報を解析し、何がパフォーマンスへ影響しているかを調べます(EC 再転送、速度シフト、リトレインなど)。
次に、アップリンク スループット テストを実行します。これはダウンリンク テストと同様です。ただし、Cisco IOS TTCP は受信側として動作し、Windows TTCPW が送信側になります。最初に、デフォルトのパラメータを使用して、ルータを受信側としてセットアップします。
customer-dialin-sj>ttcp transmit or receive [receive]: perform tcp half close [n]: use tcp driver [n]: receive buflen [8192]: bufalign [16384]: bufoffset [0]: port [5001]: sinkmode [y]: rcvwndsize [4128]: delayed ACK [y]: show tcp information at end [n]: ttcp-r: buflen=8192, align=16384/0, port=5001 rcvwndsize=4128, delayedack=yes tcp
PC を TTCP トランスミッタとして起動し、ルータの IP アドレスを指定します。起動のための適切な構文については、Windows TTCP ソフトウェアとともに提供された Readme ファイルを参照してください。
C:\PROGRA~1\ TTCPW>ttcpw -t -s -n 50 10.1.1.1 ttcp-t: buflen=8192, nbuf=50, align=16384/0, port=5001 tcp -> 10.1.1.1 ttcp-t: socket ttcp-t: connect
IOS 受信側によって、次の結果が表示されます。
ttcp-r: accept from 10.1.1.52 (mss 1460, sndwnd 4096, rcvwnd 4128) ttcp-r: 409600 bytes in 23216 ms (23.216 real seconds) (~16kb/s) +++ ttcp-r: 280 I/O calls ttcp-r: 0 sleeps (0 ms total) (0 ms average)
これは、141144 BPS のアップリンク スループットとして出力されます。言い換えると、名目上のアップリンク レートである 24 kbps に対して、およそ 6:1 の圧縮比です。ハードウェア圧縮がディセーブルである(show modem operational-status から判断)ことを考慮すると、これは注目すべき結果です。 ただし、IOS コマンドの show compress を使用して、ソフトウェア圧縮が使用されているかどうかを確認してください。
IP パス スループットの測定に TTCP を使用するための、一般的なガイドラインの一部を次に示します。
有効な結果を得るためには、リンク速度との比較において、TTCP を実行しているホストには十分な CPU 処理能力が必要です。リンクが 45 kbps であり、ホストがアイドル状態の AS5300 および 700MHz PC の場合は、これに該当します。リンクが 100baseT であり、ホストのいずれかが Cisco 2600 ルータの場合は、これに該当しません。
Cisco IOS では、ルータから発信されるデータは、ルータを介してルーティングされるデータとは異なった取り扱いがされます。上記の例では、テスト対象のリンク上で Microsoft Point-to-Point Compression(MPPC)圧縮がネゴシエーションされ、PC によって送信されたデータにはソフトウェア圧縮が使用される一方で、ルータによって送信されたデータではソフトウェア圧縮が使用されませんでした。これが、アップリンクのスループットがダウンリンクのスループットより著しく大きくなった理由です。高帯域幅リンクのパーフォーマンス テストでは、常にルータを介してテストする必要があります。
広帯域高遅延製品を使用した IP パスの場合、パイプ容量を十分に活用する TCP ウィンドウ サイズを使用することが重要です。モデム リンクの場合、通常はデフォルトの 4 KB ウィンドウ サイズが適切です。ip tcp window-size コマンドを使用すると、IOS の TCP ウィンドウ サイズを拡大できます。非 IOS システムについては、該当する文書を参照してください。
モデムリンクを介してスループットをテストするもう1つの簡単な方法は、オープンソースツールThrough-Paterを使用することです 。このツールを、アクセス サーバの背後にある Web サーバにインストールし、Windows PC クライアントでブラウザを使用して、Java ツールを呼び出します。これで、このツールを使用して、モデム接続のデータ レートを迅速に判別できます。このモデム スループット アプレットはオープン ソース ツールであり、Cisco Technical Assistance Center でのサポートの対象外です。詳細なインストール手順と操作手順については、このツールとともに提供される Readme ファイルを参照してください。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
09-Sep-2005 |
初版 |