# 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)