Перейти к основному содержимому

Общее

Базовые параметры обработки TCP-трафика в сете.

common

Лимит TCP пакетов соединения

Сколько пакетов в начале каждого соединения анализировать. После этого лимита пакеты проходят без модификации. TLS-рукопожатие (ClientHello) обычно происходит в первых 3–5 пакетах, поэтому обрабатывать всё соединение не нужно.

к сведению

Значение не может превышать глобальный лимит, заданный в Настройки → Основные → Очередь. Если в сете указано больше - будет использован глобальный лимит.

Задержка между пакетами (Seg2Delay)

Задержка (мс) между отправкой фрагментов. Задаётся как диапазон мин–макс - для каждого соединения b4 выбирает случайное значение из этого диапазона. Если мин и макс одинаковы - задержка фиксированная.

Фильтр портов

Ограничивает, на каких портах назначения этот сет будет применяться. Формат iptables: 443 или 443,80.

к сведению

На уровне фаервола b4 всегда перехватывает трафик на порт 443. Если в сетах указаны дополнительные порты - они добавляются к перехвату. Фильтр портов в сете сужает, к какому трафику этот конкретный сет будет применяться, а не то, что b4 обрабатывает глобально.

Отбросить SACK

Удаляет опцию Selective Acknowledgment из TCP-пакетов. SACK помогает серверу и клиенту эффективно пересылать потерянные фрагменты - некоторые DPI-системы используют SACK для восстановления порядка фрагментов.

Дублирование пакетов

Отправляет каждый пакет несколько раз (1–10 копий). Полезно, если провайдер отбрасывает часть пакетов при обнаружении аномалий. dup

MSS Clamping

Ограничивает TCP Maximum Segment Size для соединений, попадающих в этот сет. Меньший MSS заставляет ClientHello прийти разбитым на несколько сегментов, а собрать их обратно умеет не всякий DPI.

mss

ПараметрОписаниеДиапазонПо умолчанию
Включить MSS для сетаВключает MSS Clamping для этого сета-Выкл
Размер MSSРазмер MSS в байтах. Меньше - сильнее фрагментация10-146088
Чем можно и чем нельзя сузить MSS сета

MSS проставляется в TCP SYN - в самом первом пакете соединения, задолго до того, как из TLS handshake станет известно имя сайта. Поэтому сузить это ограничение можно только тем, что ядру известно уже на этапе SYN: целями по IP, категориями GeoIP и устройствами-источниками. SNI-домены, категории GeoSite и фильтр по версии TLS в этом не участвуют.

Переключатель остаётся недоступным, пока в сете нет цели по IP, GeoIP или source device.

Устройство-источник, найденное в таблице ARP, сопоставляется по MAC-адресу; добавленное вручную - по введённому для него IP-адресу, так что такому устройству нужен фиксированный адрес, иначе им нельзя сузить clamp.

Следствие стоит проговорить отдельно, потому что оно неочевидно:

  • Сет сужен по IP или GeoIP: ограничение действует только на соединения к этим адресам. Этого от него и ждут.
  • Сет сужен только по устройству-источнику: ограничение действует на каждое соединение на порт 443 с этих устройств, куда бы оно ни шло, а не только на домены сета. HTTPS на этом устройстве замедляется целиком.
  • Сет сужен и тем и другим: ограничение действует на соединения с этих устройств и к этим адресам.

Если задача - просто «притормозить один телевизор на порту 443», то же самое делает колонка MSS у устройства, и читается это честнее. MSS у сета имеет смысл, когда в сете есть цели по IP или GeoIP, на которые его можно навести.

к сведению

При включении переключателя размер подставляется как 88, если он пуст. Это минимально осмысленное значение и обычный обходной приём для смарт-ТВ на YouTube, но приём агрессивный: в каждом сегменте едет не больше 88 байт полезных данных, поэтому большие загрузки по такому соединению идут медленно. Если соединение работает, но еле ползёт - поднимите значение.

MSS сета имеет приоритет над настройками устройства и глобальной для тех соединений, которые он покрывает.