CLI¶
Обзор¶
TCP-профиль позволяет выполнять тонкую настройку протокола TCP для конкретных сценариев использования.
Например, вы можете настроить алгоритмы управления перегрузками, оптимальные для различных задач: reno и cubic — стандартные алгоритмы, используемые в большинстве сценариев; dctcp используется в центрах обработки данных; bbr был разработан Google для доставки видеоконтента.
TCP-профиль можно применить к Сервису, Target-группе или отдельному Worker. Это позволяет оптимизировать внутренний и внешний трафик. Например:
Так как Workers обычно расположены близко друг к другу внутри центра обработки данных, вы можете создать TCP-профиль с алгоритмом
dctcp, сократить таймауты и включить ECN.Для сервисов можно создать другой профиль с более длительными таймаутами установления сессий (таймаут сессии ESTABLISHED), чтобы у клиентов было больше времени для подключения в условиях нестабильной сети, а также включить защиту от SYN-флуда (функция SYN cookie включена).
Настройка¶
По умолчанию создан профиль default без каких-либо специальных настроек. Если при создании сервиса или Target-группы не указан TCP-профиль, используется профиль default.
- vlb tcp-profile NAME¶
Создать TCP-профиль.
После создания можно настроить следующие параметры внутри TCP-профиля:
- congestion-control <cubic|bbr|dctcp|reno>¶
Алгоритм управления перегрузками:
cubic,bbr,dctcp,reno.
- delay-ack-check-interval-count (1-8192)¶
Количество проверок в пределах таймаута отложенного ACK.
- delay-ack-check-mss-count (0-64)¶
Минимальное количество MSS в TCP-окне перед отправкой ACK в пределах таймаута отложенного ACK.
- delay-ack-count (1-16)¶
Максимальное количество отложенных TCP-подтверждений. Несколько ACK могут быть объединены в один.
- explicit-congestion-notification enable¶
Включить Explicit Congestion Notification (ECN).
- min-rx-win (128-65535)¶
Минимальный размер TCP-окна приёма в байтах. По умолчанию — 2048.
- mss (512-9600)¶
Максимальный размер сегмента (длина пакета). По умолчанию — 1480.
- option timestamp enable¶
Включить опцию TCP TIMESTAMP.
- option timestamp frequency (1-1000)¶
Частота таймера для опции 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, если масштабирование окна не указано.
- syncookie enable¶
Включить защиту от SYN-флуда.
- syncookie interval (100-60000)¶
Срок действия (в мс) SYN cookie. SYN cookie должен быть использован в пределах этого интервала для установления соединения.
- timeout close-wait (0-86400000)¶
Время жизни (в мс) сессии в состоянии TCP CLOSE-WAIT. По умолчанию — 20.
- timeout delay-ack (0-86400000)¶
Время задержки (в мс) перед отправкой ACK-сообщения.
- timeout established (0-604800000)¶
Время жизни (в мс) TCP-сессии в состоянии ESTABLISHED. По умолчанию — 120000.
- timeout opening (0-86400000)¶
Время жизни (в мс) сессии в состоянии TCP OPENING. По умолчанию — 20.
- timeout retransmit (0-86400000)¶
Таймаут (в мс) повторных передач TCP. По умолчанию — 200.
- timeout service (10-100)¶
Время (в мкс), в течение которого клиентское приложение пытается восстановить соединение с сервером. По умолчанию — 10.
- timeout zero-window (0-86400000)¶
Время жизни (в мс) сессии в состоянии TCP zero window. По умолчанию — 5.
- wsrx (0-14)¶
Масштабирующий коэффициент, применяемый к значению RX-окна.
Чтобы удалить конкретный параметр, добавьте no перед именем команды без указания значения, например:
- no wsrx¶