Tương ứng chủ đề này:
/programming/3613989/what-of-traffic-is-network-overhead-on-top-of-http-s-requests
Kích thước phân đoạn tối đa (không bao gồm các tiêu đề TCP hoặc IP) thường được thỏa thuận giữa các lớp với kích thước của MTU trừ đi kích thước tiêu đề. Đối với Ethernet MTU thường được cấu hình ở mức 1500 byte. Tiêu đề TCP là 160 bit, hoặc 20 byte. Phần cố định của tiêu đề IPv4 là 160 bit, hoặc 20 byte. ... Như vậy:
- cho HTTP qua TCP / IPv4
phí = TCP + IP = 40 byte
tải trọng = 1500 - 40 = 1460 byte
chi phí% = 2% (40 * 100/1460)
Đây là kết quả iperf 100 Mbit và 1Gbit trong chế độ TCP với các bản phân phối Debian mặc định:
[ 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
Tôi có thể hạ thấp nó xuống gần 2% chi phí bằng cách nâng MTU lên 9000:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.14 GBytes 982 Mbits/sec
Nhưng nó có nên ít hơn không?
overhead = TCP + IP = 40 bytes
payload = 9000 - 40 = 8960 bytes
overhead % = 0.4% (40 * 100 / 8960)
Tại sao "mất băng thông" thực tế lớn hơn đáng kể so với lý thuyết? Nếu công thức thiếu thứ gì có giá trị?