2019년 5월 11일 토요일

Remote Desktop Protocol (RDP) 개요


RDP (Remote Desktop Protocol : 원격 데스크톱 프로토콜) Microsoft에서 개발한 프로토콜로 서버에서 실행되는 Windows 기반 응용 프로그램의 보안 네트워크 통신 프로토콜입니다.

RDP을 사용한 네트워크 연결을 통해 다른 컴퓨터에 연결할 수 있는 그래픽 인터페이스를 사용자에게 제공합니다. 사용자는 이를 사용하기 위해서 RDP 클라이언트 소프트웨어를 사용하지만 반대편 컴퓨터는 RDP 서버 소프트웨어를 실행해야 합니다.

RDP를 통해 네트워크 관리자는 개별 가입자가 겪고 있는 문제를 원격으로 진단하고 해결할 수 있습니다. RDP Windows 운영 체제와 Mac OS X의 대부분의 버전에서 사용할 수 있습니다. 오픈 소스 버전도 사용할 수 있습니다.

RDP는 여러 유형의 네트워크 및 여러 LAN 프로토콜을 지원하도록 설계되었습니다.

기본 아키텍처

RDP ITU T.120 프로토콜 패밀리를 기반으로 하며 확장됩니다. RDP는 암호화된 클라이언트 마우스 및 키보드 데이터뿐만 아니라 서버로부터 장치 통신 및 데이터를 전달하는 별도의 가상 채널을 허용하는 다중 채널 프로토콜입니다. RDP는 확장 가능한 기반을 제공하며 데이터 전송을 위한 최대 64,000개의 개별 채널과 다중 지점(Multipoint) 전송을 위한 기능을 지원합니다.

서버에서 RDP는 자체 비디오 드라이버를 사용하여 RDP 프로토콜을 사용하여 렌더링 정보를 네트워크 패킷으로 구성하고 네트워크를 통해 클라이언트로 전송함으로써 디스플레이 출력을 렌더링합니다. 클라이언트에서 RDP는 렌더링 데이터를 받고 해당 그래픽 장치 인터페이스 (GDI : Graphic Device Interface) API 호출로 패킷을 해석합니다. 입력 경로의 경우 클라이언트 마우스 및 키보드 이벤트가 클라이언트에서 서버로 전송됩니다. 서버에서 RDP는 자체 키보드 및 마우스 드라이버를 사용하여 이러한 키보드 및 마우스 이벤트를 수신합니다.

원격 데스크톱 세션에서는 RCP-Tcp 연결 설정에 따라 모든 환경 변수 ( : 색상 깊이와 배경 화면 활성화 및 비활성화를 결정하는 변수)가 결정됩니다. 이는 원격 데스크톱 웹 연결 레퍼런스 (Remote Desktop Web Connection Reference) 및 원격 데스크톱 서비스 WMI 공급자 인터페이스(Remote Desktop Service WMI Provider Interface)에서 환경 변수를 설정하는 모든 함수 및 메서드에 적용됩니다.