Регулироание полосы пропускания пробрасываемых USB-устройств в AccentOS VDI¶
При реализации удаленного доступа к гостевому рабочему столу возникают следующие задачи:
- проброс классического терминального трафика (экран, клавиатура, мышь)
- проброс USB-устройств (все устройства, подключенные через USB порт)
- проброс сервисов
Возможными методами регулирования трафика является его компрессия, преобразование, мультиплексирование.
Проброс классического терминального трафика может быть реализован разными терминальными протоколами для различных операционных систем, в частности, RDP, VNC, NX, SSH, Blast, NoMachine. При передаче данного вида трафика терминальный протокол умеет обрабатывать графическое изображение текстового, графического типа с высокой эффективностью и минимальной задержкой с учетом специфики среды передачи данных.
Проброс трафика USB устройств существенно отличается от терминального протокола, поскольку USB устройства ничего не знают о том, что данный трафик будет перенаправлен по сети TCP/IP. Соответственно, при пробросе USB устройств возникают проблемы, связанные с пропускной способностью сети, качеством обслуживания трафика, временем задержки, потерями пакетов, объемом передаваемой информации, защиты трафика.
USB-устройства в зависимости от ограничений времени задержки делятся на обычные и изохронные USB-устройства (например, веб-камеры, звуковые карты, устройства реального времени), для которых задержка критична.
USB-устройства в зависимости от скорости и объема делятся на низкоскоростные (клавиатуры, смарт-карты, банковские терминалы) и высокоскоростные (например, веб-камеры, SSD накопители, сканеры, принтеры). Некоторые высокоскоростные USB устройства поддерживают компрессию данных.
Чтобы решить проблему единообразным способом, используются приложения и утилиты, которые превращают USB-трафик высокоскоростных устройств в сервисы, решая проблему изохронности, компрессии, адаптации к сети передачи данных.
- Трафик низкоскоростных USB-устройств ввиду его незначительного объема, передается непосредственно между «тонким клиентом» и гостевым рабочим столом без преобразования.
- Для ряда высокоскоростных USB-устройств уже реализованы сервисы преобразования и компрессии на «тонком клиенте», например, сервис печати (CUPS), передачи звука (ALSA)
- Для сканеров, принтеров существует сервис преобразования USB-IPP, который не выполняет компрессию, это делает сетевой протокол SSH.
- Для USB-накопителей используется сервис преобразования в сетевую файловую систему SSH-FS, который решает проблему высокой нагрузки на сеть передачи данных и выполняют компрессию с помощью SSH.
- Для высокоскоростных USB Web-Cam комплексный трафик преобразовываться на «тонком клиенте» в сервис, который осуществляет компрессию трафика видео и аудио и далее передает его на гостевой рабочий стол.
SSH протокол вместе с функцией компрессии выполняет мультиплексирование трафика на разных портах, преобразование трафика TCP IP в Unix Socket. SSH протокол также выполняет шифрование трафика.