Corrispondente a questo argomento:
/programming/3613989/what-of-traffic-is-network-overhead-on-top-of-http-s-requests
La dimensione massima del segmento (che non include le intestazioni TCP o IP) viene in genere negoziata tra i livelli con la dimensione dell'MTU meno la dimensione delle intestazioni. Per Ethernet MTU è generalmente configurato a 1500 byte. L'intestazione TCP è di 160 bit o 20 byte. La parte fissa dell'intestazione IPv4 è di 160 bit o anche di 20 byte. ... Così:
- per HTTP su TCP / IPv4
overhead = TCP + IP = 40 byte
payload = 1500 - 40 = 1460 byte
spese generali% = 2% (40 * 100/1460)
Ecco i risultati iperf a 100 Mbit e 1Gbit in modalità TCP con distribuzioni Debian predefinite:
[ 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
Posso abbassarlo a quasi il 2% di sovraccarico aumentando MTU a 9000:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.14 GBytes 982 Mbits/sec
Ma non dovrebbe essere anche meno?
overhead = TCP + IP = 40 bytes
payload = 9000 - 40 = 8960 bytes
overhead % = 0.4% (40 * 100 / 8960)
Perché l'attuale "perdita di larghezza di banda" è notevolmente maggiore di quella teorica? Se la formula manca qualcosa di prezioso?