Pregunta

Me pregunto cómo se establece MSS en Syn Packet. ¿Es un valor fijo en un sistema operativo o el valor podría cambiarse en el mismo sistema operativo? Sé que el valor es diferente en diferentes sistemas operativos. ¿También está relacionado el valor MSS en SYN con la configuración de hardware? Gracias.

¿Fue útil?

Solución

RFC 879 describe cómo se usa y especifica MSS.

En resumen, MSS se especifica durante el apretón de manos TCP a través del paquete SYN. Sin embargo, este valor puede ser cambiado más tarde por OS en sí mismo o estableciendo una opción de protocolo.

Puede establecer la opción TCP_MAXSEG a través de SetSockOpt.

Otros consejos

Mientras que el valor de los paquetes SYN y Synack es establecido por el lado del iniciador y el respondedor, respectivamente, una práctica ampliamente utilizada conocida como MSS AGUACIÓN puede dar como resultado que el MSS se altere por un elemento de red en la ruta; esto a menudo se usa para reducir el MSS de todas las conexiones sobre algún tipo de enlace tunnelado. Por ejemplo, PPPOE se usa comúnmente en banda ancha residencial y requiere una MTU de 1492 e IPv4 MSS correspondiente de 1452, por lo que el SYN puede dejar su máquina con un MSS de 1460 (suponiendo que esté utilizando Ethernet con una MTU de 1500) pero una vez que sea. Pasa el enrutador ISP de sujeción MSS El MSS en el paquete SYN se cambiará posteriormente a 1452, y del mismo modo para el paquete de sincronización entrante/respondedor para que la conexión continúe con MSS reducido de 1452. Esta práctica parece usarse en lugar de Path Mtu Discovery que se basa en el uso de ICMP Se necesita fragmentación Las respuestas de la red, ya que se pueden perder en redes mal configuradas y por ciertas técnicas de equilibrio de carga.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top