Из Википедии, бесплатной энциклопедии
  (Перенаправлено из VNC )
Перейти к навигации Перейти к поиску
Логотип Virtual Network Computing

В вычислениях Virtual Network Computing ( VNC ) представляет собой графическую систему совместного использования рабочего стола , которая использует протокол удаленного буфера кадра (RFB) для удаленного управления другим компьютером . Он передает события клавиатуры и мыши с одного компьютера на другой, ретранслируя обновления графического экрана обратно в другом направлении по сети . [1]

VNC не зависит от платформы - существуют клиенты и серверы для многих операционных систем на основе графического интерфейса пользователя и для Java . Несколько клиентов могут одновременно подключаться к серверу VNC. Популярное использование этой технологии включает удаленную техническую поддержку и доступ к файлам на рабочем компьютере с домашнего компьютера или наоборот.

Первоначально VNC был разработан в Olivetti & Oracle Research Lab в Кембридже, Великобритания. Исходный исходный код VNC и многие современные производные являются открытыми под Стандартной общественной лицензией GNU .

VNC в KDE 3.1

Существует несколько вариантов VNC [2], которые предлагают свои собственные функции; например, некоторые оптимизированы для Microsoft Windows или предлагают передачу файлов (не являющуюся частью собственно VNC) и т. д. Многие из них совместимы (без их дополнительных функций) с собственно VNC в том смысле, что средство просмотра одного варианта может подключаться к серверу другого. ; другие основаны на коде VNC, но не совместимы со стандартным VNC.

VNC и РФБ являются зарегистрированными торговыми марками из RealVNC Ltd. в США и некоторых других странах.

История [ править ]

Исследовательская лаборатория Olivetti & Oracle Research Lab (ORL) [3] в Кембридже, Великобритания, разработала VNC в то время, когда лаборатория принадлежала Olivetti и Oracle Corporation . В 1999 году AT&T приобрела лабораторию, а в 2002 году закрыла исследовательские работы лаборатории.

Разработчики, которые работали над VNC, еще работая в исследовательской лаборатории AT&T, включают: [4]

После закрытия ORL в 2002 году несколько членов команды разработчиков (включая Ричардсона, Хартера, Уизералла и Хоппера) сформировали RealVNC, чтобы продолжить работу над открытым исходным кодом и коммерческим программным обеспечением VNC под этим именем.

Исходный исходный код под GPL использовался в нескольких других версиях VNC. Такое разветвление не привело к проблемам совместимости, поскольку протокол RFB разработан с возможностью расширения. Клиенты и серверы VNC согласовывают свои возможности с помощью квитирования , чтобы использовать наиболее подходящие параметры, поддерживаемые на обоих концах.

По состоянию на 2013 год , RealVNC Ltd утверждает , что термин «VNC» в качестве зарегистрированного товарного знака в Соединенных Штатах и в других странах. [5]

Этимология [ править ]

Название Virtual Network Computer / Computing (VNC) возникло в результате работы ORL над тонким клиентом под названием Videotile, который также использовал протокол RFB. Videotile имел ЖК-дисплей с перьевым вводом и быстрое подключение банкомата к сети. В то время сетевой компьютер обычно использовался как синоним тонкого клиента; VNC - это, по сути, программный (т.е. виртуальный) сетевой компьютер. [ необходима цитата ]

Операция [ править ]

  • VNC сервер является программой на компьютере , что акции некоторых экран (и не может быть связано с физическим дисплеем - сервер может быть «без головы» ), и позволяет клиенту контрольный пакет акций этого.
  • Клиент VNC (или средство просмотра) - это программа, которая представляет данные экрана, исходящие от сервера, получает от него обновления и предположительно управляет ими, информируя сервер о собранных локальных входных данных.
  • Протокол VNC ( протокол RFB ) очень прост и основан на передаче одного графического примитива от сервера к клиенту («Поместите прямоугольник данных пикселей в указанную позицию X, Y») и сообщений о событиях от клиента к серверу.

В обычном режиме работы программа просмотра подключается к порту на сервере (порт по умолчанию: 5900). В качестве альтернативы (в зависимости от реализации) браузер может подключиться к серверу (порт по умолчанию: 5800). И сервер может подключаться к программе просмотра в «режиме прослушивания» на порту 5500. Одним из преимуществ режима прослушивания является то, что сайту сервера не нужно настраивать свой брандмауэр, чтобы разрешить доступ через порт 5900 (или 5800); обязанность возлагается на зрителя, что полезно, если сайт-сервер не имеет опыта работы с компьютером, а пользователь-просмотрщик более осведомлен.

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

VNC по умолчанию использует TCP-порт 5900+ N , [6] [7], где N - номер дисплея (обычно: 0 для физического дисплея). Некоторые реализации также запускают базовый HTTP- сервер на порте 5800+ N, чтобы предоставить средство просмотра VNC в виде Java-апплета , что позволяет легко подключаться через любой веб-браузер с поддержкой Java. Можно использовать разные назначения портов, если и клиент, и сервер настроены соответствующим образом. Также существует реализация клиента HTML5 VNC для современных браузеров (плагины не требуются). [8]

Хотя это возможно даже при низкой пропускной способности, использование VNC через Интернет упрощается, если у пользователя есть широкополосное соединение на обоих концах. Однако может потребоваться расширенная настройка NAT , брандмауэра и маршрутизатора, такая как переадресация портов, чтобы соединение проходило. Пользователи могут устанавливать связь через технологии виртуальной частной сети (VPN) для облегчения использования через Интернет или в качестве подключения к локальной сети, если VPN используется в качестве прокси, или через ретранслятор VNC (полезно при наличии NAT). [9] [10]

Xvnc - это VNC-сервер Unix, который основан на стандартном X-сервере . Для приложений Xvnc выглядит как X «сервер» (т. Е. Отображает клиентские окна), а для удаленных пользователей VNC - это сервер VNC. Приложения могут отображаться на Xvnc, как если бы это был обычный X-дисплей, но они будут отображаться в любых подключенных средствах просмотра VNC, а не на физическом экране. [11] В качестве альтернативы, компьютер (который может быть рабочей станцией или сетевым сервером) с экраном, клавиатурой и мышью может быть настроен для загрузки и запуска VNC-сервера как службы или демона, затем экран, клавиатура и мышь. можно снять, а машину хранить в труднодоступном месте.

Кроме того, дисплей, обслуживаемый VNC, не обязательно является тем же дисплеем, который видит пользователь на сервере. На компьютерах Unix / Linux, которые поддерживают несколько одновременных сеансов X11, VNC может быть настроен для обслуживания определенного существующего сеанса X11 или для запуска одного из своих. Также возможно запускать несколько сеансов VNC с одного компьютера. В Microsoft Windows обслуживаемым сеансом VNC всегда является текущий пользовательский сеанс. [ необходима цитата ]

Пользователи обычно развертывают VNC как кроссплатформенную систему удаленного рабочего стола. Например, Apple Remote Desktop для Mac OS X (а с недавних пор « Back to My Mac » в «Leopard» - Mac OS X 10.5) взаимодействует с VNC и будет подключаться к текущему рабочему столу пользователя Unix, если он обслуживается с помощью x11vnc , или к отдельному сеансу X11, если он обслуживается с помощью TightVNC . Из Unix TightVNC будет подключаться к сеансу Mac OS X, обслуживаемому Apple Remote Desktop, если включена опция VNC, или к серверу VNC, работающему в Microsoft Windows. [12]

В июле 2014 года RealVNC опубликовала предварительную версию Wayland для разработчиков. [13] [14]

Безопасность [ править ]

По умолчанию RFB не является безопасным протоколом. Хотя пароли не отправляются в виде обычного текста (как в telnet ), взлом может оказаться успешным, если и ключ шифрования, и закодированный пароль были получены из сети. По этой причине рекомендуется использовать пароль длиной не менее 8 символов. С другой стороны, в некоторых версиях VNC также есть ограничение в 8 символов; если отправленный пароль превышает 8 символов, лишние символы удаляются, а усеченная строка сравнивается с паролем.

UltraVNC поддерживает использование плагина шифрования с открытым исходным кодом, который шифрует весь сеанс VNC, включая аутентификацию по паролю и передачу данных. Это также позволяет выполнять аутентификацию на основе учетных записей пользователей NTLM и Active Directory . Однако использование таких плагинов шифрования делает его несовместимым с другими программами VNC. RealVNC предлагает высоконадежное шифрование AES как часть своего коммерческого пакета вместе с интеграцией с Active Directory. Workspot выпустила исправления шифрования AES для VNC. Согласно TightVNC, [15] TightVNC не является безопасным, поскольку данные изображения передаются без шифрования. Чтобы обойти это, его следует туннелировать через соединение SSH (см. Ниже).

VNC может быть туннелирован через SSH или VPN- соединение, что добавит дополнительный уровень безопасности с более надежным шифрованием. Клиенты SSH доступны для большинства платформ; Туннели SSH могут быть созданы из клиентов UNIX, клиентов Microsoft Windows, клиентов Macintosh (включая Mac OS X и System 7 и выше) - и многих других. Существуют также бесплатные приложения, которые мгновенно создают туннели VPN между компьютерами.

Дополнительной проблемой безопасности при использовании VNC является проверка того, требует ли используемая версия авторизации от владельца удаленного компьютера, прежде чем кто-то получит контроль над своим устройством. Это позволит избежать ситуации, когда владелец компьютера, к которому был осуществлен доступ, без предварительного уведомления поймет, что его устройство контролирует кто-то.

См. Также [ править ]

  • Сравнение программного обеспечения удаленного рабочего стола
  • LibVNCServer
  • LinkVNC
  • PocketVNC
  • RealVNC
  • Реммина
  • СПЕЦИЯ
  • TigerVNC
  • TightVNC
  • VirtualGL # TurboVNC
  • UltraVNC
  • Vinagre

Ссылки [ править ]

  1. ^ Ричардсон, Т .; Stafford-Fraser, Q .; Дерево, КР; Хоппер, А. (1998). «Виртуальные сетевые вычисления» (PDF) . IEEE Internet Computing . 2 : 33–38. CiteSeerX  10.1.1.17.5625 . DOI : 10.1109 / 4236.656066 .
  2. ^ Семейство приложений удаленного управления VNC: список вариантов VNC
  3. ^ «Часто задаваемые вопросы о VNC (FAQ)» . 1999. Архивировано из оригинального 15 августа 2000 года.
  4. ^ Исполнительные профили RealVNC
  5. ^ Авторские права и товарные знаки RealVNC. По состоянию на 23 февраля 2018 г.
  6. ^ «RealVNC - Часто задаваемые вопросы» .
  7. ^ «Конфигурация UltraVnc» .
  8. ^ "noVNC" .
  9. ^ "Повторитель OpenWRT VNC" .
  10. ^ "повторитель uVNC" .
  11. Перейти ↑ AT&T Laboratories Cambridge (1999). «Сервер VNC на базе X» . Виртуальные сетевые вычисления . Архивировано из оригинального 19 марта 2007 года . Проверено 24 марта 2007 года .
  12. ^ "Сервер OnlineVNC для ОС Windows" .
  13. ^ «Предварительная версия для разработчиков VNC® Wayland» . 8 июля 2014. Архивировано из оригинала 14 июля 2014 года . Проверено 10 июля 2014 .
  14. ^ «Электронное письмо разработчика RealVNC Wayland с предварительным просмотром» . freedesktop.org . 9 июля 2014 г.
  15. ^ Насколько безопасен TightVNC? Часто задаваемые вопросы по TightVNC. TightVNC.com, доступ 23 февраля 2018 г.

Внешние ссылки [ править ]

  • RFB 3.8 Стандарт протокола
  • AT&T VNC - оригинальный веб-сайт AT & T-Cambridge VNC