Por que um único (?) pacote TCP é dividido em várias unidades PDU aqui?

Por que um único (?) pacote TCP é dividido em várias unidades PDU aqui?

Relacionado à foto:texto alternativo

Por que esses segmentos são marcados como pacotes separados (todos Ack, Seq=509)? Por que um pacote foi dividido?

Responder1

Presumo que você esteja se referindo a quadros visíveis no intervalo 56-78.
Vamos abordar as coisas nesta ordem,

  1. Sobre: ​​" TCP segment of a reassembled PDU"
    Isso implica que o wireshark (etéreo?) Remontou os segmentos TCP para sua visualização.
    Então, você pode ignorar esta string, isso não significa nenhum dano.
    Eu elaborei o que são esses quadros no ponto 4 abaixo.
  2. Sobre: ​​Quadros diferentes com o mesmo seqnúmero ''.
    Os quadros 58, 60,62,64, etc. mostram o mesmo número de sequência.
    No entanto, note que estes sãonãoum único pacote "marcado como pacotes separados" - sem divisão.
    Esses pacotes tinham apenas o ACKsinalizador '' definido e você verá que o número ACK está aumentando.
    Esses são ACKs enviados da sua máquina para o servidor HTTP à medida que diferentes segmentos TCP a alcançam.
  3. A ACKsequência '' começa no 1quadro 52e termina 9646no quadro FIN 78.
    Durante esse período, todos os quadros do seu navegador em direção ao servidor HTTP repetem o último número de sequência enviado (que é 609) - esse é o comportamento normal do protocolo TCP.
    O navegador não envia mais dados após sua primeira solicitação HTTP (frame 52).
    O servidor HTTP reconheceu isso no frame 54.
  4. Espero que o quadro 54seja a resposta do servidor remontado (wireshark) que foi formada com os quadros marcados como "segmento TCP de uma PDU remontada".
    Portanto, todos os quadros sucessivos marcados dessa forma são do servidor HTTP para o cliente
    (esse detalhe não é visível na sua imagem, pois você apagou as colunas Origem e Destino).

Se você verificar novamente seu arquivo de captura original, deverá encontrar os quadros 54 a 67 que possuem a porta de origem TCP 80 (para HTTP) que somarão os dados de resposta de 9.646 bytes do servidor HTTP.

O que você vê aqui é uma resposta de 9 KB do servidor HTTP chegando ao seu navegador como vários segmentos TCP limitados por MTU, cada um dos quais foi reconhecido pela pilha TCP do seu sistema operacional.

Esta é a sequência de comunicação de alto nível.

  1. Seu navegador iniciou a conexão com o servidor HTTP com um handshake TCP de três vias.
  2. Ele enviou uma única solicitação HTTP ao servidor nesta conexão
  3. O servidor respondeu a isso com uma resposta de 9 KB que foi espalhada por vários pacotes TCP/IP como (Segmentos TCP)
  4. A pilha TCP/IP em seu navegador reconheceu cada pacote TCP conforme ele foi recebido do servidor
  5. Finalmente, fechou a conexão começando com um FINpacote.
    Espero que haja mais alguns pacotes FINand ACKapós o quadro 78 (ou um único RSTpacote).

Você pode ler um pouco mais sobre como lidar com a remontagem do Wireshark TCP noWiki do Wireshark.

Responder2

Não consigo ver a imagem, mas um protocolo de nível inferior (digamos, Ethernet) pode quebrar um protocolo de nível superior (digamos, pacote TCP) em fragmentos com base no tamanho de sua MTU (Unidade Máxima de Transmissão).

Responder3

Wikipédia defineUnidade de dados de protocolodo seguinte modo :

Nas telecomunicações, o termo unidade de dados de protocolo (PDU) tem os seguintes significados:

  1. Informações que são entregues como uma unidade entre entidades pares de uma rede e que podem conter informações de controle, informações de endereço ou dados.
  2. Em um sistema em camadas, uma unidade de dados especificada em um protocolo de uma determinada camada e que consiste em informações de controle de protocolo e possivelmente em dados do usuário dessa camada. Por exemplo: Bridge PDU ou iSCSI PDU1

PDUs são relevantes em relação a cada uma das primeiras 4 camadas doModelo OSI(A camada 5 e acima são referidas como dados).

Assim, na verdade, uma PDU é simplesmente uma unidade de dados, definida no seu próprio contexto.

DeCompreendendo o WireShark:

Às vezes, o pacote não chega inteiro. Em vez disso, o pacote chega como diversas Unidades de Dados de Protocolo (PDU). O WireShark tentará remontar essas unidades em um único pacote. Esse pacote é chamado de PDU remontada.

Ao trabalhar com uma PDU remontada, a exibição não será tão boa quanto a de um pacote normal. Os cabeçalhos da resposta estão no painel inferior da Figura 2.11.

Isto significa que estes são segmentos da mensagem TCP/IP e que normalmente apenas o último segmento possui informações significativas e completas sobre a mensagem TCP/IP.

DeSegmento Wireshark TCP de uma PDU remontada:

Você pode desabilitar a remontagem de segmentos TCP desmarcando "Permitir que o subdissector desegmente fluxos TCP" nas preferências do protocolo TCP. Dessa forma, todas as partes da PDU do aplicativo serão exibidas sozinhas.

Esta é uma forma de garantir que todos os segmentos conterão todas as informações necessárias para exibir de forma significativa o segmento TCP/IP, e não apenas o último pacote.

informação relacionada