Link
http://tools.ietf.org/html/rfc793
Introdução
- O TCP é um protocolo host-to-host altamente confiável.
- Comunicação inter-processos, orientado a conexão, com suporte a muitas aplicações, e já assume a simplicidade do protocolo da camada abaixo (IP).
- A interface TCP consiste de um conjunto de chamadas, como em um SO, como exemplo para abrir e fechar conexões. A comunicação com a aplicação pode ser assíncrona.
- A Operação do TCP está nas seguintes áreas:
- Transferência básica de dados
- O TCP é capaz de tranferir dados em um fluxo em cada direção. Uma função "push" garante que esses dados são passados adiante no receptor.
- Confiabilidade
- O TCP é capaz de "recuperar" dados comprometidos, perdidos, duplicados ou entregues fora de ordem. Mensagens como o "ACK" são usadas para confirmação de recepção ccorreta.
- Controle de fluxo
- O TCP permite um controle da quantidade de dados transmitidos, através de uma janela e da quantidade de ACKs.
- Multiplexação
- A partir do IP mais a porta é formado um socket, que permite conexões múltiplas. Existem sockets fixos para certas aplicações.
- Conexão
- Os mecanismos descritos anteriormente exigem a inicialização e manutenção dos fluxos de dados, daí vem a conexão, feita por um mecanismo de "handshake", baseado em números de sequência baseados no clock.
- Precedência e segurança
- Podem ser indicados precedência e segurança da comunicação pelos usuários.
- Transferência básica de dados