Контроль активности абонента [Документация VAS Experts]

Это старая версия документа!


Контроль активности абонента

Отметим, что в fastDPI имеет два механизма контроля активности абонента по исходящему трафику от абонента в inet.

  • Контроль активности абонента и отсечение входящего трафика без закрытия сессии это реактивный контроль, который осуществляется "по факту", то есть по приходу пакета к абоненту из inet. Если нет трафика из inet к абоненту, то нет и никакого контроля, ARP пинг для проверки активности абонента. Такой контроль активности ограничивает входящий трафик к абоненту в случае его неактивности, но не завершает сессию абонента.
  • Контроль активности абонента с закрытием сессии (Subscriber Host Connectivity Verification) дополняет такой контроль активным мониторингом открытых DHCP-сессий и завершает сессию абонента в случае неактивности.

Оба алгоритма совместимы и могут работать вместе.

Данный контроль активности не применяется для PPPoE-абонентов.
PPPoE содержит встроенные стандартные механизмы проверки активности и разрыва сессии по неактивности.

Контроль активности абонента и отсечение входящего трафика без закрытия сессии

Контроль активности абонента - это функция L2 BRAS, которая позволяет отсечь трафик из inet к абоненту в случае, если абонент не проявляет признаков жизни (нет трафика от абонента в сторону inet). В процессе своей работы L2 BRAS для каждого абонента запоминает время T прихода последнего пакета от абонента. В течение времени T + bras_subs_activity_timeout интервал активности абонент считается живым (активным) и все пакеты из inet к абоненту пропускаются. Если же абонент становится нективным, то есть превышен интервал активности со времени последнего пакета от абонента, L2 BRAS дропает входящий трафик.
Дополнительно можно задать bras_subs_activity_ping_timeout функцию пингования абонента в случае, если он стал неактивным. Пинг осуществляется отправкой unicast ARP-запроса абоненту: если придет ответ на такой ARP unicast-запрос, то он обновит время прихода последнего пакета от абонента, то есть абонент будет считаться активным.

Контроль активности работает только на исходящем трафике абонента (от абонента в inet). Особенно актуальным контроль активности может быть для абонентов со статическим публичным адресом.

Настройка

Контроль активности задается следующими параметрами в fastdpi.conf:

  • bras_subs_activity_timeout - задает интервал активности в секундах, 0 (это значение по умолчанию) - отключить контроль активности
  • bras_subs_activity_ping_timeout - тайм-аут в секундах пингования абонента ARP-запросом, 0 (это значение по умолчанию) - отключить ARP-пинг абонента. Если абонент неактивен, то ему раз в bras_subs_activity_ping_timeout секунд будут посылаться unicast ARP-запросы.

Контроль активности абонента с закрытием сессии (Subscriber Host Connectivity Verification)

SHCV (Subscriber Host Connectivity Verification) - контроль активности DHCP-абонента, аналогичный Nokia, осуществляет проактивный контроль состояния DHCP-сессии абонента. Если от абонента в inet в течение bras_dhcp_shcv_interval секунд нет никакого трафика, fastDPI начинает пинговать абонента отправкой unicast ARP-запроса от имени абонентского шлюза. Ожидание ответа на ARP-запрос - bras_dhcp_shcv_retry_timeout, секунд. Если на bras_dhcp_shcv_retry_count последовательных ARP-запросов не получено ни одного ответа, либо ARP-ответ содержит другой MAC, абонент считается неактивным, его DHCP-сессия закрывается.
Закрытие DHCP-сессии производится аналогично CoA Disconnect - выполняются действия согласно опции bras_dhcp_disconnect. Аккаунтинг-сессия закрывается с признаком Acct-Terminate-Cause=4 (Idle timeout), при этом VSA VasExperts-Acct-Terminate-Cause принимает новое значение 20 "Разрыв по неактивности". SHCV реализован на основе API мониторинга активных сессий (груминг ip_db).

Настройка

  • bras_dhcp_shcv_interval - интервал неактивности, секунд;
    0 - SHCV отключен (по умолчанию).
  • bras_dhcp_shcv_retry_timeout - время ожидания ответа на ARP-запрос, секунд
    По умолчанию = 3 секунды.
  • bras_dhcp_shcv_retry_count - число ARP-запросов без ответа.
    По умолчанию = 3 запроса.