¿Por qué un único (?) paquete TCP se divide aquí en varias unidades PDU?

¿Por qué un único (?) paquete TCP se divide aquí en varias unidades PDU?

Foto relacionada:texto alternativo

¿Por qué esos segmentos están marcados como paquetes separados (todos Ack, Seq=509)? ¿Por qué se dividió un paquete?

Respuesta1

Supongo que te refieres a marcos visibles en el rango 56-78.
Abordemos las cosas en este orden,

  1. Acerca de: " TCP segment of a reassembled PDU"
    Esto implica que Wireshark (¿etéreo?) volvió a ensamblar segmentos TCP para su visualización.
    Entonces, puedes ignorar esta cadena, no significa ningún daño.
    He explicado cuáles son estos marcos en el punto 4 a continuación.
  2. Acerca de: Diferentes fotogramas con el mismo ' seq' número.
    Los cuadros 58, 60,62,64, etc. muestran el mismo número de secuencia.
    Sin embargo, tenga en cuenta que estos sonnoun solo paquete "marcado como paquetes separados", sin división.
    Estos paquetes solo tenían ACKconfigurado el indicador '' y verá que el número ACK está aumentando.
    Estos son ACK enviados al servidor HTTP desde su máquina cuando diferentes segmentos TCP llegaron a ella.
  3. La ACK' secuencia comienza en 1el cuadro 52y termina 9646en el cuadro FIN 78.
    Durante este tiempo, todas las tramas desde su navegador hacia el servidor HTTP repiten el último número de secuencia enviado (que es 609): este es el comportamiento normal del protocolo TCP.
    El navegador no envía más datos después de su primera solicitud HTTP (marco 52).
    El servidor HTTP reconoció esto en el marco 54.
  4. Espero que el marco 54sea la respuesta del servidor reensamblado (wireshark) que se formó con los marcos marcados como "segmento TCP de una PDU reensamblada".
    Entonces, todos los cuadros posteriores marcados de esa manera son del servidor HTTP al cliente
    (ese detalle no es visible en su imagen ya que borró las columnas Origen y Destino).

Si vuelve a verificar su archivo de captura original, debería encontrar que los cuadros 54 a 67 que tienen el puerto de origen TCP 80 (para HTTP) sumarán los 9646 bytes de datos de respuesta del servidor HTTP.

Lo que ve aquí es una respuesta de 9 KB del servidor HTTP que llega a su navegador como varios segmentos TCP limitados por MTU, cada uno de los cuales fue reconocido por la pila TCP de su sistema operativo.

Esta es la secuencia de comunicación de alto nivel.

  1. Su navegador inició la conexión con el servidor HTTP con un protocolo de enlace TCP de tres vías.
  2. Envió una única solicitud HTTP al servidor en esta conexión.
  3. El servidor respondió a esto con una respuesta de 9 KB que se distribuyó en varios paquetes TCP/IP como (Segmentos TCP)
  4. La pila TCP/IP en su navegador reconoció cada paquete TCP tal como fue recibido del servidor.
  5. Finalmente, cerró la conexión comenzando con un FINpaquete.
    Supongo que hubo un par de paquetes más FINdespués ACKdel cuadro 78 (o un solo RSTpaquete).

Puede leer más sobre el manejo del reensamblado TCP de Wireshark en elWiki Wireshark.

Respuesta2

No puedo ver la imagen, pero un protocolo de nivel inferior (por ejemplo, Ethernet) puede dividir un protocolo de nivel superior (por ejemplo, un paquete TCP) en fragmentos según el tamaño de su MTU (Unidad de transmisión máxima).

Respuesta3

Wikipedia defineUnidad de datos de protocolocomo sigue :

En telecomunicaciones, el término unidad de datos de protocolo (PDU) tiene los siguientes significados:

  1. Información que se entrega como una unidad entre entidades pares de una red y que puede contener información de control, información de dirección o datos.
  2. En un sistema por capas, unidad de datos que se especifica en un protocolo de una capa determinada y que consta de información de control de protocolo y posiblemente datos de usuario de esa capa. Por ejemplo: PDU puente o PDU iSCSI1

Las PDU son relevantes en relación con cada una de las primeras 4 capas delmodelo OSI(La capa 5 y superiores se denominan datos).

Entonces, en efecto, una PDU es simplemente una unidad de datos, definida en su propio contexto.

DeEntendiendo WireShark:

A veces el paquete no llega entero. En cambio, el paquete llega como varias unidades de datos de protocolo (PDU). WireShark intentará volver a ensamblar estas unidades en un solo paquete. Un paquete de este tipo se denomina PDU reensamblada.

Cuando se trabaja con una PDU reensamblada, la pantalla no será tan bonita como la de un paquete normal. Los encabezados de la respuesta se encuentran en el panel inferior de la Figura 2.11.

Esto significa que estos son segmentos del mensaje TCP/IP y que normalmente sólo el último segmento tiene información significativa y completa sobre el mensaje TCP/IP.

DeSegmento TCP de Wireshark de una PDU reensamblada:

Puede deshabilitar el reensamblaje de segmentos TCP desmarcando "Permitir al subdisector desegmentar flujos TCP" en las preferencias del protocolo TCP. De esta manera, todas las partes de la PDU de la aplicación se mostrarán solas.

Esta es una forma de garantizar que todos los segmentos contendrán toda la información necesaria para mostrar de manera significativa el segmento TCP/IP, y no solo el último paquete.

información relacionada