Скорость и MTU

Сколько времени займёт передача файла по каналу, перевод скорости между Мбит/с и МБ/с, а также MTU и MSS с учётом PPPoE и туннелей.

Инкапсуляция и туннели

Время передачи

Теоретически, на полной скорости 6 мин 16 с
На практике, с накладными TCP/IP ~7% 6 мин 44 с

Скорость канала в разных единицах

бит/с 100 000 000
Кбит/с 100 000
Мбит/с 100
Гбит/с 0,1
КБ/с 12 500
МБ/с 12,5
ГБ/с 0,013
МиБ/с 11,921

MTU и MSS

MTU внутри туннеля 1492 байт
MSS для TCP поверх IPv4 1452 байт
MSS для TCP поверх IPv6 1432 байт
Накладные расходы 8 байт
# Ограничение MSS (MSS clamping), чтобы TCP не упирался в MTU туннеля
# Linux, iptables:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
# MikroTik:
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn action=change-mss new-mss=1452 passthrough=yes
# Cisco, на интерфейсе:
ip tcp adjust-mss 1452

# Проверка MTU пингом без фрагментации
ping -f -l 1464 8.8.8.8         # Windows
ping -M do -s 1464 8.8.8.8      # Linux
ping -D -s 1464 8.8.8.8         # macOS

Мегабиты и мегабайты

Провайдеры указывают скорость в мегабитах в секунду, а браузеры и торрент-клиенты показывают загрузку в мегабайтах. В одном байте 8 бит, поэтому тариф 100 Мбит/с — это около 12,5 МБ/с, а на практике 11–11,5 МБ/с: часть канала занимают заголовки TCP/IP и подтверждения. Калькулятор показывает и теоретическое время передачи, и реальное.

Зачем считать MTU и MSS

MTU — наибольший размер пакета без фрагментации. В обычном Ethernet это 1500 байт, но PPPoE отнимает 8 байт, а туннели GRE, VXLAN или WireGuard — ещё 24–80. Если не уменьшить MSS (максимальный размер данных в TCP-сегменте), сайты начинают открываться через раз, а большие файлы зависают. Калькулятор посчитает MTU внутри туннеля, MSS для IPv4 и IPv6 и выдаст готовые команды для iptables, MikroTik и Cisco.