TCP

Revisão de 00h30min de 25 de março de 2011 por Caio "Almom" Machado (discussão | contribs) (Criou página com ' = TCP(Transmission Control Protocol) = - O TCP é um protocolo do nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual assentam a maioria das aplicações ...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

TCP(Transmission Control Protocol)

- O TCP é um protocolo do nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual assentam a maioria das aplicações da Web. Sua função é garantir a conexão, além de especificar informações, como origem e destino. É um protocolo orientado para a conexão, quer dizer que este permite um certo controle de transmissão de dados durante a comunicação estabelecida.

Fases de conexão

- Especifica três fases de uma conexão: o estabelecimento, a transferência e o término.

Estabelecimento: O cliente envia um pacote TCP(com a flag SYN ligada), e espera a resposta do servidor com outro pacote(SYN + ACK). O estabelecimento é concluído quando o cliente envia um pacote de confirmação(ACK). Obs.: Caso ocorra um timeout, o pacote SYN é reenviado pelo cliente.

Transferência: Estabelecida a conexão é iniciado o fluxo de dados, o TCP passa a garantir a entrega dos pacotes de dados com uma série de processos: números de sequência que garantem a entrega ordenada; código detector de erros(checksum); confirmação de recepção e temporizadores que permitem ajustes em atrasos e perdas de partes. Obs.: Uma qualidade do TCP, é que a confirmação de recepção não é necessariamente na ordem. Além disso, o TCP limita a quantidade de informações enviadas até o recebimento de confirmações de recepção (Janela).

Término: Uma das máquinas envia um segmento com a flag FIN ativa, recebe o ACK e depois um FIN da outra máquina, e por último envia um ACK.

Cabeçalho

Portas de origem e destino: Portas relativas à aplicação corrente na máquina fonte e na destino.

Número de ordem: Quando a bandeira SYN é 0, o número de ordem é o da primeira palavra do segmento corrente.

Quando SYN é 1, o número de ordem é igual ao número de ordem inicial utilizado para sincronizar os números de sequência (ISN).

Número de confirmação: O número de aviso de recepção, igualmente chamado número de pagamento, corresponde ao número (de ordem) do próximo segmento esperado.

Offset ou defasamento dos dados: Permite conhecer a localização do início dos dados, o tamanho do cabeçalho.

Reservados: Sem utilidade, reservado para uso futuro.

As bandeiras(flags): representam informações suplementares: • URG: se esta bandeira for 1 o pacote deve ser tratado de maneira urgente. • ACK: se esta bandeira for 1 o pacote é um aviso de recepção. • PSH (PUSH): se esta bandeira for 1, o pacote funciona de acordo com o método PUSH. • RST: se esta bandeira for 1, a conexão é reiniciada. • SYN: A Bandeira TCP SYN indica um pedido de estabelecimento de conexão. • FIN: se esta bandeira for 1, a conexão interrompe-se.

Janela: Campo permitindo conhecer o número de bytes que o receptor deseja receber sem aviso de recepção.

Checksum: faz a soma dos campos de dados do cabeçalho, verificando a integridade do pacote.

Ponteiro de Urgência: Indica o número de ordem a partir do qual a informação se torna urgente.

Opções: informações adicionais.

Padding: Completa o campo opções com zeros(garante o fim do cabeçalho).

Caracteristicas do TCP

TCP permite multiplexar os dados, quer dizer, fazer circular simultaneamente informações que provêm de fontes (aplicações, por exemplo) distintas numa mesma linha.

Possui considerável confiabilidade, graças a vários campos e processos que garantem o recebimento do dado íntegro, o TCP garante ao final de uma conexão que todos os pacotes foram recebidos.

Apesar de ser confiável com relação à entrega dos pacotes, o TCP apresenta um overhead maior do que o UDP, o que viabiliza a utilização do UDP em alguns casos.

A conexão é full duplex, ou seja, exite fluxo de dados em ambas as direções, além disso é uma conexão ponto a ponto.

Executa a segmentação e o reagrupamento dos pacotes, o fluxo destes dados segmentados na rede não garante que serão entregues em ordem, daí a necessidade dos números de seqüência.

Download

Segue em anexo o texto acima:

http://www.4shared.com/document/YGMW8ta3/TCP.html