10.7.2. CLI

Описание

TCP-профиль позволяет выполнять тонкие настройки протокола TCP под каждый конкретный случай.

Например, поддерживается настройка алгоритмов управления перегрузками (Congestion control algorithm), которые применяются в различных типах задач: reno и cubic — стандартные алгоритмы, используются в большинстве задач; dctcp используется в дата-центрах; bbr разработан компанией Google для передачи видеоконтента.

TCP-профиль можно применить как и к Сервису, так и к Target-группе, либо отдельному Worker. Это дает возможность выполнить оптимизацию внутреннего и внешнего трафика. Например:

  • Так как обычно сервера (Worker) находятся рядом друг с другом внутри дата-центра, создаем TCP-профиль с алгоритмом dctcp, уменьшаем таймауты и включаем ECN.

  • Для Сервисов создаем другой профиль, где указываем бОльшее время на установку сессии (ESTABLISHED session timeout), чтобы клиенты могли успеть подключиться в случае плохого качества сети и включаем защиту от SYN-флуда (SYN cookie feature enable).

Настройка

По умолчанию создан профиль default без каких-либо настроек. Если при создании Сервисов или Target-групп не указывается никакой TCP-профиль, то применяется default.

vlb tcp-profile NAME

Создать TCP-профиль

После создания внутри TCP-профиля появляется возможность настроить следующие параметры:

congestion-control <cubic|bbr|dctcp|reno>

Алгоритм управления перегрузками: cubic, bbr, dctcp, reno.

vlb tcp-profile delay-ack-count (1-16)

Максимальное количество отложенных подтверждений TCP (TCP delayed acknowledgment). Метод, при котором несколько ответов ACK могут быть объединены в один. По умолчанию 2.

explicit-congestion-notification

Включение функционала ECN (Explicit Congestion Notification).

min-rx-win (128-65535)

Минимальный размер окна приема TCP в байтах. По умолчанию 2048.

mss (512-9600)

Максимальный размер сегмента (длина пакета). По умолчанию 1480.

option timestamp enable

Включение опции TCP TIMESTAMP.

option timestamp frequency

Частота таймера для опции TCP TIMESTAMP. По умолчанию 250.

option toa enable

Включение опции TCP TOA (TCP Option Address).

retrans-count (1-20)

Максимальное количество повторных передач TCP-пакета. По умолчанию 4.

rx-window (2048-16777216)

Начальный размер окна приема TCP. По умолчанию 131071.

rx-window-no-ws (2048-65535)

Начальный размер окна приема TCP, если не указан масштаб окна (window scale).

syncookie enable

Включение функционала защиты от SYN-флуда.

syncookie interval (100-60000)

Период времени, в течение которого SYN cookie действительны и могут быть использованы для установления TCP-соединения.

timeout close-wait (0-65535)

Время жизни (мс) сессии в состоянии TCP CLOSE-WAIT. По умолчанию 20.

timeout delay-ack (0-65535)

Время задержки (мс) перед отправкой ACK-сообщения.

timeout established (0-604800000)

Время жизни (мс) TCP-сессии в состоянии ESTABLISHED. По умолчанию 120000.

timeout opening (0-65535)

Время жизни (мс) сессии в состоянии TCP OPENING. По умолчанию 20.

timeout retransmit (0-65535)

Таймаут (в мс) на повторную передачу TCP-пакета (TCP Retransmission). По умолчанию 200.

timeout service (10-100)

Время (в мкс), в течение которого приложения клиента будет пытаться восстановить соединение с сервером. По умолчанию 10.

timeout zero-window (0-65535)

Время жизни сессии (в мс) в состоянии нулевого окна TCP (TCP zero window). По умолчанию 5.

wsrx (0-14)

Масштаб окна, на который умножаеся значение параметра RX window.

Для удаления какого-либо параметра необходимо перед его названием добавить no без указания значения, например:

no wsrx