Handshake triplo, janelamento e confirmação
Handshake triplo:
- É o processo pelo qual duas máquinas afirmam uma a outra que a reconheceu e está pronta para inciar a comunicação.
- Um handshake triplo é necessário porque os números de sequência não são vinculados a um relógio global na rede e os protocolos TCP podem ter mecanismos diferentes para captar o ISN (Initial Sequence Number). O receptor do primeiro SYn não tem meios para saber de este é um segmento antigo atrasado, a menos que tenha registado o último número de sequência usadi na conexão. Nem sempre é possível lembrarmo-nos desse número. Assim o receptor deve pedir ao remetente que verique esse SYN.
O TCP é um protocolo orientado à ligação.
Requer o estabelecimento de uma ligação antes do começo da transferência de dados.
Para o estabelecimento de uma ligação, os dois hosts devem sincronizar os seus ISNs (Initial Sequence Number).
A sincronização é feita através da troca de segmentos de estabelecimento de ligação chamados SYN.
A sincronização requer que cada extremo comunicante envie o seu número de sequência inicial e que receba uma confirmação (ACK).
Estabelecimento de ligações
Primeiro segmento (SYN):
indica que o nº de sequência inicial é 100.
Segundo segmento (SYN + ACK):
confirma a recepção do primeiro segmento;
indica que o seu nº de sequência é 300; o próximo octeto que está à espera de receber tem o nº de sequência 101.
Estabelecimento de ligações
Terceiro segmento (ACK):
confirma a recepção do segundo segmento;
indica que o seu nº de sequência é 101;
o próximo octeto que está à espera de receber tem o nº de sequência 301.
Janelamento:
- O janelamento regula quanta informação pode ser passada por uma conexão TCP antes de um ACK ser recebido.
- Tanto a origem quanto o destino possuem janelas de transmissão e recepção que utiliza bufferização para tornar o processo mais eficiente. Assim, a origem pode mandar os pacotes em um fluxo sem ter que esperar cada pacote ser reconhecido. Isso permite que o destino receba os pacotes fora de ordem e os reordene, enquanto espera por mais pacotes.
Confirmação:
- Na estação receptora, o TCP reagrupa os segmentos em uma mensagem completa;
- Se um número de sequência estiver a faltar na série, aquele segmento será retransmitido;
- Os segmentos não confirmados dentro de um determinado período serão retransmitidos.