Você pode usar o utilitário Test TCP (TTCP) para medir o throughput de TCP ao longo de um caminho de IP. Para usá-lo, inicie o receptor em um lado do caminho e, em seguida, inicie o transmissor no outro lado. O lado transmissor envia um número específico de pacotes TCP ao lado receptor. Na extremidade do teste, os dois lados indicam o número de bytes transmitido e o tempo decorrido para que os pacotes passem de uma extremidade à outra. Você pode então usar esses números para calcular o throughput real no enlace. Para obter informações gerais sobre o TTCP, consulte Teste do desempenho da rede com TTCP.
O utilitário TTCP pode ser eficaz ao determinar a taxa de bits real de uma conexão de WAN ou modem específica. No entanto, você também pode usar esse recurso para testar a velocidade de conexão entre dois dispositivos com conectividade IP entre eles.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Os leitores deste documento devem estar cientes da seguinte informação:
O TCP requer o Cisco IOS® Software Versão 11.2 ou superior e o Feature Sets IP Plus (is- images) ou Service Provider (p- images).
Observação: o comando ttcp é um comando de modo oculto, sem suporte e privilegiado. Como tal, sua disponibilidade pode variar de uma versão do software Cisco IOS para outra, de modo que ela pode não existir em algumas versões. Algumas plataformas, por exemplo, requerem o recurso Cisco IOS Enterprise definido para realizar esta atividade.
Este documento não se restringe a versões de software e hardware específicas.
Verifique se há conectividade IP entre os dois dispositivos envolvidos no teste.
Baixe e instale o software TTCP para clientes não IOS, se necessário.
No exemplo mostrado abaixo, tentamos determinar a velocidade de conexão de uma conexão de modem entre um PC Microsoft Windows e um Servidor de Acesso AS5300. Embora muitos dos tópicos e explicações incluídos aqui sejam específicos para conexões de modem, o utilitário TTCP pode ser usado entre dois dispositivos.
Utilize o comando show modem operational-status (para um enlace de modem) para verificar os parâmetros de conexão. Para outros cenários de LAN ou WAN, esta etapa não é necessária.
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
Essa saída editada mostra que o cliente está conectado no V.90 a uma taxa de downlink de 45333 bps e uma taxa de uplink de 24000 bps. A compactação de dados está desabilitada no modem do cliente. Como o padrão de teste de TTCP é bastante compactável, qualquer compactação de dados pode distorcer nossa medição da taxa de transferência do link de modem verdadeiro.
Inicie o programa ttcpw no PC (em uma janela do DOS), sendo executado como um receptor. Consulte o arquivo de leia-me que acompanha o software TTCP no Windows para obter a sintaxe apropriada.
C:\PROGRA~1\TTCPW> ttcpw -r -s ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket
Inicie o remetente TCP (transmissor) no AS5300. Deixe a maioria das configurações no padrão, exceto o número de buffers a transmitir. O número padrão de buffers é 2048, com o qual o teste TTCP levaria bastante tempo para ser concluído. Ao reduzir o número de buffers, podemos concluir o teste em um período de tempo razoável.
No exemplo mostrado abaixo, tentamos determinar a velocidade de conexão de uma conexão de modem entre um PC Microsoft Windows e um Servidor de Acesso AS5300. Embora muitos dos tópicos e explicações incluídos aqui sejam específicos para conexões de modem, o utilitário TTCP pode ser usado entre dois dispositivos.
Observação: tente obter um instantâneo do status operacional do modem (porta), conforme descrito acima, logo antes de iniciar o teste de 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)
Isto faz com que o TTCP do Cisco IOS estabeleça uma conexão TCP com o TTCPW (na máquina com Windows).
Quando o PC recebe a solicitação para a sessão TCP, o TTCPW exibe uma mensagem de que o PC aceitou uma sessão TCP do endereço IP do roteador:
ttcp-r: accept from 10.1.1.1
Quando o remetente TTCP termina de enviar todos os seus dados, ambos os lados imprimem as estatísticas de ritmo de transferência e são encerrados. Nesse caso, o remetente do TCP do IOS 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)
O receptor TTCPW do PC, por sua vez, 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
Nesse ponto, talvez seja conveniente tirar outro instantâneo do status operacional do modem ou da porta. Essas informações podem ser úteis durante a análise para verificar, por exemplo, se a conexão do modem sofreu qualquer retração ou desvio de velocidade.
Como é mais comum avaliar as velocidades de conexão em kbps (kilobits por segundo ou 1000 bits por segundo) em vez de KBps (kilobytes por segundo ou 1024 bytes por segundo), devemos usar as informações de TTCP para calcular a taxa de bit (em kbps). Use o número de bytes recebidos e o tempo de transferência para calcular a taxa real de bits da conexão.
Calcule a taxa de bits convertendo o número de bytes em bits e depois divida-a pelo tempo da transferência. Neste exemplo, o Windows PC recebeu 409600 bytes em 84,94 segundos. Podemos calcular a taxa de bits para ser (409.600 bytes * 8 bits por byte) divido por 84,94 segundos = 38.577 BPS ou 38,577 kbps.
Observação: os resultados do lado do receptor são um pouco mais precisos, já que o transmissor pode pensar que está terminado depois de executar a última gravação - ou seja, antes que os dados tenham realmente atravessado o link.
Em relação à velocidade do enlace nominal de 45.333 bps (determinada a partir do comando show modem operational-status), esse resultado representa uma eficiência de 85%. Essa eficiência é normal, dado o procedimento de acesso de link para modems (LAPM), PPP, IP e carga adicional de cabeçalho TCP. Se os resultados forem significativamente diferentes do esperado, analise o status operacional, o log do modem e, se necessário, as estatísticas do modem do lado do cliente para ver o que pode ter impacto no desempenho (como retransmissões EC, mudanças de velocidade, retrens etc.).
Em seguida, execute um teste de rendimento de uplink. É idêntico ao teste de downlink, exceto que o TTCP do Cisco IOS age como o receptor, e o TTCPTW do Windows é o transmissor. Primeiro, configure o Roteador como receptor, usando os parâmetros padrão:
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
Ative o PC como o transmissor TCP e especifique o endereço IP do roteador. Consulte o arquivo de leia-me que acompanha o software TTCP no Windows para obter a sintaxe apropriada:
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
O receptor de IOS relata os seguintes resultados:
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)
Isto se revela como um throughput de uplink de 141144 BPS – ou quase uma proporção de compactação de 6:1, em relação à taxa nominal de uplink de 24 kbps. Este é um resultado interessante considerando que a compactação de hardware está desabilitada (o que determinamos a partir do show modem operational-status). No entanto, use o comando IOS show compress para verificar se alguma compactação de software está sendo usada.
Aqui estão algumas diretrizes gerais para o uso do TTCP para medir o throughput do caminho IP:
Para obter resultados significativos, os hosts que executam TTCP devem ter muita energia da CPU em relação à velocidade do link. Isso é verdade quando o enlace é de 45 kbps e os hosts são um AS5300 ocioso e um PC de 700MHz. Isso não é verdade se o enlace for 100baseT e se um dos hosts for um roteador Cisco 2600
O Cisco IOS trata os dados originados pelo roteador de forma diferente dos dados roteados pelo roteador. Em nosso exemplo acima, embora a compactação Microsoft Point-to-Point Compression (MPPC) tenha sido negociada no link em teste, os dados transmitidos pelo roteador não usaram a compactação de software, enquanto os dados transmitidos pelo PC foram. É por isso que o throughput do uplink era significativamente maior que o throughput do downlink. Para testar o desempenho de links de alta largura de banda, você deve sempre testar através dos roteadores.
Para caminhos IP com um produto de retardo * de largura de banda grande, é importante usar um tamanho de janela TCP suficiente para manter o pipe cheio. No caso de links de modem, o tamanho padrão da janela de 4 KB é normalmente adequado. É possível aumentar o tamanho da janela TCP do IOS com o comando i p tcp window-size. Consulte a documentação apropriada para sistemas não IOS.
Outra maneira fácil de testar o throughput através de um link de modem é usar a ferramenta de código aberto Through-Putter . Instale essa ferramenta em um servidor Web atrás dos servidores Access e faça com que os clientes PC Windows usem um navegador para ligar para a ferramenta Java. Ele pode ser usado para determinar rapidamente a taxa de dados em uma conexão de modem. Este miniaplicativo de throughput de modem é uma ferramenta de código aberto e não é suportado pelo Cisco Technical Assistance Center. Consulte o arquivo Readme fornecido com a ferramenta para obter mais instruções de instalação e operação.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
09-Sep-2005 |
Versão inicial |