Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en Internet

Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en Internet

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: MTU:

$ 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. 10BASE-2 (delgado) y 10BASE-5 (grueso), cuyos números indican cuántos cientos de metros puede cubrir un segmento de red en particular.

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 trabajo “Ethernet: Conmutación distribuida de paquetes en redes informáticas locales”, 1980, proporciona uno de los primeros análisis de la eficacia del uso de paquetes grandes en redes. En ese momento, esto era especialmente importante para las redes Ethernet, ya que podían conectar todos los sistemas con un solo cable coaxial o consistir en concentradores capaces de enviar un paquete a todos los nodos en el mismo segmento al mismo tiempo.

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?

Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en 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:

Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en Internet

Si combina ambos gráficos, obtendrá algo como lo siguiente (estimaciones de tráfico para cada rango de tamaño de paquete):

Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en Internet

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:

Cómo 1500 bytes se convirtió en la unidad máxima de transferencia de información en Internet

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

Añadir un comentario