È possibile utilizzare l'utilità Test TCP (Test TCP) per misurare la velocità di trasmissione TCP su un percorso IP. Per utilizzarlo, avviare il ricevitore da un lato del percorso, quindi avviare il trasmettitore dall'altro lato. La stazione trasmittente invia un numero specificato di pacchetti TCP alla stazione ricevente. Al termine della prova, sui due lati vengono visualizzati il numero di byte trasmessi e il tempo trascorso tra una estremità e l'altra dei pacchetti. È quindi possibile utilizzare queste cifre per calcolare la velocità effettiva del collegamento. Per informazioni generali sul TCP, fare riferimento a Test delle prestazioni della rete con TCP .
L'utilità TCP può essere efficace nel determinare la velocità in bit effettiva di una particolare connessione WAN o modem. Tuttavia, è possibile utilizzare questa funzione anche per verificare la velocità di connessione tra due dispositivi con connettività IP.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
I lettori di questo documento devono essere a conoscenza di quanto segue:
TCP richiede il software Cisco IOS® versione 11.2 o successive e i set di funzionalità IP Plus (immagini is) o Service Provider (immagini p).
Nota: il comando ttcp è un comando nascosto, non supportato, in modalità privilegiata. Di conseguenza, la disponibilità può variare da una versione all'altra del software Cisco IOS, quindi in alcune versioni potrebbe non esistere. Per eseguire questa attività, ad esempio, su alcune piattaforme è necessario disporre del gruppo di funzionalità di Cisco IOS Enterprise.
Il documento può essere consultato per tutte le versioni software o hardware.
Verificare che esista una connettività IP tra i due dispositivi interessati dal test.
Scaricare e installare il software TCP per client non IOS, se necessario.
Nell'esempio riportato di seguito si tenta di determinare la velocità di connessione di un modem tra un PC Microsoft Windows e un server di accesso AS5300. Anche se molti degli argomenti e delle spiegazioni qui inclusi sono specifici per le connessioni modem, l'utilità TCP può essere utilizzata tra due dispositivi qualsiasi.
Utilizzare il comando show modem operating-status (per un collegamento modem) per verificare i parametri di connessione. Questo passaggio non è necessario per altri scenari LAN o 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
Questo output modificato mostra che il client è connesso in V.90 con una velocità di downlink di 4533 bps e una velocità di uplink di 24000 BPS. La compressione dei dati è disattivata sul modem client. Poiché il modello di test TCP è altamente comprimibile, qualsiasi compressione dei dati distorcerebbe la misurazione della velocità effettiva del collegamento modem.
Avviare il programma ttcpw sul PC (in una finestra DOS), in esecuzione come ricevitore. Fare riferimento al file Leggimi fornito con il software TCP di Windows per la sintassi appropriata.
C:\PROGRA~1\TTCPW> ttcpw -r -s ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket
Avviare il mittente TCP (trasmettitore) su AS5300. Mantenere la maggior parte delle impostazioni predefinite, ad eccezione del numero di buffer da trasmettere. Il numero predefinito di buffer è 2048, con il quale il test TCP richiederebbe molto tempo. Riducendo il numero di buffer, il test può essere completato in tempi ragionevoli.
Nell'esempio riportato di seguito si tenta di determinare la velocità di connessione di un modem tra un PC Microsoft Windows e un server di accesso AS5300. Anche se molti degli argomenti e delle spiegazioni qui inclusi sono specifici per le connessioni modem, l'utilità TCP può essere utilizzata tra due dispositivi qualsiasi.
Nota: provare a ottenere un'istantanea dello stato operativo del modem (porta), come descritto in precedenza, prima di iniziare il test TCP.
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)
In questo modo, il TCP di Cisco IOS effettua una connessione TCP al TCP (sul computer Windows).
Quando il PC riceve la richiesta per la sessione TCP, il TCP visualizza un messaggio che il PC ha accettato una sessione TCP dall'indirizzo IP del router:
ttcp-r: accept from 10.1.1.1
Quando il mittente TCP ha finito di inviare tutti i suoi dati, entrambi i lati stamperanno le statistiche di velocità effettiva e termineranno. In questo caso, il mittente TCP del sistema operativo mostra:
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)
Il ricevitore PC TTCPW, invece, mostra:
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
A questo punto, è possibile acquisire un'altra istantanea dello stato operativo del modem o della porta. Queste informazioni possono essere utili durante l'analisi per verificare, ad esempio, se la connessione del modem ha subito un riavvolgimento o un cambio di velocità.
Poiché è più comune valutare le velocità di connessione in kbps (kilobyte al secondo, o 1000 bit al secondo) piuttosto che in KBps (kilobyte al secondo, o 1024 byte al secondo), è necessario utilizzare le informazioni di TCP per calcolare la velocità in bit (in kbps). Utilizzare il numero di byte ricevuti e il tempo di trasferimento per calcolare la velocità in bit effettiva per la connessione.
Calcolare la velocità in bit convertendo il numero di byte in bit e dividendo il risultato per il tempo necessario per il trasferimento. In questo esempio, il PC Windows ha ricevuto 409600 byte in 84,94 secondi. È possibile calcolare il bit rate da dividere (409600 byte * 8 bit per byte) per 84,94 secondi=38577 BPS o 38,577 kbps.
Nota: i risultati sul lato ricevitore sono leggermente più accurati, poiché il trasmettitore potrebbe pensare che sia finito dopo aver eseguito l'ultima scrittura, ossia prima che i dati abbiano effettivamente attraversato il collegamento.
Rispetto alla velocità di collegamento nominale di 4533 BPS (determinata dal comando show modem operating-status), si tratta di un'efficienza dell'85%. Questa efficienza è normale data la procedura di accesso al collegamento per i modem (LAPM), PPP, IP e TCP. Se i risultati sono significativamente diversi da quelli previsti, analizzare lo stato operativo, il registro del modem e, se necessario, le statistiche del modem sul lato client per verificare che cosa potrebbe essersi verificato per influire sulle prestazioni (ad esempio ritrasmissioni EC, spostamenti di velocità, riaddestramento e così via).
Eseguire quindi un test del throughput uplink. Questo è identico al test di downlink, con la differenza che Cisco IOS TCP agisce come ricevitore e Windows TCP come trasmettitore. Impostare il router come ricevitore, utilizzando i parametri predefiniti:
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
Attivare il PC come trasmettitore TCP e specificare l'indirizzo IP del router. Fare riferimento al file Leggimi fornito con il software TCP di Windows per la sintassi appropriata:
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
Il ricevitore IOS riporta i seguenti risultati:
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)
Il risultato è un throughput di uplink di 141144 BPS - o quasi un rapporto di compressione 6:1 relativo alla velocità di uplink nominale di 24 kbps. Si tratta di un risultato interessante se si considera che la compressione hardware è disabilitata (determinata da show modem operating-status). Tuttavia, usare il comando show compress di IOS per controllare se è in uso la compressione software.
Di seguito sono riportate alcune linee guida generali per l'utilizzo di TCP per misurare il throughput del percorso IP:
Per ottenere risultati significativi, gli host che eseguono TCP devono avere un'elevata potenza della CPU rispetto alla velocità del collegamento. Ciò è vero quando il collegamento è a 45 kbps e gli host sono un AS5300 inattivo e un PC a 700 MHz. Ciò non è vero se il collegamento è 100baseT e uno degli host è un router Cisco 2600
Cisco IOS tratta i dati originati dal router in modo diverso dai dati instradati attraverso il router. Nell'esempio sopra riportato, sebbene la compressione Microsoft Point-to-Point Compression (MPPC) sia stata negoziata sul collegamento sottoposto a test, i dati trasmessi dal router non utilizzavano la compressione software, mentre i dati trasmessi dal PC lo facevano. Per questo motivo, il throughput dell'uplink è stato significativamente maggiore del throughput del downlink. Per il test delle prestazioni dei collegamenti a larghezza di banda elevata, è consigliabile eseguire sempre il test attraverso i router.
Per i percorsi IP con un prodotto di ritardo con larghezza di banda elevata *, è importante utilizzare una finestra TCP di dimensioni sufficienti a mantenere la tubazione piena. Nel caso dei collegamenti modem, le dimensioni predefinite della finestra di 4 KB sono in genere adeguate. Per aumentare le dimensioni della finestra TCP di IOS, usare il comando i p tcp window-size. Fare riferimento alla documentazione appropriata per i sistemi non IOS.
Un altro modo semplice per verificare il throughput su un collegamento modem è utilizzare lo strumento open source Through-Putter . Installare questo strumento su un server Web dietro i server di accesso e fare in modo che i client PC Windows utilizzino un browser per richiamare lo strumento Java. che può quindi essere utilizzata per determinare rapidamente la velocità dati su una connessione modem. Questa applet velocità effettiva del modem è uno strumento open source e non è supportata dal Cisco Technical Assistance Center. Per ulteriori istruzioni sull'installazione e sul funzionamento, consultare il file Leggimi fornito con lo strumento.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
09-Sep-2005 |
Versione iniziale |