Beta-версия 14.2 [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:changelog:versions:beta [2026/05/06 15:10] elena.krasnobryzhdpi:changelog:versions:beta [2026/06/16 13:06] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
 {{indexmenu_n>1}} {{indexmenu_n>1}}
 ======Beta-версия 14.2====== ======Beta-версия 14.2======
-<note important>[[dpi:changelog:beta_rec]]</note> 
  
 <note>Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через [[dpi:dpi_brief:personal_account|Личный кабинет]]\\ \\ {{:dpi:changelog:versions:ver.png?nolink&1000|}}</note> <note>Отслеживайте текущую версию СКАТ и отправляйте заявки на обновление через [[dpi:dpi_brief:personal_account|Личный кабинет]]\\ \\ {{:dpi:changelog:versions:ver.png?nolink&1000|}}</note>
 +
 +=====Изменения в версии 14.2 BETA8=====
 +  - [DPI] Изменено: после проверки IPSNI откат на базовый протокол или протокол, заданный по SNI (если определен)
 +  - [DPI] Изменено: уменьшена глубина просмотра в попытках декодировь cname/sni
 +  - [CLI] Добавлена команда записи pcap с порта: <code>dev pcap <dev-name> rx|tx|any|off</code> 
 +    * ''rx'' — записывать принятые с порта пакеты
 +    * ''tx'' — записывать отправляемые в порт пакеты
 +    * ''any'' — rx и tx
 +    * ''off'' — завершить запись\\ \\ Префиксы файлов pcap (''dev'' - имя порта):
 +    * ''rx-dev'' — для rx
 +    * ''tx-dev'' — для tx
 +  - [NAT] Исправление консистентности очереди приватного адреса
 +  - [DPI] Решение проблемы выбора tx-порта для многозначных конфигураций: обратный пакет приоритетно посылается в тот порт, из которого был первоначальный пакет
 +  - [NAT] Исправление и оптимизация очереди портов приватного адреса:
 +    - Очередь портов приватного адреса распределена по потокам
 +    - Очередь портов приватного адреса разделена на "короткую" и "длинную".
 +  - [CLI][RG] Добавлено: команда ''rg show <IP>'' просмотра текущих данных по рейтинг-группе для абонента
  
 =====Изменения в версии 14.2 BETA7===== =====Изменения в версии 14.2 BETA7=====
Строка 10: Строка 26:
   - [DPDK] Увеличен максимальный размер памяти до 256 ГБ   - [DPDK] Увеличен максимальный размер памяти до 256 ГБ
   - [DPI][BRAS] Добавлена услуга 20: полисинг по рейтинг группам (RG) и контроль квот по объему.\\ Создание профиля услуги 20:   - [DPI][BRAS] Добавлена услуга 20: полисинг по рейтинг группам (RG) и контроль квот по объему.\\ Создание профиля услуги 20:
-    - Включить поддержку RG в fastdpi.conf  <code># число rating group, 0 RG отключены. Значение по умолчанию: +    - Включить поддержку RG в fastdpi.conf\\ ''rating_group_count=0'' — число rating group, ''0'' — RG отключены. Значение по умолчанию: ''0'' 
-#rating_group_count=0 +
-# max число абонентов с RG. Значение по умолчанию: 0 (RG отключены) +
-#rating_group_max_subs=0</code>   +
     - Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты, пример:<code>rg4 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report     - Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты, пример:<code>rg4 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report
 rg5 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block</code> ''report'' и ''block'' — это доступные действия по достижении квоты: ''report'' — сообщить о достижении квоты, но пропускать трафик далее; ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе rg5 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block</code> ''report'' и ''block'' — это доступные действия по достижении квоты: ''report'' — сообщить о достижении квоты, но пропускать трафик далее; ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе
Строка 27: Строка 40:
   - [DPI] Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам    - [DPI] Исправлено: определение DSCP с первого пакета для облачных протоколов, заданных по адресам 
   - [NAT] Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом   - [NAT] Добавлено явное закрытие TCP-соединения при переиспользовании порта другим абонентом
-  - [CLI] Добавлены новые поля в ''fdpi_cli dump flow cache command''.\\ Опционально, если включена опция ''ipfix_reserved=1'': +  - [CLI] Добавлены новые поля в ''fdpi_cli dump flow cache command''[[dpi:qoe_analytics:cases:network_health:flood|Описание]]
-    * ''tmst='2026/04/22 23:42:30, -00:00:00.590 (154240017032649165 ticks)' '' — время начала сессии +
-    * ''pkts_0=15 pkts_1=16'' — число переданных пакетов в двух направлениях +
-    * ''bts_0=5304 bts_1=9092'' — число переданных байт в двух направлениях +
-    * ''pktd_0=0 pktd_1=0'' — число отброшенных пакетов в двух направлениях +
-    * ''btd_0=0 btd_1=0'' — число отброшенных байт в двух направлениях +
-    * ''host='waa-pa.clients6.google.com' '' — имя хоста если есть в протоколе+
   - [NAT] Изменена работа с очередями публичных портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях. Порты теперь являются элементами подочереди приватного адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу   - [NAT] Изменена работа с очередями публичных портов: порты с коротким временем жизни и с длинным временем жизни живут в разных очередях. Порты теперь являются элементами подочереди приватного адреса. Порт, к которому обращались из non-owner потока, может переиспользоваться сразу
   - [CLI] Добавлена установка rating group и контроля tethering через 18 услугу, в настройке профиля которой добавлены новые опциональные поля:\\ ''tethN'', где возможные варианты:   - [CLI] Добавлена установка rating group и контроля tethering через 18 услугу, в настройке профиля которой добавлены новые опциональные поля:\\ ''tethN'', где возможные варианты:
Строка 51: Строка 58:
     dns  cs1  teth2 rg2     dns  cs1  teth2 rg2
  
-    default cs7 teth0 rg3</code> +    default cs7 teth0 rg3</code> :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответсвующая rg. Отметим, что класс полисинга cs один и тот же. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.**
-<note>В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответсвующая rg. Отметим, что класс полисинга cs один и тот же. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.</note>+
     - конвертируем во внутренний формат<code>cat example.txt|lst2dscp /tmp/example.bin</code>     - конвертируем во внутренний формат<code>cat example.txt|lst2dscp /tmp/example.bin</code>
     - опционально проверяем обратной конвертацией<code>dscp2lst /tmp/example.bin</code>     - опционально проверяем обратной конвертацией<code>dscp2lst /tmp/example.bin</code>
Строка 98: Строка 104:
   - [DHCP-Dual] Исправлено: последовательность запроса адресов DHCPv6, затем DHCPv4 приводила к лишней авторизации   - [DHCP-Dual] Исправлено: последовательность запроса адресов DHCPv6, затем DHCPv4 приводила к лишней авторизации
   - [DHCP-Dual] Исправлено: трассировка ответов DHCPv6, если MAC-адрес стоит на трассировке   - [DHCP-Dual] Исправлено: трассировка ответов DHCPv6, если MAC-адрес стоит на трассировке
-  - [DNS] Добавлена утилита dic2dns+  - [DNS] Добавлена утилита dic2dns. [[dpi:dpi_options:dns_substitution#настройка|Описание]]
  
 =====Изменения в версии 14.2 BETA3===== =====Изменения в версии 14.2 BETA3=====
Строка 104: Строка 110:
   - [DPI] Добавлен разбор туннеля GRE ERSPAN для режима ''check_tunnels=1''   - [DPI] Добавлен разбор туннеля GRE ERSPAN для режима ''check_tunnels=1''
   - [DPI] Сообщение "Can't allocate record http_state" теперь выводится раз в 50000   - [DPI] Сообщение "Can't allocate record http_state" теперь выводится раз в 50000
-  - [DPI] Добавлена проверка флага MARK2 для переопредления в QUIC_UNKNOWN_MARKED когда протокол QUIC еще в процессе определения SNI+  - [DPI] Добавлена проверка флага MARK2 для переопредления в QUIC_UNKNOWN_MARKED когда протокол QUIC еще в процессе определения SNI. [[dpi:dpi_options:opt_priority:priority_config_as#формат_файла_со_списком_автономных_систем_и_их_приоритетами|Описание]]
 ===BRAS=== ===BRAS===
-  - [BRAS][Router] Изменено вычитывание Linux route table при старте роутера\\ В то время, как роутер вычитывает таблицу, BIRD может добавлять новые записи в нее, в результате некоторые записи могут не попасть к нам в роутер, что особенно неприятно, если эта запись — правило default route. Чтобы избежать таких ситуаций, теперь процесс синхронизации выполняется как минимум в два прохода: синхронизация считается успешной, если два последовательных чтения Linux route table возвратили одинаковое число записей. FastDPI будет вычитывать route table до тех пор, пока это условие не выполнится, но при этом если 4 попытки подряд оказались неудачными, то fastDPI строит свой RIB/FIB по последней попытке и планирует новую синхронизацию через небольшое время (2 секунды)+  - [BRAS][Router] Изменено вычитывание Linux route table при старте роутера. [[dpi:dpi_components:router#внутренняя_архитектура_роутераписание]]
  
  
Строка 128: Строка 134:
 =====Изменения в версии 14.2 BETA1===== =====Изменения в версии 14.2 BETA1=====
 ===DPI=== ===DPI===
-  - [DPDK] Переход на новую версию DPDK 25.11 +  - [DPDK] Переход на новую версию DPDK 25.11. [[dpi:dpi_brief:dpi_requirements#минимальные_требования|Описание]] 
-  - [DPI][NAT] Оптимизация при переполнении кэша серый-белый+  - [DPI][NAT] Оптимизация при переполнении кэша приватный-публичный
   - [CLI][VLAN] В команду ''vlan rule dump'' добавлен параметр, определяющий, какой тип правил выводить: ''vlan rule dump [type]''\\ ''type'' — rule type: ''perm'', ''dhcp'', ''all'' (default)\\ Вывести разрешения для VLAN:<code>vlan rule dump perm</code> Вывести правила только для DHCP: <code>vlan rule dump dhcp</code> Вывести все правила: <code>vlan rule dump</code>   - [CLI][VLAN] В команду ''vlan rule dump'' добавлен параметр, определяющий, какой тип правил выводить: ''vlan rule dump [type]''\\ ''type'' — rule type: ''perm'', ''dhcp'', ''all'' (default)\\ Вывести разрешения для VLAN:<code>vlan rule dump perm</code> Вывести правила только для DHCP: <code>vlan rule dump dhcp</code> Вывести все правила: <code>vlan rule dump</code>
-  - [CLI][DPI] Вывод команды ''fdpi_cli dump flow cache format'' расширен новыми полями\\ Формат вывода ''dump flow''\\ Пример: <code>nthr=1 slic=3 proto=6 ip_1=192.168.4.20:65163 ip_2=217.69.133.145:443 ssid=1675E5CF5FB1337 dpip=91 ittr=16 tmlb='2019/10/30 02:02:51, -357.642147s (4148500652028035 ticks)' ialf=0 drct=0x1 iown=1 ilst=1 btsip=0x2 tcpbts_0='-APRSF' tcpbts_1='-AP-S-' qoest=0 qoef_0=0 qoef_1=0 qoer_0=6 qoer_1=6 whip=94.140.198.86:33326 itrnsld=1 igcache=0 gre_pid=0 gre_mtd=0</code> По полям: +  - [CLI][DPI] Вывод команды ''fdpi_cli dump flow cache format'' расширен новыми полями. [[dpi:dpi_components:platform:dpi_admin:flow_statistics|Описание]]
-    * ''nthr=1'' — номер потока, куда помещена запись (для мультикластера может не совпадать с ''iown''+
-    * ''slic=3'' — номер slice кэша +
-    * ''proto=6'' — IP протокол +
-    * ''ip_1=192.168.4.20:65163 ip_2=217.69.133.145:443'' — пара IP адресов и портов идентифицирующие запись. Если у протокола нет портов — последние ''0'' +
-    * ''ssid=1675E5CF5FB1337'' — идентификатор сессии +
-    * ''dpip=91'' — протокол DPI +
-    * ''ittr=16'' — индекс в очереди использования повторных записей +
-    * ''tmlb='2019/10/30 02:02:51, -357.642147s (4148500652028035 ticks)' '' — время последнего обращения к записи +
-    * ''ialf=0'' — номер очереди обработки : +
-      * ''en_nalfs_shrt = 0'' — очередь с коротким временем жизни +
-      * ''en_nalfs_long = 1'' — долгоиграющая очередь +
-    * ''drct=0x1'' — при каких условиях создана запись. Младшие 4 бита задают направление пакета, при котором создан ключ и соответственно принадлежность ''src_ip'' и ''dst_ip''\\ drct = h_ip_1 < h_ip_2 : +
-      * ''drct == 0'' — ''h_ip_1'' — ''src_ip'' +
-      * ''drct == 1'' — ''h_ip_1'' — ''dst_ip''\\ старшие 4 бита задают ''flw_dir'', при котором был создан ключ +
-    * ''iown=1'' — номер потока, который создал запись +
-    * ''ilst=1'' — номер потока, который последний раз обрабатывал запись +
-    * ''btsip=0x2'' — служебные биты обработки flow +
-    * ''tcpbts_0='-APRSF' tcpbts_1='-AP-S-' '' — биты TCP соединения в двух направлениях:<code>( tcp_bits_ & 0x0020 ) ? 'U' : '-'  +
-( tcp_bits_ & 0x0010 ) ? 'A' : '-' +
-( tcp_bits_ & 0x0008 ) ? 'P' : '-' +
-( tcp_bits_ & 0x0004 ) ? 'R' : '-' +
-( tcp_bits_ & 0x0002 ) ? 'S' : '-' +
-( tcp_bits_ & 0x0001 ) ? 'F' : '-'</code> +
-    * ''qoest=0'' — статус QoE: +
-      * ''enst_none = 0'', +
-      * ''enst_ack'' — ждем подтверждающий ACK от клиента на SYN+ACK от сервера +
-      * ''enst_fin_ack'' — ждем подтверждающий FIN+ACK от сервера на FYN от клиента +
-      * ''enst_ack_srvfin'' — ждем подтвердающий ACK от сервера на FIN+ACK от клиента (сервер первый послал FIN) +
-  * ''qoef_0=0 qoef_1=0'' — кол-во фрагментированных пакетов в двух направлениях +
-  * ''qoer_0=6 qoer_1=6'' — кол-во ретрансмитов в двух направлениях +
-  * ''pktp_0=1 pktp_1=0'' — количество пакетов с payload в двух направлениях, но не более 65000 +
-  * ''btsp_0=1 btsp_1=0'' — объем payload в двух направлениях, но не более 65K +
-  * ''whoisc=0'' или ''1'' — кто инициировал соединение +
-  * **Опционально** — если еcть NAT трансляция: +
-    * ''whip=94.140.198.86:33326'' — выделенный белый адрес+порт +
-    * ''itrnsld=1'' — индекс данных профиля по которому был выделен белый адрес +
-    * ''igcache=0'' — индекс в соответствующем кэше-slice перекодировки серый --> белый +
-    * ''gre_pid=0'' — опеределенный callid +
-    * ''gre_mtd=0'' — метод выделения белого адреса для GRE+
   - [BALANCER] Добавлена возможность использования vlan rule для фильтрации пакетов   - [BALANCER] Добавлена возможность использования vlan rule для фильтрации пакетов
   - [DPDK] Добавлено: новая опция ''dpdk_max_memzone'' [cold] — Установка DPDK max memzone count. По умолчанию, в DPDK ''max memzone count = 5120'' (зависит от версии DPDK)\\ ''0'' — использовать default-значение, зашитое в DPDK. Устанавливать значение больше имеет смысл для huge-конфигураций со многими картами, если на старте fastDPI получаем ошибку "Number of requested memzone segments exceeds maximum 5120"   - [DPDK] Добавлено: новая опция ''dpdk_max_memzone'' [cold] — Установка DPDK max memzone count. По умолчанию, в DPDK ''max memzone count = 5120'' (зависит от версии DPDK)\\ ''0'' — использовать default-значение, зашитое в DPDK. Устанавливать значение больше имеет смысл для huge-конфигураций со многими картами, если на старте fastDPI получаем ошибку "Number of requested memzone segments exceeds maximum 5120"