Este documento descreve os fundamentos do TCP, a análise profunda de pacotes do Wireshark e a solução prática de problemas para otimizar o desempenho de ponta a ponta.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
Note: Qualquer dúvida sobre a configuração e a interoperabilidade de software ou hardware de terceiros está fora do suporte da Cisco. O uso de ferramentas de terceiros é o melhor esforço para demonstrar sua configuração e operação com o equipamento da Cisco.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O Transmission Control Protocol (TCP) é um protocolo fundamental da camada de transporte que opera na camada 4 do modelo OSI e fornece entrega confiável, ordenada e verificada por erro de um fluxo de bytes entre aplicativos que se comunicam por uma rede IP.
O diagrama representa a pilha TCP/IP onde um segmento TCP (Camada 4) é encapsulado dentro de um pacote IP (Camada 3) e depois dentro de um quadro Ethernet (Camada 2) definido pelo IEEE 802.3. Essa abordagem em camadas garante a comunicação modular, onde cada camada adiciona suas próprias informações de controle (cabeçalhos) para garantir a entrega, o roteamento e a integridade dos dados.

O cabeçalho Ethernet é normalmente de 14 bytes, composto por:
Além disso, os quadros Ethernet incluem um trailer FCS (Frame Check Sequence) de 4 bytes para detecção de erros na Camada 2. O IEEE 802.3 define o enquadramento, os tamanhos mínimo/máximo de quadros e as restrições de entrega física que afetam diretamente os protocolos das camadas superiores, como o TCP.
O cabeçalho IPv4 tem um tamanho mínimo de 20 bytes, extensível até 60 bytes com opções. Os principais campos incluem:
A camada IP é responsável pelo endereçamento lógico e pelo roteamento através das redes, mas não garante a confiabilidade.
O cabeçalho TCP varia de 20 a 60 bytes, dependendo das opções. Os principais campos incluem:
O TCP adiciona entrega confiável, sequenciamento adequado e controle de fluxo à comunicação IP.
As opções de TCP estendem o protocolo base. Os mais comuns incluem:
As flags SYN e FIN consomem um número de sequência, mesmo quando não há payload presente. O TCP opera usando um modelo de sequenciamento orientado a bytes, onde cada byte transmitido - e flags de controle específicos - avançam o espaço de sequência. Esse comportamento é essencial para a análise precisa do TCP em capturas de pacotes e para diagnosticar inconsistências de sequência ou de confirmação.
ACK = SEQ + Comprimento de payload + (SYN ? 1: 0) + (FIN ? 1: 0)
Where:
Cálculo ACK:
Isso reflete um cenário em que os dados são enviados durante o handshake TCP. O payload e o flag SYN consomem espaço de sequência.
Cálculo ACK:
Isso mostra que o TCP pode incluir dados durante a desativação da conexão e a carga útil e o flag FIN incrementam o número de sequência.
O Tamanho Máximo de Segmento (MSS) define o payload máximo que o TCP pode enviar em um segmento.
Se as opções TCP estiverem presentes, o MSS é reduzido de acordo. O MSS é negociado durante o handshake triplo do TCP e evita a fragmentação na camada IP.
O Maximum Segment Size (MSS) é trocado durante o handshake triplo do TCP usando a opção MSS em pacotes SYN:
Cada lado está dizendo efetivamente:
Esta é a maior carga TCP aceita.
O MSS não é negociado como um valor único acordado.
Em vez disso:
Portanto:
Em uma pilha TCP funcionando corretamente: No.
O Tamanho da janela define a quantidade de dados que o receptor pode aceitar sem confirmação.
O que é:
Propósito:
Onde obtê-lo:
Variabilidade de fornecedor/SO:
Condição zero de janela:
Mecanismos variáveis do Windows
Solução de problemas de uso:
Esta seção descreve uma metodologia prática para diagnosticar se um switch Cisco Nexus executando NX-OS está afetando o encaminhamento de tráfego TCP ou apresentando problemas de desempenho. A abordagem é apresentada através de um cenário hipotético.
Quando a latência ou a degradação de desempenho do TCP é observada, é comum suspeitar inicialmente que a rede está causando isso. No entanto, essa suposição deve ser validada por meio da análise orientada por dados. O método oficial para a identificação e solução de problemas de TCP é a captura de pacotes, executada de maneira ideal:
Isso garante visibilidade no handshake triplo TCP, onde parâmetros críticos como MSS, Escala de Janela e SACK são negociados e não repetidos posteriormente na sessão. Se capturas simultâneas não forem possíveis, a análise poderá prosseguir com uma única captura, mas as conclusões serão limitadas.
Definição de Cenário
Um usuário identificou que o processo de backup de um conjunto de dados de aplicativo de aproximadamente 7,5 TB, que antes era concluído em cerca de 9 horas, agora leva quase 21 horas. Embora as sessões de TCP entre o cliente e o servidor ainda sejam estabelecidas com êxito, o aumento significativo na duração do backup sugere uma possível degradação no throughput ou no desempenho geral do TCP. Como o switch Nexus é o único dispositivo de rede no caminho e também fornece funcionalidade de gateway de Camada 3, o administrador de rede suspeita que o switch Nexus seja a causa do problema.

Linux: ping -c 10 -I 10.93.19.8 -s 1472 -M do 10.91.2.35
Windows: ping -n 10 -l 1472 -f 10.91.2.35
Por que 1472 bytes?
O que pode ser concluído
Como usar isso para solução de problemas
Relevância prática para o TCP
Para solucionar com eficiência problemas de desempenho do TCP em um switch Cisco Nexus 9000, é essencial determinar quais interfaces estão recebendo e encaminhando o tráfego entre a origem e o destino.
Em topologias simples, isso pode ser inferido diretamente das conexões físicas. Por exemplo, se o cliente estiver conectado à Ethernet1/1 e o servidor à Ethernet1/2, o caminho do tráfego será direto. No entanto, em ambientes reais com várias interfaces ativas, canais de porta ou configurações de vPC, essa identificação nem sempre é trivial.
Nesses casos, a abordagem recomendada é usar o Embedded Logic Analyzer Module (ELAM), que fornece visibilidade no nível ASIC (data-plane hardware).
O ELAM permite capturar um pacote à medida que ele é processado pelo pipeline de encaminhamento e revela informações críticas como:
Esse método é significativamente mais preciso do que contar com ferramentas de plano de controle, pois reflete o caminho real de encaminhamento de hardware.
É importante observar que o ELAM captura apenas um pacote por vez, portanto, os critérios de filtragem devem ser definidos precisamente para corresponder ao tráfego desejado (por exemplo, IP de origem, IP de destino, porta TCP). Se os filtros forem muito amplos, há um risco de capturar tráfego não relacionado, como ICMP ou UDP, em vez do fluxo TCP pretendido.
Além disso, esse processo deve ser repetido para ambos os sentidos de tráfego:
Em ambientes que usam vPC ou ECMP, o tráfego pode ter a carga balanceada através de vários caminhos. Como resultado, o tráfego de encaminhamento e de retorno pode atravessar diferentes switches ou interfaces. Nesses cenários, o ELAM deve ser executado em cada switch Nexus relevante para garantir visibilidade completa.
Ao identificar com precisão as interfaces de entrada e saída, o escopo da solução de problemas é reduzido significativamente, permitindo a validação focada de contadores de interface, políticas de QoS, configurações de MTU e possíveis pontos de congestionamento ao longo do caminho de encaminhamento exato.
Este exemplo filtra o tráfego com o IP origem 10.93.19.8, o IP destino 10.91.2.35 e a porta destino TCP 445.
Configuração do ELAM
switch# debug platform internal tah elam
switch(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
switch(TAH-elam-insel6)# set outer ipv4 src_ip 10.93.19.8
switch(TAH-elam-insel6)# set outer ipv4 dst_ip 10.91.2.35
switch(TAH-elam-insel6)# set outer l4 l4-type 0
switch(TAH-elam-insel6)# set outer l4 dst-port 445
switch(TAH-elam-insel6)# start
Depois de gerar o tráfego, recupere o resultado:
switch(TAH-elam-insel6)# report
Captura de tráfego reverso (obrigatório para visibilidade total)
Para validar o caminho de retorno, repita a configuração trocando os endereços IP origem e destino:
switch# debug platform internal tah elam
switch(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
switch(TAH-elam-insel6)# set outer ipv4 dst_ip 10.93.19.8
switch(TAH-elam-insel6)# set outer ipv4 src_ip 10.91.2.35
switch(TAH-elam-insel6)# set outer l4 l4-type 0
switch(TAH-elam-insel6)# set outer l4 dst-port 445
switch(TAH-elam-insel6)# start
Notas operacionais
Guia de ELAM do Cisco Nexus 9000 Cloud Scale ASIC
A validação no nível da interface garante que o switch Nexus não esteja introduzindo nenhuma restrição ou anomalia que afete o tráfego TCP. O foco é confirmar se a configuração, o estado operacional e os contadores de hardware estão consistentes com o comportamento esperado para o encaminhamento de plano de dados de alto desempenho.
Validação da configuração
switch# show running-config interface ethernet1/1-2 | include access-group
switch#show running-config interface ethernet1/1-2 | include service-policyswitch#show policy-map interface ethernet1/1-2
switch# show policy-map
switch# show class-map
switch# show class-map type network-qos
switch# show policy-map type network-qos
switch#show policy-map system type network-qos
switch# show queuing interface ethernet1/1-2
switch# show policy-map type queuing
switch#show running-config interface ethernet1/1-2
switch#show interface ethernet1/1-2 switchport
switch#show spanning-tree interface ethernet1/1-2
switch# show ip interface ethernet1/1-2
Validação do Estado Operacional
switch#show interface ethernet1/1-2 | include MTU
switch#show interface ethernet1/1-2 | include speed|duplex
switch#show interface ethernet1/1-2 | include rate|flap
Validação do Contador de Erros
switch#clear counters interface all
switch#show interface counters errors non-zero | include Port|Eth1/1|Eth1/2
Validação pós-teste
switch#show interface counters errors non-zero | include Port|Eth1/1|Eth1/2
Garantir o roteamento e a estabilidade do ARP é fundamental para confirmar se o switch Nexus tem acessibilidade consistente da Camada 3 e não está introduzindo problemas de resolução intermitente que possam afetar o desempenho do TCP. A instabilidade nas entradas de roteamento ou na resolução ARP pode levar à perda de pacotes, aumento da latência ou blackholing de tráfego.
Critérios de validação
switch# show ip route 10.93.19.8
switch# show ip route 10.91.2.35
switch# show ip arp detail | include 10.93.19.8
switch# show ip arp detail | include 10.91.2.35
Nos switches Cisco Nexus 9000, o encaminhamento é executado no hardware (ASIC) e a CPU não está envolvida em operações normais de plano de dados. Portanto, observar o tráfego TCP host a host no plano de controle é anormal e indica que os pacotes estão sendo lançados devido a exceções ou configurações incorretas. Uma vez que o tráfego deve ser processado pela CPU, ele fica sujeito à Política de Plano de Controle e espera-se que quedas possam ser observadas se o tráfego exceder a taxa de plano de controle permitida.
Método de validação
switch# ethanalyzer local interface inband display-filter "ip.addr==10.93.19.8 and ip.addr==10.91.2.35" limit-capture 0
Comportamento esperado
Comportamento inesperado
A latência de encaminhamento de pacotes nos switches Nexus 9000 depende do tamanho do pacote, do modo de encaminhamento e dos recursos ativados. As especificações da Cisco normalmente fazem referência à latência para pacotes de 64 bytes em encaminhamento cut-through.
+----------------------+----------------------+-------------------------+-------------------------------+
| Switch Model | ASIC / Architecture | Ports (example config) | Typical Forwarding Latency |
| | | | (64B packet) |
+----------------------+----------------------+-------------------------+-------------------------------+
| Nexus 93180YC-EX | Cloud Scale (EX) | 48x25G + 6x100G | ~1.0 – 1.2 microseconds |
| Nexus 93180YC-FX | Cloud Scale (FX) | 48x25G + 6x100G | ~0.9 – 1.0 microseconds |
| Nexus 93180YC-FX2 | Cloud Scale (FX2) | 48x25G + 6x100G | ~0.8 – 0.9 microseconds |
| Nexus 9364C | Cloud Scale | 64x100G | ~1.0 microsecond |
| Nexus 9336C-FX2 | Cloud Scale (FX2) | 36x100G | ~0.8 microseconds |
| Nexus 93240YC-FX2 | Cloud Scale (FX2) | 48x25G + 12x100G | ~0.8 – 0.9 microseconds |
| Nexus 92300YC | Broadcom Trident II | 48x10/25G + 6x40/100G | ~2 – 3 microseconds |
| Nexus 92160YC-X | Broadcom Tomahawk | 48x25G + 6x100G | ~2 microseconds |
+----------------------+----------------------+-------------------------+-------------------------------+
Recursos adicionais podem introduzir latência incremental:
No entanto:
O único cenário realista onde a latência aumenta visivelmente é o congestionamento:
Mesmo nestes casos:
Isso permite o espelhamento do tráfego do plano de dados no plano de controle para a captura e exportação de pacotes para um arquivo .pcapng, permitindo análise detalhada no Wireshark.
Configuração
monitor session 1
source interface ethernet1/1 both
source interface ethernet1/2 both
destination interface sup-eth0
no shut
Execução de Captura
switch# ethanalyzer local interface inband mirror capture-filter "tcp port 445" limit-capture 0 write bootflash:tcp_capture.pcapng
Considerações técnicas
| Método | Vantagem | Limitação |
|---|---|---|
| SPAN |
Precisa, sem encapsulamento |
Requer conexão física. |
| ERSPAN |
Recurso de captura remota |
Susceptível a congestionamento na rede. |
Para garantir que as capturas de SPAN para CPU sejam confiáveis, é necessário validar se o plano de controle não está descartando pacotes espelhados devido à limitação de taxa.
Comando de validação
switch(config)# show hardware rate-limiter | i Allowed|span
Allowed, Dropped & Total: aggregated bytes since last clear counters
R-L Class Config Allowed Dropped Total
span 50 0 0 0 <<<
span-egress disabled 0 0 0
Metodologia de validação
Interpretação
Se forem observadas quedas, o método de captura deverá ser alterado para SPAN ou ERSPAN.
O teste ICMP fornece uma validação de linha de base da integridade do plano de dados antes de executar uma análise TCP complexa. Como o ICMP é stateless e mais simples, ele permite a detecção rápida de perda de pacotes, duplicação ou inconsistências de caminho.
Comportamento esperado na captura de SPAN
Isso confirma o encaminhamento correto e a ausência de perda de pacotes no plano de dados.
Comportamento Anormal
Se o tráfego ICMP for consistentemente encaminhado sem perda, há uma alta probabilidade de que o tráfego TCP também esteja sendo encaminhado corretamente na Camada 2/3.
Quando o tráfego é capturado usando SPAN para a CPU (ou SPAN/ERSPAN), cada pacote pode ser observado duas vezes: once on ingress e once on egress. Essa duplicação pode ser usada para estimar a latência de encaminhamento introduzida pelo switch Nexus, calculando a diferença de tempo entre as duas instâncias do mesmo pacote.
Na prática, essa latência pode ser medida usando o tráfego ICMP capturado anteriormente, comparando o delta de tempo entre pacotes duplicados de Solicitação de Eco e de Resposta de Eco. Isso fornece uma linha de base simples e eficaz para o desempenho de encaminhamento de switch. Se uma análise mais profunda for necessária, a mesma metodologia pode ser aplicada ao tráfego TCP, capturando o fluxo e medindo a diferença de tempo entre os pacotes TCP duplicados.
Metologia
Configuração do Wireshark
View > Time Display Format > Seconds Since Previous Displayed Packet
Right-click on "Time Delta from Previous Displayed Packet" → Apply as Column
ip.addr==10.93.19.8 and ip.addr==10.91.2.35 and tcp
Right-click packet → Follow → TCP Stream
Interpretação
Esta seção fornece uma metodologia detalhada para analisar uma captura de pacote TCP no Wireshark, incluindo a configuração de perfil, através do caso hipotético descrito anteriormente. As imagens mostradas foram tiradas diretamente do Wireshark. Como lembrete, o cenário é:
Um usuário identificou que o processo de backup de um conjunto de dados de aplicativo de aproximadamente 6,5 TB, que antes era concluído em cerca de 9 horas, agora leva quase 21 horas. O único dispositivo de rede acessível é um switch Cisco Nexus 9300 conectado ao servidor de origem (10.93.19.8). O MTU configurado na interface do switch é de 9000 bytes (quadros jumbo), enquanto o MTU no servidor é desconhecido. Uma captura de pacote do servidor de origem está disponível e todas as etapas de validação do Nexus anteriores já foram concluídas sem nenhuma anomalia detectada.
Principais observações e restrições
No Wireshark, você pode criar perfis personalizados adaptados ao tipo específico de análise que deseja executar.
Descrição da coluna
A captura do handshake triplo TCP é obrigatória porque contém parâmetros críticos, como MSS, Escala de Janela e SACK, que definem como a sessão se comporta.
Sem essas informações, qualquer análise de TCP é incompleta e pode levar a conclusões incorretas sobre o desempenho ou a causa raiz.

A partir da captura de pacotes:
O RTT inicial (iRTT) é calculado do seguinte modo:
Este valor é derivado de:
A maioria da latência (~94%) está no caminho de encaminhamento (cliente → servidor → cliente), enquanto o tempo de resposta da origem é mínimo, indicando que não há atraso de CPU ou aplicativo no cliente.
A porta 445 corresponde ao Microsoft Server Message Block (SMB), normalmente usado para compartilhamento de arquivos, unidades de rede e serviços de autenticação do Windows. Esse protocolo é sensível à latência e ao throughput, tornando-o altamente dependente da eficiência do TCP e da estabilidade da rede.
A janela TCP representa a quantidade de dados que pode ser enviada antes de aguardar a confirmação. Nesse caso, a origem é um pouco mais restritiva que o destino. Esses valores são relativamente pequenos para ambientes modernos e podem limitar o throughput, especialmente à medida que o RTT aumenta.
O rendimento teórico máximo pode ser estimado utilizando:
Throughput = Tamanho da Janela TCP / RTT
Substituindo os valores observados:
Rendimento ≈ 64.240 / 0,000798 ≈ 80,5 MB/s (~644 Mbps)
Isso representa o throughput do limite superior, considerando:
Com o rendimento atual de 644 Mbps, transferir um arquivo de 6,5 TB leva aproximadamente 23,5 horas, o que se alinha com a degradação observada. Para obter uma janela de transferência de 9 horas, o throughput deve aumentar para aproximadamente 1,68 Gbps, exigindo uma janela TCP maior (aumento de~2,7x) ou um RTT significativamente mais baixo (~291 µs).
Com as condições atuais (janela de 64 KB e RTT de ~798 µs), não é possível atingir o objetivo de 9 horas, pois o throughput do TCP é restringido pelo produto de atraso de largura de banda. Sem aumentar o tamanho da janela ou reduzir a latência, o protocolo não pode utilizar uma largura de banda disponível mais alta, tornando o destino inatingível.
| Cenário | Transferência | Tempo de transferência estimado (6,5 TB) | Janela TCP Necessária | RTT obrigatório |
|---|---|---|---|---|
| Estado atual |
644 Mbps (~80,5 MB/s) |
Aproximadamente 23,5 horas |
64 KB |
798 µs |
| Meta (9 horas) |
~1683 Mbps (~210 MB/s) |
9 horas |
~172 KB |
Aproximadamente 291 µs |
Isso funcionou anteriormente, indicando que ocorreu uma alteração na rede, no aplicativo, na origem ou no destino. É importante notar que, apenas com base nesta análise inicial, já se pode chegar a uma conclusão significativa: nas condições atuais de tamanho da janela TCP e RTT, não é possível atingir o objetivo de 9 horas.
As tabelas mostram uma comparação de como o throughput varia à medida que o tamanho da janela do RTT e do TCP aumenta ou diminui.
Impacto de RTT no throughput (tamanho de janela fixo = 64.240 bytes)
| RTT | Rendimento (MB/s) | Rendimento (Mbps) |
|---|---|---|
| 200 µ (0,0002 s) |
~321 MB/s |
~2.568 Mbps |
| 798 µs (0,000798 s) |
~80,5 MB/s |
~644 Mbps |
| 2 ms (0,002 s) |
~32,1 MB/s |
~257 Mbps |
| 10 ms (0,01 s) |
~6,4 MB/s |
~51 Mbps |
Impacto no tamanho da janela TCP (RTT fixo = 798 µs)
| Tamanho da Janela TCP | Rendimento (MB/s) | Rendimento (Mbps) |
|---|---|---|
| 16 KB (16.384 KB) |
~20,5 MB/s |
~164 Mbps |
| 64 KB (64.240 KB) |
~80,5 MB/s |
~644 Mbps |
| 256 KB (262.144 KB) |
~328 MB/s |
~2.624 Mbps |
| 1 MB (1.048.576 KB) |
~1.314 MB/s |
~10,5 Gbps |
Interpretação técnica
Isso demonstra que o tamanho da janela do RTT e do TCP são fatores críticos no desempenho do TCP e devem ser analisados juntos ao solucionar problemas de throughput.
Um cabeçalho IP de 20 bytes indica que não há opções de IP presentes. O cabeçalho TCP de 32 bytes confirma que as opções TCP estão sendo usadas, adicionando 12 bytes além do cabeçalho base. Essas opções normalmente incluem MSS, Escala de janela e SACK permitido.
O SACK (Selective Acknowledgment) é habilitado em ambos os endpoints. Isso não está visível na imagem. O SACK permite que o receptor confirme blocos de dados não contíguos, informando ao remetente exatamente quais segmentos foram recebidos com sucesso.
Por exemplo, se os segmentos 1000-2000 e 3000-4000 forem recebidos, mas 2000-3000 estiver faltando, o receptor pode indicar isso explicitamente. Sem o SACK, o remetente retransmitiria todos os dados após o intervalo; com SACK, somente a parte ausente é retransmitida. Isso melhora significativamente o desempenho em ambientes com perda de pacotes.
Análise do pacote 1 (SYN)
O Wireshark normaliza o número de sequência para zero para legibilidade, embora na prática seja um grande valor aleatório. A ausência de payload é esperada durante o estabelecimento da conexão. O valor de MSS de 1460 bytes indica um MTU de 1500 bytes (cabeçalho IP de 20 bytes + cabeçalho TCP de 20 bytes). Um TTL de 128 pode ser um host baseado em Windows, e ver esse valor na captura indica que a captura provavelmente foi feita na origem ou muito perto dela através da Camada 2.
Análise do pacote 2 (SYN-ACK)
O valor ACK é 1 porque o flag SYN consome um número de sequência, mesmo quando não há payload presente. Portanto, ACK = SEQ + 1.
O TTL observado de 59 sugere um TTL inicial de 64, significando que o pacote atravessou aproximadamente 5 saltos de roteamento (64 − 59 = 5). Cada salto roteado diminui o TTL em um.
Risco de fragmentação e impacto na rede
A presença de aproximadamente cinco saltos de roteamento apresenta riscos potenciais de desempenho, particularmente relacionados a incompatibilidades e fragmentação de MTU.
Se qualquer link intermediário tiver uma MTU menor do que o tamanho do pacote original, a fragmentação poderá ocorrer. Isso leva a várias consequências:
Considerando esses fatores, é essencial garantir MTU consistente no caminho ou implementar o aperto de MSS quando necessário.
Quando o ACK RTT é maior que o iRTT, ele indica que a latência aumentou em comparação com a linha de base estabelecida durante o handshake TCP.
Isso significa que a rede ou os endpoints estão introduzindo um atraso adicional durante a sessão, geralmente devido a:
Se essa condição persistir por toda a sessão TCP, ela levará a:
No Wireshark, é possível visualizar a frequência com que a condição ACK RTT > iRTT ocorre usando o recurso Gráficos de E/S em: Estatísticas → Gráficos de E/S, aplicando o filtro de exibição (tcp.analysis.ack_rtt > tcp.analysis.initial_rtt), selecionando estilo Impulso, definindo o Eixo Y como Pacotes e usando um intervalo de 50 microssegundos.
No gráfico, os impulsos roxos representam o número de pacotes que atendem a essa condição dentro de cada intervalo de 50 microssegundos. Como observado, essa condição persiste em toda a captura de pacotes, indicando que a latência durante a sessão é consistentemente mais alta que a linha de base inicial. Esse comportamento sugere fortemente a degradação sustentada do desempenho, em vez de uma condição transitória, reforçando a necessidade de investigar fontes potenciais, como congestionamento, buffer ou atrasos de processamento de endpoint no caminho de ponta a ponta.

Também é importante determinar por quanto tempo o iRTT está sendo excedido, não apenas com que frequência. Embora o Wireshark não permita diretamente a subtração entre campos, uma comparação visual pode ser obtida usando Gráficos de E/S:
Nesta visualização, o gráfico roxo representa a condição ACK RTT > iRTT, que está consistentemente presente em toda a sessão TCP. Os dados mostram inflação de latência sustentada, com vários picos atingindo 11 milissegundos e um pico máximo de mais de 100 milissegundos, representando 11x a 100x o iRTT da linha de base.
Esse comportamento confirma que o aumento de latência não é transitório, mas persistente, indicando um problema sistêmico que afeta a sessão ao longo do tempo. Tal desvio sustentado sugere fatores como congestionamento de rede, buffering (bufferbloat) ou atrasos de processamento de ponto final.

Esta seção avalia a confiabilidade do TCP analisando retransmissões ao longo do tempo, permitindo a validação da contribuição da perda de pacotes para a degradação do desempenho.
O gráfico mostra a distribuição das retransmissões TCP ao longo do tempo. Foram observadas 42 retransmissões, representando apenas 0,00125% do tráfego total.
Esse nível de retransmissões é insignificante e indica claramente que a perda de pacotes não é um fator contribuinte nesse cenário.
Configuração do Wireshark (Retransmissões TCP)
Statistics → I/O Graphs
tcp.analysis.retransmission and !tcp.analysis.spurious_retransmission
O gráfico mostra o número de retransmissões artificiais TCP em intervalos de 1 s geradas pela origem 10.93.19.8.
No Wireshark, uma retransmissão espúria TCP indica que um host retransmitiu um segmento que não foi realmente perdido. O pacote original atingiu com êxito o receptor, mas o remetente assumiu incorretamente a perda devido a uma estimativa de tempo imprecisa. Esse comportamento não indica perda real de pacotes, mas sim lógica de retransmissão ineficiente no remetente.
Nesta captura:
Isso confirma que o comportamento de retransmissão é inteiramente controlado pela pilha TCP origem, não pela rede.
O número total de retransmissões artificiais observado é 1.112, representando 0,032% do tráfego total capturado.
Configuração do Wireshark (Retransmissões artificiais de TCP)
Statistics → I/O Graphs
tcp.analysis.spurious_retransmission and ip.src==10.93.19.8
Interpretação técnica
Essa análise reforça ainda mais que o problema não está relacionado à confiabilidade da rede, mas ao comportamento do TCP, latência ou desempenho do endpoint.

O gráfico mostra o throughput efetivo, calculado com base no payload do TCP (dados reais transferidos) em Megabits por segundo. O throughput observado oscila principalmente entre 600 Mbps e 800 Mbps, indicando que, embora a rede esteja transferindo dados ativamente, não está atingindo um potencial de largura de banda maior.
Configuração do Wireshark (Taxa de Transferência Efetiva)
Statistics → TCP Streams Graphs → Throughout

Interpretação técnica
O gráfico destaca um comportamento crítico na sessão TCP comparando a capacidade do receptor versus os dados reais em trânsito (bytes em trânsito).

Os dados observados em voo atingem picos de aproximadamente 1 MB, com picos adicionais em torno de 8 KB e 5 KB, mas concentram-se principalmente entre 1 KB e 250 KB.
Isso indica que, embora o receptor seja capaz de lidar com volumes maiores de dados, o remetente não está utilizando consistentemente a janela disponível.
Configuração do Wireshark (dados em voo versus janela)
Statistics → TCP Streams Graphs → Throughout
Interpretação técnica
A análise do tamanho do payload TCP em relação ao MSS ao longo do tempo ajuda a determinar se o remetente está utilizando cada segmento TCP de forma eficiente. Essa análise é realizada da perspectiva do endereço IP de origem (10.93.19.8).
No Wireshark, os gráficos são configurados da seguinte forma:
Da análise:

Essa análise demonstra que a identificação da causa raiz dos problemas de desempenho do TCP requer uma abordagem holística de ponta a ponta, em vez de assumir que a rede é a principal fonte de degradação.
Uma validação extensiva foi realizada no switch Cisco Nexus 9300, incluindo contadores de interface, políticas de QoS, roteamento e estabilidade ARP, verificação de punt de CPU, captura de pacotes baseada em SPAN e validação de encaminhamento de nível ASIC usando ELAM. Todos os resultados confirmaram consistentemente que o switch estava operando dentro dos parâmetros esperados:
Além disso, a análise do TCP revelou:
A degradação de desempenho é causada pelo servidor de origem operando com MTU 1500 em um ambiente com capacidade jumbo, impedindo o uso eficiente da capacidade de rede disponível.
Aumente o MTU no servidor de origem de 1500 para 9000 bytes para alinhar com a infraestrutura de rede e de destino. Os benefícios:
Uma conclusão importante dessa análise é a importância de evitar conclusões prematuras ao solucionar problemas de desempenho da rede. Embora seja comum inicialmente atribuir problemas à rede, este caso demonstra claramente que a rede estava funcionando corretamente em todo o caminho do plano de dados. Somente executando uma análise profunda do TCP a partir das perspectivas de origem e destino—incluindo parâmetros de handshake, comportamento de RTT, utilização de janela, retransmissões e eficiência de payload—foi possível identificar com precisão o verdadeiro gargalo.
Dedicar um tempo para analisar o comportamento do TCP em detalhes evita diagnósticos errados, reduz alterações desnecessárias na rede e garante que os esforços de remediação sejam direcionados à causa raiz real.
| Revisão | Data de publicação | Comentários |
|---|---|---|
2.0 |
07-May-2026
|
Título atualizado por solicitação do autor. |
1.0 |
06-May-2026
|
Versão inicial |