Sie können das Test-TCP-Dienstprogramm (TTCP) verwenden, um den TCP-Durchsatz über einen IP-Pfad zu messen. Um es zu benutzen, starten Sie den Empfänger auf der einen Seite des Pfads und starten dann den Sender auf der anderen Seite. Die Senderseite sendet eine angegebene Anzahl von TCP-Paketen an die empfangende Seite. Am Ende des Tests zeigen die beiden Seiten die Anzahl der übertragenen Bytes und die Zeit an, die für die Übertragung der Pakete von einem Ende an das andere vergangen ist. Anschließend können Sie mithilfe dieser Zahlen den tatsächlichen Durchsatz für die Verbindung berechnen. Allgemeine Informationen zu TTCP finden Sie unter Netzwerkleistungstests mit TTCP .
Das TTCP-Dienstprogramm kann die tatsächliche Bitrate einer bestimmten WAN- oder Modemverbindung effektiv bestimmen. Sie können diese Funktion jedoch auch verwenden, um die Verbindungsgeschwindigkeit zwischen zwei beliebigen Geräten mit IP-Verbindung zwischen diesen Geräten zu testen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Die Leser dieses Dokuments sollten über folgende Punkte Bescheid wissen:
TTCP erfordert Cisco IOS® Software Version 11.2 oder höher und Feature Sets IP Plus (is-Images) oder Service Provider (p-Images).
Hinweis: Der Befehl ttcp ist ein Befehl im ausgeblendeten, nicht unterstützten privilegierten Modus. Daher kann die Verfügbarkeit von Cisco IOS Software-Versionen zu anderen variieren, sodass sie in einigen Versionen möglicherweise nicht vorhanden ist. Einige Plattformen erfordern beispielsweise das Feature-Set von Cisco IOS Enterprise, um diese Aktivität durchzuführen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Stellen Sie sicher, dass zwischen den beiden getesteten Geräten eine IP-Verbindung besteht.
Laden Sie ggf. die TTCP-Software für Nicht-IOS-Clients herunter und installieren Sie sie.
Im folgenden Beispiel versuchen wir, die Verbindungsgeschwindigkeit einer Modemverbindung zwischen einem Microsoft Windows-PC und einem AS5300-Zugriffsserver zu bestimmen. Obwohl viele der hier aufgeführten Themen und Erklärungen sich auf Modemverbindungen beziehen, kann das TTCP-Dienstprogramm zwischen zwei beliebigen Geräten verwendet werden.
Verwenden Sie den Befehl show modem Operational-status (für eine Modemverbindung), um die Verbindungsparameter zu überprüfen. Bei anderen LAN- oder WAN-Szenarien ist dieser Schritt nicht erforderlich.
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
Diese bearbeitete Ausgabe zeigt, dass der Client in V.90 mit einer Downlink-Rate von 4.533 Mbit/s und einer Uplink-Rate von 2.4000 BPS verbunden ist. Die Datenkomprimierung ist auf dem Client-Modem deaktiviert. Da das TTCP-Testmuster hochgradig komprimierbar ist, würde jede Datenkomprimierung den tatsächlichen Durchsatz der Modemverbindung zunichte machen.
Starten Sie das tcpw-Programm auf dem PC (in einem DOS-Fenster), das als Empfänger ausgeführt wird. Die entsprechende Syntax finden Sie in der Readme-Datei, die mit der Windows-TTCP-Software geliefert wurde.
C:\PROGRA~1\TTCPW> ttcpw -r -s ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket
Starten Sie den TTCP-Sender (Transmitter) auf dem AS5300. Belassen Sie die meisten Standardeinstellungen, mit Ausnahme der Anzahl der zu übertragenden Puffer. Die Standardanzahl der Puffer ist 2048, mit der der TTCP-Test lange Zeit dauern würde. Durch die Reduzierung der Anzahl der Puffer können wir den Test innerhalb eines angemessenen Zeitrahmens abschließen.
Im folgenden Beispiel versuchen wir, die Verbindungsgeschwindigkeit einer Modemverbindung zwischen einem Microsoft Windows-PC und einem AS5300-Zugriffsserver zu bestimmen. Obwohl viele der hier aufgeführten Themen und Erklärungen sich auf Modemverbindungen beziehen, kann das TTCP-Dienstprogramm zwischen zwei beliebigen Geräten verwendet werden.
Hinweis: Versuchen Sie, kurz vor Beginn des TTCP-Tests einen Snapshot des Betriebsstatus des Modems (Ports) zu erhalten, wie oben beschrieben.
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)
Dies veranlasst den Cisco IOS-TTCP, eine TCP-Verbindung zum TTCPW herzustellen (auf dem Windows-Computer).
Wenn der PC die Anforderung für die TTCP-Sitzung empfängt, zeigt TTCPW eine Meldung an, dass der PC eine TTCP-Sitzung von der IP-Adresse des Routers akzeptiert hat:
ttcp-r: accept from 10.1.1.1
Wenn der TTCP-Absender alle seine Daten gesendet hat, drucken beide Seiten die Durchsatzstatistiken und beenden sie. In diesem Fall zeigt der IOS-TTCP-Sender Folgendes an:
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)
Der PC-TTCPW-Receiver hingegen zeigt:
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
An diesem Punkt möchten Sie möglicherweise einen weiteren Snapshot des Modem- oder Portbetriebsstatus erstellen. Diese Informationen können bei der Analyse hilfreich sein, um z. B. zu prüfen, ob bei der Modemverbindung Neuzüge oder Geschwindigkeitsverschiebungen aufgetreten sind.
Da es am häufigsten ist, Verbindungsgeschwindigkeiten in Kbit/s (Kilobit pro Sekunde oder 1000 Bit pro Sekunde) zu evaluieren, anstatt in KBps (Kilobyte pro Sekunde oder 1024 Byte pro Sekunde), müssen wir die Informationen aus dem TTCP verwenden, um die Bitrate (in Kbit/s) zu berechnen. Verwenden Sie die Anzahl der empfangenen Byte und die Übertragungszeit, um die tatsächliche Bitrate für die Verbindung zu berechnen.
Berechnen Sie die Bitrate, indem Sie die Anzahl der Bytes in Bits umwandeln und teilen Sie diese dann durch die Zeit für die Übertragung. In diesem Beispiel erhielt der Windows-PC 409600 Byte in 84,94 Sekunden. Wir können die Bitrate (409600 Byte * 8 Bit pro Byte) durch 84,94 Sekunden = 38577 BPS oder 38,577 Kbit/s berechnen.
Hinweis: Die Ergebnisse auf der Empfängerseite sind etwas genauer, da der Sender möglicherweise denkt, dass er fertig ist, nachdem er den letzten Schreib ausgeführt hat, d. h. bevor die Daten den Link tatsächlich durchlaufen haben.
Im Vergleich zur nominalen Verbindungsgeschwindigkeit von 45333 BPS (ermittelt durch den Befehl show modem operations-status) entspricht dies einer Effizienz von 85 Prozent. Diese Effizienz ist angesichts des Link Access-Verfahrens für Modems (LAPM)-, PPP-, IP- und TCP-Header-Overhead normal. Wenn sich die Ergebnisse deutlich von den erwarteten Ergebnissen unterscheiden, analysieren Sie den Betriebsstatus, das Modemprotokoll und ggf. die Client-seitigen Modemstatistiken, um festzustellen, welche Auswirkungen dies auf die Leistung haben kann (z. B. EC-Neuübertragungen, Geschwindigkeitsverschiebungen, Neuzüge usw.).
Führen Sie anschließend einen Uplink-Durchsatztest durch. Dies ist identisch mit dem Downlink-Test, mit der Ausnahme, dass Cisco IOS TTCP als Empfänger fungiert und Windows TTCPW der Sender ist. Richten Sie zunächst den Router als Empfänger mithilfe der folgenden Standardparameter ein:
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
Aktivieren Sie den PC als TTCP-Sender, und geben Sie die IP-Adresse des Routers an. Die entsprechende Syntax finden Sie in der Readme-Datei, die mit der Windows-TTCP-Software geliefert wurde:
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
Der IOS-Empfänger meldet die folgenden Ergebnisse:
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)
Dies ergibt einen Uplink-Durchsatz von 141144 BPS - bzw. fast ein 6:1-Komprimierungsverhältnis im Vergleich zur nominalen Uplink-Rate von 24 Kbit/s. Dies ist ein interessantes Ergebnis, wenn Hardware-Komprimierung deaktiviert ist (was wir anhand des Betriebsstatus des Modems feststellen). Verwenden Sie jedoch den IOS-Befehl show compress, um zu überprüfen, ob eine Softwarekomprimierung verwendet wird.
Im Folgenden sind einige allgemeine Richtlinien für die Verwendung von TTCP zur Messung des IP-Pfaddurchsatzes aufgeführt:
Für aussagekräftige Ergebnisse sollten die Hosts, auf denen TTCP ausgeführt wird, im Verhältnis zur Verbindungsgeschwindigkeit über ausreichend CPU-Leistung verfügen. Dies gilt, wenn die Verbindung 45 Kbit/s beträgt und die Hosts ein inaktiver AS5300- und ein 700-MHz-PC sind. Dies ist nicht der Fall, wenn die Verbindung 100baseT ist und einer der Hosts ein Cisco 2600-Router ist.
Bei Cisco IOS werden vom Router bezogene Daten anders behandelt als Daten, die über den Router geroutet werden. In unserem Beispiel oben wurde zwar eine Microsoft Point-to-Point Compression (MPPC)-Komprimierung für die zu testende Verbindung ausgehandelt, die vom Router übermittelten Daten verwendeten jedoch keine Softwarekomprimierung, während die vom PC übermittelten Daten dies taten. Aus diesem Grund war der Uplink-Durchsatz deutlich höher als der Downlink-Durchsatz. Für Leistungstests von Verbindungen mit hoher Bandbreite sollten Sie stets über die Router testen.
Für IP-Pfade mit einer großen Bandbreite * Verzögerungsprodukt ist es wichtig, eine TCP-Fenstergröße zu verwenden, die ausreicht, um die Leitung voll zu halten. Bei Modemverbindungen ist die standardmäßige Fenstergröße von 4 KB normalerweise ausreichend. Sie können die Größe des IOS TCP-Fensters mit dem Befehl i p tcp window-size erhöhen. Weitere Informationen zu Systemen, die nicht von IOS sind, finden Sie in der entsprechenden Dokumentation.
Eine weitere einfache Möglichkeit, den Durchsatz über eine Modem-Verbindung zu testen, ist die Verwendung des Open-Source-Tools Through-Putter . Installieren Sie dieses Tool auf einem Webserver hinter den Access-Servern, und lassen Sie die Windows-PC-Clients einen Browser verwenden, um das Java-Tool aufzurufen. Anschließend kann die Datenrate einer Modemverbindung schnell ermittelt werden. Dieses Modem-Durchsatzapplet ist ein Open-Source-Tool und wird vom Cisco Technical Assistance Center nicht unterstützt. In der mit dem Tool gelieferten Readme-Datei finden Sie weitere Installations- und Bedienungsanleitungen.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
09-Sep-2005 |
Erstveröffentlichung |