Ubuntu 20.04 - как включить TCP BBR - алгоритм управления перегрузки сети

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск

Доступная цена

Ubuntu 20.04 - как включить TCP BBR - алгоритм управления перегрузки сети

TCP BBR (Bottleneck Bandwidth and Round Trip Time) уже используется на серверах google.com, и теперь вы можете это сделать, если на вашем компьютере с Linux установлено ядро 4.9 или новее.

Проверяем какие алгоритмы доступны по-умолчанию:

# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic


Меняем на BBR (Bottleneck Bandwidth and Round Trip Time):

# vi /etc/sysctl.conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# systemctl -p

Проверяем результат:

# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

Расшифровка:

FQ - это планировщик пакетов
BBR - сам congestion control


"Пропускная способность узкого места" (Bottleneck Bandwidth) и "время в пути туда и обратно" (Round Trip Time, RTT) - это два понятия, связанные с сетевой передачей данных.
Пропускная способность узкого места (Bottleneck Bandwidth):
Пропускная способность узкого места относится к самому узкому участку сети, через который проходят данные. Этот узкий участок ограничивает скорость передачи данных через всю сеть. По сути, это наименьшая доступная скорость передачи данных в сети между двумя узлами. Пропускная способность узкого места может быть ограничена различными факторами, такими как пропускная способность сетевого интерфейса, пропускная способность маршрутизатора или коммуникационных линий. Для оптимальной передачи данных в сети важно учитывать пропускную способность узкого места и настраивать сетевые ресурсы соответствующим образом.
Время в пути туда и обратно (Round Trip Time, RTT):
Время в пути туда и обратно (RTT) - это время, которое затрачивается на отправку данных от отправителя к получателю и обратно. Оно измеряется в миллисекундах и включает в себя задержку в сети, вызванную временем передачи данных и временем обработки узлами сети. RTT важно для определения задержки в сети и для управления сетевой производительностью. Например, в приложениях, где низкая задержка критична (например, видеозвонки или онлайн-игры), RTT должно быть минимальным.
Измерение и управление как пропускной способностью узкого места, так и временем в пути туда и обратно, являются важными аспектами проектирования и поддержки сетей, чтобы обеспечить эффективную передачу данных и удовлетворительное качество обслуживания для пользователей.