El Protocolo de control de transmisión (TCP) es el protocolo más importante del conjunto de protocolos de Internet. TCP es básicamente un protocolo orientado a la conexión que se ocupa del control de errores, control de flujo y control de congestión en la red para mantener la integridad de los datos y facilitar la transmisión de datos. TCP utiliza MTU (Unidad máxima de transmisión) para identificar el tamaño máximo de cualquier paquete de datos durante la transmisión de datos.
MTU:
La Unidad máxima de transmisión ( MTU ) es el tamaño máximo posible de paquete/trama que se puede comunicar a través de la red sin dividirla en fragmentos más pequeños. Se declaran en octetos que se pueden transmitir en una red basada en tramas/paquetes. Si algún paquete es más grande que la configuración de MTU especificada, dividirá o fragmentará el paquete original en subpaquetes más pequeños. Ahora, está bien si la cantidad de estos paquetes es pequeña, el problema surge cuando la cantidad de paquetes fragmentados es grande, en este caso, reduce significativamente la velocidad de transmisión de datos a través de la red.
SMS:
Tamaño máximo de segmento (MSS) se utiliza para limitar el tamaño de los paquetes que se transmiten a través de la red, básicamente, es el máximo posible de datos que un dispositivo puede recibir en un solo paquete sin fragmentación alguna. Todos los datos que se transmiten a través de una red se dividen en pequeños fragmentos o paquetes y se adjuntan varios encabezados a estos paquetes que se utilizan para transportar la información sobre su origen, destino y contenido. MSS evalúa una parte de un paquete (la parte que no es el encabezado), que se conoce como carga útil. Entonces, si su tamaño es demasiado grande, no lo deja pasar. MSS describe el segmento como el tamaño de la carga útil, sin encabezados adjuntos, y sus anuncios se envían a través de paquetes SYN.
Tamaños MTU y MSS:
MTU = MSS + cabecera TCP/IP
MSS = MTU – (El tamaño del encabezado TCP + El tamaño del encabezado IP + El tamaño del encabezado de seguridad IP (si está habilitado))
Para encontrar el tamaño óptimo de MTU, abra cmd yendo a la barra de búsqueda e ingresando «cmd».
Ingrese el siguiente comando con cualquier URL y tamaño de paquete.
ping www.abc.com -f -l 1465
Después de hacer ping, el cmd dará un resultado, puede verse como el de abajo.
C:\Users\mkcbt>ping www.abc.com -f -l 1465 Pinging www.abc.com [144.248.91.9] with 1465 bytes of data: Reply from 144.248.91.9: bytes=68 (sent 1465) time=54ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1465) time=48ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1465) time=43ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1465) time=47ms TTL=60 Ping statistics for 144.248.91.9: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 43ms, Maximum = 54ms, Average = 48ms
Como se puede ver arriba, los paquetes no se fragmentaron, por lo que lo haremos nuevamente aumentando el tamaño del paquete.
C:\Users\mkcbt>ping www.abc.com -f -l 1472 Pinging www.abc.com [144.248.91.9] with 1472 bytes of data: Reply from 144.248.91.9: bytes=68 (sent 1472) time=56ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1472) time=41ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1472) time=41ms TTL=60 Reply from 144.248.91.9: bytes=68 (sent 1472) time=42ms TTL=60 Ping statistics for 144.248.91.9: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 41ms, Maximum = 56ms, Average = 45ms
Nuevamente, no vemos fragmentación, por lo que aumentaremos el tamaño del paquete nuevamente.
C:\Users\mkcbt>ping www.abc.com -f -l 1473 Pinging www.abc.com [144.248.91.9] with 1473 bytes of data: Packet needs to be fragmented but DF set. Packet needs to be fragmented but DF set. Packet needs to be fragmented but DF set. Packet needs to be fragmented but DF set. Ping statistics for 144.248.91.9: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Aquí, encontramos que el paquete se está fragmentando cuando su tamaño es de 1473 bytes, lo que significa que el tamaño máximo posible (sin ninguna fragmentación) es de 1472 bytes. Pero este no es el valor de MTU, para encontrarlo tendremos que agregar 28 bytes para el encabezado. Entonces, el valor de MTU = 1472 + 28 , es decir, 1500 bytes, que es el valor óptimo de MTU. MTU consta de una carga útil y encabezados TCP e IP de 20 bytes cada uno, que son 40 bytes en total y son obligatorios para cada paquete, lo que nos deja con 1500 – 40 = 1460 bytes de datos.
Aunque si se utilizan otros protocolos, el tamaño puede cambiar. por ejemplo, si se usa GRE en la red, agregará 24 bytes adicionales para su encabezado, lo que significa que ahora el tamaño total de este paquete será 1460 + 40 + 24 = 1524 bytes, lo que excede el límite de 1500 bytes de MTU; por lo tanto, aquí tendremos que disminuir el valor de MSS a alrededor de 1436 o menos para que no exceda el valor total de MTU y ese sería el valor óptimo de MTS.