ダイヤルとアクセス : 非同期接続

Test TCP(TTCP)を使用したスループットのテスト

2009 年 7 月 17 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 9 月 9 日) | フィードバック

目次


概要

IP パスでの TCP スループットの測定のために、Test TCP(TTCP)ユーティリティを使用できます。これを使用するには、パスの一方の側で受信側を起動してから、もう一方の側でトランスミッタを起動します。送信側は指定された数の TCP パケットを受信側に送信します。テストの終了時には、送信されたバイト数、および一方の端からもう一方の端にパケットを渡すためにかかった時間が、両方の側で表示されます。これらの数値を使用して、リンク上の実際のスループットを計算できます。TTCP に関する一般的な情報については、『Network Performance Testing with TTCP を参照してください。

TTCP ユーティリティは、特定の WAN またはモデム接続の実際のビット レートの判断には有効です。さらに、この機能は、IP 接続を介した任意の 2 つのデバイス間の接続速度をテストするためにも使用できます。



はじめに

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



前提条件

このドキュメントの読者は次の項目に関する知識が必要です。

  • TTCP では、Cisco IOS(R) ソフトウェア バージョン 11.2 以降、および機能セット IP Plus(is- イメージ)またはサービス プロバイダー(p- イメージ)が必要です。

    注:ttcp コマンドは隠しコマンドで、サポート対象外の特権モード コマンドです。したがって、Cisco IOS ソフトウェア リリースによって使用可能状況が異なります。つまり、一部のリリースでは存在しない場合もあります。たとえば、一部のプラットフォームでは、この機能を実行するには、Cisco IOS エンタープライズ機能セットが必要です。

  • クライアント サイドの TTCP ソフトウェアは、http://renoir.csc.ncsu.edu/ttcp/; から入手可能です。Windows クライアントの場合は ttcpw.zip をダウンロードしてください。



使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。



TTCP セッションの準備

  • テストを実施する 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 ... 
!--- 出力を省略。
 
... Parameter #8 Connected Standard: 
     V.90 Parameter #9 TX,RX Bit Rate: 
     45333,24000

この編集済み出力に示されているのは、45333 bps のダウンリンク レートと 24000 BPS のアップリンク レートで、クライアントが V.90 で接続されているということです。クライアント モデムでは、データ圧縮がディセーブルになっています。TTCP テスト パターンは高度に圧縮可能なため、データ圧縮によって実際のモデム リンク スループットの測定に歪みが発生する場合があります。



ダウンリンク テストの実行(ルータから Windows PC)

  • 受信側として稼働している 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 
!--- AS5300 が ttcp トランスミッタ。

Target IP address: 10.1.1.52 
! -- リモート デバイス(Windows PC)の IP アドレス。

perform tcp half close [n]: use tcp driver [n]: send buflen [8192]: send nbuf
[2048]: 50 
!--- 転送するバッファ数が 50 に設定されています
(デフォルトは 2048 バッファ)。
 
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 再転送、速度シフト、リトレインなど)。



アップリンク テストの実行(Windows PC からルータ)

次に、アップリンク スループット テストを実行します。これはダウンリンク テストと同様です。ただし、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-Putter を使用することです。このツールを、アクセス サーバの背後にある Web サーバにインストールし、Windows PC クライアントでブラウザを使用して、Java ツールを呼び出します。これで、このツールを使用して、モデム接続のデータ レートを迅速に判別できます。このモデム スループット アプレットはオープン ソース ツールであり、Cisco Technical Assistance Center でのサポートの対象外です。詳細なインストール手順と操作手順については、このツールとともに提供される Readme ファイルを参照してください。




関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 10340