This version of the page http://www.ukrindex.com/nodeny/description (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2013-02-01. The original page over time could change.
Биллинговая система NoDeny : ukrindex
Читать @ukrindex Твитнуть @ukrindex Твитнуть

Описание возможностей

Авторизация абонентов

Поскольку использование биллинга предусматривает денежные расчеты, возникает необходимость защитить себя и своих абонентов от попыток воспользоваться услугами «за чужой счет».

Необходимо отметить, что на данный момент не все сети спроектированы таким образом, чтобы на аппаратном уровне во всех ее узлах иметь возможность контролировать/запрещать изменение клиентов своих сетевых данных (например, ip-адреса). В таких условиях необходимо разрешать прохождение трафика через узловые точки только после авторизации клиента.

Однократной авторизации не достаточно, так как после авторизации абонента и его «выхода из сети» не должна существовать возможность продолжить «чужаку» этим воспользоваться и потреблять интернет/ресурсы сети от чужого имени. Также необходимо иметь защиту от перехвата сеансов авторизации сниферами, что возможно в сетях построенных как на хабах так и на свичах (arp-спуффинг). Исходя из этих условий была реализована так называемая L2-авторизация: специально разработанная автором программа-авторизатор, которая обеспечивает шифрованную авторизацию, а также в наглядном виде отображает процесс авторизации и предоставляет кое-какую статистику.

Возможно использование в качестве авторизации иных методов, например VPN, PPPoE, авторизацию через браузер.

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

При постоянном подключении к интернет (имеются ввиду домашние сети) более актуально оценивать услуги именно объемом потребленной клиентом информации. Такая задача является основной для данного биллинга - упор сделан на многообразие оценок и тарификации трафика.

Как известно, не всегда трафик равноценен для разных адресов в интернете, к примеру, провайдер может иметь свои сервера, доступ к которым дешевле и быстрее, или ресурсы других провайдеров города (страны) доступнее/дешевле/быстрее, чем к западным. Для таких случаев есть смысл разделять трафик по категориям и оценивать по разным тарифам.

На данный момент имеется возможность делить трафик на 4 оплачиваемых категории (направления) на один тарифный план. В разных тарифных планах могут использоваться отличные категории, со своим списком адресов (портов).

Возможно «устроить слежку» за конкретным клиентом либо группой клиентов - в базу данных будут записаны трафик и все ip адреса (с портами и протоколами) с которыми обменивался клиент.

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

Счет клиента

Все начисления/снятия/штрафы/премии денежных средств фиксируются в базе данных. Каждый платеж можно прокомментировать, например: «снято со счета 25гр за установку сетевой карты», «бонус 50гр за приведенного клиента» и т.д. Все платежи/снятия прозрачны и все спорные вопросы можно решить за любой период времени, так как видны даты и авторы всех поступлений и расходов. Клиенту возможно доходчиво объяснить «при подключении вы заплатили ХХХгрн, в декабре за YYY мегабайт пакета «стартовый» было снято ZZZгрн, затем вы пополнили счет на ААА грн и т.д.»

Платежи могут приниматься несколькими администраторами, при этом ведется учет наличности у кого сколько «на руках». Есть функция передачи наличных от админа к админу или руководству.

Временные платежи позволяют временно разрешить абоненту доступ в интернет/ресурсам сети. Например, клиент имеет отрицательный баланс в 200 рублей, звонит и сообщает, что имеет возможность заплатить только через неделю. В таком случае удобно не убирать границу отключения (или ее понижать) - так можно просто забыть вернуть в исходное состояние, а осуществить временный платеж в 200 рублей сроком 7 дней. Через 7 дней платеж гарантированно удалится автоматически и клиент будет заблокирован если не сдержал свое обещание.

Тарификация

Для оценки возможностей тарификации, приведем несколько выдуманных ситуаций которые может решить NoDeny:

  1. Клиент оплачивает пакет «Демо» - ему разрешается получить из интернета не более 50Мб, при достижении этой отметки пользователю блокируется доступ в интернет.
  2. Клиент оплачивает пакет «Стартовый» в котором предоплачено 1000 Мб интернет-трафика, 5000 Мб городского трафика и 2000 Мб российского трафика. Стоимость пакета 10$. При превышении любой составляющей трафика, снимается дополнительная сумма за каждый мегабайт, у каждого направления своя сумма превышения. При этом клиенту разрешается работать в долг на 5$.
  3. Клиенту необходимо разрешить доступ к определенному списку ip-адресов бесплатно, учитывая каждый мегабайт, при этом снимать по 1$ за каждый мегабайт вне этих адресов.
  4. Клиенту предоставляется доступ в интернет и дополнительно оплачивается почтовый трафик по более дешевому тарифу.
  5. Клиенту предоставляется анлимитный доступ в интернет за XX руб на симметричной скорости YY кбит.
  6. Клиенту предоставляется анлимитный доступ к ресурсам UA-IX, пакетный доступ к мировым ресурсам и бесплатный доступ к игровым ресурсам провайдера при условии активации услуги 'games' стоимостью ZZ руб/месяц.
  7. Клиенту предоставляется доступ в интернет на скорости XX кбит на вход и YY кбит на исход, при этом каждые сутки снимается абонплата если он скачал хотя бы 1 байт в эти сутки.

Такие задачи (как и многие другие) вполне под силу NoDeny.

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

Архитектура

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

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

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

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

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

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

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

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

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

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

  • Сервер 1: веб-администрирование, клиентская статистика, агент авторизации, агент доступа.
  • Сервер 2: основная база данных, база авторизации.
  • Сервер 3: дополнительная база.
  • Сервер 4: шлюз, ядро NoDeny, коллектор, резервный агент авторизации.

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

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

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

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

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

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

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

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

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

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


© ООО УКРИНДЕКС 2012