Понимание порядка тарификации очень важно для построения тарифных планов и понимания механизма их работы.
Рассмотрим в каком порядке происходит тарификация трафика и времени в разных режимах обсчёта. В каждом соединении ведутся счетчики байт, посчитанных и потреблённых. При этом NetFlow-коллектор по мере получения потоков увеличивает счётчики потреблённых байт в памяти, также они могут изменятся по приходу UPDATE, либо STOP-пакетов (зависит от настройки трафиков в NASе). Ещё одна характеристика соединения - время его - это то время, до которого было обсчитано соединение.
1) При режиме тарификации , после получения UPDATE-пакета:
| Увеличиваются счётчики потреблённых байт, если настроено извлечение трафика из RADIUS-пакетов. |
| Тарифицируется потреблённый трафик как разница между счётчиками потреблённых и посчитанных байт. Весь трафик считается потреблённым единоразово в текущее время окончания сединения (время предыдущего UPDATE-пакета). |
| Тарифицируется потреблённое время. Считается, что в момент текущего времени окончания, было потреблено количество секунд до текущего времени. Если при этом был переход часа, то тарификация времени осуществляется в два этапа. Считается, что в момент текущего времени окончания было потреблено количество секунд до границы часа, а на границе часа было потреблено оставшееся количество секунд. |
| Изменяется время окончания соединения на текущее время. При необходимости (исчерпан баланс, смена зоны в тарифе) может быть послан сигнал сброса соединения, либо CoA пакет. |
Обратите внимание, что каждая услуга считается потреблённой в какой-то определённый момент времени. Это время передаётся в тарифном запросе и используется узлами тарифных планов , и т.п.
2) При режиме тарификации (устаревший режим). Тарификация осуществляется по таймеру, периодически просыпающимся потоком. При каждом обсчёте:
| Тарифицируется потреблённый трафик, как разница между счётчиками потреблённых и посчитанных байт. Весь трафик считается потреблённым единоразово в текущее время окончания сединения (время предыдущего обсчёта). |
| От текущего времени окончания соединения отсчитывается аванс времени в секунд. Обсчёт идет в будущее, при переходе часов осуществляется разбивка секунд аналогично режиму UPDATE. |
| Изменяется время окончания соединения (время может стать в будущем). При необходимости (исчерпан баланс, смена зоны в тарифе) может быть послан сигнал сброса соединения, либо CoA пакет. |
| Поток засыпает, просыпаясь каждые секунд для проверки прохождения времени окончния соединения и, следовательно, необходимости нового обсчёта. |
| При получении STOP-пакета возможен обсчёт времени в обратном направлении, т.к. соединение может завершиться раньше уже просчитанного времени окончания. |