Вспомните обычный рабочий созвон или видеоконференцию – с задержкой связи, эхом или торможением видео. Как правило, это происходит из-за плавающей пропускной способности каналов связи. И если для одних видов трафика (электронная почта или обмен короткими текстовыми сообщениями), подобные задержки некритичны, то для других (голосовые сообщения, видеотрансляции) они становятся серьезной проблемой. При этом безопасность все равно нужно обеспечивать, да так, чтобы средства наложенной защиты, в том числе для ГОСТ-шифрования, не вызывали дополнительных лагов в работе прикладных сервисов. Для этого криптомаршрутизаторы (они же криптошлюзы) должны поддерживать качество обслуживания (Quality of Service – QoS) различных видов трафика, которые конкурируют между собой за ресурсы различных каналов. В этой статье мы разберем, как обеспечивается QoS в зарубежном оборудовании, и изучим нюансы внедрения этих механизмов в российские криптошлюзы.

Немного теории. Как устроено QoS за рубежом

Рис. 1. Основные этапы в обеспечении QoS в CISCO
Рис. 1. Основные этапы в обеспечении QoS в CISCO

Начнем с мировой практики. На рисунке 1 представлены основные этапы обеспечения QoS в модели DiffServ:

  1. Классификация и маркировка. Распределение трафика по классам, чтобы потом определить приоритет их обработки.

  2. Полисинг (traffic policing). Функция отбрасывает весь трафик, который не соответствует параметрам заданного профиля для ограничения скорости.

  3. Применение механизма очередей, или определение порядка следования пакетов.

  4. Шэйпинг, или функция выравнивания трафика (traffic shaping). Весь приходящий трафик проходит через буфер, а шейпер из этого буфера изымает пакеты с постоянной скоростью. Если скорость поступления пакетов в буфер ниже выходной, они в буфере не задерживаются, а пролетают насквозь. А если скорость поступления будет выше выходной, то они начинают скапливаться. Выходная скорость при этом всегда одинаковая. 

Рис.2. Механизм обработки очередей
Рис.2. Механизм обработки очередей

Реализация QoS в криптомаршрутизаторах

В мультисервисных сетях пакетной коммутации трафик защищают с помощью криптомаршрутизаторов. Его архитектуру можно разделить на три основных элемента:

  • блок внутренней маршрутизации (ВМ)

  • блок криптографической обработки, или самого шифратора (Ш)

  • блок наружной маршрутизации (НМ), вместе в итоге образуют последовательный двунаправленный конвейер обработки мультисервисного трафика.

Рис.3 Основные элементы архитектуры современного криптомаршрутизатора
Рис.3 Основные элементы архитектуры современного криптомаршрутизатора

В упрощенном виде схему криптошлюза, если опираться на архитектуру CISCO, можно представить в виде трех элементов: входной(ые) интерфейс(ы) (Input Interface(s), блок криптографической обработки (БКО) (Crypto Engine) и выходной интерфейс (Output Interface).

Рис. 4. Основные элементы архитектуры современного криптомаршрутизатора (на примере оборудования CISCO)
Рис. 4. Основные элементы архитектуры современного криптомаршрутизатора (на примере оборудования CISCO)

Тонкости внедрения QoS-механизмов в криптошлюзах

Механизмы QoS, которые мировые лидеры-разработчики телеком-оборудования внедряют в обычные коммутаторы и маршрутизаторы, не всегда подходят более современным криптошлюзам из-за более сложной архитектуры.

Как правило, QoS дает нужный уровень качества обслуживания для различных типов сетевого трафика при наличии ограниченного канального ресурса. Механизмы анализируют требования по каждому типу трафика и в итоге предоставляют значения параметров их продвижения по сети, включая потери пакетов и задержки.

Но в криптошлюзах с архитектурой как на рис. 3 весь защищаемый трафик между внутренними и внешними сегментами сети продвигается через шифратор (Ш), где потоки данных, исходящие во внешний сегмент сети, зашифровываются, а входящие – расшифровываются. Поэтому трафик по механизму очередей нужно обрабатывать не только на выходе маршрутизатора, но и на выходе из шифратора (блока криптографической обработки) с учетом его пропускной способности как отдельного виртуального интерфейса.

Также, если установить механизм очередей только на выходном интерфейсе маршрутизатора, то на части шлюзов пакеты могут не доставляться получателю из-за ограничения по длине очереди. Для выполнения требований криптоалгоритма нужно задавать требуемый параметр пропускной способности (размер очереди) каждому типу трафика. Как правило, используется несколько очередей, через каждую из которых пакеты пропускаются с определенным приоритетом. Важно, чтобы высокоприоритетный трафик обрабатывался с минимальной задержкой, но не занимал всю полосу пропускания. И лучше проследить, чтобы трафик менее приоритетных типов обрабатывался в соответствии с его очередью, а не безнадежно застревал в ней на фоне более интенсивного потока данных.

Рис. 4. Пример организации входных очередей на шифраторе криптомаршрутизатора (на примере оборудования CISCO)
Рис. 4. Пример организации входных очередей на шифраторе криптомаршрутизатора (на примере оборудования CISCO)

Методы обработки очередей

Лучше всего для обеспечения механизмов QoS в криптошлюзах подходит метод обработки очередей по типу LLQ (Low Latency Queuing – очереди с низкой задержкой). У этого метода существуют следующие очереди:

  •   приоритетная очередь с гарантированной пропускной способностью для критичного к задержке трафика;

  • очереди с пропускной способностью для трафика, который критичен к самой пропускной способности, но не сильно критичен к задержке и к ее вариациям.

Неклассифицированный трафик передается в очереди без гарантированной пропускной способности и без приоритета (очередь Best Effort).

LLQ можно рассматривать как механизм CBWFQ (Class Based Weighted Fair Queuing) с приоритетной очередью PQ (Priority queuing) – LLQ = PQ + CBWFQ.

Также есть такие методы обработки очередей:

  • FIFO (First IN – First Out) – пакеты поступают в очередь и покидают ее в одной и той же последовательности. При этом нет ни приоритизации трафика, ни гарантированной пропускной способности. Меньше всего подходит для внедрения QoS.

  • CQ (Custom queuing – Произвольные очереди) – предусматривается управление долей полосы пропускания канала для каждой очереди. Поддерживается 17 очередей. Системная нулевая очередь зарезервирована для управляющих высокоприоритетных пакетов (маршрутизация и т.п.). Очереди обходятся последовательно, начиная с первой. Потоки трафика размещаются в 16 очередей (с 1 по 16) с их определенной глубиной.

  • PQ (Priority queuing) – трафик выделяется в четыре очереди с высоким, средним, нормальным и низким приоритетами. Обработка начинается с высокоприоритетной очереди и до ее полной очистки не переходит к менее приоритетным очередям. Таким образом, возможна монополизация канала высокоприоритетными очередями. Трафик, приоритет которого явно не указан, попадет в очередь по умолчанию.

  • WFQ (Weight fair queuing) – общий механизм весового построения очередей.

  • CBWFQ (Class Based Weighted Fair Queuing) соответствует механизму обслуживания очередей на основе классов и может более гибко выделять трафик в очереди. В этом случае принадлежность трафика к очереди может определять администратор на базе IP Precedence, DSCP (Differentiated Services Code Point, Точка кода дифференцированных услуг), интерфейсов и списков доступа (ACL). CBWFQ обеспечивает гарантированную пропускную способность. Весь трафик выделяется в несколько очередей с гарантированной пропускной способностью или без ее резервирования.

  • LLQ (Low latency queuing-очереди с низкой задержкой) – поступающий трафик размещается в следующих очередях:

    - в приоритетной очереди;

    - в нескольких очередях с зарезервированной пропускной способностью;

    - в очереди по умолчанию без резервирования пропускной способности.

Механизмы QoS в российских СКЗИ

Здесь мы рассмотрим реализацию QoS у российских производителей криптошлюзов ООО «Фактор-ТС», «Код Безопасности», «С-Терра СиЭсПи» и «ИнфоТеКС».

ООО «Фактор-ТС»

В рамках технологии DioNIS® ООО «Фактор-ТС», используются TNL-интерфейсы, наряду со статическими криптографическими туннелями, для построения защищенных виртуальных частных сетей (Virtual Private Network – VPN) путем организации криптографических туннелей (криптотуннелей).

При включении на виртуальном туннельном или сетевом L3 или L2 интерфейсе криптомаршрутизатора механизма QoS (с ненулевым значением параметра Скорость передачи в настройках интерфейса) образуются 8 выходных очередей, в которых пакеты распределяются согласно значению IPP поля TOS. Все выходящие с сетевого интерфейса пакеты делятся на логические очереди, в качестве критерия используется значение IP Precedence. Поле IP Precedence или IPP-3 бита) в 8-битном поле типа обслуживания задает и приоритет – чем он выше, тем быстрее исходящий пакет будет передан на отправку с интерфейса.  Затем маршрутизатор вычисляет, из какой очереди можно быстрее передать пакет, и посылает его.

В изделиях ООО «Фактор-ТС» есть механизмы обработки IP-пакетов на сетевом (L3) уровне в соответствии со значением 3-битного подполя приоритета (поле IP Precedence или IPP) в 8-битном поле типа обслуживания (поле Type of Service или ToS) заголовка IP-пакета:

  • тегированных по VLAN-технологии (согласно стандарту IEEE 802.1Q) Ethernet-кадров на канальном (L2) уровне в соответствии со значением 3-битного (согласно стандарту IEEE 802.1p) подполя приоритета (поле Priority – поле Class of Service или CoS) в 32-битном VLAN-теге в составе заголовка Ethernet-кадра;

  • маркировка / перемаркировка (поле IP Precedence или IPP) в 8-битном поля типа обслуживания (поле Type of Service или ToS) заголовка IP-пакета;

  • механизм приоритетной обработки трафика IP-пакета за счет организации на отдельных сетевых интерфейсах изделия защиты пула очередей, который бы пополнялся потоками исходящих IP‑пакета согласно их приоритету (значению подполя IPP поля ToS) и обрабатывался в соответствии с алгоритмом строгой приоритетной очередности (Strict Priority Queuing, SPQ) или с алгоритмом взвешенной справедливой очередности (Weighted Fair Queuing, WFQ).

Код Безопасности

Изделия «Аппаратно-программный комплекс шифрования "Континент"». Версия 3.9" (далее – комплекс, АПКШ «Континент») от «Кода Безопасности» дает управлять очередями на обработку IP-пакетов блоком криптографической защиты и очередью на отправку IP-пакетов сетевым интерфейсом.

Обработка IP-пакетов блоком криптографической защиты выполняется в соответствии с приоритетом, который указан для данного класса трафика. Приоритет указывается в свойствах класса. Возможные значения 0–31. Большему значению соответствует более высокий приоритет.

На сетевом интерфейсе очереди можно организовать только с одинаковым методом обработки. Максимальное количество очередей – 16 для PRIQ и 8 для CBQ и HFSC. IP-пакеты, для которых очередь не определена явным образом, поступают в очередь по умолчанию.

Механизмы QoS, реализуемые в АПКШ «Континент»:

Методы обработки очередей

Описание

PRIQ

Priority Queuing. Последовательная обработка очередей в соответствии с их
приоритетами. Высокоприоритетные очереди могут монополизировать канал.

CBQ

Class Based Queuing. Обработка очередей в соответствии с выделенной на очередь долей общей полосы пропускания. Можно учитывать приоритеты, а также включать для очереди механизм заимствования общей полосы пропускания в случае неиспользования ее другими очередями (borrow).

HFSC

Hierarchical Fair Service Curve. Дополнительно к возможностям CBQ предлагается два типа управления очередью: realtime и linkshare. Параметры Service Curve в данной версии не поддерживаются.

realtime

Полоса пропускания, гарантируемая для данной очереди вне зависимости от потребностей других очередей. При необходимости указанное значение может быть превышено, если определено значение параметра upperlimit.

linkshare

Доля общей полосы пропускания, выделенная для данной очереди. При необходимости указанное значение может быть превышено, если определено значение параметра upperlimit.

upperlimit

Максимальная полоса пропускания, которая устанавливается для данной очереди. Значение параметра должно быть больше или равно значению, указанному для параметра realtime или linkshare.Необязательный параметр.

С-Терра СиЭсПи

В продукте «Программно-аппаратный комплекс С-Терра VPN. Версия 4.3» (далее «С-Терра Шлюз») компании «С-Терра СиЭсПи» поддерживается следующий список технологий под общим названием QoS:

  • маркировка (выставление DSCP/IP-precedence) IP-пакетов – осуществляется средствами самого продукта. По умолчанию IKE-пакеты маркируются DSCP равным 000001 и ToS байт из исходного незашифрованного пакета переносится в зашифрованный.

  • приоритизация промаркированных IP-пакетов в подсистеме шифрования, также осуществляется средствами самого продукта.

  • ограничение полосы пропускания (shaping) исходящего с интерфейса трафика – осуществляется средствами подсистемы traffic control ядра Linux.

 В «С-Терра Шлюз» доступна только одна очередь на обработку пакетов в подсистеме шифрования (размер очереди по умолчанию составляет 2000 пакетов, параметр pq_thread_q_size в drv_mgr). Механизм обработки очереди различает только два вида пакетов – приоритетные и неприоритетные. Если очередь заполнена более чем на заданный процент (по умолчанию 90%, параметр pq_drop_thres в drv_mgr), то неприоритетные пакеты будут удалены.

Если приоритизация включена на интерфейсе (параметр pq_drop_low_pri_ifs в drv_mgr), то по умолчанию приоритетными считаются все пакеты (параметр pq_tos_mask в drv_mgr), у которых значение ToS байта отлично от нуля. И да, не путайте ToS с DSCP. Значение DSCP может быть нулевым, а пакет будет считаться приоритетным, так как младшие два бита или ECN в ToS байте могут быть не нулевыми, и надлежащая обработка ECN в подсистеме шифрования не поддерживается.

Важно: из-за того, что очередь в подсистеме шифрования одна, то приоритетные и неприоритетные пакеты обрабатываются в том порядке, в котором они поступили на шлюз.

ИнфоТеКС

ViPNet Coordinator HW — семейство шлюзов безопасности, которые входят в состав продуктовой линейки ViPNet Network Security компании «ИнфоТеКС». Тут обработка трафика обеспечивается в соответствии с его приоритетом в том случае, если на сетевом оборудовании (например, коммутаторе), подключенном к ViPNet Coordinator HW, поддерживается эта функция, а также включено управление потоком передачи данных (Ethernet Flow Control). Если количество поступающего трафика более чем на 20% превышает пропускную способность ViPNet Coordinator HW, то обработка трафика с заданным приоритетом не гарантируется (по крайней мере в версии 4.5.2, которая актуальна на момент написания статьи).

Таблица 1. Сравнение реализации механизмов обеспечения QoS у отечественных производителей криптомаршрутизаторов

Производитель                       

Классификация и маркирование

Полисинг

Механизм очередей

Шэйпинг

Механизм очередей в шифраторе

Примечание

ООО «Фактор-ТС»

+/IPP

+

+ SPQ, WFQ

+

+ SPQ, WFQ по IPP

Нет возможности обработки пакетов по полю DSCP

«Код Безопасности» (версия 3.9.1)

+/DSCP,IPP

+/-

+ PRIQ,WFQ (CBQ+ HFSC)

 

+

+ до 32 очередей на 32 класса трафика по  IPP/DSCP

Нет возможности настройки параметров очередей в шифраторе по размеру очереди для каждого класса

«С-Терра СиЭсПи» (версия 4.3.20279 )

+/DSCP, IPP

+/-

+ PRIQ

+

+ одна очередь на 2000 пакететов, если очередь заполнена на заданный процент, то неприоритетные пакеты отбрасываются. Приоритетные пакеты- значение поля IPP >0

Нет возможности настройки параметров очередей в шифраторе по полю IPP/DSCP, нет возможности обработки пакетов в очереди в шифраторе по  их приоритету.

Нет механизма WFQ на сетевом интерфейсе

 

ИнфоТеКС

(версия 4.5.2)

Обеспечивает приоритетную обработку поступающего трафика, если его объем не более чем на 20% превышает пропускную способность

В таблице 1 мы сравнили характеристики реализации механизмов QoS у российских производителей криптошлюзов. У всех вендоров есть эта опция, но процесс реализации в шифраторе и на сетевых интерфейсах у всех разный. Советуем обращать на это внимание при выборе оборудования для защиты мультисервисных сетей, которые в свою очередь подразумевают увеличение доли пульсирующего интерактивного (с обратной связью) трафика и трафика реального времени, порой крайне чувствительных к параметрам среды транспортировки.

Автор: Владимир Гончаров, инженер группы проектирования и внедрения сервисов MSS ГК «Солар».

Комментарии (7)


  1. Blck-1
    08.11.2023 10:43

    "Но в криптошлюзах с архитектурой как на рис. 3 весь защищаемый трафик между внутренними и внешними сегментами сети продвигается через шифратор (Ш), где потоки данных, исходящие во внешний сегмент сети, зашифровываются, а входящие – расшифровываются. Поэтому трафик по механизму очередей нужно обрабатывать не только на выходе маршрутизатора, но и на выходе из шифратора (блока криптографической обработки) с учетом его пропускной способности как отдельного виртуального интерфейса."

    Так и не понял зачем?!?!? Те самые "мировые лидеры-разработчики телеком-оборудования" да и мировые лидеры в стандартописании в целом не идиоты и за ними довольно пристально следит целая армия крпто и телеком-спецов чтобы все было безопасно. В частности если передавать что-то криптозакрытое, то не стоит давать потенциальному слушателю возможность понять что часть трафика более приоритетна а если уж надо прям приоритетно и не приоритетно что-то передавать между точками ничего не мешает организовать ДВА SA (Security Association) и одному из них добавлять TOS/DSCP после шифрования.

    Кстати, а эти отечественные изделия между собой хоть как-то совместимы?


    1. Sellatonys
      08.11.2023 10:43

      Кстати, а эти отечественные изделия между собой хоть как-то совместимы?

      Если вы имеете ввиду построение ГОСТ-туннеля между железками разных вендоров - то нет:(
      Может и есть какие-то совместимые вендоры, но, пока, не сталкивался


      1. Blck-1
        08.11.2023 10:43

        Я последний раз с такими "изделиями" лет 18-19 назад имел дело. Видимо, и к огромному сожалению, они так и не вышли из зоны "велосипедоизобретения" и как были устройствами для ИБД так и остались. Только административного давления теперь в разы больше, и возможностей получить степень за счет "решения" проблем выдуманных для "более современным криптошлюзам из-за более сложной архитектуры"..... Жалко и обидно.....


    1. SolarSecurity
      08.11.2023 10:43

      Добрый день!

      Если в блоке шифратора не обрабатывать трафик по приоритетам, то менее приоритетный может не дойти до адресата (или доходить с очень большой задержкой). И если делать два разных SA, то нагрузка на шифратор все равно останется, а поля TOS/DSCP все равно добавляются.


      1. Blck-1
        08.11.2023 10:43

        Так может "мировые лидеры-разработчики телеком-оборудования" делают все проще и правильнее: обрабатывают трафик по приоритетам ДО шифратора, выдают шифратору набор пакетов В ПРАВИЛЬНОЙ последовательности согласно приоритетам и ограничениям очередей а шифратор тупо берет пакеты, шифрует их и отсылает получателям? В чем вундервафельность то? В усложнении блока шифратора путем внедрения в него еще одного механизма приоритизации? Зачем? В переносе информации о шифрованных пакетах ЧЕРЕЗ ШИФРАТОР в "блок наружней маршрутизации" (что бы это не значило)? А тов. полковник о таких фривольностях знает?

        Да и в современном мире говорить о каких-то титанических нагрузках на шифраторы как-то стыдно чтоли -- какая нибудь малинка за полкопейки может line rate или даже больше....


        1. Karroplan
          08.11.2023 10:43

          у наших решений есть две проблемы - 1) отсутствие стандартизации вместо с велосипедостроением - в итоге cisco с juniper прекрасно строят ipsec, а вот S-Terra с VipNet - нет, хотя ГОСТ, который впрочем описывает только алгоритм... 2) все наши решения - это linux на x86, ну или в последнее время на arm. Ну то есть шифрование на процессоре общего назначения, который при этом еще и роутит и линукс на себе запущает... никаких гарантий времени шифрования/дешифрования, чтоб можно было выстроить простую и логичную обработку трафика


          1. Blck-1
            08.11.2023 10:43

            Проблемы велосипедостроения известны более 20 лет как

            По поводу шифрования — ГОСТ симметричный и использует s-boxы насколько я помню. Это значит что шифрует и дешифрует он за известное и одинаковое время. Да, без аппаратного ускорения это медленнее, но все равно время детерминированное. На днях попробую крутануть openssl в режиме benchmark с гост на arm - даже интересно стало

            Что до линукса, но сетевая подсистема у него настолько вылизана уже, что даже самое дешевое железо выдает line rate не напрягаясь и сильно не напрягая платформу.

            поэтому и кажется что все подобные «решения» несуществующих проблем чистой воды ИБД. Показав бурную деятельность какой нибудь сверхзакрытой дипломной комиссии вероятно можно получить плюшек например….