---
title: TSPU Architecture — How Russian DPI Works
tags: tspu, dpi, architecture, ecofilter, bypass, balancer, filter, blocking
source: github, academic/IMC-2022, academic/IMC-2021
created: 2026-03-25
updated: 2026-04-15
---

# Архитектура ТСПУ (DPI-система блокировок)

ТСПУ (Технические средства противодействия угрозам) — аппаратный комплекс DPI, установленный у операторов связи в
России. Понимание его архитектуры помогает выбирать эффективные стратегии обхода.

## Масштаб развёртывания (научные данные)

По данным академического исследования (IMC 2022, Diwen Xue et al. "TSPU: Russia's Decentralized Censorship System"):

- **1 000 000+** эндпоинтов в России идентифицированы за ТСПУ-устройствами
- **650+ AS** (автономных систем) охвачены
- **70%** ТСПУ-устройств расположены **в пределах 2 хопов** от конечного IP-адреса пользователя
- Устройства работают **in-path** (в разрыв канала), а не off-path/mirrored
- **Stateful** — поддерживают состояние TCP-сессий с уникальными характеристиками state management
- **Направленность**: ТСПУ блокирует только соединения, **инициированные из России**. Входящие соединения извне не
  блокируются.

Физическое развёртывание децентрализовано (на площадках провайдеров), но политики блокировки **централизованно
управляются** Роскомнадзором.

## Компоненты ТСПУ

```
Абонент → [Bypass] → [Балансировщик] → [Фильтр (DPI)] → [Bypass] → Интернет
                                              ↓
                                     [SPFS] → [ЦСУ]
```

### Bypass (обходной коммутатор)

Физическая защита канала оператора. При отказе ТСПУ автоматически замыкает канал — трафик идёт напрямую. Режимы:
Inline (рабочий), TAP (копирование), Active Bypass (мимо), Power-off (аварийный).

### Балансировщик (EcoFilter Balancer)

32-портовый коммутатор, 3.2 Тбит/с. Распределяет трафик по фильтрам.

**Хэш балансировки**: `source IP + destination IP + протокол` → симметричный хэш, одна сессия всегда попадает на один
фильтр, одно ядро.

**Значение для bypass**: балансировщик байпасит служебный трафик (BGP, мультикаст) без отправки на фильтры. Это значит
что DPI не видит весь трафик.

### Фильтр (EcoFilter)

DPI-устройство. Работает на L2 (прозрачный «провод»). Не имеет IP-интерфейсов в data plane. Отключён LLDP.

**Аппаратура** (из утечек/community, не подтверждено научными публикациями): Intel Xeon Gold 6212 (24 ядра), 192-384 ГБ
RAM. До 4160 ядер в старшей линейке.

## Путь пакета через фильтр

```
Пакет → IP-пакет? → ACL/Pool → DPI-лист (IP-подсети) → DPI Engine → Решение
           нет↓         нет↓           нет↓                          ↓
         пропуск     пропуск       пропуск                  block / pass / redirect
```

1. **IP check**: Поддерживает untag, VLAN, QinQ — ищет IP-заголовок под инкапсуляцией
2. **ACL/Pool**: Проверка по Access Control List, привязка к пулу обработки
3. **DPI-лист**: Проверка IP-адреса по загруженным спискам (0-15 листов)
4. **DPI Engine**: Глубокий анализ содержимого пакета
5. **Решение**: block (TCP RST или drop), redirect (HTTP 302), pass

**Ключевой параметр**: `permit invalid flow = ON` — фильтр принимает TCP-сессии без SYN. Это значит что он анализирует
уже установленные соединения.

## Что это значит для bypass

- Фильтр работает на L2 → не видит маршрутизацию, только содержимое пакетов
- Симметричный хэш → обе стороны сессии на одном ядре → фильтр видит полную картину
- DPI-листы загружаются периодически → есть окно между появлением ресурса и блокировкой
- `send RST off` может быть включён → тогда HTTPS блокируется тихим drop вместо RST
- Направленность → ТСПУ блокирует только outbound-соединения из РФ. Это значит, что серверы за рубежом могут
  инициировать соединения к российским IP без блокировки
- Близость к пользователю (2 хопа) → фильтр видит трафик до NAT провайдера, что усложняет использование TTL-based
  fooling (мало хопов между пользователем и DPI)
