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¶