Correspondiente a este tema:
/programming/3613989/what-of-traffic-is-network-overhead-on-top-of-http-s-requests
El tamaño máximo de segmento (que no incluye los encabezados TCP o IP) generalmente se negocia entre las capas al tamaño de la MTU menos el tamaño de los encabezados. Para Ethernet, la MTU generalmente se configura a 1500 bytes. El encabezado TCP es de 160 bits o 20 bytes. La parte fija del encabezado IPv4 es de 160 bits o 20 bytes también. ... Así:
- para HTTP sobre TCP / IPv4
gastos generales = TCP + IP = 40 bytes
carga útil = 1500 - 40 = 1460 bytes
gastos generales% = 2% (40 * 100/1460)
Aquí hay resultados de 100 Mbit y 1 Gbit iperf en modo TCP con distribuciones predeterminadas de Debian:
[ 5] local 10.0.51.1 port 5001 connected with 10.0.51.20 port 45009
[ 5] 0.0-10.0 sec 112 MBytes 94.1 Mbits/sec
[ 4] local 10.0.51.1 port 5001 connected with 10.0.51.94 port 35065
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
Puedo reducirlo a casi un 2% de gastos generales al aumentar MTU a 9000:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.14 GBytes 982 Mbits/sec
¿Pero no debería ser aún menos?
overhead = TCP + IP = 40 bytes
payload = 9000 - 40 = 8960 bytes
overhead % = 0.4% (40 * 100 / 8960)
¿Por qué la "pérdida de ancho de banda" real es notablemente mayor que la teórica? Si la fórmula falta algo valioso?