Сессии Абонентов в BRAS L2 DHCP
Старт сессии
Началом сессии пользователя считается ответ DHCPACK DHCP-сервера на запрос клиента DHCPREQUEST/DHCPINFORM. Из запроса и ответа fastDPI BRAS извлекает и запоминает у себя в UDR следующую информацию:
- MAC-адрес пользователя
- IP-адрес пользователя
- Идентификаторы VLAN/QinQ пользователя
В дальнейшем эта информация используется для “аутентификации” любого пакета пользователя, а также при терминации/оригинации трафика.
Завершение сессии
Завершением сессии пользователя считается прием DHCP-запросов DHCPRELEASE или DHCPDECLINE. Если сессия пользователя завершена, любые пакеты от этого пользователя будут дропаться.
Состояния сессии
Сессия пользователя может быть в одном из трех состояний:
- Активна – получен положительный ответ DHCPACK на запрос IP-адреса DHCPREQUEST
- Закрыта – получен запрос DHCPRELEASE/DHCPDECLINE освобождения IP-адреса
- Неизвестна – через fastDPI не прошел запрос лизинга IP-адреса. Сессии находятся в этом состоянии при рестарте fastDPI.
Troubleshooting
При старте fastDPI статус сессии пользователя находится в неизвестном состоянии, так как никаких DHCP-запросов от пользователя BRAS ещё не видел, тем не менее, пользователь уже может иметь выданный ранее IP-адрес. Чтобы не причинять неудобств абонентам, “сессия” пользователя в неизвестном состоянии трактуется как нормальная стартовавшая сессия, но свойства сессии – MAC-адрес и идентификаторы VLAN/QinQ – берутся из UDR. Это может привести к проблемам в следующих случаях:
- При смене топологии сети: если в результате каких-то работ оператора у пользователя поменялись идентификаторы VLAN/QinQ;
- При замене оборудования пользователем – возможно изменение MAC-адреса;
- При подключении нового пользователя – в UDR данного пользователя ещё нет;
- При внедрении fastDPI BRAS – в этом случае база данных UDR ещё не имеет необходимых атрибутов пользователя – MAC-адреса и идентификаторов VLAN/QinQ
В штатном режиме работы fastDPI BRAS мониторит DHCP-трафик и выделяет из него MAC-адрес и VLAN-теги абонента, запоминая их в своей БД UDR, так что ручного вмешательства не требуется.