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?
Les frais généraux sont généralement calculés en fonction de la taille totale des données. De cette façon, le chiffre correspond à la valeur d'efficacité.
Pour TCP sur IPv4 sur Ethernet, vous disposez (sans options d'en-tête):
La taille de paquet maximale L3 de 1500 se traduit par une taille de données L1 totale de 1500 + 18 + 20 = 1538 octets et une taille de charge utile L4 maximale de 1500-20-20 = 1460 octets .
Avec des trames jumbo 9k (non 802.3), vous obtiendrez
Ce sont des valeurs théoriques dans le meilleur des cas . Dans la vraie vie, vous auriez également du matériel et des frais généraux du système d'exploitation qui réduiraient légèrement la valeur d'efficacité. Des fonctionnalités telles que le déchargement et la direction d'interruption multicœur peuvent réduire les frais généraux de traitement et vous rapprocher des chiffres théoriques (plus pertinents avec des cartes réseau plus rapides). Ceux que vous avez mesurés semblent assez réalistes, comme l'a déjà souligné Pieter.
la source