UDP fornece as bases para a transferência de dados

TCP: Handshaking Adicionando e Controle de Fluxo

UDP fornece as bases para a transferência de dados entre processos em computadores diferentes. Mas usar UDP somente, a fonte não sabe ou não um destino recebeu os dados enviados. TCP utiliza um sistema de seqüência e números de confirmação que permitirá o destino de acusar a recepção bytes de dados específicos. Utilizando números de seqüência, um destino pode colocar mensagens recebidas na ordem em que foram enviados, mesmo se eles foram recebidos fora de ordem. Os números de seqüência também permitir um destino para detectar duplicar os dados recebidos. Para mais eficiente de transferências de grandes quantidades de dados, o TCP especifica um caminho para a fonte para coincidir com a quantidade de dados enviados com a capacidade do destino para aceitar novos dados. O documento que define a RFC0793 TCP: Transmission Control Protocol. É também um padrão aprovado com o STD0007 designação.

  

Vários RFCs adicionais contêm propostas de padrões que podem ampliar e melhorar o padrão original. TCP é um chamado de um protocolo orientado à conexão porque os processos não podem trocar dados até que eles tenham trocado de comunicação para estabelecer uma conexão com o outro. O TCP é chamado de um protocolo confiável, porque o aperto de mão, quantidade e seqüência e reconhecer números permitem a fonte de dados para verificar se chegou ao seu destino sem erro. Um segmento TCP consiste de um cabeçalho, seguido opcionalmente por um bloco de dados. (Cabeçalho A pode transmitir sem uma carga de dados para enviar informações de status ou controle.) O segmento de longo prazo sugere que um único segmento TCP é apenas uma parte de uma completa transferência de dados TCP, e de fato, a cada transferência de dados bem sucedida usa pelo menos dois segmentos. A fonte envia um ou mais segmentos contendo dados e de destino envia um ou mais segmentos de acusar a recepção de dados. A confirmação só pode reconhecer vários segmentos. Em contrapartida, cada datagrama UDP é uma unidade independente que não requer nenhuma comunicação adicional. Like UDP, TCP usa números de porta para identificar processos na origem e destino.

Antes de dois processos podem enviar e receber dados usando o TCP, os seus computadores devem estabelecer uma ligação através da realização de um 3-way handshake. Ao completar o aperto de mão, cada computador tem reconhecido que a porta especificada no aperto de mão está disponível para receber comunicações da porta especificado no outro computador. Qualquer computador pode então usar a conexão para enviar segmentos TCP para outro computador. Na eventualidade de dados através de uma conexão estabelecida, o destino responde retornando informações sobre se os dados chegaram sem erro, se é OK para enviar mais dados, e em caso afirmativo , a quantidade de novos dados, o destino é capaz de receber. Para fechar uma conexão, cada computador envia um pedido para fechar a ligação e aguarda uma confirmação do pedido.

O cabeçalho TCP

O valor pode mudar a cada segmento um computador envia, dependendo de quanto espaço do buffer está disponível. Uma fonte pode utilizar o valor recebido em determinar a quantidade de dados para enviar o próximo segmento. O tamanho máximo da janela é 65535 bytes. Se a janela de um destino é zero, uma fonte que quer enviar os dados poderá enviar um único byte periodicamente para fazer com que o destino para devolver um valor actualizado janela. Este campo é de dois bytes. Checksum. TCP exige uma soma de verificação. A origem e destino calcular a soma de verificação no conteúdo do segmento TCP mais um pseudo-cabeçalho contendo informações do cabeçalho IP eo comprimento do segmento TCP. Tabela 5-6 mostra os valores da pseudo-cabeçalho. Tal como acontece com UDP, o pseudo-cabeçalho não transmitir na rede e inclusive o pseudo-cabeçalho no checksum protege o destino a partir de engano aceitar datagramas que foram misrouted. O valor de controle é calculado da mesma forma como checksum do cabeçalho IP, conforme descrito no capítulo 4. O campo é de dois bytes. Urgent Pointer. Quando o bit URG é definido, o ponteiro urgente marca o fim dos dados urgentes. O valor é o número de seqüência do último byte de dados urgentes, expressas como um deslocamento a partir do número do segmento seqüência. Por exemplo, se o número de seqüência do segmento é de 1000 e os primeiros 8 bytes de dados são urgentes, o ponteiro urgente seria 8. Um uso típico para o ponteiro urgente é o de permitir que um usuário para interromper um processo. A formulação do padrão TCP original deixou alguma confusão sobre se o ponteiro aponta URG para o último byte de dados urgentes ou o primeiro byte após os dados urgentes. RFC 1122 esclarece, dizendo que URG deve apontar para o último byte de dados urgentes. Este campo é de dois bytes.

TCP Options. Os itens no campo de opções TCP são opcionais, assim que este campo é zero ou mais bytes. A opção Tamanho máximo do segmento permite que o processo de recebimento para especificar o tamanho máximo de segmento do processo pode manipular. Um processo usa essa opção somente quando cria uma ligação, em um segmento onde o bit SYN está definido. A opção é de quatro bytes, consistindo no byte 02h, seguido por 04h, seguido de dois bytes que especificam o tamanho máximo de segmento. A opção Não operação fornece uma forma de alinhar as opções em um limite de palavra. A opção é a 01h de byte único. O Fim da opção Lista de opção indica que não há opções mais em campo. Esta opção é o byte 00h. O cabeçalho TCP completa deve ser um múltiplo de 32 bits. Para alcançar este objectivo, o fim do campo Options do TCP podem ser preenchidos com zeros. A porção de dados. Após o cabeçalho é a porção de dados opcional do segmento. A norma exige que os hosts IP para aceitar datagramas de até 576 bytes. Um cabeçalho IP sem opções é de 20 bytes, e um cabeçalho TCP sem opções também é 20 bytes. Assim, um segmento TCP com até 536 bytes de dados e sem opções de IP ou opções TCP deve ser capaz de chegar ao seu destino sem se fragmentar.

um artigo submetido por Daniel R.


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "UDP fornece as bases para a transferência de dados" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 187 users browsing the articles directory   


  

|