Relación entre conversaciones TCP y flujos TCP en Wireshark

Relación entre conversaciones TCP y flujos TCP en Wireshark

he leído sobreConversacionesyFlujos TCPpero todavía estoy un poco inseguro de cómo se relacionan entre sí si están en la misma capa.

Para diferentes capas, tengo claro que, por ejemplo, una conversación IP puede constar de múltiples flujos TCP.

¿Puede una conversación TCP constar de varios flujos TCP? Y al contrario, ¿puede un flujo TCP contener varias conversaciones TCP? ¿Por qué?

Respuesta1

En este caso, UnConversaciónocurre en el nivel TCP (Transporte) y es sinónimo de una conexión TCP entre dos puertos.

Una "Secuencia TCP" en este contexto es la agregación de los mensajes de la aplicación que se pasaron en una conversación. Por ejemplo, la secuencia en su enlace muestra un host interior ejecutando unUPNP-programa compatible, que solicita a un enrutador que reenvíe el puerto 5000 y el enrutador responde. Entonces, lo que realmente eres es el campo de datos del segmento TCP. Por eso creo que está mal nombrado. Se ha eliminado toda la información de TCP, dejando solo los mensajes que envía y recibe el software de ambos hosts. Puede ser que seanHTTPGET y respuestas,ftpPone,SMTPMAIL, o el lenguaje de comando nativo de cualquier otra aplicación.

Personalmente, no estoy seguro de que me guste la terminología de Wireshark en esta documentación, pero sirve bien a su perspectiva como analizador de protocolos. Una aplicación ve una conexión de sockets entre dos puntos finales como una secuencia de E/S, independientemente del protocolo subyacente.

Como nota al margen, diría que no estoy de acuerdo con que IP tenga "conversaciones". IP no transporta los datos necesarios para mantener un circuito virtual y eso lo deja en manos de una capa superior. TCP maneja un circuito estricto y UDP maneja uno muy flexible, dejando el orden, la corrección de errores y el control de flujo en manos de su aplicación.

Respuesta2

tcpconversaciones y flujos TCPdeberíaestar al mismo nivel, pero, al menos en algunas versiones de Wireshark, usan código diferente para identificar qué paquetes son parte de la conversación/transmisión, por lo que pueden dar respuestas diferentes.

Uno de ellos podría, por ejemplo, tratar todo el tráfico entre dos puntos finales (pares de dirección IP/puerto) como parte de la misma conversación/flujo, incluso si una conexión TCP entre esos dos puntos finales se cierra y otra se abre entre ellos. los mismos dos puntos finales dentro de la misma captura (poco probable, ya que los puertos no tienden a reutilizarse inmediatamente, pero no imposible), mientras que el otro podría reconocer que la conexión se cierra y mostrarlos como conversaciones/transmisiones separadas.

Si no usan el mismo código, podría decirse que es un error, pero es posible que nadie lo haya solucionado todavía.

Obviamente,IP"conversaciones", que son entre dosIPlos puntos finales (dos direcciones IP) son diferentes de las conversaciones/flujos TCP; Como observa, puede haber múltiples conversaciones TCP, conversaciones UDP, etc. entre dos puntos finales IP y, por lo tanto, múltiples TCP/UDP/etc. conversaciones en la misma conversación IP.

Respuesta3

Con solo mirar los ejemplos en las páginas que vincula, no parece que los términos sean funcionalmente diferentes. Ambos parecen tener la duración de una única conexión de red.

La página de conversaciones no resume varias conexiones, en realidad muestra cada una de ellas, con su duración y número de bytes. La ventana de transmisión simplemente muestra los detalles de los datos reales enviados.

información relacionada