Onde está o conteúdo real em um segmento TCP

4

Quando eu envio algo por e-mail ou faço o download de um programa ou faço qualquer outra coisa em uma rede, onde no segmento está o conteúdo real? Se eu estou enviando um documento do Word de 20 KB, e o tamanho máximo do campo de dados em um segmento é de 1500 bytes, isso significa que são necessários cerca de 14 segmentos para enviar meu documento para onde quer que ele vá?

Eu tenho, penso eu, o modelo OSI e tenho uma compreensão decente do protocolo IP. Eu acho que entendo o conceito de quebra de cabeçalho de cada camada sucessiva na pilha de protocolos. O que eu não posso obter uma resposta definitiva é onde o conteúdo real vai em um segmento TCP? Esse é o datagrama?

Talvez o fato de eu estar perguntando seja indício de que não tenho idéia ...

Muito obrigado.

    
por packetloss 24.03.2012 / 03:10

3 respostas

6

Os dados chegam ao deslocamento 160 se nenhum cabeçalho de opção estiver presente e mais abaixo (múltiplos de 32) se os cabeçalhos das opções de IP estiverem presentes. A parte de dados continua até o final do pacote. Um pacote pode ser de tamanho variável devido às diferentes configurações de MTu ao longo do caminho, de modo que o número exato de pacotes em que uma parte dos dados de protocolo mais alto é esculpida depende.

O 'datagrama' é o tamanho do cabeçalho IP + dados.

Você está incorreto no tamanho máximo do campo de dados que é 1500b. Esse é o tamanho de todo o pacote incluindo cabeçalhos. O tamanho do campo de dados é variável com base no tamanho do cabeçalho, como descrevi acima.

    
por 24.03.2012 / 03:26
1

O conteúdo é dividido em partes e colocado na parte "data" dos pacotes. As compensações para essa seção de dados foram mencionadas em outra resposta.

Vale a pena ler: link

O TCP / IP é bastante complicado; testemunha: link

Aqui está uma boa representação da porção de dados dos pacotes, que encontrei no link :

    
por 24.03.2012 / 03:39
1

Por favor, veja o RFC 793 ( link ).

Os dados "reais" (isto é, seu documento) estão contidos no segmento TCP (após o cabeçalho TCP) do pacote. O tamanho dos dados no pacote é determinado pelo tamanho máximo do segmento TCP (MSS).

Sugiro que você baixe uma ferramenta como o Wireshark ( link ) e capture o tráfego da rede ao enviar seu arquivo. O Wireshark irá interpretar os pacotes para você (você pode até clicar com o botão direito em um dos pacotes que contém dados do seu arquivo e selecionar 'Follow TCP Stream').

Você também poderá ver cada cabeçalho de pacote sucessivo que é decodificado e explicado pelo Wireshark. Isso deve lhe dar uma idéia muito melhor sobre o que está acontecendo quando você envia dados via TCP.

HTHAL

    
por 02.04.2012 / 08:44

Tags