U kunt de Test TCP voorziening (TCP) gebruiken om TCP doorvoersnelheid door een IP pad te meten. Start de ontvanger aan de andere kant van het pad om hem te gebruiken. De verzendende partij stuurt een bepaald aantal TCP-pakketten naar de ontvangende kant. Aan het eind van de test, tonen de twee partijen het aantal bytes die zijn verzonden en de tijd die voor de pakketten is verstreken om van het ene eind over te gaan op het andere. Je kunt deze cijfers dan gebruiken om de werkelijke doorvoersnelheid op de link te berekenen. Raadpleeg voor algemene informatie over TCP de netwerkprestatietests met TCP .
De TCP-hulpprogramma kan effectief zijn bij het bepalen van de eigenlijke bit rate van een bepaalde WAN- of modemverbinding. U kunt deze functie echter ook gebruiken om de verbindingssnelheid tussen twee apparaten met IP-connectiviteit tussen deze apparaten te testen.
Zie de Cisco Technical Tips Convention voor meer informatie over documentconventies.
Lezers van dit document moeten op de hoogte zijn van:
TCP vereist Cisco IOS® Software versie 11.2 of hoger en functiesets IP Plus (is-beelden) of Service Provider (p-afbeeldingen).
Opmerking: de ttcp-opdracht is een verborgen, niet-ondersteunde, geprivilegieerde opdracht. Als dergelijk, kan zijn beschikbaarheid van één Cisco IOS softwarerelease aan een andere variëren, zodat het niet in sommige releases zou kunnen bestaan. Sommige platforms vereisen bijvoorbeeld de optie Cisco IOS Enterprise ingesteld om deze activiteit uit te voeren.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Zorg ervoor dat er IP connectiviteit is tussen de twee apparaten die bij de test betrokken zijn.
Download en installeer de TCP software voor niet-IOS klanten, indien nodig.
In het onderstaande voorbeeld proberen we de verbindingssnelheid van een modemverbinding tussen een Microsoft Windows PC en een AS5300 Access Server te bepalen. Zelfs al zijn veel van de onderwerpen en verklaringen die hier zijn opgenomen specifiek voor modemverbindingen, kan de TCP voorziening tussen om het even welke twee apparaten gebruikt worden.
Gebruik de opdracht voor operationele status van de modem (voor een modemverbinding) om de verbindingsparameters te controleren. Voor andere LAN- of WAN-scenario's is deze stap niet nodig.
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
Deze bewerkte uitvoer toont aan dat de client is verbonden in V.90 met een 4533 Gbps downlinksnelheid en 24000 BPS uplinks. Gegevenscompressie is uitgeschakeld op de clientmodem. Aangezien het TCP-testpatroon zeer compressief is, kan elke gegevenscompressie onze maat van de ware doorvoersnelheid van de modemverbinding scheeftrekken.
Start het TCP-programma op de pc (in een DOS-venster), die als ontvanger wordt uitgevoerd. Raadpleeg het leesmij-bestand dat met de Windows TCP-software is meegeleverd voor de juiste syntaxis.
C:\PROGRA~1\TTCPW> ttcpw -r -s ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket
Start de TCP-zender (zender) op de AS5300. Laat de meeste instellingen standaard staan, behalve het aantal buffers dat moet worden verzonden. Het standaard aantal buffers is 2048, waarmee de TCP test lang zou duren om te voltooien. Door het aantal buffers te verminderen, kunnen we de test binnen een redelijke termijn afmaken.
In het onderstaande voorbeeld proberen we de verbindingssnelheid van een modemverbinding tussen een Microsoft Windows PC en een AS5300 Access Server te bepalen. Zelfs al zijn veel van de onderwerpen en verklaringen die hier zijn opgenomen specifiek voor modemverbindingen, kan de TCP voorziening tussen om het even welke twee apparaten gebruikt worden.
Opmerking: Probeer een momentopname van de operationele status van de modem (poort) te verkrijgen, zoals hierboven beschreven, vlak voordat u de TCP-test start.
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)
Dit veroorzaakt de Cisco IOS TCP om een TCP-verbinding te maken met de TCPW (in de Windows machine).
Wanneer de PC het verzoek voor de TCP-sessie ontvangt, toont TTCPW een bericht dat de PC een TCP-sessie van het IP-adres van de router heeft geaccepteerd:
ttcp-r: accept from 10.1.1.1
Wanneer de TCP zender al zijn gegevens heeft verzonden, zullen beide kanten de doorvoerstatistieken afdrukken en eindigen. In dit geval toont de IOS TCP-zender:
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)
De PC TTCPW ontvanger, daarentegen, toont:
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
Op dit punt wilt u mogelijk nog een momentopname van de modem of poort-operationele status nemen. Deze informatie kan tijdens analyse nuttig zijn om te controleren of, bijvoorbeeld, de modemverbinding om het even welke restreinen of snelheidsverschuivingen ervoer.
Aangezien het het meest gebruikelijk is om de verbindingssnelheden in kbps (kilobits per seconde, of 1000 bits per seconde) te evalueren in plaats van KBps (kilobytes per seconde, of 1024 bytes per seconde), moeten we de informatie van TCP gebruiken om de bit rate (in kbps) te berekenen. Gebruik het aantal ontvangen bytes en de overdrachttijd om de eigenlijke bit rate voor de verbinding te berekenen.
Bereken de bit rate door het aantal bytes te converteren naar bits en verdeel dit vervolgens tegen de tijd voor de overdracht. In dit voorbeeld, ontving de windows PC 409600 bytes in 84.94 seconden. We kunnen het bit rate to be (409600 bytes * 8 bits per bytes) berekenen, gedeeld door 84,94 seconden=38577 BPS of 38,577 kbps.
Opmerking: De resultaten aan de ontvangerzijde zijn iets preciezer, omdat de zender misschien denkt dat het klaar is nadat het laatste schrijven is uitgevoerd - dat wil zeggen, voordat de gegevens feitelijk de link hebben overschreden.
In vergelijking met de nominale verbindingssnelheid van 4533 BPS (bepaald via de opdracht operationele status van de modem) is dit een efficiëntie van 85%. Deze efficiëntie is normaal gezien de link access procedure voor modems (LAPM), PPP, IP en TCP header. Als de resultaten aanzienlijk verschillen van wat u verwacht, analyseer de operationele status, het modemlogbestand en indien nodig de client-side modemstatistieken om te zien wat er mogelijk is gebeurd met de impact op de prestaties (zoals EC-terugzendingen, snelheidsverschuivingen, retreinen etc.).
Daarna voert u een uplink-doorvoertest uit. Dit is identiek aan de downlink test, behalve dat Cisco IOS TCP als ontvanger werkt en Windows CPW de zender is. Stel eerst de router als ontvanger in met de standaardparameters:
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
Activeert de PC als de TCP-zender en specificeer het IP-adres van de router. Raadpleeg het leesmij-bestand dat met de Windows TCP-software is meegeleverd voor de juiste syntaxis:
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
De IOS-ontvanger meldt de volgende resultaten:
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)
Dit komt uit als een uplinks doorvoersnelheid van 14.144 BPS, of bijna een 6:1 compressieverhouding relatief tot de nominale uplinks van 24 kbps. Dit is een interessant resultaat omdat hardwarecompressie uitgeschakeld is (wat we hebben bepaald op basis van de operationele status van de modem). Gebruik echter de IOS-opdracht tonen compress om te controleren of er softwarecompressie wordt gebruikt.
Hier zijn enkele algemene richtlijnen voor het gebruik van TCP om de doorvoersnelheid van IP-pad te meten:
Voor betekenisvolle resultaten zouden de hosts die TCP uitvoeren voldoende CPU-kracht moeten hebben in verhouding tot de koppelingssnelheid. Dit is waar als de link 45 kbps is en de hosts een ongebruikte AS5300 en een 700 MHz pc zijn. Dit is niet waar als de verbinding 100BaseT is en één van de hosts een Cisco 2600 router is
Cisco IOS behandelt gegevens die door de router worden bron anders dan gegevens die door de router worden routeerd. In ons voorbeeld hierboven, hoewel de compressie van Microsoft Point-to-Point Compression (MPPC) op de te testen link werd overeengekomen, gebruikten de gegevens die door de router worden doorgegeven geen softwarecompressie, terwijl de gegevens die door de PC worden verzonden dat wel deden. Dit is de reden dat de uplinks doorvoersnelheid aanzienlijk groter was dan de downlink. Voor prestatietests van hoge bandbreedte links, zou u altijd door de routers moeten testen.
Voor IP-paden met een groot bandbreedte * vertragingsproduct, is het belangrijk om een TCP venstergrootte te gebruiken genoeg om de buis vol te houden. Bij modemkoppelingen is de standaard 4 KB venster size normaal gesproken geschikt. U kunt de grootte van het IOS TCP venster verhogen met de grootte van het opdrachtbestand in TCP. Raadpleeg de juiste documentatie voor niet-IOS-systemen.
Een andere makkelijke manier om de doorvoersnelheid via een modemlink te testen is door gebruik te maken van de opensource-Through-Poetin . Installeer dit gereedschap op een webserver achter de toegangsservers en laat de Windows PC-clients een browser gebruiken om het Java-gereedschap aan te roepen. U kunt deze methode dan gebruiken om snel de gegevenssnelheid van een modemverbinding te bepalen. Deze toepassing voor modemdoorvoersnelheid is een opensource-tool en wordt niet ondersteund door het Cisco Technical Assistance Center. Raadpleeg het leesmij-bestand dat met het gereedschap is meegeleverd voor meer installatie- en gebruiksaanwijzingen.