mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-22 14:26:03 +00:00
readme: fix-seg info
This commit is contained in:
parent
06147836d0
commit
5207104c06
@ -812,6 +812,7 @@ tpws - это transparent proxy.
|
|||||||
--skip-nodelay ; не устанавливать в исходящих соединения TCP_NODELAY. несовместимо со split.
|
--skip-nodelay ; не устанавливать в исходящих соединения TCP_NODELAY. несовместимо со split.
|
||||||
--local-tcp-user-timeout=<seconds> ; таймаут соединений client-proxy (по умолчанию : 10 сек, 0 = оставить системное значение)
|
--local-tcp-user-timeout=<seconds> ; таймаут соединений client-proxy (по умолчанию : 10 сек, 0 = оставить системное значение)
|
||||||
--remote-tcp-user-timeout=<seconds> ; таймаут соединений proxy-target (по умолчанию : 20 сек, 0 = оставить системное значение)
|
--remote-tcp-user-timeout=<seconds> ; таймаут соединений proxy-target (по умолчанию : 20 сек, 0 = оставить системное значение)
|
||||||
|
--fix-seg ; исправлять неудачи tcp сегментации ценой задержек для всех клиентов и замедления
|
||||||
|
|
||||||
--split-pos=N|-N|marker+N|marker-N ; список через запятую маркеров для tcp сегментации
|
--split-pos=N|-N|marker+N|marker-N ; список через запятую маркеров для tcp сегментации
|
||||||
--split-any-protocol ; применять сегментацию к любым пакетам. по умолчанию - только к известным протоколам (http, TLS)
|
--split-any-protocol ; применять сегментацию к любым пакетам. по умолчанию - только к известным протоколам (http, TLS)
|
||||||
@ -877,6 +878,15 @@ tpws, как и nfqws, поддерживает множественную се
|
|||||||
указанным сплит позициям. Другие ОС в этом вопросе ведут себя более предсказуемо. Спонтанного обьединения замечено не было.
|
указанным сплит позициям. Другие ОС в этом вопросе ведут себя более предсказуемо. Спонтанного обьединения замечено не было.
|
||||||
Поэтому не стоит злоупотреблять сплитами и в особенности мелкими соседними пакетами.
|
Поэтому не стоит злоупотреблять сплитами и в особенности мелкими соседними пакетами.
|
||||||
|
|
||||||
|
Как показывается практика, проблемы могут начаться , если количество сплит позиций превышает 8.
|
||||||
|
При неудаче сегментации будет выводиться сообщение `WARNING ! segmentation failed`.
|
||||||
|
Если вы его видите, это повод снизить количество сплит позиций.
|
||||||
|
Если это не вариант, есть параметр `--fix-seg`. Он позволяет подождать завершение отсылки перед отправкой следующей части.
|
||||||
|
Но этот вариант ломает модель асинхронной обработки событий. Пока идет ожидание, все остальные соединения не обрабатываются
|
||||||
|
и кратковременно подвисают. На практике это может быть совсем небольшое ожидание - менее 10 мс.
|
||||||
|
И производится оно только , если происходит split, и в ожидании есть реальная необходимость.
|
||||||
|
В высоконагруженных системах данный вариант не рекомендуется. Но для домашнего использования может подойти, и вы эти задержки даже не заметите.
|
||||||
|
|
||||||
tpws работает на уровне сокетов, поэтому длинный запрос, не вмещающийся в 1 пакет (TLS с kyber), он получает целым блоком.
|
tpws работает на уровне сокетов, поэтому длинный запрос, не вмещающийся в 1 пакет (TLS с kyber), он получает целым блоком.
|
||||||
На каждую сплит часть он делает отдельный вызов `send()`. Но ОС не сможет отослать данные в одном пакете, если размер превысит MTU.
|
На каждую сплит часть он делает отдельный вызов `send()`. Но ОС не сможет отослать данные в одном пакете, если размер превысит MTU.
|
||||||
В случае слишком большого сегмента ОС дополнительно его порежет на более мелкие. Результат должен быть аналогичен nfqws.
|
В случае слишком большого сегмента ОС дополнительно его порежет на более мелкие. Результат должен быть аналогичен nfqws.
|
||||||
|
Loading…
Reference in New Issue
Block a user