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.

Filosofia