Tamaño máximo de segmento

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 25 de abril de 2017; las comprobaciones requieren 3 ediciones .

MSS ( Tamaño máximo de segmento ) es un  parámetro del protocolo TCP y determina el tamaño máximo de un bloque de datos útil en bytes para un paquete TCP (segmento). Por lo tanto, esta configuración no tiene en cuenta la longitud de los encabezados TCP e IP [1] .

Para establecer una sesión TCP válida con un host remoto, se debe cumplir la siguiente condición:

Por lo tanto, el tamaño máximo de MSS = MTU - tamaño del encabezado IP - tamaño del encabezado TCP.

Entonces, cada host requiere disponibilidad para MSS:

Por lo general, el sistema operativo determina el valor MSS específico durante el "intercambio de protocolos TCP" con el host de destino en función de los valores de MTU o PMTUD [ ( Path MTU Discovery ) [2] . 

Sin embargo, un enrutador intermedio (por ejemplo, que tenga un enlace con una MTU pequeña) puede espiar los paquetes TCP SYN y falsificar los valores de MSS anunciados por los dispositivos finales. Como resultado, los nodos finales "negociarán" MSS más pequeños y no será necesario fragmentar los paquetes.

Notas

  1. RFC 879 Archivado el 11 de noviembre de 2020 en Wayback Machine , página 2, Sección 3, "El MSS cuenta solo los octetos de datos en el segmento, no cuenta el encabezado TCP ni el encabezado IP".
  2. PMTUD Archivado el 11 de julio de 2018 en Wayback Machine , "On PPPoE, MTU, and the Path MTU Discovery Black Hole Issue".