Навигация:  Traffic Inspector > О программе > Основные функции >

Тарификация

Previous pageReturn to chapter overviewNext page

Для учета трафика используются:

 

Пакеты, снятые сетевым драйвером на внутренних интерфейсах;
Данные, идущие через HTTP прокси-сервер или SOCKS;
Сообщения, принятые SMTP-шлюзом и переданные на е-mail адрес пользователя, прописанный в его настройках.

 

Трафик в байтах измеряется подсчетом длины Ethernet-пакетов. Есть возможность вести учет только по длине IP- пакета, при этом не учитывается длина заголовка Ethernet - 14 байт на пакет. Эту опцию следует использовать, если вышестоящий провайдер ведет учет по чистому IP-трафику. Если провайдер ведет учет трафика по WAN- протоколам (PPP, Frame Relay, HDLC и др.), то целесообразно учет Ethernet-заголовков включить - размер заголовков Ethernet-пакета и большинства WAN-протоколов примерно сопоставим, и сходимость данных  с провайдером будет более полной.

 

HTTP прокси-сервер, SOCKS и SMTP-шлюз работают на уровне приложения ОС и фиксируют данные TCP-протокола без учета заголовков пакетов. Для точного учета такого трафика имеется механизм учета на уровне драйвера программы. Подробнее об этом см. в описании работы прокси-сервера.

 

По умолчанию весь трафик считается платным, исключая:

 

Трафик на сам сервер: под ним понимается трафик на все IP-адреса всех интерфейсов сервера.
Внутрисетевой транзитный трафик: трафик между всеми IP-сетями всех внутренних интерфейсов. Данные о сетях берутся на основании таблицы маршрутизации.

 

Учет трафика в программе производится в рамках счета. Счет - это набор внутренних счетчиков, где суммируются данные в байтах и пакетах, начиная с момента старта сессии биллинга. В других системах сессия биллинга называется и как биллинговый период.

 

Счет имеет каждый пользователь программы. Плюс есть коллективные счета, которые объединяют несколько пользователей. Каждая порция трафика, отправляемая для тарификации, идет на счет пользователя и все коллективные счета, в которые входит данный пользователь.

 

Существуют счетчики, на основании данных которых производится тарификация:

 

Входящий и исходящий трафик в байтах.
Трафик, считанный пользователем из кэша прокси-сервера.
Почтовый трафик.

 

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

 

Тарификация производится на основании данных тарифа. Тариф - это набор правил для начисления денежных средств. Помимо правил тарификации трафика, в настройках тарифа есть параметры тарификации по времени работы (абонентская плата), лимиты и другие. Об этом смотрите далее.

 

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

 

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

 

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

 

При тарификации трафика у тарифа используются параметры:

 

Тип учета трафика: только входящий, только исходящий, по сумме и по максимальному значению.
Скидка (наценка) на исходящий трафик: используется для реализации тарифа с отдельной стоимостью входящего и исходящего трафика.
Цена трафика: по умолчанию 1, т.е. подразумевается тарификация в мегабайтах.
Предоплаченный трафик.
Стоимость трафика из кэша, в %: по умолчанию бесплатный (0%).
Стоимость почтового трафика, в %: по умолчанию полностью платный (100%).

 

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

 

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

 

Сумма за трафик вычисляется на основании начисленного трафика и цены. Далее сумма за трафик суммируется по всем наборам счетчиков - основному и дополнительным тарифам.

 

Следует отметить, что у основного и дополнительных тарифов могут быть разные единицы стоимости. Так как в процессе тарификации эта единица никак не учитывается, такое "перемешивание" единиц остается полностью на усмотрении администратора. При отображении всех данных счета всегда используется единица стоимости основного тарифа.

 

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

 

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

 

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

 

Следует отметить, что начисление абонентской платы можно реализовать также заданиями.

У каждого счета есть значение оплаты. Баланс счета определяется как оплата минус сумма за трафик и начисленная сумма за время работы.

Если счет имеет безлимитный доступ, то наличие отрицательного баланса на его работу не влияет. Иначе счет будет заблокирован по балансу. Для счета пользователя возможна работа в кредит. Для этого в основном тарифе необходимо задать размер кредита. Счет не будет блокироваться, пока его баланс не будет меньше размера кредита. Можно настроить пользователю отдельные политики доступа, в зависимости от того, работает пользователь в кредит или нет:

 

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

 

Программа производит полный пересчет всех данных тарификации по каждой новой порции трафика, поступающих на счет. Работает принцип: изменились счетчики трафика в счете - и сразу все пересчиталось. Этим она отличается от других биллинговых систем. Такой подход имеет свои особенности:

 

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

 

Для каждого счета имеется три состояния работы:

 

Работа разрешена: он может работать. Если пользователь авторизуется по имени, то для начала работы счет должен еще авторизоваться.
Пауза: работа пользователя приостановлена, данные его счета сохраняются. Начисление абонентской платы приостанавливается. Почтовые сообщения при этом могут приниматься/не приниматься - в зависимости от настроек почтового шлюза.
Стоп: работа остановлена. Данные счета полностью очищаются, но баланс запоминается в оплаченной сумме и может быть использован для переноса при старте следующей сессии биллинга.

 

Настройки счетов (пользователей и коллективных счетов) и данные биллинга хранятся в программе отдельно. Для настроек используются XML-файлы конфигурации, а текущие данные хранятся в базе данных встроенного SQL-сервера main.db3 (используется SQLite). Потеря или порча файла базы данных приведет к потери данных биллинга - файл будет создан заново, все счета будут обнулены и их работа по умолчанию остановлена.

 

Данные биллинга периодически записываются в базу данных журнала - файл log.db3. Они используются для формирования отчетов. Потеря или порча этого файла приведет к невозможности формирования отчетов за определенный период времени.

 

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

Изменение списка дополнительных тарифов

 

Есть ряд важных вопросов, связанных с изменением списка дополнительных тарифов у счета, который работает, т.е.не остановлен. Список дополнительных тарифов счета строится на основании правил, имеющих соответствующие настройки. Учитываются все правила - как общие, так и для группы, которые не запрещены. Для каждого дополнительного тарифа имеется отдельный набор счетчиков, которые учитывают данные с начала сессии биллинга. Данные счетчика находятся в памяти программы и хранятся в базе данных биллинга.

 

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

 

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

 

Таким образом, если дополнительный тариф был удален в результате ошибочных действий, то можно без последствий вернуть все назад. Все сохраненные "скрытые" данные дополнительных тарифов будут полностью очищены только при старте новой сессии.

 

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

 

 

 


Текущая страница справки: http://help.smart-soft.ru/doc201/index.html?howworkbill.htm

Сайт разработчиков Traffic Inspector