This version of the page http://www.ukrindex.com/nodeny/info/architecture/ (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2012-06-19. The original page over time could change.
Архитектура - NoDeny - UkrIndex

Архитектура биллинговой системы NoDeny

Кластер NoDeny - центр всех вычислений и информации, управляет сателлитами и получает от них данные. В качестве сателлита выступает сервер (или комплекс) обслуживающий определенную группу клиентов либо ресурсов.

Сателлит может выполнять одну или все следующие функции:

  • авторизацию клиентов;
  • управление доступом клиента к ресурсам (локальным, интернет, к ресурсам других клиентов);
  • сбор статистики потребления ресурсов.

Для примера приведем вариант построения сети:

На схеме видим 2 сателлита: обслуживающего клиентов района 1 и клиентов района 2. Между сателлитами и шлюзом в интернет установлены сервера с контентом. Благодаря такой схеме получаем контролируемый доступ клиентов и в интернет и к локальным ресурсам сети. Более того, если серментировать сеть vlan-ами, то появляется дополнительная возможность управлять трафиком и между абонентами сети, т.е. разрешать/блокировать, шейпить и считать этот трафик.

В расширенном виде, схема NoDeny выглядит таким образом:

Здесь видим, что основной координирующий узел всей системы - это база данных. Взаимодействие узлов системы в большинстве случаев идет не напрямую, а через БД. Поэтому БД - это наиболее требовательная часть и по надежности и по производительности. Подробнее об этом читайте в разделе проектирования системы.

Вы могли заметить, что NoDeny предусматривает распределение своих компонент по нескольким серверам для увеличения производительности и надежности. В простейшем же случае все компоненты устанавливаются на один сервер:

Вынос компонеты в отдельный сервер диктуется как географическими размерами сети так и размерами абонентской базы. Логичнее производить управление доступом и авторизацию географически как можно ближе к клиенту, т.е. в каждом районе организовать свой сателлит обслуживания.

Для примера, в сети с несколькими тысячами абонентов, расположенных в одном районе можно взять за основу следующее разделение:

Сервер 1: веб-администрирование, клиентская статистика, агент авторизации, агент доступа.

Сервер 2: основная база данных, база авторизации.

Сервер 3: дополнительная база.

Сервер 4: шлюз, ядро NoDeny, коллектор, резервный агент авторизации.

Либо же объединить Сервер 2 и Сервер 3 в один.

База данных разделена на три составляющие:

  • основная база данных хранит ключевую информацию: список абонентов, платежи, архивы, таблицы топологии, оборудования и др;
  • дополнительная база содержит расширенную статистику трафика, возможно с детализацией до ip, порта и протокола;
  • база авторизации содержит таблицу-очередь авторизаций.

Назначение модулей

Центром системы является база данных, все остальные модули взаимодействуют между собой через нее. За основу принята СУБД Mysql.

Агенты авторизации предназначены для идентификации клиентов, для гарантии, что в сети с текущими параметрами (например ip-адрес) присутствует легальный абонент. Клиенты авторизации периодически записывают в очередь авторизаций информацию о том, кто и как авторизовался.

L2-авторизация - это один из методов авторизации, разработанный конкретно под систему NoDeny. Предусматривает авторизацию с помощью специальной программы-авторизатора. Преимуществом этой авторизации является: минимальные требования к служебному трафику, поддержка ненадежных каналов (с большим процентом потерь, радиолинки и т.д), надежное шифрование, удобное отображение данных для клиента.

Ядро NoDeny периодически опрашивает коллекторы, снимающие показания о потреблении услуг клиентом (например, трафике), обновляет данные клиента в базе данных, на основании полученных данных из очереди авторизации и других условий (например, баланса клиента) разрешает/запрещает клиенту интернет/доступ к услугам и т.д.

Веб-статистика клиентов предназнаена для получения более расширенной информации о состоянии счета клиента, его трафике, истории и т.д. В данный момент веб-авторизация интегрирована в веб-статистику.

Веб-администрирование предназначено для администраторов различных уровней и позволяет управлять данными клиентов и системой в целом.

    
Биллинговая система NoDeny
Техническая поддержка
Хостинг
Доменные имена
Почта