¿Cuál es la diferencia entre MSS y MTU?

33

Estoy confundido en cuanto a la diferencia entre el tamaño máximo de segmento y una unidad de transmisión máxima.

¿Alguien puede explicar en relación con las capas 2 y 3?

Si tuviera un paquete de 800 bytes en la carga útil. ¿Sería correcto decir que el MSS sería de 800 bytes (si lo configuro así) y que la MTU sería de 840? TCP 20 e IP 20 bytes. ¿Sería diferente si estuviera haciendo PPPoE?

NetworkNinja
fuente
Si bien esto no es estrictamente hablando un duplicado, la respuesta a esta pregunta también puede responder a su pregunta.
YLearn

Respuestas:

19

Adicionalmente. El valor MSS deriva del valor MTU , si tiene un paquete de 800 bytes, también puede decir que dicho paquete tenía originalmente 2260 bytes de longitud, y se dividió en 2 paquetes 1460 + 800 bytes, si usamos MTU = 1500.
Usted decir es verdadero, si MSS = 800, la MTU debe ser de al menos 840. Como la sobrecarga PPPoE es de 8 bytes, y por lo tanto MTU = 1492 bytes, y MSS = 1492-40 = 1452 bytes.

t3mp
fuente
28

La MTU es el tamaño máximo de paquete IP para un enlace dado. Los paquetes más grandes que la MTU se fragmentan en el punto donde se encuentra la MTU más baja y se vuelven a ensamblar más abajo en la cadena.

Si no se desea fragmentación, debe verificar la MTU en cada salto o utilizar un protocolo auxiliar para eso ( Path MTU Discovery ).

Tenga en cuenta que IPv6 NO admite la fragmentación de paquetes por enrutadores, por lo tanto, PMTUD con ICMPv6 es obligatorio si no desea perder un paquete en algún lugar debido a la pequeña MTU. Los puntos finales pueden fragmentarse, pero no enrutadores. Además, IPv6 tiene una MTU MÍNIMA mucho más alta.

MSS es el tamaño máximo de segmento TCP. A diferencia de MTU, los paquetes que exceden MSS no están fragmentados, simplemente se descartan. El MSS normalmente se decide en el protocolo de enlace de tres vías TCP, pero algunas configuraciones pueden generar una ruta donde el MSS decidido aún es demasiado grande, lo que lleva a paquetes descartados. El MSS no se negocia paquete por paquete, sino para una sesión TCP completa, ni tiene en cuenta los encabezados TCP / IP

Al usar PPPoE, toda la sobrecarga significa que debe reducir el MSS en el camino, normalmente al especificarlo en el enrutador donde se encuentra el punto de estrangulamiento, que luego reemplazará el MSS de pasar el apretón de manos de tres vías por el valor inferior correcto si es mayor. PPPoE simplemente agrega 8 bytes (6 bytes PPPoE + 2 bytes PPP) por encima de todo (IP + TCP) y está destinado a ejecutarse a través de Ethernet a 1500 bytes MTU, por lo tanto, el 1492 MSS normalmente configurado para hacerlo pasar.

Su pila de IP cortará los datos que se enviarán al MSS, los colocará en un segmento TCP y luego los colocará en uno o más paquetes de IP (dependiendo de si es más grande que la configuración local de MTU) antes de enviarlos. El enrutador intermedio podría reducirlo aún más si tienen una MTU más baja, pero solo están afectando el paquete IP en sí, no jugando en el segmento / encabezado TCP.

Remi Letourneau
fuente
44
Clatificación: IPv6 no admite fragmentación en enrutadores, sin embargo, las estaciones finales pueden fragmentar los paquetes de IPv6
Mike Pennington
1
Edité mi respuesta para ser más específico
Remi Letourneau
0

MTU es el tamaño máximo de paquete IP de un enlace dado. MSS es el tamaño máximo de segmento TCP.

MTU se utiliza para la fragmentación, es decir, el paquete más grande que MTU está fragmentado, pero en el caso de MSS, el paquete más grande que MSS se descarta.

MSS se especifica durante el protocolo de enlace TCP básicamente en SYN y su valor no se puede cambiar una vez establecida la conexión.

MSS = MTU-40 (encabezado IP (20 bytes) + encabezado TCP (20 bytes))

Prayag Singh
fuente
Creo que el encabezado TCP no es necesariamente de 20 bytes, ¿esa es solo la longitud mínima?
Sajuuk
podría haber un encabezado de opciones adicionales
aneesh joshi