Hospedar A começa a conexão emitindo o anfitrião B que um segmento com “sincroniza o jogo do bocado dos números de seqüência” (SYN) e este segmento diz o anfitrião B que A deseja ajustar acima uma conexão, e diz a B que anfitrião A do número de seqüência usará como um número começando para seus segmentos. (Os números de seqüência são usados manter dados na ordem apropriada.) o anfitrião B responde a A com um segmento que tenha o “reconhecimento” (ACK) e os bocados de SYN ajustados e segmento do b reconhece o recibo do segmento do a, e informa A que anfitrião B do número de seqüência começará com. Finalmente, hospedar A emite um segmento que reconheça o recibo do segmento do b, e transfere os primeiros dados reais.
Depois que esta troca, hospeda o TCP do a tem a evidência positiva que o TCP remoto está vivo e pronto para receber dados e então assim que a conexão for estabelecida, dados pode ser transferido. Quando os módulos cooperating conclíram transferências de dados, para fechar a conexão não trocarão um handshake three-way com os segmentos que contêm “não mais dados o bocado do remetente” (chamado a ALETA mordida). É a troca end-to-end dos dados que fornecem a conexão lógica entre o sistema dois.
O TCP ajuda também às vistas aos dados que emite como um córrego contínuo dos bytes, não como pacotes independentes. Conseqüentemente, o TCP ciao para manter a seqüência em que os bytes são recebidos e emitidos. Os campos do número do reconhecimento e do número de seqüência no encabeçamento do segmento do TCP mantêm-se a par dos bytes.
O padrão do TCP não requer que os bytes de cada numbering do começo do sistema com todo o número específico e cada sistema escolhem o número que se usará como um ponto começar. Cada extremidade da conexão deve saber o número inicial da outra extremidade para manter-se a par corretamente do córrego de dados. As duas extremidades da conexão sincronizam sistemas do byte-numbering trocando segmentos de SYN durante o handshake e o campo do número de seqüência no segmento de SYN contem o número de seqüência inicial (ISN), que é o ponto começar para o sistema do byte-numbering. Para razões da segurança o ISN deve ser o número aleatório, embora é frequentemente 0.
Cada byte dos dados é numerado sequencialmente do ISN, assim que o primeiro byte real dos dados emitidos tem um número de seqüência de ISN+1 e o número de seqüência no encabeçamento de um segmento de dados identifica a posição seqüencial no córrego de dados do primeiro byte de dados no segmento. Por exemplo, se o primeiro byte no córrego de dados for seqüência número 1 (ISN=0) e 4000 bytes dos dados têm sido transferidos já, a seguir o primeiro byte dos dados no segmento atual é o byte 4001, e o número de seqüência seria 4001 somente.
O segmento do reconhecimento (ACK) executa duas funções: controle de fluxo e reconhecimento positivo. O reconhecimento diz ao remetente quanto dados foram recebidos, e quanto mais o receptor pode aceitar e o número do reconhecimento é o número de seqüência do byte que seguinte o receptor espera receber. Para cada pacote, o padrão não requer um reconhecimento individual. O número do reconhecimento é um reconhecimento positivo de todos os bytes até esse número. Por exemplo, se o primeiro byte emitido estivesse numerado 1 e 2000 bytes fossem recebidos com sucesso, o número do reconhecimento seria 2001.
O campo da janela contem o número dos bytes que a extremidade remota pode aceitar ou a janela. Se o receptor fosse capaz de aceitar 6000 mais bytes, a janela seria 6000 somente. A janela indica ao remetente que pode continuar emitindo segmentos contanto que o número total dos bytes que emite for menor do que a janela dos bytes que o receptor pode aceitar e que do ele o receptor controla o fluxo dos bytes do remetente mudando o tamanho da janela. Uma janela zero diz o remetente para cessar a transmissão até que receba o valor non-zero da janela.
|