Трансляция VLAN [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:platform:dpi_vlan_recode:start [2020/08/11 15:28] mkhizhinskydpi:dpi_components:platform:dpi_vlan_recode:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-====== 14 Трансляция VLAN ====== 
-{{indexmenu_n>14}} 
  
-В СКАТ 9.3 добавлена возможность трансляции VLAN: входящий VLAN пакета заменяется на заданный исходящий VLAN.  
-Трансляция VLAN задается в текстовом файле ''/etc/dpi/vlan_translation.txt'', имеющем следующую структуру: 
-<code> 
-# subs VLAN    inet VLAN 
-123            1123 
-124            1124 
-125            1125 
-# и так  далее 
-</code> 
-Каждая строка файла задает соответствие входящего и исходящего VLAN. 
-Строка, начинающаяся с ''#'', является комментарием. Начальные пробелы/табуляции строки игнорируются. 
- 
-Текстовый файл трнсляций должен быть сконвертирован в бинарный ''/etc/dpi/vlan_translation.bin'' утилитой vlan2bin из состава dpiutils: 
-<code> 
-cat vlan_translation.txt|vlan2bin /etc/dpi/vlan_translation.bin 
-</code> 
- 
-Обратная конвертация из бинарного вида в текстовый производится утилитой bin2vlan: 
-<code> 
-bin2vlan /etc/dpi/vlan_translation.bin >vlan_translation.txt 
-</code> 
- 
-Режим трансляции VLAN включается просто наличием файла ''/etc/dpi/vlan_translation.bin'': если этот файл есть, режим трансляции включен. Отсутствие файла является признаком выключения режима трансляции VLAN. Содержимое файла трансляции можно менять в процессе работы: СКАТ периодически проверяет наличие файла и если он изменился, - перечитывает таблицу трансляции. Выключить режим трансляции на лету можно просто удалив или переименовав файл трансляций ''/etc/dpi/vlan_translation.bin''. 
- 
-Если трансляция VLAN включена, она применяется при любом режиме работы СКАТ, а не только в режиме BRAS. 
- 
-При включенном режиме трансляции VLAN СКАТ делает следующее: 
-  * пакет от абонента в интернет (subs -> inet): ищем в таблице трансляции входящий VLAN пакета (subs VLAN); если VLAN найден - заменяем его на исходящий inet VLAN. В примере выше subs VLAN=123 будет заменен на inet VLAN=1123. 
-  * пакет inet -> subs: ищем в таблице трансляций входящий VLAN пакета (inet VLAN); если VLAN найден - заменяем его на исходящий subs VLAN. В примере выше inet VLAN=1124 будет заменен на subs VLAN=124. 
-  * Если входящий VLAN не найден в таблице трансляций - он не изменяется (такая ситуация не является ошибкой). Таким образом, таблица трансляций не обязательно должна быть полной и перечислять все VLAN. 
-  * Для пакета passthrough (например, если для AS установлен признак pass) трансляция VLAN не применяется. 
- 
-Трансляция VLAN применяется только для пакетов с одним VLAN-тегом. Для QinQ трансляция не применяется. Если пакет не имеет VLAN-тега, трансляция также не применяется, - пакет отправляется "как есть", без изменений. 
- 
-Соответствие должно быть взаимно-однозначным; следующее задание недопустимо: 
-<code> 
-# subs VLAN    inet VLAN 
-   # Ошибка: два subs VLAN (64 и 65) транслируются в один VLAN=200 
-64             200 
-65             200 
- 
-   # Аналогичная ошибка: inet VLAN 202 и 203 транслируются в один subs VLAN=2067 
-2067           202 
-2067           203 
-# ... 
-</code> 
- 
-В конце файла можно добавить записи трансляции по умолчанию: 
-<code> 
-# subs VLAN    inet VLAN 
-123            1123 
-124            1124 
-125            1125 
-# далее перечисляем все прочие трансляции ... 
- 
-# Запись "все прочие subs VLAN на пути subs->inet транслировать в inet VLAN 4012" 
-# В файле может быть только одна такая запись! 
-*              4012 
- 
-# Запись "все прочие inet VLAN на пути inet->subs транслировать в subs VLAN 2089" 
-# В файле может быть только одна такая запись! 
-2089           * 
- 
-# конец файла трансляций 
-</code> 
- 
-==== Совместимость с режимом L2 BRAS ==== 
-{{anchor:l2_bras_compat}} 
-Трансляция VLAN применяется также в режиме L2 BRAS, но с учетом того, что L2 BRAS СКАТ уже умеет выполнять [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan_term:start|замену VLAN-тегов]], немного по другим правилам.  
-Таблица трансляций VLAN применяется в L2 BRAS при терминации трафика sub->inet в следующих случаях: 
-  - если абонент не является L2-абонентом (то есть для абонента неизвестны [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan_ctl:start|L2-свойства]]); 
-  - если терминация VLAN отключена (то есть ''bras_vlan_terminate=0''); 
-  - в режиме [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan_term:bras_l2_vlan_term_zero|подмены]] ''bras_vlan_terminate=2'': если абонент не имеет свойства [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan_term:start#outvlan|outVLAN]] и есть запись трансляции для VLAN-тега пакета; 
-  - в режиме [[dpi:dpi_options:opt_bras_l2:bras_l2_vlan_term:bras_l2_vlan_term_trans|трансформации VLAN]] ''bras_vlan_terminate=3'': если абонент не имеет свойства outVLAN и есть запись трансляции для VLAN-тега пакета. 
- 
-Проще говоря, в режимах ''bras_vlan_terminate''=2 или 3 наивысший приоритет при терминации трафика subs->inet имеет свойство outVLAN абонента, далее (если абонент не имеет свойства outVLAN и если пакет имеет только один VLAN-тег) следует поиск в таблице трасляций VLAN, далее, если трансляции не найдено, применяются конфигурационные параметры, как описано в режимах ''bras_vlan_terminate'' (см. ссылки выше). 
- 
-При приземлении трафика inet->subs таблица трансляций VLAN в режиме L2 BRAS применяется только для неизвестных абонентов, то есть когда СКАТ не находит L2-свойства абонента. 
- 
-==== CLI-команды ==== 
-{{anchor:cli}} 
-Имеется несколько [[dpi:dpi_options:cli:start|CLI-команд]] для работы с таблицей трансляций VLAN. 
- 
-<code> 
-fdpi_cli vlan translation 
-</code> 
-Выводит текущие таблицы трансляций subs->inet и inet->subs. В выводе этой команды записи "по умолчанию" вида ''* N'' и ''N *'' развернуты. Если трансляций нет, команда сообщит об этом. 
- 
-<code> 
-fdpi_cli vlan translation reload 
-</code> 
-Немедленная загрузка файла ''/etc/dpi/vlan_translation.bin''. Если файла нет - режим трансляции VLAN выключается. 
-СКАТ периодически (раз в минуту) проверяет наличие и изменение файла ''/etc/dpi/vlan_translation.bin'', но этой командой можно принудительно заставить СКАТ перечитать этот файл немедленно. 
- 
-<code> 
-fdpi_cli vlan translation test [subs|inet] <vlan> 
-</code> 
-Проверка трансляции VLAN на указанном пути: 
-  * ''subs'' - трансляция subs-VLAN ''<vlan>''  
-  * ''inet'' - трансляция inet-VLAN ''<vlan>''  
-Примеры: 
-<code> 
-  # в какой VLAN транслируется VLAN=123 на пути subs->inet 
-fdpi_cli vlan translation test subs 123 
-  # выхлоп команды: 
-VLAN=123 translation subs->inet: 123 -> 1123 
- 
-  # в какой VLAN транслируется VLAN=1124 на пути inet->subs 
-fdpi_cli vlan translation test inet 1124 
-  # выхлоп команды: 
-VLAN=1124 translation inet->subs: 1124 -> 124 
- 
-  # Если трансляции для указанного VLAN нет, команда ответи ошибкой вида: 
-No translation for VLAN=666 for subs->inet 
- 
-</code>