Добавлено описание мест установки ТСПУ в сети оператора и их особенности

This commit is contained in:
Daniel Lavrushin
2026-02-20 12:20:37 +01:00
parent b11a116a00
commit 12bf4c06ae
3 changed files with 163 additions and 2 deletions

2
05.md
View File

@@ -44,7 +44,7 @@
На каждом этапе, если пакет не удовлетворяет условиям для дальнейшей обработки, он **прозрачно возвращается** через парный интерфейс обратно в сеть оператора — как будто фильтра в тракте нет.
Важно понимать, что даже самая первая проверка (является ли пакет IP-пакетом) выполняется **программным ядром фильтра** — процессом EcoNAT. Если «мозг» фильтра не работает (процесс завис или перегружен), даже эта простейшая проверка не будет пройдена, и keep-alive пакеты от балансировщика не вернутся. Именно поэтому keep-alive пакеты балансировщика проверяют не только физическую связность канала, но и работоспособность процесса обработки на фильтре (подробнее — в [разделе 4.6.1](04.md)).
Важно понимать, что даже самая первая проверка (является ли пакет IP-пакетом) выполняется **программным ядром фильтра** — процессом EcoNAT. Если «мозг» фильтра не работает (процесс завис или перегружен), даже эта простейшая проверка не будет пройдена, и keep-alive пакеты от балансировщика не вернутся. Именно поэтому keep-alive пакеты балансировщика проверяют не только физическую связность канала, но и работоспособность процесса обработки на фильтре (подробнее — в [разделе 4.6.1](04.md#461-keep-alive-пакеты-к-фильтрам)).
### 5.1.1. Проверка: IP-пакет или нет

161
06.md Normal file
View File

@@ -0,0 +1,161 @@
# 6. Места установки ТСПУ в сети оператора
[← Оглавление](README.md) · [← Раздел 5: Фильтр](05.md)
---
ТСПУ устанавливается **в разрыв каналов связи** оператора и может располагаться в нескольких различных точках его сети. Выбор точки установки влияет на тип трафика, который проходит через ТСПУ, на возможности диагностики и на общую нагрузку на оборудование.
Если рассматривать сеть оператора связи от абонентов в сторону выхода в интернет, можно выделить три основных места установки, а также особый режим подключения — on-a-stick.
```text
Абоненты
│ ← (1) До BRAS: PPPoE-трафик
┌───┴───┐
│ BRAS │ (BPE / BNG / GGSN / PGW)
└───┬───┘
│ ← (2) До CGNAT: серые IP, наиболее удобная точка
┌───┴───┐
│ CGNAT │
└───┬───┘
│ ← (3) После CGNAT: только белые IP
Интернет
```
Каждая точка имеет свои особенности с точки зрения инкапсуляции трафика и возможностей траблшутинга. Некоторые точки более предпочтительны, другие — менее, но все они допустимы для установки ТСПУ.
Инкапсуляция на стыке оператора, в разрыв которого встаёт ТСПУ, зависит от технологий конкретного оператора и от места установки в его сети. Это могут быть чистые IP-пакеты, пакеты с VLAN-тегами (одним или двумя — QinQ), пакеты с MPLS-метками, PPPoE-пакеты и различные комбинации. ТСПУ должно уметь разбираться со всеми этими заголовками, чтобы добраться до IP-трафика и выполнить его обработку.
## 6.1. До BRAS/BPE/BNG (между абонентами и терминацией сессий)
Первая возможная точка установки — **между абонентами и устройствами терминации абонентских сессий**. Такими устройствами могут быть:
| Тип сети | Устройства терминации сессий |
| -------------------- | ------------------------------------ |
| **Широкополосный доступ** | BRAS, BPE, BNG |
| **Мобильные сети** | GGSN, PGW |
Все эти устройства выполняют одну функцию — **терминируют абонентские сессии**. В дальнейшем они обобщённо именуются «BRAS» (условный BRAS).
При установке в этой точке ТСПУ располагается максимально близко к абонентам — до того, как трафик пройдёт через какую-либо обработку на стороне оператора.
### 6.1.1. Особенность: PPPoE-трафик
Основная особенность установки **до BRAS** — наличие **PPPoE-трафика**. Широкополосные абоненты подключаются к BRAS по протоколу PPPoE, и этот трафик представляет собой дополнительный уровень инкапсуляции, который необходимо обрабатывать.
Важно: PPPoE-трафик существует **только на участке до BRAS**. Выше BRAS (то есть ближе к интернету) PPPoE-трафика в нормально функционирующих сетях не бывает — BRAS терминирует PPPoE-сессии и дальше передаёт обычные IP-пакеты.
Наличие PPPoE не является критической проблемой — фильтры умеют работать с этой инкапсуляцией. Однако это дополнительная сложность, которую необходимо учитывать при настройке. Параметр **VLAN Mode** на фильтрах должен быть установлен в **QinQ**, чтобы обеспечить корректный поиск IP-заголовка внутри PPPoE-инкапсуляции (подробнее — в [разделе 5.1.1](05.md)).
## 6.2. До CGNAT (после BRAS) — наиболее удобная точка
Вторая точка установки — **между BRAS и CGNAT**. На этом участке BRAS уже терминировал абонентские сессии, но трафик ещё не прошёл трансляцию адресов (NAT).
Это, вероятно, **наиболее удобная точка** для установки ТСПУ по двум причинам:
1. **Отсутствие PPPoE** — трафик PPPoE уже терминирован на BRAS, что означает меньшее количество заголовков инкапсуляции для обработки;
2. **Видимость абонентских адресов** — серые (частные) IP-адреса абонентов ещё не прошли через NAT-трансляцию и доступны для анализа.
### 6.2.1. Видимость серых абонентских IP-адресов
На участке до CGNAT фильтры ТСПУ видят **серые** (частные) IP-адреса абонентов — те самые адреса, которые непосредственно назначены абонентским устройствам. Это даёт существенные преимущества при диагностике:
- Можно найти сессию **конкретного абонента** на фильтрах по его IP-адресу;
- Можно определить, что именно происходит с трафиком данного абонента;
- Можно исключить конкретного абонента из обработки DPI-листом (через параметр **No IP**) для диагностики проблем.
Эта возможность особенно ценна при траблшутинге — прямая связь между физическим абонентом и его сессиями на ТСПУ значительно ускоряет поиск и устранение проблем.
## 6.3. После CGNAT (ближе к выходу в интернет)
Третья точка установки — **после CGNAT**, ближе к выходу в общую сеть интернет. На этом участке трафик уже прошёл трансляцию адресов.
### 6.3.1. Только белые адреса, сложности траблшутинга
После CGNAT серых абонентских адресов **больше не видно** — на фильтрах ТСПУ будут присутствовать только **белые** (публичные) IP-адреса из NAT-пула оператора.
Это создаёт существенное неудобство при траблшутинге:
- **Невозможно напрямую связать** конкретного физического абонента с его сессией на ТСПУ — адрес источника в пакете является транслированным (белым), а не оригинальным (серым) адресом абонента;
- Для идентификации абонента необходимо **взаимодействовать с оператором** — запрашивать у него информацию о том, в какие порты и IP-адреса был транслирован конкретный абонент на CGNAT;
- Процесс диагностики становится **значительно более длительным** и требует координации между командой ТСПУ и оператором связи.
С точки зрения самой фильтрации (блокировки, распознавания протоколов) размещение после CGNAT не вносит каких-либо ограничений — функциональность ТСПУ остаётся полной. Неудобство касается исключительно диагностики и траблшутинга.
> **Примечание:** в ряде случаев подсистемы BRAS и CGNAT могут быть **совмещены в одном устройстве**. В этом случае участок «между BRAS и CGNAT» (наиболее удобная точка установки) попросту отсутствует — ТСПУ может быть установлено либо до этого комбинированного устройства, либо после него.
## 6.4. Режим On-a-stick (BRAS/CGNAT подключены петлёй)
Помимо трёх линейных точек установки, существует особый вариант размещения ТСПУ — когда сервисное оборудование оператора (BRAS и/или CGNAT) подключено **в режиме on-a-stick** (петлёй).
В режиме on-a-stick BRAS или CGNAT подключается к оператору **одним агрегированным каналом**, через который трафик уходит к устройству и возвращается обратно. Если ТСПУ установлено на этом участке, трафик **проходит через него дважды**.
```text
Абоненты Интернет
│ │
│ ┌────────────┐ │
└─────────┤ ТСПУ ├──────────────────────┘
└──────┬─────┘
│ ↕ (трафик проходит дважды)
┌──────┴─────┐
│BRAS / CGNAT│
│(on-a-stick)│
└────────────┘
```
Возможны три варианта подключения on-a-stick:
| Вариант | Что проходит через ТСПУ дважды |
| -------------------------- | ----------------------------------------------------------- |
| **BRAS on-a-stick** | Трафик до BRAS + трафик после BRAS (сегменты 1 + 2) |
| **CGNAT on-a-stick** | Трафик до CGNAT + трафик после CGNAT (сегменты 2 + 3) |
| **BRAS + CGNAT on-a-stick**| Трафик до обоих устройств + трафик после обоих (сегменты 1 + 3) |
### 6.4.1. Двойное прохождение трафика через ТСПУ
При подключении on-a-stick трафик проходит через ТСПУ **дважды**:
1. **Первый проход** — трафик от абонентов идёт через ТСПУ к BRAS/CGNAT;
2. **Второй проход** — после обработки на BRAS/CGNAT трафик возвращается через ТСПУ в сторону интернета (или обратно к абонентам — в зависимости от направления).
Это означает, что каждая абонентская сессия потенциально **видна фильтрам дважды**, причём на втором проходе адреса могут быть уже другими (после NAT-трансляции на CGNAT). Без дополнительных мер это приводит к удвоению количества сессий и удвоению нагрузки на ТСПУ.
### 6.4.2. Разделение по VLAN для обработки трафика одного направления
**Наиболее удобная конфигурация** при подключении on-a-stick — когда оператор чётко разделяет трафик по VLAN:
- **Один VLAN** несёт трафик **до** BRAS/CGNAT (от абонентов к сервисному оборудованию);
- **Другой VLAN** несёт трафик **после** BRAS/CGNAT (от сервисного оборудования в сторону интернета).
В этом случае на ТСПУ можно настроить обработку **только нужного VLAN** (например, трафика до CGNAT, где видны серые абонентские адреса), а второй VLAN — **прозрачно пропустить** на уровне балансировщика, даже не отправляя его на фильтры.
Это достигается через **flow rules** балансировщика (подробнее — в [разделе 4.4](04.md)):
- Правило с действием `balancing` — для VLAN, который нужно обрабатывать (трафик отправляется на фильтры);
- Правило с действием `bypass` — для VLAN, который нужно пропустить (трафик прозрачно проходит через балансировщик).
В результате фильтры обрабатывают трафик **только один раз**, каждый абонент виден единожды, путаницы с сессиями не возникает.
### 6.4.3. Проблемы двойной обработки и best practice
Если оператор **не может** чётко отделить трафик до и после BRAS/CGNAT (например, оба направления идут в одном VLAN), возникает ситуация **двойной обработки**. Её последствия:
- **Удвоение количества сессий** — одна и та же абонентская сессия видна фильтру дважды, причём с разными IP-адресами (до и после NAT-трансляции);
- **Путаница при траблшутинге** — сложно определить, какая из двух записей сессии соответствует реальному состоянию;
- **Двойная нагрузка на ТСПУ** — запас производительности должен быть рассчитан исходя из удвоенного объёма трафика.
Эта ситуация **нежелательна** и её следует избегать при проектировании. В лучшем варианте необходимо добиться от оператора информации о разделении трафика по VLAN и выбрать для обработки только нужное направление.
> **Пример из практики:** на пилотном проекте (Урал) один из операторов подключён по принципу on-a-stick к CGNAT (сегменты 2 + 3 на схеме). Оператор предоставил информацию о том, какие VLAN несут трафик до CGNAT, а какие — после. На балансировщике были отобраны только нужные VLAN и отправлены на фильтры. В результате фильтры видят нормальные абонентские сессии до CGNAT (с серыми адресами) и не обрабатывают транслированный трафик после CGNAT. Это — **best practice** подключения on-a-stick.
Возможен и **обратный подход**: вместо явного указания обрабатываемых VLAN можно исключить ненужные VLAN из обработки, а всё остальное — обрабатывать. Выбор подхода — вопрос удобства настройки для конкретной площадки.
---
[← Оглавление](README.md) · [← Раздел 5: Фильтр](05.md) · [Раздел 7: Эшелонированная система →](07.md)

View File

@@ -66,7 +66,7 @@
- 5.1.5. Решение: пропустить или заблокировать (drop)
- 5.2. Работа на уровне L2: фильтр как «прозрачный провод»
### 6. Места установки ТСПУ в сети оператора
### [6. Места установки ТСПУ в сети оператора](/06.md)
- 6.1. До BRAS/BPE/BNG (между абонентами и терминацией сессий)
- 6.1.1. Особенность: PPPoE-трафик