가상 네트워크 컴퓨팅

Virtual Network Computing
가상 네트워크 컴퓨팅 로고

컴퓨팅에서 VNC(Virtual Network Computing)는 다른 컴퓨터를 원격 제어하기 위해 Remote Frame Buffer Protocol(RFB)을 사용하는 그래픽 데스크톱 공유 시스템입니다.키보드마우스 입력을 한 컴퓨터에서 다른 컴퓨터로 전송하여 그래픽 [1]화면 업데이트를 네트워크를 통해 중계합니다.

VNC는 플랫폼에 의존하지 않습니다.많은 GUI 기반 운영체제 및 Java용 클라이언트와 서버가 있습니다.복수의 클라이언트가 동시에 VNC 서버에 접속할 수 있습니다.이 테크놀로지의 일반적인 용도에는, 리모트 기술 서포트와 자택의 컴퓨터로부터 업무용 컴퓨터의 파일에의 액세스, 또는 그 반대도 있습니다.

VNC는 원래 영국 캠브리지의 Olivetti & Oracle Research Lab에서 개발되었습니다.원래의 VNC 소스 코드와 많은 최신 파생 모델은 GNU General Public License의 오픈 소스입니다.

KDE 3.1의 VNC

독자적인 기능을 제공하는 VNC에는[2] Microsoft Windows용으로 최적화된 VNC나 파일 전송 기능(VNC의 일부가 아님) 등 다양한 종류가 있습니다.어떤 플레이버의 뷰어가 다른 플레이버의 서버와 접속할 수 있다는 점에서 많은 것이 VNC와 호환성이 있습니다.다른 것은 VNC 코드를 기반으로 하지만 표준 VNC와 호환되지 않습니다.

VNC 및 RFB는 미국 및 기타 국가에서 Real VNC Ltd.의 등록 상표입니다.

역사

영국 캠브리지의 올리베티 & 오라클 리서치 랩(ORL)[3]은 올리베티와 오라클사가 연구실을 소유하고 있던 시기에 VNC를 개발했다.1999년 AT&T가 연구실을 인수하고 2002년 연구실을 폐쇄했다.

AT&T Research Lab에 있을 때 VNC에서 일한 개발자는 다음과 같습니다.[4]

2002년 ORL이 폐쇄된 후 Richardson, Harter, Weatherall 및 Hopper를 포함한 여러 개발팀이 Real VNC를 결성하여 오픈 소스 및 상용 VNC 소프트웨어에 대한 작업을 계속했습니다.

원래의 GPLed 소스 코드는 다른 버전의 VNC에 공급되고 있습니다.RFB 프로토콜은 확장 가능하도록 설계되었기 때문에 이러한 포킹으로 인해 호환성 문제가 발생하지 않았습니다.VNC 클라이언트와 서버는 양단에서 지원되는 가장 적절한 옵션을 사용하기 위해 핸드쉐이킹을 사용하여 기능을 네고시에이트합니다.

2013년 현재 Real VNC Ltd는 "VNC"라는 용어를 미국 및 기타 [5]국가에서 등록 상표로 주장하고 있습니다.

어원학

VNC(Virtual Network Computer/Computing)라는 이름은 비디오 파일이라는 클라이언트에서 ORL이 RFB 프로토콜을 사용하면서 유래되었습니다.비디오 파일에는 펜 입력이 가능한 LCD 디스플레이와 네트워크에 대한 빠른 ATM 연결이 있었다.당시 네트워크 컴퓨터는 신 클라이언트의 동의어로 일반적으로 사용되었습니다.VNC는 기본적으로 소프트웨어 전용(가상) 네트워크 [citation needed]컴퓨터입니다.

작동

  • VNC 서버는, 일부의 화면을 공유하는 머신상의 프로그램(물리 디스플레이와는 관련 없는 경우가 있습니다.서버는 「헤드리스」일 수 있습니다)으로, 클라이언트에 의한 제어의 공유를 가능하게 합니다.
  • VNC 클라이언트(또는 뷰어)는 서버로부터 발신된 화면 데이터를 나타내며 업데이트를 수신하고 수집된 로컬 입력을 서버에 통지하여 제어하는 프로그램입니다.
  • VNC 프로토콜(RFB 프로토콜)은 서버에서 클라이언트로 하나의 그래픽 프리미티브("지정된 X,Y 위치에 픽셀 데이터의 직사각형 배치") 및 클라이언트에서 서버로 이벤트 메시지를 전송하는 매우 단순합니다.

통상의 조작 방법에서는, 뷰어는 서버상의 포토(디폴트 포토:5900)에 접속합니다.또는 (실장에 따라) 브라우저가 서버에 접속할 수도 있습니다(기본 포트: 5800).또, 서버는 포토 5500 의 「리스닝 모드」로 뷰어에 접속할 수 있습니다.리스닝 모드의 장점 중 하나는 서버 사이트가 포트 5900(또는 5800)에 대한 접근을 허용하도록 방화벽을 설정할 필요가 없다는 것입니다.이것은 뷰어에 대한 의무입니다.서버 사이트에 컴퓨터 전문 지식이 없고 뷰어 사용자가 보다 잘 알고 있는 경우에 도움이 됩니다.

서버는 프레임 버퍼의 작은 직사각형을 클라이언트에 전송합니다.가장 간단한 형태로는 VNC 프로토콜이 많은 대역폭을 사용할 수 있기 때문에 통신 오버헤드를 줄이기 위해 다양한 방법이 고안되었습니다.예를 들어, 다양한 인코딩(이러한 직사각형을 가장 효율적으로 전송하는 방법을 결정하는 방법)이 있습니다.VNC 프로토콜을 사용하면 클라이언트와 서버가 어떤 인코딩을 사용할지 네고시에이트할 수 있습니다.모든 클라이언트와 서버에서 지원되는 가장 간단한 인코딩은 원시 인코딩으로, 픽셀 데이터를 왼쪽에서 오른쪽으로 스캔 라인 순서로 전송하고 원래 전체 화면이 전송된 후 변경된 직사각형만 전송합니다.이 인코딩은 화면의 일부만 한 프레임에서 다음 프레임으로 변경되는 경우(마우스 포인터가 데스크톱 위를 이동할 때 또는 커서로 텍스트를 쓸 때)에는 매우 잘 작동하지만 동시에 많은 픽셀이 변경되는 경우(창 스크롤이나 전체 화면 비디오 보기 등)에는 대역폭 요구가 매우 높아집니다.

VNC는 기본적으로 TCP 포트 5900+[6][7]N사용합니다.여기서 N은 표시 번호(물리 디스플레이의 경우 보통 :0)입니다.또, 몇개의 실장에서는, 포토 5800+N기본적HTTP 서버를 기동해, Java 애플릿으로서 VNC 뷰어를 제공하고, Java 대응의 Web 브라우저를 개입시켜 간단하게 접속할 수 있습니다.클라이언트와 서버가 적절히 설정되어 있는 한, 다른 포토 할당을 사용할 수 있습니다.최신 브라우저용 HTML5 VNC 클라이언트 구현([8]플러그인 불필요)도 존재합니다.

저대역폭에서도 가능하지만 사용자의 양 끝에 광대역 접속이 있으면 인터넷을 통한 VNC 사용이 쉬워집니다.단, 접속을 통과하기 위해서는 고도의 Network Address Translation(NAT; 네트워크주소 변환), 방화벽 및 포트 포워딩 등의 라우터 설정이 필요할 수 있습니다.사용자는 인터넷을 통한 사용을 용이하게 하기 위해 Virtual Private Network(VPN; 가상프라이빗 네트워크) 테크놀로지를 통해 통신을 확립할 수 있습니다.또, VPN 가 프록시로서 사용되는 경우는 LAN 접속으로서 또는 VNC 리피터를 개입시켜([9]NAT 가 존재하는 경우는 편리합니다).[10]

Xvnc는 표준 X 서버를 기반으로 하는 Unix VNC 서버입니다.어플리케이션에서는 Xvnc는 X의 "서버" (클라이언트 창을 표시)로 표시되며 리모트 VNC 사용자에게는 VNC 서버입니다.응용 프로그램은 Xvnc에 일반 X 디스플레이인 것처럼 표시할 수 있지만 연결된 VNC 뷰어에 실제 화면이 [11]아닌 표시됩니다.또는 화면, 키보드 및 마우스를 갖춘 머신(워크스테이션 또는 네트워크 서버일 수 있음)을 설정하여 VNC 서버를 서비스 또는 데몬으로 기동 및 실행하도록 설정한 후 화면, 키보드 및 마우스를 삭제하고 머신을 외부 장소에 저장할 수 있습니다.

또, VNC 가 제공하는 디스플레이는, 서버상의 유저에게 표시되는 디스플레이와 같을 필요는 없습니다.여러 개의 X11 세션을 동시에 지원하는 Unix/Linux 시스템에서는 VNC가 특정 기존 X11 세션을 처리하도록 설정되거나 VNC의 세션을 시작하도록 설정할 수 있습니다.같은 컴퓨터에서 여러 VNC 세션을 실행할 수도 있습니다.Microsoft Windows 에서는, 서비스 되고 있는 VNC 세션은 항상 현재의 [citation needed]유저 세션입니다.

사용자는 일반적으로 크로스 플랫폼 리모트 데스크톱 시스템으로 VNC를 도입합니다.예를 들어 Apple Remote Desktop for Mac OS X(더 최근에는 'Leopard' - Mac OS X 10.5의 'Back to My Mac')는 VNC와 상호 운용되며, x11vnc와 함께 제공되는 경우 UNIX 사용자의 현재 데스크톱에 연결되며, TightVNC와 함께 제공되는 경우 별도의 X11 세션에 연결됩니다.Unix에서 Tight VNC는 VNC 옵션이 활성화된 경우 Apple Remote Desktop에서 제공하는 Mac OS X 세션에 연결하거나 Microsoft Windows에서 [12]실행되는 VNC 서버에 연결합니다.

2014년 7월에 Real VNC는 Wayland 개발자 [13][14]프리뷰를 발표했습니다.

보안.

기본적으로 RFB는 보안 프로토콜이 아닙니다.패스워드는 (telnet과 같이) 보통 텍스트로 송신되지 않지만 암호화 와 부호화된 패스워드가 모두 네트워크에서 스니핑되면 크래킹이 성공할 수 있습니다.따라서 8자 이상의 비밀번호를 사용하는 것이 좋습니다.한편, VNC 의 일부 버전에서는, 8 문자의 제한도 있습니다.비밀번호가8 문자를 초과하는 경우는, 초과 문자가 삭제되어 잘라낸 문자열이 패스워드와 비교됩니다.

Ultra VNC는 패스워드 인증 및 데이터 전송을 포함한 VNC 세션 전체를 암호화하는 오픈 소스 암호화 플러그인을 지원합니다., NTLM 및 Active Directory 의 유저 어카운트에 근거해 인증을 실행할 수도 있습니다.단, 이러한 암호화 플러그인을 사용하면 다른 VNC 프로그램과 호환되지 않습니다.Real VNC는 Active Directory와의 통합과 함께 상용 패키지의 일부로 고강도 AES 암호화를 제공합니다.워크스팟은 VNC용 AES 암호화 패치를 릴리스했습니다.Tight VNC에 [15]따르면 Tight VNC는 화상 데이터가 암호화 없이 전송되기 때문에 안전하지 않다.이것을 회피하려면 , SSH 접속을 개입시켜 터널링 할 필요가 있습니다(아래를 참조).

VNC는 SSH 또는 VPN 접속을 통해 터널링될 수 있습니다.이것에 의해, 보다 강력한 암호화를 가지는 시큐러티 레이어가 추가됩니다.SSH 클라이언트는 대부분의 플랫폼에서 사용할 수 있습니다.SSH 터널은 UNIX 클라이언트, Microsoft Windows 클라이언트, Macintosh 클라이언트(Mac OS X 및 System 7 이상 포함) 및 기타 많은 플랫폼에서 만들 수 있습니다.컴퓨터 간에 즉각적인 VPN 터널을 만드는 프리웨어 응용 프로그램도 있습니다.

VNC를 사용할 때 보안상의 또 다른 우려 사항은 누군가가 디바이스를 제어하기 전에 사용하는 버전에 리모트컴퓨터 소유자의 인가가 필요한지 확인하는 것입니다.이렇게 하면 액세스한 컴퓨터의 소유자가 사전 통지 없이 자신의 장치를 제어하는 사람이 있다는 것을 깨닫는 상황을 피할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). "Virtual network computing" (PDF). IEEE Internet Computing. 2: 33–38. CiteSeerX 10.1.1.17.5625. doi:10.1109/4236.656066.
  2. ^ 리모트 컨트롤 애플리케이션 VNC 패밀리: VNC의 변종 목록
  3. ^ "VNC Frequently Asked Questions (FAQ)". 1999. Archived from the original on 15 August 2000.
  4. ^ Real VNC 이그제큐티브 프로파일
  5. ^ Real VNC의 저작권상표.2018년 2월 23일에 액세스.
  6. ^ "RealVNC - Frequently asked questions".
  7. ^ "UltraVnc Configuration".
  8. ^ "noVNC".
  9. ^ "OpenWRT VNC repeater".
  10. ^ "uVNC repeater".
  11. ^ AT&T Laboratories Cambridge (1999). "X-based VNC server". Virtual Network Computing. Archived from the original on 19 March 2007. Retrieved 24 March 2007.
  12. ^ "OnlineVNC Server for Windows OSes".
  13. ^ "VNC® Wayland Developer Preview". 8 July 2014. Archived from the original on 14 July 2014. Retrieved 10 July 2014.
  14. ^ "RealVNC Wayland developer preview email". freedesktop.org. 9 July 2014.
  15. ^ Tight VNC의 보안은 어느 정도입니까?Tight VNC에 관한 FAQ.TightVNC.com 2018년 2월 23일 접속

외부 링크