Virtual Network Computing

редактировать
Логотип Virtual Network Computing

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

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

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

VNC в KDE 3.1

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

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

Содержание
  • 1 История
  • 2 Этимология
  • 3 Операция
  • 4 Безопасность
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

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

Среди разработчиков, которые работали над VNC еще в исследовательской лаборатории ATT:

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

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

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

Этимология

Название 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, где N - номер дисплея (обычно: 0 для физического дисплея). Некоторые реализации также запускают базовый HTTP сервер на порту 5800 + N, чтобы предоставить средство просмотра VNC в виде Java-апплета, что позволяет легко подключаться через любую сеть с поддержкой Java. -браузер. Можно использовать разные назначения портов, если и клиент, и сервер настроены соответствующим образом. Также существует реализация клиента HTML5 VNC для современных браузеров (плагины не требуются).

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

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

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

Безопасность

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

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

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

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

См. Также
Ссылки
Внешние ссылки
На Викискладе есть материалы, связанные с VNC.
В Викиучебках есть книга по теме: Интернет-технологии / VNC

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