Обзор основных протоколов доставки для виртуальных рабочих мест
В инфраструктуре виртуальных рабочих мест могут быть использованы различные протоколы доставки — SPICE, RPD, RX, Loudplay, Glint, VNC и другие. О них речь и пойдет далее в статье.
Что такое протоколы доставки
Протокол доставки для виртуальных рабочих столов VDI — это набор правил и спецификаций, определяющих способ передачи данных между сервером виртуализации и клиентским устройством. Он отвечает за передачу графического контента, аудио, видео, клавиатурного ввода и мыши.
Примеры таких протоколов: SPICE, RPD, RX, Loudplay, Glint, PortICA, HDX, PCoIP, RFB и другие. Каждый из них имеет свои особенности и преимущества, такие как высокая производительность, малая задержка, поддержка мультимедиа и безопасность.
Выбор конкретного протокола зависит от требований к производительности, безопасности и совместимости с различными устройствами и операционными системами.
Критерии выбора
Одним из важных требований к протоколу является обеспечение консистентности (сохранения целостности и согласованности видеопотока) при декодировании видео, то есть чтобы картинка у нас не разбивалась, и пользователю можно было комфортно работать в условиях VDI, в различных профилях.
Речь идет о сохранении синхронизации между аудио и видео, поддержание плавности воспроизведения без сбоев и искажений, а также обеспечение того, чтобы каждый кадр видео был правильно декодирован и отображен в соответствии с исходным материалом.
Для этого используются различные методы, такие как буферизация данных, управление скоростью передачи данных и адаптация к изменяющимся условиям сети.
Далее — отзывчивость в реальном времени (Real-Time Responsiveness) — это способность системы реагировать на события или запросы в течение определенного времени, которое обычно очень мало. В контексте протоколов VDI отзывчивость в реальном времени означает, что система должна быстро обрабатывать и передавать данные между сервером виртуализации и клиентским устройством.
Для этого применяется балансировка трафика (распределение нагрузки между несколькими серверами или сетевыми устройствами для улучшения производительности и уменьшения задержек), мониторинг и измерение времени, необходимого для передачи данных между сервером и клиентом, захват ключевых кадров и другие технологии.
Отметим и адаптацию протокола VDI под арбитрацию потоков — настройку и оптимизацию протокола для эффективного управления потоками данных в виртуальных каналах. Арбитрация потоков — это процесс распределения ресурсов между конкурирующими потоками данных, чтобы обеспечить их оптимальное использование и минимизировать задержки.
Обзор протокола SPICE
SPICE (Simple Protocol for Independent Computing Environments) — это протокол доставки, разработанный компанией Qumranet (ныне часть Red Hat). Он предназначен для передачи графического контента, аудио, видео, клавиатурного ввода и мыши между клиентом и сервером виртуализации.
Данный протокол оптимизирован для передачи графического содержимого, и это делает его идеальным для использования в VDI-средах, где требуется высокая скорость отрисовки изображений.
SPICE является открытым стандартом, что означает, что он доступен для всех разработчиков и может быть интегрирован в различные продукты.
Протокол использует простой обмен сообщениями и не зависит от стандартов вызовов удаленных процедур или специфики транспортного уровня. Он поддерживает двунаправленный обмен настройками каналов и позволяет добавлять и отключать коммуникационные каналы во время работы.
Обзор протокола RPD
RDP (Remote Desktop Protocol) — это протокол доставки для виртуальных рабочих столов VDI, разработанный Microsoft. Он используется для обеспечения удаленной работы пользователя с сервером, на котором запущен сервис терминальных подключений.
Клиенты RDP существуют практически для всех версий Windows, Linux, FreeBSD, Mac OS X, iOS, Android, Symbian. По умолчанию используется порт TCP 3389.
Официальное название клиентского ПО от Microsoft — Remote Desktop Connection или Terminal Services Client.
Протокол RDP обеспечивает надежную передачу данных между клиентом и сервером, включая графическое содержимое, аудио, видео, клавиатурный ввод и мышь. Он также поддерживает двунаправленный обмен настройками каналов и позволяет добавлять и отключать коммуникационные каналы во время работы.
Обзор протокола Loudplay
Loudplay — отечественный продукт, есть в реестре российского ПО, разработка ведется с 2018 г. Это протокол для российских VDI и терминальных сервисов. Он оптимизирован для работы на больших расстояниях, на каналах с низкой пропускной способностью и высокими потерями, с разными по мощности клиентскими устройствами.
Loudplay позволяет работать на клиентах и серверах под управлением Windows и Linux. Энкодирование изображения производится на CPU или на GPU. Заявлена поддержка vGPU NVIDIA, систем виртуализации и bare metal и терминальных сервисов на Linux OS.
Среди преимуществ стоит выделить возможность автоматической настройки качества подключения в изменяющихся условиях сети передачи данных. Также может быть обеспечена непрерывная работа с текстовыми документами, офисными приложениями, CAD системами и видео (до 4К).
Обзор протокола Glint
GLINT — проприетарный протокол подключения пользователя к удаленному рабочему столу, разработка компании «ДАКОМ М».
Glint сервер поддерживает ОС: Astra 1.7, AlterOS 7, RedOS 7.3, Alt Linux 10, Ubuntu 16-22, Windows 7 и выше. Их числа клиентских операционных систем поддерживаются Windows, Linux, Debian, Ubuntu, Astra Linux, RedOS , AlterOS.
Производителем также заявляется возможность работы c аппаратными ускорителями GPU NVIDIA и передачи сигналов управления от пользовательских устройств на сервер для любых ресурсоемких программ и приложений.
Glint использует кодек h264 и позволяет подключаться к удаленному рабочему столу на каналах с пропускной способностью от 1 Мбит/c.
Заключение
Протоколы доставки для виртуальных рабочих столов VDI играют важную роль в обеспечении эффективной и надежной работы удаленных пользователей. Они отвечают за передачу данных между сервером виртуализации и клиентским устройством.
Выбор подходящего протокола зависит от требований к производительности, безопасности и совместимости с различными устройствами и операционными системами и подразумевает учет таких факторов, как консистентность видеопотока, способность быстро обрабатывать и передавать данные, адаптацию под виртуальные каналы.