Технология NX

редактировать
Программное обеспечение для виртуализации рабочих столов и доставки приложений
Технология NX
Первый выпуск2002
Стабильный выпуск 6.11.2 / 16 июня 2020 г.; 3 месяца назад (2020-06-16)
Размер 28 MB
Тип Удаленный рабочий стол программное обеспечение
Лицензия Бесплатное ПО
Веб-сайтwww.nomachine.com

Технология NX, широко известная как NX, представляет собой проприетарное программное приложение для удаленного доступа, совместного использования рабочего стола, виртуального рабочего стола (только в Linux) и передачи файлов между компьютерами. Он разработан люксембургской компанией NoMachine, которая также дает свое имя этому программному обеспечению.

Содержание

  • 1 Функции
  • 2 История
  • 3 NX 4 и более поздние версии
  • 4 Аутентификация
  • 5 Версия 3 и более ранние
  • 6 Другие протоколы отображения
  • 7 Лицензия
  • 8 Клиенты
  • 9 Предыдущие схемы сжатия X11
  • 10 См. Также
  • 11 Ссылки
  • 12 Внешние ссылки

Возможности

NX можно установить на серверах Windows, Mac, Linux и Linux ARM. Клиентское программное обеспечение доступно для Windows, Mac OS X, iOS, Android, Linux, Linux ARM и HTML / JavaScript. Его функции включают совместное использование сетевых устройств, запись сеанса, передачу файлов, мультимедийные возможности и доступ через браузер.

Серверные продукты, ориентированные на предприятие, также предлагают кластеризацию с несколькими вычислительными узлами и функции аварийного переключения, а также возможность запускать несколько виртуальных экземпляров Linux на одном компьютере (функциональность Linux Terminal Server).

NX использует VirtualGL для плавного запуска высокопроизводительных X-приложений на основе OpenGL и программ трехмерного САПР с высоким разрешением.

NX - или NoMachine, как его часто называют с момента выпуска версии 4 - не зависит от платформы. Его можно установить в экземплярах Linux, Windows и Mac, виртуализированных в популярных гипервизорах, таких как Xen, KVM или VMware, и интегрировать с любым инфраструктура виртуальных рабочих столов, работающая в частных или общедоступных облаках, например Amazon EC2 или Rackspace.

History

В 2001 году протокол сжатия и транспорта NX был создан для повышения производительности собственного протокола отображения X, чтобы его можно было использовать в медленных соединениях, таких как модемы удаленного доступа. Он заключал удаленные соединения в сеансы SSH для шифрования.

Дизайн NX был заимствован из проекта компрессора протокола Differential X (DXPC). NX версии 1 был выпущен 14 февраля 2003 года. Последнее обновление, версия 3.5, было выпущено в 2012 году.

Начиная с версии 3.5, технология сжатия ядра NX стала доступной для сообщества в рамках GNU Лицензия GPL2, в то время как другие компоненты, такие как программы NX Server и NX Client, оставались частными.

В 2009 году Google выпустил бесплатную открытую версию GPL2 версию сервера под названием Neatx. Также доступны другие варианты NoMachine NX с открытым исходным кодом (см. Ниже).

Начиная с 2013 года, с выпуском версии 4.0, NX стал с закрытым исходным кодом.

NX 4 и более поздние версии

NX 4 представили оптимальное сжатие и кэширование изображений с помощью новейших технологий кодирования видео.

Клиентские приложения могут подключаться по протоколу SSH с теми же механизмами аутентификации, что и версия 3, с помощью нового входа в систему SSH или нового демона NX с поддержкой SSL. После установления безопасного соединения клиенты согласовывают сеанс рабочего стола с использованием текстового протокола, совместимого с протоколом, используемым в версии 3. Клиенты также могут использовать одну из различных подсистем NoMachine, например службу синхронизации файлов, обновления программного обеспечения, службы каталогов, голос / видеосообщения и кластеризация серверов.

При соединении хостов по сети протокол NX работает как общий туннель с дополнительной информацией о кадрировании и управлении потоком, а также динамически адаптирует сжатие и полосу пропускания в соответствии со скоростью и пропускной способностью сети. Для совместимости мультиплексирование основано на версии 3.

NX 4 добавил новые типы каналов для обработки таких сервисов, как перенаправление новой файловой системы, новая система печати, виртуальные сетевые интерфейсы, смарт-карты и USB-устройства. Большинство компонентов NoMachine, включая программу агента, олицетворяющую сеанс рабочего стола на сервере, включают так называемые «подчиненные серверы» - легковесные серверы, обеспечивающие межпроцессный обмен данными и автоматизацию, которые можно использовать для создания дополнительных каналов под управлением клиент и сервер.

Приложения по-прежнему могут запрашивать передачу данных по каналам, используя сжатие протокола NX X Window System. В версии 4 добавлены новые типы каналов для видео и аудио, что позволяет использовать несколько кодеков в одном потоке. В настоящее время каналы отображения (видео) могут обрабатывать данные в H.264, VP8, MJPEG и других форматах, с дополнительными примитивами, используемыми для реализации специальных операций кодирования одновременно со стандартными аудио- и видеопотоками.

После установления сеанса между клиентом и сервером данные NX могут перемещаться по потокам TCP и UDP. Клиент и сервер динамически выбирают, какой транспорт использовать, в зависимости от типа данных и состояния сети. Если связь через UDP разрешена, клиент и сервер могут автоматически дать команду маршрутизатору открыть необходимые порты. UDP использует симметричное шифрование Blowfish. Интерфейс и порт хоста, а также ключ шифрования Blowfish согласовываются через безопасный канал TCP. Связь UDP отключена при использовании туннелирования SSH, поэтому все данные используют одну и ту же ссылку SSH.

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

Аутентификация

Начиная с версии 4.0, когда используется протокол NX по умолчанию, вход в систему может осуществляться с помощью аутентификации на основе пароля, закрытого ключа или аутентификации билета Kerberos.

Когда NX настроен на отправку данных по SSH (доступен только на серверах корпоративной версии), доступны следующие методы аутентификации:

Клиент на сервер

  • Вход в систему NX как пользователь NX с использованием ключа NX SSH и аутентификации на основе пароля
  • Вход в систему с аутентификацией на основе пароля
  • Вход в систему с аутентификацией на основе ключа SSH
  • Вход в систему с Аутентификация на основе ключа SSH и ключ SSH, хранящийся на смарт-карте
  • Вход в систему с использованием билета Kerberos на стороне клиента

От сервера к узлу

  • Вход с паролем
  • Вход с помощью ключа SSH перенаправлено от клиента (например, NoMachine Player) через сервер на узел
  • Вход с билетом Kerberos, переадресованным от клиента через сервер к узлу
  • Вход с билетом Kerberos, запрошенным Kinit на хосте сервера
  • Войдите в систему с помощью билета Kerberos, запрошенного модулем PAM на хосте сервера.
  • Войдите с паролем к билету Kerberos, запрошенному модулем PAM на хосте узла

версии 3 и более ранних

NX co сжимает данные X11, чтобы минимизировать объем передаваемых данных, а кэширует данные, чтобы поддерживать максимально возможный отклик сеанса. Например, при первом открытии меню это может занять несколько секунд, но впоследствии открывается почти мгновенно.

NX быстрее, чем его предшественники, поскольку он устраняет большую часть X круговых обходов, в то время как dxpc и MLView только сжимают данные.

Двумя основными компонентами NX являются nxproxy и nxagent . nxproxy создается и запускается как на удаленных (клиент в терминологии X), так и на локальных (сервер в терминологии X) машинах, имитируя X-сервер на клиенте и перенаправляя удаленные запросы X-протокола на локальный X-сервер.

Простейшая настройка:

удаленные клиенты (xterm и т. Д.) ↕ клиент nxproxy ↕ сеть ↕ сервер nxproxy ↕ локальный X-сервер (монитор / клавиатура)

только nxproxy дает 1 : От 10 до 1: 1000 коэффициентов сжатия, что снижает пропускную способность, но не устраняет большинство синхронных циклов передачи данных X, ответственных за большую часть воспринимаемой задержки X.

nxagent, производный от Xnest (аналогично Xephyr ), обычно запускается на удаленном (клиентском) компьютере, что позволяет избежать большинства циклов передачи данных по протоколу X11. Вместе с nxproxy (встроенным в nxagent) эта настройка хорошо работает в каналах с низкой пропускной способностью и высокой задержкой.

Типичная настройка:

удаленные клиенты (xterm и т. Д.) ↕ сторона сервера nxagent \ сторона клиента nxagent исполняемый файл nxagent клиент nxproxy / ↕ сеть ↕ сервер nxproxy ↕ локальный X-сервер (монитор / клавиатура)

В системах с функциональной реализацией X11 nxproxy и nxagent - это все, что необходимо для установления соединения с требованиями к низкой пропускной способности между набором удаленных X-клиентов и локальным X-сервером. SSH можно использовать для установления безопасного туннеля между хостами. NX 3 опирается на функции SSH и существующее программное обеспечение SSH с открытым исходным кодом, что позволяет запускать современные настольные компьютеры Unix и Windows, а также произвольные сетевые приложения через Интернет в защищенном и контролируемом режиме.

FreeNX и различные клиенты NX используются для настройки, обработки приостановки и возобновления, безопасного туннелирования через SSH, а также печати и звука.

Другие протоколы отображения

Все корпоративные версии протокола NoMachine NX разрешают клиентские подключения к хостам через протокол удаленного рабочего стола (для сеансов служб удаленных рабочих столов Windows) и удаленный Сеансы виртуальных сетевых вычислений (большинство современных платформ операционных систем общего назначения), а также XDM.

Лицензия

До версии 4.0 компания NoMachine выпускала базовую технологию NX в соответствии с Стандартной общественной лицензией GNU и предлагала платные коммерческие решения NX., бесплатные клиентские и серверные продукты для Linux и Solaris, а также бесплатное клиентское программное обеспечение для Microsoft Windows, Mac OS X и встроенные системы.

21 декабря 2010 г. NoMachine объявила, что NX 4.0 будет с закрытым исходным кодом.

Из-за того, что старые версии NX были свободными, проект FreeNX был начат с предоставления сценариев оболочки для библиотеки GPL NX. FreeNX был разработан и поддерживается компанией, но не объявлял о выпуске с 2008 года.

2X Software разработала еще один коммерческий терминальный сервер для Linux с использованием протокола NX.

Вкл. 7 июля 2009 г. Google анонсировал свой сервер NX с открытым исходным кодом, Neatx, как внутренний проект. Проект не имеет релизов и активно не развивается. Его исходный код доступен под лицензией GNU GPL v2.

X2Go основан на библиотеках 3.x NX, но несовместим с другими реализациями. Клиент и сервер выпускаются под комбинацией GNU GPLv2 или новее и GNU AGPLv3 или новее.

Клиенты

Основными клиентами NX являются официальные бесплатные программы, NoMachine и NoMachine Enterprise Client. Несколько проектов с открытым исходным кодом также могут использовать протокол NX.

Зрелым проектом ОС была клиентская библиотека nxc Лоуренса Руфаила, полная библиотека, которую можно использовать для развития других клиентов. Приложение nxrun использует эту библиотеку. По состоянию на 2006 год библиотека не позволяет приостанавливать или возобновлять сеансы и использует только сжатие графики JPEG.

Проект kNX был пробным приложением, написанным Джозефом Веннингером, и в его планах в конечном итоге стать полноценным клиентом NX, чтобы показать возможность написания клиента с открытым исходным кодом. Его разработка была остановлена ​​до завершения. В конце 2005 года Джордж Райт начал модифицировать kNX для использования библиотеки nxc, но отказался от проекта.

Более поздние разработки с открытым исходным кодом включают QtNX, который предлагает полную приостановку и возобновление. Однако сообщалось, что он несовместим с самыми последними библиотеками NX.

Nxcl, обновление nxclientlib, ядра QtNX, было завершено Себом Джеймсом в сентябре 2007 года и работает с версией 3 основных библиотек NX. Он также избавляется от зависимости от Qt, что не позволяет nxclientlib широко использовать в качестве кроссплатформенной основы для клиентских программ NX. nxcl предоставляет библиотеку, которая может быть связана с клиентской программой (libnxcl), и автономный клиент NX с D-Bus API (двоичный файл nxcl). Он доступен на сервере FreeNX Subversion.

Другие недавние и активно поддерживаемые клиенты OSS NX включают OpenNX, описываемый как «прямая замена [проприетарного] nxclient от NoMachine» с полной приостановкой и возобновлением работы.

Различные проекты серверов терминалов с открытым исходным кодом, такие как X2Go, также используют протокол NX. Однако X2Go несовместим с другими серверами или клиентами NX.

Remmina, еще один недавний клиентский проект удаленного рабочего стола GTK +, объявил о возможности использования протокола NX в своем выпуске 0.8.

Предыдущие схемы сжатия X11

  • Low Bandwidth X (lbxproxy; устаревшее и представляет исторический интерес только)

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-31 07:36:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте