Diferente da camada de Rede (IP), onde cada pacote é tratado de forma isolada e pode chegar fora de ordem ou até ser perdido, o TCP garante que o fluxo de dados seja entregue à aplicação exatamente como foi enviado.

1. O Número de Sequência (Sequence Number)

O segredo por trás da ordenação é o campo Sequence Number no cabeçalho do segmento:
- Cada byte enviado recebe um número sequencial exclusivo.
- O emissor informa o número do Primeiro Byte contido naquele segmento.
- O receptor usa esse número para colocar os segmentos na ordem correta, mesmo que eles cheguem embaralhados pela Internet.

2. Remontagem do Fluxo (Reassembly)

Quando os pacotes chegam ao destino:
1. O Receptor coloca os segmentos recebidos em um Buffer de Recepção.
2. O Receptor verifica se há “buracos” (segmentos que ainda não chegaram).
3. Se um segmento chega fora de ordem (ex: recebeu o Segmento 3 antes do 2), ele o guarda no buffer mas não o entrega imediatamente à aplicação.
4. Quando o Segmento 2 chega (o “elo perdido”), o TCP remonta o fluxo e entrega os Segmentos 2 e 3 de uma só vez para a Aplicação.

3. Detecção e Filtro de Duplicatas

Graças ao número de sequência, o receptor consegue identificar facilmente se um segmento já foi recebido anteriormente (ex: devido a uma retransmissão desnecessária):
- O receptor simplesmente descarta o segmento duplicado e envia um ACK informando que já possui os dados.


[!TIP]
Em auditorias de segurança de Cyber, atacantes podem tentar prever o número de sequência de uma conexão para realizar o ataque de TCP Sequence Prediction, o que permitiria a injeção de pacotes maliciosos na sessão do usuário. Sistemas modernos usam números de sequência iniciais (ISN) aleatórios para dificultar esse tipo de ataque.