При 100 Мбит / с Ethernet передача больших файлов со скоростью 94,1 Мбит / с.
Это 6% накладных расходов.Если вы также посчитаете, что TCP ACK течет в противоположном направлении, это ближе к 9%.Для гигабитного Ethernet накладные расходы (в процентах) остаются прежними.Допущения: TCP / IPv4 и размер файла> 100 КБ.(При таком размере мы можем пренебречь начальной настройкой HTTP и TCP.)
При сравнении скоростей загрузки учитывайте коэффициент 8 от битов до байтов.Я предполагаю, что никто не будет взимать плату за преамбулу Ethernet или межкадровый разрыв, но «полезная нагрузка» не должна восприниматься буквально.
Расчет: полезная нагрузка / в целом
полезная нагрузка = 1500 - 20 -32 (Ethernet_MTU - IPv4 - TCP)
в целом = 8 + 14 + 1500 + 4 + 12 (Преамбула + Ethernet_header + Ethernet_MTU + CRC + Interframe_gap)
Поскольку Ethernet всегда дуплексный, этидни, случайный TCP ACK, протекающий в другую сторону, не меняет скорость передачи.Если вы добавите один ACK для каждых двух фреймов данных в служебную информацию (это то, что я наблюдал в Wireshark), вы получите 8,5% общих служебных данных.И хотя размер MTU обычно составляет 1500 байт, он может быть меньше в некоторых сетях или намного больше, если для него настроен каждый элемент оборудования в пути.