TPC
O TCP (Transmission Control Protocol) é um protocolo de transmissão na Internet que opera na camada de transporte, junto com UDP e RTP. A principal diferença entre UDP e TCP é que o TCP é mais confiável.
O TCP garante
- Entrega dos dados;
- Preservação da ordem das mensagens.
A entrega dos dados e a preservação da ordem das mensagens são garantidas por meio de uma mensagem de confirmação (ACK – Acknowledgment).
Exemplo de funcionamento do protocolo
O remetente envia uma mensagem pela rede, o destinatário a recebe e envia um ACK de volta (confirmação de recebimento). O próximo segmento de dados é enviado e, se recebido corretamente, outro ACK é enviado.
Esse processo se repete até que o arquivo completo seja recebido pelo destinatário.
Funcionamento do protocolo em caso de erro
Se ocorrer um erro na transmissão e o destinatário não receber o segmento de dados, ele não enviará um ACK.
O remetente define um tempo limite e, se não receber um ACK, o segmento será retransmitido. O protocolo continua esse processo até que todos os segmentos sejam recebidos corretamente.
O TCP confirma múltiplos segmentos enviados em sequência, não apenas um único segmento.
Os arquivos chegam ao TCP como um grande fluxo de bytes, que é dividido em segmentos. Esses segmentos são enviados ao destinatário, que os recebe, os reorganiza em um único fluxo e os entrega ao aplicativo correspondente.
O TCP protege apenas contra a perda de segmentos, mas:
- Os segmentos podem chegar fora da ordem original;
- Podem ser duplicados.