Correspondendo a este tópico:
/programming/3613989/what-of-traffic-is-network-overhead-on-top-of-http-s-requests
O tamanho máximo do segmento (que não inclui os cabeçalhos TCP ou IP) normalmente é negociado entre as camadas para o tamanho da MTU menos o tamanho dos cabeçalhos. Para Ethernet, a MTU geralmente é configurada em 1500 bytes. O cabeçalho TCP é de 160 bits ou 20 bytes. A parte fixa do cabeçalho IPv4 é de 160 bits ou 20 bytes também. ... Portanto:
- para HTTP sobre TCP / IPv4
sobrecarga = TCP + IP = 40 bytes
carga = 1500 - 40 = 1460 bytes
% de despesas gerais = 2% (40 * 100/1460)
Aqui estão os resultados de iperf de 100 Mbit e 1 Gbit no modo TCP com distribuições padrão do 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
Eu posso baixá-lo para quase 2% de sobrecarga, aumentando o MTU para 9000:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.14 GBytes 982 Mbits/sec
Mas não deveria ser menos ainda?
overhead = TCP + IP = 40 bytes
payload = 9000 - 40 = 8960 bytes
overhead % = 0.4% (40 * 100 / 8960)
Por que a "perda de largura de banda" real é notavelmente maior que a teórica? Se fórmula faltando algo valioso?