====== Контроль активности абонента ====== {{indexmenu_n>3}} 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-абонента, аналогичный [[https://documentation.nokia.com/html/0_add-h-f/93-0267-HTML/7X50_Advanced_Configuration_Guide/dhcp-hosts.html#433540|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-сессия закрывается.\\ Механизм закрытия сессии: - Отправка Acct Stop; - Деанонс IP-адреса абонента; - Обновление статуса сессии на ''released''. При этом время реавторизации не меняется, чтобы не было паразитных L3-авторизаций, если абонент проснется до истечения lease time и отправит что-либо отличное от DHCP; - Удаление DHCP-сессии (в БД DHCP). ==== Настройка ==== * ''bras_dhcp_shcv_interval'' — интервал неактивности абонента, секунд.\\ По умолчанию = 0 (SHCV отключен). * ''bras_dhcp_shcv_retry_timeout'' — время ожидания ответа на ARP-запрос, секунд.\\ По умолчанию = 3 секунды. * ''bras_dhcp_shcv_retry_count'' — число ARP-запросов без ответа.\\ По умолчанию = 3 запроса.