---
title: IP-троттлинг — диагностика замедления по IP (Cloudflare, Discord)
zapret2-version: v0.9.4.5
tags: troubleshooting, throttling, ip-throttling, ip-blocking, diagnosis, discord, cloudflare, split-routing, bridgebox, vpn, 16kb
source: cloudflare-blog, github/bol-van, community
created: 2026-07-10
updated: 2026-07-10
---

# IP-троттлинг: соединение есть, данных нет

База знаний хорошо описывает **DPI-блокировку** (handshake ломается) и **полную IP-блокировку** (TCP SYN не проходит).
Между ними есть третий, всё более частый режим — **IP-троттлинг**: соединение устанавливается нормально, но передача
данных душится почти до нуля.

Именно он даёт самую частую жалобу: «zapret2 установлен, handshake проходит, а сайт не грузится».

## Что такое IP-троттлинг

Промежуточный (in-path) элемент ТСПУ/провайдера пропускает TCP/TLS handshake, но применяет к соединению деградацию
пропускной способности по признаку **назначения** (IP-подсеть хостера или CDN), а не по содержимому пакета.

**Симптомы:**

- Сайт начинает грузиться и зависает; страница частичная, картинки/видео не догружаются.
- Скачивание останавливается примерно на **16 КБ** и скорость падает до нуля.
- Голос/видео (VoIP, WebRTC) рвётся или не подключается.
- Помогает VPN — но не помогает смена стратегии zapret2.

Ключевой задокументированный случай — троттлинг ресурсов за **Cloudflare** в России с 9 июня 2025 г.: провайдеры
ограничивают отдачу первыми **16 КБ** любого веб-ресурса (это ~10–14 пакетов), после чего соединение обрывается.
Затронуты все методы и протоколы — **HTTP/1.1 и HTTP/2 поверх TCP+TLS, а также HTTP/3 поверх QUIC** — а также хостеры
Hetzner, DigitalOcean, OVH. Подтверждённые провайдеры: Ростелеком, МегаФон, ВымпелКом (Билайн), МТС, МГТС
(источник: блог Cloudflare, см. ниже).

**Почему это не SNI-троттлинг.** То, что душатся одинаково QUIC/HTTP3 (где SNI зашифрован) и обычный TLS, доказывает:
решение о троттлинге принимается по **назначению соединения**, а не по plaintext-SNI. Этим IP-троттлинг отличается от
классического SNI-троттлинга Twitter (2021) и YouTube, который триггерится именно по SNI и надёжно обходится
zapret2 (см. `tspu/blocking-methods.md` → «Throttling»). Не путать эти два явления.

## Три вердикта: DPI-блок vs IP-троттлинг vs IP-блок

| Вердикт          | Что происходит на проводе                       | Что помогает                                            |
|------------------|-------------------------------------------------|---------------------------------------------------------|
| **DPI-блок**     | Handshake ломается: RST или silent drop         | **zapret2** — надёжно                                   |
| **IP-троттлинг** | Handshake OK, данные душатся (стоп ~16 КБ)       | **Туннель/VPN** — надёжно; zapret2 — иногда, ненадёжно  |
| **IP-блок**      | TCP SYN не проходит вообще                       | **Туннель/VPN** — только он                             |

Верхнюю границу (DPI-блок) и нижнюю (IP-блок) уже покрывают `strategies/dpi-types.md` и `tspu/two-stage-blocking.md`.
IP-троттлинг — середина: DPI-инспекция контента не при чём, поэтому манипуляции содержимым пакета срабатывают
в лучшем случае частично.

## Как диагностировать

### 1. Быстрый тест объёма скачивания

`blockcheckw` по TCP/TLS покажет «доступно» (handshake проходит), но это не значит, что данные идут. Мерить нужно
именно **объём переданного**:

```bash
curl -m 10 -o /dev/null -w "%{size_download} bytes\n" https://domain.com/large-resource
```

- Останавливается около **16 КБ** (≈16000–19000 байт) → почти наверняка троттлинг.
- Скачалось 32 КБ+ целиком → троттлинга на этом соединении нет.

В самом zapret это же ловит `blockcheckw check --passes 3` (меряет объём загрузки, а не только handshake) — см.
`troubleshooting/common-issues.md` → «16KB DPI cap».

**Дискриминатор.** «16KB DPI cap» из `common-issues.md` чинится стратегией, которая на `check` доходит до 32 КБ+.
Если **ни одна** стратегия не пробивает 32 КБ (все замирают на ~16 КБ), это уже не DPI-cap, а троттлинг по IP
назначения → туннель, а не подбор стратегии.

### 2. Проверка по каждому IP (round-robin лотерея)

Троттлинг часто прилетает не на все IP домена: одни дата-центры/подсети под ограничением, другие — нет. Домен за
CDN резолвится в несколько адресов, и работоспособность зависит от того, на какой IP попал клиент:

```bash
for ip in $(dig +short domain.com); do
  echo "== $ip =="
  curl -m 10 -o /dev/null -w "%{size_download} bytes\n" \
       --resolve domain.com:443:"$ip" https://domain.com/large-resource
done
```

Типичная картина: часть IP отдаёт полный объём, часть замирает на ~16 КБ.

### 3. Контрольный сайт (канал в целом или адресно?)

Чтобы отделить адресный троттлинг от «провайдер задушил весь канал», проверьте ресурс **не за Cloudflare и без
собственного троттлинга** (например, крупный российский сайт: `ya.ru`, госпортал). Если он качается полностью —
канал не задушен, ограничение адресное.

> Не берите YouTube как контрольный: у YouTube в РФ есть собственный, отдельный троттлинг (дроп ACK-пакетов),
> он ведёт себя иначе — см. `tspu/blocking-methods.md`. «Работающий» или «не работающий» YouTube ничего не доказывает
> про Cloudflare-троттлинг.

## Почему zapret2 не решает это надёжно

zapret2 — это **anti-DPI**, а не VPN. Он манипулирует содержимым пакетов (SNI, порядок и границы TCP-сегментов,
fake-пакеты), чтобы DPI не распознал протокол. Это работает, когда решение о блокировке принимается **по содержимому**.

IP-троттлинг устроен иначе: пакеты душатся по **IP назначения**, содержимое не инспектируется. zapret2 не меняет и не
скрывает IP назначения, поэтому убрать адресный троттлинг он в общем случае не может (zapret cannot bypass IP-based
blocking — DeepWiki/официальная позиция проекта, см. ниже).

**Важная оговорка (без иллюзий в обе стороны).** Троттлер — это stateful in-path устройство, которое считает байты
в рамках соединения. Поэтому агрессивные desync-стратегии иногда сбивают ему счётчик и частично помогают: сообщество
наблюдало, что при снятии `--hostlist` (десинк на весь трафик) начинали открываться даже незаблокированные сайты за
Cloudflare, и что «новая страта» временами чинила Discord (обсуждение bol-van/zapret #1502). Но:

- это **нестабильно** и зависит от провайдера/версии;
- наличие ТСПУ на магистралях вынуждает поднимать TTL, повышая риск пробоя fake-пакета до сервера (документация zapret);
- надёжного результата это не даёт.

Вывод: пробовать desync-стратегии можно, но рассчитывать на туннель.

## Что помогает: туннель + раздельная маршрутизация

Надёжное решение для IP-троттлинга — то же, что и для IP-блокировки Telegram: пустить трафик через **туннель**, у
которого IP назначения не под ограничением.

- **Podkop** (sing-box) — точечная маршрутизация на OpenWrt.
- **AmneziaWG** — WireGuard с обфускацией.
- **VLESS + Reality** — прокси-сервер.

### Раздельная маршрутизация (split-routing)

Оптимально не гнать всё в туннель, а разделять трафик по типу блокировки — так называемый split-routing (иногда
обозначается как «bridge»/«bridgebox»):

```
DPI-блокировка (SNI/протокол)        → zapret2  → напрямую через провайдера
IP-блокировка и IP-троттлинг         → туннель  → Podkop / AmneziaWG / VLESS
```

Тот же принцип уже описан для Telegram (`strategies/telegram-bypass.md`) и для сосуществования zapret2 + Podkop
(`troubleshooting/openwrt-conflicts.md`). Разделение снижает нагрузку на VPN-сервер и оставляет прямое (быстрое)
соединение там, где хватает DPI-байпаса.

## Реальный пример: Cloudflare и Discord (2025–2026)

- **С 9 июня 2025** ресурсы за Cloudflare в РФ троттлятся: отдаются первые ~16 КБ, дальше обрыв; затронуты TCP+TLS
  и QUIC/HTTP3 одинаково (блог Cloudflare).
- Discord с октября 2024 заблокирован в РФ по требованию РКН (DPI/домены), а его голос мигрирует на инфраструктуру
  Cloudflare (публично признано Discord в феврале 2026). По мере миграции часть трафика Discord попадает под тот же
  Cloudflare-троттлинг — поверх уже существующей DPI-блокировки.
- Наблюдаемая у пользователей картина: домен резолвится в несколько IP Cloudflare, часть из них душится (скачивание
  замирает в районе 16–19 КБ), часть работает — «повезёт/не повезёт» с конкретным IP.

Практический итог для Discord: DPI-стратегии (`strategies/discord-bypass.md`) чинят распознавание сайта/голоса/медиа,
но **не** снимают IP-троттлинг основной инфраструктуры за Cloudflare. Там — туннель.

## Источники

- Cloudflare, «Russian Internet users are unable to access the open Internet» (2025-06-26):
  https://blog.cloudflare.com/russian-internet-users-are-unable-to-access-the-open-internet/
- Обсуждение «Cloudflare … снова и что делать?» — bol-van/zapret Discussion #1502:
  https://github.com/bol-van/zapret/discussions/1502
- zapret не является VPN и не обходит блокировку по IP — remittor/zapret-openwrt, DeepWiki bol-van/zapret:
  https://github.com/remittor/zapret-openwrt , https://deepwiki.com/bol-van/zapret
- SNI-троттлинг Twitter (для контраста, триггер по SNI): Censored Planet, IMC 2021 —
  https://censoredplanet.org/assets/throttling-imc-paper.pdf
- Discord признал проблемы голоса из-за перехода на бэкенд Cloudflare (2026-02):
  https://piunikaweb.com/2026/02/27/discord-acknowledges-voice-problems-cloudflare-backend-shift/
