Protocolo TCP
O protocolo especifica o formato dos dados e das confirmações que os dois computadores trocam para oferecer uma transferência confiável e, também, os procedimentos de que se valem os computadores para assegurar que os dados cheguem corretamente.
No caso do TCP ele apresenta como principais características transferência de dados confiável fim-a-fim (todo pacote transmitido requer um Ack que é um bit de reconhecimento, há recuperação de dados perdidos, descarte de dados duplicados e reorganização dos dados recebidos fora de ordem), comunicação bidirecional (full-duplex) entre cliente servidor, o sequenciamento: bytes de segmentos são numerados, de forma a garantir a entrega em ordem e a deteção e eliminação de duplicatas e é voltado para atuar sobre redes heterogêneas com tamanhos máximos de pacotes variáveis, faixas de passagem variáveis topologias distintas. O ponto fraco atual deste padrão é a adaptação a taxas de erros grandes, comum em comunicação sem fio (wireless).
Este protocolo divide o processo de comunicação em três fases o início onde o cliente envia segmento tipo SYN (pedido de conexão, com número inicial da seqüência de numeração de bytes no sentido cliente servidor), o servidor reconhece pedido de conexão enviando segmento tipo SYN com bit de reconhecimento (ACK) ligado e com número inicial de seqüência de numeração no sentido servidor - cliente.e o destino envia segmento ACK reconhecendo SYN do servidor, a troca de dados onde efetivamente ocorre a transferência de dados e o encerramento da conexão que pode ser iniciada tanto pelo cliente como pelo servidor e origem envia segmento FIN, o destino envia reconhecimento: ACK e algum tempo depois a destino envia FIN (sinalizando fim da conexão) e por fim origem envia reconhecimento
Quando cada segmento for transmitido é adicionado um checksum e quando estes são recebidos eles são verificados, se danificados os pacotes são descartados, como se tivessem se perdido