TCP (Transmission Control Protocol)
TCP (Transmission Control Protocol)
O TCP (Transmission Control Protocol) é um protocolo de transporte confiável, orientado a conexão, utilizado em redes IP (Internet Protocol). Ele garante a entrega ordenada e sem erros de dados entre aplicações em hosts diferentes.
Características Principais
- Orientado a conexão: Estabelece uma conexão (handshake de três vias) antes da transmissão.
- Confiavel: Usa confirmações (ACKs) e retransmissões para garantir a entrega.
- Controle de fluxo: Ajusta a taxa de transmissão para evitar congestionamento.
- Full-duplex: Permite comunicação bidirecional simultânea.
Formato do Segmento TCP
Um segmento TCP contém:
- Cabeçalho (20 a 60 bytes): Portas de origem/destino, números de sequência e confirmação, flags (SYN, ACK, FIN), janela de recepção, checksum.
- Dados: Payload da aplicação.
Estabelecimento e Encerramento de Conexão
- Three-way handshake (SYN, SYN-ACK, ACK): Inicia a conexão.
- Four-way handshake (FIN, ACK): Encerra a conexão.
Controle de Congestionamento
TCP usa algoritmos como Slow Start, AIMD (Additive Increase Multiplicative Decrease) e Fast Retransmit para evitar congestionamento.
Aplicações Típicas
- HTTP, HTTPS, FTP, SSH, SMTP (protocolos que exigem confiabilidade).
Diferença entre TCP e UDP
- TCP é confiável e orientado a conexão; UDP é não confiável e sem conexão.
- TCP tem maior overhead; UDP é mais rápido e simples.