Correspondant à ce sujet:
/programming/3613989/what-of-traffic-is-network-overhead-on-top-of-http-s-requests
La taille de segment maximale (qui n'inclut pas les en-têtes TCP ou IP) est généralement négociée entre les couches à la taille de la MTU moins la taille des en-têtes. Pour Ethernet MTU est généralement configuré à 1500 octets. L'en-tête TCP est de 160 bits ou 20 octets. La partie fixe de l'en-tête IPv4 est de 160 bits, ou 20 octets également. ... Donc:
- pour HTTP sur TCP / IPv4
surcharge = TCP + IP = 40 octets
charge utile = 1500 - 40 = 1460 octets
frais généraux% = 2% (40 * 100/1460)
Voici les résultats iperf de 100 Mbit et 1 Gbit en mode TCP avec les distributions Debian par défaut:
[ 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
Je peux le réduire à près de 2% de frais généraux en augmentant le MTU à 9000:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.14 GBytes 982 Mbits/sec
Mais cela ne devrait-il pas être encore moins?
overhead = TCP + IP = 40 bytes
payload = 9000 - 40 = 8960 bytes
overhead % = 0.4% (40 * 100 / 8960)
Pourquoi la «perte de bande passante» réelle est notablement plus importante que la théorie? Si la formule manque quelque chose de précieux?