Tecnologia Da Informação
Tese: Tecnologia Da Informação. Pesquise 862.000+ trabalhos acadêmicosPor: coquinha • 18/5/2014 • Tese • 1.996 Palavras (8 Páginas) • 219 Visualizações
O TCP (acrônimo para o inglês Transmission Control Protocol, que significa "Protocolo de controle de transmissão") é um dos protocolos sob os quais assenta o núcleo da Internet. A versatilidade e robustez deste protocolo tornou-o adequado a redes globais, já que este verifica se os dados são enviados de forma correta, na sequência apropriada e sem erros, pela rede.
O TCP é um protocolo de nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual que se assentam a maioria das aplicações cibernéticas, como o SSH, FTP, HTTP — portanto, a World Wide Web.
Índice [esconder]
1 Origem histórica
2 Características técnicas
3 Descrição do funcionamento
3.1 Estabelecimento da ligação
3.2 Transferência de dados (sessão)
3.3 Adequação de parâmetros
3.4 Término da ligação
4 Portas ou serviços
5 Utilização do IP para entrega de dados
5.1 Ver também
6 Ligações externas
7 Referências
Origem histórica[editar | editar código-fonte]
Em maio de 1974, o Instituto de Engenheiros Eletricistas e Eletrônicos publicou um artigo intitulado "A Protocol for Packet Network Interconnection."1 Os autores do artigo, Vinton G. Cerf e Bob Kahn descreveram um protocolo de interconexão para compartilhamento de recursos usando comutação de pacotes ao longo dos nós. Um componente central de controle deste modelo foi o Transmission Control Program, que incorporou os elos e serviços orientados para datagrama entre hosts. O programa de controle de transmissão monolítico foi dividido depois dentro de uma arquitetura modular formada de um Protocolo de controle de transmissão na camada orientada a conexão e o Protocolo de internet na camada de interconexão. O modelo se torna informalmente conhecido como TCP/IP, embora formalmente tenha sido chamado de Internet Protocol Suite.
Características técnicas[editar | editar código-fonte]
Cabeçalho de uma trama TCP
+ Bits 0 - 3 4 - 9 10 - 15 16 - 31
0 Porta na origem Porta no destino
32 Número de sequência
64 Número de confirmação (ACK)
96 Offset Reservados Flags Janela
Window
128 Checksum Ponteiro de urgência
160 Opções (opcional)
Padding (até 32)
224
Dados
Detalhe do campo Flags
+ 10 11 12 13 14 15
96 UrgPtr ACK Push RST SYN FIN
As características fundamentais do TCP são:
Orientado à conexão - A aplicação envia um pedido de conexão para o destino e usa a "conexão" para transferir dados.
Ponto a ponto - uma conexão TCP é estabelecida entre dois pontos.
Confiabilidade e- O TCP usa várias técnicas para proporcionar uma entrega confiável dos pacotes de dados, que é a grande vantagem que tem em relação ao UDP, e motivo do seu uso extensivo nas redes de computadores. O TCP permite a recuperação de pacotes perdidos, a eliminação de pacotes duplicados, a recuperação de dados corrompidos, e pode recuperar a ligação em caso de problemas no sistema e na rede.
Full duplex - É possível a transferência simultânea em ambas direções (cliente-servidor) durante toda a sessão.
Handshake - Mecanismo de estabelecimento e finalização de conexão a três e quatro tempos, respectivamente, o que permite a autenticação e encerramento de uma sessão completa. O TCP garante que, no final da conexão, todos os pacotes foram bem recebidos.
Entrega ordenada - A aplicação faz a entrega ao TCP de blocos de dados com um tamanho arbitrário num fluxo (ou stream) de dados, tipicamente em octetos. O TCP parte estes dados em segmentos de tamanho especificado pelo valor MTU. Porém, a circulação dos pacotes ao longo da rede (utilizando um protocolo de encaminhamento, na camada inferior, como o IP) pode fazer com que os pacotes não cheguem ordenados. O TCP garante a reconstrução do stream no destinatário mediante os números de sequência.
Controle de fluxo - O TCP usa o campo janela ou window para controlar o fluxo. O receptor, à medida que recebe os dados, envia mensagens ACK (=Acknowledgement), confirmando a recepção de um segmento; como funcionalidade extra, estas mensagens podem especificar o tamanho máximo do buffer no campo (janela) do segmento TCP, determinando a quantidade máxima de bytes aceita pelo receptor. O transmissor pode transmitir segmentos com um número de bytes que deverá estar confinado ao tamanho da janela permitido: o menor valor entre sua capacidade de envio e a capacidade informada pelo receptor.
Descrição do funcionamento[editar | editar código-fonte]
Fig. 1 - Neste exemplo considera-se o backlog preenchido para forçar o timeout no cliente para que o pacote SYN seja reenviado. No entanto, o primeiro pacote podia ter-se perdido devido a erros na rede.
O protocolo TCP especifica três fases durante uma conexão: estabelecimento da ligação, transferência e término de ligação. O estabelecimento da ligação é feito em três passos, enquanto que o término é feito em quatro. Durante a inicialização são inicializados alguns parâmetros, como o Sequence Number (número de sequência) para garantir a entrega ordenada e robustez durante a transferência.
Estabelecimento da ligação[editar | editar código-fonte]
Tipicamente, numa ligação TCP existe aquele designado de servidor (que abre um socket e espera passivamente por ligações) num extremo, e o cliente no outro. O cliente inicia a ligação enviando um pacote TCP com a flag SYN activa e espera-se que o servidor aceite a ligação enviando um pacote SYN+ACK. Se, durante um determinado
...