Регулироание полосы пропускания пробрасываемых 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 протокол также выполняет шифрование трафика.