Ethernet está en todas partes y decenas de miles de fabricantes producen equipos que lo admiten. Sin embargo, casi todos estos dispositivos tienen una cosa en común:
$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
MTU (Unidad de transmisión máxima) define el tamaño máximo de un solo paquete de datos. En general, cuando intercambia mensajes con dispositivos en su LAN, la MTU será del orden de 1500 bytes y casi todo Internet funciona con 1500 bytes, pero esto no significa que estas tecnologías de comunicación no puedan transmitir paquetes de mayor tamaño.
Por ejemplo, 802.11 (comúnmente conocido como WiFi) tiene una MTU de 2304 bytes, y si su red usa FDDI, entonces su MTU es de 4352 bytes. Ethernet en sí tiene el concepto de "tramas gigantes", donde a la MTU se le puede asignar un tamaño de hasta 9000 bytes (con soporte para este modo por parte de NIC, conmutadores y enrutadores).
Sin embargo, en Internet esto no es especialmente necesario. Dado que las principales redes troncales de Internet se componen principalmente de conexiones Ethernet, el tamaño máximo de paquete no oficial de facto se establece en 1500 B para evitar la fragmentación de paquetes en otros dispositivos.
El número 1500 en sí mismo es extraño: uno esperaría que las constantes en el mundo de la informática se basaran en potencias de dos, por ejemplo. Entonces, ¿de dónde viene el 1500B y por qué todavía lo utilizamos?
número mágico
El primer gran avance de Ethernet en el mundo llegó en forma de estándares.
Dado que en aquella época había muchos protocolos en competencia y el hardware tenía sus limitaciones, el creador del formato admite que las necesidades de memoria del buffer de paquetes influyeron en la aparición del número mágico 1500:
En retrospectiva, está claro que un máximo mayor podría haber sido una mejor solución, pero si hubiéramos aumentado el costo de las NIC desde el principio, habría impedido que Ethernet se generalizara tanto.
Sin embargo, esta no es toda la historia. EN
Era necesario elegir un número que no provocara retrasos demasiado grandes al transmitir mensajes en segmentos (a veces bastante ocupados) y, al mismo tiempo, no aumentara demasiado el número de paquetes.
Al parecer, los ingenieros de la época eligieron el número 1500 B (unos 12000 bits) como la opción más "segura".
Desde entonces, varios otros sistemas de mensajería han ido y venido, pero entre ellos, Ethernet tenía el valor de MTU más bajo con sus 1500 bytes. Exceder el valor mínimo de MTU en una red significa causar fragmentación de paquetes o participar en PMTUD [encontrar el tamaño máximo de paquete para la ruta seleccionada]. Ambas opciones tenían sus propios problemas especiales. Aunque a veces los grandes fabricantes de sistemas operativos redujeron aún más el valor de MTU.
Factor de eficiencia
Ahora sabemos que la MTU de Internet está limitada a 1500 B, en gran parte debido a las métricas de latencia heredadas y las limitaciones del hardware. ¿Cuánto afecta esto a la eficiencia de Internet?
Si observamos los datos de un gran punto de intercambio de Internet, AMS-IX, vemos que al menos el 20% de los paquetes transmitidos tienen un tamaño máximo. También puedes ver el tráfico LAN total:
Si combina ambos gráficos, obtendrá algo como lo siguiente (estimaciones de tráfico para cada rango de tamaño de paquete):
O, si miramos el tráfico de todos estos encabezados y otra información de servicio, obtenemos el mismo gráfico con una escala diferente:
Una gran parte del ancho de banda se gasta en encabezados de paquetes de la clase de mayor tamaño. Dado que la sobrecarga más alta en el tráfico pico es de 246 GB/s, se puede suponer que si todos hubiésemos cambiado a "tramas jumbo" cuando todavía existía esa opción, esta sobrecarga sólo sería de aproximadamente 41 GB/s.
Pero creo que hoy en día ese tren ya se ha ido para la mayor parte de Internet. Y aunque algunos proveedores trabajan con una MTU de 9000, la mayoría no la admite, y tratar de cambiar algo globalmente en Internet ha demostrado ser extremadamente difícil una y otra vez.
Fuente: habr.com