Confusão do Protocolo Contol de Transmissão (TCP)

0

Estou confuso sobre como o TCP realmente funciona. Eu li em vários livros e artigos que ele é responsável pelo rearranjo de datagramas transmitidos no host de recepção. No entanto, tenho lido o RFC 793 e não consigo encontrar essa especificação. Por outro lado, o RFC 791 (Internet Protocol) declara explicitamente que o protocolo da Internet é responsável por reorganizar os pacotes enviados no host de destino. Qualquer ajuda? Obrigada!

    
por WikiWitz 05.04.2012 / 04:31

2 respostas

3

Da perspectiva do IP, um pacote é uma única unidade de dados. Ele pode ser fragmentado ao atravessar dispositivos com MTU (unidade de transmissão máxima) diferente e é responsável por colocar esses fragmentos juntos novamente na outra extremidade. Assim, um pacote de 1500 bytes pode ser dividido em 5 fragmentos enquanto ele percorre parte da rede com um 300 MTU e, em seguida, o pacote é reconstruído no outro extremo.

O TCP, por outro lado, lida com fluxos de dados, consistindo em qualquer número de pacotes IP. Portanto, é responsabilidade do TCP garantir que 1) a ordem dos pacotes no fluxo esteja correta (quando passada para a próxima camada), e 2) todos eles passem - ou indique um erro, caso contrário

Então, ambos são responsáveis pela sequência de dados em suas próprias camadas.

Mas cada camada ISO não tem conhecimento das camadas superiores. Portanto, simplesmente não é possível para o IP reorganizar os pacotes na sequência correta para o TCP - a sequência na qual o TCP espera que os pacotes estejam não faz sentido para o IP. Da mesma forma que o TCP não pode garantir que uma chamada HTTP seja configurada corretamente ou que a Ethernet saiba que um pacote IP está sendo endereçado corretamente.

    
por 05.04.2012 / 07:39
2

Na linha de frente, o protocolo IP não tem noção de qual é a ordem dos seus dados. Pacotes IP são entidades individuais sem relação entre si. A única responsabilidade do protocolo IP é obter o pacote do ponto A ao ponto B. Ele pode lidar com a fragmentação de pacotes que ocorreu devido a MTUs menores em trânsito e depois ao remetente, e colocará os fragmentos juntos novamente no receptor, mas não tem nenhuma ferramenta para solicitar seus dados.

O TCP é um protocolo de parceria com o protocolo IP. O protocolo TCP fornece o que é referido como a camada de transporte do conjunto TCP / IP. A camada de transporte consiste nos protocolos TCP e UDP. O TCP fornece pacotes de confirmação de estado e entrega enviados por IP. O UDP é sem estado e realmente fornece apenas um mapeamento leve de endereços IP para números de porta, é muito usado em aplicativos de streaming ou onde o rápido e o pequeno são melhores que confiáveis.

O TCP fornece algumas das principais funcionalidades para garantir que você receba todos os seus pacotes. Uma vez que os dois clientes estabelecem uma conexão TCP, cada pacote que é enviado entre os dois é contabilizado à medida que chega, com base em um número de seqüência e no tamanho do pacote. Isso é feito com o Sistema de Transferência e Confirmação de Dados da Janela Deslizante .

A chave para o sistema é que cada pacote de confirmação do receptor só reconhece o último pacote recebido em um fluxo contínuo do remetente. Então, se os pacotes 1, 2 e amp; 4 chegar ao remetente eles são passados para TCP de IP sem qualquer processamento. No entanto, o TCP só receberá o recebimento de até o pacote 2 (e implicitamente o pacote 1), porque ele pode dizer que deveria ter havido um pacote 3 com base no número de seqüência e no tamanho do pacote.

Dependendo da implementação do TCP nos pacotes de envio do sistema 3 e 4 novamente para garantir que eles sejam recebidos. O tempo antes de reenviar é baseado no tempo incorporado na implementação do TCP no computador e pode ser alterado com base na velocidade da rede e no desempenho do link. Com o tempo, se você tiver um link não confiável, o número de pacotes que serão enviados sem o ACK dos pacotes anteriores será menor.

Mais uma vez, na linha de fundo, o IP não sabe em que ordem seus pacotes pertencem. Eu só entendo como obter o pacote daqui para lá.

    
por 05.04.2012 / 17:10