Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
dpi:bras_bng:replication:start [2024/05/17 13:18] – atereschenko | dpi:bras_bng:replication:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Резервирование BRAS L2 в режиме Active-Standby ====== | ||
- | {{indexmenu_n> | ||
- | < | ||
- | {{youtube> | ||
- | Резервирование BRAS в режиме L2 предполагает включение двух СКАТ в один широковещательный L2 домен. | ||
- | Один в режиме Master, другой в режиме Slave. | ||
- | Master осуществляет обработку трафика, | ||
- | Slave не пропускает трафик через себя, интерфейсы DPDK находятся в режиме ожидания трафика (down). Синхронизация информации об абонентах происходит через PCRF сервер. | ||
- | Slave отслеживает доступность и работоспособность Master, при сбое в работе Slave в автоматическом или ручном режиме активирует (up) DPDK интерфейсы и начинает обрабатывать трафик. | ||
- | Пример включения и прохождения трафика представлено на схеме. | ||
- | {{ playground: | ||
- | |||
- | ===== Репликация данных авторизации и Синхронизация базы данных нескольких BRAS===== | ||
- | В СКАТ BRAS состоит из компонент | ||
- | fastDPI - обработка трафика абонентов. | ||
- | fastPCRF - интеграция по протоколу Radius между fastDPI и Radius сервером. Один fastPCRF может обслуживать несколько fastDPI серверов. | ||
- | Применяется следующая схема репликации для согласования данных об абонентах на всех fastDPI-серверах: | ||
- | <note important> | ||
- | |||
- | ==== Применение данных на fastDPI ==== | ||
- | При приеме данных авторизации сервер fastDPI видит, его это был запрос или же это ответ на чужой запрос (для этого в пакете есть специальная метка). Если это ответ на свой запрос, | ||
- | |||
- | |||
- | ===== Описание алгоритма ===== | ||
- | Концепция резервирования СКАТ - MASTER-SLAVE (L2-BRAS): | ||
- | * 1. MASTER 99% времени работает, | ||
- | * 2. MASTER всегда возвращается и вероломно забирает обработку трафика на себя | ||
- | * 3. SLAVE 99% времени только принимает репликации с MASTER' | ||
- | * 4. Есть третья сторона, | ||
- | * 4.1. MASTER доступен, | ||
- | * 4.2. MASTER доступен, | ||
- | * 4.3. MASTER не доступен, | ||
- | * 4.4. MASTER и SLAVE не доступны - трафик переключен на MASTER | ||
- | |||
- | Переключение MASTER-> | ||
- | * 1. Третья сторона детектит пропадание MASTER' | ||
- | * 2. Т.к. на 99% UDR SLAVE' | ||
- | |||
- | Bootstrap MASTER' | ||
- | * 1. На MASTER' | ||
- | * 2. MASTER определяет что SLAVE жив и актуален | ||
- | * 3. MASTER останавливает свои fastdpi+fastpcrf | ||
- | * 4. MASTER бекапит UDR на SLAVE и забирает её к себе | ||
- | * 5. MASTER запускает свои fastdpi+fastpcrf | ||
- | * 6. Третья сторона детектит появление MASTER' | ||
- | |||
- | Bootstrap MASTER' | ||
- | * 1. На MASTER' | ||
- | * 2. MASTER определяет что SLAVE не доступен, | ||
- | * 3. Третья сторона детектит появление MASTER' | ||
- | |||
- | Bootstrap SLAVE' | ||
- | * 1. На SLAVE' | ||
- | * 2. SLAVE определяет что MASTER жив и актуален | ||
- | * 3. SLAVE останавливает свои fastdpi+fastpcrf | ||
- | * 4. SLAVE бекапит UDR на MASTER' | ||
- | * 5. SLAVE запускает свои fastdpi+fastpcrf | ||
- | * 6. Начинает реплицировать данные | ||
- | |||
- | Bootstrap SLAVE' | ||
- | * 1. На SLAVE' | ||
- | * 2. SLAVE определяет что MASTER не доступен, | ||
- | * 3. Третья сторона детектит появление SLAVE' |