link diz
Acknowledgment number (32 bits) – if the ACK flag is set then the value of this field is the next sequence number that the receiver is expecting. This acknowledges receipt of all prior bytes (if any). The first ACK sent by each end acknowledges the other end's initial sequence number itself, but no data.
Isso sugere que o primeiro pacote de resposta está confirmando o recebimento dos três primeiros pacotes do fornecedor (seq 76905 + len 1440 = 78345)
O segundo pacote de resposta confirma o recebimento do quarto e quinto pacotes do fornecedor (seq 79785 + len 233 = 80018)
O terceiro pacote de resposta indica que nenhum dado adicional foi recebido de fornecedor (mesmo ack) e contém uma carga útil de 197 bytes.
Isso parece certo para mim.
Se seus dados são toda a conversação, o ack inicial estaria errado, já que deveria ack o primeiro pacote do fornecedor com um ack de 75465 (seq 75465 + 1 = 75466).
Aqui está uma sequência que capturei com o wireshark. Primeiro, vemos o handshake de três vias, depois a transmissão de um pedido HTTP get seguido por uma resposta HTTP
Source Flags Seq Ack Len client SYN 0 - 0 server SYN,ACK 0 1 0 client ACK 1 1 0 client - 1 1 429 Get ... server ACK 1 430 0 server - 1 430 1456 HTML response server - 1457 430 1456 client ACK 430 2913 0 ...
Os números de sequência e ack são relativos (para o número inicial escolhido aleatoriamente de cada extremidade)
O uso de uma única conexão para uma sequência de solicitações é uma otimização comum. Ele foi adicionado ao HTTP na versão 1.1 e conhecido como conexões persistentes . Configurar e derrubar conexões TCP tem um custo.