Терминация трафика
Активация
FastDPI BRAS может терминировать исходящий трафик LAN→WAN и приземлять входящий WAN→LAN.
Терминация трафика производится на уровне L2, включается настройками в fastdpi.conf:
bras_terminate_l2=1 bras_gateway_ip=192.168.0.1 bras_gateway_mac=aa:bb:cc:dd:ee:ff
Значения bras_terminate_l2:
- 1 - включено
- 0 - выключено
При включенном режиме L2-терминации должны быть заданы параметры бордера/шлюза за fastDPI:
bras_gateway_ip- IP-адрес шлюзаbras_gateway_mac- MAC-адрес шлюза
Во входящих (из inet) пакетах: srcMAC=bras_arp_mac, dstMAC=MAC-адрес абонента. MAC-адрес абонента определяется по его IP; если определить невозможно - пакет отбрасывается.
Работа с VLAN-тэгами
Также терминация подразумевает удаление VLAN-тегов из исходящего пакета, приземление (origination) – добавление VLAN-тегов, соответствующих IP-адресу получателя.
Включение режима терминации VLAN-трафика производится конфигурационным параметром
bras_vlan_terminate. Если его значение 0 (это значение по умолчанию) – VLAN-терминация отключена,
если не ноль – терминация включена. Существует следующие режимы VLAN-терминации:
bras_vlan_terminate=1– “честная” терминация – VLAN-теги вырезаются из пакетовbras_vlan_terminate=2– подмена VLAN-теговbras_vlan_terminate=3– трансформация VLAN-тегов (СКАТ версии 7.4 и выше)
Режимы L2-терминации и VLAN-терминации могут применяться независимо друг от друга.
Имеется возможность указать для конкретного абонента, в какой VLAN терминировать его пакеты на пути subs→inet. Для этого в ответе авторизации Access-Accept нужно добавить VSA-атрибут VasExperts-OutVLAN, задающий VLAN-тег (только один). VSA-атрибут VasExperts-OutVLAN имеет следующее задание:
ATTRIBUTE VasExperts-OutVLAN 9 integer
Если абонент имеет свойство outVLAN, оно имеет наивысший приоритет в режимах bras_vlan_terminate 2 и 3.
term. Для входящего трафика приземление (оригинация)
производится только если AS для dest IP (серый, после NAT) помечена как term.
Терминация при L3 авторизации
В СКАТ 9.2 появилась возможность указать при L3-авторизации, что абонент является на самом деле L2-абонентом и к нему применима L2-терминация. Для этого в ответе Access-Accept L3-авторизации указывается VSA-атрибут
VasExperts-L2-User=1
В этом случае СКАТ сохранит в UDR L2-свойства абонента (его MAC, VLAN'ы) из входящего пакета и будет обрабатывать данного абонента как L2, - проводить терминацию и приземление его трафика.
Атрибут VasExperts-L2-User=1 имеет смысл только для L3-авторизации. Для всех других типов авторизации (DHCP, ARP, PPPoE и пр.) этот атрибут игнорируется, его наличие не считается ошибкой.
В выводе команды fdpi_ctrl list --ip_prop такие абоненты будут помечаться особым типом "L3-auth". Если абонент уже авторизован по DHCP, ARP или PPPoE, указание VasExperts-L2-User=1 не меняет тип его сессии на "L3-auth", то есть тип "L3-auth" является наименее приоритетным.
Если абонент в UDR СКАТа является "L3-auth", то есть в ответе L3-авторизации Access-Accept ранее было указано VasExperts-L2-User=1, а при следующей L3-авторизации ответ не содержит этого атрибута, то СКАТ считает, что абонент перестал быть терминируемым и удаляет из UDR его L2-свойства (MAC, VLAN).
Терминация PPPoE-трафика
При работе СКАТ в режиме PPPoE-сервера (bras_pppoe_enable=1) производятся следующие манипуляции с PPPoE-пакетами:
- в направлении LAN → WAN: из пакета удаляются PPPoE/PPP заголовки,
srcMAC := bras_arp_mac,dstMAC := bras_gateway_mac - в направлении WAN → LAN: в пакет добавляются PPPoE/PPP заголовки,
srcMAC := bras_arp_mac,dstMAC := MAC-адрес абонента. Если PPPoE сессия не найдена по IP, пакет дропается.
Все возможности по терминации трафика поддерживаются, включая VLAN/QinQ теги в PPPoE-трафике и их терминацию.
bras_terminate_l2=1 к PPPoE-сессиям не применяется: для PPPoE всегда производится корректировка L2-заголовка пакетов как описано выше.
Режим терминации по AS к PPPoE-трафику не применим, так как в PPPoE-пакетах не всегда есть IP-адрес, поэтому определить AS в общем случае невозможно.
Была ли полезна эта информация?