¿Ejemplo del mundo real para la bandera PSH?

¿Ejemplo del mundo real para la bandera PSH?

Estoy tratando de entender la diferencia entre los indicadores TCP PSH y URG. Hasta ahora sé que cuando se establece el indicador PSH, el dispositivo receptor no espera hasta que el búfer esté lleno, simplemente envía los datos al dispositivo.

Pero, ¿alguien puede darme un ejemplo del mundo real para que pueda entender mejor el concepto?

estaba pasando porhttps://packetlife.net/blog/2011/mar/2/tcp-flags-psh-and-urg/artículo y aunque la explicación es muy buena, no entiendo el ejemplo dado.

Dice,

En el paquete 4, vemos que la solicitud HTTP inicial tiene su indicador PSH configurado, lo que indica que el cliente no tiene más datos para agregar y la solicitud debe enviarse a la aplicación (en este caso, un demonio web) inmediatamente.

Si en el caso anterior, el cliente no tiene más datos para enviar, ¿por qué no enviaría el paquete con el indicador FIN configurado?

Respuesta1

El cliente no tiene más datosahora mismo, pero eso no significa que no vaya a tener ninguno en el futuro.

Estás asumiendo que el protocolo tiene exactamente una solicitud del cliente (y exactamente una respuesta). Ese no ha sido el caso de HTTP durante mucho tiempo: la reutilización de conexiones para múltiples solicitudes existía incluso antes de HTTP/1.1 y es omnipresente hoy en día. El cliente envía una solicitud, espera respuesta,luego envía otra solicituda través de la misma conexión, etc. La ventaja de estas conexiones de larga duración es que permiten que el control de flujo TCP alcance el estado óptimo.

Tampoco ocurre lo mismo con muchos otros protocolos. Por ejemplo, SMTP intercambia no menos de 5 comandos/respuestas para enviar un correo electrónico, y la especificación del protocolo prohíbe explícitamente el "pipelining" (enviar todos los comandos a la vez sin esperar respuesta). Esto significa que un cliente necesita enviar una sola línea y que el servidor responda, enviar otra línea y que el servidor responda, etc.

Y por supuesto, muchos protocolos soninteractivo– Telnet y SSH requieren que el servidor responda a cada pulsación de tecla; VNC y RDP reaccionan a cada clic del mouse.

información relacionada